JezK
Edit File: _0040alias.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <!-- Created by GNU Texinfo 6.8, https://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.8, 8 June 2021), 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-2021 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>@alias (GNU Texinfo 6.8)</title> <meta name="description" content="@alias (GNU Texinfo 6.8)"> <meta name="keywords" content="@alias (GNU Texinfo 6.8)"> <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="Defining-New-Texinfo-Commands.html" rel="up" title="Defining New Texinfo Commands"> <link href="_0040definfoenclose.html" rel="next" title="@definfoenclose"> <link href="Macro-Details.html" rel="prev" title="Macro Details"> <style type="text/css"> <!-- a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} a.summary-letter {text-decoration: none} blockquote.indentedblock {margin-right: 0em} div.display {margin-left: 3.2em} div.example {margin-left: 3.2em} kbd {font-style: oblique} pre.display {font-family: inherit} pre.format {font-family: inherit} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} span.nolinebreak {white-space: nowrap} span.roman {font-family: initial; font-weight: normal} span.sansserif {font-family: sans-serif; font-weight: normal} span:hover a.copiable-anchor {visibility: visible} ul.no-bullet {list-style: none} --> </style> </head> <body lang="en"> <div class="section" id="g_t_0040alias"> <div class="header"> <p> Next: <a href="_0040definfoenclose.html" accesskey="n" rel="next"><code>@definfoenclose</code>: Customized Highlighting</a>, Previous: <a href="Macro-Details.html" accesskey="p" rel="prev">Macro Details and Caveats</a>, Up: <a href="Defining-New-Texinfo-Commands.html" accesskey="u" rel="up">Defining New Texinfo Commands</a> [<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> <span id="g_t_0040alias-new_003dexisting"></span><h3 class="section">16.4 ‘<samp>@alias <var>new</var>=<var>existing</var></samp>’</h3> <span id="alias"></span><span id="index-Aliases_002c-command"></span> <span id="index-Command-aliases"></span> <span id="index-alias"></span> <p>The ‘<samp>@alias</samp>’ command defines a new command to be just like an existing one. This is useful for defining additional markup names, thus preserving additional semantic information in the input even though the output result may be the same. </p> <p>Write the ‘<samp>@alias</samp>’ command on a line by itself, followed by the new command name, an equals sign, and the existing command name. Whitespace around the equals sign is optional and ignored if present. Thus: </p> <div class="example"> <pre class="example">@alias <var>new</var> = <var>existing</var> </pre></div> <p>For example, if your document contains citations for both books and some other media (movies, for example), you might like to define a macro <code>@moviecite{}</code> that does the same thing as an ordinary <code>@cite{}</code> but conveys the extra semantic information as well. You’d do this as follows: </p> <div class="example"> <pre class="example">@alias moviecite = cite </pre></div> <p>Macros do not always have the same effect as aliases, due to vagaries of argument parsing. Also, aliases are much simpler to define than macros. So the command is not redundant. </p> <p>Unfortunately, it’s not possible to alias Texinfo environments; for example, <code>@alias lang=example</code> is an error. </p> <p>Aliases must not be recursive, directly or indirectly. </p> <p>It is not advisable to redefine any TeX primitive, plain TeX, or Texinfo command name as an alias. Unfortunately this is a very large set of names, and the possible resulting errors from TeX are unpredictable. </p> <p><code>makeinfo</code> will accept the same identifiers for aliases as it does for macro names, that is, alphanumerics and (except as the first character) ‘<samp>-</samp>’. </p> </div> <hr> <div class="header"> <p> Next: <a href="_0040definfoenclose.html"><code>@definfoenclose</code>: Customized Highlighting</a>, Previous: <a href="Macro-Details.html">Macro Details and Caveats</a>, Up: <a href="Defining-New-Texinfo-Commands.html">Defining New Texinfo Commands</a> [<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>