svmono + newtx + \footnotesize = 数学中水平间距过大

svmono + newtx + \footnotesize = 数学中水平间距过大

提供输入

\documentclass{svmono}%%% v5.6 from http://www.springer.com/gp/authors-editors/book-authors-editors/your-publication-journey/manuscript-preparation
\usepackage{newtxtext,newtxmath}%% The math font should be loaded after the text font according to the NewTX manual.
\begin{document}
\noindent\(f(x)\)

\noindent{\footnotesize\(f(x)\)\par}
\end{document}

导致pdflatex

输出

如您所见,在\footnotesize(例如,在脚注中),

答案1

svnono 不涉及这里,你会看到相同的article

\documentclass{article}
\usepackage{newtxtext,newtxmath}
\begin{document}

\showoutput
\noindent\(f(x)\)

\noindent{\footnotesize\(f(x)\)\par}
\end{document}

生产

....\mathon
....\OML/ntxmi/m/it/10 f
....\kern1.66
....\LMS/ntxsy/m/n/10 ¹
....\kern0.4
....\OML/ntxmi/m/it/10 x
....\kern0.18498
....\LMS/ntxsy/m/n/10 º
....\kern0.29999
....\mathoff

....\mathon
....\OML/ntxmi/m/it/8 f
....\kern3.344
....\LMS/ntxsy/m/n/8 ¹
....\kern0.4
....\OML/ntxmi/m/it/8 x
....\kern0.40399
....\LMS/ntxsy/m/n/8 º
....\kern0.4
....\mathoff

这看起来像是一个错误的字距值在字体中因此,除了手动应用负空间来纠正之外,无法从 TeX 内部修复。您应该将此问题报告给字体维护者。


您可以做的是避免使用具有可疑字距的 8pt 字体,而改用缩放的 10pt:

在此处输入图片描述

\documentclass{article}
\usepackage{newtxtext,newtxmath}
\begin{document}

\DeclareFontShape{OML}{ntxmi}{m}{it}{
   <-6.3> \ntxmath@scaled ntxmi5
%   <6.3-8.6> \ntxmath@scaled ntxmi7 % from 6.3 up to, but not including, 8.6
   <6.3-> \ntxmath@scaled ntxmi%
}{}

\showoutput
\noindent\(f(x)\)

\noindent{\footnotesize\(f(x)\)\par}
\end{document}

产生

....\mathon
....\OML/ntxmi/m/it/8 f
....\kern1.328
....\LMS/ntxsy/m/n/8 ¹
....\kern0.4
....\OML/ntxmi/m/it/8 x
....\kern0.148
....\LMS/ntxsy/m/n/8 º
....\kern0.4
....\mathoff

相关内容