当我使用 时mathptmx
,逗号显示为现代计算机字体,而不是罗马字体。有人知道如何修复此异常吗?
编译它来查看区别:
\documentclass{article}
\usepackage{mathptmx}
\begin{document}
\textit{a}$a$ (the \textit{a}'s are the same, hurray)
,$,$ (the commas are different, grumble)
\end{document}
答案1
mathptmx 使用的字体是一种虚拟字体,由来自其他字体的乘号字母和各种符号组成。设计师选择从 cm 字体中取出逗号,而不是从用于字母的字体中取出逗号。
因此,如果你想要不同的选择正确的更改的地方是在设置虚拟字体的 fontinst 文件中。但这有点像黑魔法,所以另一种方法是,
在 TeX 中给出一个定义来拾取文本模式逗号。如果您需要让下标变得更小,amsmath
也可以加载它将重新定义\textrm
。
\documentclass{article}
\usepackage{mathptmx}
\mathcode`,"8000
\begingroup
\lccode`\~`\,\lowercase{\endgroup
\def~{\mathpunct{\textrm{,}}}}
\begin{document}
\showoutput
\textit{a}$a$ (the \textit{a}'s are the same, hurray)
,$,$ (the commas are different, grumble)
\end{document}