公式编号以反向括号显示

公式编号以反向括号显示

我在用

\begin{equation} a = b \end{equation}

在我的论文中写出方程式。但是,问题是与每个方程相关的数字没有以正确的格式显示,就像图片中那样 错误的编号格式

我怎样才能解决这个问题?

这是我的代码最初所包含的内容:

\usepackage{graphicx}
\usepackage[justification=centering]{caption}
\usepackage{float}
\usepackage{url}% typeset urls
\usepackage{times}
\usepackage{url}
\usepackage{latexsym}
\usepackage{fontspec}
\usepackage{multirow}
\usepackage{listings}
\usepackage{setspace}
\usepackage{listings}
\usepackage{fontspec}
\usepackage{amsmath}
\usepackage{polyglossia}
\usepackage{color}
\usepackage{bidi}
\newfontfamily\faFont[Script=Arabic]{Yas} 
\newenvironment{Fa}{\begin{RTL}\faFont}{\end{RTL}}
\newcommand{\fa}[1]{{\faFont\RL{#1}}}
\newcommand\Mark[1]{\textsuperscript#1}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\definecolor{darkblue}{rgb}{0.95,0.95,0.92}
\setmainlanguage{english}
\setotherlanguage{farsi}
\newfontfamily\farsifont[Script=Arabic]{Yas}

答案1

该问题是由于bidi和之间不兼容polyglossia(如 V Karen-Pahlav 的回答中提到的那样) bidi期望将布尔值\if@Latin设置为 RTL 脚本的 true,但polyglossia实现了一种不同的方式,以根据语言对语言方向进行编码。

\documentclass{article}
\usepackage{amsmath}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{farsi}
\newfontfamily\farsifont[Script=Arabic]{Scheherazade}
\csname @Latintrue\endcsname

\begin{document}

\begin{equation}
a = b 
\end{equation}

\end{document}

答案2

这是一个polyglossia错误。bidi包提供了\if@Latin布尔值。对于基于 LTR 的脚本,此布尔值应为 true,而对于基于 RTL 的脚本,此布尔值应为 false。

相关内容