一个明确的(=繁琐的)和更清晰的解决方案

一个明确的(=繁琐的)和更清晰的解决方案

我正在使用 ExPex 进行希伯来语的直译。在将一个希伯来语单词与多个英语单词翻译在一起时,我遇到了问题:英语单词是从右到左的,而它们应该是从左到右的。请参见示例:

\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{hebrew}
\newfontfamily\englishfont[Mapping=tex-text]{Latin Modern Roman}
\newfontfamily\hebrewfont[Scale=MatchLowercase]{Ezra SIL}
\usepackage{expex}

\begin{document}

\begin{hebrew}
\ex[everyglc=\englishfont] \begingl
\gla 7225 1254 430 853 8064 853 776//
\glb בְּרֵאשִׁ֖ית בָּרָ֣א אֱלֹהִ֑ים אֵ֥ת הַשָּׁמַ֖יִם וְאֵ֥ת הָאָֽרֶץ׃ //
\glc {In the beginning} created God - {the heavens} and {the earth.}//
\endgl\xe
\end{hebrew}

\end{document}

在此处输入图片描述

应为:

the earth. and the heavens - God created In the beginning

我怎样才能巧妙地实现这一点?

答案1

一个明确的(=繁琐的)和更清晰的解决方案

一个快速的解决方案是使用bidi包的\LR{}命令:

\glc \LR{In the beginning} created God - \LR{the heavens} and \LR{the earth.}//

请参阅文档了解更多信息。

一种更易于使用的解决方案

添加\beginLeveryglc钩子中。这可以在本地完成(在问题中更改\ex[everyglc=\englishfont]为)或全局完成,使用以下命令:\ex[everyglc=\englishfont\beginL]\lingset

\lingset{everyglc=\englishfont\beginL}

该解决方案的缺点是它使用了 的内部宏bidi;我不确定使用它有多大的风险,但对我来说这似乎是一个很好的破解方法,我认为它不会很快被轻易破坏(除非对 或 进行彻底的改变bidiexpex

相关内容