(LuaLaTeX) 當有雙向多語言文件時,最好的雙向選項是什麼?

(LuaLaTeX) 當有雙向多語言文件時,最好的雙向選項是什麼?

bidi=basic我在是否使用,bidi=defaultbidi=basic-r同時使用英語和波斯語/波斯語時遇到了困境。我有以下程式碼:

\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}

bidi=basic如果我將 bidi 選項更改為,bidi=default或,這會顯示相同的文件bidi=basic-r。 babel 使用者指南似乎暗示這basic是最好的選擇,並且default需要某種手動輸入,但它對 basic-r 有一個奇怪的描述。

我應該提到我正在使用 LuaLaTeX。basic-r比我有 LuaLaTeXdefault好嗎?basic什麼才是最適合我的引擎的?我不太擅長 LuaLaTeX,但我希望有人能幫我解決這個問題。我應該要提到的是,我不會說波斯語,我正在嘗試將其設定為一個項目,但我為這篇文章製作了虛擬文字。

答案1

基本上,忘記了basic-r。這是創建雙向演算法的首次嘗試。只需遵循手冊中的建議並選擇即可basicbidi=default適用於 3 個基本引擎(pdftexluatexxetex),對 LTR 文字進行一些最小的調整。如果 RTL 文字僅由字母和標點符號組成,則在大多數情況下都沒有問題,但例如數字將以錯誤的順序呈現。這確實值得在手冊中得到更好的解釋。

相關內容