Next: , Previous: HTML Xref Node Name Expansion, Up: HTML Xref


22.4.3 HTML Cross-reference Command Expansion

In standard Texinfo, node names may not contain @-commands. makeinfo has an option --commands-in-node-names which partially supports it (see Invoking makeinfo), but it is not robust and not recommended.

Thus, makeinfo also does not fully implement this part of the HTML cross-reference algorithm, but it is documented here for the sake of completeness.

First, comments are removed.

Next, any @value commands (see set value) and macro invocations (see Invoking Macros) are fully expanded.

Then, for the following commands, the command name and braces are removed, the text of the argument is recursively transformed:

     @asis @b @cite @code @command @dfn @dmn @dotless
     @emph @env @file @indicateurl @kbd @key
     @samp @sc @slanted @strong @t @var @w

For @sc, any letters are capitalized.

The following commands are replaced by constant text, as shown. If any of these commands have non-empty arguments, as in @TeX{bad}, it is an error, and the result is unspecified. `(space)' means a space character, `(nothing)' means the empty string, etc. The notation `U+xxxx' means Unicode code point xxxx. There are further transformations of many of these expansions for the final file or target name, such as space characters to `-', etc., according to the other rules.

@(newline) (space)
@(space) (space)
@(tab) (space)
@! `!'
@* (space)
@- (nothing)
@. `.'
@: (nothing)
@? `?'
@@ `@'
@{ `{'
@} `}'
@LaTeX `LaTeX'
@TeX `TeX'
@bullet U+2022
@comma `,'
@copyright U+00A9
@dots U+2026
@enddots `...'
@equiv U+2261
@error `error-->'
@euro U+20AC
@exclamdown U+00A1
@expansion U+2192
@minus U+2212
@ordf U+00AA
@ordm U+00BA
@point U+2217
@pounds U+00A3
@print `-|'
@questiondown U+00BF
@registeredsymbol U+00AE
@result U+21D2
@tie (space)

An @acronym or @abbr command is replaced by the first argument, followed by the second argument in parentheses, if present. See acronym.

An @email command is replaced by the text argument if present, else the address. See email.

An @image command is replaced by the filename (first) argument. See Images.

A @verb command is replaced by its transformed argument. See verb.

Any other command is an error, and the result is unspecified.