Я не уверен, что я наткнулся на ошибку или просто не понимаю, как должны вести себя некоторые команды шрифтов в latex. Ниже приведен сильно минимизированный пример, который выводит жирный "tt", хотя я ожидал бы, что это будет телетайпный "tt":
\documentclass{beamer}
\usepackage{newpxmath}
\begin{document}
$\mathit{}\mathsf{}\mathtt{tt}\text{}\mathbf{}$
\end{document}
Во время компиляции не выводится никаких ошибок или предупреждений. Можно коммутировать mathit
и mathsf
(но удаление любого из них или удаление text
или mathbf
приводит к исчезновению жирного шрифта). Я не могу воспроизвести это после переключения класса документа на article или после удаления newpxmath
.
Есть ли понятное объяснение такому поведению? Это ошибка (и если да, то куда следует сообщить)?
(Эксперименты проводились с pdfTeX 3.141592653-2.6-1.40.24 (TeX Live 2022) и kpathsea версии 6.3.4 на машине Ubuntu.)
решение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
позволяет избежать этой проблемы.
Это указывает на то, что проблема в базовом коде формата Latex, связанном, но не идентичном