更新

更新

我正在使用 XeLaTeX + polyglossia 进行希伯来语排版,效果非常好。但是,最近我需要在希伯来语段落中加入英语单词。这会导致编译错误,因为它会将所有非字母字符(例如逗号、括号等)附加到英语 LTR,而它应该保持 RTL。

举例子比逐字解释要容易得多,因此这里有一个例子:

\documentclass{standalone}

\usepackage{polyglossia} 
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\usepackage{fontspec}
\newfontfamily\hebrewfont[Script=Hebrew]{David CLM}
\newfontfamily\hebrewfonttt[Script=Hebrew]{Miriam Mono CLM}
\newfontfamily\hebrewfontsf[Script=Hebrew]{Simple CLM}
\usepackage{bidi}

\begin{document}
אלף (Aleph), גימל (Gimmel).
\end{document}

这产生了

阿莱夫·吉梅尔

应该在哪里生产

阿莱夫·吉梅尔

我做错什么了吗?

更新

我曾尝试使用english英文文本周围的环境,但这会产生多余的空格,而且非常麻烦......

代码:

\begin{document}
אלף
\begin{english}(Aleph)\end{english},
גימל
\begin{english}(Gimmel)\end{english}.
\end{document}

生成:

在此处输入图片描述

答案1

鉴于希伯来语段落内带有重音符号的拉丁字符,我发现解决这个问题的办法就是使用命令\textenglish。这是完整的代码:

\documentclass{standalone}

\usepackage{polyglossia} 
\setdefaultlanguage{hebrew}
\setotherlanguage{english}
\newfontfamily\hebrewfont[Script=Hebrew]{David CLM}
\newfontfamily\hebrewfonttt[Script=Hebrew]{Miriam Mono CLM}
\newfontfamily\hebrewfontsf[Script=Hebrew]{Simple CLM}

\begin{document}
אלף (\textenglish{Aleph}), גימל (\textenglish{Gimmel}).
\end{document}

生成结果:

Aleph Gimmel - 好的

相关内容