如果我输入:
\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}