[latexrefman-commits] [SCM] latexrefman updated: r916 - trunk

jimhefferon at gnu.org.ua jimhefferon at gnu.org.ua
Thu May 27 17:07:06 CEST 2021


Author: jimhefferon
Date: 2021-05-27 15:07:06 +0000 (Thu, 27 May 2021)
New Revision: 916

Modified:
   trunk/ChangeLog
   trunk/latex2e.html
   trunk/latex2e.info
   trunk/latex2e.pdf
   trunk/latex2e.texi
Log:
Add section on xspace

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2021-05-26 21:52:51 UTC (rev 915)
+++ trunk/ChangeLog	2021-05-27 15:07:06 UTC (rev 916)
@@ -1,3 +1,7 @@
+2021-05-27  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (xspace package): Add section on \xspace.
+
 2021-05-26  Karl Berry  <karl at freefriends.org>
 
 	* latex2e.texi (inputenc package): tweak utf-8 discussion.
@@ -2,2 +6,10 @@
 
+2021-05-25  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (xr package): Add section.
+
+2021-05-24  Jim Hefferon  <jim at joshua.smcvt.edu>
+
+	* latex2e.texi (inputenc package): Add section.
+
 2021-05-15  Karl Berry  <karl at freefriends.org>

Modified: trunk/latex2e.html
===================================================================
--- trunk/latex2e.html	2021-05-26 21:52:51 UTC (rev 915)
+++ trunk/latex2e.html	2021-05-27 15:07:06 UTC (rev 916)
@@ -174,7 +174,7 @@
   </ul></li>
   <li><a id="toc-Fonts-1" href="#Fonts">4 Fonts</a>
   <ul class="no-bullet">
-    <li><a id="toc-fontenc-package-1" href="#fontenc-package">4.1 <samp>fontenc</samp> package</a>
+    <li><a id="toc-fontenc-package-1" href="#fontenc-package">4.1 <code>fontenc</code> package</a>
     <ul class="no-bullet">
       <li><a id="toc-_005cDeclareFontEncoding-1" href="#g_t_005cDeclareFontEncoding">4.1.1 <code>\DeclareFontEncoding</code></a></li>
       <li><a id="toc-_005cDeclareTextAccent-1" href="#g_t_005cDeclareTextAccent">4.1.2 <code>\DeclareTextAccent</code></a></li>
@@ -217,7 +217,7 @@
     <li><a id="toc-_005clabel-1" href="#g_t_005clabel">7.1 <code>\label</code></a></li>
     <li><a id="toc-_005cpageref-1" href="#g_t_005cpageref">7.2 <code>\pageref</code></a></li>
     <li><a id="toc-_005cref-1" href="#g_t_005cref">7.3 <code>\ref</code></a></li>
-    <li><a id="toc-xr-Package" href="#xr-package">7.4 <code>xr</code> Package</a></li>
+    <li><a id="toc-xr-package-1" href="#xr-package">7.4 <code>xr</code> package</a></li>
   </ul></li>
   <li><a id="toc-Environments-1" href="#Environments">8 Environments</a>
   <ul class="no-bullet">
@@ -344,6 +344,7 @@
     <li><a id="toc-_005cnewfont-1" href="#g_t_005cnewfont">12.10 <code>\newfont</code></a></li>
     <li><a id="toc-_005cprotect-1" href="#g_t_005cprotect">12.11 <code>\protect</code></a></li>
     <li><a id="toc-_005cignorespaces-_0026-_005cignorespacesafterend-1" href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend">12.12 <code>\ignorespaces & \ignorespacesafterend</code></a></li>
+    <li><a id="toc-xspace-package-1" href="#xspace-package">12.13 xspace package</a></li>
   </ul></li>
   <li><a id="toc-Counters-1" href="#Counters">13 Counters</a>
   <ul class="no-bullet">
@@ -491,7 +492,7 @@
       <li><a id="toc-_005caccent-1" href="#g_t_005caccent">23.5.1 <code>\accent</code></a></li>
     </ul></li>
     <li><a id="toc-Additional-Latin-letters-1" href="#Additional-Latin-letters">23.6 Additional Latin letters</a></li>
-    <li><a id="toc-Inputenc-package-1" href="#Inputenc-package">23.7 Inputenc package</a></li>
+    <li><a id="toc-inputenc-package-1" href="#inputenc-package">23.7 <code>inputenc</code> package</a></li>
     <li><a id="toc-_005crule-1" href="#g_t_005crule">23.8 <code>\rule</code></a></li>
     <li><a id="toc-_005ctoday-1" href="#g_t_005ctoday">23.9 <code>\today</code></a></li>
   </ul></li>
@@ -2065,7 +2066,7 @@
 <p>
 Next: <a href="#Font-styles" accesskey="n" rel="next">Font styles</a>, Up: <a href="#Fonts" accesskey="u" rel="up">Fonts</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<span id="fontenc-package-1"></span><h3 class="section">4.1 <samp>fontenc</samp> package</h3>
+<span id="fontenc-package-1"></span><h3 class="section">4.1 <code>fontenc</code> package</h3>
 
 <span id="index-Font-encoding"></span>
 <span id="index-UTF_002d8_002c-font-support-for"></span>
@@ -5117,7 +5118,7 @@
 <p>
 Previous: <a href="#g_t_005cref" accesskey="p" rel="prev">\ref</a>, Up: <a href="#Cross-references" accesskey="u" rel="up">Cross references</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<span id="xr-Package"></span><h3 class="section">7.4 <code>xr</code> Package</h3>
+<span id="xr-package-1"></span><h3 class="section">7.4 <code>xr</code> package</h3>
 
 <span id="index-xr-package"></span>
 <span id="index-xr_002dhyper-package"></span>
@@ -7313,7 +7314,7 @@
 as an argument, as with <code>\put(1,2){...}</code>, it is not enclosed in
 braces since the parentheses serve to delimit the argument.  Also,
 unlike in some computer graphics systems, larger y-coordinates are
-further up the page, ie. <em>y = 1</em> is <em>above</em> <em>y = 0</em>.
+further up the page, for example, <em>y = 1</em> is <em>above</em> <em>y = 0</em>.
 </p>
 <p>There are four ways to put things in a picture: <code>\put</code>,
 <code>\multiput</code>, <code>\qbezier</code>, and <code>\graphpaper</code>.  The most
@@ -10606,6 +10607,8 @@
 </td></tr>
 <tr><td align="left" valign="top">• <a href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend">\ignorespaces & \ignorespacesafterend</a></td><td>  </td><td align="left" valign="top">Discard extra spaces.
 </td></tr>
+<tr><td align="left" valign="top">• <a href="#xspace-package">xspace package</a></td><td>  </td><td align="left" valign="top">Space after a macro, conditionally.
+</td></tr>
 </table>
 
 
@@ -11545,7 +11548,7 @@
 <hr>
 <span id="g_t_005cignorespaces-_0026-_005cignorespacesafterend"></span><div class="header">
 <p>
-Previous: <a href="#g_t_005cprotect" accesskey="p" rel="prev">\protect</a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#xspace-package" accesskey="n" rel="next">xspace package</a>, Previous: <a href="#g_t_005cprotect" accesskey="p" rel="prev">\protect</a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
 <span id="g_t_005cignorespaces-_0026-_005cignorespacesafterend-1"></span><h3 class="section">12.12 <code>\ignorespaces & \ignorespacesafterend</code></h3>
 
@@ -11598,10 +11601,9 @@
 <code>\fullname</code> will reproduce that.
 </p>
 <div class="example">
-<pre class="example">\makeatletter
-\newcommand{\honorific}[1]{\def\@honorific{#1}} % remember title
-\newcommand{\fullname}[1]{\@honorific~#1}       % put title before name
-\makeatother
+<pre class="example">\newcommand{\honorific}[1]{\def\honorific{#1}} % remember title
+\newcommand{\fullname}[1]{\honorific~#1}       % put title before name
+
 \begin{tabular}{|l|}
 \honorific{Mr/Ms}  \fullname{Jones} \\  % no extra space here
 \honorific{ Mr/Ms} \fullname{Jones}     % extra space before title
@@ -11609,11 +11611,11 @@
 </pre></div>
 
 <p>To fix this, change to
-<code>\newcommand{\fullname}[1]{\ignorespaces\@honorific~#1}</code>.
+<code>\newcommand{\fullname}[1]{\ignorespaces\honorific~#1}</code>.
 </p>
 <p>The <code>\ignorespaces</code> is also often used in a <code>\newenvironment</code>
-at the end of the <var>begin</var> clause, that is, as part of the second
-argument, as in <code>\begin{newenvironment}{<var>env
+at the end of the <var>begin</var> clause, as in
+<code>\begin{newenvironment}{<var>env
 name</var>}{... \ignorespaces}{...}</code>.
 </p>
 <p>To strip spaces off the end of an environment use
@@ -11641,6 +11643,69 @@
 </p>
 
 <hr>
+<span id="xspace-package"></span><div class="header">
+<p>
+Previous: <a href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend" accesskey="p" rel="prev">\ignorespaces & \ignorespacesafterend</a>, Up: <a href="#Definitions" accesskey="u" rel="up">Definitions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+</div>
+<span id="xspace-package-1"></span><h3 class="section">12.13 xspace package</h3>
+
+<span id="index-_005cxspace"></span>
+<span id="index-spaces_002c-ignore-around-commands-1"></span>
+<span id="index-commands_002c-ignore-spaces-1"></span>
+
+<p>Synopsis:
+</p>
+<div class="example">
+<pre class="example">\usepackage{xspace}
+  ...
+\newcommand{...}{...\xspace}
+</pre></div>
+
+<p>The <code>\xspace</code> macro, when used at the end of a command, adds a
+space unless the command is followed by certain punctuation characters.
+</p>
+<p>After a command name that uses letters (as opposed to single character
+command names using non-letters such as <code>\$</code>), TeX gobbles white
+space.  Thus, in the first sentence below, the output has ‘<samp>Vermont</samp>’
+placed snugly against the period, without any intervening space.
+</p>
+<div class="example">
+<pre class="example">\newcommand{\VT}{Vermont}
+Our college is in \VT .
+The \VT{} summers are nice.
+</pre></div>
+
+<p>But because of the gobbling, the second sentence needs the dummy curly
+braces or else there would be no space separating ‘<samp>Vermont</samp>’ from
+‘<samp>summers</samp>’.  (Many authors instead instead use a backslash-space
+<code>\ </code> for this.  See <a href="#g_t_005c_0028SPACE_0029">\(SPACE)</a>.)
+</p>
+<p>The <samp>xspace</samp> package provides <code>\xspace</code>.  It is for writing
+commands which are designed to be used mainly in text.  It inserts a
+space after that command unless what immediately follows is in a list of
+exceptions.  In this example, the dummy braces are not needed.
+</p>
+<div class="example">
+<pre class="example">\newcommand{\VT}{Vermont\xspace}
+Our college is in \VT .
+\VT summers are nice.
+</pre></div>
+
+<p>The default exception list contains the characters <code>,.'/?;:!~-)</code>,
+the open curly brace and the backslash-space command discussed above,
+and the commands <code>\footnote</code> or <code>\footnotemark</code>.  Add to that
+list as with <code>\xspaceaddexceptions{\myfni \myfnii}</code> and remove
+from that list as with <code>\xspaceremoveexception{!}</code>.
+</p>
+<p>A comment: many experts prefer not to use <code>\xspace</code>.  Putting it in
+a definition means that the command will usually get the spacing right.
+But it isn’t easy to predict when to enter dummy braces because
+<code>\xspace</code> will get it wrong, such as when it is followed by another
+command, and so <code>\xspace</code> can make editing material harder and more
+error-prone than instead always remembering the dummy braces.
+</p>
+
+<hr>
 <span id="Counters"></span><div class="header">
 <p>
 Next: <a href="#Lengths" accesskey="n" rel="next">Lengths</a>, Previous: <a href="#Definitions" accesskey="p" rel="prev">Definitions</a>, Up: <a href="#Top" accesskey="u" rel="up">Top</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
@@ -16645,7 +16710,7 @@
 </td></tr>
 <tr><td align="left" valign="top">• <a href="#g_t_005cspacefactor" accesskey="5">\spacefactor</a></td><td>  </td><td align="left" valign="top">Stretchability of following space
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#g_t_005c_0028SPACE_0029" accesskey="6">\(SPACE)</a></td><td>  </td><td align="left" valign="top">Backslash-space; and explicit space.
+<tr><td align="left" valign="top">• <a href="#g_t_005c_0028SPACE_0029" accesskey="6">\(SPACE)</a></td><td>  </td><td align="left" valign="top">Backslash-space, and explicit space.
 </td></tr>
 <tr><td align="left" valign="top">• <a href="#g_t_007e" accesskey="7">~</a></td><td>  </td><td align="left" valign="top">Tie, an unbreakable space.
 </td></tr>
@@ -19766,7 +19831,7 @@
 </td></tr>
 <tr><td align="left" valign="top">• <a href="#Additional-Latin-letters" accesskey="6">Additional Latin letters</a></td><td>  </td><td align="left" valign="top">Inserting other non-English characters.
 </td></tr>
-<tr><td align="left" valign="top">• <a href="#Inputenc-package" accesskey="7">Inputenc package</a></td><td>  </td><td align="left" valign="top">Set the input file text encoding.
+<tr><td align="left" valign="top">• <a href="#inputenc-package" accesskey="7">inputenc package</a></td><td>  </td><td align="left" valign="top">Set the input file text encoding.
 </td></tr>
 <tr><td align="left" valign="top">• <a href="#g_t_005crule" accesskey="8">\rule</a></td><td>  </td><td align="left" valign="top">Inserting lines and rectangles.
 </td></tr>
@@ -20677,7 +20742,7 @@
 <hr>
 <span id="Additional-Latin-letters"></span><div class="header">
 <p>
-Next: <a href="#Inputenc-package" accesskey="n" rel="next">Inputenc package</a>, Previous: <a href="#Accents" accesskey="p" rel="prev">Accents</a>, Up: <a href="#Special-insertions" accesskey="u" rel="up">Special insertions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#inputenc-package" accesskey="n" rel="next">inputenc package</a>, Previous: <a href="#Accents" accesskey="p" rel="prev">Accents</a>, Up: <a href="#Special-insertions" accesskey="u" rel="up">Special insertions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
 <span id="Additional-Latin-letters-1"></span><h3 class="section">23.6 Additional Latin letters</h3>
 
@@ -20792,81 +20857,77 @@
 
 
 <hr>
-<span id="Inputenc-package"></span><div class="header">
+<span id="inputenc-package"></span><div class="header">
 <p>
 Next: <a href="#g_t_005crule" accesskey="n" rel="next">\rule</a>, Previous: <a href="#Additional-Latin-letters" accesskey="p" rel="prev">Additional Latin letters</a>, Up: <a href="#Special-insertions" accesskey="u" rel="up">Special insertions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
-<span id="Inputenc-package-1"></span><h3 class="section">23.7 Inputenc package</h3>
+<span id="inputenc-package-1"></span><h3 class="section">23.7 <code>inputenc</code> package</h3>
 
 <span id="index-inputenc"></span>
 
-<p>Synopsis, one of:
+<p>Synopsis:
 </p>
 <div class="example">
-<pre class="example">\usepackage{inputenc}
-</pre></div>
-
-<p>or
-</p>
-<div class="example">
 <pre class="example">\usepackage[<var>encoding-name</var>]{inputenc}
 </pre></div>
 
-<p>Declare the input file’s text encoding.
+<p>Declare the input file’s text encoding. The default, if this package
+is not loaded, is UTF-8.
 </p>
-<p>In a computer file, the characters are stored as binary according to
-some scheme, called the encoding.  There are many different encodings.
-The simplest is ASCII, but it does not accomodate many characters. For
-instance, to get the a-umlaut character ä in an ASCII-encoded text
-file a user must enter <code>\"a</code>, which makes the file hard to read and
-also means that TeX won’t hyphenation the word containing that
-character.  Often a more inclusive encoding is more convenient.  The
-modern standard, in some ways a union of the others, is UTF-8.
+<span id="index-encoding_002c-of-input-files"></span>
+<span id="index-character-encoding"></span>
+<span id="index-Unicode"></span>
+<p>In a computer file, the characters are stored according to a scheme
+called the <em>encoding</em>.  There are many different encodings.  The
+simplest is ASCII, which supports 95 printable characters, not enough
+for most of the world’s languages. For instance, to typeset the
+a-umlaut character ä in an ASCII-encoded LaTeX source file, the
+sequence <code>\"a</code> is used. This would make source files for anything
+but English hard to read; even for English, often a more extensive
+encoding is more convenient.
 </p>
-<p>In short, to enter material a user sets their file editor to use an
-encoding scheme and this package is how LaTeX knows what encoding
-they used.  For instance, the following command says that the input file
-is UTF-8 (note the lack of a dash).
+<p>The modern encoding standard, in some ways a union of the others, is
+UTF-8, one of the representations of Unicode. This is the default for
+LaTeX since 2018. 
 </p>
+<p>The <code>inputenc</code> package is how LaTeX knows what encoding is
+used.  For instance, the following command explicitly says that the
+input file is UTF-8 (note the lack of a dash).
+</p>
 <div class="example">
 <pre class="example">\usepackage[utf8]{inputenc}
 </pre></div>
 
-<p>Caution: use this package only with the pdfTeX engine (see <a href="#TeX-engines">TeX engines</a>).  The XeTeX and LuaTeX engines assume that the input
-file is UTF-8 encoded.  If you invoke LaTeX with either the
-<code>xelatex</code> command or the <code>lualatex</code> command and use the
-above example line, then you will be warned <code>inputenc package
-ignored with utf8 based engines</code>.  And, if you instead declare a
-non-UTF-8 encoding such as <code>latin1</code> then you will get the error
-<code>inputenc is not designed for xetex or luatex</code>.
+<p>Caution: use <code>inputenc</code> only with the pdfTeX engine
+(see <a href="#TeX-engines">TeX engines</a>).  (The XeTeX and LuaTeX engines assume
+that the input file is UTF-8 encoded.)  If you invoke LaTeX with
+either the <code>xelatex</code> command or the <code>lualatex</code>
+command, and try to declare a non-UTF-8 encoding with <code>inputenc</code>,
+such as <code>latin1</code>, then you will get the error <code>inputenc is
+not designed for xetex or luatex</code>.
 </p>
-<p>In addition, LaTeX releases since 2018 default to an equivalent of
-the above command.  So documents started after that time typically will
-not explicitly include this package.
-</p>
-<p>An <code>inputenc</code> package error like <code>Invalid UTF-8 byte "96</code>
+<p>An <code>inputenc</code> package error such as <code>Invalid UTF-8 byte "96</code>
 means that some of the material in the input file does not follow the
 encoding scheme.  Often these errors come from copying material from a
-document that uses a different encoding than the input file; this one is
-a left single quote from a web page that uses <code>latin1</code> inside a
-LaTeX input file that uses UTF-8.  The solution is to convert the
-character to the LaTeX equivalent, in this case a left single quote,
-or to erase it and enter the character using the input file’s encoding
-(consult your editor’s documentation).
+document that uses a different encoding than the input file; this one
+is a left single quote from a web page using <code>latin1</code> inside a
+LaTeX input file that uses UTF-8.  The simplest solution is to
+replace the non-UTF-8 character with its UTF-8 equivalent, or use a
+LaTeX equivalent command or character.
 </p>
-<p>In some documents, such as in a collection of journal articles from a
+<p>In some documents, such as a collection of journal articles from a
 variety of authors, changing the encoding in mid-document may be
 necessary.  Use the command
 <code>\inputencoding{<var>encoding-name</var>}</code>.  The most common values
-for <var>encoding-name</var> are: <code>ascii</code>, <code>latin1</code>, <code>latin2</code>,
-<code>latin3</code>, <code>latin4</code>, <code>latin5</code>, <code>latin9</code>,
-<code>latin10</code>, and <code>utf8</code>.
+for <var>encoding-name</var> are: <code>ascii</code>, <code>latin1</code>,
+<code>latin2</code>, <code>latin3</code>, <code>latin4</code>, <code>latin5</code>,
+<code>latin9</code>, <code>latin10</code>, and <code>utf8</code>.
 </p>
 
 <hr>
 <span id="g_t_005crule"></span><div class="header">
 <p>
-Next: <a href="#g_t_005ctoday" accesskey="n" rel="next">\today</a>, Previous: <a href="#Inputenc-package" accesskey="p" rel="prev">Inputenc package</a>, Up: <a href="#Special-insertions" accesskey="u" rel="up">Special insertions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
+Next: <a href="#g_t_005ctoday" accesskey="n" rel="next">\today</a>, Previous: <a href="#inputenc-package" accesskey="p" rel="prev">inputenc package</a>, Up: <a href="#Special-insertions" accesskey="u" rel="up">Special insertions</a>   [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p>
 </div>
 <span id="g_t_005crule-1"></span><h3 class="section">23.8 <code>\rule</code></h3>
 
@@ -25168,6 +25229,7 @@
 <tr><td></td><td valign="top"><a href="#index-_005cwrite18_002c-enabling"><code>\write18</code>, enabling</a>:</td><td> </td><td valign="top"><a href="#Command-line-options">Command line options</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-_005cXi"><code>\Xi</code></a>:</td><td> </td><td valign="top"><a href="#Math-symbols">Math symbols</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-_005cxi"><code>\xi</code></a>:</td><td> </td><td valign="top"><a href="#Math-symbols">Math symbols</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-_005cxspace"><code>\xspace</code></a>:</td><td> </td><td valign="top"><a href="#xspace-package">xspace package</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-_005cyear"><code>\year</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cday-_0026-_005cmonth-_0026-_005cyear">\day & \month & \year</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-_005czeta"><code>\zeta</code></a>:</td><td> </td><td valign="top"><a href="#Math-symbols">Math symbols</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-_005c_005b_002e_002e_002e_005c_005d-display-math"><code>\[...\] <span class="roman">display math</span></code></a>:</td><td> </td><td valign="top"><a href="#displaymath">displaymath</a></td></tr>
@@ -25364,6 +25426,7 @@
 <tr><td></td><td valign="top"><a href="#index-chapter">chapter</a>:</td><td> </td><td valign="top"><a href="#Sectioning">Sectioning</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-chapter-1">chapter</a>:</td><td> </td><td valign="top"><a href="#g_t_005cchapter">\chapter</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-character-category-code">character category code</a>:</td><td> </td><td valign="top"><a href="#g_t_005cmakeatletter-_0026-_005cmakeatother">\makeatletter & \makeatother</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-character-encoding">character encoding</a>:</td><td> </td><td valign="top"><a href="#inputenc-package">inputenc package</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-character_002c-invisible">character, invisible</a>:</td><td> </td><td valign="top"><a href="#g_t_005cphantom-_0026-_005cvphantom-_0026-_005chphantom">\phantom & \vphantom & \hphantom</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-characters_002c-accented">characters, accented</a>:</td><td> </td><td valign="top"><a href="#Accents">Accents</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-characters_002c-case-of">characters, case of</a>:</td><td> </td><td valign="top"><a href="#Upper-and-lower-case">Upper and lower case</a></td></tr>
@@ -25420,6 +25483,7 @@
 <tr><td></td><td valign="top"><a href="#index-commands_002c-document-class">commands, document class</a>:</td><td> </td><td valign="top"><a href="#Class-and-package-construction">Class and package construction</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-commands_002c-graphics-package">commands, graphics package</a>:</td><td> </td><td valign="top"><a href="#Commands-for-graphics">Commands for graphics</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-commands_002c-ignore-spaces">commands, ignore spaces</a>:</td><td> </td><td valign="top"><a href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend">\ignorespaces & \ignorespacesafterend</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-commands_002c-ignore-spaces-1">commands, ignore spaces</a>:</td><td> </td><td valign="top"><a href="#xspace-package">xspace package</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-commands_002c-redefining">commands, redefining</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-commands_002c-run-from-LaTeX">commands, run from LaTeX</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-commands_002c-star_002dvariants">commands, star-variants</a>:</td><td> </td><td valign="top"><a href="#g_t_005c_0040ifstar">\@ifstar</a></td></tr>
@@ -25542,6 +25606,7 @@
 <tr><td></td><td valign="top"><a href="#index-emphasis">emphasis</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-enclosure-list">enclosure list</a>:</td><td> </td><td valign="top"><a href="#g_t_005cencl">\encl</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Encoding_002c-font">Encoding, font</a>:</td><td> </td><td valign="top"><a href="#g_t_005cDeclareFontEncoding">\DeclareFontEncoding</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-encoding_002c-of-input-files">encoding, of input files</a>:</td><td> </td><td valign="top"><a href="#inputenc-package">inputenc package</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-end-matter-of-a-book">end matter of a book</a>:</td><td> </td><td valign="top"><a href="#g_t_005cfrontmatter-_0026-_005cmainmatter-_0026-_005cbackmatter">\frontmatter & \mainmatter & \backmatter</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-end-of-document-hook">end of document hook</a>:</td><td> </td><td valign="top"><a href="#g_t_005cAtEndDocument">\AtEndDocument</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-ending-and-starting">ending and starting</a>:</td><td> </td><td valign="top"><a href="#Starting-and-ending">Starting and ending</a></td></tr>
@@ -25792,7 +25857,7 @@
 <tr><td></td><td valign="top"><a href="#index-input_002c-on-command-line">input, on command line</a>:</td><td> </td><td valign="top"><a href="#Command-line-input">Command line input</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-input_002foutput">input/output</a>:</td><td> </td><td valign="top"><a href="#Input_002foutput">Input/output</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-input_002foutput_002c-to-terminal">input/output, to terminal</a>:</td><td> </td><td valign="top"><a href="#Input_002foutput">Input/output</a></td></tr>
-<tr><td></td><td valign="top"><a href="#index-inputenc"><code>inputenc</code></a>:</td><td> </td><td valign="top"><a href="#Inputenc-package">Inputenc package</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-inputenc"><code>inputenc</code></a>:</td><td> </td><td valign="top"><a href="#inputenc-package">inputenc package</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-inserting-figures">inserting figures</a>:</td><td> </td><td valign="top"><a href="#figure">figure</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-insertions-of-special-characters">insertions of special characters</a>:</td><td> </td><td valign="top"><a href="#Special-insertions">Special insertions</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-internal-vertical-mode">internal vertical mode</a>:</td><td> </td><td valign="top"><a href="#Modes">Modes</a></td></tr>
@@ -26353,6 +26418,7 @@
 <tr><td></td><td valign="top"><a href="#index-space_002c-vertical">space, vertical</a>:</td><td> </td><td valign="top"><a href="#g_t_005cvspace">\vspace</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-spaces">spaces</a>:</td><td> </td><td valign="top"><a href="#Spaces">Spaces</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-spaces_002c-ignore-around-commands">spaces, ignore around commands</a>:</td><td> </td><td valign="top"><a href="#g_t_005cignorespaces-_0026-_005cignorespacesafterend">\ignorespaces & \ignorespacesafterend</a></td></tr>
+<tr><td></td><td valign="top"><a href="#index-spaces_002c-ignore-around-commands-1">spaces, ignore around commands</a>:</td><td> </td><td valign="top"><a href="#xspace-package">xspace package</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-spacing-within-math-mode">spacing within math mode</a>:</td><td> </td><td valign="top"><a href="#Spacing-in-math-mode">Spacing in math mode</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-spacing_002c-inter_002dsentence">spacing, inter-sentence</a>:</td><td> </td><td valign="top"><a href="#g_t_005cfrenchspacing">\frenchspacing</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-spacing_002c-inter_002dsentence-1">spacing, inter-sentence</a>:</td><td> </td><td valign="top"><a href="#g_t_005cnormalsfcodes">\normalsfcodes</a></td></tr>
@@ -26493,6 +26559,7 @@
 <tr><td></td><td valign="top"><a href="#index-underbar">underbar</a>:</td><td> </td><td valign="top"><a href="#Accents">Accents</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-underlining">underlining</a>:</td><td> </td><td valign="top"><a href="#Over_002d-and-Underlining">Over- and Underlining</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-underscore_002c-in-text">underscore, in text</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-Unicode">Unicode</a>:</td><td> </td><td valign="top"><a href="#inputenc-package">inputenc package</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-Unicode-input_002c-native">Unicode input, native</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-unicode_002dmath-package"><code>unicode-math</code> <span class="roman">package</span></a>:</td><td> </td><td valign="top"><a href="#Greek-letters">Greek letters</a></td></tr>
 <tr><td></td><td valign="top"><a href="#index-units_002c-of-length">units, of length</a>:</td><td> </td><td valign="top"><a href="#Units-of-length">Units of length</a></td></tr>

Modified: trunk/latex2e.info
===================================================================
--- trunk/latex2e.info	2021-05-26 21:52:51 UTC (rev 915)
+++ trunk/latex2e.info	2021-05-27 15:07:06 UTC (rev 916)
@@ -3269,7 +3269,7 @@
 
 File: latex2e.info,  Node: xr package,  Prev: \ref,  Up: Cross references
 
-7.4 'xr' Package
+7.4 'xr' package
 ================
 
 Synopsis:
@@ -4907,7 +4907,7 @@
 appears as an argument, as with '\put(1,2){...}', it is not enclosed in
 braces since the parentheses serve to delimit the argument.  Also,
 unlike in some computer graphics systems, larger y-coordinates are
-further up the page, ie. y = 1 is _above_ y = 0.
+further up the page, for example, y = 1 is _above_ y = 0.
 
    There are four ways to put things in a picture: '\put', '\multiput',
 '\qbezier', and '\graphpaper'.  The most often used is '\put'.  This
@@ -7342,6 +7342,7 @@
 * \newfont::                       Define a new font name.
 * \protect::                       Using tricky commands.
 * \ignorespaces & \ignorespacesafterend:: Discard extra spaces.
+* xspace package::                 Space after a macro, conditionally.
 
 
 File: latex2e.info,  Node: \newcommand & \renewcommand,  Next: \providecommand,  Up: Definitions
@@ -8071,7 +8072,7 @@
      ...
 
 
-File: latex2e.info,  Node: \ignorespaces & \ignorespacesafterend,  Prev: \protect,  Up: Definitions
+File: latex2e.info,  Node: \ignorespaces & \ignorespacesafterend,  Next: xspace package,  Prev: \protect,  Up: Definitions
 
 12.12 '\ignorespaces & \ignorespacesafterend'
 =============================================
@@ -8111,21 +8112,20 @@
 But, as given, if a title accidentally starts with a space then
 '\fullname' will reproduce that.
 
-     \makeatletter
-     \newcommand{\honorific}[1]{\def\@honorific{#1}} % remember title
-     \newcommand{\fullname}[1]{\@honorific~#1}       % put title before name
-     \makeatother
+     \newcommand{\honorific}[1]{\def\honorific{#1}} % remember title
+     \newcommand{\fullname}[1]{\honorific~#1}       % put title before name
+
      \begin{tabular}{|l|}
      \honorific{Mr/Ms}  \fullname{Jones} \\  % no extra space here
      \honorific{ Mr/Ms} \fullname{Jones}     % extra space before title
      \end{tabular}
 
 To fix this, change to
-'\newcommand{\fullname}[1]{\ignorespaces\@honorific~#1}'.
+'\newcommand{\fullname}[1]{\ignorespaces\honorific~#1}'.
 
    The '\ignorespaces' is also often used in a '\newenvironment' at the
-end of the BEGIN clause, that is, as part of the second argument, as in
-'\begin{newenvironment}{ENV NAME}{... \ignorespaces}{...}'.
+end of the BEGIN clause, as in '\begin{newenvironment}{ENV NAME}{...
+\ignorespaces}{...}'.
 
    To strip spaces off the end of an environment use
 '\ignorespacesafterend'.  An example is that this will show a much
@@ -8149,6 +8149,58 @@
 '\newenvironment{eq}{\begin{equation}}{\end{equation}\ignorespacesafterend}'.
 
 
+File: latex2e.info,  Node: xspace package,  Prev: \ignorespaces & \ignorespacesafterend,  Up: Definitions
+
+12.13 xspace package
+====================
+
+Synopsis:
+
+     \usepackage{xspace}
+       ...
+     \newcommand{...}{...\xspace}
+
+   The '\xspace' macro, when used at the end of a command, adds a space
+unless the command is followed by certain punctuation characters.
+
+   After a command name that uses letters (as opposed to single
+character command names using non-letters such as '\$'), TeX gobbles
+white space.  Thus, in the first sentence below, the output has
+'Vermont' placed snugly against the period, without any intervening
+space.
+
+     \newcommand{\VT}{Vermont}
+     Our college is in \VT .
+     The \VT{} summers are nice.
+
+   But because of the gobbling, the second sentence needs the dummy
+curly braces or else there would be no space separating 'Vermont' from
+'summers'.  (Many authors instead instead use a backslash-space '\ ' for
+this.  *Note \(SPACE)::.)
+
+   The 'xspace' package provides '\xspace'.  It is for writing commands
+which are designed to be used mainly in text.  It inserts a space after
+that command unless what immediately follows is in a list of exceptions.
+In this example, the dummy braces are not needed.
+
+     \newcommand{\VT}{Vermont\xspace}
+     Our college is in \VT .
+     \VT summers are nice.
+
+   The default exception list contains the characters ',.'/?;:!~-)', the
+open curly brace and the backslash-space command discussed above, and
+the commands '\footnote' or '\footnotemark'.  Add to that list as with
+'\xspaceaddexceptions{\myfni \myfnii}' and remove from that list as with
+'\xspaceremoveexception{!}'.
+
+   A comment: many experts prefer not to use '\xspace'.  Putting it in a
+definition means that the command will usually get the spacing right.
+But it isn't easy to predict when to enter dummy braces because
+'\xspace' will get it wrong, such as when it is followed by another
+command, and so '\xspace' can make editing material harder and more
+error-prone than instead always remembering the dummy braces.
+
+
 File: latex2e.info,  Node: Counters,  Next: Lengths,  Prev: Definitions,  Up: Top
 
 13 Counters
@@ -11390,7 +11442,7 @@
 * \hfill::                Stretchable horizontal space.
 * \hss::                  Infinitely stretchable/shrinkable horizontal space.
 * \spacefactor::          Stretchability of following space
-* \(SPACE)::              Backslash-space; and explicit space.
+* \(SPACE)::              Backslash-space, and explicit space.
 * ~::                     Tie, an unbreakable space.
 * \thinspace & \negthinspace::  One-sixth of an em, and negative one-sixth.
 * \/::                    Italic correction.
@@ -13765,7 +13817,7 @@
 * Text symbols::                Inserting other non-letter symbols in text.
 * Accents::                     Inserting accents.
 * Additional Latin letters::    Inserting other non-English characters.
-* Inputenc package::            Set the input file text encoding.
+* inputenc package::            Set the input file text encoding.
 * \rule::                       Inserting lines and rectangles.
 * \today::                      Inserting today's date.
 
@@ -14215,7 +14267,7 @@
 as it cannot analyze upper/lower case.
 
 
-File: latex2e.info,  Node: Additional Latin letters,  Next: Inputenc package,  Prev: Accents,  Up: Special insertions
+File: latex2e.info,  Node: Additional Latin letters,  Next: inputenc package,  Prev: Accents,  Up: Special insertions
 
 23.6 Additional Latin letters
 =============================
@@ -14275,67 +14327,61 @@
      encoding, such as T1.
 
 
-File: latex2e.info,  Node: Inputenc package,  Next: \rule,  Prev: Additional Latin letters,  Up: Special insertions
+File: latex2e.info,  Node: inputenc package,  Next: \rule,  Prev: Additional Latin letters,  Up: Special insertions
 
-23.7 Inputenc package
-=====================
+23.7 'inputenc' package
+=======================
 
-Synopsis, one of:
+Synopsis:
 
-     \usepackage{inputenc}
+     \usepackage[ENCODING-NAME]{inputenc}
 
-   or
+   Declare the input file's text encoding.  The default, if this package
+is not loaded, is UTF-8.
 
-     \usepackage[ENCODING-NAME]{inputenc}
+   In a computer file, the characters are stored according to a scheme
+called the "encoding".  There are many different encodings.  The
+simplest is ASCII, which supports 95 printable characters, not enough
+for most of the world's languages.  For instance, to typeset the
+a-umlaut character ä in an ASCII-encoded LaTeX source file, the sequence
+'\"a' is used.  This would make source files for anything but English
+hard to read; even for English, often a more extensive encoding is more
+convenient.
 
-   Declare the input file's text encoding.
+   The modern encoding standard, in some ways a union of the others, is
+UTF-8, one of the representations of Unicode.  This is the default for
+LaTeX since 2018.
 
-   In a computer file, the characters are stored as binary according to
-some scheme, called the encoding.  There are many different encodings.
-The simplest is ASCII, but it does not accomodate many characters.  For
-instance, to get the a-umlaut character ä in an ASCII-encoded text file
-a user must enter '\"a', which makes the file hard to read and also
-means that TeX won't hyphenation the word containing that character.
-Often a more inclusive encoding is more convenient.  The modern
-standard, in some ways a union of the others, is UTF-8.
-
-   In short, to enter material a user sets their file editor to use an
-encoding scheme and this package is how LaTeX knows what encoding they
-used.  For instance, the following command says that the input file is
+   The 'inputenc' package is how LaTeX knows what encoding is used.  For
+instance, the following command explicitly says that the input file is
 UTF-8 (note the lack of a dash).
 
      \usepackage[utf8]{inputenc}
 
-   Caution: use this package only with the pdfTeX engine (*note TeX
-engines::).  The XeTeX and LuaTeX engines assume that the input file is
-UTF-8 encoded.  If you invoke LaTeX with either the 'xelatex' command or
-the 'lualatex' command and use the above example line, then you will be
-warned 'inputenc package ignored with utf8 based engines'.  And, if you
-instead declare a non-UTF-8 encoding such as 'latin1' then you will get
-the error 'inputenc is not designed for xetex or luatex'.
+   Caution: use 'inputenc' only with the pdfTeX engine (*note TeX
+engines::).  (The XeTeX and LuaTeX engines assume that the input file is
+UTF-8 encoded.)  If you invoke LaTeX with either the 'xelatex' command
+or the 'lualatex' command, and try to declare a non-UTF-8 encoding with
+'inputenc', such as 'latin1', then you will get the error 'inputenc is
+not designed for xetex or luatex'.
 
-   In addition, LaTeX releases since 2018 default to an equivalent of
-the above command.  So documents started after that time typically will
-not explicitly include this package.
-
-   An 'inputenc' package error like 'Invalid UTF-8 byte "96' means that
-some of the material in the input file does not follow the encoding
+   An 'inputenc' package error such as 'Invalid UTF-8 byte "96' means
+that some of the material in the input file does not follow the encoding
 scheme.  Often these errors come from copying material from a document
 that uses a different encoding than the input file; this one is a left
-single quote from a web page that uses 'latin1' inside a LaTeX input
-file that uses UTF-8.  The solution is to convert the character to the
-LaTeX equivalent, in this case a left single quote, or to erase it and
-enter the character using the input file's encoding (consult your
-editor's documentation).
+single quote from a web page using 'latin1' inside a LaTeX input file
+that uses UTF-8.  The simplest solution is to replace the non-UTF-8
+character with its UTF-8 equivalent, or use a LaTeX equivalent command
+or character.
 
-   In some documents, such as in a collection of journal articles from a
+   In some documents, such as a collection of journal articles from a
 variety of authors, changing the encoding in mid-document may be
 necessary.  Use the command '\inputencoding{ENCODING-NAME}'.  The most
 common values for ENCODING-NAME are: 'ascii', 'latin1', 'latin2',
 'latin3', 'latin4', 'latin5', 'latin9', 'latin10', and 'utf8'.
 
 
-File: latex2e.info,  Node: \rule,  Next: \today,  Prev: Inputenc package,  Up: Special insertions
+File: latex2e.info,  Node: \rule,  Next: \today,  Prev: inputenc package,  Up: Special insertions
 
 23.8 '\rule'
 ============
@@ -17920,6 +17966,7 @@
                                                               (line  61)
 * \Xi:                                   Math symbols.        (line 860)
 * \xi:                                   Math symbols.        (line 863)
+* \xspace:                               xspace package.      (line   6)
 * \year:                                 \day & \month & \year.
                                                               (line   6)
 * \zeta:                                 Math symbols.        (line 866)
@@ -18137,6 +18184,7 @@
 * chapter <1>:                           \chapter.            (line   6)
 * character category code:               \makeatletter & \makeatother.
                                                               (line  19)
+* character encoding:                    inputenc package.    (line  13)
 * character, invisible:                  \phantom & \vphantom & \hphantom.
                                                               (line   6)
 * characters, accented:                  Accents.             (line   6)
@@ -18215,6 +18263,7 @@
                                                               (line   6)
 * commands, ignore spaces:               \ignorespaces & \ignorespacesafterend.
                                                               (line   6)
+* commands, ignore spaces <1>:           xspace package.      (line   6)
 * commands, redefining:                  \newcommand & \renewcommand.
                                                               (line   6)
 * commands, run from LaTeX:              \write18.            (line   6)
@@ -18346,6 +18395,7 @@
 * enclosure list:                        \encl.               (line   6)
 * Encoding, font:                        \DeclareFontEncoding.
                                                               (line   6)
+* encoding, of input files:              inputenc package.    (line  13)
 * end matter of a book:                  \frontmatter & \mainmatter & \backmatter.
                                                               (line   6)
 * end of document hook:                  \AtEndDocument.      (line   6)
@@ -18640,7 +18690,7 @@
 * input, on command line:                Command line input.  (line   6)
 * input/output:                          Input/output.        (line   6)
 * input/output, to terminal:             Input/output.        (line   6)
-* inputenc:                              Inputenc package.    (line   6)
+* inputenc:                              inputenc package.    (line   6)
 * inserting figures:                     figure.              (line   6)
 * insertions of special characters:      Special insertions.  (line   6)
 * internal vertical mode:                Modes.               (line  38)
@@ -19288,6 +19338,7 @@
 * spaces:                                Spaces.              (line   6)
 * spaces, ignore around commands:        \ignorespaces & \ignorespacesafterend.
                                                               (line   6)
+* spaces, ignore around commands <1>:    xspace package.      (line   6)
 * spacing within math mode:              Spacing in math mode.
                                                               (line   6)
 * spacing, inter-sentence:               \frenchspacing.      (line   6)
@@ -19454,6 +19505,7 @@
 * underlining:                           Over- and Underlining.
                                                               (line   6)
 * underscore, in text:                   Text symbols.        (line 192)
+* Unicode:                               inputenc package.    (line  13)
 * Unicode input, native:                 TeX engines.         (line   6)
 * unicode-math package:                  Greek letters.       (line  37)
 * units, of length:                      Units of length.     (line   6)
@@ -19705,346 +19757,347 @@
 Node: math182856
 Node: minipage183162
 Node: picture188691
-Node: \put194912
-Node: \multiput195477
-Node: \qbezier196216
-Node: \graphpaper197689
-Node: \line198483
-Node: \linethickness200457
-Node: \thinlines200906
-Node: \thicklines201317
-Node: \circle201701
-Node: \oval202243
-Node: \shortstack203219
-Node: \vector204616
-Node: \makebox (picture)205530
-Node: \framebox (picture)206712
-Node: \frame208185
-Node: \dashbox208625
-Node: quotation & quote209760
-Node: tabbing210656
-Node: table216559
-Node: tabular218623
-Ref: tabular arrayrulewidth224960
-Ref: tabular arraystrech225200
-Ref: tabular doublerulesep225421
-Ref: tabular tabcolsep225557
-Node: \multicolumn226078
-Node: \vline229954
-Node: \cline231345
-Node: \hline232055
-Node: thebibliography232737
-Node: \bibitem235220
-Node: \cite237514
-Node: \nocite239382
-Node: Using BibTeX239890
-Node: theorem242061
-Node: titlepage242983
-Node: verbatim244266
-Node: \verb246079
-Node: verse248172
-Node: Line breaking249399
-Node: \\250765
-Node: \obeycr & \restorecr253198
-Node: \newline254009
-Node: \- (hyphenation)255038
-Node: \discretionary256676
-Node: \fussy & \sloppy257564
-Node: sloppypar258347
-Node: \hyphenation259493
-Node: \linebreak & \nolinebreak260087
-Node: Page breaking261235
-Node: \clearpage & \cleardoublepage263265
-Node: \newpage264785
-Node: \enlargethispage266083
-Node: \pagebreak & \nopagebreak267039
-Node: Footnotes268706
-Node: \footnote269852
-Ref: footnote footnoterule271120
-Ref: footnote footnotesep271731
-Node: \footnotemark272797
-Node: \footnotetext275136
-Node: Footnotes in section headings275738
-Node: Footnotes in a table276571
-Node: Footnotes of footnotes279493
-Node: Definitions280197
-Node: \newcommand & \renewcommand281173
-Node: \providecommand286474
-Node: \makeatletter & \makeatother287639
-Node: \@ifstar289741
-Node: \newcounter293226
-Node: \newlength294946
-Node: \newsavebox295768
-Node: \newenvironment & \renewenvironment296747
-Node: \newtheorem302071
-Node: \newfont305643
-Node: \protect306876
-Node: \ignorespaces & \ignorespacesafterend309264
-Node: Counters312002
-Node: \alph \Alph \arabic \roman \Roman \fnsymbol313703
-Node: \usecounter316328
-Node: \value317187
-Node: \setcounter318240
-Node: \addtocounter318836
-Node: \refstepcounter319290
-Node: \stepcounter319959
-Node: \day & \month & \year320512
-Node: Lengths321323
-Node: Units of length325799
-Ref: units of length pt326002
-Ref: units of length pc326102
-Ref: units of length in326125
-Ref: units of length bp326151
-Ref: units of length cm326282
-Ref: units of length mm326304
-Ref: units of length dd326326
-Ref: units of length cc326358
-Ref: units of length sp326383
-Ref: Lengths/em326414
-Ref: Lengths/en326414
-Ref: Lengths/ex326414
-Ref: units of length em326414
-Ref: units of length en326414
-Ref: units of length ex326414
-Node: \setlength327270
-Node: \addtolength328355
-Node: \settodepth329430
-Node: \settoheight330308
-Node: \settowidth331201
-Node: Making paragraphs332069
-Node: \par333840
-Node: \indent & \noindent335787
-Node: \parindent & \parskip337322
-Node: Marginal notes338629
-Ref: marginal notes marginparpush340025
-Ref: marginal notes marginparsep340199
-Ref: marginal notes marginparwidth340331
-Node: Math formulas340680
-Node: Subscripts & superscripts344848
-Node: Math symbols347009
-Node: Arrows370780
-Node: \boldmath & \unboldmath371968
-Node: Blackboard bold373487
-Node: Calligraphic374289
-Node: Delimiters374820
-Node: \left & \right377008
-Node: \bigl & \bigr etc.381016
-Node: Dots383769
-Ref: ellipses cdots384200
-Ref: ellipses ddots384345
-Ref: ellipses ldots384426
-Ref: ellipses vdots384843
-Node: Greek letters386027
-Node: Math functions387706
-Node: Math accents389350
-Node: Over- and Underlining390249
-Node: Spacing in math mode392076
-Ref: spacing in math mode thickspace393011
-Ref: spacing in math mode medspace393436
-Ref: Spacing in math mode/\thinspace393863
-Ref: spacing in math mode thinspace393863
-Ref: spacing in math mode negthinspace394344
-Ref: spacing in math mode quad394671
-Ref: spacing in math mode qquad394927
-Node: \smash395190
-Node: \phantom & \vphantom & \hphantom397407
-Node: Math miscellany399445
-Node: Colon character & \colon399951
-Node: \*400644
-Node: \frac401224
-Node: \sqrt401595
-Node: \stackrel402181
-Node: Modes402454
-Ref: modes paragraph mode402904
-Ref: modes lr mode403100
-Ref: modes math mode403706
-Ref: modes vertical mode404041
-Ref: modes internal vertical mode404212
-Ref: modes inner paragraph mode404685
-Ref: modes outer paragraph mode404685
-Node: \ensuremath405099
-Node: Page styles405804
-Node: \maketitle406567
-Node: \pagenumbering409585
-Node: \pagestyle411573
-Node: \thispagestyle415075
-Node: Spaces416029
-Node: \enspace & \quad & \qquad417470
-Node: \hspace418385
-Node: \hfill420223
-Node: \hss421287
-Node: \spacefactor421981
-Node: \@425368
-Ref: \AT425468
-Node: \frenchspacing427408
-Node: \normalsfcodes428243
-Node: \(SPACE)428490
-Node: ~430280
-Node: \thinspace & \negthinspace432857
-Node: \/434028
-Node: \hrulefill & \dotfill435984
-Node: \bigskip & \medskip & \smallskip437340
-Ref: bigskip438158
-Ref: medskip438362
-Ref: smallskip438571
-Node: \bigbreak & \medbreak & \smallbreak439232
-Node: \strut440218
-Node: \vspace443413
-Node: \vfill444977
-Node: \addvspace445905
-Node: Boxes447901
-Node: \mbox & \makebox448607
-Ref: mbox makebox depth449875
-Ref: mbox makebox height449875
-Ref: mbox makebox width449875
-Ref: mbox makebox totalheight449875
-Node: \fbox & \framebox451970
-Ref: fbox framebox fboxrule453284
-Ref: fbox framebox fboxsep453474
-Node: \parbox454564
-Node: \raisebox456870
-Ref: raisebox depth457843
-Ref: raisebox height457843
-Ref: raisebox width457843
-Ref: raisebox totalheight457843
-Node: \sbox & \savebox458544
-Node: lrbox461606
-Node: \usebox462492
-Node: Color462931
-Node: Color package options463730
-Node: Color models465376
-Ref: color models cmyk466173
-Ref: color models gray466536
-Ref: color models rgb466685
-Ref: color models RGB467022
-Ref: color models named467397
-Node: Commands for color467685
-Node: Define colors468100
-Node: Colored text468825
-Node: Colored boxes471222
-Node: Colored pages472611
-Node: Graphics473304
-Node: Graphics package options475431
-Node: Graphics package configuration478184
-Node: \graphicspath478986
-Node: \DeclareGraphicsExtensions481944
-Node: \DeclareGraphicsRule483762
-Node: Commands for graphics486943
-Node: \includegraphics487448
-Ref: includegraphics width492502
-Ref: includegraphics height493035
-Ref: includegraphics totalheight493441
-Ref: includegraphics keepaspectratio493705
-Ref: includegraphics viewport495391
-Ref: includegraphics trim495786
-Ref: includegraphics clip496242
-Ref: includegraphics page496502
-Ref: includegraphics pagebox496593
-Ref: includegraphics interpolate497458
-Ref: includegraphics quiet497663
-Ref: includegraphics draft497824
-Ref: includegraphics bb498629
-Ref: includegraphics bbllx499027
-Ref: includegraphics bblly499027
-Ref: includegraphics bburx499027
-Ref: includegraphics bbury499027
-Ref: includegraphics natwidth499169
-Ref: includegraphics natheight499169
-Ref: includegraphics hiresbb499355
-Ref: includegraphics type500117
-Ref: includegraphics ext500157
-Ref: includegraphics read500260
-Ref: includegraphics command500377
-Node: \rotatebox500623
-Node: \scalebox503477
-Node: \resizebox504533
-Node: Special insertions505725
-Node: Reserved characters506593
-Node: Upper and lower case507853
-Node: Symbols by font position510239
-Node: Text symbols510918
-Node: Accents515103
-Node: \accent517256
-Node: Additional Latin letters519018
-Ref: Non-English characters519200
-Node: Inputenc package520219
-Node: \rule522943
-Node: \today524108
-Node: Splitting the input525044
-Node: \endinput526786
-Node: \include & \includeonly528089
-Node: \input532386
-Node: Front/back matter533601
-Node: Table of contents etc.533934
-Node: \addcontentsline537759
-Node: \addtocontents540601
-Node: \nofiles542192
-Node: Indexes542924
-Node: \index544532
-Node: makeindex549637
-Ref: makeindex preamble551305
-Ref: makeindex postamble551445
-Ref: makeindex group skip551530
-Ref: makeindex letheadflag551863
-Ref: makeindex lethead prefix552324
-Ref: makeindex lethead suffix552476
-Ref: makeindex item 0552624
-Ref: makeindex item 1552704
-Ref: makeindex item 2552779
-Ref: makeindex item 01552857
-Ref: makeindex item x1552962
-Ref: makeindex item 12553167
-Ref: makeindex item x2553275
-Ref: makeindex delim 0553435
-Ref: makeindex delim 1553565
-Ref: makeindex delim 2553695
-Ref: makeindex delim n553821
-Ref: makeindex delim r553956
-Ref: makeindex line max554064
-Ref: makeindex indent space554199
-Ref: makeindex indent length554294
-Ref: makeindex page precedence554479
-Node: \printindex555353
-Node: Glossaries555826
-Node: \newglossaryentry557793
-Node: \gls559260
-Node: Letters560054
-Node: \address563672
-Node: \cc564483
-Node: \closing564925
-Node: \encl565239
-Node: \location565653
-Node: \makelabels565917
-Node: \name568234
-Node: \opening568475
-Node: \ps568756
-Node: \signature569045
-Node: \telephone570273
-Node: Input/output570638
-Node: \openin & \openout571368
-Node: \read574111
-Node: \typein575298
-Node: \typeout576558
-Node: \write577608
-Node: \write and security582335
-Node: \message583279
-Node: \wlog585108
-Node: \write18585609
-Node: Command line interface589100
-Ref: Command line589264
-Node: Command line options591347
-Ref: interaction modes592343
-Ref: output directory593297
-Node: Command line input594996
-Node: Jobname596825
-Node: Recovering from errors600107
-Node: Document templates601452
-Node: beamer template601886
-Node: article template602528
-Node: book template602991
-Node: Larger book template603470
-Node: Index605012
-Ref: Command Index605098
+Node: \put194921
+Node: \multiput195486
+Node: \qbezier196225
+Node: \graphpaper197698
+Node: \line198492
+Node: \linethickness200466
+Node: \thinlines200915
+Node: \thicklines201326
+Node: \circle201710
+Node: \oval202252
+Node: \shortstack203228
+Node: \vector204625
+Node: \makebox (picture)205539
+Node: \framebox (picture)206721
+Node: \frame208194
+Node: \dashbox208634
+Node: quotation & quote209769
+Node: tabbing210665
+Node: table216568
+Node: tabular218632
+Ref: tabular arrayrulewidth224969
+Ref: tabular arraystrech225209
+Ref: tabular doublerulesep225430
+Ref: tabular tabcolsep225566
+Node: \multicolumn226087
+Node: \vline229963
+Node: \cline231354
+Node: \hline232064
+Node: thebibliography232746
+Node: \bibitem235229
+Node: \cite237523
+Node: \nocite239391
+Node: Using BibTeX239899
+Node: theorem242070
+Node: titlepage242992
+Node: verbatim244275
+Node: \verb246088
+Node: verse248181
+Node: Line breaking249408
+Node: \\250774
+Node: \obeycr & \restorecr253207
+Node: \newline254018
+Node: \- (hyphenation)255047
+Node: \discretionary256685
+Node: \fussy & \sloppy257573
+Node: sloppypar258356
+Node: \hyphenation259502
+Node: \linebreak & \nolinebreak260096
+Node: Page breaking261244
+Node: \clearpage & \cleardoublepage263274
+Node: \newpage264794
+Node: \enlargethispage266092
+Node: \pagebreak & \nopagebreak267048
+Node: Footnotes268715
+Node: \footnote269861
+Ref: footnote footnoterule271129
+Ref: footnote footnotesep271740
+Node: \footnotemark272806
+Node: \footnotetext275145
+Node: Footnotes in section headings275747
+Node: Footnotes in a table276580
+Node: Footnotes of footnotes279502
+Node: Definitions280206
+Node: \newcommand & \renewcommand281253
+Node: \providecommand286554
+Node: \makeatletter & \makeatother287719
+Node: \@ifstar289821
+Node: \newcounter293306
+Node: \newlength295026
+Node: \newsavebox295848
+Node: \newenvironment & \renewenvironment296827
+Node: \newtheorem302151
+Node: \newfont305723
+Node: \protect306956
+Node: \ignorespaces & \ignorespacesafterend309344
+Node: xspace package312025
+Node: Counters314090
+Node: \alph \Alph \arabic \roman \Roman \fnsymbol315791
+Node: \usecounter318416
+Node: \value319275
+Node: \setcounter320328
+Node: \addtocounter320924
+Node: \refstepcounter321378
+Node: \stepcounter322047
+Node: \day & \month & \year322600
+Node: Lengths323411
+Node: Units of length327887
+Ref: units of length pt328090
+Ref: units of length pc328190
+Ref: units of length in328213
+Ref: units of length bp328239
+Ref: units of length cm328370
+Ref: units of length mm328392
+Ref: units of length dd328414
+Ref: units of length cc328446
+Ref: units of length sp328471
+Ref: Lengths/em328502
+Ref: Lengths/en328502
+Ref: Lengths/ex328502
+Ref: units of length em328502
+Ref: units of length en328502
+Ref: units of length ex328502
+Node: \setlength329358
+Node: \addtolength330443
+Node: \settodepth331518
+Node: \settoheight332396
+Node: \settowidth333289
+Node: Making paragraphs334157
+Node: \par335928
+Node: \indent & \noindent337875
+Node: \parindent & \parskip339410
+Node: Marginal notes340717
+Ref: marginal notes marginparpush342113
+Ref: marginal notes marginparsep342287
+Ref: marginal notes marginparwidth342419
+Node: Math formulas342768
+Node: Subscripts & superscripts346936
+Node: Math symbols349097
+Node: Arrows372868
+Node: \boldmath & \unboldmath374056
+Node: Blackboard bold375575
+Node: Calligraphic376377
+Node: Delimiters376908
+Node: \left & \right379096
+Node: \bigl & \bigr etc.383104
+Node: Dots385857
+Ref: ellipses cdots386288
+Ref: ellipses ddots386433
+Ref: ellipses ldots386514
+Ref: ellipses vdots386931
+Node: Greek letters388115
+Node: Math functions389794
+Node: Math accents391438
+Node: Over- and Underlining392337
+Node: Spacing in math mode394164
+Ref: spacing in math mode thickspace395099
+Ref: spacing in math mode medspace395524
+Ref: Spacing in math mode/\thinspace395951
+Ref: spacing in math mode thinspace395951
+Ref: spacing in math mode negthinspace396432
+Ref: spacing in math mode quad396759
+Ref: spacing in math mode qquad397015
+Node: \smash397278
+Node: \phantom & \vphantom & \hphantom399495
+Node: Math miscellany401533
+Node: Colon character & \colon402039
+Node: \*402732
+Node: \frac403312
+Node: \sqrt403683
+Node: \stackrel404269
+Node: Modes404542
+Ref: modes paragraph mode404992
+Ref: modes lr mode405188
+Ref: modes math mode405794
+Ref: modes vertical mode406129
+Ref: modes internal vertical mode406300
+Ref: modes inner paragraph mode406773
+Ref: modes outer paragraph mode406773
+Node: \ensuremath407187
+Node: Page styles407892
+Node: \maketitle408655
+Node: \pagenumbering411673
+Node: \pagestyle413661
+Node: \thispagestyle417163
+Node: Spaces418117
+Node: \enspace & \quad & \qquad419558
+Node: \hspace420473
+Node: \hfill422311
+Node: \hss423375
+Node: \spacefactor424069
+Node: \@427456
+Ref: \AT427556
+Node: \frenchspacing429496
+Node: \normalsfcodes430331
+Node: \(SPACE)430578
+Node: ~432368
+Node: \thinspace & \negthinspace434945
+Node: \/436116
+Node: \hrulefill & \dotfill438072
+Node: \bigskip & \medskip & \smallskip439428
+Ref: bigskip440246
+Ref: medskip440450
+Ref: smallskip440659
+Node: \bigbreak & \medbreak & \smallbreak441320
+Node: \strut442306
+Node: \vspace445501
+Node: \vfill447065
+Node: \addvspace447993
+Node: Boxes449989
+Node: \mbox & \makebox450695
+Ref: mbox makebox depth451963
+Ref: mbox makebox height451963
+Ref: mbox makebox width451963
+Ref: mbox makebox totalheight451963
+Node: \fbox & \framebox454058
+Ref: fbox framebox fboxrule455372
+Ref: fbox framebox fboxsep455562
+Node: \parbox456652
+Node: \raisebox458958
+Ref: raisebox depth459931
+Ref: raisebox height459931
+Ref: raisebox width459931
+Ref: raisebox totalheight459931
+Node: \sbox & \savebox460632
+Node: lrbox463694
+Node: \usebox464580
+Node: Color465019
+Node: Color package options465818
+Node: Color models467464
+Ref: color models cmyk468261
+Ref: color models gray468624
+Ref: color models rgb468773
+Ref: color models RGB469110
+Ref: color models named469485
+Node: Commands for color469773
+Node: Define colors470188
+Node: Colored text470913
+Node: Colored boxes473310
+Node: Colored pages474699
+Node: Graphics475392
+Node: Graphics package options477519
+Node: Graphics package configuration480272
+Node: \graphicspath481074
+Node: \DeclareGraphicsExtensions484032
+Node: \DeclareGraphicsRule485850
+Node: Commands for graphics489031
+Node: \includegraphics489536
+Ref: includegraphics width494590
+Ref: includegraphics height495123
+Ref: includegraphics totalheight495529
+Ref: includegraphics keepaspectratio495793
+Ref: includegraphics viewport497479
+Ref: includegraphics trim497874
+Ref: includegraphics clip498330
+Ref: includegraphics page498590
+Ref: includegraphics pagebox498681
+Ref: includegraphics interpolate499546
+Ref: includegraphics quiet499751
+Ref: includegraphics draft499912
+Ref: includegraphics bb500717
+Ref: includegraphics bbllx501115
+Ref: includegraphics bblly501115
+Ref: includegraphics bburx501115
+Ref: includegraphics bbury501115
+Ref: includegraphics natwidth501257
+Ref: includegraphics natheight501257
+Ref: includegraphics hiresbb501443
+Ref: includegraphics type502205
+Ref: includegraphics ext502245
+Ref: includegraphics read502348
+Ref: includegraphics command502465
+Node: \rotatebox502711
+Node: \scalebox505565
+Node: \resizebox506621
+Node: Special insertions507813
+Node: Reserved characters508681
+Node: Upper and lower case509941
+Node: Symbols by font position512327
+Node: Text symbols513006
+Node: Accents517191
+Node: \accent519344
+Node: Additional Latin letters521106
+Ref: Non-English characters521288
+Node: inputenc package522307
+Node: \rule524736
+Node: \today525901
+Node: Splitting the input526837
+Node: \endinput528579
+Node: \include & \includeonly529882
+Node: \input534179
+Node: Front/back matter535394
+Node: Table of contents etc.535727
+Node: \addcontentsline539552
+Node: \addtocontents542394
+Node: \nofiles543985
+Node: Indexes544717
+Node: \index546325
+Node: makeindex551430
+Ref: makeindex preamble553098
+Ref: makeindex postamble553238
+Ref: makeindex group skip553323
+Ref: makeindex letheadflag553656
+Ref: makeindex lethead prefix554117
+Ref: makeindex lethead suffix554269
+Ref: makeindex item 0554417
+Ref: makeindex item 1554497
+Ref: makeindex item 2554572
+Ref: makeindex item 01554650
+Ref: makeindex item x1554755
+Ref: makeindex item 12554960
+Ref: makeindex item x2555068
+Ref: makeindex delim 0555228
+Ref: makeindex delim 1555358
+Ref: makeindex delim 2555488
+Ref: makeindex delim n555614
+Ref: makeindex delim r555749
+Ref: makeindex line max555857
+Ref: makeindex indent space555992
+Ref: makeindex indent length556087
+Ref: makeindex page precedence556272
+Node: \printindex557146
+Node: Glossaries557619
+Node: \newglossaryentry559586
+Node: \gls561053
+Node: Letters561847
+Node: \address565465
+Node: \cc566276
+Node: \closing566718
+Node: \encl567032
+Node: \location567446
+Node: \makelabels567710
+Node: \name570027
+Node: \opening570268
+Node: \ps570549
+Node: \signature570838
+Node: \telephone572066
+Node: Input/output572431
+Node: \openin & \openout573161
+Node: \read575904
+Node: \typein577091
+Node: \typeout578351
+Node: \write579401
+Node: \write and security584128
+Node: \message585072
+Node: \wlog586901
+Node: \write18587402
+Node: Command line interface590893
+Ref: Command line591057
+Node: Command line options593140
+Ref: interaction modes594136
+Ref: output directory595090
+Node: Command line input596789
+Node: Jobname598618
+Node: Recovering from errors601900
+Node: Document templates603245
+Node: beamer template603679
+Node: article template604321
+Node: book template604784
+Node: Larger book template605263
+Node: Index606805
+Ref: Command Index606891
 
 End Tag Table
 

Modified: trunk/latex2e.pdf
===================================================================
(Binary files differ)

Modified: trunk/latex2e.texi
===================================================================
--- trunk/latex2e.texi	2021-05-26 21:52:51 UTC (rev 915)
+++ trunk/latex2e.texi	2021-05-27 15:07:06 UTC (rev 916)
@@ -25,7 +25,6 @@
 @c xx JH expand theorem, AMS math
 @c xx JH something on code listings
 @c xx JH ligatures
- at c xx JH \xspace
 @c xx JH \stretch
 @c xx JH \mathstrut
 @c xx JH \phantom https://tex.stackexchange.com/questions/4519/how-do-i-create-an-invisible-character
@@ -9237,6 +9236,7 @@
 * \newfont::                       Define a new font name.
 * \protect::                       Using tricky commands.
 * \ignorespaces & \ignorespacesafterend:: Discard extra spaces.
+* xspace package::                 Space after a macro, conditionally.
 @end menu
 
 
@@ -10177,10 +10177,9 @@
 @code{\fullname} will reproduce that.
 
 @example
-\makeatletter
-\newcommand@{\honorific@}[1]@{\def\@@honorific@{#1@}@} % remember title
-\newcommand@{\fullname@}[1]@{\@@honorific~#1@}       % put title before name
-\makeatother
+\newcommand@{\honorific@}[1]@{\def\honorific@{#1@}@} % remember title
+\newcommand@{\fullname@}[1]@{\honorific~#1@}       % put title before name
+
 \begin@{tabular@}@{|l|@}
 \honorific@{Mr/Ms@}  \fullname@{Jones@} \\  % no extra space here
 \honorific@{ Mr/Ms@} \fullname@{Jones@}     % extra space before title
@@ -10189,11 +10188,11 @@
 
 @noindent
 To fix this, change to
- at code{\newcommand@{\fullname@}[1]@{\ignorespaces\@@honorific~#1@}}.
+ at code{\newcommand@{\fullname@}[1]@{\ignorespaces\honorific~#1@}}.
 
 The @code{\ignorespaces} is also often used in a @code{\newenvironment}
-at the end of the @var{begin} clause, that is, as part of the second
-argument, as in @code{\begin@{newenvironment@}@{@var{env
+at the end of the @var{begin} clause, as in
+ at code{\begin@{newenvironment@}@{@var{env
 name}@}@{... \ignorespaces@}@{...@}}.
 
 To strip spaces off the end of an environment use
@@ -10220,6 +10219,66 @@
 @code{\newenvironment@{eq@}@{\begin@{equation@}@}@{\end@{equation@}\ignorespacesafterend@}}.
 
 
+ at node xspace package
+ at section xspace package
+
+ at findex \xspace
+ at cindex spaces, ignore around commands
+ at cindex commands, ignore spaces
+
+Synopsis:
+
+ at example
+\usepackage@{xspace@}
+  ...
+\newcommand@{...@}@{...\xspace@}
+ at end example
+
+The @code{\xspace} macro, when used at the end of a command, adds a
+space unless the command is followed by certain punctuation characters.
+
+After a command name that uses letters (as opposed to single character
+command names using non-letters such as @code{\$}), @TeX{} gobbles white
+space.  Thus, in the first sentence below, the output has @samp{Vermont}
+placed snugly against the period, without any intervening space.
+
+ at example
+\newcommand@{\VT@}@{Vermont@}
+Our college is in \VT .
+The \VT@{@} summers are nice.
+ at end example
+
+But because of the gobbling, the second sentence needs the dummy curly
+braces or else there would be no space separating @samp{Vermont} from
+ at samp{summers}.  (Many authors instead instead use a backslash-space
+ at code{\ } for this.  @xref{\(SPACE)}.)
+
+The @file{xspace} package provides @code{\xspace}.  It is for writing
+commands which are designed to be used mainly in text.  It inserts a
+space after that command unless what immediately follows is in a list of
+exceptions.  In this example, the dummy braces are not needed.
+
+ at example
+\newcommand@{\VT@}@{Vermont\xspace@}
+Our college is in \VT .
+\VT summers are nice.
+ at end example
+
+The default exception list contains the characters @code{,.'/?;:!~-)},
+the open curly brace and the backslash-space command discussed above,
+and the commands @code{\footnote} or @code{\footnotemark}.  Add to that
+list as with @code{\xspaceaddexceptions@{\myfni \myfnii@}} and remove
+from that list as with @code{\xspaceremoveexception@{!@}}.
+
+ at c David Carlisle https://tex.stackexchange.com/a/86620/339
+A comment: many experts prefer not to use @code{\xspace}.  Putting it in
+a definition means that the command will usually get the spacing right.
+But it isn't easy to predict when to enter dummy braces because
+ at code{\xspace} will get it wrong, such as when it is followed by another
+command, and so @code{\xspace} can make editing material harder and more
+error-prone than instead always remembering the dummy braces.
+
+
 @node Counters
 @chapter Counters
 
@@ -14345,7 +14404,7 @@
 * \hfill::                Stretchable horizontal space.  
 * \hss::                  Infinitely stretchable/shrinkable horizontal space.
 * \spacefactor::          Stretchability of following space
-* \(SPACE)::              Backslash-space; and explicit space.
+* \(SPACE)::              Backslash-space, and explicit space.
 * ~::                     Tie, an unbreakable space.
 * \thinspace & \negthinspace::  One-sixth of an em, and negative one-sixth.  
 * \/::                    Italic correction.



More information about the latexrefman-commits mailing list.