scrlayer-scrpage
我在 Koma Script 的包和自定义设置之间遇到了奇怪的交互microtype
。我正在将scrartcl
类与 Minion Pro 字体一起使用scrlayer-scrpage
。我还用它microtype
来增加撇号字形之间的字距,因为默认字距对我来说有点太窄了。
以下是 MWE:
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\PassOptionsToPackage{babel, kerning=true}{microtype}
\usepackage[loosequotes]{MinionPro}
\usepackage{scrlayer-scrpage}
\SetExtraKerning[ name = french-custom,
context = french,
unit = space ]
{ encoding = *}
{
' ={100,200},
’ ={100,200}
}
\begin{document}
l'éléphant \textit{l'éléphant}
\newpage
l'éléphant \textit{l'éléphant}
\newpage
l'éléphant \textit{l'éléphant}
\newpage
l'éléphant \textit{l'éléphant}
\end{document}
这是我使用 pdfTex 得到的结果:在第一页中,常规字体和斜体字体的字距都是正确的。
然而,在接下来的页面中,尽管字距调整校正已应用于常规字体,但并未添加到斜体字体中。
如果我删除该包,问题就会消失scrlayer-scrpage
。但是我确实需要scrlayer-scrpage
实现特定的布局,因此如果有办法使其与字距校正兼容,那就太好了。
我该如何解决这个问题?感谢您的帮助!
答案1
该问题不仅限于使用scrlayer-scrpage
(或任何其他 KOMA-Script 包或 KOMA-Script 类)。 在任何临时使用 之后也会发生这种情况\slshape
,例如:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\PassOptionsToPackage{babel, kerning=true}{microtype}
\usepackage[loosequotes]{MinionPro}
\SetExtraKerning[ name = french-custom,
context = french,
unit = space ]
{ encoding = *}
{
' ={100,200},
’ ={100,200}
}
\begin{document}
l'éléphant \textit{l'éléphant}
\newpage
{\slshape}% temporary and local usage of \slshape
l'éléphant \textit{l'éléphant}
\newpage
l'éléphant \textit{l'éléphant}
\newpage
l'éléphant \textit{l'éléphant}
\end{document}
或者
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[french]{babel}
\PassOptionsToPackage{babel, kerning=true}{microtype}
\usepackage[loosequotes]{MinionPro}
\SetExtraKerning[ name = french-custom,
context = french,
unit = space ]
{ encoding = *}
{
' ={100,200},
’ ={100,200}
}
\pagestyle{headings}% for headings article also uses \slshape, which is replaced by an italic shape automatically
\begin{document}
l'éléphant \textit{l'éléphant}
\newpage
l'éléphant \textit{l'éléphant}
\newpage
l'éléphant \textit{l'éléphant}
\newpage
l'éléphant \textit{l'éléphant}
\end{document}
有同样的问题
从第二页开始,但不要使用任何 KOMA-Script 包或类。这似乎与字体警告有关:
LaTeX Font Info: Font shape `T1/MinionPro-OsF/m/sl' in size <10> not available (Font) Font shape `T1/MinionPro-OsF/m/it' tried instead on input line 25.
scrlayer-scrpage
\slshape
作为页眉和页脚的默认使用(请参阅pageheadfoot
手册中的元素)。但是,由于没有倾斜字体,您可以明确地使用斜体字体替换scrlayer-scrpage
倾斜字体的使用:
\documentclass{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\PassOptionsToPackage{babel, kerning=true}{microtype}
\usepackage[loosequotes]{MinionPro}
\usepackage{scrlayer-scrpage}
\setkomafont{pageheadfoot}{\normalcolor\itshape}
\SetExtraKerning[ name = english-custom,
context = english,
unit = space ]
{ encoding = *}
{
' ={100,200},
’ ={100,200}
}
\begin{document}
l'éléphant \textit{l'éléphant}
\newpage
l'éléphant \textit{l'éléphant}
\newpage
l'éléphant \textit{l'éléphant}
\newpage
l'éléphant \textit{l'éléphant}
\end{document}
注意:这并不能真正解决\slshape
一般问题,但可以解决使用过程中出现的问题scrlayer-scrpage
,因为它避免了用斜体字体隐式替换倾斜字体。