
私は記事を書いていてTeX
、クラスを使用していますarticle
。この場合のように、タイトルの上に文書の日付を表示したいです(文書はここ)。クラスでこれをどうやって行うのでしょうかarticle
?コマンドを使って行う方法はありますか\maketitle
?
答え1
標準コマンドの動作を変更したい場合、それを実行するパッケージを探すか、コマンド自体を再定義するかの 2 つのオプションがあります。ここでは 2 番目のオプションに従います。
コマンド\maketitle
は で定義されているarticle.cls
ので、そこを確認する価値があるかもしれません。ただし、これを複数回行う場合は、独自のクラスを設計するか、少なくとも.sty
繰り返し使用できるファイルのコマンドを設計する価値があるでしょう。
長い話になりますが\maketitle
、 は内部的に別のコマンド を使用している\@maketitle
ため、それを再定義する必要があります。現在の定義を調べるのは演習として残しておきますが ( のtitlepage
オプションが使用されている場合と使用されていない場合の 2 つの異なる形式があることを覚えておいてください)、次のようなことをすることをお勧めします。
\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
これは、必要なものの妥当な複製のようです。これを調整して自動化するのは非常に簡単なはずです。
お役に立てれば幸いです!