@deffn
コマンドは,関数に似ている構成要素の定義に使用されます.
@deffn
コマンドで定義を書くために,@deffn
コマンドを行の最
初に書き,同じ行に構成要素のカテゴリ,構成要素自身の名前と,(存在する場
合は)引数を続けてください.そして,続く行に定義の本体を書いてください.
(本体に例を埋め込むこともできます.)終りに,単独行に書かれた@end
deffn
コマンドで定義を終えてください.(他の定義コマンドも同じ書式が続き
ます.)
定義のテンプレートは以下のようになります.
@deffn category name arguments... body-of-definition @end deffn
例えば,以下のようにします.
@deffn Command forward-word count このコマンドは,ポイントを@var{count}語前に(または,@var{count}が 負の場合は後ろに)移動します....@end deffn
以下を生成します.
タイトルのようなカテゴリ名は大文字にしてください.`Interactive Command' といった文節のようにカテゴリ名に空白が含まれている場合,周りにカッコを書 いてください.例えば以下のようにします.
@deffn {Interactive Command} isearch-forward ... @end deffn
そうしない場合,二番目の単語は構成要素の名前と誤解されます.
定義コマンドには,それ以外に一般的なものもあります.例えば,
@deffn
コマンドは関数やそれに似たもの — 引数を取る構成要素 —
に対する一般的な定義コマンドです.このコマンドを使用するときは,構成要素
が属するカテゴリを指定すべきです.@deffn
コマンドには,三つの既に
定義されている専門的な変種の,@defun
,@defmac
,そして
@defspec
を処理し,それらはカテゴリを指定します.それぞれ“関数”,
“マクロ”,そして“スペシャルフォーム”です.(Lispではスペシャルフォー
ムは関数に似た構成要素です.) @defvr
コマンドも,変数の特定の種類
を記述するため専門分野に相違のあるものとして,前もって定義されたものがあ
ります.
@defun
のような専門的に定義されているものに対するテンプレートは,
カテゴリを指定する必要が無い以外,一般の定義のテンプレートに似ています.
@defun name arguments... body-of-definition @end defun
このため以下のようにします.
@defun buffer-end flag この関数は@var{flag}が1より小さい場合@code{(point-min)}を返し,そ れ以外では@code{(point-max)}を返します.... @end defun
以下を生成します.
定義の内部に@example
の使用を含んでいる関数定義の詳細な例は,
See Sample Function Definition.
それ以外の特別なコマンドは,@defun
のように動作します.
実装が困難なため,@deffn
内部とそれ以外のすべての定義コマンドの内
部にあるマクロは展開されないことに注意してください.