@-Command Syntax
****************
The character `@' is used to start special Texinfo commands. (It has
the same meaning that `\' has in plain TeX.) Texinfo has four types of
@-command:
1. Non-alphabetic commands.
These commands consist of an @ followed by a punctuation mark or
other character that is not part of the alphabet. Non-alphabetic
commands are almost always part of the text within a paragraph,
and never take any argument. The two characters (@ and the other
one) are complete in themselves; none is followed by braces. The
non-alphabetic commands are: `@.', `@:', `@*', `@SPACE', `@TAB',
`@NL', `@@', `@{', and `@}'.
2. Alphabetic commands that do not require arguments.
These commands start with @ followed by a word followed by left-
and right-hand braces. These commands insert special symbols in
the document; they do not require arguments. For example,
`@dots{}' => `...', `@equiv{}' => `==', `@TeX{}' => `TeX', and
`@bullet{}' => `*'.
3. Alphabetic commands that require arguments within braces.
These commands start with @ followed by a letter or a word,
followed by an argument within braces. For example, the command
`@dfn' indicates the introductory or defining use of a term; it is
used as follows: `In Texinfo, @@-commands are @dfn{mark-up}
commands.'
4. Alphabetic commands that occupy an entire line.
These commands occupy an entire line. The line starts with @,
followed by the name of the command (a word); for example,
`@center' or `@cindex'. If no argument is needed, the word is
followed by the end of the line. If there is an argument, it is
separated from the command name by a space. Braces are not used.
Thus, the alphabetic commands fall into classes that have different
argument syntaxes. You cannot tell to which class a command belongs by
the appearance of its name, but you can tell by the command's meaning:
if the command stands for a glyph, it is in class 2 and does not
require an argument; if it makes sense to use the command together with
other text as part of a paragraph, the command is in class 3 and must
be followed by an argument in braces; otherwise, it is in class 4 and
uses the rest of the line as its argument.
The purpose of having a different syntax for commands of classes 3 and
4 is to make Texinfo files easier to read, and also to help the GNU
Emacs paragraph and filling commands work properly. There is only one
exception to this rule: the command `@refill', which is always used at
the end of a paragraph immediately following the final period or other
punctuation character. `@refill' takes no argument and does _not_
require braces. `@refill' never confuses the Emacs paragraph commands
because it cannot appear at the beginning of a line.