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

vincentb1 at gnu.org.ua vincentb1 at gnu.org.ua
Sun Feb 14 11:49:59 CET 2021


Author: vincentb1
Date: 2021-02-14 12:49:59 +0200 (Sun, 14 Feb 2021)
New Revision: 899

Modified:
   trunk/ChangeLog
   trunk/latex2e-fr.texi
Log:
[fr] \spacefactor, \accent, fontenc package, copied from English.

* latex2e-fr.texi (\spacefactor, \accent, fontenc package): Copy
these nodes from the English version.
(\frenchspacing): Move it as a subnode of \spacefactor.


Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2021-02-14 10:49:09 UTC (rev 898)
+++ trunk/ChangeLog	2021-02-14 10:49:59 UTC (rev 899)
@@ -1,3 +1,9 @@
+2021-02-14  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
+
+	* latex2e-fr.texi (\spacefactor, \accent, fontenc package): Copy
+	these nodes from the English version.
+	(\frenchspacing): Move it as a subnode of \spacefactor.
+
 2020-12-30  Vincent Bela\"iche  <vincentb1 at users.sourceforge.net>
 
 	* latex2e-fr.texi: Few typoes.

Modified: trunk/latex2e-fr.texi
===================================================================
--- trunk/latex2e-fr.texi	2021-02-14 10:49:09 UTC (rev 898)
+++ trunk/latex2e-fr.texi	2021-02-14 10:49:59 UTC (rev 899)
@@ -1553,12 +1553,582 @@
 pour ce faire sont décrites ci-après.
 
 @menu
+* Paquetage fontenc:fontenc package. Codage des polices.
 * Styles de polices: Font styles. Sélectionnez romain, italique, etc
 * Formats de polices: Font sizes. Choisir la taille du point.
 * Commandes police de bas niveau: Low-level font commands. Sélectionnez le codage, famille, série, allure.
 @end menu
 
+ at node fontenc package
+ at section @file{fontenc} package
 
+ at cindex Font encoding
+ at cindex UTF-8, font support for
+ at cindex T1
+ at cindex OT1
+ at findex fontenc
+
+Synopsis:
+
+ at example
+\usepackage[@var{font_encoding}]@{fontenc@}
+ at end example
+
+or
+
+ at example
+\usepackage[@var{font_encoding1}, @var{font_encoding2}, ...]@{fontenc@}
+ at end example
+
+Specify the font encodings.  A font encoding is a mapping of the
+character codes to the font glyphs that are used to typeset your output.
+
+This package only applies if you use the @code{pdflatex} engine
+(@pxref{@TeX{} engines}).  If you use the @command{xelatex} or
+ at command{lualatex} engine then instead use the @file{fontspec} package.
+
+ at TeX{}'s original font family, Computer Modern, has a limited character
+set. For instance, to make common accented characters you must use
+ at code{\accent} (@pxref{\accent}) but this disables hyphenation.  @TeX{}
+users have agreed on a number of standards to access the larger sets of
+characters provided by modern fonts.  If you are using
+ at command{pdflatex} then this in the preamble
+
+ at example
+\usepackage[T1]@{fontenc@}
+\usepackage[utf8]@{inputenc@}  % Optional: encoding of input file
+ at end example
+
+ at noindent
+gives you support for the most widespread European languages, including
+French, German, Italian, Polish, and others.  In particular, if you have
+words with accented letters then @LaTeX{} will hyphenate them and your
+output can be copied and pasted.  (The optional second line allows you
+to directly enter accented characters into your source file.)
+
+ at PkgIndex{lmodern} @PkgIndex{cm-super}
+If you are using an encoding such as @code{T1} and the characters appear
+blurry or do not magnify well then your fonts may be bitmapped,
+sometimes called raster or Type at tie{}3.  You want vector fonts.  Use a
+package such as @file{lmodern} or @file{cm-super} to get a font that
+extends @LaTeX{}'s default using vector fonts.
+
+For each @var{font_encoding} given as an option but not already
+declared, this package loads the encoding definition files, named
+ at file{@var{font_encoding}enc.def}.  It also sets @code{\encodingdefault}
+to be the last encoding in the option list.
+
+These are the common values for @var{font_encoding}.
+
+ at table @code
+ at item OT1
+The original encoding for @TeX{}.  Limited to mostly English characters.
+
+ at item OMS, OML
+Math symbols and math letters encoding.
+
+ at item T1
+ at TeX{} text extended.  Sometimes called the Cork encoding for the Users
+Group meeting where it was developed.  Gives access to most European
+accented characters.  The most common option for this package.
+
+ at item TS1
+Text Companion encoding.
+ at end table
+
+ at noindent
+ at LaTeX{}'s default is to load @code{OML}, @code{T1}, @code{OT1}, and
+then @code{OMS}, and set the default to @code{OT1}.
+
+Even if you do not use accented letters, you may need to specify a font
+encoding if your font requires it.
+
+If you use @code{T1}@tie{}encoded fonts other than the default Computer
+Modern family then you may need to load the package that selects your
+fonts before loading @file{fontenc}, to prevent the system from loading
+any @code{T1}@tie{}encoded fonts from the default.
+
+The @LaTeX{} team reserve encoding names starting with: @samp{T} for the
+standard text encodings with 256 characters, @samp{TS} for symbols that
+extend the corresponding T encodings, @samp{X} for test encodings,
+ at samp{M} for standard math encodings with 256 characters, @samp{A} for
+special applications, @samp{OT} for standard text encodings with 128
+characters, and @samp{OM} for standard math encodings with 128
+characters (@samp{O} stands for @samp{obsolete}).
+
+This package provides a number of commands, detailed below.  Many of
+them are encoding-specific, so if you have defined a command that works
+for one encoding but the current encoding is different then the command
+is not in effect.
+
+ at menu
+* \DeclareFontEncoding::           Define an encoding.
+* \DeclareTextAccent::             Define an accent in the encoding.
+* \DeclareTextAccentDefault::      Fallback for using an accent in the encoding.
+* \DeclareTextCommand & \ProvideTextCommand::  New encoding-specific command.
+* \DeclareTextCommandDefault & \ProvideTextCommandDefault::  Fallback for encoding-specific commands.
+* \DeclareTextComposite::   Directly access an accented glyph, in the encoding.
+* \DeclareTextCompositeCommand::    Run code in slot, in the encoding.
+* \DeclareTextSymbol::              Define a symbol in the encoding.
+* \DeclareTextSymbolDefault::       Fallback for a symbol in the encoding.
+* \LastDeclaredEncoding::           Save most recently declared encoding.
+* \UseTextAccent & \UseTextSymbol:: Temporarily switch to another encoding.
+ at end menu
+
+
+ at node \DeclareFontEncoding
+ at subsection @code{\DeclareFontEncoding}
+
+ at cindex Font encoding
+ at cindex Encoding, font
+ at cindex Accents, defining
+ at findex \DeclareFontEncoding
+
+Synopsis:
+
+ at example
+\DeclareFontEncoding@{@var{encoding}@}@{@var{text-settings}@}@{@var{math-settings}@}
+ at end example
+
+Declare the font encoding @var{encoding}.  It also saves the value of
+ at var{encoding} in @code{\LastDeclaredEncoding}
+(@pxref{\LastDeclaredEncoding}).
+
+The file @file{t1enc.def} contains this line (followed by many others).
+
+ at example
+\DeclareFontEncoding@{T1@}@{@}@{@}
+ at end example
+
+The @var{text-settings} are the commands that @LaTeX{} will run every
+time it switches from one encoding to another with the
+ at code{\selectfont} or @code{\fontencoding} command.  The
+ at var{math-settings} are the commands that @LaTeX{} will use whenever the
+font is accessed as a math alphabet.
+
+ at LaTeX{} ignores any space characters inside @var{text-settings} and
+ at var{math-settings}, to prevent unintended spaces in the output.
+
+If you invent an encoding you should pick a two or three letter name
+starting with @samp{L} for @samp{local}, or @samp{E} for
+ at samp{experimental}.
+
+Note that output encoding files may be read several times by @LaTeX{} so
+using, e.g., @code{\newcommand} may cause an error.  In addition, such
+files should contain @code{\ProvidesFile} line (@pxref{Class and package
+commands}).
+
+Note also that you should use the @code{\...Default} commands only in a
+package, not in the encoding definition files, since those files
+should only contain declarations specific to that encoding.
+
+
+ at node \DeclareTextAccent
+ at subsection @code{\DeclareTextAccent}
+
+ at cindex Font encoding
+ at cindex Accents, defining
+ at findex \DeclareTextAccent
+
+Synopsis:
+
+ at example
+\DeclareTextAccent@{@var{cmd}@}@{@var{encoding}@}@{@var{slot}@}
+ at end example
+
+Define an accent, to be put on top of other glyphs, in the encoding
+ at var{encoding} at the location @var{slot}.
+
+This line from @file{t1enc.def} declares that to make a circumflex
+accent as in @code{\^A}, the system will put the accent in slot at tie{}2
+over the @samp{A} character, which is represented in ASCII as at tie{}65.
+(This holds unless there is a relevant @code{DeclareTextComposite} or
+ at code{\DeclareTextCompositeCommand} declaration;
+ at pxref{\DeclareTextComposite}.)
+
+ at example
+\DeclareTextAccent@{\^@}@{T1@}@{2@}
+ at end example
+
+If @var{cmd} has already been defined then @code{\DeclareTextAccent}
+does not give an error but it does log the redefinition in the
+transcript file.
+
+
+ at node \DeclareTextAccentDefault
+ at subsection @code{\DeclareTextAccentDefault}
+
+ at cindex Font encoding
+ at cindex Accents, defining
+ at findex \DeclareTextAccent
+ at findex \DeclareTextAccentDefault
+
+Synopsis:
+
+ at example
+\DeclareTextAccentDefault@{@var{cmd}@}@{@var{encoding}@}
+ at end example
+
+If there is an encoding-specific accent command @var{cmd} but there is
+no associated @code{\DeclareTextAccent} for that encoding then this
+command will pick up the slack, by saying to use it as described for
+ at var{encoding}.
+
+For example, to make the encoding @code{OT1} be the default encoding for
+the accent @code{\"}, declare this.
+
+ at example
+\DeclareTextAccentDefault@{\"@}@{OT1@}
+ at end example
+
+ at noindent
+If you issue a @code{\"} when the current encoding does not have a
+definition for that accent then @LaTeX{} will use the definition from
+ at code{OT1}
+
+That is, this command is equivalent to this call (@pxref{\UseTextAccent
+& \UseTextSymbol}).
+
+ at example
+\DeclareTextCommandDefault[1]@{@var{cmd}@}
+   @{\UseTextAccent@{@var{encoding}@}@{@var{cmd}@}@{#1@}@}
+ at end example
+
+Note that @code{\DeclareTextAccentDefault} works for any one-argument
+ at file{fontenc} command, not just the accent command.
+
+
+ at node \DeclareTextCommand & \ProvideTextCommand
+ at subsection @code{\DeclareTextCommand} & @code{\ProvideTextCommand}
+
+ at cindex Font encoding
+ at findex \DeclareTextCommand
+ at findex \DeclareTextCommandDefault
+ at findex \ProvideTextCommand
+
+Synopsis, one of:
+
+ at example
+\DeclareTextCommand@{@var{cmd}@}@{@var{encoding}@}@{@var{defn}@}
+\DeclareTextCommand@{@var{cmd}@}@{@var{encoding}@}[@var{nargs}]@{@var{defn@}}
+\DeclareTextCommand@{@var{cmd}@}@{@var{encoding}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@}
+ at end example
+
+or one of:
+
+ at example
+\ProvideTextCommand@{@var{cmd}@}@{@var{encoding}@}@{@var{defn}@}
+\ProvideTextCommand@{@var{cmd}@}@{@var{encoding}@}[@var{nargs}]@{@var{defn}@}
+\ProvideTextCommand@{@var{cmd}@}@{@var{encoding}@}[@var{nargs}][@var{optargdefault}]@{@var{defn}@}
+ at end example
+
+Define the command @var{cmd}, which will be specific to one encoding.
+The command name @var{cmd} must begin with a backslash, \.  These
+commands can only appear in the preamble.  Redefining @code{cmd} does
+not cause an error. The defined command will be robust even if the code
+in @var{defn} is fragile (@pxref{\protect}).
+
+For example, the file @file{t1enc.def} contains this line.
+
+ at example
+\DeclareTextCommand@{\textperthousand@}@{T1@}@{\%\char 24 @}
+ at end example
+
+With that, you can express parts per thousand.
+
+ at example
+\usepackage[T1]@{fontenc@}  % in preamble
+  ...
+Legal limit is \( 0.8 \)\textperthousand.
+ at end example
+
+ at noindent
+If you change the font encoding to @code{OT1} then you get an error like
+ at samp{LaTeX Error: Command \textperthousand unavailable in encoding
+OT1}.
+
+The @code{\ProvideTextCommand} variant does the same, except that it
+does nothing if @var{cmd} is already defined.  The
+ at code{\DeclareTextSymbol} command is faster than this one for simple
+slot-to-glyph association (@pxref{\DeclareTextSymbol})
+
+The optional @var{nargs} and @var{optargsdefault} arguments play the
+same role here as in @code{\newcommand} (@pxref{\newcommand &
+\renewcommand}).  Briefly, @var{nargs} is an integer from 0 to 9
+specifying the number of arguments that the defined command @code{cmd}
+takes.  This number includes any optional argument.  Omitting this
+argument is the same as specifying 0, meaning that @var{cmd} will have
+no arguments.  And, if @var{optargsdefault} is present then the first
+argument of @code{\@var{cmd}} is optional, with default value
+ at var{optargdefault} (which may be the empty string).  If
+ at var{optargsdefault} is not present then @code{\@var{cmd}} does not take
+an optional argument.
+
+
+ at node \DeclareTextCommandDefault & \ProvideTextCommandDefault
+ at subsection @code{\DeclareTextCommandDefault} & @code{\ProvideTextCommandDefault }
+ at cindex Font encoding
+ at findex \DeclareTextCommand
+ at findex \DeclareTextCommandDefault
+ at findex \ProvideTextCommand
+ at findex \ProvideTextCommandDefault
+
+Synopsis:
+
+ at example
+\DeclareTextCommandDefault@{@var{cmd}@}@{@var{defn}@}
+ at end example
+
+or:
+
+ at example
+\ProvideTextCommandDefault@{@var{cmd}@}@{@var{defn}@}
+ at end example
+
+Give a default definition for @var{cmd}, for when that command is not
+defined in the encoding currently in force. This default should only use
+encodings known to be available.
+
+This makes @code{\copyright} available.
+
+ at example
+\DeclareTextCommandDefault@{\copyright@}@{\textcircled@{c@}@}
+ at end example
+
+It uses only an encoding (OMS) that is always available.
+
+The @code{\DeclareTextCommandDefault} should not occur in the encoding
+definition files since those files should declare only commands for use
+when you select that encoding. It should instead be in a package.
+
+As with the related non-default commands, the
+ at code{\ProvideTextCommandDefault} has exactly the same behavior as
+ at code{\DeclareTextCommandDefault} except that it does nothing if
+ at var{cmd} is already defined (@pxref{\DeclareTextCommand &
+\ProvideTextCommand}).  So, packages can use it to provide fallbacks
+that other packages can improve upon.
+
+
+ at node \DeclareTextComposite
+ at subsection @code{\DeclareTextComposite}
+
+ at cindex Font encoding
+ at cindex Accents, defining
+ at findex \DeclareTextComposite
+
+Synopsis:
+
+ at example
+\DeclareTextComposite@{@var{cmd}@}@{@var{encoding}@}@{@var{simple_object}@}@{@var{slot}@}
+ at end example
+
+Access an accented glyph directly, that is, without having to put an
+accent over a separate character.
+
+This line from @file{t1enc.def} means that @code{\^o} will cause
+ at LaTeX{} to typeset lowercase at tie{}@samp{o} by taking the character
+directly from location 224 in the font.
+
+ at example
+\DeclareTextComposite@{\^@}@{T1@}@{o@}@{244@}
+ at end example
+
+ at xref{fontenc package}, for a list of common encodings.  The
+ at var{simple_object} should be a single character or a single command.
+The @var{slot} argument is usually a positive integer represented in
+decimal (although octal or hexadecimal are possible).  Normally
+ at var{cmd} has already been declared for this encoding, either with
+ at code{\DeclareTextAccent} or with a one-argument
+ at code{\DeclareTextCommand}.  In @file{t1enc.def}, the above line follows
+the @code{\DeclareTextAccent@{\^@}@{T1@}@{2@}} command.
+
+
+ at node \DeclareTextCompositeCommand
+ at subsection @code{\DeclareTextCompositeCommand}
+
+ at cindex Font encoding
+ at cindex Accents, defining
+ at findex \DeclareTextCompositeCommand
+
+Synopsis:
+
+ at example
+\DeclareTextCompositeCommand@{@var{cmd}@}@{@var{encoding}@}@{@var{arg}@}@{@var{code}@}
+ at end example
+
+A more general version of @code{\DeclareTextComposite} that runs
+arbitrary code with @var{cmd}.
+
+This allows accents on @samp{i} to act like accents on dotless at tie{}i,
+ at code{\i}.
+
+ at example
+\DeclareTextCompositeCommand@{\'@}@{OT1@}@{i@}@{\'\i@}
+ at end example
+
+ at xref{fontenc package}, for a list of common encodings.  Normally
+ at var{cmd} will have already been declared with @code{\DeclareTextAccent}
+or as a one argument @code{\DeclareTextCommand}.
+
+
+ at node \DeclareTextSymbol
+ at subsection @code{\DeclareTextSymbol}
+
+ at cindex Font encoding
+ at cindex Symbol, defining
+ at findex \DeclareTextSymbol
+
+Synopsis:
+
+ at example
+\DeclareTextSymbol@{@var{cmd}@}@{@var{encoding}@}@{@var{slot}@}
+ at end example
+
+Define a symbol in the encoding @var{encoding} at the location
+ at var{slot}.  Symbols defined in this way are for use in text, not
+mathematics.
+
+For example, this line from @file{t1enc.def} declares the number of the
+glyph to use for @BES{00AB}, the left guillemet.
+
+ at example
+\DeclareTextSymbol@{\guillemotleft@}@{T1@}@{19@}
+ at end example
+
+ at noindent
+The command @code{\DeclareTextCommand@{\guillemotleft@}@{T1@}@{\char
+19@}} has the same effect but is slower (@pxref{\DeclareTextCommand &
+\ProvideTextCommand}).
+
+ at xref{fontenc package}, for a list of common encodings.  The @var{slot}
+can be specified in decimal, or octal (as in @code{'023}), or
+hexadecimal (as in @code{"13}), although decimal has the advantage that
+single quote or double quote could be redefined by another package.
+
+If @var{cmd} has already been defined then @code{\DeclareTextSymbol}
+does not give an error but it does log the redefinition in the
+transcript file.
+
+
+ at node \DeclareTextSymbolDefault
+ at subsection @code{\DeclareTextSymbolDefault}
+
+ at cindex Font encoding
+ at cindex Accents, defining
+ at findex \DeclareTextSymbol
+ at findex \DeclareTextSymbolDefault
+
+Synopsis:
+
+ at example
+\DeclareTextSymbolDefault@{@var{cmd}@}@{@var{encoding}@}
+ at end example
+
+If there is an encoding-specific symbol command @var{cmd} but there is no
+associated @code{\DeclareTextSymbol} for that encoding, then this command
+will pick up the slack, by saying to get the symbol as described for
+ at var{encoding}.
+
+For example, to declare that if the current encoding has no meaning for
+ at code{\textdollar} then use the one from @code{OT1}, declare this.
+
+ at example
+\DeclareTextSymbolDefault@{\textdollar@}@{OT1@}
+ at end example
+
+That is, this command is equivalent to this call (@pxref{\UseTextAccent
+& \UseTextSymbol}).
+
+ at example
+\DeclareTextCommandDefault@{@var{cmd}@}
+   @{\UseTextSymbol@{@var{encoding}@}@{@var{cmd}@}@}
+ at end example
+
+Note that @code{\DeclareTextSymbolDefault} can be used to define a
+default for any zero-argument @file{fontenc} command.
+
+
+ at node \LastDeclaredEncoding
+ at subsection @code{\LastDeclaredEncoding}
+
+ at cindex Font encoding
+ at findex \LastDeclaredEncoding
+
+Synopsis:
+
+ at example
+\LastDeclaredEncoding
+ at end example
+
+Get the name of the most recently declared encoding.  The
+ at code{\DeclareFontEncoding} command stores the name so that it can be
+retrieved with this command (@pxref{\DeclareFontEncoding}).
+
+This relies on @code{\LastDeclaredEncoding} rather than give the
+name of the encoding explicitly.
+
+ at example
+\DeclareFontEncoding@{JH1@}@{@}@{@}
+\DeclareTextAccent@{\'@}@{\LastDeclaredEncoding@}@{0@}
+ at end example
+
+
+ at node \UseTextAccent & \UseTextSymbol
+ at subsection @code{\UseTextAccent} & @code{\UseTextSymbol}
+
+ at cindex Font encoding
+ at findex \UseTextSymbol
+ at findex \UseTextAccent
+
+Synopsis:
+
+ at example
+\UseTextSymbol@{@var{encoding}@}@{@var{cmd}@}
+ at end example
+
+or:
+
+ at example
+\UseTextAccent@{@var{encoding}@}@{@var{cmd}@}@{@var{text}@}
+ at end example
+
+Use a symbol or accent not from the current encoding.
+
+In general, to use a @file{fontenc} command in an encoding where it is
+not defined, and if the command has no arguments, then you can use it
+like this:
+
+ at example
+\UseTextSymbol@{OT1@}@{\ss@}
+ at end example
+
+ at noindent
+which is equivalent to this (note the outer braces form a group, so @LaTeX{}
+reverts back to the prior encoding after the @code{\ss}):
+
+ at example
+@{\fontencoding@{OT1@}\selectfont\ss@}
+ at end example
+
+Similarly, to use a @file{fontenc} command in an encoding where it is
+not defined, and if the command has one argument, you can use it like this:
+
+ at example
+\UseTextAccent@{OT1@}@{\'@}@{a@}
+ at end example
+
+ at noindent
+which is equivalent to this (again note the outer braces forming a group):
+
+ at example
+@{fontencoding@{OT1@}\selectfont\'@{\fontencoding@{@var{enc_in_use}@}\selectfont a@}@}
+ at end example
+
+ at noindent
+Here, @var{enc_in_use} is the encoding in force before this sequence
+of commands, so that @samp{a} is typeset using the current encoding
+and only the accent is taken from @code{OT1}.
+
 @node Font styles
 @section styles des polices
 
@@ -11461,7 +12031,61 @@
 
 @end ftable
 
+ at menu
+* \accent::                 Low level command to produce an accented character.
+ at end menu
 
+
+ at node \accent
+ at subsection @code{\accent}
+ at findex \accent
+
+Synopsis:
+
+ at example
+\accent @var{number} @var{character}
+ at end example
+
+A @TeX{} primitive command used to generate accented characters from
+accent marks and letters. The accent mark is selected by @var{number},
+a numeric argument, followed by a space and then a @var{character} argument
+constructs the accented character in the current font.
+
+These are accented @samp{e} characters.
+
+ at example
+\accent18 e
+\accent20 e
+\accent21 e
+\accent22 e
+\accent23 e
+ at end example
+
+ at noindent
+The first is a grave, the second is breve, etc.
+
+The position of the accent is determined by the font designer and so the
+outcome of @code{\accent} use may differ between fonts. In @LaTeX{} it is
+desirable to have glyphs for accented characters rather than building
+them using @code{\accent}. Using glyphs that already contain the
+accented characters (as in T1 encoding) allows correct hyphenation
+whereas @code{\accent} disables hyphenation (specifically with OT1 font
+encoding where accented glyphs are absent).
+
+There can be an optional font change between @var{number} and
+ at var{character}.  Note also that that this command sets the
+ at code{\spacefactor} to 1000 (@pxref{\spacefactor}).
+
+An unavoidable characteristic of some Cyrillic letters and
+the majority of accented Cyrillic letters is that they must be
+assembled from multiple elements (accents, modifiers, etc.) while
+ at code{\accent} provides for a single accent mark and a single letter
+combination. There are also cases where accents must appear between
+letters that \accent does not support.  Still other cases exist where
+the letters I and J have dots above their lowercase counterparts that
+conflict with dotted accent marks. The use of @code{\accent} in these
+cases will not work as it cannot analyze upper/lower case.
+
 @node Spacing in math mode
 @section Espacement en mode mathématique
 
@@ -11935,9 +12559,9 @@
 Espace horizontal
 * \hspace::             Espace horizontal fixe.
 * \hfill::              Espace horizontal extensible.
+* \spacefactor::        Dilatabilité de l'espace qui suit
 * \@key{<espace>} et \@@: \(SPACE) and \@@. Espace après un point.
 * \@key{<espace>} après séq.@: de control: \(SPACE) after control sequence. Espaces (avalement des) après une séquence de contrôle.
-* \frenchspacing::      Rendre égaux les espacements inter-phrase et inter-mot.
 * \thinspace::          Un sixième d'@dmn{em}.
 * \/::                  Correction italique par caractère.
 * \hrulefill \dotfill::          Filet ou pointillés horizontaux extensibles.
@@ -11986,7 +12610,181 @@
 pour parler technique, la valeur de glue @samp{0pt plus1fill}) ; ainsi,
 @code{\hspace\fill} équivaut à @code{\hfill}.
 
+ at node \spacefactor
+ at section @code{\spacefactor}
 
+Synopsis:
+
+ at example
+\spacefactor=@var{integer}
+ at end example
+
+ at findex \spacefactor
+Influence @LaTeX{}'s glue stretch and shrink behavior.  Most user-level
+documents do not use this command.
+
+While @LaTeX{} is laying out the material, it may stretch or shrink the
+gaps between words.  (This space is not a character; it is called the
+ at dfn{interword glue}; @pxref{\hspace}).  The @code{\spacefactor} command
+(from Plain at tie{}@TeX{}) allows you to, for instance, have the space
+after a period stretch more than the space after a word-ending letter.
+
+After @LaTeX{} places each character, or rule or other box, it sets a
+parameter called the @dfn{space factor}.  If the next thing in the input
+is a space then this parameter affects how much stretching or shrinking
+can happen.  A space factor that is larger than the normal value means
+that the glue can stretch more and shrink less.  Normally, the space
+factor is 1000. This value is in effect following most characters, and
+any non-character box or math formula.  But it is 3000 after a period,
+exclamation mark, or question mark, it is 2000 after a colon, 1500 after
+a semicolon, 1250 after a comma, and 0 after a right parenthesis or
+bracket, or closing double quote or single quote.  Finally, it is 999
+after a capital letter.
+
+If the space factor at tie{}@var{f} is 1000 then the glue gap will be the
+font's normal space value (for Computer Modern Roman 10 point this is
+3.3333 at tie{}points).  Otherwise, if the space factor @var{f} is greater
+than 2000 then @TeX{} adds the font's extra space value (for Computer
+Modern Roman 10 point this is 1.11111 at tie{}points), and then the font's
+normal stretch value is multiplied by @math{f /1000} and the normal
+shrink value is multiplied by @math{1000/f} (for Computer Modern Roman
+10 point these are 1.66666 and 1.11111 at tie{}points).
+
+For example, consider the period ending @code{A man's best friend is his
+dog.}  After it, @TeX{} puts in a fixed extra space, and also allows the
+glue to stretch 3 times as much and shrink 1/3 as much, as the glue
+after @code{friend}, which does not end in a period.
+
+The rules for space factors are even more complex because they play
+additional roles.  In practice, there are two consequences.  First, if a
+period or other punctuation is followed by a right parenthesis or
+bracket, or right single or double quote then the spacing effect of that
+period carries through those characters (that is, the following glue
+will have increased stretch and shrink).  Second, if
+punctuation comes after a capital letter then its effect is not in place
+so you get an ordinary space.  This second case also affects abbreviations
+that do not end in a capital letter (@pxref{\@@}).
+
+You can only use @code{\spacefactor} in paragraph mode or LR mode
+(@pxref{Modes}).  You can see the current value with
+ at code{\the\spacefactor} or @code{\showthe\spacefactor}.
+
+(Comment, not really related to @code{\spacefactor}: if you get errors
+like @samp{You can't use `\spacefactor' in vertical mode}, or @samp{You
+can't use `\spacefactor' in math mode.}, or @samp{Improper \spacefactor}
+then you have probably tried to redefine an internal command.
+ at xref{\makeatletter & \makeatother}.)
+
+
+ at menu
+* \@@::              Distinguish sentence-ending periods from abbreviations.  
+* \frenchspacing::      Rendre égaux les espacements inter-phrase et inter-mot.
+* \normalsfcodes::   Restore space factor settings to the default.
+ at end menu
+
+
+ at node \@@ 
+ at subsection @code{\@@}  
+
+ at findex \@@
+ at findex at-sign
+ at cindex period, sentence-ending
+ at cindex period, abbreviation-ending
+ at cindex period, spacing after
+ at anchor{\AT}@c old name
+
+Synopsis:
+
+ at example
+ at var{capital-letter}\@@.    
+ at end example
+
+Treat a period as sentence-ending, where @LaTeX{} would otherwise think
+it is part of an abbreviation.  @LaTeX{} thinks that a period ends an
+abbreviation if the period comes after a capital letter, and otherwise
+thinks the period ends the sentence.  By default, in justifying a line
+ at LaTeX{} adjusts the space after a sentence-ending period (or a question
+mark, exclamation point, comma, or colon) more than it adjusts the space
+between words (@pxref{\spacefactor}).
+
+This example shows the two cases to remember.
+
+ at example
+The songs \textit@{Red Guitar@}, etc.\ are by Loudon Wainwright~III\@@.
+ at end example
+
+ at noindent
+The second period ends the sentence, despite that it is preceded by a
+capital.  We tell @LaTeX{} that it ends the sentence by putting
+ at code{\@@} before it.  The first period ends the abbreviation
+ at samp{etc.} but not the sentence.  The backslash-space, @code{\ },
+produces a mid-sentence space.
+
+So: if you have a capital letter followed by a period that ends the
+sentence, then put @code{\@@} before the period.  This holds even if
+there is an intervening right parenthesis or bracket, or right single or
+double quote, because the spacing effect of that period carries through
+those characters.  For example, this
+
+ at example
+Use the \textit@{Instructional Practices Guide@},
+(a book by the MAA)\@@.
+ at end example
+
+ at noindent
+will have correct inter-sentence spacing after the period.
+
+The @code{\@@} command is only for a text mode. If you use it outside of
+a text mode then you get @samp{You can't use `\spacefactor' in vertical
+mode} (@pxref{Modes}).
+
+Comment: the converse case is a period ending an abbreviation whose last
+letter is not a capital letter, and that abbreviation is not the last
+word in the sentence.  For that case follow the period with a
+backslash-space, (@code{\ }), or a tie, (@code{~}), or @code{\@@}.
+Examples are @code{Nat.\ Acad.\ Science}, and @code{Mr.~Bean}, and
+ at code{(manure, etc.\@@) for sale} (note in the last one that the
+ at code{\@@} comes before the closing parenthesis).
+
+
+ at node \frenchspacing
+ at subsection @code{\frenchspacing}, rendre égaux les espacements inter-phrase et inter-mot
+
+ at findex \frenchspacing
+ at findex \nonfrenchspacing
+ at cindex espacement inter-phrase
+
+Cette déclaration (provenant de @value{PlainTeX}) cause que @LaTeX{}
+traite l'espacement inter-phrase de la même façon que l'espacement inter-mot.
+
+En justifiant le texte sur une ligne, certaine traditions typographique,
+y comrpis l'anglaise, préfèrent ajuster l'espace entre les phrase (ou
+après d'autres signes de ponctuation) plus que l'espace entre les
+mots. À la suite de cette déclaration, tous les espaces sont traités de
+la même façon.
+
+Revenez au comportement par défaut en déclarant
+ at code{\nonfrenchspacing}.
+
+
+
+ at node \normalsfcodes
+ at subsection @code{\normalsfcodes}
+
+ at findex \normalsfcodes
+ at cindex spacing, inter-sentence
+
+Synopsis:
+
+ at example
+\normalsfcodes
+ at end example
+
+Reset the @LaTeX{} space factor values to the default
+(@pxref{\spacefactor}).
+
+
+
 @node \(SPACE) and \@@
 @section @code{\@key{<espace>}} et \@@
 @findex \@key{espace}
@@ -12051,25 +12849,6 @@
 @code{xspace}, ne suivent pas ce comportement standard.
 
 
- at node \frenchspacing
- at section @code{\frenchspacing}, rendre égaux les espacements inter-phrase et inter-mot
-
- at findex \frenchspacing
- at findex \nonfrenchspacing
- at cindex espacement inter-phrase
-
-Cette déclaration (provenant de @value{PlainTeX}) cause que @LaTeX{}
-traite l'espacement inter-phrase de la même façon que l'espacement inter-mot.
-
-En justifiant le texte sur une ligne, certaine traditions typographique,
-y comrpis l'anglaise, préfèrent ajuster l'espace entre les phrase (ou
-après d'autres signes de ponctuation) plus que l'espace entre les
-mots. À la suite de cette déclaration, tous les espaces sont traités de
-la même façon.
-
-Revenez au comportement par défaut en déclarant
- at code{\nonfrenchspacing}.
-
 @node \thinspace
 @section @code{\thinspace}
 @findex \thinspace



More information about the latexrefman-commits mailing list.