如何向 \maketitle 添加组件?

如何向 \maketitle 添加组件?

文章和报告的功能\maketitle很有用,但我的情况所需的格式与给出的标准标题不同。我在 Windows 上使用 MiKTeX 的 LaTeX,找到了文章的类和样式文件,但无法完全理解代码。我需要修改:

  • 添加一个名为的组件\class,其工作方式与相同\author
  • 使标题显示在作者、班级和日期下方。
  • 将作者、班级和日期刷新到右侧。

为了说明,我希望能够编写如下的 maketitle 代码:

\documentclass[notitlepage,12pt,Arial]{article}
\author{Me}
\date{April 14, 2015}
\class{1}
\title{Example Title}
\begin{document}
\maketitle
Some Text here.
\end{document}

结果应该类似于以下内容: 使用文字处理器创建的示例

答案1

如果只有一位作者和一个班级(即不使用 \and),那么像这样就足够了:

平均能量损失

\documentclass[11pt]{article}

\makeatletter
\def\class#1{\gdef\@class{#1}}
\def\@class{\@latex@warning@no@line{Hey you, no \noexpand\class given}}
\def\@maketitle{%
  \newpage \null  \vskip 2em%
  \begin{flushright}%
  \let\footnote\thanks
    \vskip 1.5em%
    {\large  \lineskip .5em%
      \begin{tabular}[t]{r@{}}%
        \@author    
     \end{tabular}\par 
      \begin{tabular}[t]{r@{}}%
      {\sffamily \@class}   
     \end{tabular}\par 
  \par}%
    \vskip .5em%
   {\small\@date}\par\bigskip%
    {\LARGE\scshape \@title \par\bigskip\hrule}%
  \end{flushright}%
  \par   \vskip 1.5em}
\makeatother


\title{Some long Wonderfull Title}
\class{UFO affairs\thanks{Area 51}} 
\author{Clever Reporter\thanks{No dot disturb.}}
\date{\today}

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

如果您可以有多个作者和班级,则将表格保留为最初定义的环境(具有一种c列类型)并简单地使用\author{author\\class \and author\\class \and ...}

相关内容