@deftypefn
コマンドとその変形は,CやC++のような変数の型と関数を宣
言する必要がある言語の関数を記述するためのものです.
@deftypefn
category data-type name arguments...
@deftypefn
コマンドは,関数と,引数を取るものや型のある類似の構成
要素の定義コマンドです.@deftypefn
は行の最初に書き,同じ行に記述
される構成要素のカテゴリ,戻り値の型,この特定の構成要素の名前と,存在す
る場合引数が続きます.
例えば,以下のようにします.
@deftypefn {Library Function} int foobar (int @var{foo}, float @var{bar}) ... @end deftypefn
(“...”の前のテキストは,二行で表示され,Texinfoファイルでは実際に は単一行です.)Infoでは以下を生成します.
-- Library Function: int foobar (int FOO, float BAR) ...
これは,foobar
が“ライブラリ関数”で,それはint
を返し,引
数はfoo(int
)とbar(float
)だということを意味しま
す.
@deftypefn
で書いた引数名は,暗黙で@var
にはなりません —
@deftypefn
の引数の実際の名前は,データ型名とキーワードで通常はバ
ラバラなので,Texinfoは助けなしに見つけることができません.代わりに,
@var
を引数名の周りに明示的に書く必要があります.上の例では,引数
名は‘foo’と‘bar’です.
@deftypefn
のテンプレートは以下の通りです.
@deftypefn category data-type name arguments ... body-of-description @end deftypefn
categoryやdata typeが1単語以上の場合,単一の引数にするためカッ コで囲む必要があることに注意してください.
Adaのようなパッケージ言語のプロシージャを記述する場合,前の段落で記述さ
れている慣習と幾分反対の方法として,@deftypefn
の使用を手法として
考えるかもしれません.
例えば以下のようにします.
@deftypefn stacks private push (@var{s}:in out stack; @var{n}:in integer) ... @end deftypefn
(@deftypefn
の引数は,三行に分割されていますが,実際のTexinfoファ
イルでは単一行になります.)
この例では,プロシージャは`プロシージャ'と分類するのではなくパッケージ
stacks
に属するものとして分類され,そのデータ型はprivate
と
して記述されます.(プロシージャの名前はpush
で,その引数はs
とnです.)
@deftypefn
はnameに対し関数索引に項目を作成します.
@deftypefun
data-type name arguments...
@deftypefun
コマンドは,型のある言語の関数のための特別な定義コマ
ンドです.そのコマンドは‘@deftypefn Function ...’と同じです.
このため以下のようにします.
@deftypefun int foobar (int @var{foo}, float @var{bar}) ... @end deftypefun
Infoでは以下を生成します.
-- Function: int foobar (int FOO, float BAR) ...
テンプレートは以下の通りです.
@deftypefun type name arguments... body-of-description @end deftypefun
@deftypefun
はnameに対し関数索引に項目を作成します.