通过使用 Achemso 包,我遇到了以下问题:我有一个作者列表,所有作者都具有相同的隶属关系,但有一个作者还有新的隶属关系。
\author{Author 1}
\author{Author 2}
\altaffiliation{X}
\author{Author 3}
\affiliation{ABC}
此代码将正确地为每位作者分配隶属关系,但所有作者姓名后面都跟着相同的符号,因此输出如下所示:
作者 1†、作者 2†‡、作者 3†
† ABC
‡ X
我怎样才能删除所有作者共有的符号并获得这个?
作者 1、作者 2‡、作者 3
ABC
‡ X
先感谢您!
答案1
首先,我认为你不应该这样做,因为这给你带来了一个孤独的注脚。
话虽如此,下面是您可以实现它的方法。但您必须对achemso
包的内部进行一些改动。
首先改变脚注的符号(我不知道这是否有任何副作用):
\renewcommand*{\acs@author@fnsymbol@symbol}[1]{%
\ifcase #1 *\or
{}\or
\dagger\or
\ddagger\or
\P\or
\S\or
\|\or
\bot\or
\#\or
@\or
\triangle\or
\nabla
\fi
}
现在,第一个从属关系的符号已经消失,但你仍然需要删除两个符号之间的逗号。这可以通过
\renewcommand*\acs@author@affil@alt@aux{%
\expandafter\acs@affil@marker@cnt
\csname @author@altaffil@\@roman\@tempcnta\endcsname\relax
\advance\acs@affil@marker@cnt\acs@affil@cnt\relax
\advance\acs@affil@marker@cnt\acs@footnote@cnt\relax
\protected@edef\acs@author@footnotes{%
\acs@author@footnotes
{}%
\acs@author@fnsymbol{\acs@affil@marker@cnt}%
}%
}
因此最终的 MWE 如下所示:
\documentclass{achemso}
\makeatletter
\renewcommand*{\acs@author@fnsymbol@symbol}[1]{%
\ifcase #1 *\or
{}\or
\dagger\or
\ddagger\or
\P\or
\S\or
\|\or
\bot\or
\#\or
@\or
\triangle\or
\nabla
\fi
}
\renewcommand*\acs@author@affil@alt@aux{%
\expandafter\acs@affil@marker@cnt
\csname @author@altaffil@\@roman\@tempcnta\endcsname\relax
\advance\acs@affil@marker@cnt\acs@affil@cnt\relax
\advance\acs@affil@marker@cnt\acs@footnote@cnt\relax
\protected@edef\acs@author@footnotes{%
\acs@author@footnotes
{}%
\acs@author@fnsymbol{\acs@affil@marker@cnt}%
}%
}
\makeatother
\title{Title}
\author{Author 1}
\affiliation{ABC}
\author{Author 2}
\altaffiliation{X}
\author{Author 3}
\affiliation{ABC}
\begin{document}
\end{document}