latest release v1.8.11 - last update Sun Aug 15 2021 |
目次
特殊コマンド はじめにドキュメント内のすべてのコマンドは、バックスラッシュ (\)、またはアットマーク (@) で始まります。 お望みであれば、以下のバックスラッシュで始まるすべてのコマンドを、それに対応したアットマークで始まるものに置き換えることができます。 いくつかのコマンドは、1つまたはそれ以上の引数を取ります。 各引数には、ある決まった範囲があります:
上記の識別子のほかに [角] 括弧が使われている場合、引数は省略可能です。 以下は、全コマンドをアルファベット順に整列したリストです (説明への参照付き)。
以下のサブセクションでは、doxygen が認識する全コマンドのリストを説明します。 コマンドとして認識しないものは、通常のテキストとして扱います。
--- 構造指示子 (Structural indicators) ---\addtogroup <名前> [(タイトル)]\defgroup と同様グループを定義しますが、それとは対照的に、 同じ <名前> を2回以上使用しても警告は発せられず、 マージされたドキュメントと、コマンドの引数として最初に見つかったタイトルを持つ 1つのグループが作成されます。 タイトルはオプションです。そこで、このコマンドを使うと、 以下のように /*! \addtogroup mygrp * グループ `mygrp' に追加するドキュメント * @{ */ /*! * 関数 */ void func1() { } /*! 他の関数 */ void func2() { } /*! @} */ 参照: ページ グループ化、セクション \defgroup、 \ingroup および \weakgroup \callgraph このコマンドが関数またはメソッドのコメント・ブロックに指定され、 HAVE_DOT が
参照: セクション \callergraph
\hidecallgraphこのコマンドを、関数やメソッドのコメントブロックに挿入すると、doxygenは呼び出し関係図を生成しません。呼び出し関係図は、CALL_GRAPHの値にかかわらず、生成されません。
\callergraph このコマンドが関数またはメソッドのコメント・ブロックに指定され、 HAVE_DOT が
\hidecallergraphこのコマンドを、関数やメソッドのコメントブロックに挿入すると、doxygenは呼び出し元グラフを生成しません。呼び出し元グラフは、CALLER_GRAPHの値にかかわらず、生成されません。
\category <名前> [<ヘッダーファイル>] [<ヘッダー名>]Objective-C 専用: コメント・ブロックがname <name>という クラスカテゴリーに対するドキュメントを保持していることを示します。 引数は \class コマンドと同じです。 参照: セクション \class \class <名前> [<ヘッダーファイル>] [<ヘッダー名>]<名前> というクラスのドキュメントがコメントブロックに含まれることを指示します。 オプション引数として、ヘッダーファイルとヘッダー名を指定することができます。 ヘッダーファイルが指定されると、その字句通りのコピーへのリンクが HTML ドキュメントに埋め込まれます。 <ヘッダー名> 引数を使用すれば、クラスのドキュメントで用いられているリンクの名前を、<ヘッダーファイル> 以外のもので上書きすることができます。 これは、インクルード名が、デフォルトのインクルードパス(<X11/X.h> など) 上にないような場合に役立ちます。 <ヘッダー名> 引数を使って、インクルード文の見え方を指定することもできます。 それには、名前の囲りに引用符か山括弧を付加します。名前だけの場合は山括弧を使います。後の2つの引数は、\headerfile コマンドでも指定できます。
\def <名前> コメント・ブロックが、
\defgroup <名前> (グループタイトル)コメント・ブロックが、クラス、ファイル、または名前空間の グループ に対するドキュメントを保持していることを指示します。 これを使うと、クラス、ファイル、または名前空間をいくつかのカテゴリに分類した上で、それらのカテゴリにドキュメント付けをすることができます。 また、グループは、他のグループのメンバーとしても使うことができるので、 グループの階層を構築することができます。 <名前> 引数は、単一語の識別子でなければなりません。 参照: ページ グループ化、セクション \ingroup、 \addtogroup、\weakgroup \dir [<パス>]ディレクトリについての記述がコメントブロック内にあることを示します。 引数"パス"には、ディレクトリ名と、プロジェクトで他のディレクトリと 区別のつくユニークなパスを指定してください。 STRIP_FROM_PATH は、フルパスのうち省略する部分を決定します。 \enum <名前> <名前> という列挙型データに対するドキュメントがコメントブロックに含まれることを示します。 列挙型データがクラスのメンバーなのに、そのドキュメントブロックはクラス定義の外側にあるような場合は、クラスのスコープも指定する必要があります。 コメント・ブロックが列挙型データ宣言の直前にある場合は、
\example <ファイル名>ソースコード例に対するドキュメントが、コメントブロックに含まれることを示します。 ソースファイルの名前は <ファイル名> です。 ファイルのテキストは、コメントブロックに含まれるドキュメントの直後に取り込まれます。 例のすべてがリスト化されます。 ソースコードから、解説つきのメンバーやクラスを見つけます。見つかればその名前はドキュメントでクロスリファレンスされます。 doxygen の設定ファイルの EXAMPLE_PATH タグを用いると、ソースファイルまたはディレクトリを指定することができます。 EXAMPLE_PATH タグによって指定された例ファイルの集合に対して、<ファイル名> だけでは一意にファイルを決定できない場合、それを解消するために、絶対パスの一部を含めることができます。 例として、2つ以上のソースファイルが必要な場合は、\include コマンドを使用することができます。
参照: セクション \include \endinternal このコマンドは、\internal コマンドで始まるドキュメント断片の終わりを示します。\internal と \extends [<名前>]cmdextendsは、もともと継承関係の概念をサポートしないプログラミング言語(Cなど)の場合に使えます。 exampleディレクトリの 参照: セクション \implements とセクション \memberof \file [<名前>] <名前> というソースファイルまたはヘッダーファイルの解説がコメントブロックに 含まれることを示します。 ファイル名だけでは一意にならない場合、パス (の一部) を含んでも構いません。 ファイル名が省略された場合 (つまり、
\fn (関数宣言)関数(グローバルまたはクラスのメンバー)の解説がコメントブロックに含まれることを示します。 このコマンドは、コメントブロックが関数宣言・定義の前後に置かれていない場合のみ必要となります。 コメントブロックが関数宣言・定義の前に置かれているのであれば、 このコマンドは省略できます (冗長性を避けるためにもそうすべきです)。
このコマンドは、\var, \typedef, \propertyと同等です。
参照: セクション \var、\property、\typedef \headerfile <ヘッダファイル> [<ヘッダ名>]このコマンドは、クラス、構造体、共用体のドキュメントが定義の前にある場合に使います。 このコマンドの引数は、\cmdclass の第2引数、第3引数と 同じです。 <ヘッダファイル>名は、アプリケーションがインクルードするファイルを指し、 クラス、構造体、共用体の定義を含むファイルです。 <ヘッダ名>引数は、クラスドキュメントで使っているリンクの名前を <ヘッダファイル>とは別の名前で上書きしたいときに使います。 デフォルトのインクルードパス(<X11/X.h>など)にインクルード名がない場合に 有効です。 また、<ヘッダ名>でインクルード文の見え方を指定することもできます。 これには、引用符や山括弧で名前を囲みます。 デフォルトで、名前だけしかない場合は山括弧を使います。 <ヘッダファイル>や<ヘッダ名>に二重引用符が使われると、現在のファイル(コマンドが見つかったファイル)が使われます。 \headerfile test.h "test.h" \headerfile test.h "" \headerfile "" 山括弧を得るには何も指定しなくていいのですが、明示するには以下のどれでも使えます。 \headerfile test.h <test.h> \headerfile test.h <> \headerfile <> デフォルトのインクルード表記をローカルに逆転にするには、FORCE_LOCAL_INCLUDES を \hideinitializerデフォルトでは、define の値および変数の初期化子は、30行を超えないかぎり、表示されます。 define または変数のコメントブロックの中でこのコマンドを使うと、 初期化子は常に非表示になります。初期化子の最大行数は、MAX_INITIALIZER_LINES によって変えることができます。デフォルトは30です。 参照: セクション \showinitializer \idlexcept <名前>コメントブロックに、<名前>という名のIDL例外についての解説があることを示します。 \implements <名前>cmdimplementsは、もともと継承関係の概念をサポートしないプログラミング言語(Cなど)の場合にマニュアルで指定します。 exampleディレクトリの 参照: セクション \implements,\memberof \ingroup (<グループ名> [<グループ名> <グループ名>]) 参照: ページ グループ化、\defgroup、\addtogroup、\weakgroup \interface <名前> [<ヘッダーファイル>] [<ヘッダー名>]<名前> という名のインタフェースの解説が、コメントブロックに含まれることを示します。 引数は、\class コマンドのものと同じです。 参照: セクション \class \internalこのコマンドは、内部専用のドキュメント断片の始まりを示します。断片は、コメントブロックの終わりで自然に終わります。内部セクションは、コマンド \endinternal によって先に終わらせることができます。
内部記述を出すか隠すかは、設定ファイルの INTERNAL_DOCS を使ってください。 参照:セクション \endinternal \mainpage [(タイトル)]
タイトル引数が指定されると、doxygen が生成するデフォルトのタイトルを置換します。 タイトルが不要なら、 以下に例を挙げます: /*! \mainpage 私の個人的なインデックスページ * * \section intro_sec 導入 * * これは導入です * * \section install_sec インストール * * \subsection step1 ステップ1: ボックスを開く * * etc... */
参照: セクション \section、\subsection、\page \memberof <名前>このコマンドは、ある関数をクラスメンバーとして指示できます。\relates と似ていますが、関数をクラスの実メンバーとして表示するのは、このコマンドだけです。 メンバー関数の概念をもともとサポートしていないプログラミング言語(Cなど)で有用です。 \public, \protected, \private と一緒に使うこともできます。 exampleディレクトリの 参照: セクション \extends、\implements、\public、 \protected、 \private \name [(ヘッダー)]このコマンドは、コメントブロックを、メンバーグループのヘッダー定義に変えます。 コメントブロックの後には、グループのメンバーを含む、 例については、セクション メンバーグループ を参照。 \namespace <名前><名前> という名の名前空間の解説がコメントブロックに記述されていることを示します。 \nosubgroupingこのコマンドは、クラスの解説内に指定できます。 メンバーグルーピングとの組み合わせで使用でき、doxygenが、メンバーグループを、Public/Protected/Private/... セクションのサブグループとして配置するのを避けることができます。 参照: セクション \publicsection、 \protectedsection、 \privatesection \overload [(関数宣言)]このコマンドを使うと、オーバーロードされたメンバー関数に対して、 以下のような標準的なテキストが生成されます:
オーバーロードされたメンバー関数に対する解説が、関数宣言・定義の前にない場合は、オプションの引数で、正しく関数指定をする必要があります。 ドキュメントブロック内部にある他のすべてのドキュメントは、 生成されるメッセージの後に追加されます。
\package <名前><名前> という Java パッケージの解説がコメントブロックに記述されていることを 示します。 \page <名前> (タイトル)特定のクラスやファイル、メンバーに直接には関連付けられていない解説の一部が コメントブロックに含まれることを示します。 HTML ジェネレータは、その解説を含むページを作成します。 ジェネレータは、'Page documentation' という章で、 新しいセクションを開始します。
参照: セクション \section、\subsection、\ref \privateこのコマンドは、コメントブロックでドキュメント付けされたメンバーがprivateであることを示します。同じクラス内のメンバーからしかアクセスできないメンバーのことです。 Doxygenは、オブジェクト指向の言語では、メンバーの保護レベルを自動認識します。 このコマンドは、保護レベルの概念をもともとサポートしていない言語(C,PHP 4など)で使うことが目的です。 privateメンバーのセクションの始まりを、C++での"private:"クラスマーカー同様に示すには、\privatesectionを使います。 参照: セクション \memberof、 \public、 \protected、\privatesection \privatesectionC++のクラス識別子"private:"と同様、privateメンバーのセクションの始まりを示します。 コメントブロックでドキュメント付けされたメンバーがprivateであること、つまり同じクラスのメンバーからしかアクセスできないことを示します。 参照:セクション \memberof、 \public、 \protected 、\private \property (qualified property name)プロパティ(グローバルか、クラスメンバーとして)についての記述が コメントブロックに含まれることを示します。 このコマンドは、\fn、\typedef、\var と同義です。 \protectedこのコマンドは、コメントブロックでドキュメント付けされたメンバーがprotectedであることを示します。同じクラスまたは派生クラスのメンバーからしかアクセスできないメンバーのことです。 Doxygenは、オブジェクト指向の言語では、メンバーの保護レベルを自動認識します。 このコマンドは、保護レベルの概念をもともとサポートしていない言語(C,PHP 4など)で使うことが目的です。 protectedメンバーセクションの始まりを、C++での"protected:"クラスマーカー同様に示すには、\protectedsectionを使います。 参照: セクション \memberof、\public、 \private、\protectedsection \protectedsectionC++の"protected:"クラス指定子と同様、protected メンバーの始まりを示します。 コメントブロックでドキュメント付けされたメンバーが、protectedであること、つまり同じクラスか派生クラスのメンバーからしかアクセスできないことを示します。 参照:セクション \memberof、\public、 \private、 \protected \protocol <名前> [<ヘッダーファイル>] [<ヘッダー名>]名前 <name> という名の Objective-C でのプロトコルについての記述がコメント ブロックに含まれることを示します。引数は、\class コマンドと同じです。 参照: セクション \class \publicこのコマンドは、コメントブロックでドキュメント付けされたメンバーがpublicであることを示します。どのクラスや関数からもアクセスできるメンバーのことです。 Doxygenは、オブジェクト指向の言語では、メンバーの保護レベルを自動認識します。 このコマンドは、保護レベルの概念をもともとサポートしていない言語(C,PHP 4など)で使うことが目的です。 publicメンバーセクションの始まりを、C++での"public:"クラスマーカー同様に示すには、\publicsectionを使います。 参照: セクション \memberof、\protected、\private、\publicsection \publicsectionC++の"public:"クラス指定子同様、publicメンバーセクションの始まりを示します。 コメントブロックでドキュメント付けされたメンバーは、public、つまり、他のクラスや関数からアクセス可能であることを示します。 参照:セクション \memberof、\protected、 \private 、\public \pureコメントブロックでドキュメントづけされたメンバーが、pure virtualであることを示します。 つまり、抽象メンバーで、実装されていないことを指します。 このコマンドは、pure virutalメソッドの概念をネイティブにサポートしない言語(C,PHP 4など)にのみ使われます。 \relates <名前>このコマンドは、<名前> という非メンバー関数の解説で使います。 クラスドキュメントの「関連する関数」というセクションに関数を出力します。 フレンドでないにもかかわらず、特定のクラスに強く結び付いている関数に ドキュメントを付けるのに有用です。 これによりファイルにドキュメント付けをする必要性がなくなりますが、 関数にしか機能しません。
\related <名前>\relates と同等です。 \relatesalso <名前>このコマンドは、非メンバー関数 <name> の記述で使えます。これによって、 クラスドキュメントの「関連関数」セクションの中にも、普通のファイルドキュメント にも指定関数を出力します。フレンドでないにもかかわらずあるクラスとのつながりが強い 関数をドキュメント付けするのに有効です。関数にしか機能しません。 \relatedalso <名前>\relatesalso と同等です。 \showinitializerデフォルトでは、define の値および変数の初期化子は、 30行未満の場合しか表示されません。 define または変数のコメントブロックの中でこのコマンドを使うと、 初期化子は無条件に表示されるようになります。 初期化子の最大行数の変更は、MAX_INITIALIZER_LINES で行います。デフォルトは30です。 参照: セクション \hideinitializer \staticコメントブロックでドキュメント付けされたメンバーがstaticであることを示します。 つまり、クラスインスタンスでなく、クラスに対して働くということです。 このコマンドは、staticメソッドの概念をサポートしない言語(Cなど)にのみ使われます。 \struct <名前> [<ヘッダーファイル>] [<ヘッダー名>]<名前> という構造体の解説がコメントブロックに含まれることを示します。 引数は、\class コマンドのものと同じです。 参照: セクション \class \typedef (typedef 宣言)typedef(グローバルまたはクラスメンバー)の解説がコメントブロックに含まれることを示します。 このコマンドは、\fn, \property, \var と等価です。 \union <名前> [<ヘッダーファイル>] [<ヘッダー名>]<名前> という共用体の解説がコメントブロックに含まれることを示します。 引数は、\class コマンドのものと同じです。 参照: セクション \class \var (変数宣言)変数やenum 値(グローバルまたはクラスメンバー)の解説がコメントブロックに含まれることを示します。 このコマンドは、\fn, \property, \typedef と等価です。 参照: セクション \fn、\property、\typedef \vhdlflow [(フローチャートのタイトル)]これは、VHDL 専用のコマンドで、プロセス内のロジックを示すフローチャートを、プロセスのドキュメントに置くことができます。オプションで、フローチャートのタイトルを指定できます。
\weakgroup <名前> [(タイトル)]\addtogroup と全く同様に使用することができますが、 グループ化定義での衝突を解消するという用には優先度が低くなります。 参照: ページ グループ化 および セクション \addtogroup --- セクション指示子 (Section indicators) ---\attention { 注意すべきテキスト } 注意が必要なメッセージを入力するパラグラフを開始します。 パラグラフはインデントされます。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数並んだ \author { 作者のリスト } ひとつ以上の作者名を入力するパラグラフを開始します。 パラグラフはインデントされます。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数並んだ
\authors { 作者のリスト }\author と同等です。 \brief {要約説明} 要約説明の役割をするパラグラフを開始します。 クラスとファイルでは、リストや、ドキュメントページの最初の部分で使われます。 クラスやファイルのメンバーでは、メンバーの宣言箇所に配置されたり、 詳細説明の前に付加されたりします。 要約説明は、複数行にできます(それでも簡潔なほうがよい)。 要約説明は、空行または他のセクション導入コマンドで終わります。 複数の 同義語: \short \bug { バグ記述 } ひとつ以上のバグをリポートするパラグラフを開始します。 パラグラフはインデントされます。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \cond [<セクションラベル>]条件付セクションの始まりを示し、\endcond コマンド(別のコメントブロックに指定します)で終了します。こういった コマンドの組を使う主な目的は、ファイルの一部を処理から(条件付で)除外することです。 (以前のDoxygenでは、これはCプロセッサコマンドでしかできませんでした)
コメントブロック内の条件付セクションの場合は、 \if ... \endif ブロックを使ってください。 条件付セクションはネストできます。この場合ネストしたセクションを出力するには それを内包するセクションとともに含めなければなりません。 コマンド使用例を示します。 /** インターフェース */ class Intf { public: /** メソッド */ virtual void func() = 0; /// @cond TEST /** テストに使うメソッド */ virtual void test() = 0; /// @endcond }; /// @cond DEV /* * インターフェースの実装 */ class Implementation : public Intf { public: void func(); /// @cond TEST void test(); /// @endcond /// @cond /** このメソッドは使わなくなった。 * ドキュメントに出ない。 */ void obsolete(); /// @endcond }; /// @endcond 出力結果は、ENABLED_SECTIONS が 参照:セクション \endcond, ENABLED_SECTIONS \copyright { 著作権の記述 }エンティティの著作権を記述する段落の始まりを示します。 段落はインデントされます。 段落のテキストには、特別な内部構造がありません。 セクション \author にサンプルがあります。 \date { 日時記述 } ひとつ以上の日時を記入するパラグラフを開始します。 パラグラフはインデントされます。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \deprecated { 記述 }ドキュメントブロックが非推奨要素に属することを示すパラグラフの始まりです。 代替や予想有効期間などを記述します。 \details {詳細説明} \brief は要約説明の始まりを, \else前の条件付きセクションが有効でなかった場合に 条件付きセクションを開始します。 前のセクションは、 \if, \ifnot, \elseif のいずれかのコマンドで始まっていなければなりません。 参照: \if、 \ifnot、 \elseif、 \endif \elseif (セクションラベル)前の条件付きセクションが有効でなかった場合に条件付きドキュメント・セクションを開始します。 デフォルトで、条件付きセクションは無効になっています。 有効にするには、設定ファイルの中で ENABLED_SECTIONS タグの後にセクションラベルを置かなければなりません。セクションラベルになりうるのは、セクション名、丸括弧、&& (AND), || (OR) , ! (NOT) などの論理式ビルドです。 条件付きブロックはネストすることができます。 ネストされたセクションは、その外側のセクションもすべて有効になっている場合に限り、有効になります。 参照: セクション \endif、\ifnot、 \else、\elseif \endcond\cond で始まる条件付セクションの終了を示します。 参照: \cond \endif \if か \ifnot で始まった条件付きセクションを終了させます。 \if か \ifnot ひとつに対して、唯一の \exception <例外オブジェクト> { 例外記述 } <例外オブジェクト> という名の例外オブジェクトの例外記述を開始します。 後には、例外についての記述が続きます。 例外オブジェクトが存在するかどうかについては、チェックされません。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \if <セクションラベル>条件付きドキュメント・セクションを開始します。 セクションは、対応する \endif コマンドで終了します。 デフォルトでは、条件付きセクションは無効です。 有効にするには、設定ファイルで、ENABLED_SECTIONS タグの後にセクションラベルを置く必要があります。 セクションラベルになりうるのは、セクション名、丸括弧、&& (AND), || (OR) , ! (NOT) などの論理式ビルドです。式を使うには、
条件付きコマンドをエイリアス内部で使うこともできます。 2つの言語でクラスにドキュメントを付けるには、たとえば、以下のように使います。
そして、 参照: セクション \endif、\ifnot、 \else、and \elseif ENABLED_SECTIONS \ifnot (セクションラベル)条件付きドキュメント・セクションを開始します。 セクションは、対応する \endif で終了します。 この条件付きセクションは、デフォルトで有効です。 無効にするには、設定ファイルで、 ENABLED_SECTIONS タグの後に セクションラベルを置く必要があります。セクションラベルになりうるのは、セクション名、丸括弧、&& (AND), || (OR) , ! (NOT) などの論理式ビルドです。 参照: セクション \endif、\if、 \else、および \elseif ENABLED_SECTIONS \invariant { 不変条件記述 } 実体についての不変条件を記述することのできるパラグラフを開始します。 パラグラフはインデントされます。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \note { テキスト } メモを記述するパラグラフを開始します。 パラグラフはインデントされます。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \par [(パラグラフタイトル)] { パラグラフ }パラグラフタイトルを指定すると、ユーザ定義の見出しを持つパラグラフを開始します。 見出しの範囲は、行の終わりまでです。 このコマンドに後続するパラグラフはインデントされます。 パラグラフタイトルがない場合、新しいパラグラフを開始します。 これは、他のパラグラフコマンド ( パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。
\param [(dir)] <引数名> { 引数説明 }このコマンドは、<引数名> という名前の関数引数の説明の始まりを示し、続いて引数の説明を記述します。 Doxygenは引数の存在をチェックします。引数の説明がなかったり関数の宣言・定義に 見つからない場合、警告を出します。
/*!
バイトを元のメモリ領域から先のメモリ領域へコピーする。
ただし、領域は重ならないものとする。
@param[out] dest コピー先のメモリ領域
@param[in] src コピー元のメモリ領域
@param[in] n コピーするバイト数
*/
void memcpy(void *dest, const void *src, size_t n);
パラメータの説明は特殊な内部構造のない段落です。 視覚効果を高めるすべてのコマンドは段落の中で使うことができます。 複数の コンマで区切ったリストを使えば、一つの \param コマンドだけで、複数の引数をドキュメントにすることができます。例: /** 位置をセットする
@param 3次元空間内のx,y,z 座標
*/
void setPosition(double x,double y,double z,double t)
{
}
PHPでは、タイプ(パイプ記号で区別すれば複数のタイプ)を指定できます。タイプは引数のために(これは定義をするものではないので)許されます。 指定は、phpDocumentorと同様、次のようにします。 @param datatype1|datatype2 $引数名 説明 \parblock単一のパラグラフを引数にとるコマンド(\par, \param and \warning)には、\parblockコマンドを使えば、複数のパラグラフをカバーする説明を始めることができます。終わらせるには、\endparblockを使います。 例: /** 2つのパラグラフからなる説明つきparamコマンド * \param p * \parblock * param説明の最初のパラグラフ * * param説明の2番目のパラグラフ * \endparblock * コメントブロックの残りがこのあと続きます。 */ \endparblockこのコマンドは、\parblockで始まるパラグラフのブロックを終わらせます。 \tparam <テンプレート引数名> { 説明 }このコマンドは、クラスまたは関数の、<テンプレート引数名>という名のテンプレート引数の始まりを示し、引数の説明を後述します。 \cmdparam に少し似ています。 \post { 事後条件記述 } 実体についての事後条件を記述することのできるパラグラフを開始します。 パラグラフはインデントされます。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \pre { 事前条件記述 } 実体についての事前条件を記述することのできるパラグラフを開始します。 パラグラフはインデントされます。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \remark { 注釈のテキスト } 1つ以上の注釈を記述するパラグラフを開始します。 パラグラフはインデントされます。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \remarks { 注釈のテキスト }\remark と同等です。 \result { 結果値の記述 }\return と同等です。 \return { 戻り値の記述 } 関数の戻り値についての記述を開始します。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \returns { 戻り値の記述 }\return と同等です。 \retval <戻り値> { 記述 } <戻り値> という名の関数戻り値についての記述を開始します。 後には、戻り値についての記述が続きます。 記述を構成するパラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \sa { 参照先 } クラス、関数、メソッド、変数、ファイルまたは URL へのクロスリファレンスを 指定するパラグラフを開始します。 2つの名前が 同義語: \see 参照: オブジェクトへのリンクをどのように生成するかということについては、 セクション autolink を参照 "\see"\sa と同じ。JavaDoc との互換性のために用意しています。 \short { 要約説明 }\brief と同等です。 \since { テキスト } このタグは、実体が利用可能になった時期 (バージョンや日時) を指定するのに使われます。 \test { テストケースを記述するパラグラフ }テストケースを記述できるパラグラフを開始します。 この記述により、テストケースは別のテストリストにも追加されます。 記述の2つのインスタンスは、クロスリファレンスされます。 テストリスト内の各テストケースには、そのテストケースの出自を示すヘッダーが付加されます。 \throw <例外オブジェクト> { 例外記述 }同義語: \exception (セクション \exception を参照)
参照:セクション \exception \throws <例外オブジェクト> { 例外記述 }\throw と同等です。 \todo { TODO を記述するパラグラフ }TODO 項目を記述するパラグラフを開始します。 この記述により、別の TODO リストにも項目が追加されます。 記述の2つの例は、クロスリファレンスされます。 TODO リスト内の各項目には、その項目の出自を示すヘッダーが付加されます。 \version { バージョン番号 } 1つ以上のバージョン文字列を記述することのできるパラグラフを開始します。 パラグラフはインデントされます。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \warning { 警告メッセージ } 1つ以上の警告メッセージを記述することのできるパラグラフを開始します パラグラフはインデントされます。 パラグラフのテキストには、特別な内部構造はありません。 すべての視覚的強調コマンドが、パラグラフ内で使用可能です。 複数の \xrefitem <key> "(ヘディング)" "(リストタイトル)" {テキスト}このコマンドは、\todo、\bug などのコマンドの 汎化です。 このコマンドを使って、発生場所と関連ページの間で自動的に相互参照される、ユーザ定義のテキストを作れます。 関連ページでは、同種のセクションすべてが集められます。 最初の引数 <key> はセクションのタイプをユニークに代表するIDです。 第2引数は、セクションのヘディング(4つ目の引数に与えられるテキスト) を代表する引用文字列です。第3引数(リストタイトル)は、同じキーですべての 要素を内包する関連ページのタイトルとなります。キーには、
\xrefitem todo "Todo" "Todo List" 各セクションについてコマンドの3引数を繰り返すと、とても冗長でエラーを 起こしやすくなるので、設定ファイルに ALIASES を指定して それとの組み合わせで使うようにしてください。 たとえば新しいコマンド ALIASES += "reminder=\xrefitem reminders \"Reminder\" \"Reminders\"" \xrefitem コマンドの第2,3引数にはエスケープ引用符を使います。 パラメータ "(heading)" が空文字ならば、ヘディングは生成されません。 \page と共に使ったりします。 /** @page my_errors My Errors * @brief Errors page * * Errors page contents. */ /** \error ERROR 101: ファイルが開かない場合 Check about file system read/write access. */ #define MY_ERR_CANNOT_OPEN_FILE 101 /** \error ERROR 102: ファイルが閉じられない場合 Check about file system read/write access. */ #define MY_ERR_CANNOT_CLOSE_FILE 102 with ALIASES += "error=\xrefitem my_errors \"\" \"\""
--- リンク生成コマンド ---\addindex (テキスト)このコマンドは、 インデックスに (テキスト) を追加します。 \anchor <単語>このコマンドは、\ref コマンドで参照できるドキュメントに、 不可視な名前付きアンカーを埋め込みます。 参照: セクション \ref \cite <ラベル> テキストと、書誌参照リストに、書誌参照を加えます。<ラベル> には、 CITE_BIB_FILES にリストされている .bib ファイルの一つから取り出した、有効な BibTeX ラベルを指定します。 出力するには、参照のフォーマットは、LATEX_BIB_STYLE スタイルで構成できます。他のフォーマットで出力する場合は、固定の参照となります。このコマンドを使うには、 \endlinkこのコマンドは、\link コマンドによって開始されたリンクを終了させます。 参照: セクション \link \link <リンクオブジェクト>doxygen によって自動的に生成されるリンクは、 それが指示しているオブジェクトの名前を、 リンクテキストとして、常に保持しています。
\ref <名前> ["(テキスト)"]名前の付いたセクション、サブセクション、ページ、またはアンカーへの 参照を生成します。 HTML ドキュメントでは、参照コマンドはセクションへのリンクを生成します。 セクションやサブセクションに対しては、セクションのタイトルは、 リンクのテキストとして使用されます。 アンカーに対しては、引用符に囲まれたオプションのテキストか、 それが指定されていなければ、<名前> が使用されます。 ドキュメントでは、参照コマンドは、 セクションに対してセクション番号を生成します。あるいは、 <名前> がアンカーを指示している場合には、 テキストとそれに後続するページ番号を生成します。
\refitem <name>\ref コマンド同様、このコマンドは名前つきセクションへの参照を生成します。 ただし、この参照は、\secreflist で始まり、\endsecreflist で終わるリストの中に現れます。その例は、ページのトップにある showsecreflist に見ることができます。 \secreflistアイテムのインデックスリストを開始します。\refitem によって生成され、名前槻セクションへのリンクとなります。 \endsecreflist\secreflist で始まったインデックスリストを終了します。 \subpage <名前> ["(テキスト)"] このコマンドを使って、ページの階層を作ることができます。同じ構造が、 \defgroup と \ingroup コマンドを 使って作れますが、ページには このコマンドは、\ref に似た振る舞いをします。 <名前>というラベルのページへのリファレンスができ、第2引数を指定すれば リンクテキストが付きます。 これは、ページだけに有効で、ページ間で親子関係を作るというところが \ref コマンドと違います。ここで子のページ(つまりサブページ)には <name> というラベルがつきます。 複数ページを作らずに構造を追加したいときは、 \section コマンドと \subsection コマンドを見てください。
例をあげます。 /*! \mainpage A simple manual 一般情報 このマニュアルは次のセクションに分かれています。 - \subpage intro - \subpage advanced "Advanced usage" */ //----------------------------------------------------------- /*! \page intro 導入 このページは主題への導入です。 次に、\ref advanced "advanced section" へ進んでください。 */ //----------------------------------------------------------- /*! \page advanced Advanced Usage このページは、上級者向けです。 最初に \ref intro "the introduction" を読んでください。 */ \tableofcontentsページの先頭に目次を作ります。すべてのセクションとサブセクションをリストアップします。
\section <セクション名> (セクションタイトル) <セクション名> という名前のセクションを生成します。
\subsection <サブセクション名> (サブセクションタイトル) <サブセクション名> という名前のサブセクションを生成します。
\subsubsection <サブサブセクション名> (サブサブセクションタイトル) <サブサブセクション名> という名前のサブサブセクションを生成します。
\paragraph <パラグラフ名> (パラグラフタイトル)<パラグラフ名>という名のパラグラフを作ります。パラグラフのタイトルは、 第2引数に指定してください。
--- 実例を表示するためのコマンド ---\dontinclude <ファイル名>このコマンドを使えば、ソースファイルを(\include コマンドのように)そのままドキュメントに含めなくても、解析できます。 これは、ソースファイルをいくつかの小部分に分割し、 それらの間にドキュメントを追加したいような場合に、役立ちます。 ソースファイルやディレクトリは、doxygen の設定ファイルで、 EXAMPLE_PATH タグを使うことによって指定できます。 コード断片内にあるクラスおよびメンバーの宣言・定義は、 ソースファイルの一行ごとの記述に対しては、 \line、\skip、\skipline および \until コマンドを使うことによって、 実例の1行またはそれ以上の行が表示されます。 これらのコマンドに対しては、内部的なポインタが使用されます。
あるいは、\snippet コマンドを使えば、ソースファイルの1断片だけを含めることができます。このコマンドを働かせるには、断片にマークする必要があります。 参照: セクション \line、 \skip、 \skipline、\until、\include \include <ファイル名>このコマンドを使うと、ソースファイルをコードブロックとしてインクルードすることができます。 インクルードファイルの名前を引数にとります。 ソースファイルやディレクトリは、doxygen の設定ファイルで、 EXAMPLE_PATH タグを使うことによって指定できます。 EXAMPLE_PATH タグで指定された実例ファイルの集合に対して、 <ファイル名> だけでは一意にファイルを決定できない場合、 それを解決するために、絶対パスの一部を含めることができます。
\include コマンドの主な目的は、 実例ブロックが複数のソースおよびヘッダーファイルから構成されているような場合に、コードの重複を避けることにあります。 ソースファイルの一行ごとの記述に対しては、 \line、\skip、\skipline、 および \until コマンドと共に、\dontinclude コマンドを使用します。 あるいは、\snippet コマンドを使えば、ソースファイルの1断片だけを含めることができます。このコマンドを働かせるには、断片にマークする必要があります。
参照: セクション \example、\dontinclude、\verbatim \includelineno <ファイル名>このコマンドは、\include と同様の働きをしますが、インクルードファイルに行番号を追加します。 参照: セクション \include \line ( パターン )このコマンドは、\include または \dontinclude によって最後にインクルードされた実例を、 非空白行が見つかるまで、一行ずつ検索していきます。 見つかった行が指定のパターンを含んでいる場合、それは出力に書き出されます。 実例の中の現在行を追跡するのに使われる内部的なポインタは、 見つかった非空白行の次の行の先頭 (あるいは、そのような行が見つからない場合は、 実例の末尾) にセットされます。 例については、セクション \dontinclude を参照してください。 \skip ( パターン )このコマンドは、\include または \dontinclude によって最後にインクルードされた実例を、 指定のパターンを含む行が見つかるまで、一行ずつ検索していきます。 実例の中の現在行を追跡するのに使われる内部的なポインタは、 指定パターンを含む行の先頭 (あるいは、パターンが見つからなかった場合は、 実例の末尾) にセットされます。 例については、セクション \dontinclude を参照してください。 \skipline ( パターン )このコマンドは、\include または \dontinclude によって最後にインクルードされた実例を、 指定のパターンを含む行が見つかるまで、一行ずつ検索していきます。 見つかった行は、出力に書き出されます。 実例の中の現在行を追跡するのに使われる内部的なポインタは、 書き出された行の次の行の先頭 (あるいは、パターンが見つからなかった場合は、 実例の末尾) にセットされます。
例については、セクション \dontinclude を参照してください。 \snippet <file-name> ( block_id ) \include コマンドを使えば、ファイル全体をソースコードとして含めることができますが、このコマンドでは、ソースファイルの1断片だけを引用できます。 例えば、次のコマンドをドキュメントにおくと、サブディレクトリに存在する \snippet snippets/example.cpp Adding a resource ファイル名の次のテキストは、断片を特定する名前です。関連する断片ファイル内の引用コードの範囲を区切るために使います。上記の QImage image(64, 64, QImage::Format_RGB32);
image.fill(qRgb(255, 160, 128));
//! [Adding a resource]
document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image));
//! [Adding a resource]
...
ブロックマーカーを含む行は、含められません。したがって、出力は次のようになります。 document->addResource(QTextDocument::ImageResource,
QUrl("mydata://image.png"), QVariant(image));
[block_id] マーカーは、ソースファイルにちょうど2回必要です。 マーカーが要らないソースファイルの断片をインクルードする方法は、\dontinclude セクションにあります。 \until ( パターン )このコマンドは、指定のパターンを含む行が見つかるまで、 \include または \dontinclude によって最後にインクルードされた実例の 全ての行を出力に書き出します。パターンを含む行も書き出されます。 実例の中の現在行を追跡するのに使われる内部的なポインタは、 最後に書き出された行の次の行の先頭 (あるいは、パターンが見つからなかった場合は、 実例の末尾) にセットされます。 例については、セクション \dontinclude を参照してください。 \verbinclude <ファイル名>このコマンドは、ファイル <ファイル名> の字句通りのコピーを、 ドキュメントに取り込みます。 このコマンドは、ファイルをドキュメントにペーストして、 \verbatim と \endverbatim コマンドで囲むことと等価です。 doxygen が検索の対象とするファイルやディレクトリは、 設定ファイルの EXAMPLE_PATH タグによって指定できます。 \htmlinclude <ファイル名>このコマンドは、HTMLドキュメントの中になるように、 ファイル <ファイル名> を取り込みます。 このコマンドは、ファイルをドキュメントにペーストして、 \htmlonly と \endhtmlonly コマンドで囲むことと等価です。 doxygen が検索の対象とするファイルやディレクトリは、 設定ファイルの EXAMPLE_PATH タグによって指定できます。 \latexinclude <ファイル名>このコマンドは、ドキュメントの中になるように、 ファイル <ファイル名> を取り込みます。 このコマンドは、ファイルをドキュメントにペーストして、 \latexonly と \endlatexonly コマンドで囲むことと等価です。 doxygen が検索の対象とするファイルやディレクトリは、 設定ファイルの EXAMPLE_PATH タグによって指定できます。
--- 視覚的強調のためのコマンド ---\a <単語>イタリックスで、引数 <単語> を表示します。 単語を強調するにはこのコマンドを使用します。 実行中のテキスト内のメンバー引数を参照するには、このコマンドを使用してください。
\e、\em と同じです。 複数の単語を強調するには、<em>複数の単語</em>を使います。 \arg { 項目記述 } このコマンドは、一つの引数を取ります。引数は、空行または別の
\li に等価。 \b <単語>ボールドフォントを使用して、引数 <語> を表示します。 <b>word</b> に等価。 複数単語をボールドにしたい場合は、<b>複数単語</b> とします。 \c <単語>タイプライタフォントを使用して、引数 <単語> を表示します。 コードとなる語を参照するために使用します。 <tt>単語</tt> に等価。
\p に等価。 複数単語をタイプライタフォントにしたい場合は、<tt>複数単語</tt> とします。 \code [ '{'<word>'}']
デフォルトで、シンタックスを強調するために推測される言語は、 どの言語を意味しているか内容からは不明瞭な場合(例えばコメントが \code{.py} class Python: pass \endcode \code{.cpp} class Cpp {}; \endcode コードブロックの内容の言語が、doxygenで解析できない場合、doxygenはそのまま表示します。 この動作を明示的に命令したい場合、.unparsedまたはサポートされていない拡張子にしてください。 参照: セクション \endcode、セクション \verbatim \copydoc <link-object><link-object> で指定されたオブジェクトの説明ブロックをコピーして、コマンドの位置に貼り付けます。 ドキュメントブロックを重複して書かないといけない場合にこのコマンドは有用です。、また、継承メンバーの説明を拡張するのにも使えます。 link-objectにはクラスやファイル、グループのメンバー、クラス、名前空間、 グループ、ページ、ファイルが指定でき、この順にチェックされます。 関数、変数、typedefなどのメンバーが指定された場合、それを含むクラス、ファイル、グループにも説明がないと、コピーがうまくいきません。 たとえばクラスメンバーの説明をコピーするとき、次のように説明を入れることができます。 /*! @copydoc MyClass::myfunction() * More documentation. */ メンバーがオーバーロードされていれば、下記のように引数の型も明示的に(空白なし)指定してください。 /*! @copydoc MyClass::myfunction(type1,type2) */ 修飾名が必要かどうかは、説明ブロックが見つかった箇所の内容によります。
\brief \copybrief foo() \details \copydetails foo() コメントブロックの中の要約か詳細か一方だけをコピーするには、\copybrief と \copydetails を見てください。 \copybrief <link-object>このコマンドは、\copydoc に似ていますが、要約説明だけをコピーし、詳細説明はコピーしません。 \copydetails <link-object>このコマンドは、\copydoc に似ていますが、詳細説明だけをコピーし、要約説明はコピーしません。 \docbookonly生成される docbook ドキュメントだけに含ませるための、テキストブロックを始めます。 このブロックは、\enddocbookonly コマンドで終わります。
\dot ["caption"] [<sizeindication>=<size>]dot グラフの有効な説明を含むテキスト要素の始まりを示します。 テキスト要素の終わりは、\enddot で示します。 Doxygen は、テキストをdot に渡し、その結果のイメージ (及びイメージマップ) を出力に含めます。 最初の引数はオプションで、イメージの下に表示するキャプションを指定します。 この引数を指定する際は、空白がなくてもクォートで囲んでください。 キャプションが表示されれ前に取り除かれます。 第2引数もオプションで、イメージの幅か高さを指定します。詳細については、\imageコマンドの、image_sizeindicatorの箇所を参照してください。 グラフのノードは、URL属性を使えばクリック可にできます。 URL値の中で \ref コマンドを使えば、doxygen内の要素にリンクできます。 例を示します。 /*! class B */
class B {};
/*! class C */
class C {};
/*! \mainpage
インラインのdotグラフを使って表現されたクラス関係
\dot
digraph example {
node [shape=record, fontname=Helvetica, fontsize=10];
b [ label="class B" URL="\ref B"];
c [ label="class C" URL="\ref C"];
b -> c [ arrowhead="open", style="dashed" ];
}
\enddot
上のグラフに表示されているクラスはクリックできる(HTML出力で)
*/
\msc ["caption"] [<sizeindication>=<size>]このコマンドは、メッセージシーケンス図についての有効な説明を含むテキスト要素の始まりを示します。 http://www.mcternan.me.uk/mscgen/ で例を見てください。 テキスト要素の終わりは、\endmscで示します。 最初の引数はオプションで、イメージの下に表示するキャプションを指定します。 この引数を指定する際は、空白がなくてもクォートで囲んでください。 キャプションが表示される前に取り除かれます。 第2引数もオプションで、イメージの幅か高さを指定します。詳細については、\imageコマンドの、image_sizeindicatorの箇所を参照してください。
/** 送信側クラス。サーバーにコマンドを送る。
受信側は、Ack()をコールしてコマンドを承認する。
\msc
Sender,Receiver;
Sender->Receiver [label="Command()", URL="\ref Receiver::Command()"];
Sender<-Receiver [label="Ack()", URL="\ref Ack()", ID="1"];
\endmsc
*/
class Sender
{
public:
/** サーバーからの承認 */
void Ack(bool ok);
};
/** 受信側クラス。コマンドを受信して実行する。
コマンド実行の後、受信側は承認を送信する。
\msc
Receiver,Sender;
Receiver<-Sender [label="Command()", URL="\ref Command()"];
Receiver->Sender [label="Ack()", URL="\ref Sender::Ack()", ID="1"];
\endmsc
*/
class Receiver
{
public:
/** サーバーでコマンドを実行 */
void Command(int commandId);
};
\startuml [{file}] ["caption"] [<sizeindication>=<size>]このコマンドは、PlantUMLダイアグラムについての有効な説明を含むテキスト要素の始まりを示します。 http://plantuml.sourceforge.net/ で例を見てください。 テキスト要素の終わりは、\enduml で示します。 \注意 このコマンドを使うには、JavaとPlantUMLのjarファイルをインストールしてください。 jarファイルの位置を PLANTUML_JAR_PATH で指定してください。 最初の引数はオプションで、PlantUMLを、doxygenを動かす前の前処理段階で使用するときに使います。イメージファイルの名前を追加するには、 @startuml{myimage.png} "イメージキャプション" width=5cm Alice -> Bob : Hello @enduml イメージ名が指定されている場合、doxygenは、指定された名前のイメージを生成します。そうでなければ、名前は自動的に選択されます。 第2引数はオプションで、イメージの下に表示するキャプションを指定します。 この引数を指定する際は、空白がなくてもクォートで囲んでください。 キャプションが表示される前に取り除かれます。 第3引数もオプションで、イメージの幅か高さを指定します。詳細については、\imageコマンドの、image_sizeindicatorの箇所を参照してください。
/** Senderクラス。サーバーにコマンドを送信するのに使えます。
受信側は、Ack()関数をコールすることでコマンドを承認します。
\startuml
Sender->Receiver : Command()
Sender<--Receiver : Ack()
\enduml
*/
class Sender
{
public:
/** サーバーからの承認(acknowledgment) */
void Ack(bool ok);
};
/** Receiverクラス。コマンドを受け取って、実行するのに使えます。
コマンドの実行後、受信側は承認(acknowledgment)を送信します。
\startuml
Receiver<-Sender : Command()
Receiver-->Sender : Ack()
\enduml
*/
class Receiver
{
public:
/** Executable a command on the server */
void Command(int commandId);
};
\dotfile <ファイル> ["キャプション"] [<sizeindication>=<size>]<ファイル> から dot によって生成された画像を、ドキュメントに挿入します。 最初の引数は画像のファイル名を指定します。 doxygen は、そのファイルを、DOTFILE_DIRS タグで指定されたパス (またはファイル) の中から探します。 dot ファイルが見つかった場合、それは dot ツールへの入力ファイルとして扱われます。 出来上がった画像は適切な出力ディレクトリに出力されます。 dot ファイル名が空白文字を含む場合は、ファイル名を引用符で囲まなければなりません。 第2引数はオプションで、イメージの下に表示するキャプションを指定します。 この引数を指定する際は、空白がなくてもクォートで囲んでください。 キャプションが表示される前に取り除かれます。 第3引数もオプションで、イメージの幅か高さを指定します。詳細については、\imageコマンドの、image_sizeindicatorの箇所を参照してください。 参照:セクション \dot \mscfile <ファイル> ["キャプション"]mscgenによって<ファイル>から生成されるイメージを、ドキュメントに挿入します。 http://www.mcternan.me.uk/mscgen/ に例があります。 最初の引数に、イメージのファイル名を指定します。 Doxygenは、MSCFILE_DIRS で指定されたパスかファイルの中でファイルを探します。mscファイルが見つかったら、mscgenツールの入力ファイルとして使います。生成したイメージは、正しいディレクトリに出力します。mscファイルの名前に空白が含まれる場合は、("...")のように、引用符で囲む必要があります。 2つ目の引数はオプションで、イメージの下に表示するキャプションを指定します。この引数は、空白が含まれなくても、引用符で囲む必要があります。表示の際には、引用符は省かれます。 参照:セクション\msc \diafile <ファイル> ["キャプション"] [<sizeindication>=<size>]mscgenによって<ファイル>から生成されるイメージを、ドキュメントに挿入します。 最初の引数は画像のファイル名を指定します。 doxygen は、そのファイルを、DOTFILE_DIRS タグで指定されたパス (またはファイル) の中から探します。 dot ファイルが見つかった場合、それは dot ツールへの入力ファイルとして扱われます。 出来上がった画像は適切な出力ディレクトリに出力されます。 dot ファイル名が空白文字を含む場合は、ファイル名を引用符で囲まなければなりません。 参照:セクション \dot 第2引数はオプションで、イメージの下に表示するキャプションを指定します。 この引数を指定する際は、空白がなくてもクォートで囲んでください。 キャプションが表示される前に取り除かれます。 第3引数もオプションで、イメージの幅か高さを指定します。詳細については、\imageコマンドの、image_sizeindicatorの箇所を参照してください。 \e <単語>引数 <単語> をイタリック体で表示します。 このコマンドは、語を強調するために使います。
\a、\em に等価。 複数の単語を強調するには、<em>multiple words</em>のように使ってください。 \em <単語>引数 <単語> をイタリック体で表示します。 このコマンドは、語を強調するために使います。
\a、\em に等価。 複数の単語を強調するには、<em>multiple words</em>のように使ってください。 \endcodeコードブロックを終了します。 参照: セクション \code \enddocbookonly\docbookonly コマンドで始まったテキストブロックを終了します。
\enddot\dotで始まったブロックを終了します。 \endmsc\mscで始まったブロックを終了します。 \enduml\startuml で始まるブロックを終了します。 \endhtmlonly\htmlonly コマンドで始まったテキストブロックを終了します。
\endlatexonly\latexonly コマンドで始まったテキストブロックを終了します。
\endmanonly\manonly コマンドで始まったテキストブロックを終了します。
\endrtfonly\rtfonly で始まるテキストブロックの終了を示します。
\endverbatim\verbatim コマンドで始まったテキストブロックを終了します。
\endxmlonly\xmlonly コマンドで始まったテキストブロックを終了します。
\f$テキスト内の式の開始と終了をマークします。
\f[別の行に中央揃えで表示される、長い式の開始をマークします。 \f]別の行に中央揃えで表示される、長い式の終了をマークします。 \f{環境}{このコマンドは、特定の環境で使う公式の始まりを示します。 \f}このコマンドは、特定の環境で使う公式の終わりを示します。 \htmlonly ["[block]"]生成される HTML ドキュメントにのみ、字句通りにインクルードされるテキストブロックを開始します。 ブロックは、\endhtmlonly コマンドで終了します。 このコマンドは、doxygen にとっては複雑すぎる HTML コード (すなわち、アプレット、Javaスクリプト、特別な属性を必要とする HTML タグ) をインクルードするために使用することができます。 通常、\latexonly と \endlatexonly の間に内容がそのまま挿入されています。 <p>..</p>の外側に現れるべきテーブルやリストのようなブロックスコープがあるようなHTML断片を挿入しようとすると、無効なHTMLとなる可能性があります。 doxygenに現在の段落を終了させ、\endhtmlonlyの後ろで再開始させるには、\htmlonly[block] を使うことができます。 注: ($(HOME) のような) 環境変数は、HTML-only なブロックの内部で解釈されます。
\image <format> <file> ["キャプション"] [<sizeindication>=<size>]ドキュメントに画像を挿入します。 このコマンドは、フォーマットを認識します。 したがって、一つの画像を複数フォーマットで挿入したい場合は、 フォーマットごとにこのコマンドを繰り返さなければなりません。 最初の引数で、画像を埋め込む場合の出力フォーマットを指定します。 現在のところ、以下の値がサポートされています。 2番目の引数で、画像のファイル名を指定します。 doxygen は、IMAGE_PATH タグの後に指定したパス (またはファイル) の中から、ファイルを探し出します。 画像が見つかると、それは、現在の出力ディレクトリにコピーされます。 画像名が空白文字を含んでいる場合は、引用符 ("...") で囲む必要があります。 ファイル名のかわりに絶対 URL を指定することもできます。しかし、その場合、 doxygen は、画像のコピーも存在チェックもしません。 3番目の引数はオプションです。これを使うと、 画像の下に表示されるキャプションを指定することができます。 この引数は、1行に記述し、かつ空白文字を全く含まない場合であっても、 引用符で囲まなければなりません。 引用符は、キャプションが表示される前に取り除かれます。 4番目の引数もオプションです。これを使うと、 画像の幅や高さを指定することができます。 これは、 や docbook 出力 (つまり format=
サイズは、 において有効なサイズ指定である必要があります (たとえば、 下は、コメント・ブロックの例です: /*! 私の新アプリケーションのスナップショット * \image html application.jpg * \image latex application.eps "私のアプリケーション" width=10cm */ また、下は、設定ファイルの関連部分の例です: IMAGE_PATH = my_image_dir
\latexonly生成される ドキュメントにのみ、 字句通りにインクルードされるテキストブロックを開始します。 ブロックは、\endlatexonly コマンドで終了します。 このコマンドは、doxygen にとっては複雑すぎる コード (すなわち、画像、式、特殊文字) をインクルードするために使用することができます。 適切な HTML の代替物を提供するために、 \htmlonly と \endhtmlonly のペアを使うことができます。 注: ($(HOME) のような) 環境変数は、-only なブロックの内部で解釈されます。
\manonlyテキストブロックの始まりを示し、MAN ドキュメントだけに そのまま出力されます。ブロックは、\endmanonly コマンドで終わります。 このコマンドは、MAN ページに直接 groff コードを含めるのに使えます。 \htmlonly, \latexonly, \endhtmlonly, \endlatexonly を組み合わせれば、 HTML と の適切な代替となりえます。 参照: セクション \htmlonly, \xmlonly, \rtfonly, \latexonly, docbookonly \li { 項目記述 } このコマンドは、一つの引数を取ります。引数は、空行または別の
\arg に等価。 \n 強制的に改行します。<br> と等価で、 \p <単語>タイプライタフォントを使用して、引数 <語> を表示します。 このコマンドを使用すると、 実行中のテキスト内のメンバー関数の引数を参照することができます。
\c に等価。 複数の単語をタイプライタフォントにするには、<tt>複数の単語</tt>のようにしてください。 \rtfonly生成されるRTFドキュメントにのみ、逐語的に含まれるべきテキストブロックの始まりを指示します。ブロックは、\endrtfonly コマンドで終了します。 このコマンドは、doxygenにとっては複雑すぎるRTFコードを含めるのに使えます。 メモ: $(HOME)のような環境変数は、RTFのみのブロック内部で解決されます。 参照:セクション \manonly, \xmlonly, \latexonly, \htmlonly, \docbookonly \verbatimドキュメント内に文字通りに含めたいテキストブロックを開始します。 このブロックは、\endverbatim コマンドで終了する必要があります。 verbatim ブロック内では、すべてのコマンドが無効となります。
\xmlonly生成されるXML出力にのみ、逐語的に含まれるべきテキストブロックの始まりを示します。 ブロックは、\endxmlonly コマンドで終了します。 このコマンドは、カスタムXMLタグを含めるのに使えます。 参照: セクション \manonly, \rtfonly, \latexonly, \htmlonly, \docbookonly \\このコマンドは、出力に、バックスラッシュ文字 ( \@ このコマンドは、出力に、アットマーク ( \~[LanguageId] このコマンドは言語特定フィルタの有効無効を指定します。 これを使えば、1コメントブロック中に違う言語での解説を入れて、 特定の言語を OUTPUT_LANGUAGE タグでフィルタリングするのに使えます。 特定の言語の出力だけをさせるには 例: /*! \~english This is english \~dutch Dit is Nederlands \~german Dieses ist deutsch. \~ output for all languages. */ \& このコマンドは、 \$ このコマンドは、 \# このコマンドは、 \< このコマンドは、 \> このコマンドは、 \% このコマンドは、 \" このコマンドは、 \. このコマンドは、ドット( \:: このコマンドは、出力に ダブルコロン ( \|このコマンドは、パイプ記号 (|) を出力に書き込みます。 この文字は、エスケープしなければならないケースもあります。Markdown テーブルに使えるからです。 \--このコマンドは、出力に2つのダッシュ(--)を書き込みます。 一つのnダッシュ文字(–)の代わりに、2つの連続したダッシュを書き込むことが可能になります。 \---このコマンドは、出力に3つのダッシュ(-–)を書き込みます。 一つのmダッシュ文字(—)の代わりに、3つの連続したダッシュを書き込むことが可能になります。 --- Qt との互換性のために存在するコマンド ---以下のコマンドは、 Qt クラスブラウザジェネレータとの互換性を維持するためにサポートされています。 これらのコマンドをユーザ自身のドキュメントでは使わないでください。
次 のセクションに行く / インデックス に戻る
|
|
This page was last modified on Sun Aug 15 2021.
© 1997-2021 Dimitri van Heesch, first release 27 oct 1997.
© 2001 OKA Toshiyuki (Japanese translation). © 2006-2021 TSUJI Takahiro (Japanese translation). © 2006-2014 TAKAGI Nobuhisa (Japanese translation). |