我这里有一个非常具体的问题,但我认为解决这个问题的方法可能包括其他人可能也会感兴趣的常识。
我有一个 .cls 文件,它控制我正在撰写的论文的样式。该样式几乎完全符合我的需求,但我必须进行一些更改,以便它能够完全符合我的需要。现在,我可以使用函数 \author、\name 和 \ affiliation 在论文第一页的顶部写出作者及其所属的大学。这样做如下
\author{\name{John Doe}
\affiliation{State University of Nowhere}}
我得到了结果(标题是由其他函数调用的,我对此没有问题,只需忽略它)
如果论文是多位作者合作完成的,我可以这样做
\author{\name{John Doe}
\affiliation{State University of Nowhere}
\name{John Doe}
\affiliation{State University of Nowhere}
\name{John Doe}
\affiliation{State University of Nowhere}}
获得
这可不行。它不美观,占用太多空间,而且如果两位或多位作者来自同一机构,我也不想重复大学名称。
我想要做的是将作者的名字并排写出来,然后将机构传递到名字下面,每行一个机构。名字没有问题。我可以通过以下方式将它们放在这个表格中
\name{John Doe, John Doe, John Doe}
但我对机构无能为力。在 .cls 文件中,这些函数定义如下
\author{%
\hspace{-4pt}%
\begin{tabular*}{\textwidth}{@{}ll@{}}%
\@TheAuthor%
\end{tabular*}%
\\%
\hspace{-9pt}%
\HorRule%
}
%
\renewcommand{\author}[1]{\def\@TheAuthor{#1}}
\newcommand{\name}[1]{\large%
\lineskip 0.5em%
\usefont{T1}{phv}{b}{sl}%
\color{DarkRed}%
#1&%
}
\newcommand{\affiliation}[1]{%
\hskip 0.75em%
\footnotesize%
\usefont{T1}{phv}{m}{sl}%
\color{Black}%
\begin{minipage}{\linewidth}%
#1%
\end{minipage}%
\\%
}
我不明白这些定义是怎么回事。你能帮我一下吗?
非常感谢。
答案1
\author
或多或少是构建一个表格
\begin{tabular}{...}
name & affiliation \\
name & affiliation
\end{tabular}
& 由\name
宏和\\
提供\affiliation
。一个快速而肮脏的解决方案是定义一个\names
宏,它是 的副本,\name
并&
用 替换\\
。
\newcommand{\names}[1]{\large%
\lineskip 0.5em%
\usefont{T1}{phv}{b}{sl}%
\color{DarkRed}%
#1\\%
}
并使用
\author{\names{John Doe, John Doe, John Doe}
\affiliation{State University of Nowhere}}.
您仍然可以选择使用单个作者的原始格式。