灵魂包出现“重建失败”错误

灵魂包出现“重建失败”错误

我在向命令结果添加字母间距时遇到了灵魂包问题,该命令的定义如下:

\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}

这种特殊的组合可能会失败,因为并非所有字体系列都有粗体小型大写字体。

相关内容