我正在考虑在我的文档中使用 xspace 来表示一些常见的标准术语,例如:
\newcommand{\ring}{my secret ring\xspace}
我现在想知道,当我这样做时,连字符是否正确?
\ring{}s
笔记
问了这个问题,我意识到了https://tex.stackexchange.com/a/86620/24158而且我可能根本不应该使用 xspace 而只使用正常定义,在这种情况下我希望连字符总是正确的。
我可能也应该真正定义更多术语,而不是巧妙地添加它们。但德语有很多后缀,所以这也不好笑。
不使用宏是一种选择。我正在尝试探索可行的选择。
答案1
这是连字不受影响的证明\xspace
;\hspace{0pt}
允许对第一个单词进行连字,0pt 的宽度迫使 LaTeX 尽可能地进行连字。
\documentclass{article}
\usepackage{xspace}
\newcommand{\super}{supercalifragilistic\xspace}
\newcommand{\superB}{supercalifragilisti\xspace}
\begin{document}
\parbox{0pt}{\hspace{0pt}
\super{}expialidocious
\superB{}cexpialidocious}
\end{document}
然而,我看不出\xspace
在这种情况下有什么帮助;你需要如果后面有后缀,则添加一个空组,这种情况似乎很常见。如果没有\xspace
,\super expialidocious
或 ,\super{}expialidocious
结果是一样的。而对于没有后缀的情况,{}
在末尾添加似乎没什么大不了的。