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