3

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.

2
  • 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) Nov 29, 2017 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. Nov 29, 2017 at 20:26

1 Answer 1

3

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}
5
  • Thank you very much. The compiler still throws errors and warning but does produce a seemingly OK PDF document. Nov 30, 2017 at 17:20
  • @Dr.Evenor I got no errors from the above, what error did you get? Nov 30, 2017 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! Dec 1, 2017 at 17:04
  • @Dr.Evenor I would guess you need to update your expl3 and fontspec packages Dec 1, 2017 at 17:07
  • Thanks, now it compiles without error! Even with the listings package! Dec 1, 2017 at 17:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .