私は LaTeX 用のドキュメント クラスを書いていますが、これを汎用的なものにしたいと考えています。このドキュメント クラスでは、\maketitle
カスタム タイトル ページを表示するコマンドを再定義し、ここではタイトル、著者などの情報だけでなく、その他の情報も表示したいと考えています。タイトルの表示方法は次のとおりです。
{\LARGE{\bf \@title}}\\
\title
またはと同様に動作する新しいコマンドを作成したいのですが\author
、どうすればよいですか?
ベストアンサー1
を見ると、次のように定義されているlatex.ltx
ことがわかります。\title
\def\title#1{\gdef\@title{#1}}
\def\@title{\@latex@error{No \noexpand\title given}\@ehc}
これらは低レベルの TeX コマンドです。は、に与えられた引数に展開するように\title
再定義するコマンドです。より現代的な LaTeX コマンドでは、独自の定義は次のようになります。\@title
\title
\newcommand\foo[1]{\renewcommand\@foo{#1}}
\newcommand\@foo{\@latex@error{No \noexpand\foo given}\@ehc}
エラーメッセージを表示するには、\PackageError
または を使用することをお勧めします。または、オプションにしてデフォルトで空にしたい場合は、次のようにします。\ClassError
\foo
\newcommand\foo[1]{\renewcommand\@foo{#1}}
\newcommand\@foo{}
これがパッケージの中に入っていない場合は、標識に従って、\makeatletter
との間に置く必要があります。\makeatother
@