恢复“newtxmath”中大括号前缺失的空格?

恢复“newtxmath”中大括号前缺失的空格?

如下图两行之间的差异所示,对于 中足够大的括号对newtxmath,左括号前面的空间会消失。这会导致间距比预期的更狭窄。有没有一种干净的(即不需要每次手动调整字距)方法来恢复这个空间?

在此处输入图片描述

以下是用于生成该图像的代码:

\documentclass{minimal}

\usepackage{newtxmath}
\usepackage{mathtools}

\DeclarePairedDelimiter{\paren}{\lparen}{\rparen}
\newcommand*{\tall}{\int_0^{t^2} x\,dx}
\newcommand*{\taller}{\sum_{\substack{(k,m)=1\\0 < k < m}} k}

\begin{document}

\begin{align*}
  &\exp\paren*{\tall} \\
  &\exp\paren*{\taller}
\end{align*}

\end{document}

答案1

我准备了两个standalone文件,\fbox{\Bigg(}首先用 Computer Modern 进行,然后用newtxmath,设置\fboxsep为 0pt 和\fboxrule0.1pt 以精确显示边界框。

该命令\Bigg在文本和数学中的工作原理完全相同。接下来,我\includegraphics对两个输出进行了操作,得到

在此处输入图片描述

(左边是 CM,右边是 NewTX)。

下一个实验,我将$\exp\paren[\Bigg]{}$在两个独立文档中排版。

在此处输入图片描述

您可以注意到边界框的差异具有重要作用。

对于更大的括号,边界框的差异更加明显。实验如下:我定义

\makeatletter
\newcommand{\Bigggg}{\bBigg@{4.5}}
\makeatother

并重试第一个实验,得到

在此处输入图片描述

同样,左边是 Computer Modern,右边是 NewTX。后者的尺寸略小,但这表明问题在于如何定义组合括号的边界框。

答案2

当你使用\left\right时,TeX 在分隔符周围插入额外的空格。 用 声明的命令\DeclarePairedDelimiter则不会。因此,如果您希望在操作符后有额外的空格,可以切换到\left(\right)

您还可以定义一个扩展为\,\paren{#1}并使用该命令。

我知道我经常这么说,但这只是众多问题中的一个,如果你切换到现代工具链,这些问题就会消失。unicode-math使用 TeX Gyre Termes Math 看起来非常相似newtxmath,但没有这个错误。

相关内容