newtx 的间距不正确?

newtx 的间距不正确?

我遇到了间距问题。我认为问题出在包 newtx 上。

以下是 MWE:

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{newtxtext}
\usepackage[frenchmath]{newtxmath}

\begin{document}
  $\underbrace{1+2-3}_{=0}$
\end{document}

0 似乎太靠近等号了。如果我取消注释 newtx 的两行,间距似乎会更好

答案1

在 NewTX 中,边界框=非常紧密。在下文中,我使用 来{=}0以文本(或显示)样式显示紧密度。

请注意,Computer Modern 中的边距并不是很大,但差异还是很明显的。

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage{newtxtext}
\usepackage[frenchmath]{newtxmath}

\begin{document}

{\fboxsep=0pt\fboxrule=0.1pt\fbox{$=$}}

${=}0\quad\underbrace{1+2-3}_{=0}$

\end{document}

在此处输入图片描述

如果我注释掉这些newtx行,我得到

在此处输入图片描述

如您所见,关系空格未以脚本样式添加。在这种情况下,我认为手动添加空格是一种很好的做法\;

\underbrace{1+2-3}_{=\;0}

在此处输入图片描述

另一个可能的解决方案是添加一些侧边距=

\documentclass{article}

\usepackage[T1]{fontenc}
\usepackage{newtxtext}
\usepackage[frenchmath]{newtxmath}

\newcommand{\widereq}{\mkern0.5mu\equals\mkern0.5mu}
\begingroup\lccode`~=`=\lowercase{\endgroup\let~}\widereq
\mathchardef\equals=\mathcode`=
\AtBeginDocument{\mathcode`=="8000 }

\begin{document}

{\fboxsep=0pt\fboxrule=0.1pt\fbox{$=$}}

${=}0\quad\underbrace{1+2-3}_{=0}$

\end{document}

在此处输入图片描述

相关内容