LaTeX の記事クラスのタイトルの前に日付を配置する

LaTeX の記事クラスのタイトルの前に日付を配置する

私は記事を書いていて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

結果

これは、必要なものの妥当な複製のようです。これを調整して自動化するのは非常に簡単なはずです。

お役に立てれば幸いです!

関連情報