[latexrefman-commits] [SCM] latexrefman updated: r1083 - trunk
Karl Berry
INVALID.NOREPLY at gnu.org.ua
Fri May 13 17:44:52 CEST 2022
Author: karl
Date: 2022-05-13 15:44:52 +0000 (Fri, 13 May 2022)
New Revision: 1083
Modified:
trunk/ChangeLog
trunk/latex2e.html
trunk/latex2e.info
trunk/latex2e.pdf
trunk/latex2e.texi
Log:
\(re)newcommand optional arguments description
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2022-01-26 23:01:41 UTC (rev 1082)
+++ trunk/ChangeLog 2022-05-13 15:44:52 UTC (rev 1083)
@@ -1,3 +1,10 @@
+2022-05-13 Karl Berry <karl at freefriends.org>
+
+ * latex2e.texi (\newcommand & \renewcommand): had an extra
+ [@var{nargs}] in synopsis. Report from Vladimir Ivanovic,
+ 11 May 2022. Also correct and (hopefully) clarify optional
+ argument description.
+
2022-01-26 Karl Berry <karl at freefriends.org>
* latex2e-es.xml: remove bogus CR characters. CTAN complained.
Modified: trunk/latex2e.html
===================================================================
--- trunk/latex2e.html 2022-01-26 23:01:41 UTC (rev 1082)
+++ trunk/latex2e.html 2022-05-13 15:44:52 UTC (rev 1083)
@@ -3328,7 +3328,8 @@
(see <a href="#g_t_005cenlargethispage"><code>\enlargethispage</code></a>).
</p>
<p>The <code>\flushbottom</code> state is the default only if you select the
-<code>twoside</code> document class option (see <a href="#Document-class-options">Document class options</a>).
+<code>twocolumn</code> document class option (see <a href="#Document-class-options">Document class options</a>),
+and for indexes made using <code>makeidx</code>.
</p>
<hr>
@@ -10796,9 +10797,10 @@
<span id="index-commands_002c-defining-new-ones"></span>
<span id="index-commands_002c-redefining"></span>
<span id="index-defining-a-new-command"></span>
+<span id="index-redefining-a-command"></span>
<span id="index-new-commands_002c-defining"></span>
-<p>Synopses, one of:
+<p>Synopses, one of (three regular forms, three starred forms):
</p>
<div class="example">
<pre class="example">\newcommand{\<var>cmd</var>}{<var>defn</var>}
@@ -10809,10 +10811,11 @@
\newcommand*{\<var>cmd</var>}[<var>nargs</var>][<var>optargdefault</var>]{<var>defn</var>}
</pre></div>
-<p>or one of these.
+<p>or all the same possibilities with <code>\renewcommand</code> instead of
+<code>\newcommand</code>:
</p>
<div class="example">
-<pre class="example">\renewcommand{\<var>cmd</var>}[<var>nargs</var>]{<var>defn</var>}
+<pre class="example">\renewcommand{\<var>cmd</var>}{<var>defn</var>}
\renewcommand{\<var>cmd</var>}[<var>nargs</var>]{<var>defn</var>}
\renewcommand{\<var>cmd</var>}[<var>nargs</var>][<var>optargdefault</var>]{<var>defn</var>}
\renewcommand*{\<var>cmd</var>}{<var>defn</var>}
@@ -10820,26 +10823,26 @@
\renewcommand*{\<var>cmd</var>}[<var>nargs</var>][<var>optargdefault</var>]{<var>defn</var>}
</pre></div>
-<p>Define or redefine a command (see also the discussion of
-<code>\DeclareRobustCommand</code> in <a href="#Class-and-package-commands">Class and package commands</a>).
+
+<p>Define or redefine a command (see also <code>\DeclareRobustCommand</code> in
+<a href="#Class-and-package-commands">Class and package commands</a>).
</p>
<span id="index-starred-form_002c-defining-new-commands"></span>
<span id="index-_002a_002dform_002c-defining-new-commands"></span>
<span id="index-_005clong"></span>
<p>The starred form of these two forbids the arguments from containing
-multiple paragraphs of text (in plain TeX terms, the commands
+multiple paragraphs of text (in plain TeX terms: the commands
are not <code>\long</code>). With the default form, arguments can be
multiple paragraphs.
</p>
-<p>These are the parameters:
+<p>These are the parameters (examples follow):
</p>
<dl compact="compact">
<dt><span><var>cmd</var></span></dt>
-<dd>
-<p>Required; <code>\<var>cmd</var></code> is the command name. It must begin with a backslash, <code>\</code>,
-and must not begin with the four character string <code>\end</code>. For
-<code>\newcommand</code>, it must not be already defined. For
-<code>\renewcommand</code>, this name must already be defined.
+<dd><p>Required; <code>\<var>cmd</var></code> is the command name. It must begin with a
+backslash, <code>\</code>, and must not begin with the four character string
+<code>\end</code>. For <code>\newcommand</code>, it must not be already defined.
+For <code>\renewcommand</code>, this name must already be defined.
</p>
</dd>
<dt><span><var>nargs</var></span></dt>
@@ -10850,41 +10853,55 @@
different number of arguments than the old version.
</p>
</dd>
-<dt><span><var>optargdefault</var></span></dt>
-<dd><p>Optional; if this argument is present then the first argument of
+<dt id='index-optional-arguments_002c-defining-and-using'><span><var>optargdefault</var><a href='#index-optional-arguments_002c-defining-and-using' class='copiable-anchor'> ¶</a></span></dt>
+<dd><span id="index-arguments_002c-optional_002c-defining-and-using"></span>
+<p>Optional; if this argument is present then the first argument of
<code>\<var>cmd</var></code> is optional, with default value <var>optargdefault</var>
-(which may be the empty string). If <var>optargsdefault</var> is not present
+(which may be the empty string). If <var>optargdefault</var> is not present
then <code>\<var>cmd</var></code> does not take an optional argument.
</p>
-<span id="index-positional-parameter"></span>
-<p>That is, if <code>\<var>cmd</var></code> is used with square brackets, as in
-<code>\<var>cmd</var>[<var>optval</var>]{...}...</code>, then within <var>defn</var> the
-parameter <code>#1</code> is set to the value of <var>optval</var>. On the
-other hand, if <code>\<var>cmd</var></code> is called without the square brackets
-then within <var>defn</var> the parameter <code>#1</code> is set to the value of
-<var>optargdefault</var>. In either case, the required arguments start with
-<code>#2</code>.
+<p>That is, if <code>\<var>cmd</var></code> is called with a following argument in
+square brackets, as in <code>\<var>cmd</var>[<var>optval</var>]{...}...</code>, then
+within <var>defn</var> the parameter <code>#1</code> is set to <var>optval</var>.
+On the other hand, if <code>\<var>cmd</var></code> is called without following
+square brackets then within <var>defn</var> the parameter <code>#1</code> is set
+to <var>optargdefault</var>. In either case, the required arguments start
+with <code>#2</code>.
</p>
-<p>Omitting <code>[<var>optargdefault</var>]</code> is different from having the
-square brackets with no contents, as in <code>[]</code>. The former sets
-<code>#1</code> to the value of <var>optargdefault</var>; the latter sets <code>#1</code>
-to the empty string.
+<p>Omitting <code>[<var>optargdefault</var>]</code> from the definition is entirely
+different from giving the square brackets with empty contents, as in
+<code>[]</code>. The former says the command being defined takes no
+optional argument, so <code>#1</code> is the first required argument (if
+<em class='math'><var>nargs</var> ≥ 1</em>); the latter sets the optional argument
+<code>#1</code> to the empty string as the default, if no optional argument
+was given in the call.
</p>
+<p>Similarly, omitting <code>[<var>optval</var>]</code> from a call is also entirely
+different from giving the square brackets with empty contents. The
+former sets <code>#1</code> to the value of <var>optval</var> (assuming the
+command was defined to take an optional argument); the latter sets
+<code>#1</code> to the empty string, just as with any other value.
+</p>
+<p>If a command is not defined to take an optional argument, but is
+called with an optional argument, the results are unpredictable: there
+may be a LaTeX error, there may be incorrect typeset output, or both.
+</p>
</dd>
-<dt><span><var>defn</var></span></dt>
+<dt id='index-parameters_002c-substituting'><span><var>defn</var><a href='#index-parameters_002c-substituting' class='copiable-anchor'> ¶</a></span></dt>
<dd><p>Required; the text to be substituted for every occurrence of
<code>\<var>cmd</var></code>. The parameters <code>#1</code>, <code>#2</code>,
-... <code>#<var>nargs</var></code> are replaced by the values that you supply when
-you call the command (or by the default value if there is an optional
-argument and you don’t exercise the option).
+…, <code>#<var>nargs</var></code> are replaced by the values supplied when
+the command is called (or by <var>optargdefault</var> in the case of an
+optional argument not specified in the call, as just explained).
</p>
</dd>
</dl>
+<span id="index-blanks_002c-after-control-sequences"></span>
<p>TeX ignores blanks in the source following a control word
-(see <a href="#Control-sequences">Control sequence, control word and control symbol</a>), as in ‘<samp>\cmd </samp>’. If you actually want a
-space there, one solution is to type <code>{}</code> after the command
-(‘<samp>\cmd{} </samp>’, and another solution is to use an explicit control
+(see <a href="#Control-sequences">Control sequence, control word and control symbol</a>), as in ‘<samp>\cmd </samp>’. If you want a space
+there, one solution is to type <code>{}</code> after the command
+(‘<samp>\cmd{} </samp>’), and another solution is to use an explicit control
space (‘<samp>\cmd\ </samp>’).
</p>
<p>A simple example of defining a new command:
@@ -10892,14 +10909,15 @@
replaced by the longer text. Redefining an existing command is similar:
<code>\renewcommand{\qedsymbol}{{\small QED}}</code>.
</p>
-<p>If you try to define a command and the name has already been used then
-you get something like ‘<samp>LaTeX Error: Command \fred already
-defined. Or name \end... illegal, see p.192 of the manual</samp>’. If you try
-to redefine a command and the name has not yet been used then you get
-something like ‘<samp>LaTeX Error: \hank undefined</samp>’.
+<p>If you use <code>\newcommand</code> and the command name has already been
+used then you get something like ‘<samp>LaTeX Error: Command \fred
+already defined. Or name \end... illegal, see p.192 of the manual</samp>’.
+Similarly, If you use <code>\renewcommand</code> and the command name has
+not been defined then you get something like ‘<samp>LaTeX Error: \hank
+undefined</samp>’.
</p>
<p>Here the first definition creates a command with no arguments, and the
-second, one with one required argument.
+second, a command with one required argument:
</p>
<div class="example">
<pre class="example">\newcommand{\student}{Ms~O'Leary}
@@ -10932,12 +10950,12 @@
I employ \lawyers[Howe]{Dewey}{Cheatem}.
</pre></div>
-<p>The output is ‘<samp>I employ Dewey, Cheatem, and Howe</samp>’. The optional
-argument, the <code>Howe</code>, is associated with <code>#1</code>, while
+<p>The output is ‘<samp>I employ Dewey, Cheatem, and Howe.</samp>’. The optional
+argument, <code>Howe</code>, is associated with <code>#1</code>, while
<code>Dewey</code> and <code>Cheatem</code> are associated with <code>#2</code>
and <code>#3</code>. Because of the optional argument,
-<code>\lawyers{Dewey}{Cheatem}</code> will give the output ‘<samp>I employ
-Dewey, Cheatem, and company</samp>’.
+<code>\lawyers{Dewey}{Cheatem}</code> will give the output ‘<samp>I
+employ Dewey, Cheatem, and company.</samp>’.
</p>
<p>The braces around <var>defn</var> do not define a group, that is, they do not
delimit the scope of the result of expanding <var>defn</var>. For example,
@@ -10947,9 +10965,9 @@
<pre class="example">The \shipname{Monitor} met the \shipname{Merrimac}.
</pre></div>
-<p>the words ‘<samp>met the</samp>’ would incorrectly be in italics. The solution
-is to put another pair of braces inside the definition:
-<code>\newcommand{\shipname}[1]{{\it #1}}</code>.
+<p>the words ‘<samp>met the</samp>’, and the period, would incorrectly be in
+italics. The solution is to put another pair of braces inside the
+definition: <code>\newcommand{\shipname}[1]{{\it #1}}</code>.
</p>
<ul class="section-toc">
@@ -10963,28 +10981,35 @@
</div>
<span id="Control-sequence_002c-control-word-and-control-symbol"></span><h4 class="subsection">12.1.1 Control sequence, control word and control symbol</h4>
-<p>When reading input TeX converts the sequences of read characters into
-a sequence of <em>tokens</em>. When TeX sees a backslash <code>\</code>, it
-will handle the following characters in a special way in order to make a
-<em>control sequence</em> token.
+<span id="index-control-sequences"></span>
+
+<p>When reading input TeX converts sequences of read characters into a
+sequence of <em>tokens</em>. When TeX sees a backslash <code>\</code>, it
+will handle the following characters in a special way in order to make
+a <em>control sequence</em> token.
</p>
<p>The control sequences fall into two categories:
</p>
<ul>
-<li> <em>control word</em>, when the control sequence is gathered from a
-<code>\</code> followed by at least one ASCII letter, followed by at least one
-blank. The sequence of at least one ASCII letter is called the
-<em>control sequence name</em>.
-</li><li> <em>control symbol</em>, when the control sequence is gathered from a
+<li> <span id="index-control-word_002c-defined"></span>
+<em>control word</em>, when the control sequence is gathered from a
+<code>\</code> followed by at least one ASCII letter (<code>A-Z</code> and
+<code>a-z</code>), followed by at least one non-letter.
+
+</li><li> <span id="index-control-symbol_002c-defined"></span>
+<em>control symbol</em>, when the control sequence is gathered from a
<code>\</code> followed by one non-letter character.
</li></ul>
+<p>The sequence of characters so found after the <code>\</code> is also called
+the <em>control sequence name</em>.
+</p>
<p>Blanks after a control word are ignored and do not produce any
whitespace in the output (see <a href="#g_t_005cnewcommand-_0026-_005crenewcommand"><code>\newcommand</code> & <code>\renewcommand</code></a> and
<a href="#g_t_005c_0028SPACE_0029">Backslash-space, <code>\ </code></a>).
</p>
-<p>Just as the <code>\relax</code> command does nothing, the following will print
-‘<samp>Hello!</samp>’:
+<p>Just as the <code>\relax</code> command does nothing, the following input
+will simply print ‘<samp>Hello!</samp>’ :
</p>
<div class="example">
<pre class="example">Hel\relax <!-- /@w --> <!-- /@w --> <!-- /@w -->
@@ -10991,7 +11016,7 @@
<!-- /@w --> <!-- /@w --> <!-- /@w -->lo!
</pre></div>
-<p>This is because blanks after <code>\relax</code>, including the newline are
+<p>This is because blanks after <code>\relax</code>, including the newline, are
ignored, and blanks at the beginning of a line are also ignored
(see <a href="#Leading-blanks">Leading blanks</a>).
</p>
@@ -11036,10 +11061,10 @@
From \myaffiliation.
</pre></div>
-<p>outputs ‘<samp>From Saint Michael's College</samp>’. Unlike <code>\newcommand</code>,
-the repeated use of <code>\providecommand</code> does not give an error.
+<p>outputs ‘<samp>From Saint Michael's College.</samp>’. Unlike
+<code>\newcommand</code>, the repeated use of <code>\providecommand</code> to (try
+to) define <code>\myaffiliation</code> does not give an error.
</p>
-
<hr>
</div>
<div class="section" id="g_t_005cmakeatletter-_0026-_005cmakeatother">
@@ -25734,6 +25759,7 @@
<tr><td></td><td valign="top"><a href="#index-appendices">appendices</a>:</td><td> </td><td valign="top"><a href="#g_t_005cappendix">\appendix</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-appendix">appendix</a>:</td><td> </td><td valign="top"><a href="#g_t_005cappendix">\appendix</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-appendix-package"><code>appendix</code> <span class="roman">package</span></a>:</td><td> </td><td valign="top"><a href="#g_t_005cappendix">\appendix</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-arguments_002c-optional_002c-defining-and-using">arguments, optional, defining and using</a>:</td><td> </td><td valign="top"><a href="#g_t_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-aring">aring</a>:</td><td> </td><td valign="top"><a href="#Additional-Latin-letters">Additional Latin letters</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-array-environment"><code><code>array</code> <span class="roman">environment</span></code></a>:</td><td> </td><td valign="top"><a href="#array">array</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-array-package"><code>array</code> <span class="roman">package</span></a>:</td><td> </td><td valign="top"><a href="#array">array</a></td></tr>
@@ -25786,6 +25812,7 @@
<tr><td></td><td valign="top"><a href="#index-bigfoot-package"><code>bigfoot</code> <span class="roman">package</span></a>:</td><td> </td><td valign="top"><a href="#Footnotes-of-footnotes">Footnotes of footnotes</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-black-boxes_002c-omitting">black boxes, omitting</a>:</td><td> </td><td valign="top"><a href="#Document-class-options">Document class options</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-blackboard-bold">blackboard bold</a>:</td><td> </td><td valign="top"><a href="#Blackboard-bold">Blackboard bold</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-blanks_002c-after-control-sequences">blanks, after control sequences</a>:</td><td> </td><td valign="top"><a href="#g_t_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-bm-package"><code>bm</code> <span class="roman">package</span></a>:</td><td> </td><td valign="top"><a href="#g_t_005cboldmath-_0026-_005cunboldmath">\boldmath & \unboldmath</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-bold-font">bold font</a>:</td><td> </td><td valign="top"><a href="#Font-styles">Font styles</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-bold-math">bold math</a>:</td><td> </td><td valign="top"><a href="#Font-styles">Font styles</a></td></tr>
@@ -25913,6 +25940,9 @@
<tr><td></td><td valign="top"><a href="#index-computer-programs_002c-typesetting">computer programs, typesetting</a>:</td><td> </td><td valign="top"><a href="#verbatim">verbatim</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-configuration_002c-graphics-package">configuration, graphics package</a>:</td><td> </td><td valign="top"><a href="#Graphics-package-configuration">Graphics package configuration</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-contents-file">contents file</a>:</td><td> </td><td valign="top"><a href="#Output-files">Output files</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-control-sequences">control sequences</a>:</td><td> </td><td valign="top"><a href="#Control-sequences">Control sequences</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-control-symbol_002c-defined">control symbol, defined</a>:</td><td> </td><td valign="top"><a href="#Control-sequences">Control sequences</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-control-word_002c-defined">control word, defined</a>:</td><td> </td><td valign="top"><a href="#Control-sequences">Control sequences</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-copyright-symbol">copyright symbol</a>:</td><td> </td><td valign="top"><a href="#Text-symbols">Text symbols</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-counters_002c-a-list-of">counters, a list of</a>:</td><td> </td><td valign="top"><a href="#Counters">Counters</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-counters_002c-defining-new">counters, defining new</a>:</td><td> </td><td valign="top"><a href="#g_t_005cnewcounter">\newcounter</a></td></tr>
@@ -26524,6 +26554,7 @@
<tr><td></td><td valign="top"><a href="#index-openright-option"><code>openright <span class="roman">option</span></code></a>:</td><td> </td><td valign="top"><a href="#Document-class-options">Document class options</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-OpenType-fonts">OpenType fonts</a>:</td><td> </td><td valign="top"><a href="#TeX-engines">TeX engines</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-operating-system-information">operating system information</a>:</td><td> </td><td valign="top"><a href="#g_t_005cwrite18">\write18</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-optional-arguments_002c-defining-and-using">optional arguments, defining and using</a>:</td><td> </td><td valign="top"><a href="#g_t_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-options_002c-class">options, class</a>:</td><td> </td><td valign="top"><a href="#Class-and-package-commands">Class and package commands</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-options_002c-color-package">options, color package</a>:</td><td> </td><td valign="top"><a href="#Color-package-options">Color package options</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-options_002c-command-line">options, command line</a>:</td><td> </td><td valign="top"><a href="#Command-line-options">Command line options</a></td></tr>
@@ -26715,6 +26746,7 @@
<tr><td></td><td valign="top"><a href="#index-paragraphs">paragraphs</a>:</td><td> </td><td valign="top"><a href="#Making-paragraphs">Making paragraphs</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-parameters_002c-for-footnotes">parameters, for footnotes</a>:</td><td> </td><td valign="top"><a href="#g_t_005cfootnote">\footnote</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-parameters_002c-page-layout">parameters, page layout</a>:</td><td> </td><td valign="top"><a href="#Page-layout-parameters">Page layout parameters</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-parameters_002c-substituting">parameters, substituting</a>:</td><td> </td><td valign="top"><a href="#g_t_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-parent-directories_002c-cannot-write-to">parent directories, cannot write to</a>:</td><td> </td><td valign="top"><a href="#g_t_005cwrite-and-security">\write and security</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-parentheses">parentheses</a>:</td><td> </td><td valign="top"><a href="#Delimiters">Delimiters</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-part">part</a>:</td><td> </td><td valign="top"><a href="#Sectioning">Sectioning</a></td></tr>
@@ -26751,7 +26783,6 @@
<tr><td></td><td valign="top"><a href="#index-polyglossia-package-3"><code>polyglossia</code> <span class="roman">package</span></a>:</td><td> </td><td valign="top"><a href="#g_t_005cindex">\index</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-portrait-orientation">portrait orientation</a>:</td><td> </td><td valign="top"><a href="#Document-class-options">Document class options</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-position_002c-in-picture">position, in picture</a>:</td><td> </td><td valign="top"><a href="#picture">picture</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-positional-parameter">positional parameter</a>:</td><td> </td><td valign="top"><a href="#g_t_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-postamble"><code>postamble</code></a>:</td><td> </td><td valign="top"><a href="#makeindex">makeindex</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-PostScript-point">PostScript point</a>:</td><td> </td><td valign="top"><a href="#Units-of-length">Units of length</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-postscript_002c-in-letters">postscript, in letters</a>:</td><td> </td><td valign="top"><a href="#g_t_005cps">\ps</a></td></tr>
@@ -26782,6 +26813,7 @@
<tr><td></td><td valign="top"><a href="#index-ragged-right-text">ragged right text</a>:</td><td> </td><td valign="top"><a href="#g_t_005craggedright">\raggedright</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-ragged-right-text_002c-environment-for">ragged right text, environment for</a>:</td><td> </td><td valign="top"><a href="#flushleft">flushleft</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-read-a-file">read a file</a>:</td><td> </td><td valign="top"><a href="#g_t_005cread">\read</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-redefining-a-command">redefining a command</a>:</td><td> </td><td valign="top"><a href="#g_t_005cnewcommand-_0026-_005crenewcommand">\newcommand & \renewcommand</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-redefining-environments">redefining environments</a>:</td><td> </td><td valign="top"><a href="#g_t_005cnewenvironment-_0026-_005crenewenvironment">\newenvironment & \renewenvironment</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-reference_002c-forward">reference, forward</a>:</td><td> </td><td valign="top"><a href="#Cross-references">Cross references</a></td></tr>
<tr><td></td><td valign="top"><a href="#index-references_002c-resolving-forward">references, resolving forward</a>:</td><td> </td><td valign="top"><a href="#Output-files">Output files</a></td></tr>
Modified: trunk/latex2e.info
===================================================================
--- trunk/latex2e.info 2022-01-26 23:01:41 UTC (rev 1082)
+++ trunk/latex2e.info 2022-05-13 15:44:52 UTC (rev 1083)
@@ -2042,7 +2042,8 @@
\enlargethispage::).
The '\flushbottom' state is the default only if you select the
-'twoside' document class option (*note Document class options::).
+'twocolumn' document class option (*note Document class options::), and
+for indexes made using 'makeidx'.
File: latex2e.info, Node: \raggedbottom, Next: Page layout parameters, Prev: \flushbottom, Up: Layout
@@ -2053,7 +2054,7 @@
Make all later pages the natural height of the material on that page; no
rubber vertical lengths will be stretched. Thus, in a two-sided
document the facing pages may be different heights. This command can go
-at any point in the document body. See *note \flushbottom::.
+at any point in the document body. *Note \flushbottom::.
This is the default unless you select the 'twoside' document class
option (*note Document class options::).
@@ -7582,7 +7583,7 @@
12.1 '\newcommand' & '\renewcommand'
====================================
-Synopses, one of:
+Synopses, one of (three regular forms, three starred forms):
\newcommand{\CMD}{DEFN}
\newcommand{\CMD}[NARGS]{DEFN}
@@ -7591,26 +7592,26 @@
\newcommand*{\CMD}[NARGS]{DEFN}
\newcommand*{\CMD}[NARGS][OPTARGDEFAULT]{DEFN}
-or one of these.
+or all the same possibilities with '\renewcommand' instead of
+'\newcommand':
+ \renewcommand{\CMD}{DEFN}
\renewcommand{\CMD}[NARGS]{DEFN}
- \renewcommand{\CMD}[NARGS]{DEFN}
\renewcommand{\CMD}[NARGS][OPTARGDEFAULT]{DEFN}
\renewcommand*{\CMD}{DEFN}
\renewcommand*{\CMD}[NARGS]{DEFN}
\renewcommand*{\CMD}[NARGS][OPTARGDEFAULT]{DEFN}
- Define or redefine a command (see also the discussion of
-'\DeclareRobustCommand' in *note Class and package commands::).
+ Define or redefine a command (see also '\DeclareRobustCommand' in
+*note Class and package commands::).
The starred form of these two forbids the arguments from containing
-multiple paragraphs of text (in plain TeX terms, the commands are not
+multiple paragraphs of text (in plain TeX terms: the commands are not
'\long'). With the default form, arguments can be multiple paragraphs.
- These are the parameters:
+ These are the parameters (examples follow):
CMD
-
Required; '\CMD' is the command name. It must begin with a
backslash, '\', and must not begin with the four character string
'\end'. For '\newcommand', it must not be already defined. For
@@ -7627,31 +7628,46 @@
OPTARGDEFAULT
Optional; if this argument is present then the first argument of
'\CMD' is optional, with default value OPTARGDEFAULT (which may be
- the empty string). If OPTARGSDEFAULT is not present then '\CMD'
+ the empty string). If OPTARGDEFAULT is not present then '\CMD'
does not take an optional argument.
- That is, if '\CMD' is used with square brackets, as in
- '\CMD[OPTVAL]{...}...', then within DEFN the parameter '#1' is set
- to the value of OPTVAL. On the other hand, if '\CMD' is called
- without the square brackets then within DEFN the parameter '#1' is
- set to the value of OPTARGDEFAULT. In either case, the required
- arguments start with '#2'.
+ That is, if '\CMD' is called with a following argument in square
+ brackets, as in '\CMD[OPTVAL]{...}...', then within DEFN the
+ parameter '#1' is set to OPTVAL. On the other hand, if '\CMD' is
+ called without following square brackets then within DEFN the
+ parameter '#1' is set to OPTARGDEFAULT. In either case, the
+ required arguments start with '#2'.
- Omitting '[OPTARGDEFAULT]' is different from having the square
- brackets with no contents, as in '[]'. The former sets '#1' to the
- value of OPTARGDEFAULT; the latter sets '#1' to the empty string.
+ Omitting '[OPTARGDEFAULT]' from the definition is entirely
+ different from giving the square brackets with empty contents, as
+ in '[]'. The former says the command being defined takes no
+ optional argument, so '#1' is the first required argument (if NARGS
+ ≥ 1); the latter sets the optional argument '#1' to the empty
+ string as the default, if no optional argument was given in the
+ call.
+ Similarly, omitting '[OPTVAL]' from a call is also entirely
+ different from giving the square brackets with empty contents. The
+ former sets '#1' to the value of OPTVAL (assuming the command was
+ defined to take an optional argument); the latter sets '#1' to the
+ empty string, just as with any other value.
+
+ If a command is not defined to take an optional argument, but is
+ called with an optional argument, the results are unpredictable:
+ there may be a LaTeX error, there may be incorrect typeset output,
+ or both.
+
DEFN
Required; the text to be substituted for every occurrence of
- '\CMD'. The parameters '#1', '#2', ... '#NARGS' are replaced by
- the values that you supply when you call the command (or by the
- default value if there is an optional argument and you don't
- exercise the option).
+ '\CMD'. The parameters '#1', '#2', ..., '#NARGS' are replaced by
+ the values supplied when the command is called (or by OPTARGDEFAULT
+ in the case of an optional argument not specified in the call, as
+ just explained).
TeX ignores blanks in the source following a control word (*note
-Control sequences::), as in '\cmd '. If you actually want a space
-there, one solution is to type '{}' after the command ('\cmd{} ', and
-another solution is to use an explicit control space ('\cmd\ ').
+Control sequences::), as in '\cmd '. If you want a space there, one
+solution is to type '{}' after the command ('\cmd{} '), and another
+solution is to use an explicit control space ('\cmd\ ').
A simple example of defining a new command: '\newcommand{\RS}{Robin
Smith}' results in '\RS' being replaced by the longer text. Redefining
@@ -7658,14 +7674,14 @@
an existing command is similar: '\renewcommand{\qedsymbol}{{\small
QED}}'.
- If you try to define a command and the name has already been used
+ If you use '\newcommand' and the command name has already been used
then you get something like 'LaTeX Error: Command \fred already defined.
-Or name \end... illegal, see p.192 of the manual'. If you try to
-redefine a command and the name has not yet been used then you get
-something like 'LaTeX Error: \hank undefined'.
+Or name \end... illegal, see p.192 of the manual'. Similarly, If you
+use '\renewcommand' and the command name has not been defined then you
+get something like 'LaTeX Error: \hank undefined'.
Here the first definition creates a command with no arguments, and
-the second, one with one required argument.
+the second, a command with one required argument:
\newcommand{\student}{Ms~O'Leary}
\newcommand{\defref}[1]{Definition~\ref{#1}}
@@ -7690,11 +7706,11 @@
\newcommand{\lawyers}[3][company]{#2, #3, and~#1}
I employ \lawyers[Howe]{Dewey}{Cheatem}.
-The output is 'I employ Dewey, Cheatem, and Howe'. The optional
-argument, the 'Howe', is associated with '#1', while 'Dewey' and
-'Cheatem' are associated with '#2' and '#3'. Because of the optional
-argument, '\lawyers{Dewey}{Cheatem}' will give the output 'I employ
-Dewey, Cheatem, and company'.
+The output is 'I employ Dewey, Cheatem, and Howe.'. The optional
+argument, 'Howe', is associated with '#1', while 'Dewey' and 'Cheatem'
+are associated with '#2' and '#3'. Because of the optional argument,
+'\lawyers{Dewey}{Cheatem}' will give the output 'I employ Dewey,
+Cheatem, and company.'.
The braces around DEFN do not define a group, that is, they do not
delimit the scope of the result of expanding DEFN. For example, with
@@ -7702,8 +7718,8 @@
The \shipname{Monitor} met the \shipname{Merrimac}.
-the words 'met the' would incorrectly be in italics. The solution is to
-put another pair of braces inside the definition:
+the words 'met the', and the period, would incorrectly be in italics.
+The solution is to put another pair of braces inside the definition:
'\newcommand{\shipname}[1]{{\it #1}}'.
* Menu:
@@ -7716,7 +7732,7 @@
12.1.1 Control sequence, control word and control symbol
--------------------------------------------------------
-When reading input TeX converts the sequences of read characters into a
+When reading input TeX converts sequences of read characters into a
sequence of "tokens". When TeX sees a backslash '\', it will handle the
following characters in a special way in order to make a "control
sequence" token.
@@ -7724,24 +7740,27 @@
The control sequences fall into two categories:
* "control word", when the control sequence is gathered from a '\'
- followed by at least one ASCII letter, followed by at least one
- blank. The sequence of at least one ASCII letter is called the
- "control sequence name".
+ followed by at least one ASCII letter ('A-Z' and 'a-z'), followed
+ by at least one non-letter.
+
* "control symbol", when the control sequence is gathered from a '\'
followed by one non-letter character.
+ The sequence of characters so found after the '\' is also called the
+"control sequence name".
+
Blanks after a control word are ignored and do not produce any
whitespace in the output (*note \newcommand & \renewcommand:: and *note
\(SPACE)::).
- Just as the '\relax' command does nothing, the following will print
-'Hello!'--if you use the Emacs info viewer, turn on the whitespace-mode
-minor mode to see the trailing spaces:
+ Just as the '\relax' command does nothing, the following input will
+simply print 'Hello!' (if you use the Emacs info viewer, turn on the
+whitespace-mode minor mode to see the trailing spaces):
Hel\relax
lo!
-This is because blanks after '\relax', including the newline are
+This is because blanks after '\relax', including the newline, are
ignored, and blanks at the beginning of a line are also ignored (*note
Leading blanks::).
@@ -7773,8 +7792,9 @@
\providecommand{\myaffiliation}{Lyc\'ee Henri IV}
From \myaffiliation.
-outputs 'From Saint Michael's College'. Unlike '\newcommand', the
-repeated use of '\providecommand' does not give an error.
+outputs 'From Saint Michael's College.'. Unlike '\newcommand', the
+repeated use of '\providecommand' to (try to) define '\myaffiliation'
+does not give an error.
File: latex2e.info, Node: \makeatletter & \makeatother, Next: \@ifstar, Prev: \providecommand, Up: Definitions
@@ -17612,7 +17632,7 @@
(line 27)
* *-form of sectioning commands: Sectioning. (line 31)
* *-form, defining new commands: \newcommand & \renewcommand.
- (line 27)
+ (line 28)
* --disable-write18 command-line option: Command line options.
(line 61)
* --enable-write18 command-line option: Command line options.
@@ -18270,7 +18290,7 @@
* \location: \location. (line 6)
* \log: Math functions. (line 78)
* \long: \newcommand & \renewcommand.
- (line 27)
+ (line 28)
* \longleftarrow: Math symbols. (line 352)
* \longleftrightarrow: Math symbols. (line 356)
* \longmapsto: Math symbols. (line 360)
@@ -18980,6 +19000,8 @@
* appendices: \appendix. (line 6)
* appendix: \appendix. (line 6)
* appendix package: \appendix. (line 29)
+* arguments, optional, defining and using: \newcommand & \renewcommand.
+ (line 49)
* aring: Additional Latin letters.
(line 12)
* array environment: array. (line 6)
@@ -19039,6 +19061,8 @@
* black boxes, omitting: Document class options.
(line 53)
* blackboard bold: Blackboard bold. (line 6)
+* blanks, after control sequences: \newcommand & \renewcommand.
+ (line 87)
* bm package: \boldmath & \unboldmath.
(line 32)
* bold font: Font styles. (line 76)
@@ -19199,6 +19223,9 @@
* configuration, graphics package: Graphics package configuration.
(line 6)
* contents file: Output files. (line 43)
+* control sequences: Control sequences. (line 6)
+* control symbol, defined: Control sequences. (line 17)
+* control word, defined: Control sequences. (line 13)
* copyright symbol: Text symbols. (line 15)
* counters, a list of: Counters. (line 6)
* counters, defining new: \newcounter. (line 6)
@@ -19887,6 +19914,8 @@
(line 78)
* OpenType fonts: TeX engines. (line 6)
* operating system information: \write18. (line 65)
+* optional arguments, defining and using: \newcommand & \renewcommand.
+ (line 49)
* options, class: Class and package commands.
(line 66)
* options, color package: Color package options.
@@ -20126,6 +20155,8 @@
* parameters, for footnotes: \footnote. (line 34)
* parameters, page layout: Page layout parameters.
(line 6)
+* parameters, substituting: \newcommand & \renewcommand.
+ (line 81)
* parent directories, cannot write to: \write and security. (line 22)
* parentheses: Delimiters. (line 6)
* part: Sectioning. (line 6)
@@ -20165,8 +20196,6 @@
* portrait orientation: Document class options.
(line 60)
* position, in picture: picture. (line 64)
-* positional parameter: \newcommand & \renewcommand.
- (line 54)
* postamble: makeindex. (line 54)
* PostScript point: Units of length. (line 20)
* postscript, in letters: \ps. (line 6)
@@ -20197,6 +20226,8 @@
* ragged right text: \raggedright. (line 6)
* ragged right text, environment for: flushleft. (line 6)
* read a file: \read. (line 6)
+* redefining a command: \newcommand & \renewcommand.
+ (line 6)
* redefining environments: \newenvironment & \renewenvironment.
(line 6)
* reference, forward: Cross references. (line 27)
@@ -20334,7 +20365,7 @@
* stack math: \stackrel. (line 6)
* star-variants, commands: \@ifstar. (line 6)
* starred form, defining new commands: \newcommand & \renewcommand.
- (line 27)
+ (line 28)
* starting a new page: \newpage. (line 6)
* starting a new page and clearing floats: \clearpage & \cleardoublepage.
(line 6)
@@ -20633,484 +20664,484 @@
Ref: twocolumn dbltextfloatsep80380
Ref: twocolumn dbltopnumber80560
Node: \flushbottom81509
-Node: \raggedbottom82609
-Node: Page layout parameters83145
-Ref: page layout parameters columnsep83374
-Ref: page layout parameters columnseprule83374
-Ref: page layout parameters columnwidth83374
-Ref: page layout parameters headheight83628
-Ref: page layout parameters headsep83795
-Ref: page layout parameters footskip84107
-Ref: page layout parameters linewidth84441
-Ref: page layout parameters marginparpush84794
-Ref: page layout parameters marginsep84794
-Ref: page layout parameters marginparwidth84794
-Ref: page layout parameters oddsidemargin85834
-Ref: page layout parameters evensidemargin85834
-Ref: page layout parameters paperheight86379
-Ref: page layout parameters paperwidth86605
-Ref: page layout parameters textheight86829
-Ref: page layout parameters textwidth87218
-Ref: page layout parameters hsize88156
-Ref: page layout parameters topmargin88353
-Ref: page layout parameters topskip88657
-Node: \baselineskip & \baselinestretch88873
-Node: Floats94043
-Ref: floats bottomfraction98381
-Ref: floats floatpagefraction98508
-Ref: floats textfraction98619
-Ref: floats topfraction98821
-Ref: floats floatsep99073
-Ref: floats intextsep99183
-Ref: floats textfloatsep99398
-Ref: floats bottomnumber99662
-Ref: floats dbltopnumber99770
-Ref: floats topnumber99889
-Ref: floats totalnumber99993
-Node: \caption100610
-Node: Sectioning103336
-Ref: sectioning secnumdepth106445
-Ref: Sectioning/secnumdepth106445
-Ref: sectioning tocdepth107071
-Ref: Sectioning/tocdepth107071
-Node: \part108111
-Node: \chapter110283
-Node: \section114056
-Node: \subsection117323
-Node: \subsubsection & \paragraph & \subparagraph120037
-Node: \appendix122694
-Node: \frontmatter & \mainmatter & \backmatter123987
-Node: \@startsection125396
-Ref: startsection name126885
-Ref: \@startsection/name126885
-Ref: startsection level127339
-Ref: \@startsection/level127339
-Ref: startsection indent128220
-Ref: \@startsection/indent128220
-Ref: startsection beforeskip128483
-Ref: \@startsection/beforeskip128483
-Ref: startsection afterskip130004
-Ref: \@startsection/afterskip130004
-Ref: startsection style131315
-Ref: \@startsection/style131315
-Node: Cross references135016
-Node: \label137165
-Node: \pageref138985
-Node: \ref139775
-Node: xr package140770
-Node: Environments142591
-Node: abstract144593
-Node: array146182
-Node: center149095
-Node: \centering150848
-Node: description152345
-Node: displaymath154562
-Node: document156258
-Node: \AtBeginDocument156688
-Node: \AtEndDocument157312
-Node: enumerate157956
-Ref: enumerate enumi159819
-Ref: enumerate enumii159819
-Ref: enumerate enumiii159819
-Ref: enumerate enumiv159819
-Ref: enumerate labelenumi160217
-Ref: enumerate labelenumii160217
-Ref: enumerate labelenumiii160217
-Ref: enumerate labelenumiv160217
-Node: eqnarray160756
-Node: equation162752
-Node: figure163420
-Node: filecontents165593
-Node: flushleft167502
-Node: \raggedright168529
-Node: flushright169727
-Node: \raggedleft170551
-Node: itemize171422
-Ref: itemize labelitemi172970
-Ref: itemize labelitemii172970
-Ref: itemize labelitemiii172970
-Ref: itemize labelitemiv172970
-Ref: itemize leftmargin173629
-Ref: itemize leftmargini173629
-Ref: itemize leftmarginii173629
-Ref: itemize leftmarginiii173629
-Ref: itemize leftmarginiv173629
-Ref: itemize leftmarginv173629
-Ref: itemize leftmarginvi173629
-Node: letter175111
-Node: list175349
-Ref: list makelabel177796
-Ref: list itemindent179181
-Ref: list itemsep179318
-Ref: list labelsep179971
-Ref: list labelwidth180134
-Ref: list leftmargin181145
-Ref: list listparindent181998
-Ref: list parsep182229
-Ref: list partopsep182697
-Ref: list rightmargin183495
-Ref: list topsep183680
-Ref: list beginparpenalty187256
-Ref: list itempenalty187355
-Ref: list endparpenalty187459
-Node: \item188330
-Node: trivlist189576
-Node: math191104
-Node: minipage191410
-Node: picture197007
-Node: \put203237
-Node: \multiput203802
-Node: \qbezier204541
-Node: \graphpaper206014
-Node: \line206808
-Node: \linethickness208782
-Node: \thinlines209247
-Node: \thicklines209658
-Node: \circle210043
-Node: \oval210585
-Node: \shortstack211600
-Node: \vector213298
-Node: \makebox (picture)214212
-Node: \framebox (picture)215394
-Node: \frame216867
-Node: \dashbox217307
-Node: quotation & quote218442
-Node: tabbing219338
-Node: table225241
-Node: tabular227324
-Ref: tabular arrayrulewidth233661
-Ref: tabular arraystrech233901
-Ref: tabular doublerulesep234122
-Ref: tabular tabcolsep234258
-Node: \multicolumn234779
-Node: \vline238656
-Node: \cline240047
-Node: \hline240757
-Node: thebibliography241439
-Node: \bibitem243922
-Node: \cite246224
-Node: \nocite248092
-Node: Using BibTeX248600
-Node: BibTeX error messages250980
-Node: theorem251885
-Node: titlepage252807
-Node: verbatim254090
-Node: \verb255903
-Node: verse257996
-Node: Line breaking259223
-Node: \\260589
-Node: \obeycr & \restorecr263019
-Node: \newline263830
-Node: \- (hyphenation)264871
-Node: \discretionary266511
-Node: \fussy & \sloppy267402
-Node: sloppypar268217
-Node: \hyphenation269363
-Node: \linebreak & \nolinebreak269983
-Node: Page breaking271163
-Node: \clearpage & \cleardoublepage273193
-Node: \newpage274713
-Node: \enlargethispage276011
-Node: \pagebreak & \nopagebreak276967
-Node: Footnotes278938
-Node: \footnote280084
-Ref: footnote footnoterule281352
-Ref: footnote footnotesep281963
-Node: \footnotemark283029
-Node: \footnotetext285386
-Node: Footnotes in section headings285988
-Node: Footnotes in a table286821
-Node: Footnotes of footnotes289752
-Node: Definitions290450
-Node: \newcommand & \renewcommand291497
-Node: Control sequences296932
-Node: \providecommand298286
-Node: \makeatletter & \makeatother299449
-Node: \@ifstar301551
-Node: \newcounter305036
-Node: \newlength306756
-Node: \newsavebox307679
-Node: \newenvironment & \renewenvironment308658
-Node: \newtheorem313982
-Node: \newfont317554
-Node: \protect318787
-Node: \ignorespaces & \ignorespacesafterend321175
-Node: xspace package323925
-Node: Counters326124
-Node: \alph \Alph \arabic \roman \Roman \fnsymbol327825
-Node: \usecounter330460
-Node: \value331319
-Node: \setcounter332372
-Node: \addtocounter332968
-Node: \refstepcounter333422
-Node: \stepcounter334091
-Node: \day & \month & \year334644
-Node: Lengths335553
-Node: Units of length340131
-Ref: units of length pt340334
-Ref: units of length pc340451
-Ref: units of length in340474
-Ref: units of length bp340500
-Ref: units of length mm340631
-Ref: units of length cm340663
-Ref: units of length dd340692
-Ref: units of length cc340724
-Ref: units of length sp340749
-Ref: Lengths/ex340891
-Ref: units of length ex340891
-Ref: Lengths/em341034
-Ref: units of length em341034
-Ref: units of length mu341375
-Node: \setlength341904
-Node: \addtolength343016
-Node: \settodepth344439
-Node: \settoheight345427
-Node: \settowidth346425
-Node: \stretch347430
-Node: Expressions348632
-Node: Making paragraphs353446
-Node: \par355761
-Node: \indent & \noindent357807
-Node: \parindent & \parskip359342
-Node: Marginal notes360671
-Ref: marginal notes marginparpush362067
-Ref: marginal notes marginparsep362241
-Ref: marginal notes marginparwidth362373
-Node: Math formulas362722
-Node: Subscripts & superscripts365770
-Node: Math symbols367931
-Node: Arrows391702
-Node: \boldmath & \unboldmath392890
-Node: Blackboard bold394409
-Node: Calligraphic395211
-Node: Delimiters395742
-Node: \left & \right397929
-Node: \bigl & \bigr etc.401966
-Node: Dots404736
-Ref: ellipses cdots405167
-Ref: ellipses ddots405312
-Ref: ellipses ldots405393
-Ref: ellipses vdots405810
-Node: Greek letters406994
-Node: Math functions408673
-Node: Math accents410317
-Node: Over- and Underlining411216
-Node: Spacing in math mode413043
-Ref: spacing in math mode thickspace413974
-Ref: spacing in math mode medspace414425
-Ref: Spacing in math mode/\thinspace414881
-Ref: spacing in math mode thinspace414881
-Ref: spacing in math mode negthinspace415362
-Ref: spacing in math mode quad415735
-Ref: spacing in math mode qquad415991
-Node: \smash416329
-Node: \phantom & \vphantom & \hphantom418546
-Node: \mathstrut421120
-Node: Math styles422082
-Node: Math miscellany424816
-Node: Colon character & \colon425313
-Node: \*426006
-Node: \frac426586
-Node: \sqrt426957
-Node: \stackrel427543
-Node: Modes427816
-Ref: modes paragraph mode428266
-Ref: modes lr mode428578
-Ref: modes math mode429184
-Ref: modes vertical mode429519
-Ref: modes internal vertical mode429737
-Ref: modes inner paragraph mode430260
-Ref: modes outer paragraph mode430260
-Node: \ensuremath430674
-Node: Page styles431379
-Node: \maketitle432142
-Node: \pagenumbering435160
-Node: \pagestyle437147
-Node: \thispagestyle440655
-Node: Spaces441609
-Node: \enspace & \quad & \qquad442929
-Node: \hspace443844
-Node: \hfill445701
-Node: \hss446765
-Node: \spacefactor447459
-Node: \@450866
-Ref: \AT450986
-Node: \frenchspacing & \nonfrenchspacing452926
-Ref: \frenchspacing453044
-Node: \normalsfcodes453846
-Node: \(SPACE)454114
-Ref: Leading blanks456054
-Node: ~456367
-Node: \thinspace & \negthinspace459177
-Node: \/460375
-Node: \hrulefill & \dotfill462333
-Node: \bigskip & \medskip & \smallskip463693
-Ref: bigskip464511
-Ref: medskip464715
-Ref: smallskip464924
-Node: \bigbreak & \medbreak & \smallbreak465585
-Node: \strut466571
-Node: \vspace469808
-Node: \vfill471369
-Node: \addvspace472297
-Node: Boxes474343
-Node: \mbox & \makebox475049
-Ref: mbox makebox depth476317
-Ref: mbox makebox height476317
-Ref: mbox makebox width476317
-Ref: mbox makebox totalheight476317
-Node: \fbox & \framebox478412
-Ref: fbox framebox fboxrule479719
-Ref: fbox framebox fboxsep479909
-Node: \parbox481011
-Node: \raisebox483317
-Ref: raisebox depth484290
-Ref: raisebox height484290
-Ref: raisebox width484290
-Ref: raisebox totalheight484290
-Node: \sbox & \savebox484991
-Node: lrbox488077
-Node: \usebox488963
-Node: Color489402
-Node: Color package options490201
-Node: Color models491847
-Ref: color models cmyk492644
-Ref: color models gray493007
-Ref: color models rgb493156
-Ref: color models RGB493493
-Ref: color models named493868
-Node: Commands for color494156
-Node: Define colors494571
-Node: Colored text495296
-Node: Colored boxes497693
-Node: Colored pages499082
-Node: Graphics499775
-Node: Graphics package options501901
-Node: Graphics package configuration504654
-Node: \graphicspath505456
-Node: \DeclareGraphicsExtensions508414
-Node: \DeclareGraphicsRule510232
-Node: Commands for graphics513411
-Node: \includegraphics513916
-Ref: includegraphics width518979
-Ref: includegraphics height519512
-Ref: includegraphics totalheight519918
-Ref: includegraphics keepaspectratio520182
-Ref: includegraphics viewport521868
-Ref: includegraphics trim522263
-Ref: includegraphics clip522719
-Ref: includegraphics page522979
-Ref: includegraphics pagebox523070
-Ref: includegraphics interpolate523935
-Ref: includegraphics quiet524140
-Ref: includegraphics draft524301
-Ref: includegraphics bb525106
-Ref: includegraphics bbllx525504
-Ref: includegraphics bblly525504
-Ref: includegraphics bburx525504
-Ref: includegraphics bbury525504
-Ref: includegraphics natwidth525646
-Ref: includegraphics natheight525646
-Ref: includegraphics hiresbb525832
-Ref: includegraphics type526594
-Ref: includegraphics ext526634
-Ref: includegraphics read526737
-Ref: includegraphics command526854
-Node: \rotatebox527100
-Node: \scalebox529954
-Node: \resizebox531034
-Node: Special insertions532228
-Node: Reserved characters533096
-Node: Upper and lower case534356
-Node: Symbols by font position536742
-Node: Text symbols537421
-Node: Accents542405
-Node: \accent544690
-Node: Additional Latin letters546516
-Ref: Non-English characters546698
-Node: inputenc package547717
-Ref: \inputencoding549933
-Node: \rule550269
-Node: \today551457
-Node: Splitting the input552393
-Node: \endinput554135
-Node: \include & \includeonly555438
-Node: \input559735
-Node: Front/back matter560950
-Node: Table of contents etc.561283
-Node: \@dottedtocline567044
-Node: \addcontentsline568631
-Node: \addtocontents571694
-Node: \contentsline573911
-Node: \nofiles575689
-Node: \numberline576440
-Node: Indexes577604
-Node: Produce the index manually580398
-Node: \index581562
-Node: makeindex586773
-Ref: makeindex preamble588441
-Ref: makeindex postamble588587
-Ref: makeindex group skip588683
-Ref: makeindex letheadflag589023
-Ref: makeindex lethead prefix589484
-Ref: makeindex lethead suffix589636
-Ref: makeindex item 0589784
-Ref: makeindex item 1589864
-Ref: makeindex item 2589939
-Ref: makeindex item 01590017
-Ref: makeindex item x1590122
-Ref: makeindex item 12590327
-Ref: makeindex item x2590435
-Ref: makeindex delim 0590595
-Ref: makeindex delim 1590725
-Ref: makeindex delim 2590855
-Ref: makeindex delim n590981
-Ref: makeindex delim r591116
-Ref: makeindex line max591224
-Ref: makeindex indent space591359
-Ref: makeindex indent length591454
-Ref: makeindex page precedence591639
-Node: \printindex592676
-Node: Glossaries593149
-Node: \newglossaryentry595116
-Node: \gls596583
-Node: Letters597377
-Node: \address600995
-Node: \cc601806
-Node: \closing602248
-Node: \encl602562
-Node: \location602976
-Node: \makelabels603240
-Node: \name605557
-Node: \opening605798
-Node: \ps606079
-Node: \signature606368
-Node: \telephone607596
-Node: Input/output607961
-Node: \openin & \openout608691
-Node: \read611451
-Node: \typein612638
-Node: \typeout613898
-Node: \write614938
-Node: \write and security619665
-Node: \message620609
-Node: \wlog622438
-Node: \write18622939
-Node: Command line interface626430
-Ref: Command line626594
-Node: Command line options628747
-Ref: interaction modes629750
-Ref: output directory630704
-Node: Command line input632403
-Node: Jobname634520
-Node: Recovering from errors637763
-Node: Document templates639191
-Node: beamer template639625
-Node: article template640267
-Node: book template640730
-Node: Larger book template641209
-Node: Index642751
-Ref: Command Index642837
+Node: \raggedbottom82649
+Node: Page layout parameters83181
+Ref: page layout parameters columnsep83410
+Ref: page layout parameters columnseprule83410
+Ref: page layout parameters columnwidth83410
+Ref: page layout parameters headheight83664
+Ref: page layout parameters headsep83831
+Ref: page layout parameters footskip84143
+Ref: page layout parameters linewidth84477
+Ref: page layout parameters marginparpush84830
+Ref: page layout parameters marginsep84830
+Ref: page layout parameters marginparwidth84830
+Ref: page layout parameters oddsidemargin85870
+Ref: page layout parameters evensidemargin85870
+Ref: page layout parameters paperheight86415
+Ref: page layout parameters paperwidth86641
+Ref: page layout parameters textheight86865
+Ref: page layout parameters textwidth87254
+Ref: page layout parameters hsize88192
+Ref: page layout parameters topmargin88389
+Ref: page layout parameters topskip88693
+Node: \baselineskip & \baselinestretch88909
+Node: Floats94079
+Ref: floats bottomfraction98417
+Ref: floats floatpagefraction98544
+Ref: floats textfraction98655
+Ref: floats topfraction98857
+Ref: floats floatsep99109
+Ref: floats intextsep99219
+Ref: floats textfloatsep99434
+Ref: floats bottomnumber99698
+Ref: floats dbltopnumber99806
+Ref: floats topnumber99925
+Ref: floats totalnumber100029
+Node: \caption100646
+Node: Sectioning103372
+Ref: sectioning secnumdepth106481
+Ref: Sectioning/secnumdepth106481
+Ref: sectioning tocdepth107107
+Ref: Sectioning/tocdepth107107
+Node: \part108147
+Node: \chapter110319
+Node: \section114092
+Node: \subsection117359
+Node: \subsubsection & \paragraph & \subparagraph120073
+Node: \appendix122730
+Node: \frontmatter & \mainmatter & \backmatter124023
+Node: \@startsection125432
+Ref: startsection name126921
+Ref: \@startsection/name126921
+Ref: startsection level127375
+Ref: \@startsection/level127375
+Ref: startsection indent128256
+Ref: \@startsection/indent128256
+Ref: startsection beforeskip128519
+Ref: \@startsection/beforeskip128519
+Ref: startsection afterskip130040
+Ref: \@startsection/afterskip130040
+Ref: startsection style131351
+Ref: \@startsection/style131351
+Node: Cross references135052
+Node: \label137201
+Node: \pageref139021
+Node: \ref139811
+Node: xr package140806
+Node: Environments142627
+Node: abstract144629
+Node: array146218
+Node: center149131
+Node: \centering150884
+Node: description152381
+Node: displaymath154598
+Node: document156294
+Node: \AtBeginDocument156724
+Node: \AtEndDocument157348
+Node: enumerate157992
+Ref: enumerate enumi159855
+Ref: enumerate enumii159855
+Ref: enumerate enumiii159855
+Ref: enumerate enumiv159855
+Ref: enumerate labelenumi160253
+Ref: enumerate labelenumii160253
+Ref: enumerate labelenumiii160253
+Ref: enumerate labelenumiv160253
+Node: eqnarray160792
+Node: equation162788
+Node: figure163456
+Node: filecontents165629
+Node: flushleft167538
+Node: \raggedright168565
+Node: flushright169763
+Node: \raggedleft170587
+Node: itemize171458
+Ref: itemize labelitemi173006
+Ref: itemize labelitemii173006
+Ref: itemize labelitemiii173006
+Ref: itemize labelitemiv173006
+Ref: itemize leftmargin173665
+Ref: itemize leftmargini173665
+Ref: itemize leftmarginii173665
+Ref: itemize leftmarginiii173665
+Ref: itemize leftmarginiv173665
+Ref: itemize leftmarginv173665
+Ref: itemize leftmarginvi173665
+Node: letter175147
+Node: list175385
+Ref: list makelabel177832
+Ref: list itemindent179217
+Ref: list itemsep179354
+Ref: list labelsep180007
+Ref: list labelwidth180170
+Ref: list leftmargin181181
+Ref: list listparindent182034
+Ref: list parsep182265
+Ref: list partopsep182733
+Ref: list rightmargin183531
+Ref: list topsep183716
+Ref: list beginparpenalty187292
+Ref: list itempenalty187391
+Ref: list endparpenalty187495
+Node: \item188366
+Node: trivlist189612
+Node: math191140
+Node: minipage191446
+Node: picture197043
+Node: \put203273
+Node: \multiput203838
+Node: \qbezier204577
+Node: \graphpaper206050
+Node: \line206844
+Node: \linethickness208818
+Node: \thinlines209283
+Node: \thicklines209694
+Node: \circle210079
+Node: \oval210621
+Node: \shortstack211636
+Node: \vector213334
+Node: \makebox (picture)214248
+Node: \framebox (picture)215430
+Node: \frame216903
+Node: \dashbox217343
+Node: quotation & quote218478
+Node: tabbing219374
+Node: table225277
+Node: tabular227360
+Ref: tabular arrayrulewidth233697
+Ref: tabular arraystrech233937
+Ref: tabular doublerulesep234158
+Ref: tabular tabcolsep234294
+Node: \multicolumn234815
+Node: \vline238692
+Node: \cline240083
+Node: \hline240793
+Node: thebibliography241475
+Node: \bibitem243958
+Node: \cite246260
+Node: \nocite248128
+Node: Using BibTeX248636
+Node: BibTeX error messages251016
+Node: theorem251921
+Node: titlepage252843
+Node: verbatim254126
+Node: \verb255939
+Node: verse258032
+Node: Line breaking259259
+Node: \\260625
+Node: \obeycr & \restorecr263055
+Node: \newline263866
+Node: \- (hyphenation)264907
+Node: \discretionary266547
+Node: \fussy & \sloppy267438
+Node: sloppypar268253
+Node: \hyphenation269399
+Node: \linebreak & \nolinebreak270019
+Node: Page breaking271199
+Node: \clearpage & \cleardoublepage273229
+Node: \newpage274749
+Node: \enlargethispage276047
+Node: \pagebreak & \nopagebreak277003
+Node: Footnotes278974
+Node: \footnote280120
+Ref: footnote footnoterule281388
+Ref: footnote footnotesep281999
+Node: \footnotemark283065
+Node: \footnotetext285422
+Node: Footnotes in section headings286024
+Node: Footnotes in a table286857
+Node: Footnotes of footnotes289788
+Node: Definitions290486
+Node: \newcommand & \renewcommand291533
+Node: Control sequences297867
+Node: \providecommand299267
+Node: \makeatletter & \makeatother300467
+Node: \@ifstar302569
+Node: \newcounter306054
+Node: \newlength307774
+Node: \newsavebox308697
+Node: \newenvironment & \renewenvironment309676
+Node: \newtheorem315000
+Node: \newfont318572
+Node: \protect319805
+Node: \ignorespaces & \ignorespacesafterend322193
+Node: xspace package324943
+Node: Counters327142
+Node: \alph \Alph \arabic \roman \Roman \fnsymbol328843
+Node: \usecounter331478
+Node: \value332337
+Node: \setcounter333390
+Node: \addtocounter333986
+Node: \refstepcounter334440
+Node: \stepcounter335109
+Node: \day & \month & \year335662
+Node: Lengths336571
+Node: Units of length341149
+Ref: units of length pt341352
+Ref: units of length pc341469
+Ref: units of length in341492
+Ref: units of length bp341518
+Ref: units of length mm341649
+Ref: units of length cm341681
+Ref: units of length dd341710
+Ref: units of length cc341742
+Ref: units of length sp341767
+Ref: Lengths/ex341909
+Ref: units of length ex341909
+Ref: Lengths/em342052
+Ref: units of length em342052
+Ref: units of length mu342393
+Node: \setlength342922
+Node: \addtolength344034
+Node: \settodepth345457
+Node: \settoheight346445
+Node: \settowidth347443
+Node: \stretch348448
+Node: Expressions349650
+Node: Making paragraphs354464
+Node: \par356779
+Node: \indent & \noindent358825
+Node: \parindent & \parskip360360
+Node: Marginal notes361689
+Ref: marginal notes marginparpush363085
+Ref: marginal notes marginparsep363259
+Ref: marginal notes marginparwidth363391
+Node: Math formulas363740
+Node: Subscripts & superscripts366788
+Node: Math symbols368949
+Node: Arrows392720
+Node: \boldmath & \unboldmath393908
+Node: Blackboard bold395427
+Node: Calligraphic396229
+Node: Delimiters396760
+Node: \left & \right398947
+Node: \bigl & \bigr etc.402984
+Node: Dots405754
+Ref: ellipses cdots406185
+Ref: ellipses ddots406330
+Ref: ellipses ldots406411
+Ref: ellipses vdots406828
+Node: Greek letters408012
+Node: Math functions409691
+Node: Math accents411335
+Node: Over- and Underlining412234
+Node: Spacing in math mode414061
+Ref: spacing in math mode thickspace414992
+Ref: spacing in math mode medspace415443
+Ref: Spacing in math mode/\thinspace415899
+Ref: spacing in math mode thinspace415899
+Ref: spacing in math mode negthinspace416380
+Ref: spacing in math mode quad416753
+Ref: spacing in math mode qquad417009
+Node: \smash417347
+Node: \phantom & \vphantom & \hphantom419564
+Node: \mathstrut422138
+Node: Math styles423100
+Node: Math miscellany425834
+Node: Colon character & \colon426331
+Node: \*427024
+Node: \frac427604
+Node: \sqrt427975
+Node: \stackrel428561
+Node: Modes428834
+Ref: modes paragraph mode429284
+Ref: modes lr mode429596
+Ref: modes math mode430202
+Ref: modes vertical mode430537
+Ref: modes internal vertical mode430755
+Ref: modes inner paragraph mode431278
+Ref: modes outer paragraph mode431278
+Node: \ensuremath431692
+Node: Page styles432397
+Node: \maketitle433160
+Node: \pagenumbering436178
+Node: \pagestyle438165
+Node: \thispagestyle441673
+Node: Spaces442627
+Node: \enspace & \quad & \qquad443947
+Node: \hspace444862
+Node: \hfill446719
+Node: \hss447783
+Node: \spacefactor448477
+Node: \@451884
+Ref: \AT452004
+Node: \frenchspacing & \nonfrenchspacing453944
+Ref: \frenchspacing454062
+Node: \normalsfcodes454864
+Node: \(SPACE)455132
+Ref: Leading blanks457072
+Node: ~457385
+Node: \thinspace & \negthinspace460195
+Node: \/461393
+Node: \hrulefill & \dotfill463351
+Node: \bigskip & \medskip & \smallskip464711
+Ref: bigskip465529
+Ref: medskip465733
+Ref: smallskip465942
+Node: \bigbreak & \medbreak & \smallbreak466603
+Node: \strut467589
+Node: \vspace470826
+Node: \vfill472387
+Node: \addvspace473315
+Node: Boxes475361
+Node: \mbox & \makebox476067
+Ref: mbox makebox depth477335
+Ref: mbox makebox height477335
+Ref: mbox makebox width477335
+Ref: mbox makebox totalheight477335
+Node: \fbox & \framebox479430
+Ref: fbox framebox fboxrule480737
+Ref: fbox framebox fboxsep480927
+Node: \parbox482029
+Node: \raisebox484335
+Ref: raisebox depth485308
+Ref: raisebox height485308
+Ref: raisebox width485308
+Ref: raisebox totalheight485308
+Node: \sbox & \savebox486009
+Node: lrbox489095
+Node: \usebox489981
+Node: Color490420
+Node: Color package options491219
+Node: Color models492865
+Ref: color models cmyk493662
+Ref: color models gray494025
+Ref: color models rgb494174
+Ref: color models RGB494511
+Ref: color models named494886
+Node: Commands for color495174
+Node: Define colors495589
+Node: Colored text496314
+Node: Colored boxes498711
+Node: Colored pages500100
+Node: Graphics500793
+Node: Graphics package options502919
+Node: Graphics package configuration505672
+Node: \graphicspath506474
+Node: \DeclareGraphicsExtensions509432
+Node: \DeclareGraphicsRule511250
+Node: Commands for graphics514429
+Node: \includegraphics514934
+Ref: includegraphics width519997
+Ref: includegraphics height520530
+Ref: includegraphics totalheight520936
+Ref: includegraphics keepaspectratio521200
+Ref: includegraphics viewport522886
+Ref: includegraphics trim523281
+Ref: includegraphics clip523737
+Ref: includegraphics page523997
+Ref: includegraphics pagebox524088
+Ref: includegraphics interpolate524953
+Ref: includegraphics quiet525158
+Ref: includegraphics draft525319
+Ref: includegraphics bb526124
+Ref: includegraphics bbllx526522
+Ref: includegraphics bblly526522
+Ref: includegraphics bburx526522
+Ref: includegraphics bbury526522
+Ref: includegraphics natwidth526664
+Ref: includegraphics natheight526664
+Ref: includegraphics hiresbb526850
+Ref: includegraphics type527612
+Ref: includegraphics ext527652
+Ref: includegraphics read527755
+Ref: includegraphics command527872
+Node: \rotatebox528118
+Node: \scalebox530972
+Node: \resizebox532052
+Node: Special insertions533246
+Node: Reserved characters534114
+Node: Upper and lower case535374
+Node: Symbols by font position537760
+Node: Text symbols538439
+Node: Accents543423
+Node: \accent545708
+Node: Additional Latin letters547534
+Ref: Non-English characters547716
+Node: inputenc package548735
+Ref: \inputencoding550951
+Node: \rule551287
+Node: \today552475
+Node: Splitting the input553411
+Node: \endinput555153
+Node: \include & \includeonly556456
+Node: \input560753
+Node: Front/back matter561968
+Node: Table of contents etc.562301
+Node: \@dottedtocline568062
+Node: \addcontentsline569649
+Node: \addtocontents572712
+Node: \contentsline574929
+Node: \nofiles576707
+Node: \numberline577458
+Node: Indexes578622
+Node: Produce the index manually581416
+Node: \index582580
+Node: makeindex587791
+Ref: makeindex preamble589459
+Ref: makeindex postamble589605
+Ref: makeindex group skip589701
+Ref: makeindex letheadflag590041
+Ref: makeindex lethead prefix590502
+Ref: makeindex lethead suffix590654
+Ref: makeindex item 0590802
+Ref: makeindex item 1590882
+Ref: makeindex item 2590957
+Ref: makeindex item 01591035
+Ref: makeindex item x1591140
+Ref: makeindex item 12591345
+Ref: makeindex item x2591453
+Ref: makeindex delim 0591613
+Ref: makeindex delim 1591743
+Ref: makeindex delim 2591873
+Ref: makeindex delim n591999
+Ref: makeindex delim r592134
+Ref: makeindex line max592242
+Ref: makeindex indent space592377
+Ref: makeindex indent length592472
+Ref: makeindex page precedence592657
+Node: \printindex593694
+Node: Glossaries594167
+Node: \newglossaryentry596134
+Node: \gls597601
+Node: Letters598395
+Node: \address602013
+Node: \cc602824
+Node: \closing603266
+Node: \encl603580
+Node: \location603994
+Node: \makelabels604258
+Node: \name606575
+Node: \opening606816
+Node: \ps607097
+Node: \signature607386
+Node: \telephone608614
+Node: Input/output608979
+Node: \openin & \openout609709
+Node: \read612469
+Node: \typein613656
+Node: \typeout614916
+Node: \write615956
+Node: \write and security620683
+Node: \message621627
+Node: \wlog623456
+Node: \write18623957
+Node: Command line interface627448
+Ref: Command line627612
+Node: Command line options629765
+Ref: interaction modes630768
+Ref: output directory631722
+Node: Command line input633421
+Node: Jobname635538
+Node: Recovering from errors638781
+Node: Document templates640209
+Node: beamer template640643
+Node: article template641285
+Node: book template641748
+Node: Larger book template642227
+Node: Index643769
+Ref: Command Index643855
End Tag Table
Modified: trunk/latex2e.pdf
===================================================================
(Binary files differ)
Modified: trunk/latex2e.texi
===================================================================
--- trunk/latex2e.texi 2022-01-26 23:01:41 UTC (rev 1082)
+++ trunk/latex2e.texi 2022-05-13 15:44:52 UTC (rev 1083)
@@ -2791,7 +2791,8 @@
(@pxref{\enlargethispage}).
The @code{\flushbottom} state is the default only if you select the
- at code{twoside} document class option (@pxref{Document class options}).
+ at code{twocolumn} document class option (@pxref{Document class options}),
+and for indexes made using @code{makeidx}.
@node \raggedbottom
@@ -2803,7 +2804,7 @@
Make all later pages the natural height of the material on that page; no
rubber vertical lengths will be stretched. Thus, in a two-sided
document the facing pages may be different heights. This command can go
-at any point in the document body. See @ref{\flushbottom}.
+at any point in the document body. @xref{\flushbottom}.
This is the default unless you select the @code{twoside} document class
option (@pxref{Document class options}).
@@ -9617,9 +9618,10 @@
@cindex commands, defining new ones
@cindex commands, redefining
@cindex defining a new command
+ at cindex redefining a command
@cindex new commands, defining
-Synopses, one of:
+Synopses, one of (three regular forms, three starred forms):
@example
\newcommand@{\@var{cmd}@}@{@var{defn}@}
@@ -9631,11 +9633,12 @@
@end example
@noindent
-or one of these.
+or all the same possibilities with @code{\renewcommand} instead of
+ at code{\newcommand}:
@example
+\renewcommand@{\@var{cmd}@}@{@var{defn}@}
\renewcommand@{\@var{cmd}@}[@var{nargs}]@{@var{defn}@}
-\renewcommand@{\@var{cmd}@}[@var{nargs}]@{@var{defn}@}
\renewcommand@{\@var{cmd}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@}
\renewcommand*@{\@var{cmd}@}@{@var{defn}@}
\renewcommand*@{\@var{cmd}@}[@var{nargs}]@{@var{defn}@}
@@ -9642,27 +9645,27 @@
\renewcommand*@{\@var{cmd}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@}
@end example
-Define or redefine a command (see also the discussion of
- at code{\DeclareRobustCommand} in @ref{Class and package commands}).
+Define or redefine a command (see also @code{\DeclareRobustCommand} in
+ at ref{Class and package commands}).
+
@cindex starred form, defining new commands
@cindex *-form, defining new commands
@findex \long
The starred form of these two forbids the arguments from containing
-multiple paragraphs of text (in plain @TeX{} terms, the commands
+multiple paragraphs of text (in plain @TeX{} terms: the commands
are not @code{\long}). With the default form, arguments can be
multiple paragraphs.
-These are the parameters:
+These are the parameters (examples follow):
@table @var
@item cmd
+Required; @code{\@var{cmd}} is the command name. It must begin with a
+backslash, @code{\}, and must not begin with the four character string
+ at code{\end}. For @code{\newcommand}, it must not be already defined.
+For @code{\renewcommand}, this name must already be defined.
-Required; @code{\@var{cmd}} is the command name. It must begin with a backslash, @code{\},
-and must not begin with the four character string @code{\end}. For
- at code{\newcommand}, it must not be already defined. For
- at code{\renewcommand}, this name must already be defined.
-
@item nargs
Optional; an integer from 0 to 9, specifying the number of arguments
that the command takes, including any optional argument. Omitting this
@@ -9671,38 +9674,54 @@
different number of arguments than the old version.
@item optargdefault
+ at cindex optional arguments, defining and using
+ at cindex arguments, optional, defining and using
Optional; if this argument is present then the first argument of
@code{\@var{cmd}} is optional, with default value @var{optargdefault}
-(which may be the empty string). If @var{optargsdefault} is not present
+(which may be the empty string). If @var{optargdefault} is not present
then @code{\@var{cmd}} does not take an optional argument.
- at cindex positional parameter
-That is, if @code{\@var{cmd}} is used with square brackets, as in
- at code{\@var{cmd}[@var{optval}]@{...@}...}, then within @var{defn} the
-parameter at tie{}@code{#1} is set to the value of @var{optval}. On the
-other hand, if @code{\@var{cmd}} is called without the square brackets
-then within @var{defn} the parameter @code{#1} is set to the value of
- at var{optargdefault}. In either case, the required arguments start with
- at code{#2}.
+That is, if @code{\@var{cmd}} is called with a following argument in
+square brackets, as in @code{\@var{cmd}[@var{optval}]@{...@}...}, then
+within @var{defn} the parameter at tie{}@code{#1} is set to @var{optval}.
+On the other hand, if @code{\@var{cmd}} is called without following
+square brackets then within @var{defn} the parameter @code{#1} is set
+to @var{optargdefault}. In either case, the required arguments start
+with @code{#2}.
-Omitting @code{[@var{optargdefault}]} is different from having the
-square brackets with no contents, as in @code{[]}. The former sets
- at code{#1} to the value of @var{optargdefault}; the latter sets @code{#1}
-to the empty string.
+Omitting @code{[@var{optargdefault}]} from the definition is entirely
+different from giving the square brackets with empty contents, as in
+ at code{[]}. The former says the command being defined takes no
+optional argument, so @code{#1} is the first required argument (if
+ at math{@var{nargs} @geq{} 1}); the latter sets the optional argument
+ at code{#1} to the empty string as the default, if no optional argument
+was given in the call.
+Similarly, omitting @code{[@var{optval}]} from a call is also entirely
+different from giving the square brackets with empty contents. The
+former sets @code{#1} to the value of @var{optval} (assuming the
+command was defined to take an optional argument); the latter sets
+ at code{#1} to the empty string, just as with any other value.
+
+If a command is not defined to take an optional argument, but is
+called with an optional argument, the results are unpredictable: there
+may be a @LaTeX{} error, there may be incorrect typeset output, or both.
+
@item defn
+ at cindex parameters, substituting
Required; the text to be substituted for every occurrence of
@code{\@var{cmd}}. The parameters @code{#1}, @code{#2},
-... @code{#@var{nargs}} are replaced by the values that you supply when
-you call the command (or by the default value if there is an optional
-argument and you don't exercise the option).
+ at dots{}, @code{#@var{nargs}} are replaced by the values supplied when
+the command is called (or by @var{optargdefault} in the case of an
+optional argument not specified in the call, as just explained).
@end table
+ at cindex blanks, after control sequences
@TeX{} ignores blanks in the source following a control word
-(@pxref{Control sequences}), as in @samp{\cmd }. If you actually want a
-space there, one solution is to type @code{@{@}} after the command
-(@samp{\cmd@{@} }, and another solution is to use an explicit control
+(@pxref{Control sequences}), as in @samp{\cmd }. If you want a space
+there, one solution is to type @code{@{@}} after the command
+(@samp{\cmd@{@} }), and another solution is to use an explicit control
space (@samp{\cmd\ }).
A simple example of defining a new command:
@@ -9710,14 +9729,15 @@
replaced by the longer text. Redefining an existing command is similar:
@code{\renewcommand@{\qedsymbol@}@{@{\small QED@}@}}.
-If you try to define a command and the name has already been used then
-you get something like @samp{LaTeX Error: Command \fred already
-defined. Or name \end... illegal, see p.192 of the manual}. If you try
-to redefine a command and the name has not yet been used then you get
-something like @samp{LaTeX Error: \hank undefined}.
+If you use @code{\newcommand} and the command name has already been
+used then you get something like @samp{LaTeX Error: Command \fred
+already defined. Or name \end... illegal, see p.192 of the manual}.
+Similarly, If you use @code{\renewcommand} and the command name has
+not been defined then you get something like @samp{LaTeX Error: \hank
+undefined}.
Here the first definition creates a command with no arguments, and the
-second, one with one required argument.
+second, a command with one required argument:
@example
\newcommand@{\student@}@{Ms~O'Leary@}
@@ -9753,12 +9773,12 @@
@end example
@noindent
-The output is @samp{I employ Dewey, Cheatem, and Howe}. The optional
-argument, the @code{Howe}, is associated with @code{#1}, while
+The output is @samp{I employ Dewey, Cheatem, and Howe.}. The optional
+argument, @code{Howe}, is associated with @code{#1}, while
@code{Dewey} and @code{Cheatem} are associated with @code{#2}
and at tie{}@code{#3}. Because of the optional argument,
- at code{\lawyers@{Dewey@}@{Cheatem@}} will give the output @samp{I employ
-Dewey, Cheatem, and company}.
+ at code{\lawyers@{Dewey@}@{Cheatem@}} will give the output @samp{I
+employ Dewey, Cheatem, and company.}.
The braces around @var{defn} do not define a group, that is, they do not
delimit the scope of the result of expanding @var{defn}. For example,
@@ -9769,9 +9789,9 @@
@end example
@noindent
-the words @samp{met the} would incorrectly be in italics. The solution
-is to put another pair of braces inside the definition:
- at code{\newcommand@{\shipname@}[1]@{@{\it #1@}@}}.
+the words @samp{met the}, and the period, would incorrectly be in
+italics. The solution is to put another pair of braces inside the
+definition: @code{\newcommand@{\shipname@}[1]@{@{\it #1@}@}}.
@menu
* Control sequences:: Control sequence, control word and control symbol.
@@ -9780,33 +9800,40 @@
@node Control sequences
@subsection Control sequence, control word and control symbol
-When reading input @TeX{} converts the sequences of read characters into
-a sequence of @dfn{tokens}. When @TeX{} sees a backslash @code{\}, it
-will handle the following characters in a special way in order to make a
- at dfn{control sequence} token.
+ at cindex control sequences
+When reading input @TeX{} converts sequences of read characters into a
+sequence of @dfn{tokens}. When @TeX{} sees a backslash @code{\}, it
+will handle the following characters in a special way in order to make
+a @dfn{control sequence} token.
+
The control sequences fall into two categories:
@itemize
@item
+ at cindex control word, defined
@dfn{control word}, when the control sequence is gathered from a
- at code{\} followed by at least one ASCII letter, followed by at least one
-blank. The sequence of at least one ASCII letter is called the
- at dfn{control sequence name}.
+ at code{\} followed by at least one ASCII letter (@code{A-Z} and
+ at code{a-z}), followed by at least one non-letter.
+
@item
+ at cindex control symbol, defined
@dfn{control symbol}, when the control sequence is gathered from a
@code{\} followed by one non-letter character.
@end itemize
+The sequence of characters so found after the @code{\} is also called
+the @dfn{control sequence name}.
+
Blanks after a control word are ignored and do not produce any
whitespace in the output (@pxref{\newcommand & \renewcommand} and
@ref{\(SPACE)}).
-Just as the @code{\relax} command does nothing, the following will print
- at samp{Hello!}@inlinefmt{tex,---where we used visible spaces
- at samp{@visiblespace{}} instead of blanks,}@inlinefmt{info,---if you use
-the Emacs info viewer at comma{} turn on the whitespace-mode minor mode to
-see the trailing spaces}:
+Just as the @code{\relax} command does nothing, the following input
+will simply print @samp{Hello!} @inlinefmt{tex,We use visible
+spaces @samp{@visiblespace{}} instead of blanks}@inlinefmt{info, (if
+you use the Emacs info viewer at comma{} turn on the whitespace-mode
+minor mode to see the trailing spaces)}:
@example
Hel\relax at visiblespace{}@visiblespace{}@visiblespace{}
@@ -9814,7 +9841,7 @@
@end example
@noindent
-This is because blanks after @code{\relax}, including the newline are
+This is because blanks after @code{\relax}, including the newline, are
ignored, and blanks at the beginning of a line are also ignored
(@pxref{Leading blanks}).
@@ -9853,10 +9880,10 @@
@end example
@noindent
-outputs @samp{From Saint Michael's College}. Unlike @code{\newcommand},
-the repeated use of @code{\providecommand} does not give an error.
+outputs @samp{From Saint Michael's College.}. Unlike
+ at code{\newcommand}, the repeated use of @code{\providecommand} to (try
+to) define @code{\myaffiliation} does not give an error.
-
@node \makeatletter & \makeatother
@section @code{\makeatletter} & @code{\makeatother}
More information about the latexrefman-commits
mailing list.