拥有多个作者的 \maketitle

拥有多个作者的 \maketitle

我想创建一个 latex 模板并自己定义“\makefile”。一切正常,直到我用“\and”定义多个作者。我该如何改变这种情况?

\renewcommand{\maketitle}{
\begin{center}
    \@date \hfill \theuni
    \smallskip
    \hrule
    \bigskip
    {\LARGE \textbf{\MakeUppercase{\@title}}}\\
    \smallskip
    {\large \thelecture\ - \@date}\\
    \bigskip
    {\Large \textbf{\MakeUppercase{\thegroup}}}\\
    \smallskip
    \@author

\end{center}
\hrule}

谢谢您的帮助 :)

答案1

基于对您正在做的事情的猜测的最小修复。请注意,\thexyz通常用于排版 counter 的值xyz,因此最好在其他情况下避免使用。假设这个惯例,我得到了大学、讲座和小组的数字。如果它们不是数字,最好使用其他方法来命名命令,例如\jonathan@uni\my@group\custom@lecture

假设您已经以某种方式定义了这些命令,因此没有询问我在尝试编译您的代码片段时遇到的错误,我假设错误与tabular或有关。同样,假设您正在使用标准类之一中的和array的定义,它们旨在在由 创建的环境上下文中使用。特别是每个都试图结束该环境并启动另一个环境,因此在您的定义中,您得到的是没有前面的。解决这个问题的最简单方法是提供合适的环境。\@author\andtabular\maketitle\and\end{tabular}\begin{tabular}

\documentclass{article}
\usepackage{textcomp}
\makeatletter
% note that \thexyz is used for counter xyz
\newcounter{uni}
\newcounter{group}
\newcounter{lecture}
\setcounter{uni}{1}
\setcounter{group}{34}
\setcounter{lecture}{789}
\RenewDocumentCommand \thegroup {} {Group \Roman{group}}
\RenewDocumentCommand \theuni {} {University \textnumero \arabic{uni}}
\RenewDocumentCommand \thelecture {} {Lecture \arabic{lecture}}
\RenewDocumentCommand{\maketitle}{}{%
\begin{center}
  \@date \hfill \theuni
  \smallskip
  \hrule
  \bigskip
  {\LARGE \textbf{\MakeUppercase{\@title}}\par}
  \smallskip
  {\large \thelecture\ - \@date\par}
  \bigskip
  {\Large \textbf{\MakeUppercase{\thegroup}}\par}
  \smallskip
  \begin{tabular}{c}
    \@author
  \end{tabular}
  
\end{center}
\hrule}
\makeatother
\author{Sandy \and Alex \and Sam \and Chris}
\title{What is the Title of this Article?}
\begin{document}
\maketitle
\end{document}

带有列表作者的自定义标题

我建议使用该titling软件包,它将为您处理这些事情,并提供一套全面的定制钩子。

相关内容