使用 xepersian 包时方程式中的文本无法正确显示

使用 xepersian 包时方程式中的文本无法正确显示

我想在我的 $LaTeX$ 文档中插入一个类似以下方程的方程,但我无法让它显示方程内的文本:

在此处输入图片描述

我得到的输出是:

在此处输入图片描述

我阅读了关于 xepersian 中波斯语和英语组合的问题\答案,并使用了 \lr 和拉丁语,但它不起作用。我做错了什么?

以下是 MWE:

\documentclass[a4paper,12pt]{report}
\usepackage{titlesec}
\usepackage{xepersian}
\usepackage{./styles/tempfix}
\settextfont[Scale=1.1]{B Nazanin}
\defpersianfont\nastaliq[Scale=2]{IranNastaliq}
\defpersianfont\titr[Scale=1]{B Titr}
\defpersianfont\traffic[Scale=1]{B Traffic}
\deflatinfont\calibri{Calibri}
\begin{document}

\begin{equation}
P_J{:}\quad \min_{x} J(x) \quad \textrm{subject to} \quad y=Dx
%P_J{:}\quad \min_{x} J(x) \quad \lr\textrm{subject to} \quad y=Dx
\end{equation}
\end{document}

有一个类似的问题,但已被关闭。

答案1

您的波斯字体似乎不支持拉丁字符。如果我使用 Scheherazade,它会:

\documentclass[a4paper,12pt]{report}

\usepackage{unicode-math}
\usepackage{xepersian}

\setmainfont{TeX Gyre Termes}
\setmathfont{XITS Math}
\settextfont[Scale=MatchUppercase]{Scheherazade}

\begin{document}

\begin{equation}
P_J{:}\quad \min_{x} J(x) \quad \textrm{subject to} \quad y=Dx
\end{equation}

\end{document}

在此处输入图片描述

或者,

\documentclass[a4paper,12pt]{report}
\usepackage{amsmath}
\usepackage{xepersian}

\settextfont[Scale=MatchUppercase]{Scheherazade}

\begin{document}

\begin{equation}
P_J{:}\quad \min_{x} J(x) \quad \textnormal{\lr{subject to}} \quad y=Dx
\end{equation}

\end{document}

在此处输入图片描述

相关内容