我在使用英语和波斯语/波斯语时不知道该使用 还是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
比 LuaLaTeX 更好default
还是basic
我有 LuaLaTeX?什么才是最适合我的引擎的?我不太擅长 LuaLaTeX,但我希望有人能帮我解决这个问题。我应该提到我不会说波斯语,我正在尝试为一个项目设置它,但我为这篇文章制作了虚拟文本。
答案1
基本上,忘掉basic-r
。这是创建 bidi 算法的首次尝试。只需遵循手册中的建议并首选basic
。bidi=default
在 3 个基本引擎(pdftex
、luatex
和xetex
)中工作,并对 LTR 文本进行一些最小的重新调整。如果 RTL 文本仅由字母和标点符号组成,则在大多数情况下都可以,但例如,数字将以错误的顺序呈现。这确实值得在手册中得到更好的解释。