Regular nodes look like this:
<node> = <separator> File: <fn>, Node: <id1>, (Next: <id2>, )? (Prev: <id3>, )? Up: <id4> <general text, until the next ^_ or end-of-file>
At least one space or tab must be present after each colon and comma, but any number of spaces are ignored. The <id> node identifiers have following format:
<id> = (<lparen><infofile><rparen>)?(<nodename>)?
This <node> defines <id1> in file <fn>, which is typically either ‘manualname’ or ‘manualname.info’. No parenthesized <infofile> component may appear within <id1>.
Each of the identifiers after
refer to nodes or anchors within a file. These pointers normally
refer within the same file, but ‘(dir)’ is often used to point to
the top-level dir file. If an <infofile> component is used then
the node name may be omitted, in which case the node identifier refers
to the ‘Top’ node within the referenced file.
Prev pointers are optional. The
pointer is technically also optional, although most likely this
indicates a mistake in the node structuring. Conventionally, the
nodes are arranged to form a tree, but this is not a requirement of
Node names containing periods, commas, colons or parentheses (including @-commands which produce any of these) can confuse Info readers. See Node Line Requirements.
The use of non-ASCII characters in the names of nodes is permitted, but can cause problems in cross-references between nodes in Info files with different character encodings, and also when node names from many different files are listed (for example, with the --apropos option to the standalone Info browser), so we recommend avoiding them whenever feasible. For example, prefer the use of the ASCII apostrophe character (') to Unicode directional quotes.
The <general text> of the node can include the special constructs described next.