hoge diary - February 6, 2007

[TeX関連] コマンドあるいはマクロが定義されているかを判別する LaTeX マクロ

あるコマンドを \renewcommand しようとして,既に定義されていれば \renewcommand, 未定義なら \newcommand を使うようにしたかったので調べると,\@ifundefined マクロがありました.使用例は以下の通り.この例では,jsarticle や jsbook で定義されている \figurename, \tablename, \appendixname の内容を変更しています.\@ifundefined がアットマークを含むので,これらをプリアンブルに書く場合は \makeatletter, \makeatother で囲む必要があります.

\@ifundefined{figurename}{\newcommand{\figurename}{図}}{\renewcommand{\figurename}{図}}
\@ifundefined{tablename}{\newcommand{\tablename}{表}}{\renewcommand{\tablename}{表}}
\@ifundefined{appendixname}{\newcommand{\appendixname}{付録}}{\renewcommand{\appendixname}{付録}}

コメント

名前(何でも可):

テキスト(http:// を含む内容は投稿できません):

トラックバック

トラックバック URI: https://www.pakunet.jp/hoge/trackback/2007020602

トラックバックはありません.


Valid XHTML 1.1! Valid CSS!
© 2004-2009 ぱくちゃん.
Last modified: Thu Nov 01 01:17:17 JST 2007