/usr/share/doc/texinfo/html/Def-Cmd-Template.html is in texinfo-doc-nonfree 4.13a-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 | <html lang="en">
<head>
<title>Def Cmd Template - GNU Texinfo 4.13</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GNU Texinfo 4.13">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Definition-Commands.html#Definition-Commands" title="Definition Commands">
<link rel="next" href="Def-Cmd-Continuation-Lines.html#Def-Cmd-Continuation-Lines" title="Def Cmd Continuation Lines">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This manual is for GNU Texinfo (version 4.13, 18 September 2008),
a documentation system that can produce both online information and a
printed manual from a single source.
Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995, 1996, 1997,
1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.2 or any later version published by the Free Software
Foundation; with no Invariant Sections, with the Front-Cover Texts
being ``A GNU Manual'', and with the Back-Cover Texts as in (a)
below. A copy of the license is included in the section entitled
``GNU Free Documentation License.''
(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual. Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<a name="Def-Cmd-Template"></a>
<p>
Next: <a rel="next" accesskey="n" href="Def-Cmd-Continuation-Lines.html#Def-Cmd-Continuation-Lines">Def Cmd Continuation Lines</a>,
Up: <a rel="up" accesskey="u" href="Definition-Commands.html#Definition-Commands">Definition Commands</a>
<hr>
</div>
<h3 class="section">16.1 The Template for a Definition</h3>
<p><a name="index-Definition-template-937"></a><a name="index-Template-for-a-definition-938"></a>
The <code>@deffn</code> command is used for definitions of entities that
resemble functions. To write a definition using the <code>@deffn</code>
command, write the <code>@deffn</code> command at the beginning of a line
and follow it on the same line by the category of the entity, the name
of the entity itself, and its arguments (if any). Then write the body
of the definition on succeeding lines. (You may embed examples in the
body.) Finally, end the definition with an <code>@end deffn</code> command
written on a line of its own.
<p>The other definition commands follow the same format: a line with the
<code>@def...</code> command and whatever arguments are appropriate for
that command; the body of the definition; and a corresponding
<code>@end</code> line.
<p>The template for a definition looks like this:
<pre class="example"> @deffn <var>category</var> <var>name</var> <var>arguments</var>...
<var>body-of-definition</var>
@end deffn
</pre>
<p class="noindent">For example,
<pre class="example"> @deffn Command forward-word count
This command moves point forward @var{count} words
(or backward if @var{count} is negative). ...
@end deffn
</pre>
<p class="noindent">produces
<blockquote>
<div class="defun">
— Command: <b>forward-word</b><var> count<a name="index-forward_002dword-939"></a></var><br>
<blockquote><p>This command moves point forward <var>count</var> words
(or backward if <var>count</var> is negative). <small class="dots">...</small>
</p></blockquote></div>
</blockquote>
<p>Capitalize the category name like a title. If the name of the
category contains spaces, as in the phrase `Interactive Command',
enclose it in braces. For example:
<pre class="example"> @deffn {Interactive Command} isearch-forward
...
@end deffn
</pre>
<p class="noindent">Otherwise, the second word will be mistaken for the name of the
entity. As a general rule, when any of the arguments in the heading
line <em>except</em> the last one are more than one word, you need to
enclose them in braces. This may also be necessary if the text
contains commands, for example, ‘<samp><span class="samp">{declaraci@'on}</span></samp>’ if you are
writing in Spanish.
<p>Some of the definition commands are more general than others. The
<code>@deffn</code> command, for example, is the general definition command
for functions and the like—for entities that may take arguments.
When you use this command, you specify the category to which the
entity belongs. Three predefined, specialized variations
(<code>@defun</code>, <code>@defmac</code>, and <code>@defspec</code>) specify the
category for you: “Function”, “Macro”, and “Special Form”
respectively. (In Lisp, a special form is an entity much like a
function.) Similarly, the general <code>@defvr</code> command is
accompanied by several specialized variations for describing
particular kinds of variables.
<p>See <a href="Sample-Function-Definition.html#Sample-Function-Definition">Sample Function Definition</a>, for a detailed example of a
function definition, including the use of <code>@example</code> inside the
definition.
<p><a name="index-Macros-in-definition-commands-940"></a>Unfortunately, due to implementation difficulties, macros are not expanded
in <code>@deffn</code> and all the other definition commands.
</body></html>
|