MinionPro-It.otf
我正在使用的文件包含斜体小型大写字母,已用和otfinfo -f MinionPro-It.otf
确认cfftot1 MinionPro-It.otf | t1testpage | epstopdf --filter > MinionPro-It.pdf
。
下面的代码
\documentclass{scrbook}
\usepackage{fontspec}
\setmainfont[SmallCapsFeatures={Renderer=Basic}]{Minion Pro}
\usepackage[tracking=true]{microtype}
\SetTracking[no ligatures]{encoding = *, shape = sc*}{250}
\newcommand*\qbf{The quick brown fox jumps over the lazy dog.}
\begin{document}
\qbf
\textit{\qbf}
\textbf{\qbf}
\textbf{\textit{\qbf}}
\textsc{\qbf}
\textsc{\textbf{\qbf}}
\textsc{\textit{\qbf}}
\textls[250]{\textsc{\textit{\qbf}}}
\end{document}
使用luatex 0.76
最近更新的 TeXLive 2013进行制作 。
中号和粗体小写字母会自动调整字母间距,但倒数第二行的斜体小写字母不会。可以明确指定字母间距,如最后一行所示。但我找不到启用斜体小写字母自动调整字母间距的方法。
手册第 167 页第 15.8.4 节microtype
包含设置 Minion 斜体小写字母的突起设置的代码,暗示形状可能被命名为scit
或si
。不幸的是,更改\SetTracking
参数没有任何区别。知道为什么它适用于sc + bf
而不适合 吗sc + it
?
答案1
默认情况下,microtype
将启用集合中定义的字体的跟踪smallcaps
(参见microtype.cfg
),其中包括所有sc
形状字体,但不si
包括斜体小写字母。如果您将以下内容添加到序言中,您应该会得到您想要的结果:
\DeclareMicrotypeSet*{smallcapsi}
{ encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1,EU1,EU2},
shape = {sc*,si,scit}
}
为什么si
没有包含在该smallcaps
集合中?好吧,它可能会在下一个版本中,但为了给出一些解释,让我说一下,该si
形状是 LaTeX 字体选择方案的一个相当新的非官方添加。NFSS
(“新”字体选择方案)将小型大写字母和斜体放在同一个字体轴上,使其互斥,而粗体是不同的轴,因此它可以与小型大写字母(或斜体)结合使用。该软件包(和其他软件包)通过引入形状(软件包称之为)fontspec
来弥补这一设计缺陷,该形状允许选择斜体小型大写字母。si
slantsc
scit
答案2
是的,@Robert 比我早了几秒就做到了。
这是我当时想出的版本。请注意,即使您使用@Robert 的答案,您仍然需要修改您的\SetTracking
行,如我在此处所示,以禁用形状的连字符si
。
\documentclass{scrbook}
\usepackage{fontspec}
\setmainfont[SmallCapsFeatures={Renderer=Basic}]{Minion Pro}
\usepackage{microtype}
\DeclareMicrotypeSet{mysmallcaps}
{ encoding = {OT1,T1,T2A,LY1,OT4,QX,T5,TS1,EU1,EU2},
shape = {sc*,si}
}
\microtypesetup{tracking=mysmallcaps}
\SetTracking[no ligatures]{encoding = *, shape = {sc*,si}}{250}
\newcommand*\qbf{The quick brown fox jumps over the lazy dog.}
\begin{document}
\qbf
\textit{\qbf}
\textbf{\qbf}
\textbf{\textit{\qbf}}
\textsc{\qbf}
\textsc{\textbf{\qbf}}
\textsc{\textit{\qbf}}
\textls[250]{\textsc{\textit{\qbf}}}
\end{document}
得到这个: