Viewing File: /usr/share/doc/texinfo/html/_0040alias.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This manual is for GNU Texinfo (version 6.7, 23 September 2019),
a documentation system that can produce both online information and a
printed manual from a single source using semantic markup.

Copyright (C) 1988, 1990, 1991, 1992, 1993, 1995, 1996, 1997,
1998, 1999, 2001, 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 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". -->
<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>@alias (GNU Texinfo 6.7)</title>

<meta name="description" content="@alias (GNU Texinfo 6.7)">
<meta name="keywords" content="@alias (GNU Texinfo 6.7)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2any">
<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.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {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}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en">
<span id="g_t_0040alias"></span><div class="header">
<p>
Next: <a href="_0040definfoenclose.html" accesskey="n" rel="next"><code>@definfoenclose</code></a>, Previous: <a href="Macro-Details.html" accesskey="p" rel="prev">Macro Details</a>, Up: <a href="Defining-New-Texinfo-Commands.html" accesskey="u" rel="up">Defining New Texinfo Commands</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>
<span id="g_t_0040alias-new_003dexisting"></span><h3 class="section">17.4 &lsquo;<samp>@alias <var>new</var>=<var>existing</var></samp>&rsquo;</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 &lsquo;<samp>@alias</samp>&rsquo; 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 &lsquo;<samp>@alias</samp>&rsquo; 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&rsquo;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&rsquo;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) &lsquo;<samp>-</samp>&rsquo;.
</p>

<hr>
<div class="header">
<p>
Next: <a href="_0040definfoenclose.html" accesskey="n" rel="next"><code>@definfoenclose</code></a>, Previous: <a href="Macro-Details.html" accesskey="p" rel="prev">Macro Details</a>, Up: <a href="Defining-New-Texinfo-Commands.html" accesskey="u" rel="up">Defining New Texinfo Commands</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>
Back to Directory File Manager