[latexrefman-commits] r424 - in /trunk: ChangeLog latex2e.texi

jhefferon at domain.hid jhefferon at domain.hid
Mon Sep 7 14:38:00 CEST 2015

Author: jhefferon
Date: Mon Sep  7 14:37:59 2015
New Revision: 424

URL: http://svn.gna.org/viewcvs/latexrefman?rev=424&view=rev
add definition of rubber length


Modified: trunk/ChangeLog
URL: http://svn.gna.org/viewcvs/latexrefman/trunk/ChangeLog?rev=424&r1=423&r2=424&view=diff
--- trunk/ChangeLog	(original)
+++ trunk/ChangeLog	Mon Sep  7 14:37:59 2015
@@ -1,3 +1,9 @@
+2015-09-07  Jim Hefferon  <jhefferon at domain.hid>
+	* latex2e.texi (Lengths, \hspace): Give a definition of rigid
+	and rubber lengths, and of infinite stretchability.  Adjust
+	definition of \hspace to not use square braces as metacharacter.
 2015-09-06  Jim Hefferon  <jhefferon at domain.hid>
 	* latex2e.texi (Spacing in math mode): Move math mode lengths

Modified: trunk/latex2e.texi
URL: http://svn.gna.org/viewcvs/latexrefman/trunk/latex2e.texi?rev=424&r1=423&r2=424&view=diff
--- trunk/latex2e.texi	(original)
+++ trunk/latex2e.texi	Mon Sep  7 14:37:59 2015
@@ -2,7 +2,7 @@
 @c $Id$
 @comment %**start of header (This is for running Texinfo on a region.)
 @setfilename latex2e.info
- at domain.hid UPDATED August 2015
+ at set UPDATED September 2015
 @settitle @LaTeX{}2e unofficial reference manual (@value{UPDATED})
 @comment %**end of header (This is for running Texinfo on a region.)
@@ -5484,6 +5484,30 @@
 A @dfn{length} is a measure of distance.  Many @LaTeX{} commands take a
 length as an argument.
+Lengths come in two types.  A @dfn{rigid length} (what Plain @TeX{}
+calls a @dfn{dimen}) such as @code{10pt} cannot contain a @code{plus} or
+ at code{minus} component.  A @dfn{rubber length} (what Plain @TeX{} calls
+a @dfn{skip}) can contain those, as with @code{1cm plus0.05cm
+minus0.01cm}.  These give the ability to stretch or shrink; the length
+in the prior sentence could appear in the output as long as 1.05 at domain.hid
+or as short as 0.99 at domain.hid, depending on what @TeX{}'s typesetting
+algorithm finds optimum.
+The @code{plus} or @code{minus} component of a rubber length can contain
+a @dfn{fill} component, as in @code{1in plus2fill}.  This gives the
+length infinite stretchability or shrinkability, so that the length in
+the prior sentence can be set by @TeX{} to any distance greater than or
+equal to 1 at domain.hid.  @TeX{} actually provides three infinite glue
+components @code{fil}, @code{fill}, and @code{filll}, such that the
+later ones overcome the earlier ones, but only the middle value is
+ordinarily used.  @xref{\hfill}, @xref{\vfill}.
+Multiplying an entire rubber length by a number turns it into a rigid
+length, so that after @code{\setlength at domain.hid plus 0.2in@}}
+and @code{\setlength at domain.hid@}} then the value of
+ at code{\zlength} is @code{3in}.
 * Units of length::     The units that @LaTeX{} knows.
 * \setlength::          Set the value of a length.
@@ -6952,7 +6976,7 @@
 @cindex math mode, spacing
 In a @code{math} environment, @LaTeX{} ignores the spaces that you use
-in the sourc, and instead puts in the spacing according to the normal
+in the source, and instead puts in the spacing according to the normal
 rules for mathematics texts.  
 Many math mode spacing definitions are expressed in terms of the math unit
@@ -6975,7 +6999,7 @@
 @item \,
 @findex \,
-Normally @code{3 mu}.  The longer name is @code{\thinspace}.  This can
+Normally @code{3mu}.  The longer name is @code{\thinspace}.  This can
 be used in both math mode and text mode.
 @item \!
@@ -6992,8 +7016,8 @@
 @item \qquad
 @findex \qquad
-A length of 2 quads, 36 at domain.hid} = 2 at domain.hid}.  It is available in both
-text and math mode.
+A length of 2 quads, tht is, 36 at domain.hid} = 2 at domain.hid}.  It is available in
+both text and math mode.
 @end table
 In this example a thinspace separates the function from the
@@ -7310,10 +7334,6 @@
 @LaTeX{} has many ways to produce white (or filled) space.
-Another space-producing command is @code{\,} to produce a ``thin''
-space (usually 1/6 at domain.hid}).  It can be used in text mode, but is
-more often useful in math mode  (@pxref{Spacing in math mode}).
 Horizontal space
 * \hspace::             Fixed horizontal space.
@@ -7341,18 +7361,32 @@
- at domain.hid example
-The @code{\hspace} command adds horizontal space.  The @var{length}
-argument can be expressed in any terms that @LaTeX{} understands:
-points, inches, etc.  It is a rubber length.  You can add both
-negative and positive space with an @code{\hspace} command; adding
-negative space is like backspacing.
- at domain.hid{} normally removes horizontal space that comes at the beginning
-or end of a line.  To preserve this space, use the optional @code{*}
+\hspace at domain.hid}@}
+ at end example
+Add the horizontal space given by @var{length}.  The @var{length} is a
+rubber length, that is, it may contain a @code{plus} or @code{minus}
+component, in any unit that @LaTeX{} understands (@pxref{Lengths}).
+This command will add both positive and negative space; adding negative
+space is like backspacing.
+ at c David Carlisle http://tex.stackexchange.com/a/64045/339
+Normally when @TeX{} breaks a paragraph into lines it discards white
+space (glues and kerns) that would come at the start of a line, so you
+get an inter-word space or a line break between words but not both. So
+if the @code{\hspace@{..@}} comes at the beginning of a line the space
+gets discarded by the @TeX{} paragraph breaker. The starred version
+ at code{\hspace*@{..@}} puts a non-discardable invisible item in front of
+the space so the space appears in the output.
+This example make a one-line paragraph that puts @samp{Name:} an inch
+from the right margin.
+ at example
+\noindent\makebox[\linewidth]@{\hspace at domain.hid@}@}
+ at end example
 @node \hfill

More information about the latexrefman-commits mailing list