در محیط latin ارقام متن با کاراکترهای لاتین حروفچینی میشوند اما ارقام بین $$ با کاراکترهای فارسی. بهتر نیست که همگی لاتین حروفچینی شوند؟ در حالت کلی آیا راه دیگری برای نوشتن ارقام لاتین در فرمول وجود دارد (با فرض \setdigitfont{a_persian_font})؟
میتونی کد زیر رو در سرآغاز قرار بدی
\makeatletter
\newcommand\setLTRmain{\@RTL@footnotefalse\@RTLfalse\@RTLmainfalse\let\normalfont\latinfont\latinfont
\setdigitfont[ExternalLocation,BoldFont={lmroman10-bold},BoldItalicFont={lmroman10-bolditalic},ItalicFont={lmroman10-italic}]{lmroman10-regular}
\SetMathCode{`0}{\mathalpha}{OPERATORS}{"0030}
\SetMathCode{`1}{\mathalpha}{OPERATORS}{"0031}
\SetMathCode{`2}{\mathalpha}{OPERATORS}{"0032}
\SetMathCode{`3}{\mathalpha}{OPERATORS}{"0033}
\SetMathCode{`4}{\mathalpha}{OPERATORS}{"0034}
\SetMathCode{`5}{\mathalpha}{OPERATORS}{"0035}
\SetMathCode{`6}{\mathalpha}{OPERATORS}{"0036}
\SetMathCode{`7}{\mathalpha}{OPERATORS}{"0037}
\SetMathCode{`8}{\mathalpha}{OPERATORS}{"0038}
\SetMathCode{`9}{\mathalpha}{OPERATORS}{"0039}
\SetMathCharDef{\decimalseparator}{\mathpunct}{OPERATORS}{"002E}
}
\makeatother
و هروقت خواستی با فرمان
\setLTRmain
از آن استفاده کنی. مسلما اگر خواستی به اعداد فارسی برگردی باید دوباره قلم اعداد رو به فارسی تعریف کنی.