luatex 有不同的下标距离

luatex 有不同的下标距离

我想用 TeX Gyre Schola 写一些科学文本,因为与 Latin Modern Roman 相比,我喜欢它增加的粗体。

不幸的是,我注意到变量和其直立下标之间的间距看起来非常奇怪。例如,和$v_{\mathrm{eff}}$之间的距离太大。ve

学校

pdflatex为了进一步调查,我将字体改回拉丁现代罗马字体,并比较了和之间的输出luatex,发现下标来自luatex比其对应方远一点pdflatex

pdflatexpdflatex

luatex路特克斯

那么问题是什么?luatex字体系统真的很糟糕吗?还是我使用了错误的语法?或者,有简单的解决方法吗?


\documentclass[paper=a4]{article}

\usepackage{iftex}

% math
\usepackage{amsmath}
\ifPDFTeX
  \usepackage{amsfonts}
  \usepackage{amssymb}
\fi

% font
\ifPDFTeX
  \usepackage[utf8]{inputenc}
  \usepackage[T1]{fontenc}
  \usepackage{lmodern}
\fi
\ifLuaTeX
  \usepackage{fontspec}
  \usepackage[math-style=ISO,bold-style=ISO]{unicode-math}
  \setmainfont{Latin Modern Roman}
  \setmathfont{Latin Modern Math}
  %\setmainfont{TexGyre Schola}
  %\setmathfont{TexGyre Schola Math}
\fi
\begin{document}
  \begin{align}
    v_{\mathrm{eff}}
  \end{align}
\end{document}

答案1

在确定产出差异的来源/原因时需要小心谨慎。当然,

\documentclass{standalone} 
\begin{document} 
$v_{\mathrm{eff}}$ 
\end{document} 

可以使用 pdfLaTeX 和 LuaLaTeX 进行编译。重要的是,无论使用 pdfLaTeX 还是 LuaLaTeX,它都会根据下标项的相对位置产生相同的结果。(我在运行 MacTeX2015/LuaTeX0.8 或 TeXLive2016-prerelease/LuaTeX0.95 的系统上进行了测试。)

您发现的差异的原因似乎是unicode-math包,它已加载到您的示例代码中(但未加载到上面的迷你示例中)。具体来说,如果加载了包,LuaTeX 似乎会使用“非拥挤”样式对下标项进行排版unicode-math,而如果未加载包,LuaTeX 会使用“拥挤”样式对下标进行排版(pdfLaTeX 也是如此)unicode-math。我不知道为什么unicode-math会产生这种效果。我也不知道这种效果是否是故意的。

相关内容