(LuaLaTeX) Was ist die beste Bidi-Option bei einem bidirektionalen mehrsprachigen Dokument?

(LuaLaTeX) Was ist die beste Bidi-Option bei einem bidirektionalen mehrsprachigen Dokument?

Ich bin unschlüssig, ob ich verwenden soll bidi=basicoder bidi=defaultob bidi=basic-rich sowohl Englisch als auch Farsi/Persisch verwenden soll. Ich habe den folgenden Code:

\documentclass[letterpaper,12pt]{article}

\usepackage{indentfirst}
\usepackage{microtype}
\usepackage{unicode-math} % loads fontspec
    \setmainfont{Times New Roman}
    \setmathfont{STIXTwoMath-Regular.otf}
\usepackage[main=english, bidi=default]{babel}
    \babelprovide[import=fa]{farsi}

\setlength\parindent{.25cm} 

\begin{document}

\begin{otherlanguage}{farsi}
    شیردهی برای نوزادان و مادران مفید است. نوزادانی که با شیر مادر تغذیه می‌شوند، آنتی‌بادی‌هایی را در برابر بیماری‌های رایج از مادر دریافت می‌کنند. کودکانی که با شیر مادر تغذیه می شوند در بزرگسالی شانس کمتری برای چاق شدن دارند. شیر دادن به نوزاد به نوزاد و مادر این امکان را می دهد که به روشی بسیار منحصر به فرد پیوند برقرار کنند. مادرانی که شیر می دهند، احتمال ابتلا به سرطان سینه را کاهش می دهند. معمولا مادرانی که شیر می دهند وزن بارداری خود را سریعتر و راحت تر از دست می دهند. فواید شیردهی بسیار زیاد است.
\end{otherlanguage}

Breast feeding is good for babies and moms. Infants that are breastfed get antibodies from their mothers against common illnesses. Breastfed babies have less chance of being obese as an adult. Breastfeeding a baby lets the infant-mother pair bond in a very unique way. Mother’s who breastfeed lower their chances of developing breast cancer. Usually, mothers who breastfeed lose their pregnancy weight more quickly and easily. The benefits of breastfeeding are numerous.


\end{document}

Dadurch wird das Dokument immer gleich angezeigt, wenn ich die Bidi-Option in oder bidi=basicändere . Das Babel-Benutzerhandbuch scheint anzudeuten, dass dies die beste Option ist und eine manuelle Eingabe irgendeiner Art erfordert, aber es enthält eine seltsame Beschreibung von Basic-R.bidi=defaultbidi=basic-rbasicdefault

Ich sollte erwähnen, dass ich LuaLaTeX verwende. Ist es basic-rbesser als defaultoder basicwenn ich LuaLaTeX habe? Was genau ist das Beste für meine Engine? Ich bin nicht sehr gut in LuaLaTeX, aber ich hoffe, dass mir jemand dabei helfen kann. Ich sollte erwähnen, dass ich kein Farsi spreche. Ich versuche, dies für ein Projekt einzurichten, aber ich habe Blindtext für diesen Beitrag erstellt.

Antwort1

Vergessen Sie im Grunde genommen basic-r. Es war ein erster Versuch, einen Bidi-Algorithmus zu erstellen. Folgen Sie einfach den Ratschlägen im Handbuch und bevorzugen Sie basic. bidi=defaultfunktioniert in den 3 Basis-Engines ( pdftex, luatexund xetex), mit einigen minimalen Anpassungen für LTR-Text. Wenn der RTL-Text nur aus Buchstaben und Satzzeichen besteht, ist er in den meisten Fällen in Ordnung, aber Zahlen beispielsweise werden in der falschen Reihenfolge wiedergegeben. Dies verdient tatsächlich eine bessere Erklärung im Handbuch.

verwandte Informationen