我正在使用MinionPro
带有选项的软件包和footnotefigures
。当此选项处于活动状态时,脚注将使用特殊字形,看起来比普通数字要粗一些。但是,这些数字的字距看起来很奇怪,似乎有太多空格,一旦脚注超过 9 个,就会出现这种情况。我尝试使用软件包的自定义设置来改进字距microtype
,但没有成功。字距似乎无法与字体配合使用MinionPro-Extra
,而使用普通字体则一切正常。
更新
该问题似乎并非 MinionPro 所特有,如果编码为,其他字体也会发生该问题U
。请参阅更新的 MWE。
更新 2
添加了没有 MinionPro 的第二个 MWE。
平均能量损失
\documentclass{scrbook}
\usepackage[footnotefigures]{MinionPro}
\usepackage[kerning=true]{microtype}
\SetExtraKerning
[ context = customsetting,
unit = space ]
{ encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,EU1,EU2,TU,TS1,OML,OMS,U},
family = {rm*,sf*},
series = {md*},
size = {normalsize,footnotesize,small,large}
}
{
'061 = {,-750},
}
\makeatletter
\def\@makefnmark{%
\begingroup
\microtypecontext{kerning=customsetting}
\normalfont
\fontfamily{MinionPro-Extra}\fontencoding{U}\selectfont
\@thefnmark
\endgroup}
\makeatother
\begin{document}
\noindent{\microtypecontext{kerning=customsetting}\char'061{}23 \fontfamily{MinionPro-Extra}\fontencoding{U}\selectfont \char'061{}23} \newline
{\microtypecontext{kerning=customsetting} \char'061{}23 \fontfamily{bbm}\fontencoding{U}\selectfont \char'061{}23}
\newline
\footnote{a}\footnote{a}\footnote{a}\footnote{a}\footnote{a}\footnote{a}\footnote{a}\footnote{a}\footnote{a}\footnote{a}\footnote{a}\footnote{a}\footnote{a}\footnote{a}\footnote{a}
\end{document}
结果
MWE-不使用 MinionPro
\documentclass{scrbook}
\usepackage[kerning=true]{microtype}
\SetExtraKerning
[ context = customsetting,
unit = space ]
{ encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,EU1,EU2,TU,TS1,OML,OMS,U},
family = {rm*,sf*},
series = {md*},
size = {normalsize,footnotesize,small,large}
}
{
1 = {,-750},
}
\begin{document}
{\microtypecontext{kerning=customsetting} 123
\fontfamily{bbm}\fontencoding{U}\selectfont 123}
{\microtypecontext{kerning=customsetting} 123
\fontfamily{eur}\fontencoding{U}\selectfont 123
}
{\microtypecontext{kerning=customsetting} 123
\fontfamily{cmm}\fontencoding{OML}\selectfont 123
}
{\microtypecontext{kerning=customsetting} 123
\fontfamily{cmsy}\fontencoding{OMS}\selectfont 123
}
\end{document}
结果
答案1
存在两个问题:
首先,您指定family = {rm*,sf*}
,因此您的字距调整仅适用于\rmdefault
和指定的字体系列\sfdefault
。例如,您可以添加其他系列:使用
family = {rm*,sf*,MinionPro-Extra},
字距调整也适用于 MinionPro-Extra。当然,您也可以使用family = {MinionPro-Extra},
它来仅更改 MinionPro-Extra 的字距调整或删除整行以影响所有系列。
第二个问题是编码:microtype
使用字体集来限制受其命令影响的字体。有关详细信息,请参阅文档,4 选择微排版字体默认情况下,字距调整仅限于字体集alltext
,因此字距调整仅适用于文本编码
OT1,T1,T2A,LY1,OT4,QX,T5,TS1,EU1,EU2,TU
要为所有编码添加字距调整,您可以all
通过更改字体集来启用字距调整
\usepackage[kerning=true]{microtype}
到
\usepackage[kerning=all]{microtype}