我有一个命令\work
,它可以将标题格式化为 SmallCaps 格式,并且字母间距较小。现在有趣的是:如果我尝试添加一些单词间距,并且只针对 SmallCaps,它会影响整个文档,正如您在 MWE 中看到的那样。有什么想法可以实现单词间距仅影响 SmallCaps 或我的命令吗?
\documentclass{article}
\usepackage{blindtext}
\usepackage{fontspec}
\setmainfont[SmallCapsFont={Latin Modern Roman Caps},
SmallCapsFeatures={LetterSpace=-6,WordSpace={3}}]{Latin Modern Roman}
\newcommand{\work}[1]{\textsc{{#1}}}
\begin{document}
Immanuel Kants \work{Kritik der praktischen Vernunft}, \work{Kritik der reinen Vernunft} und \work{Kritik der Urteilskraft}...
\blindtext
\end{document}
答案1
一个可以接受的解决方法,它仍然让你使用\textsc
而不改变它,它定义\work
具有所需间距的类似命令。
我认为完全没有理由需要这种间距:字母重叠!它们需要空间来呼吸……
\documentclass{scrartcl}
\usepackage{blindtext}
\usepackage{fontspec}
\setmainfont{Latin Modern Roman}
\newfontface\workcaps{Latin Modern Roman Caps}[LetterSpace=-6,WordSpace=3]
\DeclareTextFontCommand\work{\workcaps}
\begin{document}
Immanuel Kants \work{Kritik der praktischen Vernunft}, \work{Kritik der
reinen Vernunft} und \work{Kritik der Urteilskraft}...
\blindtext
\end{document}
答案2
在解决了同一个问题后,我找到了“错误”的根源。它是“Wordspace”功能。我不太确定“Letterspace”定义是否也处理了空格。
\documentclass{article}
\usepackage{blindtext}
\usepackage{fontspec}
\setmainfont[SmallCapsFont={Latin Modern Roman Caps},
SmallCapsFeatures={LetterSpace=-6}]{Latin Modern Roman}
\newcommand{\work}[1]{\textsc{{#1}}}
\begin{document}
Immanuel Kants \work{Kritik der praktischen Vernunft}, \work{Kritik der reinen Vernunft} und \work{Kritik der Urteilskraft}...
\blindtext
\end{document}