我花了一天半的时间绞尽脑汁想弄清楚这个问题。第 63 页回忆录课程手册建议“对于严肃的工作”始终使用手工制作的标题页,而不是更严格的 \maketitle 或 \titlingpage 环境。按照这个建议,我制作了一个手工制作的标题页原型,我对它非常满意,但现在我想修改它以处理多个作者。authblk 包满足了我的所有需求,所以我尝试使用它,而不是重新发明轮子。但 authblk 和 memoir 不能很好地协同工作。
有两个严重的问题:
- Authblk 破坏了 memoir 的 \theauthor 和 \thedate 命令:它们成为未定义的控制序列。(它们在没有 authblk 包的情况下也可以工作。)
- Memoir 不仅破坏了 authblk 的内置 \AB@authors 命令,还破坏了标准 \@author 命令。(如果文档类别是 article,它们会起作用。)这是致命的,因为手工制作的标题页需要在不使用 \maketitle 的情况下访问其中的一个或另一个。
在下面的代码中,我注释掉了不能协同工作的命令,并添加了注释来解释当它们处于活动状态时会发生什么。有人能建议如何解决这些问题吗?
\documentclass[]{memoir}
\usepackage{authblk}
\title{Anything Goes}
\renewcommand{\Affilfont}{\itshape}
\author{J.B. Smith}
\affil{Institute for Research\\Hamilton,Ontario}
\author{C.T. Appleton}
\author{P.R. Bailey}
\affil{NASA, Greenbelt, MD}
\begin{document}
\makeatletter
% This works as expected.
\maketitle
% But nothing here does.
% \theauthor % Throws an undefined control sequence error.
% \thedate % So does this.
%\@author % Creates a plethora of errors.
%\AB@authors % So does this.
\end{document}