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}