仅从文本中删除感谢星号,而不是从脚注中删除。

仅从文本中删除感谢星号,而不是从脚注中删除。

我使用\thanks命令包含第一个带星号的脚注并注明致谢。星号应该出现在脚注中,但文本中不应该有星号(在本例中就在标题后面)。我怎样才能只从文本中删除星号而不从脚注中删除星号?

\documentclass{article}
\begin{document}
\title{This is my title\thanks{Here I thank people.}}
\maketitle
Here is a sentence.\footnote{Here is a footnote.}
\end{document}

在此处输入图片描述 在此处输入图片描述

答案1

\maketitle类中的命令在一个组中article重新定义\@makefnmark,以在零宽度框中打印标记,从而保持居中。因此,将其定义为不执行任何操作就足够了:

\documentclass{article}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\maketitle}
 {\def\@makefnmark}
 {\def\@makefnmark{}\def\useless@macro}
 {}{}
\makeatother

\textheight=8cm % just to have a smaller picture

\begin{document}

\title{This is my title\thanks{Here I thank people.}}
\author{Sverre}

\maketitle

Here is a sentence.\footnote{Here is a footnote.}

\end{document}

补丁可能会更详细,删除 的所有替换文本\@makefnmark,使用此补丁, 将成为 的替换文本。但由于它在一个组中,因此一旦组结束,\useless@macro的定义就会消失。\useless@macro

在此处输入图片描述

答案2

您可以使用适当的标识符手动插入脚注:

在此处输入图片描述

\documentclass{article}
\usepackage[paperheight=20\baselineskip]{geometry}% Just for this example
\begin{document}
\title{This is my title\footnotetext{\llap{\textsuperscript{*}}Here I thank people.}}
\maketitle
Here is a sentence.\footnote{Here is a footnote.}
\end{document}

相关内容