[Tex/LaTex] Getting started with Greek and Hebrew in LuaLaTeX

fontspecgreekhebrewluatextexshop

I am typesetting a 17th century English theological document that uses a smattering of Greek and Hebrew. I am using LuaLaTeX with TeXShop on the Mac.

Is LuaLaTeX up to the task? If so what are the basic steps needed to get accented Greek and pointed Hebrew? Is it possible to have English sentences interspersed with occasional Gk and Heb words, or can they (esp Heb) only be set in their own paragraphs?

My plan was to use SBL Greek and Ezra SIL Hebrew fonts. Are these reasonable choices?

Ideally I would like to be pointed to a tutorial that describes this stuff from the ground up (or rather, as suitable for someone with a Lamport understanding of LaTeX). But short of that I'm throwing myself on the mercy of knowledgable strangers!

Best Answer

LuaLaTeX is your choice! Greek is possible without any adjustments. Hebrew, as it is a language from right to left, needs adjustments. Of course, you need to use \usepackage{fontspec} in the preamble (as is usual when using LuaLatex).

Greek

You need a font that supports all the accents. If your mainfont for latin text does not support them, you need to implement a special greek font:

\newfontfamily\greekfont[Script=Greek, Scale=MatchUppercase, Ligatures=TeX]{GREEK FONT NAME}
\newcommand{\textgreek}[1]{\bgroup\greekfont\emph{#1}\egroup}

If your main font does support them you can just use:

\newcommand{\textgreek}[1]{\emph{#1}}

I use a command like this for my greek passages, because so it stays possible to decide later whether the Greek words should be italicized or bold or whatever or not. This command sets Greek text in italics, because of the \emph{…} - if you don't want this, delete it.)

Now you should be able to set Greek text inside Latin text by entering: \textgreek{γέγονεν}.

Hebrew

You need to set up a font and the settings for right-to-left-text:

\newfontfamily\hebfont[Script=Hebrew, Scale=MatchUppercase, Ligatures=TeX]{HEBREW FONT NAME}
\newcommand{\textheb}[1]{\bgroup\luatextextdir TRT\hebfont #1\egroup}

Now you should be able to set Hebrew text inside Latin text by entering: \textheb{עִבְרִית}.

Typographic Advice

You should use a font that already contains Latin and Greek accented characters. If you're lucky, you'll find (a good) one that also contains Hebrew. Thereby you assure that the three languages have the same font style. It may not be a good idea to use three different fonts - except if they resemble each other in style.

Have a look at the Brill Font. Palatino also has nice Greek. Or, if you want an expensive one, Adobe Garamond. I don't know anything about Hebrew fonts.

Entire Example Code of heb.tex

% !TEX TS-program = lualatexmk
\documentclass[11pt, a4paper]{scrartcl}

\usepackage{fontspec}
\setmainfont{Times New Roman}

\newfontfamily\greekfont[Script=Greek, Scale=MatchUppercase, Ligatures=TeX]{Arial Unicode MS}
\newcommand{\textgreek}[1]{\bgroup\greekfont\emph{#1}\egroup} % Please note, that Arial is not set in italics, notwithstanding the \emph{...}

\newfontfamily\hebfont[Script=Hebrew, Scale=MatchUppercase, Ligatures=TeX]{Ezra SIL}
\newcommand{\textheb}[1]{\bgroup\luatextextdir TRT\hebfont #1\egroup}

\begin{document}

This is \textgreek{γέγονεν} Greek. And this is \textheb{עִבְרִית} Hebrew.

\end{document}