Appendix H @-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.


