![newtxmath + libertine:积分符号间距错误](https://linux22.com/image/339841/newtxmath%20%2B%20libertine%EF%BC%9A%E7%A7%AF%E5%88%86%E7%AC%A6%E5%8F%B7%E9%97%B4%E8%B7%9D%E9%94%99%E8%AF%AF.png)
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/LinLibertineT.pfb
),而 lualatex 使用 opentype(如/usr/share/fonts/opentype/linux-libertine/LinLibertine_R.otf
)。当我在 lualatex 中强制使用 type1 字体时,\usepackage{libertine-type1}
输出是正确的。