使用 Babel 的阿拉伯语支持时,引用方程式的数字时出现问题

使用 Babel 的阿拉伯语支持时,引用方程式的数字时出现问题

不幸的是,我在使用阿拉伯语的 Babel 时遇到了问题。当推迟到等式的数字时,数字会被反转。在下面的文档中,使用(\ref{eq:10})它时会给出(01)而不是(10)

我尝试了以下方法,但没有成功: 答案\renewcommand\theequation{\revarabic{equation}}在哪里提供revarabichttps://tex.stackexchange.com/a/214613/

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[LFE,LAE,OT1]{fontenc}
\usepackage[farsi,english,arabic]{babel}

\begin{document}
\selectlanguage{farsi} 

\begin{equation}
  \label{eq:1}
  jhjh
\end{equation}

\begin{equation}
  \label{eq:2}
  hjh
\end{equation}

\begin{equation}
  \label{eq:3}
kjk  
\end{equation}

\begin{equation}
  \label{eq:4}
kjk  
\end{equation}

\begin{equation}
  \label{eq:5}
kjk  
\end{equation}

\begin{equation}
  \label{eq:6}
kjk  
\end{equation}

\begin{equation}
  \label{eq:7}
  jhjh
\end{equation}

\begin{equation}
  \label{eq:8}
  hjh
\end{equation}

\begin{equation}
  \label{eq:9}
kjk  
\end{equation}

\begin{equation}
  \label{eq:10}
kjk  
\end{equation}

\vspace{2cm}


{\selectlanguage{english} We now use the equation:}

(\ref{eq:10})

\end{document}

答案1

在 RL 模式(阿拉伯语或波斯语文本)中,数字应使用以下方式编码

  • \I{123}以阿拉伯印度数字或扩展的阿拉伯印度数字形式输入。
  • \textLR{123}以阿拉伯数字输入。

这里我们可以使用(\I{\ref{eq:label}})

我们可以\ref像这样重新定义命令

\let\arref\ref
\renewcommand{\ref}[1]{\I{\arref{#1}}}

相关内容