xetex 中的英文数字和 ltr 方向

xetex 中的英文数字和 ltr 方向

我正在使用 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应该是里面内在公式。

在此处输入图片描述

相关内容