newtxmath + libertine:积分符号间距错误

newtxmath + libertine:积分符号间距错误

newtxmath使用和时,我对积分符号周围的间距感到困惑libertine。积分下标/上标离积分符号太远了。

在此处输入图片描述

我采用了与本文中相同的示例 TEX 代码: newtxmath 样式的 mathabx 积分符号

\documentclass{article}
\usepackage{libertine}
\usepackage[libertine]{newtxmath}
\usepackage{amsmath}
\usepackage{esint}

\begin{document}

This is almost trivial to prove:
\begin{equation*}
\int_{-\infty}^{\infty}e^{-x^{2}}\,dx=\sqrt{\pi}
\end{equation*}
And here are the other integral symbols:
\begin{equation*}
\int\quad\iint\quad\iiint\quad\oint\quad\oiint
\end{equation*}
\end{document}

我在 Debian 稳定版中使用 TeXLive。它附带“newtxmath 2014/09/28 v1.29”。我还尝试了“newtxmath 2016/08/12 v1.5”,如该屏幕截图所示。没有区别。

出了什么问题?

谢谢你的帮助,
马蒂亚斯

答案1

fontspec使用无数学选项加载以避免它在文档开始处重置数学字体:

\documentclass{article}
\usepackage[no-math]{fontspec}
\usepackage{libertine}
\usepackage[libertine]{newtxmath}
\usepackage{amsmath}
\usepackage{esint}

\begin{document}

This is almost trivial to prove:
\begin{equation*}
\int_{-\infty}^{\infty}e^{-x^{2}}\,dx=\sqrt{\pi}
\end{equation*}
And here are the other integral symbols:
\begin{equation*}
\int\quad\iint\quad\iiint\quad\oint\quad\oiint
\end{equation*}
\end{document}

在此处输入图片描述

添加

经过一番深入研究,我认为错误间距的根源在于开放式 linux libertine 有一个所谓的数学常量表。在数学中加载这样的字体会改变相当多的数学相关维度(这在 luatex 手册中有记录),但似乎也会改变上标/下标的放置方式,即使使用传统的数学字体也是如此。我不确定这是否是故意的,我在 luatex 列表上问了一个关于它的问题。这个问题也可以通过 Cambria Math 来证明:

\documentclass{article}
\usepackage[no-math]{fontspec}

\setsansfont{Cambria Math}
\DeclareMathAlphabet      {\mathtest}{EU2}\sfdefault\mddefault\updefault

\begin{document}

$\mathtest{abc}$

\[
\int_{-\infty}^{\infty}a
\]

\end{document}

在此处输入图片描述

答案2

这是字体问题。pdflatex 使用 type1 字体(如/usr/share/texlive/texmf-dist/fonts/type1/public/libertine/L‌​inLibertineT.pfb),而 lualatex 使用 opentype(如/usr/share/fonts/opentype/linux-libertine/LinLibertine_R.ot‌​f)。当我在 lualatex 中强制使用 type1 字体时,\usepackage{libertine-type1}输出是正确的。

相关内容