/usr/share/doc/texinfo/html/Defining-New-Texinfo-Commands.html is in texinfo-doc-nonfree 6.5.0-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | <!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.5, 25 August 2017),
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 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 the Front-Cover Texts being "A GNU Manual",
and with the Back-Cover Texts as in (a) below. A copy of the license
is included in the section entitled "GNU Free Documentation
License".
(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
modify this GNU manual. Buying copies from the FSF supports it in
developing GNU and promoting software freedom." -->
<!-- Created by GNU Texinfo 6.4.90, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Defining New Texinfo Commands (GNU Texinfo 6.5)</title>
<meta name="description" content="Defining New Texinfo Commands (GNU Texinfo 6.5)">
<meta name="keywords" content="Defining New Texinfo Commands (GNU Texinfo 6.5)">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Command-and-Variable-Index.html#Command-and-Variable-Index" rel="index" title="Command and Variable Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="index.html#Top" rel="up" title="Top">
<link href="Defining-Macros.html#Defining-Macros" rel="next" title="Defining Macros">
<link href="Conditional-Nesting.html#Conditional-Nesting" rel="prev" title="Conditional Nesting">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {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}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
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">
<a name="Defining-New-Texinfo-Commands"></a>
<div class="header">
<p>
Next: <a href="Include-Files.html#Include-Files" accesskey="n" rel="next">Include Files</a>, Previous: <a href="Conditionals.html#Conditionals" accesskey="p" rel="prev">Conditionals</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html#Command-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Defining-New-Texinfo-Commands-1"></a>
<h2 class="chapter">17 Defining New Texinfo Commands</h2>
<a name="index-Macros"></a>
<a name="index-Defining-new-Texinfo-commands"></a>
<a name="index-New-Texinfo-commands_002c-defining"></a>
<a name="index-Texinfo-commands_002c-defining-new"></a>
<a name="index-User_002ddefined-Texinfo-commands"></a>
<p>Texinfo provides several ways to define new commands (in all cases,
it’s not recommended to try redefining existing commands):
</p>
<ul>
<li> A Texinfo <em>macro</em> allows you to define a new Texinfo command as any
sequence of text and/or existing commands (including other macros). The
macro can have any number of <em>parameters</em>—text you supply each
time you use the macro.
<p>Incidentally, these macros have nothing to do with the <code>@defmac</code>
command, which is for documenting macros in the subject area of the
manual (see <a href="Def-Cmd-Template.html#Def-Cmd-Template">Def Cmd Template</a>).
</p>
</li><li> ‘<samp>@alias</samp>’ is a convenient way to define a new name for an existing
command.
</li><li> ‘<samp>@definfoenclose</samp>’ allows you to define new commands with
customized output for all non-TeX output formats.
</li></ul>
<p>Most generally of all (not just for defining new commands), it is
possible to invoke any external macro processor and have Texinfo
recognize so-called <code>#line</code> directives for error reporting.
</p>
<p>If you want to do simple text substitution, <code>@set</code> and
<code>@value</code> is the simplest approach (see <a href="_0040set-_0040clear-_0040value.html#g_t_0040set-_0040clear-_0040value"><code>@set @clear @value</code></a>).
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">• <a href="Defining-Macros.html#Defining-Macros" accesskey="1">Defining Macros</a>:</td><td> </td><td align="left" valign="top">Defining and undefining new commands.
</td></tr>
<tr><td align="left" valign="top">• <a href="Invoking-Macros.html#Invoking-Macros" accesskey="2">Invoking Macros</a>:</td><td> </td><td align="left" valign="top">Using a macro, once you’ve defined it.
</td></tr>
<tr><td align="left" valign="top">• <a href="Macro-Details.html#Macro-Details" accesskey="3">Macro Details</a>:</td><td> </td><td align="left" valign="top">Limitations of Texinfo macros.
</td></tr>
<tr><td align="left" valign="top">• <a href="_0040alias.html#g_t_0040alias" accesskey="4"><code>@alias</code></a>:</td><td> </td><td align="left" valign="top">Command aliases.
</td></tr>
<tr><td align="left" valign="top">• <a href="_0040definfoenclose.html#g_t_0040definfoenclose" accesskey="5"><code>@definfoenclose</code></a>:</td><td> </td><td align="left" valign="top">Customized highlighting.
</td></tr>
<tr><td align="left" valign="top">• <a href="External-Macro-Processors.html#External-Macro-Processors" accesskey="6">External Macro Processors</a>:</td><td> </td><td align="left" valign="top"><code>#line</code> directives.
</td></tr>
</table>
<hr>
<div class="header">
<p>
Next: <a href="Include-Files.html#Include-Files" accesskey="n" rel="next">Include Files</a>, Previous: <a href="Conditionals.html#Conditionals" accesskey="p" rel="prev">Conditionals</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Command-and-Variable-Index.html#Command-and-Variable-Index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|