LaTeXで\titleのようなコマンドを作成するにはどうすればいいですか? 質問する

LaTeXで\titleのようなコマンドを作成するにはどうすればいいですか? 質問する

私は 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@

おすすめ記事