Doxygen latest release v1.8.3.1 - last update Sat Aug 24 2013

ユーザ定義コマンド

Doxygen には、たくさんの 特殊コマンドXMLコマンドHTMLコマンドがあります。 これらは、コメントブロックの中でドキュメントを拡張したり構造化するのに使えます。 もし新しいコマンドをユーザが定義する必要に迫られた場合には、エイリアス 定義をすることで代替できます。

エイリアス定義は、設定ファイル内で ALIASES タグを用いて指定します。

単純なエイリアス

最も単純な形式のエイリアスは、次のような代入です。

 name=value

次のエイリアスを定義するとします。

 ALIASES += sideeffect="\par Side Effects:\n" 

これによって、\sideeffect (または @sideeffect)コマンドをドキュメントに置くことができます。その結果、Side Effects:というヘディングのついたユーザ定義の段落ができます。

改行を挿入するには、エイリアスに \n を入れます。

また、既存の特殊コマンドを好みどおりに再定義することも可能です。

\xrefitem のようなコマンドは、エイリアスと一緒に使うよう、設計されています。

引数つきのエイリアス

エイリアスには一つ以上の引数を指定できます。エイリアスの定義において、波括弧内に引数の数を指定します。定義の値部分においては、\x マーカーを置けます。ここで 'x' は1から始まる引数番号です。 一つの引数がある定義を示します。

ALIASES += l{1}="\ref \1"

コメントブロック内で次のように使えます。

/** See \l{SomeClass} for more information. */

これは、次のように書くのと同等です。

/** See \ref SomeClass for more information. */

エイリアスは、複数の引数がついたバージョンでオーバーロードできます。たとえば、

ALIASES += l{1}="\ref \1"
ALIASES += l{2}="\ref \1 \"\2\""

エイリアス定義内の引用符は、バックスラッシュでエスケープしてください。

このようなエイリアス定義によって、コメントブロック内で次のように書けます。

/** See \l{SomeClass,Some Text} for more information. */

これは、次のように展開します。

/** See \ref SomeClass "Some Text" for more information. */

単一の引数のコマンドでも、上記で示したのと同じように働きます。

エイリアスは、他のエイリアスを使っても表現できます。例えば、次の例の新たなコマンド \reminder は、中間に \xreflist を介して、\xrefitem によって表現できます。

ALIASES += xreflist{3}="\xrefitem \1 \"\2\" \"\3\" " \
ALIASES += reminder="\xreflist{reminders,Reminder,Reminders}" \

一つ以上の引数があるエイリアスにおいて、コンマをセパレータに使う場合、コンマをコマンド内に置く場合は、バックスラッシュでエスケープしてください。

\l{SomeClass,Some text\, with an escaped comma} 

このとき、上記の \l のエイリアス定義が必要です。

ユーザ定義コマンドをネストする

エイリアスの引数としてコマンドを使えます。エイリアスを使って定義されたコマンドをも含みます。

例として、次のエイリアス定義を考えてください。

ALIASES += Bold{1}="<b>\1</b>"
ALIASES += Emph{1}="<em>\1</em>"

これにより、コメントブロック内で次のように使えます。

/** This is a \Bold{bold \Emph{and} Emphasized} text fragment. */

は、次のように展開します。

/** This is a <b>bold <em>and</em> Emphasized</b> text fragment. */
のセクションに行く / インデックス に戻る

This page was last modified on Sat Aug 24 2013.
© 1997-2014 Dimitri van Heesch, first release 27 oct 1997.
© 2001 OKA Toshiyuki (Japanese translation).
© 2006-2014 TSUJI Takahiro (Japanese translation).
© 2006-2014 TAKAGI Nobuhisa (Japanese translation).