为什么用 {} 插入空格只有某些时候才有效?

为什么用 {} 插入空格只有某些时候才有效?

我只是想自定义脚注,但发现有些奇怪的行为(至少对我来说)。通常,如果我要插入一个字符的空格,我会像这样插入一对空花括号{}。但是,尝试使用 执行此操作时\thefootnote,不会产生任何空格。比较:

\documentclass{article}

\renewcommand{\thefootnote}{\arabic{footnote}\hspace{1em}}

\begin{document}

Some dummy text.\footnote{This one works.}

\end{document}

\documentclass{article}

\renewcommand{\thefootnote}{\arabic{footnote}{}}

\begin{document}

Some dummy text.\footnote{This one produces no space.}

\end{document}

为什么空花括号在这里不会产生空格?一般来说,什么时候空括号不会产生空格?这是更普遍的 TeX 现象的例子吗?

答案1

{}不产生空格,它仅开始和结束一个组(或在其他上下文中界定一个参数)

您可能正在考虑的是,比如说,在宏中\LaTeX is,空格被忽略为终止宏,因此永远不会产生空格标记(因此不会在输出中产生空格),但在\LaTeX{} is宏名称中,{字符会生成空格标记(因此在输出中产生空格)。

如果您想要在显示的定义中使用空格,只需使用空格:

\renewcommand{\thefootnote}{\arabic{footnote} }
 %                                           ^

相关内容