2

I need to include LaTeX source code, which contains Hebrew text, within an Hebrew document. I tried doing so within a verbatim environment, but Hebrew words appear in opposite order. Any solution without use verbatim would also be satisfactory.

Tried the solution here with and without xepersian, and both failed. The first one failed due to the font missing, the latter because rl wasn't recognised.

Source code:

 \begin{english}
 \begin{verbatim}
 \documentclass{article}

 \usepackage{polyglossia}
 \setmainlanguage[calendar=gregorian]{hebrew} 
 \setotherlanguage{english}

 \setmainfont{Times New Roman}%Liberation Serif
 \setromanfont{Times New Roman}
 \setmonofont{Times New Roman}
 \setmainfont[Script=Hebrew, AutoFakeSlant=-0.15]{Times New Roman}
 % Fix section numbering bug of Polyglossia
 \renewcommand\SepMark[1]{\def\@SepMark{#1}}\SepMark{.}

 \title{מסמך לדוגמה}
 \author{יונתן סמית}

 \begin{document}
 \maketitle
 שלום עולם! 
 \end{document}
 \end{verbatim}
 \end{english}

Result:

PDF result

1

The solution you have suggested works. The definition is of a new verbatim environment in which anything after the + is used as a latex command. In the answer, you brought +rl[somethingsomething] is identified in verbatim, and translated into \rl{somethingsomething} LaTeX command.

All you need to do is use the right command, not rl, rather \texthebrew

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{fancyvrb}
\usepackage{polyglossia}
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\newfontfamily\hebrewfont[Language=Hebrew,Script=Hebrew]{DejaVu Sans}
\newfontfamily{\hebrewfonttt}{DejaVu Sans}

\DefineVerbatimEnvironment{myverbatim}{Verbatim}{commandchars=+\[\]}


\begin{document}
 \begin{english}
 \begin{myverbatim}
 \documentclass{article}

 \usepackage{polyglossia}
 \setmainlanguage[calendar=gregorian]{hebrew} 
 \setotherlanguage{english}

 \setmainfont{Times New Roman}%Liberation Serif
 \setromanfont{Times New Roman}
 \setmonofont{Times New Roman}
 \setmainfont[Script=Hebrew, AutoFakeSlant=-0.15]{Times New Roman}
 % Fix section numbering bug of Polyglossia
 \renewcommand\SepMark[1]{\def\@SepMark{#1}}\SepMark{.}

 \title{+texthebrew[מסמך לדוגמה]}
 \author{+texthebrew[יונתן סמית]}

 \begin{document}
 \maketitle
+texthebrew[ שלום עולם! ]
 \end{document}
 \end{myverbatim}
 \end{english}
\end{document}

Result: Result notice two things:

  1. DejaVu Sans is used - this is a font with Hebrew support, you can use any other.
  2. You also need to define a hebrewfonttt family, or otherwise you'll get an error that the roman font does not contain the Hebrew script

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.