我正在使用 xepersian 编写文档,文本方向是从右到左。我还需要在文档中添加公式。我的问题是公式中的所有数字都是波斯语,如果我在公式中添加文本,则顺序会错误。
我是这样做的:
\begin{align*}
Q_{n,0}&=1
\quad Q_{0,k}=[k=0]; \\
Q_{n,k}&=Q_{n-1,k}+Q_{n-1,k-1}+\binom{n}{k}, \quad\text{for$n,k>$0.}
\end{align*}
在此示例中,所有 1 和 0 都是波斯语,公式中的文本顺序相反。我该如何修复它?
编辑:
这是一个存在同样问题的示例文档:
\documentclass{article}
\usepackage{amsmath,amsthm,amssymb}
\usepackage{xepersian}
\settextfont{XB Niloofar}
\setdigitfont{XB Niloofar}
\begin{document}
\begin{align*}
Q_{n,0}&=1
\quad Q_{0,k}=[k=0]; \\
Q_{n,k}&=Q_{n-1,k}+Q_{n-1,k-1}+\binom{n}{k}, \quad\text{for$n,k>$0.}
\end{align*}
\end{document}
答案1
\text
使用公式出现时当前的书写方向。根据的文档,xepersian
您可以使用\lr
。要使用西文字形在数学模式下获取数字,请\DefaultMathsDigits
在序言中发出命令。
这是一个最小的例子(我评论了字体选择行,因为我没有那个字体):
\documentclass{article}
\usepackage{amsmath,amsthm,amssymb}
\usepackage{xepersian}
%\settextfont{XB Niloofar}
%\setdigitfont{XB Niloofar}
\DefaultMathsDigits
\begin{document}
\begin{align*}
Q_{n,0}&=1
\quad Q_{0,k}=[k=0]; \\
Q_{n,k}&=Q_{n-1,k}+Q_{n-1,k-1}+\binom{n}{k}, \quad\text{\lr{for $n,k>0$.}}
\end{align*}
\end{document}
注意0
应该是里面内在公式。