blob: e955152bb47bcedd765e911ae0556fb79a8348ea [file]
<!DOCTYPE html>
<html>
<!-- Created by Texinfo 6.8dev+dev, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!-- This manual is for GNU Texinfo (version 6.8dev, 23 February 2022),
a documentation system that can produce both online information and a
printed manual from a single source using semantic markup.
Copyright (C) 1988, 1990-1993, 1995-1999, 2001-2022 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with no
Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
Texts. A copy of the license is included in the section entitled
"GNU Free Documentation License". -->
<title>HTML Xref Command Expansion (GNU Texinfo 6.8dev)</title>
<meta name="description" content="HTML Xref Command Expansion (GNU Texinfo 6.8dev)">
<meta name="keywords" content="HTML Xref Command Expansion (GNU Texinfo 6.8dev)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2any">
<meta name="viewport" content="width=device-width,initial-scale=1">
<link href="index.html" rel="start" title="Top">
<link href="Command-and-Variable-Index.html" rel="index" title="Command and Variable Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="HTML-Xref.html" rel="up" title="HTML Xref">
<link href="HTML-Xref-8_002dbit-Character-Expansion.html" rel="next" title="HTML Xref 8-bit Character Expansion">
<link href="HTML-Xref-Node-Name-Expansion.html" rel="prev" title="HTML Xref Node Name Expansion">
<style type="text/css">
<!--
div.example {margin-left: 3.2em}
-->
</style>
</head>
<body lang="en">
<div class="subsection-level-extent" id="HTML-Xref-Command-Expansion">
<div class="nav-panel">
<p>
Next: <a href="HTML-Xref-8_002dbit-Character-Expansion.html" accesskey="n" rel="next">HTML Cross-reference 8-bit Character Expansion</a>, Previous: <a href="HTML-Xref-Node-Name-Expansion.html" accesskey="p" rel="prev">HTML Cross-reference Node Name Expansion</a>, Up: <a href="HTML-Xref.html" accesskey="u" rel="up">HTML Cross-references</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<h4 class="subsection" id="HTML-Cross_002dreference-Command-Expansion">21.4.3 HTML Cross-reference Command Expansion</h4>
<a class="index-entry-id" id="index-HTML-cross_002dreferences-3"></a>
<p>Node names may contain @-commands (see <a class="pxref" href="Node-Line-Requirements.html"><code class="code">@node</code> Line Requirements</a>).
This section describes how they are handled.
</p>
<p>First, comments are removed.
</p>
<p>Next, any <code class="code">@value</code> commands (see <a class="pxref" href="_0040set-_0040value.html"><code class="code">@set</code> and <code class="code">@value</code></a>) and
macro invocations (see <a class="pxref" href="Invoking-Macros.html">Invoking Macros</a>) are fully expanded.
</p>
<p>Then, for the following commands, the command name and braces are removed,
and the text of the argument is recursively transformed:
</p>
<div class="example">
<pre class="example-preformatted">@asis @b @cite @code @command @dfn @dmn @dotless
@emph @env @file @i @indicateurl @kbd @key
@samp @sansserif @sc @slanted @strong @sub @sup
@t @U @var @verb @w
</pre></div>
<p>For <code class="code">@sc</code>, any letters are capitalized.
</p>
<p>In addition, the following commands are replaced by constant text, as
shown below. If any of these commands have non-empty arguments, as in
<code class="code">@TeX{bad}</code>, it is an error, and the result is unspecified.
In this table, &lsquo;(space)&rsquo; means a space character and &lsquo;(nothing)&rsquo; means
the empty string. The notation &lsquo;U+<var class="var">hhhh</var>&rsquo; means Unicode code
point <var class="var">hhhh</var> (in hex, as usual).
</p>
<p>There are further transformations of many of these expansions to yield
the final file or other target name, such as space characters to
&lsquo;<samp class="samp">-</samp>&rsquo;, etc., according to the other rules.
</p>
<table class="multitable">
<tbody><tr><td width="30%"><code class="code">@(newline)</code></td><td width="50%">(space)</td></tr>
<tr><td width="30%"><code class="code">@(space)</code></td><td width="50%">(space)</td></tr>
<tr><td width="30%"><code class="code">@(tab)</code></td><td width="50%">(space)</td></tr>
<tr><td width="30%"><code class="code">@!</code></td><td width="50%">&lsquo;<samp class="samp">!</samp>&rsquo;</td></tr>
<tr><td width="30%"><code class="code">@*</code></td><td width="50%">(space)</td></tr>
<tr><td width="30%"><code class="code">@-</code></td><td width="50%">(nothing)</td></tr>
<tr><td width="30%"><code class="code">@.</code></td><td width="50%">&lsquo;<samp class="samp">.</samp>&rsquo;</td></tr>
<tr><td width="30%"><code class="code">@:</code></td><td width="50%">(nothing)</td></tr>
<tr><td width="30%"><code class="code">@?</code></td><td width="50%">&lsquo;<samp class="samp">?</samp>&rsquo;</td></tr>
<tr><td width="30%"><code class="code">@@</code></td><td width="50%">&lsquo;<samp class="samp">@</samp>&rsquo;</td></tr>
<tr><td width="30%"><code class="code">@{</code></td><td width="50%">&lsquo;<samp class="samp">{</samp>&rsquo;</td></tr>
<tr><td width="30%"><code class="code">@}</code></td><td width="50%">&lsquo;<samp class="samp">}</samp>&rsquo;</td></tr>
<tr><td width="30%"><code class="code">@LaTeX</code></td><td width="50%">&lsquo;<samp class="samp">LaTeX</samp>&rsquo;</td></tr>
<tr><td width="30%"><code class="code">@TeX</code></td><td width="50%">&lsquo;<samp class="samp">TeX</samp>&rsquo;</td></tr>
<tr><td width="30%"><code class="code">@arrow</code></td><td width="50%">U+2192</td></tr>
<tr><td width="30%"><code class="code">@bullet</code></td><td width="50%">U+2022</td></tr>
<tr><td width="30%"><code class="code">@comma</code></td><td width="50%">&lsquo;<samp class="samp">,</samp>&rsquo;</td></tr>
<tr><td width="30%"><code class="code">@copyright</code></td><td width="50%">U+00A9</td></tr>
<tr><td width="30%"><code class="code">@dots</code></td><td width="50%">U+2026</td></tr>
<tr><td width="30%"><code class="code">@enddots</code></td><td width="50%">&lsquo;<samp class="samp">...</samp>&rsquo;</td></tr>
<tr><td width="30%"><code class="code">@equiv</code></td><td width="50%">U+2261</td></tr>
<tr><td width="30%"><code class="code">@error</code></td><td width="50%">&lsquo;<samp class="samp">error--&gt;</samp>&rsquo;</td></tr>
<tr><td width="30%"><code class="code">@euro</code></td><td width="50%">U+20AC</td></tr>
<tr><td width="30%"><code class="code">@exclamdown</code></td><td width="50%">U+00A1</td></tr>
<tr><td width="30%"><code class="code">@expansion</code></td><td width="50%">U+21A6</td></tr>
<tr><td width="30%"><code class="code">@geq</code></td><td width="50%">U+2265</td></tr>
<tr><td width="30%"><code class="code">@leq</code></td><td width="50%">U+2264</td></tr>
<tr><td width="30%"><code class="code">@minus</code></td><td width="50%">U+2212</td></tr>
<tr><td width="30%"><code class="code">@ordf</code></td><td width="50%">U+00AA</td></tr>
<tr><td width="30%"><code class="code">@ordm</code></td><td width="50%">U+00BA</td></tr>
<tr><td width="30%"><code class="code">@point</code></td><td width="50%">U+2605</td></tr>
<tr><td width="30%"><code class="code">@pounds</code></td><td width="50%">U+00A3</td></tr>
<tr><td width="30%"><code class="code">@print</code></td><td width="50%">U+22A3</td></tr>
<tr><td width="30%"><code class="code">@questiondown</code></td><td width="50%">U+00BF</td></tr>
<tr><td width="30%"><code class="code">@registeredsymbol</code></td><td width="50%">U+00AE</td></tr>
<tr><td width="30%"><code class="code">@result</code></td><td width="50%">U+21D2</td></tr>
<tr><td width="30%"><code class="code">@textdegree</code></td><td width="50%">U+00B0</td></tr>
<tr><td width="30%"><code class="code">@tie</code></td><td width="50%">(space)</td></tr>
</tbody>
</table>
<p>Quotation mark @-commands (<code class="code">@quotedblright{}</code> and the like),
are likewise replaced by their Unicode values. Normal quotation
<em class="emph">characters</em> (e.g., ASCII &lsquo; and &rsquo;) are not altered.
See <a class="xref" href="Inserting-Quotation-Marks.html">Inserting Quotation Marks</a>.
</p>
<p>Any <code class="code">@acronym</code>, <code class="code">@abbr</code>, <code class="code">@email</code>, and
<code class="code">@image</code> commands are replaced by their first argument. (For
these commands, all subsequent arguments are optional, and ignored
here.) See <a class="xref" href="_0040acronym.html"><code class="code">@acronym</code>{<var class="var">acronym</var>[, <var class="var">meaning</var>]}</a>, and <a class="ref" href="_0040email.html"><code class="code">@email</code>{<var class="var">email-address</var>[, <var class="var">displayed-text</var>]}</a>, and <a class="ref" href="Images.html">Inserting Images</a>.
</p>
<p>Accents are handled according to the next section.
</p>
<p>Any other command is an error, and the result is unspecified.
</p>
</div>
<hr>
<div class="nav-panel">
<p>
Next: <a href="HTML-Xref-8_002dbit-Character-Expansion.html">HTML Cross-reference 8-bit Character Expansion</a>, Previous: <a href="HTML-Xref-Node-Name-Expansion.html">HTML Cross-reference Node Name Expansion</a>, Up: <a href="HTML-Xref.html">HTML Cross-references</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>