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