タイトル名、著者名の参照

Re: タイトル名、著者名の参照

- 帯田 木偶太 の投稿
返信数: 0
\title や \author は、引数を \@title、\@author に保存します。
※  それ以外しない単純なマクロです。
従って、\@title や \@author を他のコマンドの引数にすれば、
そのマクロで文書タイトルや著者名を取り込めるはずなのですが、
\maketitle が、(使用する文書クラスに依存することですが)
\@title、\@author をクリア(空に再初期化)してしまいます。
そのため、\chead の引数に与えても、実際のヘッダーの出力時には
何も出てきません。

\title、\author が実行された後で、かつ、\maketitle よりも
前に、\@title、\@author を適当な別名で保存しておけばよかろうかと
思います。


複数の文書で使うなら、
%%%%
    \RequirePackage{fancyhdr}\relax
    \AtBeginDocument{%
        \let\x@title=\@title
        \let\x@author=\@author
    }
    \chead{\x@title by\x@author}
    \pagestyle{fancy}
\endinput
%%%%
というような内容のパッケージを適当なファイル名(例えば somepackage.sty とか)で
作成しておき、本文側を次のようにするとよかろうかと。

%%%%
    \documentclass{jarticle}\relax
    \usepackage{somepackage}\relax
    \title{タイトル名}
    \author{著者名}
    \begin{document}
    \maketitle
   
    本文
   
    \verb|\maketitle|のあるページには
    \verb|\pagestyle{fancy}|が適用されないので
    ヘッダーは出力されない。
   
    \clearpage
   
    本文の続き
   
    このページには中央ヘッダーが出力されるはず。
    \end{document}
%%%%