1

How can I write and compile Hebrew documents in LaTeX (not Lyx) in MS Windows, MiKTeX 2.9 and the editors WinEdt or TeXworks?

The babel package with unicode fonts support don't compile. I know there is a long issue with Hebrew in LaTeX but I figure that in 2017 and large open-source community someone would develop a solution.

\documentclass{article}
\usepackage{ucs}   %  unicode support
\usepackage[utf8x]{inputenc}
\usepackage[english,hebrew]{babel}

\begin{document}
\title{Example}
\author{אלמוני פלוני הראשון}
\maketitle

שלום, זו דוגמה קצרה למסמך אשר נכתב בשפת
\LaTeX{}
על מנת לתת ויזואליזציה קצרה של יכולות
השפה, מראה, והתוצר שהיא מספקת למשתמשיה.
אמנם זהו מסמך בעברית, אבל ניתן לשלב בו
אותיות  ומילים לועזיות
\L{(Like this sentence)}
במידה ומשתמשים בפקודה המתאימה עבור
טקסט אנגלי. כמובן שקיימת פקודה לעבור
לטקסט אנגלי ואז הופעה של מילים בעברית
יצריך פקודה ייעודית.

כמובן שמסמך זה לא יהיה שלם ללא הנוסחה
הגאונית של איינשטיין, המקשרת בין
מסה תנע ואנרגיה
\begin{equation}
E = \sqrt{ (mc^2)^2 + (pc)^2 }
\end{equation}
נוסחה, שרבים מכירים בגרסתה המנוונת
$E=mc^2$.
\end{document}

This was taken from the Hebrew Wikipedia.

And polyglossa:

% !TeX program = xelatex
\documentclass[12pts]{article}

%\usepackage[T1]{fontenc}
%\usepackage[english,hebrew]{babel}


% polyglossia Hebrew support settings
\usepackage{polyglossia}
\usepackage{xltxtra}
\defaultfontfeatures{Mapping=tex-text, Scale=MatchLowercase}
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfont[Script=Hebrew]{Times New Roman}

\begin{document}
This is a regular paragraph in English.

\begin{hebrew}
עכשיו אני כותב קטע שלם בעברית.
\end{hebrew}

Now back to English, the default language.

I will insert some \texthebrew{מלים בעברית} into this sentence.

\begin{hebrew}
עכשיו אני כותב קטע בעברית עם \textenglish{English words} באמצע.

אֶפְשָׁר לִכְתּוֹב גַּם עִם נְקוּדוֹת!
\end{hebrew}

\end{document}

Both didn't compile but created a corrupted PDF file. In the second way the PDF was relatively good (after I opened it with Google Chrome), but working like that is practically impossible. I did use the XeLaTeX in the WinEdt compiler.

  • clicking on the hebrew tag shows many examples. you say something didn't compile but you did not show what you did, or what error you got, so hard to help really. probably xelatex is the tex engine to try first (there are xelatex examples using hebrew on this site) – David Carlisle Nov 29 '17 at 20:24
  • I read the old questions posted here about Hebrew in LaTeX but they were outdated and some offered solution to OS other than MS Windows. I try both the babel package way and also with polyglossa, but both didn't compile correctly. I'll post my code soon. – Dr. Evenor Nov 29 '17 at 20:26
2

I can't read this so sorry if this is messed up but

enter image description here

\documentclass{article}

\usepackage{fontspec}
\setmainfont{Arial}
\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\begin{document}
\title{Example}
\author{אלמוני פלוני הראשון}
\maketitle

שלום, זו דוגמה קצרה למסמך אשר נכתב בשפת
\LaTeX{}
על מנת לתת ויזואליזציה קצרה של יכולות
השפה, מראה, והתוצר שהיא מספקת למשתמשיה.
אמנם זהו מסמך בעברית, אבל ניתן לשלב בו
אותיות  ומילים לועזיות
\L{(Like this sentence)}
במידה ומשתמשים בפקודה המתאימה עבור
טקסט אנגלי. כמובן שקיימת פקודה לעבור
לטקסט אנגלי ואז הופעה של מילים בעברית
יצריך פקודה ייעודית.

כמובן שמסמך זה לא יהיה שלם ללא הנוסחה
הגאונית של איינשטיין, המקשרת בין
מסה תנע ואנרגיה
\begin{equation}
E = \sqrt{ (mc^2)^2 + (pc)^2 }
\end{equation}
נוסחה, שרבים מכירים בגרסתה המנוונת
$E=mc^2$.
\end{document}

this is using xelatex. I used Arial as it's there, but there are probably better fonts for hebrew.


The second (polyglossia) example added to the question generates errors as clashing packages but you never need to load xltxtra so I just removed it, and [12pts] is a typo for [12pt] which gets rid of another warning

enter image description here

\documentclass[12pt]{article}

%\usepackage[T1]{fontenc}
%\usepackage[english,hebrew]{babel}


% polyglossia Hebrew support settings
\usepackage{polyglossia}

\defaultfontfeatures{Mapping=tex-text, Scale=MatchLowercase}
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\hebrewfont[Script=Hebrew]{Times New Roman}

\begin{document}
This is a regular paragraph in English.

\begin{hebrew}
עכשיו אני כותב קטע שלם בעברית.
\end{hebrew}

Now back to English, the default language.

I will insert some \texthebrew{מלים בעברית} into this sentence.

\begin{hebrew}
עכשיו אני כותב קטע בעברית עם \textenglish{English words} באמצע.

אֶפְשָׁר לִכְתּוֹב גַּם עִם נְקוּדוֹת!
\end{hebrew}

\end{document}
  • Thank you very much. The compiler still throws errors and warning but does produce a seemingly OK PDF document. – Dr. Evenor Nov 30 '17 at 17:20
  • @Dr.Evenor I got no errors from the above, what error did you get? – David Carlisle Nov 30 '17 at 21:59
  • ! Undefined control sequence. <argument> \LaTeX3 error: Erroneous variable \c__fontspec_shape_n_n_tl used! l.3806 \emfontdeclare{ \emshape, \eminnershape } ? ! Undefined control sequence. <argument> \LaTeX3 error: Erroneous variable \c__fontspec_shape_n_it_tl used! l.3806 \emfontdeclare{ \emshape, \eminnershape }! Undefined control sequence. <argument> \LaTeX3 error: Erroneous variable \c__fontspec_shape_it_n_tl used! l.3806 \emfontdeclare{ \emshape, \eminnershape }<argument> \LaTeX3 error: Erroneous variable \c__fontspec_shape_n_sc_tl used! – Dr. Evenor Dec 1 '17 at 17:04
  • @Dr.Evenor I would guess you need to update your expl3 and fontspec packages – David Carlisle Dec 1 '17 at 17:07
  • Thanks, now it compiles without error! Even with the listings package! – Dr. Evenor Dec 1 '17 at 17:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.