不幸的是,我在使用阿拉伯语的 Babel 时遇到了问题。当推迟到等式的数字时,数字会被反转。在下面的文档中,使用(\ref{eq:10})
它时会给出(01)
而不是(10)
。
我尝试了以下方法,但没有成功: 答案\renewcommand\theequation{\revarabic{equation}}
在哪里提供revarabic
https://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}}}