我在序言中一直使用以下内容:
\documentclass{article}[12pt]
\usepackage[lite,subscriptcorrection,zswash,slantedGreek,nofontinfo]{mtpro2}
\usepackage{fontspec}
\setmainfont[Ligatures={TeX,Rare}]{Times New Roman}
\begin{document}
This is a 123 test $123$.
\end{document}
直到我注意到这会产生以下丑陋的结果,并且数字字体错误:
我想出了一个临时解决方案mathspec
:
\documentclass{article}[12pt]
\usepackage[lite,subscriptcorrection,zswash,slantedGreek,nofontinfo]{mtpro2}
\usepackage{mathspec}
\setallmainfonts(Digits,Latin)[Ligatures={TeX,Rare}]{Times New Roman}
\begin{document}
This is a 123 test $123$.
\end{document}
这确实解决了这个问题:
问题是这mathspec
要求我使用 XeTeX,这与我当前的工作流程不兼容——我需要使用 LuaTex。有没有办法在不调用 的情况下解决这个问题mathspec
?
答案1
使用 unicode-math,您可以使用 TeX Gyre Termes Math 字体。TeX Gyre Termes 是 times 的克隆版本,因此适合您的文本字体:
\documentclass{article}[12pt]
\usepackage{unicode-math}
\setmathfont{TeX Gyre Termes Math}
\usepackage{fontspec}
\setmainfont[Ligatures={TeX,Rare}]{Times New Roman}
\begin{document}
This is a 123 test $123$.
\end{document}
编辑
我测试了你的第一个例子。在 texlive 2019 中没有问题,输出符合要求:
在 texlive 2017 中,我像你一样得到了“错误”的字体,它有助于使用
\usepackage[no-math]{fontspec}