本方法仅针对使用了amsmath包,用xelatex编译的。
学校要求公式全部为times newroman ,但是在给的模板里没有对公式部分的字体进行限制,导致我快盲审才发现这个问题,目前采用的解决方案为:
1、为了不影响正文字体设置且与amsmath包兼容,使用
\usepackage{newtxmath}
\usepackage{letltxmacro}
2、公式中的数字依然无法正常显示,同时有部分符号无法显示,对于文中用到的符号和数字进行限制(虽然方法笨笨的,但是我的目标是能解决即可)
\LetLtxMacro{\oldsqrt}{\sqrt}
\renewcommand{\sqrt}[1][\ ]{\oldsqrt{#1}} % 修正根号显示
\AtBeginDocument{%
\DeclareSymbolFont{numbers}{TU}{\rmdefault}{m}{n} % 绑定正文字体
\DeclareMathSymbol{0}\mathalpha{numbers}{"30} % 数字 0
\DeclareMathSymbol{1}\mathalpha{numbers}{"31} % 数字 1
\DeclareMathSymbol{2}\mathalpha{numbers}{"32} % 数字 2
\DeclareMathSymbol{3}\mathalpha{numbers}{"33} % 数字 3
\DeclareMathSymbol{4}\mathalpha{numbers}{"34} % 数字 4
\DeclareMathSymbol{5}\mathalpha{numbers}{"35} % 数字 5
\DeclareMathSymbol{6}\mathalpha{numbers}{"36} % 数字 6
\DeclareMathSymbol{7}\mathalpha{numbers}{"37} % 数字 7
\DeclareMathSymbol{8}\mathalpha{numbers}{"38} % 数字 8
\DeclareMathSymbol{9}\mathalpha{numbers}{"39} % 数字 9
}
如果文中还使用了其他冲突符号,也要进行修改。
公式中英文文本的指令建议用
\text{}