我不确定我是否遇到了错误,或者只是误解了 latex 中某些字体命令的行为方式。以下是一个高度最小化的示例,它产生了一个粗体的“tt”,而我期望它是一个电传打字的“tt”:
\documentclass{beamer}
\usepackage{newpxmath}
\begin{document}
$\mathit{}\mathsf{}\mathtt{tt}\text{}\mathbf{}$
\end{document}
编译期间未报告任何错误或警告。可以交换mathit
和mathsf
(但删除或删除text
或mathbf
会导致粗体消失)。在将文档类别切换为文章或删除后,我无法重现此问题newpxmath
。
这种行为有可以理解的解释吗?这是一个错误吗(如果是,应该在哪里报告)?
(在 Ubuntu 机器上使用 pdfTeX 3.141592653-2.6-1.40.24(TeX Live 2022)和 kpathsea 版本 6.3.4 进行的实验。)
答案1
您可以重现此过程而无需beamer
\documentclass{article}
\DeclareSymbolFont{symbolsa} {OMS}{cmsy}{m}{n}
\DeclareSymbolFont{symbolsb} {OMS}{cmsy}{m}{n}
\DeclareSymbolFont{symbolsc} {OMS}{cmsy}{m}{n}
\DeclareSymbolFont{symbolsd} {OMS}{cmsy}{m}{n}
\usepackage{newpxmath}
%\setcounter{localmathalphabets}{0}
\begin{document}
$\mathit{}\mathsf{}\mathtt{tt}\text{}\mathbf{}$
\end{document}
通过取消注释来禁用本地数学字母功能\setcounter
可以避免此问题。
这表明问题出在基本乳胶格式代码中,与以下内容相关但不完全相同