Явное (=громоздкое) и более чистое решение

Явное (=громоздкое) и более чистое решение

Я использую 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.}//

См. §1.8 (Набор коротких текстов LTR и RTL) вдокументациядля дополнительной информации.

Несколько более простое в использовании решение

Добавить \beginLв everyglcхук. Это можно сделать локально (изменяя \ex[everyglc=\englishfont]на \ex[everyglc=\englishfont\beginL]в вопросе) или глобально, используя \lingsetкоманду вроде этой:

\lingset{everyglc=\englishfont\beginL}

Недостатком этого решения является то, что оно использует внутренний макрос bidi; я не уверен, насколько рискованно его использовать, но мне это кажется хорошим хаком, и я не думаю, что он скоро сломается (если только не будут внесены радикальные изменения в bidiили expex).

Связанный контент