A.3 @-Command Contexts

Here we describe approximately which @-commands can be used in which contexts. It is not exhaustive or meant to be a complete reference. Discrepancies between the information here and the Texinfo processors implementations are most likely to be resolved in favor of the implementations.

By general text below, we mean anything except sectioning and other such outer-level document commands, such as @section, @node, and @setfilename.

@c, @comment and @if ... @end if conditional commands may appear anywhere (except the conditionals must still be on lines by themselves). @caption and @shortcaption may only appear in @float but may contain general text. @footnote content likewise.

@-commands with braces marking text (such as @strong, @sc, @asis) may contain raw formatter commands such as @html but no other block commands (other commands terminated by @end) and may not be split across paragraphs, but may otherwise contain general text.

In addition to the block command restriction, on @center, @exdent and @item in @table lines, @-commands that makes only sense in a paragraph are not accepted, such as @indent.

In addition to the above, sectioning commands cannot contain @anchor, @footnote or @verb.

In addition to the above, remaining commands (@node, @anchor, @printindex, @ref, @math, @cindex, @url, @image, and so on) cannot contain cross-reference commands (@ref, @xref, @pxref and @inforef).

For precise and complete information, we suggest looking into the test suite in the sources, which exhaustively tries combinations.