我在用
\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。