使用 mathdesign 的下标间距

使用 mathdesign 的下标间距

我在一个较大的文档中设置了相当复杂的字体,最近我注意到数学模式中的希腊字母和下标有一些奇怪的间距。

展示这个问题

我在 MWE 上验证过(见下文),它不是cmapmicrotype,甚至不是lato(为什么会是?)。罪魁祸首似乎是mathdesign。我有一种用大锤修复的方法——在感觉正确的地方使用负空间,但这不可能是一个正确的解决方案。它还要求每个字母对的间距量不同。这种效果在 TeXLive 2016 和 2017 中存在。

正确的解决方法是什么?


带有,的 MWE 版本mathdesigngaramondx

在此处输入图片描述

标准字体(lmodern):

在此处输入图片描述

\!手动添加负空间:

在此处输入图片描述

梅威瑟:

%\documentclass[a4paper,11pt,twoside,openright,final]{memoir}
\documentclass{standalone}

\usepackage{cmap} %% copy-paste usable

%% hyphenation?
%\usepackage[english]{babel}
\usepackage[main=british,ngerman,french]{babel}

%% quotes
\usepackage[babel=true]{csquotes}
\defineshorthand{"`}{\openautoquote}
\defineshorthand{"'}{\closeautoquote}
\useshorthands{"}
\useshorthands{"}
\addto\extrasenglish{\languageshorthands{ngerman}}

\usepackage[T1]{fontenc}
\usepackage[full]{textcomp}

\usepackage{lmodern}
\usepackage{amsmath}
%% works too, finer

%% the current standard
\usepackage[garamond]{mathdesign}
%\usepackage[garamondx]{newtxmath} %% does not work, unsure if better
\usepackage[full]{textcomp}
%\usepackage{garamondx}
\usepackage[swashQ]{garamondx}
\usepackage[T1]{fontenc}
%\newcommand{\mathbold}[1]{\ensuremath{\boldmath{#1}}}
\newcommand{\mathbold}[1]{\ensuremath{\mathbf{#1}}}
\usepackage[supstfm=NewG8-sups]{superiors}

%% the real sans-serif for texts
\usepackage[scale=0.91,defaultsans]{lato}

\usepackage[activate={true,nocompatibility},kerning=true,spacing=true,tracking=true,final]{microtype}
\microtypecontext{spacing=nonfrench} %% log said so

\begin{document}

The subscripts with greek letters have too much horizontal spacing:

$\epsilon_l$, $\varepsilon_l$, $\varepsilon_{\textup{\emph{l}}}$, $\varepsilon{}_l$.

$\epsilon_g$, $\varepsilon_g$, $\varepsilon_{\textup{\emph{l}}}$, $\varepsilon{}_g$.

$d_l$, $d_l$, $d_{\textup{\emph{l}}}$.

$\xi_l$, $\xi_\phi$, $\xi_{\textup{\emph{l}}}$.


\end{document}

相关内容