我在向命令结果添加字母间距时遇到了灵魂包问题,该命令的定义如下:
\newcommand{\myCommand}{some text}
在文档中,我希望以字母间距显示该命令的结果:
\par{\centering{\Huge
\textbf{\myAnotherCommand{} \textsc{\so{\myCommand{}}}}
}\bigskip\par}
但我得到了“Package soul 错误:重建失败”和文本“一些文本”后面的黑色方块。如果我正确理解了 soul 包文档,那么这是“分组可连字符材料”或字体切换命令的问题,不是吗?不幸的是,我不知道如何修复它。我应该用 \soulregister 注册一些命令吗?
如有任何建议我将不胜感激。
答案1
使用 pdflatex 最简单的获取字母间距的方法是通过微型
\usepackage{microtype}
...
\par
{\centering\Huge
\textbf{\myAnotherCommand{} \textsc{\lsstyle \myCommand}}
\par\bigskip}
这样就避免了执行所有复杂的技巧灵魂. 可以通过包获取字母间距字母空间(包括微型),但加载更大的一个也没有什么坏处(实际上,这非常有利)。
使用 XeLaTeX 可以获得类似的效果
\addfontfeature{LetterSpace=2.0}
(可以根据需要选择数量):
\par
{\centering\Huge
\textbf{\myAnotherCommand{} \textsc{\addfontfeature{LetterSpace=2.0} \myCommand}}
\par\bigskip}
这种特殊的组合可能会失败,因为并非所有字体系列都有粗体小型大写字体。