我正在写一篇文章TeX
并使用article
类。我希望文档日期位于其标题上方,就像本例中那样(文档是这里)。我该如何在article
课堂上做到这一点?有没有办法用命令来做到这一点\maketitle
?
答案1
当您想要修改某个标准命令的行为时,您有两个选择:寻找可以执行此操作的包,或重新定义命令本身。我将在此处采用第二种选择。
该\maketitle
命令在 中定义article.cls
,因此可能值得在那里查看。但是,如果您要多次执行此操作,则可能值得设计自己的类,或者至少设计一个.sty
可以重复使用的文件命令。
长话短说,它在内部\maketitle
使用了另一个命令\@maketitle
,因此您必须重新定义它。我将把它留给您作为练习,让您研究当前的定义(请记住,有两种不同的形式:一种是titlepage
使用该选项时,一种是不使用时),但我建议您执行以下操作:
\documentclass{article}
\makeatletter
\def\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{flushleft}%
\let \footnote \thanks
{\normalsize Federal Reserve Bank of Minneapolis \par}
{\normalsize Research Department Staff Report 328 \par}
\vskip\baselineskip%
{\normalsize Revised \@date \par}
\vskip3\baselineskip%
{\LARGE \textbf{\@title} \par}%
\vskip\baselineskip%
{ \@author \par}%
\vskip 1em%
{\normalsize University of Minnesota \\ and Federal Reserve
Bank of Minneapolis}%
\end{flushleft}%
\par
\vskip 1.5em}
\makeatother
\title{Business Cycle Accounting}
\author{V.~V.~Chari}
\date{December 2006}
\begin{document}
\maketitle
\end{document}
您可能希望定义辅助命令,例如\organization
或,\fedbranch
以帮助实现更多自动化。但上面的命令将为您提供以下内容:
这似乎合理地复制了您的需求。调整和自动化应该非常简单。
希望有帮助!