\footnote 后的空格 / \author 内的 \thanks

\footnote 后的空格 / \author 内的 \thanks

如果我输入:

\author{Alpha\thanks{} and Beta\thanks{}}

然后它被排版为“Alpha*and Beta*”,而不是我期望的“Alpha* and Beta*”(即第一个脚注标记后没有空格)。这不会发生在外面\author。尝试的明显替代方案:

\author{Alpha\thanks{}\ and Beta\thanks{}}

没有帮助。我可以通过以下方法制作所需的“Alpha* 和 Beta*”:

\author{Alpha\thanks{}\ \ and Beta\thanks{}}

但这似乎有点愚蠢(并且让我担心在另一个 tex 安装中它实际上可能会插入两个空格)由于\thanks显然打算在 内像这样使用\author,我觉得我一定错过了有关预期调用的某些内容。我应该如何使用\thanks才能使间距正确?

答案1

我假设您正在谈论其中一个标准类别。

classes.dtx包含:

\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%

现在与默认值进行比较latex.ltx

\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}%

类代码将 更改为\hbox\rlap这使得脚注标记的宽度为零。这就是空格消失的原因,也是两个空格看起来正确的原因。

我不知道隐藏脚注标记宽度的原因。也许为了让作者姓名(如果是单个作者)看起来“更居中”... 只是猜测。

titlepage如果您使用该选项,则不会发生这种情况。

为了避免这种情况,您可以覆盖定义:

\documentclass{article}

\usepackage{etoolbox}
\makeatletter
\pretocmd\@maketitle
  {\def\@makefnmark{\hbox{\@textsuperscript{\normalfont\@thefnmark}}}}
  {}{\FAIL}
\makeatother

\title{Hello}
\author{Alpha\thanks{} and Beta\thanks{}}

\begin{document}
\maketitle
\end{document}

相关内容