附属机构和通讯作者评论作为 latex 文章的脚注

附属机构和通讯作者评论作为 latex 文章的脚注

我正在尝试使用 LaTeX 文章文档类来创建一篇简单的论文,其中作者在标题页上列出,其(可能多次重复)隶属关系作为数字脚注,其他作者评论(例如,通讯作者)作为符号脚注。例如,我想要类似

在此处输入图片描述

但是,我尝试了多种不同的解决方案,但还是无法实现这一点。有没有简单的方法可以做到这一点?

我曾尝试使用 bigfoot 包创建多种不同类型的脚注,并结合 footmisc 和 multiple 选项来获取多个脚注标记,这些标记之间用逗号隔开,但最终得到的是重叠的标记,没有脚注。我的最小 latex 文档是:

\documentclass{article}

\title{My title}

\usepackage[multiple]{footmisc}
\usepackage{bigfoot}

\DeclareNewFootnote{AAffil}[arabic]
\DeclareNewFootnote{ANote}[fnsymbol]

\author{
        David Kaplan\footnoteAAffil{A University}\footnoteAAffil{Another University}\footnoteANote{Corresponding author}\footnoteANote{Equal contributors}
        \and
        Prince Charming\FootnotemarkAAffil{2}\FootnotemarkANote{2}
}
\date{\today}


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

我得到的输出是:

在此处输入图片描述

谢谢您的帮助!

答案1

您的代码存在许多单独的问题。

错误符号

对于第二位作者,您使用了\FootnotemarkAAffil{2}。这是不正确的语法。正确的语法应该是\footnotemarkAAffil[2](请注意小写和方括号)。前者将参数(逐字)打印为脚注标记。后者打印与可选参数关联的脚注标记。

使用footmisc

几年前footmisc关于是否与 兼容有一些讨论bigfoot。我不知道相互兼容性的状态,但链接问题 ( fnpct) 中提到的包肯定与 兼容bigfoot

间距问题

然而,一个主要问题是间距。间距有点混乱的原因是,虽然我们通常有内核定义

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

我们article.cls看到期间\maketitle这是重新定义的(除非您使用该titlepage选项):

\newcommand\maketitle{\par
    \begingroup
      \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
      \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
...

这就是您看到奇怪间距的原因\rlap。要解决这个问题,您必须重新定义命令\maketitle或使用titlepage选项。

如果你没有使用该bigfoot包,那么你可以调整这个答案

脚注不显示

标准article类使用 设置作者列表tabular众所周知,表格与脚注配合得不太好(以及 TeX.SE 上的许多其他讨论)。为了解决这个问题,\thanks使用了宏(这基本上简化了\footnotemark...\footnotetext使用 tabulars 的调用)。该\footnote命令也被重新定义为\thanks

关键是这些重新定义没有被重复bigfoot

一个不太优雅的解决方案

\documentclass[titlepage]{article}  % <---- Use titlepage option for the rlap problem

\title{My title}

\usepackage[dont-mess-around]{fnpct}   % <---- I use fnpct instead of footmisc, but that's probably not essential
\usepackage{bigfoot}

\DeclareNewFootnote{AAffil}[arabic]
\DeclareNewFootnote{ANote}[fnsymbol]

% Hook into the \thanks command for the article class to print the footnotes
\makeatletter
\def\thanksAAffil#1#2{
    \protected@xdef\@thanks{\@thanks
        \protect\footnotetextAAffil[#1]{#2}}%
}
\def\thanksANote#1#2{
    \protected@xdef\@thanks{\@thanks
        \protect\footnotetextANote[#1]{#2}}%
}
\makeatother

\author{%
        David Kaplan\footnotemarkAAffil\footnotemarkAAffil\footnotemarkANote\footnotemarkANote%
        \thanksAAffil{1}{A University}\thanksAAffil{2}{Another University}\thanksANote{1}{Corresponding author}\thanksANote{2}{Equal contributors}%
        \and%
        Prince Charming\footnotemarkAAffil[2]\footnotemarkANote[2]%
}
\date{\today}


\begin{document}
\maketitle

Text
\end{document}
  1. 如上所述,使用titlepage将解决重叠问题。
  2. 为了解决脚注不显示的问题,我最初尝试复制(在查看沃纳的精彩解释) 的定义,\thanks以将它们应用到新的脚注中bigfoot然而,这会破坏fnpct检测连续脚注的方式,并且逗号会被抑制,等等;
  3. 您必须手动发出\footnotemarkAAffiletc 来标记所有脚注,以利用生成的逗号,然后使用\thanksAffiletc 命令(在上面的代码中定义)来提供将显示在标题页上的脚注文本。

输出:

在此处输入图片描述

答案2

谢谢黄威利为您解决方案,这非常有帮助并且让我学到了很多关于事物内部实际运作方式的知识。

除了两点之外,您的解决方案非常完美。第一点是我不想使用。我在不使用from 的titlepage情况下修复了间距问题,这似乎甚至可以使用:titlepagepatchcmdetoolboxbigfoot

\usepackage{etoolbox}
\makeatletter
\patchcmd\maketitle{\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}}{}{}{}
\makeatother

另一个问题是我希望作者姓名之间有逗号。当我用 替换时\and,作者姓名周围会留下很多空白。我意识到这是由于和%的定义中缺少一些注释 ( ) 。\thanksAAffil\thanksANote

最后,我决定不使用该fnpct包,而是手动输入$^{,}$并将和\footnotemarkAAfil直接放在\footnotemarkANote相应的命令中thanks

考虑到所有这些,我最终的解决方案是:

\documentclass{article}  % <---- No titlepage

\title{My title}

%\usepackage[dont-mess-around]{fnpct}   % <---- I decided not to use fnpct, but rather put in the commas by hand
\usepackage{bigfoot}

\DeclareNewFootnote{AAffil}[arabic]
\DeclareNewFootnote{ANote}[fnsymbol]

\usepackage{etoolbox}
\makeatletter
\patchcmd\maketitle{\def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}}{}{}{}
\makeatother

% Hook into the \thanks command for the article class to print the footnotes
% Now include \footnotemarkXXXX commands
\makeatletter
\def\thanksAAffil#1{% <--- These %'s are necessary for spacing
  \footnotemarkAAffil\protected@xdef\@thanks{\@thanks%
        \protect\footnotetextAAffil[\the \c@footnoteAAffil]{#1}}%
}
\def\thanksANote#1{%
  \footnotemarkANote%
  \protected@xdef\@thanks{\@thanks%
        \protect\footnotetextANote[\the \c@footnoteANote]{#1}}%
}
\makeatother

\author{% <---- Not sure if these %'s are necessary, but can't hurt
  David Kaplan%
  \thanksAAffil{A University}$^{,}$\thanksAAffil{Another University}$^{,}$%
  \thanksANote{Corresponding author}$^{,}$\thanksANote{Equal contributors}%
  , %
  Prince Charming%
  \footnotemarkAAffil[2]$^{,}$\thanksAAffil{Still another university}$^{,}$\footnotemarkANote[2]$^{,}$%
  \thanksANote{Another note}%
  , %
  Mohamed Ali%
  \thanksAAffil{I am the badest U}%
}
\date{\today}

\begin{document}
\maketitle

\begin{abstract}
  This is the abstract.
\end{abstract}

\section{Introduction}

More Text

\end{document}

得出的结果为:

在此处输入图片描述

相关内容