texlive[53640] Master/texmf-dist: l2e (2feb20)

commits+karl at tug.org commits+karl at tug.org
Sun Feb 2 23:42:05 CET 2020


Revision: 53640
          http://tug.org/svn/texlive?view=revision&revision=53640
Author:   karl
Date:     2020-02-02 23:42:01 +0100 (Sun, 02 Feb 2020)
Log Message:
-----------
l2e (2feb20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/amsmath/README.md
    trunk/Master/texmf-dist/doc/latex/amsmath/amsbsy.pdf
    trunk/Master/texmf-dist/doc/latex/amsmath/amscd.pdf
    trunk/Master/texmf-dist/doc/latex/amsmath/amsgen.pdf
    trunk/Master/texmf-dist/doc/latex/amsmath/amsldoc.pdf
    trunk/Master/texmf-dist/doc/latex/amsmath/amsldoc.tex
    trunk/Master/texmf-dist/doc/latex/amsmath/amsmath.pdf
    trunk/Master/texmf-dist/doc/latex/amsmath/amsopn.pdf
    trunk/Master/texmf-dist/doc/latex/amsmath/amstext.pdf
    trunk/Master/texmf-dist/doc/latex/amsmath/amsxtra.pdf
    trunk/Master/texmf-dist/doc/latex/amsmath/changes.txt
    trunk/Master/texmf-dist/doc/latex/amsmath/subeqn.pdf
    trunk/Master/texmf-dist/doc/latex/amsmath/technote.pdf
    trunk/Master/texmf-dist/doc/latex/amsmath/testmath.pdf
    trunk/Master/texmf-dist/doc/latex/base/README.md
    trunk/Master/texmf-dist/doc/latex/base/alltt.pdf
    trunk/Master/texmf-dist/doc/latex/base/bugs.txt
    trunk/Master/texmf-dist/doc/latex/base/cfgguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/cfgguide.tex
    trunk/Master/texmf-dist/doc/latex/base/changes.old.txt
    trunk/Master/texmf-dist/doc/latex/base/changes.txt
    trunk/Master/texmf-dist/doc/latex/base/classes.pdf
    trunk/Master/texmf-dist/doc/latex/base/clsguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/clsguide.tex
    trunk/Master/texmf-dist/doc/latex/base/cmfonts.pdf
    trunk/Master/texmf-dist/doc/latex/base/cyrguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/cyrguide.tex
    trunk/Master/texmf-dist/doc/latex/base/doc.pdf
    trunk/Master/texmf-dist/doc/latex/base/docstrip.pdf
    trunk/Master/texmf-dist/doc/latex/base/encguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/encguide.tex
    trunk/Master/texmf-dist/doc/latex/base/exscale.pdf
    trunk/Master/texmf-dist/doc/latex/base/fix-cm.pdf
    trunk/Master/texmf-dist/doc/latex/base/fntguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/fntguide.tex
    trunk/Master/texmf-dist/doc/latex/base/graphpap.pdf
    trunk/Master/texmf-dist/doc/latex/base/ifthen.pdf
    trunk/Master/texmf-dist/doc/latex/base/inputenc.pdf
    trunk/Master/texmf-dist/doc/latex/base/latexchanges.pdf
    trunk/Master/texmf-dist/doc/latex/base/latexchanges.tex
    trunk/Master/texmf-dist/doc/latex/base/latexrelease.pdf
    trunk/Master/texmf-dist/doc/latex/base/latexsym.pdf
    trunk/Master/texmf-dist/doc/latex/base/lb2.err
    trunk/Master/texmf-dist/doc/latex/base/lb2.pdf
    trunk/Master/texmf-dist/doc/latex/base/legal.txt
    trunk/Master/texmf-dist/doc/latex/base/letter.pdf
    trunk/Master/texmf-dist/doc/latex/base/lgc2.err
    trunk/Master/texmf-dist/doc/latex/base/lgc2.pdf
    trunk/Master/texmf-dist/doc/latex/base/lppl-1-0.txt
    trunk/Master/texmf-dist/doc/latex/base/lppl-1-1.txt
    trunk/Master/texmf-dist/doc/latex/base/lppl-1-2.txt
    trunk/Master/texmf-dist/doc/latex/base/lppl.txt
    trunk/Master/texmf-dist/doc/latex/base/ltluatex.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews01.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews01.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews02.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews02.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews03.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews03.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews04.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews04.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews05.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews05.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews06.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews06.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews07.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews07.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews08.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews08.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews09.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews09.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews10.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews10.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews11.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews11.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews12.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews12.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews13.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews13.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews14.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews14.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews15.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews15.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews16.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews16.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews17.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews17.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews18.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews18.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews19.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews19.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews20.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews21.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews21.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews22.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews22.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews23.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews23.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews24.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews24.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews25.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews25.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews26.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews26.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews27.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews27.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews28.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews28.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews29.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews29.tex
    trunk/Master/texmf-dist/doc/latex/base/ltnews30.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews30.tex
    trunk/Master/texmf-dist/doc/latex/base/ltx3info.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltx3info.tex
    trunk/Master/texmf-dist/doc/latex/base/ltxdoc.pdf
    trunk/Master/texmf-dist/doc/latex/base/makeindx.pdf
    trunk/Master/texmf-dist/doc/latex/base/manifest.txt
    trunk/Master/texmf-dist/doc/latex/base/manual.err
    trunk/Master/texmf-dist/doc/latex/base/manual.pdf
    trunk/Master/texmf-dist/doc/latex/base/modguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/modguide.tex
    trunk/Master/texmf-dist/doc/latex/base/nfssfont.pdf
    trunk/Master/texmf-dist/doc/latex/base/proc.pdf
    trunk/Master/texmf-dist/doc/latex/base/slides.pdf
    trunk/Master/texmf-dist/doc/latex/base/slifonts.pdf
    trunk/Master/texmf-dist/doc/latex/base/source2e.pdf
    trunk/Master/texmf-dist/doc/latex/base/source2e.tex
    trunk/Master/texmf-dist/doc/latex/base/syntonly.pdf
    trunk/Master/texmf-dist/doc/latex/base/texpert.txt
    trunk/Master/texmf-dist/doc/latex/base/tlc2.err
    trunk/Master/texmf-dist/doc/latex/base/tlc2.pdf
    trunk/Master/texmf-dist/doc/latex/base/tulm.pdf
    trunk/Master/texmf-dist/doc/latex/base/usrguide.pdf
    trunk/Master/texmf-dist/doc/latex/base/usrguide.tex
    trunk/Master/texmf-dist/doc/latex/base/utf8ienc.pdf
    trunk/Master/texmf-dist/doc/latex/base/webcomp.err
    trunk/Master/texmf-dist/doc/latex/base/webcomp.pdf
    trunk/Master/texmf-dist/doc/latex/graphics/README.md
    trunk/Master/texmf-dist/doc/latex/graphics/changes.txt
    trunk/Master/texmf-dist/doc/latex/graphics/color.pdf
    trunk/Master/texmf-dist/doc/latex/graphics/drivers.pdf
    trunk/Master/texmf-dist/doc/latex/graphics/epsfig.pdf
    trunk/Master/texmf-dist/doc/latex/graphics/graphics.pdf
    trunk/Master/texmf-dist/doc/latex/graphics/graphicx.pdf
    trunk/Master/texmf-dist/doc/latex/graphics/grfguide.pdf
    trunk/Master/texmf-dist/doc/latex/graphics/grfguide.tex
    trunk/Master/texmf-dist/doc/latex/graphics/keyval.pdf
    trunk/Master/texmf-dist/doc/latex/graphics/lscape.pdf
    trunk/Master/texmf-dist/doc/latex/graphics/rotating.pdf
    trunk/Master/texmf-dist/doc/latex/graphics/rotex.pdf
    trunk/Master/texmf-dist/doc/latex/graphics/rotex.tex
    trunk/Master/texmf-dist/doc/latex/graphics/trig.pdf
    trunk/Master/texmf-dist/doc/latex/tools/README.md
    trunk/Master/texmf-dist/doc/latex/tools/afterpage.pdf
    trunk/Master/texmf-dist/doc/latex/tools/array.pdf
    trunk/Master/texmf-dist/doc/latex/tools/bm.pdf
    trunk/Master/texmf-dist/doc/latex/tools/calc.pdf
    trunk/Master/texmf-dist/doc/latex/tools/changes.txt
    trunk/Master/texmf-dist/doc/latex/tools/dcolumn.pdf
    trunk/Master/texmf-dist/doc/latex/tools/delarray.pdf
    trunk/Master/texmf-dist/doc/latex/tools/enumerate.pdf
    trunk/Master/texmf-dist/doc/latex/tools/fileerr.pdf
    trunk/Master/texmf-dist/doc/latex/tools/fontsmpl.pdf
    trunk/Master/texmf-dist/doc/latex/tools/ftnright.pdf
    trunk/Master/texmf-dist/doc/latex/tools/hhline.pdf
    trunk/Master/texmf-dist/doc/latex/tools/indentfirst.pdf
    trunk/Master/texmf-dist/doc/latex/tools/layout.pdf
    trunk/Master/texmf-dist/doc/latex/tools/longtable.pdf
    trunk/Master/texmf-dist/doc/latex/tools/manifest.txt
    trunk/Master/texmf-dist/doc/latex/tools/multicol.pdf
    trunk/Master/texmf-dist/doc/latex/tools/rawfonts.pdf
    trunk/Master/texmf-dist/doc/latex/tools/shellesc.pdf
    trunk/Master/texmf-dist/doc/latex/tools/showkeys.pdf
    trunk/Master/texmf-dist/doc/latex/tools/somedefs.pdf
    trunk/Master/texmf-dist/doc/latex/tools/tabularx.pdf
    trunk/Master/texmf-dist/doc/latex/tools/theorem.pdf
    trunk/Master/texmf-dist/doc/latex/tools/tools-overview.pdf
    trunk/Master/texmf-dist/doc/latex/tools/tools-overview.tex
    trunk/Master/texmf-dist/doc/latex/tools/trace.pdf
    trunk/Master/texmf-dist/doc/latex/tools/varioref.pdf
    trunk/Master/texmf-dist/doc/latex/tools/verbatim.pdf
    trunk/Master/texmf-dist/doc/latex/tools/xr.pdf
    trunk/Master/texmf-dist/doc/latex/tools/xspace.pdf
    trunk/Master/texmf-dist/source/latex/amsmath/amsbsy.dtx
    trunk/Master/texmf-dist/source/latex/amsmath/amsbsy.ins
    trunk/Master/texmf-dist/source/latex/amsmath/amscd.dtx
    trunk/Master/texmf-dist/source/latex/amsmath/amscd.ins
    trunk/Master/texmf-dist/source/latex/amsmath/amsgen.dtx
    trunk/Master/texmf-dist/source/latex/amsmath/amsgen.ins
    trunk/Master/texmf-dist/source/latex/amsmath/amsmath.dtx
    trunk/Master/texmf-dist/source/latex/amsmath/amsmath.ins
    trunk/Master/texmf-dist/source/latex/amsmath/amsopn.dtx
    trunk/Master/texmf-dist/source/latex/amsmath/amsopn.ins
    trunk/Master/texmf-dist/source/latex/amsmath/amstext.dtx
    trunk/Master/texmf-dist/source/latex/amsmath/amstext.ins
    trunk/Master/texmf-dist/source/latex/amsmath/amsxtra.dtx
    trunk/Master/texmf-dist/source/latex/amsmath/amsxtra.ins
    trunk/Master/texmf-dist/source/latex/base/alltt.dtx
    trunk/Master/texmf-dist/source/latex/base/alltt.ins
    trunk/Master/texmf-dist/source/latex/base/classes.dtx
    trunk/Master/texmf-dist/source/latex/base/classes.ins
    trunk/Master/texmf-dist/source/latex/base/cmextra.ins
    trunk/Master/texmf-dist/source/latex/base/cmfonts.fdd
    trunk/Master/texmf-dist/source/latex/base/cmfonts.ins
    trunk/Master/texmf-dist/source/latex/base/doc.dtx
    trunk/Master/texmf-dist/source/latex/base/docstrip.dtx
    trunk/Master/texmf-dist/source/latex/base/docstrip.ins
    trunk/Master/texmf-dist/source/latex/base/ec.ins
    trunk/Master/texmf-dist/source/latex/base/exscale.dtx
    trunk/Master/texmf-dist/source/latex/base/exscale.ins
    trunk/Master/texmf-dist/source/latex/base/fix-cm.dtx
    trunk/Master/texmf-dist/source/latex/base/fix-cm.ins
    trunk/Master/texmf-dist/source/latex/base/fontdef.dtx
    trunk/Master/texmf-dist/source/latex/base/format.ins
    trunk/Master/texmf-dist/source/latex/base/graphpap.dtx
    trunk/Master/texmf-dist/source/latex/base/graphpap.ins
    trunk/Master/texmf-dist/source/latex/base/ifthen.dtx
    trunk/Master/texmf-dist/source/latex/base/ifthen.ins
    trunk/Master/texmf-dist/source/latex/base/inputenc.dtx
    trunk/Master/texmf-dist/source/latex/base/inputenc.ins
    trunk/Master/texmf-dist/source/latex/base/latex209.dtx
    trunk/Master/texmf-dist/source/latex/base/latex209.ins
    trunk/Master/texmf-dist/source/latex/base/latexrelease.dtx
    trunk/Master/texmf-dist/source/latex/base/latexrelease.ins
    trunk/Master/texmf-dist/source/latex/base/latexsym.dtx
    trunk/Master/texmf-dist/source/latex/base/latexsym.ins
    trunk/Master/texmf-dist/source/latex/base/letter.dtx
    trunk/Master/texmf-dist/source/latex/base/letter.ins
    trunk/Master/texmf-dist/source/latex/base/ltalloc.dtx
    trunk/Master/texmf-dist/source/latex/base/ltbibl.dtx
    trunk/Master/texmf-dist/source/latex/base/ltboxes.dtx
    trunk/Master/texmf-dist/source/latex/base/ltclass.dtx
    trunk/Master/texmf-dist/source/latex/base/ltcntrl.dtx
    trunk/Master/texmf-dist/source/latex/base/ltcounts.dtx
    trunk/Master/texmf-dist/source/latex/base/ltdefns.dtx
    trunk/Master/texmf-dist/source/latex/base/ltdirchk.dtx
    trunk/Master/texmf-dist/source/latex/base/lterror.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfiles.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfinal.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfloat.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfntcmd.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfssbas.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfsscmp.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfssdcl.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfssini.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfsstrc.dtx
    trunk/Master/texmf-dist/source/latex/base/lthyphen.dtx
    trunk/Master/texmf-dist/source/latex/base/ltidxglo.dtx
    trunk/Master/texmf-dist/source/latex/base/ltlength.dtx
    trunk/Master/texmf-dist/source/latex/base/ltlists.dtx
    trunk/Master/texmf-dist/source/latex/base/ltlogos.dtx
    trunk/Master/texmf-dist/source/latex/base/ltluatex.dtx
    trunk/Master/texmf-dist/source/latex/base/ltmath.dtx
    trunk/Master/texmf-dist/source/latex/base/ltmiscen.dtx
    trunk/Master/texmf-dist/source/latex/base/ltoutenc.dtx
    trunk/Master/texmf-dist/source/latex/base/ltoutenc.ins
    trunk/Master/texmf-dist/source/latex/base/ltoutput.dtx
    trunk/Master/texmf-dist/source/latex/base/ltpage.dtx
    trunk/Master/texmf-dist/source/latex/base/ltpageno.dtx
    trunk/Master/texmf-dist/source/latex/base/ltpar.dtx
    trunk/Master/texmf-dist/source/latex/base/ltpictur.dtx
    trunk/Master/texmf-dist/source/latex/base/ltplain.dtx
    trunk/Master/texmf-dist/source/latex/base/ltsect.dtx
    trunk/Master/texmf-dist/source/latex/base/ltspace.dtx
    trunk/Master/texmf-dist/source/latex/base/lttab.dtx
    trunk/Master/texmf-dist/source/latex/base/ltthm.dtx
    trunk/Master/texmf-dist/source/latex/base/ltvers.dtx
    trunk/Master/texmf-dist/source/latex/base/ltxdoc.dtx
    trunk/Master/texmf-dist/source/latex/base/ltxref.dtx
    trunk/Master/texmf-dist/source/latex/base/makeindx.dtx
    trunk/Master/texmf-dist/source/latex/base/makeindx.ins
    trunk/Master/texmf-dist/source/latex/base/newdc.ins
    trunk/Master/texmf-dist/source/latex/base/newlfont.dtx
    trunk/Master/texmf-dist/source/latex/base/nfssfont.dtx
    trunk/Master/texmf-dist/source/latex/base/nfssfont.ins
    trunk/Master/texmf-dist/source/latex/base/olddc.ins
    trunk/Master/texmf-dist/source/latex/base/oldlfont.dtx
    trunk/Master/texmf-dist/source/latex/base/preload.dtx
    trunk/Master/texmf-dist/source/latex/base/proc.dtx
    trunk/Master/texmf-dist/source/latex/base/proc.ins
    trunk/Master/texmf-dist/source/latex/base/slides.dtx
    trunk/Master/texmf-dist/source/latex/base/slides.ins
    trunk/Master/texmf-dist/source/latex/base/slifonts.fdd
    trunk/Master/texmf-dist/source/latex/base/syntonly.dtx
    trunk/Master/texmf-dist/source/latex/base/syntonly.ins
    trunk/Master/texmf-dist/source/latex/base/tulm.fdd
    trunk/Master/texmf-dist/source/latex/base/tulm.ins
    trunk/Master/texmf-dist/source/latex/base/unpack.ins
    trunk/Master/texmf-dist/source/latex/base/utf8ienc.dtx
    trunk/Master/texmf-dist/source/latex/graphics/color.dtx
    trunk/Master/texmf-dist/source/latex/graphics/drivers.dtx
    trunk/Master/texmf-dist/source/latex/graphics/epsfig.dtx
    trunk/Master/texmf-dist/source/latex/graphics/graphics.dtx
    trunk/Master/texmf-dist/source/latex/graphics/graphicx.dtx
    trunk/Master/texmf-dist/source/latex/graphics/keyval.dtx
    trunk/Master/texmf-dist/source/latex/graphics/lscape.dtx
    trunk/Master/texmf-dist/source/latex/graphics/rotating.dtx
    trunk/Master/texmf-dist/source/latex/graphics/trig.dtx
    trunk/Master/texmf-dist/source/latex/tools/afterpage.dtx
    trunk/Master/texmf-dist/source/latex/tools/afterpage.ins
    trunk/Master/texmf-dist/source/latex/tools/array.dtx
    trunk/Master/texmf-dist/source/latex/tools/bm.dtx
    trunk/Master/texmf-dist/source/latex/tools/bm.ins
    trunk/Master/texmf-dist/source/latex/tools/calc.dtx
    trunk/Master/texmf-dist/source/latex/tools/dcolumn.dtx
    trunk/Master/texmf-dist/source/latex/tools/delarray.dtx
    trunk/Master/texmf-dist/source/latex/tools/enumerate.dtx
    trunk/Master/texmf-dist/source/latex/tools/fileerr.dtx
    trunk/Master/texmf-dist/source/latex/tools/fontsmpl.dtx
    trunk/Master/texmf-dist/source/latex/tools/ftnright.dtx
    trunk/Master/texmf-dist/source/latex/tools/hhline.dtx
    trunk/Master/texmf-dist/source/latex/tools/indentfirst.dtx
    trunk/Master/texmf-dist/source/latex/tools/layout.dtx
    trunk/Master/texmf-dist/source/latex/tools/longtable.dtx
    trunk/Master/texmf-dist/source/latex/tools/longtable.ins
    trunk/Master/texmf-dist/source/latex/tools/multicol.dtx
    trunk/Master/texmf-dist/source/latex/tools/multicol.ins
    trunk/Master/texmf-dist/source/latex/tools/rawfonts.dtx
    trunk/Master/texmf-dist/source/latex/tools/shellesc.dtx
    trunk/Master/texmf-dist/source/latex/tools/showkeys.dtx
    trunk/Master/texmf-dist/source/latex/tools/somedefs.dtx
    trunk/Master/texmf-dist/source/latex/tools/tabularx.dtx
    trunk/Master/texmf-dist/source/latex/tools/tabularx.ins
    trunk/Master/texmf-dist/source/latex/tools/theorem.dtx
    trunk/Master/texmf-dist/source/latex/tools/tools.ins
    trunk/Master/texmf-dist/source/latex/tools/trace.dtx
    trunk/Master/texmf-dist/source/latex/tools/varioref.dtx
    trunk/Master/texmf-dist/source/latex/tools/varioref.ins
    trunk/Master/texmf-dist/source/latex/tools/verbatim.dtx
    trunk/Master/texmf-dist/source/latex/tools/xr.dtx
    trunk/Master/texmf-dist/source/latex/tools/xspace.dtx
    trunk/Master/texmf-dist/tex/latex/amsmath/amsmath-2018-12-01.sty
    trunk/Master/texmf-dist/tex/latex/amsmath/amsmath.sty
    trunk/Master/texmf-dist/tex/latex/amsmath/amstex.sty
    trunk/Master/texmf-dist/tex/latex/base/alltt.sty
    trunk/Master/texmf-dist/tex/latex/base/ansinew.def
    trunk/Master/texmf-dist/tex/latex/base/applemac.def
    trunk/Master/texmf-dist/tex/latex/base/article.cls
    trunk/Master/texmf-dist/tex/latex/base/article.sty
    trunk/Master/texmf-dist/tex/latex/base/ascii.def
    trunk/Master/texmf-dist/tex/latex/base/bezier.sty
    trunk/Master/texmf-dist/tex/latex/base/bk10.clo
    trunk/Master/texmf-dist/tex/latex/base/bk11.clo
    trunk/Master/texmf-dist/tex/latex/base/bk12.clo
    trunk/Master/texmf-dist/tex/latex/base/book.cls
    trunk/Master/texmf-dist/tex/latex/base/book.sty
    trunk/Master/texmf-dist/tex/latex/base/cp1250.def
    trunk/Master/texmf-dist/tex/latex/base/cp1252.def
    trunk/Master/texmf-dist/tex/latex/base/cp1257.def
    trunk/Master/texmf-dist/tex/latex/base/cp437.def
    trunk/Master/texmf-dist/tex/latex/base/cp437de.def
    trunk/Master/texmf-dist/tex/latex/base/cp850.def
    trunk/Master/texmf-dist/tex/latex/base/cp852.def
    trunk/Master/texmf-dist/tex/latex/base/cp858.def
    trunk/Master/texmf-dist/tex/latex/base/cp865.def
    trunk/Master/texmf-dist/tex/latex/base/decmulti.def
    trunk/Master/texmf-dist/tex/latex/base/doc.sty
    trunk/Master/texmf-dist/tex/latex/base/docstrip.tex
    trunk/Master/texmf-dist/tex/latex/base/exscale.sty
    trunk/Master/texmf-dist/tex/latex/base/fix-cm.sty
    trunk/Master/texmf-dist/tex/latex/base/fixltx2e.sty
    trunk/Master/texmf-dist/tex/latex/base/flafter.sty
    trunk/Master/texmf-dist/tex/latex/base/fleqn.clo
    trunk/Master/texmf-dist/tex/latex/base/fleqn.sty
    trunk/Master/texmf-dist/tex/latex/base/fltrace.sty
    trunk/Master/texmf-dist/tex/latex/base/fontenc.sty
    trunk/Master/texmf-dist/tex/latex/base/fontmath.cfg
    trunk/Master/texmf-dist/tex/latex/base/fontmath.ltx
    trunk/Master/texmf-dist/tex/latex/base/fonttext.cfg
    trunk/Master/texmf-dist/tex/latex/base/fonttext.ltx
    trunk/Master/texmf-dist/tex/latex/base/graphpap.sty
    trunk/Master/texmf-dist/tex/latex/base/hyphen.ltx
    trunk/Master/texmf-dist/tex/latex/base/idx.tex
    trunk/Master/texmf-dist/tex/latex/base/ifthen.sty
    trunk/Master/texmf-dist/tex/latex/base/inputenc.sty
    trunk/Master/texmf-dist/tex/latex/base/lablst.tex
    trunk/Master/texmf-dist/tex/latex/base/latex.ltx
    trunk/Master/texmf-dist/tex/latex/base/latex209.def
    trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty
    trunk/Master/texmf-dist/tex/latex/base/latexsym.sty
    trunk/Master/texmf-dist/tex/latex/base/latin1.def
    trunk/Master/texmf-dist/tex/latex/base/latin10.def
    trunk/Master/texmf-dist/tex/latex/base/latin2.def
    trunk/Master/texmf-dist/tex/latex/base/latin3.def
    trunk/Master/texmf-dist/tex/latex/base/latin4.def
    trunk/Master/texmf-dist/tex/latex/base/latin5.def
    trunk/Master/texmf-dist/tex/latex/base/latin9.def
    trunk/Master/texmf-dist/tex/latex/base/lcyenc.dfu
    trunk/Master/texmf-dist/tex/latex/base/leqno.clo
    trunk/Master/texmf-dist/tex/latex/base/leqno.sty
    trunk/Master/texmf-dist/tex/latex/base/letter.cls
    trunk/Master/texmf-dist/tex/latex/base/letter.sty
    trunk/Master/texmf-dist/tex/latex/base/ltluatex.lua
    trunk/Master/texmf-dist/tex/latex/base/ltluatex.tex
    trunk/Master/texmf-dist/tex/latex/base/ltnews.cls
    trunk/Master/texmf-dist/tex/latex/base/ltxcheck.tex
    trunk/Master/texmf-dist/tex/latex/base/ltxdoc.cls
    trunk/Master/texmf-dist/tex/latex/base/ltxguide.cls
    trunk/Master/texmf-dist/tex/latex/base/ly1enc.dfu
    trunk/Master/texmf-dist/tex/latex/base/macce.def
    trunk/Master/texmf-dist/tex/latex/base/makeidx.sty
    trunk/Master/texmf-dist/tex/latex/base/minimal.cls
    trunk/Master/texmf-dist/tex/latex/base/newlfont.sty
    trunk/Master/texmf-dist/tex/latex/base/next.def
    trunk/Master/texmf-dist/tex/latex/base/nfssfont.tex
    trunk/Master/texmf-dist/tex/latex/base/oldlfont.sty
    trunk/Master/texmf-dist/tex/latex/base/omlcmm.fd
    trunk/Master/texmf-dist/tex/latex/base/omlcmr.fd
    trunk/Master/texmf-dist/tex/latex/base/omlenc.def
    trunk/Master/texmf-dist/tex/latex/base/omllcmm.fd
    trunk/Master/texmf-dist/tex/latex/base/omscmr.fd
    trunk/Master/texmf-dist/tex/latex/base/omscmsy.fd
    trunk/Master/texmf-dist/tex/latex/base/omsenc.def
    trunk/Master/texmf-dist/tex/latex/base/omsenc.dfu
    trunk/Master/texmf-dist/tex/latex/base/omslcmsy.fd
    trunk/Master/texmf-dist/tex/latex/base/omxcmex.fd
    trunk/Master/texmf-dist/tex/latex/base/omxlcmex.fd
    trunk/Master/texmf-dist/tex/latex/base/openbib.sty
    trunk/Master/texmf-dist/tex/latex/base/ot1cmdh.fd
    trunk/Master/texmf-dist/tex/latex/base/ot1cmfib.fd
    trunk/Master/texmf-dist/tex/latex/base/ot1cmfr.fd
    trunk/Master/texmf-dist/tex/latex/base/ot1cmr.fd
    trunk/Master/texmf-dist/tex/latex/base/ot1cmss.fd
    trunk/Master/texmf-dist/tex/latex/base/ot1cmtt.fd
    trunk/Master/texmf-dist/tex/latex/base/ot1cmvtt.fd
    trunk/Master/texmf-dist/tex/latex/base/ot1enc.def
    trunk/Master/texmf-dist/tex/latex/base/ot1enc.dfu
    trunk/Master/texmf-dist/tex/latex/base/ot1lcmss.fd
    trunk/Master/texmf-dist/tex/latex/base/ot1lcmtt.fd
    trunk/Master/texmf-dist/tex/latex/base/ot2enc.dfu
    trunk/Master/texmf-dist/tex/latex/base/ot4enc.def
    trunk/Master/texmf-dist/tex/latex/base/preload.cfg
    trunk/Master/texmf-dist/tex/latex/base/preload.ltx
    trunk/Master/texmf-dist/tex/latex/base/proc.cls
    trunk/Master/texmf-dist/tex/latex/base/proc.sty
    trunk/Master/texmf-dist/tex/latex/base/report.cls
    trunk/Master/texmf-dist/tex/latex/base/report.sty
    trunk/Master/texmf-dist/tex/latex/base/sample2e.tex
    trunk/Master/texmf-dist/tex/latex/base/sfonts.def
    trunk/Master/texmf-dist/tex/latex/base/shortvrb.sty
    trunk/Master/texmf-dist/tex/latex/base/showidx.sty
    trunk/Master/texmf-dist/tex/latex/base/size10.clo
    trunk/Master/texmf-dist/tex/latex/base/size11.clo
    trunk/Master/texmf-dist/tex/latex/base/size12.clo
    trunk/Master/texmf-dist/tex/latex/base/slides.cls
    trunk/Master/texmf-dist/tex/latex/base/slides.def
    trunk/Master/texmf-dist/tex/latex/base/slides.sty
    trunk/Master/texmf-dist/tex/latex/base/small2e.tex
    trunk/Master/texmf-dist/tex/latex/base/syntonly.sty
    trunk/Master/texmf-dist/tex/latex/base/t1cmdh.fd
    trunk/Master/texmf-dist/tex/latex/base/t1cmfib.fd
    trunk/Master/texmf-dist/tex/latex/base/t1cmfr.fd
    trunk/Master/texmf-dist/tex/latex/base/t1cmr.fd
    trunk/Master/texmf-dist/tex/latex/base/t1cmss.fd
    trunk/Master/texmf-dist/tex/latex/base/t1cmtt.fd
    trunk/Master/texmf-dist/tex/latex/base/t1cmvtt.fd
    trunk/Master/texmf-dist/tex/latex/base/t1enc.def
    trunk/Master/texmf-dist/tex/latex/base/t1enc.dfu
    trunk/Master/texmf-dist/tex/latex/base/t1enc.sty
    trunk/Master/texmf-dist/tex/latex/base/t1lcmss.fd
    trunk/Master/texmf-dist/tex/latex/base/t1lcmtt.fd
    trunk/Master/texmf-dist/tex/latex/base/t2aenc.dfu
    trunk/Master/texmf-dist/tex/latex/base/t2benc.dfu
    trunk/Master/texmf-dist/tex/latex/base/t2cenc.dfu
    trunk/Master/texmf-dist/tex/latex/base/testpage.tex
    trunk/Master/texmf-dist/tex/latex/base/textcomp.sty
    trunk/Master/texmf-dist/tex/latex/base/tracefnt.sty
    trunk/Master/texmf-dist/tex/latex/base/ts1cmr.fd
    trunk/Master/texmf-dist/tex/latex/base/ts1cmss.fd
    trunk/Master/texmf-dist/tex/latex/base/ts1cmtt.fd
    trunk/Master/texmf-dist/tex/latex/base/ts1cmvtt.fd
    trunk/Master/texmf-dist/tex/latex/base/ts1enc.def
    trunk/Master/texmf-dist/tex/latex/base/ts1enc.dfu
    trunk/Master/texmf-dist/tex/latex/base/tuenc.def
    trunk/Master/texmf-dist/tex/latex/base/tulmdh.fd
    trunk/Master/texmf-dist/tex/latex/base/tulmr.fd
    trunk/Master/texmf-dist/tex/latex/base/tulmss.fd
    trunk/Master/texmf-dist/tex/latex/base/tulmssq.fd
    trunk/Master/texmf-dist/tex/latex/base/tulmtt.fd
    trunk/Master/texmf-dist/tex/latex/base/tulmvtt.fd
    trunk/Master/texmf-dist/tex/latex/base/ucmr.fd
    trunk/Master/texmf-dist/tex/latex/base/ucmss.fd
    trunk/Master/texmf-dist/tex/latex/base/ucmtt.fd
    trunk/Master/texmf-dist/tex/latex/base/ulasy.fd
    trunk/Master/texmf-dist/tex/latex/base/ullasy.fd
    trunk/Master/texmf-dist/tex/latex/base/utf8-2018.def
    trunk/Master/texmf-dist/tex/latex/base/utf8.def
    trunk/Master/texmf-dist/tex/latex/base/utf8enc.dfu
    trunk/Master/texmf-dist/tex/latex/base/x2enc.dfu
    trunk/Master/texmf-dist/tex/latex/graphics/color.sty
    trunk/Master/texmf-dist/tex/latex/graphics/dvipdf.def
    trunk/Master/texmf-dist/tex/latex/graphics/dvipsnam.def
    trunk/Master/texmf-dist/tex/latex/graphics/dvipsone.def
    trunk/Master/texmf-dist/tex/latex/graphics/dviwin.def
    trunk/Master/texmf-dist/tex/latex/graphics/emtex.def
    trunk/Master/texmf-dist/tex/latex/graphics/epsfig.sty
    trunk/Master/texmf-dist/tex/latex/graphics/graphics-2017-06-25.sty
    trunk/Master/texmf-dist/tex/latex/graphics/graphics.sty
    trunk/Master/texmf-dist/tex/latex/graphics/graphicx.sty
    trunk/Master/texmf-dist/tex/latex/graphics/keyval.sty
    trunk/Master/texmf-dist/tex/latex/graphics/lscape.sty
    trunk/Master/texmf-dist/tex/latex/graphics/pctex32.def
    trunk/Master/texmf-dist/tex/latex/graphics/pctexhp.def
    trunk/Master/texmf-dist/tex/latex/graphics/pctexps.def
    trunk/Master/texmf-dist/tex/latex/graphics/pctexwin.def
    trunk/Master/texmf-dist/tex/latex/graphics/rotating.sty
    trunk/Master/texmf-dist/tex/latex/graphics/tcidvi.def
    trunk/Master/texmf-dist/tex/latex/graphics/trig.sty
    trunk/Master/texmf-dist/tex/latex/graphics/truetex.def
    trunk/Master/texmf-dist/tex/latex/tools/.tex
    trunk/Master/texmf-dist/tex/latex/tools/afterpage.sty
    trunk/Master/texmf-dist/tex/latex/tools/array-2016-10-06.sty
    trunk/Master/texmf-dist/tex/latex/tools/array.sty
    trunk/Master/texmf-dist/tex/latex/tools/bm.sty
    trunk/Master/texmf-dist/tex/latex/tools/calc.sty
    trunk/Master/texmf-dist/tex/latex/tools/dcolumn.sty
    trunk/Master/texmf-dist/tex/latex/tools/delarray.sty
    trunk/Master/texmf-dist/tex/latex/tools/e.tex
    trunk/Master/texmf-dist/tex/latex/tools/enumerate.sty
    trunk/Master/texmf-dist/tex/latex/tools/fontsmpl.sty
    trunk/Master/texmf-dist/tex/latex/tools/fontsmpl.tex
    trunk/Master/texmf-dist/tex/latex/tools/ftnright.sty
    trunk/Master/texmf-dist/tex/latex/tools/h.tex
    trunk/Master/texmf-dist/tex/latex/tools/hhline.sty
    trunk/Master/texmf-dist/tex/latex/tools/indentfirst.sty
    trunk/Master/texmf-dist/tex/latex/tools/layout.sty
    trunk/Master/texmf-dist/tex/latex/tools/longtable.sty
    trunk/Master/texmf-dist/tex/latex/tools/multicol-2017-04-11.sty
    trunk/Master/texmf-dist/tex/latex/tools/multicol.sty
    trunk/Master/texmf-dist/tex/latex/tools/q.tex
    trunk/Master/texmf-dist/tex/latex/tools/r.tex
    trunk/Master/texmf-dist/tex/latex/tools/rawfonts.sty
    trunk/Master/texmf-dist/tex/latex/tools/s.tex
    trunk/Master/texmf-dist/tex/latex/tools/shellesc.sty
    trunk/Master/texmf-dist/tex/latex/tools/showkeys.sty
    trunk/Master/texmf-dist/tex/latex/tools/somedefs.sty
    trunk/Master/texmf-dist/tex/latex/tools/tabularx.sty
    trunk/Master/texmf-dist/tex/latex/tools/thb.sty
    trunk/Master/texmf-dist/tex/latex/tools/thc.sty
    trunk/Master/texmf-dist/tex/latex/tools/thcb.sty
    trunk/Master/texmf-dist/tex/latex/tools/theorem.sty
    trunk/Master/texmf-dist/tex/latex/tools/thm.sty
    trunk/Master/texmf-dist/tex/latex/tools/thmb.sty
    trunk/Master/texmf-dist/tex/latex/tools/thp.sty
    trunk/Master/texmf-dist/tex/latex/tools/trace.sty
    trunk/Master/texmf-dist/tex/latex/tools/varioref-2016-02-16.sty
    trunk/Master/texmf-dist/tex/latex/tools/varioref.sty
    trunk/Master/texmf-dist/tex/latex/tools/verbatim.sty
    trunk/Master/texmf-dist/tex/latex/tools/verbtest.tex
    trunk/Master/texmf-dist/tex/latex/tools/x.tex
    trunk/Master/texmf-dist/tex/latex/tools/xr.sty
    trunk/Master/texmf-dist/tex/latex/tools/xspace.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/base/ltnews31.pdf
    trunk/Master/texmf-dist/doc/latex/base/ltnews31.tex
    trunk/Master/texmf-dist/source/latex/base/ltexpl.dtx
    trunk/Master/texmf-dist/source/latex/base/ltfssaxes.dtx
    trunk/Master/texmf-dist/source/latex/base/lttextcomp.dtx
    trunk/Master/texmf-dist/tex/latex/base/ltexpl.ltx
    trunk/Master/texmf-dist/tex/latex/base/textcomp-2018-08-11.sty

Removed Paths:
-------------
    trunk/Master/texmf-dist/doc/latex/graphics/cat-eps-converted-to.pdf

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/amsmath/README.md	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/amsmath/README.md	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
 The amsmath bundle for LaTeX
 ============================
 
-Release 2019-11-17
+Release 2020-02-02
 
 Overview
 --------
@@ -77,5 +77,5 @@
 -----
 
 <p>Copyright (C) 2001-2004, 2007, 2008, 2010, 2011, 2013 American Mathematical Society. <br />
-<p>Copyright (C) 2016-2019 The LaTeX Project and American Mathematical Society. <br />
+<p>Copyright (C) 2016-2020 The LaTeX Project and American Mathematical Society. <br />
 

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/amsbsy.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/amscd.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/amsgen.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/amsldoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/amsldoc.tex
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/amsmath.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/amsopn.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/amstext.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/amsxtra.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/amsmath/changes.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/amsmath/changes.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,4 +1,18 @@
 #########################
+# 2020-02-02 Release
+#########################
+
+2020-01-20  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* amsmath.dtx (subsection{Vertical bar symbols}):
+	Make \lvert, \rvert, \lVert and \rVert robust to match kernel
+	correction (gh/251)
+
+2019-12-01  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* amsmath.dtx: docu update for gh/200 no code change.
+
+#########################
 # 2019-11-17 Release
 #########################
 

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/subeqn.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/technote.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/amsmath/testmath.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/README.md	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/README.md	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
 The LaTeX kernel
 ================
 
-Release 2019-10-01 patch level 3
+Release 2020-02-02
 
 Overview
 --------
@@ -35,7 +35,7 @@
 - `manifest.txt` lists all the files in this LaTeX distribution,
    with one line of information about the contents
 - `unpacked.txt` lists all the files in the unpacked LaTeX distribution
-- `legal.txt` and `lppl.txt` (LaTeX Project Public License) describe the 
+- `legal.txt` and `lppl.txt` (LaTeX Project Public License) describe the
    LaTeX copyright, warranty and copying restrictions.
 - `patches.txt` describes the how important changes will be distributed
    between releases
@@ -62,7 +62,7 @@
 - `tlc2.err` lists errata in _The LaTeX Companion_ (Mittelbach et al.)
 
 The files `ltnews*.tex` (part of the `doc` bundle) contain the LaTeX
-newsletters, the highest number being the most recent. 
+newsletters, the highest number being the most recent.
 
 For historical reasons, the base distribution and the core documentation
 are bundled separately. Documentation is found in the `doc` bundle. In an
@@ -97,7 +97,6 @@
 
 -----
 
-<p>Copyright (C) 1989-2019 The LaTeX Project <br />
+<p>Copyright (C) 1989-2020 The LaTeX Project <br />
 <a href="http://latex-project.org/">http://latex-project.org/</a> <br />
 All rights reserved.</p>
-

Modified: trunk/Master/texmf-dist/doc/latex/base/alltt.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/bugs.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/bugs.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/bugs.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,5 +1,5 @@
                          LaTeX Error Reports
- 
+
                             January 2017
 
 ERROR REPORTS
@@ -35,7 +35,7 @@
    Project (see the discussion on the website why this is important).
 
  * The error is not caused by using an obsolete version of any file or
-   of other software. 
+   of other software.
 
  * You are using the original version of all files, not one that has
    been modified elsewhere.
@@ -54,7 +54,7 @@
 
          https://www.latex-project.org/bugs/bugs-upload.html
 
-    Please fill in all required fields; in particular, make sure 
+    Please fill in all required fields; in particular, make sure
     that your name, email address, and the summary description
     are correct (the email address will not be shared or made public).
 
@@ -74,8 +74,8 @@
      Companion             Goossens, Mittelbach, Rahtz    grphcomp.err
  Der LaTeX Begleiter, 2ed  Mittelbach, Goossens, et al    lb2.err
  The LaTeX Web Companion   Goossens, Rahtz                webcomp.err
-     
 
+
 then please check first whether it is already mentioned in the errata
 file for that book (these files are part of the LaTeX distribution).
 If this is not the case then please report the error to the address
@@ -83,7 +83,5 @@
 
 Please *do not* send such reports to the latex-bugs address.
 
- 
+
 --- Copyright 1997,1998,2006,2008,2017 the LaTeX3 project.  All rights reserved ---
-
-

Modified: trunk/Master/texmf-dist/doc/latex/base/cfgguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/cfgguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/cfgguide.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/cfgguide.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: cfgguide.tex
 
@@ -380,7 +380,7 @@
 
 The file |ltnews.cfg| can be used to customise some aspects of the
 behaviour of the \textsf{ltnews} class; this class is used to typeset
-the the one page newsletter accompanying every \LaTeX{} distribution.
+the newsletter accompanying every \LaTeX{} distribution.
 If this file is present then it is read in at the beginning of the
 file |ltnews.cls|.
 

Modified: trunk/Master/texmf-dist/doc/latex/base/changes.old.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/changes.old.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/changes.old.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -15,8 +15,8 @@
 
 Cheers, Ulrik.
 
-P.S.  From the historical point-of-view, it is interesting 
-to note that files like ltherest.dtx are first mentioned 
+P.S.  From the historical point-of-view, it is interesting
+to note that files like ltherest.dtx are first mentioned
 in mid-1991.  That's way _before_ the last official releases
 of 2.09 (in December 1991 and March 1992).
 
@@ -337,12 +337,12 @@
 +
 1994-02-24 Frank Mittelbach <latex-bugs at latex-project.org>
 
-        * fam.dtx (subsection{Macros for loading fonts}): 
+        * fam.dtx (subsection{Macros for loading fonts}):
 @@ -8291,4 +8299,931 @@
         \DeclareFontShape and placed them into a separate macro called
         \nfss at catcodes so that it is easier to maintain special
         requirements for packages that make certain characters active.
-+       
++
 +1994-02-10 Alan Jeffrey <latex-bugs at latex-project.org>
 +
 +       * ltclass.dtx: 0.2z \@fileswithoptions Renamed \@compatibility to
@@ -1268,4 +1268,4 @@
 +
 +       * ltmiscen.dtx: LaTeX2.09 \@verbatim Added
 +         \penalty\interlinepenalty to definition of \par so that
-+         \samepage works
\ No newline at end of file
++         \samepage works

Modified: trunk/Master/texmf-dist/doc/latex/base/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/changes.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/changes.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -5,9 +5,178 @@
 =======================================================================
 
 #########################
+# 2020-02-02 Release
+#########################
+
+2020-01-28  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltclass.dtx (subsection{Providing shipment}):
+	Allow spaces in option string and display
+	only unknown options not the whole option list (gh/256)
+
+2020-01-27  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* ltclass.dtx: Fix text of error message in filecontents
+
+2020-01-25  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltoutenc.dtx (subsection{The fontenc package}):
+	Load encoding files only once (except when doing rollback)
+	(part of gh/255)
+
+2020-01-25  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* fontdef.dtx (subsection{Encodings}):
+	Load t1enc.def last (part of gh/255)
+
+2020-01-22  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* lttextcomp.dtx: The overall default is \textcompsubstdefault
+	not \substdefault
+
+2020-01-20  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssdcl.dtx (section{Interface Commands}):
+	\DeclareMathDelimiter needs to use \protected for robustness (gh/251)
+
+	* ltoutenc.dtx (subsubsection{Math material}):
+	\{ and \} need to use \protected for robustness (gh/251)
+
+2020-01-12  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssini.dtx (section{Custom series settings for main document families}):
+	Cleaning up the code for \rmfamily, \sffamily, \ttfamily and adding
+	hooks to support Japanese implementations.
+
+2020-01-05  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* base/ltclass.dtx: Support more write streams for
+          filecontents in LuaTeX (gh/238)
+
+
+2020-01-05 Marcel Fabian Krüger <Marcel at latex-project.org>
+        * base/ltluatex.dtx: New reverselist callback type.
+
+
+2019-12-24  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* lttextcomp.dtx: Implement text companion symbols in the kernel
+	(formerly textcomp package).
+
+2019-12-21  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* fontdef.dtx:
+	Make remaing alias definition robust independently (gh/184)
+
+2019-12-20  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* classes.dtx (subsubsection{Itemize}):
+	Normalize the itemlabels by providing \itemlabelfont
+	(defaulting to \normalfont)
+
+2019-12-18  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltoutenc.dtx: improve \add at accent
+
+	* ltoutenc.dtx (subsubsection{Default encodings}):
+	Don't fake \textcompwordmark; take default from T1 instead
+
+2019-12-17  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* fontdef.dtx (subsection{Defaults}): Set
+	\shapedefault explicitly to "n" not \updefault
+	\bfdefault set to to "b" not "bx" (but bx for CM fonts)
+	\updefault set to to "up" not "n".
+	Part of extending the series and shape handling, see ltnews31.
+
+2019-12-17  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssini.dtx (section{Supporting nested emphasis}):
+	Support nested \emph sequences a generalization \eminnershape.
+	See ltnews31 for details.
+
+	* ltfssini.dtx (section{Custom series settings for main document families}):
+	Provide custom series settings a la mweights package.
+	See ltnews31 for details.
+
+2019-12-17  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfssaxes.dtx: Code for additional series and shape axes added
+	See ltnews31 for details.
+
+2019-12-16  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* doc.dtx (subsection{Macros surrounding the `definition parts'}):
+	Use \shapedefault not \updefault for extended NFSS
+
+2019-12-16  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* cmfonts.fdd:  Provide substitutions for cmtt/bx/sl
+
+2019-12-02  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* cmfonts.fdd: Silent warning for cmss/it substitution (gh/172)}
+
+2019-11-29  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltclass.dtx: Be careful when displaying the package or
+	class info text as it may contain UTF-8 chars (gh/52)}
+
+2019-11-22  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltoutenc.dtx (subsection{The fontenc package}):
+	Avoid spurious warning if fontenc selects LY1 as default
+	encoding (gh/199)
+
+2019-11-14  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* utf8ienc.dtx (subsection{The mapping table}):
+	Fixed setting for FB05 = long-s t lig (github/154)
+	In 8-bit encodings all we can do is to unravel to "s t" which is
+	not 100% but better than just a strange error.
+
+2019-11-14 Joseph Wright <joseph.wright at morningstar2.co.uk>
+
+    * ltfinal.dtx: Add loader for ltexpl
+    * ltexpl.dtx: New file for pre-loading expl3
+
+2019-11-11  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* ltfiles.dtx: use \quote at name again for \@filef at und in
+          \@iffileonpath
+
+2019-11-02  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltmiscen.dtx: Make \\ and \@centercr robust in all situations (gh/203)
+	* ltspace.dtx:  Make \\ and \@normalcr robust in all situations (gh/203)
+
+2019-10-18  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltclass.dtx (section{Implementation}): Initialize
+	\...-h@@k only when loading the package or class (gh/198)
+
+2019-10-11  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* ltfsstrc.dtx (subsection{Sizefunctions}):
+	Added 'alias' size function (mainly for autoinst fonts)
+
+#########################
 # 2019-10-01 PL 3 Release
 #########################
 
+2019-11-10  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* ltmiscen.dtx: fix special comment catcodes (gh/202)
+
+2019-11-09  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* ltfiles.dtx: More filename normalisation: expand before
+          removing quotes.
+
+#########################
+# 2019-10-01 PL 3 Release
+#########################
+
 2019-11-10  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
 
 	* doc.dtx: gh/205 wasn't correctly fixed in PL2
@@ -467,7 +636,7 @@
 
 2017-04-20  David Carlisle  <latex-bugs at latex-project.org>
 
-	* ltvers.dtx: possible PL1 
+	* ltvers.dtx: possible PL1
 
 	* ltluatex.dtx: glyph_stream_provider is back in luatex 1.04
 
@@ -866,11 +1035,11 @@
 
         * ltvers.dtx: PL1
 
-        * ltdirchk.dtx: Allow for full reversal of LuaTeX support  
+        * ltdirchk.dtx: Allow for full reversal of LuaTeX support
         * ltluatex.dtx
 
 #########################
-# 2015/10/01 Release 
+# 2015/10/01 Release
 #########################
 
 
@@ -890,7 +1059,7 @@
 2015-08-30  David Carlisle  <latex-bugs at latex-project.org>
 
 	* ltplain.dtx: Add extended \newinsert, taking inserts from float
-	list. 
+	list.
 
 2015-08-29  David Carlisle  <latex-bugs at latex-project.org>
 
@@ -926,7 +1095,7 @@
 
 
 #########################
-# 2015/01/01 PL 2 Release 
+# 2015/01/01 PL 2 Release
 #########################
 
 2015-07-06  David Carlisle  <latex-bugs at latex-project.org>
@@ -936,7 +1105,7 @@
 	* ltoutput.dtx: fix docstrip guard for latexrelease latex/4434
 
 #########################
-# 2015/01/01 PL 1 Release 
+# 2015/01/01 PL 1 Release
 #########################
 
 2015-06-27  David Carlisle  <latex-bugs at latex-project.org>
@@ -1130,7 +1299,7 @@
 	* ltdefns.dtx: \MakeRobust from fixltx2e
 
 	* ltboxes.dtx: make \makebox \parbox etc robust
-	
+
 	* ltmath.dtx: make \( \) and \[ \] robust
 
 	* ltlength.dtx: add = to setlength (latexrelease)
@@ -1164,7 +1333,7 @@
 	* patchltx2e.ins:
 	* unpack.ins:
 	* manifest.txt New patchltx2e package added
-	
+
 	* ltfssbas.dtx: move allocation definition to ltplain
 
 	* ltplain.dtx: Add new allocation code for extended registers
@@ -10579,4 +10748,3 @@
 	\DeclareFontShape and placed them into a separate macro called
 	\nfss at catcodes so that it is easier to maintain special
 	requirements for packages that make certain characters active.
-

Modified: trunk/Master/texmf-dist/doc/latex/base/classes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/clsguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/clsguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/clsguide.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/clsguide.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: clsguide.tex
 
@@ -37,14 +37,14 @@
 \author{Copyright \copyright~1995--2006 The \LaTeX3 Project\\
    All rights reserved}
 
-\date{15 February 2006} 
+\date{15 February 2006}
 
 \begin{document}
- 
+
 \maketitle
- 
+
 \tableofcontents
- 
+
 \section{Introduction}
 
 This document is an introduction to writing classes and packages for
@@ -51,32 +51,32 @@
 \LaTeX{}, with special attention given to upgrading existing
 \LaTeX~2.09 packages to \LaTeXe{}.  The latter subject is also
 covered in an article by Johannes Braams published in TUGboat~15.3.
- 
+
 \subsection{Writing classes and packages for \LaTeXe}
- 
+
 \LaTeX{} is a document preparation system that enables the document
 writer to concentrate on the contents of their text, without bothering
 too much about the formatting of it.  For example, chapters are
 indicated by |\chapter{<title>}| rather than by selecting 18pt bold.
- 
+
 The file that contains the information about how to turn logical
 structure (like `|\chapter|') into formatting (like `18pt bold ragged
 right') is a \emph{document class}.  In addition, some features (such
 as colour or included graphics) are independent of the document class
 and these are contained in \emph{packages}.
- 
+
 One of the largest differences between \LaTeX~2.09 and \LaTeXe{} is in
 the commands used to write packages and classes.  In \LaTeX~2.09,
 there was very little support for writing |.sty| files, and so writers
 had to resort to using low-level commands.
- 
+
 \LaTeXe{} provides high-level commands for structuring packages.
 It is also much easier to build classes and packages on top of each
 other, for example writing a local technical report class |cetechr|
 (for the Chemical Engineering department) based on |article|.
- 
+
 \subsection{Overview}
- 
+
 This document contains an overview of how to write classes and
 packages for \LaTeX{}.  It does \emph{not} introduce all of the
 commands necessary to write packages: these can be found in either
@@ -84,7 +84,7 @@
 commands for structuring classes and packages.
 
 \begin{description}
- 
+
 \item[Section~\ref{Sec:general}] contains some general advice about
   writing classes and packages.  It describes the difference between
   classes and packages, the command naming conventions, the use of
@@ -91,26 +91,26 @@
   |doc| and |docstrip|, how \TeX's primitive file and box commands
   interact with \LaTeX{}. It also contains some hints about general
   \LaTeX{} style.
- 
+
 \item[Section~\ref{Sec:structure}] describes the structure of classes
   and packages.  This includes building classes and packages on top of
   other classes and packages, declaring options and declaring
   commands.  It also contains example classes.
- 
+
 \item[Section~\ref{Sec:commands}] lists the new class and package
    commands.
- 
+
  \item[Section~\ref{Sec:upgrade}] gives detailed advice on how to
    upgrade existing \LaTeX~2.09 classes and packages to \LaTeXe{}.
- 
+
 \end{description}
- 
+
 \subsection{Further information}
- 
+
 For a general introduction to \LaTeX{}, including the new features of
 \LaTeXe{}, you should read \emph{\LaTeXbook}
 by Leslie Lamport~\cite{A-W:LLa94}.
- 
+
 A more detailed description of the new features of \LaTeX, including an
 overview of more than 200 packages and nearly 1000 ready to run examples, is
 to be found in \emph{\LaTeXcomp\ second edition} by Frank Mittelbach and
@@ -118,7 +118,7 @@
 
 The \LaTeX{} system is based on \TeX{}, which is
 described in \emph{The \TeX book} by Donald E.~Knuth~\cite{A-W:DEK91}.
- 
+
 There are a number of documentation files which accompany every copy
 of \LaTeX{}.  A copy of \emph{\LaTeX{} News} will come out with each
 six-monthly release of \LaTeX{}, and is found in the files
@@ -127,7 +127,7 @@
 \emph{\fntguide} describes the \LaTeX{} font selection scheme for
 class- and package-writers; it is in |fntguide.tex|. Configuring
 \LaTeX{} is covered by the guide \emph{\cfgguide} in
-\texttt{cfgguide.tex} whilst the philosophy behind our policy on 
+\texttt{cfgguide.tex} whilst the philosophy behind our policy on
 modifying \LaTeX{} is described in \emph{\modguide} in
 \texttt{modguide.tex}.
 
@@ -175,7 +175,7 @@
 We would, of course, welcome the production of better classes, or of
 packages that can be used to enhance these classes.  So your first
 thought when you consider such a deficiency will, we hope, be ``what
-can I do to improve this?''  
+can I do to improve this?''
 
 Similar considerations apply to those parts of the kernel that are
 implementing design decisions, many of which should be left to the
@@ -187,7 +187,7 @@
 
 \section{Writing classes and packages}
 \label{Sec:writing}
- 
+
 This section covers some general points concerned with writing
 \LaTeX{} classes and packages.
 
@@ -206,19 +206,19 @@
 
 
 \subsection{Using `docstrip' and `doc'}
- 
+
 If you are going to write a large class or package for \LaTeX{} then
 you should consider using the |doc| software which comes with
-\LaTeX{}. 
+\LaTeX{}.
 \LaTeX{} classes and packages written using this can be
 processed in two ways: they can be run through \LaTeX{}, to produce
 documentation; and they can be processed with |docstrip|, to produce
 the |.cls| or |.sty| file.
- 
+
 The |doc| software can automatically generate indexes of definitions,
 indexes of command use, and change-log lists.  It is very useful for
 maintaining and documenting large \TeX{} sources.
- 
+
 The documented sources of the \LaTeX{} kernel itself, and of the
 standard classes, etc, are |doc| documents; they are in the |.dtx|
 files in the distribution.  You can, in fact, typeset the source code
@@ -225,7 +225,7 @@
 of the kernel as one long document, complete with index, by running
 \LaTeX{} on |source2e.tex|.  Typesetting these documents uses the
 class file |ltxdoc.cls|.
- 
+
 For more information on |doc| and |docstrip|, consult the files
 |docstrip.dtx|, |doc.dtx|, and \emph{\LaTeXcomp}.  For examples of its
 use, look at the |.dtx| files.
@@ -232,7 +232,7 @@
 
 \subsection{Is it a class or a package?}
 \label{Sec:classorpkg}
- 
+
 The first thing to do when you want to put some new \LaTeX{} commands
 in a file is to decide whether it should be a \emph{document class} or a
 \emph{package}.  The rule of thumb is:
@@ -250,51 +250,51 @@
 with their own headed note-paper.  Such a class would build on top of
 the existing |letter| class but it cannot be used with any other
 document class, so we have |ownlet.cls| rather than |ownlet.sty|.
- 
+
 The |graphics| package, in contrast, provides commands for including
 images into a \LaTeX{} document.  Since these commands can be used
 with any document class, we have |graphics.sty| rather than
 |graphics.cls|.
- 
 
+
 \subsection{Command names}
- 
+
 \LaTeX{} has three types of command.
- 
+
 There are the author commands, such as |\section|, |\emph| and
 |\times|:  most of these have short names, all in lower case.
- 
+
 There are also the class and package writer commands:
 most of these have long mixed-case names such as the following.
 \begin{verbatim}
    \InputIfFileExists  \RequirePackage  \PassOptionsToClass
 \end{verbatim}
- 
+
 Finally, there are the internal commands used in the \LaTeX{}
 implementation, such as |\@tempcnta|, |\@ifnextchar| and |\@eha|:
 most of these commands contain |@| in their name, which means they
 cannot be used in documents, only in class and package files.
- 
+
 Unfortunately, for historical reasons the distinction between these
 commands is often blurred.  For example, |\hbox| is an internal
 command which should only be used in the \LaTeX{} kernel, whereas
 |\m at ne| is the constant $-1$ and could have been |\MinusOne|.
- 
+
 However, this rule of thumb is still useful: if a command has |@| in
 its name then it is not part of the supported \LaTeX{} language---and
 its behaviour may change in future releases!  If a command is
 mixed-case, or is described in \emph{\LaTeXbook}, then you can rely on
 future releases of \LaTeXe{} supporting the command.
- 
+
 \subsection{Box commands and colour}
 \label{Sec:colour}
- 
+
 Even if you do not intend to use colour in your own documents, by
 taking note of the points in this section you can ensure that your
 class or package is compatible with the |color| package. This may
 benefit people using your class or package who have access to colour
 printers.
- 
+
 The simplest way to ensure `colour safety' is to always use \LaTeX{}
 box commands rather than \TeX{} primitives, that is use |\sbox| rather
 than |\setbox|, |\mbox| rather than |\hbox| and |\parbox| or
@@ -301,8 +301,8 @@
 the |minipage| environment rather than |\vbox|.
 The \LaTeX{} box commands have new options which mean that they are now
 as powerful as the \TeX{} primitives.
- 
-As an example of what can go wrong, consider that in 
+
+As an example of what can go wrong, consider that in
 |{\ttfamily <text>}|
 the font is restored just \emph{before} the |}|, whereas in the
 similar looking construction
@@ -318,11 +318,11 @@
 how colour is implemented: it can range from getting the wrong
 colours in the rest of the document, to causing errors in the
 dvi-driver used to print the document.
- 
-Also of interest is the command |\normalcolor|.   This is 
+
+Also of interest is the command |\normalcolor|.   This is
 normally just |\relax| (i.e., does nothing)
-but you can use it rather like |\normalfont| to 
-set regions of the page such as captions or section headings to the 
+but you can use it rather like |\normalfont| to
+set regions of the page such as captions or section headings to the
 `main document colour'.
 
 
@@ -349,13 +349,13 @@
 The new system provides many commands designed to help you produce
 well-structured class and package files that are both robust and
 portable.  This section outlines some ways to make intelligent use of
-these. 
+these.
 
 \subsubsection{Loading other files}
 \label{Sec:loading}
 
 \NEWdescription{1995/12/01}
-\LaTeX{} provides these commands: 
+\LaTeX{} provides these commands:
 \begin{verbatim}
    \LoadClass        \LoadClassWithOptions
    \RequirePackage   \RequirePackageWithOptions
@@ -363,20 +363,20 @@
 for using classes or packages inside other classes or packages.  We
 recommend strongly that you use them, rather than the primitive
 |\input| command, for a number of reasons.
- 
+
 Files loaded with |\input <filename>| will not be listed in the
 |\listfiles| list.
- 
+
 If a package is always loaded with |\RequirePackage...| or |\usepackage|
 then, even if its loading is requested several times, it will be
 loaded only once.  By contrast, if it is loaded with |\input| then it
 can be loaded more than once; such an extra loading may waste time and
 memory and it may produce strange results.
- 
+
 If a package provides option-processing then, again, strange results
 are possible if the package is |\input| rather than loaded by means of
 |\usepackage| or |\RequirePackage...|.
- 
+
 If the package |foo.sty| loads the package |baz.sty| by use of
 |\input baz.sty| then the user will get a warning:
 \begin{verbatim}
@@ -385,7 +385,7 @@
 \end{verbatim}
 Thus, for several reasons, using |\input| to load packages is not a
 good idea.
- 
+
 Unfortunately, if you are upgrading the file |myclass.sty| to a class
 file then you have to make sure that any old files which contain
 |\input myclass.sty| still work.
@@ -404,7 +404,7 @@
 \end{verbatim}
 You may wish to do the same or, if you think that it is safe to do so,
 you may decide to just remove |myclass.sty|.
- 
+
 \subsubsection{Make it robust}
 
 We consider it good practice, when writing packages and classes, to use
@@ -415,20 +415,20 @@
 also useful. Doing this makes
 it less likely that you will inadvertently redefine a command, giving
 unexpected results.
- 
+
 When you define an environment, use |\newenvironment| or
 |\renewenvironment| instead |\def\foo{...}| and |\def\endfoo{...}|.
- 
+
 If you need to set or change the value of a \m{dimen} or \m{skip}
 register, use |\setlength|.
- 
+
 To manipulate boxes, use \LaTeX{} commands such as |\sbox|,
 |\mbox| and |\parbox| rather than |\setbox|, |\hbox| and |\vbox|.
- 
+
 Use |\PackageError|, |\PackageWarning| or |\PackageInfo| (or the
 equivalent class commands) rather than |\@latexerr|, |\@warning| or
 |\wlog|.
- 
+
 It is still possible to declare options by defining |\ds@<option>| and
 calling |\@options|; but we recommend the |\DeclareOption| and
 |\ProcessOptions| commands instead.  These are more powerful and use
@@ -460,7 +460,7 @@
 for example the University of Nowhere classes might begin with |unw|.
 This helps to avoid every University having its own thesis class, all
 called |thesis.cls|.
- 
+
 If you rely on some features of the \LaTeX{} kernel, or on a package,
 please specify the release-date you need.  For example, the package
 error commands were introduced in the June 1994 release so, if you use
@@ -486,7 +486,7 @@
 
 \section{The structure of a class or package}
 \label{Sec:structure}
- 
+
 \LaTeXe{} classes and packages have more structure than \LaTeX~2.09
 style files did.  The outline of a class or package file is:
 \begin{description}
@@ -500,9 +500,9 @@
 \item[More declarations] This is where the file does most of its work:
    declaring new variables, commands and fonts; and loading other files.
 \end{description}
- 
+
 \subsection{Identification}
- 
+
 The first thing a class or package file does is identify itself.
 Package files do this as follows:
 \begin{verbatim}
@@ -527,7 +527,7 @@
 \NEWdescription{1998/06/19}
 The \m{date} should be given in the form `\textsc{yyyy/mm/dd}' and
 must be present if the optional argument is used (this is also true
-for the |\NeedsTeXFormat| command). 
+for the |\NeedsTeXFormat| command).
 Any derivation from this syntax will result in low-level \TeX{}
 errors---the commands expect a valid syntax to speed up the daily
 usage of the package or class and make no provision for the case that
@@ -538,10 +538,10 @@
 \begin{verbatim}
    \documentclass{article}[1995/12/23]
 \end{verbatim}
-then users at a different location 
+then users at a different location
 would get a warning that their copy of |article| was out of
 date.
- 
+
 The description of a class is displayed when the class is used.  The
 description of a package is put into the log file.  These descriptions
 are also displayed by the |\listfiles| command.  The phrase
@@ -549,14 +549,14 @@
 banner of any file other than those in the standard \LaTeX{}
 distribution.
 
- 
+
 \subsection{Using classes and packages}
- 
+
 The first major difference between \LaTeX~2.09 style files and
 \LaTeXe{} packages and classes is that \LaTeXe{} supports
 \emph{modularity}, in the sense of building files from small
 building-blocks rather than using large single files.
- 
+
 A \LaTeX{} package or class can load a package as follows:
 \begin{verbatim}
    \RequirePackage[<options>]{<package>}[<date>]
@@ -570,7 +570,7 @@
 packages.  For example, by loading the |ifthen| package, a package
 writer can use the `if\dots then\dots else\dots' commands provided
 by that package.
- 
+
 A \LaTeX{} class can load one other class as follows:
 \begin{verbatim}
    \LoadClass[<options>]{<class-name>}[<date>]
@@ -600,7 +600,7 @@
 \end{verbatim}
 
 \subsection{Declaring options}
- 
+
 \NEWdescription{1998/12/01}
 The other major difference between \LaTeX~2.09 styles and \LaTeXe{}
 packages and classes is in option handling.  Packages and classes can
@@ -666,7 +666,7 @@
 \end{verbatim}
 If you do this then you should make sure you load the class at some
 later point, otherwise the options will never be processed!
- 
+
 So far, we have explained only how to declare options, not how to
 execute them.  To process the options with which the file was called,
 you should use:
@@ -676,7 +676,7 @@
 This executes the \m{code} for each option that was both specified and
 declared (see Section~\ref{Sec:commands.options} for details of how
 this is done).
- 
+
 For example, if the |jane| package file contains:
 \begin{verbatim}
    \DeclareOption{foo}{\typeout{Saw foo.}}
@@ -686,9 +686,9 @@
 \end{verbatim}
 and an author writes |\usepackage[foo,bar]{jane}|, then they will see
 the messages \texttt{Saw foo.} and \texttt{What's bar?}
- 
+
 \subsection{A minimal class file}
- 
+
 Most of the work of a class or package is in defining new commands, or
 changing the appearance of documents.  This is done in the body of the
 package, using commands such as |\newcommand| or |\setlength|.
@@ -695,7 +695,7 @@
 
 \LaTeXe{} provides several new commands to help class and package
 writers; these are described in detail in Section~\ref{Sec:commands}.
- 
+
 There are four things that every class file \emph{must} contain: these
 are a definition of |\normalsize|, values for |\textwidth| and
 |\textheight| and a specification for page-numbering.  So a minimal
@@ -713,13 +713,13 @@
 However, this class file will not support footnotes, marginals,
 floats, etc., nor will it provide any of the 2-letter font commands
 such as |\rm|; thus most classes will contain more than this minimum!
- 
+
 \subsection{Example: a local letter class}
- 
+
 A company may have its own letter class, for setting letters in the
 company style.  This section shows a simple implementation of such a
 class, although a real class would need more structure.
- 
+
 The class begins by announcing itself as |neplet.cls|.
 \begin{verbatim}
    \NeedsTeXFormat{LaTeX2e}
@@ -742,9 +742,9 @@
    }
 \end{verbatim}
 And that's it!
- 
+
 \subsection{Example: a newsletter class}
- 
+
 A simple newsletter can be typeset with \LaTeX{}, using a variant of the
 |article| class.
 The class begins by announcing itself as |smplnews.cls|.
@@ -793,7 +793,7 @@
          {section}{1}{0pt}{-1.5ex plus -1ex minus -.2ex}%
          {1ex plus .2ex}{\large\sffamily\slshape\headlinecolor}%
    }
- 
+
    \setcounter{secnumdepth}{0}
 \end{verbatim}
 It also sets the three essential things.
@@ -806,20 +806,20 @@
 commands for issue numbers, authors of articles, page styles and so
 on; but this skeleton gives a start.  The |ltnews| class file is not
 much more complex than this one.
- 
+
 \section{Commands for class and package writers}
 \label{Sec:commands}
- 
+
 This section describes briefly each of the new commands for class and
 package writers.  To find out about other aspects of the new system,
 you should also read \emph{\LaTeXbook}, \emph{\LaTeXcomp} and
 \emph{\usrguide}.
- 
+
 \subsection{Identification}
- 
+
 The first group of commands discussed here are those used
 to identify your class or package file.
- 
+
 \begin{decl}
 |\NeedsTeXFormat| \arg{format-name} \oarg{release-date}
 \end{decl}
@@ -830,12 +830,12 @@
 than the one specified a warning will be generated. The standard
 \m{format-name} is \texttt{LaTeX2e}.  The date, if present, must be in
 the form \textsc{yyyy/mm/dd}.
- 
+
 Example:
 \begin{verbatim}
    \NeedsTeXFormat{LaTeX2e}[1994/06/01]
 \end{verbatim}
- 
+
 \begin{decl}
 |\ProvidesClass| \arg{class-name} \oarg{release-info} \\
 |\ProvidesPackage| \arg{package-name} \oarg{release-info}
@@ -857,13 +857,13 @@
 
 The whole of this \m{release-info} information is displayed by
 |\listfiles| and should therefore not be too long.
- 
+
 Example:
 \begin{verbatim}
    \ProvidesClass{article}[1994/06/01 v1.0 Standard LaTeX class]
    \ProvidesPackage{ifthen}[1994/06/01 v1.0 Standard LaTeX package]
 \end{verbatim}
- 
+
 \begin{decl}
   |\ProvidesFile| \arg{file-name} \oarg{release-info}
 \end{decl}
@@ -870,12 +870,12 @@
 This is similar to the two previous commands except that here the full
 filename, including the extension, must be given. It is used for
 declaring any files other than main class and package files.
- 
+
 Example:
 \begin{verbatim}
    \ProvidesFile{T1enc.def}[1994/06/01 v1.0 Standard LaTeX file]
 \end{verbatim}
- 
+
 Note that the phrase \texttt{Standard LaTeX} \textbf{must not} be used
 in the identification banner of any file other than those in the
 standard \LaTeX{} distribution.
@@ -896,13 +896,13 @@
 
 The use of |\RequirePackage| is the same as the author command
 |\usepackage|.
- 
+
 Examples:
 \begin{verbatim}
    \RequirePackage{ifthen}[1994/06/01]
    \RequirePackageWithOptions{graphics}[1995/12/01]
 \end{verbatim}
- 
+
 \begin{decl}
   |\LoadClass| \oarg{options-list} \arg{class-name}
      \oarg{release-info}\\
@@ -913,7 +913,7 @@
 These commands are for use \emph{only} in class files, they cannot be
 used in packages files;
 they can be used at most once within a class file.
- 
+
 The use of |\LoadClass| is the same as
 the use of |\documentclass| to load a class file.
 
@@ -945,7 +945,7 @@
   |\DeclareOption| \arg{option-name} \arg{code}
 \end{decl}
 This makes \m{option-name} a `declared option' of the class or package
-in which it is put.  
+in which it is put.
 
 The \m{code} argument contains the code to be executed if that option
 is specified for the class or package; it can contain any valid
@@ -955,7 +955,7 @@
 \begin{verbatim}
    \DeclareOption{twoside}{\@twosidetrue}
 \end{verbatim}
- 
+
 \begin{decl}
   |\DeclareOption*| \arg{code}
 \end{decl}
@@ -984,7 +984,7 @@
   |\CurrentOption|
 \end{decl}
 This expands to the name of the current option.
- 
+
 \begin{decl}
   |\OptionNotUsed|
 \end{decl}
@@ -997,7 +997,7 @@
   necessary to double them).
 
 \subsection{Moving options around}
-\label{Sec:opmove} 
+\label{Sec:opmove}
 
 These two commands are also very useful within the \m{code} argument
 of |\DeclareOption| or |\DeclareOption*|:
@@ -1010,7 +1010,7 @@
 This means that it adds the \m{option-list} to the
 list of options used by any future |\RequirePackage| or |\usepackage|
 command for package \m{package-name}.
- 
+
 Example:
 \begin{verbatim}
    \PassOptionsToPackage{foo,bar}{fred}
@@ -1023,7 +1023,7 @@
 
 Similarly, |\PassOptionsToClass| may be used in a class file to pass
 options to another class to be loaded with |\LoadClass|.
- 
+
 \NEWdescription{1995/12/01}
 The effects and use of these two commands should be contrasted with
 those of the following two (documented above, in \ref{Sec:loadf}):
@@ -1077,7 +1077,7 @@
 \subsection{Delaying code}
 \label{Sec:delays}
 
-These first two commands are also intended primarily for use within 
+These first two commands are also intended primarily for use within
 the \m{code} argument of |\DeclareOption| or |\DeclareOption*|.
 
 \begin{decl}
@@ -1087,11 +1087,11 @@
 These commands declare \m{code} that is saved away internally and then
 executed after processing the whole of the current class or package
 file.
- 
+
 Repeated use of these commands is permitted: the code in the
 arguments is stored (and later executed) in the order of their
 declarations.
- 
+
 \begin{decl}
   |\AtBeginDocument| \arg{code}\\
   |\AtEndDocument| \arg{code}
@@ -1098,7 +1098,7 @@
 \end{decl}
 These commands declare \m{code} to be saved internally and executed
 while \LaTeX{} is executing |\begin{document}| or |\end{document}|.
- 
+
 The \m{code} specified in the argument to |\AtBeginDocument| is
 executed near the end of the |\begin{document}| code, \emph{after} the
 font selection tables have been set up.  It is therefore a useful
@@ -1116,11 +1116,11 @@
 floating environments are processed. If some of the \m{code} is to be
 executed after these two processes, you should include a |\clearpage|
 at the appropriate point in \m{code}.
- 
+
 Repeated use of these commands is permitted: the code in the
 arguments is stored (and later executed) in the order of their
 declarations.
- 
+
 \begin{decl}[1994/12/01]
   |\AtBeginDvi| \arg{specials}
 \end{decl}
@@ -1130,21 +1130,21 @@
 
 This should not be used for anything that will add any typeset
 material to the |.dvi| file.
- 
+
 Repeated use of this command is permitted.
- 
 
+
 \subsection{Option processing}
 \label{Sec:commands.options}
- 
+
 \begin{decl}
   |\ProcessOptions|
 \end{decl}
 This command executes the \m{code} for each selected option.
- 
+
 We shall first describe how |\ProcessOptions| works in a package file,
 and then how this differs in a class file.
- 
+
 To understand in detail what |\ProcessOptions| does in a package file,
 you have to know the difference between \emph{local} and \emph{global}
 options.
@@ -1226,7 +1226,7 @@
   were specified), whilst the |twocolumn| option does not: this is
   because |twocolumn| is a global option.
 \end{itemize}
- 
+
 In a class file, |\ProcessOptions| works in the same way, except
 that: \emph{all} options are local; and the default value for
 |\DeclareOption*| is |\OptionNotUsed| rather than an error.
@@ -1244,7 +1244,7 @@
 This is like |\ProcessOptions| but it executes the options in the
 order specified in the calling commands, rather than in the order of
 declaration in the class or package. For a package this means that the
-global options are processed first. 
+global options are processed first.
 
 The |\@options| command from \LaTeX~2.09 has been made equivalent to
 this in order to ease the task of updating old document styles to
@@ -1254,8 +1254,8 @@
   |\ExecuteOptions| \arg{options-list}
 \end{decl}
 
-For each option in the \m{options-list}, in order, 
-this command simply executes the command 
+For each option in the \m{options-list}, in order,
+this command simply executes the command
 |\ds@<option>| (if this command is not defined, then that option is
 silently ignored).
 
@@ -1269,19 +1269,19 @@
 
 
 \subsection{Safe file commands}
- 
+
 These commands deal with file input; they ensure that the non-existence
 of a requested file can be handled in a user-friendly way.
- 
+
 \begin{decl}
 |\IfFileExists| \arg{file-name} \arg{true} \arg{false}
 \end{decl}
 If the file exists then the code specified in \m{true} is
 executed.
- 
+
 If the file does not exist then the code specified in \m{false} is
 executed.
- 
+
 This command does \emph{not} input the file.
 
 \begin{decl}
@@ -1292,15 +1292,15 @@
 
 If the file does not exist then the code specified in \m{false} is
 executed.
- 
+
 It is implemented using |\IfFileExists|.
 
 
 \subsection{Reporting errors, etc}
- 
+
 These commands should be used by third party classes and packages to
 report errors, or to provide information to authors.
- 
+
 \begin{decl}
   |\ClassError| \arg{class-name} \arg{error-text} \arg{help-text}\\
   |\PackageError| \arg{package-name} \arg{error-text} \arg{help-text}
@@ -1308,7 +1308,7 @@
 These produce an error message.  The \m{error-text} is displayed and the
 |?| error prompt is shown.  If the user types |h|, they will be shown
 the \m{help-text}.
- 
+
 Within the \m{error-text} and \m{help-text}: |\protect| can be used to
 stop a command from expanding; |\MessageBreak| causes a line-break;
 and |\space| prints a space.
@@ -1340,7 +1340,7 @@
    Oh dear! Something's gone wrong.
      Try typing  <<return>>  to proceed, ignoring \foo.
 \end{verbatim}
- 
+
 \begin{decl}
   |\ClassWarning| \arg{class-name} \arg{warning-text}\\
   |\PackageWarning| \arg{package-name} \arg{warning-text}\\
@@ -1365,11 +1365,11 @@
 and |\space| prints a space.
 Also, these should not end with a full stop as one is
 automatically added.
- 
 
+
 \subsection{Defining commands}
 \label{Sec:commands.define}
- 
+
 \LaTeXe{} provides some extra methods of (re)defining commands that are
 intended for use in class and package files.
 
@@ -1390,7 +1390,7 @@
 fragile.  You can use this command to define new robust commands, or
 to redefine existing commands and make them robust.  A log is put into
 the transcript file if a command is redefined.
- 
+
 For example, if |\seq| is defined as follows:
 \begin{verbatim}
    \DeclareRobustCommand{\seq}[2][n]{%
@@ -1422,7 +1422,7 @@
 \m{cmd}, it just checks that the current definition of \m{cmd} is
 exactly as given by \m{definition}.  An error is raised if these
 definitions differ.
- 
+
 This command is useful for checking the state of the system before
 your package starts altering the definitions of commands.  It allows
 you to check, in particular, that no other package has redefined the
@@ -1442,7 +1442,7 @@
 \label{Sec:commands.misc}
 
 \subsection{Layout parameters}
- 
+
 \begin{decl}
 |\paperheight|\\
 |\paperwidth|
@@ -1477,7 +1477,7 @@
 \begin{tabular}{rl}
    |\uppercase{aBcD\ae\AA\ss\OE}| & \uppercase{aBcD\ae\AA\ss\OE}\\
    |\lowercase{aBcD\ae\AA\ss\OE}| & \lowercase{aBcD\ae\AA\ss\OE}\\
-   |\MakeUppercase{aBcD\ae\AA\ss\OE}| & 
+   |\MakeUppercase{aBcD\ae\AA\ss\OE}| &
                                       \MakeUppercase{aBcD\ae\AA\ss\OE}\\
    |\MakeLowercase{aBcD\ae\AA\ss\OE}| & \MakeLowercase{aBcD\ae\AA\ss\OE}
 \end{tabular}
@@ -1581,11 +1581,11 @@
 
 \section{Upgrading \LaTeX~2.09 classes and packages}
 \label{Sec:upgrade}
- 
+
 This section describes the changes you may need to make when you
 upgrade an existing \LaTeX{} style to a package or class but we shall
 start in optimistic mode.
- 
+
 Many existing style files will run with \LaTeXe{} without any
 modification to the file itself.  When everything is running OK,
 please put a note in the newly created package or class file to record
@@ -1617,7 +1617,7 @@
 \begin{itemize}
 \item \LaTeX{} now has a robust, well-defined designer's interface for
   selecting fonts, which is very different from the \LaTeX~2.09
-  internals.  
+  internals.
 \item Your style file may have used some \LaTeX~2.09 internal commands
   which have changed, or which have been removed.
 \end{itemize}
@@ -1651,13 +1651,13 @@
 
 
 \subsection{Font commands}
- 
+
 Some font and size commands are now defined by the document class
 rather than by the \LaTeX{} kernel.  If you are upgrading a
 \LaTeX~2.09 document style to a class that does not load one of the
 standard classes, then you will probably need to add definitions for
 these commands.
- 
+
 \begin{decl}
    |\rm| |\sf| |\tt| |\bf| |\it| |\sl| |\sc|
 \end{decl}
@@ -1676,7 +1676,7 @@
 This would make the font commands orthogonal; for example
 |{\bf\it text}| would produce bold italic, thus: \textbf{\textit{text}}.
 It will also make them produce an error if used in math mode.
- 
+
 Another possible definition is:
 \begin{verbatim}
    \DeclareOldFontCommand{\rm}{\rmfamily}{\mathrm}
@@ -1696,7 +1696,7 @@
    \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\mathsc}
 \end{verbatim}
 This means, for example, that |{\bf\it text}| will produce medium
-weight (rather than bold) italic, thus: \textit{text}.  
+weight (rather than bold) italic, thus: \textit{text}.
 
 \begin{decl}
    |\normalsize| \\
@@ -1728,11 +1728,11 @@
 
 
 \subsection{Obsolete commands}
- 
+
 Some packages will not work with \LaTeXe{}, normally because they relied
 on an internal \LaTeX{} command which was never supported and has now
 changed, or been removed.
- 
+
 In many cases there will now be a robust, high-level means of
 achieving what previously required low-level commands.  Please consult
 Section~\ref{Sec:commands} to see if you can now use the \LaTeXe{}
@@ -1750,7 +1750,7 @@
 
 We shall, however, list some of the more important commands which are
 no longer supported.
- 
+
 \begin{decl}
    |\tenrm| |\elvrm| |\twlrm| \dots\\
    |\tenbf| |\elvbf| |\twlbf| \dots\\
@@ -1769,7 +1769,7 @@
 Another possibility is to use the |rawfonts| package, described in
 \emph{\usrguide}.
 
-Also, remember that many of the fonts preloaded by \LaTeX~2.09 
+Also, remember that many of the fonts preloaded by \LaTeX~2.09
 are no longer preloaded.
 
 \begin{decl}
@@ -1799,7 +1799,7 @@
 If your package redefined one of the |\p|-commands then you must
 remove the redefinition and use |\DeclareRobustCommand| to redefine the
 non-|\p| command.
- 
+
 \begin{decl}
 |\footheight|\\
 |\@maxsep|\\
@@ -1808,20 +1808,20 @@
 These parameters are not used by \LaTeXe{} so they have been removed,
 except in \LaTeX~2.09 compatibility mode.  Classes should no longer
 set them.
- 
+
 \begin{thebibliography}{1}
- 
+
 \bibitem{A-W:DEK91}
 Donald~E. Knuth.
 \newblock {\em The \TeX book}.
 \newblock Addison-Wesley, Reading, Massachusetts, 1986.
 \newblock Revised to cover \TeX3, 1991.
- 
+
 \bibitem{A-W:LLa94}
 Leslie Lamport.
 \newblock {\em {\LaTeX:} A Document Preparation System}.
 \newblock Addison-Wesley, Reading, Massachusetts, second edition, 1994.
- 
+
 \bibitem{A-W:MG2004}
 Frank Mittelbach and Michel Goossens.
 \newblock {\em The {\LaTeX} Companion second edition}.
@@ -1856,7 +1856,7 @@
 
   If your file sets up new fonts, font-changing commands or symbols,
   you should also read \emph{\fntguide}.
-  
+
 \item It did not work?  There are three possibilities here:
   \begin{itemize}
   \item  error messages are produced whilst reading your file;
@@ -1871,4 +1871,3 @@
 \end{enumerate}
 
 \end{document}
-

Modified: trunk/Master/texmf-dist/doc/latex/base/cmfonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/cyrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/cyrguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/cyrguide.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/cyrguide.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 
@@ -97,8 +97,8 @@
 concrete hyphenation patterns which are part of \textsf{ruhyphen} came
 from individual authors).  The support for the Ukrainian language was
 prepared by Andrij Shvaika.
-  
 
+
 \section{Installation}
 
 The \textsf{fontenc} and \textsf{inputenc} packages are installed
@@ -154,7 +154,7 @@
 by the |OT2| encoding.
 
 \subsection{Getting pre-built packages}
- 
+
 Many of the major \TeX{} distributions, such as te\TeX{}, fp\TeX{} and
 \TeX{}live, contain (or soon will) everything that is needed,
 including the LH~fonts, \textsf{ruhyphen} and the latest version of
@@ -301,15 +301,15 @@
 
 \item |cp855| --- the standard \mbox{MS-DOS} Cyrillic code-page.
 
-\item |cp866| --- the standard \mbox{MS-DOS} Russian code-page.  
+\item |cp866| --- the standard \mbox{MS-DOS} Russian code-page.
   Several code-pages very similar to this are also supported
   (the differences are all in the range 242--254).
   \begin{itemize}
   \item |cp866av| -- the `Cyrillic Alternative' code-page (an
     alternative variant of cp866);
-  \item |cp866mav| --  the `Modified Alternative Variant'; 
-  \item |cp866nav| --  the `New Alternative Variant'; 
-  \item |cp866tat| --  an experimental Tatarian code-page.    
+  \item |cp866mav| --  the `Modified Alternative Variant';
+  \item |cp866nav| --  the `New Alternative Variant';
+  \item |cp866tat| --  an experimental Tatarian code-page.
   \end{itemize}
 
 \item |cp1251| --- the standard MS Windows Cyrillic code-page.
@@ -321,7 +321,7 @@
   code-pages which coincide for all Russian letters but add some other
   Cyrillic letters. The following are supported:
   \begin{itemize}
-  \item \mbox{\texttt{koi8-u}}  -- for Ukrainian; 
+  \item \mbox{\texttt{koi8-u}}  -- for Ukrainian;
   \item \mbox{\texttt{koi8-ru}} -- this is described in a draft RFC
     document specifying a widely used character set for mail and news
     exchange in the Ukrainian internet community, as well as for
@@ -331,7 +331,7 @@
 
 \item |iso88595| --- the \mbox{ISO 8859-5} Cyrillic code-page (also called
   \mbox{ISO-IR-144}).
-  
+
 \item |maccyr| --- the Apple Macintosh Cyrillic code-page (also known
   as Microsoft cp10007) and |macukr|, the Apple Macintosh Ukrainian
   code-page, very similar to the Cyrillic code-page.

Modified: trunk/Master/texmf-dist/doc/latex/base/doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/docstrip.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/encguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/encguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/encguide.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/encguide.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,38 +1,38 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 %
 
- 
+
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
- 
+
 \documentclass{ltxguide}[1994/11/20]
- 
+
 \usepackage[T1]{fontenc}
 \IfFileExists{lmodern.sty}{\usepackage{lmodern}}{}
 \usepackage{textcomp}
@@ -174,7 +174,7 @@
      \else
        \count@="80
        \setbox0=\hbox{\X
-        \loop\char\count@\advance\count@ by1 \ifnum\count@<"100 
+        \loop\char\count@\advance\count@ by1 \ifnum\count@<"100
         \repeat}%
   \ifdim\wd0>0pt \let\top\tophalf\else\let\top\notophalf\fi
      \beginchart\X{\hfill\llap{\textbf{#1, \large#2}\label{fonttable:#1}}}\normalchart
@@ -186,18 +186,18 @@
 \setcounter{tocdepth}{3}
 
 \title{\LaTeX{} font encodings}
- 
+
 \author{Frank Mittelbach \and Robin
    Fairbairns \and Werner Lemberg \and \LaTeX3 Project Team.}
- 
+
 \date{\copyright~Copyright 1995--2016 \\[5pt] 18 February 2016}
- 
+
 \begin{document}
- 
+
 \maketitle
- 
+
 \tableofcontents
- 
+
 \section{Introduction}
 
 This document explains the ideas that underpin \LaTeX{} font
@@ -258,7 +258,7 @@
 \verb"\accent" commands.  Even in those Western European languages for
 which the \Enc{OT1} encoding has symbols for the necessary
 \verb"\accent"-based diacritics, this shortcoming ruins typesetting of
-running text. 
+running text.
 
 With the advent of \TeX{}\,3, with its ability to switch between
 hyphenation pattern sets, it was clear that the situation could not
@@ -299,11 +299,11 @@
 
 
 \subsection{Further information}
- 
+
 For a general introduction to \LaTeX, including the new features of
 \LaTeXe, you should read \emph{\LaTeXbook},
 Leslie Lamport, Addison Wesley, 2nd~ed, 1994.
- 
+
 A more detailed description of the new features of \LaTeX, including an
 overview of more than 200 packages and nearly 1000 ready to run examples, is
 to be found in \emph{\LaTeXcomp{} second edition} by Frank Mittelbach and
@@ -313,11 +313,11 @@
 font encodings, which
 is worth reading for its insight into the problems of defining the way
 in which math is used: see~\cite{ziegler,clasen,clasen-vieth}.
- 
+
 The \LaTeX{} font selection scheme is based on \TeX, which is described
 by its developer in \emph{The \TeX book}, Donald E.~Knuth, Addison
 Wesley, 1986, revised in 1991 to include the features of \TeX~3.
- 
+
 For more information about \TeX{} and \LaTeX, please contact your local
 \TeX{} Users Group, or the international \TeX{} Users Group
 (\url{http://www.tug.org}).
@@ -368,7 +368,7 @@
   change from font to font, a number of problems arise, so it is best to
   develop encodings that can be used with a large number of fonts in parallel.
   This allows documents to be typeset using different fonts without problems.
-  
+
   The \Enc{TS1} encoding is a good example of a \emph{bad} encoding (even
   though it was developed with the best intentions) as a huge number of fonts
   can only implement parts of it. Similarly, the fact that the few sets of
@@ -377,7 +377,7 @@
   problems. Don't add to this if possible!
 \end{quote}
 
- 
+
 \subsection{128$^+$ glyph encodings (text)}
 
 The `OT' series of font encodings start with Donald Knuth's original
@@ -407,7 +407,7 @@
   \verb=\=, \verb={=, and \verb=}= are only available in the
   typewriter fonts and the \textdollar{} and \textsterling{} signs
   share the same position (in different font shapes).
-  
+
   This means that direct selection of these slots can produce
   unpredictable results, e.g., typing \texttt{\string<} or
   \verb=\symbol{'74}= in a document can yield `\textquestiondown'.
@@ -436,7 +436,7 @@
   The \Enc{OT3} encoding was never really used with \LaTeXe{}
   following the introduction of the TIPA system which offers much
   better support for IPA. In particular, no \File{ot3enc.def}
-  file was ever produced. 
+  file was ever produced.
 \end{encodinginfo}
 
 
@@ -466,8 +466,8 @@
 
 \end{encodinginfo}
 
-      
 
+
 \begin{encodinginfo}{OT6}
         {Armenian text encoding}
         {Serguei Dachian}
@@ -523,7 +523,7 @@
   {--- (within each encoding)}
   {larm1000}
   {\cite{Berdnikov:eurotex-98}}
-  
+
   There are too many glyphs in the full Cyrillic complement of
   languages for all of them to be covered by a single
   \LaTeX{}-compliant encoding (the lower half of each
@@ -552,7 +552,7 @@
     The \Enc{T3} encoding (and associated macros) provides the glyphs required
   in phonetic description according to current International Phonetic
   Association recommendations \cite{ipa}.
-  
+
   The \Enc{T3} encoding does \emph{not fulfil} the requirements for \Enc{T}
   encodings---the name is a historical accident. The correct name would be
   \Enc{X3}, but due to the fact that this font family has been used under its
@@ -569,15 +569,15 @@
         {0x00--0xFF}              % range(s) of slots used for glyphs
         {0x24}         % range(s) of slots with variable glyphs if any
         {fcr10}              % name of an example font
-        {\cite{tub:JKn93}} 
+        {\cite{tub:JKn93}}
 
 The African Latin fonts contain in their lower half (0--127) the same
 characters as the European Latin (T1-encoded) Fonts, while in their
 upper half (128--255) they
 contain letters and symbols for African languages that use extended
-Latin alphabets. 
+Latin alphabets.
 Due to lack of space, J\"org had to play the unfortunate trick of
-assigning \verb=\textdollar= and \verb=\textsterling= 
+assigning \verb=\textdollar= and \verb=\textsterling=
 the same position; users should take these characters
 from the text companion font, if they are needed.  Instead of defining
 a lot of new control sequences for the single letters, there are three
@@ -585,9 +585,9 @@
 \verb=\m= (Modified-1),
 \verb=\M= (Modified-2) and
 \verb=\B= (Barred).
-Most standard \LaTeX{} encoding-dependent commands 
+Most standard \LaTeX{} encoding-dependent commands
 work.  However, the Icelandic special letters are not available and `best
-replacements' for \verb=\Th=, \verb=\th=, and \verb=\dh= 
+replacements' for \verb=\Th=, \verb=\th=, and \verb=\dh=
 are used (barred T and d resp.).
 \end{encodinginfo}
 
@@ -673,8 +673,8 @@
 \else
   \expandafter\ifx\csname r at fonttable:ptmr8c\endcsname\relax
   \else
-    \space (compare the two tables for \Enc{TS1} on 
-     pages~\pageref{fonttable:tcrm1000} 
+    \space (compare the two tables for \Enc{TS1} on
+     pages~\pageref{fonttable:tcrm1000}
      and~\pageref{fonttable:ptmr8c})%
   \fi
 \fi.
@@ -744,7 +744,7 @@
         {---}
         {cmsy10}
         {\cite[p.431]{A-W:DKn86}}
-  
+
   The  \Enc{OMS} encoding contains basic mathematical symbols,
   together with an uppercase ``calligraphic'' Latin alphabet.
 \end{encodinginfo}
@@ -799,7 +799,7 @@
   {all}
   {}
   {\cite[p.416]{A-W:MG2004}}
-  
+
   As the name indicates, encodings starting with the letter \Enc{E} are
   intended for experimental encodings, that are still likely to change.
 \end{encodinginfo}
@@ -811,7 +811,7 @@
         {all}
         {}
         {\cite[p.416]{A-W:MG2004}}
-        
+
         `Local' encodings provide the means to develop representation
         techniques that are suited to a particular \TeX{} environment.  While
         the developer has freedom to specify their encoding as he or she
@@ -818,7 +818,7 @@
         pleases, there is a strong incentive to obey the \LaTeX{} rules for
         encodings, since it will otherwise be difficult to compose text using
         the encoding.
-  
+
         At least it was the intention that \Enc{L..} encodings are local and
         site dependent. However, a number of such encodings became generally
         used without ever getting a different name allocated.
@@ -834,7 +834,7 @@
         {\emph{believed none}}
         {ptmr8y}
         {\cite[p.416]{A-W:MG2004}}
-        
+
         This is an alternative to the \Enc{T1} encoding developed by Y\&Y and
         used in their commercial \TeX{} implementation.
 
@@ -862,7 +862,7 @@
         {\emph{believed none}}
         {grmn1000}
         {\cite[p.575]{A-W:MG2004}}
-        
+
         Currently the main encoding in use for the Greek language.
 
         This encoding doesn't conform to the restrictions for
@@ -881,7 +881,7 @@
   {---}
   {}
   {\cite{Adobe:PDF-1.6}, \cite{hyperref}}
-  
+
   The \Enc{PD1} encoding is a virtual encoding with 256 glyphs needed to
   produce bookmarks and similar text in PDF document generated with pdf\LaTeX.
   The encoding is ``virtual'' because by design there are no \TeX{}
@@ -897,7 +897,7 @@
   {---}
   {}
   {\cite{Adobe:PDF-1.6}, \cite{hyperref}}
-  
+
   Another virtual encoding (with more than 600 characters) for
   Unicode-encoded bookmarks in PDF documents.
 \end{encodinginfo}
@@ -918,7 +918,7 @@
 
 
 
-\section{Restrictions} 
+\section{Restrictions}
 \label{sec:restrictions}
 
 
@@ -1171,7 +1171,7 @@
 \ttverb\textunderscore    \>OT1,T1\>   \textunderscore  \>  \\
 \ttverb\textvisiblespace  \>OT1,T1\>   \textvisiblespace\>  \\
 \ttverb\th                \>T1    \>   \th              \>
-\end{tabbing}                        
+\end{tabbing}
 
 \section{Encodings for Unicode based \TeX\ systems}
 \label{sec:unicode}
@@ -1215,7 +1215,7 @@
 apply, or need to be modified in a Unicode based engine. Clearly the
 lowercase table (and hyphenation patterns) can not be restricted to
 the values used for \Enc{T1} and do only refer to the first 256
-characters. 
+characters.
 
 When the \LaTeX\ format is made \LaTeX\ sets up the lowercase table
 and classifies characters as letter- or non-letter-based on \Enc{T1} if
@@ -1244,8 +1244,8 @@
 
 \begin{thebibliography}{99}
 \addcontentsline{toc}{section}{\numberline{\relax}\refname}
- 
 
+
 \bibitem{Adobe:PDF-1.6} \emph{\textsc{PDF} reference}:
     Adobe portable document format version~1.6.  Adobe Systems
     Incorporated, 2005. % why \textsuperscript{3}?
@@ -1310,9 +1310,9 @@
 
 \bibitem{tub:JKn93}
 J\"org Knappen.
-\newblock Fonts for Africa: The fc Fonts. 
+\newblock Fonts for Africa: The fc Fonts.
 \newblock {\em {TUG}boat}, 14(2):104, 1993.
- 
+
 \bibitem{Knappen:TB17-2-96} J\"org Knappen:
   \emph{The \Pkg{dc} fonts~1.3: Move towards stability
       and completeness}.  In: TUGBoat 17\#2, 1996.
@@ -1321,7 +1321,7 @@
 \bibitem{A-W:DKn86}
 Donald~E. Knuth.
 \newblock {\em The {\TeX}book}.
-\newblock Volume~A of {\em Computers \& {T}ypesetting\/}, 
+\newblock Volume~A of {\em Computers \& {T}ypesetting\/},
   May 1989.
 \newblock Eight printing.
 
@@ -1353,7 +1353,7 @@
   \url{http://unicode.org/ucd}.
 
 \bibitem{ziegler} Justin Ziegler, \emph{Technical
-    Report on Math Font Encodings}, June 1994, 
+    Report on Math Font Encodings}, June 1994,
   \url{http://www.tug.org/twg/mfg/papers/ltx3pub/l3d007.ps.gz}.
 
 \end{thebibliography}

Modified: trunk/Master/texmf-dist/doc/latex/base/exscale.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/fix-cm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/fntguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/fntguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/fntguide.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/fntguide.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,206 +1,203 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019 
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: fntguide.tex
- 
+
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
- 
+
 \documentclass{ltxguide}[1995/11/28]
- 
+
 \title{\LaTeXe{} font selection}
- 
+
 \author{\copyright~Copyright 1995--2019, \LaTeX3 Project Team.\\
    All rights reserved.}
- 
-\date{July 2019}
- 
+
+\date{October 2019}
+
 \begin{document}
- 
+
 \maketitle
- 
+
 \tableofcontents
- 
+
 \section{Introduction}
- 
+
 This document describes the new font selection features of the \LaTeX{}
 Document Preparation System.  It is intended for package writers who
 want to write font-loading packages similar to |times| or |latexsym|.
 
-This document is only a brief introduction to the new facilities and
-is intended for package writers who are familiar with \TeX{} fonts and
+This document is only a brief introduction to the new facilities and is
+intended for package writers who are familiar with \TeX{} fonts and
 \LaTeX{} packages.  It is \emph{neither} a user-guide \emph{nor} a
 reference manual for fonts in \LaTeXe.
- 
+
 \subsection{\LaTeXe~fonts}
- 
+
 The most important difference between \LaTeX~2.09 and \LaTeXe{} is the
 way that fonts are selected.  In \LaTeX~2.09, the Computer Modern fonts
 were built into the \LaTeX~format, and so customizing \LaTeX{} to use
 other fonts was a major effort.
- 
+
 In \LaTeXe, very few fonts are built into the format, and there are
 commands to load new text and math fonts.  Packages such as |times| or
-|latexsym| allow authors to access these fonts.
-This document describes how to write similar font-loading packages.
- 
+|latexsym| allow authors to access these fonts.  This document describes
+how to write similar font-loading packages.
+
 The \LaTeXe{} font selection system was first released as the `New Font
 Selection Scheme' (NFSS) in 1989, and then in release~2 in 1993.
 \LaTeXe{} includes NFSS release~2 as standard.
- 
+
 \subsection{Overview}
- 
-This document contains an overview of the new font commands
-of \LaTeX.
- 
+
+This document contains an overview of the new font commands of \LaTeX.
+
 \begin{description}
- 
+
 \item[Section~\ref{Sec:text}] describes the commands for selecting fonts
-   in classes and packages.  It lists the five \LaTeX{} font
-   attributes, and lists the commands for selecting fonts.  It also
-   describes how to customize the author commands such as |\textrm| and
-   |\textit| to suit your document design.
- 
+  in classes and packages.  It lists the five \LaTeX{} font attributes,
+  and lists the commands for selecting fonts.  It also describes how to
+  customize the author commands such as |\textrm| and |\textit| to suit
+  your document design.
+
 \item[Section~\ref{Sec:math}] explains the commands for controlling
-   \LaTeX{} math fonts.  It describes how to specify new math fonts and
-   new math symbols.
- 
+  \LaTeX{} math fonts.  It describes how to specify new math fonts and
+  new math symbols.
+
 \item[Section~\ref{Sec:install}] explains how to install new fonts into
-   \LaTeX.  It shows how \LaTeX{} font attributes are turned into \TeX{}
-   font names, and how to specify your own fonts using font definition
-   files.
- 
-\item[Section~\ref{Sec:encode}] discusses text font encodings.
-   It describes how to declare a new encoding and how to define
-   commands, such as |\AE| or |\"|, which have different definitions in
-   different encodings, depending on whether ligatures, etc.\ are
-   available in the encoding.
- 
+  \LaTeX.  It shows how \LaTeX{} font attributes are turned into \TeX{}
+  font names, and how to specify your own fonts using font definition
+  files.
+
+\item[Section~\ref{Sec:encode}] discusses text font encodings.  It
+  describes how to declare a new encoding and how to define commands,
+  such as |\AE| or |\"|, which have different definitions in different
+  encodings, depending on whether ligatures, etc.\ are available in the
+  encoding.
+
 \item[Section~\ref{Sec:misc}] covers font miscellanea.  It describes how
-   \LaTeX{} performs font substitution, how to customize fonts that are
-   preloaded in the \LaTeX{} format, and the naming conventions used in
-   \LaTeX{} font selection.
- 
+  \LaTeX{} performs font substitution, how to customize fonts that are
+  preloaded in the \LaTeX{} format, and the naming conventions used in
+  \LaTeX{} font selection.
+
 \end{description}
- 
+
 \subsection{Further information}
- 
+
 For a general introduction to \LaTeX, including the new features of
-\LaTeXe, you should read \emph{\LaTeXbook},
-Leslie Lamport, Addison Wesley, 2nd~ed, 1994.
- 
+\LaTeXe, you should read \emph{\LaTeXbook}, Leslie Lamport, Addison
+Wesley, 2nd~ed, 1994.
+
 A more detailed description of the \LaTeX{} font selection scheme is to
-be found in \emph{\LaTeXcomp}, 2nd~ed, by Mittelbach and Goossens, Addison
-Wesley, 2004.
- 
+be found in \emph{\LaTeXcomp}, 2nd~ed, by Mittelbach and Goossens,
+Addison Wesley, 2004.
+
 The \LaTeX{} font selection scheme is based on \TeX, which is described
 by its developer in \emph{The \TeX book}, Donald E.~Knuth, Addison
 Wesley, 1986, revised in 1991 to include the features of \TeX~3.
- 
+
 Sebastian Rahtz's |psnfss| software contains the software for using a
 large number of Type~1 fonts (including the Adobe Laser Writer 35 and
 the Monotype CD-ROM fonts) in \LaTeX.  It should be available from the
 same source as your copy of \LaTeX.
- 
-The |psnfss| software uses fonts generated by Alan Jeffrey's
-|fontinst| software.  This can convert fonts from Adobe Font Metric
-format into a format readable by \LaTeX, including the generation of
-the font definition files described in Section~\ref{Sec:install}.  The
-|fontinst| software should be available from the same source as your
-copy of \LaTeX.
- 
+
+The |psnfss| software uses fonts generated by Alan Jeffrey's |fontinst|
+software.  This can convert fonts from Adobe Font Metric format into a
+format readable by \LaTeX, including the generation of the font
+definition files described in Section~\ref{Sec:install}.  The |fontinst|
+software should be available from the same source as your copy of
+\LaTeX.
+
 Whenever practical, \LaTeX{} uses the font naming scheme called
 `fontname'; this was described in \emph{Filenames for fonts},%
-\footnote{An up-to-date electronic version
-of this document can be found on any CTAN server, in the directory
-\texttt{info/fontname}.}
+\footnote{An up-to-date electronic version of this document can be found
+  on any CTAN server, in the directory \texttt{info/fontname}.}
 \emph{TUGboat}~11(4),~1990.
 
-The class-writer's guide \emph{\clsguide} describes
-the new \LaTeX{} features for writers of document classes and packages
-and is kept in |clsguide.tex|. Configuring
-\LaTeX{} is covered by the guide \emph{\cfgguide} in
-\texttt{cfgguide.tex} whilst the philosophy behind our policy on 
-modifying \LaTeX{} is described in \emph{\modguide} in
+The class-writer's guide \emph{\clsguide} describes the new \LaTeX{}
+features for writers of document classes and packages and is kept in
+|clsguide.tex|. Configuring \LaTeX{} is covered by the guide
+\emph{\cfgguide} in \texttt{cfgguide.tex} whilst the philosophy behind
+our policy on modifying \LaTeX{} is described in \emph{\modguide} in
 \texttt{modguide.tex}.
- 
-The documented source code (from the files used to produce
-the kernel format via |latex.ltx|) is now available as
-\emph{The \LaTeXe\ Sources}.
-This very large document also includes an index of \LaTeX{}
-commands.  It can be typeset from the \LaTeX{} file |source2e.tex|
-in the |base| directory; this uses the class file |ltxdoc.cls|.
 
+The documented source code (from the files used to produce the kernel
+format via |latex.ltx|) is now available as \emph{The \LaTeXe\ Sources}.
+This very large document also includes an index of \LaTeX{} commands.
+It can be typeset from the \LaTeX{} file |source2e.tex| in the |base|
+directory; this uses the class file |ltxdoc.cls|.
+
 For more information about \TeX{} and \LaTeX{}, please contact your
 local \TeX{} Users Group, or the international \TeX{} Users Group.
 Addresses and other details can be found at:
 \begin{quote}\small\label{addrs}
-    \texttt{http://www.tug.org/lugs.html}
+  \texttt{http://www.tug.org/lugs.html}
 \end{quote}
 
 
 \section{Text fonts}
 \label{Sec:text}
- 
+
 This section describes the commands available to class and package
 writers for specifying and selecting fonts.
- 
+
 \subsection{Text font attributes}
- 
+\label{sec:textfontattributes}
+
 Every text font in \LaTeX{} has five \emph{attributes}:
 \begin{description}
- 
+
 \item[encoding] This specifies the order that characters appear in the
-   font.  The two most common text encodings used in \LaTeX{} are
-   Knuth's `\TeX{} text' encoding, and the `\TeX{} text extended'
-   encoding developed by the \TeX{} Users Group members during a \TeX{}
-   Conference at Cork in~1990 (hence its informal name `Cork encoding').
- 
+  font.  The two most common text encodings used in \LaTeX{} are Knuth's
+  `\TeX{} text' encoding, and the `\TeX{} text extended' encoding
+  developed by the \TeX{} Users Group members during a \TeX{} Conference
+  at Cork in~1990 (hence its informal name `Cork encoding').
+
 \item[family] The name for a collection of fonts, usually grouped under
-   a common name by the font foundry.  For example, `Adobe Times', `ITC
-   Garamond', and Knuth's `Computer Modern Roman' are all font families.
- 
+  a common name by the font foundry.  For example, `Adobe Times', `ITC
+  Garamond', and Knuth's `Computer Modern Roman' are all font families.
+
 \item[series] How heavy and/or expanded a font is.  For example, `medium
-   weight', `narrow' and `bold extended' are all series.
- 
-\item[shape] The form of the letters within a font family.  For
-   example, `italic', `oblique' and `upright' (sometimes called
-   `roman') are all font shapes.
- 
+  weight', `narrow' and `bold extended' are all series.
+
+\item[shape] The form of the letters within a font family.  For example,
+  `italic', `oblique' and `upright' (sometimes called `roman') are all
+  font shapes.
+
 \item[size] The design size of the font, for example `10pt'. If no
-   dimension is specified, `pt' is assumed.
- 
+  dimension is specified, `pt' is assumed.
+
 \end{description}
 The possible values for these attributes are given short acronyms by
 \LaTeX.  The most common values for the font encoding are:
 \begin{center}
-\begin{minipage}{.7\linewidth}
-   \begin{tabular}{rl}
+  \begin{minipage}{.7\linewidth}
+    \begin{tabular}{rl}
       |OT1|   & \TeX{} text  \\
       |T1|    & \TeX{} extended text \\
       |OML|   & \TeX{} math italic \\
@@ -208,18 +205,18 @@
       |OMX|   & \TeX{} math large symbols \\
       |U|     & Unknown \\
       |L<xx>| & A local encoding
-   \end{tabular}
-\end{minipage}
+    \end{tabular}
+  \end{minipage}
 \end{center}
 The `local' encodings are intended for font encodings which are only
-locally available, for example a font containing an organization's
-logo in various sizes.
- 
+locally available, for example a font containing an organization's logo
+in various sizes.
+
 There are far too many font families to list them all, but some common
 ones are:
 \begin{center}
-\begin{minipage}{.7\linewidth}
-   \begin{tabular}{rl}
+  \begin{minipage}{.7\linewidth}
+    \begin{tabular}{rl}
       |cmr|  & Computer Modern Roman \\
       |cmss| & Computer Modern Sans \\
       |cmtt| & Computer Modern Typewriter \\
@@ -229,38 +226,38 @@
       |ptm|  & Adobe Times \\
       |phv|  & Adobe Helvetica \\
       |pcr|  & Adobe Courier
-   \end{tabular}
-\end{minipage}
+    \end{tabular}
+  \end{minipage}
 \end{center}
 \NEWdescription{2019/07/10}
 The font series is denoting a combination of the weight (boldness) and
-the width (amount of expansion).  The standard supported for weights
-and widths are:
+the width (amount of expansion).  The standard supported for weights and
+widths are:
 \begin{center}
 %\begin{minipage}{.7\linewidth}
-   \begin{tabular}{rl}
-  |ul| &       Ultra Light     \\
-  |el| &       Extra Light     \\
-  |l|  &       Light          \\
-  |sl| &       Semi Light      \\
-  |m|  &       Medium (normal)\\
-  |sb| &       Semi Bold       \\
-  |b|  &       Bold           \\
-  |eb| &       Extra Bold      \\
-  |ub| &       Ultra Bold      \\
-   \end{tabular}
-\qquad
-   \begin{tabular}{rlr}
-       |uc|  &       Ultra Condensed  &  50\%    \\
-       |ec|  &       Extra Condensed  &  62.5\%  \\
-       |c|   &       Condensed       &  75\%    \\
-       |sc|  &       Semi Condensed   &  87.5\%  \\
-        |m|  &       Medium          &  100\%   \\
-       |sx|  &       Semi Expanded    &  112.5\% \\
-        |x|  &       Expanded        &  125\%   \\
-       |ex|  &       Extra Expanded   &  150\%   \\
-       |ux|  &       Ultra Expanded   &  200\%   \\
-   \end{tabular}
+  \begin{tabular}{rl}
+    |ul| & Ultra Light     \\
+    |el| & Extra Light     \\
+    |l|  & Light          \\
+    |sl| & Semi Light      \\
+    |m|  & Medium (normal)\\
+    |sb| & Semi Bold       \\
+    |b|  & Bold           \\
+    |eb| & Extra Bold      \\
+    |ub| & Ultra Bold      \\
+  \end{tabular}
+  \qquad
+  \begin{tabular}{rlr}
+    |uc| & Ultra Condensed &  50\%    \\
+    |ec| & Extra Condensed &  62.5\%  \\
+    |c|  & Condensed       &  75\%    \\
+    |sc| & Semi Condensed  &  87.5\%  \\
+    |m|  & Medium          &  100\%   \\
+    |sx| & Semi Expanded   &  112.5\% \\
+    |x|  & Expanded        &  125\%   \\
+    |ex| & Extra Expanded  &  150\%   \\
+    |ux| & Ultra Expanded  &  200\%   \\
+  \end{tabular}
 \end{center}
 These are concatenated to a single series value except that |m| is
 dropped unless both weight and width are medium in which case a single
@@ -268,56 +265,55 @@
 
 Examples for series values are then:
 \begin{center}
-\begin{minipage}{.7\linewidth}
-   \begin{tabular}{rl}
-      |m|    & Medium weight and width  \\
-      |b|    & Bold weight, medium width  \\
-      |bx|   & Bold extended \\
-      |sb|   & Semi-bold, medium width\\
-      |sbx|   & Semi-bold extended\\
-      |c|    & Medium weight, condensed width
-   \end{tabular}
-\end{minipage}
+  \begin{minipage}{.7\linewidth}
+    \begin{tabular}{rl}
+      |m|   & Medium weight and width  \\
+      |b|   & Bold weight, medium width  \\
+      |bx|  & Bold extended \\
+      |sb|  & Semi-bold, medium width\\
+      |sbx| & Semi-bold extended\\
+      |c|   & Medium weight, condensed width
+    \end{tabular}
+  \end{minipage}
 \end{center}
 \NEWdescription{2019/07/10}
 Note, that there are a large variety of names floating around like
 ``regular'', ``black'', ``demi-bold'', ``thin'', ``heavy'' and many
-more. If at all possible they should be matched into the standard
-naming scheme to allow for sensible default substitutions if
-necessary, e.g., ``demi-bold'' is normally just another name for
-``semi-bold'', so should get |sb| assigned, etc.
+more.  If at all possible they should be matched into the standard
+naming scheme to allow for sensible default substitutions if necessary,
+e.g., ``demi-bold'' is normally just another name for ``semi-bold'', so
+should get |sb| assigned, etc.
 
 The most common values for the font shape are:
 \begin{center}
-\begin{minipage}{.7\linewidth}
-   \begin{tabular}{rl}
-      |n|    & Normal (that is `upright' or `roman') \\
-      |it|   & Italic \\
-      |sl|   & Slanted (or `oblique') \\
-      |sc|   & Caps and small caps
-   \end{tabular}
-\end{minipage}
+  \begin{minipage}{.7\linewidth}
+    \begin{tabular}{rl}
+      |n|  & Normal (that is `upright' or `roman') \\
+      |it| & Italic \\
+      |sl| & Slanted (or `oblique') \\
+      |sc| & Caps and small caps
+    \end{tabular}
+  \end{minipage}
 \end{center}
-The font size is specified as a dimension, for example |10pt| or
-|1.5in| or |3mm|; if no unit is specified, |pt| is assumed.  These five
+The font size is specified as a dimension, for example |10pt| or |1.5in|
+or |3mm|; if no unit is specified, |pt| is assumed.  These five
 parameters specify every \LaTeX{} font, for example:
 \begin{center}
-   \begin{tabular}{@{}r@{\,}l@{\,}c@{\,}c@{\,}cc@{}r@{}}
-      \multicolumn{5}{@{}c}{\emph{\LaTeX{} specification}} &
-      \emph{Font} &
-      \emph{\TeX{} font name} \\
-      |OT1| & |cmr| & |m| & |n| & |10| &
-      Computer Modern Roman 10 point &
-      |cmr10| \\
-      |OT1| & |cmss| & |m| & |sl| & |1pc| &
-      Computer Modern Sans Oblique 1 pica &
-      |cmssi12| \\
-      |OML| & |cmm| & |m| & |it| & |10pt| &
-      Computer Modern Math Italic 10 point &
-      |cmmi10| \\
-      |T1| & |ptm| & |b| & |it| & |1in| &
-      Adobe Times Bold Italic 1 inch &
-      |ptmb8t at 1in|
+  \begin{tabular}{@{}r@{\,}l@{\,}c@{\,}c@{\,}cc@{}r@{}}
+    \multicolumn{5}{@{}c}{\emph{\LaTeX{} specification}}
+    & \emph{Font}  & \emph{\TeX{} font name} \\
+    |OT1| & |cmr|  & |m| & |n| & |10|
+                         & Computer Modern Roman 10 point
+                               &  |cmr10| \\
+    |OT1| & |cmss| & |m| & |sl| & |1pc|
+                         & Computer Modern Sans Oblique 1 pica
+                               & |cmssi12| \\
+    |OML| & |cmm|  & |m| & |it| & |10pt|
+                         & Computer Modern Math Italic 10 point
+                               & |cmmi10| \\
+    |T1| & |ptm|   & |b| & |it| & |1in|
+                         & Adobe Times Bold Italic 1 inch
+                               & |ptmb8t at 1in|
    \end{tabular}
 \end{center}
 These five parameters are displayed whenever \LaTeX{} gives an overfull
@@ -328,55 +324,54 @@
 \end{verbatim}
 The author commands for fonts set the five attributes:
 \begin{center}
-   \begin{tabular}{rcl}
-      \emph{Author command} &
-      \emph{Attribute} &
-      \emph{Value in} |article| \emph{class} \\
-      |\textnormal{..}| or |\normalfont|    & family & |cmr| \\
-      |\textrm{..}| or |\rmfamily|    & family & |cmr| \\
-      |\textsf{..}| or |\sffamily|    & family & |cmss| \\
-      |\texttt{..}| or |\ttfamily|    & family & |cmtt| \\
-      |\textmd{..}| or |\mdseries|    & series & |m| \\
-      |\textbf{..}| or |\bfseries|    & series & |bx| \\
-      |\textup{..}| or |\upshape|     & shape  & |n| \\
-      |\textit{..}| or |\itshape|     & shape  & |it| \\
-      |\textsl{..}| or |\slshape|     & shape  & |sl| \\
-      |\textsc{..}| or |\scshape|     & shape  & |sc| \\
-      |\tiny|         & size   & |5pt| \\
-      |\scriptsize|   & size   & |7pt| \\
-      |\footnotesize| & size   & |8pt| \\
-      |\small|        & size   & |9pt| \\
-      |\normalsize|   & size   & |10pt| \\
-      |\large|        & size   & |12pt| \\
-      |\Large|        & size   & |14.4pt| \\
-      |\LARGE|        & size   & |17.28pt| \\
-      |\huge|         & size   & |20.74pt| \\
-      |\Huge|         & size   & |24.88pt|
-   \end{tabular}
+  \begin{tabular}{rcl}
+    \emph{Author command} & \emph{Attribute}
+                          & \emph{Value in} |article| \emph{class} \\
+    |\textnormal{..}| or |\normalfont| & family & |cmr|     \\
+    |\textrm{..}| or |\rmfamily|       & family & |cmr|     \\
+    |\textsf{..}| or |\sffamily|       & family & |cmss|    \\
+    |\texttt{..}| or |\ttfamily|       & family & |cmtt|    \\
+    |\textmd{..}| or |\mdseries|       & series & |m|       \\
+    |\textbf{..}| or |\bfseries|       & series & |bx|      \\
+    |\textup{..}| or |\upshape|        & shape  & |n|       \\
+    |\textit{..}| or |\itshape|        & shape  & |it|      \\
+    |\textsl{..}| or |\slshape|        & shape  & |sl|      \\
+    |\textsc{..}| or |\scshape|        & shape  & |sc|      \\
+    |\tiny|                            & size   & |5pt|     \\
+    |\scriptsize|                      & size   & |7pt|     \\
+    |\footnotesize|                    & size   & |8pt|     \\
+    |\small|                           & size   & |9pt|     \\
+    |\normalsize|                      & size   & |10pt|    \\
+    |\large|                           & size   & |12pt|    \\
+    |\Large|                           & size   & |14.4pt|  \\
+    |\LARGE|                           & size   & |17.28pt| \\
+    |\huge|                            & size   & |20.74pt| \\
+    |\Huge|                            & size   & |24.88pt|
+  \end{tabular}
 \end{center}
 The values used by these commands are determined by the document class,
 using the parameters defined in Section~\ref{Sec:text.param}.
- 
+
 Note that there are no author commands for selecting new encodings.
 These should be provided by packages, such as the |fontenc| package.
- 
+
 This section does not explain how \LaTeX{} font specifications are
 turned into \TeX{} font names.  This is described in
 Section~\ref{Sec:install}.
- 
+
 \subsection{Selection commands}
- 
+
 The low-level commands used to select a text font are as follows.
- 
+
 \begin{decl}
-|\fontencoding| \arg{encoding} \\
-|\fontfamily|  \arg{family}\\
-|\fontseries| \arg{series}\\
-|\fontshape| \arg{shape}\\
-|\fontsize| \arg{size} \arg{baselineskip}\\
-|\linespread| \arg{factor}
+  |\fontencoding| \arg{encoding} \\
+  |\fontfamily|  \arg{family} \\
+  |\fontseries| \arg{series} \\
+  |\fontshape| \arg{shape} \\
+  |\fontsize| \arg{size} \arg{baselineskip} \\
+  |\linespread| \arg{factor}
 \end{decl}
- 
+
 \NEWdescription{1998/12/01}
 Each of the commands starting with |\font...| sets one of the font
 attributes; |\fontsize| also sets |\baselineskip|. The |\linespread|
@@ -387,17 +382,15 @@
 The actual font in use is not altered by these commands, but the
 current attributes are used to determine which font and baseline skip
 to use after the next |\selectfont| command.
- 
 
 \begin{decl}
-|\selectfont|
+  |\selectfont|
 \end{decl}
 Selects a text font, based on the current values of the font attributes.
- 
-\emph{Warning}: There \emph{must} be a |\selectfont| command
-immediately after any settings of the font parameters by (some of)
-the six commands above, before any following text.
-For example, it is legal to say:
+
+\emph{Warning}: There \emph{must} be a |\selectfont| command immediately
+after any settings of the font parameters by (some of) the six commands
+above, before any following text.  For example, it is legal to say:
 \begin{verbatim}
    \fontfamily{ptm}\fontseries{b}\selectfont Some text.
 \end{verbatim}
@@ -407,38 +400,36 @@
 \end{verbatim}
 You may get unexpected results if you put text between a
 |\font<parameter>| command (or |\linespread|) and a |\selectfont|.
- 
+
 \begin{decl}
-|\usefont| \arg{encoding} \arg{family} \arg{series} \arg{shape}
+  |\usefont| \arg{encoding} \arg{family} \arg{series} \arg{shape}
 \end{decl}
-A short hand for the equivalent |\font...| commands followed by a
-call to |\selectfont|.
- 
- 
+A short hand for the equivalent |\font...| commands followed by a call
+to |\selectfont|.
+
 \subsection{Internals}
- 
+
 The current values of the font attributes are held in internal macros.
- 
+
 \begin{decl}
-      |\f at encoding| \\
-      |\f at family|  \\
-      |\f at series|  \\
-      |\f at shape|  \\
-      |\f at size|    \\
-      |\f at baselineskip| \\
-      |\tf at size|  \\
-      |\sf at size|  \\
-      |\ssf at size|
+  |\f at encoding| \\
+  |\f at family| \\
+  |\f at series| \\
+  |\f at shape|  \\
+  |\f at size| \\
+  |\f at baselineskip| \\
+  |\tf at size| \\
+  |\sf at size| \\
+  |\ssf at size|
 \end{decl}
- 
+
 These hold the current values of the encoding, the family, the series,
-the shape, the size, the baseline skip, the main math size, the
-`script' math size and the `scriptscript' math size. The last three
-are accessible only within a formula; outside of math they may contain
+the shape, the size, the baseline skip, the main math size, the `script'
+math size and the `scriptscript' math size. The last three are
+accessible only within a formula; outside of math they may contain
 arbitrary values.
- 
-For example, to set the size to 12 without
-changing the baseline skip:
+
+For example, to set the size to 12 without changing the baseline skip:
 \begin{verbatim}
    \fontsize{12}{\f at baselineskip}
 \end{verbatim}
@@ -446,10 +437,10 @@
 commands directly; they must only be modified using the low-level
 commands like |\fontfamily|, |\fontseries|, etc. If you disobey this
 warning you might produce code that loops.
- 
+
 \subsection{Parameters for author commands}
 \label{Sec:text.param}
- 
+
 The parameter values set by author commands such as |\textrm| and
 |\rmfamily|, etc.\ are not hard-wired into \LaTeX; instead these
 commands use the values of a number of parameters set by the document
@@ -462,53 +453,51 @@
    \renewcommand{\sfdefault}{phv}
    \renewcommand{\ttdefault}{pcr}
 \end{verbatim}
- 
+
 \begin{decl}
- |\encodingdefault| \\
- |\familydefault|   \\
- |\seriesdefault|   \\
- |\shapedefault|
+  |\encodingdefault| \\
+  |\familydefault|   \\
+  |\seriesdefault|   \\
+  |\shapedefault|
 \end{decl}
 The encoding, family, series and shape of the main body font.  By
-default these are |OT1|, |\rmdefault|, |m| and |n|.  Note that since
-the default family is |\rmdefault|, this means that changing
-|\rmdefault| will change the main body font of the document.
- 
+default these are |OT1|, |\rmdefault|, |m| and |n|.  Note that since the
+default family is |\rmdefault|, this means that changing |\rmdefault|
+will change the main body font of the document.
+
 \begin{decl}
- |\rmdefault|  \\
- |\sfdefault| \\
- |\ttdefault|
+  |\rmdefault| \\
+  |\sfdefault| \\
+  |\ttdefault|
 \end{decl}
-The families selected by |\textrm|, |\rmfamily|, |\textsf|,
-|\sffamily|, |\texttt| and |\ttfamily|.  By default these are |cmr|,
-|cmss| and |cmtt|.
- 
+The families selected by |\textrm|, |\rmfamily|, |\textsf|, |\sffamily|,
+|\texttt| and |\ttfamily|.  By default these are |cmr|, |cmss| and
+|cmtt|.
+
 \begin{decl}
- |\bfdefault| \\
- |\mddefault|
+  |\bfdefault| \\
+  |\mddefault|
 \end{decl}
 The series selected by |\textbf|, |\bfseries|, |\textmd| and
-|\mdseries|.  By default these are |bx| and |m|.
-These values are suitable for the default families used. If other
-fonts are used as standard document fonts (for example, certain
-PostScript fonts) it might be necessary to adjust the value of
-|\bfdefault| to |b| since only a few such families have a `bold
-extended' series.  An alternative (taken for the fonts provided by
-|psnfss|) is to define silent substitutions from |bx| series to |b|
-series with special |\DeclareFontShape| declarations and the |ssub|
-size function, see Section~\ref{sec:sizefunct}.
- 
- 
+|\mdseries|.  By default these are |bx| and |m|.  These values are
+suitable for the default families used. If other fonts are used as
+standard document fonts (for example, certain PostScript fonts) it might
+be necessary to adjust the value of |\bfdefault| to |b| since only a few
+such families have a `bold extended' series.  An alternative (taken for
+the fonts provided by |psnfss|) is to define silent substitutions from
+|bx| series to |b| series with special |\DeclareFontShape| declarations
+and the |ssub| size function, see Section~\ref{sec:sizefunct}.
+
 \begin{decl}
- |\itdefault| \\
- |\sldefault| \\
- |\scdefault| \\
- |\updefault|
+  |\itdefault| \\
+  |\sldefault| \\
+  |\scdefault| \\
+  |\updefault|
 \end{decl}
 The shapes selected by |\textit|, |\itshape|, |\textsl|, |\slshape|,
 |\textsc|, |\scshape|, |\textup| and |\upshape|.  By default these are
 |it|, |sl|, |sc| and |n|.
- 
+
 Note that there are no parameters for the size commands.  These should
 be defined directly in class files, for example:
 \begin{verbatim}
@@ -515,61 +504,59 @@
    \renewcommand{\normalsize}{\fontsize{10}{12}\selectfont}
 \end{verbatim}
 More elaborate examples (setting additional parameters when the text
-size is changed) can be found in |classes.dtx| the source
-documentation for the classes |article|, |report|, and |book|.
- 
- 
+size is changed) can be found in |classes.dtx| the source documentation
+for the classes |article|, |report|, and |book|.
+
 \subsection{Special font declaration commands}
- 
+
 \begin{decl}
-|\DeclareFixedFont| \arg{cmd} \arg{encoding} \arg{family} \arg{series}
-                    \arg{shape} \arg{size}
+  |\DeclareFixedFont| \arg{cmd} \arg{encoding} \arg{family} \arg{series}
+                      \arg{shape} \arg{size}
 \end{decl}
- 
-Declares command \m{cmd} to be a font switch which selects the font
-that is specified by the attributes \m{encoding}, \m{family},
-\m{series}, \m{shape}, and \m{size}.
- 
+
+Declares command \m{cmd} to be a font switch which selects the font that
+is specified by the attributes \m{encoding}, \m{family}, \m{series},
+\m{shape}, and \m{size}.
+
 The font is selected without any adjustments to baselineskip and other
 surrounding conditions.
- 
+
 This example makes |{\picturechar .}| select a small dot very quickly:
 \begin{verbatim}
    \DeclareFixedFont{\picturechar}{OT1}{cmr}{m}{n}{5}
 \end{verbatim}
- 
- 
+
 \begin{decl}
 |\DeclareTextFontCommand| \arg{cmd} \arg{font-switches}
 \end{decl}
- 
-Declares command \m{cmd} to be a font command with one argument.
-The current font attributes are locally modified by \m{font-switches}
-and then the argument of \m{cmd} is typeset in the resulting new font.
- 
-Commands defined by |\DeclareTextFontCommand| automatically take care
-of any necessary italic correction (on either side).
- 
+
+Declares command \m{cmd} to be a font command with one argument.  The
+current font attributes are locally modified by \m{font-switches} and
+then the argument of \m{cmd} is typeset in the resulting new font.
+
+Commands defined by |\DeclareTextFontCommand| automatically take care of
+any necessary italic correction (on either side).
+
 The following example shows how |\textrm| is defined by the kernel.
 \begin{verbatim}
    \DeclareTextFontCommand{\textrm}{\rmfamily}
 \end{verbatim}
- 
-To define a command that always typeset its argument in the italic
-shape of the main document font you could declare:
+
+To define a command that always typeset its argument in the italic shape
+of the main document font you could declare:
 \begin{verbatim}
    \DeclareTextFontCommand{\normalit}{\normalfont\itshape}
 \end{verbatim}
- 
+
 This declaration can be used to change the meaning of a command; if
-\m{cmd} is already defined, a log that it has been redefined
-is put in the transcript file.
- 
+\m{cmd} is already defined, a log that it has been redefined is put in
+the transcript file.
+
 \begin{decl}
-|\DeclareOldFontCommand| \arg{cmd} \arg{text-switch}
-                                   \arg{math-switch}
+  |\DeclareOldFontCommand| \arg{cmd} \arg{text-switch}
+                                     \arg{math-switch}
 \end{decl}
- 
+
 Declares command \m{cmd} to be a font switch (i.e.~used with the
 syntax |{<cmd>...}|) having the definition \m{text-switch}
 when used in text and the definition \m{math-switch} when used in a
@@ -578,11 +565,11 @@
 should not have an argument.  Their use in this argument causes their
 semantics to change so that they here act as a font switch, as
 required by the usage of the \m{cmd}.
- 
+
 This declaration is useful for setting up commands like |\rm| to behave
 as they did in \LaTeX~2.09. We strongly urge you \emph{not} to misuse
 this declaration to invent new font commands.
- 
+
 The following example defines |\it| to produce the italic shape of the
 main document font if used in text and to switch to the font that would
 normally be produced by the math alphabet |\mathit| if used in a
@@ -590,157 +577,154 @@
 \begin{verbatim}
    \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
 \end{verbatim}
- 
+
 This declaration can be used to change the meaning of a command; if
-\m{cmd} is already defined, a log that it has been redefined
-is put in the transcript file.
- 
- 
+\m{cmd} is already defined, a log that it has been redefined is put in
+the transcript file.
+
+
 \section{Math fonts}
 \label{Sec:math}
- 
+
 This section describes the commands available to class and package
 writers for specifying math fonts and math commands.
- 
+
 \subsection{Math font attributes}
- 
+
 The selection of fonts within math mode is quite different to that of
 text fonts.
- 
-Some math fonts are selected explicitly by one-argument commands such
-as |\mathsf{max}| or |\mathbf{vec}|; such fonts are called \emph{math
-alphabets}.  These math alphabet commands affect only the font used
+
+Some math fonts are selected explicitly by one-argument commands such as
+|\mathsf{max}| or |\mathbf{vec}|; such fonts are called \emph{math
+  alphabets}.  These math alphabet commands affect only the font used
 for letters and symbols of type |\mathalpha| (see
-Section~\ref{Sec:math.commands}); other symbols within the argument
-will be left unchanged.  The predefined math alphabets are:
+Section~\ref{Sec:math.commands}); other symbols within the argument will
+be left unchanged.  The predefined math alphabets are:
 \begin{center}
-   \begin{tabular}{ccc}
-      \emph{Alphabet} & \emph{Description} & \emph{Example} \\
-      |\mathnormal|   & default      & $abcXYZ$ \\
-      |\mathrm|       & roman        & $\mathrm{abcXYZ}$ \\
-      |\mathbf|       & bold roman   & $\mathbf{abcXYZ}$ \\
-      |\mathsf|       & sans serif   & $\mathsf{abcXYZ}$ \\
-      |\mathit|       & text italic  & $\mathit{abcXYZ}$ \\
-      |\mathtt|       & typewriter   & $\mathtt{abcXYZ}$ \\
-      |\mathcal|      & calligraphic & $\mathcal{XYZ}$
-   \end{tabular}
+  \begin{tabular}{ccc}
+    \emph{Alphabet} & \emph{Description} & \emph{Example} \\
+    |\mathnormal|   & default            & $abcXYZ$ \\
+    |\mathrm|       & roman              & $\mathrm{abcXYZ}$ \\
+    |\mathbf|       & bold roman         & $\mathbf{abcXYZ}$ \\
+    |\mathsf|       & sans serif         & $\mathsf{abcXYZ}$ \\
+    |\mathit|       & text italic        & $\mathit{abcXYZ}$ \\
+    |\mathtt|       & typewriter         & $\mathtt{abcXYZ}$ \\
+    |\mathcal|      & calligraphic       & $\mathcal{XYZ}$
+  \end{tabular}
 \end{center}
 Other math fonts are selected implicitly by \TeX{} for symbols, with
 commands such as |\oplus| (producing $\oplus$) or with straight
 characters like |>>| or |+|.  Fonts containing such math symbols are
-called \emph{math symbol fonts}.  The predefined math symbol fonts
-are:
+called \emph{math symbol fonts}.  The predefined math symbol fonts are:
 \begin{center}
-   \begin{tabular}{ccc}
-  \emph{Symbol font} & \emph{Description}         & \emph{Example} \\
-      |operators|    & symbols from |\mathrm|     & $[\;+\;]$ \\
-      |letters|      & symbols from |\mathnormal| & $<<\star>>$ \\
-      |symbols|      & most \LaTeX{} symbols      & $\leq*\geq$ \\
-      |largesymbols| & large symbols              & $\sum\prod\int$
+  \begin{tabular}{ccc}
+    \emph{Symbol font} & \emph{Description}         & \emph{Example} \\
+    |operators|        & symbols from |\mathrm|     & $[\;+\;]$ \\
+    |letters|          & symbols from |\mathnormal| & $<<\star>>$ \\
+    |symbols|          & most \LaTeX{} symbols      & $\leq*\geq$ \\
+    |largesymbols|     & large symbols              & $\sum\prod\int$
    \end{tabular}
 \end{center}
 Some math fonts are both \emph{math alphabets} and \emph{math symbol
-fonts}, for example |\mathrm| and |operators| are the same font, and
+  fonts}, for example |\mathrm| and |operators| are the same font, and
 |\mathnormal| and |letters| are the same font.
- 
+
 Math fonts in \LaTeX{} have the same five attributes as text fonts:
 encoding, family, series, shape and size.  However, there are no
-commands that allow the attributes to be individually changed.
-Instead, the conversion from math fonts to these five attributes is
-controlled by the \emph{math version}.  For example, the |normal| math
-version maps:
+commands that allow the attributes to be individually changed.  Instead,
+the conversion from math fonts to these five attributes is controlled by
+the \emph{math version}.  For example, the |normal| math version maps:
 \begin{center}
-   \begin{tabular}{rlc@{ }c@{ }c@{ }c}
-      \multicolumn{2}{c}{\emph{Math font}} &
-      \multicolumn{4}{c}{\emph{External font}} \\
-      \emph{Alphabets} & \emph{Symbol fonts} &
-      \multicolumn{4}{c}{\emph{Attributes}} \\
-      |\mathnormal| & |letters|      & |OML| & |cmm|  & |m|  & |it| \\
-      |\mathrm|     & |operators|    & |OT1| & |cmr|  & |m|  & |n|  \\
-      |\mathcal|    & |symbols|      & |OMS| & |cmsy| & |m|  & |n|  \\
-                    & |largesymbols| & |OMX| & |cmex| & |m|  & |n|  \\
-      |\mathbf|     &                & |OT1| & |cmr|  & |bx| & |n|  \\
-      |\mathsf|     &                & |OT1| & |cmss| & |m|  & |n|  \\
-      |\mathit|     &                & |OT1| & |cmr|  & |m|  & |it| \\
-      |\mathtt|     &                & |OT1| & |cmtt| & |m|  & |n|
-   \end{tabular}
+  \begin{tabular}{rlc@{ }c@{ }c@{ }c}
+    \multicolumn{2}{c}{\emph{Math font}} &
+    \multicolumn{4}{c}{\emph{External font}} \\
+    \emph{Alphabets} & \emph{Symbol fonts} &
+    \multicolumn{4}{c}{\emph{Attributes}} \\
+    |\mathnormal| & |letters|      & |OML| & |cmm|  & |m|  & |it| \\
+    |\mathrm|     & |operators|    & |OT1| & |cmr|  & |m|  & |n|  \\
+    |\mathcal|    & |symbols|      & |OMS| & |cmsy| & |m|  & |n|  \\
+                  & |largesymbols| & |OMX| & |cmex| & |m|  & |n|  \\
+    |\mathbf|     &                & |OT1| & |cmr|  & |bx| & |n|  \\
+    |\mathsf|     &                & |OT1| & |cmss| & |m|  & |n|  \\
+    |\mathit|     &                & |OT1| & |cmr|  & |m|  & |it| \\
+    |\mathtt|     &                & |OT1| & |cmtt| & |m|  & |n|
+  \end{tabular}
 \end{center}
 The |bold| math version is similar except that it contains bold fonts.
 The command |\boldmath| selects the |bold| math version.
- 
+
 Math versions can only be changed outside of math mode.
- 
+
 The two predefined math versions are:
 \begin{center}
-   \begin{tabular}{rl}
-      |normal| & the default math version \\
-      |bold|   & the bold math version
-   \end{tabular}
+  \begin{tabular}{rl}
+    |normal| & the default math version \\
+    |bold|   & the bold math version
+  \end{tabular}
 \end{center}
 Packages may define new math alphabets, math symbol fonts, and math
 versions.  This section describes the commands for writing such
 packages.
- 
+
 \subsection{Selection commands}
- 
+
 There are no commands for selecting symbol fonts.  Instead, these are
 selected indirectly through symbol commands like |\oplus|.
 Section~\ref{Sec:math.commands} explains how to define symbol commands.
- 
+
 \begin{decl}
-      |\mathnormal{<math>}|\\
-      |\mathcal{<math>}|\\
-      |\mathrm{<math>}|\\
-      |\mathbf{<math>}|\\
-      |\mathsf{<math>}|\\
-      |\mathit{<math>}|\\
-      |\mathtt{<math>}|
+  |\mathnormal{<math>}| \\
+  |\mathcal{<math>}| \\
+  |\mathrm{<math>}| \\
+  |\mathbf{<math>}| \\
+  |\mathsf{<math>}| \\
+  |\mathit{<math>}| \\
+  |\mathtt{<math>}|
 \end{decl}
-Each math alphabet is a command which can only be used inside math
-mode.  For example, |$x + \mathsf{y} + \mathcal{Z}$| produces $x +
-\mathsf{y} + \mathcal{Z}$.
- 
+Each math alphabet is a command which can only be used inside math mode.
+For example, |$x + \mathsf{y} + \mathcal{Z}$| produces
+$x + \mathsf{y} + \mathcal{Z}$.
+
 \begin{decl}
-|\mathversion{<version>}|
+  |\mathversion{<version>}|
 \end{decl}
 This command selects a math version; it can only be used outside math
 mode.  For example, |\boldmath| is defined to be |\mathversion{bold}|.
- 
+
 \subsection{Declaring math versions}
- 
+
 \begin{decl}
-|\DeclareMathVersion| \arg{version}
+  |\DeclareMathVersion| \arg{version}
 \end{decl}
- 
+
 Defines \m{version} to be a math version.
- 
+
 The newly declared version is initialized with the defaults for all
 symbol fonts and math alphabets declared so far (see the commands
 |\DeclareSymbolFont| and |\DeclareMathAlphabet|).
- 
+
 If used on an already existing version, an information message is
 written to the transcript file and all previous |\SetSymbolFont| or
-|\SetMathAlphabet| declarations for this version are overwritten by
-the math alphabet and symbol font defaults, i.e.~one ends up with a
-virgin math version.
- 
+|\SetMathAlphabet| declarations for this version are overwritten by the
+math alphabet and symbol font defaults, i.e.~one ends up with a virgin
+math version.
+
 Example:
 \begin{verbatim}
    \DeclareMathVersion{normal}
 \end{verbatim}
- 
- 
+
 \subsection{Declaring math alphabets}
 
 \begin{decl}
-|\DeclareMathAlphabet| \arg{math-alph} \arg{encoding} \arg{family}
-                       \arg{series} \arg{shape}
+  |\DeclareMathAlphabet| \arg{math-alph} \arg{encoding} \arg{family}
+                         \arg{series}    \arg{shape}
 \end{decl}
- 
+
 \NEWdescription{1997/12/01}
 If this is the first declaration for \m{math-alph} then a new math
 alphabet with this as its command name is created.
- 
+
 The arguments \m{encoding} \m{family} \m{series} \m{shape} are used to
 set, or reset, the default values for this math alphabet in all math
 versions; if required, these must be further reset later for a
@@ -747,13 +731,12 @@
 particular math version by a |\SetMathAlphabet| command.
 
 If \m{shape} is empty then this \m{math-alph} is declared to be invalid
-in all versions, unless it is set by a later |\SetMathAlphabet|
-command for a particular math version.
+in all versions, unless it is set by a later |\SetMathAlphabet| command
+for a particular math version.
 
-Checks that the command \m{math-alph} is either already a math
-alphabet command or is undefined; and that \m{encoding} is a known
-encoding scheme, i.e., has been previously declared.
- 
+Checks that the command \m{math-alph} is either already a math alphabet
+command or is undefined; and that \m{encoding} is a known encoding
+scheme, i.e., has been previously declared.
 
 In these examples, |\foo| is defined for all math versions but |\baz|,
 by default, is defined nowhere.
@@ -761,53 +744,50 @@
    \DeclareMathAlphabet{\foo}{OT1}{cmtt}{m}{n}
    \DeclareMathAlphabet{\baz}{OT1}{}{}{}
 \end{verbatim}
- 
- 
+
+
 \begin{decl}
-|\SetMathAlphabet| \arg{math-alph} \arg{version}\\
-        \null\hfill\arg{encoding} \arg{family} \arg{series} \arg{shape}
+  |\SetMathAlphabet| \arg{math-alph} \arg{version}\\
+         \null\hfill \arg{encoding} \arg{family} \arg{series} \arg{shape}
 \end{decl}
- 
+
 Changes, or sets, the font for the math alphabet \m{math-alph} in math
 version \m{version} to \m{encoding}\m{family}\m{series}\m{shape}.
- 
-Checks that \m{math-alph} has been declared as a math alphabet, 
-\m{version} is a known math version and \m{encoding} is a known
-encoding scheme.
- 
 
+Checks that \m{math-alph} has been declared as a math alphabet,
+\m{version} is a known math version and \m{encoding} is a known encoding
+scheme.
+
 This example defines |\baz| for the `normal' math version only:
 \begin{verbatim}
    \SetMathAlphabet{\baz}{normal}{OT1}{cmss}{m}{n}
 \end{verbatim}
- 
+
 Note that this declaration is not used for all math alphabets:
-Section~\ref{sec:symalph} describes |\DeclareSymbolFontAlphabet|,
-which is used to set up math alphabets contained in fonts which have
-been declared as symbol fonts.
- 
- 
+Section~\ref{sec:symalph} describes |\DeclareSymbolFontAlphabet|, which
+is used to set up math alphabets contained in fonts which have been
+declared as symbol fonts.
+
 \subsection{Declaring symbol fonts}
 \label{sec:symalph}
- 
+
 \begin{decl}
-|\DeclareSymbolFont| \arg{sym-font} \arg{encoding} \arg{family}
-                     \arg{series} \arg{shape}
+  |\DeclareSymbolFont| \arg{sym-font} \arg{encoding} \arg{family}
+                       \arg{series} \arg{shape}
 \end{decl}
- 
+
 \NEWdescription{1997/12/01}
-If this is the first declaration for \m{sym-font} then a new
-symbol font with this name is created (i.e.~this identifier is assigned
-to a new \TeX{} math group).
- 
+If this is the first declaration for \m{sym-font} then a new symbol font
+with this name is created (i.e.~this identifier is assigned to a new
+\TeX{} math group).
+
 The arguments \m{encoding} \m{family} \m{series} \m{shape} are used to
 set, or reset. the default values for this symbol font in \emph{all}
-math versions; if required, these must be further reset later for
-a particular math version by a |\SetSymbolFont| command.
- 
+math versions; if required, these must be further reset later for a
+particular math version by a |\SetSymbolFont| command.
+
 Checks that \m{encoding} is a declared encoding scheme.
- 
- 
+
 For example, the following sets up the first four standard math symbol
 fonts:
 \begin{verbatim}
@@ -816,40 +796,36 @@
    \DeclareSymbolFont{symbols}{OMS}{cmsy}{m}{n}
    \DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n}
 \end{verbatim}
- 
- 
+
 \begin{decl}
-|\SetSymbolFont| \arg{sym-font} \arg{version}\\
-     \null\hfill \arg{encoding} \arg{family} \arg{series} \arg{shape}
+  |\SetSymbolFont| \arg{sym-font} \arg{version}\\
+       \null\hfill \arg{encoding} \arg{family} \arg{series} \arg{shape}
 \end{decl}
- 
-Changes the symbol font \m{sym-font} for math version \m{version}
-to \m{encoding} \m{family} \m{series} \m{shape}.
- 
-Checks that \m{sym-font} has been declared as a symbol font,  
-\m{version} is a known math version and \m{encoding} is a
-declared encoding scheme.
- 
 
-For example, the following come from the set up of the `bold'
-math version:
+Changes the symbol font \m{sym-font} for math version \m{version} to
+\m{encoding} \m{family} \m{series} \m{shape}.
+
+Checks that \m{sym-font} has been declared as a symbol font, \m{version}
+is a known math version and \m{encoding} is a declared encoding scheme.
+
+For example, the following come from the set up of the `bold' math
+version:
 \begin{verbatim}
    \SetSymbolFont{operators}{bold}{OT1}{cmr}{bx}{n}
    \SetSymbolFont{letters}{bold}{OML}{cmm}{b}{it}
 \end{verbatim}
- 
- 
+
+
 \begin{decl}
-|\DeclareSymbolFontAlphabet| \arg{math-alph} \arg{sym-font}
+  |\DeclareSymbolFontAlphabet| \arg{math-alph} \arg{sym-font}
 \end{decl}
- 
+
 \NEWdescription{1997/12/01}
-Allows the previously declared symbol font \m{sym-font} to be the
-math alphabet with command \m{math-alph} in \emph{all} math versions.
- 
+Allows the previously declared symbol font \m{sym-font} to be the math
+alphabet with command \m{math-alph} in \emph{all} math versions.
+
 Checks that the command \m{math-alph} is either already a math alphabet
 command or is undefined; and that \m{sym-font} is a symbol font.
- 
 
 Example:
 \begin{verbatim}
@@ -856,55 +832,54 @@
    \DeclareSymbolFontAlphabet{\mathrm}{operators}
    \DeclareSymbolFontAlphabet{\mathcal}{symbols}
 \end{verbatim}
- 
-This declaration should be used in preference to
-|\DeclareMathAlphabet| and |\SetMathAlphabet| when a math alphabet is
-the same as a symbol font; this is because it makes better use of the
-limited number (only 16) of \TeX's math groups.
- 
+
+This declaration should be used in preference to |\DeclareMathAlphabet|
+and |\SetMathAlphabet| when a math alphabet is the same as a symbol
+font; this is because it makes better use of the limited number (only
+16) of \TeX's math groups.
+
 \NEWdescription{1997/12/01}
 Note that, whereas a \TeX{} math group is allocated to each symbol font
-when it is first declared, a math alphabet uses a \TeX{} math group
-only when its command is used within a math formula.
+when it is first declared, a math alphabet uses a \TeX{} math group only
+when its command is used within a math formula.
 
-
 \subsection{Declaring math symbols}
 \label{Sec:math.commands}
- 
+
 \begin{decl}
-|\DeclareMathSymbol| \arg{symbol} \arg{type} \arg{sym-font}
-                     \arg{slot}
+  |\DeclareMathSymbol| \arg{symbol} \arg{type} \arg{sym-font}
+                       \arg{slot}
 \end{decl}
- 
+
 The \m{symbol} can be either a single character such as `|>>|', or a
 macro name, such as |\sum|.
- 
-Defines the \m{symbol} to be a math symbol of type
-\m{type} in slot \m{slot} of symbol font \m{sym-font}. The
-\m{type} can be given as a number or as a command:
+
+Defines the \m{symbol} to be a math symbol of type \m{type} in slot
+\m{slot} of symbol font \m{sym-font}. The \m{type} can be given as a
+number or as a command:
 \begin{center}
-   \begin{tabular}{ccc}
-      \emph{Type} & \emph{Meaning} & \emph{Example} \\
-      |0| or |\mathord  | & Ordinary           & $\alpha$ \\
-      |1| or |\mathop   | & Large operator     & $\sum$ \\
-      |2| or |\mathbin  | & Binary operation   & $\times$ \\
-      |3| or |\mathrel  | & Relation           & $\leq$ \\
-      |4| or |\mathopen | & Opening            & $\langle$ \\
-      |5| or |\mathclose| & Closing            & $\rangle$ \\
-      |6| or |\mathpunct| & Punctuation        & $;$ \\
-      |7| or |\mathalpha| & Alphabet character & $A$
-   \end{tabular}
+  \begin{tabular}{ccc}
+    \emph{Type}         & \emph{Meaning}     & \emph{Example} \\
+    |0| or |\mathord  | & Ordinary           & $\alpha$ \\
+    |1| or |\mathop   | & Large operator     & $\sum$ \\
+    |2| or |\mathbin  | & Binary operation   & $\times$ \\
+    |3| or |\mathrel  | & Relation           & $\leq$ \\
+    |4| or |\mathopen | & Opening            & $\langle$ \\
+    |5| or |\mathclose| & Closing            & $\rangle$ \\
+    |6| or |\mathpunct| & Punctuation        & $;$ \\
+    |7| or |\mathalpha| & Alphabet character & $A$
+  \end{tabular}
 \end{center}
 Only symbols of type |\mathalpha| will be affected by math alphabet
 commands: within the argument of a math alphabet command they will
 produce the character in slot \m{slot} of that math alphabet's font.
-Symbols of other types will always produce the same symbol
-(within one math version).
- 
+Symbols of other types will always produce the same symbol (within one
+math version).
+
 |\DeclareMathSymbol| allows a macro \m{symbol} to be redefined only if
-it was previously defined to be a math symbol.  It also checks that
-the \m{sym-font} is a declared symbol font.
- 
+it was previously defined to be a math symbol.  It also checks that the
+\m{sym-font} is a declared symbol font.
+
 Example:
 \begin{verbatim}
    \DeclareMathSymbol{\alpha}{0}{letters}{"0B}
@@ -911,30 +886,29 @@
    \DeclareMathSymbol{\lessdot}{\mathbin}{AMSb}{"0C}
    \DeclareMathSymbol{\alphld}{\mathalpha}{AMSb}{"0C}
 \end{verbatim}
- 
+
 \begin{decl}
- |\DeclareMathDelimiter| \arg{cmd}   \arg{type}
-               \arg{sym-font-1} \arg{slot-1}\\
-  \null\hfill  \arg{sym-font-2} \arg{slot-2}
+  |\DeclareMathDelimiter| \arg{cmd} \arg{type}
+                          \arg{sym-font-1} \arg{slot-1}\\
+              \null\hfill \arg{sym-font-2} \arg{slot-2}
 \end{decl}
 Defines \m{cmd} to be a math delimiter where the small variant is in
-slot \m{slot-1} of symbol font \m{sym-font-1} and the large
-variant is in slot \m{slot-2} of symbol font \m{sym-font-2}.
-Both symbol fonts must have been declared previously.
- 
+slot \m{slot-1} of symbol font \m{sym-font-1} and the large variant is
+in slot \m{slot-2} of symbol font \m{sym-font-2}.  Both symbol fonts
+must have been declared previously.
+
 Checks that \m{sym-font-i} are both declared symbol fonts.
- 
-If \TeX{} is not looking for a delimiter, \m{cmd} is treated just as
-if it had been defined with |\DeclareMathSymbol| using
-\m{type}, \m{sym-font-1} and \m{slot-1}.  In other words, if a
-command is defined as a delimiter then this automatically defines it
-as a math symbol.
 
+If \TeX{} is not looking for a delimiter, \m{cmd} is treated just as if
+it had been defined with |\DeclareMathSymbol| using \m{type},
+\m{sym-font-1} and \m{slot-1}.  In other words, if a command is defined
+as a delimiter then this automatically defines it as a math symbol.
+
 \NEWdescription{1998/06/01}
 In case \m{cmd} is a single character such as `|[|', the same syntax is
 used.  Previously the \arg{type} argument was not present (and thus the
 corresponding math symbol declaration had to be provided separately).
- 
+
 Example:
 \begin{verbatim}
    \DeclareMathDelimiter{\langle}{\mathopen}{symbols}{"68}
@@ -942,163 +916,158 @@
    \DeclareMathDelimiter{(}      {\mathopen}{operators}{"28}
                                             {largesymbols}{"00}
 \end{verbatim}
- 
- 
+
+
 \begin{decl}
-|\DeclareMathAccent| \arg{cmd} \arg{type} \arg{sym-font} \arg{slot}
+  |\DeclareMathAccent| \arg{cmd} \arg{type} \arg{sym-font} \arg{slot}
 \end{decl}
- 
+
 Defines \m{cmd} to act as a math accent.
- 
-The accent character comes from slot \m{slot} in
-\m{sym-font}. The \m{type} can be either
-|\mathord| or |\mathalpha|; in the latter case the accent character
-changes font when used in a math alphabet.
- 
+
+The accent character comes from slot \m{slot} in \m{sym-font}. The
+\m{type} can be either |\mathord| or |\mathalpha|; in the latter case
+the accent character changes font when used in a math alphabet.
+
 Example:
 \begin{verbatim}
    \DeclareMathAccent{\acute}{\mathalpha}{operators}{"13}
    \DeclareMathAccent{\vec}{\mathord}{letters}{"7E}
 \end{verbatim}
- 
- 
+
+
 \begin{decl}
-|\DeclareMathRadical| \arg{cmd}
-                    \arg{sym-font-1} \arg{slot-1}\\
-       \null\hfill  \arg{sym-font-2} \arg{slot-2}
+  |\DeclareMathRadical| \arg{cmd}
+                        \arg{sym-font-1} \arg{slot-1}\\
+            \null\hfill \arg{sym-font-2} \arg{slot-2}
 \end{decl}
- 
-Defines \m{cmd} to be a radical where the small variant is in
-slot \m{slot-1} of symbol font \m{sym-font-1} and the
-large variant is in slot \m{slot-2} of symbol font
-\m{sym-font-2}.  Both symbol fonts must have been declared
-previously.
- 
+
+Defines \m{cmd} to be a radical where the small variant is in slot
+\m{slot-1} of symbol font \m{sym-font-1} and the large variant is in
+slot \m{slot-2} of symbol font \m{sym-font-2}.  Both symbol fonts must
+have been declared previously.
+
 Example (probably the only use for it!):
 \begin{verbatim}
    \DeclareMathRadical{\sqrt}{symbols}{"70}{largesymbols}{"70}
 \end{verbatim}
- 
+
 \subsection{Declaring math sizes}
- 
+
 \begin{decl}
-|\DeclareMathSizes| \arg{t-size} \arg{mt-size} \arg{s-size}
-                    \arg{ss-size}
+  |\DeclareMathSizes| \arg{t-size} \arg{mt-size} \arg{s-size}
+                      \arg{ss-size}
 \end{decl}
- 
+
 Declares that \m{mt-size} is the (main) math text size, \m{s-size} is
-the `script' size and \m{ss-size} the `scriptscript' size to be used
-in math, when \m{t-size} is the current text size. For text sizes for
-which no such declaration is given the `script' and `scriptscript'
-size will be calculated and then fonts are loaded for the calculated
-sizes or the best approximation (this may result in a warning
-message).
- 
-Normally, \m{t-size} and \m{mt-size} will be identical; however, if,
-for example, PostScript text fonts are mixed with bit-map math fonts
-then you may not have available a \m{mt-size} for every \m{t-size}.
- 
+the `script' size and \m{ss-size} the `scriptscript' size to be used in
+math, when \m{t-size} is the current text size. For text sizes for which
+no such declaration is given the `script' and `scriptscript' size will
+be calculated and then fonts are loaded for the calculated sizes or the
+best approximation (this may result in a warning message).
+
+Normally, \m{t-size} and \m{mt-size} will be identical; however, if, for
+example, PostScript text fonts are mixed with bit-map math fonts then
+you may not have available a \m{mt-size} for every \m{t-size}.
+
 Example:
 \begin{verbatim}
    \DeclareMathSizes{13.82}{14.4}{10}{7}
 \end{verbatim}
- 
+
 \section{Font installation}
 \label{Sec:install}
- 
+
 This section explains how \LaTeX's font attributes are turned into
 \TeX{} font specifications.
- 
+
 \subsection{Font definition files}
- 
+
 \NEWdescription{1997/12/01}
 The description of how \LaTeX{} font attributes are turned into \TeX{}
 fonts is usually kept in a \emph{font definition file} (|.fd|).  The
-file for family \m{family} in encoding \m{ENC} must be
-called |<enc><family>.fd|: for example, |ot1cmr.fd| for Computer
-Modern Roman with encoding |OT1| or |t1ptm.fd| for Adobe Times with
-encoding |T1|.  Note that encoding names are converted to lowercase
-when used as part of file names.
- 
-Whenever \LaTeX{} encounters an encoding/family combination that it
-does not know (e.g.~if the document designer says
+file for family \m{family} in encoding \m{ENC} must be called
+|<enc><family>.fd|: for example, |ot1cmr.fd| for Computer Modern Roman
+with encoding |OT1| or |t1ptm.fd| for Adobe Times with encoding |T1|.
+Note that encoding names are converted to lowercase when used as part of
+file names.
+
+Whenever \LaTeX{} encounters an encoding/family combination that it does
+not know (e.g.~if the document designer says
 |\fontfamily{ptm}\selectfont|) then \LaTeX{} attempts to load the
 appropriate |.fd| file.  ``Not known'' means: there was no
 |\DeclareFontFamily| declaration issued for this encoding/family
-combination.  If the |.fd| file could not be found, a warning is
-issued and font substitutions are made.
- 
-The declarations in the font definition file are responsible for
-telling \LaTeX{} how to load fonts for that encoding/family
-combination.  
- 
+combination.  If the |.fd| file could not be found, a warning is issued
+and font substitutions are made.
+
+The declarations in the font definition file are responsible for telling
+\LaTeX{} how to load fonts for that encoding/family combination.
+
 \subsection{Font definition file commands}
- 
-\emph{Note}: A font definition file should contain only commands
-from this subsection.
 
+\emph{Note}: A font definition file should contain only commands from
+this subsection.
+
 Note that these commands can also be used outside a font definition
-file: they can be put in package or class files, or even in the
-preamble of a document.
- 
+file: they can be put in package or class files, or even in the preamble
+of a document.
+
 \begin{decl}
-   |\ProvidesFile{<file-name>}[<release-info>]|
+  |\ProvidesFile{<file-name>}[<release-info>]|
 \end{decl}
-The file should announce itself with a |\ProvidesFile| command,
-as described in \emph{\clsguide}.  For example:
+The file should announce itself with a |\ProvidesFile| command, as
+described in \emph{\clsguide}.  For example:
 \begin{verbatim}
    \ProvidesFile{t1ptm.fd}[1994/06/01 Adobe Times font definitions]
 \end{verbatim}
- 
+
 Spaces within the arguments specific to font definition files are
 ignored to avoid surplus spaces in the document. If a real space is
-necessary use |\space|.  
-\NEWdescription{2004/02/10}However, note that this is only true if the
-declaration is made at top level! If used within the definition of
-another command, within |\AtBeginDocument|, option code or in similar
-places, then spaces within the argument will remain and may result in
-incorrect table entries.
+necessary use |\space|.
+\NEWdescription{2004/02/10}
+However, note that this is only true if the declaration is made at top
+level! If used within the definition of another command, within
+|\AtBeginDocument|, option code or in similar places, then spaces within
+the argument will remain and may result in incorrect table entries.
 
 \begin{decl}
-|\DeclareFontFamily| \arg{encoding} \arg{family} \arg{loading-settings}
+  |\DeclareFontFamily| \arg{encoding} \arg{family} \arg{loading-settings}
 \end{decl}
- 
+
 Declares a font family \m{family} to be available in encoding scheme
 \m{encoding}.
- 
-The \m{loading-settings} are executed immediately after loading any
-font with this encoding and family.
- 
+
+The \m{loading-settings} are executed immediately after loading any font
+with this encoding and family.
+
 Checks that \m{encoding} was previously declared.
- 
-This example refers to the Computer Modern Typewriter font family in
-the Cork encoding:
+
+This example refers to the Computer Modern Typewriter font family in the
+Cork encoding:
 \begin{verbatim}
    \DeclareFontFamily{T1}{cmtt}{\hyphenchar\font=-1}
 \end{verbatim}
- 
-Each |.fd| file should contain exactly one |\DeclareFontFamily|
-command, and it should be for the appropriate encoding/family
-combination.
- 
+
+Each |.fd| file should contain exactly one |\DeclareFontFamily| command,
+and it should be for the appropriate encoding/family combination.
+
 \begin{decl}
 |\DeclareFontShape| \arg{encoding} \arg{family} \arg{series}
                     \arg{shape}\\
         \null\hfill \arg{loading-info} \arg{loading-settings}
 \end{decl}
- 
+
 Declares a font shape combination; here \m{loading-info} contains the
 information that combines sizes with external fonts. The syntax is
 complex and is described in Section~\ref{sec:loadinfo} below.
- 
+
 The \m{loading-settings} are executed after loading any font with this
-font shape.  They are executed immediately after the
-`loading-settings' which were declared by |\DeclareFontFamily| and so
-they can be used to overwrite the settings made at the family level.
- 
+font shape.  They are executed immediately after the `loading-settings'
+which were declared by |\DeclareFontFamily| and so they can be used to
+overwrite the settings made at the family level.
+
 Checks that the combination \m{encoding}\m{family} was previously
 declared via |\DeclareFontFamily|.
- 
+
 Example:
 \begin{verbatim}
    \DeclareFontShape{OT1}{cmr}{m}{sl}{%
@@ -1109,14 +1078,14 @@
              <<12>> <<14.4>> <<17.28>> <<20.74>> <<24.88>> cmsl12
              }{}
 \end{verbatim}
-The file can contain any number of |\DeclareFontShape| commands,
-which should be for the appropriate \m{encoding} and \m{family}.
- 
+The file can contain any number of |\DeclareFontShape| commands, which
+should be for the appropriate \m{encoding} and \m{family}.
+
 \NEWfeature{1996/06/01}
 The font family declarations for the |OT1|-encoded fonts now all
 contain:
 \begin{verbatim}
-  \hyphenchar\font=`\-
+   \hyphenchar\font=`\-
 \end{verbatim}
 This enables the use of an alternative |\hyphenchar| in other encodings
 whilst maintaining the correct value for all fonts.
@@ -1123,194 +1092,195 @@
 
 \subsection{Font file loading information}
 \label{sec:loadinfo}
- 
+
 The information which tells \LaTeX{} exactly which font (\texttt{.tfm})
 files to load is contained in the \m{loading-info} part of a
 |\DeclareFontShape| declaration. This part consists of one or more
 \m{fontshape-decl}s, each of which has the following form:
- 
+
 \begin{center}
-\begin{tabular}{r@{ $::=$ }l}
- \m{fontshape-decl} &  \m{size-infos} \m{font-info} \\
- \m{size-infos}     &  \m{size-infos} \m{size-info} $\mid$
-                       \m{size-info} \\
- \m{size-info}      & ``|<<|''  \m{number-or-range} ``|>>|'' \\
- \m{font-info}      & $[$ \m{size-function} ``|*|''  $]$
-                      $[$ ``|[|'' \m{optarg} ``|]|'' $]$ \m{fontarg} \\
-\end{tabular}
+  \begin{tabular}{r@{ $::=$ }l}
+    \m{fontshape-decl} &  \m{size-infos} \m{font-info} \\
+    \m{size-infos}     &  \m{size-infos} \m{size-info} $\mid$
+                          \m{size-info} \\
+    \m{size-info}      & ``|<<|''  \m{number-or-range} ``|>>|'' \\
+    \m{font-info}      & $[$ \m{size-function} ``|*|''  $]$
+                         $[$ ``|[|'' \m{optarg} ``|]|'' $]$ \m{fontarg} \\
+  \end{tabular}
 \end{center}
-The \m{number-or-range} denotes the size or size-range
-for which this entry applies.
- 
-If it contains a hyphen it is a
-range: lower bound on the left (if missing, zero implied), upper bound
-on the right (if missing, $\infty$ implied). For ranges, the
-upper bound is \emph{not} included in the range and the lower bound is.
- 
+The \m{number-or-range} denotes the size or size-range for which this
+entry applies.
+
+If it contains a hyphen it is a range: lower bound on the left (if
+missing, zero implied), upper bound on the right (if missing, $\infty$
+implied). For ranges, the upper bound is \emph{not} included in the
+range and the lower bound is.
+
 Examples:
 \begin{center}
-\begin{tabular}{lll}
-   |<<10>>|     &  simple size& 10pt only\\
-   |<<-8>>|     &  range& all sizes less than 8pt\\
-   |<<8-14.4>>| &  range& all sizes greater than or equal to 8pt\\
-              &       & \ but less than 14.4pt\\
-   |<<14.4->>|  &  range& all sizes greater than or equal 14.4pt
+  \begin{tabular}{lll}
+    |<<10>>|     & simple size & 10pt only \\
+    |<<-8>>|     & range       & all sizes less than 8pt \\
+    |<<8-14.4>>| & range       & all sizes greater than or equal to 8pt \\
+                 &             & \ but less than 14.4pt \\
+    |<<14.4->>|  & range       & all sizes greater than or equal 14.4pt
 \end{tabular}
 \end{center}
-If more than one \m{size-info} entry follows without any
-intervening \m{font-info}, they all share the next \m{font-info}.
- 
-The \m{size-function}, if present, handles the use of \m{font-info}.
-If not present, the `empty' \m{size-function} is assumed.
- 
+If more than one \m{size-info} entry follows without any intervening
+\m{font-info}, they all share the next \m{font-info}.
+
+The \m{size-function}, if present, handles the use of \m{font-info}.  If
+not present, the `empty' \m{size-function} is assumed.
+
 All the \m{size-info}s are inspected in the order in which they appear
-in the font shape declaration. If a \m{size-info} matches the
-requested size, its \m{size-function} is executed. If |\external at font|
-is non-empty afterwards this process stops, otherwise the next
+in the font shape declaration. If a \m{size-info} matches the requested
+size, its \m{size-function} is executed. If |\external at font| is
+non-empty afterwards this process stops, otherwise the next
 \m{size-info} is inspected. (See also |\DeclareSizeFunction|.)
- 
-If this process does not lead to a non-empty |\external at font|,
-\LaTeX{} tries the nearest simple size. If the entry contains only
-ranges an error is returned.
- 
- 
+
+If this process does not lead to a non-empty |\external at font|, \LaTeX{}
+tries the nearest simple size. If the entry contains only ranges an
+error is returned.
+
 \subsection{Size functions}
 \label{sec:sizefunct}
- 
- 
+
 \LaTeX{} provides the following size functions, whose `inputs' are
 \m{fontarg} and \m{optarg} (when present).
- 
+
 \begin{description}
 \item[`' (empty)]
-Load the external font \m{fontarg} at the user-requested size. If
-\m{optarg} is present, it is used as the scale-factor.
- 
+  Load the external font \m{fontarg} at the user-requested size. If
+  \m{optarg} is present, it is used as the scale-factor.
+
 \item[s]
-Like the empty function but without terminal warnings, only
-loggings.
- 
+  Like the empty function but without terminal warnings, only
+  loggings.
+
 \item[gen]
-Generates the external font from \m{fontarg} followed by
-the user-requested size, e.g.~|<<8>> <<9>> <<10>> gen * cmtt|
- 
+  Generates the external font from \m{fontarg} followed by the
+  user-requested size, e.g.~|<<8>> <<9>> <<10>> gen * cmtt|
+
 \item[sgen]
-Like the `gen' function but without terminal warnings, only loggings.
+  Like the `gen' function but without terminal warnings, only loggings.
 
 \item[genb]
-\NEWfeature{1995/12/01}
-Generates the external font from \m{fontarg} followed by
-the user-requested size, using the conventions of the `ec' fonts.
-e.g.~|<<10.98>> genb * dctt| produces |dctt1098|.
- 
+  \NEWfeature{1995/12/01}
+  Generates the external font from \m{fontarg} followed by the
+  user-requested size, using the conventions of the `ec' fonts.
+  e.g.~|<<10.98>> genb * dctt| produces |dctt1098|.
+
 \item[sgenb]
-\NEWfeature{1995/12/01}
-Like the `genb' function but without terminal warnings, only loggings.
- 
+  \NEWfeature{1995/12/01}
+  Like the `genb' function but without terminal warnings, only loggings.
+
 \item[sub]
-Tries to load a font from a different font shape declaration given by
-\m{fontarg} in the form \m{family}|/|\m{series}|/|\m{shape}.
- 
+  Tries to load a font from a different font shape declaration given by
+  \m{fontarg} in the form \m{family}|/|\m{series}|/|\m{shape}.
+
 \item[ssub]
-Silent variant of `sub', only loggings.
- 
+  Silent variant of `sub', only loggings.
+
+\item[alias]
+  \NEWfeature{2019/10/15}
+  Same as `ssub' but with a different logging message. Intended for
+  cases where the substitution is only done to change the name, e.g.,
+  going from \texttt{regular} series to the official name \texttt{m}. In
+  that case given a warning that some shape is not found is not correct.
+
 \item[subf]
-Like the empty function but issues a warning that it has to substitute
-the external font \m{fontarg} because the desired font shape was not
-available in the requested size.
- 
+  Like the empty function but issues a warning that it has to substitute
+  the external font \m{fontarg} because the desired font shape was not
+  available in the requested size.
+
 \item[ssubf]
-Silent variant of `subf', only loggings.
- 
+  Silent variant of `subf', only loggings.
+
 \item[fixed]
-Load font \m{fontarg} as is, disregarding the user-requested size.
-If present, \m{optarg} gives the ``at \ldots pt'' size to be used.
- 
+  Load font \m{fontarg} as is, disregarding the user-requested size.  If
+  present, \m{optarg} gives the ``at \ldots pt'' size to be used.
+
 \item[sfixed]
-Silent variant of `fixed', only loggings.
- 
+  Silent variant of `fixed', only loggings.
 \end{description}
- 
-Examples for the use of most of the above size functions can be found
-in the file |cmfonts.fdd|---the source for the standard |.fd| files
+
+Examples for the use of most of the above size functions can be found in
+the file |cmfonts.fdd|---the source for the standard |.fd| files
 describing the Computer Modern fonts by Donald Knuth.
- 
- 
+
+
 \begin{decl}
-|\DeclareSizeFunction| \arg{name} \arg{code}
+  |\DeclareSizeFunction| \arg{name} \arg{code}
 \end{decl}
- 
+
 Declares a size-function \m{name} for use in |\DeclareFontShape|
 commands.  The interface is still under development but there should be
 no real need to a define new size functions.
- 
+
 The \m{code} is executed when the size or size-range in
 |\DeclareFontShape| matches the user-requested size.
- 
+
 The arguments of the size-function are automatically parsed and placed
 into |\mandatory at arg| and |\optional at arg| for use in \m{code}. Also
 available, of course, is |\f at size|, which is the user-requested size.
- 
-To signal success \m{code} must define the command |\external at font|
-to contain the external name and any scaling options (if present) for
-the font to be loaded.
- 
+
+To signal success \m{code} must define the command |\external at font| to
+contain the external name and any scaling options (if present) for the
+font to be loaded.
+
 This example sets up the `empty' size function (simplified):
 \begin{verbatim}
    \DeclareSizeFunction{}
            {\edef\external at font{\mandatory at arg\space at\f at size}
 \end{verbatim}
- 
- 
+
+
 \section{Encodings}
 \label{Sec:encode}
- 
-This section explains how to declare and use new font encodings and
-how to declare commands for use with particular encodings.
- 
+
+This section explains how to declare and use new font encodings and how
+to declare commands for use with particular encodings.
+
 \subsection{The \textsf{fontenc} package}
- 
+
 Users can select new font encodings using the |fontenc| package.  The
-|fontenc| package has options for encodings; the last option becomes
-the default encoding.  For example, to use the |OT2| (Washington
-University Cyrillic encoding) and |T1| encodings, with |T1| as the
-default, an author types:
+|fontenc| package has options for encodings; the last option becomes the
+default encoding.  For example, to use the |OT2| (Washington University
+Cyrillic encoding) and |T1| encodings, with |T1| as the default, an
+author types:
 \begin{verbatim}
    \usepackage[OT2,T1]{fontenc}
 \end{verbatim}
- 
+
 \NEWdescription{1997/12/01}
 For each font encoding \m{ENC} given as an option, this package loads
-the \emph{encoding definition} (|<enc>enc.def|, with an all
-lower-case name) file; it also sets |\encodingdefault| to be the last
-encoding in the option list.
- 
+the \emph{encoding definition} (|<enc>enc.def|, with an all lower-case
+name) file; it also sets |\encodingdefault| to be the last encoding in
+the option list.
+
 The declarations in the encoding definition file |<enc>enc.def| for
-encoding \m{ENC} are responsible for declaring this encoding and
-telling \LaTeX{} how to produce characters in this encoding; this file
-should contain nothing else (see Section~\ref{Sec:encode.def}.
+encoding \m{ENC} are responsible for declaring this encoding and telling
+\LaTeX{} how to produce characters in this encoding; this file should
+contain nothing else (see Section~\ref{Sec:encode.def}.
 
-The standard \LaTeX{} format declares the |OT1| and |T1| text
-encodings by inputting the files |ot1enc.def| and |t1enc.def|; it also
-sets up various defaults which require that |OT1|-encoded fonts are
-available.
-Other encoding set-ups might be added to the distribution at a
-later stage.
- 
-Thus the example above loads the files |ot2enc.def| and |t1enc.def|
-and sets |\encodingdefault| to |T1|.
+The standard \LaTeX{} format declares the |OT1| and |T1| text encodings
+by inputting the files |ot1enc.def| and |t1enc.def|; it also sets up
+various defaults which require that |OT1|-encoded fonts are available.
+Other encoding set-ups might be added to the distribution at a later
+stage.
 
-\emph{Warning}: If you wish to use |T1|-encoded fonts other than the `cmr'
-family then you may need to load the package (e.g.~\texttt{times})
+Thus the example above loads the files |ot2enc.def| and |t1enc.def| and
+sets |\encodingdefault| to |T1|.
+
+\emph{Warning}: If you wish to use |T1|-encoded fonts other than the
+`cmr' family then you may need to load the package (e.g.~\texttt{times})
 that selects the fonts \emph{before} loading \texttt{fontenc} (this
 prevents the system from attempting to load any |T1|-encoded fonts from
 the `cmr' family).
 
-
-
 \subsection{Encoding definition file commands}
 \label{Sec:encode.def}
- 
+
 \emph{Note}: An encoding definition file should contain only commands
 from this subsection.
 
@@ -1317,148 +1287,142 @@
 \NEWdescription{2019/07/10}
 As an exception it may also contain a |\DeclareFontsubstitution|
 declaration (described in \ref{sec:encoding-defaults}) to specify how
-font substitution for this encoding should be handled.  In that case
-it is important that the values used point to a font that is guaranteed
-to be available on all \LaTeX{} installations.\footnote{If the font
+font substitution for this encoding should be handled.  In that case it
+is important that the values used point to a font that is guaranteed to
+be available on all \LaTeX{} installations.\footnote{If the font
   encoding file is made available as part of a CTAN bundle, that could
   be a font that is provided together with that bundle, but it should
   not point to font which requires further installation steps and
   therefore may or may not be installed.}
 
-
 \NEWdescription{1997/12/01}
-As with the font definition file commands, it is also possible
-(although normally not necessary) to use these declarations directly
-within a class or package file.
+As with the font definition file commands, it is also possible (although
+normally not necessary) to use these declarations directly within a
+class or package file.
 
 \emph{Warning}: Some aspects of the contents of font definition files
 are still under development.  Therefore, the current versions of the
-files |ot1enc.def| and |t1enc.def| are temporary versions and should
-not be used as models for producing further such files.  For further
+files |ot1enc.def| and |t1enc.def| are temporary versions and should not
+be used as models for producing further such files.  For further
 information you should read the documentation in |ltoutenc.dtx|.
- 
+
 \begin{decl}
-   |\ProvidesFile{<file-name>}[<release-info>]|
+  |\ProvidesFile{<file-name>}[<release-info>]|
 \end{decl}
-The file should announce itself with a |\ProvidesFile|
-command, described in \emph{\clsguide}.  For example:
+The file should announce itself with a |\ProvidesFile| command,
+described in \emph{\clsguide}.  For example:
 \begin{verbatim}
    \ProvidesFile{ot2enc.def}
                 [1994/06/01 Washington University Cyrillic encoding]
 \end{verbatim}
- 
- 
+
+
 \begin{decl}
-|\DeclareFontEncoding| \arg{encoding} \arg{text-settings}
-                       \arg{math-settings}
+  |\DeclareFontEncoding| \arg{encoding} \arg{text-settings}
+                         \arg{math-settings}
 \end{decl}
- 
+
 Declares a new encoding scheme \m{encoding}.
- 
-The \m{text-settings} are
-declarations which are executed every time |\selectfont| changes the
-encoding to be \m{encoding}.
- 
-The \m{math-settings} are similar but are for math alphabets. They
-are executed whenever a math alphabet with this encoding is
-called.
- 
+
+The \m{text-settings} are declarations which are executed every time
+|\selectfont| changes the encoding to be \m{encoding}.
+
+The \m{math-settings} are similar but are for math alphabets. They are
+executed whenever a math alphabet with this encoding is called.
+
 \NEWfeature{1998/12/01}
 It also saves the value of \m{encoding} in the macro
 |\LastDeclaredEncoding|.
- 
+
 Example:
 \begin{verbatim}
    \DeclareFontEncoding{OT1}{}{}
 \end{verbatim}
- 
-Some author commands need to change their definition depending on
-which encoding is currently in use.  For example, in the |OT1|
-encoding, the letter `\AE' is in slot |"1D|, whereas in the |T1|
-encoding it is in slot |"C6|.  So the definition of |\AE| has to
-change depending on whether the current encoding is |OT1| or |T1|.
-The following commands allow this to happen.
- 
+
+Some author commands need to change their definition depending on which
+encoding is currently in use.  For example, in the |OT1| encoding, the
+letter `\AE' is in slot |"1D|, whereas in the |T1| encoding it is in
+slot |"C6|.  So the definition of |\AE| has to change depending on
+whether the current encoding is |OT1| or |T1|.  The following commands
+allow this to happen.
+
 \begin{decl}
-   |\DeclareTextCommand| \arg{cmd} \arg{encoding}
-   \oarg{num} \oarg{default} \arg{definition}
+  |\DeclareTextCommand| \arg{cmd} \arg{encoding}
+                        \oarg{num} \oarg{default} \arg{definition}
 \end{decl}
-This command is like |\newcommand|, except that it defines a
-command which is specific to one encoding.  For example, the
-definition of |\k| in the |T1| encoding is:
+This command is like |\newcommand|, except that it defines a command
+which is specific to one encoding.  For example, the definition of |\k|
+in the |T1| encoding is:
 \begin{verbatim}
-  \DeclareTextCommand{\k}{T1}[1]
-     {\oalign{\null#1\crcr\hidewidth\char12}}
+   \DeclareTextCommand{\k}{T1}[1]
+      {\oalign{\null#1\crcr\hidewidth\char12}}
 \end{verbatim}
 |\DeclareTextCommand| takes the same optional arguments as
 |\newcommand|.
- 
-The resulting command is
-robust, even if the code in \m{definition} is fragile.
- 
-It does not produce an error if the command has already
-been defined but logs the redefinition in the transcript file.
- 
+
+The resulting command is robust, even if the code in \m{definition} is
+fragile.
+
+It does not produce an error if the command has already been defined but
+logs the redefinition in the transcript file.
+
 \begin{decl}[1994/12/01]
-   |\ProvideTextCommand| \arg{cmd} \arg{encoding}
-   \oarg{num} \oarg{default} \arg{definition}
+  |\ProvideTextCommand| \arg{cmd} \arg{encoding}
+                        \oarg{num} \oarg{default} \arg{definition}
 \end{decl}
-This command is the same as |\DeclareTextCommand|, except that
-if \m{cmd} is already defined in encoding \m{encoding}, then the
-definition is ignored.
- 
+This command is the same as |\DeclareTextCommand|, except that if
+\m{cmd} is already defined in encoding \m{encoding}, then the definition
+is ignored.
+
 \begin{decl}
-   |\DeclareTextSymbol| \arg{cmd} \arg{encoding} \arg{slot}
+  |\DeclareTextSymbol| \arg{cmd} \arg{encoding} \arg{slot}
 \end{decl}
-This command defines a text symbol with slot \m{slot} in the
-encoding.  For example, the definition of |\ss| in the |OT1| encoding
-is:
+This command defines a text symbol with slot \m{slot} in the encoding.
+For example, the definition of |\ss| in the |OT1| encoding is:
 \begin{verbatim}
    \DeclareTextSymbol{\ss}{OT1}{25}
 \end{verbatim}
 It does not produce an error if the command has already
 been defined but logs the redefinition in the transcript file.
- 
+
 \begin{decl}
-   |\DeclareTextAccent| \arg{cmd} \arg{encoding} \arg{slot}
+  |\DeclareTextAccent| \arg{cmd} \arg{encoding} \arg{slot}
 \end{decl}
 This command declares a text accent, with the accent taken from slot
-\m{slot} in the encoding.  For example, the definition of |\"| in
-the |OT1| encoding is:
+\m{slot} in the encoding.  For example, the definition of |\"| in the
+|OT1| encoding is:
 \begin{verbatim}
    \DeclareTextAccent{\"}{OT1}{127}
 \end{verbatim}
-It does not produce an error if the command has already
-been defined but logs the redefinition in the transcript file.
- 
+It does not produce an error if the command has already been defined but
+logs the redefinition in the transcript file.
+
 \begin{decl}
-   |\DeclareTextComposite| \arg{cmd} \arg{encoding} \arg{letter}
-                           \arg{slot}
+  |\DeclareTextComposite| \arg{cmd} \arg{encoding} \arg{letter}
+                          \arg{slot}
 \end{decl}
 This command declares that the composite letter formed from applying
 \m{cmd} to \m{letter} is defined to be simply slot \m{slot} in the
-encoding.   The \m{letter} should be a single letter (such as |a|) or
-a single command (such as |\i|).
- 
- 
-For example, the definition of |\'{a}|
-in the |T1| encoding could be declared like this:
+encoding.  The \m{letter} should be a single letter (such as |a|) or a
+single command (such as |\i|).
+
+For example, the definition of |\'{a}| in the |T1| encoding could be
+declared like this:
 \begin{verbatim}
    \DeclareTextComposite{\'}{T1}{a}{225}
 \end{verbatim}
- 
-The \m{cmd} will normally have been previously declared
-for this encoding, either by using
-|\DeclareTextAccent|, or as a one-argument |\DeclareTextCommand|.
- 
+
+The \m{cmd} will normally have been previously declared for this
+encoding, either by using |\DeclareTextAccent|, or as a one-argument
+|\DeclareTextCommand|.
+
 \begin{decl}[1994/12/01]
-   |\DeclareTextCompositeCommand| \arg{cmd} \arg{encoding} \arg{letter}
-                           \arg{definition}
+  |\DeclareTextCompositeCommand| \arg{cmd} \arg{encoding} \arg{letter}
+                                 \arg{definition}
 \end{decl}
-This is a more general form of |\DeclareTextComposite|, which allows
-for an arbitrary \m{definition}, not just a \m{slot}.  The main use
-for this is to allow accents on |i| to act like accents on |\i|, for
-example:
+This is a more general form of |\DeclareTextComposite|, which allows for
+an arbitrary \m{definition}, not just a \m{slot}.  The main use for this
+is to allow accents on |i| to act like accents on |\i|, for example:
 \begin{verbatim}
    \DeclareTextCompositeCommand{\'}{OT1}{i}{\'\i}
 \end{verbatim}
@@ -1466,66 +1430,64 @@
 
 
 \begin{decl}[1998/12/01]
-   |\LastDeclaredEncoding|
+  |\LastDeclaredEncoding|
 \end{decl}
 This holds the name of the last encoding declared via
-|\DeclareFontEncoding| (this should also be the currently most
-efficient encoding).  It can be used in the \m{encoding} argument
-of the above declarations in place of explicitly mentioning the
-encoding, e.g.
+|\DeclareFontEncoding| (this should also be the currently most efficient
+encoding).  It can be used in the \m{encoding} argument of the above
+declarations in place of explicitly mentioning the encoding, e.g.
 \begin{verbatim}
-  \DeclareFontEncoding{T1}{}{}
-  \DeclareTextAccent{\`}{\LastDeclaredEncoding}{0}
-  \DeclareTextAccent{\'}{\LastDeclaredEncoding}{1}
+   \DeclareFontEncoding{T1}{}{}
+   \DeclareTextAccent{\`}{\LastDeclaredEncoding}{0}
+   \DeclareTextAccent{\'}{\LastDeclaredEncoding}{1}
 \end{verbatim}
 This can be useful in cases where encoding files sharing common code
-are generated from one source.  
+are generated from one source.
 
+\subsection{Default definitions}
 
-\subsection{Default definitions}
- 
 \NEWdescription{1997/12/01}
 The declarations used in encoding definition files define
 encoding-specific commands but they do not allow those commands to be
-used without explicitly changing the encoding.  For some commands,
-such as symbols, this is not enough.  For example, the~|OMS| encoding
-contains the symbol~`\S', but we need to be able to use the
-command~|\S| whatever the current encoding may be, without explicitly
-selecting the encoding~|OMS|.
-   
+used without explicitly changing the encoding.  For some commands, such
+as symbols, this is not enough.  For example, the~|OMS| encoding
+contains the symbol~`\S', but we need to be able to use the command~|\S|
+whatever the current encoding may be, without explicitly selecting the
+encoding~|OMS|.
+
 \NEWdescription{1997/12/01}
 To allow this, \LaTeX{} has commands that declare default definitions
-for commands; these defaults are used when the command is not defined
-in the current encoding.  For example, the default encoding for~|\S|
+for commands; these defaults are used when the command is not defined in
+the current encoding.  For example, the default encoding for~|\S|
 is~|OMS|, and so in an encoding (such as |OT1|) which does not
 contain~|\S|, the~|OMS| encoding is selected in order to access this
 glyph.  But in an encoding (such as~|T1|) which does contain~|\S|, the
-glyph in that encoding is used.  The standard \LaTeXe{} format sets
-up several such defaults using the following encodings: |OT1|,~|OMS|
+glyph in that encoding is used.  The standard \LaTeXe{} format sets up
+several such defaults using the following encodings: |OT1|,~|OMS|
 and~|OML|.
 
 \emph{Warning}: These commands should \emph{not} occur in encoding
 definition files, since those files should declare only commands for use
-when that encoding has been selected.  They should instead be placed
-in packages; they must, of course, always refer to encodings that are
-known to be available.
- 
+when that encoding has been selected.  They should instead be placed in
+packages; they must, of course, always refer to encodings that are known
+to be available.
+
 \begin{decl}[1994/12/01]
-   |\DeclareTextCommandDefault| \arg{cmd} \arg{definition}
+  |\DeclareTextCommandDefault| \arg{cmd} \arg{definition}
 \end{decl}
-This command allows an encoding-specific command to be given a default 
-definition.  For example, the default definition for |\copyright| is 
-defined be be a circled `c' with:
+This command allows an encoding-specific command to be given a default
+definition.  For example, the default definition for |\copyright| is
+defined be a circled `c' with:
 \begin{verbatim}
    \DeclareTextCommandDefault{\copyright}{\textcircled{c}}
 \end{verbatim}
 \begin{decl}[1994/12/01]
-   |\DeclareTextAccentDefault| \arg{cmd} \arg{encoding} \\
-   |\DeclareTextSymbolDefault| \arg{cmd} \arg{encoding}
+  |\DeclareTextAccentDefault| \arg{cmd} \arg{encoding} \\
+  |\DeclareTextSymbolDefault| \arg{cmd} \arg{encoding}
 \end{decl}
-These commands allow an encoding-specific command to be given a
-default encoding.  For example, the default encoding for |\"| and
-|\ae| is set to be |OT1| by:
+These commands allow an encoding-specific command to be given a default
+encoding.  For example, the default encoding for |\"| and |\ae| is set
+to be |OT1| by:
 \begin{verbatim}
    \DeclareTextAccentDefault{\"}{OT1}
    \DeclareTextSymbolDefault{\ae}{OT1}
@@ -1533,71 +1495,69 @@
 Note that |\DeclareTextAccentDefault| can be used on any one-argument
 encoding-specific command, not just those defined with
 |\DeclareTextAccent|.  Similarly, |\DeclareTextSymbolDefault| can be
-used on any encoding-specific command with no arguments, not just
-those defined with |\DeclareTextSymbol|.
- 
-For more examples of these definitions, see |ltoutenc.dtx|.  
- 
+used on any encoding-specific command with no arguments, not just those
+defined with |\DeclareTextSymbol|.
+
+For more examples of these definitions, see |ltoutenc.dtx|.
+
 \begin{decl}[1994/12/01]
-   |\ProvideTextCommandDefault| \arg{cmd} \arg{definition}
+  |\ProvideTextCommandDefault| \arg{cmd} \arg{definition}
 \end{decl}
-This command is the same as |\DeclareTextCommandDefault|, except that
-if the command already has a default definition, then the definition
-is ignored.  This is useful to give `faked' definitions of symbols
-which may be given `real' definitions by other packages.  For example,
-a package might give a fake definition of |\textonequarter| by saying:
+This command is the same as |\DeclareTextCommandDefault|, except that if
+the command already has a default definition, then the definition is
+ignored.  This is useful to give `faked' definitions of symbols which
+may be given `real' definitions by other packages.  For example, a
+package might give a fake definition of |\textonequarter| by saying:
 \begin{verbatim}
    \ProvideTextCommandDefault{\textonequarter}{$\m at th\frac14$}
 \end{verbatim}
- 
- \subsection{Encoding defaults} \label{sec:encoding-defaults}
- 
+
+\subsection{Encoding defaults} \label{sec:encoding-defaults}
+
 \begin{decl}
-|\DeclareFontEncodingDefaults| \arg{text-settings} \arg{math-settings}
+  |\DeclareFontEncodingDefaults| \arg{text-settings} \arg{math-settings}
 \end{decl}
- 
+
 Declares \m{text-settings} and \m{math-settings} for all encoding
 schemes.  These are executed before the encoding scheme dependent ones
 are executed so that one can use the defaults for the major cases and
 overwrite them if necessary using |\DeclareFontEncoding|.
- 
+
 If |\relax| is used as an argument, the current setting of this default
 is left unchanged.
- 
+
 This example is used by amsfonts.sty for accent positioning; it changes
 only the math settings:
 \begin{verbatim}
    \DeclareFontEncodingDefaults{\relax}{\def\accentclass@{7}}
 \end{verbatim}
- 
- 
+
+
 \begin{decl}
-|\DeclareFontSubstitution|  \arg{encoding} \arg{family} \arg{series}
-                            \arg{shape}
+  |\DeclareFontSubstitution|  \arg{encoding} \arg{family} \arg{series}
+                              \arg{shape}
 \end{decl}
- 
+
 Declares the default values for font substitution which will be used
-when a font with encoding \m{encoding}
-should be loaded but no font can be found with the current
-attributes.
- 
+when a font with encoding \m{encoding} should be loaded but no font can
+be found with the current attributes.
+
 These substitutions are local to the encoding scheme because the
 encoding scheme is never substituted!  They are tried in the order
-\m{shape} then  \m{series} and finally \m{family}.
+\m{shape} then \m{series} and finally \m{family}.
 
 \NEWdescription{2019/07/10}
 This declaration is normally done in an encoding definition file
-(see~\ref{Sec:encode.def}), but can also be used in a class file or
-the document preamble to alter the default for a specific encoding.
- 
+(see~\ref{Sec:encode.def}), but can also be used in a class file or the
+document preamble to alter the default for a specific encoding.
+
 If no defaults are set up for an encoding, the values given by
 |\DeclareErrorFont| are used.
- 
-The font specification for
-\m{encoding}\m{family}\m{series}\m{shape}
-must have been defined by |\DeclareFontShape|
-before the |\begin{document}| is reached.
- 
+
+The font specification for \m{encoding}\m{family}\m{series}\m{shape}
+must have been defined by |\DeclareFontShape| before the
+|\begin{document}| is reached.
+
 Example:
 \begin{verbatim}
    \DeclareFontSubstitution{T1}{cmr}{m}{n}
@@ -1624,38 +1584,36 @@
 For further details, see \texttt{clsguide.tex}.
 
 \NEWdescription{1999/04/23}
-In order that upper/lower-casing will work reasonably well, and in
-order to provide any correct hyphenation, \LaTeXe{} \emph{must} use,
+In order that upper/lower-casing will work reasonably well, and in order
+to provide any correct hyphenation, \LaTeXe{} \emph{must} use,
 throughout a document, the same fixed table for changing case.  The
-table used is designed for the font encoding |T1|; this works well
-with the standard \TeX{} fonts for all Latin alphabets but will cause
-problems when using other alphabets.  As an experiment, it has now
-been extended for use with some Cyrillic encodings.
+table used is designed for the font encoding |T1|; this works well with
+the standard \TeX{} fonts for all Latin alphabets but will cause
+problems when using other alphabets.  As an experiment, it has now been
+extended for use with some Cyrillic encodings.
 
-
 \section{Miscellanea}
 \label{Sec:misc}
- 
+
 This section covers the remaining font commands in \LaTeX{} and some
 other issues.
- 
+
 \subsection{Font substitution}
- 
+
 \begin{decl}
-|\DeclareErrorFont| \arg{encoding} \arg{family} \arg{series}
-                    \arg{shape} \arg{size}
+  |\DeclareErrorFont| \arg{encoding} \arg{family} \arg{series}
+                      \arg{shape} \arg{size}
 \end{decl}
- 
+
 Declares \m{encoding}\m{family}\m{series}\m{shape} to be the font shape
 used in cases where the standard substitution mechanism fails
 (i.e.~would loop). For the standard mechanism see the command
 |\DeclareFontSubstitution| above.
- 
-The font specification for
-\m{encoding}\m{family}\m{series}\m{shape}
-must have been defined by |\DeclareFontShape|
-before the |\begin{document}| is reached.
- 
+
+The font specification for \m{encoding}\m{family}\m{series}\m{shape}
+must have been defined by |\DeclareFontShape| before the
+|\begin{document}| is reached.
+
 Example:
 \begin{verbatim}
    \DeclareErrorFont{OT1}{cmr}{m}{n}{10}
@@ -1662,46 +1620,43 @@
 \end{verbatim}
 
 \NEWdescription{2019/07/10}
-This declaration is a system wide fallback and it should normally not
-be changed, in particular it does not belong into font encoding
-definition files but rather into the \LaTeX{} format. It is normally
-set up in \texttt{fonttext.cfg}. Adjustments on a per encoding base
-should be made through |\DeclareFontSubstitution| instead!
- 
- 
+This declaration is a system wide fallback and it should normally not be
+changed, in particular it does not belong into font encoding definition
+files but rather into the \LaTeX{} format. It is normally set up in
+\texttt{fonttext.cfg}. Adjustments on a per encoding base should be made
+through |\DeclareFontSubstitution| instead!
+
 \begin{decl}
-|\fontsubfuzz|
+  |\fontsubfuzz|
 \end{decl}
- 
+
 This parameter is used to decide whether or not to produce a terminal
 warning if a font size substitution takes place. If the difference
 between the requested and the chosen size is less than |\fontsubfuzz|
-the warning is only written to the transcript file. The default value
-is |0.4pt|.  This can be redefined with |\renewcommand|, for example:
+the warning is only written to the transcript file. The default value is
+|0.4pt|.  This can be redefined with |\renewcommand|, for example:
 \begin{verbatim}
    \renewcommand{\fontsubfuzz}{0pt}   % always warn
 \end{verbatim}
- 
+
 \subsection{Preloading}
- 
+
 \begin{decl}
-|\DeclarePreloadSizes| \arg{encoding} \arg{family} \arg{series}
-                       \arg{shape}
+  |\DeclarePreloadSizes| \arg{encoding} \arg{family} \arg{series}
+                         \arg{shape}
 \arg{size-list}
 \end{decl}
- 
- 
+
 Specifies the fonts that should be preloaded by the format.  These
 commands should be put in a |preload.cfg| file, which is read in when
-the \LaTeX{} format is being built.
-Read |preload.dtx| for more information on how to built such a
-configuration file.
- 
+the \LaTeX{} format is being built.  Read |preload.dtx| for more
+information on how to built such a configuration file.
+
 Example:
 \begin{verbatim}
    \DeclarePreloadSizes{OT1}{cmr}{m}{sl}{10,10.95,12}
 \end{verbatim}
- 
+
 \NEWdescription{2019/07/10}
 Preloading is really an artifact of the days when loading fonts while
 processing a document contributed substantially to the processing
@@ -1711,55 +1666,53 @@
 
 \NEWdescription{1996/06/01}
 Accented characters in \LaTeX{} can be produced using commands such as
-|\"a| etc. The precise effect of such commands depends on the font
+|\"a| etc.  The precise effect of such commands depends on the font
 encoding being used.  When using a font encoding that contains the
-accented characters as individual glyphs (such as the |T1| encoding,
-in the case of |\"a|) words that contain such accented characters can
-be automatically hyphenated.  For font encodings that do not contain
-the requested individual glyph (such as the |OT1| encoding) such a
-command invokes typesetting instructions that produce the accented
-character as a combination of character glyphs and diacritical marks
-in the font.  In most cases this involves a call to the \TeX{}
-primitive |\accent|.  Glyphs constructed as composites in this way
-inhibit hyphenation of the current word; this is one reason why the
-|T1| encoding is preferable to the original \TeX{} font encoding
-|OT1|.
+accented characters as individual glyphs (such as the |T1| encoding, in
+the case of |\"a|) words that contain such accented characters can be
+automatically hyphenated.  For font encodings that do not contain the
+requested individual glyph (such as the |OT1| encoding) such a command
+invokes typesetting instructions that produce the accented character as
+a combination of character glyphs and diacritical marks in the font.  In
+most cases this involves a call to the \TeX{} primitive |\accent|.
+Glyphs constructed as composites in this way inhibit hyphenation of the
+current word; this is one reason why the |T1| encoding is preferable to
+the original \TeX{} font encoding |OT1|.
 
 It is important to understand that commands like |\"a| in \LaTeXe{}
 represent just a name for a single glyph (in this case `umlaut a') and
 contain no information about how to typeset that glyph---thus it does
-\emph{not} mean `put two dots on top of the character a'.  The
-decision as to what typesetting routine to use will depend on the
-encoding of the current font and so this decision is taken at the last
-minute.  Indeed, it is possible that the same input will be typeset in
-more than one way in the same document; for example, text in section
-headings may also appear in table of contents and in running heads; and
-each of these may use a font with a different encoding.
+\emph{not} mean `put two dots on top of the character a'.  The decision
+as to what typesetting routine to use will depend on the encoding of the
+current font and so this decision is taken at the last minute.  Indeed,
+it is possible that the same input will be typeset in more than one way
+in the same document; for example, text in section headings may also
+appear in table of contents and in running heads; and each of these may
+use a font with a different encoding.
 
 For this reason the notation |\"a| is \emph{not} equivalent to:
 \begin{verbatim}
-  \newcommand \chara {a}     \"\chara
+   \newcommand \chara {a}     \"\chara
 \end{verbatim}
 In the latter case, \LaTeX{} does not expand the macro |\chara| but
 simply compares the notation (the string |\"\chara|) to its list of
-known composite notations in the current encoding; when it fails to
-find |\"\chara| it does the best it can and invokes the typesetting
+known composite notations in the current encoding; when it fails to find
+|\"\chara| it does the best it can and invokes the typesetting
 instructions that put the umlaut accent on top of the expansion of
 |\chara|. Thus, even if the font actually contains `\"a' as an
 individual glyph, it will not be used.
 
-The low-level accent commands in \LaTeX{} are defined in such a way
-that it is possible to combine a diacritical mark from one font with a
-glyph from another font; for example, |\"\textparagraph| will produce
-\"\textparagraph.  The umlaut here
-is taken from the |OT1| encoded font |cmr10| whilst the paragraph sign
-is from the |OMS| encoded font |cmsy10|. (This example may be
-typographically silly but better ones would involve font encodings
-like |OT2| (Cyrillic) that might not be available at every
-site.)
+The low-level accent commands in \LaTeX{} are defined in such a way that
+it is possible to combine a diacritical mark from one font with a glyph
+from another font; for example, |\"\textparagraph| will produce
+\"\textparagraph.  The umlaut here is taken from the |OT1| encoded font
+|cmr10| whilst the paragraph sign is from the |OMS| encoded font
+|cmsy10|. (This example may be typographically silly but better ones
+would involve font encodings like |OT2| (Cyrillic) that might not be
+available at every site.)
 
-There are, however, restrictions on the font-changing commands that
-will work within the argument to such an accent command.  These are
+There are, however, restrictions on the font-changing commands that will
+work within the argument to such an accent command.  These are
 \TeX{}nical in the sense that they follow from the way that \TeX{}'s
 |\accent| primitive works, allowing only a special class of commands
 between the accent and the accented character.
@@ -1770,72 +1723,80 @@
 (|\fontsize| and |\Large|, etc.); |\usefont| and declarations that
 depend on it, such as |\normalfont|; box commands (e.g.~|\mbox{...}|).
 
-The lower-level font declarations that set the attributes family,
-series and shape (such as |\fontshape{sl}\selectfont|) will produce
-correct typesetting, as will the default declarations such as
-|\bfseries|.
+The lower-level font declarations that set the attributes family, series
+and shape (such as |\fontshape{sl}\selectfont|) will produce correct
+typesetting, as will the default declarations such as |\bfseries|.
 
+\subsection{Naming conventions}
 
-\subsection{Naming conventions}
- 
 \begin{itemize}
 \item
-Math alphabet commands all start with |\math...|: examples are
-|\mathbf|, |\mathcal|, etc.
- 
+  Math alphabet commands all start with |\math...|: examples are
+  |\mathbf|, |\mathcal|, etc.
+
 \item
-The text font changing commands with arguments all start with
-|\text...|: e.g.~|\textbf| and |\textrm|.  The exception to this is
-|\emph|, since it occurs very commonly in author documents and so
-deserves a shorter name.
- 
+  The text font changing commands with arguments all start with
+  |\text...|: e.g.~|\textbf| and |\textrm|.  The exception to this is
+  |\emph|, since it occurs very commonly in author documents and so
+  deserves a shorter name.
+
 \item
-Names for encoding schemes are strings of up to three letters (all
-upper case) plus digits.
+  Names for encoding schemes are strings of up to three letters (all
+  upper case) plus digits.
 
-The \LaTeX3 project reserves the use of encodings starting with the
-following letters: |T| (standard 256-long text encodings), |TS|
-(symbols that are designed to extend a corresponding |T| encoding),
-|X| (text encodings that do not conform to the strict requirements for
-|T| encodings), |M| (standard 256-long math encodings), |S| (other
-symbol encodings), |A| (other special applications), |OT| (standard
-128-long text encodings) and |OM| (standard 128-long math encodings).
+  The \LaTeX3 project reserves the use of encodings starting with the
+  following letters: |T| (standard 256-long text encodings), |TS|
+  (symbols that are designed to extend a corresponding |T| encoding),
+  |X| (text encodings that do not conform to the strict requirements for
+  |T| encodings), |M| (standard 256-long math encodings), |S| (other
+  symbol encodings), |A| (other special applications), |OT| (standard
+  128-long text encodings) and |OM| (standard 128-long math encodings).
 
-Please do not use the above starting letters for non-portable
-encodings.  If new standard encodings emerge then we shall add them in
-a later release of \LaTeX.
+  Please do not use the above starting letters for non-portable
+  encodings.  If new standard encodings emerge then we shall add them in
+  a later release of \LaTeX.
 
-Encoding schemes which are local to a site or a system should start
-with |L|, experimental encodings intended for wide distribution will
-start with |E|, whilst |U| is for Unknown or Unclassified encodings.
- 
+  Encoding schemes which are local to a site or a system should start
+  with |L|, experimental encodings intended for wide distribution will
+  start with |E|, whilst |U| is for Unknown or Unclassified encodings.
+
 \item
-Font family names should contain up to five lower case letters.
-Where possible, these should conform to the \emph{Filenames for fonts}
-font naming scheme.
- 
+  \NEWdescription{2019/10/15}
+  Font family names should contain only upper and lower case letters and
+  hyphen characters.  Where possible, these should conform to the
+  \emph{Filenames for fonts} font naming scheme of the scheme
+  implemented by \texttt{autoinst} with suffixes such as \texttt{-LF},
+  \texttt{-OsF}, etc.\ to indicate different figure styles.
+
 \item
-Font series names should contain up to four lower case letters.
- 
+  \NEWdescription{2019/10/15}
+  Font series names should contain up to four lower case letters. If at
+  all possible standard names as suggested in
+  Section~\ref{sec:textfontattributes} should be used. Font specific
+  names such as \texttt{regular} or \texttt{black}, etc.\ should be at
+  least aliased to a corresponding standard name.
+
 \item
-Font shapes should contain up to two letters lower case.
- 
+  \NEWdescription{2019/10/15}
+  Font shapes should contain up to four letters lower case. Use the
+  names suggested in Section~\ref{sec:textfontattributes}.
+
 \item
-Names for symbol fonts are built from lower and upper case letters
-with no restriction.
+  Names for symbol fonts are built from lower and upper case letters
+  with no restriction.
 \end{itemize}
- 
+
 Whenever possible, you should use the series and shape names suggested
-in \emph{\LaTeXcomp} since this will make it easier to combine new
-fonts with existing fonts.
- 
+in \emph{\LaTeXcomp} since this will make it easier to combine new fonts
+with existing fonts.
+
 \NEWdescription{1994/12/01}
-   Where possible, text symbols should be named as |\text| followed by
-   the Adobe glyph name: for example |\textonequarter| or 
-   |\textsterling|.  Similarly, math symbols should be named as 
-   |\math| followed by the glyph name, for example |\mathonequarter| 
-   or |\mathsterling|.  Commands which can be used in text or math can
-   then be defined using |\ifmmode|, for example:
+Where possible, text symbols should be named as |\text| followed by the
+Adobe glyph name: for example |\textonequarter| or |\textsterling|.
+Similarly, math symbols should be named as |\math| followed by the glyph
+name, for example |\mathonequarter| or |\mathsterling|.  Commands which
+can be used in text or math can then be defined using |\ifmmode|, for
+example:
 \begin{verbatim}
    \DeclareRobustCommand{\pounds}{%
       \ifmmode \mathsterling \else \textsterling \fi
@@ -1844,46 +1805,95 @@
    Note that commands defined in this way must be robust, in case they
    get put into a section title or other moving argument.
 
+\subsection{The order of declaration}
+
+\NEWdescription{2019/10/15}
+\NFSS{} forces you to give all declarations in a specific order so that
+it can check whether you have specified all necessary information.  If
+you declare objects in the wrong order, it will complain.  Here are the
+dependencies that you have to obey:
+\begin{itemize}
+\item
+  |\DeclareFontFamily| checks that the encoding scheme was previously
+  declared with |\DeclareFontEncoding|.
+
+\item
+  |\DeclareFontShape| checks that the font family was declared to be
+  available in the requested encoding (|\DeclareFontFamily|).
+
+\item
+  |\DeclareSymbolFont| checks that the encoding scheme is valid.
+
+\item
+  |\SetSymbolFont| additionally ensures that the requested math version
+  was declared (|\DeclareMathVersion|) and that the requested symbol
+  font was declared (|\DeclareSymbolFont|).
+
+\item
+  |\DeclareSymbolFontAlphabet| checks that the command name for the
+  alphabet identifier can be used and that the symbol font was declared.
+
+\item
+  |\DeclareMathAlphabet| checks that the chosen command name can be used
+  and that the encoding scheme was declared.
+
+\item
+  |\SetMathAlphabet| checks that the alphabet identifier was previously
+  declared with |\DeclareMathAlphabet| or |\DeclareSymbolFontAlphabet|
+  and that the math version and the encoding scheme are known.
+
+\item
+  |\DeclareMathSymbol| makes sure that the command name can be used
+  (i.e., is undefined or was previously declared to be a math symbol)
+  and that the symbol font was previously declared.
+
+\item
+  When the |\begin{document}| command is reached, \NFSS{} makes some
+    additional checks---for example, verifying that substitution
+    defaults for every encoding scheme point to known font shape group
+    declarations.
+\end{itemize}
+
+
 \section{If you need to know more \ldots}
 
 \NEWdescription{1996/06/01}
 The |tracefnt| package provides for tracing the actions concerned with
-loading, substituting and using fonts.
-The package accepts the following options:
+loading, substituting and using fonts.  The package accepts the
+following options:
 \begin{description}
-\item[errorshow]  Write all information about font changes, etc.\ but
+\item[errorshow] Write all information about font changes, etc.\ but
   only to the transcript file unless an error occurs. This means that
-  information about font substitution will not be shown on the
-  terminal.
+  information about font substitution will not be shown on the terminal.
 
-\item[warningshow]  Show all font warnings on the terminal. This
-  setting corresponds to the default behavior when this
-  \texttt{tracefnt} package is \emph{not} used!
+\item[warningshow] Show all font warnings on the terminal. This setting
+  corresponds to the default behavior when this \texttt{tracefnt}
+  package is \emph{not} used!
 
-\item[infoshow]  Show all font warnings and all font info messages
-  (that are normally only written to the transcript file) also on the
+\item[infoshow] Show all font warnings and all font info messages (that
+  are normally only written to the transcript file) also on the
   terminal. This is the default when this \texttt{tracefnt} package is
   loaded.
 
-\item[debugshow]  In addition to what is shown by \texttt{infoshow},
-  show also changes of math fonts (as far as possible): beware, this
-  option can produce a large amount of output.
+\item[debugshow] In addition to what is shown by \texttt{infoshow}, show
+  also changes of math fonts (as far as possible): beware, this option
+  can produce a large amount of output.
 
-\item[loading]  Show the names of external font files when they are
+\item[loading] Show the names of external font files when they are
   loaded.  This option shows only `newly loaded' fonts, not those
   already preloaded in the format or the class file before this
   \texttt{tracefnt} package becomes active.
 
-\item[pausing]
-  Turn all font warnings into errors so that \LaTeX{} will stop.
+\item[pausing] Turn all font warnings into errors so that \LaTeX{} will
+  stop.
 \end{description}
 
 \emph{Warning}: The actions of this package can change the layout of a
-document and even, in rare cases, produce clearly wrong output, so
-it should not be used in the final formatting of `real documents'.
+document and even, in rare cases, produce clearly wrong output, so it
+should not be used in the final formatting of `real documents'.
 
 \begin{thebibliography}{1}
- 
+
 \bibitem{A-W:MG2004}
 Frank Mittelbach and Michel Goossens.
 \newblock {\em The {\LaTeX} Companion second edition}.
@@ -1894,12 +1904,18 @@
 Donald~E. Knuth.
 \newblock Typesetting concrete mathematics.
 \newblock {\em {TUG}boat}, 10(1):31--36, April 1989.
- 
+
 \bibitem{A-W:LLa94}
 Leslie Lamport.
 \newblock {\em {\LaTeX:} A Document Preparation System}.
 \newblock Addison-Wesley, Reading, Massachusetts, second edition, 1994.
- 
+
 \end{thebibliography}
- 
+
 \end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% fill-column: 72
+%%% End:

Modified: trunk/Master/texmf-dist/doc/latex/base/graphpap.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ifthen.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/inputenc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/latexchanges.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/latexchanges.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/latexchanges.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/latexchanges.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,49 +1,49 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2015-2019
+% Copyright (C) 2015-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: latexchanges.tex
- 
+
 \NeedsTeXFormat{LaTeX2e}
- 
+
 \documentclass{ltxguide}
- 
+
 \usepackage[T1]{fontenc}
 
 \usepackage{url}
 
 \title{Changes to the \LaTeXe{} format}
- 
-\author{\copyright~Copyright 2015--2019, \LaTeX3 Project Team.\\
+
+\author{\copyright~Copyright 2015--2020, \LaTeX3 Project Team.\\
    All rights reserved.}
- 
-\date{2019-10-01}
 
-% a few commands from doc 
+\date{2020-02-02}
+
+% a few commands from doc
 \newcommand\Lpack[1]{\mbox{\textsf{#1}}}
 \newcommand\DescribeMacro[1]{\texttt{\string#1}}
 
@@ -55,7 +55,7 @@
    \hbox{\check at mathfonts\fontsize\ssf at size\z@
    \math at fontsfalse\selectfont,}\hidewidth}\egroup}
 \makeatother
- 
+
 \ifx\href\undefined
   \newcommand\ghissue[1]{github #1}
   \newcommand\gnatsissue[1]{gnats #1}
@@ -76,25 +76,46 @@
 \fi
 
 \begin{document}
- 
+
 \maketitle
- 
+
 \tableofcontents
 
 \newpage
- 
+
 \section{Introduction}
- 
-This document describes changes that have been made to the
-\LaTeX\ format since the 2014/05/01 \LaTeX\ release.
 
+This document describes changes that were made to the
+\LaTeX\ format since the  2014-05-01 \LaTeX\ releases.
 
+
 As announced in \ltnewsissue{22}, the 2015 \LaTeX{} release adopts a new
 policy. Improvements and bug fixes will be made to the format sources,
 with the \Lpack{latexrelease} package being available to revert
 changes to use definitions from an earlier format.
 
+As a summary of changes for a main release will always be available in
+\LaTeX\ News, detailed changes are not repeated in this document,
+but changes in any patch releases will be listed in more
+detail here.
 
+More  detailed change logs are available as
+\texttt{changes.txt} in the base distribution, and full code
+  differences may be browsed via the code repository on GitHub
+see for example
+\url{https://github.com/latex3/latex2e/commits/master}.
+
+
+\section{Changes introduced in 2020-02-02}
+
+Major enhancements in this release include pre-loading \Lpack{expl3}
+to improve startup times, especially with Lua\TeX\ and Xe\TeX, and
+extra features in the font selection mechanism. Please see
+\ltnewsissue{31}  for an overview of the new features and the change
+log in \texttt{changelog.txt} for a more detailed list of individual
+changes.
+
+
 \section{Changes introduced in 2019-10-01 patch~3}
 
 Further fixes to the handling of filenames, expand macros (and
@@ -187,7 +208,7 @@
 font table, so that one can simply hit enter instead of having to write
 \verb=\table\bye=.
 
-The \LaTeX{} kernel now provides dummy (empty) definitions for the
+The \LaTeX{} kernel now provides dummy (empty) definitions for the two
 commands \verb|\conditionally at traceoff| and
 \verb|\conditionally at traceon| from the \texttt{trace} package so they
 can be used by package developers without worrying about them being
@@ -278,7 +299,7 @@
 reset (to the existing default value, \verb|\normallineskiplimit|).
 See \sxanswer{359934}.
 
- The code for verb|\newpage| has been adjusted to add a test on the value of
+ The code for \verb|\newpage| has been adjusted to add a test on the value of
 \verb|\prevdepth| so that the depth of the last line is preserved in
 forced page breaks.
 
@@ -298,7 +319,7 @@
 A new test is added during format making that e\TeX\ extensions are
 available. As noted in \LaTeX\ news, e\TeX\ will now be required to
 build \LaTeX.
- 
+
 Further updates tracking changes for Lua\TeX~1.0.
 
 The definition of \verb|\showhyphens| is changed in formats built
@@ -337,7 +358,7 @@
 from the standard to extended pool takes place within a group.
 
 \section{Changes  introduced in 2015/10/01 patch~1}
-This release allows \Lpack{latexrelease} to revert the 
+This release allows \Lpack{latexrelease} to revert the
 Lua\TeX{}-specific
 changes, in particular fixing an incorrect date in part of the mechanism and
 adding a method to disable callback management entirely.
@@ -379,7 +400,7 @@
 \section{Changes  introduced in 2015/01/01 patch~1}
 This release re-introduces the ``Patch Level'' scheme for identifying
 releases between main ``dated'' releases. Early \LaTeXe\ releases
-included a mechanism whereby updates could be provided by a 
+included a mechanism whereby updates could be provided by a
 \emph{patch
   file}. This was mainly intended to allow updates to be made without
 downloading the full sources again, which was an important
@@ -454,7 +475,7 @@
 \smallskip
 
 Xe-\TeX\ only, previously in the Xe-\LaTeX\ format, but added via
-|xelatex.ini| not part of the core release. 
+|xelatex.ini| not part of the core release.
 Allocates commands to use the Xe-\TeX\ character class mechanism.
 
 
@@ -698,7 +719,7 @@
  |\makebox|, |\savebox|,
 |\framebox|, |\parbox|, |\rule| and |\raisebox|.
 
-\ldots TODO \ldots  fleqn vesion of |\[\]| 
+\ldots TODO \ldots  fleqn vesion of |\[\]|
 
 \subsection{\texttt{\textbackslash addpenalty} ruins flush-bottom (pr/3073)}
 
@@ -853,5 +874,5 @@
 customary for regular robust commands in \LaTeX.
 
 
- 
+
 \end{document}

Modified: trunk/Master/texmf-dist/doc/latex/base/latexrelease.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/latexsym.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/lb2.err
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/lb2.err	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/lb2.err	2020-02-02 22:42:01 UTC (rev 53640)
@@ -20,7 +20,7 @@
 \begin{filecontents}{ttcterrata.cls}
 %%
 %% Copyright (C) 1997,2004,2005,2007, 2014 Frank Mittelbach
-%% This class file is licenced under LPPL latest version; 
+%% This class file is licenced under LPPL latest version;
 %% see https://www.latex-project.org/lppl
 %
 %
@@ -30,7 +30,7 @@
 %    Tools and Techniques for Computer Typesetting
 %
 % hence the name. However, anybody who likes to use it is free to apply it for
-% errata files of other books. 
+% errata files of other books.
 %
 % Changes:
 %
@@ -189,7 +189,7 @@
 
 % some special shortcuts overwriting existing commands:
 
-\let\u\underline 
+\let\u\underline
 \renewcommand\>{$\to$}
 
 %%% some code suggested by Thorsten Hansen to count the number of
@@ -199,7 +199,7 @@
 \def\count at contributors#1/#2/#3\@nil{
    \@ifundefined{c@#1}{\newcounter{#1}}{}\stepcounter{#1}%
 %%%   also count secondary:
-%%%   \@ifundefined{c@#2}{\newcounter{#2}}{}\stepcounter{#2}% 
+%%%   \@ifundefined{c@#2}{\newcounter{#2}}{}\stepcounter{#2}%
 }
 
 \renewcommand\erroronpage[5]{%
@@ -216,7 +216,7 @@
    \displayrevisionfix{#1}{#5}
    \hideamp #2 \hideamp (\textsf{#3}) \hideamp
 }
- 
+
 \renewcommand\seriouserroronpage[5]{%
    \count at contributors#3/secondary/\@nil
    \endgobble
@@ -234,7 +234,7 @@
 }
 
 \renewcommand\contributor[2]{\makebox[1cm][l]{%
-  \sffamily#1} #2\@ifundefined{c@#1}{}{ (\arabic{#1})}\par} 
+  \sffamily#1} #2\@ifundefined{c@#1}{}{ (\arabic{#1})}\par}
 
 \end{filecontents}
 
@@ -242,12 +242,12 @@
 \begin{filecontents}{\jobname.cfg}
 %
 %
-% Configuration file for the errata listing of 
+% Configuration file for the errata listing of
 %
 %  Der LaTeX-Begleiter 2 Auflage
 %
 %
-% \erratastartdate 
+% \erratastartdate
 %
 % Specifies the date from which on errata entries should be listed.
 %
@@ -269,9 +269,9 @@
 %    listing.
 %
 % The default below ensures that all entries relevant to the second
-%    printing are typeset. 
-%    
+%    printing are typeset.
 %
+%
 
 \renewcommand\myprinting{2}
 
@@ -385,10 +385,10 @@
 
 
 \begin{center}
-  \Large \bfseries  Irren ist menschlich -- Fehlerwettbewerb 
+  \Large \bfseries  Irren ist menschlich -- Fehlerwettbewerb
 \end{center}
 
- 
+
 Jeder gefundene und mitgeteilte Fehler ist ein Gewinn für alle Leser
 und Käufer unseres Buches. Aus diesem Grund schreiben wir, Pearson
 Studium und die Autoren, einen Preis aus -- halbjährlich, später (mehr)jährlich -- den
@@ -396,19 +396,19 @@
 (im Falle einer Überschneidung wird das Los zwischen den "`besten"'
 Fehlersuchern entscheiden).  Eine Person kann nur einmal einen Preis
 bekommen; Fehler die durch die Autoren gefunden werden, zählen nicht.
-\begin{center} 
-Ihr Preis: Ein Lehrbuch Ihrer Wahl!  
+\begin{center}
+Ihr Preis: Ein Lehrbuch Ihrer Wahl!
 \end{center}
 Auswählen können Sie dieses unter \url{http://www.pearson-studium.de}.
 (Bundles und mehrbändige Bücher sind davon ausgenommen).
- 
+
 Wie üblich behalten sich die Autoren und der Verlag das Recht vor,
 selbst zu entscheiden ob ein Fehler tatsächlich als Fehler anzusehen
 ist oder ob ein wiederholt vorkommender Fehler als ein oder mehrere Fehler
 gezählt wird.
- 
-- Viel Erfolg -  
 
+- Viel Erfolg -
+
 \begin{center}
 \begin{tabular}{clr@{ Eingaben}}
 Ende der Wettbewerbsperiode & Gewinner \\[4pt]
@@ -439,9 +439,9 @@
  \fi
 
 \erroronpage{}{}{RHe}{2006/06/10}{}
-  Einzelne Teile mehrgliedriger Abkürzungen werden im deutschsprachigen 
-  Satz normalerweise durch einen kleinen Zwischenraum (Spatium) getrennt; nur in 
-  englischsprachigen Texten wird zwischen den Abkürzungsteilen kein 
+  Einzelne Teile mehrgliedriger Abkürzungen werden im deutschsprachigen
+  Satz normalerweise durch einen kleinen Zwischenraum (Spatium) getrennt; nur in
+  englischsprachigen Texten wird zwischen den Abkürzungsteilen kein
   Zwischenraum gesetzt.
   Beispiele: z.\,B., u.\,a.\ anstatt z.B., u.a.
 
@@ -471,7 +471,7 @@
   Das Kommando lautet \verb=\AskOption= (ohne ``s'')
 
 \erroronpage{26}{Abs.-3, Z.4}{JMa}{2006/01/03}{2}
- Zur schließenden Klammer in Zeile 5 gibt es keine öffnende; es sollte wohl 
+ Zur schließenden Klammer in Zeile 5 gibt es keine öffnende; es sollte wohl
 heißen: (zum Beispiel \ldots{}
 
 \erroronpage{29}{Abs. nach 2-2-3, Z.7}{JMa}{2006/01/03}{2}
@@ -493,11 +493,11 @@
 Im Deutschen steht bei einer Aufzählung kein Komma vor ``oder''.
 
 \erroronpage{56}{Abs.3, Z.3}{JMa}{2006/01/03}{2}
-Hier fehlt ein Buchstabe: ``Das Beispiel zeigt, das\u{s} es 
+Hier fehlt ein Buchstabe: ``Das Beispiel zeigt, das\u{s} es
 wahrscheinlich''.
 
 \erroronpage{59}{2.3.6 Abs.\ 4, Z.\ 1}{RHe}{2006/06/10}{2}
-   Füge Komma ein: "`Um das \textsf{minitoc}-System zu initialisieren, 
+   Füge Komma ein: "`Um das \textsf{minitoc}-System zu initialisieren,
 muss ein \dots{}"'
 
 \erroronpage{60}{Tab.2.3, rechte Spalte, Z.1}{JMa}{2006/01/03}{2}
@@ -516,7 +516,7 @@
 \LaTeX-Trennfehler: Verzeichnis-eintr"age statt Verzeichni-seintr"age.
 
 \erroronpage{70}{Abs.-1, Z.1-2}{JMa}{2006/01/03}{2}
-Hier fehlt ein Komma am Ende der ersten Zeile und ein Punkt am Ende des 
+Hier fehlt ein Komma am Ende der ersten Zeile und ein Punkt am Ende des
 ersten Satzes.
 
 \erroronpage{73}{Abs.2, Z.4}{JMa}{2006/01/03}{2}
@@ -526,7 +526,7 @@
 Hier fehlt ein Komma vor ``wenn sie durch''.
 
 \erroronpage{75}{Abs.3, Z.1}{JMa}{2006/01/03}{2}
-Es fehlen zwei Buchstaben: ``ohne daf"ur einen eigen\u{en} Abstand 
+Es fehlen zwei Buchstaben: ``ohne daf"ur einen eigen\u{en} Abstand
 einzuf"ugen''.
 
 
@@ -540,12 +540,12 @@
 Kein Komma vor und bei einer Aufzählung.
 
 \erroronpage{109}{Abs.\ 2, Z.\ 5}{RHe}{2006/06/10}{2}
-   Streiche Kommata: "`Möglich\_ und absolut nicht unwahrscheinlich\_ ist 
+   Streiche Kommata: "`Möglich\_ und absolut nicht unwahrscheinlich\_ ist
 beispielsweise, \dots{}"'
 
 \erroronpage{114}{para 3}{FMi/CBe}{2005/09/02}{2}
 Ersetze Absatz durch: "`Da es nicht empfehlenswert ist, die Einstellung von
-|\baselineskip| 
+|\baselineskip|
 direkt zu ändern, verfügt \LaTeX{} über den Befehl |\lineskip|\,, mit
 dem sich |\baselineskip| global für alle Größen ändern lässt.  Nach
 einer Anweisung wie etwa \verb!\linespread{1.5}\selectfont!  tritt der neue
@@ -558,22 +558,22 @@
 
 
 \erroronpage{117}{3.2.1 Abs.\ 2, Z.\ 7}{RHe}{2006/06/10}{2}
-   Trennung der Hauptsätze: "`\dots{} der Zähler \texttt{footnote} wird 
+   Trennung der Hauptsätze: "`\dots{} der Zähler \texttt{footnote} wird
 weiter hochgesetzt, und die Darstellung erfolgt \dots{}"'
 
 \erroronpage{119}{Abs.\ 2, Z.\ 3}{RHe}{2006/06/10}{2}
-   Da die Beispiele unmittelbar folgen: "`\dots{} schematisch 
+   Da die Beispiele unmittelbar folgen: "`\dots{} schematisch
 dargestellt \u{und bedeuten}:"'
 
-%%Ebenfalls als Vorschlag zur Neuformulierung -- weil es um zwei 
-%%unterschiedliche Aspekte geht, sollte durch Punkt oder Semikolon 
+%%Ebenfalls als Vorschlag zur Neuformulierung -- weil es um zwei
+%%unterschiedliche Aspekte geht, sollte durch Punkt oder Semikolon
 %%getrennt werden:
 %
 % -maybe differently
 \erroronpage{121}{3.2.3 Abs.\ 2, Z.\ 3}{RHe}{2006/06/10}{2}
-   "`\u{Es wird ausreichend} Abstand zwischen 
-Fußnoten und Text gelassen 
-und die Fußnoten werden in einem kleineren Schriftgrad 
+   "`\u{Es wird ausreichend} Abstand zwischen
+Fußnoten und Text gelassen
+und die Fußnoten werden in einem kleineren Schriftgrad
 gesetzt."'
 
 
@@ -594,8 +594,8 @@
 
 
 \erroronpage{149}{Abs.\ 1, Z.\ 3}{RHe/FMi}{2006/06/10}{2}
-Ersetze: "`Bei vielen dieser Argumente wird der unten aufgeführte, voreingestellte 
-Wert verwendet, wenn ein leeres Argument angegeben wird. 
+Ersetze: "`Bei vielen dieser Argumente wird der unten aufgeführte, voreingestellte
+Wert verwendet, wenn ein leeres Argument angegeben wird.
 \>
 "`Bei vielen dieser Argumente erhält man den unten aufgeführten voreingestellten
 Wert, wenn ein leeres Argument angegeben wird."'
@@ -603,7 +603,7 @@
 
 
 
-\erroronpage{149}{Argument \textit{kopf-nach-abstand}, Z.\ 
+\erroronpage{149}{Argument \textit{kopf-nach-abstand}, Z.\
 2}{RHe}{2006/06/10}{2}
    Streiche Anführungszeichen bei "`Interpunktion"'.
 
@@ -617,11 +617,11 @@
   leben muss.
 
 \erroronpage{159}{Abs.\ -1, Z.\ 1}{RHe}{2006/06/10}{2}
-   "`\dots{} unverändert, also "`wie über die Tastatur eingegeben"'\u{,} 
+   "`\dots{} unverändert, also "`wie über die Tastatur eingegeben"'\u{,}
 darstellen."'
 
 \erroronpage{160}{Abs.\ 2, Z.\ 2}{RHe}{2006/06/10}{2}
-   Anstelle "`extensiv"': "`\dots{} in der Vergangenheit \emph{intensiv} 
+   Anstelle "`extensiv"': "`\dots{} in der Vergangenheit \emph{intensiv}
 genutzt wurden, \dots{}"'
 
 \erroronpage{163}{Z.-3}{JMa}{2006/01/14}{2}
@@ -656,7 +656,7 @@
 % - but also a national one, so could stay
 %
 % \erroronpage{204}{Abs.\ 2, Z.\ -2}{RHe}{2006/06/15}{}
-%    Streiche "`DIN"' in "`DIN A4"', da A4 nationaler (DIN 476), 
+%    Streiche "`DIN"' in "`DIN A4"', da A4 nationaler (DIN 476),
 % europ\"{a}ischer (EN 20 216) und internationaler (ISO 216) Standard ist.
 
 \erroronpage{205}{Tab.\ 4.2}{YiL}{2012/05/07}{}
@@ -667,7 +667,7 @@
 
 
 \erroronpage{205}{4.2, Abs.\ 1, Z.\ 5}{RHe}{2006/06/15}{2}
-   F\"{u}ge Komma ein: "`\dots{} nicht v\"{o}llig unm\"{o}glich ist\u, sie 
+   F\"{u}ge Komma ein: "`\dots{} nicht v\"{o}llig unm\"{o}glich ist\u, sie
 \dots{} zu \"{a}ndern, \dots{}"'.
 
 \erroronpage{208}{Z. 1}{JMa}{2006/01/27}{2}
@@ -674,7 +674,7 @@
 Fehlendes Komma: "`zwei Pakete\u, mit deren"'
 
 \erroronpage{210}{Abs.\ 5, Z.\ 5}{RHe}{2006/06/15}{2}
-   Streiche Komma vor der Klammer: "`\dots{} von Listen Verwendung 
+   Streiche Komma vor der Klammer: "`\dots{} von Listen Verwendung
 finden\_ (\dots{})."'
 
 \erroronpage{210}{Abs.6, Z.-1}{JMa}{2006/01/27}{2}
@@ -681,7 +681,7 @@
 Fehlendes Komma: "`abliest), kann man"'
 
 \erroronpage{213}{Abs.\ 3, Z.\ -1}{RHe}{2006/06/15}{2}
-   F\"{u}ge Komma ein: "`\dots{} kann es angebracht sein, ihn 
+   F\"{u}ge Komma ein: "`\dots{} kann es angebracht sein, ihn
 einzubeziehen."'
 
 \erroronpage{213}{Abs.\ 2, Z.\-1}{FMi}{2006/09/25}{2}
@@ -692,30 +692,30 @@
      Es sollte wohl "`die ein\u{e} oder andere Einstellung"' hei"sen.
 
 \erroronpage{218}{Abs.\ 1, Z.\ 6}{RHe}{2006/06/15}{2}
-   F\"{u}ge Komma ein: "`\dots{} ist es jedoch besser, 
+   F\"{u}ge Komma ein: "`\dots{} ist es jedoch besser,
 \texttt{ignorehead} \dots{} zu verwenden."'
 
 % Über das nächste Infinitivproblem kann man sich durchaus streiten:
 \erroronpage{218}{Abs.\ 2, Z.\ -2}{RHe}{2006/06/15}{2}
-   F\"{u}ge Komma ein: "`\dots{} liegt es beim Anwender, 
+   F\"{u}ge Komma ein: "`\dots{} liegt es beim Anwender,
 sicherzustellen, dass \dots{}"'
 
 \erroronpage{218}{Abs.\ -1, Z.\ -3}{RHe}{2006/06/15}{2}
-   F\"{u}ge Komma ein: "`Da diese Option Fonts skaliert, anstatt 
+   F\"{u}ge Komma ein: "`Da diese Option Fonts skaliert, anstatt
 Originalfonts \dots{} einzusetzen, \dots{}"'
 
 \erroronpage{219}{Abs.\ -1, Z.\ -4ff}{RHe}{2006/06/15}{2}
-   F\"{u}ge "`werden"' ein und streiche Komma vor dem letzten Abschnitt 
-der Aufz\"{a}hlung: "`Zun\"{a}chst wird das Paket geladen, alle 
-R\"{a}nder \u{werden} auf einen Zoll gesetzt\_ und die Kolumnentitel \dots{} 
+   F\"{u}ge "`werden"' ein und streiche Komma vor dem letzten Abschnitt
+der Aufz\"{a}hlung: "`Zun\"{a}chst wird das Paket geladen, alle
+R\"{a}nder \u{werden} auf einen Zoll gesetzt\_ und die Kolumnentitel \dots{}
 festgelegt; \dots{}"'
 
 \erroronpage{220}{Abs.\ 1, Z.\ 3}{RHe}{2006/06/15}{2}
-   F\"{u}ge Komma zwischen den Haupts\"{a}tzen ein: "`\dots{} des 
+   F\"{u}ge Komma zwischen den Haupts\"{a}tzen ein: "`\dots{} des
 Paketes wieder her, und bei \verb"pass" wird das Paket deaktiviert."'
 
 \erroronpage{221}{Aufz. cam, Z.\ 1}{RHe}{2006/06/15}{2}
-   F\"{u}ge Komma ein: "`\dots{} welche die Ma{\ss}e der Nettoseite 
+   F\"{u}ge Komma ein: "`\dots{} welche die Ma{\ss}e der Nettoseite
 anzeigen, ohne sie zu ber\"{u}hren (\dots{})."'
 
 \erroronpage{221}{para 4, l.4}{FMi}{2006/09/09}{2}
@@ -727,23 +727,23 @@
 \textsf{crop} erst \dots{} geladen werden sollte."'
 
 \erroronpage{221}{Abs.\ -1, Z.\ 3}{RHe}{2006/06/15}{2}
-   F\"{u}ge Komma ein: "`\dots{} normalerweise ist es n\"{u}tzlich, ihn 
+   F\"{u}ge Komma ein: "`\dots{} normalerweise ist es n\"{u}tzlich, ihn
 beizubehalten."'
 
 \erroronpage{222}{Abs.\ 1, Z.\ 3}{RHe}{2006/06/15}{2}
-   F\"{u}ge Komma ein: "`\dots{} versucht das Paket, den Druckertreiber 
+   F\"{u}ge Komma ein: "`\dots{} versucht das Paket, den Druckertreiber
 \dots{} zu bestimmen."'
 
 \erroronpage{223}{4.3, Abs.\ 1, Z.\ 2}{RHe}{2006/06/17}{2}
-   Füge Komma ein: "`\dots{} sammelt genug Material, um gut eine Seite 
+   Füge Komma ein: "`\dots{} sammelt genug Material, um gut eine Seite
 \dots{}"'
 
 \erroronpage{224}{Abs.\ -1, Z.\ 2}{RHe}{2006/06/17}{2}
-   Füge Komma ein: "`\dots{} entspricht dem Inhalt von \verb"\thepage", 
+   Füge Komma ein: "`\dots{} entspricht dem Inhalt von \verb"\thepage",
 wie er auf der \dots{}"'
 
 \erroronpage{225}{Abs.\ 1, Z.\ 1}{RHe}{2006/06/17}{2}
-   Füge Komma ein: "`\dots{} mithilfe von \verb"\AtEndDocument", um 
+   Füge Komma ein: "`\dots{} mithilfe von \verb"\AtEndDocument", um
 sicherzugehen, dass \dots{}"'
 
 \erroronpage{229}{Abs.\ 2, Z.\ 8,10,-1}{RHe}{2006/06/17}{2}
@@ -755,11 +755,11 @@
 
 
 \erroronpage{233}{Abs.\ 2, Z.\ 5}{RHe}{2006/06/17}{2}
-   Füge Komma ein: "`\dots{} um Längenparameter, sondern um Befehle 
+   Füge Komma ein: "`\dots{} um Längenparameter, sondern um Befehle
 \dots{}"'
 
 \erroronpage{234}{Abs.\ 1, Z.\ 7}{RHe}{2006/06/17}{2}
-   Ersetze Semikolon durch Komma und füge Wort ein: "Der Seitentyp wird mit `\dots{} 
+   Ersetze Semikolon durch Komma und füge Wort ein: "Der Seitentyp wird mit `\dots{}
 ausgewählt\u, der Bereich \u{dagegen} mit \dots{}"'
 
 
@@ -768,11 +768,11 @@
 
 
 \erroronpage{247}{Abs.\ 3, Z.\ 2}{RHe}{2006/06/17}{2}
-   Füge Komma ein: "`\dots{} dass sie fähig sein müssen, innerhalb des 
+   Füge Komma ein: "`\dots{} dass sie fähig sein müssen, innerhalb des
 Textes \dots{}"'
 
 \erroronpage{249}{Abs.3 in 5.1.1}{JMa}{2006/01/27}{2}
-Dieser Satz steht schon am Ende des ersten Absatzes dieses 
+Dieser Satz steht schon am Ende des ersten Absatzes dieses
 Abschnitts.
 
 \erroronpage{251}{Abs.\ -1}{FMi/CBe}{2005/09/02}{2}
@@ -783,7 +783,7 @@
 
 % -check
 \erroronpage{252}{Tabelle 5.2}{RHe}{2006/06/17}{2}
-   Ersetze alle amerikanischen Auslassungszeichen \{..\} durch deutsche 
+   Ersetze alle amerikanischen Auslassungszeichen \{..\} durch deutsche
 \{\dots{}\}.
 
 \erroronpage{253}{Z. -2}{JMa}{2006/01/27}{2}
@@ -796,7 +796,7 @@
    Füge Komma ein: "`\dots{} üblicher, Farben \dots{} einzusetzen"'
 
 \erroronpage{269}{Abs.5, Z.1}{JMa}{2006/01/27}{2}
-\LaTeX-Trennfehler: Standar-dumgebung. \> Standard-umgebung 
+\LaTeX-Trennfehler: Standar-dumgebung. \> Standard-umgebung
 
 \erroronpage{277}{Abs.\ 1, Z.\ 1}{RHe}{2006/06/20}{2}
  Ersetze Anfang durch: "`Eine der Schwierigkeiten, \LaTeX{}-Tabellen mit außergewöhnlich
@@ -804,7 +804,7 @@
  \dots"'
 
 \erroronpage{277}{Abs.\ -2, Z.\ 2}{RHe}{2006/06/20}{2}
-   Füge Komma ein: "`\dots{} optionales Argument, ähnlich dem von 
+   Füge Komma ein: "`\dots{} optionales Argument, ähnlich dem von
 \verb"\\"\u, erweitert."'
 
 \erroronpage{277}{Abs.\ -1, Z.\ 1}{RHe}{2006/06/20}{2}
@@ -841,7 +841,7 @@
 Es muss "`in den Abschnitte\u{n} 6.2.1 bzw. 6.2.2"' hei\ss{}en.
 
 \erroronpage{304}{Z.-5}{JMa}{2006/02/04}{2}
-Es muss "`{}"uber ein zus"atzliche\u{s} obligatorisches Argument"' 
+Es muss "`{}"uber ein zus"atzliche\u{s} obligatorisches Argument"'
 hei\ss{}en.
 
 \erroronpage{306}{Abs.\ -2, Z.\ 2}{RHe}{2006/08/07}{2}
@@ -910,7 +910,7 @@
 
 \erroronpage{358}{Abs.5, Z.6+7}{JS}{2006/11/08}{2}
  Ersetze:
-  "`Die \u{Computer Modern Typewriter und} Computer Modern Sans Fonts 
+  "`Die \u{Computer Modern Typewriter und} Computer Modern Sans Fonts
    verfügen nicht über \u{breite} sondern nur über breitfette"'
  \>
   "`Die Computer Modern Sans Fonts
@@ -918,7 +918,7 @@
 
 \erroronpage{361}{Tab 7.4}{AFV}{2008/08/08}{s}
 Die Tabelle zeigt |\mathtt| als Sans Serif Typewriter Font. Dies ist
-normalerweise nicht der Fall -- fast jede \LaTeX{} Installation verwendet 
+normalerweise nicht der Fall -- fast jede \LaTeX{} Installation verwendet
 Computer Modern Typewriter.
 
 \erroronpage{362}{Abs.-1, Z.4}{JMa}{2006/02/27}{2}
@@ -957,7 +957,7 @@
 Fehlendes Komma: "`werden, normalerweise ohnehin"'
 
 \erroronpage{407}{Bsp. 7-7-21, 7-7-22}{TNdz}{2006/01/20}{2}
-    Fehlendes Komma: "`\ldots ist ein Blindtext, an dem sich 
+    Fehlendes Komma: "`\ldots ist ein Blindtext, an dem sich
     verschiedene \ldots"´
 
 \erroronpage{416}{Kapitel 7.8.6, Z.8}{RSi}{2005/12/07}{2}
@@ -1027,7 +1027,7 @@
 Ersetze:  "`gültigen US-Praxis"' \> "`vorherrschenden Praxis"'
 
 \erroronpage{494}{8.2.12 Abs.\ 1, Z.\ 5}{RHe}{2008/09/19}{2}
-   Füge Kommata ein: "`Die Schwierigkeit\u{,} eine abgesetzte Formel 
+   Füge Kommata ein: "`Die Schwierigkeit\u{,} eine abgesetzte Formel
 korrekt zu gestalten\u{,} kann \dots{}"'
 
 \erroronpage{496}{Abs.2, Z.1/2}{JMa}{2006/03/05}{2}
@@ -1034,12 +1034,12 @@
 Trennfehler: Mark-up sieht deutlich besser aus als Mar-kup.
 
 \erroronpage{496}{Abs.\ 3 (nach Bsp. 8-2-28), Z.\ 2}{RHe}{2008/09/19}{2}
-   Füge Komma ein: "`\dots{} allerdings \emph{nur}\u{,} wenn sie \dots{} 
+   Füge Komma ein: "`\dots{} allerdings \emph{nur}\u{,} wenn sie \dots{}
 verschoben wurde."'
 
 \erroronpage{503}{8.4.4 Abs.\ 1, Z.\ 3}{RHe}{2008/09/19}{2}
-   Lösche Komma (Regel §~72.2 "`gleichrangige Wortgruppen oder Wörter in 
-Aufzählungen (entweder -- oder)"'): "`\dots{} können entweder \dots{} 
+   Lösche Komma (Regel §~72.2 "`gleichrangige Wortgruppen oder Wörter in
+Aufzählungen (entweder -- oder)"'): "`\dots{} können entweder \dots{}
 positioniert werden\u{ } oder \dots{} rechts der Operatoren."'
 
 \erroronpage{504}{Abs.-2,Z.3}{JMa}{2006/03/05}{2}
@@ -1064,7 +1064,7 @@
 Streiche ein "`die"'.
 
 \erroronpage{518}{8.7.5 Abs.\ 3 , Z.\ 3}{RHe}{2008/09/19}{2}
-   Füge Komma ein: "`\dots{} und verhält sich somit\u{,} als wären beide 
+   Füge Komma ein: "`\dots{} und verhält sich somit\u{,} als wären beide
 Maße gleich null."'
 
 \erroronpage{535}{Abs. 1, Z. 5}{RHe}{2008/09/19}{2}
@@ -1073,11 +1073,11 @@
 
 \erroronpage{544}{Tab. 8-10/11}{FMi}{2006/08/09}{2}
    Fehlende Symbole aus amssymb hinzugef"ugt: |\circledR|, |\yen|,
-   |\checkmark| und |\maltese|. 
+   |\checkmark| und |\maltese|.
 
 \erroronpage{544}{Tab. 8.11}{LHe}{2008/02/08}{s}
     |\dag| und |\ddag| sind |\mathord|s und nicht |\mathbin| wie in Tabelle
-    8.13 behauptet. 
+    8.13 behauptet.
 
 \erroronpage{546}{Tab. 8.13}{LHe}{2008/02/08}{s}
     |\dag| und |\ddag| sind keine |\mathbin|s. Sie geh"oren deshalb nicht in
@@ -1085,7 +1085,7 @@
     und |\ddagger|.
 
 \erroronpage{552}{8.9.6 Abs.\ 1 , Z.\ 4}{RHe}{2008/09/19}{2}
-   Füge Komma ein: "`\dots{} nicht der Symbolklasse Punctuation\u{,} 
+   Füge Komma ein: "`\dots{} nicht der Symbolklasse Punctuation\u{,}
 sondern Ordinary \dots{} zugeordnet sind."'
 
 \erroronpage{554}{Tab. 8-27}{DIs/FMi}{2006/08/09}{2}
@@ -1107,7 +1107,7 @@
   Und zudem die Seite eine Zeile zu lang.
 
 \erroronpage{560}{Z.\ -5}{RHe/FMi}{2006/09/21}{2}
-Ersetze: "`der Übersetzungen \u{für} Texte"' \> 
+Ersetze: "`der Übersetzungen \u{für} Texte"' \>
          "`der Übersetzungen generierter Texte"'
 
 
@@ -1150,7 +1150,7 @@
    Streiche Komma: "Wie der Befehl \verb"\nombre"\_ verfügt er \dots{}"'
 
 \erroronpage{590}{Abs.1, Z.5/6}{JMa}{2006/03/14}{2}
-Wenn  "`rumakeindex"' getrennt werden muss, sieht "`rumake-index"' deutlich 
+Wenn  "`rumakeindex"' getrennt werden muss, sieht "`rumake-index"' deutlich
 besser aus.
 
 \erroronpage{599}{Abs.2, Z.2}{JMa}{2006/03/14}{2}
@@ -1172,11 +1172,11 @@
 aufgelisteten Treiber nur von historischer Bedeutung.
 
 \erroronpage{634}{Abs. 1, Z. 1}{RHe}{2006/10/16}{2}
-Füge Komma ein: "`\dots{} reelle Werte haben)\u{,} anstatt nach 
+Füge Komma ein: "`\dots{} reelle Werte haben)\u{,} anstatt nach
 \dots{}"'
 
 \erroronpage{637}{Abs. 1, Z. 1}{RHe}{2006/10/16}{2}
-Füge Komma ein: "`Lässt \LaTeX{} nach \dots{} suchen\u{,} anstatt nach 
+Füge Komma ein: "`Lässt \LaTeX{} nach \dots{} suchen\u{,} anstatt nach
 \dots{}"'
 
 \erroronpage{637}{viewport}{BMo/FMi}{2007/10/20}{s}
@@ -1203,9 +1203,9 @@
   internal default.
 
 \erroronpage{651}{Abs. -1, Z. 1}{RHe}{2006/10/16}{2}
-Ersetze: "`Die \dots{} Funktion ähnelt dem des \textsf{rotating}-Paketes 
+Ersetze: "`Die \dots{} Funktion ähnelt dem des \textsf{rotating}-Paketes
 \dots{}"'
- \>"`Die \dots{} Funktion ähnelt der des \textsf{rotating}-Paketes 
+ \>"`Die \dots{} Funktion ähnelt der des \textsf{rotating}-Paketes
 \dots{}"'
 
 \erroronpage{652}{editorial change}{FMi}{2006/10/21}{2}
@@ -1334,7 +1334,7 @@
 Streiche das Komma nach \texttt{size}.
 
 \erroronpage{821}{Tab.13.4, Z.-4}{JMa}{2006/04/11}{2}
-F"uge ein Leerzeichen nach "`Fachzeitschriften"' ein. Ferner ist die 
+F"uge ein Leerzeichen nach "`Fachzeitschriften"' ein. Ferner ist die
 "'Tabellen"uberschrift"' nicht im \textsf{sf}-Format.
 
 \erroronpage{828}{Tab. 13.5, Z. 1-2}{MSch}{2006/01/06}{2}
@@ -1351,7 +1351,7 @@
 F"uge ein Leerzeichen vor "`hat"' ein.
 
 \erroronpage{842}{Abs.1, Z.-2}{JMa}{2006/04/11}{2}
-Entweder fehlt hier eine "offnende Klammer -- oder die schlie\ss{}ende ist 
+Entweder fehlt hier eine "offnende Klammer -- oder die schlie\ss{}ende ist
 zu viel.
 
 
@@ -1397,15 +1397,15 @@
 Ersetze: Abschnitte \> Abschnitten
 
 \erroronpage{888}{fig A.1, l.4}{FMi/JAn}{2005/09/09}{2}
-    ``Did\^ot'' \> ``Didot'' und entferne Komma nach "`Zoll"' 
+    ``Did\^ot'' \> ``Didot'' und entferne Komma nach "`Zoll"'
 
 \erroronpage{891}{Tab.A.3, Z.1}{JMa}{2006/05/03}{2}
 F"uge ein Komma vor "`der eine feste oder"' ein.
 
 \erroronpage{899}{A.2.3 Abs.\ 2, Z.\ 5}{RHe}{2006/06/10}{2}
-   Füge Komma ein: "`Diese Struts sind sehr nützlich, um die Höhe oder 
+   Füge Komma ein: "`Diese Struts sind sehr nützlich, um die Höhe oder
 \dots{}"'
-  
+
 \erroronpage{903}{Abs.-2, Z.1}{FMi}{2006/06/14}{2}
 Füge Wort ein:  "`nach der \u{letzten} Klammer \verb=}= und\ldots"'
 
@@ -1485,7 +1485,7 @@
 \CHAPTER{Bibliographie}
 
 \erroronpage{1017}{[57]}{RHe}{2006/06/07}{2}
-Ersetzte Erl\"auterung durch: "`Die 
+Ersetzte Erl\"auterung durch: "`Die
 \u{englische} erste Ausgabe dieses Buches."'
 
 \erroronpage{1017/1018}{[58]}{FMi}{2009/08/01}{s}
@@ -1502,9 +1502,9 @@
   Füge ``Lars Hellstr\"om'' als Autor hinzu. Datum ``Dezember 2004''
 
 \erroronpage{1025}{[116,  Z.\ 2]}{RHe}{2006/06/07}{2}
-   Vergleich mit "`(eben)so \dots{} setzen kann, wie sonst \dots{}"' 
+   Vergleich mit "`(eben)so \dots{} setzen kann, wie sonst \dots{}"'
 erfordert Komma
- 
+
 \erroronpage{1026}{[127], Z.1}{JMa}{2006/05/28}{2}
 F"uge ein Komma vor "`welche"' ein.
 
@@ -1559,7 +1559,7 @@
 
 \CHAPTER{Biographien}
 
-\erroronpage{1129}{Abs. 2, Z.3}{SZi}{2005/11/24}{2} 
+\erroronpage{1129}{Abs. 2, Z.3}{SZi}{2005/11/24}{2}
   l"osche g aus Dok\u{g}umente
 
 \end{erratalist}
@@ -1594,7 +1594,7 @@
 \contributor{RSi}{Roman Sigg}
 \contributor{SNe}{Stefan Neuhaus}
 \contributor{SZi}{Stefan Ziesemer}
-\contributor{TNdz}{Timo Niedenzu} 
+\contributor{TNdz}{Timo Niedenzu}
 \contributor{VVo}{Vladimir Volovich}
 \contributor{YiL}{Yiannis Lazarides}
 \end{multicols}
@@ -1613,7 +1613,7 @@
 Hier ist ein Beispiel:
 \begin{verbatim}
 \erroronpage{5}{Abs.3, Z.1}{MOs}{2005/09/01}{}
-   Ersetze: "`LaTeX"' \> "`\LaTeX{}"' 
+   Ersetze: "`LaTeX"' \> "`\LaTeX{}"'
 \end{verbatim}
 Die Verwendung von Babelkommandos (etwa |"`|) ist möglich, aber Umlaute
 sollten möglichst nicht als 8-bit Zeichen eingegeben werden (also besser |"a|

Modified: trunk/Master/texmf-dist/doc/latex/base/lb2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/legal.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/legal.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/legal.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,5 +1,5 @@
         LaTeX Copyright, Warranty and Distribution Restrictions
- 
+
                            31 March 2016
 
 
@@ -28,7 +28,7 @@
 in the file lppl.txt.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 The use of LaTeX is unrestricted.
@@ -45,4 +45,3 @@
 
 The list of all derived (unpacked) files belonging to the distribution
 and covered by LPPL is given in the file unpacked.txt.
-

Modified: trunk/Master/texmf-dist/doc/latex/base/letter.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/lgc2.err
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/lgc2.err	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/lgc2.err	2020-02-02 22:42:01 UTC (rev 53640)
@@ -18,7 +18,7 @@
 \begin{filecontents}{ttcterrata.cls}
 %%
 %% Copyright (C) 1997,2004,2005,2007 Frank Mittelbach
-%% This class file is licenced under LPPL latest version; 
+%% This class file is licenced under LPPL latest version;
 %% see https://www.latex-project.org/lppl
 %
 %
@@ -28,7 +28,7 @@
 %    Tools and Techniques for Computer Typesetting
 %
 % hence the name. However, anybody who likes to use it is free to apply it for
-% errata files of other books. 
+% errata files of other books.
 %
 % Changes:
 %
@@ -187,7 +187,7 @@
 
 % some special shortcuts overwriting existing commands:
 
-\let\u\underline 
+\let\u\underline
 \renewcommand\>{$\to$}
 
 %%% some code suggested by Thorsten Hansen to count the number of
@@ -197,7 +197,7 @@
 \def\count at contributors#1/#2/#3\@nil{
    \@ifundefined{c@#1}{\newcounter{#1}}{}\stepcounter{#1}%
 %%%   also count secondary:
-%%%   \@ifundefined{c@#2}{\newcounter{#2}}{}\stepcounter{#2}% 
+%%%   \@ifundefined{c@#2}{\newcounter{#2}}{}\stepcounter{#2}%
 }
 
 \renewcommand\erroronpage[5]{%
@@ -214,7 +214,7 @@
    \displayrevisionfix{#1}{#5}
    \hideamp #2 \hideamp (\textsf{#3}) \hideamp
 }
- 
+
 \renewcommand\seriouserroronpage[5]{%
    \count at contributors#3/secondary/\@nil
    \endgobble
@@ -232,7 +232,7 @@
 }
 
 \renewcommand\contributor[2]{\makebox[1cm][l]{%
-  \sffamily#1} #2\@ifundefined{c@#1}{}{ (\arabic{#1})}\par} 
+  \sffamily#1} #2\@ifundefined{c@#1}{}{ (\arabic{#1})}\par}
 
 \end{filecontents}
 
@@ -240,12 +240,12 @@
 \begin{filecontents}{\jobname.cfg}
 %
 %
-% Configuration file for the errata listing of 
+% Configuration file for the errata listing of
 %
 %  The LaTeX Graphics Companion, Second Edition
 %
 %
-% \erratastartdate 
+% \erratastartdate
 %
 % Specifies the date from which on errata entries should be listed.
 %
@@ -267,9 +267,9 @@
 %    listing.
 %
 % The default below ensures that all entries relevant to the x-th
-%    printing are typeset. 
-%    
+%    printing are typeset.
 %
+%
 
 \renewcommand\myprinting{2}
 
@@ -351,7 +351,7 @@
 \end{center}
 
 Any mistake found and reported is a gain for all readers of our book.
-For this reason Addison-Wesley and the authors offer a prize (for 6 
+For this reason Addison-Wesley and the authors offer a prize (for 6
 periods) to the eligible person who finds the largest
 number of bugs during that period (in case of a draw a random choice
 will be made between all those with the largest number of findings).
@@ -366,7 +366,7 @@
 As usual, the authors and publisher reserve the right to make various
 decisions such as whether a reported feature is an error for
 competitive purposes or whether similar features count as a single or
-multiple errors.  --- 
+multiple errors.  ---
 Good luck!
 
 \begin{center}
@@ -395,9 +395,9 @@
    To help you in assessing this errata document we have placed
    exclamation marks in front of each entry that we consider essential
    for correctly understanding the book contents.
-   
-\erroronpage{general}{}{FMi}{2007/07/01}{} 
-   
+
+\erroronpage{general}{}{FMi}{2007/07/01}{}
+
    Due to the printing process there may be small alignment problems
    between blue and black text on some pages. These can vary from book
    to book depending on how the paper was handled between print
@@ -426,7 +426,7 @@
 \seriouserroronpage{152}{exa 4-1-15}{HjG}{2007/08/17}{2}
   Output of example is missing! Oops \ldots\ it was there honest
 
-\erroronpage{177}{para 2, l.1}{MiV}{2008/05/22}{2} 
+\erroronpage{177}{para 2, l.1}{MiV}{2008/05/22}{2}
 Missing interword space: ``Flowcharts\u{ }are''
 
 \CHAPTER{Chapter 5}
@@ -451,11 +451,11 @@
 \end{pspicture}
 \end{verbatim}
 
-\erroronpage{240}{para 4, l.8}{MiV}{2008/05/22}{2} 
+\erroronpage{240}{para 4, l.8}{MiV}{2008/05/22}{2}
 Remove  backslash in:
  ``keyword setting \verb/\showpoints=true/''
 
-\erroronpage{254}{Ex 5-9-1}{MiV}{2008/05/22}{} 
+\erroronpage{254}{Ex 5-9-1}{MiV}{2008/05/22}{}
 The blue circle shouldn't be visible behind the black circle. This is a
 problem due to the printing process used for the book---it does not show up on
 all books.
@@ -469,7 +469,7 @@
 \CHAPTER{Chapter 6}
 
 \erroronpage{335}{para 5, l.4}{JMi}{2008/06/23}{2}
-``\ldots{} summarized in \u{Table} 5.2 \ldots" \> ``\ldots{} summarized in 
+``\ldots{} summarized in \u{Table} 5.2 \ldots" \> ``\ldots{} summarized in
 \u{Figure} 5.2 \ldots''
 
 \erroronpage{406}{margin}{hv}{2007/08/20}{2}
@@ -492,17 +492,17 @@
 
 \CHAPTER{Chapter 8}
 
-\erroronpage{514}{tab. 8.3}{FMi}{2008/012/21}{2} 
+\erroronpage{514}{tab. 8.3}{FMi}{2008/012/21}{2}
 Slightly increase spacing after hline.
 
-\erroronpage{515}{tab. 8.4}{MiV}{2008/05/22}{2} 
+\erroronpage{515}{tab. 8.4}{MiV}{2008/05/22}{2}
 There should be vertical spacing in the first line (superscript $10^{24}$
 touches top line)
 
-\seriouserroronpage{579}{para 2, l.3}{MiV}{2008/05/22}{2} 
+\seriouserroronpage{579}{para 2, l.3}{MiV}{2008/05/22}{2}
  \verb=\ln= \>  \verb=\nl= (this will also change the index entry)
 
-\erroronpage{583}{para 4, l.9}{MiV}{2008/05/22}{2} 
+\erroronpage{583}{para 4, l.9}{MiV}{2008/05/22}{2}
 Replace: ``of the voltage $V_C$'' \> ``of the voltage $v_C$''
 
 \CHAPTER{Chapter 9}
@@ -528,15 +528,15 @@
 \erroronpage{720}{6th item}{MiV}{2008/05/22}{2}
 Replace: ``documentwide'' \> ``\u{D}ocumentwide''
 
-\erroronpage{726}{para 2, l.2}{MiV}{2008/05/22}{2} 
+\erroronpage{726}{para 2, l.2}{MiV}{2008/05/22}{2}
 Extra space after
 parenthesis: ``( in practice''
 
-\erroronpage{740}{para 2, l.1}{MiV}{2008/05/22}{2} 
+\erroronpage{740}{para 2, l.1}{MiV}{2008/05/22}{2}
 Replace: ``given
 by \textit{start\u{ row}}'' \> ``given by \textit{start} row''
 
-\seriouserroronpage{741}{Ex 11-3-5}{MiV}{2008/05/22}{2} 
+\seriouserroronpage{741}{Ex 11-3-5}{MiV}{2008/05/22}{2}
 Usage of
 \verb=\cellcolor= might introduce extra space in the output (as one can see in
 the example).
@@ -545,11 +545,11 @@
 basic \verb=\color= command ignores spaces after it, \verb=\cellcolor= should
 behave similarly.
 
-\seriouserroronpage{744}{line after Ex 11-3-9}{MiV}{2008/05/22}{2} 
+\seriouserroronpage{744}{line after Ex 11-3-9}{MiV}{2008/05/22}{2}
 Replace: ``This does \u{not}, of course, affect'' \>
 ``This does, of course, \u{also} affect''
 
-\erroronpage{758}{para 3, l.2}{MiV}{2008/05/22}{2} 
+\erroronpage{758}{para 3, l.2}{MiV}{2008/05/22}{2}
 Add small space between values and units in frame dimension
 
 \erroronpage{760}{fig. 11.1}{MiV}{2008/05/22}{2}
@@ -561,15 +561,15 @@
 used an optional argument to |\section| to make the toc have special text for
 some reason (should be mentioned in the source though).
 
-\erroronpage{774}{2nd snytax box}{hv}{2009/05/8}{2} 
+\erroronpage{774}{2nd snytax box}{hv}{2009/05/8}{2}
 The |\transduration| command takes ``time in seconds'' as mandatory argument
 (and not ``key/vals'')
 
-\erroronpage{779}{para 3, l.1}{MiV}{2008/05/22}{2} 
+\erroronpage{779}{para 3, l.1}{MiV}{2008/05/22}{2}
 ``in not shown''\>
 ``\u{is} not shown''
 
-\erroronpage{794}{exa 11--4-36}{hv}{2009/05/12}{2} 
+\erroronpage{794}{exa 11--4-36}{hv}{2009/05/12}{2}
 Replace ``pic2e'' \> ``pic\u{t}2e'' in output, corresponding input not
 displayed in the book.
 
@@ -592,7 +592,7 @@
 
 \CHAPTER{Bibliography}
 
-\erroronpage{822}{entry [32]}{MiV}{2008/05/22}{2} 
+\erroronpage{822}{entry [32]}{MiV}{2008/05/22}{2}
 Use capital C in ``Lecture Notes in computer Science''
 
 \erroronpage{823}{entry [35]}{JPFD}{2007/09/05}{2}
@@ -602,27 +602,27 @@
   An updated version of the manual can be downloaded from
   \url{https://www.tug.org/docs/metapost/mpman.pdf}
 
-\erroronpage{825}{entry [50]}{FMi}{2008/12/21}{2} 
+\erroronpage{825}{entry [50]}{FMi}{2008/12/21}{2}
 Use capital C in ``Lecture Notes in computer Science''
 
-\erroronpage{826}{entry [59]}{FMi}{2008/12/21}{2} 
+\erroronpage{826}{entry [59]}{FMi}{2008/12/21}{2}
   Add web url: \url{http://archiv.dante.de/DTK/PDF/komoedie_2002_1.pdf}
 
-\erroronpage{826}{entry [60]}{FMi}{2008/12/21}{2} 
+\erroronpage{826}{entry [60]}{FMi}{2008/12/21}{2}
     Add web url: \url{http://archiv.dante.de/DTK/PDF/komoedie_2002_2.pdf}
 
- \erroronpage{828}{entry [60]}{FMi}{2008/12/21}{2} 
+ \erroronpage{828}{entry [60]}{FMi}{2008/12/21}{2}
     Add web url: ``Sample chapter
   at: \url{https://www.latex-project.org/help/books/}''
 
- \erroronpage{829/830}{editorial change}{FMi}{2008/12/21}{2} 
+ \erroronpage{829/830}{editorial change}{FMi}{2008/12/21}{2}
     Page breaks changed due to other changes
 
-\erroronpage{833}{entry [128]}{FMi}{2008/12/21}{2} 
+\erroronpage{833}{entry [128]}{FMi}{2008/12/21}{2}
   Url changed to: \url{obsolete/graphics/pstricks/doc/code/pst-code.pdf}
 
 
-\erroronpage{833}{entry [129]}{FMi}{2008/12/21}{2} 
+\erroronpage{833}{entry [129]}{FMi}{2008/12/21}{2}
   Url changed to:   \url{macros/generic/multido/}
 
 
@@ -632,16 +632,16 @@
 
 \CHAPTER{Index}
 
- \erroronpage{856/860/866}{editorial change}{FMi}{2008/12/21}{2} 
+ \erroronpage{856/860/866}{editorial change}{FMi}{2008/12/21}{2}
     changed index entries due to changes above
 
 \erroronpage{886}{col.2, l.-7}{GTa}{2010/02/10}{}
  image(METAPOST) should also reference example on p.145
 
- \erroronpage{891}{editorial change}{FMi}{2008/12/21}{2} 
+ \erroronpage{891}{editorial change}{FMi}{2008/12/21}{2}
     changed index entries due to changes above
 
- \erroronpage{910/911}{editorial change}{FMi}{2008/12/21}{2} 
+ \erroronpage{910/911}{editorial change}{FMi}{2008/12/21}{2}
     changed index entries due to changes above
 
  \erroronpage{925}{editorial change}{FMi}{2008/12/21}{2}
@@ -671,8 +671,8 @@
 Other people have sent us corrections for errors already found.
 Thanks to all of you!
 
-If you find 
-further 
+If you find
+further
 errors please report them to one of the authors, e.g.,
 \begin{quote}\ttfamily
   frank.mittelbach at latex-project.org

Modified: trunk/Master/texmf-dist/doc/latex/base/lgc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/lppl-1-0.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/lppl-1-0.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/lppl-1-0.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 LaTeX Project Public License
 ============================
- 
+
 LPPL Version 1.0  1999-03-01
 
 Copyright 1999 LaTeX3 Project
@@ -13,7 +13,7 @@
 
 The LaTeX Project Public License (LPPL) is the license under which the
 base LaTeX distribution is distributed. As described below you may use
-this licence for any software that you wish to distribute. 
+this licence for any software that you wish to distribute.
 
 It may be particularly suitable if your software is TeX related (such
 as a LaTeX package file) but it may be used for any software, even if
@@ -36,7 +36,7 @@
 Given such a notice in the file, the conditions of this document would
 apply, with:
 
-`The Program' referring to the software `pig.sty'  and 
+`The Program' referring to the software `pig.sty'  and
 `The Copyright Holder' referring to the person `M. Y. Name'.
 
 To see a real example, see the file legal.txt which carries the
@@ -45,7 +45,7 @@
 This license gives terms under which files of The Program may be
 distributed and modified. Individual files may have specific further
 constraints on modification, but no file should have restrictions on
-distribution other than those specified below. 
+distribution other than those specified below.
 This is to ensure that a distributor wishing to distribute a complete
 unmodified copy of The Program need only check the conditions in this
 file, and does not need to check every file in The Program for extra
@@ -54,7 +54,7 @@
 under a different license. You may use the parts of the text of LPPL as
 a model for your own license, but your license should not directly refer
 to the LPPL or otherwise give the impression that The Program is
-distributed under the LPPL. 
+distributed under the LPPL.
 
 
 
@@ -109,7 +109,7 @@
  * It is allowed only if the legal notice in the file does not
    expressly forbid it.
    See note below, under "Conditions on individual files".
- 
+
  * You rename the file before you make any changes to it, unless the
    file explicitly says that renaming is not required.  Any such changed
    files must be distributed under a license that forbids distribution
@@ -116,7 +116,7 @@
    of those files, and any files derived from them, under the names used
    by the original files in the distribution of The Program.
 
- * You change any `identification string' in The Program to clearly 
+ * You change any `identification string' in The Program to clearly
    indicate that the file is not part of the standard system.
 
  * If The Program includes an `error report address' so that errors
@@ -124,7 +124,7 @@
    addresses, this address must be changed in any modified versions of
    The Program, so that reports for files not maintained by the
    original program maintainers are directed to the maintainers of the
-   changed files. 
+   changed files.
 
  * You acknowledge the source and authorship of the original version
    in the modified file.
@@ -142,24 +142,24 @@
    then files with the following file extensions which have special
    meaning in LaTeX Software, have special modification rules under the
    license:
- 
+
     - Files with extension `.ins' (installation files): these files may
       not be modified at all because they contain the legal notices
       that are placed in the generated files.
- 
+
     - Files with extension `.fd' (LaTeX font definitions files): these
       files are allowed to be modified without changing the name, but
       only to enable use of all available fonts and to prevent attempts
       to access unavailable fonts. However, modified files are not
       allowed to be distributed in place of original files.
- 
+
     - Files with extension `.cfg' (configuration files): these files
       can be created or modified to enable easy configuration of the
       system.  The documentation in cfgguide.tex in the base LaTeX
       distribution describes when it makes sense to modify or generate
       such files.
- 
 
+
 The above restrictions are not intended to prohibit, and hence do
 not apply to, the updating, by any method, of a file so that it
 becomes identical to the latest version of that file in The Program.
@@ -174,7 +174,7 @@
 wish, whilst maintaining the availability, integrity and reliability of
 The Program.  If you do not see how to achieve your goal whilst
 adhering to these requirements then read the document cfgguide.tex
-in the base LaTeX distribution for suggestions. 
+in the base LaTeX distribution for suggestions.
 
 Because of the portability and exchangeability aspects of systems
 like LaTeX, The LaTeX3 Project deprecates the distribution of

Modified: trunk/Master/texmf-dist/doc/latex/base/lppl-1-1.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/lppl-1-1.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/lppl-1-1.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -44,7 +44,7 @@
 the freedom to make and distribute modified versions of The Program
 that conform with whatever technical specifications you wish while
 maintaining the availability, integrity, and reliability of
-The Program.  If you do not see how to achieve your goal while 
+The Program.  If you do not see how to achieve your goal while
 meeting these conditions, then read the document `cfgguide.tex'
 in the base LaTeX distribution for suggestions.
 
@@ -65,32 +65,32 @@
      distribution of a modified version of the file as described below
      in the subsection `Additional Conditions on Individual Files of
      The Program'.
- 
+
   2. If the file is a LaTeX software file, then you must meet any
      applicable additional conditions on the distribution of a modified
      version of the file that are described below in the subsection
      `Additional Conditions on LaTeX Software Files'.
- 
+
   3. You must not distribute the modified file with the filename of the
      original file.
- 
+
   4. In the modified file, you must acknowledge the authorship and
      name of the original file, and the name (if any) of the program
      which contains it.
- 
+
   5. You must change any identification string in the file to indicate
      clearly that the modified file is not part of The Program.
- 
+
   6. You must change any addresses in the modified file for the
      reporting of errors in the file or in The Program generally to
      ensure that reports for files no longer maintained by the original
      maintainers will be directed to the maintainers of the modified
      files.
- 
+
   7. You must distribute the modified file under a license that forbids
      distribution both of the modified file and of any files derived
      from the modified file with the filename of the original file.
- 
+
   8. You must do either (A) or (B):
 
        (A) distribute a copy of The Program (that is, a complete,
@@ -105,7 +105,7 @@
        (B) provide to those who receive the modified file information
            that is sufficient for them to obtain a copy of The Program;
            for example, you may provide a Uniform Resource Locator (URL)
-           for a site that you expect will provide them with a copy of 
+           for a site that you expect will provide them with a copy of
            The Program free of charge (either the version from which
            your modification is derived, or perhaps a later version).
 
@@ -130,8 +130,8 @@
 apply to, the updating, by any method, of a file so that it becomes
 identical to the latest version of that file of The Program.
 
- 
 
+
 A Recommendation on Modification Without Distribution
 -----------------------------------------------------
 
@@ -172,7 +172,7 @@
   - You may not modify any file with filename extension `.ins' since
     these are installation files containing the legal notices that are
     placed in the files they generate.
- 
+
   - You may distribute modified versions of files with filename
     extension `.fd' (LaTeX font definition files) under the standard
     conditions of the LPPL as described above.  You may also distribute
@@ -188,7 +188,7 @@
     extension `.cfg' (configuration files) with their original names.
     The Program may (and usually will) specify the range of commands
     that are allowed in a particular configuration file.
- 
+
 Because of portability and exchangeability issues in LaTeX software,
 The LaTeX3 Project deprecates the distribution of modified versions of
 components of LaTeX or of generally available contributed code for them,
@@ -265,7 +265,7 @@
   % of this license or (at your option) any later version.
   % The latest version of this license is in
   %   https://www.latex-project.org/lppl.txt
-  % and version 1.1 or later is part of all distributions of LaTeX 
+  % and version 1.1 or later is part of all distributions of LaTeX
   % version 1999/06/01 or later.
   %
   % This program consists of the files pig.dtx and pig.ins
@@ -295,7 +295,7 @@
    to comprise The Program.
 
  Noting Exceptional Files
-  
+
    If The Program contains any files bearing additional conditions on
    modification, or on distribution of modified versions, of those
    files (other than those listed in `Additional Conditions on LaTeX
@@ -309,6 +309,6 @@
    modification.  LaTeX configuration files (with filename extension
    `.cfg') are examples of files bearing less restrictive conditions
    on the distribution of a modified version of the file.  The
-   additional conditions on LaTeX software given above are examples 
+   additional conditions on LaTeX software given above are examples
    of declaring a category of files bearing exceptional additional
    conditions.

Modified: trunk/Master/texmf-dist/doc/latex/base/lppl-1-2.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/lppl-1-2.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/lppl-1-2.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -44,7 +44,7 @@
 the freedom to make and distribute modified versions of The Program
 that conform with whatever technical specifications you wish while
 maintaining the availability, integrity, and reliability of
-The Program.  If you do not see how to achieve your goal while 
+The Program.  If you do not see how to achieve your goal while
 meeting these conditions, then read the document `cfgguide.tex'
 in the base LaTeX distribution for suggestions.
 
@@ -65,32 +65,32 @@
      distribution of a modified version of the file as described below
      in the subsection `Additional Conditions on Individual Files of
      The Program'.
- 
+
   2. If the file is a LaTeX software file, then you must meet any
      applicable additional conditions on the distribution of a modified
      version of the file that are described below in the subsection
      `Additional Conditions on LaTeX Software Files'.
- 
+
   3. You must not distribute the modified file with the filename of the
      original file.
- 
+
   4. In the modified file, you must acknowledge the authorship and
      name of the original file, and the name (if any) of the program
      which contains it.
- 
+
   5. You must change any identification string in the file to indicate
      clearly that the modified file is not part of The Program.
- 
+
   6. You must change any addresses in the modified file for the
      reporting of errors in the file or in The Program generally to
      ensure that reports for files no longer maintained by the original
      maintainers will be directed to the maintainers of the modified
      files.
- 
+
   7. You must distribute the modified file under a license that forbids
      distribution both of the modified file and of any files derived
      from the modified file with the filename of the original file.
- 
+
   8. You must do either (A) or (B):
 
        (A) distribute a copy of The Program (that is, a complete,
@@ -105,7 +105,7 @@
        (B) provide to those who receive the modified file information
            that is sufficient for them to obtain a copy of The Program;
            for example, you may provide a Uniform Resource Locator (URL)
-           for a site that you expect will provide them with a copy of 
+           for a site that you expect will provide them with a copy of
            The Program free of charge (either the version from which
            your modification is derived, or perhaps a later version).
 
@@ -131,8 +131,8 @@
 apply to, the updating, by any method, of a file so that it becomes
 identical to the latest version of that file of The Program.
 
- 
 
+
 A Recommendation on Modification Without Distribution
 -----------------------------------------------------
 
@@ -173,7 +173,7 @@
   - You may not modify any file with filename extension `.ins' since
     these are installation files containing the legal notices that are
     placed in the files they generate.
- 
+
   - You may distribute modified versions of files with filename
     extension `.fd' (LaTeX font definition files) under the standard
     conditions of the LPPL as described above.  You may also distribute
@@ -189,7 +189,7 @@
     extension `.cfg' (configuration files) with their original names.
     The Program may (and usually will) specify the range of commands
     that are allowed in a particular configuration file.
- 
+
 Because of portability and exchangeability issues in LaTeX software,
 The LaTeX3 Project deprecates the distribution of modified versions of
 components of LaTeX or of generally available contributed code for them,
@@ -266,7 +266,7 @@
   % of this license or (at your option) any later version.
   % The latest version of this license is in
   %   https://www.latex-project.org/lppl.txt
-  % and version 1.2 or later is part of all distributions of LaTeX 
+  % and version 1.2 or later is part of all distributions of LaTeX
   % version 1999/12/01 or later.
   %
   % This program consists of the files pig.dtx and pig.ins
@@ -296,7 +296,7 @@
    to comprise The Program.
 
  Noting Exceptional Files
-  
+
    If The Program contains any files bearing additional conditions on
    modification, or on distribution of modified versions, of those
    files (other than those listed in `Additional Conditions on LaTeX
@@ -310,9 +310,6 @@
    modification.  LaTeX configuration files (with filename extension
    `.cfg') are examples of files bearing less restrictive conditions
    on the distribution of a modified version of the file.  The
-   additional conditions on LaTeX software given above are examples 
+   additional conditions on LaTeX software given above are examples
    of declaring a category of files bearing exceptional additional
    conditions.
-
-
-

Modified: trunk/Master/texmf-dist/doc/latex/base/lppl.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/lppl.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/lppl.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -16,8 +16,8 @@
 
 You may use this license for any work of which you hold the copyright
 and which you wish to distribute.  This license may be particularly
-suitable if your work is TeX-related (such as a LaTeX package), but 
-it is written in such a way that you can use it even if your work is 
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
 unrelated to TeX.
 
 The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
@@ -44,11 +44,11 @@
 
    `Work'
     Any work being distributed under this License.
-    
+
    `Derived Work'
     Any work that under any applicable law is derived from the Work.
 
-   `Modification' 
+   `Modification'
     Any procedure that produces a Derived Work under any applicable
     law -- for example, the production of a file containing an
     original file associated with the Work or a significant portion of
@@ -58,7 +58,7 @@
    `Modify'
     To apply any procedure that produces a Derived Work under any
     applicable law.
-    
+
    `Distribution'
     Making copies of the Work available from one person to another, in
     whole or in part.  Distribution includes (but is not limited to)
@@ -79,9 +79,9 @@
     no such explicit nomination then it is the `Copyright Holder' under
     any applicable law.
 
-   `Base Interpreter' 
+   `Base Interpreter'
     A program or process that is normally needed for running or
-    interpreting a part or the whole of the Work.    
+    interpreting a part or the whole of the Work.
 
     A Base Interpreter may depend on external components but these
     are not considered part of the Base Interpreter provided that each
@@ -88,7 +88,7 @@
     external component clearly identifies itself whenever it is used
     interactively.  Unless explicitly specified when applying the
     license to the Work, the only applicable Base Interpreter is a
-    `LaTeX-Format' or in the case of files belonging to the 
+    `LaTeX-Format' or in the case of files belonging to the
     `LaTeX-format' a program implementing the `TeX language'.
 
 
@@ -129,8 +129,8 @@
 distribute a Derived Work provided the following conditions are met
 for every component of the Work unless that component clearly states
 in the copyright notice that it is exempt from that condition.  Only
-the Current Maintainer is allowed to add such statements of exemption 
-to a component of the Work. 
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
 
   a. If a component of this Derived Work can be a direct replacement
      for a component of the Work when that component is used with the
@@ -140,13 +140,13 @@
      clearly and unambiguously identifies itself as a modified version
      of this component to the user when used interactively with that
      Base Interpreter.
-     
+
   b. Every component of the Derived Work contains prominent notices
      detailing the nature of the changes to that component, or a
      prominent reference to another file that is distributed as part
      of the Derived Work and that contains a complete and accurate log
      of the changes.
-  
+
   c. No information in the Derived Work implies that any persons,
      including (but not limited to) the authors of the original version
      of the Work, provide any support, including (but not limited to)
@@ -156,7 +156,7 @@
 
   d. You distribute at least one of the following with the Derived Work:
 
-       1. A complete, unmodified copy of the Work; 
+       1. A complete, unmodified copy of the Work;
           if your distribution of a modified component is made by
           offering access to copy the modified component from a
           designated place, then offering equivalent access to copy
@@ -183,15 +183,15 @@
 then produced by applying some process to that format, does not relax or
 nullify any sections of this license as they pertain to the results of
 applying that process.
-     
+
 10. a. A Derived Work may be distributed under a different license
        provided that license itself honors the conditions listed in
        Clause 6 above, in regard to the Work, though it does not have
        to honor the rest of the conditions in this license.
-      
+
     b. If a Derived Work is distributed under a different license, that
        Derived Work must provide sufficient documentation as part of
-       itself to allow each recipient of that Derived Work to honor the 
+       itself to allow each recipient of that Derived Work to honor the
        restrictions in Clause 6 above, concerning changes from the Work.
 
 11. This license places no restrictions on works that are unrelated to
@@ -260,7 +260,7 @@
 
   a. If it is being maintained, then ask the Current Maintainer
      to update their communication data within one month.
-     
+
   b. If the search is unsuccessful or no action to resume active
      maintenance is taken by the Current Maintainer, then announce
      within the pertinent community your intention to take over
@@ -270,17 +270,17 @@
  3a. If the Current Maintainer is reachable and agrees to pass
      maintenance of the Work to you, then this takes effect
      immediately upon announcement.
-     
+
   b. If the Current Maintainer is not reachable and the Copyright
      Holder agrees that maintenance of the Work be passed to you,
-     then this takes effect immediately upon announcement.  
-    
+     then this takes effect immediately upon announcement.
+
  4.  If you make an `intention announcement' as described in 2b. above
      and after three months your intention is challenged neither by
      the Current Maintainer nor by the Copyright Holder nor by other
      people, then you may arrange for the Work to be changed so as
      to name you as the (new) Current Maintainer.
-     
+
  5.  If the previously unreachable Current Maintainer becomes
      reachable once more within three months of a change completed
      under the terms of 3b) or 4), then that Current Maintainer must
@@ -363,7 +363,7 @@
   % version 2005/12/01 or later.
   %
   % This work has the LPPL maintenance status `maintained'.
-  % 
+  %
   % The Current Maintainer of this work is M. Y. Name.
   %
   % This work consists of the files pig.dtx and pig.ins
@@ -377,7 +377,7 @@
 `Current Maintainer' referring to the person `M. Y. Name'.
 
 If you do not want the Maintenance section of LPPL to apply to your
-Work, change `maintained' above into `author-maintained'.  
+Work, change `maintained' above into `author-maintained'.
 However, we recommend that you use `maintained', as the Maintenance
 section was added in order to ensure that your Work remains useful to
 the community even when you can no longer maintain and support it
@@ -407,10 +407,9 @@
    using a line such as:
 
     % This work consists of all files listed in manifest.txt.
-   
+
    in that place.  In the absence of an unequivocal list it might be
    impossible for the licensee to determine what is considered by you
    to comprise the Work and, in such a case, the licensee would be
    entitled to make reasonable conjectures as to which files comprise
    the Work.
-

Modified: trunk/Master/texmf-dist/doc/latex/base/ltluatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,8 +1,8 @@
 % \iffalse meta-comment
 %
 % Copyright 2006, 2009, 2011, 2014 Heiko Oberdiek
-% Copyright (C) 2014-2019 The LaTeX3 Project
-% 
+% Copyright (C) 2014-2020 The LaTeX3 Project
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
 %
@@ -28,12 +28,16 @@
 %  * LaTeX Project version
 % 2015/02/16 v1.4b:
 %  * Fix TOC issue
+% 2020/01/30 v1.4b:
+%  * Fix TOC issue more generally and add page numbers
 % \fi
 
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{ltnews.tex}%
-  [2015/02/16 v1.4b Master file for ltnews*.tex (LaTeX Project)]
-\providecommand*{\lastissue}{30}
+  [2020/01/30 v1.4c Master file for ltnews*.tex (LaTeX Project)]
+
+\providecommand*{\lastissue}{31}
+
 \InputIfFileExists{ltnews-lastissue.cfg}{}{}
 
 
@@ -81,6 +85,7 @@
 \RequirePackage{hyperref}
 \hypersetup{colorlinks}
 \RequirePackage{bookmark}
+\RequirePackage{multicol}
 
 \makeatletter
 
@@ -90,6 +95,16 @@
   \number\value{issue}%
 }
 
+
+% show the page number on first page of issues:
+
+\renewcommand{\ps at titlepage}{%
+   \renewcommand{\@oddhead}{\hfill}%
+   \renewcommand{\@evenhead}{\hfill}%
+   \renewcommand{\@oddfoot}{\@indiciafont\@indicia\hfill --\thepage}%
+   \renewcommand{\@evenfoot}{\@indiciafont\@indicia\hfill --\thepage}%
+}
+
 \newcommand*{\MonthJanuary}{01}
 \newcommand*{\MonthFebruary}{02}
 \newcommand*{\MonthMarch}{03}
@@ -156,6 +171,7 @@
 
 \makeatother
 
+
 \begin{document}
 
 %%% Title and Table of Contents
@@ -187,7 +203,11 @@
               \def\y{|graphicx}%
               \ifx\x\y
               \else
-                \@latex at error{ltnews.tex: \string\usepackage[#1]{#2} found}\@ehc
+                \def\y{|multicol}%
+                \ifx\x\y
+                \else
+                  \@latex at error{ltnews.tex: \string\usepackage[#1]{#2} found}\@ehc
+                \fi
               \fi
             \fi
           \fi
@@ -201,6 +221,8 @@
   }%
   \newcommand*{\gobbleopt}[1][]{}%
   \let\org at twocolumn\twocolumn
+  \renewcommand\NeedsTeXFormat[1]{\NeedsTeXFormatdate}%  ignore that inside
+  \newcommand\NeedsTeXFormatdate[1][]{}%              %  inidividual issues
   \renewenvironment{document}{%
     \clearpage
     \ifnum\@issue=20 %
@@ -215,7 +237,7 @@
          \let\protect\l at paragraph\protect\l at subsection
        }%
     \fi
-    \ifnum\@issue=\lastissue\space
+    \ifnum\@issue >20\space
       \addtocontents{toc}{%
         \let\protect\l at paragraph\protect\saved at l@paragraph
       }%
@@ -224,7 +246,7 @@
       \addtocontents{toc}{\protect\setcounter{tocdepth}{4}}%
       \renewcommand*{\tableofcontents}{%
         \section*{\contentsname}%
-        \@starttoc{toc\lastissue}%
+        \@starttoc{toc\theissue}%
       }%
       \let\saved at addtocontents\addtocontents
       \renewcommand*{\addtocontents}[2]{%
@@ -232,7 +254,7 @@
         \def\temp at toc{toc}%
         \def\temp at param{##1}%
         \ifx\temp at toc\temp at param
-          \saved at addtocontents{toc\lastissue}{##2}%
+          \saved at addtocontents{toc\theissue}{##2}%
         \fi
       }%
       \let\l at subsubsection\l at subsection

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews01.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews01.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews01.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews01.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,63 +1,63 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews01.tex
- 
+
 % This is issue 1 of LaTeX News.
 
 \documentclass
 %   [type1fonts]
    {ltnews}
- 
+
 \publicationmonth{June}
 \publicationyear{1994}
 \publicationissue{1}
- 
+
 \begin{document}
- 
+
 \maketitle
- 
+
 \section{Welcome to \LaTeXNews}
- 
-An issue of \emph{\LaTeXNews} will accompany every future release of 
-\LaTeX.  It will tell you about important events, such as major bug 
+
+An issue of \emph{\LaTeXNews} will accompany every future release of
+\LaTeX.  It will tell you about important events, such as major bug
 fixes, newly available packages, or any other \LaTeX{} news.
- 
+
 \section{\LaTeXe---the new \LaTeX{} release}
- 
+
 The most important news is the release of \LaTeXe, the new version of
 the \LaTeX{} software.  This version has better support for fonts,
 graphics and colour, and will be actively maintained by the \LaTeX3
-project team.  Upgrades will be issued every six months, in June and 
+project team.  Upgrades will be issued every six months, in June and
 December.
- 
+
 \section{Why a new \LaTeX?}
- 
+
 Over the years many extensions have been developed for \LaTeX. This
 is, of course, a sure sign of its continuing popularity but it has had
 one unfortunate result: incompatible \LaTeX{} formats came into use at
@@ -65,7 +65,7 @@
 site maintainer was forced to keep \LaTeX{} (with and without \NFSS),
 \SLiTeX, \AmSLaTeX, and so on.  In addition, when looking at a source
 file it was not always clear for which format the document was written.
- 
+
 To put an end to this unsatisfactory
 situation a new release of \LaTeX{} was produced.
 It brings all such extensions back under a single format and thus
@@ -73,15 +73,15 @@
 \LaTeX~2.09. The new release was available for several months as a
 test version, and the final release of 1~June officially
 replaces the old version.
- 
+
 \section{Processing documents with \LaTeXe}
- 
+
 Documents written for \LaTeX~2.09 will
 still be read by \LaTeXe.  Any such document is run in
 \emph{\LaTeX~2.09 compatibility mode}.
- 
-Unfortunately, compatibility mode comes with a price: it can run 
-up to 50\% slower than \LaTeX~2.09 did.  If you want to run your document 
+
+Unfortunately, compatibility mode comes with a price: it can run
+up to 50\% slower than \LaTeX~2.09 did.  If you want to run your document
 in the faster \emph{native mode}, you should try replacing the line:
 \begin{verbatim}
    \documentstyle[<options>,<packages>]{<class>}
@@ -91,17 +91,17 @@
    \documentclass[<options>]{<class>}
    \usepackage{latexsym,<packages>}
 \end{verbatim}
-Unfortunately, this will not always work, because some \LaTeX~2.09 
-packages will only work in \LaTeXe{} compatibility mode.  You should find 
+Unfortunately, this will not always work, because some \LaTeX~2.09
+packages will only work in \LaTeXe{} compatibility mode.  You should find
 out if there is a \LaTeXe{} version of the package available.
- 
-\LaTeXe{} native mode also gives access to the new features of \LaTeXe, 
+
+\LaTeXe{} native mode also gives access to the new features of \LaTeXe,
 described in \emph{\LaTeXe{} for authors}.
- 
+
 \section{New packages}
- 
-\LaTeXe{} has much better support for graphics, colour, fonts, and 
-multi-lingual typesetting.  The following software should be available 
+
+\LaTeXe{} has much better support for graphics, colour, fonts, and
+multi-lingual typesetting.  The following software should be available
 from the distributor who brought you \LaTeXe:
 
 \begin{citations}
@@ -112,12 +112,12 @@
 \item[psnfss] for using Type~1 fonts.
 \item[tools]  other packages by the \LaTeX3 team.
 \end{citations}
-The packages come with full documentation, and are also described in 
-\emph{\LaTeX: A Document Processing System} or 
+The packages come with full documentation, and are also described in
+\emph{\LaTeX: A Document Processing System} or
 \emph{The \LaTeX{} Companion}.
- 
+
 \section{Further information}
- 
+
 More information about \LaTeXe{} is to be found in:
 
 \begin{citations}
@@ -126,11 +126,11 @@
 \item[The \LaTeX{} Companion]
    Goossens, Mittelbach and Samarin, \AW, 1994.
 \end{citations}
-The \LaTeX{} distribution comes with documentation on the new features of 
+The \LaTeX{} distribution comes with documentation on the new features of
 \LaTeX:
 
 \begin{citations}
-\item[\LaTeXe{} for authors] 
+\item[\LaTeXe{} for authors]
    describes the new features of \LaTeX{} documents,
    in the file \verb|usrguide.tex|.
 \item[\LaTeXe{} for class and package writers]
@@ -141,12 +141,9 @@
    class and package writers,
    in the file \verb|fntguide.tex|.
 \end{citations}
-For more information on \TeX{} and \LaTeX, get in touch with your local 
-\TeX{} Users Group, or the international \TeX{} Users Group, 
-P.~O.~Box~869, Santa~Barbara, CA~93102-0869, USA, Fax:~+1~805~963~8358, 
+For more information on \TeX{} and \LaTeX, get in touch with your local
+\TeX{} Users Group, or the international \TeX{} Users Group,
+P.~O.~Box~869, Santa~Barbara, CA~93102-0869, USA, Fax:~+1~805~963~8358,
 EMail:~tug at tug.org.
- 
+
 \end{document}
- 
-
-

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews02.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews02.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews02.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews02.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews02.tex
 
@@ -99,28 +99,28 @@
  information structure and superior printed output for mathematical
  documents.
 
- There are far too many features of AMS-\LaTeX{} to list here.  
+ There are far too many features of AMS-\LaTeX{} to list here.
  AMS-\LaTeX{} is described in the accompanying documentation,
  and in \emph{The \LaTeX{} Companion}.
 
  Version 1.2beta of AMS-\LaTeX{} was released for testing by intrepid
- users in October 1994.  The full release of AMS-\LaTeX{}~1.2 is expected 
+ users in October 1994.  The full release of AMS-\LaTeX{}~1.2 is expected
  in early January 1995.
- 
+
  It will be divided into two bundles:
  \begin{itemize}
- 
+
  \item the \verb|amsfonts| packages, which give access to
     hundreds of new mathematical symbols, and new math fonts
     such as blackboard bold and fraktur.
-    
- \item the \verb|amsmath| packages, which provide finer control over 
+
+ \item the \verb|amsmath| packages, which provide finer control over
     mathematical typesetting, such as multi-line subscripts,
-    enhanced theorem and proof environments, 
-    and improved displayed equations, 
- 
+    enhanced theorem and proof environments,
+    and improved displayed equations,
+
  \end{itemize}
- For compatibility with older documents, an \verb|amstex| package will be 
+ For compatibility with older documents, an \verb|amstex| package will be
  provided.
 
 \section{\LaTeX{} on the internet}

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews03.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews03.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews03.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews03.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews03.tex
 
@@ -56,7 +56,7 @@
 
 In the last \emph{\LaTeXNews}, we said ``we don't expect so much
 activity in the next six months,'' which has turned out not to be
-true! 
+true!
 
 \section{Additional input encodings}
 
@@ -106,7 +106,7 @@
 modification conditions of \LaTeX.  We are committed to keeping
 \LaTeX{} as free reliable software, and ensuring that (as far as
 possible) \LaTeX{} documents will produce the same results on all
-systems. 
+systems.
 
 The modification conditions are currently under discussion, and we
 would like to hear from anyone interested.  Please read

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews04.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews04.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews04.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews04.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews04.tex
 
@@ -80,7 +80,7 @@
 many other ways. It is strongly recommended that you upgrade as soon as
 possible if currently you are using the old dc fonts, release 1.1 or
 earlier. The new fonts are available from the CTAN archives, in
-\texttt{tex-archive/fonts/dc}. 
+\texttt{tex-archive/fonts/dc}.
 
 The names of the font files are \emph{different}. This does not affect
 \LaTeX\ documents but \emph{does} affect the installation procedure as
@@ -123,11 +123,11 @@
 
 Three new input encodings are now supported.
 \begin{itemize}
-\item \texttt{ansinew} the Windows ansi encoding, 
+\item \texttt{ansinew} the Windows ansi encoding,
                        as used in Microsoft Windows 3.x.
 \item \texttt{cp437de} a variant of \texttt{cp437}, which uses \ss\
   rather than $\beta$  in the appropriate slot.
-\item \texttt{next} the encoding used on Next computers. 
+\item \texttt{next} the encoding used on Next computers.
 \end{itemize}
 
 \section{Further information}
@@ -134,7 +134,7 @@
 
 For more information on \TeX{} and \LaTeX, get in touch with your local
 \TeX{} Users Group, or the international \TeX{} Users Group,
-1850 Union Street, \#1637, San Francisco, CA~94123, USA, 
+1850 Union Street, \#1637, San Francisco, CA~94123, USA,
 Fax:~+1~415~982~8559,
 EMail:~tug at tug.org.
 The \LaTeX{} home page is \verb|http://www.tex.ac.uk/ctan/latex/|

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews05.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews05.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews05.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews05.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews05.tex
 
@@ -54,7 +54,7 @@
 For example, the \textsf{article} class defines:
 \begin{small}
 \begin{verbatim}
-\newcommand\section{\@startsection 
+\newcommand\section{\@startsection
  {section}{1}{0pt}{-3.5ex plus-1ex minus-.2ex}%
  {2.3ex plus.2ex}{\normalfont\Large\bfseries}}
 \end{verbatim}
@@ -69,7 +69,7 @@
 produce uppercase headings. A package or class file could contain:
 \begin{small}
 \begin{verbatim}
-\renewcommand\section{\@startsection 
+\renewcommand\section{\@startsection
  {section}{1}{0pt}{-3.5ex plus-1ex minus-.2ex}%
  {2.3ex plus.2ex}{\normalfont\Large\MakeUppercase}}
 \end{verbatim}

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews06.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews06.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews06.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews06.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews06.tex
 
@@ -54,7 +54,7 @@
 
 These file names cause problems on some systems (in particular they
 are illegal on the ISO 9660 CDROM format) and so in this release
-all file names have been made lowercase (for example 
+all file names have been made lowercase (for example
 \texttt{t1cmr.fd} and \texttt{t1enc.def}).
 
 This change should \emph{not} affect any document. Within \LaTeX,
@@ -69,7 +69,7 @@
 The change \emph{does} affect the configuration files that may be used
 to make the \LaTeX\ format with initex. For example, the file
 \texttt{fonttext.ltx} previously specified \verb|\input{T1cmr.fd}|.
-It now has \verb|\input{t1cmr.fd}|. 
+It now has \verb|\input{t1cmr.fd}|.
 If you use a local file \texttt{fonttext.cfg}
 you will need to make similar changes, as \verb|\input{T1cmr.fd}|
 will not work as \texttt{T1cmr.fd} is no longer in the distribution.
@@ -109,7 +109,7 @@
 \end{verbatim}
 
 \section{Docstrip improvements}
-The \textsf{docstrip} program that is used to unpack the \LaTeX\ 
+The \textsf{docstrip} program that is used to unpack the \LaTeX\
 sources has undergone further development. The new version should be
 able to process all old `batchfiles' but it allows a simpler syntax in
 new `batchfiles' (no need to define \verb|\def\batchfile{|\ldots).
@@ -146,4 +146,3 @@
 
 
 \end{document}
-

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews07.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews07.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews07.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews07.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews07.tex
 

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews08.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews08.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews08.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews08.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews08.tex
 
@@ -69,7 +69,7 @@
 
 These additions to the \textsf{inputenc} package are
 \texttt{decmulti} (the DEC Multinational
-Character Set,  contributed by M.~Y.~Chartoire) 
+Character Set,  contributed by M.~Y.~Chartoire)
 and \texttt{cp1250} (an MS-Windows encoding for Central and Eastern
 Europe, contributed by Marcin Woli\'nski).  There is also a
 \texttt{cp1252} encoding that is identical to \texttt{ansinew}.
@@ -123,7 +123,7 @@
 the basis for programming large scale projects in \TeX.
 They will be located in\\
 this CTAN directory:
-\begin{verbatim}  
+\begin{verbatim}
   CTAN:macros/latex/packages/expl3
 \end{verbatim}
 The documentation of this material is as follows: individual package
@@ -151,4 +151,3 @@
 % information on how to subscribe to \texttt{LaTeX-L}.
 
 \end{document}
-

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews09.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews09.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews09.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews09.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews09.tex
 
@@ -48,7 +48,7 @@
 \section{New math font encodings}
 
 A joint working group of the \TeX{} Users Group and the \LaTeX3
-Project is developing a new 8-bit math font encoding for \TeX{}.  
+Project is developing a new 8-bit math font encoding for \TeX{}.
 It is designed to overcome several limitations and implementation
 problems of the old math font encodings and to simplify switching
 between different sets of math fonts, much as the \LaTeX{} font
@@ -62,7 +62,7 @@
 release.
 
 Documents using only standard \LaTeX{} commands for math symbols
-should not be affected by switching to the new math font encodings  
+should not be affected by switching to the new math font encodings
 However, documents, classes or packages making specific assumptions
 about the encoding of math symbol fonts are likely to break.
 
@@ -73,7 +73,7 @@
 \section{A new math accent}
 
 A new math accent, \verb|\mathring|, has been added. This is a math mode
-version of the ring accent (\r{}) which is available in text 
+version of the ring accent (\r{}) which is available in text
 mode with the command \verb|\r|.
 
 \section{Extended \cs{DeclareMathDelimiter}}
@@ -111,11 +111,11 @@
 
 
 \section{Support for Cyrillic encodings}
- 
+
 We are very pleased that, after a lengthy period of development, a set
 of fonts, encodings and support files for using \LaTeX\ with Cyrillic
 characters will soon be available.
- 
+
 Test versions of the `LH' fonts for these Cyrillic encodings, based on
 the Computer Modern design, are available from CTAN archives in the
 directory \texttt{fonts/cyrillic/lh-test}.  The \LaTeX\ support files
@@ -122,8 +122,8 @@
 (by Werner Lemberg and Vladimir Volovich) are also available from CTAN
 archives in\\
  \texttt{macros/latex/contrib/supported/t2}
- 
- 
+
+
 \section{Default docstrip header}
 
 Many \LaTeX\ users now distribute packages in documented source form

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews10.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews10.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews10.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews10.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews10.tex 12/01/1998
 
@@ -61,13 +61,13 @@
 our feelings about working on \LaTeX{} over the years: \textit{the mere
 existence of \LaTeXe{} is a great miracle}.
 
-  
+
   \section{Restructuring the \LaTeX{} distribution}
-  
+
   Since the (once) `new' standard \LaTeX{} has reached such a venerable
   age, we are reviewing the way in which the system is presented to the
   world.
-  
+
   An early intention is to define, given the wide variety of good
   packages now available, what now constitutes a useful installation of
   \LaTeX{}. We also hope that such a definition will help document
@@ -75,7 +75,7 @@
   designer can reasonably assume that a known list of
   facilities will be there for all users (so that each class
   need not supply them).
-  
+
   As a first small step towards this definition, we shall replace the
   \texttt{latex/packages} subdirectory on \ctan{}.
   This directory was a curious mixture of the important, such as the
@@ -82,7 +82,7 @@
   \LaTeX{} \texttt{tools}, that any self-respecting \LaTeX{}
   installation ought to have, and the esoteric or experimental.
 
-  The esoterica from \texttt{packages} will be moved to 
+  The esoterica from \texttt{packages} will be moved to
   new locations, as follows:
   \begin{quote}
     \texttt{expl3}  to \texttt{latex/exptl/project}\\
@@ -98,7 +98,7 @@
 
  \section{\LaTeX\ Project on the Internet}
 A new \texttt{latex-project.org} domain has been registered.
-The web site is not yet fully functional but the old \LaTeX\ pages from 
+The web site is not yet fully functional but the old \LaTeX\ pages from
 \ctan\ are available at \texttt{http://www.latex-project.org/} and the
 \LaTeX\ bug reporting address has been changed to
 \texttt{latex-bugs at latex-project.org}.
@@ -129,7 +129,7 @@
 encodings). This provides platform independent and
 sophisticated basic support for high-quality typesetting in various
 Cyrillic-based languages.
- 
+
 For further information see the file \texttt{cyrguide.tex}.
 
 \section{Tools distribution}
@@ -150,4 +150,3 @@
 
 
 \end{document}
-

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews11.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews11.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews11.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews11.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews11.tex 01/06/1999
 % This is issue 11 of LaTeX News.
@@ -108,7 +108,7 @@
 package.
 
 \section{New math font encodings}
-    
+
 As we announced in \LaTeX{} News~9, a joint working group of the
 \TeX{} Users Group and the \LaTeX3 Project has developed a new
 \mbox{8-bit} math font encoding for \TeX{}.

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews12.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews12.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews12.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews12.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,32 +1,32 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
-% Filename: ltnews12.tex 
+% Filename: ltnews12.tex
 %
 % This is issue 12 of LaTeX News.
 
@@ -131,7 +131,7 @@
 intended solely for discussing ideas and concepts for future versions
 of \LaTeX, by sending mail to
 %\begin{quote}
-  \email{listserv at URZ.UNI-HEIDELBERG.DE} 
+  \email{listserv at URZ.UNI-HEIDELBERG.DE}
 %\end{quote}
 containing the line
   \begin{quote}

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews13.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews13.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews13.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews13.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,32 +1,32 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
-% Filename: ltnews13.tex 
+% Filename: ltnews13.tex
 %
 % This is issue 13 of LaTeX News.
 
@@ -36,7 +36,7 @@
 
 % \usepackage[T1]{fontenc}
 
-\publicationmonth{June}  
+\publicationmonth{June}
 \publicationyear{2000}
 \publicationissue{13}
 
@@ -45,7 +45,7 @@
 
 \maketitle
 
-\raisefirstsection 
+\raisefirstsection
 \section{Yearly release cycle}
 
 We announced in \textit{\LaTeX{} News~11} that we intended to switch
@@ -72,7 +72,7 @@
 \end{quote}
 
 \begin{latexonly}
-  \vspace{-\baselineskip} 
+  \vspace{-\baselineskip}
 \end{latexonly}
 
 \noindent
@@ -88,7 +88,7 @@
 
 The documentation (in \file{psnfss2e.pdf}) has been completely
 rewritten to provide a comprehensive introduction to the use
-of PostScript fonts. 
+of PostScript fonts.
 
 Notice that the new \PSNFSS{} needs updated files for font metrics,
 virtual fonts and font definitions.  If you received the new
@@ -163,7 +163,7 @@
 page-breaking and page make-up\latex{\\}
 for complex pages---the best yet achieved with \TeX{}!
 
-A paper describing the new output routine is 
+A paper describing the new output routine is
 \begin{latexonly}
   at\\
   \file{http://www.latex-project.org/papers/xo-pfloat.pdf%
@@ -170,9 +170,9 @@
    \hspace*{-16pt}}\\
 \end{latexonly}
 \begin{htmlonly}
-  at \url{http://www.latex-project.org/papers/xo-pfloat.pdf}. 
+  at \url{http://www.latex-project.org/papers/xo-pfloat.pdf}.
 \end{htmlonly}
-All code examples and documentation are available 
+All code examples and documentation are available
 \begin{latexonly}
   at\\
    \file{http://www.latex-project.org/code/experimental/%
@@ -197,5 +197,3 @@
 \end{description}
 
 \end{document}
-
-

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews14.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews14.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews14.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews14.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,33 +1,33 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
-% Filename: ltnews14.tex 
-% 
+% Filename: ltnews14.tex
+%
 % This is issue 14 of LaTeX News.
 
 \documentclass
@@ -36,7 +36,7 @@
 
 % \usepackage[T1]{fontenc}
 
-\publicationmonth{June}  
+\publicationmonth{June}
 \publicationyear{2001}
 \publicationissue{14}
 
@@ -128,10 +128,10 @@
 for complex pages---the best yet achieved with \TeX{}!
 
 More recently we have added material to handle the complex front
-matter requirements of journal articles; this was presented at 
+matter requirements of journal articles; this was presented at
 Gutenberg\,2001 in Metz.
 
-A paper describing the new output routine is 
+A paper describing the new output routine is
 \begin{latexonly}
   at\\
 \begin{small}
@@ -139,9 +139,9 @@
 \end{small}
 \end{latexonly}
 \begin{htmlonly}
-  at \url{http://www.latex-project.org/papers/xo-pfloat.pdf}. 
+  at \url{http://www.latex-project.org/papers/xo-pfloat.pdf}.
 \end{htmlonly}
-All code examples and documentation are available 
+All code examples and documentation are available
 \begin{latexonly}
   at\\
 \begin{small}

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews15.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews15.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews15.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews15.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,33 +1,33 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
-% Filename: ltnews15.tex 
-% 
+% Filename: ltnews15.tex
+%
 % This is issue 15 of LaTeX News.
 
 \documentclass
@@ -36,7 +36,7 @@
 
 % \usepackage[T1]{fontenc}
 
-\publicationmonth{December}  
+\publicationmonth{December}
 \publicationyear{2003}
 \publicationissue{15}
 
@@ -85,7 +85,7 @@
 
 The English has been corrected in \verb|\reftextbefore|
 (an incompatible change).  There are other extensions
-such as \verb|\labelformat|, \verb|\Ref|, \verb|\Vref| and \verb|\vpagerefnum|. 
+such as \verb|\labelformat|, \verb|\Ref|, \verb|\Vref| and \verb|\vpagerefnum|.
 Some Dutch text has also been changed and two\newline
 new options added: \package{slovak} and \package{slovene}.
 
@@ -113,8 +113,8 @@
 enabling only available glyphs to be used.
 Also, the `NFSS font families' are now divided into five different groups
 according to the subset of glyphs each provides from the full
-collection of symbols in the TS1 encoding. 
-Given sufficient information about a font family 
+collection of symbols in the TS1 encoding.
+Given sufficient information about a font family
 \package{textcomp} will use this in order to limit the\newline
 typesetting to those glyphs that are available.
 
@@ -133,7 +133,7 @@
 
 \section{New input encodings}
 
-The \package{inputenc} package has been extended as follows: 
+The \package{inputenc} package has been extended as follows:
 \package{macce} input encoding
 (Apple Central European),
 thanks to Radek Tryc and Marcin Wolinski; \package{cp1257}\newline
@@ -161,7 +161,7 @@
 
 \section{And finally \ldots\ pict2e}
 
-The old, non-functional version of this package has been removed 
+The old, non-functional version of this package has been removed
  as there is now a fully working version from Hubert G\"a{\ss}lein
  and Rolf Niepraschk.  It is described
  in \textit{The \LaTeX{} Manual}.

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews16.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews16.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews16.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews16.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,33 +1,33 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
-% Filename: ltnews16.tex 
-% 
+% Filename: ltnews16.tex
+%
 % This is issue 16 of LaTeX News.
 
 \documentclass
@@ -36,7 +36,7 @@
 
 % \usepackage[T1]{fontenc}
 
-\publicationmonth{December}  
+\publicationmonth{December}
 \publicationyear{2003}
 \publicationissue{16}
 
@@ -49,7 +49,7 @@
 \section{Anniversary news}
 
 This anniversary \textit{Issue~16} takes a brief look into the future work of
-the \LaTeX3 Project Team, both short and and longer range.  Please let
+the \LaTeX3 Project Team, both short and longer range.  Please let
 us know if you want %\newline
 to get involved with us in any of this work (see below).
 
@@ -72,16 +72,16 @@
 masses of invaluable `insider information' about:
 \begin{itemize}
 \item the latest release of Standard \LaTeX{};
-\item over~200~extension packages; 
+\item over~200~extension packages;
 \item plus related software and systems.
 \end{itemize}
 For more information on this all new (??\ldots OK,\newline
 not \emph{all}, but over 90\%!!),
 all accurate (we hope!)\newline
-10th~Anniversary Edition, check out\newline 
+10th~Anniversary Edition, check out\newline
  \mbox{\url{http://www.awprofessional.com/titles/0201362996}}.
-  
-  
+
+
 \section{Future maintenance}
 
 We are currently exploring how best to support the very large and
@@ -105,7 +105,7 @@
 \section{LPPL certification}
 
 There are still some outstanding diplomatic tasks around the
-\LaTeX{} Project Public Licence: these include 
+\LaTeX{} Project Public Licence: these include
 e.g.,~getting it `OSF certified' and ensuring that it gains
 more support and wider use, even in the FSF world\newline
 where it has long been tolerated.
@@ -121,7 +121,7 @@
 
 Although the current release does not \emph{require} \eTeX{} features,
 we certainly recommend using an extended \TeX{}, especially if you
-need to debug macros. 
+need to debug macros.
 
 
 \section{End of `autoload' support}
@@ -141,10 +141,10 @@
 and
 \mbox{\url{http://www.latex-project.org/code/experimental/}}.
 
-Since then a very large proportion of the The Team's efforts have been
+Since then a very large proportion of The Team's efforts have been
 diverted to provide the core author team for TLC2, which provides
 over 1000 pages of carefully researched and tested documentation of
-many aspects of the vast world of \LaTeX{} related software that 
+many aspects of the vast world of \LaTeX{} related software that
 was developed over that same time period and that continues
 to grow and improve prodigiously.
 

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews17.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews17.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews17.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews17.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews17.tex
 %
@@ -115,7 +115,7 @@
 facilities in \eTeX{} whenever these are present (see below).
 
 The \package{calc} package has also been given an update with a few
-extra commands.  
+extra commands.
 The commands \verb|\maxof| and \verb|\minof|, each with two
 brace-delimited arguments, provide the usual numeric $\max$ and $\min$
 operations. The commands \verb|\settototalheight| and
@@ -125,7 +125,7 @@
 \verb|\ifcase|.
 
 The \package{varioref} package has acquired a few more default
-strings but there are still a number of languages for 
+strings but there are still a number of languages for
 which good strings are still missing.
 
 The \package{showkeys} package has also been updated slightly to work
@@ -140,21 +140,21 @@
 command \verb|\textsuperscript| in the kernel.  Secondly, a new form of
 \verb|\DeclareMathSizes| that allows all of its arguments to have a
 dimension suffix.  This means you can now use expressions such as
-\verb|\DeclareMathSizes{9.5dd}{9.5dd}{7.4dd}{6.6dd}|.  
+\verb|\DeclareMathSizes{9.5dd}{9.5dd}{7.4dd}{6.6dd}|.
 
 The third new
 addition is the robust command \verb|\TextOrMath| which takes two
 arguments and executes one of them when typesetting in text or math
 mode respectively. This command also takes advantage of \eTeX{}
-extensions if available; more specifically, 
+extensions if available; more specifically,
 %%
 %%\pagebreak
 %%
 when the \eTeX{} extensions are available, it does not
-destroy kerning between previous letters and the text to be typeset. 
+destroy kerning between previous letters and the text to be typeset.
 The command is also used
 internally in \package{fixltx2e} to resolve a problem with
-\verb|\fnsymbol|.  
+\verb|\fnsymbol|.
 
 Also, further work has been done on reimplementing
 the command \verb|\addpenalty|, which is used internally in several
@@ -166,23 +166,23 @@
 \package{dvipdfmx} post-processor and Jonathan Kew's XE\TeX\
 program. By support we mean that the graphics packages recognize the
 new options \texttt{xetex} and \texttt{dvipdfmx} but we do not
-distribute the respective driver files. 
+distribute the respective driver files.
 
-This leads elegantly to a description of the 
+This leads elegantly to a description of the
 new policy concerning such driver files in the \package{graphics} bundle.
 Most driver files for our graphics packages are maintained by the
-developers of the associated post-processor or \TeX\ programs.  
+developers of the associated post-processor or \TeX\ programs.
 The teams developing these packages are working very hard: their rapid
 development offers a stark contrast to the current schedule of \LaTeX\
 releases.  It is therefore no longer practical
 for the \LaTeX\ Team to be responsible for distributing the
-latest versions of these driver files.  
+latest versions of these driver files.
 
 Therefore the installation files for \package{graphics} have been
 split: there is now \file{graphics.ins} to install the package files and
 \file{graphics-drivers.ins} for the driver files (located in
-\file{drivers.dtx}). 
-There is no need 
+\file{drivers.dtx}).
+There is no need
 to install all those provided in the file \file{drivers.dtx}.
 
 Please also note that, as requested by the maintainers of
@@ -203,21 +203,21 @@
 time while the \LaTeX\ Project Team were preoccupied by other things
 such as developing the experimental packages \package{xor},
 \package{template}, etc., (and also writing that indispensable
-and encyclopaedic volume,\\ 
+and encyclopaedic volume,\\
 The \LaTeX{} Companion -- 2nd edition).
 
 In October 2004 work on this code base was resumed with the goal of
 some day turning it into a kernel for \LaTeX3.  This work can now
 also make full use of the widely accepted \eTeX\ extensions. Currently
-two areas are central to this work. 
+two areas are central to this work.
 
-\begin{itemize} 
+\begin{itemize}
 \item Extending the
-  kernel code of \LaTeX3. 
+  kernel code of \LaTeX3.
 \item Converting the experimental packages
   such as \package{xor}, \package{template} to use the new
-  syntax internally. 
-\end{itemize} 
+  syntax internally.
+\end{itemize}
 
 Beware! Development of
 \package{expl3} is happening so fast that the descriptions above might
@@ -224,7 +224,6 @@
 be out of date when you read this! If you wish to see what's going on
 then go to
 \url{http://www.latex-project.org/code.html} where you can download
- fully working code (we hope!).  
+ fully working code (we hope!).
 
 \end{document}
-

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews18.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews18.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews18.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews18.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: ltnews18.tex
 %
@@ -48,4 +48,3 @@
 \noindent This news never existed.
 
 \end{document}
-

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews19.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews19.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews19.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews19.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews20.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews21.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews21.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews21.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews21.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -31,7 +31,7 @@
 % This is issue 21 of LaTeX News.
 
 \documentclass{ltnews}
-\def\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} 
+\def\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt}
 \usepackage[T1]{fontenc}
 
 \usepackage{lmodern,url,hologo}
@@ -99,7 +99,7 @@
    single and double-column floats (as they are placed independently
    of each other). This was corrected in \textsf{fixltx2e} a few years ago
    but the fix was not perfect as one situation using
-   \verb=\enlargethispage= generated a low-level \TeX{} error. 
+   \verb=\enlargethispage= generated a low-level \TeX{} error.
    This behaviour of the package is now improved.
 \end{itemize}
 
@@ -203,7 +203,7 @@
 
 \paragraph{\textsf{color} updates}
 
-The \verb|\nopagecolor| command suggested by Heiko Oberdiek, 
+The \verb|\nopagecolor| command suggested by Heiko Oberdiek,
 available for some years in the \textsf{pdftex} option, has been
 added to the core package as suggested in graphics/3873. Currently
 this is supported in the driver files for \textsf{dvips} and
@@ -211,7 +211,7 @@
 
  \paragraph{\textsf{graphicx} updates}
 
-The \textsf{graphicx} version of \verb|\rotatebox| now allows 
+The \textsf{graphicx} version of \verb|\rotatebox| now allows
 \verb|\par| (and blank lines) in values, to match the change made
 to the \textsf{graphics} version some years ago. See graphics/4296.
 

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews22.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews22.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews22.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews22.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2015-2019
+% Copyright (C) 2015-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -51,7 +51,7 @@
 For some years we have supplied bug fixes to the \LaTeXe\ kernel via the
 \textsf{fixltx2e} package. This
 kept the kernel stable, but at the expense of meaning that most users did not
-benefit from bug fixes, and that some compromises 
+benefit from bug fixes, and that some compromises
 which were made to save space in the
 machines of the time are still affecting most users today.
 
@@ -116,7 +116,7 @@
 will be used, and for documents being processed with an older format, the
 ``original'' code will be used. Note the format date here may be the original
 format date as shown at the start of every \LaTeX\ run, or a format date
-specified as a package option to the \textsf{latexrelease} package. 
+specified as a package option to the \textsf{latexrelease} package.
 
 So if the document has
 \begin{verbatim}
@@ -196,7 +196,7 @@
 \verb|\extrafloats|. If you get the error:
 \mbox{\texttt{Too many unprocessed floats.}}
 then you can add (say) \verb|\extrafloats{500}| to the document preamble to
-make many more boxes available to hold floats. 
+make many more boxes available to hold floats.
 
 
 \subsection{Built-in support for Unicode engines}
@@ -204,7 +204,7 @@
 The kernel sources now detect the engine being used and adjust definitions
 accordingly, this reduces the need for the ``\texttt{.ini}'' files used to make
 the formats to patch definitions defined in \texttt{latex.ltx}.
- 
+
 As noted above the format now includes extended allocation routines.
 
 The distribution includes a file \textsf{unicode-letters.def} derived from the

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews23.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews23.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews23.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews23.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2015-2019
+% Copyright (C) 2015-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -149,7 +149,7 @@
 For detailed descriptions of the new allocation commands see the
 documented sources in \textsf{ltluatex.dtx} or chapter N of
 \textsf{source2e}; however, the following new allocation commands are
-defined by default in \hologo{LuaTeX}: 
+defined by default in \hologo{LuaTeX}:
 \verb|\newattribute|,
 \verb|\newcatcodetable|,
 \verb|\newluafunction| and
@@ -157,7 +157,7 @@
 In addition, the commands \verb|\setattribute| and
 \verb|\unsetattribute| are defined to set and unset Lua attributes
 (integer values similar to counters, but attached to nodes). Finally
-several catcode tables are predefined: 
+several catcode tables are predefined:
 \verb|\catcodetable at initex|,
 \verb|\catcodetable at string|,
 \verb|\catcodetable at latex|,
@@ -170,7 +170,7 @@
 
 \subsection{Support for older releases and plain \TeX}
 The \hologo{LuaTeX} allocation functionality made available in this
-release is also available in plain \TeX\ and older \LaTeX\ releases 
+release is also available in plain \TeX\ and older \LaTeX\ releases
 in the files \textsf{ltluatex.tex} and \textsf{ltluatex.lua} which may be
 used simply by including the \TeX\ file: \verb|\input{ltluatex}|.
 An alternative for old \LaTeX\ releases is to use:\\
@@ -219,7 +219,7 @@
 
 \section{Support for Comma Accent}
 The command \verb|\textcommabelow| has been added to the format.
-This is mainly used for the Romanian letters 
+This is mainly used for the Romanian letters
 \textcommabelow{S}\textcommabelow{s}\textcommabelow{T}\textcommabelow{t}.
 This was requested in latex/4414 in the \LaTeX\ bug tracker.
 

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews24.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews24.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews24.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews24.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2015-2019
+% Copyright (C) 2015-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -98,7 +98,7 @@
 Until all contributed packages are updated to the new syntax users may
 need to add aliases for the old \hologo{pdfTeX} commands. A new
 \package{luapdftexalias} package has been contributed to CTAN (not part of the
-core \LaTeX\ release) that may be used for this purpose. 
+core \LaTeX\ release) that may be used for this purpose.
 
 See also the sections below for related changes in the
 \textsf{tools} and \textsf{graphics} bundles.
@@ -202,7 +202,7 @@
 The \package{trig} package has been updated so that pre-computed values
 such as $\sin(90)$ now expand to digits (\texttt{1} rather than the
 internal token \verb|\@one| in this case). This allows them to be used
-directly in PDF literal strings. 
+directly in PDF literal strings.
 
 \section{Changes in Tools}
 

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews25.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews25.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews25.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews25.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2016-2019
+% Copyright (C) 2016-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -96,7 +96,7 @@
 
 Since the launch of \LaTeXe\ in 1993, the \textsf{amsmath} bundle has
 been part of the \emph{required} packages in the core \LaTeX\
-distribution, with bug reports handled by the \LaTeX\ bug database at 
+distribution, with bug reports handled by the \LaTeX\ bug database at
 \url{https://latex-project.org/bugs-upload.html}.
 
 The \textsf{amsmath} packages and the \textsf{amscls} classes have

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews26.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews26.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews26.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews26.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2017-2019
+% Copyright (C) 2017-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -177,7 +177,7 @@
   \texttt{gathered} environments has been fixed: the spurious thin
   space is no longer added by default. Package options control this
   to revert to the original behaviour where required; see the
-  \textsf{amsldoc} guide for further details. 
+  \textsf{amsldoc} guide for further details.
 \item The large delimiters around generalised fractions (for example
   in the \cs{binom} construct) did not work in previous releases if
   using \hologo{LuaTeX} or \hologo{XeTeX} with OpenType math fonts. This is

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews27.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews27.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews27.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews27.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2017-2019
+% Copyright (C) 2017-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -64,7 +64,7 @@
 From this release, \LaTeX\ will accept ISO format date strings in the
 date argument of \verb|\ProvidesPackage|, \verb|\usepackage|, etc.
 Currently we recommend that you do not use this format in any packages
-that need to work with older \LaTeX\ releases; 
+that need to work with older \LaTeX\ releases;
 the \textsf{latexrelease} package may be used with older releases to
  add this functionality. This change is handled in a special way  by
  \textsf{latexrelease}: The package always adds support for ISO dates
@@ -88,7 +88,7 @@
 issues when used with fonts that were not loaded with hyphenation
 disabled via setting \verb|\hyphenchar| to $-1$. In this release these
 verbatim environments use a \verb|\language| setting,
-\verb|\l at nohyphenation|, that has no hyphenation patterns associated. 
+\verb|\l at nohyphenation|, that has no hyphenation patterns associated.
 
 The format ensures that  a language has been allocated with this name.
 For most users this will in fact be no change as the standard
@@ -99,7 +99,7 @@
 language used in the page head and foot, the format now normalises the
 language used in the output routine to a default language as described
 below.
- 
+
 \section{Discretionary hyphenation}
 The \LaTeX\ definition of \verb|\-| has been adjusted so that it will
 insert the current font's \verb|\hyphenchar|, as would the
@@ -122,7 +122,7 @@
 behaviour is not suitable.
 
 \section{Line spacing in parboxes}
-Inside a \verb|\parbox| 
+Inside a \verb|\parbox|
 \LaTeX\ normalises the baseline spacing. However it has not
 previously reset \verb|\lineskiplimit|. This meant that
 lines of a paragraph that have ascenders or descenders could be set
@@ -131,5 +131,5 @@
 relatively large value of \verb|\lineskiplimit|.
 As usual, the \textsf{latexrelease} package may be used to
 force the older behavior.
-  
+
 \end{document}

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews28.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews28.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews28.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews28.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2017-2019
+% Copyright (C) 2017-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -167,7 +167,7 @@
 changed from the ``fall through raw'' encoding to UTF-8 if used with
 classic \TeX\ or \hologo{pdfTeX}. The implementation is essentially
 the same as the existing UTF-8 support from
-\verb|\usepackage[utf8]{inputenc}|.  
+\verb|\usepackage[utf8]{inputenc}|.
 
 The \hologo{LuaTeX} and \hologo{XeTeX} engines always supported the
 UTF-8 encoding as their native (and only) input encoding, so with
@@ -249,7 +249,7 @@
   software (which more or less didn't happen for nearly two decades)
   while continuing to maintain backward compatibility to the highest
   degree.
-  
+
   In this release we have now extended this concept to
   the world of packages and classes which was not covered
   initially. As the classes and the extension packages have different
@@ -263,7 +263,7 @@
 
 
 \section[Integration of \pkg{remreset} and \pkg{chngcntr} packages]
-         {Integration of \pkg{remreset} and \pkg{chngcntr} packages 
+         {Integration of \pkg{remreset} and \pkg{chngcntr} packages
          into the kernel}
 
 With the optional argument to \cs{newcounter} \LaTeX{} offers to
@@ -331,30 +331,30 @@
 
 
 \begin{thebibliography}{9}
-  
+
 \bibitem{Mittelbach:TB39-1} Frank Mittelbach:
-  \emph{New rules for reporting bugs in the \LaTeX{} core software}.  
+  \emph{New rules for reporting bugs in the \LaTeX{} core software}.
   In: TUGboat, 39\#1, 2018.
   \url{https://www.latex-project.org/publications/}
 
 \bibitem{Mittelbach:Brno95} Frank Mittelbach:
-  \emph{\LaTeXe{} Encoding Interface --- Purpose, concepts, and 
-   Open Problems}.  
+  \emph{\LaTeXe{} Encoding Interface --- Purpose, concepts, and
+   Open Problems}.
   Talk given in Brno June 1995.
   \url{https://www.latex-project.org/publications/}
 
 \bibitem{Mittelbach:TB39-2} Frank Mittelbach:
-  \emph{A rollback concept for packages and classes}.  
+  \emph{A rollback concept for packages and classes}.
   Submitted to TUGboat.
   \url{https://www.latex-project.org/publications/}
 
 \bibitem{Mittelbach:TB38-2-213} Frank Mittelbach:
-  \emph{\LaTeX{} table columns with fixed widths}.  
+  \emph{\LaTeX{} table columns with fixed widths}.
   In: TUGboat, 38\#2, 2017.
   \url{https://www.latex-project.org/publications/}
 
 \bibitem{amsldoc} American Mathematical Society and The \LaTeX3 Project:
-  \emph{User's Guide for the \texttt{amsmath} package} (Version 2.1).  
+  \emph{User's Guide for the \texttt{amsmath} package} (Version 2.1).
   April 2018.
   Available from
   \url{https://www.ctan.org}

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews29.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews29.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews29.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews29.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2018-2019
+% Copyright (C) 2018-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -177,7 +177,7 @@
    \enquote{\guillemotright} in all encoding files.  These correct
    names are in addition to the old (but wrong) Adobe names: Adobe
    mistakenly called them Guillemot, which is a sea bird.
-%    
+%
   \githubissue{65}
 %
 \item
@@ -225,7 +225,7 @@
  \DeclareRobustCommand\verbvisiblespace
     {\textvisiblespace}
 \end{verbatim}
-will select the the ``official'' visible space character of the
+will select the ``official'' visible space character of the
 current font. This may look like the natural default, but it wasn't
 chosen as our default because many fonts just don't have that Unicode
 character, or they have one with a strange shape.
@@ -232,7 +232,7 @@
 %
 \githubissue[s]{69 and 70}
 
-        
+
 \subsection{Error message corrected}
 Trying to redefine an undefined command could in a few cases generate
 an error message with a missing space, e.g.,
@@ -244,7 +244,7 @@
 %
 \githubissue{41}
 
-        
+
 \subsection{Fixed fatal link error with \pkg{hyperref}}
 
 If an \cs{href} link text gets broken across pages, \pdfTeX{} and
@@ -304,7 +304,7 @@
 many things are internally modeled
 as paragraphs even if they are not conceptually
 ``text paragraphs'' in
-the traditional sense. 
+the traditional sense.
 In a few cases this has some surprising effects
 that are not always
 for the better. One example is
@@ -347,21 +347,21 @@
 \pkg{amsmath} package, in which these commands are also defined.
 %
 \githubissue[s]{49 and 50}
-        
 
-        
+
+
 \subsection{Guarding \cs{pfill} in \pkg{doc}}
 
 For presenting index entries pointing to
 code fragments and the like,
 the \pkg{doc} package has a \cs{pfill} command that
-generates within the index a line of dots leading from 
+generates within the index a line of dots leading from
 the command name to the page or code line numbers.
 If necessary it would automatically split the entry
 over two lines. That worked well enough for a quarter century, but we
-discovered recently that it is broken inside 
+discovered recently that it is broken inside
 the \cls{ltugboat} class,
-where it sometimes produces 
+where it sometimes produces
 bad spacing within continuation lines.
 
 The reason turned out to be a redefinition of the \LaTeX{} command
@@ -375,10 +375,10 @@
 %
 \githubissue[s]{25 and 75}
 
-        
 
 
-        
+
+
 \section{Changes to packages in the \pkg{tools} category}
 
 \subsection{Sometimes the \pkg{trace} package turned off too much}
@@ -419,7 +419,7 @@
 depending on the column you are currently in, i.e., first, any inner
 one (if more than two) or last. However, if the action generates text
 then there is the question: is this text part of the current column or
-the one after?  That is, on the next run, do we test before  or after it, 
+the one after?  That is, on the next run, do we test before  or after it,
 to determine in which column we are?
 
 This is now resolved as follows: if you use \cs{docolaction*} any
@@ -479,7 +479,7 @@
 Yukitoshi Fujimura has kindly translated
 into Japanese two documents that are
 distributed with standard \LaTeX{}.
-These are: 
+These are:
 \begin{itemize}
 \item
     \LaTeXe{} for authors;
@@ -491,30 +491,30 @@
 source code (with index etc.\@) and a number of other goodies.
 
 
-      
 
+
 \begin{thebibliography}{9}
-  
+
 \bibitem{29:Mittelbach:TB39-1} Frank Mittelbach:
-  \emph{New rules for reporting bugs in the \LaTeX{} core software}.  
+  \emph{New rules for reporting bugs in the \LaTeX{} core software}.
   In: TUGboat, 39\#1, 2018.
   \url{https://latex-project.org/publications/}
 
 \bibitem{29:ltnews28}
-  \emph{\LaTeX{} News, Issue 28}.  
+  \emph{\LaTeX{} News, Issue 28}.
   In: TUGboat, 39\#1, 2018.\\
   \rlap{\url{https://latex-project.org/news/latex2e-news/}}
 
-\bibitem{29:site-doc} 
-  \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\  
+\bibitem{29:site-doc}
+  \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
   \url{https://latex-project.org/documentation/}
 
-\bibitem{29:site-pub} 
+\bibitem{29:site-pub}
   \emph{\LaTeX{} Project publications on the \LaTeX{} Project Website}.\\
   \url{https://latex-project.org/publications/}
 
 \bibitem{29:amsldoc} American Mathematical Society and The \LaTeX3 Project:
-  \emph{User's Guide for the \texttt{amsmath} Package} (Version 2.1).  
+  \emph{User's Guide for the \texttt{amsmath} Package} (Version 2.1).
   April 2018.
   Available from
   \url{https://www.ctan.org}
@@ -523,4 +523,3 @@
 \end{thebibliography}
 
 \end{document}
-

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews30.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltnews30.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews30.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews30.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -168,7 +168,7 @@
   <2019-10-01> pre-release-2} (identifying the pre-release format)
 instead of the normal \texttt{LaTeX2e <2018-12-01>}. In this
 pre-release you will find the latest new features that we have
-developed. 
+developed.
 
 \subsection{Our hopes}
 
@@ -204,7 +204,7 @@
 
 \subsection{Setting up menu items}
 
-While the command line call works out of the box if you have a recent  
+While the command line call works out of the box if you have a recent
 \TL{} or \MiKTeX{} installation, its use within an integrated
 editing environment doesn’t at this point in time (maybe the
 developers of these editors will include it in the future). However,
@@ -230,13 +230,13 @@
   yet as they don't support the primitive \cs{ifincsname}. Work is
   under way to resolve this in the engines.}
 
-When using a \enquote{Unicode engine},  
-any Unicode character (that is not acting as a command, 
-i.e., is not \enquote{active}) 
+When using a \enquote{Unicode engine},
+any Unicode character (that is not acting as a command,
+i.e., is not \enquote{active})
 can be used as part of the
 \cs{label}/\cs{ref} mechanism or can be displayed in a message or
 written to a file. In 8-bit engines, however, this was severely
-restricted: 
+restricted:
 essentially you had to limit yourself to using
 \acro{ascii} letters, digits and a few punctuation symbols.  With the
 new release, most of these restrictions have been removed and you now
@@ -247,17 +247,17 @@
 or use accented characters, etc., as part of a \cs{typeout} message.
 The only requirement remaining is that only those \acro{utf}-8 characters
 that are also available for typesetting can be used, i.e., only those
-characters for  
+characters for
 which adequate font support is loaded. Otherwise you will get an
-error message stating that 
-the 
+error message stating that
+the
 particular Unicode character is not set
 up for use with \LaTeX{}.
 
-Note, however, that the restrictions on what characters can be 
-used in the names of commands have not changed. 
+Note, however, that the restrictions on what characters can be
+used in the names of commands have not changed.
 
-What is not possible when using 
+What is not possible when using
 an 8-bit engine such as \pdfTeX{} is to use
 characters other than \acro{ascii} letters as part of a command
 name. This is due to the fact that all other characters in such
@@ -267,12 +267,12 @@
 \section{Improving file name handling in \pdfTeX{}}
 
 A related change is that file names used as part of \cs{input},
-\cs{includegraphics}, etc., commands 
-can now contain any 
-Unicode characters allowed by the file system in use,  
-including spaces. 
-In this case, 
- even characters that can't be typeset 
+\cs{includegraphics}, etc., commands
+can now contain any
+Unicode characters allowed by the file system in use,
+including spaces.
+In this case,
+ even characters that can't be typeset
 (due to lack of font support) can be used.
 
 
@@ -280,10 +280,10 @@
 
 The \env{filecontents} environment now supports an optional argument
 in which you can specify that it is allowed to \option{overwrite} an
-already existing file;  
- by default nothing is written if a file with the given name 
+already existing file;
+ by default nothing is written if a file with the given name
 exists anywhere in the search tree. An alternative name for this
-option is \texttt{force}.  
+option is \texttt{force}.
 Even then the environment will refuse to write
 to \cs{jobname}\texttt{.tex} to avoid clobbering its own input
 file. However, if you use a different extension on your input file you
@@ -290,21 +290,21 @@
 could still overwrite it (there is no way to test for that).
 
 There is also an
-option 
-\option{nosearch}, 
+option
+\option{nosearch},
 which specifies that only the current directory is
-examined for an existing file, not the whole \TeX{} inputs tree. 
+examined for an existing file, not the whole \TeX{} inputs tree.
 This is useful if you want to write a
 local copy of a standard system file.
-Finally, \option{noheader} prevents writing a preamble to the file 
-(this  
+Finally, \option{noheader} prevents writing a preamble to the file
+(this
 is the same as using the star form of the environment).
 
-Another change is that this 
-environment is 
-now allowed anywhere in the document, 
+Another change is that this
+environment is
+now allowed anywhere in the document,
 which means
-it provides everything (and more) of what the now obsolete 
+it provides everything (and more) of what the now obsolete
 \pkg{filecontents} package provided.
 
 
@@ -313,13 +313,13 @@
 
 In the early days of \LaTeX{} many commands were fragile, i.e., they
 needed \cs{protect} in front of them when used in places such as
-section headings and other \enquote{moving arguments}, etc. 
-In \LaTeXe{} many of these commands were made robust,  
+section headings and other \enquote{moving arguments}, etc.
+In \LaTeXe{} many of these commands were made robust,
 but still a fairly large number remained unnecessarily fragile.
 
-In this release of \LaTeX{} we have now 
+In this release of \LaTeX{} we have now
 made a lot more commands robust.
-There is a very small collection of commands that must stay fragile  
+There is a very small collection of commands that must stay fragile
 because their expansion (maybe partially) at just the right time is critical.
 Yet others are unlikely to ever be needed in a \enquote{moving argument}.
 
@@ -335,15 +335,15 @@
 automatically robust if used in places like headings or
 \verb=\typeout= and so forth.
 
-%%CCC do we need to say something about possible problems if other packages 
+%%CCC do we need to say something about possible problems if other packages
 %%   or documents have redefined commands whose robustness has changed?
 
-What hasn't been tackled yet is the redefinitions in \pkg{amsmath}: 
+What hasn't been tackled yet is the redefinitions in \pkg{amsmath}:
 this package
 redefines a number of basic math constructs
-that are now robust, so that  
+that are now robust, so that
 they become fragile again
-once the package is loaded. 
+once the package is loaded.
 This area will be addressed in a followup release.
 %
 \githubissue{123}
@@ -354,13 +354,13 @@
 
 \subsection{Guard against \cs{unskip} in tabular cells}
 
-If a \env{tabular} or \env{array} cell started with a 
-command that started with an 
-\cs{unskip} 
-then centering the column broke 
- because the stretching glue   
- on the left got removed. The fix for this was to add 
- a minuscule, and hence unnoticeable, additional space after the stretching space: 
+If a \env{tabular} or \env{array} cell started with a
+command that started with an
+\cs{unskip}
+then centering the column broke
+ because the stretching glue
+ on the left got removed. The fix for this was to add
+ a minuscule, and hence unnoticeable, additional space after the stretching space:
 removing this extra space causes no problems.
 
 This change was also applied in the \pkg{array} package.
@@ -368,7 +368,7 @@
 \githubissue{102}
 
 
-\subsection{Fix Unicode table data}  
+\subsection{Fix Unicode table data}
 
 \texttt{U+012F} which is \enquote{i with ogonek} produced a
 \enquote{dotless i with ogonek} by mistake. This has been corrected.
@@ -384,15 +384,15 @@
 \githubissue{110}
 
 When doing cut-and-paste from other documents or websites, f-ligatures and others ligatures
-might end up as 
+might end up as
 single Unicode characters in your file. In the past those got rejected by \LaTeX{}.
- We 
+ We
  now define those Unicode slots and map them back to the sequence of
  individual characters constituting the ligature.
 If supported by the current font
 (which is normally the case) they
-are then reconstructed as ligatures and thus get typeset 
-as desired. 
+are then reconstructed as ligatures and thus get typeset
+as desired.
 Otherwise they will come out as individual characters which
 is still better than an error message.
 
@@ -419,17 +419,17 @@
 a slightly
 improved definition of \cs{refstepcounter} which allowed
 the internal
-\cs{p at ..} commands to receive the counter value as an argument, 
-instead of 
-acting as a simple prefix. This supports 
-more complex 
-formatting of the value in the reference. 
+\cs{p at ..} commands to receive the counter value as an argument,
+instead of
+acting as a simple prefix. This supports
+more complex
+formatting of the value in the reference.
 
 
 These packages also provided
 the command \cs{labelformat} to help in the specification of
 such formatting in an easy way.  For
-example, \verb=\labelformat{equation}{eq.~(#1)}= specifies that 
+example, \verb=\labelformat{equation}{eq.~(#1)}= specifies that
 references to equations
 automatically come out as
 \enquote{eq.~(5)} or similar. As such a \cs{labelformat} declaration
@@ -438,8 +438,8 @@
 provided \cs{Ref} for such scenarios.
 
 Both of these commands, \cs{labelformat} and \cs{Ref},
-are now removed from the packages and instead made available in 
-the kernel so there is no 
+are now removed from the packages and instead made available in
+the kernel so there is no
 need to load additional packages.
 
 
@@ -454,19 +454,19 @@
 \githubissue{107}
 
 
-\subsection{Avoid bad side-effects of \cs{DeclareErrorFont}} 
+\subsection{Avoid bad side-effects of \cs{DeclareErrorFont}}
 
 As a side effect of setting up the error font for \acro{nfss}, this
 declaration also changed the current font size back to 10pt.
 In most
 circumstances that doesn't matter, because that declaration was meant
-to be used only during the format generation and not during 
-a \LaTeX{} run. 
+to be used only during the format generation and not during
+a \LaTeX{} run.
 However, it has turned out to  be
 used by some developers in other places
 (incorrectly in fact:
-e.g., inside some \texttt{.fd} files) where 
-resetting the size causes 
+e.g., inside some \texttt{.fd} files) where
+resetting the size causes
 havoc
 seemingly at random.
 The command has now changed to not produce such side effects.
@@ -478,11 +478,11 @@
 \subsection{\pkg{nfssfont}: Make font table generation the default action}
 
 With the small file \texttt{nfssfont.tex} it is possible to produce
-font tables and other font tests 
-in the style set up by Don Knuth. 
-In nearly all cases 
-a font table is wanted, 
-so this action has been made the default. 
+font tables and other font tests
+in the style set up by Don Knuth.
+In nearly all cases
+a font table is wanted,
+so this action has been made the default.
 Now one can simply hit enter
 instead of having to write \verb=\table\bye=.
 
@@ -490,12 +490,12 @@
 \subsection{\pkg{trace}: Add package support in the kernel}
 
 The \pkg{trace} package implements the commands \cs{traceon}
-and \cs{traceoff} that work like 
+and \cs{traceoff} that work like
 \cs{tracingall} but skip
 certain code blocks that produce a lot of tracing output.
 %%CCC   being of no interest to anyone!! -- FMi I love your encouragement
-This is useful when debugging, to suppress uninteresting tracing 
-from, for example, loading a font. 
+This is useful when debugging, to suppress uninteresting tracing
+from, for example, loading a font.
 Code blocks that should not be traced
 need to be surrounded by the commands
 \cs{conditionally at traceoff} and \cs{conditionally at traceon}.
@@ -506,7 +506,7 @@
 
 
 
-        
+
 \section{Changes to packages in the \pkg{tools} category}
 
 \subsection{\pkg{array}: Warn if primitive column specifiers are overwritten}
@@ -515,7 +515,7 @@
 specifiers for a \texttt{tabular} preamble; it is also possible to
 change existing ones. However, doing that for a primitive column
 specifier, such as \texttt{c}, is seldom a good idea, since then its
-functionality becomes unavailable. 
+functionality becomes unavailable.
 The package was therefore supposed
 to warn the user in this case, but due to a missing \cs{expandafter}
 in the code it never did---now it does.
@@ -526,19 +526,19 @@
 \subsection{\pkg{multicol}: Introduce \texttt{minrows} counter for balancing}
 
 When there are only a few lines of text on a page at the end of a
-\env{multicols} environment, 
-balancing the columns often looks rather odd: such as 
+\env{multicols} environment,
+balancing the columns often looks rather odd: such as
 three columns each containing a single line. The balancing behavior
-can now be controlled through the counter \texttt{minrows} 
-(default is~1) which specifies that,  
-after balancing, there must be at least that many lines in the first column. 
+can now be controlled through the counter \texttt{minrows}
+(default is~1) which specifies that,
+after balancing, there must be at least that many lines in the first column.
 Thus, if you set \texttt{minrows}
-to \texttt{2} then you 
+to \texttt{2} then you
 would get a
-distribution of \texttt{2+1+0} lines and if set 
+distribution of \texttt{2+1+0} lines and if set
 to three, the result
-would be 
-\texttt{3+0+0} instead of the default \texttt{1+1+1}. 
+would be
+\texttt{3+0+0} instead of the default \texttt{1+1+1}.
 
 What is most appropriate really depends on the circumstances, but this
 now gives you the tools to make local or global adjustments.
@@ -550,13 +550,13 @@
 better interfaces for packages such as \pkg{hyperref} and
 \pkg{cleveref}.
 
-It also  
+It also
 has a new package option \option{nospace} that stops
 \pkg{varioref} from meddling with space in front of
 its commands. The
 original behavior was always somewhat problematical and it is
-suggested that 
-all new documents 
+suggested that
+all new documents
 use this option (which
 should really have been the default).
 
@@ -565,15 +565,15 @@
 
 
 
-        
+
 \subsection[\pkg{xr}: Support citations to bibliographies in\\ external documents]
 {\pkg{xr}: Support citations to bibliographies in external documents}
 
-The \pkg{xr} package can be used to cross-reference an external \LaTeX{} 
-document. 
+The \pkg{xr} package can be used to cross-reference an external \LaTeX{}
+document.
 This means that even when a work is split over different documents (that
-need to be processed separately), \cs{ref} or \cs{pageref} can use labels from 
-any document, creating links between them. This facility has now been extended 
+need to be processed separately), \cs{ref} or \cs{pageref} can use labels from
+any document, creating links between them. This facility has now been extended
 so that \cs{cite} commands and
 their cousins can now also reference bibliographies in external
 documents; this feature was first provided in the package
@@ -588,10 +588,10 @@
 
 \subsection{\pkg{amsmath}: Introduce \cs{overunderset} command}
 
-The \pkg{amsmath} package has always offered 
+The \pkg{amsmath} package has always offered
 the commands \cs{overset} and
 \cs{underset} to produce binary operators with something set above or
-below. But sometimes one needs to put something above and something below: 
+below. But sometimes one needs to put something above and something below:
 The newly added \cs{overunderset} makes this
 easily possible.
 
@@ -601,10 +601,10 @@
 
 There are a number of
 %small
-documentation updates in files 
+documentation updates in files
 on the documentation page of the project website~\cite{30:site-doc}.
 
-\subsection{Highlighting the standard \texorpdfstring{\acro{nfss}}{NFSS} codes for series} 
+\subsection{Highlighting the standard \texorpdfstring{\acro{nfss}}{NFSS} codes for series}
 
 The \emph{Font Selection Guide}~\cite{fntguide} has been
 updated to strongly recommend that the standard codes should be used
@@ -619,14 +619,14 @@
 short codes like \texttt{k}, \texttt{j}, \texttt{t} and others with
 the result that changing a font family required different codes and
 thus prevented users from easily mixing and matching different
-families. 
+families.
 Some work has been undertaken to get back to a coherent scheme and
 all the font families supported through the program \texttt{autoinst}
-are now producing the standard codes again. 
+are now producing the standard codes again.
 
 
 \subsection{\LaTeX{} \texttt{base} and \texttt{doc} distribution reunited}
-      
+
 For a long time the \LaTeX{} distribution available from \CTAN{} was
 split into several parts to allow them to be uploaded or downloaded
 separately. As this is these days more confusing than helpful we have
@@ -641,25 +641,25 @@
 %\fontsize{9.3}{11.3}\selectfont
 
 \bibitem{30:Mittelbach:TB39-1} Frank Mittelbach:
-  \emph{New rules for reporting bugs in the \LaTeX{} core software}.  
+  \emph{New rules for reporting bugs in the \LaTeX{} core software}.
   In: TUGboat, 39\#1, 2018.
   \url{https://latex-project.org/publications/}
 
 \bibitem{devformat} Frank Mittelbach:
   \emph{The
-  \LaTeX{} release workflow and the \LaTeX{} dev formats}.  
+  \LaTeX{} release workflow and the \LaTeX{} dev formats}.
   In: TUGboat, 40\#2, 2019.
   \url{https://latex-project.org/publications/}
 
 \bibitem{fntguide} \LaTeX{} Project Team:
-  \emph{\LaTeXe{} font selection}.\\  
+  \emph{\LaTeXe{} font selection}.\\
   \url{https://latex-project.org/documentation/}
 
-\bibitem{30:site-doc} 
-  \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\  
+\bibitem{30:site-doc}
+  \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
   \url{https://latex-project.org/documentation/}
 
-%\bibitem{30:site-pub} 
+%\bibitem{30:site-pub}
 %  \emph{\LaTeX{} Project publications on the \LaTeX{} Project Website}.\\
 %  \url{https://latex-project.org/publications/}
 

Added: trunk/Master/texmf-dist/doc/latex/base/ltnews31.pdf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/doc/latex/base/ltnews31.pdf
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews31.pdf	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews31.pdf	2020-02-02 22:42:01 UTC (rev 53640)

Property changes on: trunk/Master/texmf-dist/doc/latex/base/ltnews31.pdf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/pdf
\ No newline at end of property
Added: trunk/Master/texmf-dist/doc/latex/base/ltnews31.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltnews31.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/base/ltnews31.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -0,0 +1,768 @@
+% \iffalse meta-comment
+%
+% Copyright 2019-2020
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%    https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% Filename: ltnews31.tex
+%
+% This is issue 31 of LaTeX News.
+
+\NeedsTeXFormat{LaTeX2e}[2020-02-02]
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\usepackage{csquotes}
+\usepackage{multicol}
+
+\providecommand\meta[1]{$\langle$\textit{#1}$\rangle$}
+\providecommand\option[1]{\texttt{#1}}
+\providecommand\env[1]{\texttt{#1}}
+
+
+\providecommand\XeTeX{\hologo{XeTeX}}
+\providecommand\LuaTeX{\hologo{LuaTeX}}
+\providecommand\pdfTeX{\hologo{pdfTeX}}
+\providecommand\MiKTeX{\hologo{MiKTeX}}
+\providecommand\CTAN{\textsc{ctan}}
+\providecommand\TL{\TeX\,Live}
+\providecommand\githubissue[2][]{\ifhmode\unskip\fi
+     \quad\penalty500\strut\nobreak\hfill
+     \mbox{\small\slshape(%
+       \href{https://github.com/latex3/latex2e/issues/\getfirstgithubissue#2 \relax}%
+          	    {github issue#1 #2}%
+           )}%
+     \par\smallskip}
+
+% simple solution right now (just link to the first issue if there are more)
+\def\getfirstgithubissue#1 #2\relax{#1}
+
+\providecommand\sxissue[1]{\ifhmode\unskip\fi
+     \quad\penalty500\strut\nobreak\hfill
+     \mbox{\small\slshape(\url{https://tex.stackexchange.com/#1})}\par}
+
+\providecommand\gnatsissue[2]{\ifhmode\unskip\fi
+     \quad\penalty500\strut\nobreak\hfill
+     \mbox{\small\slshape(%
+       \href{https://www.latex-project.org/cgi-bin/ltxbugs2html?pr=#1\%2F#2}%
+          	    {gnats issue #1/#2}%
+           )}%
+     \par}
+
+\let\cls\pkg
+\providecommand\env[1]{\texttt{#1}}
+
+\vbadness=1400  % accept slightly empty columns
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\iffalse % only for TUB production
+\usepackage{graphicx}
+\makeatletter
+% Xe\TeX{} requires reflecting the first E, hence we complain if the
+% graphics package is not present.  (For plain documents, this can be
+% loaded via Eplain.)  Also, at Barbara's suggestion, if the current
+% font is slanted, we rotate by 180 instead of reflecting so there is at
+% least a chance to look ok.  (The magic values here seem more or less
+% ok for \texttt{cmsl} and \texttt{cmti}.)
+%
+%    \begin{macrocode}
+\def\tubreflect#1{%
+  \@ifundefined{reflectbox}{%
+    \TBerror{A graphics package must be loaded for \string\XeTeX}%
+  }{%
+    \ifdim \fontdimen1\font>0pt
+      \raise 1.6ex \hbox{\kern.1em\rotatebox{180}{#1}}\kern-.1em
+    \else
+      \reflectbox{#1}%
+    \fi
+  }%
+}
+\def\tubhideheight#1{\setbox0=\hbox{#1}\ht0=0pt \dp0=0pt \box0 }
+\def\XekernbeforeE{-.125em}
+\def\XekernafterE{-.1667em}
+\DeclareRobustCommand{\Xe}{\leavevmode
+  \tubhideheight{\hbox{X%
+    \setbox0=\hbox{\TeX}\setbox1=\hbox{E}%
+    \ifdim \fontdimen1\font>0pt \def\XekernbeforeE{0em}\fi
+    \lower\dp0\hbox{\raise\dp1\hbox{\kern\XekernbeforeE\tubreflect{E}}}%
+    \kern\XekernafterE}}}
+\def\XeTeX{\Xe\TeX}
+\def\XeLaTeX{\Xe{\kern.11em \LaTeX}}
+\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\publicationmonth{February}
+\publicationyear{2020}
+
+\publicationissue{31}
+
+\begin{document}
+
+%\addtolength\textheight{4.2pc}   % only for TUB
+
+\maketitle
+{\hyphenpenalty=10000 \spaceskip=3.33pt \hbadness=10000 \tableofcontents}
+
+\setlength\rightskip{0pt plus 3em}
+
+
+\medskip
+
+
+%\section{Introduction}
+%
+%This document is under construction \ldots
+
+
+\section{Experiences with the \LaTeX\ \texttt{-dev} formats}
+
+As reported in the previous \emph{\LaTeX{} News}, we have made a pre-release
+version of the \LaTeX{} kernel available as \LaTeX\texttt{-dev}. Overall, the
+approach of having an explicit testing release has been positive: it is now
+readily available in \TeX{} systems and is getting real use\\
+beyond the team.
+
+The current
+release has been tested by a number of people, and we have had valuable feedback
+on a range of the new ideas. This has allowed us to fix issues in several of the
+new features, as described below.
+
+
+We wish to thank all the dedicated users who have been
+trying out the development formats, and we encourage others to do so. Pre-testing
+in this way does mean that, for the vast majority of users, problems are solved
+before they even appear!
+
+
+\section{Concerning this release \ldots (Lua\LaTeX{} engine)}
+
+The new LuaHB\TeX{} engine is Lua\TeX{} with an embedded HarfBuzz library.
+HarfBuzz can be used by setting a suitable renderer in the font
+declaration. A basic interface for that is provided by \pkg{fontspec}.
+This additional font renderer will greatly improve the shaping of
+various scripts when using Lua\LaTeX{}, many of which are currently handled correctly only by
+\XeTeX{}, which always uses HarfBuzz.
+
+To simplify testing of the new engine, binaries have
+already been added to MiK\TeX{} and \TeX{}~Live 2019 and both distributions have already now changed
+the Lua\LaTeX-dev format to use it.
+
+Going forward, Lua\LaTeX\ (and Lua\LaTeX-dev) will both use the LuaHB\TeX{}
+engine.
+The timing of the switch to the LuaHB\TeX{} engine
+depends on the distribution you use
+(for \TeX{}~Live this will be with \TeX{}~Live 2020).
+
+
+
+
+\section{Improved load-times for \pkg{expl3}}
+
+The \LaTeX3 programming layer, \pkg{expl3}, has over the past decade moved from
+being largely experimental to broadly stable. It is now used in a significant
+number of third-party packages, most notably \pkg{xparse}, for defining
+interfaces in cases where no \pkg{expl3} code is \enquote{visible}. In addition, most
+\LaTeX{} documents compiled using \XeTeX{} or \LuaTeX{} load \pkg{fontspec},
+which is written using \pkg{expl3}.
+
+The \pkg{expl3} layer contains a non-trivial number of macros, and when used
+with the \XeTeX{} and \LuaTeX{} engines, it also loads a large body of Unicode data.
+This means that even on a fast computer, there is a relatively large load time when
+using \pkg{expl3}.
+
+For this release, the team have made adjustments in the \LaTeXe{} kernel to
+pre-load a significant portion of \pkg{expl3} when the format is built. This is
+transparent to the user, other than the significant decrease in document
+processing time: there will be no \enquote{pause} whilst loading the Unicode data
+files. Loading \pkg{expl3} in documents and packages can continue to be done as usual;
+eventually, it will be possible to omit
+\begin{verbatim}
+\RequirePackage{expl3}
+\end{verbatim}
+entirely but, to support older formats, this is still recommended at present.
+
+
+\section[Improvements to \LaTeX{} font selection: NFSS]
+        {Improvements to \LaTeX{}'s font selection\\ mechanism (NFSS)}
+
+
+\subsection{Extending the shape management in NFSS}
+
+Over time, more and more fonts have become available for use with
+\LaTeX{}. Many such font families offer additional shapes such as small
+caps italic (\texttt{scit}), small caps slanted (\texttt{scsl}) or
+swash (\texttt{sw}).
+By using \cs{fontshape} those shapes can
+be explicitly selected. For the swash shapes there is also
+\cs{swshape} and \cs{textsw} available.
+
+In the original font selection implementation a request to select a new shape
+always overrode the current shape. With the 2020 release of \LaTeX{}
+this has changed and \cs{fontshape} can now be used to combine small
+capitals with italic, slanted or swash letters, either by explicitly
+asking for \texttt{scit}, etc., or by asking for italics when typesetting
+already in small caps, and so forth.
+
+Using \cs{upshape} will still change italics or slanted back to an
+upright shape but will not any longer alter the small caps setting. To
+change small capitals back to upper/lower case you can now use
+\cs{ulcshape} (or \cs{textulc}) which in turn will not change the font
+with respect to italics, slanted or swash.
+%
+There is one exception: for compatibility reasons \cs{upshape} will
+change small capitals back to upright (\texttt{n} shape), if the
+current shape is \texttt{sc}. This is done so that something like
+\cs{scshape}\allowbreak\texttt{...}\allowbreak\cs{upshape} continues
+to work as before, but we suggest that you don't use that deprecated method in
+new documents.
+
+
+Finally, if you want to
+reset the shape back to normal you can use \cs{normalshape} which is a
+shorthand for \cs{upshape}\cs{ulcshape}.
+
+The way that shapes combine with each other is not hardwired; it is
+customizable and extensible if there is ever a need for this. The
+mappings
+are defined through \cs{DeclareFontShapeChangeRule} and the
+details for developers are documented in \texttt{source2e.pdf}.
+
+The ideas for this interface extension have been pioneered in
+\pkg{fontspec} by Will Robertson for Unicode engines, and in
+\pkg{fontaxes} by Andreas Bühmann and Michael Ummels for \pdfTeX{};
+they are by now used in many font support packages.
+
+
+\subsection{Extending the font series management in NFSS}
+
+Many of the newer font families also come provided with additional
+weights (thin, semi-bold, ultra-bold, etc.)\ or several running widths,
+such as condensed or extra-condensed.  In some cases the number of
+different values for series (weight plus width) is really impressive:
+for example, Noto Sans
+offers 36 fonts, from ultra-light extra condensed to ultra-bold medium width.
+
+Already in its original design, NFSS supported 9 weight levels, from
+ultra-light (\texttt{ul}) to ultra-bold (\texttt{ub}), and also 9 width
+levels, from ultra-condensed (\texttt{uc}) to ultra-expanded
+(\texttt{ux}):  more than enough, even for a font family like Noto
+Sans. Unfortunately, some font support packages nevertheless invented
+their own names, so in recent years you have been able to find all kinds of
+non-standard series names (\texttt{k}, \texttt{i}, \texttt{j} and
+others), making it impossible to combine different fonts successfully
+using the standard NFSS mechanisms.
+
+Over the course of the last year a small number of individuals,
+notably, Bob Tennent, Michael Sharpe and Marc Penninga, have worked hard to
+bring this unsatisfactory situation back under control; so today we are
+happy to report that the internal font support files for more than a
+hundred font families are all back to following the standard NFSS conventions.
+Combining them is now again rather nice and easy, and from a technical
+perspective they can now be easily matched; but, of course,
+there is still the task of choosing combinations that visually work
+well together.
+
+In the original font selection implementation, a request to select a new series
+always overrode the current one. This was reasonable because there
+were nearly no fonts available that offered anything other than a
+medium or a bold series. Now that this has changed and families such
+as Noto Sans are available, combining weight and width into a single
+attribute is no longer appropriate. With the 2020 release of \LaTeX{},
+the management of series therefore changed to allow independent
+settings of the weight and the width attributes of the series.
+
+For most users this change will be largely transparent as \LaTeX{}
+offers only \cs{textbf} or \cs{bfseries} to select a bolder face (and
+\cs{textmd} and \cs{mdseries} to return to a medium series): there is no
+high-level command for selecting a condensed face, etc. However, using
+the NFSS low-level interface it is now possible to ask for, say,
+\verb=\fontseries{c}\selectfont= to get a condensed
+face (suitable for a marginal note) and that would still allow
+the use of \cs{textbf} inside the note, which would
+select a bold-condensed face (and not a rather odd-looking
+bold-extended face in the middle of condensed type).
+
+The expectation is that this functionality will be used largely by
+class and package designers but, given that the low-level NFSS
+commands are usable on the document level and that they are not really
+difficult to apply, there are probably also a number of users who will
+enjoy using these new possibilities that bring \LaTeX{} back into the
+premier league for font usage.
+
+The ways in which the different series values combine with each other is not
+hardwired but is again customizable and extensible. The mappings are
+defined through \cs{DeclareFontSeriesChangeRule} and the details for
+developers are documented in \texttt{source2e.pdf}.
+
+
+\subsection{Font series defaults per document family}
+
+With additional weights and widths now being available in
+many font families, it is more likely that somebody will want to
+match, say, a medium weight serif family with a semi-light sans serif
+family, or that with one family one wants to use the bold-extended
+face when \cs{textbf} is used, while with another it should be bold
+(not extended) or semibold, etc.
+
+In the past this kind of extension was provided by Bob Tennent's
+\pkg{mweights} package, which has been used in many font
+support packages.
+With the 2020 release of \LaTeX{} this feature is now available out
+of the box.  In addition we also offer a document-level interface to adjust the
+behavior of the high-level series commands \cs{textbf}, \cs{textmd}, and of their
+declaration forms \cs{bfseries} and \cs{mdseries}, so that they can
+have different effects for the serif, sans serif and typewriter
+families used in a document.
+
+For example, specifying
+\begin{verbatim}
+  \DeclareFontSeriesDefault[rm]{bf}{sb}
+  \DeclareFontSeriesDefault[tt]{md}{lc}
+\end{verbatim}
+in the document preamble would result in \cs{textbf} producing
+semi-bold (\texttt{sb}) when typesetting in a roman typeface.
+The second line says that the
+typewriter default face (i.e., the medium series \texttt{md}) should be
+a light-condensed face. The optional argument here can be either
+\texttt{rm}, \texttt{sf} or \texttt{tt} to indicate one of the three
+main font families in a document; if omitted you will change the
+overall document default instead.  In the first mandatory argument you
+specify either \texttt{md} or \texttt{bf} and the second mandatory
+argument then gives the desired series value in NFSS nomenclature.
+
+
+\subsection{Handling of nested emphasis}
+
+In previous releases of \LaTeX{}, nested \cs{emph} commands
+automatically alternated between italics and upright.  This mechanism
+has now been generalised so that you can now specify for arbitrary nesting
+levels how emphasis should be handled.
+
+The declaration \cs{DeclareEmphSequence} expects a comma separated
+list of font declarations corresponding to increasing levels of
+emphasis. For example,
+\begin{verbatim}
+  \DeclareEmphSequence{\itshape,%
+               \upshape\scshape,\itshape}
+\end{verbatim}
+uses italics for the first, small capitals for the second, and italic
+small capitals for the third level (provided you use a font that
+supports these shapes).  If there are more nesting levels than
+provided, \LaTeX{} uses the declarations stored in \cs{emreset} (by
+default \cs{ulcshape}\cs{upshape}) for the next level and then
+restarts the list.
+
+The mechanism tries to be \enquote{smart} by verifying that the given
+declarations actually alter the current font. If not, it continues and
+tries the next level---the assumption being that there was already a
+manual font change in the document to the font that is now supposed to
+be used for emphasis.
+%
+Of course, this only works if the declarations in the list's entries
+actually change the font and not, for example, just the color. In such
+a scenario one has to add \cs{emforce} to the entry, which directs the
+mechanism to use the entry, even if the font attributes appear to be
+unchanged.
+
+
+\subsection{Providing font family substitutions}
+
+Given that \pdfTeX{} can only handle fonts with up to 256 glyphs, a
+single font encoding can only support a few languages. The \texttt{T1}
+encoding, for example, does support many Latin-based scripts,
+but if you want to write in Greek or Cyrillic then you will need to switch
+encodings to \texttt{LGR} or \texttt{T2A}. Given that not every font
+family offers glyphs in such encodings, you may end up with some
+default family (e.g., Computer Modern) that doesn’t blend in well
+with the chosen document font.  For such cases NFSS now offers
+\cs{DeclareFontFamilySubstitution}, for example:
+\begin{verbatim}
+  \DeclareFontFamilySubstitution{LGR}
+       {Montserrat-LF}{IBMPlexSans-TLF}
+\end{verbatim}
+tells \LaTeX{} that if you are typesetting in the sans serif font
+\texttt{Montserrat-LF} and the Greek encoding \texttt{LGR} is asked
+for, then \LaTeX{} should use \texttt{IBMPlexSans-TLF} to fulfill
+the encoding request.
+
+The code is based on ideas from the \pkg{substitutefont}
+package by Günter Milde, but the implementation is different.
+
+
+\subsection{Providing all text companion symbols by default}
+
+The text companion encoding \texttt{TS1} was originally not available
+by default, but only when the \pkg{textcomp} package was loaded. The
+main reason for this was limited availability of fonts with this encoding other than
+Computer Modern; another was the memory restrictions back in the nineties.
+These days neither limitation remains, so with the 2020 release all
+the symbols provided with the \pkg{textcomp} package are available out
+of the box.
+
+Furthermore, an intelligent substitution mechanism has been
+implemented so that glyphs missing in some fonts are automatically
+substituted with default glyphs that are sans serif if you typeset in
+\cs{textsf} and monospaced if you typeset using \cs{texttt}. In the
+past they were always taken from Computer Modern Roman if substitution
+was necessary.
+
+
+\typeout{^^J^^J***************************************}
+\typeout{** This example needs LaTeX 2020-02-02}
+\typeout{** to come out correctly !!}
+\typeout{***************************************^^J^^J}
+
+\textsf{This is most noticeable with \cs{oldstylenums} which are now
+  taken from \texttt{TS1} so that you no longer get
+  \textrm{\oldstylenums{1234}} but \oldstylenums{1234} when typesetting
+  in sans serif fonts}\texttt{ and \oldstylenums{1234} when using
+  typewriter fonts.}
+
+If there ever is a need to use the original (inferior) definition,
+then that remains available as \cs{legacyoldstylenums}; and to fully
+revert to the old behavior there is also
+\cs{UseLegacyTextSymbols}. The latter declaration reverts \cs{oldstylenums}
+and also changes the footnote symbols, such as \cs{textdagger},
+\cs{textparagraph}, etc., to pick up their glyphs from the math
+fonts instead of the current text font (this means they always keep
+the same shape and do not nicely blend in with the text font).
+
+With the text companion symbols as part of the kernel, it is normally
+no longer necessary to load the \pkg{textcomp} package, but for
+backwards compatibility this package will remain available.  There is,
+however, one use case where it remains useful: if you load the package
+with the option \texttt{error} or \texttt{warn} then substitutions
+will change their behavior and result in a \LaTeX{} error or a
+\LaTeX{} warning (on the terminal), respectively. Without the package
+the substitution information only appears in the \texttt{.log}
+file. If you use the option \texttt{quiet}, then even the information in
+the transcript is suppressed (which is not really recommended).
+
+
+
+\subsection{New \texttt{alias} size function for use in \texttt{.fd} files}
+
+% These are really called ``size functions'' in NFSS, a bit weird I know
+
+Most of the newer fonts supported in \TeX{} have been set up with the
+\texttt{autoinst} tool by Marc Penninga. In the past, this program
+set up each font  using the face name chosen by that font's designer,
+e.g., \enquote{\texttt{regular}}, \enquote{\texttt{bold}}, etc.
+These face names were then mapped by substitution to
+the standard NFSS series names, i.e., \enquote{\texttt{m}}
+or \enquote{\texttt{b}}.
+As a result one got unnecessary substitution warnings such as
+\enquote{\texttt{Font T1/abc/bold/n not found, using T1/abc/b/n instead}}.
+
+%FMi the message above is actually different and longer but ...
+
+We now provide a new NFSS  size function, \texttt{alias}, that can
+and will be used by \texttt{autoinst} in the future. It provides the
+same functionality as the \texttt{subst} function but is less vocal
+about its actions, so that only significant font substitutions show
+up as warnings.
+
+
+\subsection{Suppress unnecessary font substitution warnings}
+
+Many sans serif fonts do not have real italics but usually only
+oblique/slanted shapes, so the substitution of slanted for italics is
+natural and in fact many designers talk about italic sans serif faces
+even if in reality they are oblique.
+
+With nearly all sans serif font families, the \LaTeX{} support files
+therefore silently substitute slanted if you ask for \cs{itshape} or
+\cs{textit}.  This is also true for Computer Modern in \texttt{T1}
+encoding but in \texttt{OT1} you got a warning on the terminal even
+though there is nothing you can do about it. This has now been changed
+to an information message only, written to the \texttt{.log} file.  %
+\githubissue{172}
+
+\vspace{-\smallskipamount}
+\pagebreak
+
+\section{Other changes to the \LaTeX{} kernel}
+
+
+\subsection{UTF-8 characters in package descriptions}
+
+In 2018 we made UTF-8 the default input encoding for \LaTeX{} but we
+overlooked the case of non-ASCII characters in the short
+package descriptions used in declarations, e.g., in the optional argument to
+\cs{ProvidesPackage}.
+They worked (sometimes) before, but the switch to UTF-8 made them always
+generate an error.
+This has been corrected.
+%
+\githubissue{52}
+
+
+\subsection[Fix inconsistent hook setting when\texorpdfstring{\\}{} loading packages]%
+           {Fix inconsistent hook setting when loading packages}
+
+As part of loading a package, the command
+\texttt{\textbackslash}\textit{package}\texttt{.sty-h@@k} gets
+defined.  However, attempting to load a package a second time resulted
+in this hook becoming undefined again.  Now the hook remains defined
+so that extra loading attempts do not change the state of
+\LaTeX{} (relevant only to package developers).
+%
+\githubissue{198}
+
+
+\subsection{Avoid spurious warning if \texttt{LY1} is made the default encoding}
+
+Making \texttt{LY1} the default encoding, as is done by some font support
+packages, gave a spurious warning even if \cs{rmdefault} was changed first.
+This was corrected.
+%
+\githubissue{199}
+
+\enlargethispage{-\smallskipamount}
+\vspace{-\medskipamount}
+
+\subsection{Ensure that \cs{\textbackslash} remains robust}
+
+In the last release we made most document-level commands robust, but
+\cs{\textbackslash} became fragile again\\
+whenever  \cs{raggedright} or similar typesetting\\
+was used. This has been fixed.
+%
+\githubissue{203}
+
+
+\subsection{Make math delimiters robust in a different way}
+
+Making math delimiters robust caused an issue in some situations. This
+has been corrected. This also involved a correction to \pkg{amsmath}.
+%
+\githubissue{251}
+
+
+\subsection{Allow more write streams with \texttt{filecontents} in \LuaTeX}
+
+Most \TeX{} engines only support a maximum of sixteen concurrently
+open write streams, and when those have been used up, then
+\texttt{filecontents} or any other code trying to open one
+will fail.
+In \LuaTeX{} more write streams are available and those can
+also now be utilised.
+%
+\githubissue{238}
+
+\subsection{Allow spaces in \texttt{filecontents} option list}
+
+Leaving spaces or newlines in the option list prevented the options
+from being correctly recognized. This\\ 
+has been corrected.
+%
+\githubissue{256}
+
+
+\subsection{New \texttt{reverselist} Lua callback type}
+
+A new callback type, \texttt{reverselist}, was added:\\ 
+\texttt{post\_mlist\_to\_hlist\_filter} and \texttt{post\_linebreak\_filter} 
+are now of this type.
+
+
+\section{Changes to packages in the \pkg{graphics} category}
+
+\subsection[Make \pkg{color}/\pkg{graphics} user-level commands robust]
+           {Make \pkg{color} \& \pkg{graphics} user-level commands robust}
+
+Some of the user-level commands in \pkg{color}, \pkg{graphics} and
+\pkg{graphicx},
+%\pagebreak
+such as \cs{textcolor} or \cs{includegraphics}, were
+still fragile so didn't work in moving arguments.\\
+All of these are now robust.
+%
+\githubissue{208}
+
+
+\section{Changes to packages in the \pkg{tools} category}
+
+\subsection{Fixed column depth in boxed \texttt{multicols}}
+
+The \texttt{multicols} environment was setting \cs{maxdepth} when
+splitting boxes; but, due to the way the internal interfaces of \LaTeX{} are
+designed, it should have used \cs{@maxdepth} instead. As a result,
+balanced boxed multicols sometimes ended up having different heights
+even if they had exactly the same content.
+%
+\githubissue{190}
+
+
+\subsection{Ensure that \texttt{multicols} does not lose text}
+
+The \texttt{multicols} environment needs a set of consecutively numbered boxes to
+collect column material. The way those got allocated could result in
+disaster if other packages allocated most boxes below box~255 (which
+\TeX{} always uses for the output page).  In the original
+implementation that problem was avoided because one could only
+allocate box numbers below~255, but nowadays the \LaTeX{} allocation routine
+allows allocating box numbers both below and above~255. So the assumption that
+when asking for, say, 20~boxes you always get a consecutive sequence of~20 box
+register numbers became no longer true:
+some of the column material could
+end up in box~255, where it would get overwritten. This has now been corrected by
+allocating all necessary boxes with numbers above~255 whenever there aren't enough
+lower-numbered registers available.
+%
+\githubissue{237}
+
+\subsection{Allow spaces in \cs{hhline} arguments}
+
+The \verb|\hhline| command, which allows the
+specification of rule segments in \texttt{tabular} environments, now
+allows (but ignores) spaces between its tokens: so
+\verb|\hhline{: = : =}| is now allowed and is equivalent to
+\verb|\hhline{:=:=}|. This matches similar token arguments in \LaTeX{}
+such as the \verb|[h t p]| argument on floats.  A similar change has
+been made to the extended \verb|\hhline| command in the
+\texttt{colortbl} package.
+%
+\githubissue{242}
+
+
+
+\section{\LaTeX{} requirements on engine primitives}
+
+Since the finalization of \eTeX{} in 1999, a number of additional `utility'
+primitives have been added to \pdfTeX{}. Several of these are broadly useful
+and have been required by \pkg{expl3} for some time, most notably
+\cs{pdfstrcmp}. Over time, a common set of these `post-\eTeX{}' primitives have
+been incorporated into \XeTeX{} and (u)p-\TeX{}; they were  already available in
+\LuaTeX{}.
+
+A number of these additional primitives are needed to support new or improved
+functionality in \LaTeX{}. This is seen for example in the improved UTF-8 handling,
+which uses \cs{ifincsname}. The following primitive
+functionality (which in \LuaTeX{} may be achieved using Lua code)
+will therefore be \emph{required} by the \LaTeX{} kernel and core\\
+packages from the start of 2021:
+%
+\begingroup\setlength\columnsep{0pt}
+\begin{multicols}{2}
+\fontsize{9.3}{11.3}\selectfont
+\begin{itemize}
+  \item \cs{expanded}
+  \item \cs{ifincsname}
+  \item \cs{ifpdfprimitive}
+  \item \cs{pdfcreationdate}
+  \item \cs{pdfelapsedtime}
+  \item \cs{pdffiledump}
+  \item \cs{pdffilemoddate}
+  \item \cs{pdffilesize}
+  \item \cs{pdflastxpos}
+  \item \cs{pdflastypos}
+  \item \cs{pdfmdfivesum}
+  \item \cs{pdfnormaldeviate}
+  \item \cs{pdfpageheight}
+  \item \cs{pdfpagewidth}
+%\end{itemize}
+%\end{multicols}
+%
+% very manual! multicol needs update to detect that it is used
+% inside twocolumn!
+%
+%\begin{multicols}{2}
+%\begin{itemize}
+  \item \cs{pdfprimitive}
+  \item \cs{pdfrandomseed}
+  \item \cs{pdfresettimer}
+  \item \cs{pdfsavepos}
+  \item \cs{pdfsetrandomseed}
+  \item \cs{pdfshellescape}
+  \item \cs{pdfstrcmp}
+  \item \cs{pdfuniformdeviate}
+\end{itemize}
+\end{multicols}
+\endgroup
+For ease of reference, these primitives will be referred to as the
+`\pdfTeX{} utilities'. With the exception of \cs{expanded}, these have been
+present in \pdfTeX{} since the release of version 1.40.0 in 2007; \cs{expanded}
+was added for \TeX{}~Live 2019. Similarly, the full set of these utility primitives
+has been available in \XeTeX{} from the 2019 \TeX{}~Live release, and has
+always been available in \LuaTeX{} (some by Lua emulation).
+%
+The Japanese p\TeX{} and
+up\TeX{} gained all of the above (except \cs{ifincsname}) for \TeX{}~Live
+2019 and will both have that primitive also from the 2020 release onward.
+
+At the same time, engines which are fully Unicode-capable must provide
+the following three primitives:
+
+\vspace{-\smallskipamount}
+\begingroup\setlength\columnsep{0pt}
+\begin{multicols}{2}
+\fontsize{9.3}{11.3}\selectfont
+\begin{itemize}
+  \item \cs{Uchar}
+  \quad \textbullet{}\hspace{\labelsep}\cs{Ucharcat}
+  \item \cs{Umathcode}
+\end{itemize}
+\end{multicols}
+\vspace{-\smallskipamount}
+\endgroup
+%
+Note that it has become standard practice to check for Unicode-aware engines
+by using the existence of the \cs{Umathcode} primitive. As such, this is already
+a requirement: engines lacking these primitives cannot use Unicode features
+of the \LaTeXe{} kernel or \pkg{expl3}. Note also that up\TeX{} can
+handling Unicode but it is not classed as a Unicode engine by the 
+base \LaTeX\ code.
+
+\enlargethispage*{\baselineskip}
+\vspace{3.9pt}               % manual adjustment to align the bottom
+
+
+\begin{thebibliography}{9}
+
+\fontsize{9.3}{11.3}\selectfont
+
+\bibitem{31:devformat} Frank Mittelbach:
+  \emph{The
+  \LaTeX{} release workflow and the \LaTeX{} dev formats}.
+  In: TUGboat, 40\#2, 2019.
+  \url{https://latex-project.org/publications/}
+
+\bibitem{31:fntguide} \LaTeX{} Project Team:
+  \emph{\LaTeXe{} font selection}.\\
+  \url{https://latex-project.org/help/documentation/fntguide.pdf}
+
+\bibitem{31:site-doc}
+  \emph{\LaTeX{} documentation on the \LaTeX{} Project Website}.\\
+  \url{https://latex-project.org/help/documentation/}
+
+\end{thebibliography}
+
+
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/base/ltnews31.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/base/ltx3info.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/ltx3info.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/ltx3info.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/ltx3info.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 \documentclass[a4paper]{article}
 
@@ -72,7 +72,7 @@
 
 \title{\Large The \LaTeX3 Project}
 
-\author{\copyright 1995--1999 \ 
+\author{\copyright 1995--1999 \
 Frank Mittelbach and
 Chris Rowley}
 
@@ -100,7 +100,7 @@
   \item The printed documentation of CD-ROM collections that contain
     \LaTeX.
   \item On-line collections that include a significant proportion of
-    documents encoded in \LaTeX. 
+    documents encoded in \LaTeX.
 \end{itemize}
 \end{abstract}
 
@@ -110,7 +110,7 @@
 greatly increase the range of documents which can be processed; and it
 will provide a flexible interface for typographic designers to easily
 specify the formatting of a class of documents.
- 
+
 The \LaTeX3 Project Team is a small group of volunteers whose aim is
 to produce this major new document processing system based on the
 principles pioneered by Leslie Lamport in the current \LaTeX.
@@ -122,11 +122,11 @@
 develop and maintain this system, releasing updated versions every six
 months and recording these activities in the \LaTeX{} bugs database
 (see below).
-  
+
 Although \LaTeX{} may be distributed freely, the production and
 maintenance of the system does require expenditure of reasonably large
 sums of money.  The \LaTeX3 Project Fund has therefore been set up to
-channel money into this work.  We know that some users are 
+channel money into this work.  We know that some users are
 aware of this fund as they have already contributed to it---many
 thanks to all of them!  If you want to know more about how you can
 help the project, see Page \pageref{fund}---and thanks in advance for
@@ -143,7 +143,7 @@
 typesetting. Its use is particularly common in specialized areas, such
 as technical documents of various kinds, and for multi-lingual
 requirements.
- 
+
 The \TeX{} system is fully programmable. This allows the development
 of high-level user interfaces whose input is processed by \TeX{}'s
 interpreter to produce low-level typesetting instructions; these are
@@ -154,7 +154,7 @@
 form as much as possible by providing the user with a generic (\ie
 logical rather than visual) mark-up interface; this is combined with
 style sheets which specify the formatting.
- 
+
 Recent years have shown that the concepts and approach of \LaTeX{} are
 now widely accepted. Indeed, \LaTeX{} has become the standard method
 of communicating and publishing documents in many academic
@@ -168,7 +168,7 @@
 corporate documentation and publishing.  This has also extended to
 on-line publishing using, for example, \PDF{} output incorporating
 hypertext and other active areas.
-  
+
 With the spreading use of \SGML{}-compliant systems (\eg Web-based
 publishing using \HTML{} or \XML{}) \TeX{} again is a common choice as
 the formatting engine for high quality typeset output: a widely used
@@ -210,9 +210,9 @@
    the extendibility (package interface);
  \item
    the layout specification of tabular material;
- \item 
+ \item
    the specification and inclusion of graphical material;
- \item 
+ \item
    the positioning of floating material, and other aspects of page
    layout;
  \item
@@ -235,7 +235,7 @@
 \item Font declaration and selection;
 \item Font and glyph handling within mathematical formulas;
 \item Handling multiple font glyph encodings within a document;
-\item Allowing multiple input character encodings within a document; 
+\item Allowing multiple input character encodings within a document;
 \item A uniform interface for graphics inclusion;
 \item Support for coloured text;
 \item Building and interfacing new classes and extension packages.
@@ -247,7 +247,7 @@
 The strengths of the present version of \LaTeX{} are
 as follows:
  \begin{itemize}
- \item excellent standard of typesetting for text, technical 
+ \item excellent standard of typesetting for text, technical
 formulas\\
 and tabular material;
  \item  separation of generic mark-up from visual formatting;
@@ -262,7 +262,7 @@
  \begin{itemize}
  \item
  It will provide a syntax that allows highly automated translation
- from popular \SGML{} DTDs into \LaTeX{} document classes (these 
+ from popular \SGML{} DTDs into \LaTeX{} document classes (these
  will be provided as standard with the new version).
 
  The syntax of the new \LaTeX{} user-interface will, for example,
@@ -287,14 +287,14 @@
  could easily be interfaced to a visually-oriented, menu-driven
  specification system.
 
- This interface will also support \DSSSL{} specifications and 
+ This interface will also support \DSSSL{} specifications and
  style-sheet concepts such as those used with \HTML{} and \XML{}.
- 
+
  \item
  It will provide an enhanced user-interface that allows expression of
  the typesetting requirements from a large range of subject areas. Some
  examples are listed here.
- 
+
  \begin{itemize}
  \item The requirements of technical documentation (\eg offset layout,\\
    change bars, etc).
@@ -306,19 +306,19 @@
    within text.
  \item the integration of hypertext and other links in on-line
    documents using systems such as \HTML{}, \XML{} and \PDF{}.
-   
+
  \end{itemize}
 
  Special care will be taken to ensure that this interface is
  extensible: this will be achieved by use of modular designs.
- 
- 
+
+
   \item
   It will provide a more robust author-interface. For example,
   artificial restrictions on the nesting of commands will be removed.
   Error handling will be improved by adding
   a more effective, interactive help system.
- 
+
   \item
   It will provide access to arbitrary fonts from any family (such as
   the \PS{} and TrueType fonts) including a wide range of fonts for
@@ -330,18 +330,18 @@
   system will provide extensive catalogues of examples, carefully
   designed to make the learning time for new users (both designers and
   authors) as short as possible.
- 
+
  \item
   The code itself will be thoroughly documented and it will be
   designed on modular principles.  Thus the system will be easy to
   maintain and to enhance.
 \end{itemize}
- 
+
 The resulting new \LaTeX{} will, like the present version, be usable
 with any standard \TeX{} system (or whatever replaces it) and so will
 be freely available on a wide range of platforms.
-  
 
+
 \section{\LaTeX{} documentation}
 
 \begingroup
@@ -363,10 +363,10 @@
 \end{citations}
 
 This \LaTeX{} distribution comes with documentation on several aspects
-of of the system.  The newer features of the system are described in
+of the system.  The newer features of the system are described in
 the following documents:
 \begin{citations}
-\item[\LaTeXe{} for authors] 
+\item[\LaTeXe{} for authors]
    describes the new features of \LaTeX{} documents,
    in the file \texttt{usrguide.tex};
 \item[\LaTeXe{} for class and package writers]
@@ -394,7 +394,7 @@
 financing: examples are new or enhanced computing equipment and travel
 to team meetings (the volunteers come from many different countries,
 so getting together occasionally is a non-trivial exercise).
-  
+
 This is why we are appealing to you for contributions to the fund.
 Any sum will be much appreciated; the amount need not be large as
 small contributions add up to very useful amounts.  Contributions of
@@ -427,7 +427,7 @@
 \begin{quote}\small\label{addrs}
    \TeX{} Users Group, P.O. Box 2311, Portland, OR~97208-2311 USA\\
    Fax:~+1~503~223~3960 \ Email: \texttt{tug at tug.org}
-   
+
  \noindent
    UK TUG, 1 Eymore Close, Selly Oak, Birmingham B29~4LB UK\\
    Fax: +44 121 476 2159 \ Email: \texttt{uktug-enquiries at tex.ac.uk}
@@ -469,6 +469,3 @@
 
 
 \end{document}
-
-
-

Modified: trunk/Master/texmf-dist/doc/latex/base/ltxdoc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/makeindx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/manifest.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/manifest.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/manifest.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -12,10 +12,10 @@
 % manifest.txt    --  This file.
 %
 % tex2.txt        --  Extras for installing LaTeX on TeX2.
-% 
+%
 % texpert.txt     --  Documentation for TeX experts.
 % patches.txt     --  Explains the patch mechanism.
-% 
+%
 % legal.txt       --  Copyright notice; warranty; copying conditions.
 % lppl.txt        --  The LaTeX Project Public License (current version).
 % lppl-1-0.txt    --  The LaTeX Project Public License (version 1.0).
@@ -22,9 +22,9 @@
 % lppl-1-1.txt    --  The LaTeX Project Public License (version 1.1).
 % lppl-1-2.txt    --  The LaTeX Project Public License (version 1.2).
 % lppl.tex        --  The LaTeX Project Public License (current as .tex).
-% 
+%
 % bugs.txt        --  How to submit a bug report for LaTeX.
-% 
+%
 % source2e.tex    --  File to produce kernel documentation.
 % changes.txt     --  List of changes in reverse chronological order.
 %

Modified: trunk/Master/texmf-dist/doc/latex/base/manual.err
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/manual.err	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/manual.err	2020-02-02 22:42:01 UTC (rev 53640)
@@ -56,7 +56,7 @@
 Replace \verb|{\em all\/}| by \verb|\emph{all}|.
  \reportedby{Rosemary Bailey}{29 Aug 1994}
 
-\erratum{page 28, first paragraph} 
+\erratum{page 28, first paragraph}
 Not an error, but it would be
 helpful to add the following sentence to the end of that paragraph:
  ``(If a declaration has arguments, they become additional
@@ -78,7 +78,7 @@
 \erratum{page 101}
 This is not an error, but some readers will find it helpful if, in the
 descriptions of \verb|\setlength| and \verb|\addtolength|,
-\verb|\gnat| were replaced by \verb|\parskip|.  
+\verb|\gnat| were replaced by \verb|\parskip|.
  \reportedby{Ellen Gilkerson}{9 Aug 1994}
 
 \erratum{page 108, lines 7 and 10}
@@ -152,7 +152,7 @@
 \erratum{page 84, after line $11$} Add the following sentence: ``The
 \hbox{\verb|\onlyslides|} and \hbox{\verb|\onlynotes|} commands may
 not work right if a \texttt{slide}, \texttt{overlay}, or \texttt{note}
-environment appears in the argument of any command.'' 
+environment appears in the argument of any command.''
 \reportedby{Eike Ritter}{May 1996}
 
 \erratum{page 153, line 1}
@@ -163,11 +163,11 @@
 Add the following before line $-4$:
 \begin{description}
 \item[\mytt \bs columnwidth]
-Normal width 
+Normal width
   \cindex{columnwidth}%
 of a column;
-%  \index{column!width}% 
-  \index{width!of column}% 
+%  \index{column!width}%
+  \index{width!of column}%
 equals \verb|\textwidth| except for multiple-column styles.
 Its value should not be changed with the length-setting commands.
 \end{description}
@@ -175,7 +175,7 @@
 %\reportedby{Volker Kuhlmav}{20 Jan 1995}
 \reportedby{Rosemary Bailey}{9 Sep 1994}
 
-\erratum{page 180, lines 15--19} 
+\erratum{page 180, lines 15--19}
 %
 Replace these five lines (which begin ``These commands are overridden'')
 with:
@@ -194,7 +194,7 @@
 \end{itemize}
 \reportedby{Jerome Breitenbach}{14 Dec 1995}
 
-\erratum{page 182} 
+\erratum{page 182}
 The dimensions
 \verb|\pageheight| and \verb|\pagewidth|
 should be \verb|\paperheight| and \verb|\paperwidth|,
@@ -222,7 +222,7 @@
 Replace lines 16-19 (beginning ``None of these commands'') with
 \begin{quote}
 When these commands are used in math mode, the \emph{text}
-argument is processed in LR mode.  
+argument is processed in LR mode.
 
 These commands and declarations are robust.  Words typeset in
 typewriter style are not hyphenated except where permitted by \verb|\-|
@@ -253,7 +253,7 @@
 \erratum{page 137} This is not an error, but it would be better to
 change lines 23 and 24 to:
 \begin{quote}
-\LaTeX\ 
+\LaTeX\
   \index{file!not found error}%
   \index{file!nonexistent}%
 is trying to read a file that apparently doesn't exist.  If the missing
@@ -260,7 +260,7 @@
 file has the extension \texttt{tex}, then \LaTeX\ is trying to
   \index{input)@\verb+\input+!of nonexistent file}%
   \index{include)@\verb+\include+!of nonexistent file}%
-\verb|\input| or \verb|\include| it; if it 
+\verb|\input| or \verb|\include| it; if it
 \end{quote}
 
 \erratum{page 171, line 19}
@@ -267,7 +267,7 @@
 Change the description of \verb|\indent| to:
 \begin{description}
 \item[\mytt \bs indent]
-Produces a 
+Produces a
 %  \cindex{indent}%
 %  \index{paragraph!indentation}%
 horizontal space whose width equals the width of the
@@ -279,7 +279,7 @@
 
 \erratum{page 179, line 19}
 %
-Change to: 
+Change to:
 \begin{quote}
 page style for the \texttt{article} and \texttt{report} document classes.
 \end{quote}
@@ -292,7 +292,7 @@
 
 \erratum{page 196, line $-5$}
 Change \verb|\newboolean{|\emph{name}\verb|}| to
-\verb|\newboolean{|\emph{nam}\verb|}|.  
+\verb|\newboolean{|\emph{nam}\verb|}|.
 \reportedby{Christopher von B\"{u}low}{28 Aug 2000}
 
 
@@ -321,14 +321,14 @@
 \reportedby{Marcin Wolinski}{17 Sep 2003}
 
 \subsection*{Error Corrected in the Twenty-First Printing}
-\erratum{page 198, line $-11$} 
+\erratum{page 198, line $-11$}
 The sentence beginning ``The last three rules'' is hard to read.  Better
 would be:
 \begin{quote}
-\noindent The last three rules are suspended when a 
+\noindent The last three rules are suspended when a
   \verb|\clearpage|,\linebreak
   \verb|\cleardoublepage|, or
-  \verb|\end{document}| command occurs, 
+  \verb|\end{document}| command occurs,
 at which point all unprocessed figures and tables are allowed a
 \hbox{\mytt p} option and printed.
 \end{quote}
@@ -336,7 +336,7 @@
 
 \subsection*{Error Corrected in the Twenty-Second Printing}
 
-\erratum{page 253, column 2, lines $-5$ and $-6$} 
+\erratum{page 253, column 2, lines $-5$ and $-6$}
 
 The two index entries for \verb|\ldots| should be combined.
 

Modified: trunk/Master/texmf-dist/doc/latex/base/manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/modguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/modguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/modguide.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/modguide.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,35 +1,35 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: modguide.tex
 
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
- 
+
 \documentclass{ltxguide}[1995/11/28]
 
 \newcommand{\reasonsection}[1]{\subsubsection*{\it #1}}
@@ -39,16 +39,16 @@
 \setcounter{secnumdepth}{-1}
 
 \title{Modifying \LaTeX}
- 
+
 \author{\copyright~Copyright 1995, \LaTeX3 Project Team.\\
    All rights reserved.}
- 
+
 \date{12 December 1995}
- 
+
 \begin{document}
- 
+
 \maketitle
- 
+
 \tableofcontents
 
 \begin{abstract}
@@ -112,8 +112,8 @@
 
 \item  The packages that we maintain define a particular document
   interface and, in some cases, particular formatting of parts of a
-  document. 
-  
+  document.
+
 \item The interfaces between different parts of the \LaTeX{} system
   are very complex and it is therefore very difficult to check that a
   change to one file does not affect the functionality of both that
@@ -163,7 +163,7 @@
 \begin{verbatim}
    \usepackage{array}[1994/10/16]
 \end{verbatim}
-  
+
 By supplying the optional argument, the document author is indicating
 that a version of the file \texttt{array.sty} dated no earlier than
 that date is required to run this document without error.
@@ -175,8 +175,8 @@
 were processed using this `alternative array' then it would certainly
 produce `undefined command' errors and would probably not be
 processable at all.
- 
 
+
 \reasonsection{What's in a file-name?}
 \label{sec:jb}
 
@@ -273,13 +273,13 @@
 The simplest way to achieve this is to replace
 \begin{quote}
 \verb|\documentclass{article}|\quad by\quad
-\verb|\documentclass{myart}| 
+\verb|\documentclass{myart}|
 \end{quote}
 
 Nor do we wish to discourage the production of new packages improving
 on the functionality or implementation of those we distribute.  All we
 ask is that, in the best interests of all \LaTeX{} users, you give
-your superbly improved class or package file some other name. 
+your superbly improved class or package file some other name.
 
 \section{Configuration possibilities}
 \label{sec:conposs}
@@ -352,7 +352,7 @@
 \item
   Ensure that it contains no file with a name the same as that of
   a file in the standard distribution but with different contents.
-  (If this is not possible then you must: 
+  (If this is not possible then you must:
   \begin{itemize}
   \item
     ensure that files from the non-\LaTeX{} system cannot be
@@ -375,14 +375,14 @@
   whatever means is appropriate.
 
 \item Ensure that what is written at the beginning of the log file
-  clearly shows that your system has been used, and that it is 
+  clearly shows that your system has been used, and that it is
   not Standard \LaTeX{}.
   See the file \texttt{cfgguide.tex} for how to achieve this.
 
 \item
- Clearly explain to users that bug reports concerning your 
+ Clearly explain to users that bug reports concerning your
  system should not be sent to the maintainers of Standard
- \LaTeX{}. 
+ \LaTeX{}.
 \end{enumerate}
 
 \subsection*{Note to system administrators}

Modified: trunk/Master/texmf-dist/doc/latex/base/nfssfont.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/proc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/slides.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/slifonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/source2e.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/source2e.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/source2e.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/source2e.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    https://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 
 % This document will typeset the LaTeX sources as a single document.
@@ -33,7 +33,7 @@
 %
 % Some notes on processing this document are contained at the end
 % of this document, after \end{document}
-% 
+%
 % DPC 1997/11/17
 %
 % First a special index style for makeindex
@@ -156,7 +156,7 @@
 \setcounter{IndexColumns}{2}
 
 % Needed for documentation in ltoutenc.dtx
-\usepackage{textcomp}
+% \usepackage{textcomp}
 
 \begin{document}
  \title{The \LaTeXe\ Sources}
@@ -266,6 +266,8 @@
 
  \DocInclude{ltfssbas} % NFSS Base macros
 
+ \DocInclude{ltfssaxes}% NFSS Axes handling (new in 2020)
+
  \DocInclude{ltfsstrc} % NFSS Tracing (and tracefnt.sty)
 
  \DocInclude{ltfsscmp} % NFSS1 Compatibility
@@ -279,7 +281,9 @@
  \DocInclude{preload}  % preload.ltx
 
  \DocInclude{ltfntcmd} % \textrm etc
- 
+
+ \DocInclude{lttextcomp} % companion symbols (new 2020)
+
  \DocInclude{ltpageno} % Page numbering
 
  \DocInclude{ltxref}   % Cross referencing
@@ -405,7 +409,7 @@
 
 rm  -f source2e.gls source2e.ind source2e.toc
 
-# First run: 
+# First run:
 # Create new standard ltxdoc.cfg file
 # Pass the (possibly empty) list of arguments supplied on the
 # command line to article class.
@@ -452,7 +456,7 @@
 
 # Running this script will process all the dtx fdd and *guide.tex
 # and ltnews*.tex files in the LaTeX distribution, except the dtx
-# files included in source2e.tex. 
+# files included in source2e.tex.
 # (The shell first script in the comments of source2e.tex will
 #  process those.)
 
@@ -485,7 +489,7 @@
 echo In source2e: $i
 else
 echo pdflatex $i
-  if (pdflatex $i > /dev/null) 
+  if (pdflatex $i > /dev/null)
   then
     echo pdflatex $i
     pdflatex $i > /dev/null

Modified: trunk/Master/texmf-dist/doc/latex/base/syntonly.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/texpert.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/texpert.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/texpert.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,34 +1,34 @@
               LaTeX installation TeX expert information
- 
+
                         1 June 1997
- 
- 
+
+
 SUMMARY
 =======
- 
-This document contains information about the LaTeX installation for 
+
+This document contains information about the LaTeX installation for
 TeX experts.  In particular it describes:
- 
+
  * The checks performed by ltxcheck.tex
- 
+
  * How to print the LaTeX source.
- 
+
 For more general information, see install.txt.
- 
-For information on configuring LaTeX see cfgguide.tex. 
 
+For information on configuring LaTeX see cfgguide.tex.
 
+
 THE LTXCHECK.TEX CHECKS
 =======================
- 
+
 Here is a description of the checks run by ltxcheck.
- 
+
 1) The \@currdir check.
 
    It is useful for LaTeX to know the syntax for the `current directory
    (or folder)', or `default directory', if  the operating system has
    such a concept.
- 
+
    For example, file abc.tex in this directory, or folder, is specified
    by:
      ./abc.tex   on Unix and most DOS/OS2 TeX's,
@@ -38,10 +38,10 @@
    installation.  However, if none of these syntaxes works on your
    system then the internal macro \@currdir will be set to be empty
    and ltxcheck will report this.
- 
+
    If your system does have a notion of a current directory, you can
    define \@currdir in the file texsys.cfg.
- 
+
    You could also report this to the latex-bug address, so that
    later releases can automatically cope with your system.
 
@@ -63,19 +63,19 @@
    name, including the directory.  On these systems LaTeX needs to be
    given a list of directories in which to look for files; the
    internal macro \input at path holds this information.
- 
+
    When run, ltxcheck will try to locate the file article.cls.
    If it fails to find this file (and you have placed it in the
    `standard input directory') then you must define \input at path in
    the file texsys.cfg.
- 
+
    The files texsys.cfg and ltdirchk.dtx contain examples of how to do
    this but only you know the directories and syntax that should be used
    for your installation.
- 
+
    We hope to build up a better collection of examples in future
    releases of LaTeX, as it is tested on more TeX systems.
- 
+
 4) TeX version check.
 
    The next check tests that you are running a recent version of TeX.
@@ -85,12 +85,12 @@
    not be able to use the new (8-bit) font families that are now
    available. If you must stick with TeX2, please read the extra
    information in the file tex2.txt.
- 
+
    If ltxcheck reports that your TeX version is older than 3.141, you
    will see some strange messages during the installation.  This is
    because earlier versions of TeX printed certain line-breaks in
    messages on the terminal as `^^J' rather than starting a new line.
- 
+
    LaTeX will work round this bug and thus avoid `^^J' appearing in
    error messages, but you should upgrade your TeX as soon as
    possible, as other bugs have been fixed, not just line breaks in
@@ -111,11 +111,11 @@
    b) The `extra Computer Modern' fonts.  The American Mathematical
       Society has extended the range of sizes available in the
       Computer Modern fonts.  LaTeX now assumes that these extra cm
-      fonts are available.      
+      fonts are available.
       The fonts are available from a CTAN archive, in the directory
       ctan:macros/latex/fonts  or alternatively as part of the
       AMS fonts collection, which also includes many useful
-      mathematical fonts.      
+      mathematical fonts.
    c) The `T1 encoded Computer Modern' fonts.  This is the ec or dc font
       collection. The new (1995) release 1.2 of the dc fonts changed
       most of the file names.  For this reason the fd files such as
@@ -128,7 +128,7 @@
       newdc.ins (version 1.2 and 1.3).
       As the T1 fd files will have been used when making the format,
       you must re-run  initex latex.ltx  to remake the format if you
-      update the fd files in this way.      
+      update the fd files in this way.
       Running ltxcheck will produce a ! BAD LaTeX2e system!! error
       message if it detects that the `new' fd files are loaded into
       the format, but only the old dc fonts are available, and vice
@@ -159,21 +159,21 @@
 documented code for the whole LaTeX kernel (but not the standard
 packages, classes, or compatibility mode).  You need to have LaTeX2e
 installed before doing this.
- 
-To configure the appearance of this documentation, you can use a 
-ltxdoc.cfg file.  For example, putting the following line into this 
+
+To configure the appearance of this documentation, you can use a
+ltxdoc.cfg file.  For example, putting the following line into this
 file will format the documentation for A4 paper:
- 
+
    \PassOptionsToClass{a4paper}{article}
- 
+
 The doc package, which is used by the documentation files, writes
 index files and change-history files that can be processed by the
 program MakeIndex.  If this program is part of your TeX installation,
 you can get an index and history listing for a documentation file
 by running the .idx and .glo files through this program.
- 
+
 For example, in Unix MakeIndex, you should say:
- 
+
    makeindex -s gind.ist FILENAME
    makeindex -s gglo.ist -o FILENAME.gls FILENAME.glo
 
@@ -182,8 +182,8 @@
 style specifiers; these can be safely ignored.
 
 See the comments at the end of source2e.tex for more information.
- 
 
+
 CONFIGURING LaTeX
 =================
 
@@ -206,5 +206,5 @@
 the distributed files with names <*>guide.tex.  You will need
 to install the new version before you can typeset these files.
 
- 
+
 --- Copyright 1995-2019 the LaTeX3 project.  All rights reserved ---

Modified: trunk/Master/texmf-dist/doc/latex/base/tlc2.err
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/tlc2.err	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/tlc2.err	2020-02-02 22:42:01 UTC (rev 53640)
@@ -20,7 +20,7 @@
 \begin{filecontents}{ttcterrata.cls}
 %%
 %% Copyright (C) 1997,2004,2005,2007, 2014 Frank Mittelbach
-%% This class file is licenced under LPPL latest version; 
+%% This class file is licenced under LPPL latest version;
 %% see https://www.latex-project.org/lppl
 %
 %
@@ -30,7 +30,7 @@
 %    Tools and Techniques for Computer Typesetting
 %
 % hence the name. However, anybody who likes to use it is free to apply it for
-% errata files of other books. 
+% errata files of other books.
 %
 % Changes:
 %
@@ -189,7 +189,7 @@
 
 % some special shortcuts overwriting existing commands:
 
-\let\u\underline 
+\let\u\underline
 \renewcommand\>{$\to$}
 
 %%% some code suggested by Thorsten Hansen to count the number of
@@ -199,7 +199,7 @@
 \def\count at contributors#1/#2/#3\@nil{
    \@ifundefined{c@#1}{\newcounter{#1}}{}\stepcounter{#1}%
 %%%   also count secondary:
-%%%   \@ifundefined{c@#2}{\newcounter{#2}}{}\stepcounter{#2}% 
+%%%   \@ifundefined{c@#2}{\newcounter{#2}}{}\stepcounter{#2}%
 }
 
 \renewcommand\erroronpage[5]{%
@@ -216,7 +216,7 @@
    \displayrevisionfix{#1}{#5}
    \hideamp #2 \hideamp (\textsf{#3}) \hideamp
 }
- 
+
 \renewcommand\seriouserroronpage[5]{%
    \count at contributors#3/secondary/\@nil
    \endgobble
@@ -234,7 +234,7 @@
 }
 
 \renewcommand\contributor[2]{\makebox[1cm][l]{%
-  \sffamily#1} #2\@ifundefined{c@#1}{}{ (\arabic{#1})}\par} 
+  \sffamily#1} #2\@ifundefined{c@#1}{}{ (\arabic{#1})}\par}
 
 \end{filecontents}
 
@@ -242,12 +242,12 @@
 \begin{filecontents}{\jobname.cfg}
 %
 %
-% Configuration file for the errata listing of 
+% Configuration file for the errata listing of
 %
 %  The LaTeX Companion, Second Edition
 %
 %
-% \erratastartdate 
+% \erratastartdate
 %
 % Specifies the date from which on errata entries should be listed.
 %
@@ -269,9 +269,9 @@
 %    listing.
 %
 % The default below ensures that all entries relevant to the x-th
-%    printing are typeset. 
-%    
+%    printing are typeset.
 %
+%
 
 \renewcommand\myprinting{1}
 \renewcommand\myprinting{2}  % 3rd printing was without corrections
@@ -355,7 +355,7 @@
 \end{center}
 
 Any mistake found and reported is a gain for all readers of our book.
-For this reason Addison-Wesley and the authors offer a prize (for 6 
+For this reason Addison-Wesley and the authors offer a prize (for 6
 periods) to the eligible person who finds the largest
 number of bugs during that period (in case of a draw a random choice
 will be made between all those with the largest number of findings).
@@ -370,7 +370,7 @@
 As usual, the authors and publisher reserve the right to make various
 decisions such as whether a reported feature is an error for
 competitive purposes or whether similar features count as a single or
-multiple errors.  --- 
+multiple errors.  ---
 Good luck!
 
 \begin{center}
@@ -402,9 +402,9 @@
    To help you in assessing this errata document we have placed
    exclamation marks in front of each entry that we consider essential
    for correctly understanding the book contents.
-   
-\erroronpage{general}{}{FMi}{2004/05/14}{} 
-   
+
+\erroronpage{general}{}{FMi}{2004/05/14}{}
+
    Due to the printing process there may be small alignment problems
    between blue and black text on some pages. These can vary from book
    to book depending on how the paper was handled between print
@@ -412,7 +412,7 @@
 
 
 
-\erroronpage{general}{}{FMi}{2004/07/28}{} 
+\erroronpage{general}{}{FMi}{2004/07/28}{}
    Slightly updated examples matching the second printing will be made
    available at CTAN: \texttt{info/examples/tlc2}. The book CD will
    have the original examples from the first printing.
@@ -438,7 +438,7 @@
    Each time a space is missing between package names in parentheses.
 
 \erroronpage{xxvii}{para 1, l.-2}{THa}{2004/06/21}{2}
-   Add: ``Thorsten Hansen (\textsf{bibunits}\u{, \textsf{multibib}}) 
+   Add: ``Thorsten Hansen (\textsf{bibunits}\u{, \textsf{multibib}})
 
 \erroronpage{xxvii}{para 4, l.2}{NBe}{2004/04/23}{2}
    Replace ``Wai Wing'' with ``Wai Wong'' (very sorry for this typo).
@@ -446,7 +446,7 @@
 \erroronpage{xxvii}{para 4, l.2}{MHCL/CAR}{2004/06/09}{2}
    Kai Tek airport is correctly named Kai Tak airport but the photo
    was actually taken at Hong Kong International Airport
-   
+
 \erroronpage{xxvii}{after para 4}{FMi}{2004/06/09}{2}
   Add following paragraph:
 ``Any mistake found and reported is a gain for all readers of our
@@ -597,7 +597,7 @@
       \thesection\par \centering#2\par}%          %   and number
      \@afterheading                               % prepare indentation handling
      \sectionmark{#1}%                            % add to running header
-     \addvspace{\baselineskip}}                   % space after heading 
+     \addvspace{\baselineskip}}                   % space after heading
 
   \newcommand\sAppendix[1]{%                      % Simplified (starred) form
     {\raggedleft\large\bfseries\appendixname\par \centering#1\par}%
@@ -623,7 +623,7 @@
 
 % not really a bug but ...
 \erroronpage{35}{para 1}{hajk}{2005/09/29}{}
-        Package fncychap also makes unwanted ``Chapter 0'' heading for 
+        Package fncychap also makes unwanted ``Chapter 0'' heading for
         |\chapter{Preface}| in |\frontmatter| of book.
 
   Comment: I don't really consider this a bug (as it is not surprising
@@ -669,14 +669,14 @@
    The lines of the ``heading text'' are wrapped at a place different
    from that indicated by the \verb=|<- \@tocrmarg ->|=.
 
-\seriouserroronpage{51}{descr. of 
+\seriouserroronpage{51}{descr. of
                  \texttt{\textbackslash
                  @pnumwidth}}{CBa}{2005/04/04}{4}
    Needs changing with |\renewcommand|!
 
-\seriouserroronpage{51}{descr. of 
+\seriouserroronpage{51}{descr. of
                  \texttt{\textbackslash @tocrmarg}}{HjG/FMi}{2004/05/20}{2}
-   Add additional sentence: 
+   Add additional sentence:
    ``It can be set to a rubber length, which results in the TOC being set
                    unjustified.''
 
@@ -718,7 +718,7 @@
 
  \erroronpage{58}{exa 2-3-8}{CBe}{2004/07/27}{2}
  km2 appears two times in the code and in the printed output;
- it should be \verb=km\textsuperscript={2} in the code 
+ it should be \verb=km\textsuperscript={2} in the code
  and km\textsuperscript{2} in the output.
 
 \erroronpage{62}{l.-11}{HjG}{2004/05/21}{2}
@@ -744,7 +744,7 @@
 
 \erroronpage{75}{para -1, l.2}{CKr}{2004/10/17}{4}
    Change: ``provided the \textit{keys}'' \>
-           ``provided the \textit{key}\u{s}'' 
+           ``provided the \textit{key}\u{s}''
 
 \seriouserroronpage{76}{para -2, l.5--8}{DAr/FMi}{2004/07/24}{2}
 Change marginal to ``{\itshape Unnumbered sections get moving
@@ -758,7 +758,7 @@
    Add:  ``In addition,  no \u{unrelated} |\addcontentsline| command is
 allowed to intervene between heading and label.''
 
-\erroronpage{78}{\S 2.4.5, l.1}{HjG}{2004/05/24}{2} 
+\erroronpage{78}{\S 2.4.5, l.1}{HjG}{2004/05/24}{2}
    Add: ``Sebastian
    Rahtz \u{(with contributions by Heiko Oberdiek and
    David Carlisle)} has developed\ldots''
@@ -771,7 +771,7 @@
 
 \erroronpage{84}{}{DAr}{2004/07/23}{2}
 Change: ``For example, if the current size is \u{\ttfamily\textbackslash Large} then
-\verb=\relsize{-2}= would change to \u{\ttfamily\textbackslash normalsize}\,. 
+\verb=\relsize{-2}= would change to \u{\ttfamily\textbackslash normalsize}\,.
 
 \seriouserroronpage{84}{exa 3-1-7}{FMi}{2004/04/23}{2}
    To avoid extra space in the output, second line should read:\\
@@ -791,9 +791,9 @@
 
 \erroronpage{87}{exa. 3-1-16}{DHL}{2004/06/07}{2}
     The solid band produced by |\xout| is actually supposed to come
-    out as a series of separated ``/'' symbols. With the 
+    out as a series of separated ``/'' symbols. With the
     \texttt{ulem} package used for the first printing that works well
-    for most text fonts, but 
+    for most text fonts, but
     with Times Roman (used in the example) you get the result shown.
     The new package version fixes this defect.
 
@@ -853,7 +853,7 @@
 
 \erroronpage{117}{para 3, l.3}{CBC}{2004/05/18}{2}
    Tense correction: ``\ldots they did not change when the text font
-   \u{was} modified''. 
+   \u{was} modified''.
 
 \erroronpage{117}{para 3,l.-3}{FMi}{2004/05/31}{2}
     Change: ``your list consist of'' \> ``your list\u{s} consist of''.
@@ -874,11 +874,11 @@
 \erroronpage{124}{middle para, ll. -3/-2}{HjG}{2004/05/26}{2}
    Missing word: ``It is even possible \u{to} use \ldots''
 
-\iffalse 
+\iffalse
 %% only do if real error on page
 \erroronpage{125}{para 3 of \S 3.2.7, ll.-2/-1}{HjG}{2004/05/26}{}
    Word position: ``\ldots\ whenever |\endnote| or |\endnotemark|
-   \u{is used} without an optional argument.'' 
+   \u{is used} without an optional argument.''
 \fi
 
 \erroronpage{127}{para 3, l.last}{PYu}{2004/07/01}{2}
@@ -941,11 +941,11 @@
 
 \erroronpage{156}{para -1, l.4}{CBC}{2004/05/20}{2}
   Change: ``There is also the possibility to operate'' \> ``It is also
-  possible to operate''. 
+  possible to operate''.
 
 \erroronpage{157}{para 2, l.-4}{CBC}{2004/05/20}{2}
   Change: ``\ldots discussed below) are potentially'' \> ``\ldots
-  discussed below) \u{is} potentially''. 
+  discussed below) \u{is} potentially''.
 
 \erroronpage{158}{para3, l.3}{DHL/FMi}{2004/06/07}{2}
    Change word: ``tiny white rules \u{behind} the lines'' \> ``tiny white
@@ -1042,11 +1042,11 @@
 \CHAPTER{Chapter 4}
 
 \erroronpage{196}{table 4.2}{YiL}{2012/05/07}{}
-  The values shown in the table aren't any quite correct. These days 
-  some of them are calculated depending on the chosen paper size option 
+  The values shown in the table aren't any quite correct. These days
+  some of them are calculated depending on the chosen paper size option
   and so have slightly different values from what is listed in the table.
   The values listed are those that have been used in 2.09 (i.e., they
-  would be fully correct in compatibility mode, that is for documents 
+  would be fully correct in compatibility mode, that is for documents
   starting with |\documentstyle|).
 
 \erroronpage{199}{code block}{UFi}{2004/07/31}{2}
@@ -1074,7 +1074,7 @@
 
 \erroronpage{205}{para 4, l.4}{CAR}{2004/06/06}{2}
    Delete word: ``\ldots taken up by the binding\u{ method}. For
-   example,\ldots'' 
+   example,\ldots''
 
 \erroronpage{205}{para 5, l.2}{CBC}{2004/05/21}{2}
 Omitted word: ``one can \u{perform} the parameter calculations''.
@@ -1099,7 +1099,7 @@
 \erroronpage{209}{para 1, l.1--2}{BMo}{2004/05/16}{2}
    Replace:
    ``\ldots  and does not leave sufficient space for marginal notes
-   that fall outside the page.''  
+   that fall outside the page.''
    \>
    ``\ldots but does not adjust the size of the marginal boxes to fit
    in the remaining margin.''
@@ -1150,7 +1150,7 @@
    ``Table~9.2 on page~547 in Section~\u{9.2.1}''
    (or omit section refence completely)
 
-\erroronpage{223}{tab 4.3}{THa}{2004/06/22}{2}  
+\erroronpage{223}{tab 4.3}{THa}{2004/06/22}{2}
   Spurious space after superscript \textsuperscript{a} in footnote.
 
 \erroronpage{226}{para. 5, l.2}{PYu}{2004/07/05}{2}
@@ -1171,7 +1171,7 @@
 
 \erroronpage{229}{2.-1}{CBC}{2004/05/24}{2}
  Change: ``if the first B-head\ldots would have already been'' \> ``if
- the first B-head\ldots had already been''. 
+ the first B-head\ldots had already been''.
 
 \erroronpage{229}{para -2,l.-2}{HjG}{2005/05/09}{4}
    Replace:
@@ -1192,13 +1192,13 @@
 
 \seriouserroronpage{234}{First boxed command}{CBC}{2004/05/24}{2}
   Change: ``\verb=\enlargethispage*{=size\verb=}='' \>
-  ``\verb=\enlargethispage{=size\verb=}=''. 
+  ``\verb=\enlargethispage{=size\verb=}=''.
 
 \erroronpage{237}{para 1, l.3}{MKo}{2004/08/06}{2}
  Change: ``\textsf{scrpage}'' \> ``\textsf{scrpage2}''
 
 \erroronpage{237}{para 4, l.3}{DAl}{2005/01/11}{4}
-   Change: ``also works as \u{an} replacement'' \> ``also works as 
+   Change: ``also works as \u{an} replacement'' \> ``also works as
  \u{a} replacement''
 
 \erroronpage{237}{para 5, l.2}{CBe}{2004/07/27}{2}
@@ -1220,7 +1220,7 @@
 \erroronpage{242}{para -2}{DSch/FMi}{2005/09/19}{4}
   Replace para with:
 ``The \texttt{tabular*} environment has an additional width argument that
-specifies the required total width of the table. 
+specifies the required total width of the table.
 It needs stretchable spaces between columns, that have to be added using
 |\extracolsep|  (see page~246).''
 
@@ -1240,7 +1240,7 @@
  environments. If all the cells of the row are smaller than the strut the effect
  is more or less similar to an enlargement of the inter-row space, while if at
  least one cell in the row is larger than the strut no spreading apart takes
- place other than that required by the largest cell. 
+ place other than that required by the largest cell.
 
 
 
@@ -1258,7 +1258,7 @@
  Replace:   ``the sum of its value,
    added to the product
    |\baselineskip|${}\times{}$|\arraystretch}|''
- \> 
+ \>
  `` $|\arraystretch| \times (|\extrarowheight| + 0.7 |\baselineskip|)$''
 
 
@@ -1278,7 +1278,7 @@
  Replace para with: ``A
  common use of |@{}| is to remove the space equal to
 the value of |\tabcolsep| (for \texttt{tabular}) that, by default,
-appears on each side of the table, 
+appears on each side of the table,
 except when the column specification starts or ends in a \verb=|=.''
 
 
@@ -1354,7 +1354,7 @@
   explaining how you can define and use your own floating environments (Section~6.3.1),
   or, conversely, how captioning commands can  be used  to enter
   information into the list of figures and tables for nonfloating
-  material (Section~6.3.2). 
+  material (Section~6.3.2).
   Then methods for rotating the content of a float are described
   (Section~6.3.3).
 
@@ -1364,7 +1364,7 @@
 
 \erroronpage{285}{item 3, l.3}{FMi}{2005/02/13}{4}
    Use typewriter:  ``the default is \texttt{12pt}
-   \texttt{plus} \texttt{2pt} \u{\texttt{minus}} 
+   \texttt{plus} \texttt{2pt} \u{\texttt{minus}}
      \texttt{2pt} for 10\,pt''
 
 \erroronpage{285}{item 3, l.3}{HjG}{2005/02/06}{4}
@@ -1386,7 +1386,7 @@
 ``However, by itself this option
 forces all floats to appear \emph{before} the next section material is
 typeset, since the |\FloatBarrier| prevents a float from a current
-  section from appearing below 
+  section from appearing below
 the start of the new section, even if some material of the current
 section is present on the same page. ''
 
@@ -1472,7 +1472,7 @@
 \fi
 
 \erroronpage{309}{para 4, l.3}{DAl}{2005/06/29}{4}
-   Missing comma: ``\ldots you will get a typical ``standard \LaTeX''  
+   Missing comma: ``\ldots you will get a typical ``standard \LaTeX''
    format\u{,} that is, \ldots''
 
 \erroronpage{312}{\texttt{position} option}{JS/FMi}{2005/09/14}{4}
@@ -1480,7 +1480,7 @@
 
 \erroronpage{312}{para 2, l.2}{DAl}{2005/06/29}{4}
     Word in wrong position:  ``for example, ``above'' the caption if
-    caption is \u{the} placed at the bottom.'' 
+    caption is \u{the} placed at the bottom.''
  \>
    ``for example, ``above'' the caption if \u{the} caption is \ldots''
 
@@ -1508,9 +1508,9 @@
 
 \CHAPTER{Chapter 7}
 
-\erroronpage{332}{para -2,l.2}{THa}{2004/07/21}{2}  
+\erroronpage{332}{para -2,l.2}{THa}{2004/07/21}{2}
   SinCE SEriFS arE noT alwayS horizonTaL: ``Serifs are the tiny
-  horizontal strokes\dots'' \> ``Serifs are the tiny strokes\dots''  
+  horizontal strokes\dots'' \> ``Serifs are the tiny strokes\dots''
 
 \erroronpage{338}{para -1, l.3}{HjG}{2004/06/29}{2}
    Missing word: ``command \u{and} declarative forms''
@@ -1666,7 +1666,7 @@
     Missing space between ``m,'' and ``bx'' in the middle column.
 
 \erroronpage{391}{tab. 7.15}{FMi}{2004/07/09}{2}
-   Row~1: Thickness of vertical line between first two columns too 
+   Row~1: Thickness of vertical line between first two columns too
    wide (printing problem).
 
 \erroronpage{391}{tab 7.15, l.-2}{RPa}{2004/09/14}{4}
@@ -1723,7 +1723,7 @@
  ``local guide''; I believe this is an obsolete concept, dating back to
  the times when \TeX\ and \LaTeX\ were used on multitasking mainframes;
  commercial distributions might still have a ``local guide'', but I have never
-  seen one. 
+  seen one.
 
 
 \erroronpage{414}{footnote}{hv}{2008/10/30}{}
@@ -1772,7 +1772,7 @@
 
 \erroronpage{428}{item 6}{CKr}{2005/01/18}{4}
    Replace: ``Specified the quad width'' \> ``Specifie\u{s} the quad
-   width'' 
+   width''
 
 \erroronpage{432}{para 4, l.9}{HjG}{2004/07/11}{2}
    Not plural: ``\ldots: the outer text size\u{s} and the three math
@@ -1783,7 +1783,7 @@
    ``\u{a}nd are usually placed in an \texttt{.fd} file.''
 
 \erroronpage{441}{para 5, l.1}{MKu/FMi}{2004/06/24}{2}
-   Replace: UTF8 \> UTF-8 
+   Replace: UTF8 \> UTF-8
 
 \erroronpage{442}{footnote, l.2}{usw}{2005/01/11}{4}
    Sentence begins with lowercase 's'.
@@ -1798,7 +1798,7 @@
      \u{such a} way that \ldots''
 
 \erroronpage{444}{para 2, l.4}{DAl}{2005/08/01}{4}
-   Missing word: ``\ldots associates the number 224 \u{with} the  
+   Missing word: ``\ldots associates the number 224 \u{with} the
 command |\alpha|.''
 
 \erroronpage{445}{para 4, ll.3--5}{HjG}{2004/07/12}{2}
@@ -1814,7 +1814,7 @@
                   math glyph---comprehensible?
 
 \erroronpage{447}{Heading}{MKu/FMi}{2004/06/24}{2}
-   Replace: UTF8 \> UTF-8 
+   Replace: UTF8 \> UTF-8
 
 \erroronpage{451}{para 4, l.2}{HjG}{2004/07/12}{2}
    Wrong number:
@@ -1821,7 +1821,7 @@
    ``\texttt{\u{'240}} octal'' \> ``\texttt{\u{'344}} octal''
 
 \erroronpage{453}{para 2, l.2}{DAl}{2005/08/01}{4}
-   Missing word : ``\ldots an \emph{LICR-object} that is \u{to} be  
+   Missing word : ``\ldots an \emph{LICR-object} that is \u{to} be
 used whenever\ldots''
 
 \erroronpage{455}{para 3, l.-1}{JCh}{2004/07/17}{2}
@@ -1833,13 +1833,13 @@
    |\OE| $\leftrightarrow$ |\O| -- cf.\ |\o| and |\oe| on p.459
 
 \erroronpage{457}{tab. 7.33}{HjG}{2004/07/12}{2}
-   Entry |\`i|: ``(\u{avail})'' \> ``(\u{alias})'' 
+   Entry |\`i|: ``(\u{avail})'' \> ``(\u{alias})''
 
 \erroronpage{458}{\texttt{\string\copyright}}{FMi/usw}{2005/01/11}{4}
  Natively available in LY1 encoding
 
 \seriouserroronpage{458}{l. 27--30}{JLV}{2005/05/31}{4}
- Unfortunately |\guillemotleft|, |\guillemotright|, |\guilsinglleft|, and 
+ Unfortunately |\guillemotleft|, |\guillemotright|, |\guilsinglleft|, and
  |\guilsinglright| have no ``default'' and only function in |OT1| if
  \textsf{babel} is loaded
 
@@ -1898,7 +1898,7 @@
 \erroronpage{463}{para 1, l.2}{HjG}{2004/06/28}{2}
    Change:
    ``\ldots integrated in \u{1993})'' \>
-   ``\ldots integrated in \u{1994})'' 
+   ``\ldots integrated in \u{1994})''
 
 
 \CHAPTER{Chapter 8}
@@ -2000,7 +2000,7 @@
 \erroronpage{500}{page}{FMi}{2004/04/23}{}
    Printing problem: blue color not properly aligned.
 \fi
-  
+
 \erroronpage{501}{exa 8-6-4}{HjG}{2004/06/21}{2}
    Surplus word (in source comment):\\
    ``\texttt{\% the old \u{the} definition of \textbackslash csc}''
@@ -2120,7 +2120,7 @@
    The |fleqn| option is used, but in the output, the two equations
    seem to be right aligned rather than left aligned!\\
    Indeed true: this is because  in \textsf{amsmath} the |\mathindent|
-   added on the left is 
+   added on the left is
    actually a rubber length (see page 471) that is automatically
    shortend if there is not enough space.
 
@@ -2155,7 +2155,7 @@
    Printing problem: blue color not properly aligned.
 \fi
 
- \erroronpage{527}{table 8.10}{BMo/CAR}{2004/05/21}{2} 
+ \erroronpage{527}{table 8.10}{BMo/CAR}{2004/05/21}{2}
          This table would be
          better if reordered, in particular so that the first row
          contains: \verb=\aleph \beth \gimmel \daleth=.  This would
@@ -2165,7 +2165,7 @@
 
 \erroronpage{527,528}{table 8-10/11}{FMi}{2006/08/09}{s}
    Added the missing symbol from amssymb: |\circledR|, |\yen|,
-   |\checkmark|, and |\maltese|. 
+   |\checkmark|, and |\maltese|.
 
   The general distribution of symbols between the two tables is a bit
   questionable, but this will stay as it is.
@@ -2176,7 +2176,7 @@
 
 \erroronpage{528}{table 8.11}{LHe}{2008/02/08}{}
     |\dag| and |\ddag| are |\mathord|s not |\mathbin| as claimed in table
-    8.13. 
+    8.13.
 
 
 \seriouserroronpage{529}{table 8.12, l.3}{JGr}{2004/06/10}{2}
@@ -2281,12 +2281,12 @@
     newzealand})''
 
     Add footnote: ``\textit{The option \texttt{\upshape english}
-  combines American hyphenation patterns 
-  with a British date format.}''  
+  combines American hyphenation patterns
+  with a British date format.}''
 
 
 \erroronpage{545}{exa 9-2-1}{JAn}{2005/09/09}{4}
-  The quotes surrounding R\'ef\'erences and Chapitre 
+  The quotes surrounding R\'ef\'erences and Chapitre
   should be the french ones: use |\og| and |\fg{}|. And similar those
   around German words should use |"`| and |"'|.
 
@@ -2351,7 +2351,7 @@
         and ``|~N~|\meta{letter}'' \> ``|~N|''
 
 \erroronpage{554}{exa 9-3-11}{UFi/MGo}{2004/06/03}{2}
- Replace body with: 
+ Replace body with:
    ``|En fran\c{c}ais on doit mettre un \fg petit espace\fg\|
      |devant la ponctuation double: comme cela!|
      \ldots''
@@ -2541,8 +2541,8 @@
  Replace ``\textsf{bang}'' with ``\textsf{bengali}''.  This
  package is available on CTAN in the \textsf{languages/bengali/pandey}.
 
-\seriouserroronpage{592}{para 3, l.4 }{PPN}{2004/05/25}{2} 
-  Replace ``\textsf{denag}'' with ``\textsf{devnag}''.  
+\seriouserroronpage{592}{para 3, l.4 }{PPN}{2004/05/25}{2}
+  Replace ``\textsf{denag}'' with ``\textsf{devnag}''.
   This package is on CTAN \texttt{languages/devanagari/velthuis}.
 
 \erroronpage{592}{para 5, l.1}{CKr}{2004/10/15}{4}
@@ -2550,7 +2550,7 @@
 
 \erroronpage{592}{general remarks}{PPn}{2004/05/25}{}
 Additional remarks not for inclusion in the book: For \TeX{}, \LaTeX{}
-in languages of India, 
+in languages of India,
 there are several nice packages.  An overview can be found in the
 following {\sc TUGboat} Articles;
 
@@ -2731,7 +2731,7 @@
 \erroronpage{620}{para 5, l.2}{FMi}{2005/04/27}{4}
    Replace:
    ``\ldots in the \u{optional arguments}.'' \>
-   ``\ldots in the \textit{key/val-list}.'' 
+   ``\ldots in the \textit{key/val-list}.''
 
 %\erroronpage{621}{page}{FMi}{2004/04/23}{}
 %   Printing problem: blue color not properly aligned.
@@ -2803,7 +2803,7 @@
   The variable parts do not show the right fonts.
 
 \erroronpage{641}{para 3, l.1}{ReSt}{2005/04/17}{4}
-  Remove: ``The |\Curve| command\u{s} is similar\ldots'' 
+  Remove: ``The |\Curve| command\u{s} is similar\ldots''
 
 \erroronpage{641}{para 3, l.2}{HjG}{2004/06/07}{2}
    Second occurrence of mandatory argument should use the same font as
@@ -2830,7 +2830,7 @@
 \erroronpage{643}{para 4, l.5}{CBe}{2004/07/27}{2}
 Add: ``\ldots can be converted to PDF by
 ImageMagick's \texttt{convert} utility\u{, \texttt{eps2pdf}} (\u{both
-of} which call \texttt{ghostscript} 
+of} which call \texttt{ghostscript}
 internally), \texttt{Acrobat Distiller}, or\ldots''
 
 \erroronpage{646}{l.1}{HjG/FMi}{2004/06/08}{2}
@@ -2853,9 +2853,9 @@
 \seriouserroronpage{654}{para 2 l.7}{UFi}{2004/06/01}{2}
   Missing |}|:  ``like
   |\index{\texttt{|\emph{key}|}|\u{\texttt{\textbraceright}} and''
-                                
 
 
+
 %That's a nice one: somehow the copy-editor has but the output is one
 %of the few remaining graphics in the book, sigh
 
@@ -2895,7 +2895,7 @@
 
 
 \erroronpage{656}{}{CBe}{2004/07/27}{s}
-   How horrible the page rotated counterclockwise! 
+   How horrible the page rotated counterclockwise!
 
 \erroronpage{657}{\texttt{-p} item, l.-1}{HjG}{2004/06/10}{2}
    Add word: ``\ldots the three \u{special} cases \ldots''
@@ -2904,7 +2904,7 @@
  Swap the words ``single'' and ``double''
 
 \iffalse
-% not a bug make it look nicer 
+% not a bug make it look nicer
 \erroronpage{661}{tab. 11.2, right col.}{HjG}{2004/06/10}{}
    Inter-line spacing in multiple-line entries ???\\(Keywords:
    |headings_flag|, |item_x1|, |delim_0|, |page_precedence|)
@@ -2937,7 +2937,7 @@
 `` \ldots\ assumes that pages numbered with lowercase Roman
 numerals precede those numbered with Arabic numerals, which in turn
 precede those numbered with the lowercase alphabet, uppercase Roman
-numerals and finally the uppercase alphabet. 
+numerals and finally the uppercase alphabet.
 
 
 \seriouserroronpage{661/664-5}{}{FMi}{2005/08/14}{4}
@@ -2953,8 +2953,8 @@
 
 
 \seriouserroronpage{666}{para 4 l.5 and l.6}{UFi}{2004/06/01}{2}
-  Add extra visual space in second index: ``Likewise, 
-  \verb*=\index{a space}= and 
+  Add extra visual space in second index: ``Likewise,
+  \verb*=\index{a space}= and
   \verb*=\index{a  space}= produce\ldots''
 
 \erroronpage{668}{boxed text}{HjG}{2004/06/10}{2}
@@ -2979,8 +2979,8 @@
    Section~11.3.4.
 
    Be aware that producing index entries in arguments of commands has
-   its own pitfalls, e.g., in 
-   \verb=\command{Properties of \Prog\index{\Prog}}=.  
+   its own pitfalls, e.g., in
+   \verb=\command{Properties of \Prog\index{\Prog}}=.
    Then \LaTeX{} commands might be expanded
    before they are written to the \texttt{idx} file and the placement
    in the index will depend on the expansion of \verb=\Prog=.''
@@ -2987,7 +2987,7 @@
 
 \erroronpage{669}{para -2, l.3}{MKu/FMi}{2004/07/01}{2}% already done by fmi
    Add: ``\ldots \verb|\usepackage[latin1]{inputenc}| to all her
-   documents \u{(or on recent Linux distributions the 
+   documents \u{(or on recent Linux distributions the
    option \texttt{utf8})}, while\ldots''
 
 \erroronpage{669}{section 11.3.2, para 2, L.3}{JMH}{2005/08/06}{4}
@@ -3055,7 +3055,7 @@
 
 \CHAPTER{Chapter 12}
 
-\erroronpage{general}{several pages}{HVo/FMi}{2004/05/21}{} 
+\erroronpage{general}{several pages}{HVo/FMi}{2004/05/21}{}
     The German word  ``Schuldrecht'' is incorrectly hyphenated as
     ``Schul\-drecht'' in several examples due to the fact that English
     hyphenation patterns are used unless the language is
@@ -3144,7 +3144,7 @@
    Add: ``when using \u{the} \texttt{chicago} \u{\BibTeX\ style}.''
 
 \seriouserroronpage{710}{para 4, l.2}{BMo}{2004/05/16}{2}
-      Replace: 
+      Replace:
       ``locate the printed version.'' \> ``locate the
      article within the journal.''
 
@@ -3159,7 +3159,7 @@
   Extra word:  ``the \u{the} journal'' \\
   Correct explanation:  ``\ldots the journal name\u{, volume number,}
   and year of publication, which is why we got ``TUGboat \u{10
-  [}1989\u]''.'' 
+  [}1989\u]''.''
 
 \seriouserroronpage{719}{syntax box}{HjG/FMi}{2004/06/14}{2}
    Order of optional arguments are like |\cite| (i.e., swapped):\\
@@ -3183,7 +3183,7 @@
 
 \seriouserroronpage{727}{para 3, l.-3}{JBe}{2004/06/01}{2}
   Replace: \texttt{\textbackslash jbnovarioref} \>
-  \texttt{\textbackslash jbignorevarioref} 
+  \texttt{\textbackslash jbignorevarioref}
 
 \erroronpage{727}{examples 12-5-21/22}{FMi}{2004/06/03}{2}
   Not wrong, but it looks funny: due to the chosen example height the
@@ -3206,9 +3206,9 @@
  was changed to contain a slightly different set of citations (same
  change was made to example 12-5-27):
 \begin{verbatim}
-  Full citations: \cite{aschur} \cite{bschur} 
+  Full citations: \cite{aschur} \cite{bschur}
   not shown on the left!
-\newpage 
+\newpage
   text \cite[\S\,7]{aschur} text
   \cite[\S\,8]{aschur} \cite[\S\,16]{zpo}
   text \cite[\S\,7]{bschur} \cite{aschur}
@@ -3220,7 +3220,7 @@
 explicitly), then the following happens: the first citation of a
 publication automatically displays the full entry (citation~5 in the
 next example).  In case of repeated citations to unambiguous works
-only the name of the author(s) are shown (citation~8). For ambiguous citations 
+only the name of the author(s) are shown (citation~8). For ambiguous citations
 this will be done only for immediately following citations
 (citation~4). However, if there are
 intervening citations, then the name(s) and short titles are shown
@@ -3246,7 +3246,7 @@
 
 \seriouserroronpage{743}{item 3}{UFi}{2004/05/27}{2}
  Equal sign missing: \texttt{sortkey\u{ = }"Bismarck, Otto von"}.
- 
+
 \erroronpage{744}{exa 12-5-48/49}{HjG}{2004/06/15}{}
    There's a spurious space before all occurrences of
    ``\textsc{D. E. Knuth}''! \\ This is (partly, ie in the footnote)
@@ -3267,19 +3267,19 @@
    Replace (`bibtopic' column, row 4; `multibib' column, row 7):\\
    ``no'' \> ``No''
 
-\erroronpage{746}{Tab. 12.2}{THa}{2004/06/21}{2}  
+\erroronpage{746}{Tab. 12.2}{THa}{2004/06/21}{2}
   Change ``Requires tailored .bib files''  \> ``Works with standard
-  .bib files'' 
+  .bib files''
   (and change matching row entries)
 
-\erroronpage{746}{Tab. 12.2}{THa}{2004/06/21}{2} 
+\erroronpage{746}{Tab. 12.2}{THa}{2004/06/21}{2}
   Change: ``Above typeset together somewhere'' \>
  ``Group bibliographies together''
 
-\erroronpage{749}{para -1, l.1}{THa}{2004/06/22}{2} 
+\erroronpage{749}{para -1, l.1}{THa}{2004/06/22}{2}
   Missing accents: ``Jose Alberto Fernandez'' \> ``Jos\'e Alberto
-  Fern\'andez'' 
-  
+  Fern\'andez''
+
 \erroronpage{750}{para -3, l.-2}{CKr}{2005/03/31}{4}
  Delete surplus word: ``\ldots as \u{the} the auxiliary files would be
  overwritten.''
@@ -3291,7 +3291,7 @@
 \erroronpage{753}{para 4, l.5}{HjG}{2004/06/15}{2}
    Replace: ``|\bibliography|'' \> ``|\bibliographystyle|''
 
-\seriouserroronpage{755/756}{}{THa}{2004/06/21}{2}  
+\seriouserroronpage{755/756}{}{THa}{2004/06/21}{2}
   Wrong limitation of multibib: The whole passage from ``A final
   difference'' up to  ``|nocite|.'' should be replaced with something
   like: ``The multibib package (since version 2.3 of 2004/01/24) is
@@ -3475,7 +3475,7 @@
    \texttt{apa.bst} -- add:
        ``American Psychology Association \u{\BibTeX\ style}'' \\
    \texttt{jmb.bst} -- add:
-       ``\emph{Journal of Molecular Biology}  \u{\BibTeX}\ style''\\ 
+       ``\emph{Journal of Molecular Biology}  \u{\BibTeX}\ style''\\
    Some journal names are written in italic, other's aren't:
        Astronomy; Behavioral and Brain Sciences; Human Biology.
 
@@ -3536,7 +3536,7 @@
    Remove surplus word: ``\ldots, then it is all that \u{it} is necessary.''
 
 \erroronpage{800}{Citation scheme,l.2}{DAl}{2005/09/03}{4}
-    Replace letter: ``\ldots different questions th\u{a}n if you  
+    Replace letter: ``\ldots different questions th\u{a}n if you
  choose\ldots''
 
 \erroronpage{802}{para 2, l.4}{HjG}{2004/06/17}{2}
@@ -3545,7 +3545,7 @@
 \erroronpage{802}{para -1, l.3}{FMi}{2005/06/02}{4}
    Replace wrong braces:
     ``|\urlprefix\url[|\textit{field-value}|]|'' \>
-    ``|\urlprefix\url{|\textit{field-value}|}|'' 
+    ``|\urlprefix\url{|\textit{field-value}|}|''
 
 \erroronpage{803}{para -2, l.2}{HjG}{2004/06/17}{2}
    Replace: ``in the second phase of the \u{formatting}'' \>
@@ -3572,8 +3572,8 @@
    Replace: ``at the beginning of this section'' \>
             ``on the facing page''
 
-            
 
+
 \CHAPTER{Chapter 14}
 
 \erroronpage{814}{para 6, l.1}{HjG}{2004/06/08}{2}
@@ -3591,8 +3591,8 @@
 \erroronpage{816}{para -3, l.4+}{HOb}{2004/05/28}{2}
  Change sentence:
   Note that \u{such short forms for \texttt{\textbackslash verb},
- just} like \texttt{\textbackslash verb} itself, 
- cannot appear in the argument of another command, but 
+ just} like \texttt{\textbackslash verb} itself,
+ cannot appear in the argument of another command, but
  \u{the characters} may be used
  freely inside \texttt{verbatim} and \texttt{macrocode} environments.
 
@@ -3607,7 +3607,7 @@
   Entries not sorted correctly: swap |\CheckSum| and |\CheckModules|
 
 \seriouserroronpage{821}{descr.\ of
-           \ttfamily\textbackslash DeleteShortVerb}{UFi}{2004/05/23}{2} 
+           \ttfamily\textbackslash DeleteShortVerb}{UFi}{2004/05/23}{2}
  \verb=\MakeshortVerb= should be \verb=\Make=\u{S}\texttt{hortVerb}\\
  \verb=\MakeshortVerb*= should be \verb=\Make=\u{S}\texttt{hortVerb*}
 
@@ -3672,7 +3672,7 @@
    Editorial comment: reprinted because of pagebreak changes.
 
 \erroronpage{828}{para 3, l.2}{DHL}{2004/05/16}{2}
-   Extra word: ``If so, \u{case}'' \> ``If so,'' 
+   Extra word: ``If so, \u{case}'' \> ``If so,''
 
 \seriouserroronpage{829}{syntax box}{HOb}{2004/05/29}{2}
    |\preamble|, |\endpreamble|, |\postamble|, and |\endpostamble| all
@@ -3723,7 +3723,7 @@
   Missing \texttt{*}: |\DeclareDir|\u{\texttt{*}}|{tex/bibtex/...|
 
 \erroronpage{832}{code blocks}{DPa}{2004/08/04}{2}
-  Three instances of |tex/bibtex| in |\DeclareDir| should lose the |tex/| to 
+  Three instances of |tex/bibtex| in |\DeclareDir| should lose the |tex/| to
   conform to TDS and change made on page 831
 
 \erroronpage{832}{2. code block}{MSch}{2006/01/06}{s}
@@ -3814,7 +3814,7 @@
 
 
 \erroronpage{843}{para 3, l.2}{YvH}{2004/05/28}{2}
-   Missing word: ``and |\z@| contain |@| \u{in} their name'' 
+   Missing word: ``and |\z@| contain |@| \u{in} their name''
 
 \erroronpage{843}{para 4, l.3}{PYu}{2004/07/03}{2}
    Change: ``to do: the difficult''  \>  ``to do\u; the difficult''
@@ -3847,7 +3847,7 @@
 
 \erroronpage{851}{para 5, l.-2}{FMi}{2004/07/20}{2}
   Add + change font: ``It also defines \u{the command}
-  |\the|\u{\textit{newctr}} to\ldots'' 
+  |\the|\u{\textit{newctr}} to\ldots''
 
 \erroronpage{852}{code block 1, l.2}{JGr}{2004/06/10}{2}
    Second \verb=\makeatletter= should be \verb=\makeatother=
@@ -3868,7 +3868,7 @@
 
 
 \erroronpage{853}{l.6}{THa/FMi}{2004/06/23}{2}
-  Missing space: ``c,\u{~}\dots, z'' 
+  Missing space: ``c,\u{~}\dots, z''
 
 \erroronpage{853}{para 4,ll.2+3}{HjG}{2004/05/25}{2}
    Add word: ``\ldots definitions for sectioning \u{counters}''
@@ -3876,8 +3876,8 @@
 \erroronpage{853}{counter code block}{FMi}{2005/06/09}{4}
 The order of declarations of the counters is incorrect; they have to be
 \begin{verbatim}
-\newcounter{part}                
-\newcounter{section}  
+\newcounter{part}
+\newcounter{section}
 \newcounter{subsection}[section]
 \newcounter{subsubsection}[subsection]
 \end{verbatim}
@@ -3892,7 +3892,7 @@
 
 \erroronpage{854}{ll. 1+2}{FMi}{2004/05/25}{2}
    Add word and commata: ``Only the representation\u{, prefix,} and
-             label field commands 
+             label field commands
              are defined \ldots''
 
 \seriouserroronpage{854}{code block 1}{HjG/FMi}{2004/05/25}{2}
@@ -3899,7 +3899,7 @@
 Replace with approx:\\[6pt]
 \hspace*{-140pt}\begin{minipage}[b]{\linewidth}
 \begin{verbatim}
-\renewcommand\theenumi  {\arabic{enumi}}       \renewcommand\theenumii{\alph{enumii}}   
+\renewcommand\theenumi  {\arabic{enumi}}       \renewcommand\theenumii{\alph{enumii}}
 \renewcommand\theenumiii{\roman{enumiii}}      \renewcommand\theenumiv{\Alph{enumiv}}
 \end{verbatim}
 \begin{verbatim}
@@ -3914,14 +3914,14 @@
 
 
 \erroronpage{855}{fig A.1, l.4}{JAn}{2005/09/09}{4}
-  Change  ``Did\^ot'' \> ``Didot'' (no caret); and delete the 
-comma after inch 
+  Change  ``Did\^ot'' \> ``Didot'' (no caret); and delete the
+comma after inch
 
 
 \erroronpage{855}{fig A.1}{CBe/FMi}{2004/07/27}{2}
 Add: \texttt{ex} \quad Height of a small ``x'' in the current font \u{(approximately)}
 \\
-Add: \texttt{em} \quad Width 
+Add: \texttt{em} \quad Width
             of capital ``M'' in current font  \u{(approximately)}
 
 
@@ -3932,11 +3932,11 @@
 \erroronpage{856}{tab A.2, l.6}{PYu}{2004/07/05}{2}
   Add: ``a \u{solid} horizontal line''
 
-\erroronpage{857}{table A.3}{V-Li}{2004/09/14}{4} 
+\erroronpage{857}{table A.3}{V-Li}{2004/09/14}{4}
   |\vspace{len}| is missing
 
 \erroronpage{858}{l.-8}{HjG/FMi}{2004/05/26}{2}
-   Add: ``\u{missing or} misplaced |\item|'' 
+   Add: ``\u{missing or} misplaced |\item|''
 
 \erroronpage{858}{syntax box}{PYu}{2004/07/03}{2}
   |\addvspace{|\textit{space}|}| should be typeset in a smaller font.
@@ -3979,13 +3979,13 @@
                  paragraph.}
 
   Editorial comment: change moves pagebreak.
-    
+
 \seriouserroronpage{878}{codeline 4 (?)}{UFi}{2004/05/22}{2}
  |\usepackage[german]{varioref}[2001/09/0]:| day number is missing
  (test for version doesn't work then anymore!)
 
 \erroronpage{886}{fig.~A.1}{HjG}{2004/05/21}{2}
-   Add: \verb=\ProcessOptions= \u{\texttt{\char`\\relax}} 
+   Add: \verb=\ProcessOptions= \u{\texttt{\char`\\relax}}
    (cf. hint on p.~882!)
 
 
@@ -4003,7 +4003,7 @@
  Add: ``Technically, a moving argument is an argument
         that is internally expanded by \LaTeX{} without typesetting it
         directly\u{ (e.g.}, by using the internal \LaTeX{} construct
-        |\protected at edef|\textsuperscript{1}\u).'' 
+        |\protected at edef|\textsuperscript{1}\u).''
 
 \erroronpage{893}{para 2, l.8}{MHo/FMi}{2004/10/05}{4}
  Replace:
@@ -4039,11 +4039,11 @@
 \erroronpage{899}{item 5}{UFi}{2004/05/23}{2}
   The ``\TeX{} Live CD'' is  spelled incorrectly as
  ``\TeX{} live'' or  ``\TeX live''
- 
+
 \erroronpage{901}{item 3}{UFi}{2004/05/23}{2}
   The ``\TeX{} Live CD'' is  spelled incorrectly as
  ``\TeX{} live'' or  ``\TeX live''
- 
+
 \seriouserroronpage{902}{l.5}{HjG}{2004/05/22}{2}
    Missing letter: ``\texttt{\char`\\dis\u{c}retionary}''
 
@@ -4093,9 +4093,9 @@
 
 \erroronpage{917}{footnote}{HOb}{2004/05/29}{2}
   Replace footnote with: ``In modern distributions \LaTeX{} is automatically
-  using the e\TeX{} program. On older installations you may have to 
+  using the e\TeX{} program. On older installations you may have to
   call a different program (e.g.,  \texttt{elatex} instead of
-  \texttt{latex}) when processing a 
+  \texttt{latex}) when processing a
   document.''
 
 
@@ -4179,7 +4179,7 @@
 
 \erroronpage{938}{para -1, l.3}{UFi/FMi}{2004/05/23}{2}
  Difficult to understand; replace:
-  ``\ldots a large \u{increase in} \texttt{t=} between'' 
+  ``\ldots a large \u{increase in} \texttt{t=} between''
 
 \erroronpage{939}{para 3, l.2}{HjG}{2004/05/23}{2}
    Words need to be swapped:
@@ -4319,13 +4319,13 @@
    Missing word: ``for \LaTeX\ \u{and} a possible''
 
 \erroronpage{980}{[151]}{THa}{2004/06/25}{2}
-  Remove: ``\LaTeX\u{Joachim Schrod}.'' 
+  Remove: ``\LaTeX\u{Joachim Schrod}.''
 
 \erroronpage{980}{[153]}{THa}{2004/06/25}{2}
-  Swap words: ``often are'' \> ``are often'' 
+  Swap words: ``often are'' \> ``are often''
 
 \erroronpage{980}{[155]}{THa}{2004/06/25}{2}
-  Missing word:   ``For \u{the} \textsf{kuvio} system\ldots'' 
+  Missing word:   ``For \u{the} \textsf{kuvio} system\ldots''
 
 \erroronpage{980}{[157]}{HjG}{2004/05/20}{2}
   First line of online resources is not flush right (stray space?).
@@ -4389,7 +4389,7 @@
   Correct range: author-date citations / history of (699, 700)
 
 \erroronpage{992}{}{J-CCh}{2005/07/17}{s}
-  Correct:  ``B\u{\'e}zier'' 
+  Correct:  ``B\u{\'e}zier''
 
 \erroronpage{993}{}{SEg}{2005/04/26}{4}
   bibliographies/authors/name,formatting shows 798--1092 but should be
@@ -4419,7 +4419,7 @@
    oblique (333)
 
 \erroronpage{1020}{}{CKr}{2005/01/09}{4}
-  Replace ``fonts / URW Antigua'' \> ``fonts / URW Anti\u{q}ua'' 
+  Replace ``fonts / URW Antigua'' \> ``fonts / URW Anti\u{q}ua''
 
 \erroronpage{1034}{first col.}{FMi}{2004/05/15}{2}
   Add entry: ``lists / enumerated / user-defined, 151''
@@ -4429,7 +4429,7 @@
 
 \erroronpage{1041}{}{FMi}{2004/08/02}{2}
   ``\texttt{NACRO} \BibTeX{} command'' \>
-  ``\texttt{MACRO} \BibTeX{} command'' 
+  ``\texttt{MACRO} \BibTeX{} command''
 
 \erroronpage{1051}{secound col., l.14}{MSc}{2004/06/04}{2}
         missing index entries for ``pdftex'' on p.7 and p.643
@@ -4436,11 +4436,11 @@
 
 \erroronpage{1069}{}{FMi}{2004/11/07}{4}
   Replace: ``text symbols / setting-up''  \>
-           ``\u{math} symbols / setting-up''  
+           ``\u{math} symbols / setting-up''
 
 
 \erroronpage{1076}{}{CKr}{2005/01/09}{4}
-  Replace ``URW Antigua'' \> ``URW Anti\u{q}ua'' 
+  Replace ``URW Antigua'' \> ``URW Anti\u{q}ua''
 
 
 \CHAPTER{People}
@@ -4449,9 +4449,9 @@
    Editorial comment: Needs manual breaking in index output file for
    second and fourth printing.
 
-\erroronpage{1081}{col 1}{FMi}{2004/06/22}{2} 
-  Missing accents: ``Fernandez, Jose Alberto '' \> `Fern\'andez, Jos\'e Alberto'' 
-  
+\erroronpage{1081}{col 1}{FMi}{2004/06/22}{2}
+  Missing accents: ``Fernandez, Jose Alberto '' \> `Fern\'andez, Jos\'e Alberto''
+
 \erroronpage{1081}{col 1}{HjG}{2004/06/22}{2}
    Change page number in entry:
    ``Fukui, Rei, xxvii, 405, \u{969}'' \> ``\ldots, \u{968}''
@@ -4463,7 +4463,7 @@
 \erroronpage{1081}{col 2}{HjG}{2004/06/16}{2}
    Change page number in entry:
    ``Hufflen, Jean-Michel, 761, \u{971}'' \> ``\ldots, \u{970}''
-    
+
 \erroronpage{1081}{}{HjG}{2004/07/08}{2}
    Add page entries for ``Kettler, Howard'' and ``Frutiger, Adrian''
    to ``People'' index back to 374.
@@ -4506,7 +4506,7 @@
 
 \erroronpage{1089}{para 4, l.4}{FMi}{2004/07/21}{2}
   Add:  ``\ldots this typographical icing \u{(package
-  \textsf{pdfcprot})} was\ldots'' 
+  \textsf{pdfcprot})} was\ldots''
 
 \erroronpage{1089}{l.-5}{HjG}{2004/05/20}{2}
   Missing period: \ldots files\u. It \ldots
@@ -4626,5 +4626,3 @@
 \end{verbatim}
 
 \end{document}
-
-

Modified: trunk/Master/texmf-dist/doc/latex/base/tlc2.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/tulm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/usrguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/usrguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/usrguide.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/usrguide.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    http://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % Filename: usrguide.tex
 
@@ -1298,22 +1298,22 @@
    \newcommand{\fauxguillemet}[1]{$\vcenter{\hbox{$\scriptscriptstyle#1$}}$}
    These commands produce various sorts of quotation mark.
    Rough representations of them are:
-   \fauxguillemet\ll a\fauxguillemet\gg{} 
-   \fauxguillemet<a\fauxguillemet> 
-   ,\kern -0.1em,\kern 0.05em a\kern -0.05em`` 
+   \fauxguillemet\ll a\fauxguillemet\gg{}
+   \fauxguillemet<a\fauxguillemet>
+   ,\kern -0.1em,\kern 0.05em a\kern -0.05em``
    ,\kern 0.05em a\kern -0.05em` and |"|a|"|.
 
 \NEWdescription{2001/06/01}
    There are therefore some extra short-form ligatures available for
    use in documents that will only be used with |T1|-encoded fonts.
-   
-   The guillemets |\guillemotleft| and |\guillemotright|% 
-   \footnote{We apologise once again for maintaining Adobe's 
-     enormous solipsism~(sic) of confusing a diving bird with 
-     punctuation marks!}  
-   can be obtained by typing |<<<<| and |>>>>| and |\quotedblbase| 
-   by typing |,,|\,.  
 
+   The guillemets |\guillemotleft| and |\guillemotright|%
+   \footnote{We apologise once again for maintaining Adobe's
+     enormous solipsism~(sic) of confusing a diving bird with
+     punctuation marks!}
+   can be obtained by typing |<<<<| and |>>>>| and |\quotedblbase|
+   by typing |,,|\,.
+
    Also, unlike the unexpected results with
    |OT1|-encoded fonts, |<<| and |>>| will produce \textless{} and
    \textgreater{}.

Modified: trunk/Master/texmf-dist/doc/latex/base/utf8ienc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/base/webcomp.err
===================================================================
--- trunk/Master/texmf-dist/doc/latex/base/webcomp.err	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/base/webcomp.err	2020-02-02 22:42:01 UTC (rev 53640)
@@ -235,15 +235,15 @@
 \begin{filecontents}{\jobname.cfg}
 %
 %
-% Configuration file for the errata listing of 
+% Configuration file for the errata listing of
 %
 %  The LaTeX Web Companion
 %
 %
-% \erratastartdate 
+% \erratastartdate
 %
 %    Specifies the date from which on
-%    errata entries should be listed. 
+%    errata entries should be listed.
 %
 %    The format is YYYY/MM/DD.
 %
@@ -257,7 +257,7 @@
 %
 %    Specifies which (revised) printing you
 %    own. For example, if you have the second
-%    printing set this to 2 so that errors 
+%    printing set this to 2 so that errors
 %    already corrected in that printing will not
 %    appear in your errata listing.
 %
@@ -272,7 +272,7 @@
 % Specifies that all page numbers in the errata are shown in the same
 %    format (bold face) irregardless of whether or not they are fixed
 %    in some revision. The default is to print corrected errors in
-%    italic and add the revision number as a superscript. 
+%    italic and add the revision number as a superscript.
 %
 %
 % \showallerrors
@@ -327,7 +327,7 @@
 revision in which this entry was corrected. The second column gives
 the precise location, negative line numbers are counted from the
 bottom of the page. The third column shows the first finder of the
-problem.  
+problem.
 
 \end{list}
 
@@ -363,7 +363,7 @@
 If you find further errors please report them to one of the authors
 \begin{quote}\ttfamily
   sebastian.rahtz at oucs.ox.ac.uk\\
-  goossens at cern.ch 
+  goossens at cern.ch
 \end{quote}
 preferable in a form usable for this file, i.e.,
 \begin{flushleft}

Modified: trunk/Master/texmf-dist/doc/latex/base/webcomp.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/graphics/README.md	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/graphics/README.md	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
 The LaTeX `graphics` bundle
 ===========================
 
-Release 2019-10-01 patch level 2
+Release 2020-02-02
 
 Overview
 --------
@@ -61,4 +61,4 @@
 
 -----
 
-<p>Copyright (C) 1993-2019 The LaTeX Project <br />
+<p>Copyright (C) 1993-2020 The LaTeX Project <br />

Deleted: trunk/Master/texmf-dist/doc/latex/graphics/cat-eps-converted-to.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/graphics/changes.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/graphics/changes.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -5,6 +5,20 @@
 =======================================================================
 
 #########################
+# 2020-02-02 Release
+#########################
+
+2019-11-30  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* graphics.dtx: proteced definitions gh/208
+	* graphicx.dtx: proteced definitions gh/208
+
+2019-11-23  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* color.dtx: Made commands robust gh/208
+
+
+#########################
 # 2019-10-01 PL 2 Release
 #########################
 
@@ -77,7 +91,7 @@
 2016-06-17  David Carlisle  <latex-bugs at latex-project.org>
 
 	* drivers.dtx: guards for contributed packages and plain TeX.
-	
+
 2016-06-02  David Carlisle  <latex-bugs at latex-project.org>
 
 	* graphics.dtx, color.dtx, drivers.dtx: add pagesize special support to dvips
@@ -960,12 +974,11 @@
 1994-03-09 David Carlisle <latex-bugs at latex-project.org>
 
         * \reflectbox added.
-    
+
         * \rotatebox* removed
-    
+
         * The order of the arguments of \includegraphics corrected
-    
+
         * \includegraphics[lower-l,lower-r][upper-l,upper-r]{file}
-    
+
         * \definecolor not \newcolor to define colours
-    

Modified: trunk/Master/texmf-dist/doc/latex/graphics/color.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/drivers.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/epsfig.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/graphics.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/graphicx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/grfguide.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/grfguide.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/graphics/grfguide.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/graphics/grfguide.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,5 +1,5 @@
 %% grfguide.tex Copyright (C) 1994 1995 1996 1998 1999 David Carlisle
-%%              Copyright (C) 2005-2019 David Carlisle, LaTeX3 Project
+%%              Copyright (C) 2005-2020 David Carlisle, LaTeX3 Project
 %%
 %% This file is part of the Standard LaTeX `Graphics Bundle'.
 %% It may be distributed under the terms of the LaTeX Project Public
@@ -261,8 +261,8 @@
 \begin{quote}\raggedright
   |dviwindo|
 \end{quote}
-  
 
+
 \section[Colour]{Colour\footnote{%
 The basic \package{color} package functionality described here
 will be enough for many uses, however a much extended version
@@ -294,7 +294,7 @@
 \textbf{x11} (Colour names from the X Window System), etc. The
 standard distribution does not currently have such models, but the
 \textbf{named} model could be used as an example of how to define a new
-colour model. The names used in the \textbf{named} model are those 
+colour model. The names used in the \textbf{named} model are those
 suggested by Jim Hafner in his \textsf{colordvi} and \textsf{foiltex}
 packages, and implemented originally in the |color.pro| header file for
 the \texttt{dvips} driver.
@@ -303,7 +303,7 @@
 Most of the options to the \package{color} package just specify a
 driver, e.g., \ |dvips|, as discussed in section~\ref{drivers}.
 
-One special option for the \package{color} package 
+One special option for the \package{color} package
 that is of interest is |monochrome.|
 If this option is selected the colour commands are all
 disabled so that they do not generate errors, but do not generate colour
@@ -404,7 +404,7 @@
 
 \subsection{Named Colours}
 Using the \textbf{named} colour model has certain advantages over
-using other colour models. 
+using other colour models.
 
 Firstly as the |dvi| file contains a request
 for a colour by \emph{name}, the actual mix of primary colours used to
@@ -493,7 +493,7 @@
 \begin{description}
 \item[\package{graphics}] The `standard' graphics package.
 \item[\package{graphicx}] The `extended' or `enhanced' graphics
-  package. 
+  package.
 \end{description}
 The two differ only in the format of optional arguments for the
 commands defined. The command names, and the mandatory arguments are
@@ -594,15 +594,15 @@
  If |!| is used as either length argument, the other argument is used
  to determine a scale factor that is used in both directions.
  Normally \emph{v-length} refers to the height of the box, but in the
- star form, it refers to the `height +  depth'. 
+ star form, it refers to the `height +  depth'.
  As normal for \LaTeXe\ box length arguments, |\height|,
  |\width|, |\totalheight|, |\depth| may be used to refer to the
  original size of the box.
 
-|\resizebox{1in}{\height}{Some text}|: 
+|\resizebox{1in}{\height}{Some text}|:
 \resizebox{1in}{\height}{Some text}
 
-|\resizebox{1in}{!}{Some text}|: 
+|\resizebox{1in}{!}{Some text}|:
 \resizebox{1in}{!}{Some text}
 
 \subsection{Including Graphics Files}
@@ -656,7 +656,7 @@
  compatibility with older packages.
  Specifying |bbllx=a,bblly=b,bburx=c,bbury=d|
  is equivalent to specifying |bb = a b c d|.
-\item[natwidth,natheight] Again an alternative to |bb|. 
+\item[natwidth,natheight] Again an alternative to |bb|.
  |natheight=h,natwidth=w| is equivalent to |bb = 0 0 h w|.
 \item[hiresbb]\NEWfeature{1996/10/29}
  Boolean valued key. If set to |true| (just specifying |hiresbb|
@@ -705,7 +705,7 @@
 \item[totalheight]\NEWfeature{1995/06/01}
  Specify the total height (height $+$ depth) of the figure.
  This will differ from the `height' if rotation has occurred.
- In particular if the figure has been rotated by $-90^\circ$ 
+ In particular if the figure has been rotated by $-90^\circ$
  then it will have zero height but large depth.
 \item[keepaspectratio]\NEWfeature{1995/09/27}
  Boolean valued key like `clip'.
@@ -721,7 +721,7 @@
 \item[ext]  Specify the file extension. This should \emph{only} be
  used in conjunction with |type|.
 \item[read] Specify the file extension of the `read file'. This
- should \emph{only} be used in conjunction with |type|. 
+ should \emph{only} be used in conjunction with |type|.
 \item[command] Specify any command to be applied to the file.  This
  should \emph{only} be used in conjunction with |type|.
 \item[quiet]\NEWfeature{2017/06/01}
@@ -756,16 +756,16 @@
 |\rotatebox| or |\scalebox| command.
 
 The keys are read left-to-right, so |[angle=90, height=1in]| means
-rotate by 90 degrees, and then scale to a height of 1in. 
+rotate by 90 degrees, and then scale to a height of 1in.
 |[height=1in, angle=90]| would result in a final \emph{width} of 1in.
 
-If the \textsf{calc} package is also loaded the lengths may use 
-\textsf{calc} syntax, for instance to specify a width of 2\,cm 
+If the \textsf{calc} package is also loaded the lengths may use
+\textsf{calc} syntax, for instance to specify a width of 2\,cm
 less than the text width: |[width=\textwidth-2cm]|.
 
 \TeX\ leaves the space specified either in the file, or in
 the optional arguments. If any part of the image is actually outside
-this area, it will by default overprint the surrounding text. 
+this area, it will by default overprint the surrounding text.
 If the star form is used, or |clip| specified, any part of the image
 outside this area will not be printed.
 
@@ -858,9 +858,9 @@
  system behaves when a file with extension \emph{ext} is specified.
  (The extension may be specified explicitly or, if the argument to
  |\includegraphics| does not have an extension, it may be a default
- extension from the \emph{ext-list} specified with 
+ extension from the \emph{ext-list} specified with
  |\DeclareGraphicsExtensions|.)
- 
+
 \emph{ext} the file extension for which this rule applies. As a special
 case, \emph{ext} may be given as |*| to denote the default behaviour for
 all undeclared extensions (see the example below).
@@ -878,7 +878,7 @@
 |{}|, then the system will not try to locate an external file for size
 info, and the size must be specified in the arguments of
 |\includegraphics|. If the driver file specifies a procedure for
-reading size files for \emph{type}, that will be used, otherwise the 
+reading size files for \emph{type}, that will be used, otherwise the
 procedure for reading |eps| files will be used. Thus the size of
 bitmap files may be specified in a file with a PostScript style
 |%%BoundingBox| line, if no other specific format is available.
@@ -914,7 +914,7 @@
 which incantation causes the |kpsewhich| program to find the
 file, by searching along \LaTeX's path, and then pass the full path
 name to the |zcat| program so that it can uncompress the file.
-Any such uses are very system dependent, and would best be placed in 
+Any such uses are very system dependent, and would best be placed in
 a |graphics.cfg| file, thus keeping the document itself portable.
 
 \subsection{Global setting of keys}
@@ -953,13 +953,13 @@
 
 As the author of the class you may want to give the users the
 possibility of using  either interface in their letters (should they
-need to include any further graphics into the letter body). 
+need to include any further graphics into the letter body).
 In this case the class should load the \package{graphics} package (not
 \package{graphicx}, as this would commit any users of the class to the
 \package{keyval} interface). The logo should be included with
 |\includegraphics| either with \emph{no} optional argument (if the
 correct size information is in the file) or \emph{both} optional
-arguments otherwise. 
+arguments otherwise.
 Do not use the \emph{one} optional argument form, as the meaning of this
 argument would change (and generate errors) if the user were to load
 \package{graphicx} as well as your class.

Modified: trunk/Master/texmf-dist/doc/latex/graphics/keyval.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/lscape.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/rotating.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/rotex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/graphics/rotex.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/graphics/rotex.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/graphics/rotex.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -75,7 +75,7 @@
 `rlap' to ensure that all the texts are printed at the same point.
 Just to show that \TeX\ can handle PostScript muckings-about
 properly\ldots
-\begin{example} 
+\begin{example}
 \newcount\wang
 \newsavebox{\wangtext}
 \newdimen\wangspace
@@ -100,7 +100,7 @@
   \end{turn} end here
 \end{example}
 The environment `Sideways' is a  special case, setting the rotation to $-90$,
-and leaving the correct space for the rotated box. 
+and leaving the correct space for the rotated box.
 \begin{example}
 Start here
 \begin{sideways}%
@@ -120,9 +120,9 @@
 you have to adjust the box in the normal \LaTeX\ way:
 \begin{example}
 \newsavebox{\foo}
-\savebox{\foo}{\parbox{1in}{Save 
-the whales Save the whale 
-Save the whale 
+\savebox{\foo}{\parbox{1in}{Save
+the whales Save the whale
+Save the whale
 Save the whale}}%
 Start
 \begin{turn}{45}\usebox{\foo}\end{turn}
@@ -129,9 +129,9 @@
 End
 \end{example}
 \begin{example}
-\savebox{\foo}{\parbox[b]{1in}{Save 
-the whales Save the whale 
-Save the whale 
+\savebox{\foo}{\parbox[b]{1in}{Save
+the whales Save the whale
+Save the whale
 Save the whale}}%
 Start
 \begin{turn}{45}\usebox{\foo}\end{turn}
@@ -139,7 +139,7 @@
 \end{example}
 
 \def\testrot#1{%
-\savebox{\foo}{\parbox{1in}{Save 
+\savebox{\foo}{\parbox{1in}{Save
 the whales Save the whale Save the whale Save the whale}}%
 \framebox{---\begin{turn}{#1}\framebox{\usebox{\foo}}\end{turn}---}}%
 
@@ -272,9 +272,9 @@
 PostScript files which are being incorporated using can be
 rotated at will, while Figure \ref{fig2} shows, in contrast, how
 `includegraphics' itself handles rotation. It is also possible to rotate the
-whole of the figure environment, including caption, 
+whole of the figure environment, including caption,
 by using the `sidewaysfigure' ands `sidewaystable' environments
-in place of `figure' and `table'. 
+in place of `figure' and `table'.
 
 Sideways figures and tables always take up the whole page. They can be
 rotated so that the bottom ot the figures is on the left or the right;
@@ -315,7 +315,7 @@
 \begin{tabular}{|llllllllp{1in}lp{1in}|}
 \hline
 Context   &Length   &Breadth/   &Depth   &Profile   &Pottery   &Flint   &Animal   &Stone   &Other    &C14 Dates \\
-  &         &Diameter   &        &          &          &        & 
+  &         &Diameter   &        &          &          &        &
 Bones&&&\\
 \hline
 &&&&&&&&&&\\
@@ -331,7 +331,7 @@
 794       &2.89m      &0.75m      &0.25m   &Irreg.    &P16      &$\times$3     & ---       & ---       &---        &---\\
 \hline
 \end{tabular}
- 
+
 \caption[Grooved Ware and Beaker Features, their Finds and
 Radiocarbon Dates]{Grooved Ware and Beaker Features, their
 Finds and Radiocarbon Dates; For a breakdown of the Pottery
@@ -425,7 +425,7 @@
 \begin{tabular}{|llllllllp{1in}lp{1in}|}
 \hline
 Context   &Length   &Breadth/   &Depth   &Profile   &Pottery   &Flint   &Animal   &Stone   &Other    &C14 Dates \\
-  &         &Diameter   &        &          &          &        & 
+  &         &Diameter   &        &          &          &        &
 Bones&&&\\
 \hline
 &&&&&&&&&&\\
@@ -441,7 +441,7 @@
 794       &2.89m      &0.75m      &0.25m   &Irreg.    &P16      &$\times$3     & ---       & ---       &---        &---\\
 \hline
 \end{tabular}
- 
+
 \caption[Grooved Ware and Beaker Features, their Finds and
 Radiocarbon Dates]{Grooved Ware and Beaker Features, their
 Finds and Radiocarbon Dates; For a breakdown of the Pottery

Modified: trunk/Master/texmf-dist/doc/latex/graphics/trig.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tools/README.md	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/tools/README.md	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
 The LaTeX `tools` bundle
 ========================
 
-Release 2019-11-08
+Release 2020-02-02
 
 Overview
 --------
@@ -51,4 +51,4 @@
 
 -----
 
-<p>Copyright (C) 1993-2019 The LaTeX Project <br />
+<p>Copyright (C) 1993-2020 The LaTeX Project <br />

Modified: trunk/Master/texmf-dist/doc/latex/tools/afterpage.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/array.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/bm.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/calc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/changes.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tools/changes.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/tools/changes.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -6,6 +6,33 @@
 =======================================================================
 
 #########################
+# 2020-02-02 Release
+#########################
+
+2020-01-15  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* tabularx.dtx: Avoid .. at end of the Target width debug message.
+
+2020-01-07  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* longtable.dtx: additional \endgraf for
+	https://github.com/davidcarlisle/dpctex/issues/8
+
+2020-01-04  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* hhline.dtx: Allow and ignore spaces in the \hhline argument.
+
+2019-12-09  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* multicol.dtx:
+	Support up to 20 columns instead of 10; also ensure that
+	the insert boxes are not clobbered (gh/237)
+
+2019-10-15  Frank Mittelbach  <Frank.Mittelbach at latex-project.org>
+
+	* multicol.dtx: Use \@maxdepth not \maxdepth (gh/190)
+
+#########################
 # 2019-11-10 PL 3 Release
 #########################
 
@@ -18,6 +45,14 @@
 	* (shellesc): restore the original catcode of _ to _ not to "
 
 #########################
+# 2019-11-08 Release
+#########################
+
+2019-11-08  David Carlisle  <David.Carlisle at latex-project.org>
+
+	* (shellesc): restore the original catcode of _ to _ not to "
+
+#########################
 # 2019-10-01 PL 2 Release
 #########################
 

Modified: trunk/Master/texmf-dist/doc/latex/tools/dcolumn.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/delarray.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/enumerate.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/fileerr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/fontsmpl.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/ftnright.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/hhline.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/indentfirst.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/layout.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/longtable.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/manifest.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tools/manifest.txt	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/tools/manifest.txt	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,22 +2,22 @@
 %
 % Copyright 1993-2016
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the Standard LaTeX `Tools Bundle'.
 % -------------------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    https://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2005/12/01 or later.
-% 
+%
 % The list of all files belonging to the LaTeX `Tools Bundle' is
 % given in the file `manifest.txt'.
-% 
+%
 % \fi
 %
 % CONTENTS OF THE TOOLS BUNDLE
@@ -36,7 +36,7 @@
         Finer control over horizontal rules in tables. Requires array.
 longtable.dtx
         Multipage tables. (Does not require array, but uses the extended
-        features if both are loaded.)  
+        features if both are loaded.)
 tabularx.dtx
         Defines tabularx environment (similar to tabular*) but modifies
         column widths, not inter-column space, to achieve a desired
@@ -49,7 +49,7 @@
         Access bold math symbols.
 
 calc.dtx
-        Infix arithmetic expresions. Contributed to the distribution by 
+        Infix arithmetic expresions. Contributed to the distribution by
         Kresten Krab Thorup and Frank Jensen.
 
 enumerate.dtx
@@ -56,7 +56,7 @@
         Extended version of the enumerate environment.
 
 fileerr.dtx
-        Suite of small files which may be used to control TeX's 
+        Suite of small files which may be used to control TeX's
         missing file error loop.
 
 fontsmpl.dtx
@@ -82,7 +82,7 @@
 
 shellesc.dtx
         Unified interface for accessing system commands.
-	
+
 showkeys.dtx
         Draft mode showing the `keys' used by \label, \ref, \cite etc.
 

Modified: trunk/Master/texmf-dist/doc/latex/tools/multicol.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/rawfonts.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/shellesc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/showkeys.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/somedefs.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/tabularx.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/theorem.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/tools-overview.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/tools-overview.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/tools/tools-overview.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/doc/latex/tools/tools-overview.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
 \NeedsTeXFormat{LaTeX2e}
 \ProvidesFile{tools-overview.tex}[2015/03/31 v1.0 Tools overview]
 
-% Copyright (C) 2006-2019
+% Copyright (C) 2006-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/doc/latex/tools/trace.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/varioref.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/verbatim.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/xr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/tools/xspace.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amsbsy.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amsbsy.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amsbsy.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse meta-comment
 %
 % Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society. 
+% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
@@ -11,9 +11,9 @@
 %   https://www.latex-project.org/lppl.txt
 % and version 1.3c or later is part of all distributions of LaTeX
 % version 2005/12/01 or later.
-% 
+%
 % This work has the LPPL maintenance status `maintained'.
-% 
+%
 % The Current Maintainer of this work is the LaTeX3 Project.
 %
 % \fi

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amsbsy.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amsbsy.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amsbsy.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
-%% 
+%%
 %% Copyright 2010 American Mathematical Society.
 %% Copyright 2016 LaTeX3 Project and American Mathematical Society.
-%% 
+%%
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
@@ -9,9 +9,9 @@
 %%   https://www.latex-project.org/lppl.txt
 %% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% This work has the LPPL maintenance status `maintained'.
-%% 
+%%
 %% The Current Maintainer of this work is the LaTeX3 Project.
 %%
 %% ====================================================================

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amscd.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amscd.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amscd.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse meta-comment
 %
 % Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
@@ -11,9 +11,9 @@
 %   https://www.latex-project.org/lppl.txt
 % and version 1.3c or later is part of all distributions of LaTeX
 % version 2005/12/01 or later.
-% 
+%
 % This work has the LPPL maintenance status `maintained'.
-% 
+%
 % The Current Maintainer of this work is the LaTeX3 Project.
 %
 % \fi

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amscd.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amscd.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amscd.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
-%% 
+%%
 %% Copyright 2010 American Mathematical Society.
 %% Copyright 2016 LaTeX3 Project and American Mathematical Society.
-%% 
+%%
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
@@ -9,9 +9,9 @@
 %%   https://www.latex-project.org/lppl.txt
 %% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% This work has the LPPL maintenance status `maintained'.
-%% 
+%%
 %% The Current Maintainer of this work is the LaTeX3 Project.
 %%
 %% ====================================================================

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amsgen.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amsgen.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amsgen.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse meta-comment
 %
 % Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society. 
+% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
@@ -11,9 +11,9 @@
 %   https://www.latex-project.org/lppl.txt
 % and version 1.3c or later is part of all distributions of LaTeX
 % version 2005/12/01 or later.
-% 
+%
 % This work has the LPPL maintenance status `maintained'.
-% 
+%
 % The Current Maintainer of this work is the LaTeX3 Project.
 %
 % \fi

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amsgen.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amsgen.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amsgen.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
-%% 
+%%
 %% Copyright 2010 American Mathematical Society.
 %% Copyright 2016 LaTeX3 Project and American Mathematical Society.
-%% 
+%%
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
@@ -9,9 +9,9 @@
 %%   https://www.latex-project.org/lppl.txt
 %% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% This work has the LPPL maintenance status `maintained'.
-%% 
+%%
 %% The Current Maintainer of this work is the LaTeX3 Project.
 %%
 %% ====================================================================

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amsmath.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amsmath.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amsmath.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse meta-comment
 %
 % Copyright (C) 1995, 2000, 2013 American Mathematical Society.
-% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
@@ -11,9 +11,9 @@
 %   https://www.latex-project.org/lppl.txt
 % and version 1.3c or later is part of all distributions of LaTeX
 % version 2005/12/01 or later.
-% 
+%
 % This work has the LPPL maintenance status `maintained'.
-% 
+%
 % The Current Maintainer of this work is the LaTeX3 Project.
 %
 % \fi
@@ -86,7 +86,7 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\ProvidesPackage{amsmath}[2019/11/16 v2.17d AMS math features]
+\ProvidesPackage{amsmath}[2020/01/20 v2.17e AMS math features]
 %    \end{macrocode}
 %
 % \section{Catcode defenses}
@@ -302,10 +302,13 @@
 %    \end{macrocode}
 %
 %    Processing to handle the \opt{cmex10} option is a little tricky
-%    because of different possible loading orders for \pkg{amsmath} and
-%    \pkg{amsfonts}. The package \pkg{amsmath} sets the \cs{cmex at opt}
-%    flag to 7 or 10, and the package \pkg{amsfonts} sets the flag to 1
-%    or 0.
+%    because of different possible loading orders for \pkg{amsmath}
+%    and \pkg{amsfonts}. The package \pkg{amsmath} sets the
+%    \cs{cmex at opt} flag to 0, 7 or 10, and in the past the package
+%    \pkg{amsfonts} did set the flag to 1 or 0. These days it always
+%    sets it to 10. The situation is a bit unsettled but we don't own
+%    \pkg{amsfonts}.
+% \changes{v2.17d}{2019/12/01}{docu update, no code change (gh/200)}
 %    \begin{macrocode}
 \ifnum\cmex at opt=7 \relax
   \DeclareFontShape{OMX}{cmex}{m}{n}{%
@@ -517,9 +520,13 @@
 \@xp\@tempa\vert\@empty\@nil
 \ifnum\@tempcnta>\z@
   \advance\@tempcnta "4000000
-  \xdef\lvert{\delimiter\number\@tempcnta\space }
+%    \end{macrocode}
+%    Use \cs{protected} on the new delimiters.
+% \changes{v2.17e}{2020/01/20}{Make delimiters robust (gh/251))}
+%    \begin{macrocode}
+  \protected\xdef\lvert{\delimiter\number\@tempcnta\space }
   \advance\@tempcnta "1000000
-  \xdef\rvert{\delimiter\number\@tempcnta\space }
+  \protected\xdef\rvert{\delimiter\number\@tempcnta\space }
 \else
   \ifx\@@undefined\lvert
     % Fall back to cmex encoding since we don't know what else to do.
@@ -532,9 +539,9 @@
 \@xp\@tempa\Vert\@empty\@nil
 \ifnum\@tempcnta>\z@
   \advance\@tempcnta "4000000
-  \xdef\lVert{\delimiter\number\@tempcnta\space }
+  \protected\xdef\lVert{\delimiter\number\@tempcnta\space }
   \advance\@tempcnta "1000000
-  \xdef\rVert{\delimiter\number\@tempcnta\space }
+  \protected\xdef\rVert{\delimiter\number\@tempcnta\space }
 \else
   \ifx\@@undefined\lVert
     \DeclareMathDelimiter{\lVert}
@@ -645,13 +652,13 @@
 %    \end{macrocode}
 %
 %    \begin{macrocode}
-\else   
+\else
 %    \end{macrocode}
 %     XeTeX version
 %    \begin{macrocode}
 \def\genfrac at rule#1#2#3#4{%
 \hbox{$\left#1\vcenter{\hrule \@width\z@
-                       \@height 
+                       \@height
                        \ifdim\fontdimen#2#3\tw@=\z@
                        #4\fontdimen6#3\tw@
                        \else
@@ -697,7 +704,7 @@
 %    \begin{macrocode}
 \def\genfrac at rule#1#2#3{%
 \hbox{$\left#1\vcenter{\hrule \@width\z@
-                       \@height 
+                       \@height
                        \ifdim\Umathfractiondelsize#2=\z@
                        #3\fontdimen6#3\tw@
                        \else
@@ -1093,7 +1100,7 @@
 % \changes{v2.15}{2016/02/20}{Indent \cs{mdots@@} for readability and add additional tests}
 %    \begin{macrocode}
 \def\mdots@@{\gdef\thedots@{\dotso@}%
- \ifx\@let at token\boldsymbol 
+ \ifx\@let at token\boldsymbol
    \gdef\thedots@\boldsymbol{\boldsymboldots@}%
  \else
    \ifx,\@let at token \gdef\thedots@{\dotsc}%
@@ -1167,7 +1174,7 @@
 %    \begin{macrocode}
              \fi % end macro \ifgtest@ test (no else)
            \fi % end if \Umathchar test
-         \fi % end \math@   \ifgtest@ 
+         \fi % end \math@   \ifgtest@
        \fi % end \keybin@ \ifgtest@ test (no else)
      \fi % end if \not (no else)
    \fi % end if comma (no else)
@@ -3190,9 +3197,10 @@
 % \end{macro}
 %
 % \begin{macro}{\ifst at rred}
-%    The switch |st at rred| is set to true by all starred
-%    environments
-%    and set to false by the unstarred versions.
+%   The switch |st at rred| is set to true by all starred environments
+%   and set to false by the unstarred versions.
+%   One exception is the \env{xxalignat} environment where this is set
+%   to true.
 %    \begin{macrocode}
 \newif\ifst at rred
 %    \end{macrocode}
@@ -3443,7 +3451,8 @@
             \nointerlineskip
             \vskip-\ht\strutbox@
             \vskip-\dp\strutbox@
-            \vbox{\noindent\hbox to\displaywidth{\hbox to#1{\strut@\hfill}}}%
+            \vbox{\noindent\hbox to\displaywidth{%
+                           \hbox to#1{\strut@\hfill}}}%
             \prevdepth\dimen@
         \fi
     }%

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amsmath.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amsmath.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amsmath.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
-%% 
+%%
 %% Copyright 2010 American Mathematical Society.
 %% Copyright 2016 LaTeX3 Project and American Mathematical Society.
-%% 
+%%
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
@@ -9,9 +9,9 @@
 %%   https://www.latex-project.org/lppl.txt
 %% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% This work has the LPPL maintenance status `maintained'.
-%% 
+%%
 %% The Current Maintainer of this work is the LaTeX3 Project.
 %%
 %% ====================================================================

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amsopn.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amsopn.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amsopn.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse meta-comment
 %
 % Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
@@ -11,9 +11,9 @@
 %   https://www.latex-project.org/lppl.txt
 % and version 1.3c or later is part of all distributions of LaTeX
 % version 2005/12/01 or later.
-% 
+%
 % This work has the LPPL maintenance status `maintained'.
-% 
+%
 % The Current Maintainer of this work is the LaTeX3 Project.
 %
 % \fi

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amsopn.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amsopn.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amsopn.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
-%% 
+%%
 %% Copyright 2010 American Mathematical Society.
 %% Copyright 2016 LaTeX3 Project and American Mathematical Society.
-%% 
+%%
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
@@ -9,9 +9,9 @@
 %%   https://www.latex-project.org/lppl.txt
 %% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% This work has the LPPL maintenance status `maintained'.
-%% 
+%%
 %% The Current Maintainer of this work is the LaTeX3 Project.
 %%
 %% ====================================================================

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amstext.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amstext.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amstext.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse meta-comment
 %
 % Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
@@ -11,9 +11,9 @@
 %   https://www.latex-project.org/lppl.txt
 % and version 1.3c or later is part of all distributions of LaTeX
 % version 2005/12/01 or later.
-% 
+%
 % This work has the LPPL maintenance status `maintained'.
-% 
+%
 % The Current Maintainer of this work is the LaTeX3 Project.
 %
 % \fi

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amstext.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amstext.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amstext.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
-%% 
+%%
 %% Copyright 2010 American Mathematical Society.
 %% Copyright 2016 LaTeX3 Project and American Mathematical Society.
-%% 
+%%
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
@@ -9,9 +9,9 @@
 %%   https://www.latex-project.org/lppl.txt
 %% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% This work has the LPPL maintenance status `maintained'.
-%% 
+%%
 %% The Current Maintainer of this work is the LaTeX3 Project.
 %%
 %% ====================================================================
@@ -48,4 +48,3 @@
 }
 
 \endbatchfile
-

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amsxtra.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amsxtra.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amsxtra.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse meta-comment
 %
 % Copyright (C) 1995, 1999 American Mathematical Society.
-% Copyright (C) 2016-2019 LaTeX3 Project and American Mathematical Society.
+% Copyright (C) 2016-2020 LaTeX3 Project and American Mathematical Society.
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
@@ -11,9 +11,9 @@
 %   https://www.latex-project.org/lppl.txt
 % and version 1.3c or later is part of all distributions of LaTeX
 % version 2005/12/01 or later.
-% 
+%
 % This work has the LPPL maintenance status `maintained'.
-% 
+%
 % The Current Maintainer of this work is the LaTeX3 Project.
 %
 % \fi

Modified: trunk/Master/texmf-dist/source/latex/amsmath/amsxtra.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/amsmath/amsxtra.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/amsmath/amsxtra.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
-%% 
+%%
 %% Copyright 2010 American Mathematical Society.
 %% Copyright 2016 LaTeX3 Project and American Mathematical Society.
-%% 
+%%
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
@@ -9,9 +9,9 @@
 %%   https://www.latex-project.org/lppl.txt
 %% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% This work has the LPPL maintenance status `maintained'.
-%% 
+%%
 %% The Current Maintainer of this work is the LaTeX3 Project.
 %%
 %% ====================================================================
@@ -48,4 +48,3 @@
 }
 
 \endbatchfile
-

Modified: trunk/Master/texmf-dist/source/latex/base/alltt.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/alltt.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/alltt.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/alltt.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/alltt.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/alltt.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 

Modified: trunk/Master/texmf-dist/source/latex/base/classes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/classes.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/classes.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -53,7 +53,7 @@
 %<*driver>
 \ProvidesFile{classes.drv}
 %</driver>
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
 %<article|report|book> Standard LaTeX document class]
 %<10pt|11pt|12pt>      Standard LaTeX file (size option)]
 %    \end{macrocode}
@@ -213,7 +213,7 @@
 % \changes{v1.3l}{1995/10/20}{Disabled in compatibility mode all
 %    options that are new in \LaTeXe.}
 % \changes{v1.3v}{1997/06/16}{Documentation fixes.}
-% \changes{v1.4j}{2019/08/27}{Various commands made robust} 
+% \changes{v1.4j}{2019/08/27}{Various commands made robust}
 %
 %
 % \title{Standard Document Classes for \LaTeX{} version 2e\thanks{This
@@ -611,11 +611,11 @@
 \normalsize
 %    \end{macrocode}
 %    We use |\MakeRobust| instead of |\DeclareRobustCommand| above to avoid a log
-%    entry for the redefinition. But if we are running in in a rollback situation
+%    entry for the redefinition. But if we are running in a rollback situation
 %    (prior to 2015) we don't touch it.
-% \changes{v1.4k}{2019/10/25}{Roll back handling (gh/201)} 
+% \changes{v1.4k}{2019/10/25}{Roll back handling (gh/201)}
 %    \begin{macrocode}
-\ifx\MakeRobust\@undefined \else 
+\ifx\MakeRobust\@undefined \else
     \MakeRobust\normalsize
 \fi
 %    \end{macrocode}
@@ -2949,19 +2949,37 @@
 % \begin{macro}{\labelitemiv}
 %    Itemization is controlled by four commands: |\labelitemi|,
 %    |\labelitemii|, |\labelitemiii|, and |\labelitemiv|, which define
-%    the labels of thevarious itemization levels: the symbols used are
+%    the labels of the various itemization levels: the symbols used are
 %    bullet, bold en-dash, centered asterisk and centred dot.
 %
 %    \begin{macrocode}
-\newcommand\labelitemi{\textbullet}
-\newcommand\labelitemii{\normalfont\bfseries \textendash}
-\newcommand\labelitemiii{\textasteriskcentered}
-\newcommand\labelitemiv{\textperiodcentered}
+\newcommand\labelitemi  {\labelitemfont \textbullet}
+\newcommand\labelitemii {\labelitemfont \bfseries \textendash}
+\newcommand\labelitemiii{\labelitemfont \textasteriskcentered}
+\newcommand\labelitemiv{ \labelitemfont \textperiodcentered}
 %    \end{macrocode}
+%
+% \begin{macro}{\labelitemfont}
+%    The default definition for \cs{labelitemfont} is to reset the
+%    font to \cs{normalfont} so that always the same symbol is
+%    produced regardless of surrounding conditions.
+%
+% \changes{v1.4l}{2019/12/20}{Normalize label fonts}
+%    A possible alternative would be
+%\begin{verbatim}
+%\renewcommand\labelitemfont{%
+%   \fontseries\seriesdefault
+%   \fontshape\shapedefault\selectfont}
+%\end{verbatim}
+%    which resets series and shape doesn't touch the family.
+%    \begin{macrocode}
+\newcommand\labelitemfont{\normalfont}
+%    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
 % \end{macro}
+% \end{macro}
 %
 % \subsubsection{Description}
 %
@@ -3758,7 +3776,7 @@
         \@mkboth{%
            \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}%
 %    \end{macrocode}
-%    The the actual table of contents is made by calling
+%    The actual table of contents is made by calling
 %    |\@starttoc{toc}|. After that we restore twocolumn mode if
 %    necessary.
 %    \begin{macrocode}
@@ -3826,7 +3844,7 @@
        \large \bfseries #1\hfil
        \hb at xt@\@pnumwidth{\hss #2%
 %    \end{macrocode}
-%    
+%
 % \changes{v1.4i}{2018/09/03}{Prevent protrusion
 %     (\url{https://tex.stackexchange.com/q/172785/10109})}
 %    \begin{macrocode}
@@ -3894,7 +3912,7 @@
       #1\nobreak\hfil
       \nobreak\hb at xt@\@pnumwidth{\hss #2%
 %    \end{macrocode}
-%    
+%
 % \changes{v1.4i}{2018/09/03}{Prevent protrusion
 %     (\url{https://tex.stackexchange.com/q/172785/10109})}
 %    \begin{macrocode}
@@ -3951,7 +3969,7 @@
       #1\nobreak\hfil
       \nobreak\hb at xt@\@pnumwidth{\hss #2%
 %    \end{macrocode}
-%    
+%
 % \changes{v1.4i}{2018/09/03}{Prevent protrusion
 %     (\url{https://tex.stackexchange.com/q/172785/10109})}
 %    \begin{macrocode}
@@ -4343,7 +4361,7 @@
 % defined below in command names. These commands may be redefined in
 % any class or package that is customising \LaTeX\ for use with
 % non-English languages.
-% \changes{v1.3h}{1995/07/20}{Split up to save save stack /1742}
+% \changes{v1.3h}{1995/07/20}{Split up to save on save stack /1742}
 %
 % \begin{macro}{\contentsname}
 % \begin{macro}{\listfigurename}
@@ -4478,4 +4496,3 @@
 % \Finale
 %
 \endinput
-

Modified: trunk/Master/texmf-dist/source/latex/base/classes.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/classes.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/classes.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 
@@ -118,4 +118,3 @@
 }
 
 \endbatchfile
-

Modified: trunk/Master/texmf-dist/source/latex/base/cmextra.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/cmextra.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/cmextra.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file may only be distributed together with a copy of the LaTeX
@@ -90,39 +90,39 @@
 %
 % \Ask\answer{%
 %      **************************************************************
-%   ^^J* 
+%   ^^J*
 %   ^^J* Do you have the Concrete Roman fonts installed on your system,
 %   ^^J* or do you intend to install them?
-%   ^^J*  
+%   ^^J*
 %   ^^J* If so please answer with `y' otherwise with `n' below.
 %   ^^J*
-%   ^^J* You can easily redo this installation later in case you 
+%   ^^J* You can easily redo this installation later in case you
 %   ^^J* change your mind.
 %   ^^J**************************************************************}
-% 
+%
 % {\ifx\answer\y
-% 
+%
 % \Msg{*** Generating font defs for Cork encoded fonts ***}
 % \Msg{*** Generating font defs for old TeX Text encoding ***}
 % \Msg{*** Generating font defs for math italic encoding ***}
-% 
+%
 % \generate{%
 %   \file{t1ccr.fd}{\from{cmfonts.fdd}{fd,T1ccr}}
 %   \file{ot1ccr.fd}{\from{cmfonts.fdd}{fd,OT1ccr}}
 %   \file{omlccm.fd}{\from{cmfonts.fdd}{fd,OMLccm}}}
-% 
+%
 % \fi}
 
 \Ask\answer{%
      **************************************************************
-  ^^J* 
+  ^^J*
   ^^J* Do you have the cyrillic fonts from the University of
   ^^J* Washington installed on your system,
   ^^J* or do you intend to install them?
-  ^^J*  
+  ^^J*
   ^^J* If so please answer with `y' otherwise with `n' below.
   ^^J*
-  ^^J* You can easily redo this installation later in case you 
+  ^^J* You can easily redo this installation later in case you
   ^^J* change your mind.
   ^^J*
   ^^J* Normally it is better *not* to install these files, but use

Modified: trunk/Master/texmf-dist/source/latex/base/cmfonts.fdd
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/cmfonts.fdd	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/cmfonts.fdd	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,31 +2,30 @@
 %
 % Copyright 1993-2019
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    https://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
-% \CheckSum{295}
 %
 %\iffalse        This is a META comment
 %
@@ -68,7 +67,7 @@
 %<*driver,  >
              \ProvidesFile{cmfonts.drv}
 %</driver,  >
-        [2014/09/29 v2.5h Standard LaTeX font definitions]
+        [2019/12/16 v2.5j Standard LaTeX font definitions]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -88,7 +87,7 @@
 %\fi
 %
 %
-% 
+%
 % \changes{v2.5e}{1997/06/16}{Replaced reference to DC-fonts by ec
 %    fonts.}
 % \changes{v2.5c}{1997/05/26}{Removed spaces in and around arguments
@@ -107,11 +106,11 @@
 %      {Dont force T1 hyphenchar to 127. latex/1853}
 % \changes{v2.4c}{1995/11/07}{Use decimal rather than octal character
 % specification for \cs{hyphenchar} and \cs{skewchar} so that there is
-% no problem with an active quote character.} 
+% no problem with an active quote character.}
 % \changes{v2.4a}{1995/10/22}{Added support for new (v1.2) DC fonts
 %    and text companion fonts (TS1 encoding).}
 % \changes{v2.3d}{1994/11/02}{Added more font substitutions for
-%    \cs{pounds}.} 
+%    \cs{pounds}.}
 % \changes{v2.3d}{1994/10/30}{Added OMLcmr.fd and OMScmr.fd.}
 % \changes{v2.3b}{1994/05/12}{Added \cs{ProvidesFile} commands}
 % \changes{v2.3a}{1994/05/03}{Included definitions for
@@ -514,7 +513,7 @@
 %<ec>ecssdc10
        }{}
 %    \end{macrocode}
-% 
+%
 %    \begin{macrocode}
 %<*!new&!ec>
 %<+T1cmss>%%%%%%%% bold extended series
@@ -613,7 +612,7 @@
 %
 % \subsubsection{Computer Modern Variable Typewriter}
 %
-%    The Computer Modern Variable Typewriter family is the 
+%    The Computer Modern Variable Typewriter family is the
 %    proportional spaced version of the Computer Modern Typewriter
 %    family. It is implemented as a separate family to allow easy use
 %    in normal text, including changes of shape/series etc if available.
@@ -915,8 +914,13 @@
 %<+OT1cmss,Ucmss>% Font undefined, therefore substituted
 %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{m}{it}
 %<+Ucmss>\DeclareFontShape{U}{cmss}{m}{it}%
-%<-nowarn>      {<->sub*cmss/m/sl}{}
-%<+nowarn>      {<->ssub*cmss/m/sl}{}
+%    \end{macrocode}
+%    Never warn about substituting \texttt{sl} for \texttt{it} because
+%    that is common practise for sans serif fonts.
+% \changes{v2.5i}{2019/12/02}{Silent warning for cmss/it substitution
+%    (gh/172)}
+%    \begin{macrocode}
+    {<->ssub*cmss/m/sl}{}
 %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{m}{sl}
 %<+Ucmss>\DeclareFontShape{U}{cmss}{m}{sl}%
     {%
@@ -943,7 +947,7 @@
 %<-ori>      <5><6><7><8><9>cmssdc10%
        <10><10.95><12><14.4><17.28><20.74><24.88>cmssdc10%
        }{}
- 
+
 %<+OT1cmss,Ucmss>%%%%%%%%% bold extended series
 %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{bx}{n}
 %<+Ucmss>\DeclareFontShape{U}{cmss}{bx}{n}%
@@ -1021,6 +1025,13 @@
 %<+Ucmtt>\DeclareFontShape{U}{cmtt}{bx}{it}%
 %<-nowarn>  {<->sub*cmtt/m/it}{}
 %<+nowarn>  {<->ssub*cmtt/m/it}{}
+%    \end{macrocode}
+%
+% \changes{v2.5j}{2019/12/16}{Provide substitutions for cmtt/bx/sl}
+%    \begin{macrocode}
+%<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{bx}{sl}
+%<-nowarn>  {<->sub*cmtt/m/n}{}
+%<+nowarn>  {<->ssub*cmtt/m/n}{}
 %<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{bx}{ui}
 %<+Ucmtt>\DeclareFontShape{U}{cmtt}{bx}{ui}%
 %<-nowarn>  {<->sub*cmtt/m/it}{}
@@ -1031,7 +1042,7 @@
 %
 % \subsubsection{Computer Modern Variable Typewriter (\texttt{OT1})}
 %
-%    The Computer Modern Variable Typewriter family is the 
+%    The Computer Modern Variable Typewriter family is the
 %    proportional spaced version of the Computer Modern Typewriter
 %    family. It is implemented as a separate family to allow easy use
 %    in normal text, including changes of shape/series etc if available.
@@ -1126,7 +1137,7 @@
 %
 %  \subsubsection{Computer Modern Roman Math italics}
 %
-%  \changes{v2.3d}{1994/10/30}{Added OMLcmr font substitutions pointing 
+%  \changes{v2.3d}{1994/10/30}{Added OMLcmr font substitutions pointing
 %     to OMLcmm. }
 %  \changes{v2.3f}{1995/04/22}{Corrected OMLcmr \cs{skewchar}}
 %
@@ -1153,7 +1164,7 @@
    {<->ssub*cmm/b/it}{}
 %</OMLcmr>
 %    \end{macrocode}
-% 
+%
 %  \subsubsection{Computer Modern Math symbols}
 %
 %  \changes{v2.3a}{1994/05/02}{Included font definitions for
@@ -1174,10 +1185,10 @@
 %
 %  \subsubsection{Computer Modern Roman Math symbols}
 %
-%  \changes{v2.3d}{1994/10/30}{Added OMScmr font substitutions pointing 
+%  \changes{v2.3d}{1994/10/30}{Added OMScmr font substitutions pointing
 %     to OMScmm. }
 %
-%  Some text symbols like `\P' and `\dag' are kept in the OMS encoding, 
+%  Some text symbols like `\P' and `\dag' are kept in the OMS encoding,
 %  so we need font substititutions from OMS/cmr to OMS/cmsy.
 %    \begin{macrocode}
 %<*OMScmr>

Modified: trunk/Master/texmf-dist/source/latex/base/cmfonts.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/cmfonts.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/cmfonts.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file may only be distributed together with a copy of the LaTeX
@@ -104,7 +104,7 @@
           \file{omscmr.fd}{\from{cmfonts.fdd}{OMScmr}}
           }
 
- 
+
 \ifToplevel{
 \Msg{***********************************************************}
 \Msg{*}
@@ -119,6 +119,5 @@
 \Msg{* Happy TeXing}
 \Msg{***********************************************************}
 }
- 
+
 \endbatchfile
-

Modified: trunk/Master/texmf-dist/source/latex/base/doc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/doc.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/doc.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -35,7 +35,7 @@
 %<+package|shortvrb>\NeedsTeXFormat{LaTeX2e}[1994/12/01]
 %<+package> \ProvidesPackage{doc}
 %<+shortvrb>\ProvidesPackage{shortvrb}
-%<+package|shortvrb>  [2019/11/10 v2.1k
+%<+package|shortvrb>  [2019/12/16 v2.1l
 %<+package|shortvrb>   Standard LaTeX documentation package (FMi)]
 %\catcode`\<=12
 %
@@ -1448,18 +1448,19 @@
 %    bothered since doc-sources should be up-to-date but since the
 %    request came from someone called David Carlisle \ldots :-)
 % \changes{v1.9y}{1996/01/26}{Support compat mode}
+%  \changes{v2.1l}{2019/12/16}{Use \cs{shapedefault} not \cs{updefault} for extended NFSS}
 %    \begin{macrocode}
     \def\MacroFont{\small
                    \usefont\encodingdefault
                            \ttdefault
                            \mddefault
-                           \updefault
+                           \shapedefault
                    }%
   \else
     \def\MacroFont{\fontencoding\encodingdefault
                    \fontfamily\ttdefault
                    \fontseries\mddefault
-                   \fontshape\updefault
+                   \fontshape\shapedefault
                    \small}%
   \fi
   }{}
@@ -2006,7 +2007,7 @@
 %    \begin{macrocode}
 \@namedef{verbatim*}{\@beginparpenalty \predisplaypenalty \@verbatim
 %    \end{macrocode}
-%    
+%
 %  \changes{v2.1j}{2019/11/03}{Kernel now sets up \cs{verbvisiblespace} (gh/205)}
 %  \changes{v2.1k}{2019/11/10}{Put the definition into the right command :-( (gh/205)}
 %    \begin{macrocode}
@@ -4542,7 +4543,7 @@
   \ifnum\check at sum>\m at ne
 %    \end{macrocode}
 %    We do nothing if the checksum in the file is negative (or not given as
-%    it is initialized with -1).  
+%    it is initialized with -1).
 %    \begin{macrocode}
      \ifnum\check at sum=\z@
        \typeout{**********************************}%

Modified: trunk/Master/texmf-dist/source/latex/base/docstrip.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/docstrip.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/docstrip.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -316,8 +316,8 @@
 %    \DeclareDir{makeindex}{idxstyle}
 %\end{verbatim}
 %    This will cause base latex files and font descriptions to be
-%    written to directory |c:\emtex\texinput\latex2e|, files of the 
-%    \texttt{tools} package to be written to |c:\emtex\texinput\tools| 
+%    written to directory |c:\emtex\texinput\latex2e|, files of the
+%    \texttt{tools} package to be written to |c:\emtex\texinput\tools|
 %    and makeindex files to |c:\emtex\idxstyle|.
 %
 %    Sometimes it is desirable to put some files outside of the base

Modified: trunk/Master/texmf-dist/source/latex/base/docstrip.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/docstrip.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/docstrip.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 % If the top level file is docstrip.ins, most TeXs set \jobname to
@@ -52,9 +52,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -64,7 +64,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -77,8 +77,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 

Modified: trunk/Master/texmf-dist/source/latex/base/ec.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ec.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ec.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file may only be distributed together with a copy of the LaTeX
@@ -87,7 +87,7 @@
 
 \Msg{*** Generating font defs for Cork encoded
          and Text Companion fonts ***}
- 
+
 \generate{
   \file{t1cmfib.fd}{
      \from{cmfonts.fdd}{fd,T1cmfib,ec}}
@@ -137,5 +137,5 @@
 \Msg{* Happy TeXing}
 \Msg{***********************************************************}
 }
- 
+
 \endbatchfile

Modified: trunk/Master/texmf-dist/source/latex/base/exscale.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/exscale.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/exscale.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -174,7 +174,7 @@
 % Now we can define the macros. Note: |\n at space| sets the internal
 % variables |\nulldelimiterspace| and |\mathsurround| to zero length.
 %
-% Older kernels (e.g in roll back didn't have LR-mode with the 
+% Older kernels (e.g in roll back didn't have LR-mode with the
 % these commands)  so we test for the support comment. This only works
 % if the rollback request is before loading this package but that is
 %  where it should be.
@@ -192,7 +192,7 @@
 \def\bigg{\bBigg@\tw@}
 \def\Bigg{\bBigg@{2.5}}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %</package>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/exscale.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/exscale.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/exscale.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 

Modified: trunk/Master/texmf-dist/source/latex/base/fix-cm.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/fix-cm.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/fix-cm.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/fix-cm.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/fix-cm.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/fix-cm.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 

Modified: trunk/Master/texmf-dist/source/latex/base/fontdef.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/fontdef.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/fontdef.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -39,7 +39,7 @@
 %<driver, >\ProvidesFile{fontdef.drv}
 % \fi
 %          \ProvidesFile{fontdef.dtx}
-%<-latexrelease>           [2019/09/21 v3.0d LaTeX Kernel
+%<-latexrelease>           [2020/01/25 v3.0f LaTeX Kernel
 % \iftrue  (\else
 %<text,   >(Text
 %<math,   >(Math
@@ -102,7 +102,7 @@
 %
 % You are not allowed to change this source file!  If you want to
 % change the default encodings and/or the font shape groups preloaded
-% you should should create a copy of \texttt{fonttext.ltx}
+% you should create a copy of \texttt{fonttext.ltx}
 % under the name \texttt{fonttext.cfg} and change this copy. If
 % \LaTeXe{} finds a file of this name it will use it, otherwise it
 % uses the standard file which is \texttt{fontdef.ltx}.
@@ -249,16 +249,27 @@
 % \changes{v3.0a}{2016/12/03}{(DPC) Default to TU encoding for Unicode TeX engines}
 %    \begin{macrocode}
 \input {omlenc.def}
-\input  {t1enc.def}
-\input {ot1enc.def}       % <- should come after T1 for speed
 \input {omsenc.def}
 %    \end{macrocode}
+%    Documents containing a lot of accented characters should really
+%    be using T1 fonts. We therefore load this last so that T1 encoding
+%    specific commands are executed as fast as possible (encoding
+%    files are no longer reloaded in \texttt{fontenc}.
+% \changes{v3.0f}{2020/01/25}{Load t1enc.def last (gh/255)}
+%    \begin{macrocode}
+\input {ot1enc.def}
+\input  {t1enc.def}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\input{ts1enc.def}
+%    \end{macrocode}
 % \changes{v3.0a}{2016/12/03}{(DPC) Default to TU encoding for Unicode TeX engines}
 %    \begin{macrocode}
 \ifx\Umathchar\@undefined
 %    \end{macrocode}
 %
-%    We then set set the default text font encoding. This will
+%    We then set the default text font encoding. This will
 %    hopefully change some day to |T1|. This setting should \emph{not}
 %    be changed to produce a portable format.
 %    \begin{macrocode}
@@ -265,7 +276,17 @@
 \fontencoding{OT1}
 %    \end{macrocode}
 %
+%
+%
+%
 %    \begin{macrocode}
+\def\rmsubstdefault{cmr}
+\def\sfsubstdefault{cmss}
+\def\ttsubstdefault{cmtt}
+\LoadFontDefinitionFile{TS1}{cmr}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \else
 %    \end{macrocode}
 % Unicode.
@@ -273,15 +294,19 @@
 \input {tuenc.def}
 \fontencoding{TU}
 \DeclareFontSubstitution{TU}{lmr}{m}{n}
-\begingroup
-\nfss at catcodes
-\input  {tulmr.fd}
-\input  {tulmss.fd}
-\input  {tulmtt.fd}
-\endgroup
+\LoadFontDefinitionFile{TU}{lmr}
+\LoadFontDefinitionFile{TU}{lmss}
+\LoadFontDefinitionFile{TU}{lmtt}
 %    \end{macrocode}
 %
 %    \begin{macrocode}
+\def\rmsubstdefault{lmr}
+\def\sfsubstdefault{lmss}
+\def\ttsubstdefault{lmtt}
+\LoadFontDefinitionFile{TS1}{lmr}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \DeclareFontSubstitution{TU}{lmr}{m}{n}
 %    \end{macrocode}
 % End of Unicode branch.
@@ -442,8 +467,9 @@
 % \begin{macro}{\bfdefault}
 % \begin{macro}{\mddefault}
 %    Series changing commands are influenced by the following hooks.
+% \changes{v3.0e}{2019/12/17}{Set \cs{bfdefault} to ``b''}
 %    \begin{macrocode}
-\newcommand\bfdefault{bx}
+\newcommand\bfdefault{b}  % overwritten below
 \newcommand\mddefault{m}
 %    \end{macrocode}
 % \end{macro}
@@ -453,12 +479,14 @@
 % \begin{macro}{\sldefault}
 % \begin{macro}{\scdefault}
 % \begin{macro}{\updefault}
+%
 %    Shape changing commands use the following hooks.
+% \changes{v3.0e}{2019/12/17}{Set \cs{updefault} to ``up''}
 %    \begin{macrocode}
 \newcommand\itdefault{it}
 \newcommand\sldefault{sl}
 \newcommand\scdefault{sc}
-\newcommand\updefault{n}
+\newcommand\updefault{up}  % overwritten below
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -465,6 +493,25 @@
 % \end{macro}
 % \end{macro}
 %
+
+%    \begin{macrocode}
+%</text>
+%<*text|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\updefault}{font defaults change}%
+\renewcommand\updefault{up}
+\renewcommand\bfdefault{b}
+%</text|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\updefault}{font defaults change}%
+%<latexrelease>
+%<latexrelease>\renewcommand\updefault{n}
+%<latexrelease>\renewcommand\bfdefault{bx}
+%<latexrelease>\EndIncludeInRelease
+%<*text>
+%    \end{macrocode}
+%
 % \begin{macro}{\familydefault}
 % \begin{macro}{\seriesdefault}
 % \begin{macro}{\shapedefault}
@@ -477,8 +524,15 @@
 %    \begin{macrocode}
 \newcommand\familydefault{\rmdefault}
 \newcommand\seriesdefault{\mddefault}
-\newcommand\shapedefault{\updefault}
 %    \end{macrocode}
+%    In previous releases \cs{shapedefault} pointed to \cs{updefault}
+%    which resolved to \texttt{n}, but these days that is no longer
+%    the case (and \texttt{up} is wrong when you want to do a
+%    reset. So we now use \texttt{n} explicitly.
+%    \begin{macrocode}
+% \changes{v3.0e}{2019/12/17}{Set \cs{shapedefault} explicitly to ``n''}
+\newcommand\shapedefault{n}
+%    \end{macrocode}
 % \end{macro}
 % \end{macro}
 % \end{macro}
@@ -854,7 +908,15 @@
 \DeclareMathSymbol{\forall}{\mathord}{symbols}{"38}
 \DeclareMathSymbol{\exists}{\mathord}{symbols}{"39}
 \DeclareMathSymbol{\neg}{\mathord}{symbols}{"3A}
-    \let\lnot=\neg
+%    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%    \let\lnot=\neg
+\DeclareMathSymbol{\lnot}{\mathord}{symbols}{"3A}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \DeclareMathSymbol{\flat}{\mathord}{letters}{"5B}
 \DeclareMathSymbol{\natural}{\mathord}{letters}{"5C}
 \DeclareMathSymbol{\sharp}{\mathord}{letters}{"5D}
@@ -863,9 +925,9 @@
 \DeclareMathSymbol{\heartsuit}{\mathord}{symbols}{"7E}
 \DeclareMathSymbol{\spadesuit}{\mathord}{symbols}{"7F}
 %    \end{macrocode}
-%    
+%
 % \changes{v3.0c}{2019/08/27}{Various commands made robust throughout
-%   the file} 
+%   the file}
 %    \begin{macrocode}
 \DeclareRobustCommand\hbar{{\mathchar'26\mkern-9muh}}
 \DeclareRobustCommand\surd{{\mathchar"1270}}
@@ -908,18 +970,33 @@
 \DeclareMathSymbol{\triangleright}{\mathbin}{letters}{"2E}
 \DeclareMathSymbol{\bigtriangleup}{\mathbin}{symbols}{"34}
 \DeclareMathSymbol{\bigtriangledown}{\mathbin}{symbols}{"35}
-   \let \varbigtriangledown \bigtriangledown
-   \let \varbigtriangleup \bigtriangleup
 %    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%   \let \varbigtriangledown \bigtriangledown
+%   \let \varbigtriangleup \bigtriangleup
+\DeclareMathSymbol{\varbigtriangleup}{\mathbin}{symbols}{"34}
+\DeclareMathSymbol{\varbigtriangledown}{\mathbin}{symbols}{"35}
+%    \end{macrocode}
 %
-% These last two synonyms are needed because the \textsf{stamryrd}
+% These last two synonyms are needed because the \textsf{stmaryrd}
 % package redefines them as Operators.
 %
 %    \begin{macrocode}
 \DeclareMathSymbol{\wedge}{\mathbin}{symbols}{"5E}
-   \let\land=\wedge
 \DeclareMathSymbol{\vee}{\mathbin}{symbols}{"5F}
-   \let\lor=\vee
+%    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%   \let\land=\wedge
+%   \let\lor=\vee
+\DeclareMathSymbol{\land}{\mathbin}{symbols}{"5E}
+\DeclareMathSymbol{\lor}{\mathbin}{symbols}{"5F}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \DeclareMathSymbol{\cap}{\mathbin}{symbols}{"5C}
 \DeclareMathSymbol{\cup}{\mathbin}{symbols}{"5B}
 \DeclareMathSymbol{\ddagger}{\mathbin}{symbols}{"7A}
@@ -966,21 +1043,31 @@
 \DeclareMathSymbol{\Leftrightarrow}{\mathrel}{symbols}{"2C}
 \DeclareMathSymbol{\Leftarrow}{\mathrel}{symbols}{"28}
 \DeclareMathSymbol{\Rightarrow}{\mathrel}{symbols}{"29}
-\DeclareRobustCommand\neq{\not=}
+   \DeclareRobustCommand\neq{\not=}
 %    \end{macrocode}
 %    As \cs{neq} is robust we should not use \cs{let} to define
-%    \cs{ne} as then then it would change if \cs{neq} changes.
+%    \cs{ne} as then it would change if \cs{neq} changes.
 % \changes{v3.0d}{2019/09/21}{Distangle alias (gh/184)}
 %    \begin{macrocode}
-%\let\ne=\neq
-\DeclareRobustCommand\ne{\not=}
+   \DeclareRobustCommand\ne{\not=}
 %    \end{macrocode}
-%    It is ok to use \cs{let} for those declared by \cs{DeclareMathSymbol}.
+%    It would ok to use \cs{let} for those declared by
+%    \cs{DeclareMathSymbol} but for a cleaner interface we avoid it
+%    always (just in case the internals change).
 %    \begin{macrocode}
 \DeclareMathSymbol{\leq}{\mathrel}{symbols}{"14}
-   \let\le=\leq
 \DeclareMathSymbol{\geq}{\mathrel}{symbols}{"15}
-   \let\ge=\geq
+%    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%   \let\le=\leq
+%   \let\ge=\geq
+\DeclareMathSymbol{\le}{\mathrel}{symbols}{"14}
+\DeclareMathSymbol{\ge}{\mathrel}{symbols}{"15}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \DeclareMathSymbol{\succ}{\mathrel}{symbols}{"1F}
 \DeclareMathSymbol{\prec}{\mathrel}{symbols}{"1E}
 \DeclareMathSymbol{\approx}{\mathrel}{symbols}{"19}
@@ -992,15 +1079,32 @@
 \DeclareMathSymbol{\subseteq}{\mathrel}{symbols}{"12}
 \DeclareMathSymbol{\in}{\mathrel}{symbols}{"32}
 \DeclareMathSymbol{\ni}{\mathrel}{symbols}{"33}
-    \let\owns=\ni
+%    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%    \let\owns=\ni
+\DeclareMathSymbol{\owns}{\mathrel}{symbols}{"33}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \DeclareMathSymbol{\gg}{\mathrel}{symbols}{"1D}
 \DeclareMathSymbol{\ll}{\mathrel}{symbols}{"1C}
 \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36}
 \DeclareMathSymbol{\leftrightarrow}{\mathrel}{symbols}{"24}
 \DeclareMathSymbol{\leftarrow}{\mathrel}{symbols}{"20}
-   \let\gets=\leftarrow
 \DeclareMathSymbol{\rightarrow}{\mathrel}{symbols}{"21}
-   \let\to=\rightarrow
+%    \end{macrocode}
+%    Alias:
+% \changes{v3.0e}{2019/12/21}{Distangle alias (gh/184)}
+%    \begin{macrocode}
+%   \let\gets=\leftarrow
+%   \let\to=\rightarrow
+\DeclareMathSymbol{\gets}{\mathrel}{symbols}{"20}
+\DeclareMathSymbol{\to}{\mathrel}{symbols}{"21}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \DeclareMathSymbol{\mapstochar}{\mathrel}{symbols}{"37}
    \DeclareRobustCommand\mapsto{\mapstochar\rightarrow}
 \DeclareMathSymbol{\sim}{\mathrel}{symbols}{"18}
@@ -1343,7 +1447,7 @@
 %
 % \subsubsection{Biggggg}
 %
-% \changes{v3.0b}{2018/09/24}{Start LR-mode if necessary (git/49)}   
+% \changes{v3.0b}{2018/09/24}{Start LR-mode if necessary (git/49)}
 %    \begin{macrocode}
 %</math>
 %<*math|latexrelease>
@@ -1368,7 +1472,7 @@
 %<latexrelease>\EndIncludeInRelease
 %<*math>
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \def\n at space{\nulldelimiterspace\z@ \m at th}
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/format.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/format.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/format.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 \input docstrip
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 
@@ -90,7 +90,7 @@
 
 Copyright 2015
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -100,7 +100,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -113,8 +113,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 \let\MetaPrefix\DoubleperCent
@@ -121,11 +121,11 @@
 
 \declarepreamble\cfgpreamble
 
-This is a generated file.  
+This is a generated file.
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -135,7 +135,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file may only be distributed together with a copy of the LaTeX
@@ -173,11 +173,13 @@
           \from{ltcounts.dtx}{2ekernel}
           \from{ltlength.dtx}{2ekernel}
           \from{ltfssbas.dtx}{2ekernel}
+          \from{ltfssaxes.dtx}{2ekernel}
           \from{ltfsstrc.dtx}{2ekernel}
-%          \from{ltfsscmp.dtx}{compat,2ekernel}
+%         \from{ltfsscmp.dtx}{compat,2ekernel} % only provided as part of latexrelease.sty!
           \from{ltfssdcl.dtx}{compat,2ekernel}
           \from{ltfssini.dtx}{compat,2ekernel}
           \from{ltfntcmd.dtx}{2ekernel}
+          \from{lttextcomp.dtx}{2ekernel}
           \from{ltpageno.dtx}{2ekernel}
           \from{ltxref.dtx}{2ekernel}
           \from{ltmiscen.dtx}{2ekernel}
@@ -207,11 +209,13 @@
           \from{ltmath.dtx}{fleqn}}
    \file{leqno.clo}{%
           \from{ltmath.dtx}{leqno}}
+%%% generate the textcomp package
+   \file{textcomp.sty}{%
+          \from{lttextcomp.dtx}{TS1sty}}
+   \file{textcomp-2018-08-11.sty}{%
+          \from{lttextcomp.dtx}{TS1oldsty}}
   }
 
-
-
-
 \generateFile{oldlfont.sty}{t}{%
   \from{oldlfont.dtx}{package}
 }
@@ -220,6 +224,10 @@
   \from{newlfont.dtx}{package}
 }
 
+
+% expl3-based extensions
+\generate{\file{ltexpl.ltx}{\from{ltexpl.dtx}{2ekernel}}}
+
 % luatex support (TeX part)
 
 \generate{\file{ltluatex.tex}{\from{ltluatex.dtx}{tex,plain}}}
@@ -254,7 +262,7 @@
 %%%%%%%%%%%%%%%%% Lua code
 
 % This is at the end as the prefix/postamble requirements are
-% different to everything else 
+% different to everything else
 
 \def\MetaPrefix{--}
 \usepreamble\luapreamble
@@ -262,6 +270,3 @@
 \generate{\file{ltluatex.lua}{\from{ltluatex.dtx}{lua}}}
 
 \endbatchfile
-
-
-

Modified: trunk/Master/texmf-dist/source/latex/base/graphpap.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/graphpap.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/graphpap.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/graphpap.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/graphpap.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/graphpap.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 

Modified: trunk/Master/texmf-dist/source/latex/base/ifthen.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ifthen.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ifthen.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ifthen.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ifthen.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ifthen.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 

Modified: trunk/Master/texmf-dist/source/latex/base/inputenc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/inputenc.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/inputenc.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/inputenc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/inputenc.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/inputenc.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 
@@ -103,9 +103,9 @@
    \file{latin10.def}{
         \from{inputenc.dtx}{latin10}}
    }
- 
- 
 
+
+
  \generate{
    \file{cp850.def}{
         \from{inputenc.dtx}{cp850}}
@@ -122,7 +122,7 @@
    \file{decmulti.def}{
         \from{inputenc.dtx}{decmulti}}
    }
- 
+
  \generate{
    \file{ascii.def}{
         \from{inputenc.dtx}{ascii}}

Modified: trunk/Master/texmf-dist/source/latex/base/latex209.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/latex209.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/latex209.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/latex209.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/latex209.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/latex209.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 
@@ -88,7 +88,7 @@
         \file{latex209.def}{
              \from{latex209.dtx}{head}
              \from{oldlfont.dtx}{latex209}
-             \from{latex209.dtx}{tail}} 
+             \from{latex209.dtx}{tail}}
         \file{article.sty}{
              \from{latex209.dtx}{article}}
         \file{book.sty}{

Modified: trunk/Master/texmf-dist/source/latex/base/latexrelease.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/latexrelease.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/latexrelease.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -30,7 +30,7 @@
 % \iffalse
 %
 %<*dtx>
-          \def\latexreleaseversion{<date only known in .sty file>} 
+          \def\latexreleaseversion{<date only known in .sty file>}
           \ProvidesFile{latexrelease.dtx}
 %</dtx>
 %<driver>\ProvidesFile{latexrelease.drv}
@@ -83,7 +83,7 @@
 % explicitly opt-in to bug fixes and improvements, and the vast
 % majority of documents did not benefit.
 %
-% As described in \LaTeX\ News 22, a new policy is being implemented 
+% As described in \LaTeX\ News 22, a new policy is being implemented
 % in which improvements will now be added to the format by default,
 % and this \Lpack{latexrelease} package may be used to ensure
 % stability where needed, either by making a new format use an older
@@ -108,7 +108,7 @@
 % the commands defined here to  adjust their definitions to the
 % specified date as described below.
 %
-% Note that the \Lpack{latexrelease} package is intended for use 
+% Note that the \Lpack{latexrelease} package is intended for use
 % at the start of a \emph{document}. Package and class code should not
 % include this package as loading a package should not normally globally
 % reset the effective version of \LaTeX\ that is in force, so affecting all
@@ -126,8 +126,8 @@
 % \item \emph{yyyy/mm/dd} or \emph{yyyy-nn-dd}
 % The package accepts any possible \LaTeX\ format date as argument,
 % although dates in the future for which the current release of this
-% package has no information will generate a warning. Dates 
-% earlier than 2015 will work but will roll back to some point in 2015 
+% package has no information will generate a warning. Dates
+% earlier than 2015 will work but will roll back to some point in 2015
 % when the method was introduced.
 % |\IncludeInRelease| command is defined.
 % The |\requestedLaTeXdate| is set to the normalized date argument
@@ -176,7 +176,7 @@
 % \item[\marg{code-date}] This date is associated with the \marg{code}
 % argument and will be compared to the requested date in the option to
 % the \Lpack{latexrelease}.
-% 
+%
 % \item[\oarg{format-date}] This optional argument can be used to
 % specify a format date with the code in addition to the mandatory
 % \marg{code-date} argument. This can be useful for package developers
@@ -268,11 +268,11 @@
 %\end{verbatim}
 %
 % To use the latest version, however it would have disadvantage that
-% until the next release of \LaTeX, by default, if the document does 
+% until the next release of \LaTeX, by default, if the document does
 % not use \Lpack{latexrelease} to specify a date, the new improved
 % code will not be selected as the effective date will be 2015/01/01
 % and so the first code block will be skipped.
-% 
+%
 % For this reason |\IncludeInRelease| has an optional argument that
 % specifies an alternative date to use if a date option has not been
 % specified to \Lpack{latexrelease}.
@@ -297,7 +297,7 @@
 % skipped.
 %
 % If on the other hand the document requests an explicit release date
-% using \Lpack{latexrelease} then this date will be used to decide what 
+% using \Lpack{latexrelease} then this date will be used to decide what
 % code block to include.
 %
 % \subsection{Using \cs{IncludeInRelease} in Packages}
@@ -317,7 +317,7 @@
 %
 % To avoid this issue you can use the following coding
 % strategy: place the current |\widget| definition in the main code
-% where it correctly belongs. 
+% where it correctly belongs.
 % \begin{verbatim}
 %   ...
 %  \def\widget {even newer improved March version}
@@ -366,7 +366,7 @@
 % \section{fixltx2e}
 %
 % As noted above, prior to the 2015 \LaTeX\ release updates to the
-% \LaTeX\ kernel were not made in the format source files but were 
+% \LaTeX\ kernel were not made in the format source files but were
 % made available in the \Lpack{fixltx2e} package. That package is no
 % longer needed but we generate a small package from this source
 % that just makes a warning message but otherwise does nothing.
@@ -487,7 +487,7 @@
 %
 % The code for each change will be inserted at this point, extracted
 % from the kernel source files.
-%    
+%
 %    \begin{macrocode}
 %</latexrelease>
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/latexrelease.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/latexrelease.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/latexrelease.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 
@@ -115,13 +115,16 @@
   \from{ltfssini.dtx}    {latexrelease}%
   \from{fontdef.dtx}     {latexrelease}% (covering fontmath and fonttext)
   \from{ltfntcmd.dtx}    {latexrelease}% empty
+  \from{lttextcomp.dtx}  {latexrelease}%
   \from{ltfssbas.dtx}    {latexrelease}%
-  \from{ltfsstrc.dtx}    {latexrelease}% empty
+  \from{ltfssaxes.dtx}   {latexrelease}%
+  \from{ltfsstrc.dtx}    {latexrelease}%
   \from{ltfsscmp.dtx}    {latexrelease}%
   \from{ltpageno.dtx}    {latexrelease}% empty
   \from{ltxref.dtx}      {latexrelease}% empty
   \from{ltmiscen.dtx}    {latexrelease}%
   \from{ltluatex.dtx}    {latexrelease}%
+  \from{ltexpl.dtx}      {latexrelease}%
   \from{ltfinal.dtx}     {latexrelease}%
 }
 

Modified: trunk/Master/texmf-dist/source/latex/base/latexsym.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/latexsym.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/latexsym.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -172,7 +172,7 @@
 %  \subsection{\LaTeX{} symbols fonts}
 %
 % \changes{v2.2d}{1996/11/20}{lowercase ulasy.fd /1044}
-%    The rest of this file defines the the font shape declarations
+%    The rest of this file defines the font shape declarations
 %    that have to go into the corresponding |.fd| file.
 %
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/latexsym.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/latexsym.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/latexsym.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 
@@ -87,9 +87,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -99,7 +99,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file may only be distributed together with a copy of the LaTeX
@@ -150,8 +150,3 @@
 }
 
 \endbatchfile
-
-
-
-
-

Modified: trunk/Master/texmf-dist/source/latex/base/letter.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/letter.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/letter.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/letter.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/letter.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/letter.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 
@@ -104,6 +104,3 @@
 }
 
 \endbatchfile
-
-
-

Modified: trunk/Master/texmf-dist/source/latex/base/ltalloc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltalloc.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltalloc.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltbibl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltbibl.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltbibl.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltboxes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltboxes.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltboxes.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltclass.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltclass.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltclass.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltclass.dtx}
-             [2019/10/07 v1.3c LaTeX Kernel (Class & Package Interface)]
+             [2020/01/28 v1.3h LaTeX Kernel (Class & Package Interface)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltclass.dtx}
@@ -156,7 +156,7 @@
 % some comments about how it was produced.
 %
 % The environment can also be called with an optional argument which is
-% used to alter some of its behavior: option \texttt{force} or 
+% used to alter some of its behavior: option \texttt{force} or
 % \texttt{overwrite} will allow for overwriting existing files,
 % option \texttt{nosearch} will only check the current directory
 % when looking if the file exists. This can be useful if you want to
@@ -172,10 +172,10 @@
 % A possible use case for using it inside the document body is if you
 % want to reuse some text several times in the document you could then
 % write it and later use \cs{input} to retrieve it where needed.
-% 
 %
+%
 % The begin and end tags should each be on a
-% line by itself. 
+% line by itself.
 %
 % \subsection{Option processing}
 %
@@ -362,7 +362,7 @@
 %
 % |\DeclareOption*{\PassOptionsToPackage{\CurrentOption}|^^A
 %                                     |{|\meta{pkg-name}|}|\\
-% Handle the the current option by passing it on to the package
+% Handle the current option by passing it on to the package
 % \meta{pkg-name}, which will presumably be loaded via
 % |\RequirePackage| later in the file. This is useful for building
 % `extension' packages, that perhaps handle a couple of new options,
@@ -671,7 +671,7 @@
 %<latexrelease>\EndIncludeInRelease
 %<*2ekernel>
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \@onlypreamble\@ifl at t@r
 %    \end{macrocode}
@@ -791,19 +791,69 @@
   \@ifnextchar[\@pr at videpackage{\@pr at videpackage[]}}%]
 \@onlypreamble\ProvidesPackage
 %    \end{macrocode}
+%  \end{macro}
 %
+%
+%
+%  \begin{macro}{\@pr at videpackage}
+%    This is the helper command for \cs{ProvidesPackage}. It tries to
+%    be cautious when handling the identification string in case it
+%    contains UTF-8 characters.
+% \changes{v1.3e}{2019/11/29}{Protect package info text (gh/52)}
 %    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\@pr at videpackage}{Protection for package info}%
 \def\@pr at videpackage[#1]{%
-  \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}%
+  \expandafter\protected at xdef                %     <-- protected...
+     \csname ver@\@currname.\@currext\endcsname{#1}%
   \ifx\@currext\@clsextension
     \typeout{Document Class: \@gtempa\space#1}%
   \else
-    \wlog{Package: \@gtempa\space#1}%
+    \protected at wlog{Package: \@gtempa\space#1}%   <--- protected
   \fi}
-\@onlypreamble\@pr at videpackage
 %    \end{macrocode}
 % \end{macro}
 %
+%
+%
+%  \begin{macro}{\protected at wlog}
+%    This is like plain \TeX's \cs{wlog} but gracefully handles
+%    protected commands.
+%    \begin{macrocode}
+\long\def\protected at wlog#1{\begingroup
+  \set at display@protect
+  \immediate \write \m at ne {#1}\endgroup }
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\@pr at videpackage}{Protection for package info}%
+%<latexrelease>
+%<latexrelease>\def\@pr at videpackage[#1]{%
+%<latexrelease>  \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}%
+%<latexrelease>  \ifx\@currext\@clsextension
+%<latexrelease>    \typeout{Document Class: \@gtempa\space#1}%
+%<latexrelease>  \else
+%<latexrelease>    \wlog{Package: \@gtempa\space#1}%
+%<latexrelease>  \fi}
+%<latexrelease>\let\protected at wlog\@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\@onlypreamble\@pr at videpackage
+%    \end{macrocode}
+%
+%
+%
 % \begin{macro}{\ProvidesClass}
 %    Like |\ProvidesPackage|, but for classes.
 %    \begin{macrocode}
@@ -925,7 +975,7 @@
 % \end{macro}
 %
 % \begin{macro}{\default at ds}
-% The default default option code.
+% The default option code.
 % Set by |\@onefilewithoptions| to either |\OptionNotUsed| for
 % classes, or |\@unknownoptionerror| for packages. This may be reset
 % in either case with |\DeclareOption*|.
@@ -1356,8 +1406,8 @@
 %    \begin{macrocode}
     \def\reserved at b##1,{%
 %    \end{macrocode}
-% If |#1| is |\@nnil| we have reached the end of the list 
-% (older version used |\@nil| here but |\@nil| is undefined so |\ifx| 
+% If |#1| is |\@nnil| we have reached the end of the list
+% (older version used |\@nil| here but |\@nil| is undefined so |\ifx|
 % equal to all undefined commands)
 %    \begin{macrocode}
       \ifx\@nnil##1\relax\else
@@ -1429,12 +1479,13 @@
 %         {Made the initial version [] not [\cs{@unknownversion}]}
 % \changes{v0.2m}{1993/12/07}
 %         {Reset \cs{CurrentOption}}
+% \changes{v1.3d}{2019/10/18}{Initialize \cs{...-h@@k} only when loading
+%                             the package or class (gh/198)}
 %    \begin{macrocode}
 \def\@onefilewithoptions#1[#2][#3]#4{%
   \@pushfilename
   \xdef\@currname{#1}%
   \global\let\@currext#4%
-  \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
   \let\CurrentOption\@empty
   \@reset at ptions
   \makeatletter
@@ -1470,6 +1521,11 @@
 %    \begin{macrocode}
        \global\expandafter
        \let\csname ver@\@currname.\@currext\endcsname\@empty
+%    \end{macrocode}
+%    We initialize \cs{...-h@@k} here and only if we load the file so that it
+%    remains undefined otherwise.
+%    \begin{macrocode}
+       \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
        \InputIfFileExists
          {\@currname.\@currext}%
          {}%
@@ -1725,6 +1781,7 @@
 %                             filecontents environment file name}
 % \changes{v1.3b}{2019/08/27}{Make various commands robust}
 % \changes{v1.3c}{2019/09/11}{Support optional argument for filecontents}
+% \changes{v1.3f}{2020/01/05}{Support more write streams in LuaTeX gh/238}
 %
 %</2ekernel>
 %<*2ekernel|latexrelease>
@@ -1731,8 +1788,6 @@
 %<latexrelease>\IncludeInRelease{2019/10/01}%
 %<latexrelease>                 {\filec at ntents}{Spaces in file names + optional arg}%
 %
-
-
 %    \end{macrocode}
 %    We use |@tempswa| to mean no preamble writing and reuse |@filesw|
 %    to indicate no overwriting:
@@ -1747,13 +1802,16 @@
 %    To handle the optional argument we execute for each option the
 %    command \cs{filec at ntents@OPTION} if it exist or complain about
 %    unknown option.
+% \changes{v1.3h}{2020/01/28}{Allow spaces in option string and display
+%     only unknown options not the whole option list (gh/256)}
 %    \begin{macrocode}
 \def\filec at ntents@opt[#1]{%
-  \@for\@tempa:=#1\do{%
-    \ifcsname filec at ntents@\@tempa\endcsname
-      \csname filec at ntents@\@tempa\endcsname
+  \edef\@fortmp{\zap at space#1 \@empty}%
+  \@for\@reserveda:=\@fortmp\do{%
+    \ifcsname filec at ntents@\@reserveda\endcsname
+      \csname filec at ntents@\@reserveda\endcsname
     \else
-    \@latex at error{Unknown filecontents option #1}%
+    \@latex at error{Unknown filecontents option \@reserveda}%
        {Valid options are force (or overwrite), nosearch, noheader}%
     \fi}%
   \filec at ntents
@@ -1782,7 +1840,7 @@
 \let\filec at ntents@checkdir\@empty
 \def\filec at ntents@where{exists on the system}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \begingroup%
 \@tempcnta=1
@@ -1801,6 +1859,11 @@
 \gdef\filec at ntents#1{%
   \set at curr@file{\filec at ntents@checkdir#1}%
   \edef\q at curr@file{\expandafter\quote at name\expandafter{\@curr at file}}%
+%    \end{macrocode}
+%
+% Lua\TeX\ has more writes (and 18 is safe here).
+%    \begin{macrocode}
+  \chardef\reserved at c\ifx\directlua\@undefined 15 \else 127 \fi%
   \openin\@inputcheck\q at curr@file \space %
   \ifeof\@inputcheck%
     \@latex at warning@no at line%
@@ -1810,8 +1873,7 @@
 % \changes{v1.0y}{1997/10/10}
 %         {\cs{reserved at c} not \cs{verbatim at out} to save a csname}
 %    \begin{macrocode}
-    \chardef\reserved at c15 %
-    \ch at ck7\reserved at c\write%
+    \ch at ck7\reserved at c\write\relax%
     \immediate\openout\reserved at c\q at curr@file\relax%
   \else%
 %    \end{macrocode}
@@ -1831,7 +1893,7 @@
 %    by mistake overwriting the input file (\cs{jobname}). Of course,
 %    this only works for input files ending in \texttt{.tex}. If a
 %    different extension is used there is no way to see that we are
-%    overwriting outselves!
+%    overwriting ourselves!
 %    \begin{macrocode}
       \edef\reserved at a{#1}%
       \edef\reserved at a{\detokenize\expandafter{\reserved at a}}%
@@ -1847,13 +1909,13 @@
 %    \end{macrocode}
 %    We allocate a write channel but we open it only if it is
 %    (hopefully) safe. If not opened that means we are going to write
-%    on the terminal.      
+%    on the terminal.
+% \changes{v1.3g}{2020/01/27}{Fix typo in error message}
 %    \begin{macrocode}
-      \chardef\reserved at c15 %
-      \ch at ck7\reserved at c\write%
+      \ch at ck7\reserved at c\write\relax%
       \if at filesw%  % Foul ... trying to overwrite \jobname!
       \@latex at error{Trying to overwrite `\jobname.tex'}{You can't %
-        write to the file you a reading from!\MessageBreak%
+        write to the file you are reading from!\MessageBreak%
         Data is written to screen instead.}%
       \else%
         \@latex at warning@no at line%
@@ -1863,7 +1925,7 @@
     \fi%
   \fi%
 %    \end{macrocode}
-%    Closing the \cs{@inputcheck} is done here ot avoid having to do
+%    Closing the \cs{@inputcheck} is done here to avoid having to do
 %    this in each branch.
 %    \begin{macrocode}
   \closein\@inputcheck%
@@ -2087,7 +2149,7 @@
 % \section{Package/class rollback mechanism}
 %
 %
-%    
+%
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexreleasefirst>
@@ -2111,7 +2173,7 @@
 %  \begin{macro}{\requestedLaTeXdate}
 %    The macro (!) |\requestedLaTeXdate| holds the globally requested
 %    rollback date (via \texttt{latexrelease}) or zero if no such
-%    request was made. 
+%    request was made.
 %    \begin{macrocode}
 \def\requestedLaTeXdate{0}
 %    \end{macrocode}
@@ -2153,7 +2215,7 @@
 %  \end{macro}
 %  \end{macro}
 %  \end{macro}
-
+%
 %  \begin{macro}{\pkgcls at candidate}
 %  \begin{macro}{\pkgcls at releasedate}
 %    When looping through the |\DeclareRelease| declarations we
@@ -2186,7 +2248,7 @@
 \ifx\load at onefilewithoptions\@undefined
  \let\load at onefilewithoptions\@onefilewithoptions
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
  \def\@onefilewithoptions#1[#2][#3]#4{%
 %    \end{macrocode}
@@ -2237,8 +2299,8 @@
 %    \end{macrocode}
 %  \end{macro}
 %  \end{macro}
-%    
 %
+%
 %  \begin{macro}{\pkgcls at parse@date at arg}
 %    The |\pkgcls at parse@date at arg| command parses the second optional
 %   argument of |\usepackage|, |\RequirePackage| or |\documentclass|
@@ -2271,8 +2333,8 @@
 %   So in summary we have:
 %   \begin{flushleft}
 %     \hspace*{-1in}\begin{tabular}{ccccc@{}}
-%   Input        &  & \cs{pkgcls at targetdate} 
-%                   & \cs{pkgcls at targetlabel} 
+%   Input        &  & \cs{pkgcls at targetdate}
+%                   & \cs{pkgcls at targetlabel}
 %                   & \cs{pkgcls at mindate}\\[3pt]
 % \meta{empty}   & $\to$ & \meta{global-rollbackdate-as-number}
 %                        & \meta{empty} & \meta{empty}
@@ -2283,7 +2345,7 @@
 % \texttt{=}\meta{date} & $\to$ & \meta{date-as-number}
 %                        & \meta{empty} & \meta{empty}
 % \\
-% \texttt{=}\meta{version}& $\to$ & \texttt{1}  
+% \texttt{=}\meta{version}& $\to$ & \texttt{1}
 %                                 & \meta{version}  & \meta{empty}
 % \\
 % \meta{other}   & $\to$ & \meta{global-rollbackdate-as-number}
@@ -2293,7 +2355,7 @@
 %   \end{flushleft}
 %    where \meta{global-rollbackdate-as-number} is a date request given
 %    via \texttt{latexrelease} or if there wasn't one \texttt{0}.
-% 
+%
 %    \begin{macrocode}
 \def\pkgcls at parse@date at arg #1{%
 %    \end{macrocode}
@@ -2315,7 +2377,7 @@
    \fi
  }
 %    \end{macrocode}
-%    The actual parsing work then happens in |\pkgcls at parse@date at arg@|: 
+%    The actual parsing work then happens in |\pkgcls at parse@date at arg@|:
 %    \begin{macrocode}
 \def\pkgcls at parse@date at arg@#1=#2\@nil{%
 %    \end{macrocode}
@@ -2353,7 +2415,7 @@
     \else
 %    \end{macrocode}
 %    If |#1| was not empty then there wasn't a \texttt{=} character in
-%    first position so we we are dealing either with a ``minimum
+%    first position so we are dealing either with a ``minimum
 %    date'' or with some incorrect data. We assume the former and make
 %    the following assignments (the first one finishing the assignment
 %    of |\pkgcls at targetdate|):
@@ -2371,9 +2433,9 @@
 %    \begin{macrocode}
       \ifnum \pkgcls at targetdate > \z@
         \ifnum \@parse at version0#1//00\@nil > \pkgcls at targetdate
-          \@latex at warning@no at line{Suspicious rollback/min-date date given\MessageBreak  
+          \@latex at warning@no at line{Suspicious rollback/min-date date given\MessageBreak
             A minimal date of #1 has been specified for
-             \@cls at pkg\MessageBreak '\pkgcls at name'.\MessageBreak  
+             \@cls at pkg\MessageBreak '\pkgcls at name'.\MessageBreak
              But this is in conflict
              with a rollback request to \requestedpatchdate}
         \fi
@@ -2381,7 +2443,7 @@
     \fi
 }
 %    \end{macrocode}
-%    Strip off te trailing \texttt{=} and assign the version name to
+%    Strip off the trailing \texttt{=} and assign the version name to
 %    |\pkgcls at targetlabel|.
 %    \begin{macrocode}
 \def\pkgcls at parse@date at arg@version#1={%
@@ -2388,10 +2450,7 @@
   \def\pkgcls at targetlabel{#1}}
 %    \end{macrocode}
 %  \end{macro}
-
-
-
-
+%
 %  \begin{macro}{\DeclareRelease}
 %    First argument is the ``name'' of the release and it can be left empty
 %    if one doesn't like to give a name to the release.
@@ -2476,7 +2535,7 @@
           \pkgcls at debug{New candidate: #3}%
 %</tracerollback>
         \fi
-      \else 
+      \else
 %    \end{macrocode}
 %    If we end up in this branch we have a named version request. So
 %    we check if |\pkgcls at targetlabel| matches the current name and if
@@ -2497,10 +2556,7 @@
 }
 %    \end{macrocode}
 %  \end{macro}
-
-
-
-
+%
 %  \begin{macro}{\pkgcls at use@this at release}
 %    If a certain release has been selected (stored in the external
 %    file given in \verb=#1=) we need to input it and afterwards stop
@@ -2535,8 +2591,7 @@
 }
 %    \end{macrocode}
 %  \end{macro}
-
-
+%
 %  \begin{macro}{\pkgcls at show@selection}
 %    This command records what selection was made. As that is needed
 %    in two places (and it is rather lengthly) it was placed in a
@@ -2556,7 +2611,7 @@
        date
        \ifnum\requestedLaTeXdate=\pkgcls at targetdate
           \requestedpatchdate
-       \else 
+       \else
           \expandafter\@gobble\pkgcls at arg
        \fi.\MessageBreak
 %    \end{macrocode}
@@ -2566,7 +2621,7 @@
 %    \begin{macrocode}
        Best approximation is
     \else
-       version '\pkgcls at targetlabel'.\MessageBreak 
+       version '\pkgcls at targetlabel'.\MessageBreak
        This corresponds to
     \fi
     \ifx\@nil#2\@nil
@@ -2578,8 +2633,7 @@
 }
 %    \end{macrocode}
 %  \end{macro}
- 
-
+%
 %  \begin{macro}{\pkgcls at rollbackdate@error}
 %    This is called if the requested rollback date is earlier than the
 %    earliest known release of a package or class.
@@ -2586,11 +2640,11 @@
 %
 %    A similar error is given if global rollback date and min-date on
 %    a specific package conflict with each other, but that case is
-%    happens only once so it is is inlined.
+%    happens only once so it is inlined.
 %    \begin{macrocode}
 \def\pkgcls at rollbackdate@error#1{%
   \@latex at error{Suspicious rollback date given}%
-     {The \@cls at pkg\space'\@currname'  claims that it 
+     {The \@cls at pkg\space'\@currname'  claims that it
       came into existence on #1 which\MessageBreak
       is after your requested rollback date --- so
       something is wrong here.\MessageBreak
@@ -2635,7 +2689,6 @@
 %    |\DeclareCurrentRelease| but no declared older releases (so
 %    basically the use of the declaration is a bit dubious).
 %    \begin{macrocode}
-
         \ifx\pkgcls at candidate\@empty
           \pkgcls at rollbackdate@error{#2}%
         \else
@@ -2669,7 +2722,6 @@
 %  \end{macro}
 %
 %
-
 %  \begin{macro}{\IfTargetDateBefore}
 %    This enables a simple form of conditional code inside a class or
 %    package file. If there is a date request and the request date is

Modified: trunk/Master/texmf-dist/source/latex/base/ltcntrl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltcntrl.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltcntrl.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltcounts.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltcounts.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltcounts.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -322,7 +322,7 @@
 %    \end{macrocode}
 %  \end{macro}
 %
-%    
+%
 %    \begin{macrocode}
 %</2ekernel>
 %    \end{macrocode}
@@ -335,7 +335,7 @@
 %<latexrelease>                 {\@removefromreset}{Add interfaces}%
 %<*2ekernel|latexrelease>
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \def\@removefromreset#1#2{%
 %    \end{macrocode}
@@ -374,17 +374,17 @@
 
 
 %  \begin{macro}{\counterwithout}
-%    
+%
 %    \changes{v1.1k}{2018/03/08}{Interface added}
 %    \begin{macrocode}
 \def\counterwithout {\@ifstar\counterwithout at s\counterwithout at x}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \def\counterwithout at s#1#2{%
   \@ifbothcounters{#1}{#2}{\@removefromreset{#1}{#2}}}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \def\counterwithout at x#1#2{%
   \@ifbothcounters{#1}{#2}%
@@ -399,17 +399,17 @@
 
 
 %  \begin{macro}{\counterwithin}
-%    
+%
 %    \changes{v1.1k}{2018/03/08}{Interface added}
 %    \begin{macrocode}
 \def\counterwithin{\@ifstar\counterwithin at s\counterwithin at x}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \def\counterwithin at s#1#2{%
   \@ifbothcounters{#1}{#2}{\@addtoreset{#1}{#2}}}
 %    \end{macrocode}
-%    
+%
 %    \changes{v1.1l}{2018/04/11}{Correct default (issue/38)}
 %    \begin{macrocode}
 \def\counterwithin at x#1#2{%
@@ -424,7 +424,7 @@
 %  \end{macro}
 
 
-%    
+%
 %    \begin{macrocode}
 %</2ekernel|latexrelease>
 %<latexrelease>\EndIncludeInRelease

Modified: trunk/Master/texmf-dist/source/latex/base/ltdefns.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltdefns.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltdefns.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -1049,7 +1049,7 @@
 %    infinite loop!  In particular, setting |\protect| to |\@empty| will
 %    cause |\_| to loop forever.  It will also break lots of other
 %    things, such as protected |\ifmmode|s inside |\halign|s.  If you
-%    really really have to do such a thing, then please set
+%    really have to do such a thing, then please set
 %    |\@typeset at protect| to be |\@empty| as well.  (This is what the
 %    code for |\patterns| does, for example.)
 %
@@ -1289,7 +1289,7 @@
       \expandafter\@gobble\string#1\space\endcsname
       \global\expandafter\let\csname
       \expandafter\@gobble\string#1\space\endcsname\@undefined
-     }%            
+     }%
 }
 %<latexrelease>\EndIncludeInRelease
 %</2ekernel|latexrelease>
@@ -1563,7 +1563,7 @@
 % current font's |\hyphenchar|. Monospace fonts are usually declared
 % with |\hyphenchar| set to $-1$ to suppress hyhenation.
 %
-% \LaTeX, from \LaTeX2.09 in 1986 defined |\-| by 
+% \LaTeX, from \LaTeX2.09 in 1986 defined |\-| by
 % \begin{verbatim}
 % \def\-{\discretionary{-}{}{}}
 % \end{verbatim}
@@ -1618,7 +1618,7 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% Delayed from |ltvers.dtx| 
+% Delayed from |ltvers.dtx|
 %    \begin{macrocode}
 \newif\if at includeinrelease
 \@includeinreleasefalse

Modified: trunk/Master/texmf-dist/source/latex/base/ltdirchk.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltdirchk.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltdirchk.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -978,7 +978,7 @@
 % \section{\TeX\ Versions}
 %
 % \begin{macro}{\@TeXversion}
-% \TeX\ versions older than than 3.141 require |\@TeXversion| to be
+% \TeX\ versions older than 3.141 require |\@TeXversion| to be
 % set. This can be determined automatically due to a trick suggested
 % by Bernd Raichle. (Actually this will not always get the correct
 % version number, eg \TeX3.14 would be detected as \TeX3, but \LaTeX\

Modified: trunk/Master/texmf-dist/source/latex/base/lterror.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/lterror.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/lterror.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -103,7 +103,7 @@
 % the error messages already in the format.
 %
 % These days we don't support autoloading approach any longer, but
-%   this part bit is kept in case it is used in old documents. 
+%   this part bit is kept in case it is used in old documents.
 %    \begin{macrocode}
 \expandafter\let\csname ver at autoerr.sty\endcsname\fmtversion
 %    \end{macrocode}
@@ -448,7 +448,7 @@
 %
 % \begin{macro}{\c at errorcontextlines}
 % \changes{LaTeX2e}{1993/11/22}{Macro added}
-%  |\errorcontextlines| as a \LaTeX\ counter, so that it may be be
+%  |\errorcontextlines| as a \LaTeX\ counter, so that it may be
 %  manipulated with |\setcounter| (once it is defined :-)
 %    \begin{macrocode}
 \let\c at errorcontextlines\errorcontextlines
@@ -792,7 +792,7 @@
 %  \end{macro}
 %  \end{macro}
 %
-%    
+%
 %    \begin{macrocode}
 %</2ekernel>
 %    \end{macrocode}

Added: trunk/Master/texmf-dist/source/latex/base/ltexpl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltexpl.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/base/ltexpl.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -0,0 +1,99 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2019-2020
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%    https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+%
+% \iffalse
+%%% From File: ltexpl.dtx
+%
+%<*driver>
+% \fi
+\ProvidesFile{ltexpl.dtx}
+             [2019-10-02 v0.0 LaTeX Kernel (expl3-dependent code)]
+% \iffalse
+\documentclass{ltxdoc}
+\GetFileInfo{ltfinal.dtx}
+\title{\filename}
+\date{\filedate}
+\author{%
+  Joseph Wright}
+\begin{document}
+ \MaintainedByLaTeXTeam{latex}
+ \maketitle
+ \DocInput{ltfinal.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+% \section{\pkg{expl3}-dependent code}
+%
+% \StopEventually{}
+%
+% \changes{v0.0}{2019-10-02}{Initial version}
+%
+%    \begin{macrocode}
+%<*2ekernel>
+%    \end{macrocode}
+%
+% \subsection{Loader}
+%
+%  Check for the required primitive/engine support and the existence of
+%  a loader.
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {expl3}{Pre-load expl3}%
+\IfFileExists{expl3.ltx}
+  {%
+    \ifnum0%
+      \ifdefined\pdffilesize 1\fi
+      \ifdefined\filesize 1\fi
+      \ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi
+      >0 %
+    \else
+      \message{Skipping expl3-dependent extensions}
+%<2ekernel>      \expandafter\endinput
+%<latexrelease>      \expandafter\@gobbletwo
+    \fi
+  }
+  {%
+    \message{Skipping expl3-dependent extensions}%
+%<2ekernel>    \endinput
+%<latexrelease>    \@gobbletwo
+  }%
+\input{expl3.ltx}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</2ekernel>
+%    \end{macrocode}
+%
+% \Finale


Property changes on: trunk/Master/texmf-dist/source/latex/base/ltexpl.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/base/ltfiles.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfiles.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltfiles.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -32,7 +32,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltfiles.dtx}
-             [2019/11/09 v1.2e LaTeX Kernel (File Handling)]
+             [2019/11/11 v1.2f LaTeX Kernel (File Handling)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltfiles.dtx}
@@ -745,7 +745,7 @@
 % "a b c"   -> "a b c"
 % a" "b" "c -> "a b c"
 %           -> ""
-%\end{verbatim}    
+%\end{verbatim}
 %    \begin{macrocode}
 \def\quote at name#1{"\quote@@name#1\@gobble""}
 \def\quote@@name#1"{#1\quote@@name}
@@ -761,7 +761,7 @@
 %
 %
 %  \begin{macro}{\IfFileExists}
-%    
+%
 % \changes{v1.2a}{2019/07/01}{Support UTF-8}
 % \changes{v1.2b}{2019/08/27}{Make command robust}
 % \changes{v1.2d}{2019/10/26}{dont quote name}
@@ -796,6 +796,33 @@
 %    \end{macrocode}
 %  \end{macro}
 %
+% \begin{macro}{\@iffileonpath}
+% If the file is not found by |\openin|, and |\input at path| is defined,
+% look in all the directories specified in |\input at path|.
+% \changes{v0.9p}{1994/01/18}{Macro added}
+% \changes{v1.0f}{1994/05/02}
+%     {\cs{@break at loop} renamed to \cs{@break at tfor}}
+% \changes{v1.0t}{1995/05/25}
+%         {(CAR) added \cs{long}}
+% \changes{v1.1d}{1996/01/10}
+%     {Change argument handling to not require doubled hash. latex/2024}
+% \changes{v1.2d}{2019/10/26}{quote on openin}%
+% \changes{v1.2f}{2019/11/11}{make \cs{@filef at und} match quoting used on \cs{openin}}%
+%    \begin{macrocode}
+\long\def\@iffileonpath#1{%
+  \let\reserved at a\@secondoftwo
+  \expandafter\@tfor\expandafter\reserved at b\expandafter
+             :\expandafter=\input at path\do{%
+    \openin\@inputcheck\expandafter\quote at name\expandafter{\reserved at b#1} %
+    \ifeof\@inputcheck\else
+      \edef\@filef at und{\expandafter\quote at name\expandafter{\reserved at b#1} }%
+      \let\reserved at a\@firstoftwo%
+      \closein\@inputcheck
+      \@break at tfor
+    \fi}%
+  \reserved at a}
+%    \end{macrocode}
+%  \end{macro}
 %
 %    \begin{macrocode}
 %</2ekernel|latexrelease>
@@ -825,39 +852,26 @@
 %<latexrelease>  \fi
 %<latexrelease>  \reserved at a}
 %<latexrelease>
+%<latexrelease>\long\def\@iffileonpath#1{%
+%<latexrelease>  \let\reserved at a\@secondoftwo
+%<latexrelease>  \expandafter\@tfor\expandafter\reserved at b\expandafter
+%<latexrelease>             :\expandafter=\input at path\do{%
+%<latexrelease>    \openin\@inputcheck\reserved at b#1 %
+%<latexrelease>    \ifeof\@inputcheck\else
+%<latexrelease>      \edef\@filef at und{\reserved at b#1 }%
+%<latexrelease>      \let\reserved at a\@firstoftwo%
+%<latexrelease>      \closein\@inputcheck
+%<latexrelease>      \@break at tfor
+%<latexrelease>    \fi}%
+%<latexrelease>  \reserved at a}
+%<latexrelease>
 %<latexrelease>\EndIncludeInRelease
 %<*2ekernel>
 %    \end{macrocode}
-%    
 %
 %
-% \begin{macro}{\@iffileonpath}
-% If the file is not found by |\openin|, and |\input at path| is defined,
-% look in all the directories specified in |\input at path|.
-% \changes{v0.9p}{1994/01/18}{Macro added}
-% \changes{v1.0f}{1994/05/02}
-%     {\cs{@break at loop} renamed to \cs{@break at tfor}}
-% \changes{v1.0t}{1995/05/25}
-%         {(CAR) added \cs{long}}
-% \changes{v1.1d}{1996/01/10}
-%     {Change argument handling to not require doubled hash. latex/2024}
-% \changes{v1.2d}{2019/10/26}{quote on openin}%
-%    \begin{macrocode}
-\long\def\@iffileonpath#1{%
-  \let\reserved at a\@secondoftwo
-  \expandafter\@tfor\expandafter\reserved at b\expandafter
-             :\expandafter=\input at path\do{%
-    \openin\@inputcheck\expandafter\quote at name\expandafter{\reserved at b#1} %
-    \ifeof\@inputcheck\else
-      \edef\@filef at und{"\reserved at b#1" }%
-      \let\reserved at a\@firstoftwo%
-      \closein\@inputcheck
-      \@break at tfor
-    \fi}%
-  \reserved at a}
-%    \end{macrocode}
-%  \end{macro}
 %
+%
 % \begin{macro}{\InputIfFileExists}
 % \changes{v0.9b}
 %         {1993/12/04}{Macro added}
@@ -887,7 +901,7 @@
 %    \end{macrocode}
 %  \end{macro}
 %
-% 
+%
 %  \begin{macro}{\@swaptwoargs}
 %
 % \changes{v1.1o}{2019/02/07}{Helper macro added}
@@ -898,7 +912,7 @@
 %    \end{macrocode}
 %  \end{macro}
 %
-%    
+%
 %    \begin{macrocode}
 %</2ekernel|latexrelease>
 %<latexrelease>\EndIncludeInRelease

Modified: trunk/Master/texmf-dist/source/latex/base/ltfinal.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfinal.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltfinal.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltfinal.dtx}
-             [2019/09/14 v2.1h LaTeX Kernel (Final Settings)]
+             [2019-10-02 v2.2 LaTeX Kernel (Final Settings)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltfinal.dtx}
@@ -237,9 +237,9 @@
 % \end{macro}
 % \end{macro}
 % \end{macro}
-% 
 %
 %
+%
 % The default values of the picture and |\fbox| parameters:
 %    \begin{macrocode}
 \unitlength = 1pt
@@ -271,10 +271,10 @@
 %    \end{macrocode}
 %
 % \subsection{Lccodes for hyphenation}
-% 
+%
 % \changes{v2.0a}{2015/01/03}{Unicode data loading added}
 % \changes{v2.0c}{2015/01/24}{Skip T1-code entirely with Unicode engines}
-% \changes{v2.0d}{2015/03/26}{Use renamed 
+% \changes{v2.0d}{2015/03/26}{Use renamed
 %   \texttt{unicode-letters.def}}
 % \changes{v2.0i}{2015/12/10}{Use new common Unicode data loaders}
 % \changes{v2.0j}{2016/01/04}{Do not set up inter character classes for
@@ -739,7 +739,7 @@
 %<latexrelease>  \catcode\@tempcnta=15
 %<latexrelease>  \advance\@tempcnta\@ne
 %<latexrelease>\ifnum\@tempcnta<32
-%<latexrelease>\repeat       % 
+%<latexrelease>\repeat       %
 %<latexrelease>\catcode9=10  % tab
 %<latexrelease>\catcode10=12 % ctrl J
 %<latexrelease>\catcode12=13 % ctrl L
@@ -1044,6 +1044,14 @@
 %  }{}
 %    \end{macrocode}
 %
+% \subsection{Loading further extensions}
+%
+% \changes{v2.2}{2019-10-02}{Load \textsf{ltexpl}}
+% Simply load further code: it's deliberately separate
+%    \begin{macrocode}
+\input{ltexpl.ltx}
+%    \end{macrocode}
+%
 % \subsection{Freeing Memory}
 %
 % \begin{macro}{\reserved at a}
@@ -1116,6 +1124,24 @@
 % \end{macro}
 % \end{macro}
 %
+%    \subsection{Some last minute initializations \ldots}
+%
+%    This initializes the 2020/02/02 extensions to NFSS after any changes
+%    in the preamble.
+%    \begin{macrocode}
+\AtBeginDocument{\reinstall at nfss@defs\init at series@setup}
+%    \end{macrocode}
+%
+%
+%
+% \subsection{Do some temporary work for pre-release}
+%
+%    This is a good place to load code that hasn't yet been
+%    integrated into the other files \ldots
+%    \begin{macrocode}
+%\input ...
+%    \end{macrocode}
+%
 % \subsection{Dumping the format}
 %    Finally we make |@| into a letter, ensure the format will
 % be in the `normal' error mode, and dump everything into the

Modified: trunk/Master/texmf-dist/source/latex/base/ltfloat.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfloat.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltfloat.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltfntcmd.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfntcmd.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltfntcmd.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -32,7 +32,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltfntcmd.dtx}
-             [2019/01/27 v3.4b LaTeX Kernel (Font commands)]
+             [2019/12/17 v3.4c LaTeX Kernel (Font commands)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltfntcmd.dtx}
@@ -391,7 +391,36 @@
 %  \end{macro}
 %  \end{macro}
 %  \end{macro}
+
+
+%  \begin{macro}{textulc}
+%  \begin{macro}{textsw}
+%  \begin{macro}{textssc}
 %
+% \changes{v3.4c}{2019/12/17}{Macro added}
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\textulc}{Additional text commands}%
+\DeclareTextFontCommand{\textulc}{\ulcshape}
+\DeclareTextFontCommand{\textsw}{\swshape}
+\DeclareTextFontCommand{\textssc}{\sscshape}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\textulc}{Additional text commands}%
+%<latexrelease>
+%<latexrelease>\let\textulc\@undefined
+%<latexrelease>\let\textsw\@undefined
+%<latexrelease>\let\textssc\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%
 %  \begin{macro}{\emph}
 % \changes{v3.0a}{1993/12/11}{Macro changed}
 %    Finally we have the |\em| font change declaration of \LaTeX. The

Added: trunk/Master/texmf-dist/source/latex/base/ltfssaxes.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfssaxes.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/base/ltfssaxes.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -0,0 +1,1229 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2019-2020
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%    https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% \iffalse
+%%% From File: ltfssaxes.dtx
+%% Copyright (C) 1999-2020 Frank Mittelbach
+%
+%<*driver>
+% \fi
+%
+%
+\ProvidesFile{ltfssaxes.dtx}
+             [2020/01/30 v1.0a LaTeX Kernel (NFSS Axes handing)]
+% \iffalse
+\documentclass{ltxdoc}
+\begin{document}
+\DocInput{ltfssaxes.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+%
+%
+% \GetFileInfo{ltfssaxes.dtx}
+% \title{A new font selection scheme for \TeX{} macro packages\\
+%        (Axes Handling)\thanks
+%       {This file has version number
+%       \fileversion\ dated \filedate}}
+%
+% \author{Frank Mittelbach}
+%
+% \MaintainedByLaTeXTeam{latex}
+% \maketitle
+%
+% This file contains the implementation for handling extra axes
+% splitting the series and the values into sub-categories.  selection
+% commands. See other parts of the \LaTeX\ distribution, or \emph{The
+% \LaTeX\ Companion} for higher level documentation of the
+% \LaTeX\ Font Selection Scheme.
+%
+%
+%
+% \StopEventually{}
+%
+% Everything in the this file got introduced 2020/02/02, so we do a
+% single rollback (for now).
+%    \begin{macrocode}
+%<*2ekernel>
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>   {\DeclareFontSeriesChangeRule}{Series change rules}%
+%    \end{macrocode}
+%
+%
+%
+% \section{Changing the font series}
+%
+% In the original NFSS implementation the series was a single
+% attribute stored in \cs{f at series} and so one always had to specify
+% both weight and width together. This means it was impossible to
+% typeset, a paragraph in a condensed font and inside have a few words
+% in bold weight (but still condensed) without doing this manually by
+% requesting \verb=\fontseries{bc}\selectfont=.
+%
+% The new implementation now works differently by looking both at the
+% current value of \cs{f at series} and the requested new series and out
+% of that combination selects a resulting series value. Thus, if the
+% current series is \texttt{c} and we ask for \texttt{b} we  now get
+% \texttt{bc}.
+%
+% This is done by consulting a simple lookup table. This table is
+% configurable (though most likely that flexibility will seldom of
+% ever be needed) Adding or changing entries in this table are done
+% with \cs{DeclareFontSeriesChangeRule}.
+%
+% \subsection{The series lookup table}
+%
+%
+%  \begin{macro}{\DeclareFontSeriesChangeRule}
+%    The \cs{DeclareFontSeriesChangeRule} defines entries in a simple
+%    database (implemented as a set of commands) that define mappings
+%    between from an existing series and requested new series and maps
+%    that to  a result series (and additionally offers an alternative
+%    if the desired one is not existing):
+%    \begin{itemize}
+%    \item[\texttt{\#1}] current \cs{f at series}
+%    \item[\texttt{\#2}] requested new series
+%    \item[\texttt{\#3}] result (if that exist for the given font family
+%    \item[\texttt{\#4}] alternative result (if \texttt{\#3} does not exist)
+%    \end{itemize}
+%    If an \texttt{.fd} file has its own substitution rules then
+%    \texttt{\#3} exist and thus \texttt{\#4} is not applied.
+%
+%    If there is no matching database entry or if neither the result
+%    nor the alternate result exist in the font family the requested
+%    new series is used (which then may trigger substitutions later on.
+%    \begin{macrocode}
+\def\DeclareFontSeriesChangeRule#1#2#3#4{%
+  \@namedef{series@#1@#2}{{#3}{#4}}}
+%    \end{macrocode}
+%  \end{macro}
+%
+% \subsection{Mapping rules for series changes}
+%
+% The rules set up use explicit series values not \cs{..default}
+% indirections; my current feeling is that this is in fact better.
+%
+% With 9 weights and 9 width classes this table is getting a bit large
+% in the end (324 entries) but on the other hand it doesn't change and
+% accessing speed and it is fast this way.
+%
+% We could alternatively split the axis and maintain weight and width
+% separately, but that would take more processing time and would not
+% allow for setting up explicit exceptions nicely (not sure that this
+% would ever get used though).
+%
+% Design considerations for mapping entries:
+% \begin{itemize}
+% \item
+%
+%    We make \texttt{m} to reset both weight and width (as this is
+%    how it always worked). To reset just the width \texttt{?m} is
+%    provided and to reset just the weight \texttt{m?}.
+%
+% \item
+%
+%   We do support ``\texttt{m}\textit{width}'' and
+%    ``\textit{weight}\texttt{m}'', e.g., \texttt{mec} to mean ``go to
+%    medium weight and extra-condensed width''. At the end of the
+%    process we automatically drop any leftover \texttt{m} in the
+%    series name (unless it is just a single \texttt{m}).
+%
+%
+% \item
+%
+%    If there is no table entry then the target series is used
+%    unconditionally. This means that any request to set both weight
+%    and width (e.g. \texttt{bx} or \texttt{ulc}) needs no table
+%    entries.
+%    For that reason there are no entries which have a weight+width as
+%    request (i.e., second argument).
+%
+%    In particular this is also true for cases involving \texttt{m},
+%    e.g., \texttt{bm} (bold medium width) which automatially gets
+%    reduced result in \texttt{b} or \texttt{mc} (medium weight
+%    condensed) which becomes \texttt{c} as a result.
+%
+% \item
+%
+%    Only a few entries have ``alterative'' values and perhaps most of
+%    them should get dropped. Or maybe not \ldots{} needs some thought
+%    perhaps.
+%
+%    The idea is that you don't want the normal substitution to kick
+%    in because that would reset the shape first and it may be better
+%    to stay with \texttt{b} when a change to \texttt{c} is requested
+%    and \texttt{bc} doesn't exist, than to go to first change the
+%    shape to \texttt{n} and then find that \texttt{bc/n} doesn't
+%    exist either and thus ending up wth \texttt{m/n}.
+%
+% \item
+%
+%    Also: while I did set up all nine standard weight values from
+%    \texttt{ul} to \texttt{ub} I only bothered to provide entries for
+%    \texttt{ec},  \texttt{sc}, \texttt{c} and \texttt{x}, because other levels of
+%    compression/expansion are not in any real fonts that I know.
+%
+%    Could and perhaps should be eventually extended to cover the
+%    whole set.
+%
+% \end{itemize}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {bc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {bc}{c}{bc}{}
+\DeclareFontSeriesChangeRule {bc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {bc}{ec}{bec} {bc}
+\DeclareFontSeriesChangeRule {bc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {bc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {bc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {bc}{sc}{bsc} {bc}
+\DeclareFontSeriesChangeRule {bc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {bc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {bc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {bc}{x}{bx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {bx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {bx}{c}  {bc}  {bx}	%<-----
+\DeclareFontSeriesChangeRule {bx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {bx}{ec}  {bec}  {bx}	%<-----
+\DeclareFontSeriesChangeRule {bx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {bx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {bx}{sb} {sbx} {}
+\DeclareFontSeriesChangeRule {bx}{sc}  {bsc}  {bx}	%<-----
+\DeclareFontSeriesChangeRule {bx}{sl}{slx}  {}
+\DeclareFontSeriesChangeRule {bx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {bx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {bx}{x}{bx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {b}{bx} {bx}  {b}		%<-----
+\DeclareFontSeriesChangeRule {b}{c}  {bc}  {b}		%<-----
+\DeclareFontSeriesChangeRule {b}{ec}  {bec}  {b}	%<-----
+\DeclareFontSeriesChangeRule {b}{sb} {sb}  {b}		%<-----
+\DeclareFontSeriesChangeRule {b}{sc}  {bsc}  {b}	%<-----
+\DeclareFontSeriesChangeRule {b}{x}  {bx}  {b}		%<-----
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {c}{bx} {bx}  {b} 		%<-----
+\DeclareFontSeriesChangeRule {c}{b}{bc}{}
+\DeclareFontSeriesChangeRule {c}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {c}{el}{elc}{}
+\DeclareFontSeriesChangeRule {c}{l}{lc}{}
+\DeclareFontSeriesChangeRule {c}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {c}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {c}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {c}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {c}{x}{x}{m}               %<-----
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ebc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ebc}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {ebc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ebc}{ec}{ebec}{ebc}
+\DeclareFontSeriesChangeRule {ebc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ebc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ebc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ebc}{sc}{ebsc}{ebc}
+\DeclareFontSeriesChangeRule {ebc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ebc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ebc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ebc}{x}{ebx}{}
+%    \end{macrocode}
+%
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ec}{bx} {bx}  {b} 	%<-----
+\DeclareFontSeriesChangeRule {ec}{b}{bec}{}
+\DeclareFontSeriesChangeRule {ec}{eb}{ebec}{}
+\DeclareFontSeriesChangeRule {ec}{el}{elec}{}
+\DeclareFontSeriesChangeRule {ec}{l}{lec}{}
+\DeclareFontSeriesChangeRule {ec}{sb}{sbec}{}
+\DeclareFontSeriesChangeRule {ec}{sl}{slec}{}
+\DeclareFontSeriesChangeRule {ec}{ub}{ubec}{}
+\DeclareFontSeriesChangeRule {ec}{ul}{ulec}{}
+\DeclareFontSeriesChangeRule {ec}{x}{x}{m}              %<-----
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {sc}{bx} {bx}  {b} 	%<-----
+\DeclareFontSeriesChangeRule {sc}{b}{bsc}{}
+\DeclareFontSeriesChangeRule {sc}{eb}{ebsc}{}
+\DeclareFontSeriesChangeRule {sc}{el}{elsc}{}
+\DeclareFontSeriesChangeRule {sc}{l}{lsc}{}
+\DeclareFontSeriesChangeRule {sc}{sb}{sbsc}{}
+\DeclareFontSeriesChangeRule {sc}{sl}{slsc}{}
+\DeclareFontSeriesChangeRule {sc}{ub}{ubsc}{}
+\DeclareFontSeriesChangeRule {sc}{ul}{ulsc}{}
+\DeclareFontSeriesChangeRule {sc}{x}{x}{m}              %<-----
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ebx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ebx}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {ebx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ebx}{ec}{ebec}{}
+\DeclareFontSeriesChangeRule {ebx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ebx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ebx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ebx}{sc}{ebsc}{}
+\DeclareFontSeriesChangeRule {ebx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ebx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ebx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ebx}{x}{ebx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {eb}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {eb}{ec}{ebec}{}
+\DeclareFontSeriesChangeRule {eb}{sc}{ebsc}{}
+\DeclareFontSeriesChangeRule {eb}{x}{ebx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {elc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {elc}{c}{elc}{}
+\DeclareFontSeriesChangeRule {elc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {elc}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {elc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {elc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {elc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {elc}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {elc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {elc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {elc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {elc}{x}{elx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {elx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {elx}{c}{elc}{}
+\DeclareFontSeriesChangeRule {elx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {elx}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {elx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {elx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {elx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {elx}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {elx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {elx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {elx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {elx}{x}{elx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {el}{c}{elc}{}
+\DeclareFontSeriesChangeRule {el}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {el}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {el}{x}{elx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {lc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {lc}{c}{lc}{}
+\DeclareFontSeriesChangeRule {lc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {lc}{ec}{lec}{}
+\DeclareFontSeriesChangeRule {lc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {lc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {lc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {lc}{sc}{lsc}{}
+\DeclareFontSeriesChangeRule {lc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {lc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {lc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {lc}{x}{lx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {lx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {lx}{c}{lc}{}
+\DeclareFontSeriesChangeRule {lx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {lx}{ec}{lec}{}
+\DeclareFontSeriesChangeRule {lx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {lx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {lx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {lx}{sc}{lsc}{}
+\DeclareFontSeriesChangeRule {lx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {lx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {lx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {lx}{x}{lx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {l}{bx} {bx}  {b}		%<-----
+\DeclareFontSeriesChangeRule {l}{b}  {b}   {bx}		%<-----
+\DeclareFontSeriesChangeRule {l}{c}  {lc}  {l}  % ?	%<-----
+\DeclareFontSeriesChangeRule {l}{ec}  {lec}  {l}  % ?	%<-----
+\DeclareFontSeriesChangeRule {l}{sb} {sb}  {b}  % ?	%<-----
+\DeclareFontSeriesChangeRule {l}{sc}  {lsc}  {l}  % ?	%<-----
+\DeclareFontSeriesChangeRule {l}{x}  {lx}  {l}  % ?	%<-----
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {m}{bx} {bx} {b}	  	%<-----
+\DeclareFontSeriesChangeRule {m}{b}  {b}  {bx}		%<-----
+\DeclareFontSeriesChangeRule {m}{c}  {c}  {m}		%<-----
+\DeclareFontSeriesChangeRule {m}{ec}  {ec}  {m}		%<-----
+\DeclareFontSeriesChangeRule {m}{l}  {l}  {m}		%<-----
+\DeclareFontSeriesChangeRule {m}{sb} {sb} {b}		%<-----
+\DeclareFontSeriesChangeRule {m}{sc}  {sc}  {m}		%<-----
+\DeclareFontSeriesChangeRule {m}{x}  {x}  {m}		%<-----
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {sbc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {sbc}{c}{sbc}{}
+\DeclareFontSeriesChangeRule {sbc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {sbc}{ec}{sbec}{sbc}
+\DeclareFontSeriesChangeRule {sbc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {sbc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {sbc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {sbc}{sc}{sbsc}{sbc}
+\DeclareFontSeriesChangeRule {sbc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {sbc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {sbc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {sbc}{x}{sbx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {sbx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {sbx}{c}{sbc}{}
+\DeclareFontSeriesChangeRule {sbx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {sbx}{ec}{sbec}{}
+\DeclareFontSeriesChangeRule {sbx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {sbx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {sbx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {sbx}{sc}{sbsc}{}
+\DeclareFontSeriesChangeRule {sbx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {sbx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {sbx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {sbx}{x}{sbx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {sb}{c}  {sbc} {bc} %?	%<-----
+\DeclareFontSeriesChangeRule {sb}{ec}  {sbec} {sbc} %?	%<-----
+\DeclareFontSeriesChangeRule {sb}{sc}  {sbsc} {sbc} %?	%<-----
+\DeclareFontSeriesChangeRule {sb}{x}  {sbx} {bx} %?	%<-----
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {slc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {slc}{c}{slc}{}
+\DeclareFontSeriesChangeRule {slc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {slc}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {slc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {slc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {slc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {slc}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {slc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {slc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {slc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {slc}{x}{slx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {slx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {slx}{c}{slc}{}
+\DeclareFontSeriesChangeRule {slx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {slx}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {slx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {slx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {slx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {slx}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {slx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {slx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {slx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {slx}{x}{slx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {sl}{c}{slc}{}
+\DeclareFontSeriesChangeRule {sl}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {sl}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {sl}{x}{slx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ubc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ubc}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ubc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ubc}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ubc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ubc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ubc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ubc}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ubc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ubc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ubc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ubc}{x}{ubx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ubx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ubx}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ubx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ubx}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ubx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ubx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ubx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ubx}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ubx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ubx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ubx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ubx}{x}{ubx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ub}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ub}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ub}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ub}{x}{ubx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ulc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ulc}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ulc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ulc}{ec}{ulec}{ulc}
+\DeclareFontSeriesChangeRule {ulc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ulc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ulc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ulc}{sc}{ulsc}{ulc}
+\DeclareFontSeriesChangeRule {ulc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ulc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ulc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ulc}{x}{ulx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ulx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ulx}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ulx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ulx}{ec}{ulec}{}
+\DeclareFontSeriesChangeRule {ulx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ulx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ulx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ulx}{sc}{ulsc}{}
+\DeclareFontSeriesChangeRule {ulx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ulx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ulx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ulx}{x}{ulx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {ul}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ul}{ec}{ulec}{}
+\DeclareFontSeriesChangeRule {ul}{sc}{ulsc}{}
+\DeclareFontSeriesChangeRule {ul}{x}{ulx}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {x}{b}{bx}{}
+\DeclareFontSeriesChangeRule {x}{c}{c}{}
+\DeclareFontSeriesChangeRule {x}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {x}{ec}{ec}{}
+\DeclareFontSeriesChangeRule {x}{el}{elx}{}
+\DeclareFontSeriesChangeRule {x}{l}{lx}{}
+\DeclareFontSeriesChangeRule {x}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {x}{sc}{sc}{}
+\DeclareFontSeriesChangeRule {x}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {x}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {x}{ul}{ulx}{}
+%    \end{macrocode}
+%
+%
+%    Special rules for \texttt{lm} etc.\ aren't needed because if the
+%    target \texttt{lm} is request it will used if there is no rule
+%    and that id then reduced to \texttt{l}
+%    automatically. Same for \texttt{mc} and friends. Only \texttt{?m}
+%    and \texttt{m?} need rules.
+%
+%    So here are the special rules for \texttt{m?}:
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {bc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {bec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {bsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {bx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {b}{m?}{m}{}
+\DeclareFontSeriesChangeRule {c}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ebc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ebec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ebsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ebx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {eb}{m?}{m}{}
+\DeclareFontSeriesChangeRule {ec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {elc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {elec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {elsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {elx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {el}{m?}{m}{}
+\DeclareFontSeriesChangeRule {lc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {lec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {lsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {lx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {l}{m?}{m}{}
+\DeclareFontSeriesChangeRule {m}{m?}{m}{}
+\DeclareFontSeriesChangeRule {sbc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {sbec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {sbsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {sbx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {sb}{m?}{m}{}
+\DeclareFontSeriesChangeRule {sc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {slc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {slec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {slsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {slx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {sl}{m?}{m}{}
+\DeclareFontSeriesChangeRule {ubc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ubec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ubsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ubx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {ub}{m?}{ub}{}
+\DeclareFontSeriesChangeRule {ulc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ulec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ulsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ulx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {ul}{m?}{m}{}
+\DeclareFontSeriesChangeRule {x}{m?}{x}{}
+%    \end{macrocode}
+%
+%    And there the special rules for \texttt{?m}:
+%    \begin{macrocode}
+\DeclareFontSeriesChangeRule {bc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bec}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bx}{?m}{b}{}
+\DeclareFontSeriesChangeRule {b}{?m}{b}{}
+\DeclareFontSeriesChangeRule {c}{?m}{m}{}
+\DeclareFontSeriesChangeRule {ebc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebec}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebx}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {eb}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ec}{?m}{m}{}
+\DeclareFontSeriesChangeRule {elc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elec}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elx}{?m}{el}{}
+\DeclareFontSeriesChangeRule {el}{?m}{el}{}
+\DeclareFontSeriesChangeRule {lc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lec}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lx}{?m}{l}{}
+\DeclareFontSeriesChangeRule {l}{?m}{l}{}
+\DeclareFontSeriesChangeRule {m}{?m}{m}{}
+\DeclareFontSeriesChangeRule {sbc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbec}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbx}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sb}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{}
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{}
+\DeclareFontSeriesChangeRule {slc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slec}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slx}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {sl}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {ubc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubec}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubx}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ub}{?m}{m}{}
+\DeclareFontSeriesChangeRule {ulc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulec}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulx}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ul}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {x}{?m}{m}{}
+%    \end{macrocode}
+%
+%
+
+
+% \subsection{Changing to a new series}
+%
+
+%  \begin{macro}{\fontseriesforce}
+%    To change unconditionally to a new series you can use
+%    \cs{fontseriesforce}. If course, if the series doesn't exist for
+%    the current family substitution still happens, but there is not
+%    dependency on the current series.
+%    \begin{macrocode}
+\DeclareRobustCommand\fontseriesforce[1]{\edef\f at series{#1}}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%  \begin{macro}{\fontseries}
+%    The \cs{fontseries} command takes one argument which is the requested new
+%    font series. In the orginal implementation  it simply saved the
+%    expanded value in \cs{f at series}. Now we do a bit more processing
+%    and look up the final value in the font series data base. This is
+%    done by \cs{merge at font@series}.
+%    \begin{macrocode}
+\DeclareRobustCommand\fontseries[1]{\merge at font@series{#1}}
+%    \end{macrocode}
+%  \end{macro}
+
+
+%  \begin{macro}{\merge at font@series}
+%    We look up the data base value by expanding the right command
+%    twice. If no such value exist then the result will be \cs{relax}
+%    otherwise it will be the two brace groups: the desired result and
+%    the alternate result. The first case means that the third
+%    argument to \cs{merge at font@series} will be empty.
+%    \begin{macrocode}
+\def\merge at font@series#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@series@
+    \csname series@\f at series @#1\endcsname
+    {#1}%
+    \@nil
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\merge at font@series@}
+%    This now defines the new \cs{f at series}:
+%    \begin{macrocode}
+\def\merge at font@series@#1#2#3\@nil{%
+%    \end{macrocode}
+%    If the third argument is empty there is no database entry for the
+%    combination and the second argument holds the new series so we
+%    return that.
+%
+%    Originally the test was simply \verb=\ifx!#3!= but that actually
+%    dies if \texttt{\#3} starts with a conditional and in the
+%    definition of \cs{AmSfont} that is actually the case.
+%    \begin{macrocode}
+%\ifcat\expandafter X\detokenize{#1}X%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \set at target@series{#2}%
+  \else
+%    \end{macrocode}
+%    Otherwise we check if the desired result for the series
+%    (\texttt{\#1}) exists for the font family and the current shape.
+%    As the \texttt{.fd} is perhaps not loaded yet, we first
+%    have to do that, otherwise the test would fail even if the face
+%    is actually available.
+%    \begin{macrocode}
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /#1/\f at shape}%
+     \ifcsname \@reserveda \endcsname
+%    \end{macrocode}
+%     If the desired result is available then we use that. However, we
+%    do need some post-processing because we need to drop surplus
+%    \texttt{m}s due to the way naming convention was designed in the
+%    '90s (sigh).
+%    \begin{macrocode}
+       \set at target@series{#1}%
+%    \end{macrocode}
+%    If not, then we try the alternate result (\texttt{\#2}).
+%    \begin{macrocode}
+    \else
+       \ifcsname \f at encoding /\f at family /#2/\f at shape \endcsname
+%    \end{macrocode}
+%    If the alternate result exist we use that and also issue a
+%    warning (or rather a log entry) that we didn't managed to change
+%    to the desired font.
+%    \begin{macrocode}
+         \set at target@series{#2}%
+         \@font at shape@subst at warning
+%    \end{macrocode}
+%    If that doesn't exist either, then we use the requested series unmodified
+%    (again with a warning).
+%    \begin{macrocode}
+       \else
+         \set at target@series{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+%    \end{macrocode}
+%    It is possible that the previous font and the new one are
+%    actually identical (and the font was not found because it still
+%    needs loading) in which case a warning  would look rather odd. So
+%    we make a quick check for that (which is the reason why we defined
+%    \cs{@reserveda} above.
+%    \begin{macrocode}
+\def\@font at shape@subst at warning{%
+   \edef\@reservedb{\curr at fontshape}%
+   \ifx\@reserveda\@reservedb \else
+     \@font at warning{Font shape `\@reserveda' undefined\MessageBreak
+                    using `\@reservedb' instead}%
+   \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%
+%  \begin{macro}{\maybe at load@fontshape}
+%    A small helper that we use a couple of times: try loading a
+%    fontshape (in a group because \cs{try at load@fontshape} normalizes
+%    catcodes).
+%    \begin{macrocode}
+\def\maybe at load@fontshape{\begingroup\try at load@fontshape\endgroup}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%  \begin{macro}{\set at target@series}
+%  \begin{macro}{\series at drop@one at m}
+%
+%    Finally the code for normalizing the \cs{f at series} value.
+%
+%    The combined series value determined by the mapping may still
+%    contain an \texttt{m} that we have to remove (as the \texttt{.fd}
+%    files use \texttt{c} not \texttt{mc} to denote a medium weight
+%    condensed series, etc.). We do this in all branches above because a user
+%    might have written
+%\begin{verbatim}
+\DeclareFontSeriesChangeRule {m}{sc}{msc}{mc}
+%\end{verbatim}
+%    instead of using \texttt{sc} and \texttt{c} as needed in the
+%    \texttt{.fd} file.
+%    \begin{macrocode}
+\def\set at target@series#1{%
+%    \end{macrocode}
+%    We need to \cs{edef} the argument first in case it starts with a
+%    conditional.
+%    \begin{macrocode}
+    \edef\f at series{#1}%
+    \edef\f at series{\expandafter\series at drop@one at m\f at series mm\series at drop@one at m}%
+}
+%    \end{macrocode}
+%    Drop up to two \texttt{m}s but keep one if that makes the series
+%    value empty.
+%    \begin{macrocode}
+\def\series at drop@one at m#1m#2m#3\series at drop@one at m{%
+  \ifx\relax#1#2\relax m\else#1#2\fi
+}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+
+
+
+% \section{Changing the shape}
+%
+%    Shapes are also split in two axes (though it could be more if
+%    that is desirable), essentially building in an ``sc''
+%    axis).
+%
+%
+%
+%  \begin{macro}{\DeclareFontShapeChangeRule}
+%    The database for shapes is done in exactly the same way, only
+%    that it is much smaller and we usually have no alternative shape
+%    (or rather it is empty thus not used).
+%    \begin{macrocode}
+\def\DeclareFontShapeChangeRule #1#2#3#4{%
+  \@namedef{shape@#1@#2}{{#3}{#4}}}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%    There is kind of the same problem with returning back from
+%    \texttt{sc} to normal. It sort of needs its own letter.  In
+%    \texttt{fontspec} this was solved by the first time \cs{upshape} changes
+%    \texttt{it} or \texttt{sl} back (so only \texttt{sc} remains) and
+%    second time it changes then \texttt{sc} back to normal.  Maybe
+%    that's not a bad way to handle it, but decided for a slightly
+%    different approach: \texttt{n} always returns to ``normal'', ie
+%    resets everything and \texttt{up} changes italic or slanted to
+%    upright and \texttt{ulc} undoes small caps.
+%
+%    So we now offer \cs{normalshape} (using \cs{shapedefault} which is normally the same as
+%    calling both \cs{ulcshape} and \cs{upshape}, only more efficient.
+%
+%
+%  \begin{macro}{\ulcshape}
+%  \begin{macro}{\textulc}
+%  \begin{macro}{\ulcdefault}
+%    To request going back to upper/lowercase we need a new
+%    command. It uses \texttt{ulc} as shape name but this shape is
+%    virtual, i.e., it doesn't exist as a real shape, it is only used
+%    as part of the database table entries and thus only appears in
+%    the second argument there (but not in the first).
+%    \begin{macrocode}
+\DeclareRobustCommand\ulcshape
+        {\not at math@alphabet\ulcshape\relax
+         \fontshape\ulcdefault\selectfont}
+\newcommand\ulcdefault{ulc}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%
+%  \begin{macro}{\swshape}
+%  \begin{macro}{\textsw}
+%  \begin{macro}{\swdefault}
+%    New command to select a swash shape.  The standard rules put this
+%    in the same category as italics or slanted, i.e., if you ask for
+%    it then italics are undone. One could provide more complicated
+%    rules so that \texttt{it} + \texttt{sw} becomes \texttt{swit} but
+%    given that there are only very few fonts that have swash letters
+%    that level of flexibility (these days) would be just resulting in
+%    a lot of combinations that do not exist.
+%    \begin{macrocode}
+\DeclareRobustCommand\swshape
+        {\not at math@alphabet\swshape\relax
+         \fontshape\swdefault\selectfont}
+\newcommand\swdefault{sw}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%
+%
+%
+%  \begin{macro}{\sscshape}
+%  \begin{macro}{\textssc}
+%  \begin{macro}{\sscdefault}
+%    New command to select spaced small capitals. This is only here
+%    because \texttt{fontaxes} offered it. There isn't a single free
+%    font that supports it. However, some commercial ones do, so we
+%    offer it so that at some point \texttt{fontaxes} could be
+%    retired.
+%
+%    So far there aren't any rules for it---probably there should be
+%    some putting it in the same category as \texttt{sc}.
+%    \begin{macrocode}
+\DeclareRobustCommand\sscshape
+        {\not at math@alphabet\sscshape\relax
+         \fontshape\sscdefault\selectfont}
+\newcommand\sscdefault{ssc}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%
+%
+%
+% \subsection{Mapping rules for shape combinations}
+%
+%    Many of the entries are commented out as we will get that result
+%    without any entry.
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {n}{n}   {n}   {}
+\DeclareFontShapeChangeRule {n}{it}  {it}  {sl}
+\DeclareFontShapeChangeRule {n}{sl}  {sl}  {it}
+%\DeclareFontShapeChangeRule {n}{sw}  {sw}  {}
+%\DeclareFontShapeChangeRule {n}{sc}  {sc}  {}
+\DeclareFontShapeChangeRule {n}{ulc} {n}   {}
+\DeclareFontShapeChangeRule {n}{up} {n}    {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {it}{n}   {n}     {}
+%\DeclareFontShapeChangeRule {it}{it}  {it}    {}
+\DeclareFontShapeChangeRule {it}{sl}  {sl}    {it}
+%\DeclareFontShapeChangeRule {it}{sw}  {sw}    {}
+%    \end{macrocode}
+%    If neither \texttt{scit} nor \texttt{scsl} exist then \texttt{sc}
+%    will be used as a fallback albeit with a log entry, so except for
+%    the latter there will be no change for CM or Latin Modern fonts.
+%    \begin{macrocode}
+\DeclareFontShapeChangeRule {it}{sc}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {it}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {it}{up} {n}      {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {sl}{n}   {n}     {}
+\DeclareFontShapeChangeRule {sl}{it}  {it}    {sl}
+%\DeclareFontShapeChangeRule {sl}{sl}  {sl}    {}
+%\DeclareFontShapeChangeRule {sl}{sw}  {sw}    {}
+\DeclareFontShapeChangeRule {sl}{sc}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {sl}{up} {n}      {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {sc}{n}   {n}     {}
+\DeclareFontShapeChangeRule {sc}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {sc}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sc}{sw}  {scsw}  {sw}
+%\DeclareFontShapeChangeRule {sc}{sc}  {sc}    {}
+\DeclareFontShapeChangeRule {sc}{ulc} {n}     {}
+%    \end{macrocode}
+%
+%    The next rule might be a bit surprising and rightly so. Correct
+%    would be that \texttt{sc} is not affected by \texttt{up}, i.e.,
+%    remains \texttt{sc} as showed in the commented out rule. However,
+%    for nearly three decades commands such as \upshape{sc} or
+%    \cs{textup} changed small caps back to the ``normal'' shape. So
+%    for backward compatibility we keep hat behavior.
+%
+%    As a result you are currently typesetting in \texttt{scit} or
+%    \texttt{scsl} using \cs{upshape} twice will return you to the
+%    normal shape too, the first will change to \texttt{sc} and the
+%    second (because of the rule below) change that to
+%    \texttt{n}. This is the way \texttt{fontspec} implemented its
+%    version on this interface, so this rule means we are also
+%    compatible with the way \texttt{fontspec} behaved. Still it
+%    remains an odditywhic I would rather liked to have avoided.
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {sc}{up} {sc}     {}
+\DeclareFontShapeChangeRule {sc}{up} {n}     {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {scit}{n}   {n}    {}
+\DeclareFontShapeChangeRule {scit}{it}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {scit}{sw}  {scsw}  {sc}    % or scit?
+\DeclareFontShapeChangeRule {scit}{sc}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {scit}{up} {sc}     {}
+%    \end{macrocode}
+%    The previous rule assumes that if \texttt{scit} exists then
+%    \texttt{it} exists as well. If not, the mechanism will save
+%    \texttt{ulc} in \cs{f at series} which most certainly doesn't
+%    exist. So when a font is later selected that would result in a
+%    substitution (so no harm done really). Alternatively, we could in
+%    this case use \texttt{n} as aternative, which may be a bit
+%    faster, but such a  setup would be so weird in the first place
+%    that this isn't worth the effort.
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {scsl}{n}   {n}     {}
+\DeclareFontShapeChangeRule {scsl}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {scsl}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{sw}  {scsw}  {sc}    % or scsl?
+\DeclareFontShapeChangeRule {scsl}{sc}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {scsl}{up}   {sc}   {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {scsw}{n}   {n}     {}
+\DeclareFontShapeChangeRule {scsw}{it}  {scit}  {scsw}
+\DeclareFontShapeChangeRule {scsw}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsw}{sw}  {scsw}  {}
+\DeclareFontShapeChangeRule {scsw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {scsw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {scsw}{up} {sc}     {}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%\DeclareFontShapeChangeRule {sw}{n}   {n}     {}
+%\DeclareFontShapeChangeRule {sw}{it}  {it}    {}
+%\DeclareFontShapeChangeRule {sw}{sl}  {sl}    {}
+%\DeclareFontShapeChangeRule {sw}{sw}  {sw}    {}
+\DeclareFontShapeChangeRule {sw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {sw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {sw}{up} {n}      {}
+%    \end{macrocode}
+%
+%
+% \subsection{Changing to a new shape}
+%
+%  \begin{macro}{\fontshape}
+%    Again the \cs{fontshape} now has to do a lookup to get to its new
+%    value in \cs{f at shape}. The method is exactly the same as in
+%    \cs{fontseries}.
+%    \begin{macrocode}
+\DeclareRobustCommand\fontshape[1]{\merge at font@shape{#1}}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%  \begin{macro}{\fontshapeforce}
+%    The unconditional version:
+%    \begin{macrocode}
+\DeclareRobustCommand\fontshapeforce[1]{\edef\f at shape{#1}}
+%    \end{macrocode}
+%  \end{macro}
+%
+%  \begin{macro}{\merge at font@shape}
+%    Look up the database entry (if existing) and act accordingly.
+%    \begin{macrocode}
+\def\merge at font@shape#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@shape@
+    \csname shape@\f at shape @#1\endcsname
+    {#1}%
+    \@nil
+}
+%    \end{macrocode}
+%  \end{macro}
+%
+
+%  \begin{macro}{\merge at font@shape@}
+%    Same game now, except that we look at shapes not series values
+%    and we can set the shape without the complication of dropping
+%    ``m''s from the name as we had to for the series.
+%    \begin{macrocode}
+\def\merge at font@shape@#1#2#3\@nil{%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \edef\f at shape{#2}%
+  \else
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /\f at series/#1}%
+     \ifcsname \@reserveda\endcsname
+       \edef\f at shape{#1}%
+    \else
+       \ifcsname \f at encoding /\f at family /\f at series/#2\endcsname
+         \edef\f at shape{#2}%
+         \@font at shape@subst at warning
+       \else
+         \edef\f at shape{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%  \begin{macro}{\normalshape}
+%
+%    \cs{normalshape} resets both sub-axes if the default rules are used.
+%    \begin{macrocode}
+\protected\def\normalshape
+    {\not at math@alphabet\normalshape\relax
+      \fontshape\shapedefault\selectfont}%
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%
+% \section{Make sure we win \ldots}
+%
+%    This code implements one aspect of what the package \textsf{fontaxes}
+%    provide. So its redefinitions for the various shape commands,
+%    such as \cs{itshape} should no longer happen. We therefore force
+%    the standard definitions at \cs{AtBeginDocument} (later when this
+%    is defined. Once
+%    \texttt{fontaxes} is no longer doing such redefinitions that could
+%    be taken out again.
+%
+%    We use a separate macro so that we can easily disable this (in
+%    case of rollback).
+%
+%  \begin{macro}{\reinstall at nfss@defs}
+%
+%    I use \cs{protected} here not \cs{DeclareRobustCommand} to avoid
+%    extra status lines.
+%    \begin{macrocode}
+\def\reinstall at nfss@defs{%
+  \protected\def\upshape
+          {\not at math@alphabet\upshape\relax
+           \fontshape\updefault\selectfont}%
+  \protected\def\slshape
+          {\not at math@alphabet\slshape\relax
+           \fontshape\sldefault\selectfont}%
+  \protected\def\scshape
+          {\not at math@alphabet\scshape\relax
+           \fontshape\scdefault\selectfont}%
+  \protected\def\itshape
+          {\not at math@alphabet\itshape\mathit
+           \fontshape\itdefault\selectfont}%
+  \protected\def\ulcshape
+          {\not at math@alphabet\ulcshape\relax
+           \fontshape{ulc}\selectfont}%
+  \protected\def\swshape
+          {\not at math@alphabet\swshape\relax
+           \fontshape\swdefault\selectfont}%
+  \protected\def\sscshape
+          {\not at math@alphabet\sscshape\relax
+           \fontshape\sscdefault\selectfont}%
+}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+% Supporting rollback \ldots
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>   {\DeclareFontSeriesChangeRule}{Series change rules}%
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\fontseries[1]{\edef\f at series{#1}}
+%<latexrelease>\DeclareRobustCommand\fontshape [1]{\edef\f at shape{#1}}
+%<latexrelease>\let\fontseriesforce\@undefined
+%<latexrelease>\let\fontshapeforce\@undefined
+%<latexrelease>
+%<latexrelease>\let\DeclareFontSeriesChangeRule\@undefined
+%<latexrelease>\let\merge at font@series\@undefined
+%<latexrelease>\let\merge at font@series@\@undefined
+%<latexrelease>\let\@font at shape@subst at warning\@undefined
+%<latexrelease>\let\maybe at load@fontshape\@undefined
+%<latexrelease>\let\set at target@series\@undefined
+%<latexrelease>\let\series at drop@one at m\@undefined
+%<latexrelease>\let\DeclareFontShapeChangeRule\@undefined
+%<latexrelease>\let\merge at font@shape\@undefined
+%<latexrelease>\let\merge at font@shape@\@undefined
+%<latexrelease>\let\normalshape\@undefined
+%<latexrelease>\let\ulcshape\@undefined
+%<latexrelease>\let\ulcdefault\@undefined
+%<latexrelease>\let\swshape\@undefined
+%<latexrelease>\let\swdefault\@undefined
+%<latexrelease>\let\sscshape\@undefined
+%<latexrelease>\let\sscdefault\@undefined
+%<latexrelease>\let\normalshape\@undefined
+%    \end{macrocode}
+%    This is always called in \cs{document} so don't make it undefined.
+%    \begin{macrocode}
+%<latexrelease>
+%<latexrelease>\let\reinstall at nfss@defs\relax
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%</2ekernel>
+%    \end{macrocode}
+%
+% \Finale
+%


Property changes on: trunk/Master/texmf-dist/source/latex/base/ltfssaxes.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/base/ltfssbas.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfssbas.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltfssbas.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -35,7 +35,7 @@
 %
 %
 \ProvidesFile{ltfssbas.dtx}
-             [2019/08/27 v3.2d LaTeX Kernel (NFSS Basic Macros)]
+             [2019/12/17 v3.2e LaTeX Kernel (NFSS Basic Macros)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -800,16 +800,11 @@
 % \begin{macro}{\f at shape}
 %    \begin{macrocode}
 \DeclareRobustCommand\fontfamily[1]{\edef\f at family{#1}}
-\DeclareRobustCommand\fontseries[1]{\edef\f at series{#1}}
-\DeclareRobustCommand\fontshape [1]{\edef\f at shape{#1}}
 %    \end{macrocode}
-%    Some handy abbreviation if you want to get some particular font
-%    in the current size. If also the size should change one has to
-%    issue a |\fontsize| command first.
+%    There are now defined later (and differently).
 %    \begin{macrocode}
-\DeclareRobustCommand\usefont[4]{\fontencoding{#1}\fontfamily{#2}%
-             \fontseries{#3}\fontshape{#4}\selectfont
-             \ignorespaces}
+%\DeclareRobustCommand\fontseries[1]{\edef\f at series{#1}}
+%\DeclareRobustCommand\fontshape [1]{\edef\f at shape{#1}}
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
@@ -819,6 +814,31 @@
 % \end{macro}
 %
 %
+%
+%  \begin{macro}{\usefont}
+%    Some handy abbreviation if you want to get some particular font
+%    in the current size. If also the size should change one has to
+%    issue a |\fontsize| command first.
+%
+%    \cs{fontencoding} needs to do some setup work so we call that,
+%    but instead of calling \cs{fontfamily}, \cs{fontseries} and
+%    \cs{fontshape} it earlier versions of this code did, we now set
+%    \cs{f at family}, etc.\ directly.  If we would call \cs{fontseries}
+%    or \cs{fontshape} as it
+%    was done in the past, they would now interact with the existing
+%    series and shape which is not desired if we intend to use an
+%    explicit font shape!
+% \changes{v3.2e}{2019/12/17}{Don't call \cs{fontseries} or \cs{fontshape}}
+%    \begin{macrocode}
+\DeclareRobustCommand\usefont[4]{\fontencoding{#1}%
+   \edef\f at family{#2}%
+   \edef\f at series{#3}%
+   \edef\f at shape{#4}\selectfont
+   \ignorespaces}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
 %  \begin{macro}{\linespread}
 % \changes{v2.1j}{1994/05/12}{New macro}
 % \changes{v2.1p}{1994/05/16}{Remove surplus braces}
@@ -1269,6 +1289,122 @@
 %  \end{macro}
 %
 %
+%
+%  \begin{macro}{\LoadFontDefinitionFile}
+%    Load and \texttt{.fd} files for some encoding and family (if it exists).
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\LoadFontDefinitionFile}{Loading .fd files}%
+\def\LoadFontDefinitionFile#1#2{%
+  \begingroup
+    \edef\f at encoding{#1}%
+    \edef\f at family{#2}%
+    \try at load@fontshape
+  \endgroup
+}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\LoadFontDefinitionFile}{Loading .fd files}%
+%<latexrelease>
+%<latexrelease>\let\LoadFontDefinitionFile\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+
+%  \begin{macro}{\DeclareFontFamilySubstitution}
+%    The idea for this macro is stolen from the \texttt{substitutefont}
+%    package by Günter Milde, with some modifications and a new name.
+%
+%    Its purpose is to provide characters in a special encoding tht
+%    are not available in the current font family to be taken from a
+%    different family that is visually compatible (or not if you
+%    choose badly). For example, you can match the GFS Didot Greek
+%    characters with \TeX{} Gyre Pagella (Palatino) by specifying
+%\begin{verbatim}
+% \DeclareFontFamilySubstitution{LGR}{qpl}{udidot}
+%\end{verbatim}
+%    This way if you ask for the \texttt{LGR} encoding in for the
+%    \texttt{qpl} family you get the characters from the
+%    \texttt{udidot} family substituted.
+%
+%    We need to ensure that the macro is defined with
+%    \cs{nfss at catcodes} in force (not quite sure why at the moment to
+%    be honest).
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>       {\DeclareFontFamilySubstitution}{Provide family substituation}%
+\begingroup
+\nfss at catcodes
+\gdef\DeclareFontFamilySubstitution#1#2#3{%
+%    \end{macrocode}
+%    We only provide a set of silent substitutions. The package also
+%    (re)declared the family, but this is incorrect in my eyes and it
+%    is better to handle that differently.
+%
+%    Of course the families  may still need loading at
+%    this point and so we arange for this. Otherwise we might run into
+%    trouble because the necessary \cs{DeclareFontFamily} has not been
+%    seen.
+%    \begin{macrocode}
+   \LoadFontDefinitionFile{#1}{#2}%
+   \LoadFontDefinitionFile{#1}{#3}%
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+   \DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}%
+   \DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}%
+   \DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}%
+   \DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}%
+%    \end{macrocode}
+%    These days a few more shapes might be around, so we declare those
+%    too. If they don't exist then after the first substitution normal
+%    fallbacks will happen.
+%    \begin{macrocode}
+   \DeclareFontShape{#1}{#2}{m}{sw}{<->ssub * #3/m/sw}{}%
+   \DeclareFontShape{#1}{#2}{m}{scit}{<->ssub * #3/m/scit}{}%
+   \DeclareFontShape{#1}{#2}{m}{scsl}{<->ssub * #3/m/scsl}{}%
+%    \end{macrocode}
+%    Same game with \texttt{b} and \texttt{bx}, for other weights you
+%    are on your own:
+%    \begin{macrocode}
+   \DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/b/it}{}%
+   \DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/b/n}{}%
+   \DeclareFontShape{#1}{#2}{b}{scit}{<->ssub * #3/b/scit}{}%
+   \DeclareFontShape{#1}{#2}{b}{scsl}{<->ssub * #3/b/scsl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/b/sc}{}%
+   \DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/b/sl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sw}{<->ssub * #3/b/sw}{}%
+   \DeclareFontShape{#1}{#2}{bx}{it}{<->ssub * #3/bx/it}{}%
+   \DeclareFontShape{#1}{#2}{bx}{n}{<->ssub * #3/bx/n}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scit}{<->ssub * #3/bx/scit}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scsl}{<->ssub * #3/bx/scsl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub * #3/bx/sc}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub * #3/bx/sl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sw}{<->ssub * #3/bx/sw}{}%
+}
+\endgroup
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>      {\DeclareFontFamilySubstitution}{Provide family substituation}%
+%<latexrelease>
+%<latexrelease>\let\DeclareFontFamilySubstitution\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
 %  \begin{macro}{\DeclareErrorFont}
 %    Declare the last resort shape! We assume that in this fontshape
 %    there is a 10pt font but it doesn't really matter. We only loose
@@ -1323,7 +1459,7 @@
 %<latexrelease>\EndIncludeInRelease
 %<*2ekernel>
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \@onlypreamble\DeclareErrorFont
 %    \end{macrocode}
@@ -1389,7 +1525,7 @@
 %    \begin{macrocode}
            \begingroup
               \try at load@fontshape
-           \endgroup 
+           \endgroup
         \fi \fi
   \fi
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/ltfsscmp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfsscmp.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltfsscmp.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltfssdcl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfssdcl.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltfssdcl.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -36,7 +36,7 @@
 %
 %
 \ProvidesFile{ltfssdcl.dtx}
-            [2019/08/27 v3.0s LaTeX Kernel (NFSS Declarative Interface)]
+            [2020/01/20 v3.0t LaTeX Kernel (NFSS Declarative Interface)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -1104,7 +1104,7 @@
         \edef\reserved at a{\noexpand\in@
           {\expandafter\@gobble\string\mathaccent}
           {\expandafter\meaning
-           \csname\expandafter\@gobble\string#1\space\endcsname}}%        
+           \csname\expandafter\@gobble\string#1\space\endcsname}}%
         \reserved at a
         \ifin@
           \expandafter\let
@@ -1367,12 +1367,7 @@
 % \begin{macro}{\@DeclareMathDelimiter}
 % \changes{v3.0r}{2016/02/18}
 %         {Check for delimiter not \cs{delimiter}}
-% \changes{v3.0s}{2019/08/27}{Make math delimiters robust}
 %    \begin{macrocode}
-%</2ekernel>
-%<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2019/10/01}%
-%<latexrelease>                 {\@DeclareMathDelimiter}{Make math delimiters robust}%
 \def\@DeclareMathDelimiter#1#2#3#4#5#6{%
   \expandafter\in@\csname sym#3\expandafter\endcsname
      \expandafter{\group at list}%
@@ -1398,11 +1393,9 @@
         \edef\reserved at d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
       %
         \edef\reserved at a{\noexpand\in@
-          {\expandafter\@gobble\string\delimiter}%
-          {\expandafter\meaning\csname\expandafter\@gobble\string#1\space\endcsname}}%
+            {\expandafter\@gobble\string\delimiter}{\meaning#1}}%
         \reserved at a
         \ifin@
-          \expandafter\let\csname\expandafter\@gobble\string#1\space\endcsname\@undefined
           \expandafter\set at mathdelimiter
              \csname sym#3\expandafter\endcsname
              \csname sym#5\endcsname#1#2%
@@ -1428,65 +1421,6 @@
     \@latex at error{Symbol font `#3' is not defined}\@eha
   \fi
 }
-%</2ekernel|latexrelease>
-%<latexrelease>\EndIncludeInRelease
-%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease>                 {\@DeclareMathDelimiter}{Make math delimiters robust}%
-%<latexrelease>\def\@DeclareMathDelimiter#1#2#3#4#5#6{%
-%<latexrelease>  \expandafter\in@\csname sym#3\expandafter\endcsname
-%<latexrelease>     \expandafter{\group at list}%
-%<latexrelease>  \ifin@
-%<latexrelease>    \expandafter\in@\csname sym#5\expandafter\endcsname
-%<latexrelease>       \expandafter{\group at list}%
-%<latexrelease>    \ifin@
-%<latexrelease>      \begingroup
-%<latexrelease>        \count\z@=#4\relax
-%<latexrelease>        \count\tw@\count\z@
-%<latexrelease>        \divide\count\z@\sixt@@n
-%<latexrelease>        \count@\count\z@
-%<latexrelease>        \multiply\count@\sixt@@n
-%<latexrelease>        \advance\count\tw at -\count@
-%<latexrelease>        \edef\reserved at c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
-%<latexrelease>      %
-%<latexrelease>        \count\z@=#6\relax
-%<latexrelease>        \count\tw@\count\z@
-%<latexrelease>        \divide\count\z@\sixt@@n
-%<latexrelease>        \count@\count\z@
-%<latexrelease>        \multiply\count@\sixt@@n
-%<latexrelease>        \advance\count\tw at -\count@
-%<latexrelease>        \edef\reserved at d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
-%<latexrelease>      %
-%<latexrelease>        \edef\reserved at a{\noexpand\in@
-%<latexrelease>            {\expandafter\@gobble\string\delimiter}{\meaning#1}}%
-%<latexrelease>        \reserved at a
-%<latexrelease>        \ifin@
-%<latexrelease>          \expandafter\set at mathdelimiter
-%<latexrelease>             \csname sym#3\expandafter\endcsname
-%<latexrelease>             \csname sym#5\endcsname#1#2%
-%<latexrelease>             \reserved at c\reserved at d
-%<latexrelease>          \@font at info{Redeclaring math delimiter \string#1}%
-%<latexrelease>        \else
-%<latexrelease>            \expandafter\ifx
-%<latexrelease>            \csname\expandafter\@gobble\string#1\endcsname
-%<latexrelease>            \relax
-%<latexrelease>            \expandafter\set at mathdelimiter
-%<latexrelease>              \csname sym#3\expandafter\endcsname
-%<latexrelease>              \csname sym#5\endcsname#1#2%
-%<latexrelease>              \reserved at c\reserved at d
-%<latexrelease>          \else
-%<latexrelease>            \@latex at error{Command `\string#1' already defined}\@eha
-%<latexrelease>          \fi
-%<latexrelease>        \fi
-%<latexrelease>      \endgroup
-%<latexrelease>    \else
-%<latexrelease>      \@latex at error{Symbol font `#5' is not defined}\@eha
-%<latexrelease>    \fi
-%<latexrelease>  \else
-%<latexrelease>    \@latex at error{Symbol font `#3' is not defined}\@eha
-%<latexrelease>  \fi
-%<latexrelease>}
-%<latexrelease>\EndIncludeInRelease
-%<*2ekernel>
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -1547,9 +1481,16 @@
 %<latexrelease>\IncludeInRelease{2019/10/01}%
 %<latexrelease>                 {\set at mathdelimiter}{make delimiters robust}%
 \def\set at mathdelimiter#1#2#3#4#5#6{%
+%    \end{macrocode}
+%    We use \cs{protected} not \cs{MakeRobust} so that
+%    \verb=\bigl\lfoor= etc.\ works inside \cs{protected at edef}.
+% \changes{v3.0s}{2019/08/27}{Make math delimiters robust}
+% \changes{v3.0t}{2020/01/20}{fix for gh/251}
+%    \begin{macrocode}
+  \protected
   \xdef#3{\delimiter"\mathchar at type#4\hexnumber@#1#5%
     \hexnumber@#2#6 }%
-  \MakeRobust#3%
+%  \MakeRobust#3%
 }
 \@onlypreamble\set at mathdelimiter
 %</2ekernel|latexrelease>

Modified: trunk/Master/texmf-dist/source/latex/base/ltfssini.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfssini.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltfssini.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -36,7 +36,7 @@
 %
 %
 \ProvidesFile{ltfssini.dtx}
-             [2019/08/27 v3.1d LaTeX Kernel (NFSS Initialisation)]
+             [2020/01/11 v3.1f LaTeX Kernel (NFSS Initialisation)]
 % \iffalse
 \documentclass{ltxdoc}
 \begin{document}
@@ -157,26 +157,28 @@
 %    Now we define the standard font change commands.
 %    We don't allow the use of |\rmfamily| etc.\ in math mode.
 %
+%    (Actually most are now defined further down in the file.)
+%
 %    First the changes to another \emph{family}:
 %    \begin{macrocode}
-\DeclareRobustCommand\rmfamily
-        {\not at math@alphabet\rmfamily\mathrm
-         \fontfamily\rmdefault\selectfont}
-\DeclareRobustCommand\sffamily
-        {\not at math@alphabet\sffamily\mathsf
-         \fontfamily\sfdefault\selectfont}
-\DeclareRobustCommand\ttfamily
-        {\not at math@alphabet\ttfamily\mathtt
-         \fontfamily\ttdefault\selectfont}
+%\DeclareRobustCommand\rmfamily
+%        {\not at math@alphabet\rmfamily\mathrm
+%         \fontfamily\rmdefault\selectfont}
+%\DeclareRobustCommand\sffamily
+%        {\not at math@alphabet\sffamily\mathsf
+%         \fontfamily\sfdefault\selectfont}
+%\DeclareRobustCommand\ttfamily
+%        {\not at math@alphabet\ttfamily\mathtt
+%         \fontfamily\ttdefault\selectfont}
 %    \end{macrocode}
 %    Then the commands changing the \emph{series}:
 %    \begin{macrocode}
-\DeclareRobustCommand\bfseries
-        {\not at math@alphabet\bfseries\mathbf
-         \fontseries\bfdefault\selectfont}
-\DeclareRobustCommand\mdseries
-        {\not at math@alphabet\mdseries\relax
-         \fontseries\mddefault\selectfont}
+%\DeclareRobustCommand\bfseries
+%        {\not at math@alphabet\bfseries\mathbf
+%         \fontseries\bfdefault\selectfont}
+%\DeclareRobustCommand\mdseries
+%        {\not at math@alphabet\mdseries\relax
+%         \fontseries\mddefault\selectfont}
 \DeclareRobustCommand\upshape
         {\not at math@alphabet\upshape\relax
          \fontshape\updefault\selectfont}
@@ -196,29 +198,873 @@
 %
 %
 %
+%
+% \section{Custom series settings for main document families}
+%
+%    This section was introduced 2020/02/02 and for now we support a
+%    full rollback (may need splitting later).
+% \changes{v3.1e}{2019/12/17}{Provide custom series settings a la mweights}
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\DeclareFontSeriesDefault}{Custom series}%
+%    \end{macrocode}
+%
+%    One problem with the NFSS approach of handling the series axis
+%    turned out to be that (especially with respect to ``boldness'')
+%    different font families implemented different strategies. For
+%    example, with Computer Modern fonts you normally only have
+%    \texttt{bx} whereas most PostScript fonts offered only \texttt{b}
+%    but not \texttt{bx}. As a result \LaTeX's standard setting for
+%    \cs{bfdefault} didn't work with such fonts, but if it got changed
+%    to produce \texttt{b}, then that didn't work with Computer Modern
+%    if the fonts got combined (e.g., using Computer Modern Typewriter
+%    with such fonts).
+%
+%    The solution back then was to provide substitution rules in the
+%    font \texttt{.fd} such that if a \texttt{bx} series got requested
+%    the \texttt{b} series got used. While this works in that
+%    particular case, it isn't a very
+%    general solution. For example, if you happen to have a font family that
+%    has several weights you may want to typeset  the whole document
+%    in a somewhat lighter or darker font but if you then modify
+%    \cs{mddefault} to allow for this, then of course your change only
+%    works with that particular family but not with the typewriter
+%    or sans serif family you also want to use.
+%
+%    A better solution was provided by the \texttt{mweights} package by
+%    Bob Tennent that offers defaults on the level of the three main
+%    font families in the document: for ``rm'', ``sf'' and ``tt'' so
+%    that font packages could define defaults for the sans serif
+%    document font by providing \cs{bfseries at sf} which then was used
+%    when \cs{bfseries} got executed and the current family was the
+%    \cs{sffamily}.
+%
+%  \DescribeMacro\DeclareFontSeriesDefault
+%    We now support this concept directly from within \LaTeX{} and for
+%    use in font packages (or the document preamble) we offer
+%    \cs{DeclareSeriesDefault}. This declaration takes three
+%    arguments:
+%   \begin{description}
+%   \item[document family interface:] Can either be \texttt{rm},
+%    \texttt{sf} or \texttt{tt}. This is optional and if not given the
+%    overall default.
+%   \item[document series interface:] Can be \texttt{md} or
+%    \texttt{bf}.
+%   \item[series value:] This is the value that is going to be used
+%    with the combination is requested.
+%  \end{description}
+%
+%    For example, \verb=\DeclareFontSeriesDefault[rm]{bf}{sb}= would
+%    use \texttt{sb} (semi-bold) when \cs{rmfamily} \cs{bfseries} is
+%    asked for.
+%
+%    If used without the optional argument, e.g.,
+%    \verb=\DeclareFontSeriesDefault{bf}{b}=  then this is like
+%    redefining \cs{bfdefault} or \cs{mddefault}.
+%
+%    If some family specify defaults aren't given, e.g. if there are
+%    no declarations for, say, \texttt{tt} then the format defaults
+%    of \cs{mddefault} and \cs{bfdefault} are assumed. If those are
+%    later changed this is \emph{not} reflected!\footnote{I see no
+%    easy way to achieve this without compromising compatibility with
+%    existing packages that currently use \textsf{mweights} and directly
+%    define (some) of the \cs{mdseries at ..} commands but not others.}
+%
+%
+%
+%  \begin{macro}{\DeclareFontSeriesDefault}
+%    The command to declare font series defaults for the ``rm'', ``sf'' or
+%    ``tt'' family.
+%    \begin{macrocode}
+\newcommand\DeclareFontSeriesDefault[3][]{%
+  \def\@reserveda{#1}%
+%    \end{macrocode}
+%    No optional argument: set up general default.
+%    \begin{macrocode}
+  \ifx\@resereda\@empty
+    \ifcsname #2series\endcsname           % supported are
+                                           % \[md/bf]default
+      \expandafter\def
+         \csname #2default\endcsname{#3}%
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Mandatory first argument must be 'md'  or 'bf'.}
+    \fi
+%    \end{macrocode}
+%    Optional argument given, set up specific default.
+%    \begin{macrocode}
+  \else
+    \ifcsname #2series@#1\endcsname          % supported are
+                                             % \[md/bf]series@[rm/sf/tt]
+      \expandafter\edef
+         \csname #2series@#1\endcsname{#3}%
+%    \end{macrocode}
+%
+%    If the interface is used we remove the frozen kernel
+%    default. This way, we know that something was explicitly set up
+%    (even if the setup has the same value as the default).
+%    \begin{macrocode}
+      \expandafter\let
+         \csname #2series@#1 at kernel\endcsname\@undefined
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Optional first argument must be 'rm', 'sf', or 'tt'. \MessageBreak
+           Second argument must be 'md'  or 'bf'.}
+    \fi
+  \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+
+%  \begin{macro}{\mdseries at rm}
+%  \begin{macro}{\mdseries at sf}
+%  \begin{macro}{\mdseries at tt}
+%  \begin{macro}{\bfseries at rm}
+%  \begin{macro}{\bfseries at sf}
+%  \begin{macro}{\bfseries at tt}
+%    We initialize the family specific default at the end of the
+%    format generation. Later on they may get overwritten in the
+%    preamble or a package via \cs{DeclareFontSeriesDefault} (or
+%    possibly directly).
+%
+%    Conceptual change: The \cs{bfdefault} will be \texttt{b} not
+%    \texttt{bx} because that is what it should be really for nearly
+%    every font except Computer/Latin Modern.
+%
+%    To account for the fact that by default we typeset in CM or LM we
+%    set up the \cs{bfseries at ..} defaults to use \texttt{bx} instead.
+%
+%    This means that it behaves like before because if the default
+%    fonts are used then \cs{bfseries at rm} etc kick in and make
+%    \cs{textbf} use \texttt{bx}. However, if the font gets changed
+%    then \cs{bfdefault} will get used.
+%
+%    \begin{macrocode}
+\def\bfseries at rm{bx}
+\def\bfseries at sf{bx}
+\def\bfseries at tt{bx}
+%    \end{macrocode}
+%
+%    Frozen version of the kernel defaults so we can see if they have changed.
+%    \begin{macrocode}
+\let\bfseries at rm@kernel\bfseries at rm
+\let\bfseries at sf@kernel\bfseries at sf
+\let\bfseries at tt@kernel\bfseries at tt
+%    \end{macrocode}
+%
+%    The default for the medium series is \texttt{m} and this will be
+%    interpreted as resetting both weight and width. To reset only one
+%    of them the virtual value \texttt{?m} and \texttt{m?} are available.
+%    \begin{macrocode}
+\def\mdseries at rm{m}
+\def\mdseries at sf{m}
+\def\mdseries at tt{m}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\expand at font@defaults}
+%
+%    The family specific defaults are fully expanded, i.e., they are
+%    defined via \cs{edef} inside \cs{DeclareFontSeriesDefault}.
+%    However, the overall defaults, e.g., \cs{bfdefault} may have been
+%    redefined by the user and thus may not be fully expanded. So to
+%    enable reliable comparison we make expanded versions of
+%    them. That we rerun each time. The alternative would be to only
+%    allow for changes before begin document.
+%    \begin{macrocode}
+\def\expand at font@defaults{%
+  \edef\rmdef at ult{\rmdefault}%
+  \edef\sfdef at ult{\sfdefault}%
+  \edef\ttdef at ult{\ttdefault}%
+  \edef\bfdef at ult{\bfdefault}%
+  \edef\mddef at ult{\mddefault}%
+  \edef\famdef at ult{\familydefault}%
+}
+%    \end{macrocode}
+%
+%  \end{macro}
+
+
+
+%  \begin{macro}{\bfseries}
+%    This document command switches to the bold series.
+%    \begin{macrocode}
+\DeclareRobustCommand\bfseries{%
+  \not at math@alphabet\bfseries\mathbf
+%    \end{macrocode}
+%    In the original NFSS definition it then called \cs{fontseries}
+%    with the value \cs{bfdefault}. In the new scheme we have more
+%    alternatives and therefore check if the current family
+%    (\cs{f at family}) is the current \cs{rmdef at ult}, \cs{sfdef at ult} or
+%    \cs{ttdef at ult}  and the select the correct family default in that case.
+%    \begin{macrocode}
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \bfseries at rm
+    \else\ifx\f at family\sfdef at ult \bfseries at sf
+    \else\ifx\f at family\ttdef at ult \bfseries at tt
+%    \end{macrocode}
+%    If not \cs{bfdefault} is used.
+%    \begin{macrocode}
+    \else                        \bfdefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\mdseries}
+%    This document command switches to the medium series.
+%    \begin{macrocode}
+\DeclareRobustCommand\mdseries{%
+  \not at math@alphabet\mdseries\relax
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \mdseries at rm
+    \else\ifx\f at family\sfdef at ult \mdseries at sf
+    \else\ifx\f at family\ttdef at ult \mdseries at tt
+    \else                        \mddefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+%  \begin{macro}{\rmfamily}
+%    Here are the document level commands for changing the main font
+%    families, or rather, here is a documented outline of the code,
+%    the actual code is then streamlined and somewhat generalized.
+%\begin{verbatim}
+%\DeclareRobustCommand\rmfamily{%
+%  \not at math@alphabet\rmfamily\mathrm
+%\end{verbatim}
+%    If families are changed then we have to do a bit more work.
+%    In the original NFSS implementation
+%    a family change kept encoding, series shape and size unchanged
+%    but now we can't any
+%    longer simply reuse the current series value. Instead we may have
+%    to change it from one family default to the next.
+%\begin{verbatim}
+%  \expand at font@defaults
+%\end{verbatim}
+%    We have to do the testing while the current family is still
+%    unchanged but we have to do the adjustment of the series after it
+%    got changed (because the new family might has different sets
+%    ofshapes available and we certainly don't want to see
+%    substituation going on. So we use \cs{target at series@value} to
+%    hold the target series (if any).
+%\begin{verbatim}
+%  \let\target at series@value\@empty
+%\end{verbatim}
+%    Thus, if the current family is the sans family
+%\begin{verbatim}
+%  \ifx\f at family\sfdef at ult
+%\end{verbatim}
+%    and if we using the medium series of the sans family
+%\begin{verbatim}
+%       \ifx\f at series\mdseries at sf
+%\end{verbatim}
+%    then lets switch to the medium series for the serif family
+%\begin{verbatim}
+%                                       \let\target at series@value\mdseries at rm
+%\end{verbatim}
+%    and if we use the bold series of the sans family switch to the
+%    bold default of the serif family:
+%\begin{verbatim}
+%       \else\ifx\f at series\bfseries at sf  \let\target at series@value\bfseries at rm
+%\end{verbatim}
+%    However, the sans family may not have any specific defaults set,
+%    so we also compare with the overall defaults.
+%\begin{verbatim}
+%       \else\ifx\f at series\mddef at ult    \let\target at series@value\mdseries at rm
+%       \else\ifx\f at series\bfdef at ult    \let\target at series@value\bfseries at rm
+%\end{verbatim}
+%    If neither test was true we leave the series alone. This way a
+%    special manual setting such as \verb=\fontseries{lc}= is not
+%    undone if the family changes (of course there may not be any
+%    support for it in the new family but then the NFSS
+%    substitution kicks in and  sorts it out).
+%\begin{verbatim}
+%       \fi\fi\fi\fi
+%
+%\end{verbatim}
+%    We need to do the same if the current family is the typewriter family:
+%\begin{verbatim}
+%  \else\ifx\f at family\ttdef at ult
+%       \ifx\f at series\mdseries at tt       \let\target at series@value\mdseries at rm
+%       \else\ifx\f at series\bfseries at tt  \let\target at series@value\bfseries at rm
+%       \else\ifx\f at series\mddef at ult    \let\target at series@value\mdseries at rm
+%       \else\ifx\f at series\bfdef at ult    \let\target at series@value\bfseries at rm
+%       \fi\fi\fi\fi
+%  \fi\fi
+%\end{verbatim}
+%    With these preparations for series out of the way we can now
+%    change the font family to \cs{rmdefault}.
+%\begin{verbatim}
+%  \fontfamily\rmdefault
+%\end{verbatim}
+%
+%    If \cs{target at series@value} is still empty there is nothing more
+%    to do other than selecting the new family. However, if not then
+%    we should update the font series now as well. But there is one
+%    further subtle issue. We may not have loaded an \texttt{.fd} file
+%    for our target font family yet. In the past that was done in
+%    \cs{selectfont} if necessary but since we are now doing all the
+%    comparisons in \cs{fontseries} we need to make sure that the font
+%    family specifications are already loaded prior to calling
+%    \cs{fontseries}.
+%\begin{verbatim}
+%  \ifx\target at series@value\@empty \else
+%    \maybe at load@fontshape
+%\end{verbatim}
+%    Updating the series in this case means directly changing
+%    \cs{f at series} to the target value. We don't want to go through
+%    \cs{fontseries} because that would apply the mappings and then
+%    \texttt{bx + b} would keep \texttt{bx} instead of changing to
+%    \texttt{b} as desired.
+%    as
+%\begin{verbatim}
+%    \let\f at series\target at series@value
+%  \fi
+%  \selectfont}
+%\end{verbatim}
+%
+%    So now for the real definition: most of the code above gets
+%    delegated to a helper command \cs{prepare at family@series at update}
+%    so that the definition becomes again fairly short. In addition we
+%    add a hook, mainly for our Japanese friends so that the code can
+%    be extended prior to the call to \cs{selectfont}.
+%
+% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
+%    \begin{macrocode}
+\DeclareRobustCommand\rmfamily{%
+   \not at math@alphabet\rmfamily\mathrm
+%    \end{macrocode}
+%    This holds all the code discussed above, first argument is the
+%    meta family, i.e., \texttt{rm} in this case, and second argument
+%    is the default family name, e.g., \texttt{cmr} indirectly
+%    accessed via \cs{rmdefault}. This is calling \cs{fontfamily} and
+%    if necessary \cs{fontseries} as outline above.
+%    \begin{macrocode}
+   \prepare at family@series at update{rm}\rmdefault
+%    \end{macrocode}
+%    The comes the hook code (by default a no-op) and finally the call
+%    to \cs{selectfont}.
+%    \begin{macrocode}
+   \@rmfamilyhook
+   \selectfont}
+%    \end{macrocode}
+%
+%  \begin{macro}{\sffamily}
+%  \begin{macro}{\ttfamily}
+%    The definitions for \cs{sffamily} and \cs{ttfamily} are similar,
+%    the differences are only in what font families get checked.
+% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
+%    \begin{macrocode}
+\DeclareRobustCommand\sffamily{%
+   \not at math@alphabet\sffamily\mathsf
+   \prepare at family@series at update{sf}\sfdefault
+   \@sffamilyhook
+   \selectfont}
+%    \end{macrocode}
+%
+% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
+%    \begin{macrocode}
+\DeclareRobustCommand\ttfamily{%
+   \not at math@alphabet\ttfamily\mathtt
+   \prepare at family@series at update{tt}\ttdefault
+   \@ttfamilyhook
+   \selectfont}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%
+%
+%  \begin{macro}{\@rmfamilyhook}
+%  \begin{macro}{\@sffamilyhook}
+%  \begin{macro}{\@ttfamilyhook}
+%    By default the hooks do nothing.
+%    \begin{macrocode}
+\let\@rmfamilyhook\@empty
+\let\@sffamilyhook\@empty
+\let\@ttfamilyhook\@empty
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\prepare at family@series at update}
+%    This is core command that prepares for the family update. The big
+%    difference to the documented code above is that the nested
+%    \cs{ifx} statements seem to be missing. Instead we loop through
+%    an internal list that holds the names of the three meta
+%    families. This approach allows us to extend the mechanism at a
+%    later stage to allow for additional named meta families.
+%
+%  \begin{macro}{\@meta at family@list}
+%    Here is the current definition of that list:
+%    \begin{macrocode}
+\def\@meta at family@list{\@elt{rm}\@elt{sf}\@elt{tt}}
+%    \end{macrocode}
+%  \end{macro}
+%
+%    \begin{macrocode}
+\def\prepare at family@series at update#1#2{%
+   \expand at font@defaults
+%    \end{macrocode}
+%    We prepare for changing the current series. We have to find it
+%    before changing the family as discussed above.
+%    \begin{macrocode}
+   \let\target at series@value\@empty
+   \def\target at meta@family at value{#1}%
+%    \end{macrocode}
+%    To find it we loop over the meta family list with a suitable
+%    definition of \cs{@elt}.
+%    \begin{macrocode}
+   \let\@elt\update at series@target at value
+      \@meta at family@list
+   \let\@elt\relax
+%    \end{macrocode}
+%    That will figure out the correct series value to use without updating
+%    it. Now we can change the family.
+%    \begin{macrocode}
+   \fontfamily#2%
+%    \end{macrocode}
+%    After that we update the series. That code is again like the one
+%    above.
+%    \begin{macrocode}
+   \ifx\target at series@value\@empty
+   \else
+     \maybe at load@fontshape
+     \let\f at series\target at series@value
+   \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%  \begin{macro}{\update at series@target at value}
+%    In this macro used in the look you basically find the nested
+%    \cs{ifx}s from the outline above. The only difference is that is
+%    it is parameterized instead of being written out and only for one
+%    block of tests because the code is called reatedly when looping
+%    over the meta family list. From the list we get each meta family
+%    name in turn.
+%    \begin{macrocode}
+\def\update at series@target at value#1{%
+%    \end{macrocode}
+%    There is one additional test at the beginning, because the list
+%    contains all meta families and we need to ignore the case where
+%    current one from the list and target one are identical.
+%    \begin{macrocode}
+  \def\@reserveda{#1}%
+  \ifx\target at meta@family at value\@reserveda   % rm -> rm do nothing
+  \else
+%    \end{macrocode}
+%    We only ``do'' something if the current font family matches the
+%    current meta family.
+%    \begin{macrocode}
+    \expandafter\ifx\csname#1def at ult\endcsname\f at family
+%    \end{macrocode}
+%    If that's the case we know that this is the block that applies
+%    (only one meta family can match). So  to speed things up we
+%    change \cs{@elt} so that the rest of the loop gets gobbled.
+%    \begin{macrocode}
+      \let\@elt\@gobble
+%    \end{macrocode}
+%    Then we try to find the right new value for the series (as
+%    explained above). The two macros defined first are only there
+%    because we now need to use \cs{csname} and this way the code will
+%    be a little faster.
+%    \begin{macrocode}
+      \expandafter\let\expandafter\@reservedb
+                      \csname mdseries@\target at meta@family at value\endcsname
+      \expandafter\let\expandafter\@reservedc
+                      \csname bfseries@\target at meta@family at value\endcsname
+%    \end{macrocode}
+%    This here is now identical to the nested \cs{ifx} block from the
+%    outline, except that it there appeared twice in
+%    \cs{rmfamily}. This is now covered by looping and stopping the
+%    loop when a match was found.
+%    \begin{macrocode}
+      \expandafter\ifx\csname mdseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedb
+      \else\expandafter\ifx\csname bfseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedc
+      \else\ifx\f at series\mddef at ult    \let\target at series@value\@reservedb
+      \else\ifx\f at series\bfdef at ult    \let\target at series@value\@reservedc
+      \fi\fi\fi\fi
+    \fi
+  \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%  \begin{macro}{\init at series@setup}
+%    This is code to be run at begin document \ldots
+%    \begin{macrocode}
+\def\init at series@setup{%
+%    \end{macrocode}
+%
+%    We only want \texttt{bx} in \cs{bfseries at rm} if the roman font is
+%    Computer Modern or Latin Modern, otherwise it should be
+%    \texttt{b}. It was set to \texttt{bx} in the kernel so that any
+%    font use with the default families in the preamble get this
+%    value. Now at the real document start we check if the fonts have
+%    been changed. If there was a \cs{DeclareFontSeriesDefault}
+%    declaration or \cs{bfseries at rm} was directly altered then it
+%    differs from \cs{bfseries at rm@kernel} and we do nothing.
+%    Otherwise we check if \cs{rmdefault} is one of the CM/LM font
+%    families and if so we keep \texttt{bx} otherwise we change it to
+%    \texttt{b}.
+%
+%    This approach doesn't cover one case: CM/LM got changed to a
+%    different family that supports \texttt{bx}, but the support
+%    package for that family used \verb=\def\bfseries at rm{bx}= instead
+%    of using  \cs{DeclareFontSeriesDefault}. In that case the code
+%    here changes it to \texttt{b}. Solution: use the
+%    \cs{DeclareFontSeriesDefault} interface.
+%    \begin{macrocode}
+  \ifx\bfseries at rm@kernel\bfseries at rm
+    \expandafter\in@\expandafter{\rmdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at rm{b}\fi\fi
+%    \end{macrocode}
+%    Same approach for \cs{bfseries at sf} and \cs{bfseries at tt}:
+%    \begin{macrocode}
+  \ifx\bfseries at sf@kernel\bfseries at sf
+    \expandafter\in@\expandafter{\sfdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at sf{b}\fi\fi
+  \ifx\bfseries at tt@kernel\bfseries at tt
+    \expandafter\in@\expandafter{\ttdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at tt{b}\fi\fi
+%    \end{macrocode}
+%
+%    If the document preamble has changed the \cs{familydefault} or if
+%    the if the \cs{rmdefault} contains a new font family, we have to
+%    adjust the series defaults accordingly, before starting
+%    typesetting.
+%
+%    On the other hand if we still typeset in CM or LM then
+%    \cs{bfdefault} is wrong since it is now saying \texttt{b} and not
+%    \texttt{bx}.
+
+%    To fix this we run \cs{rmfamily}, \cs{sffamily} or
+%    \cs{ttfamily} depending on the situation and this will correct
+%    the setup for us.
+%    \begin{macrocode}
+  \expand at font@defaults
+  \ifx\famdef at ult\rmdef at ult      \rmfamily
+  \else\ifx\famdef at ult\sfdef at ult \sffamily
+  \else\ifx\famdef at ult\ttdef at ult \ttfamily
+  \fi\fi\fi
+}%
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%    As the kernel code now implements the same functionality as
+%    \textsf{mweights}, albeit internally coded slightly differently,
+%    that package shouldn't be loaded any more.  We therefore pretend
+%    that it already got loaded. Thus, a font package that tries to
+%    load it and then sets \cs{mdseries at ..}, etc.\ will continue to
+%    work but will now use the kernel code.
+%
+%    Of course, mid-term such package should probably use
+%    \cs{DeclareFontSeriesDefault} instead of making using low-level
+%    definitions.
+%
+%    \begin{macrocode}
+\expandafter\let\csname ver at mweights.sty\endcsname\fmtversion
+%    \end{macrocode}
+%
+%
+%
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\DeclareFontSeriesDefault}{Custom series}%
+%<latexrelease>
+%<latexrelease>\let\DeclareFontSeriesDefault\@undefined
+%<latexrelease>\let\bfseries at rm\@undefined
+%<latexrelease>\let\bfseries at sf\@undefined
+%<latexrelease>\let\bfseries at tt\@undefined
+%<latexrelease>\let\bfseries at rm@kernel\@undefined
+%<latexrelease>\let\bfseries at sf@kernel\@undefined
+%<latexrelease>\let\bfseries at tt@kernel\@undefined
+%<latexrelease>\let\mdseries at rm\@undefined
+%<latexrelease>\let\mdseries at sf\@undefined
+%<latexrelease>\let\mdseries at tt\@undefined
+%<latexrelease>\let\expand at font@defaults\@undefined
+%<latexrelease>\expandafter\let\csname ver at mweights.sty\endcsname\@undefined
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\bfseries
+%<latexrelease>        {\not at math@alphabet\bfseries\mathbf
+%<latexrelease>         \fontseries\bfdefault\selectfont}
+%<latexrelease>\DeclareRobustCommand\mdseries
+%<latexrelease>        {\not at math@alphabet\mdseries\relax
+%<latexrelease>         \fontseries\mddefault\selectfont}
+%<latexrelease>\DeclareRobustCommand\rmfamily
+%<latexrelease>        {\not at math@alphabet\rmfamily\mathrm
+%<latexrelease>         \fontfamily\rmdefault\selectfont}
+%<latexrelease>\DeclareRobustCommand\sffamily
+%<latexrelease>        {\not at math@alphabet\sffamily\mathsf
+%<latexrelease>         \fontfamily\sfdefault\selectfont}
+%<latexrelease>\DeclareRobustCommand\ttfamily
+%<latexrelease>        {\not at math@alphabet\ttfamily\mathtt
+%<latexrelease>         \fontfamily\ttdefault\selectfont}
+%<latexrelease>
+%<latexrelease>\let\@rmfamilyhook\@undefined
+%<latexrelease>\let\@sffamilyhook\@undefined
+%<latexrelease>\let\@ttfamilyhook\@undefined
+%<latexrelease>\let\@meta at family@list\@undefined
+%<latexrelease>\let\prepare at family@series at update\@undefined
+%<latexrelease>\let\update at series@target at value\@undefined
+%<latexrelease>
+%    \end{macrocode}
+%    This is always called in \cs{document} so don't make it undefined.
+%    \begin{macrocode}
+%<latexrelease>\let\init at series@setup\relax
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+
+%
+%
+%
+% \section{Supporting nested emphasis}
+%
+%    By default \LaTeXe{} supports two levels of nested emphasis: if
+%    the current font has an upright shape then it switches to
+%    \cs{itshape} otherwise to \cs{eminnershape} (which defaults to
+%    \cs{upshape}). This means nested emphasis will ocssilate between
+%    italic and upright shapes.
+%
+%    Sometimes it would be nice to allow for a more lengthly sequence,
+%    but instead of providing a fixed one \LaTeX{} now offers a
+%    general mechanism that allows to define arbitrary sequences.
+%
+%    \DescribeMacro\DeclareEmphSequence
+%    \DescribeMacro\emforce
+%
+%    This declaration expects a comma separated list of (font) change
+%    declarations corresponding to increasing levels of emphasis.
+%    The mechanism tries to be ``smart'' and verifies that the
+%    declarations actually alter the font. If not it will ignore this
+%    level and tries the next one---the assumption being that
+%    there was a manual font change in the document to the font that
+%    is now supposed to be used for emphasis. Of course, this only
+%    works if the declarations in the list actually change the font
+%    and not, say, just the color.
+%    In such a case one has to use \cs{emforce} to which directs the
+%    mechanism to use the level even if the font attributes haven't changed.
+%
+%  \DescribeMacro\emreset
+%    If the nesting is so deep, that the specified  levels are
+%    exhausted then \cs{emreset} is used as a final set of
+%    declarations (which by default returns
+%    back to the upright shape). Any additional nesting levels will
+%    then reuse the list from its beginning.
+%
+%
+%
+%  \begin{macro}{\DeclareEmphSequence}
+%
+%    \cs{DeclareEmphSequence} expects a clist of declaration. Spaces in the
+%    argument are dropped to avoid surious spaces in the output. The
+%    declarations are additive. At the very end the shape is reset
+%    using |\emreset| and |\emforce| so that this case is never
+%    skipped.\footnote{Maybe we should not add \cs{emforce} but allow
+%    that case to be  skipped as well. Of course, that might result in
+%    an endless loop if somebody defines a sequence without any font
+%    change and without \cs{emforce} but \ldots}
+%    Further nested calls restart at the beginning.
+% \changes{v3.1e}{2019/12/17}{Provide \cs{emph} sequences}
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\DeclareEmphSequence}{Nested emph}%
+\def\DeclareEmphSequence#1{%
+  \protected at edef\emfontdeclare at clist{\zap at space#1, \@empty\emforce\emreset}%
+}
+%    \end{macrocode}
+%    By default the it is empty, in which case \cs{eminnershape} is
+%    used by \LaTeX.
+%    \begin{macrocode}
+\let\emfontdeclare at clist\@empty
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\emrest}
+%    Reset the font to upright and upper/lower case. With the default rules
+%    using \cs{shapedefault} does that for us but to be on the safe side we
+%    do it like this:
+%    \begin{macrocode}
+\DeclareRobustCommand\emreset{\upshape\ulcshape}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\em}
+%    The new definition for \cs{em} (and implicitly \cs{emph} is like
+%    it was before if \cs{emfontdeclare at clist} is empty.
+%    \begin{macrocode}
+\DeclareRobustCommand\em{%
+  \@nomath\em
+  \ifx\emfontdeclare at clist\@empty
+    \ifdim \fontdimen\@ne\font >\z@
+      \eminnershape \else \itshape \fi
+  \else
+%    \end{macrocode}
+%    But if not we use the list to decide how to do emphasis.
+%
+%    We use the current font to check if the declarations have any
+%    effect, so even a size change is allowed and identified as a
+%    modification (but a color change, for example, isn't).  So first
+%    we save the current status.
+%    \begin{macrocode}
+  \edef\em at currfont{\csname\curr at fontshape/\f at size\endcsname}%
+%    \end{macrocode}
+%    Then we grab the next element from the list and check if it can
+%    be used.
+%    \begin{macrocode}
+    \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+  \fi
+}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\eminnershape{\upshape}
+%    \end{macrocode}
+%  \end{macro}
+%
+%
+%
+%  \begin{macro}{\do at emfont@update}
+%    We know that the list (if not empty) has at least 2 elements
+%    separated by a comma, so we pick up the first in \texttt{\#1} and
+%    the rest in \texttt{\#2}.
+%    \begin{macrocode}
+\def\do at emfont@update#1,#2\do at emfont@update{%
+%    \end{macrocode}
+%    First action is to alter the list and move the first entry to the end
+%    \begin{macrocode}
+  \def\emfontdeclare at clist{#2,#1}%
+%    \end{macrocode}
+%    Then we execute current declaration. Appending |\selectfont| means one
+%    can write just |\fontshape{it}}| and that works then too.
+%    \begin{macrocode}
+%  \typeout{Use: \detokenize{#1}}%
+  #1\selectfont
+%    \end{macrocode}
+%    We then compare the current font with our saved version, but with
+%    a slight twist: we add \cs{em at force} at the end of the
+%    name. Normally this is empty so has no effect but if there was an
+%    \cs{emforce} as part of \texttt{\#1} it will append a |/| to the
+%    font name (making it invalid) thus this will then always fail the
+%    test.
+%
+%    If the test fails we are done and the declarations will be used.
+%    Otherwise we will try the next declaration in the sequence.
+%    \begin{macrocode}
+  \expandafter\ifx\csname \curr at fontshape/\f at size\em at force
+%    \end{macrocode}
+%    For the comparison with \cs{ifx} we have to exand
+%    \cs{em at currfont} once as the relevant info is inside.
+%    \begin{macrocode}
+                          \expandafter\endcsname
+                  \em at currfont
+  \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+%    \end{macrocode}
+%    If \cs{emforce} was used, we have to undo its effect:
+%    \begin{macrocode}
+  \else
+    \let\em at force\@empty
+  \fi
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\emforce}
+%  \begin{macro}{\em at force}
+%    The definition of \cs{emforce} is simple: change \cs{em at force} to
+%    make the above test always invalid.
+%    \begin{macrocode}
+\protected\def\emforce{\def\em at force{/}}
+\let\em at force\@empty
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+
+
+
+%
 % \begin{macro}{\em}
 % \changes{v1.2b}{1990/01/28}{Call to \cs{@nomath} added.}
 % \changes{v3.1a}{2015/01/09}{Allow \cs{emph} to produce small caps (latexrelease)}
 % \begin{macro}{\eminnershape}
 % \changes{v3.1a}{2015/01/09}{macro added (latexrelease)}
+%
+%  These are the older definitions for \cs{em}, prior to 2020.
+%
 % We also have to define the {\em emphasize\/} font change command
 % (i.e.\ |\em|). This command will look is the current font is
 % sloped (i.e.\ has a positive |\fontdimen1|) and will then
 % select either |\upshape| or |\itshape|.
 %    \begin{macrocode}
-%</2ekernel>
-%<latexrelease>\IncludeInRelease{2015/01/01}{\eminnershape}{\eminnershape}%
-%<*2ekernel|latexrelease>
-\DeclareRobustCommand\em
-        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
-                       \eminnershape \else \itshape \fi}%
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\def\eminnershape{\upshape}%
-%</2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2015/01/01}{\DeclareEmphSequence}{Nested emph}%
+%<latexrelease>\let\DeclareEmphSequence\@undefined
+%<latexrelease>\let\emfontdeclare at clist\@undefined
+%<latexrelease>\let\emreset\@undefined
+%<latexrelease>\let\do at emfont@update\@undefined
+%<latexrelease>\let\emforce\@undefined
+%<latexrelease>\let\em at force\@undefined
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\em
+%<latexrelease>        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
+%<latexrelease>                       \eminnershape \else \itshape \fi}%
 %<latexrelease>\EndIncludeInRelease
-%<latexrelease>\IncludeInRelease{0000/00/00}{\eminnershape}{\eminnershape}%
+%<latexrelease>
+%<latexrelease>\IncludeInRelease{0000/00/00}{\DeclareEmphSequence}{Nested emph}%
 %<latexrelease>\DeclareRobustCommand\em
 %<latexrelease>        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
 %<latexrelease>                       \upshape \else \itshape \fi}%
@@ -230,6 +1076,12 @@
 % \end{macro}
 %
 %
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+%
 %  \begin{macro}{\not at math@alphabet}
 %    This function generates an error message when it is called in
 %    math mode. The same function should be defined in
@@ -295,7 +1147,7 @@
 %    \begin{macrocode}
 \def\newfont#1#2{\@ifdefinable#1{\font#1=#2\relax}}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareRobustCommand\symbol[1]{\char #1\relax}
 %    \end{macrocode}
@@ -331,35 +1183,6 @@
 % \end{macro}
 %
 %
-%  \begin{macro}{\oldstylenums}
-%    This macro implements old style numerals but only works if we
-%    assume that the standard math fonts are used. Thus it needs
-%    changing in case other math encodings are used.
-%    \begin{macrocode}
-\DeclareRobustCommand\oldstylenums[1]{%
-   \begingroup
-%    \end{macrocode}
-%    Provide spacing using the interword space of the current font.
-%    \begin{macrocode}
-    \spaceskip\fontdimen\tw@\font
-%    \end{macrocode}
-%    Then switch to the math italic font. We don't change the current
-%    value of |\f at series| which means that you can use bold numerals
-%    if |\bfseries| is in force. As family we use |\rmdefault| which
-%    means that this only works if there exist an |OML| encoded
-%    version of that font or rather a corresponding |.fd| file (which
-%    is the case for standard \LaTeX{} fonts even though they only
-%    contain substitutions).
-% \changes{v3.0j}{1999/02/12}{Use \cs{rmdefault} instead of \texttt{cmm}
-%                 (pr/2954)}
-%    \begin{macrocode}
-    \usefont{OML}{\rmdefault}{\f at series}{it}%
-    \mathgroup\symletters #1%
-   \endgroup
-}
-%    \end{macrocode}
-%  \end{macro}
-%
 % \begin{macro}{\hexnumber@}
 %    To set up \LaTeX's special math character
 %    definitions we first provide a macro to generate hexadecimal
@@ -528,6 +1351,7 @@
 \let\@addtofilelist\@gobble
 %    \end{macrocode}
 %
+%
 % Ditto for math although I don't think that we will get a lot of
 % customisation :-)
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/ltfsstrc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltfsstrc.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltfsstrc.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -34,10 +34,10 @@
 %
 %<package>\NeedsTeXFormat{LaTeX2e}[1995/05/16]
 %<package>\ProvidesPackage{tracefnt}
-%<package>     [2015/02/21 v3.0k  Standard LaTeX package (font tracing)]
+%<package>     [2019/10/11 v3.0l  Standard LaTeX package (font tracing)]
 % \fi
 % \ProvidesFile{ltfsstrc.dtx}
-%              [2015/02/21 v3.0k LaTeX Kernel (NFSS tracing)]
+%              [2019/10/11 v3.0l LaTeX Kernel (NFSS tracing)]
 %
 % \iffalse
 %<+checkmem>\CHECKMEM
@@ -731,7 +731,7 @@
 %
 % \subsubsection{Outline of algorithm for math font sizes}
 %
-% \TeX{} uses the the math fonts that are current when the end of a
+% \TeX{} uses the math fonts that are current when the end of a
 % formula is reached. If we don't want to keep font setups local to
 % every formula (which would result in an enormous overhead, we have
 % to be careful not to end up with the wrong setup in case formulas
@@ -1130,7 +1130,7 @@
 %      \execute at size@function{}
 %\end{verbatim}
 %    This means: the default (empty) size function will be executed,
-%    with its optional argument argument set to empty and its mandatory
+%    with its optional argument set to empty and its mandatory
 %    argument set to |cmss12| by |\set at simple@size at args|.
 %    As we discussed earlier, the effect of the default size function
 %    is to load the given external font (cmss12) at the specified size
@@ -1371,7 +1371,7 @@
 %    \begin{macrocode}
      \def\reserved at f{\extract at rangefontinfo<#3\@nnil}%
 %    \end{macrocode}
-%    Now we check the the size against |\f at size|.  If it is not equal
+%    Now we check the size against |\f at size|.  If it is not equal
 %    |\f at size| it is no good and we have to recurse.
 %    \begin{macrocode}
      \ifdim \f at size \p@=#1\p@
@@ -1731,7 +1731,7 @@
 %    the optional argument (if present) is ignored. The font encoding
 %    scheme cannot be changed. Therefore, the first thing we do is to
 %    prepend the encoding scheme.
-% \changes{v2.0b}{1992/07/26}{}
+%        {documentation fixes}
 %    \begin{macrocode}
 \DeclareSizeFunction{sub}{\sub at sfcnt\@font at warning}
 \DeclareSizeFunction{ssub}{\sub at sfcnt\@font at info}
@@ -1787,6 +1787,40 @@
 %    \end{macrocode}
 %  \end{macro}
 %
+%  \begin{macro}{\@font at aliasinfo}
+% \changes{v3.0l}{2019/10/11}{Added 'alias' size function}
+%    Sometimes a substitution is only done to map a long font name to
+%    a standard shape or series, e.g.,
+%\begin{verbatim}
+%\DeclareFontShape{T1}{Roboto-LF}{b}{it}{<-> alias * Roboto-LF/bold/it}{}
+%\end{verbatim}
+%    Using the \texttt{ssub} function in that case will give a strange
+%    (and incorrect) warning. As an alternative we therefore offer the
+%    size function \texttt{alias}. It will still add some info into
+%    the \texttt{.log} file, but no longer complains that the font
+%    shape is not available. It is implemented by grabbing the default
+%    warning text and replacing it with a new one.
+%    \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/01}%
+%<latexrelease>                 {\@font at aliasinfo}{alias size function}%
+\DeclareSizeFunction{alias}{\sub at sfcnt\@font at aliasinfo}
+\def\@font at aliasinfo#1{%
+  \@font at info{Font\space shape\space `\curr at fontshape'\space
+              aliased\space to\MessageBreak `\mandatory at arg'}%
+}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\@font at aliasinfo}{alias size function}%
+%<latexrelease>\let\s at fct@alias\@undefined
+%<latexrelease>\let\@font at aliasinfo\@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
+%  \end{macro}
 %
 %  \begin{macro}{\s at fct@subf}
 %    The |subf| size function allows substitution of another font. The

Modified: trunk/Master/texmf-dist/source/latex/base/lthyphen.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/lthyphen.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/lthyphen.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltidxglo.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltidxglo.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltidxglo.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltlength.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltlength.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltlength.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltlists.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltlists.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltlists.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -744,7 +744,7 @@
                 \everypar{}\@endpefalse}}
 %<latexrelease>\EndIncludeInRelease
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<latexrelease>\IncludeInRelease{0000/00/00}{\@doendpe}{clubpenalty fix}%
 %<latexrelease>\def\@doendpe{\@endpetrue
@@ -772,6 +772,7 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\item}
 % \changes{LaTeX2.09}{1992/09/18}
 %     {(RmS) Added warning if \cs{item} is used in math mode}
 % \changes{v1.0c}{1994/04/28}
@@ -778,7 +779,6 @@
 %     {Replaced \cs{@ltxnomath} by \cs{@inmatherr}}
 % \changes{v1.0d}{1994/05/03}
 %     {Removed superfluous braces}
-% \begin{macro}{\item}
 %    \begin{macrocode}
 \def\item{%
   \@inmatherr\item
@@ -837,7 +837,6 @@
 %    This |\if at inlabel| check is needed in case an item starts of
 %    inside a group so that |\everypar| does not become empty
 %    outside that group.
-% \@nobreakfalse, etc etc.
 %    \begin{macrocode}
     \if at inlabel
       \global\@inlabelfalse

Modified: trunk/Master/texmf-dist/source/latex/base/ltlogos.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltlogos.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltlogos.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltluatex.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltluatex.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltluatex.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2015-2019
+% Copyright (C) 2015-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -28,7 +28,7 @@
 \ProvidesFile{ltluatex.dtx}
 %</driver>
 %<*tex>
-[2019/10/22 v1.1j
+[2020/02/02 v1.1l
 %</tex>
 %<plain>  LuaTeX support for plain TeX (core)
 %<*tex>
@@ -152,7 +152,7 @@
 %
 % \section{Plain \TeX\ interface}
 %
-% The \textsf{ltluatex} interface may be used with plain \TeX\ using 
+% The \textsf{ltluatex} interface may be used with plain \TeX\ using
 % |\input{ltluatex}|. This inputs |ltluatex.tex| which inputs
 % |etex.src| (or |etex.sty| if used with \LaTeX)
 % if it is not already input, and then defines some internal commands to
@@ -199,7 +199,7 @@
 % \noindent
 % \DescribeMacro{new_chunkname}
 % |luatexbase.new_chunkname(|\meta{chunkname}|)|\\
-% Returns an allocation number for a Lua chunk name for use with 
+% Returns an allocation number for a Lua chunk name for use with
 % |\directlua| and |\latelua|, indexed from~$1$.
 % The number is returned and also \meta{name} argument is added to the
 % |lua.name| array at that index.
@@ -339,7 +339,7 @@
 % \DescribeMacro{remove_from_callback}
 % |luatexbase.remove_from_callback(|\meta{callback}, \meta{description}|)|
 % Removes the callback function with \meta{description} from the \meta{callback}.
-% The removed function and its description 
+% The removed function and its description
 % are returned as the results of this function.
 %
 % \noindent
@@ -407,7 +407,7 @@
 %    \end{macrocode}
 %
 % \subsection{Older \LaTeX{}/Plain \TeX\ setup}
-% 
+%
 %    \begin{macrocode}
 %<*tex>
 %    \end{macrocode}
@@ -473,7 +473,7 @@
 % End of proposed changes to \texttt{etex.src}
 %
 % \subsubsection{luatex specific settings}
-% 
+%
 % Switch to global cf |luatex.sty| to leave room for inserts
 % not really needed for luatex but possibly most compatible
 % with existing use.
@@ -675,7 +675,7 @@
   \chardef\unicoderead=\numexpr\count16 + 1\relax
   \openin\unicoderead=UnicodeData.txt %
   \loop\unless\ifeof\unicoderead %
-    \read\unicoderead to \unicodedataline  
+    \read\unicoderead to \unicodedataline
     \unless\ifx\unicodedataline\storedpar
       \expandafter\parseunicodedataI\unicodedataline\relax
     \fi
@@ -785,7 +785,7 @@
 %    \end{macrocode}
 % Note name change required on older luatex, for hash table access.
 %    \begin{macrocode}
-    \countdef    \CountZero    =0 % 
+    \countdef    \CountZero    =0 %
     \dimendef    \dimenzero    =0 %
     \mathchardef \mathcharzero =0 %
     \muskipdef   \muskipzero   =0 %
@@ -978,7 +978,7 @@
   end
   return first_head .. " "
     .. string_gsub(
-         text 
+         text
 	 .. "on input line "
          .. tex.inputlineno, "\n", "\n" .. cont .. " "
       )
@@ -1045,7 +1045,7 @@
 if tex.luatexversion > 81 then
   createtoken = token.create
 elseif tex.luatexversion > 79 then
-  createtoken = newtoken.create 
+  createtoken = newtoken.create
 end
 local hashtokens    = tex.hashtokens()
 local luatexversion = tex.luatexversion
@@ -1134,7 +1134,7 @@
 %    \begin{macrocode}
 local whatsit_count_name = whatsit_count_name or "e at alloc@whatsit at count"
 local function new_whatsit(name)
-  tex_setcount("global", whatsit_count_name, 
+  tex_setcount("global", whatsit_count_name,
                          tex_count[whatsit_count_name] + 1)
   if tex_count[whatsit_count_name] > 65534 then
     luatexbase_error("No room for a new custom whatsit")
@@ -1157,7 +1157,7 @@
 local bytecode_count_name =
                          bytecode_count_name or "e at alloc@bytecode at count"
 local function new_bytecode(name)
-  tex_setcount("global", bytecode_count_name, 
+  tex_setcount("global", bytecode_count_name,
                          tex_count[bytecode_count_name] + 1)
   if tex_count[bytecode_count_name] > 65534 then
     luatexbase_error("No room for a new bytecode register")
@@ -1180,7 +1180,7 @@
 local chunkname_count_name =
                         chunkname_count_name or "e at alloc@luachunk at count"
 local function new_chunkname(name)
-  tex_setcount("global", chunkname_count_name, 
+  tex_setcount("global", chunkname_count_name,
                          tex_count[chunkname_count_name] + 1)
   local chunkname_count = tex_count[chunkname_count_name]
   chunkname_count = chunkname_count + 1
@@ -1188,7 +1188,7 @@
     luatexbase_error("No room for a new chunkname")
   end
   lua.name[chunkname_count]=name
-  luatexbase_log("Lua chunkname " .. (name or "") .. " = " .. 
+  luatexbase_log("Lua chunkname " .. (name or "") .. " = " ..
                  chunkname_count .. "\n")
   return chunkname_count
 end
@@ -1239,12 +1239,13 @@
 % Numerical codes for callback types, and name-to-value association (the
 % table keys are strings, the values are numbers).
 %    \begin{macrocode}
-local list, data, exclusive, simple = 1, 2, 3, 4
-local types = {
-  list      = list,
-  data      = data,
-  exclusive = exclusive,
-  simple    = simple,
+local list, data, exclusive, simple, reverselist = 1, 2, 3, 4, 5
+local types   = {
+  list        = list,
+  data        = data,
+  exclusive   = exclusive,
+  simple      = simple,
+  reverselist = reverselist,
 }
 %    \end{macrocode}
 %
@@ -1319,6 +1320,7 @@
 % \changes{v1.1k}{2019/10/02}{linebreak\_filter is \texttt{exclusive}}
 % \changes{v1.1k}{2019/10/02}{process\_rule is \texttt{exclusive}}
 % \changes{v1.1k}{2019/10/02}{mlist\_to\_hlist is \texttt{exclusive}}
+% \changes{v1.1l}{2020/02/02}{post\_linebreak\_filter is \texttt{reverselist}}
 %    \begin{macrocode}
   contribute_filter      = simple,
   buildpage_filter       = simple,
@@ -1326,7 +1328,7 @@
   pre_linebreak_filter   = list,
   linebreak_filter       = exclusive,
   append_to_vlist_filter = exclusive,
-  post_linebreak_filter  = list,
+  post_linebreak_filter  = reverselist,
   hpack_filter           = list,
   vpack_filter           = list,
   hpack_quality          = list,
@@ -1337,7 +1339,9 @@
   ligaturing             = simple,
   kerning                = simple,
   insert_local_par       = simple,
+  pre_mlist_to_hlist_filter = list,
   mlist_to_hlist         = exclusive,
+  post_mlist_to_hlist_filter = reverselist,
   new_graf               = simple,
 %    \end{macrocode}
 % Section 8.5: information reporting callbacks.
@@ -1366,10 +1370,12 @@
 % \changes{v1.1j}{2019/06/18}{page\_objnum\_provider added}
 % \changes{v1.1j}{2019/06/18}{process\_pdf\_image\_content added}
 % \changes{v1.1j}{2019/10/22}{page\_objnum\_provider and process\_pdf\_image\_content classified data}
+% \changes{v1.1l}{2020/02/02}{page\_order\_index added}
 %    \begin{macrocode}
   finish_pdffile            = data,
   finish_pdfpage            = data,
   page_objnum_provider      = data,
+  page_order_index          = data,
   process_pdf_image_content = data,
 %    \end{macrocode}
 % Section 8.7: font-related callbacks.
@@ -1377,9 +1383,11 @@
 % \changes{v1.1g}{2018/05/02}{glyph\_not\_found added}
 % \changes{v1.1j}{2019/06/18}{make\_extensible added}
 % \changes{v1.1j}{2019/06/18}{font\_descriptor\_objnum\_provider added}
+% \changes{v1.1l}{2020/02/02}{glyph\_info added}
 %    \begin{macrocode}
   define_font                     = exclusive,
-  glyph_not_found                 = exclusive, 
+  glyph_info                      = exclusive,
+  glyph_not_found                 = exclusive,
   glyph_stream_provider           = exclusive,
   make_extensible                 = exclusive,
   font_descriptor_objnum_provider = exclusive,
@@ -1437,6 +1445,8 @@
 %     |true|, then the same head is passed to the next function. If all
 %     functions return |true|, then |true| is returned, otherwise the return
 %     value of the last function not returning |true| is used.
+%   \item[reverselist] is a specialized variant of \emph{list} which executes
+%     functions in inverse order.
 %   \item[exclusive] is for functions with more complex signatures; functions in
 %     this type of callback are \emph{not} combined: An error is raised if
 %     a second callback is registered..
@@ -1453,6 +1463,12 @@
   end
 end
 %    \end{macrocode}
+% Default for user-defined |data| callbacks without explicit default.
+%    \begin{macrocode}
+local function data_handler_default(value)
+  return value
+end
+%    \end{macrocode}
 % Handler for |exclusive| callbacks. We can assume |callbacklist[name]| is not
 % empty: otherwise, the function wouldn't be registered in the callback any
 % more.
@@ -1488,6 +1504,39 @@
   end
 end
 %    \end{macrocode}
+% Default for user-defined |list| and |reverselist| callbacks without explicit default.
+%    \begin{macrocode}
+local function list_handler_default()
+  return true
+end
+%    \end{macrocode}
+% Handler for |reverselist| callbacks.
+% \changes{v1.1l}{2020/02/02}{Add reverselist callback type}
+%    \begin{macrocode}
+local function reverselist_handler(name)
+  return function(head, ...)
+    local ret
+    local alltrue = true
+    local callbacks = callbacklist[name]
+    for i = #callbacks, 1, -1 do
+      local cb = callbacks[i]
+      ret = cb.func(head, ...)
+      if ret == false then
+        luatexbase_warning(
+          "Function `" .. cb.description .. "' returned false\n"
+            .. "in callback `" .. name .."'"
+         )
+         break
+      end
+      if ret ~= true then
+        alltrue = false
+        head = ret
+      end
+    end
+    return alltrue and true or head
+  end
+end
+%    \end{macrocode}
 % Handler for |simple| callbacks.
 %    \begin{macrocode}
 local function simple_handler(name)
@@ -1498,15 +1547,28 @@
   end
 end
 %    \end{macrocode}
+% Default for user-defined |simple| callbacks without explicit default.
+%    \begin{macrocode}
+local function simple_handler_default()
+end
+%    \end{macrocode}
 %
-% Keep a handlers table for indexed access.
+% Keep a handlers table for indexed access and a table with the corresponding default functions.
 %    \begin{macrocode}
-local handlers = {
-  [data]      = data_handler,
-  [exclusive] = exclusive_handler,
-  [list]      = list_handler,
-  [simple]    = simple_handler,
+local handlers  = {
+  [data]        = data_handler,
+  [exclusive]   = exclusive_handler,
+  [list]        = list_handler,
+  [reverselist] = reverselist_handler,
+  [simple]      = simple_handler,
 }
+local defaults = {
+  [data]        = data_handler_default,
+  [exclusive]   = nil,
+  [list]        = list_handler_default,
+  [reverselist] = list_handler_default,
+  [simple]      = simple_handler_default,
+}
 %    \end{macrocode}
 %
 % \subsubsection{Public functions for callback management}
@@ -1516,7 +1578,11 @@
 % If a default function is not required, it may be declared as |false|.
 % First we need a list of user callbacks.
 %    \begin{macrocode}
-local user_callbacks_defaults = { }
+local user_callbacks_defaults = {
+  pre_mlist_to_hlist_filter = list_handler_default,
+  mlist_to_hlist = node.mlist_to_hlist,
+  post_mlist_to_hlist_filter = list_handler_default,
+}
 %    \end{macrocode}
 %
 % \begin{macro}{create_callback}
@@ -1523,11 +1589,13 @@
 % \changes{v1.0a}{2015/09/24}{Function added}
 % \changes{v1.0i}{2015/11/29}{Check name is not nil in error message (PHG)}
 % \changes{v1.0k}{2015/12/02}{Give more specific error messages (PHG)}
+% \changes{v1.1l}{2020/02/02}{Provide proper fallbacks for user-defined callbacks without user-provided default handler}
 %   The allocator itself.
 %    \begin{macrocode}
 local function create_callback(name, ctype, default)
+  local ctype_id = types[ctype]
   if not name  or name  == ""
-  or not ctype or ctype == ""
+  or not ctype_id
   then
     luatexbase_error("Unable to create callback:\n" ..
                      "valid callback name and type required")
@@ -1536,12 +1604,17 @@
     luatexbase_error("Unable to create callback `" .. name ..
                      "':\ncallback is already defined")
   end
-  if default ~= false and type (default) ~= "function" then
+  default = default or defaults[ctype_id]
+  if not default then
     luatexbase_error("Unable to create callback `" .. name ..
-                     ":\ndefault is not a function")
-   end
+                     "':\ndefault is required for `" .. ctype ..
+                     "' callbacks")
+  elseif type (default) ~= "function" then
+    luatexbase_error("Unable to create callback `" .. name ..
+                     "':\ndefault is not a function")
+  end
   user_callbacks_defaults[name] = default
-  callbacktypes[name] = types[ctype]
+  callbacktypes[name] = ctype_id
 end
 luatexbase.create_callback = create_callback
 %    \end{macrocode}
@@ -1566,9 +1639,6 @@
   local f
   if not l then
     f = user_callbacks_defaults[name]
-    if l == false then
-	   return nil
-	 end
   else
     f = handlers[callbacktypes[name]](name)
   end
@@ -1759,7 +1829,7 @@
   end
   return d
 end
-luatexbase.callback_descriptions =callback_descriptions 
+luatexbase.callback_descriptions =callback_descriptions
 %    \end{macrocode}
 % \end{macro}
 %
@@ -1781,6 +1851,31 @@
 luatexbase.uninstall = uninstall
 %    \end{macrocode}
 % \end{macro}
+% \begin{macro}{mlist_to_hlist}
+% \changes{v1.1l}{2020/02/02}{|pre/post_mlist_to_hlist| added}
+%   To emulate these callbacks, the ``real'' |mlist_to_hlist| is replaced by a
+%   wrapper calling the wrappers before and after.
+%    \begin{macrocode}
+callback_register("mlist_to_hlist", function(head, display_type, need_penalties)
+  local current = call_callback("pre_mlist_to_hlist_filter", head, display_type, need_penalties)
+  if current == false then
+    flush_list(head)
+    return nil
+  elseif current == true then
+    current = head
+  end
+  current = call_callback("mlist_to_hlist", current, display_type, need_penalties)
+  local post = call_callback("post_mlist_to_hlist_filter", current, display_type, need_penalties)
+  if post == true then
+    return current
+  elseif post == false then
+    flush_list(current)
+    return nil
+  end
+  return post
+end)
+%    \end{macrocode}
+% \end{macro}
 % \endgroup
 %
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/ltmath.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltmath.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltmath.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -260,10 +260,10 @@
 \newif\ifv@
 \newif\ifh@
 %    \end{macrocode}
-%    
 %
 %
 %
+%
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexrelease>
@@ -270,7 +270,7 @@
 %<latexrelease>\IncludeInRelease{2019/10/01}%
 %<latexrelease>                 {\vphantom}{Make commands robust}%
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareRobustCommand\vphantom{\v at true\h at false\ph at nt}
 %    \end{macrocode}
@@ -331,9 +331,9 @@
 \def\finph at nt{%
   \setbox\tw@\null
   \ifv@ \ht\tw@\ht\z@ \dp\tw@\dp\z@\fi
-  \ifh@ \wd\tw@\wd\z@\fi 
+  \ifh@ \wd\tw@\wd\z@\fi
 %    \end{macrocode}
-% \changes{v1.2b}{2018/09/24}{Start LR-mode if necessary (git/49)}   
+% \changes{v1.2b}{2018/09/24}{Start LR-mode if necessary (git/49)}
 %    \begin{macrocode}
   \leavevmode at ifvmode\box\tw@}
 %</2ekernel|latexrelease>
@@ -373,7 +373,7 @@
 \def\mathsm at sh#1#2{%
   \setbox\z@\hbox{$\m at th#1{#2}$}\finsm at sh}
 %    \end{macrocode}
-% \changes{v1.2b}{2018/09/24}{Start LR-mode if necessary (git/49)}   
+% \changes{v1.2b}{2018/09/24}{Start LR-mode if necessary (git/49)}
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexrelease>
@@ -396,7 +396,7 @@
 %    \end{macrocode}
 % \end{macro}
 %
-%    
+%
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexrelease>
@@ -403,7 +403,7 @@
 %<latexrelease>\IncludeInRelease{2019/10/01}%
 %<latexrelease>                 {\cases}{Make commands robust}%
 %    \end{macrocode}
-%    
+%
 % \begin{macro}{\cases}
 % \changes{LaTeX2.09}{1991/08/14}
 %         {(RmS) inserted extra braces around entry for NFSS}
@@ -633,7 +633,7 @@
 %                {(MH) Fixed potential problem in \cs{[} (pr/3399).}
 % \begin{macro}{\]}
 %    Produces |$$...$$| with checks that |\[| isn't used in math mode,
-%    and that |\]| is only used in display math mode (though there is no 
+%    and that |\]| is only used in display math mode (though there is no
 %    real test that this display math started with |\[| and not with |$$|).
 % \changes{v1.1h}{2015/01/08}{Make Robust (latexrelease)}
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/ltmiscen.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltmiscen.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltmiscen.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -32,7 +32,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltmiscen.dtx}
-             [2019/11/10 v1.1r LaTeX Kernel (Misc. Environments)]
+             [2019/11/02 v1.1s LaTeX Kernel (Misc. Environments)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltmiscen.dtx}
@@ -345,8 +345,8 @@
 %    package that uses \cs{@writefile} for writing its own files) then
 %    the command behaves exactly as before.
 % \end{itemize}
-% 
 %
+%
 %  \begin{macro}{\protected at file@percent}
 %    Dummy cs to be replaced by a percent sign inside
 %    \cs{@writefile}. If it survives (when used incorrectly) it will
@@ -358,7 +358,7 @@
 %<*2ekernel|latexrelease>
 %<latexrelease>\IncludeInRelease{2018/12/01}%
 %<latexrelease>                 {\protected at file@percent}{Mask line endings}%
-\protected\def\protected at file@percent{} 
+\protected\def\protected at file@percent{}
 %    \end{macrocode}
 %  \end{macro}
 
@@ -372,7 +372,7 @@
 %    writing to files (github/73)}
 %
 %    \begin{macrocode}
-\catcode`\^^A=9 
+\catcode`\^^A=9
 \long\gdef\add at percent@to at temptokena
     #1\protected at file@percent#2\add at percent@to at temptokena
 %    \end{macrocode}
@@ -381,12 +381,12 @@
 %   group the braces aren't stripped. The |\expandafter| then expands
 %   this extra token away again.
 % \changes{v1.1q}{2019/10/25}{Allow unbalanced conditionals in \texttt{\#1} (gh/202)}
-% \changes{v1.1r}{2019/08/27}{fix to special comment catcodes (gh/202)}
+% \changes{v1.1r}{2019/11/10}{fix to special comment catcodes (gh/202)}
 %    \begin{macrocode}
     {\expandafter\ifx\expandafter X\detokenize{#2}X\expandafter\dont at add@percent at to@temptokena\else
              \expandafter\do at add@percent at to@temptokena\fi{#1}}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \long\def\dont at add@percent at to@temptokena#1{%
   \@temptokena\expandafter{#1}}
@@ -398,7 +398,7 @@
 %    in the definition. Therefore the |\fi| needs to be on the next
 %    line and we need locally another comment character to avoid
 %    getting spaces into the definition---a weird problem :-)
-%    
+%
 %    \begin{macrocode}
 \begingroup
 \catcode`\%=12
@@ -435,7 +435,7 @@
     }%
 }
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %</2ekernel|latexrelease>
 %<latexrelease>\EndIncludeInRelease
@@ -706,10 +706,28 @@
 % \begin{macro}{\@centercr}
 % \changes{v1.0h}{1994/05/03}{\cs{@badcrerr} replaced by \cs{@nolnerr}}
 % \changes{v1.0z}{1995/07/13}{Use \cs{nobreak}}
+% \changes{v1.1s}{2019/11/02}{Make \cs{@centercr} robust (gh/203)}
 %    \begin{macrocode}
-\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\@centercr}{Make robust}%
+\protected\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
        \par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
+%</2ekernel|latexrelease>
 %    \end{macrocode}
+%
+%    \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\@centercr}{Make robust}%
+%<latexrelease>
+%<latexrelease>\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
+%<latexrelease>       \par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
 % \end{macro}
 %
 % \begin{macro}{\@xcentercr}
@@ -723,7 +741,7 @@
 %    \begin{macrocode}
 \def\@icentercr[#1]{\vskip #1\ignorespaces}
 %    \end{macrocode}
-%    
+%
 % \end{macro}
 %
 %
@@ -741,7 +759,7 @@
 %    \end{macrocode}
 % \end{environment}
 %
-%    
+%
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexrelease>
@@ -987,7 +1005,7 @@
 %    \end{macrocode}
 %  \end{macro}
 %
-%    
+%
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexrelease>

Modified: trunk/Master/texmf-dist/source/latex/base/ltoutenc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltoutenc.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltoutenc.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -37,15 +37,14 @@
 %<TS1>\ProvidesFile{ts1enc.def}[2001/06/05 v3.0e (jk/car/fm)
 %<TU>\ProvidesFile{tuenc.def}
 %<package>\ProvidesPackage{fontenc}
-%<TS1sty>\ProvidesPackage{textcomp}
-%<OT1|T1|OMS|OML|OT4|TU|package|TS1sty> [2018/08/11 v2.0j
-%<OT1|T1|OMS|OML|OT4|TS1|TU>         Standard LaTeX file]
-%<package|TS1sty>                 Standard LaTeX package]
+%<OT1|T1|OMS|OML|OT4|TU|package> [2020/01/25 v2.0m
+%<OT1|T1|OMS|OML|OT4|TS1|TU>      Standard LaTeX file]
+%<package>                        Standard LaTeX package]
 %
 %<*driver>
 % \fi
 \ProvidesFile{ltoutenc.dtx}
-             [2018/11/18 v2.0k LaTeX Kernel (font encodings)]
+             [2020/01/20 v2.0n LaTeX Kernel (font encodings)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltoutenc.dtx}
@@ -834,8 +833,23 @@
 %    {Explicitly set \cs{spacefactor} after \cs{accent} (pr/2877)}
 %    \begin{macrocode}
       \global\mathchardef\accent at spacefactor\spacefactor}%
+%    \end{macrocode}
+%    The accent primitive doesn't allow things \cs{begingroup} to
+%    interfere between accent and base character. Therefore we need to
+%    avoid that (they are some hidden inside \cs{maybe at load@fontshape}).
+%    As we don't have to load the fontshape in this case
+%    (as that happened in the box above if necessary, we simply
+%    disable that part of the code temporaily.
+%    We also ignore \cs{ignorespaces} which has the same issue and may
+%    show up as part of \cs{normalfont} if that is used.
+% \changes{v2.0m}{2019/12/18}{Avoid code that breaks \cs{accent}}
+%    \begin{macrocode}
+   \let\maybe at load@fontshape\relax
+   \let\ignorespaces\relax
    \accent#1 #2\egroup\spacefactor\accent at spacefactor}
 %    \end{macrocode}
+%
+%
 %    Default definition for |\accent at spacefactor| prevents a horrible
 %    death of the above macro inside an unprotected |\edef|.
 % \changes{v1.9w}{1999/10/28}{Give \cs{accent at spacefactor} a default
@@ -1030,7 +1044,7 @@
 %    \begin{macrocode}
 \@onlypreamble\DeclareTextComposite
 %    \end{macrocode}
-%    
+%
 % \end{macro}
 % \end{macro}
 % \end{macro}
@@ -1048,7 +1062,7 @@
 %<latexrelease>\IncludeInRelease{2019/10/01}%
 %<latexrelease>                 {\UseTextAccent}{Make commands robust}%
 %    \end{macrocode}
-%    
+%
 % \begin{macro}{\UseTextAccent}
 % \begin{macro}{\UseTextSymbol}
 % \changes{v1.7p}{1995/11/17}{Support \cs{@wrong at font@char} latex/1676}
@@ -1107,7 +1121,8 @@
 %<*2ekernel>
 %    \end{macrocode}
 %
-%
+%    Switch to a different text encoding without any grouping for use in
+%    \cs{UseTextAccent} or \cs{UseTextSymbol} (and for \cs{oldstylenums}).
 %    \begin{macrocode}
 \def\@use at text@encoding#1{%
    \edef\f at encoding{#1}%
@@ -1445,12 +1460,19 @@
 %    \begin{macrocode}
 \DeclareTextCommandDefault{\textasciicircum}{\^{}}
 \DeclareTextCommandDefault{\textasciitilde}{\~{}}
-\DeclareTextCommandDefault{\textcompwordmark}{\leavevmode\kern\z@}
 \DeclareTextCommandDefault{\textunderscore}{%
   \leavevmode \kern.06em\vbox{\hrule\@width.3em}}
 %    \end{macrocode}
 %
+%    There is no good reason anymore to fake \cs{textcompwordmark}.
+% \changes{v2.0m}{2019/12/18}{Don't fake \cs{textcompwordmark}; take
+%    default from T1 instead}
 %    \begin{macrocode}
+%\DeclareTextCommandDefault{\textcompwordmark}{\leavevmode\kern\z@}
+\DeclareTextSymbolDefault{\textcompwordmark}{T1}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \DeclareTextCommandDefault{\textvisiblespace}{%
    \mbox{\kern.06em\vrule \@height.3ex}%
    \vbox{\hrule \@width.3em}%
@@ -1490,8 +1512,16 @@
 %    Some commands can be used in both text and math mode:
 %    \begin{macrocode}
 \DeclareRobustCommand{\$}{\ifmmode\mathdollar\else\textdollar\fi}
-\DeclareRobustCommand{\{}{\ifmmode\lbrace\else\textbraceleft\fi}
-\DeclareRobustCommand{\}}{\ifmmode\rbrace\else\textbraceright\fi}
+%    \end{macrocode}
+%    We use \cs{protected} not \cs{DeclareRobustCommand} so that
+%    \verb=\bigl\{= etc.\ works inside \cs{protected at edef}.
+% \changes{v2.0n}{2020/01/20}{fix for gh/251}
+%    \begin{macrocode}
+\protected\def\{{\ifmmode\lbrace\else\textbraceleft\fi}
+\protected\def\}{\ifmmode\rbrace\else\textbraceright\fi}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \DeclareRobustCommand{\P}{\ifmmode\mathparagraph\else\textparagraph\fi}
 \DeclareRobustCommand{\S}{\ifmmode\mathsection\else\textsection\fi}
 \DeclareRobustCommand{\dag}{\ifmmode{\dagger}\else\textdagger\fi}
@@ -1986,7 +2016,7 @@
 \DeclareTextSymbol{\guillemotleft}{T1}{19}
 \DeclareTextSymbol{\guillemotright}{T1}{20}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareTextSymbol{\guilsinglleft}{T1}{14}
 \DeclareTextSymbol{\guilsinglright}{T1}{15}
@@ -2375,7 +2405,7 @@
 \DeclareTextSymbol{\guillemotleft}{OT4}{174}
 \DeclareTextSymbol{\guillemotright}{OT4}{175}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareTextSymbol{\i}{OT4}{16}
 \DeclareTextSymbol{\j}{OT4}{17}
@@ -2976,7 +3006,7 @@
 % old Adobe name
 \DeclareTextSymbol{\guillemotleft}       \UnicodeEncodingName{"00AB}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareTextSymbol{\textlnot}            \UnicodeEncodingName{"00AC}
 \DeclareTextSymbol{\textregistered}      \UnicodeEncodingName{"00AE}
@@ -2998,7 +3028,7 @@
 % old Adobe name
 \DeclareTextSymbol{\guillemotright}      \UnicodeEncodingName{"00BB}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareTextSymbol{\textonequarter}      \UnicodeEncodingName{"00BC}
 \DeclareTextSymbol{\textonehalf}         \UnicodeEncodingName{"00BD}
@@ -3087,7 +3117,7 @@
 \DeclareTextSymbol{\Hwithstroke}         \UnicodeEncodingName{"0126}
 \DeclareTextSymbol{\hwithstroke}         \UnicodeEncodingName{"0127}
 %    \end{macrocode}
-%    
+%
 % Not all fonts have U+2217 but using U+002A requires some adjustment.
 %    \begin{macrocode}
 \DeclareTextCommand{\textasteriskcentered}\UnicodeEncodingName{%
@@ -3465,27 +3495,48 @@
 %    \begin{macrocode}
 \DeclareOption*{%
    \let\encodingdefault\CurrentOption
-   \edef\reserved at f{%
-     \lowercase{\def\noexpand\reserved at f{\CurrentOption enc.def}}}%
-   \reserved at f
-   \InputIfFileExists\reserved at f
-        {}{\PackageError{fontenc}%
-         {Encoding file `\reserved at f' not found.%
-          \MessageBreak
-           You might have misspelt the name of the encoding}%
-         {Necessary code for this encoding was not
-          loaded.\MessageBreak
-          Thus calling the encoding later on will
-          produce further error messages.}}%
-  \let\reserved at f\relax
 %    \end{macrocode}
+%    From 2020/02/02 release onward we only load the encoding files if
+%    they haven't be loaded already. To check this we look if
+%    \verb=\T@=\textit{encoding} is already defined. If not we load
+%    (indicated by setting the switch
+%    \texttt{@tempswa} to true and we always load if we run in an older
+%   format (or rather in a rollback situation).
+% \changes{v2.0m}{2020/01/25}{Load each encoding file only once (gh/255)}
+%    \begin{macrocode}
+   \@tempswafalse
+   \@ifl at t@r\fmtversion{2020/02/02}%
+       {\expandafter\ifx\csname T@\CurrentOption\endcsname\relax
+         \@tempswatrue\fi}%
+       {\@tempswatrue}%
+%    \end{macrocode}
+%    Load if necessary:
+%    \begin{macrocode}
+   \if at tempswa
+%    \end{macrocode}
 %
+%    \begin{macrocode}
+     \edef\reserved at f{%
+       \lowercase{\def\noexpand\reserved at f{\CurrentOption enc.def}}}%
+     \reserved at f
+     \InputIfFileExists\reserved at f
+          {}{\PackageError{fontenc}%
+           {Encoding file `\reserved at f' not found.%
+            \MessageBreak
+             You might have misspelt the name of the encoding}%
+           {Necessary code for this encoding was not
+            loaded.\MessageBreak
+            Thus calling the encoding later on will
+            produce further error messages.}}%
+    \let\reserved at f\relax
+%    \end{macrocode}
+%
 % In case the current encoding is one of a list of known
 % cyrillic ones we extend the |\@uclclist|:
 %    \begin{macrocode}
-  \expandafter\in@\expandafter{\CurrentOption}%
-                              {T2A,T2B,T2C,X2,LCY,OT2}%
-  \ifin@
+    \expandafter\in@\expandafter{\CurrentOption}%
+                                {T2A,T2B,T2C,X2,LCY,OT2}%
+    \ifin@
 %    \end{macrocode}
 %
 % But only if it hasn't already been extended. This might happen if
@@ -3494,12 +3545,13 @@
 % unnecessarily big, slowing down the processing at runtime.
 % \changes{v1.9v}{1999/06/12}{Extend \cs{@uclclist} only once}
 %    \begin{macrocode}
-     \expandafter\in@\expandafter\cyra\expandafter
-                              {\@uclclist}%
-     \ifin@
-     \else
-       \update at uclc@with at cyrillic
-     \fi
+       \expandafter\in@\expandafter\cyra\expandafter
+                                {\@uclclist}%
+       \ifin@
+       \else
+         \update at uclc@with at cyrillic
+       \fi
+    \fi
   \fi
 }
 %    \end{macrocode}
@@ -3508,9 +3560,22 @@
 \ProcessOptions*
 %    \end{macrocode}
 %
+%    We select the new font encoding default (i.e., the last encoding
+%    specified in the option list. But this encoding may not work with
+%    the current |\f at shape|, e.g., \texttt{LY1} is not defined for
+%    \texttt{cmr} and therefore packages switching to \texttt{LY1}
+%    usually also change \cs{rmdefault}. But that only applies at
+%    |\begin{document}| so we get a spurious warning if we use what
+%    \LaTeX{} previously used:
+% \changes{v2.0l}{2019/11/22}{Avoid spurious if fontenc selects LY1 as
+%    default encoding (gh/199)}
 %    \begin{macrocode}
-\fontencoding\encodingdefault\selectfont
+%\fontencoding\encodingdefault\selectfont
 %    \end{macrocode}
+%    So instead we do this here:
+%    \begin{macrocode}
+\usefont\encodingdefault\familydefault\seriesdefault\shapedefault
+%    \end{macrocode}
 %
 % To save some space we get rid of the macro extending the
 % |\@uclclist| (might have happened already).
@@ -3538,729 +3603,7 @@
 %    \end{macrocode}
 %
 %
-% \subsection{The textcomp package}
 %
-%    This one is for the |TS1| encoding which contains text symbols
-%    for use with the |T1|-encoded text fonts.  It therefore first
-%    inputs the file |TS1enc.def| and then sets (or resets) the
-%    defaults for the symbols it contains.  The result of this is that
-%    when one of these symbols is accessed and the current encoding
-%    does not provide it, the symbol will be supplied by a silent,
-%    local change to this encoding.
-%
-%    \begin{macrocode}
-%<*TS1sty>
-%    \end{macrocode}
-%    Since many PostScript fonts only implement a subset of |TS1| many
-%    commands only produce black blobs of ink. To resolve the
-%    resulting problems a number of options have been introduced and
-%    some code  has been developed to distinguish sub-encodings.
-%
-%    The sub-encodings have a numerical id and are defined as follows
-%    for \texttt{TS1}:
-% \begin{description}
-%
-% \item[\#5] those \texttt{TS1} symbols that are also in the ISO-Adobe
-%       character set; without \verb=textcurrency=, which is often
-%       misused for the Euro.  Older Type1 fonts from the non-\TeX{}
-%       world provide only this subset.
-%
-% \item[\#4] = \#5 + \verb=\texteuro=.  Most newer fonts provide this.
-%
-% \item[\#3] = \#4 + \verb=\textomega=.  Can also be described as
-%       $\texttt{TS1} \cap (\texttt{ISO-Adobe} \cup
-%       \texttt{MacRoman})$.  (Except for the missing "currency".)
-
-%
-% \item[\#2] = \#3 + \verb=\textestimated= + \verb=\textcurrency=.  Can
-%       also be described as $\texttt{TS1} \cap
-%       \texttt{Adobe-Western-2}$.  This may be relevant for OpenType
-%       fonts, which usually show the Adobe-Western-2 character set.
-%
-%    \item[\#1] = \texttt{TS1} without \verb=\textcircled= and \verb=\t=.
-%       These two glyphs are often not implemented and if their kernel
-%       defaults are changed commands like \verb=\copyright=
-%       unnecessarily fail.
-%
-%    \item[\#0] = full \texttt{TS1}
-% \end{description}
-%
-%    And here a summary to go in the transcript file:
-%    \begin{macrocode}
-\PackageInfo{textcomp}{Sub-encoding information:\MessageBreak
-    \space\space 5 = only ISO-Adobe without
-                              \string\textcurrency\MessageBreak
-    \space\space 4 = 5 + \string\texteuro\MessageBreak
-    \space\space 3 = 4 + \string\textohm\MessageBreak
-    \space\space 2 = 3 + \noexpand\textestimated+ 
-                                \string\textcurrency\MessageBreak
-    \space\space 1 = TS1 - \noexpand\textcircled-
-                                            \string\t\MessageBreak
-    \space\space 0 = TS1 (full)\MessageBreak
-    Font families with sub-encoding setting implement\MessageBreak
-    only a restricted character set as indicated.\MessageBreak
-    Family '?' is the default used for unknown fonts.\MessageBreak
-    See the documentation for details\@gobble}
-%    \end{macrocode}
-%
-% \begin{macro}{\DeclareEncodingSubset}
-%    An encoding subset to which a font family belongs is declared by
-%    the command |\DeclareEncodingSubset| that takes the major encoding as the
-%    first argument (e.g., |TS1|), the family name as the second
-%    argument (e.g., |cmr|), and the subset encoding id as a third,
-%    (e.g., |0| for |cmr|).
-%
-%    The default encoding subset to use when nothing is known about
-%    the current font family is named |?|.
-%    \begin{macrocode}
-\def\DeclareEncodingSubset#1#2#3{%
-   \@ifundefined{#1:#2}%
-     {\PackageInfo{textcomp}{Setting #2 sub-encoding to #1/#3}}%
-     {\PackageInfo{textcomp}{Changing #2 sub-encoding to #1/#3}}%
-   \@namedef{#1:#2}{#3}}
-\@onlypreamble\DeclareEncodingSubset
-%    \end{macrocode}
-% \end{macro}
-%
-%
-%  The options for the package are the following:
-%    \begin{description}
-%    \item[safe]
-%       for unknown font families enables only symbols that are also
-%       in the ISO-Adobe character set; without "currency", which is
-%       often misused for the Euro.  Older Type1 fonts from the
-%       non-TeX world provide only this subset.
-%
-%    \item[euro]
-%       enables the ``safe'' symbols plus the |\texteuro|
-%       command. Most newer fonts provide this.
-%
-%    \item[full] enables all |TS1| commands; useful only with fonts
-%       like EC or CM bright.
-%
-%    \item[almostfull]
-%       same as ``full'', except that |\textcircled|
-%       and |\t| are \emph{not} redefined from their defaults to avoid
-%       that commands like |\copyright| suddenly no longer work.
-%
-%    \item[force]
-%       ignore all subset encoding definitions stored in the package
-%       itself or in the configuration file and always use the default
-%       subset as specified by one of the other options (seldom useful,
-%       only dangerous).
-%    \end{description}
-
-% \begin{macro}{\iftc at forced}
-%    Switch used to implement the \texttt{force} option
-%    \begin{macrocode}
-\newif\iftc at forced   \tc at forcedfalse
-%    \end{macrocode}
-% \end{macro}
-
-%    This is implemented by defining the default subset:
-%    \begin{macrocode}
-\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}}
-\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}}
-\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{4}}
-\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{5}}
-%    \end{macrocode}
-%    The default is ``almostfull'' which means that old documents will
-%    work except that |\textcircled| and |\t| will use the kernel
-%    defaults (with the advantage that this also works if the current
-%    font (as often the case) doesn't implement these glyphs.
-%
-%    The ``force'' option simply sets the switch to true.
-%    \begin{macrocode}
-\DeclareOption{force}{\tc at forcedtrue}
-%    \end{macrocode}
-%
-%    The suggestions to user is to use the ``safe'' option always
-%    unless that balks in which case they could switch to
-%    ``almostfull'' but then better check their output manually.
-%
-%    \begin{macrocode}
-\def\tc at errorwarn{\PackageError}
-\DeclareOption{warn}{\gdef\tc at errorwarn#1#2#3{\PackageWarning{#1}{#2}}}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\ExecuteOptions{almostfull}
-\ProcessOptions\relax
-%    \end{macrocode}
-%
-% \begin{macro}{\CheckEncodingSubset}
-%    The command |\CheckEncodingSubset| will check if the current font
-%    family has the right encoding subset to typeset a certain
-%    command. It takes five arguments as follows:
-%    first argument is either |\UseTextSymbol|, |\UseTextAccent|
-%    depending on whether or not the symbol is a text symbol or a text
-%    accent.
-
-%    The second argument is the encoding from which this symbol should
-%    be fetched.
-%
-%    The third argument is either a fake accessor command or an error
-%    message. the code in that argument (if ever executed) receives
-%    two arguments: |#2| and |#5| of |\CheckEncodingSubset|.
-%
-%    Argument four is the subset encoding id to test against: if this
-%    value is higher than the subset id of the current font family
-%    then we typeset the symbol, i.e., execute |#1{#2}#5| otherwise
-%    it runs |#3#5|, e.g., to produce an error message or fake the
-%    glyph somehow.
-%
-%    Argument five is the symbol or accent command that is being
-%    checked.
-%
-%    For usage examples see definitions below.
-%    \begin{macrocode}
-\iftc at forced
-%    \end{macrocode}
-%    If the ``force'' option was given we always use the default for
-%    testing against.
-%    \begin{macrocode}
-\def\CheckEncodingSubset#1#2#3#4#5{%
-    \ifnum #4>%
-        0\csname #2:?\endcsname
-        \relax
-   \expandafter\@firstoftwo
-  \else
-   \expandafter\@secondoftwo
- \fi
-  {#1{#2}}{#3}%
-  #5%
-}
-%    \end{macrocode}
-%    In normal circumstances the test is a bit more complicated: first
-%    check if there exists a macro
-%    |\|\meta{arg2}|:|\meta{current-family} and if so use that value
-%    to test against, otherwise use the default to test against.
-%    \begin{macrocode}
-\else
-\def\CheckEncodingSubset#1#2#3#4#5{%
-    \ifnum #4>%
-      \expandafter\ifx\csname #2:\f at family\endcsname\relax
-        0\csname #2:?\endcsname
-      \else
-        \csname #2:\f at family\endcsname
-      \fi
-   \relax
-   \expandafter\@firstoftwo
-  \else
-   \expandafter\@secondoftwo
- \fi
-  {#1{#2}}{#3}%
-  #5%
-}
-\fi
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\tc at subst}
-%    \begin{macrocode}
-\def\tc at subst#1{%
-   \tc at errorwarn{textcomp}%  % should be latex error if general
-    {Symbol \string#1 not provided by\MessageBreak
-     font family \f at family\space
-     in TS1 encoding.\MessageBreak Default family used instead}\@eha
-  \bgroup\fontfamily\textcompsubstdefault\selectfont#1\egroup
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\textcompsubstdefault}
-%    \begin{macrocode}
-\def\textcompsubstdefault{cmr}
-%    \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\tc at error}
-%    |\tc at error| is going to be used in arg |#3| of
-%    |\CheckEncodingSubset| when a symbol is not available in a
-%    certain font family. It gets pass the encoding it normally lives
-%    in (arg one) and the name of the symbol or accent that has a
-%    problem.
-%
-%    \begin{macrocode}
-% error commands take argument:
-% #1 symbol to be used
-\def\tc at error#1{%
-   \PackageError{textcomp}%  % should be latex error if general
-    {Accent \string#1 not provided by\MessageBreak
-     font family \f at family\space
-     in TS1 encoding}\@eha
-}
-%    \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\tc at fake@euro}
-%    |\tc at fake@euro|  is an example of a ``fake'' definition to use in  arg |#3| of
-%    |\CheckEncodingSubset| when a symbol is not available in a
-%    certain font family. Here we produce an Euro symbol by combining
-%    a ``C'' with a ``=''.
-%    \begin{macrocode}
-\def\tc at fake@euro#1{%
-   \leavevmode
-   \PackageInfo{textcomp}{Faking \noexpand#1for font family
-                          \f at family\MessageBreak in TS1 encoding}%
-   \valign{##\cr
-      \vfil\hbox to 0.07em{\dimen@\f at size\p@
-                           \math at fontsfalse
-                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
-      \vfil\cr%
-      \hbox{C}\crcr
-   }%
-}
-%    \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\tc at check@symbol}
-% \begin{macro}{\tc at check@accent}
-%    These are two abbreviations that we use below to check symbols
-%    and accents in TS1. Only there to save some space, e.g., we can
-%    then write
-%\begin{verbatim}
-%\DeclareTextCommandDefault{\textcurrency}{\tc at check@symbol3\textcurrency}
-%\end{verbatim}
-%    to ensure that |\textcurrency| is only typeset if the current
-%    font has a \texttt{TS1} subset id of less than 3. Otherwise
-%    |\tc at error| is called telling the user that for this font family
-%    |\textcurreny| is not available.
-%    \begin{macrocode}
-\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
-\def\tc at check@accent{\CheckEncodingSubset\UseTextAccent{TS1}\tc at error}
-%    \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-%    We start with the commands that are ``safe'' and which can be
-%    unconditionally set up, first the accents\ldots
-%    \begin{macrocode}
-\DeclareTextAccentDefault{\capitalcedilla}{TS1}
-\DeclareTextAccentDefault{\capitalogonek}{TS1}
-\DeclareTextAccentDefault{\capitalgrave}{TS1}
-\DeclareTextAccentDefault{\capitalacute}{TS1}
-\DeclareTextAccentDefault{\capitalcircumflex}{TS1}
-\DeclareTextAccentDefault{\capitaltilde}{TS1}
-\DeclareTextAccentDefault{\capitaldieresis}{TS1}
-\DeclareTextAccentDefault{\capitalhungarumlaut}{TS1}
-\DeclareTextAccentDefault{\capitalring}{TS1}
-\DeclareTextAccentDefault{\capitalcaron}{TS1}
-\DeclareTextAccentDefault{\capitalbreve}{TS1}
-\DeclareTextAccentDefault{\capitalmacron}{TS1}
-\DeclareTextAccentDefault{\capitaldotaccent}{TS1}
-%    \end{macrocode}
-%    \ldots and then the other glyphs.
-% \changes{v1.9p}{1998/06/12}{Renamed \cs{textmacron} pr/2840}
-%    \begin{macrocode}
-\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
-\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
-\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
-\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
-\DeclareTextSymbolDefault{\texttwelveudash}{TS1}
-\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1}
-\DeclareTextSymbolDefault{\textdollar}{TS1}
-\DeclareTextSymbolDefault{\textquotesingle}{TS1}
-\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
-\DeclareTextSymbolDefault{\textfractionsolidus}{TS1}
-\DeclareTextSymbolDefault{\textminus}{TS1}
-\DeclareTextSymbolDefault{\textlbrackdbl}{TS1}
-\DeclareTextSymbolDefault{\textrbrackdbl}{TS1}
-\DeclareTextSymbolDefault{\textasciigrave}{TS1}
-\DeclareTextSymbolDefault{\texttildelow}{TS1}
-\DeclareTextSymbolDefault{\textasciibreve}{TS1}
-\DeclareTextSymbolDefault{\textasciicaron}{TS1}
-\DeclareTextSymbolDefault{\textgravedbl}{TS1}
-\DeclareTextSymbolDefault{\textacutedbl}{TS1}
-\DeclareTextSymbolDefault{\textdagger}{TS1}
-\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
-\DeclareTextSymbolDefault{\textbardbl}{TS1}
-\DeclareTextSymbolDefault{\textperthousand}{TS1}
-\DeclareTextSymbolDefault{\textbullet}{TS1}
-\DeclareTextSymbolDefault{\textcelsius}{TS1}
-\DeclareTextSymbolDefault{\textflorin}{TS1}
-\DeclareTextSymbolDefault{\texttrademark}{TS1}
-\DeclareTextSymbolDefault{\textcent}{TS1}
-\DeclareTextSymbolDefault{\textsterling}{TS1}
-\DeclareTextSymbolDefault{\textyen}{TS1}
-\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
-\DeclareTextSymbolDefault{\textsection}{TS1}
-\DeclareTextSymbolDefault{\textasciidieresis}{TS1}
-\DeclareTextSymbolDefault{\textcopyright}{TS1}
-\DeclareTextSymbolDefault{\textordfeminine}{TS1}
-\DeclareTextSymbolDefault{\textlnot}{TS1}
-\DeclareTextSymbolDefault{\textregistered}{TS1}
-\DeclareTextSymbolDefault{\textasciimacron}{TS1}
-\DeclareTextSymbolDefault{\textdegree}{TS1}
-\DeclareTextSymbolDefault{\textpm}{TS1}
-\DeclareTextSymbolDefault{\texttwosuperior}{TS1}
-\DeclareTextSymbolDefault{\textthreesuperior}{TS1}
-\DeclareTextSymbolDefault{\textasciiacute}{TS1}
-\DeclareTextSymbolDefault{\textmu}{TS1}
-\DeclareTextSymbolDefault{\textparagraph}{TS1}
-\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
-\DeclareTextSymbolDefault{\textonesuperior}{TS1}
-\DeclareTextSymbolDefault{\textordmasculine}{TS1}
-\DeclareTextSymbolDefault{\textonequarter}{TS1}
-\DeclareTextSymbolDefault{\textonehalf}{TS1}
-\DeclareTextSymbolDefault{\textthreequarters}{TS1}
-\DeclareTextSymbolDefault{\texttimes}{TS1}
-\DeclareTextSymbolDefault{\textdiv}{TS1}
-%    \end{macrocode}
-%
-%    The |\texteuro| is only available for subsets with id 4 or
-%    less. Otherwise we fake the glyph using |\tc at fake@euro|
-%    \begin{macrocode}
-\DeclareTextCommandDefault{\texteuro}
-   {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro5\texteuro}
-%    \end{macrocode}
-%
-%    The |\textohm| is only available for subsets with id 3 or
-%    less. Otherwise we produce an error.
-%    \begin{macrocode}
-\DeclareTextCommandDefault{\textohm}{\tc at check@symbol4\textohm}
-%    \end{macrocode}
-%    The |\textestimated| and |\textcurrency| are only provided for
-%    fonts with subset encoding with id 2 or less.
-%    \begin{macrocode}
-\DeclareTextCommandDefault{\textestimated}%
-    {\tc at check@symbol3\textestimated}
-\DeclareTextCommandDefault{\textcurrency}%
-    {\tc at check@symbol3\textcurrency}
-%    \end{macrocode}
-%    Nearly all of the remaining glyphs are provided only with fonts
-%    with id 1 or 0, i.e., are essentially complete.
-%    \begin{macrocode}
-\DeclareTextCommandDefault{\capitaltie}%
-    {\tc at check@accent2\capitaltie}
-\DeclareTextCommandDefault{\newtie}%
-    {\tc at check@accent2\newtie}
-\DeclareTextCommandDefault{\capitalnewtie}%
-    {\tc at check@accent2\capitalnewtie}
-\DeclareTextCommandDefault{\textleftarrow}%
-    {\tc at check@symbol2\textleftarrow}
-\DeclareTextCommandDefault{\textrightarrow}%
-    {\tc at check@symbol2\textrightarrow}
-\DeclareTextCommandDefault{\textblank}%
-    {\tc at check@symbol2\textblank}
-\DeclareTextCommandDefault{\textdblhyphen}%
-    {\tc at check@symbol2\textdblhyphen}
-\DeclareTextCommandDefault{\textzerooldstyle}%
-    {\tc at check@symbol2\textzerooldstyle}
-\DeclareTextCommandDefault{\textoneoldstyle}%
-    {\tc at check@symbol2\textoneoldstyle}
-\DeclareTextCommandDefault{\texttwooldstyle}%
-    {\tc at check@symbol2\texttwooldstyle}
-\DeclareTextCommandDefault{\textthreeoldstyle}%
-    {\tc at check@symbol2\textthreeoldstyle}
-\DeclareTextCommandDefault{\textfouroldstyle}%
-    {\tc at check@symbol2\textfouroldstyle}
-\DeclareTextCommandDefault{\textfiveoldstyle}%
-    {\tc at check@symbol2\textfiveoldstyle}
-\DeclareTextCommandDefault{\textsixoldstyle}%
-    {\tc at check@symbol2\textsixoldstyle}
-\DeclareTextCommandDefault{\textsevenoldstyle}%
-    {\tc at check@symbol2\textsevenoldstyle}
-\DeclareTextCommandDefault{\texteightoldstyle}%
-    {\tc at check@symbol2\texteightoldstyle}
-\DeclareTextCommandDefault{\textnineoldstyle}%
-    {\tc at check@symbol2\textnineoldstyle}
-\DeclareTextCommandDefault{\textlangle}%
-    {\tc at check@symbol2\textlangle}
-\DeclareTextCommandDefault{\textrangle}%
-    {\tc at check@symbol2\textrangle}
-\DeclareTextCommandDefault{\textmho}%
-    {\tc at check@symbol2\textmho}
-\DeclareTextCommandDefault{\textbigcircle}%
-    {\tc at check@symbol2\textbigcircle}
-\DeclareTextCommandDefault{\textuparrow}%
-    {\tc at check@symbol2\textuparrow}
-\DeclareTextCommandDefault{\textdownarrow}%
-    {\tc at check@symbol2\textdownarrow}
-\DeclareTextCommandDefault{\textborn}%
-    {\tc at check@symbol2\textborn}
-\DeclareTextCommandDefault{\textdivorced}%
-    {\tc at check@symbol2\textdivorced}
-\DeclareTextCommandDefault{\textdied}%
-    {\tc at check@symbol2\textdied}
-\DeclareTextCommandDefault{\textleaf}%
-    {\tc at check@symbol2\textleaf}
-\DeclareTextCommandDefault{\textmarried}%
-    {\tc at check@symbol2\textmarried}
-\DeclareTextCommandDefault{\textmusicalnote}%
-    {\tc at check@symbol2\textmusicalnote}
-\DeclareTextCommandDefault{\textdblhyphenchar}%
-    {\tc at check@symbol2\textdblhyphenchar}
-\DeclareTextCommandDefault{\textdollaroldstyle}%
-    {\tc at check@symbol2\textdollaroldstyle}
-\DeclareTextCommandDefault{\textcentoldstyle}%
-    {\tc at check@symbol2\textcentoldstyle}
-\DeclareTextCommandDefault{\textcolonmonetary}%
-    {\tc at check@symbol2\textcolonmonetary}
-\DeclareTextCommandDefault{\textwon}%
-    {\tc at check@symbol2\textwon}
-\DeclareTextCommandDefault{\textnaira}%
-    {\tc at check@symbol2\textnaira}
-\DeclareTextCommandDefault{\textguarani}%
-    {\tc at check@symbol2\textguarani}
-\DeclareTextCommandDefault{\textpeso}%
-    {\tc at check@symbol2\textpeso}
-\DeclareTextCommandDefault{\textlira}%
-    {\tc at check@symbol2\textlira}
-\DeclareTextCommandDefault{\textrecipe}%
-    {\tc at check@symbol2\textrecipe}
-\DeclareTextCommandDefault{\textinterrobang}%
-    {\tc at check@symbol2\textinterrobang}
-\DeclareTextCommandDefault{\textinterrobangdown}%
-    {\tc at check@symbol2\textinterrobangdown}
-\DeclareTextCommandDefault{\textdong}%
-    {\tc at check@symbol2\textdong}
-\DeclareTextCommandDefault{\textpertenthousand}%
-    {\tc at check@symbol2\textpertenthousand}
-\DeclareTextCommandDefault{\textpilcrow}%
-    {\tc at check@symbol2\textpilcrow}
-\DeclareTextCommandDefault{\textbaht}%
-    {\tc at check@symbol2\textbaht}
-\DeclareTextCommandDefault{\textnumero}%
-    {\tc at check@symbol2\textnumero}
-\DeclareTextCommandDefault{\textdiscount}%
-    {\tc at check@symbol2\textdiscount}
-\DeclareTextCommandDefault{\textopenbullet}%
-    {\tc at check@symbol2\textopenbullet}
-\DeclareTextCommandDefault{\textservicemark}%
-    {\tc at check@symbol2\textservicemark}
-\DeclareTextCommandDefault{\textlquill}%
-    {\tc at check@symbol2\textlquill}
-\DeclareTextCommandDefault{\textrquill}%
-    {\tc at check@symbol2\textrquill}
-\DeclareTextCommandDefault{\textcopyleft}%
-    {\tc at check@symbol2\textcopyleft}
-\DeclareTextCommandDefault{\textcircledP}%
-    {\tc at check@symbol2\textcircledP}
-\DeclareTextCommandDefault{\textreferencemark}%
-    {\tc at check@symbol2\textreferencemark}
-\DeclareTextCommandDefault{\textsurd}%
-    {\tc at check@symbol2\textsurd}
-%    \end{macrocode}
-%    The |\textcircled| and |\t| are handled specially, unless the
-%    current font has a subset id of 0 (i.e. full \texttt{TS1}) we
-%    pick the symbols up from the the math font encodings, i.e., the
-%    third argument to |\CheckEncodingSubset| uses |\UseTextAccent| to
-%    get them from there.
-%    \begin{macrocode}
-\DeclareTextCommandDefault{\textcircled}
-  {\CheckEncodingSubset\UseTextAccent{TS1}%
-    {\UseTextAccent{OMS}}1\textcircled}
-\DeclareTextCommandDefault{\t}
-  {\CheckEncodingSubset\UseTextAccent{TS1}%
-    {\UseTextAccent{OML}}1\t}
-%    \end{macrocode}
-
-
-%
-%    Finally input the encoding-specific definitions for
-%    \texttt{TS1} thus making the top-level definitions
-%    optimised for this encoding (and not for the default
-%    encoding, see section~\ref{sec:orderofdecls}).
-% \changes{v1.9o}{1998/03/20}{Load decls after defaults for speed.}
-%    \begin{macrocode}
-\input{ts1enc.def}
-%    \end{macrocode}
-%    Now having the new glyphs available we also want to make sure
-%    that they are used. For most cases this will automatically happen
-%    but for some glyphs there are inferior definitions already known
-%    to \LaTeX{} which will prevent the usage of the \texttt{TS1}
-%    versions (see section~\ref{sec:removeencspec} above). So we better
-%    get rid of them:
-% \changes{v1.9o}{1998/03/20}{Added various \cs{UndeclareTextCommand}
-%    declarations for pr/2783}
-%    \begin{macrocode}
-\UndeclareTextCommand{\textsterling}{OT1}
-\UndeclareTextCommand{\textdollar}  {OT1}
-%    \end{macrocode}
-%    Similar declarations should probably be made for other encodings
-%    like \texttt{OT4} if they are in use.
-%    \begin{macrocode}
-%\UndeclareTextCommand{\textsterling}{OT4}
-%\UndeclareTextCommand{\textdollar}  {OT4}
-%    \end{macrocode}
-%    From the \texttt{T1} encoding there are two candidates for removal:
-%    \textperthousand{} and \textpertenthousand{} since these are both
-%    constructed from \% followed by a tiny
-%    `{\fontencoding{T1}\selectfont \char 24}'
-%    rather than being a single glyph. The problem with this
-%    approach is that in PostScript fonts this small zero is usually not
-%    available resulting in \%\rule{3pt}{3pt} rather than
-%    \textperthousand{} while the real glyph (at least for
-%    |\textperthousand|) is available in the PostScript version of
-%    \texttt{TS1}.  So for the moment we compromise by removing the
-%    \texttt{T1} declaration for |\textperthousand| but keeping the one
-%    for |\textpertenthousand|. This will have the effect that with
-%    Computer Modern fonts everything will come out (although
-%    \textperthousand{} and \textpertenthousand{} are not taken from the
-%    same physical font) and with PostScript fonts \textperthousand{}
-%    will come out correctly while \textpertenthousand{} will most
-%    likely look like \%\rule{6pt}{3pt} --- which is probably an
-%    improvement over just getting a single `\rule{3pt}{3pt}' to
-%    indicate a completely missing glyph, which would happen if we
-%    also `undeclared' |\textpertenthousand|.
-%    \begin{macrocode}
-\UndeclareTextCommand{\textperthousand}{T1}
-%\UndeclareTextCommand{\textpertenthousand}{T1}
-%    \end{macrocode}
-%
-%
-%  \subsubsection{Supporting oldstyle digits}
-%
-%    \begin{macrocode}
-\DeclareRobustCommand\oldstylenums[1]{%
- \begingroup
-  \ifmmode
-   \mathgroup\symletters #1%
-  \else
-   \CheckEncodingSubset\@use at text@encoding{TS1}%
-       {\PackageWarning{textcomp}%
-          {Oldstyle digits unavailable for
-           family \f at family.\MessageBreak
-           Lining digits used instead}}%
-       \tw@{#1}%
-   \fi
- \endgroup
-}
-%    \end{macrocode}
-%
-%  \subsubsection{Subset encoding defaults}
-%
-%    For many font families commonly used in the \TeX{} world we
-%    provide the subset encoding data here. Users can add additional
-%    font families in the file \texttt{textcomp.cfg} if they own other
-%    fonts.
-%
-%    However, if the option ``forced'' was given then all subset
-%    encoding specifications are ignored, so there is no point in
-%    setting any of them up:
-%    \begin{macrocode}
-\iftc at forced \else
-%    \end{macrocode}
-%
-%    Computer modern based fonts (e.g., CM, CM-Bright, Concrete):
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{cmr}     {0}
-\DeclareEncodingSubset{TS1}{cmss}    {0}
-\DeclareEncodingSubset{TS1}{cmtt}    {0}
-\DeclareEncodingSubset{TS1}{cmvtt}   {0}
-\DeclareEncodingSubset{TS1}{cmbr}    {0}
-\DeclareEncodingSubset{TS1}{cmtl}    {0}
-\DeclareEncodingSubset{TS1}{ccr}     {0}
-%    \end{macrocode}
-%
-%    PSNFSS fonts:
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{ptm}     {4}
-\DeclareEncodingSubset{TS1}{pcr}     {4}
-\DeclareEncodingSubset{TS1}{phv}     {4}
-\DeclareEncodingSubset{TS1}{ppl}     {3}
-\DeclareEncodingSubset{TS1}{pag}     {4}
-\DeclareEncodingSubset{TS1}{pbk}     {4}
-\DeclareEncodingSubset{TS1}{pnc}     {4}
-\DeclareEncodingSubset{TS1}{pzc}     {4}
-\DeclareEncodingSubset{TS1}{bch}     {4}
-\DeclareEncodingSubset{TS1}{put}     {5}
-%    \end{macrocode}
-%
-%    Other CTAN fonts (probably not complete):
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{uag}     {5}
-\DeclareEncodingSubset{TS1}{ugq}     {5}
-\DeclareEncodingSubset{TS1}{ul8}     {4}
-\DeclareEncodingSubset{TS1}{ul9}     {4}  % (LuxiSans, one day)
-\DeclareEncodingSubset{TS1}{augie}   {5}
-\DeclareEncodingSubset{TS1}{dayrom}  {3}
-\DeclareEncodingSubset{TS1}{dayroms} {3}
-\DeclareEncodingSubset{TS1}{pxr}     {0}
-\DeclareEncodingSubset{TS1}{pxss}    {0}
-\DeclareEncodingSubset{TS1}{pxtt}    {0}
-\DeclareEncodingSubset{TS1}{txr}     {0}
-\DeclareEncodingSubset{TS1}{txss}    {0}
-\DeclareEncodingSubset{TS1}{txtt}    {0}
-%    \end{macrocode}
-%
-%    Latin Modern and TeX Gyre:
-% \changes{v1.99k}{2009/10/28}{Added Latin Modern and TeX Gyre subsets}
-% \changes{v1.99l}{2009/11/04}{Added more Latin Modern and TeX Gyre subsets}
-% \changes{v1.99m}{2015/02/16}{Added lmtt (Heiko Oberdiek) latex/4415}
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{lmr}     {0}
-\DeclareEncodingSubset{TS1}{lmdh}    {0}
-\DeclareEncodingSubset{TS1}{lmss}    {0}
-\DeclareEncodingSubset{TS1}{lmssq}   {0}
-\DeclareEncodingSubset{TS1}{lmvtt}   {0}
-\DeclareEncodingSubset{TS1}{lmtt}    {0}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{qhv}     {0}
-\DeclareEncodingSubset{TS1}{qag}     {0}
-\DeclareEncodingSubset{TS1}{qbk}     {0}
-\DeclareEncodingSubset{TS1}{qcr}     {0}
-\DeclareEncodingSubset{TS1}{qcs}     {0}
-\DeclareEncodingSubset{TS1}{qpl}     {0}
-\DeclareEncodingSubset{TS1}{qtm}     {0}
-\DeclareEncodingSubset{TS1}{qzc}     {0}
-\DeclareEncodingSubset{TS1}{qhvc}    {0}
-%    \end{macrocode}
-%
-%    Fourier-GUTenberg:
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{futs}    {4}
-\DeclareEncodingSubset{TS1}{futx}    {4}
-\DeclareEncodingSubset{TS1}{futj}    {4}
-%    \end{macrocode}
-%
-%  Y\&Y's Lucida Bright
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{hlh}     {3}
-\DeclareEncodingSubset{TS1}{hls}     {3}
-\DeclareEncodingSubset{TS1}{hlst}    {3}
-%    \end{macrocode}
-%    The remaining settings for Lucida are conservative: the following
-%    fonts contain the |\textohm| character but not the |\texteuro|,
-%    i.e., belong to neither subset~4 nor subset~3. If you want to
-%    use the |\textohm| with these fonts copy these definition to
-%    \texttt{textcomp.cfg} and change the subset to~3. However in that
-%    case make sure that you do not use the |\texteuro|.
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{hlct}    {5}
-\DeclareEncodingSubset{TS1}{hlx}     {5}
-\DeclareEncodingSubset{TS1}{hlce}    {5}
-\DeclareEncodingSubset{TS1}{hlcn}    {5}
-\DeclareEncodingSubset{TS1}{hlcw}    {5}
-\DeclareEncodingSubset{TS1}{hlcf}    {5}
-%    \end{macrocode}
-%
-%    Other commercial families\ldots
-%    \begin{macrocode}
-\DeclareEncodingSubset{TS1}{pplx}    {3}
-\DeclareEncodingSubset{TS1}{pplj}    {3}
-\DeclareEncodingSubset{TS1}{ptmx}    {4}
-\DeclareEncodingSubset{TS1}{ptmj}    {4}
-%    \end{macrocode}
-%
-%    If the file \texttt{textcomp.cfg} exists it will be loaded at
-%    this point. This allows to define further subset encodings for
-%    font families not covered by default.
-%
-%    \begin{macrocode}
-\InputIfFileExists{textcomp.cfg}
-  {\PackageInfo{textcomp}{Local configuration file used}}{}
-%    \end{macrocode}
-%
-%    \begin{macrocode}
-\fi
-%</TS1sty>
-%    \end{macrocode}
-%
 % \Finale
 %
 \endinput

Modified: trunk/Master/texmf-dist/source/latex/base/ltoutenc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltoutenc.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltoutenc.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 
@@ -96,12 +96,11 @@
      \from{ltoutenc.dtx}{TS1}}
   \file{tuenc.def}{
      \from{ltoutenc.dtx}{TU}}
-  \file{textcomp.sty}{
-     \from{ltoutenc.dtx}{TS1sty}}
+% no longer in this file since 2020/02 release
+%  \file{textcomp.sty}{
+%     \from{ltoutenc.dtx}{TS1sty}}
   \file{fontenc.sty}{
      \from{ltoutenc.dtx}{package}}
 }
 
 \endbatchfile
-
-

Modified: trunk/Master/texmf-dist/source/latex/base/ltoutput.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltoutput.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltoutput.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -748,10 +748,10 @@
 % \changes{v1.2m}{2015/03/12}
 %         {initialise \cs{@dbldeferlist} again}
 %    The new algorithm stores page wide floats together with column floats
-%    in a single |\@deferlist| list. We keep |\@dbldeferlist| 
+%    in a single |\@deferlist| list. We keep |\@dbldeferlist|
 %    initialised  as empty so that packages that are testing for
 %    deferred floats can use the same code for old or new float
-%    handling. 
+%    handling.
 %    \begin{macrocode}
 \gdef\@dbldeferlist{}
 %    \end{macrocode}
@@ -990,15 +990,15 @@
   \if at nobreak \@nobreakfalse \everypar{}\fi
   \par
 %    \end{macrocode}
-%    The |\vfil| at the end of the macro before the break penalty will 
+%    The |\vfil| at the end of the macro before the break penalty will
 %    normally result in the page being run short,  even with |\flushbottom|
 %    in effect (in contrast to the behavior
-%    of |\pagebreak|). However, if there 
+%    of |\pagebreak|). However, if there
 %    is some explicit stretch on the page, say, a |\vfill|, it has the undesired
 %    side-effect, that the last line will not align at its baseline if it
 %    contains characters going below the baseline, as the value of |\prevdepth|
-%    is no longer taken into account by \TeX{}. So we back up by that amount 
-%    (or by |\maxdepth| if it is really huge), to mimic the normal behavior 
+%    is no longer taken into account by \TeX{}. So we back up by that amount
+%    (or by |\maxdepth| if it is really huge), to mimic the normal behavior
 %    without the |\newpage|.
 %    \begin{macrocode}
   \ifdim\prevdepth>\z@
@@ -1448,8 +1448,8 @@
 \def\@testwrongwidth #1{%
   \ifdim\dp#1=\f at depth
 %<*trace>
-    \fl at trace{\string#1 
-              \ifdim\f at depth=\z@ single \else double \fi 
+    \fl at trace{\string#1
+              \ifdim\f at depth=\z@ single \else double \fi
               column float -- ok}%
 %</trace>
   \else
@@ -3110,7 +3110,7 @@
 % |\@textmin| also.
 %    \begin{macrocode}
 %<*trace>
-%<latexrelease|fltrace|flafter>       \fl at trace{textfloatsheight (before) = 
+%<latexrelease|fltrace|flafter>       \fl at trace{textfloatsheight (before) =
 %<latexrelease|fltrace|flafter>                        \the \@textfloatsheight}%
 %</trace>
 %<latexrelease|fltrace|flafter>       \advance \@textmin \@textfloatsheight
@@ -3133,7 +3133,7 @@
 %<latexrelease|fltrace|flafter>       \fi
 %<latexrelease|fltrace|flafter>       \advance \@reqcolroom \ht\@currbox
 %<*trace>
-%<latexrelease|fltrace|flafter>       \fl at trace{float size = 
+%<latexrelease|fltrace|flafter>       \fl at trace{float size =
 %<latexrelease|fltrace|flafter>               \the \ht \@currbox (addtocurcol)}%
 %<latexrelease|fltrace|flafter>       \fl at trace{colroom =
 %<latexrelease|fltrace|flafter>                   \the \@colroom (addtocurcol)}%
@@ -3234,7 +3234,7 @@
 %<latexrelease|fltrace|flafter>                   \box\@currbox
 %<latexrelease|fltrace|flafter>                   \penalty\interlinepenalty
 %<latexrelease|fltrace|flafter>                   \vskip\intextsep
-%<latexrelease|fltrace|flafter>                   \ifnum\outputpenalty 
+%<latexrelease|fltrace|flafter>                   \ifnum\outputpenalty
 %<latexrelease|fltrace|flafter>                               <-\@Mii \vskip
 %<latexrelease|fltrace|flafter>                        -\parskip\fi
 %    \end{macrocode}
@@ -3278,7 +3278,7 @@
 %<latexrelease|fltrace|flafter>         \fl at trace{Fail: colnum = \the \@colnum:
 %<latexrelease|fltrace|flafter>                    fpstype \the \@fpstype=ORD?}%
 %<latexrelease|fltrace|flafter>         \ifnum \@fpstype<\sixt@@n
-%<latexrelease|fltrace|flafter>  \fl at trace{ERROR: BANG float not successful 
+%<latexrelease|fltrace|flafter>  \fl at trace{ERROR: BANG float not successful
 %<latexrelease|fltrace|flafter>                                  (addtocurcol)}%
 %<latexrelease|fltrace|flafter>           \fi
 %</trace>
@@ -3285,7 +3285,7 @@
 %<latexrelease|fltrace|flafter>         \fi
 %<*trace>
 %<latexrelease|fltrace|flafter>       \else
-%<latexrelease|fltrace|flafter>         \fl at trace{Fail---no room: fl box ht: 
+%<latexrelease|fltrace|flafter>         \fl at trace{Fail---no room: fl box ht:
 %<latexrelease|fltrace|flafter>               \the \ht \@currbox (addtocurcol)}%
 %</trace>
 %<latexrelease|fltrace|flafter>       \fi
@@ -3485,7 +3485,7 @@
 %<*trace>
 %<latexrelease|fltrace>   \fl at trace{End of addtonextcol --
 %<latexrelease|fltrace>                             locally counts:}%
-%<latexrelease|fltrace>   \fl at trace{col: \the \@colnum. 
+%<latexrelease|fltrace>   \fl at trace{col: \the \@colnum.
 %<latexrelease|fltrace>      top: \the \@topnum. bot: \the \@botnum.}%
 %</trace>
 %<latexrelease|fltrace>  \endgroup
@@ -4410,7 +4410,7 @@
    \advance \@reqcolroom
      \ifx #2\@empty \textfloatsep \else \floatsep \fi
 %<*trace>
-   \fl at trace{colroom = \the \@colroom 
+   \fl at trace{colroom = \the \@colroom
                                    (flcheckspace \string#1 \string#2)}%
    \fl at trace{reqcolroom = \the \@reqcolroom
                                    (flcheckspace \string#1 \string#2)}%

Modified: trunk/Master/texmf-dist/source/latex/base/ltpage.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltpage.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltpage.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -183,7 +183,7 @@
 %<latexrelease>\IncludeInRelease{2019/10/01}%
 %<latexrelease>                 {\markboth}{Make commands robust}%
 %    \end{macrocode}
-%    
+%
 % \begin{macro}{\markboth}
 % \begin{macro}{\markright}
 % \changes{v1.0d}{1994/05/20}{Changed setting for \cs{protect}.}
@@ -211,7 +211,7 @@
   \endgroup
   \if at nobreak\ifvmode\nobreak\fi\fi}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareRobustCommand\markright[1]{%
   \begingroup

Modified: trunk/Master/texmf-dist/source/latex/base/ltpageno.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltpageno.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltpageno.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltpar.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltpar.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltpar.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltpictur.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltpictur.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltpictur.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -1141,7 +1141,7 @@
 % \changes{v1.1l}{2016/03/29}{macro added (latex/4452)}
 % Tests whether horizontal or vertical lines are needed.
 %    \begin{macrocode}
-\newif\if at ovvline \@ovvlinetrue 
+\newif\if at ovvline \@ovvlinetrue
 \newif\if at ovhline \@ovhlinetrue
 %    \end{macrocode}
 % \end{macro}
@@ -1250,7 +1250,7 @@
 %<latexrelease>  \@circlefnt \setbox\@tempboxa
 %<latexrelease>  \hbox{\if at ovr \@ovvert32\kern -\@tempdima \fi
 %<latexrelease>  \if at ovl
-%<latexrelease>   \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx 
+%<latexrelease>   \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx
 %<latexrelease>  \fi
 %<latexrelease>  \if at ovt \@ovhorz \kern -\@ovxx \fi
 %<latexrelease>  \if at ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
@@ -1547,7 +1547,7 @@
 %<*2ekernel|latexrelease>
 %<latexrelease>\IncludeInRelease{2019/10/01}%
 %<latexrelease>                 {\bezier}{Make commands robust}%
-\MakeRobust\bezier     
+\MakeRobust\bezier
 \MakeRobust\circle
 \MakeRobust\dashbox
 \MakeRobust\line
@@ -1555,7 +1555,7 @@
 \MakeRobust\multiput
 \MakeRobust\oval
 \MakeRobust\put
-\MakeRobust\qbezier     
+\MakeRobust\qbezier
 \MakeRobust\shortstack
 \MakeRobust\thinlines
 \MakeRobust\vector
@@ -1564,7 +1564,7 @@
 %<latexrelease>\IncludeInRelease{0000/00/00}%
 %<latexrelease>                 {\bezier}{Make commands robust}%
 %<latexrelease>
-%<latexrelease>\kernel at make@fragile\bezier     
+%<latexrelease>\kernel at make@fragile\bezier
 %<latexrelease>\kernel at make@fragile\circle
 %<latexrelease>\kernel at make@fragile\dashbox
 %<latexrelease>\kernel at make@fragile\line
@@ -1572,7 +1572,7 @@
 %<latexrelease>\kernel at make@fragile\multiput
 %<latexrelease>\kernel at make@fragile\oval
 %<latexrelease>\kernel at make@fragile\put
-%<latexrelease>\kernel at make@fragile\qbezier     
+%<latexrelease>\kernel at make@fragile\qbezier
 %<latexrelease>\kernel at make@fragile\shortstack
 %<latexrelease>\kernel at make@fragile\thinlines
 %<latexrelease>\kernel at make@fragile\vector

Modified: trunk/Master/texmf-dist/source/latex/base/ltplain.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltplain.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltplain.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -378,7 +378,7 @@
 \ifx\directlua\@undefined
   \def\newwrite   {\e at alloc\write \chardef{\count17}\m at ne\sixt@@n}
 \else
-  \def\newwrite   {\e at alloc\write    
+  \def\newwrite   {\e at alloc\write
                    {\ifnum\allocationnumber=18
                      \advance\count17\@ne
                      \allocationnumber\count17 %
@@ -542,7 +542,7 @@
 %    \begin{macrocode}
 \def\e at alloc#1#2#3#4#5#6{%
   \global\advance#3\@ne
-  \e at ch@ck{#3}{#4}{#5}#1% 
+  \e at ch@ck{#3}{#4}{#5}#1%
   \allocationnumber#3\relax
   \global#2#6\allocationnumber
   \wlog{\string#6=\string#1\the\allocationnumber}}%

Modified: trunk/Master/texmf-dist/source/latex/base/ltsect.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltsect.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltsect.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -116,7 +116,7 @@
 % using the information previously saved with the other commands.
 %
 %
-%    
+%
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexrelease>
@@ -123,8 +123,8 @@
 %<latexrelease>\IncludeInRelease{2019/10/01}%
 %<latexrelease>                 {\title}{Make commands robust}%
 %    \end{macrocode}
-%    
 %
+%
 %  \begin{macro}{\title}
 % \changes{LaTeX2e}{1993/12/11}{Added default}
 % |\title| for use in |\maketitle|. If not given |\maketitle| will
@@ -191,7 +191,7 @@
 %    \end{macrocode}
 %
 %
-%    
+%
 %  \begin{macro}{\@title}
 %    \begin{macrocode}
 \def\@title{\@latex at error{No \noexpand\title given}\@ehc}
@@ -784,7 +784,7 @@
 \def\addcontentsline#1#2#3{%
   \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}%
 %    \end{macrocode}
-%    We add \cs{protected at file@percent} at the end which is turned om
+%    We add \cs{protected at file@percent} at the end which is turned inside
 %   \cs{@writefile} into a percent character to mask the newline after
 %   the closing argument brace.
 %    \begin{macrocode}
@@ -923,7 +923,7 @@
 
 %  \begin{macro}{\noprotrusion}
 %    This command, if placed directly to the right (or left) of a
-%    word, will prevent prevent protrusion of that word into the
+%    word, will prevent protrusion of that word into the
 %    margin. It is used in the toc entry lines as they shouldn't
 %    protrude. It is implemented as to kerns that cancel each other
 %    but being there hide the word so that protrusion is not
@@ -934,7 +934,7 @@
 %    \end{macrocode}
 %  \end{macro}
 %
-%    
+%
 %    \begin{macrocode}
 %</2ekernel|latexrelease>
 %<latexrelease>\EndIncludeInRelease

Modified: trunk/Master/texmf-dist/source/latex/base/ltspace.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltspace.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltspace.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -32,7 +32,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltspace.dtx}
-             [2019/08/27 v1.3j LaTeX Kernel (spacing)]
+             [2019/11/02 v1.3k LaTeX Kernel (spacing)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltspace.dtx}
@@ -275,7 +275,7 @@
 %<*2ekernel>
 \message{spacing,}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexrelease>
@@ -393,16 +393,39 @@
 % so now it is explicitly robust, like |\\|.
 %  \begin{macro}{\@normalcr}
 % The internal definition of the `normal' definition of |\\|.
+% \changes{v1.3k}{2019/11/02}{Make also \cs{@normalcr} robust}
 %    \begin{macrocode}
-\DeclareRobustCommand\\{%
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\@normalcr}{Make robust}%
+\protected\def\@normalcr{%
   \let \reserved at e \relax
   \let \reserved at f \relax
   \@ifstar{\let \reserved at e \vadjust \let \reserved at f \nobreak
              \@xnewline}%
-          \@xnewline}
-\expandafter\let\expandafter\@normalcr
-     \csname\expandafter\@gobble\string\\ \endcsname
+  \@xnewline}
 %    \end{macrocode}
+%
+%    \begin{macrocode}
+\let\\\@normalcr
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\@normalcr}{Make robust}%
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\\{%
+%<latexrelease>   \let \reserved at e \relax
+%<latexrelease>   \let \reserved at f \relax
+%<latexrelease>   \@ifstar{\let \reserved at e \vadjust \let \reserved at f \nobreak
+%<latexrelease>             \@xnewline}%
+%<latexrelease>  \@xnewline}
+%<latexrelease>\expandafter\let\expandafter\@normalcr
+%<latexrelease>     \csname\expandafter\@gobble\string\\ \endcsname
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%    \end{macrocode}
 %  \end{macro}
 %  \end{macro}
 %  \begin{macro}{\newline}
@@ -598,7 +621,7 @@
 % \changes{v1.3f}{2015/11/07}
 %         {Only space if there is no space at the end of the hlist latex/4443}
 %    \begin{macrocode}
-      \ifdim\lastskip=\z@ 
+      \ifdim\lastskip=\z@
         \nobreak \hskip\z at skip
       \fi
       \ignorespaces
@@ -624,7 +647,7 @@
 %<latexrelease>  \ifhmode
 %<latexrelease>    \spacefactor\@savsf
 %<latexrelease>    \ifdim\@savsk>\z@
-%<latexrelease>      \ifdim\lastskip=\z@ 
+%<latexrelease>      \ifdim\lastskip=\z@
 %<latexrelease>        \nobreak \hskip\z at skip
 %<latexrelease>      \fi
 %<latexrelease>      \ignorespaces
@@ -1153,7 +1176,7 @@
 %    \end{macrocode}
 % \end{macro}
 %
-%    
+%
 %    \begin{macrocode}
 %</2ekernel>
 %<*2ekernel|latexrelease>
@@ -1165,7 +1188,7 @@
 % \begin{macro}{\thinspace}
 % \begin{macro}{\negthinspace}
 % \begin{macro}{\enspace}
-% \changes{v1.3h}{2018/09/24}{Start LR-mode if necessary (git/49)}   
+% \changes{v1.3h}{2018/09/24}{Start LR-mode if necessary (git/49)}
 %    \begin{macrocode}
 \DeclareRobustCommand\thinspace{\leavevmode at ifvmode\kern .16667em }
 \DeclareRobustCommand\negthinspace{\leavevmode at ifvmode\kern-.16667em }
@@ -1178,7 +1201,7 @@
 %  \begin{macro}{\leavevmode at ifvmode}
 %    Leave vmode but only if we are really in vmode, otherwise the
 %    expansion is empty (which is not the case with the default definition).
-% \changes{v1.3h}{2018/09/24}{Macro added (git/49)}   
+% \changes{v1.3h}{2018/09/24}{Macro added (git/49)}
 %    \begin{macrocode}
 \protected\def\leavevmode at ifvmode{\ifvmode\expandafter\indent\fi}
 %    \end{macrocode}
@@ -1234,4 +1257,3 @@
 %
 % \Finale
 \endinput
-

Modified: trunk/Master/texmf-dist/source/latex/base/lttab.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/lttab.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/lttab.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -608,7 +608,7 @@
 %<latexrelease>\IncludeInRelease{2019/10/01}%
 %<latexrelease>                 {\pushtabs}{Make commands robust}%
 %    \end{macrocode}
-%    
+%
 % \begin{macro}{\pushtabs}
 %    \begin{macrocode}
 \DeclareRobustCommand\pushtabs{%
@@ -658,7 +658,7 @@
 %<latexrelease>\EndIncludeInRelease
 %<*2ekernel>
 %    \end{macrocode}
-%    
+%
 % \begin{macro}{\tabbingsep}
 %    \begin{macrocode}
 \newdimen\tabbingsep

Added: trunk/Master/texmf-dist/source/latex/base/lttextcomp.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/lttextcomp.dtx	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/base/lttextcomp.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -0,0 +1,2214 @@
+% \iffalse meta-comment
+%
+% Copyright (C) 2019-2020
+% The LaTeX3 Project and any individual authors listed elsewhere
+% in this file.
+%
+% This file is part of the LaTeX base system.
+% -------------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+%    https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
+%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
+% \iffalse
+%
+%<*driver>
+% \fi
+%
+%
+\ProvidesFile{lttextcomp.dtx}
+             [2020/01/25 v1.0b LaTeX Kernel (text companion symbols)]
+% \iffalse
+\documentclass{ltxdoc}
+\begin{document}
+\DocInput{lttextcomp.dtx}
+\end{document}
+%</driver>
+% \fi
+%
+%
+%
+%
+% \GetFileInfo{lttextcomp.dtx}
+% \title{Providing addtional text symbols\\
+%        (previously available through the \texttt{textcomp} package)\thanks
+%       {This file has version number
+%       \fileversion\ dated \filedate}}
+%
+% \author{Frank Mittelbach}
+%
+% \MaintainedByLaTeXTeam{latex}
+% \maketitle
+%
+% This file contains the implementation for accessing the glyphs
+% provided by the \texttt{TS1} encoding (Text Companion
+% Encoding). This is now offered as part of the kernel and so the
+% \texttt{textcomp} package which used to provide the definitions is
+% now mainly needed for compatibility reasons (and doesn't do much any
+% more).
+%
+%
+%
+% \StopEventually{}
+%
+%
+%  \begin{macro}{\oldstylenums}
+%  \begin{macro}{\legacyoldstylenums}
+%
+%
+%    Preserve the old definition of \cs{oldstylenums} under a different name.
+%
+%    This macro implements old style numerals but only works if we
+%    assume that the standard math fonts are used. Thus it needs
+%    changing in case other math encodings are used.
+%    \begin{macrocode}
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>                 {\oldstylenums}{Old style numerals}%
+\DeclareRobustCommand\legacyoldstylenums[1]{%
+   \begingroup
+%    \end{macrocode}
+%    Provide spacing using the interword space of the current font.
+%    \begin{macrocode}
+    \spaceskip\fontdimen\tw@\font
+%    \end{macrocode}
+%    Then switch to the math italic font. We don't change the current
+%    value of |\f at series| which means that you can use bold numerals
+%    if |\bfseries| is in force. As family we use |\rmdefault| which
+%    means that this only works if there exist an |OML| encoded
+%    version of that font or rather a corresponding |.fd| file (which
+%    is the case for standard \LaTeX{} fonts even though they only
+%    contain substitutions).
+% \changes{v3.0j}{1999/02/12}{Use \cs{rmdefault} instead of \texttt{cmm}
+%                 (pr/2954)}
+%    \begin{macrocode}
+    \usefont{OML}{\rmdefault}{\f at series}{it}%
+    \mathgroup\symletters #1%
+   \endgroup
+}
+%    \end{macrocode}
+%
+%    And here is the improved one that adjusts depending on surroundings.
+%    \begin{macrocode}
+\DeclareRobustCommand\oldstylenums[1]{%
+ \begingroup
+ \ifmmode
+   \mathgroup\symletters #1%
+  \else
+%    \end{macrocode}
+%    The \cs{CheckEncodingSubset} is discused below.
+%    \begin{macrocode}
+   \CheckEncodingSubset\@use at text@encoding{TS1}\tc at oldstylesubst2{{#1}}%
+ \fi
+ \endgroup
+}
+%    \end{macrocode}
+%    The helper to select the substitution if needed.
+%    \begin{macrocode}
+\def\tc at oldstylesubst#1{%
+   \tc at errorwarn
+          {Oldstyle digits unavailable for
+           family \f at family.\MessageBreak
+           Default oldstyle digits used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+%    \end{macrocode}
+%    The substitution defaults are provided in the file \texttt{fonttext.ltx}.
+%    \begin{macrocode}
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+        \fontfamily\textcompsubstdefault
+      \fi\fi\fi
+      \fontencoding{TS1}\selectfont#1%
+  \egroup
+}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%
+% \begin{macro}{\textcompsubstdefault}
+%    Here is the default for the ``unknown'' case:
+%    \begin{macrocode}
+\def\textcompsubstdefault{\rmsubstdefault}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>                 {\oldstylenums}{Old style numerals}%
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\oldstylenums[1]{%
+%<latexrelease>   \begingroup
+%<latexrelease>    \spaceskip\fontdimen\tw@\font
+%<latexrelease>    \usefont{OML}{\rmdefault}{\f at series}{it}%
+%<latexrelease>    \mathgroup\symletters #1%
+%<latexrelease>   \endgroup
+%<latexrelease>}
+%<latexrelease>\let\legacyoldstylenums\@undefined
+%<latexrelease>\def\textcompsubstdefault{cmr}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%    \end{macrocode}
+%
+%
+
+
+
+
+
+%    Everything else in the this file got introduced 2020/02/02, so we do a
+%    single rollback (for now).
+%    \begin{macrocode}
+%<*2ekernel>
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease>   {\DeclareEncodingSubset}{Text companion symbols}%
+%    \end{macrocode}
+%
+%
+%
+%  \begin{macro}{\DeclareEncodingSubset}
+%
+%     The declaration takes 3 mandatory arguments: an \emph{encoding}
+%    for which a subsetting is wanted (currently always \texttt{TS1},
+%    and most likely forever), the \emph{font family} for which we
+%    declare the subset and finally the \emph{subset} number (between \texttt{0} (all
+%    of the encoding is supported) and \texttt{9} many glyphs are missing.
+%
+%    For \texttt{TS1} the numbers have been choosen in a way that most
+%    fonts can be fairly correctly categorized, but the default
+%    settings are always conservative, that is they may claim that
+%    less glyphs are supported than there actually are.
+%
+%    As these days many font families are set up to end in \texttt{-LF}
+%    (lining figures), \texttt{-OsF} (oldstyle figures), etc.\ the
+%    declaration supports a shortcut: if the \emph{font family} name
+%    ends in \texttt{-*} then the star gets replaced by these common
+%    ending, e.g.,
+%\begin{verbatim}
+% \DeclareEncodingSubset{TS1}{Alegreya-*}{2}
+%\end{verbatim}
+%    is the same as writing
+%\begin{verbatim}
+% \DeclareEncodingSubset{TS1}{Alegreya-LF}{2}
+% \DeclareEncodingSubset{TS1}{Alegreya-OsF}{2}
+% \DeclareEncodingSubset{TS1}{Alegreya-TLF}{2}
+% \DeclareEncodingSubset{TS1}{Alegreya-TOsF}{2}
+%\end{verbatim}
+%    If only some are needed then one can define them individually but
+%    in many cases all four are wanted, hence the shortcut.
+%
+%
+%    The coding of the declaration has no error checking as it is
+%    mostly for internal use.
+%    \begin{macrocode}
+\def\DeclareEncodingSubset#1#2{%
+  \DeclareEncodingSubset at aux{#1}#2*\DeclareEncodingSubset at aux
+}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\DeclareEncodingSubset at aux#1#2*#3\DeclareEncodingSubset at aux#4{%
+%    \end{macrocode}
+%    if \verb=#3= is empty then there was no star, otherwise we
+%    define all four variants.
+%    \begin{macrocode}
+  \expandafter\ifx\expandafter X\detokenize{#3}X%
+    \@DeclareEncodingSubset{#1}{#2}{#4}%
+  \else
+    \@DeclareEncodingSubset{#1}{#2LF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TLF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2OsF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TOsF}{#4}%
+  \fi
+}
+%    \end{macrocode}
+%
+%    The subset info is stored in a command with the name
+%    \texttt{\bslash}\emph{family}\texttt{:}\emph{subset} so if that
+%    already exists we change otherwise declare a subset.
+%    \begin{macrocode}
+\def\@DeclareEncodingSubset#1#2#3{%
+   \@ifundefined{#1:#2}%
+     {\@font at info{Setting #2 sub-encoding to #1/#3}}%
+     {\@font at info{Changing #2 sub-encoding to #1/#3}}%
+     \@namedef{#1:#2}{#3}}
+%    \end{macrocode}
+%
+%    Any reason to allow those in the middle of documents?
+%    \begin{macrocode}
+\@onlypreamble\DeclareEncodingSubset
+\@onlypreamble\DeclareEncodingSubset at aux
+\@onlypreamble\@DeclareEncodingSubset
+%    \end{macrocode}
+%  \end{macro}
+
+
+% \begin{macro}{\CheckEncodingSubset}
+%    The command |\CheckEncodingSubset| will check if the current font
+%    family has the right encoding subset to typeset a certain
+%    command. It takes five arguments as follows:
+%    first argument is either |\UseTextSymbol|, |\UseTextAccent|
+%    depending on whether or not the symbol is a text symbol or a text
+%    accent.
+
+%    The second argument is the encoding from which this symbol should
+%    be fetched.
+%
+%    The third argument is either a fake accessor command or an error
+%    message. the code in that argument (if ever executed) receives
+%    two arguments: |#2| and |#5| of |\CheckEncodingSubset|.
+%
+%    Argument four is the subset encoding id to test against: if this
+%    value is higher than the subset id of the current font family
+%    then we typeset the symbol, i.e., execute |#1{#2}#5| otherwise
+%    it runs |#3#5|, e.g., to produce an error message or fake the
+%    glyph somehow.
+%
+%    Argument five is the symbol or accent command that is being
+%    checked.
+%
+%    For usage examples see definitions below.
+%
+%    \begin{macrocode}
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+      \expandafter\ifx\csname #2:\f at family\endcsname\relax
+        0\csname #2:?\endcsname
+      \else
+        \csname #2:\f at family\endcsname
+      \fi
+   \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+%    \end{macrocode}
+% \end{macro}
+
+
+
+
+
+% To set up the glyphs for the subsets we need a number helpers.
+%
+%  \begin{macro}{\tc at errorwarn}
+%    To we produce errors, warnings, or only info in the transcripts
+%    if glyphs require substitutions? By default it is ``info''
+%    only. With the \texttt{textcomp} package that can be changed.
+%    \begin{macrocode}
+\def\tc at errorwarn#1#2{\@latex at info{#1}}
+%    \end{macrocode}
+%  \end{macro}
+
+
+%  \begin{macro}{\tc at subst}
+%
+% \changes{v1.0b}{2020/01/22}{The overall default is \cs{textcompsubstdefault}
+%      not \cs{substdefault}}
+%    \begin{macrocode}
+\def\tc at subst#1{%
+   \tc at errorwarn
+    {Symbol \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding.\MessageBreak Default family used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+         \fontfamily\textcompsubstdefault
+      \fi\fi\fi
+%    \end{macrocode}
+%    Whatever default was chosen, we claim now (locally hopefully)
+%    that it  can handle all slots (even if not true) to avoid looping
+%    in certain situations, e.g., when something was set up incorrectly.
+%    \begin{macrocode}
+      \@namedef{TS1:\f at family}{0}%
+      \selectfont#1%
+  \egroup
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+
+% \begin{macro}{\tc at fake@euro}
+%    |\tc at fake@euro|  is an example of a ``fake'' definition to use in  arg |#3| of
+%    |\CheckEncodingSubset| when a symbol is not available in a
+%    certain font family. Here we produce a poor man's Euro symbol by combining
+%    a ``C'' with a ``=''.
+%    \begin{macrocode}
+\def\tc at fake@euro#1{%
+   \leavevmode
+   \@font at info{Faking \noexpand#1for font family
+                          \f at family\MessageBreak in TS1 encoding}%
+   \valign{##\cr
+      \vfil\hbox to 0.07em{\dimen@\f at size\p@
+                           \math at fontsfalse
+                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
+      \vfil\cr%
+      \hbox{C}\crcr
+   }%
+}
+%    \end{macrocode}
+% \end{macro}
+
+
+
+
+% \begin{macro}{\tc at check@symbol}
+% \begin{macro}{\tc at check@accent}
+%    These are two abbreviations that we use below to check symbols
+%    and accents in TS1. Only there to save some space, e.g., we can
+%    then write
+%\begin{verbatim}
+%\DeclareTextCommandDefault{\textcurrency}{\tc at check@symbol3\textcurrency}
+%\end{verbatim}
+%    to ensure that |\textcurrency| is only typeset if the current
+%    font has a \texttt{TS1} subset id of less than 3. Otherwise
+%    |\tc at error| is called telling the user that for this font family
+%    |\textcurreny| is not available.
+%    \begin{macrocode}
+\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
+%    \end{macrocode}
+%
+%    Accents and been mad an error in the \texttt{textcomp} package when
+%    not available. Now that we provide the functionality in the
+%    kernel we avoid the eror by swapping in a \texttt{T1} accent if
+%    the \texttt{TS1} accent is not available.
+%    \begin{macrocode}
+%\def\tc at check@accent{\CheckEncodingSubset\UseTextAccent{TS1}\tc at error}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\def\tc at check@accent#1{\CheckEncodingSubset\UseTextAccent{TS1}{\tc at swap@accent#1}}
+\def\tc at swap@accent#1#2{\UseTextAccent{T1}#1}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+
+% \section{Sub-encodings}
+%
+%    Here are the default definitions for the \texttt{TS1} symbols.
+%    First those that we assume are always available if a font
+%    implements \texttt{TS1}.
+%
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textdollar}{TS1}
+\UndeclareTextCommand{\textdollar}  {OT1}         % don't use the OT1 def any longer
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textsterling}{TS1}
+\UndeclareTextCommand{\textsterling}{OT1}         % don't use the OT1 def any longer
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textperthousand}{TS1}
+\UndeclareTextCommand{\textperthousand}{T1}       % don't use the T1 def
+%    \end{macrocode}
+%    Using \cs{UndeclareTextCommand} above is enough only if the
+%    encoding definition files are not reloaded afterwards. In the
+%    past that happened if \texttt{fontenc} was used in the document
+%    preamble (not not any longer). So in some sense it is better to fully remove
+%    them from the encoding files, but for rollbacks it is easier to
+%    keep them in for now.
+%
+%    These are the standard \texttt{itemize} and footnote symbols
+%    originally taken from \texttt{OMS} and now from \texttt{TS1}:
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
+\DeclareTextSymbolDefault{\textbullet}{TS1}
+\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
+\DeclareTextSymbolDefault{\textdagger}{TS1}
+\DeclareTextSymbolDefault{\textparagraph}{TS1}
+\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
+\DeclareTextSymbolDefault{\textsection}{TS1}
+%    \end{macrocode}
+%
+%    And here are the other \texttt{TS1} glyphs that are implemented
+%    by every font (or nearly everyone---a few are commented out and
+%    moved to sub-encoding 9,
+%    because they aren't around in one or two fonts.
+%    \begin{macrocode}
+%%\DeclareTextSymbolDefault{\textbardbl}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
+%%\DeclareTextSymbolDefault{\textcelsius}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textcent}{TS1}
+\DeclareTextSymbolDefault{\textcopyright}{TS1}
+\DeclareTextSymbolDefault{\textdegree}{TS1}
+\DeclareTextSymbolDefault{\textdiv}{TS1}
+\DeclareTextSymbolDefault{\textlnot}{TS1}
+\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textonequarter}{TS1}
+%%\DeclareTextSymbolDefault{\textonesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textordfeminine}{TS1}
+\DeclareTextSymbolDefault{\textordmasculine}{TS1}
+\DeclareTextSymbolDefault{\textpm}{TS1}
+\DeclareTextSymbolDefault{\textquotesingle}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
+\DeclareTextSymbolDefault{\textregistered}{TS1}
+%%\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textthreequarters}{TS1}
+%%\DeclareTextSymbolDefault{\textthreesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\texttimes}{TS1}
+\DeclareTextSymbolDefault{\texttrademark}{TS1}
+%%\DeclareTextSymbolDefault{\texttwelveudash}{TS1} % subst in sub-enc 9 above
+%%\DeclareTextSymbolDefault{\texttwosuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textyen}{TS1}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
+%    \end{macrocode}
+%
+%
+%    In the following sections the remaining default definitions are ordered by
+%    sub-encoding in which they are become unavailable (i.e., they are
+%    not provided in the sub-encoding with that number and all
+%    sub-encodings with higher numbers.
+%
+%    Thus the symbols that are available in sub-encoding $x$ are the
+%    symbols above (always available) and the symbols list in the
+%    sections for sub-encodings $x+1$ and higher.
+%
+% \subsection{Sub-encoding \texttt{1} (drop symbols not working in
+%    Latin Modern)}
+%
+%    The \cs{textcircled} is available but the glyph is simply too
+%    small so we keep using the \texttt{OMS} glyph.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textcircled}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OMS}}1\textcircled}
+%    \end{macrocode}
+%
+%
+%
+%
+%
+% \subsection{Sub-encoding \texttt{2} (majority of new OTF fonts via autoinst)}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\t}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OML}}2\t}
+%    \end{macrocode}
+%
+%    Capital  accents are really only very seldom implemented, so from
+%    sub-encoding \texttt{2} onwards we use the normal \texttt{T1}
+%    accents if they are asked for in the document.
+%
+%    In Unicode engines we don't implement them at all but always use
+%    the basic accents instead. whether that works or not really
+%    depends on the font, something like \verb=\"X= usually comes out
+%    wrong in Unicode engines.
+%
+%    \begin{macrocode}
+\ifx\Umathcode\@undefined
+  \DeclareTextCommandDefault{\capitalacute}       {\tc at check@accent{\'}2\capitalacute}
+  \DeclareTextCommandDefault{\capitalbreve}       {\tc at check@accent{\u}2\capitalbreve}
+  \DeclareTextCommandDefault{\capitalcaron}       {\tc at check@accent{\v}2\capitalcaron}
+  \DeclareTextCommandDefault{\capitalcedilla}     {\tc at check@accent{\c}2\capitalcedilla}
+  \DeclareTextCommandDefault{\capitalcircumflex}  {\tc at check@accent{\^}2\capitalcircumflex}
+  \DeclareTextCommandDefault{\capitaldieresis}    {\tc at check@accent{\"}2\capitaldieresis}
+  \DeclareTextCommandDefault{\capitaldotaccent}   {\tc at check@accent{\.}2\capitaldotaccent}
+  \DeclareTextCommandDefault{\capitalgrave}       {\tc at check@accent{\`}2\capitalgrave}
+  \DeclareTextCommandDefault{\capitalhungarumlaut}{\tc at check@accent{\H}2\capitalhungarumlaut}
+  \DeclareTextCommandDefault{\capitalmacron}      {\tc at check@accent{\=}2\capitalmacron}
+  \DeclareTextCommandDefault{\capitalogonek}      {\tc at check@accent{\k}2\capitalogonek}
+  \DeclareTextCommandDefault{\capitalring}        {\tc at check@accent{\r}2\capitalring}
+  \DeclareTextCommandDefault{\capitaltie}         {\tc at check@accent{\t}2\capitaltie}
+  \DeclareTextCommandDefault{\capitaltilde}       {\tc at check@accent{\~}2\capitaltilde}
+%    \end{macrocode}
+%    For \cs{newtie} and \cs{capitalnewtie} this is actually wrong, they should pick up
+%    the accent from the substitution font (not done yet).
+%    \begin{macrocode}
+  \DeclareTextCommandDefault{\newtie}             {\tc at check@accent{\t}2\newtie}
+  \DeclareTextCommandDefault{\capitalnewtie}      {\tc at check@accent{\t}2\capitalnewtie}
+%    \end{macrocode}
+%
+%    In Unicode engines we just execute the simple accents:
+%    \begin{macrocode}
+\else
+  \def\capitalacute{\'}
+  \def\capitalbreve{\u}
+  \def\capitalcaron{\v}
+  \def\capitalcedilla{\c}
+  \def\capitalcircumflex{\^}
+  \def\capitaldieresis{\"}
+  \def\capitaldotaccent{\.}
+  \def\capitalgrave{\`}
+  \def\capitalhungarumlaut{\H}
+  \def\capitalmacron{\=}
+  \def\capitalnewtie{\t}
+  \def\capitalogonek{\k}
+  \def\capitalring{\r}
+  \def\capitaltie{\t}
+  \def\capitaltilde{\~}
+  \def\newtie{\t}
+\fi
+%    \end{macrocode}
+%
+%
+%
+%
+%    The next two symbols exist in some fonts (faked?), but we ignore
+%    that to keep the subsets reasonable compact and most important linear.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textlbrackdbl}      {\tc at check@symbol2\textlbrackdbl}
+\DeclareTextCommandDefault{\textrbrackdbl}      {\tc at check@symbol2\textrbrackdbl}
+%    \end{macrocode}
+%
+%
+%    Old style numerals are again in some fonts but using
+%    \texttt{-OsF}, etc.\ is the better approach to get them, so we
+%    claim they aren't in sub-encoding 2 as that's true for most
+%    fonts.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\texteightoldstyle}  {\tc at check@symbol2\texteightoldstyle}
+\DeclareTextCommandDefault{\textfiveoldstyle}   {\tc at check@symbol2\textfiveoldstyle}
+\DeclareTextCommandDefault{\textfouroldstyle}   {\tc at check@symbol2\textfouroldstyle}
+\DeclareTextCommandDefault{\textnineoldstyle}   {\tc at check@symbol2\textnineoldstyle}
+\DeclareTextCommandDefault{\textoneoldstyle}    {\tc at check@symbol2\textoneoldstyle}
+\DeclareTextCommandDefault{\textsevenoldstyle}  {\tc at check@symbol2\textsevenoldstyle}
+\DeclareTextCommandDefault{\textsixoldstyle}    {\tc at check@symbol2\textsixoldstyle}
+\DeclareTextCommandDefault{\textthreeoldstyle}  {\tc at check@symbol2\textthreeoldstyle}
+\DeclareTextCommandDefault{\texttwooldstyle}    {\tc at check@symbol2\texttwooldstyle}
+\DeclareTextCommandDefault{\textzerooldstyle}   {\tc at check@symbol2\textzerooldstyle}
+%    \end{macrocode}
+%
+%
+%
+%    The next set of glyphs is special to TeX fonts (and available
+%    with a few older PS fonts supported in the virtual fonts), but
+%    not any longer in the majority of fonts provided through
+%    autoinst, so we pretend there aren't available in sub-encoding 2
+%    and below.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textacutedbl}       {\tc at check@symbol2\textacutedbl}
+\DeclareTextCommandDefault{\textasciiacute}     {\tc at check@symbol2\textasciiacute}
+\DeclareTextCommandDefault{\textasciibreve}     {\tc at check@symbol2\textasciibreve}
+\DeclareTextCommandDefault{\textasciicaron}     {\tc at check@symbol2\textasciicaron}
+\DeclareTextCommandDefault{\textasciidieresis}  {\tc at check@symbol2\textasciidieresis}
+\DeclareTextCommandDefault{\textasciigrave}     {\tc at check@symbol2\textasciigrave}
+\DeclareTextCommandDefault{\textasciimacron}    {\tc at check@symbol2\textasciimacron}
+\DeclareTextCommandDefault{\textgravedbl}       {\tc at check@symbol2\textgravedbl}
+\DeclareTextCommandDefault{\texttildelow}       {\tc at check@symbol2\texttildelow}
+%    \end{macrocode}
+%
+%
+%    Finally those below are only available in CM-based fonts but in
+%    no font that has its origin outside of the \TeX{} world.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textbaht}           {\tc at check@symbol2\textbaht}
+\DeclareTextCommandDefault{\textbigcircle}      {\tc at check@symbol2\textbigcircle}
+\DeclareTextCommandDefault{\textborn}           {\tc at check@symbol2\textborn}
+\DeclareTextCommandDefault{\textcentoldstyle}   {\tc at check@symbol2\textcentoldstyle}
+\DeclareTextCommandDefault{\textcircledP}       {\tc at check@symbol2\textcircledP}
+\DeclareTextCommandDefault{\textcopyleft}       {\tc at check@symbol2\textcopyleft}
+\DeclareTextCommandDefault{\textdblhyphenchar}  {\tc at check@symbol2\textdblhyphenchar}
+\DeclareTextCommandDefault{\textdblhyphen}      {\tc at check@symbol2\textdblhyphen}
+\DeclareTextCommandDefault{\textdied}           {\tc at check@symbol2\textdied}
+\DeclareTextCommandDefault{\textdiscount}       {\tc at check@symbol2\textdiscount}
+\DeclareTextCommandDefault{\textdivorced}       {\tc at check@symbol2\textdivorced}
+\DeclareTextCommandDefault{\textdollaroldstyle} {\tc at check@symbol2\textdollaroldstyle}
+\DeclareTextCommandDefault{\textguarani}        {\tc at check@symbol2\textguarani}
+\DeclareTextCommandDefault{\textleaf}           {\tc at check@symbol2\textleaf}
+\DeclareTextCommandDefault{\textlquill}         {\tc at check@symbol2\textlquill}
+\DeclareTextCommandDefault{\textmarried}        {\tc at check@symbol2\textmarried}
+\DeclareTextCommandDefault{\textmho}            {\tc at check@symbol2\textmho}
+\DeclareTextCommandDefault{\textmusicalnote}    {\tc at check@symbol2\textmusicalnote}
+\DeclareTextCommandDefault{\textnaira}          {\tc at check@symbol2\textnaira}
+\DeclareTextCommandDefault{\textopenbullet}     {\tc at check@symbol2\textopenbullet}
+\DeclareTextCommandDefault{\textpeso}           {\tc at check@symbol2\textpeso}
+\DeclareTextCommandDefault{\textpilcrow}        {\tc at check@symbol2\textpilcrow}
+\DeclareTextCommandDefault{\textrecipe}         {\tc at check@symbol2\textrecipe}
+\DeclareTextCommandDefault{\textreferencemark}  {\tc at check@symbol2\textreferencemark}
+\DeclareTextCommandDefault{\textrquill}         {\tc at check@symbol2\textrquill}
+\DeclareTextCommandDefault{\textservicemark}    {\tc at check@symbol2\textservicemark}
+\DeclareTextCommandDefault{\textsurd}           {\tc at check@symbol2\textsurd}
+%    \end{macrocode}
+%
+%    The \cs{textpertenthousand} also belongs in this group but here
+%    we have a choice: in T1 there is definition for
+%    \cs{textpertenthousand} making the symbol up from \% and
+%    \verb=\char 24= (twice) but in many fonts that char doesn't exist
+%    and the slot is reused for random ligatures. So better not use it
+%    because often it is wrong.  But pointing to TS1 is also not great
+%    as only a few fonts have it as a real symbol, so we get a
+%    substitution to CM or LM.
+%
+%    Alternatively we could just state that the symbol is unavailable in
+%    those fonts. For now I substitute.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textpertenthousand} {\tc at check@symbol2\textpertenthousand}
+\UndeclareTextCommand{\textpertenthousand}{T1}
+%    \end{macrocode}
+%
+%
+%
+% \subsection{Sub-encoding \texttt{3}}
+%
+%    Sub-encoding \texttt{2} is the one where we loose many
+%    symbols. In the higher-numbered sub-encodings we see only a few
+%    dropped additionally.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textlangle}         {\tc at check@symbol3\textlangle}
+\DeclareTextCommandDefault{\textrangle}         {\tc at check@symbol3\textrangle}
+%    \end{macrocode}
+%
+%
+%
+%
+%
+% \subsection{Sub-encoding \texttt{4}}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textcolonmonetary}  {\tc at check@symbol4\textcolonmonetary}
+\DeclareTextCommandDefault{\textdong}           {\tc at check@symbol4\textdong}
+\DeclareTextCommandDefault{\textdownarrow}      {\tc at check@symbol4\textdownarrow}
+\DeclareTextCommandDefault{\textleftarrow}      {\tc at check@symbol4\textleftarrow}
+\DeclareTextCommandDefault{\textlira}           {\tc at check@symbol4\textlira}
+\DeclareTextCommandDefault{\textrightarrow}     {\tc at check@symbol4\textrightarrow}
+\DeclareTextCommandDefault{\textuparrow}        {\tc at check@symbol4\textuparrow}
+\DeclareTextCommandDefault{\textwon}            {\tc at check@symbol4\textwon}
+%    \end{macrocode}
+%
+%
+%
+%
+%
+% \subsection{Sub-encoding \texttt{5} (most older PS fonts)}
+%
+%    Most older PS fonts (supported in \TeX{} since the early nineties
+%    when virtual fonts became available) are sorted under this
+%    sub-encoding. But in reality, many of them don't have all glpyhs
+%    that should be available in sub-encoding \texttt{5}. Instead they
+%    show little squares, i.e., they produce ``tofu'' if you are
+%    unlucky.
+%
+%    But the coverage is so random that it is impossible to sort them
+%    properly and if we tried to ensure that they only typeset those
+%    glyphs that are really  always available wouput put them all into
+%    sub-encoding \texttt{9} so that's a compromise really.
+%
+%    Modern fonts that don't typeset a tofu character if a glyph is
+%    missing are only cataloged as sub-encoding \texttt{5} if they
+%    really support of its glyph set.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textestimated}      {\tc at check@symbol5\textestimated}
+\DeclareTextCommandDefault{\textnumero}         {\tc at check@symbol5\textnumero}
+%    \end{macrocode}
+%
+%
+%
+%
+% \subsection{Sub-encoding \texttt{6}}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textflorin}         {\tc at check@symbol6\textflorin}
+\DeclareTextCommandDefault{\textcurrency}       {\tc at check@symbol6\textcurrency}
+%    \end{macrocode}
+%
+%
+%
+% \subsection{Sub-encoding \texttt{7}}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textfractionsolidus}{\tc at check@symbol7\textfractionsolidus}
+\DeclareTextCommandDefault{\textohm}            {\tc at check@symbol7\textohm}
+\DeclareTextCommandDefault{\textmu}             {\tc at check@symbol7\textmu}
+\DeclareTextCommandDefault{\textminus}          {\tc at check@symbol7\textminus}
+%    \end{macrocode}
+%
+%
+%
+% \subsection{Sub-encoding \texttt{8}}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textblank}          {\tc at check@symbol{8}\textblank}
+\DeclareTextCommandDefault{\textinterrobangdown}{\tc at check@symbol{8}\textinterrobangdown}
+\DeclareTextCommandDefault{\textinterrobang}    {\tc at check@symbol{8}\textinterrobang}
+%    \end{macrocode}
+%
+%    Fonts with this sub-encoding don't have a Euro symbol, but
+%    instead of substituting we fake it.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\texteuro}
+            {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro{8}\texteuro}
+%    \end{macrocode}
+%
+%
+%
+%
+% \subsection{Sub-encoding \texttt{9} (most missing)}
+%
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textcelsius}{\tc at check@symbol{9}\textcelsius}
+\DeclareTextCommandDefault{\textonesuperior}{\tc at check@symbol{9}\textonesuperior}
+\DeclareTextCommandDefault{\textthreequartersemdash}{\tc at check@symbol{9}\textthreequartersemdash}
+\DeclareTextCommandDefault{\textthreesuperior}{\tc at check@symbol{9}\textthreesuperior}
+\DeclareTextCommandDefault{\texttwelveudash}{\tc at check@symbol{9}\texttwelveudash}
+\DeclareTextCommandDefault{\texttwosuperior}{\tc at check@symbol{9}\texttwosuperior}
+\DeclareTextCommandDefault{\textbardbl}{\tc at check@symbol{9}\textbardbl}
+%    \end{macrocode}
+%
+%
+%
+%
+% \section{Unicode engine specials}
+%
+%    If we are using a unicode engine we handle some glyphs differently,
+%    so this here are the definitions for the Unicode encoding
+%    (overwriting the defaults above).
+
+%    \begin{macrocode}
+\ifx \Umathcode\@undefined  \else
+%    \end{macrocode}
+%
+%    This set should be taken from \texttt{TS1} encoding even if it
+%    means you get it from the default font for that encoding.
+%    \begin{macrocode}
+%\DeclareTextSymbol{\textcopyleft}{TS1}{171}
+%\DeclareTextSymbol{\textdblhyphen}{TS1}{45}
+%\DeclareTextSymbol{\textdblhyphenchar}{TS1}{127}
+%\DeclareTextSymbol{\textquotestraightbase}{TS1}{13}
+%\DeclareTextSymbol{\textquotestraightdblbase}{TS1}{18}
+%\DeclareTextSymbol{\textleaf}{TS1}{108}
+%\DeclareTextSymbol{\texttwelveudash}{TS1}{21}
+%\DeclareTextSymbol{\textthreequartersemdash}{TS1}{22}
+%    \end{macrocode}
+%
+%    If oldstyle numerals are asked for we just use \cs{oldstylenums}.
+%    \begin{macrocode}
+\DeclareTextCommand{\textzerooldstyle} \UnicodeEncodingName{\oldstylenums{0}}
+\DeclareTextCommand{\textoneoldstyle}  \UnicodeEncodingName{\oldstylenums{1}}
+\DeclareTextCommand{\texttwooldstyle}  \UnicodeEncodingName{\oldstylenums{2}}
+\DeclareTextCommand{\textthreeoldstyle}\UnicodeEncodingName{\oldstylenums{3}}
+\DeclareTextCommand{\textfouroldstyle} \UnicodeEncodingName{\oldstylenums{4}}
+\DeclareTextCommand{\textfiveoldstyle} \UnicodeEncodingName{\oldstylenums{5}}
+\DeclareTextCommand{\textsixoldstyle}  \UnicodeEncodingName{\oldstylenums{6}}
+\DeclareTextCommand{\textsevenoldstyle}\UnicodeEncodingName{\oldstylenums{7}}
+\DeclareTextCommand{\texteightoldstyle}\UnicodeEncodingName{\oldstylenums{8}}
+\DeclareTextCommand{\textnineoldstyle} \UnicodeEncodingName{\oldstylenums{9}}
+%    \end{macrocode}
+%    These have Unicode slots so this should be integrated into TU explictly
+%    \begin{macrocode}
+\DeclareTextSymbol{\textpilcrow}       \UnicodeEncodingName{"00B6}
+\DeclareTextSymbol{\textborn}          \UnicodeEncodingName{"002A}
+\DeclareTextSymbol{\textdied}          \UnicodeEncodingName{"2020}
+\DeclareTextSymbol{\textlbrackdbl}     \UnicodeEncodingName{"27E6}
+\DeclareTextSymbol{\textrbrackdbl}     \UnicodeEncodingName{"27E7}
+\DeclareTextSymbol{\textguarani}       \UnicodeEncodingName{"20B2}
+%    \end{macrocode}
+%    We could make \cs{textcentoldstyle} and \cs{textdollaroldstyle}
+%    point to dollar and cent in the Unicode encoding
+%    \begin{macrocode}
+%\DeclareTextSymbol{\textcentoldstyle}            \UnicodeEncodingName{"00A2}
+%\DeclareTextSymbol{\textdollaroldstyle}          \UnicodeEncodingName{"0024}
+%    \end{macrocode}
+%    but I think it is better to pick them up from TS1 even if that
+%    usually means LMR fonts
+%    \begin{macrocode}
+\DeclareTextSymbol{\textdollaroldstyle}{TS1}{138}
+\DeclareTextSymbol{\textcentoldstyle}  {TS1}{139}
+%    \end{macrocode}
+%
+%
+%    \begin{macrocode}
+\fi               % --- END of Unicode engines specials
+%    \end{macrocode}
+%
+% \section{Font family sub-encodings setup}
+%
+%    We declare the subsets for a good number of fonts in the kernel
+%    \ldots
+%
+%    But first the default for anything that is not declared.  We use
+%    \texttt{9} which is most likely much too conservative, but with the
+%    advantage that we aren't getting missing glyphs (or at least that
+%    this is very unlikely).
+%    For nearly all font in the \TeX{} Live distribution of 2019
+%    ``correct'' classifications are given below, so that this default
+%    is only used for new font families, and over time the right
+%    classifications can be added here too.
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{?}{9}
+%    \end{macrocode}
+%
+%    This first block contains the fonts that have been already
+%    supported by the \texttt{textcomp} package way back, i.e., the
+%    font families that have \TeX{} support since the mid-nineties.
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{ccr}     {0}
+\DeclareEncodingSubset{TS1}{cmbr}    {0}
+\DeclareEncodingSubset{TS1}{cmr}     {0}
+\DeclareEncodingSubset{TS1}{cmss}    {0}
+\DeclareEncodingSubset{TS1}{cmtl}    {0}
+\DeclareEncodingSubset{TS1}{cmtt}    {0}
+\DeclareEncodingSubset{TS1}{cmvtt}   {0}
+\DeclareEncodingSubset{TS1}{pxr}     {0}
+\DeclareEncodingSubset{TS1}{pxss}    {0}
+\DeclareEncodingSubset{TS1}{pxtt}    {0}
+\DeclareEncodingSubset{TS1}{qag}     {0}
+\DeclareEncodingSubset{TS1}{qbk}     {0}
+\DeclareEncodingSubset{TS1}{qcr}     {0}
+\DeclareEncodingSubset{TS1}{qcs}     {0}
+\DeclareEncodingSubset{TS1}{qhvc}    {0}
+\DeclareEncodingSubset{TS1}{qhv}     {0}
+\DeclareEncodingSubset{TS1}{qpl}     {0}
+\DeclareEncodingSubset{TS1}{qtm}     {0}
+\DeclareEncodingSubset{TS1}{qzc}     {0}
+\DeclareEncodingSubset{TS1}{txr}     {0}
+\DeclareEncodingSubset{TS1}{txss}    {0}
+\DeclareEncodingSubset{TS1}{txtt}    {0}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{lmr}     {1}
+\DeclareEncodingSubset{TS1}{lmdh}    {1}
+\DeclareEncodingSubset{TS1}{lmss}    {1}
+\DeclareEncodingSubset{TS1}{lmssq}   {1}
+\DeclareEncodingSubset{TS1}{lmvtt}   {1}
+\DeclareEncodingSubset{TS1}{lmtt}    {1} % missing TM, SM, pertenthousand for some reason
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{ptmx}    {2}
+\DeclareEncodingSubset{TS1}{ptmj}    {2}
+\DeclareEncodingSubset{TS1}{ul8}     {2}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{bch}     {5}  % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futj}    {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{futs}    {5}  % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futx}    {5}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{pag}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pbk}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pcr}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{phv}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pnc}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pplj}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{pplx}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{ppl}     {5}  % tofu for blank interrobang/down
+\DeclareEncodingSubset{TS1}{ptm}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pzc}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{ul9}     {5}  % tofu for blank, interrobang/down, ohm
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{dayroms} {6}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{dayrom}  {6}  % tofu for blank, interrobang/down, ohm
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{augie}   {8}  % really only missing euro
+\DeclareEncodingSubset{TS1}{put}     {8}
+\DeclareEncodingSubset{TS1}{uag}     {8}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{ugq}     {8}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{zi4}     {9}
+%    \end{macrocode}
+%    LucidaBright (sold through TUG) probably not quite correct, I
+%    guess as I have the older fonts \ldots
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{hls}     {5}
+\DeclareEncodingSubset{TS1}{hlst}    {5}
+\DeclareEncodingSubset{TS1}{hlct}    {5}
+\DeclareEncodingSubset{TS1}{hlh}     {5}
+\DeclareEncodingSubset{TS1}{hlx}     {8}
+\DeclareEncodingSubset{TS1}{hlce}    {8}
+\DeclareEncodingSubset{TS1}{hlcn}    {8}
+\DeclareEncodingSubset{TS1}{hlcw}    {8}
+\DeclareEncodingSubset{TS1}{hlcf}    {8}
+%    \end{macrocode}
+%
+%    Below are the newer fonts that have support files for
+%    \LaTeX{}. With very few exceptions the classifications are done
+%    so that all characters are correctly produced (either being
+%    available in the font or substituted.
+%
+%    There are a few fonts that contain ``tofu'' squares in places
+%    (instead of a real glyph) and in a few cases some really seldom
+%    needed chars are unavailable, i.e., produce missing glyphs (to
+%    avoid that a large number of available chars are unnecessarily
+%    substituted.
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{lato-*}                   {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{opensans-*}               {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{cantarell-*}              {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{fbb-*}                    {0}  % missing centoldstyle
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{tli}                      {1}  % with lots of tofu inside
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{Alegreya-*}               {2}
+\DeclareEncodingSubset{TS1}{AlegreyaSans-*}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSans-TLF}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansCondensed-TLF}  {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansMono-TLF}       {2}
+\DeclareEncodingSubset{TS1}{EBGaramond-*}             {2}
+\DeclareEncodingSubset{TS1}{Tempora-TLF}              {2}
+\DeclareEncodingSubset{TS1}{Tempora-TOsF}             {2}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{Arimo-TLF}                {3}
+\DeclareEncodingSubset{TS1}{Carlito-*}                {3}
+\DeclareEncodingSubset{TS1}{FiraSans-*}               {3}
+\DeclareEncodingSubset{TS1}{IBMPlexSans-TLF}          {3}
+\DeclareEncodingSubset{TS1}{Merriweather-OsF}         {3}
+\DeclareEncodingSubset{TS1}{Montserrat-*}             {3}
+\DeclareEncodingSubset{TS1}{MontserratAlternates-*}   {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TLF}        {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TOsF}       {3}
+\DeclareEncodingSubset{TS1}{SourceSansPro-*}          {3}
+\DeclareEncodingSubset{TS1}{SourceSerifPro-*}         {3}
+\DeclareEncodingSubset{TS1}{Tinos-TLF}                {3}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{AccanthisADFStdNoThree-LF}{4}
+\DeclareEncodingSubset{TS1}{Cabin-TLF}                {4}
+\DeclareEncodingSubset{TS1}{Caladea-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Chivo-*}                  {4}
+\DeclareEncodingSubset{TS1}{ClearSans-TLF}            {4}
+\DeclareEncodingSubset{TS1}{Coelacanth-LF}            {4}
+\DeclareEncodingSubset{TS1}{CrimsonPro-*}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TLF}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TOsF}            {4}
+\DeclareEncodingSubset{TS1}{Go-TLF}                   {4}
+\DeclareEncodingSubset{TS1}{GoMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{InriaSans-*}              {4}
+\DeclareEncodingSubset{TS1}{InriaSerif-*}             {4}
+\DeclareEncodingSubset{TS1}{LibertinusSans-*}         {4}
+\DeclareEncodingSubset{TS1}{LibertinusSerif-*}        {4}
+\DeclareEncodingSubset{TS1}{LibreBodoni-TLF}          {4}
+\DeclareEncodingSubset{TS1}{LibreFranklin-TLF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-LF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-OsF}       {4}
+\DeclareEncodingSubset{TS1}{LinuxBiolinumT-*}         {4}
+\DeclareEncodingSubset{TS1}{LinuxLibertineT-*}        {4}
+\DeclareEncodingSubset{TS1}{MerriweatherSans-OsF}     {4}
+\DeclareEncodingSubset{TS1}{MintSpirit-*}             {4}
+\DeclareEncodingSubset{TS1}{MintSpiritNoTwo-*}        {4}
+\DeclareEncodingSubset{TS1}{PTMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSans-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSansCaption-TLF}        {4}
+\DeclareEncodingSubset{TS1}{PTSansNarrow-TLF}         {4}
+\DeclareEncodingSubset{TS1}{PTSerif-TLF}              {4}
+\DeclareEncodingSubset{TS1}{PTSerifCaption-TLF}       {4}
+\DeclareEncodingSubset{TS1}{Raleway-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Raleway-TOsF}             {4}
+\DeclareEncodingSubset{TS1}{Roboto-*}                 {4}
+\DeclareEncodingSubset{TS1}{RobotoMono-TLF}           {4}
+\DeclareEncodingSubset{TS1}{RobotoSlab-TLF}           {4}
+\DeclareEncodingSubset{TS1}{Rosario-*}                {4}
+\DeclareEncodingSubset{TS1}{SticksTooText-*}          {4}
+\DeclareEncodingSubset{TS1}{UniversalisADFStd-LF}     {4}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{Almendra-OsF}             {5}
+\DeclareEncodingSubset{TS1}{Baskervaldx-*}            {5}
+\DeclareEncodingSubset{TS1}{BaskervilleF-*}           {5}
+\DeclareEncodingSubset{TS1}{Bitter-TLF}               {5}
+\DeclareEncodingSubset{TS1}{Cinzel-LF}                {5}
+\DeclareEncodingSubset{TS1}{CinzelDecorative-LF}      {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerif-TLF}          {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerifCondensed-TLF} {5}
+\DeclareEncodingSubset{TS1}{GilliusADF-LF}            {5}
+\DeclareEncodingSubset{TS1}{GilliusADFCond-LF}        {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwo-LF}       {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwoCond-LF}   {5}
+\DeclareEncodingSubset{TS1}{LobsterTwo-LF}            {5}
+\DeclareEncodingSubset{TS1}{OldStandard-TLF}          {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TLF}      {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TOsF}     {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TLF}          {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TOsF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TLF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TOsF}        {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TLF}       {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TOsF}      {5}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{Crimson-TLF}              {6}
+\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF}          {6}
+\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF}         {6}
+\DeclareEncodingSubset{TS1}{LibertinusMono-TLF}       {6}
+\DeclareEncodingSubset{TS1}{LibertinusSerifDisplay-LF}{6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineDisplayT-*} {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-LF}   {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-TLF}  {6}
+\DeclareEncodingSubset{TS1}{Overlock-LF}              {6}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{CormorantGaramond-*}      {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TLF}           {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TOsF}          {7}
+\DeclareEncodingSubset{TS1}{IMFELLEnglish-TLF}        {7}
+\DeclareEncodingSubset{TS1}{LibreBaskerville-TLF}     {7}
+\DeclareEncodingSubset{TS1}{LibreCaslon-*}            {7}
+\DeclareEncodingSubset{TS1}{Marcellus-LF}             {7}
+\DeclareEncodingSubset{TS1}{NotoSans-*}               {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TLF}         {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF}        {7}
+\DeclareEncodingSubset{TS1}{NotoSerif-*}              {7}
+\DeclareEncodingSubset{TS1}{Quattrocento-TLF}         {7}
+\DeclareEncodingSubset{TS1}{QuattrocentoSans-TLF}     {7}
+\DeclareEncodingSubset{TS1}{XCharter-TLF}             {7}
+\DeclareEncodingSubset{TS1}{XCharter-TOsF}            {7}
+\DeclareEncodingSubset{TS1}{erewhon-*}                {7}
+\DeclareEncodingSubset{TS1}{ComicNeue-TLF}            {7}
+\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF}     {7}
+\DeclareEncodingSubset{TS1}{Forum-LF}                 {7}  % the superiors are missing
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{Cochineal-*}              {8}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{AlgolRevived-TLF}         {9}
+%    \end{macrocode}
+%
+%
+%
+%
+% \section{Legacy symbol support for lists and footnote symbols}
+%
+%  \begin{macro}{\UseLegacyTextSymbols}
+%
+%    \begin{macrocode}
+\def\UseLegacyTextSymbols{%
+  \DeclareTextSymbolDefault{\textasteriskcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textbardbl}{OMS}%
+  \DeclareTextSymbolDefault{\textbullet}{OMS}%
+  \DeclareTextSymbolDefault{\textdaggerdbl}{OMS}%
+  \DeclareTextSymbolDefault{\textdagger}{OMS}%
+  \DeclareTextSymbolDefault{\textparagraph}{OMS}%
+  \DeclareTextSymbolDefault{\textperiodcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textsection}{OMS}%
+  \UndeclareTextCommand{\textsection}{T1}%
+  \expandafter\let\csname oldstylenums \expandafter\endcsname
+                  \csname legacyoldstylenums \endcsname
+}
+%    \end{macrocode}
+%  \end{macro}
+
+
+
+%  \begin{macro}{\textlegacyasteriskcentered}
+%  \begin{macro}{\textlegacybardbl}
+%  \begin{macro}{\textlegacybullet}
+%  \begin{macro}{\textlegacydaggerdbl}
+%  \begin{macro}{\textlegacydagger}
+%  \begin{macro}{\textlegacyparagraph}
+%  \begin{macro}{\textlegacyperiodcentered}
+%  \begin{macro}{\textlegacysection}
+%
+%    Here are new names for the legacy symbols that \LaTeX{} used to
+%    pick up from the \texttt{OMS} encoded fonts (and used dor itemize
+%    lists or footnote symbols.
+%
+%    We go the roundabout way via separate OMS declarations so that
+%\begin{verbatim}
+%   \renewcommand\textbullet{\textlegacybullet}
+%\end{verbatim}
+% doesn't produce an endless loop.
+%    \begin{macrocode}
+\DeclareTextSymbol{\textlegacyasteriskcentered}{OMS}{3}   % "03
+\DeclareTextSymbol{\textlegacybardbl}{OMS}{107}           % "6B
+\DeclareTextSymbol{\textlegacybullet}{OMS}{15}            % "0F
+\DeclareTextSymbol{\textlegacydaggerdbl}{OMS}{122}        % "7A
+\DeclareTextSymbol{\textlegacydagger}{OMS}{121}           % "79
+\DeclareTextSymbol{\textlegacyparagraph}{OMS}{123}        % "7B
+\DeclareTextSymbol{\textlegacyperiodcentered}{OMS}{1}     % "01
+\DeclareTextSymbol{\textlegacysection}{OMS}{120}          % "78
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textlegacyasteriskcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacybardbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacybullet}{OMS}
+\DeclareTextSymbolDefault{\textlegacydaggerdbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacydagger}{OMS}
+\DeclareTextSymbolDefault{\textlegacyparagraph}{OMS}
+\DeclareTextSymbolDefault{\textlegacyperiodcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacysection}{OMS}
+%    \end{macrocode}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+%  \end{macro}
+
+%
+%
+% Supporting rollback \ldots
+%    \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>   {\DeclareEncodingSubset}{Text companion symbols}%
+%<latexrelease>
+%<latexrelease>\let\DeclareEncodingSubset\@undefined
+%<latexrelease>\let\CheckEncodingSubset\@undefined
+%<latexrelease>
+%<latexrelease>\DeclareTextSymbolDefault{\textdollar}{OT1}
+%<latexrelease>\DeclareTextSymbolDefault{\textsterling}{OT1}
+%<latexrelease>\DeclareTextCommand{\textdollar}{OT1}{\hmode at bgroup
+%<latexrelease>   \ifdim \fontdimen\@ne\font >\z@
+%<latexrelease>      \slshape
+%<latexrelease>   \else
+%<latexrelease>      \upshape
+%<latexrelease>   \fi
+%<latexrelease>   \char`\$\egroup}
+%<latexrelease>\DeclareTextCommand{\textsterling}{OT1}{\hmode at bgroup
+%<latexrelease>   \ifdim \fontdimen\@ne\font >\z@
+%<latexrelease>      \itshape
+%<latexrelease>   \else
+%<latexrelease>      \fontshape{ui}\selectfont
+%<latexrelease>   \fi
+%<latexrelease>   \char`\$\egroup}
+%<latexrelease>\DeclareTextCommand{\textperthousand}{T1}
+%<latexrelease>   {\%\char 24 }
+%<latexrelease>
+%<latexrelease>\DeclareTextSymbolDefault{\textasteriskcentered}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textbullet}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textdaggerdbl}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textdagger}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textparagraph}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textperiodcentered}{OMS}
+%<latexrelease>\DeclareTextSymbolDefault{\textsection}{OMS}
+%<latexrelease>
+%<latexrelease>\DeclareTextSymbolDefault{\textbardbl}{OMS}
+%<latexrelease>\let\textbrokenbar\@undefined
+%<latexrelease>\let\textcelsius\@undefined
+%<latexrelease>\let\textcent\@undefined
+%<latexrelease>\DeclareTextCommandDefault{\textcopyright}{\textcircled{c}}
+%<latexrelease>\let\textdegree\@undefined
+%<latexrelease>\let\textdiv\@undefined
+%<latexrelease>\let\textlnot\@undefined
+%<latexrelease>\let\textonehalf\@undefined
+%<latexrelease>\let\textonequarter\@undefined
+%<latexrelease>\let\textonesuperior\@undefined
+%<latexrelease>\DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}}
+%<latexrelease>\DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}}
+%<latexrelease>\let\textpm\@undefined
+%<latexrelease>\let\textquotesingle\@undefined
+%<latexrelease>\let\textquotestraightbase\@undefined
+%<latexrelease>\let\textquotestraightdblbase\@undefined
+%<latexrelease>\DeclareTextCommandDefault{\textregistered}{\textcircled{%
+%<latexrelease>     \check at mathfonts\fontsize\sf at size\z@\math at fontsfalse\selectfont R}}
+%<latexrelease>\let\textthreequartersemdash\@undefined
+%<latexrelease>\let\textthreequarters\@undefined
+%<latexrelease>\let\textthreesuperior\@undefined
+%<latexrelease>\let\texttimes\@undefined
+%<latexrelease>\DeclareTextCommandDefault{\texttrademark}{\textsuperscript{TM}}
+%<latexrelease>\let\texttwelveudash\@undefined
+%<latexrelease>\let\texttwosuperior\@undefined
+%<latexrelease>\let\textyen\@undefined
+%<latexrelease>
+%<latexrelease>\let\textcapitalcompwordmark\@undefined
+%<latexrelease>\let\textascendercompwordmark\@undefined
+%<latexrelease>
+%<latexrelease>\DeclareTextAccentDefault{\textcircled}{OMS}
+%<latexrelease>\DeclareTextAccentDefault{\t}{OML}
+%<latexrelease>
+%<latexrelease>\let\capitalacute\@undefined
+%<latexrelease>\let\capitalbreve\@undefined
+%<latexrelease>\let\capitalcaron\@undefined
+%<latexrelease>\let\capitalcedilla\@undefined
+%<latexrelease>\let\capitalcircumflex\@undefined
+%<latexrelease>\let\capitaldieresis\@undefined
+%<latexrelease>\let\capitaldotaccent\@undefined
+%<latexrelease>\let\capitalgrave\@undefined
+%<latexrelease>\let\capitalhungarumlaut\@undefined
+%<latexrelease>\let\capitalmacron\@undefined
+%<latexrelease>\let\capitalnewtie\@undefined
+%<latexrelease>\let\capitalogonek\@undefined
+%<latexrelease>\let\capitalring\@undefined
+%<latexrelease>\let\capitaltie\@undefined
+%<latexrelease>\let\capitaltilde\@undefined
+%<latexrelease>\let\newtie\@undefined
+%<latexrelease>
+%<latexrelease>\let\textlbrackdbl\@undefined
+%<latexrelease>\let\textrbrackdbl\@undefined
+%<latexrelease>
+%<latexrelease>\let\texteightoldstyle\@undefined
+%<latexrelease>\let\textfiveoldstyle\@undefined
+%<latexrelease>\let\textfouroldstyle\@undefined
+%<latexrelease>\let\textnineoldstyle\@undefined
+%<latexrelease>\let\textoneoldstyle\@undefined
+%<latexrelease>\let\textsevenoldstyle\@undefined
+%<latexrelease>\let\textsixoldstyle\@undefined
+%<latexrelease>\let\textthreeoldstyle\@undefined
+%<latexrelease>\let\texttwooldstyle\@undefined
+%<latexrelease>\let\textzerooldstyle\@undefined
+%<latexrelease>
+%<latexrelease>\let\textacutedbl\@undefined
+%<latexrelease>\let\textasciiacute\@undefined
+%<latexrelease>\let\textasciibreve\@undefined
+%<latexrelease>\let\textasciicaron\@undefined
+%<latexrelease>\let\textasciidieresis\@undefined
+%<latexrelease>\let\textasciigrave\@undefined
+%<latexrelease>\let\textasciimacron\@undefined
+%<latexrelease>\let\textgravedbl\@undefined
+%<latexrelease>\let\texttildelow\@undefined
+%<latexrelease>
+%<latexrelease>\let\textbaht\@undefined
+%<latexrelease>\let\textbigcircle\@undefined
+%<latexrelease>\let\textborn\@undefined
+%<latexrelease>\let\textcentoldstyle\@undefined
+%<latexrelease>\let\textcircledP\@undefined
+%<latexrelease>\let\textcopyleft\@undefined
+%<latexrelease>\let\textdblhyphenchar\@undefined
+%<latexrelease>\let\textdblhyphen\@undefined
+%<latexrelease>\let\textdied\@undefined
+%<latexrelease>\let\textdiscount\@undefined
+%<latexrelease>\let\textdivorced\@undefined
+%<latexrelease>\let\textdollaroldstyle\@undefined
+%<latexrelease>\let\textguarani\@undefined
+%<latexrelease>\let\textleaf\@undefined
+%<latexrelease>\let\textlquill\@undefined
+%<latexrelease>\let\textmarried\@undefined
+%<latexrelease>\let\textmho\@undefined
+%<latexrelease>\let\textmusicalnote\@undefined
+%<latexrelease>\let\textnaira\@undefined
+%<latexrelease>\let\textopenbullet\@undefined
+%<latexrelease>\let\textpeso\@undefined
+%<latexrelease>\let\textpilcrow\@undefined
+%<latexrelease>\let\textrecipe\@undefined
+%<latexrelease>\let\textreferencemark\@undefined
+%<latexrelease>\let\textrquill\@undefined
+%<latexrelease>\let\textservicemark\@undefined
+%<latexrelease>\let\textsurd\@undefined
+%<latexrelease>
+%<latexrelease>\DeclareTextCommand{\textpertenthousand}{T1}
+%<latexrelease>                   {\%\char 24\char 24 }
+%<latexrelease>
+%<latexrelease>\let\textlangle\@undefined
+%<latexrelease>\let\textrangle\@undefined
+%<latexrelease>
+%<latexrelease>\let\textcolonmonetary\@undefined
+%<latexrelease>\let\textdong\@undefined
+%<latexrelease>\let\textdownarrow\@undefined
+%<latexrelease>\let\textleftarrow\@undefined
+%<latexrelease>\let\textlira\@undefined
+%<latexrelease>\let\textrightarrow\@undefined
+%<latexrelease>\let\textuparrow\@undefined
+%<latexrelease>\let\textwon\@undefined
+%<latexrelease>
+%<latexrelease>\let\textestimated\@undefined
+%<latexrelease>\let\textnumero\@undefined
+%<latexrelease>
+%<latexrelease>\let\textflorin\@undefined
+%<latexrelease>\let\textcurrency\@undefined
+%<latexrelease>
+%<latexrelease>\let\textfractionsolidus\@undefined
+%<latexrelease>\let\textohm\@undefined
+%<latexrelease>\let\textmu\@undefined
+%<latexrelease>\let\textminus\@undefined
+%<latexrelease>
+%<latexrelease>\let\textblank\@undefined
+%<latexrelease>\let\textinterrobangdown\@undefined
+%<latexrelease>\let\textinterrobang\@undefined
+%<latexrelease>
+%<latexrelease>\let\texteuro\@undefined
+%<latexrelease>
+%<latexrelease>\let\textcelsius\@undefined
+%<latexrelease>\let\textonesuperior\@undefined
+%<latexrelease>\let\textthreequartersemdash\@undefined
+%<latexrelease>\let\textthreesuperior\@undefined
+%<latexrelease>\let\texttwelveudash\@undefined
+%<latexrelease>\let\texttwosuperior\@undefined
+%<latexrelease>\let\textbardbl\@undefined
+%<latexrelease>
+%<latexrelease>\let\UseLegacyTextSymbols\@undefined
+%<latexrelease>\let\textlegacyasteriskcentered\@undefined
+%<latexrelease>\let\textlegacybardbl\@undefined
+%<latexrelease>\let\textlegacybullet\@undefined
+%<latexrelease>\let\textlegacydaggerdbl\@undefined
+%<latexrelease>\let\textlegacydagger\@undefined
+%<latexrelease>\let\textlegacyparagraph\@undefined
+%<latexrelease>\let\textlegacyperiodcentered\@undefined
+%<latexrelease>\let\textlegacysection\@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+%</2ekernel>
+%    \end{macrocode}
+%
+%
+%
+%
+% \section{The \texttt{textcomp} package}
+%
+%
+%    \begin{macrocode}
+%<*TS1sty>
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\providecommand\DeclareRelease[3]{}
+\providecommand\DeclareCurrentRelease[2]{}
+
+\DeclareRelease{}{2018-08-11}{textcomp-2018-08-11.sty}
+\DeclareCurrentRelease{}{2020-02-02}
+
+\ProvidesPackage{textcomp}
+ [2020/02/02 v2.0m Standard LaTeX package]
+%    \end{macrocode}
+%
+%    This is implemented by defining the default subset:
+%    \begin{macrocode}
+\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}}
+\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}}
+\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{8}}
+\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{9}}
+%    \end{macrocode}
+%    The default is set up in the kernel is  ``safe'' these days for
+%    unknown fonts but LaTeX has definitions for most families so it
+%    seldom applies.
+%
+%    If a different default is used then one needs to check the
+%    results to ensure that there aren't ``missing glyphs''.
+%
+%    The next set of options define the warning level (default in the
+%    kernel is info only). If you load the package then the default
+%    changes to produce an error message if any substitution happens.
+%    \begin{macrocode}
+\def\tc at errorwarn{\PackageError{textcomp}}
+\DeclareOption{error}{\gdef\tc at errorwarn{\PackageError{textcomp}}}
+\DeclareOption{warn}{\gdef\tc at errorwarn#1#2{\PackageWarning{textcomp}{#1}}}
+\DeclareOption{quiet}{\gdef\tc at errorwarn#1#2{}}
+%    \end{macrocode}
+%
+%    The ``force'' option basically changes the sub-encoding  to that
+%    of the default (which, unless changes, is 9 these days), i.e., it
+%    no longer depends on the font in use. This is mainly there
+%    because it might have been used in older documents, but not
+%    somehting that is recommended.
+%    \begin{macrocode}
+\DeclareOption{force}{%
+    \def\CheckEncodingSubset#1#2#3#4#5{%
+      \ifnum #4>%
+           0\csname #2:?\endcsname
+           \relax
+      \expandafter\@firstoftwo
+     \else
+      \expandafter\@secondoftwo
+    \fi
+     {#1{#2}}{#3}%
+     #5}%
+}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\ExecuteOptions{}
+\ProcessOptions\relax
+%    \end{macrocode}
+%
+%    There is not much else to do nowadays, because everything is
+%    already set up in the \LaTeX{} kernel.
+%
+%    \begin{macrocode}
+\InputIfFileExists{textcomp.cfg}
+  {\PackageInfo{textcomp}{Local configuration file used}}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</TS1sty>
+%    \end{macrocode}
+%
+%
+%
+% \subsection{The old textcomp package code}
+%
+%    This section contains the old code for the textcomp package and
+%    its documentation. It is only used if we roll back prior to 2020.
+%    Thus all the rest is mainly for historians. Note that the old
+%    code categorised in the sub-encodings only into 6 classes not 10.
+%
+%    \begin{macrocode}
+%<*TS1oldsty>
+\ProvidesPackage{textcomp}
+   [2018/08/11 v2.0j Standard LaTeX package]
+%    \end{macrocode}
+%
+%    This one is for the |TS1| encoding which contains text symbols
+%    for use with the |T1|-encoded text fonts.  It therefore first
+%    inputs the file |TS1enc.def| and then sets (or resets) the
+%    defaults for the symbols it contains.  The result of this is that
+%    when one of these symbols is accessed and the current encoding
+%    does not provide it, the symbol will be supplied by a silent,
+%    local change to this encoding.
+%
+%    Since many PostScript fonts only implement a subset of |TS1| many
+%    commands only produce black blobs of ink. To resolve the
+%    resulting problems a number of options have been introduced and
+%    some code  has been developed to distinguish sub-encodings.
+%
+%    The sub-encodings have a numerical id and are defined as follows
+%    for \texttt{TS1}:
+% \begin{description}
+%
+% \item[\#5] those \texttt{TS1} symbols that are also in the ISO-Adobe
+%       character set; without \verb=textcurrency=, which is often
+%       misused for the Euro.  Older Type1 fonts from the non-\TeX{}
+%       world provide only this subset.
+%
+% \item[\#4] = \#5 + \verb=\texteuro=.  Most newer fonts provide this.
+%
+% \item[\#3] = \#4 + \verb=\textomega=.  Can also be described as
+%       $\texttt{TS1} \cap (\texttt{ISO-Adobe} \cup
+%       \texttt{MacRoman})$.  (Except for the missing "currency".)
+
+%
+% \item[\#2] = \#3 + \verb=\textestimated= + \verb=\textcurrency=.  Can
+%       also be described as $\texttt{TS1} \cap
+%       \texttt{Adobe-Western-2}$.  This may be relevant for OpenType
+%       fonts, which usually show the Adobe-Western-2 character set.
+%
+%    \item[\#1] = \texttt{TS1} without \verb=\textcircled= and \verb=\t=.
+%       These two glyphs are often not implemented and if their kernel
+%       defaults are changed commands like \verb=\copyright=
+%       unnecessarily fail.
+%
+%    \item[\#0] = full \texttt{TS1}
+% \end{description}
+%
+%    And here a summary to go in the transcript file:
+%    \begin{macrocode}
+\PackageInfo{textcomp}{Sub-encoding information:\MessageBreak
+    \space\space 5 = only ISO-Adobe without
+                              \string\textcurrency\MessageBreak
+    \space\space 4 = 5 + \string\texteuro\MessageBreak
+    \space\space 3 = 4 + \string\textohm\MessageBreak
+    \space\space 2 = 3 + \noexpand\textestimated+
+                                \string\textcurrency\MessageBreak
+    \space\space 1 = TS1 - \noexpand\textcircled-
+                                            \string\t\MessageBreak
+    \space\space 0 = TS1 (full)\MessageBreak
+    Font families with sub-encoding setting implement\MessageBreak
+    only a restricted character set as indicated.\MessageBreak
+    Family '?' is the default used for unknown fonts.\MessageBreak
+    See the documentation for details\@gobble}
+%    \end{macrocode}
+%
+% \begin{macro}{\DeclareEncodingSubset}
+%    An encoding subset to which a font family belongs is declared by
+%    the command |\DeclareEncodingSubset| that takes the major encoding as the
+%    first argument (e.g., |TS1|), the family name as the second
+%    argument (e.g., |cmr|), and the subset encoding id as a third,
+%    (e.g., |0| for |cmr|).
+%
+%    The default encoding subset to use when nothing is known about
+%    the current font family is named |?|.
+%    \begin{macrocode}
+\def\DeclareEncodingSubset#1#2#3{%
+   \@ifundefined{#1:#2}%
+     {\PackageInfo{textcomp}{Setting #2 sub-encoding to #1/#3}}%
+     {\PackageInfo{textcomp}{Changing #2 sub-encoding to #1/#3}}%
+   \@namedef{#1:#2}{#3}}
+\@onlypreamble\DeclareEncodingSubset
+%    \end{macrocode}
+% \end{macro}
+%
+%
+%  The options for the package are the following:
+%    \begin{description}
+%    \item[safe]
+%       for unknown font families enables only symbols that are also
+%       in the ISO-Adobe character set; without "currency", which is
+%       often misused for the Euro.  Older Type1 fonts from the
+%       non-TeX world provide only this subset.
+%
+%    \item[euro]
+%       enables the ``safe'' symbols plus the |\texteuro|
+%       command. Most newer fonts provide this.
+%
+%    \item[full] enables all |TS1| commands; useful only with fonts
+%       like EC or CM bright.
+%
+%    \item[almostfull]
+%       same as ``full'', except that |\textcircled|
+%       and |\t| are \emph{not} redefined from their defaults to avoid
+%       that commands like |\copyright| suddenly no longer work.
+%
+%    \item[force]
+%       ignore all subset encoding definitions stored in the package
+%       itself or in the configuration file and always use the default
+%       subset as specified by one of the other options (seldom useful,
+%       only dangerous).
+%    \end{description}
+%
+% \begin{macro}{\iftc at forced}
+%    Switch used to implement the \texttt{force} option
+%    \begin{macrocode}
+\newif\iftc at forced   \tc at forcedfalse
+%    \end{macrocode}
+% \end{macro}
+
+%    This is implemented by defining the default subset:
+%    \begin{macrocode}
+\DeclareOption{full}{\DeclareEncodingSubset{TS1}{?}{0}}
+\DeclareOption{almostfull}{\DeclareEncodingSubset{TS1}{?}{1}}
+\DeclareOption{euro}{\DeclareEncodingSubset{TS1}{?}{4}}
+\DeclareOption{safe}{\DeclareEncodingSubset{TS1}{?}{5}}
+%    \end{macrocode}
+%    The default is ``almostfull'' which means that old documents will
+%    work except that |\textcircled| and |\t| will use the kernel
+%    defaults (with the advantage that this also works if the current
+%    font (as often the case) doesn't implement these glyphs.
+%
+%    The ``force'' option simply sets the switch to true.
+%    \begin{macrocode}
+\DeclareOption{force}{\tc at forcedtrue}
+%    \end{macrocode}
+%
+%    The suggestions to user is to use the ``safe'' option always
+%    unless that balks in which case they could switch to
+%    ``almostfull'' but then better check their output manually.
+%
+%    \begin{macrocode}
+\def\tc at errorwarn{\PackageError}
+\DeclareOption{warn}{\gdef\tc at errorwarn#1#2#3{\PackageWarning{#1}{#2}}}
+\DeclareOption{quiet}{\gdef\tc at errorwarn#1#2#3{}}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\ExecuteOptions{almostfull}
+\ProcessOptions\relax
+%    \end{macrocode}
+%
+%
+%
+%
+% \begin{macro}{\CheckEncodingSubset}
+%    The command |\CheckEncodingSubset| will check if the current font
+%    family has the right encoding subset to typeset a certain
+%    command. It takes five arguments as follows:
+%    first argument is either |\UseTextSymbol|, |\UseTextAccent|
+%    depending on whether or not the symbol is a text symbol or a text
+%    accent.
+
+%    The second argument is the encoding from which this symbol should
+%    be fetched.
+%
+%    The third argument is either a fake accessor command or an error
+%    message. the code in that argument (if ever executed) receives
+%    two arguments: |#2| and |#5| of |\CheckEncodingSubset|.
+%
+%    Argument four is the subset encoding id to test against: if this
+%    value is higher than the subset id of the current font family
+%    then we typeset the symbol, i.e., execute |#1{#2}#5| otherwise
+%    it runs |#3#5|, e.g., to produce an error message or fake the
+%    glyph somehow.
+%
+%    Argument five is the symbol or accent command that is being
+%    checked.
+%
+%    For usage examples see definitions below.
+%    \begin{macrocode}
+\iftc at forced
+%    \end{macrocode}
+%    If the ``force'' option was given we always use the default for
+%    testing against.
+%    \begin{macrocode}
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+        0\csname #2:?\endcsname
+        \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+%    \end{macrocode}
+%
+%    In normal circumstances the test is a bit more complicated: first
+%    check if there exists a macro
+%    |\|\meta{arg2}|:|\meta{current-family} and if so use that value
+%    to test against, otherwise use the default to test against.
+%    \begin{macrocode}
+\else
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+      \expandafter\ifx\csname #2:\f at family\endcsname\relax
+        0\csname #2:?\endcsname
+      \else
+        \csname #2:\f at family\endcsname
+      \fi
+   \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+\fi
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\tc at subst}
+%    \begin{macrocode}
+\def\tc at subst#1{%
+   \tc at errorwarn{textcomp}%
+    {Symbol \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding.\MessageBreak Default family used instead}\@eha
+  \bgroup\fontfamily\textcompsubstdefault\selectfont#1\egroup
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\tc at error}
+%    |\tc at error| is going to be used in arg |#3| of
+%    |\CheckEncodingSubset| when a symbol is not available in a
+%    certain font family. It gets pass the encoding it normally lives
+%    in (arg one) and the name of the symbol or accent that has a
+%    problem.
+%
+%    \begin{macrocode}
+% error commands take argument:
+% #1 symbol to be used
+\def\tc at error#1{%
+   \PackageError{textcomp}%  % should be latex error if general
+    {Accent \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding}\@eha
+}
+%    \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\tc at fake@euro}
+%    |\tc at fake@euro|  is an example of a ``fake'' definition to use in  arg |#3| of
+%    |\CheckEncodingSubset| when a symbol is not available in a
+%    certain font family. Here we produce an Euro symbol by combining
+%    a ``C'' with a ``=''.
+%    \begin{macrocode}
+\def\tc at fake@euro#1{%
+   \leavevmode
+   \PackageInfo{textcomp}{Faking \noexpand#1for font family
+                          \f at family\MessageBreak in TS1 encoding}%
+   \valign{##\cr
+      \vfil\hbox to 0.07em{\dimen@\f at size\p@
+                           \math at fontsfalse
+                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
+      \vfil\cr%
+      \hbox{C}\crcr
+   }%
+}
+%    \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\tc at check@symbol}
+% \begin{macro}{\tc at check@accent}
+%    These are two abbreviations that we use below to check symbols
+%    and accents in TS1. Only there to save some space, e.g., we can
+%    then write
+%\begin{verbatim}
+%\DeclareTextCommandDefault{\textcurrency}{\tc at check@symbol3\textcurrency}
+%\end{verbatim}
+%    to ensure that |\textcurrency| is only typeset if the current
+%    font has a \texttt{TS1} subset id of less than 3. Otherwise
+%    |\tc at error| is called telling the user that for this font family
+%    |\textcurreny| is not available.
+%    \begin{macrocode}
+\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
+\def\tc at check@accent{\CheckEncodingSubset\UseTextAccent{TS1}\tc at error}
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%    We start with the commands that are ``safe'' and which can be
+%    unconditionally set up, first the accents\ldots
+%    \begin{macrocode}
+\DeclareTextAccentDefault{\capitalcedilla}{TS1}
+\DeclareTextAccentDefault{\capitalogonek}{TS1}
+\DeclareTextAccentDefault{\capitalgrave}{TS1}
+\DeclareTextAccentDefault{\capitalacute}{TS1}
+\DeclareTextAccentDefault{\capitalcircumflex}{TS1}
+\DeclareTextAccentDefault{\capitaltilde}{TS1}
+\DeclareTextAccentDefault{\capitaldieresis}{TS1}
+\DeclareTextAccentDefault{\capitalhungarumlaut}{TS1}
+\DeclareTextAccentDefault{\capitalring}{TS1}
+\DeclareTextAccentDefault{\capitalcaron}{TS1}
+\DeclareTextAccentDefault{\capitalbreve}{TS1}
+\DeclareTextAccentDefault{\capitalmacron}{TS1}
+\DeclareTextAccentDefault{\capitaldotaccent}{TS1}
+%    \end{macrocode}
+%    \ldots and then the other glyphs.
+% \changes{v1.9p}{1998/06/12}{Renamed \cs{textmacron} pr/2840}
+%    \begin{macrocode}
+\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
+\DeclareTextSymbolDefault{\texttwelveudash}{TS1}
+\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1}
+\DeclareTextSymbolDefault{\textdollar}{TS1}
+\DeclareTextSymbolDefault{\textquotesingle}{TS1}
+\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
+\DeclareTextSymbolDefault{\textfractionsolidus}{TS1}
+\DeclareTextSymbolDefault{\textminus}{TS1}
+\DeclareTextSymbolDefault{\textlbrackdbl}{TS1}
+\DeclareTextSymbolDefault{\textrbrackdbl}{TS1}
+\DeclareTextSymbolDefault{\textasciigrave}{TS1}
+\DeclareTextSymbolDefault{\texttildelow}{TS1}
+\DeclareTextSymbolDefault{\textasciibreve}{TS1}
+\DeclareTextSymbolDefault{\textasciicaron}{TS1}
+\DeclareTextSymbolDefault{\textgravedbl}{TS1}
+\DeclareTextSymbolDefault{\textacutedbl}{TS1}
+\DeclareTextSymbolDefault{\textdagger}{TS1}
+\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
+\DeclareTextSymbolDefault{\textbardbl}{TS1}
+\DeclareTextSymbolDefault{\textperthousand}{TS1}
+\DeclareTextSymbolDefault{\textbullet}{TS1}
+\DeclareTextSymbolDefault{\textcelsius}{TS1}
+\DeclareTextSymbolDefault{\textflorin}{TS1}
+\DeclareTextSymbolDefault{\texttrademark}{TS1}
+\DeclareTextSymbolDefault{\textcent}{TS1}
+\DeclareTextSymbolDefault{\textsterling}{TS1}
+\DeclareTextSymbolDefault{\textyen}{TS1}
+\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
+\DeclareTextSymbolDefault{\textsection}{TS1}
+\DeclareTextSymbolDefault{\textasciidieresis}{TS1}
+\DeclareTextSymbolDefault{\textcopyright}{TS1}
+\DeclareTextSymbolDefault{\textordfeminine}{TS1}
+\DeclareTextSymbolDefault{\textlnot}{TS1}
+\DeclareTextSymbolDefault{\textregistered}{TS1}
+\DeclareTextSymbolDefault{\textasciimacron}{TS1}
+\DeclareTextSymbolDefault{\textdegree}{TS1}
+\DeclareTextSymbolDefault{\textpm}{TS1}
+\DeclareTextSymbolDefault{\texttwosuperior}{TS1}
+\DeclareTextSymbolDefault{\textthreesuperior}{TS1}
+\DeclareTextSymbolDefault{\textasciiacute}{TS1}
+\DeclareTextSymbolDefault{\textmu}{TS1}
+\DeclareTextSymbolDefault{\textparagraph}{TS1}
+\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
+\DeclareTextSymbolDefault{\textonesuperior}{TS1}
+\DeclareTextSymbolDefault{\textordmasculine}{TS1}
+\DeclareTextSymbolDefault{\textonequarter}{TS1}
+\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textthreequarters}{TS1}
+\DeclareTextSymbolDefault{\texttimes}{TS1}
+\DeclareTextSymbolDefault{\textdiv}{TS1}
+%    \end{macrocode}
+%
+%    The |\texteuro| is only available for subsets with id 4 or
+%    less. Otherwise we fake the glyph using |\tc at fake@euro|
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\texteuro}
+   {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro5\texteuro}
+%    \end{macrocode}
+%
+%    The |\textohm| is only available for subsets with id 3 or
+%    less. Otherwise we produce an error.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textohm}{\tc at check@symbol4\textohm}
+%    \end{macrocode}
+%    The |\textestimated| and |\textcurrency| are only provided for
+%    fonts with subset encoding with id 2 or less.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textestimated}%
+    {\tc at check@symbol3\textestimated}
+\DeclareTextCommandDefault{\textcurrency}%
+    {\tc at check@symbol3\textcurrency}
+%    \end{macrocode}
+%    Nearly all of the remaining glyphs are provided only with fonts
+%    with id 1 or 0, i.e., are essentially complete.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\capitaltie}%
+    {\tc at check@accent2\capitaltie}
+\DeclareTextCommandDefault{\newtie}%
+    {\tc at check@accent2\newtie}
+\DeclareTextCommandDefault{\capitalnewtie}%
+    {\tc at check@accent2\capitalnewtie}
+\DeclareTextCommandDefault{\textleftarrow}%
+    {\tc at check@symbol2\textleftarrow}
+\DeclareTextCommandDefault{\textrightarrow}%
+    {\tc at check@symbol2\textrightarrow}
+\DeclareTextCommandDefault{\textblank}%
+    {\tc at check@symbol2\textblank}
+\DeclareTextCommandDefault{\textdblhyphen}%
+    {\tc at check@symbol2\textdblhyphen}
+\DeclareTextCommandDefault{\textzerooldstyle}%
+    {\tc at check@symbol2\textzerooldstyle}
+\DeclareTextCommandDefault{\textoneoldstyle}%
+    {\tc at check@symbol2\textoneoldstyle}
+\DeclareTextCommandDefault{\texttwooldstyle}%
+    {\tc at check@symbol2\texttwooldstyle}
+\DeclareTextCommandDefault{\textthreeoldstyle}%
+    {\tc at check@symbol2\textthreeoldstyle}
+\DeclareTextCommandDefault{\textfouroldstyle}%
+    {\tc at check@symbol2\textfouroldstyle}
+\DeclareTextCommandDefault{\textfiveoldstyle}%
+    {\tc at check@symbol2\textfiveoldstyle}
+\DeclareTextCommandDefault{\textsixoldstyle}%
+    {\tc at check@symbol2\textsixoldstyle}
+\DeclareTextCommandDefault{\textsevenoldstyle}%
+    {\tc at check@symbol2\textsevenoldstyle}
+\DeclareTextCommandDefault{\texteightoldstyle}%
+    {\tc at check@symbol2\texteightoldstyle}
+\DeclareTextCommandDefault{\textnineoldstyle}%
+    {\tc at check@symbol2\textnineoldstyle}
+\DeclareTextCommandDefault{\textlangle}%
+    {\tc at check@symbol2\textlangle}
+\DeclareTextCommandDefault{\textrangle}%
+    {\tc at check@symbol2\textrangle}
+\DeclareTextCommandDefault{\textmho}%
+    {\tc at check@symbol2\textmho}
+\DeclareTextCommandDefault{\textbigcircle}%
+    {\tc at check@symbol2\textbigcircle}
+\DeclareTextCommandDefault{\textuparrow}%
+    {\tc at check@symbol2\textuparrow}
+\DeclareTextCommandDefault{\textdownarrow}%
+    {\tc at check@symbol2\textdownarrow}
+\DeclareTextCommandDefault{\textborn}%
+    {\tc at check@symbol2\textborn}
+\DeclareTextCommandDefault{\textdivorced}%
+    {\tc at check@symbol2\textdivorced}
+\DeclareTextCommandDefault{\textdied}%
+    {\tc at check@symbol2\textdied}
+\DeclareTextCommandDefault{\textleaf}%
+    {\tc at check@symbol2\textleaf}
+\DeclareTextCommandDefault{\textmarried}%
+    {\tc at check@symbol2\textmarried}
+\DeclareTextCommandDefault{\textmusicalnote}%
+    {\tc at check@symbol2\textmusicalnote}
+\DeclareTextCommandDefault{\textdblhyphenchar}%
+    {\tc at check@symbol2\textdblhyphenchar}
+\DeclareTextCommandDefault{\textdollaroldstyle}%
+    {\tc at check@symbol2\textdollaroldstyle}
+\DeclareTextCommandDefault{\textcentoldstyle}%
+    {\tc at check@symbol2\textcentoldstyle}
+\DeclareTextCommandDefault{\textcolonmonetary}%
+    {\tc at check@symbol2\textcolonmonetary}
+\DeclareTextCommandDefault{\textwon}%
+    {\tc at check@symbol2\textwon}
+\DeclareTextCommandDefault{\textnaira}%
+    {\tc at check@symbol2\textnaira}
+\DeclareTextCommandDefault{\textguarani}%
+    {\tc at check@symbol2\textguarani}
+\DeclareTextCommandDefault{\textpeso}%
+    {\tc at check@symbol2\textpeso}
+\DeclareTextCommandDefault{\textlira}%
+    {\tc at check@symbol2\textlira}
+\DeclareTextCommandDefault{\textrecipe}%
+    {\tc at check@symbol2\textrecipe}
+\DeclareTextCommandDefault{\textinterrobang}%
+    {\tc at check@symbol2\textinterrobang}
+\DeclareTextCommandDefault{\textinterrobangdown}%
+    {\tc at check@symbol2\textinterrobangdown}
+\DeclareTextCommandDefault{\textdong}%
+    {\tc at check@symbol2\textdong}
+\DeclareTextCommandDefault{\textpertenthousand}%
+    {\tc at check@symbol2\textpertenthousand}
+\DeclareTextCommandDefault{\textpilcrow}%
+    {\tc at check@symbol2\textpilcrow}
+\DeclareTextCommandDefault{\textbaht}%
+    {\tc at check@symbol2\textbaht}
+\DeclareTextCommandDefault{\textnumero}%
+    {\tc at check@symbol2\textnumero}
+\DeclareTextCommandDefault{\textdiscount}%
+    {\tc at check@symbol2\textdiscount}
+\DeclareTextCommandDefault{\textopenbullet}%
+    {\tc at check@symbol2\textopenbullet}
+\DeclareTextCommandDefault{\textservicemark}%
+    {\tc at check@symbol2\textservicemark}
+\DeclareTextCommandDefault{\textlquill}%
+    {\tc at check@symbol2\textlquill}
+\DeclareTextCommandDefault{\textrquill}%
+    {\tc at check@symbol2\textrquill}
+\DeclareTextCommandDefault{\textcopyleft}%
+    {\tc at check@symbol2\textcopyleft}
+\DeclareTextCommandDefault{\textcircledP}%
+    {\tc at check@symbol2\textcircledP}
+\DeclareTextCommandDefault{\textreferencemark}%
+    {\tc at check@symbol2\textreferencemark}
+\DeclareTextCommandDefault{\textsurd}%
+    {\tc at check@symbol2\textsurd}
+%    \end{macrocode}
+%    The |\textcircled| and |\t| are handled specially, unless the
+%    current font has a subset id of 0 (i.e. full \texttt{TS1}) we
+%    pick the symbols up from the math font encodings, i.e., the
+%    third argument to |\CheckEncodingSubset| uses |\UseTextAccent| to
+%    get them from there.
+%    \begin{macrocode}
+\DeclareTextCommandDefault{\textcircled}
+  {\CheckEncodingSubset\UseTextAccent{TS1}%
+    {\UseTextAccent{OMS}}1\textcircled}
+\DeclareTextCommandDefault{\t}
+  {\CheckEncodingSubset\UseTextAccent{TS1}%
+    {\UseTextAccent{OML}}1\t}
+%    \end{macrocode}
+
+
+%
+%    Finally input the encoding-specific definitions for
+%    \texttt{TS1} thus making the top-level definitions
+%    optimised for this encoding (and not for the default
+%    encoding).
+% \changes{v1.9o}{1998/03/20}{Load decls after defaults for speed.}
+%    \begin{macrocode}
+\input{ts1enc.def}
+%    \end{macrocode}
+%    Now having the new glyphs available we also want to make sure
+%    that they are used. For most cases this will automatically happen
+%    but for some glyphs there are inferior definitions already known
+%    to \LaTeX{} which will prevent the usage of the \texttt{TS1}
+%    versions. So we better
+%    get rid of them:
+% \changes{v1.9o}{1998/03/20}{Added various \cs{UndeclareTextCommand}
+%    declarations for pr/2783}
+%    \begin{macrocode}
+\UndeclareTextCommand{\textsterling}{OT1}
+\UndeclareTextCommand{\textdollar}  {OT1}
+%    \end{macrocode}
+%    Similar declarations should probably be made for other encodings
+%    like \texttt{OT4} if they are in use.
+%    \begin{macrocode}
+%\UndeclareTextCommand{\textsterling}{OT4}
+%\UndeclareTextCommand{\textdollar}  {OT4}
+%    \end{macrocode}
+%    From the \texttt{T1} encoding there are two candidates for removal:
+%    \textperthousand{} and \textpertenthousand{} since these are both
+%    constructed from \% followed by a tiny
+%    `{\fontencoding{T1}\selectfont \char 24}'
+%    rather than being a single glyph. The problem with this
+%    approach is that in PostScript fonts this small zero is usually not
+%    available resulting in \%\rule{3pt}{3pt} rather than
+%    \textperthousand{} while the real glyph (at least for
+%    |\textperthousand|) is available in the PostScript version of
+%    \texttt{TS1}.  So for the moment we compromise by removing the
+%    \texttt{T1} declaration for |\textperthousand| but keeping the one
+%    for |\textpertenthousand|. This will have the effect that with
+%    Computer Modern fonts everything will come out (although
+%    \textperthousand{} and \textpertenthousand{} are not taken from the
+%    same physical font) and with PostScript fonts \textperthousand{}
+%    will come out correctly while \textpertenthousand{} will most
+%    likely look like \%\rule{6pt}{3pt} --- which is probably an
+%    improvement over just getting a single `\rule{3pt}{3pt}' to
+%    indicate a completely missing glyph, which would happen if we
+%    also `undeclared' |\textpertenthousand|.
+%    \begin{macrocode}
+\UndeclareTextCommand{\textperthousand}{T1}
+%\UndeclareTextCommand{\textpertenthousand}{T1}
+%    \end{macrocode}
+%
+%
+%  \subsubsection{Supporting oldstyle digits}
+%
+%    \begin{macrocode}
+\DeclareRobustCommand\oldstylenums[1]{%
+ \begingroup
+  \ifmmode
+   \mathgroup\symletters #1%
+  \else
+   \CheckEncodingSubset\@use at text@encoding{TS1}%
+       {\PackageWarning{textcomp}%
+          {Oldstyle digits unavailable for
+           family \f at family.\MessageBreak
+           Lining digits used instead}}%
+       \tw@{#1}%
+   \fi
+ \endgroup
+}
+%    \end{macrocode}
+%
+%  \subsubsection{Subset encoding defaults}
+%
+%    For many font families commonly used in the \TeX{} world we
+%    provide the subset encoding data here. Users can add additional
+%    font families in the file \texttt{textcomp.cfg} if they own other
+%    fonts.
+%
+%    However, if the option ``forced'' was given then all subset
+%    encoding specifications are ignored, so there is no point in
+%    setting any of them up:
+%    \begin{macrocode}
+\iftc at forced \else
+%    \end{macrocode}
+%
+%    Computer modern based fonts (e.g., CM, CM-Bright, Concrete):
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{cmr}     {0}
+\DeclareEncodingSubset{TS1}{cmss}    {0}
+\DeclareEncodingSubset{TS1}{cmtt}    {0}
+\DeclareEncodingSubset{TS1}{cmvtt}   {0}
+\DeclareEncodingSubset{TS1}{cmbr}    {0}
+\DeclareEncodingSubset{TS1}{cmtl}    {0}
+\DeclareEncodingSubset{TS1}{ccr}     {0}
+%    \end{macrocode}
+%
+%    PSNFSS fonts:
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{ptm}     {4}
+\DeclareEncodingSubset{TS1}{pcr}     {4}
+\DeclareEncodingSubset{TS1}{phv}     {4}
+\DeclareEncodingSubset{TS1}{ppl}     {3}
+\DeclareEncodingSubset{TS1}{pag}     {4}
+\DeclareEncodingSubset{TS1}{pbk}     {4}
+\DeclareEncodingSubset{TS1}{pnc}     {4}
+\DeclareEncodingSubset{TS1}{pzc}     {4}
+\DeclareEncodingSubset{TS1}{bch}     {4}
+\DeclareEncodingSubset{TS1}{put}     {5}
+%    \end{macrocode}
+%
+%    Other CTAN fonts (probably not complete):
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{uag}     {5}
+\DeclareEncodingSubset{TS1}{ugq}     {5}
+\DeclareEncodingSubset{TS1}{ul8}     {4}
+\DeclareEncodingSubset{TS1}{ul9}     {4}  % (LuxiSans, one day)
+\DeclareEncodingSubset{TS1}{augie}   {5}
+\DeclareEncodingSubset{TS1}{dayrom}  {3}
+\DeclareEncodingSubset{TS1}{dayroms} {3}
+\DeclareEncodingSubset{TS1}{pxr}     {0}
+\DeclareEncodingSubset{TS1}{pxss}    {0}
+\DeclareEncodingSubset{TS1}{pxtt}    {0}
+\DeclareEncodingSubset{TS1}{txr}     {0}
+\DeclareEncodingSubset{TS1}{txss}    {0}
+\DeclareEncodingSubset{TS1}{txtt}    {0}
+%    \end{macrocode}
+%
+%    Latin Modern and TeX Gyre:
+% \changes{v1.99k}{2009/10/28}{Added Latin Modern and TeX Gyre subsets}
+% \changes{v1.99l}{2009/11/04}{Added more Latin Modern and TeX Gyre subsets}
+% \changes{v1.99m}{2015/02/16}{Added lmtt (Heiko Oberdiek) latex/4415}
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{lmr}     {0}
+\DeclareEncodingSubset{TS1}{lmdh}    {0}
+\DeclareEncodingSubset{TS1}{lmss}    {0}
+\DeclareEncodingSubset{TS1}{lmssq}   {0}
+\DeclareEncodingSubset{TS1}{lmvtt}   {0}
+\DeclareEncodingSubset{TS1}{lmtt}    {0}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{qhv}     {0}
+\DeclareEncodingSubset{TS1}{qag}     {0}
+\DeclareEncodingSubset{TS1}{qbk}     {0}
+\DeclareEncodingSubset{TS1}{qcr}     {0}
+\DeclareEncodingSubset{TS1}{qcs}     {0}
+\DeclareEncodingSubset{TS1}{qpl}     {0}
+\DeclareEncodingSubset{TS1}{qtm}     {0}
+\DeclareEncodingSubset{TS1}{qzc}     {0}
+\DeclareEncodingSubset{TS1}{qhvc}    {0}
+%    \end{macrocode}
+%
+%    Fourier-GUTenberg:
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{futs}    {4}
+\DeclareEncodingSubset{TS1}{futx}    {4}
+\DeclareEncodingSubset{TS1}{futj}    {4}
+%    \end{macrocode}
+%
+%  Y\&Y's Lucida Bright
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{hlh}     {3}
+\DeclareEncodingSubset{TS1}{hls}     {3}
+\DeclareEncodingSubset{TS1}{hlst}    {3}
+%    \end{macrocode}
+%    The remaining settings for Lucida are conservative: the following
+%    fonts contain the |\textohm| character but not the |\texteuro|,
+%    i.e., belong to neither subset~4 nor subset~3. If you want to
+%    use the |\textohm| with these fonts copy these definition to
+%    \texttt{textcomp.cfg} and change the subset to~3. However in that
+%    case make sure that you do not use the |\texteuro|.
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{hlct}    {5}
+\DeclareEncodingSubset{TS1}{hlx}     {5}
+\DeclareEncodingSubset{TS1}{hlce}    {5}
+\DeclareEncodingSubset{TS1}{hlcn}    {5}
+\DeclareEncodingSubset{TS1}{hlcw}    {5}
+\DeclareEncodingSubset{TS1}{hlcf}    {5}
+%    \end{macrocode}
+%
+%    Other commercial families\ldots
+%    \begin{macrocode}
+\DeclareEncodingSubset{TS1}{pplx}    {3}
+\DeclareEncodingSubset{TS1}{pplj}    {3}
+\DeclareEncodingSubset{TS1}{ptmx}    {4}
+\DeclareEncodingSubset{TS1}{ptmj}    {4}
+%    \end{macrocode}
+%
+%    If the file \texttt{textcomp.cfg} exists it will be loaded at
+%    this point. This allows to define further subset encodings for
+%    font families not covered by default.
+%
+%    \begin{macrocode}
+\InputIfFileExists{textcomp.cfg}
+  {\PackageInfo{textcomp}{Local configuration file used}}{}
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+\fi
+%    \end{macrocode}
+%
+%    \begin{macrocode}
+%</TS1oldsty>
+%    \end{macrocode}
+
+
+% \Finale
+%
+
+
+
+
+\endinput


Property changes on: trunk/Master/texmf-dist/source/latex/base/lttextcomp.dtx
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/source/latex/base/ltthm.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltthm.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltthm.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltvers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltvers.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltvers.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -33,7 +33,7 @@
 %<*driver>
 % \fi
 \ProvidesFile{ltvers.dtx}
-             [2019/07/01 v1.1c LaTeX Kernel (Version Info)]
+             [2020/01/31 v1.1e LaTeX Kernel (Version Info)]
 % \iffalse
 \documentclass{ltxdoc}
 \GetFileInfo{ltvers.dtx}
@@ -112,17 +112,17 @@
 %</2ekernel>
 %<latexrelease>\edef\latexreleaseversion
 %<*2ekernel|latexrelease>
-   {2019-10-01}
+   {2020-02-02}
 %</2ekernel|latexrelease>
 %<*2ekernel>
-\def\patch at level{3}
+\def\patch at level{0}
 %    \end{macrocode}
-%    
+%
 % \begin{macro}{\development at branch@name}
 %    For more fine grain control there is the possibility to name the
 %    current development branch. This is only used when the
 %    \cs{patch at level} is negative (i.e., a pre-release format) and is
-%    intended to help help us internally when we locally install a
+%    intended to help us internally when we locally install a
 %    format out of some development branch.
 %    \begin{macrocode}
 \edef\development at branch@name{}
@@ -177,8 +177,9 @@
 % \changes{v1.0p}{2015/01/22}{Preserve any \cs{everyjob} material inserted
 %   by a loader (\texttt{.ini} file)}
 % \changes{v1.0v}{2015/08/23}{Allow negative patchlevel for pre-release}
+% \changes{v1.1e}{2020/01/31}{Allow for upcoming format as pre-release 0}
 %    \begin{macrocode}
-  \ifnum\patch at level=0
+  \ifnum0\ifnum\patch at level=0 \ifx\development at branch@name\@empty 1\fi\fi>0 %
     \everyjob\expandafter{\the\everyjob
       \typeout{\fmtname \space<\fmtversion>}}
     \immediate
@@ -190,7 +191,7 @@
     \write16{\fmtname \space<\fmtversion> patch level \patch at level}
   \else
     \everyjob\expandafter{\the\everyjob
-      \typeout{\fmtname \space<\fmtversion> pre-release\patch at level
+      \typeout{\fmtname \space<\fmtversion> pre-release-\number-\patch at level\space
         \ifx\development at branch@name\@undefined  \else
           \ifx\development at branch@name\@empty  \else
             \space (\development at branch@name\space branch)%
@@ -198,7 +199,7 @@
         \fi
     }}
     \immediate
-    \write16{\fmtname \space<\fmtversion> pre-release\patch at level
+    \write16{\fmtname \space<\fmtversion> pre-release-\number-\patch at level\space
         \ifx\development at branch@name\@undefined  \else
           \ifx\development at branch@name\@empty  \else
             \space (\development at branch@name\space branch)%
@@ -240,7 +241,7 @@
 %    \end{macrocode}
 %
 % If a specific date has not been specified in |latexrelease|
-% use `|#1|`. 
+% use `|#1|`.
 %    \begin{macrocode}
 \def\@IncludeInRelease#1[#2]{\@IncludeInRele at se{#2}}
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/ltxdoc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltxdoc.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltxdoc.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/ltxref.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/ltxref.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/ltxref.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -70,7 +70,7 @@
 %
 %   |\ref|\marg{foo}: value of most recently incremented referencable
 %             counter. in the current environment. (Chapter, section,
-%             theorem and enumeration counters counters are
+%             theorem and enumeration counters are
 %             referencable, footnote counters are not.)
 %
 %   |\pageref|\marg{foo}: page number at which |\label{foo}|  command
@@ -314,7 +314,7 @@
 %<latexrelease>\IncludeInRelease{2019/10/01}%
 %<latexrelease>                 {\refstepcounter}{Add \labelformat and \Ref}%
 %    \end{macrocode}
-%    
+%
 %  \begin{macro}{\refstepcounter}
 %     Step the counter and allow for labels to point to its current value.
 %    \begin{macrocode}
@@ -324,7 +324,7 @@
 %    By generating the second csname first the |\p at ...| command can
 %    grab it as an argument which can be helpful for more complicated
 %    typesetting arrangements.
-%    
+%
 %    The trick is to ensure that |\csname the#1\endcsname| is turned
 %    into a single token before |\p at ...| is expanded further. This
 %    way, if the |\p at ...| command is a macro with one argument it will
@@ -331,7 +331,7 @@
 %    receive |\the...|. With the original kernel code (i.e., without the
 %    |\expandafter|) it will instead pick up |\csname| which would be
 %    disastrous.
-%    
+%
 %    Using |\expandafter| instead of braces delimiting the argument is
 %    better because, assuming that the |\p at ...| command is not defined
 %    as a macro with one argument, the braces will stay and prohibit
@@ -394,13 +394,13 @@
 %<latexrelease>\EndIncludeInRelease
 %<*2ekernel>
 %    \end{macrocode}
-%    
-%    
-%    
-%    
-%    
 %
 %
+%
+%
+%
+%
+%
 %  \begin{macro}{\@currentlabel}
 %    Default for |\label| commands that come before any environment.
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/makeindx.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/makeindx.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/makeindx.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/makeindx.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/makeindx.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/makeindx.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 

Modified: trunk/Master/texmf-dist/source/latex/base/newdc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/newdc.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/newdc.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file may only be distributed together with a copy of the LaTeX
@@ -87,7 +87,7 @@
 
 \Msg{*** Generating font defs for Cork encoded
          and Text Companion fonts ***}
- 
+
 \generate{
   \file{t1cmfib.fd}{
      \from{cmfonts.fdd}{fd,T1cmfib,new}}
@@ -112,8 +112,8 @@
   \file{ts1cmvtt.fd}{
      \from{cmfonts.fdd}{fd,TS1cmvtt,new,tt}}
 }
- 
 
+
 \ifToplevel{
 \Msg{***********************************************************}
 \Msg{*}
@@ -128,6 +128,5 @@
 \Msg{* Happy TeXing}
 \Msg{***********************************************************}
 }
- 
+
 \endbatchfile
-

Modified: trunk/Master/texmf-dist/source/latex/base/newlfont.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/newlfont.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/newlfont.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/nfssfont.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/nfssfont.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/nfssfont.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/nfssfont.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/nfssfont.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/nfssfont.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 

Modified: trunk/Master/texmf-dist/source/latex/base/olddc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/olddc.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/olddc.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,19 +26,19 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
 \input docstrip
- 
+
 \preamble
 
 This is a generated file.
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file may only be distributed together with a copy of the LaTeX
@@ -86,7 +86,7 @@
 \usedir{tex/latex/base}
 
 \Msg{*** Generating font defs for Cork encoded fonts ***}
- 
+
 \generate{
   \file{t1cmfib.fd}{
      \from{cmfonts.fdd}{fd,T1cmfib,old}}
@@ -103,9 +103,9 @@
   \file{t1cmvtt.fd}{
      \from{cmfonts.fdd}{fd,T1cmvtt,old}}
 }
- 
- 
- 
+
+
+
 \ifToplevel{
 \Msg{***********************************************************}
 \Msg{*}
@@ -120,5 +120,5 @@
 \Msg{* Happy TeXing}
 \Msg{***********************************************************}
 }
- 
+
 \endbatchfile

Modified: trunk/Master/texmf-dist/source/latex/base/oldlfont.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/oldlfont.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/oldlfont.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/preload.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/preload.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/preload.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/proc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/proc.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/proc.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/proc.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/proc.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/proc.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 

Modified: trunk/Master/texmf-dist/source/latex/base/slides.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/slides.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/slides.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -53,7 +53,7 @@
 %<*driver>
        \ProvidesFile{slides.drv}
 %</driver>
-              [2016/03/29 v2.4a
+              [2019/11/04 v2.4b
 %<+class>               Standard LaTeX document class]
 %<+cmd>               SLiTeX definitions]
 %    \end{macrocode}
@@ -419,6 +419,12 @@
 \def\sldefault{sl}
 \def\bfdefault{bx}
 %    \end{macrocode}
+%    As |\fontshape| gets redefined we need to make sure that the default
+%    for |\upshape| is no longer \texttt{up} but again \texttt{n}.
+% \changes{v2.4b}{2019/11/04}{Explicitly set \cs{updefault}}
+%    \begin{macrocode}
+\def\updefault{n}
+%    \end{macrocode}
 %
 %
 %  Since the number of parameters to set are very large it seems
@@ -2408,7 +2414,7 @@
 % (re)declare these booleans as they not defined in old format
 % (or with latexrelease package)
 %    \begin{macrocode}
-\newif\if at ovvline \@ovvlinetrue 
+\newif\if at ovvline \@ovvlinetrue
 \newif\if at ovhline \@ovhlinetrue
 %    \end{macrocode}
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/base/slides.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/slides.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/slides.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 
@@ -94,11 +94,11 @@
 
 \preamble
 
-This is a generated file.  
+This is a generated file.
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -108,7 +108,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file may only be distributed together with a copy of the LaTeX
@@ -138,9 +138,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -150,7 +150,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file may only be distributed together with a copy of the LaTeX

Modified: trunk/Master/texmf-dist/source/latex/base/slifonts.fdd
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/slifonts.fdd	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/slifonts.fdd	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,29 +2,29 @@
 %
 % Copyright 1993-2019
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    https://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 %
 %\iffalse        This is a META comment
@@ -51,7 +51,7 @@
 \documentclass{ltxdoc}
 \GetFileInfo{sfonts.drv}
 \providecommand\dst{\expandafter{\normalfont\scshape docstrip}}
-\title{The file \texttt{slifonts.fdd} for use with 
+\title{The file \texttt{slifonts.fdd} for use with
       \LaTeXe.\thanks{This file has version
            number \fileversion, dated \filedate.}}
 \date{\filedate}
@@ -132,7 +132,7 @@
 %
 % The next bit of code contains the documentation driver file for
 % \TeX{}, i.e., the file that will produce the documentation you are
-% currently reading. It will be extracted from this file by the 
+% currently reading. It will be extracted from this file by the
 % \dst{} program.
 % \changes{v2.1b}{1993/12/14}{Corrected \cs{documentclass}.}
 %    \begin{macrocode}
@@ -197,7 +197,7 @@
        }{}
 %</lccr>
 %    \end{macrocode}
-%    
+%
 % \subsection{Computer Modern Sans}
 %
 %    \begin{macrocode}
@@ -205,7 +205,7 @@
 %<!ec> \DeclareFontFamily{OT1}{lcmss}{\hyphenchar\font45 }
 %<ec>  \DeclareFontFamily{T1}{lcmss}{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{n}{%
 %<ec>  \DeclareFontShape{T1}{lcmss}{m}{n}{%
@@ -214,7 +214,7 @@
 %<ec>  eclq8%
        }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{In}{%
 %<ec>  \DeclareFontShape{T1}{lcmss}{m}{In}{%
@@ -223,7 +223,7 @@
 %<ec>  ieclq8%
        }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{sl}{%
 %<ec>  \DeclareFontShape{T1}{lcmss}{m}{sl}{%
@@ -232,7 +232,7 @@
 %<ec>  ecli8%
       }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{Isl}{%
 %<ec> \DeclareFontShape{T1}{lcmss}{m}{Isl}{%
@@ -241,19 +241,19 @@
 %<ec>  iecli8%
       }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{it}{%
 %<ec>  \DeclareFontShape{T1}{lcmss}{m}{it}{%
       <->sub*lcmss/m/sl}{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<!ec> \DeclareFontShape{OT1}{lcmss}{m}{Iit}{%
 %<ec>  \DeclareFontShape{T1}{lcmss}{m}{Iit}{%
       <->sub*lcmss/m/Isl}{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<!ec> \DeclareFontShape{OT1}{lcmss}{bx}{n}{%
 %<ec>  \DeclareFontShape{T1}{lcmss}{bx}{n}{%
@@ -262,7 +262,7 @@
 %<ec>  eclb8%
       }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<!ec> \DeclareFontShape{OT1}{lcmss}{bx}{In}{%
 %<ec>  \DeclareFontShape{T1}{lcmss}{bx}{In}{%
@@ -280,7 +280,7 @@
    eclo8%
       }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareFontShape{T1}{lcmss}{bx}{Isl}{%
       <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
@@ -291,7 +291,7 @@
 \DeclareFontShape{T1}{lcmss}{bx}{it}{%
       <->sub*lcmss/bx/sl}{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareFontShape{T1}{lcmss}{bx}{Iit}{%
       <->sub*lcmss/bx/Isl}{}
@@ -314,7 +314,7 @@
 %</!ec>
 %</lcmss>
 %    \end{macrocode}
-%    
+%
 % \subsection{Computer Modern Typewriter}
 %
 %    \begin{macrocode}
@@ -322,7 +322,7 @@
 %<!ec> \DeclareFontFamily{OT1}{lcmtt}{\hyphenchar\font\m at ne}
 %<ec>  \DeclareFontFamily{T1}{lcmtt}{\hyphenchar\font\m at ne}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<!ec> \DeclareFontShape{OT1}{lcmtt}{m}{n}{%
 %<ec> \DeclareFontShape{T1}{lcmtt}{m}{n}{%
@@ -331,7 +331,7 @@
 %<ec>  ecltt8%
       }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<!ec> \DeclareFontShape{OT1}{lcmtt}{m}{In}{%
 %<ec>  \DeclareFontShape{T1}{lcmtt}{m}{In}{%
@@ -340,7 +340,7 @@
 %<ec>  iecltt8%
       }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 %<!ec> \DeclareFontShape{OT1}{lcmtt}{m}{it}{%
 %<ec>  \DeclareFontShape{T1}{lcmtt}{m}{it}{%
@@ -362,7 +362,7 @@
 %</!ec>
 %</lcmtt>
 %    \end{macrocode}
-%    
+%
 % \subsection{Computer Modern Math}
 %
 %    \begin{macrocode}
@@ -369,13 +369,13 @@
 %<*lcmm>
 \DeclareFontFamily{OML}{lcmm}{\skewchar\font'177}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareFontShape{OML}{lcmm}{m}{it}{%
   <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>cmmi8%
       }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareFontShape{OML}{lcmm}{m}{Iit}{%
   <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>icmmi8%
@@ -382,7 +382,7 @@
       }{}
 %</lcmm>
 %    \end{macrocode}
-%    
+%
 % \subsection{Computer Modern Symbol}
 %
 %    \begin{macrocode}
@@ -389,13 +389,13 @@
 %<*lcmsy>
 \DeclareFontFamily{OMS}{lcmsy}{\skewchar\font'60}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareFontShape{OMS}{lcmsy}{m}{n}{%
   <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>cmsy8%
       }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareFontShape{OMS}{lcmsy}{m}{In}{%
   <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>icmsy8%
@@ -402,7 +402,7 @@
       }{}
 %</lcmsy>
 %    \end{macrocode}
-%    
+%
 % \subsection{Computer Modern large symbols}
 %
 % \changes{v2.1g}{1994/03/01}{Removed extra pair of curly braces
@@ -414,7 +414,7 @@
        <->sfixed*[17.28]cmex10%
       }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareFontShape{OMX}{lcmex}{m}{In}{%
        <->sfixed*[17.28]icmex10%
@@ -421,7 +421,7 @@
       }{}
 %</lcmex>
 %    \end{macrocode}
-%    
+%
 % \subsection{\LaTeX{} symbols}
 %
 % \changes{v2.2d}{1997/10/20}{Removed superfluous pair of braces at
@@ -433,7 +433,7 @@
       <12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>lasy8%
 }{}
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \DeclareFontShape{U}{llasy}{m}{In}{%
       <13.82><16.59><19.907><23.89><28.66><34.4><41.28>ilasy8%
@@ -440,7 +440,7 @@
 }{}
 %</llasy>
 %    \end{macrocode}
-%    
+%
 % \section{Setting defaults}
 %
 %    The following statements go into the file \texttt{sfonts.def}
@@ -455,7 +455,7 @@
 \DeclareFontSubstitution{OT1}{lcmss}{m}{n}
 \input ot1lcmss.fd
 %    \end{macrocode}
-%    
+%
 %    Ensure some suitable starting values but don't load any font
 %    yet. In the past this was implicitly done as part of
 %    \cs{DeclareErrorFont} but not any longer.

Modified: trunk/Master/texmf-dist/source/latex/base/syntonly.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/syntonly.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/syntonly.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %

Modified: trunk/Master/texmf-dist/source/latex/base/syntonly.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/syntonly.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/syntonly.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file has the LPPL maintenance status "maintained".
@@ -73,8 +73,8 @@
 given in the file `manifest.txt'. See also `legal.txt' for additional
 information.
 
-The list of derived (unpacked) files belonging to the distribution 
-and covered by LPPL is defined by the unpacking scripts (with 
+The list of derived (unpacked) files belonging to the distribution
+and covered by LPPL is defined by the unpacking scripts (with
 extension .ins) which are part of the distribution.
 \endpreamble
 
@@ -85,4 +85,3 @@
   \from{syntonly.dtx}{package}}
 
 \endbatchfile
-

Modified: trunk/Master/texmf-dist/source/latex/base/tulm.fdd
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/tulm.fdd	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/tulm.fdd	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,29 +2,29 @@
 %
 % Copyright 2016-2019
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    https://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 %
 %\iffalse        This is a META comment

Modified: trunk/Master/texmf-dist/source/latex/base/tulm.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/tulm.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/tulm.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 2016-2019
+%% Copyright (C) 2016-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 
@@ -48,9 +48,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 2016-2019
+Copyright (C) 2016-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the LaTeX base system.
 --------------------------------------------------------------
@@ -60,7 +60,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2008 or later.
 
 This file may only be distributed together with a copy of the LaTeX
@@ -93,7 +93,7 @@
           \file{tulmvtt.fd}{\from{tulm.fdd}{TUlmvtt}}
           \file{tulmdh.fd}{\from{tulm.fdd}{TUlmdh}}}
 
- 
+
 \ifToplevel{
 \Msg{***********************************************************}
 \Msg{*}
@@ -108,6 +108,5 @@
 \Msg{* Happy TeXing}
 \Msg{***********************************************************}
 }
- 
+
 \endbatchfile
-

Modified: trunk/Master/texmf-dist/source/latex/base/unpack.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/unpack.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/unpack.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,23 +3,23 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the LaTeX base system.
 %% -------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% This file has the LPPL maintenance status "maintained".
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -26,14 +26,14 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the LaTeX base distribution is
 %% given in the file `manifest.txt'. See also `legal.txt' for additional
 %% information.
-%% 
-%% 
-%% 
 %%
+%%
+%%
+%%
 %% --------------- start of bootstrap commands ------------------
 %%
 %%
@@ -82,7 +82,7 @@
 \batchinput{ltoutenc.ins}
 
 
-%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %%% other classes and packages
 
 \batchinput{classes.ins}

Modified: trunk/Master/texmf-dist/source/latex/base/utf8ienc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/base/utf8ienc.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/base/utf8ienc.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
 %
@@ -216,7 +216,7 @@
 %<+ts1> \ProvidesFile{ts1enc.dfu}
 %<+x2>  \ProvidesFile{x2enc.dfu}
 %<+all> \ProvidesFile{utf8enc.dfu}
-%<-utf8-2018>   [2019/07/11 v1.2j UTF-8 support for inputenc]
+%<-utf8-2018>   [2019/11/14 v1.2k UTF-8 support for inputenc]
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -223,7 +223,7 @@
 %<*utf8>
 %    \end{macrocode}
 %    This is a temporary fix for the e-p\TeX{} / e-up\TeX{} engines that do not yet
-%    have a |\ifincsname| primitive. Once this is available the the extra file will
+%    have a |\ifincsname| primitive. Once this is available the extra file will
 %    be dropped.
 % \changes{v1.2h}{2019/07/09}{Temp rollback fix for e-pTeX}
 %    \begin{macrocode}
@@ -235,7 +235,7 @@
 \fi
   \endinput
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
 \makeatletter
 %    \end{macrocode}
@@ -451,7 +451,7 @@
      \else
       \PackageError{inputenc}{Invalid UTF-8 byte sequence}%
                              \UTFviii at invalid@help
-     \fi         
+     \fi
 %    \end{macrocode}
 %
 %    \begin{macrocode}
@@ -769,7 +769,7 @@
 % the character os already active.  The definition of |\UTFviii at tmp|
 % looks slightly strange but is designed for the sequence of |\expandafter|
 % in |\DeclareUnicodeCharacter|.
-% 
+%
 %    \begin{macrocode}
   \ifnum\count@<"A0\relax
     \ifnum\catcode\count@=13
@@ -784,7 +784,7 @@
 %    The code below is derived from \texttt{xmltex} and generates the UTF-8 byte sequence
 %    for the number in |\count@|.
 %
-%    The reverse operation (just used in error messages) 
+%    The reverse operation (just used in error messages)
 %    has now been added as \cs{decode at UTFviii}.
 %    \begin{macrocode}
   \else\ifnum\count@<"800\relax
@@ -889,16 +889,16 @@
 \gdef\dec at de@UTFviii#1{%
 \ifx\relax#1%
 \else
-  \ifnum`#1>"EF 
+  \ifnum`#1>"EF
     ((((`#1-"F0)%
   \else
-    \ifnum`#1>"DF 
+    \ifnum`#1>"DF
       (((`#1-"E0)%
     \else
-      \ifnum`#1>"BF 
+      \ifnum`#1>"BF
         ((`#1-"C0)%
       \else
-        \ifnum`#1>"7F 
+        \ifnum`#1>"7F
         )*64+(`#1-"80)%
         \else
         +`#1 %
@@ -1030,7 +1030,7 @@
 %    \end{macrocode}
 % However, we don't know if there are font encodings still to be
 % loaded (either with \texttt{fontenc} or directly with |\input| by
-% some some package). Font encoding files are loaded only if the
+% some package). Font encoding files are loaded only if the
 % corresponding encoding has not been loaded yet, and they always
 % begin with |\DeclareFontEncoding|. We now redefine the internal
 % kernel version of the latter to load the Unicode file if available.
@@ -1789,7 +1789,8 @@
 %    (which is normally the case) they are then reconstructed as
 %    ligatures so they come out as desired. Otherwise they will come
 %    out as individual characters which is fine too.
-% \changes{v1.2j}{2019/07/11}{Add typical f-ligatures and st (github/154)}
+% \changes{v1.2j}{2019/07/11}{Add typical f-ligatures and s-ligatures and st (github/154)}
+% \changes{v1.kj}{2019/11/14}{Fixed setting for FB05 = long-s t lig (github/154)}
 %    \begin{macrocode}
 %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB00}{ff}   % ff
 %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB01}{fi}   % fi
@@ -1796,7 +1797,7 @@
 %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB02}{fl}   % fl
 %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB03}{ffi}  % ffi
 %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB04}{ffl}  % ffl
-%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB05}{ft}   % ſt
+%<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB05}{st}   % ſt  -- this is the long s (not f)
 %<all,t1,ot1,ly1,t2a,t2b,t2c>\DeclareUnicodeCharacter{FB06}{st}   % st
 %    \end{macrocode}
 %
@@ -1805,8 +1806,8 @@
 %    \begin{macrocode}
 %<all,ts1,utf8>\DeclareUnicodeCharacter{FEFF}{\ifhmode\nobreak\fi}
 %    \end{macrocode}
-%    
-% 
+%
+%
 % \endgroup
 % \subsection{Notes}
 %
@@ -1931,7 +1932,7 @@
 % This space is intentionally empty ...
 %</utf8>
 %    \end{macrocode}
-%    
+%
 % \subsection{Old \texttt{utf8.def} file as a temp fix for p\TeX{} and friends}
 %
 %

Modified: trunk/Master/texmf-dist/source/latex/graphics/color.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/graphics/color.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/graphics/color.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse
 %
 %% color.dtx Copyright (C) 1994--1999 David Carlisle
-%%           Copyright (C) 2005-2019 David Carlisle, LaTeX3 Project
+%%           Copyright (C) 2005-2020 David Carlisle, LaTeX3 Project
 %%
 %% This file is part of the Standard LaTeX `Graphics Bundle'.
 %% It may be distributed under the terms of the LaTeX Project Public
@@ -19,7 +19,7 @@
 %<driver> \ProvidesFile{color.drv}
 % \fi
 %         \ProvidesFile{color.dtx}
-          [2016/07/10 v1.1e Standard LaTeX Color (DPC)]
+          [2019/11/23 v1.2a Standard LaTeX Color (DPC)]
 %
 % \iffalse
 %<*driver>
@@ -462,10 +462,10 @@
 % correctly.
 % \changes{v0.3a}{1994/07/20}
 %     {Stop command being \cs{long}, and make robust.}
-% \changes{v0.3l}{1995/12/07}
-%      {Add \cs{leavevmode}}
+% \changes{v1.2a}{2019/11/23}
+%      {Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\textcolor#1#{\@textcolor{#1}}
+\protected\def\textcolor#1#{\@textcolor{#1}}
 \def\@textcolor#1#2#3{\protect\leavevmode{\color#1{#2}#3}}
 %    \end{macrocode}
 %  \end{macro}
@@ -481,8 +481,10 @@
 %     {end the group even if the colour command generates an error}
 % \changes{v0.3c}{1994/09/19}
 %     {Use \cs{color} to parse arguments}
+% \changes{v1.2a}{2019/11/23}
+%      {Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\pagecolor{%
+\protected\def\pagecolor{%
   \begingroup
       \let\ignorespaces\endgroup
       \let\set at color\set at page@color
@@ -497,8 +499,10 @@
 %
 % \changes{v1.1a}{2014/04/23}
 %     {add \cs{nopagecolor} graphics/3873}
+% \changes{v1.2a}{2019/11/23}
+%      {Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\nopagecolor{%
+\protected\def\nopagecolor{%
   \@ifundefined{no at page@color}{%
     \PackageInfo{color}{\string\nopagecolor\space is not supported}%
   }{%
@@ -533,8 +537,10 @@
 %     {New internal implementation of colour commands}
 % \changes{v0.3f}{1994/10/04}
 %     {Give info about redefinitions}
+% \changes{v1.2a}{2019/11/23}
+%      {Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\definecolor#1#2#3{%
+\protected\def\definecolor#1#2#3{%
   \@ifundefined{color@#2}%
     {\c at lor@error{model `#2'}}%
     {\@ifundefined{\string\color @#1}{}%
@@ -589,8 +595,10 @@
 % |[named]| all the time, just give the package option |usenames|, which
 % will redefine |\DefineNamedColor|, so that the colour name is declared
 % as a user-colour as well as a name in the `named' model.
+% \changes{v1.2a}{2019/11/23}
+%      {Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\DefineNamedColor#1#2#3#4{%
+\protected\def\DefineNamedColor#1#2#3#4{%
   \@ifundefined{define at color@#1}%
     {\c at lor@error{model `#1'}}%
     {\@ifundefined{color@#3}%
@@ -684,8 +692,10 @@
 % \changes{v0.2d}{1994/05/13}
 %     {Stop changing \cs{reset at font}. Use the new \cs{normalfont}
 %     instead.}
+% \changes{v1.2a}{2019/11/23}
+%      {Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\normalcolor{\let\current at color\default at color\set at color}
+\protected\def\normalcolor{\let\current at color\default at color\set at color}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -751,8 +761,10 @@
 % colour specifies the \emph{background} colour of the box.
 % \changes{v0.3b}{1994/09/14}
 %                {New implementation}
+% \changes{v1.2a}{2019/11/23}
+%      {Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\colorbox#1#{\color at box{#1}}
+\protected\def\colorbox#1#{\color at box{#1}}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -771,9 +783,11 @@
 % colour model for both colours.
 % \changes{v0.3b}{1994/09/14}
 %                {New implementation}
+% \changes{v1.2a}{2019/11/23}
+%      {Add \cs{protected} gh/208}
 % \begin{macro}{\fcolorbox}
 %    \begin{macrocode}
-\def\fcolorbox#1#{\color at fbox{#1}}
+\protected\def\fcolorbox#1#{\color at fbox{#1}}
 %    \end{macrocode}
 %
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/graphics/drivers.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/graphics/drivers.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/graphics/drivers.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,7 +3,7 @@
 %
 %% drivers.dtx Copyright (C) 1994      David Carlisle Sebastian Rahtz
 %%             Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%%             Copyright (C) 2000-2019 David Carlisle, LaTeX3 Project
+%%             Copyright (C) 2000-2020 David Carlisle, LaTeX3 Project
 %%
 %% This file is part of the Standard LaTeX `Graphics Bundle'.
 %% It may be distributed under the terms of the LaTeX Project Public

Modified: trunk/Master/texmf-dist/source/latex/graphics/epsfig.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/graphics/epsfig.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/graphics/epsfig.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse
 %
 %% epsfig.dtx Copyright (C) 1994-1996 1999 Sebastian Rahtz
-%%            Copyright (C) 2000-2019 David Carlisle, LaTeX3 Project
+%%            Copyright (C) 2000-2020 David Carlisle, LaTeX3 Project
 %%
 %% This file is part of the Standard LaTeX `Graphics Bundle'.
 %% It may be distributed under the terms of the LaTeX Project Public

Modified: trunk/Master/texmf-dist/source/latex/graphics/graphics.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/graphics/graphics.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/graphics/graphics.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse
 %
 %% graphics.dtx Copyright (C) 1994      David Carlisle Sebastian Rahtz
-%%              Copyright (C) 1995-2019 David Carlisle, LaTeX3 Project
+%%              Copyright (C) 1995-2020 David Carlisle, LaTeX3 Project
 %%
 %% This file is part of the Standard LaTeX `Graphics Bundle'.
 %% It may be distributed under the terms of the LaTeX Project Public
@@ -25,7 +25,7 @@
 %<driver> \ProvidesFile{graphics.drv}
 % \fi
 %         \ProvidesFile{graphics.dtx}
-          [2019/11/01 v1.3d  Standard LaTeX Graphics (DPC,SPQR)]
+          [2019/11/30 v1.4a  Standard LaTeX Graphics (DPC,SPQR)]
 %
 % \iffalse
 %<*driver>
@@ -870,9 +870,10 @@
 % \changes{v1.1a}{2017/03/17}
 % {\cs{leavevmode} added before the group in \cs{Gin at iii} so that
 % settings in \cs{everypar} are cleared}
+% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208}
 % Top level command for the standard interface, just look for a |*|.
 %    \begin{macrocode}
-\def\includegraphics{%
+\protected\def\includegraphics{%
 %    \end{macrocode}
 % Clear |\everypar| before starting a group.
 %    \begin{macrocode}
@@ -1081,7 +1082,7 @@
 %    \end{macrocode}
 % \end{macro}
 % \end{macro}
-% 
+%
 % \begin{macro}{\Ginclude at graphics}
 %  The main internal function implementing graphics file inclusion.
 %  |#1| is the file name.
@@ -1651,8 +1652,9 @@
 % \changes{v0.7a}{1995/04/11}{\cs{leavevmode} added graphics/1521}
 % \changes{v1.0n}{2001/07/07}
 %     {Made long (CAR) graphics/2908 and 3345}
+% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\long\def\rotatebox#1#2{%
+\protected\long\def\rotatebox#1#2{%
   \leavevmode
   \Grot at setangle{#1}%
   \setbox\z@\hbox{{#2}}%
@@ -1866,8 +1868,9 @@
 % The top level |\scalebox|. If the vertical scale factor is omitted it
 % defaults to the horizontal scale factor, |#1|.
 % \changes{v0.3d}{1994/03/06}{Better support for negative arguments.}
+% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\scalebox#1{%
+\protected\def\scalebox#1{%
   \@ifnextchar[{\Gscale at box{#1}}{\Gscale at box{#1}[#1]}}
 %    \end{macrocode}
 %  \end{macro}
@@ -1905,8 +1908,9 @@
 %  \begin{macro}{\reflectbox}
 % Just an abbreviation for the appropriate scale to get reflection.
 % \changes{v0.3e}{1994/03/09}{Macro added}
+% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\reflectbox{\Gscale at box-1[1]}
+\protected\def\reflectbox{\Gscale at box-1[1]}
 %    \end{macrocode}
 %  \end{macro}
 %
@@ -1915,10 +1919,11 @@
 % \changes{v0.3b}{1994/03/01}{Recode \cmd\resizebox.}
 % \changes{v0.7b}{1995/04/27}
 %         {Add \cs{leavevmode} for graphics/1512}
+% \changes{v1.4a}{2019/11/30}{Add \cs{protected} gh/208}
 % Look for a |*|, which specifies that a final vertical size refers to
 % `height + depth' not just `height'.
 %    \begin{macrocode}
-\def\resizebox{%
+\protected\def\resizebox{%
   \leavevmode
   \@ifstar{\Gscale@@box\totalheight}{\Gscale@@box\height}}
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/graphics/graphicx.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/graphics/graphicx.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/graphics/graphicx.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse
 %
 %% graphicx.dtx Copyright (C) 1994      David Carlisle Sebastian Rahtz
-%%              Copyright (C) 1995-2019 David Carlisle, LaTeX3 Project
+%%              Copyright (C) 1995-2020 David Carlisle, LaTeX3 Project
 %%
 %% This file is part of the Standard LaTeX `Graphics Bundle'.
 %% It may be distributed under the terms of the LaTeX Project Public
@@ -17,7 +17,7 @@
 %<driver> \ProvidesFile{graphicx.drv}
 % \fi
 %         \ProvidesFile{graphicx.dtx}
-          [2017/06/01 v1.1a  Enhanced LaTeX Graphics (DPC,SPQR)]
+          [2019/11/30 v1.2a  Enhanced LaTeX Graphics (DPC,SPQR)]
 %
 % \iffalse
 %<*driver>
@@ -167,7 +167,7 @@
 % \item[quiet] Turns off writing information about graphics to the |.log|.
 % \item[page] The page of a multi-page PDF graphic to be used.
 % \item[interpolate] Enables interpolation of bitmap images by viewers.
-% \item[pagebox] Specifies which PDF box should be used for the natural image size, one of 
+% \item[pagebox] Specifies which PDF box should be used for the natural image size, one of
 % mediabox, cropbox, bleedbox, trimbox, artbox. The default is driver-specific.
 % \end{description}
 %
@@ -845,8 +845,9 @@
 % Look for an optional argument.
 % \changes{v0.3b}{1994/03/11}{Remove star form}
 % \changes{v1.0g}{2014/04/25}{\cs{leavevmode} added graphics/1521}
+% \changes{v1.2a}{2019/11/30}{Add \cs{protected} gh/208}
 %    \begin{macrocode}
-\def\rotatebox{%
+\protected\def\rotatebox{%
   \leavevmode
   \@ifnextchar[\Grot at box@kv\Grot at box@std}
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/graphics/keyval.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/graphics/keyval.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/graphics/keyval.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,7 +1,7 @@
 %
 % \iffalse
 %% keyval.dtx Copyright (C) 1993 1994 1995 1997 1998 1999 David Carlisle
-%%            Copyright (C) 2000-2019 David Carlisle, LaTeX3 Project
+%%            Copyright (C) 2000-2020 David Carlisle, LaTeX3 Project
 %%
 %% This file is part of the Standard LaTeX `Graphics Bundle'.
 %% It may be distributed under the terms of the LaTeX Project Public

Modified: trunk/Master/texmf-dist/source/latex/graphics/lscape.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/graphics/lscape.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/graphics/lscape.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -2,7 +2,7 @@
 % \iffalse
 %
 %% lscape.dtx Copyright (C) 1994 1999-2000 David Carlisle
-%%            Copyright (C) 2000-2019 David Carlisle, LaTeX3 Project
+%%            Copyright (C) 2000-2020 David Carlisle, LaTeX3 Project
 %%
 %% This file is part of the Standard LaTeX `Graphics Bundle'.
 %% It may be distributed under the terms of the LaTeX Project Public

Modified: trunk/Master/texmf-dist/source/latex/graphics/rotating.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/graphics/rotating.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/graphics/rotating.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -5,7 +5,7 @@
 % File: rotating.dtx
 %% Copyright (C) 1995--1999 Sebastian Rahtz and Leonor Barroca
 %% Copyright (C) 2001--2003,2007--2009 Robin Fairbairns
-%% Copyright (C) 2016-2019 LaTeX3 Project 
+%% Copyright (C) 2016-2020 LaTeX3 Project
 %
 % This work may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
@@ -21,7 +21,7 @@
 % This work consists of the file rotating.dtx
 % and the derived file rotating.sty, and testing material
 % rotex.tex and cat.eps
-% 
+%
 %    \begin{macrocode}
 \NeedsTeXFormat{LaTeX2e}
 %<*dtx>
@@ -75,7 +75,7 @@
 % note that rotation is typically \emph{not} visible in a DVI viewer:
 % conversion to, and viewing, PostScript or PDF is necessary.
 %
-% \section{Usage} 
+% \section{Usage}
 %
 % \subsection{Package options}
 %
@@ -114,7 +114,7 @@
 % area of the document.)
 %
 % New rotated environments may be declared using the combined
-% facilities of the float and rotfloat packages. 
+% facilities of the float and rotfloat packages.
 %
 % \subsection{Other environments and commands}
 % The package provides other \LaTeX\ environments:
@@ -146,7 +146,7 @@
 % \begin{tabular}{@{}llp{3in}@{}}
 %   \cs{rotFPtop} & \cs{rotFPbot} & Effect \\
 %   \hline
-%   0pt plus 1fil & 0pt plus 1fil & figure/table appears in middle 
+%   0pt plus 1fil & 0pt plus 1fil & figure/table appears in middle
 %                                   (default value)               \\
 %   0pt           & 0pt plus 1fil & figure/table appears with its top
 %                                   nearest the edge of the page   \\
@@ -175,11 +175,11 @@
 % Control figure orientation
 %    \begin{macrocode}
 \DeclareOption{figuresleft}{%
-  \@rot at twosidefalse 
+  \@rot at twosidefalse
   \def\rot at LR{0}%
 }
 \DeclareOption{figuresright}{%
- \@rot at twosidefalse 
+ \@rot at twosidefalse
  \def\rot at LR{-1}%
 }
 %    \end{macrocode}
@@ -206,7 +206,7 @@
 % A couple of commands for passing rotation direction around
 %    \begin{macrocode}
 \newif\if at rot@twoside
-\if at twoside 
+\if at twoside
   \@rot at twosidetrue
 \else
   \@rot at twosidefalse
@@ -238,7 +238,7 @@
 \def\rotdriver#1{\makeatletter\input{#1.def}\makeatother}
 %    \end{macrocode}
 % \end{macro}
-% 
+%
 % The \texttt{r at tfl@t} counter is used when generating `labels' for
 % determining what side of the page the float is on, in twoside mode.
 %    \begin{macrocode}
@@ -298,7 +298,7 @@
 %    \end{macrocode}
 % \end{macro}
 % \begin{macro}{\turnbox}
-% A macro version of the `rotate' environment. 
+% A macro version of the `rotate' environment.
 %    \begin{macrocode}
 \def\turnbox#1#2{%
   \Grot at setangle{#1}%
@@ -315,13 +315,13 @@
 % \section{Sideways figures and tables}
 % Now for the macros to provide a complete
 % environment for sideways figures and tables.
-% We define two environments |sidewaysfigure| and 
+% We define two environments |sidewaysfigure| and
 % |sidewaystable| that
 % fit in with the normal table and figure floats. These are `fixed'
 % environments that  just do 90 degree rotation, but it would be easy
 % to parameterize this to do other rotations if needed (the mind
 % boggles\ldots)
-% 
+%
 % \begin{macro}{\@rotfloat}
 % \begin{macro}{\@xrotfloat}
 % \begin{macro}{\rot at float@box}
@@ -347,7 +347,7 @@
   \@float{#1}[#2]%
 %    \end{macrocode}
 % Set the float contents in
-% a box of width \cs{textheight} instead of \cs{columnwidth}. 
+% a box of width \cs{textheight} instead of \cs{columnwidth}.
 %    \begin{macrocode}
   \begin{lrbox}\rot at float@box
   \begin{minipage}\textheight
@@ -366,7 +366,7 @@
 %    \begin{macrocode}
 \def\end at rotfloat{%
 %    \end{macrocode}
-% If we are going to know whether pages are odd or even, 
+% If we are going to know whether pages are odd or even,
 % we need to use the a variant \cs{pageref} mechanism and our own
 % specialised labels.
 %    \begin{macrocode}
@@ -388,18 +388,18 @@
     \if at rot@twoside
     \else
       \let\R@@page\rot at LR
-    \fi 
-    \ifthenelse{\isodd{\R@@page}}{% 
+    \fi
+    \ifthenelse{\isodd{\R@@page}}{%
       \if at rot@twoside
         \rot at mess@toks\expandafter{\the\rot at mess@toks (right hand page)}%
       \fi
-      \vfill 
+      \vfill
       \@@line{%
         \hskip\rotFPtop
         \rotatebox{90}{\box\rot at float@box}%
         \hskip\rotFPbot
       }%
-    }{% 
+    }{%
       \if at rot@twoside
         \rot at mess@toks\expandafter{\the\rot at mess@toks (left hand page)}%
       \fi
@@ -409,9 +409,9 @@
         \hskip\rotFPtop
       }%
       \vfill
-    }% 
+    }%
     \rot at message{\the\rot at mess@toks}
-  }% 
+  }%
   \end at float
 }
 %    \end{macrocode}
@@ -421,7 +421,7 @@
 % \begin{macro}{\endsidewaysfigure}
 % \begin{macro}{\sidewaystable}
 % \begin{macro}{\endsidewaystable}
-% The following definitions set up two environments, 
+% The following definitions set up two environments,
 % \texttt{sidewaystable} and \texttt{sidewaysfigure}, which uses this
 % type of float. Naturally, users may need to change these to suit
 % their local style. Both contribute to the normal lists of figures
@@ -455,7 +455,7 @@
 }
 \def\end at rotdblfloat{%
 %    \end{macrocode}
-% If we are going to know whether pages are odd or even, 
+% If we are going to know whether pages are odd or even,
 % we need to use the \cs{pageref} mechanism, and labels. But
 % Labels won't work \emph{unless} the user has put in a
 % caption. Beware!
@@ -485,25 +485,25 @@
     \if at rot@twoside
     \else
       \let\R@@page\rot at LR
-    \fi 
-    \ifthenelse{\isodd{\R@@page}}{% 
+    \fi
+    \ifthenelse{\isodd{\R@@page}}{%
       \ifrot at messages
         \if at rot@twoside
 	  \rot at mess@toks\expandafter{\the\rot at mess@toks (right hand page)}%
 	\fi
       \fi
-      \vfill 
+      \vfill
       \@@line{%
         \hskip\rotFPtop
         \rotatebox{90}{\box\rot at float@box}%
         \hskip\rotFPbot
       }%
-    }{% 
+    }{%
       \ifrot at messages
         \if at rot@twoside
 	  \rot at mess@toks\expandafter{\the\rot at mess@toks (left hand page)}%
 	\fi
-      \fi% 
+      \fi%
       \@@line{%
         \hskip\rotFPbot
         \rotatebox{-90}{\box\rot at float@box}%
@@ -510,9 +510,9 @@
         \hskip\rotFPtop
       }%
       \vfill
-    }% 
+    }%
     \rot at message{\the\rot at mess@toks}%
-  }% 
+  }%
   \end at dblfloat
 }
 %    \end{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/graphics/trig.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/graphics/trig.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/graphics/trig.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse
 %% File: trig.dtx Copyright (C) 1993 1994 1995 1996 1997 1999 David Carlisle
-%%                Copyright (C) 2000-2019 David Carlisle, LaTeX3 Project
+%%                Copyright (C) 2000-2020 David Carlisle, LaTeX3 Project
 %%
 %% This file is part of the Standard LaTeX `Graphics Bundle'.
 %% It may be distributed under the terms of the LaTeX Project Public

Modified: trunk/Master/texmf-dist/source/latex/tools/afterpage.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/afterpage.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/afterpage.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/afterpage.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/afterpage.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/afterpage.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,21 +3,21 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the Standard LaTeX `Tools Bundle'.
 %% -------------------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -24,11 +24,11 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the `Tools Bundle' is
 %% given in the file `manifest.txt'.
-%% 
 %%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 \input docstrip
@@ -45,9 +45,9 @@
 reports for it can be opened at https://latex-project.org/bugs/
 (but please observe conditions on bug reports sent to that address!)
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
 --------------------------------------------------------------------------
@@ -57,7 +57,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2005/12/01 or later.
 
 This file may only be distributed together with a copy of the LaTeX

Modified: trunk/Master/texmf-dist/source/latex/tools/array.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/array.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/array.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
@@ -284,7 +284,7 @@
 %       \hline\hline
 %       w\{align\}\{width\} & Sets the cell content in a box of the
 %                        specified \texttt{width} aligned according to
-%                        the \texttt{align} parameter which could be 
+%                        the \texttt{align} parameter which could be
 %                        either \texttt{l}, \texttt{c} or
 %                        \texttt{r}. Works essentially like
 %                        =\makebox[=width=][=align=]{=cell=}= so
@@ -633,10 +633,10 @@
 % \texttt{m}. As a result that cell was vertically centered with that
 % space inside, resulting in a strange offset. Since 2.4f, this space
 % is now added after centering the cell.
-% 
+%
 % A similar problem happened when "\extrarowheight" was used. For that
 % reason m-cells now manually position the cell content which
-% allows to ignore this extra space request during the vertical aligment. 
+% allows to ignore this extra space request during the vertical aligment.
 %
 %
 % \subsection{Bugs and Features}
@@ -1323,7 +1323,7 @@
 % \changes{v2.4f}{2017/11/04}{Managing m-cells without \cs{vcenter}}
 %    \begin{macrocode}
 %   \let\do at row@strut\relax
-%   \let\ar at align@mcell\relax 
+%   \let\ar at align@mcell\relax
 %    \end{macrocode}
 %    Now we remove possible  $*$-forms in the user preamble with the
 %    command =\@xexpast=.  As we already know, this command saves
@@ -1551,7 +1551,7 @@
       \hfil
 %    \end{macrocode}
 %    We also add a space of 1sp just in case the first thing in the
-%    cell is a command doing an =\unskip=.      
+%    cell is a command doing an =\unskip=.
 % \changes{v2.4k}{2018/12/30}{Add extra \cs{hskip} to guard against an
 %   \cs{unskip} at the start of a c-column cell (gh/102)}
 %    \begin{macrocode}
@@ -1604,7 +1604,7 @@
 %    mode. Therefore we start with a~=$=.
 % \changes{v2.4f}{2017/11/04}{Managing m-cells without \cs{vcenter}}
 %    \begin{macrocode}
-    \setbox\ar at mcellbox\vbox 
+    \setbox\ar at mcellbox\vbox
 %    \end{macrocode}
 %    The part of the templates which is the same in all three cases
 %    (\texttt{p}, \texttt{m} and \texttt{b})
@@ -1618,7 +1618,7 @@
 % \changes{v2.4e}{2016/10/07}{Fixing SX68732}
 % \changes{v2.4f}{2017/11/04}{Managing m-cells without \cs{vcenter}}
 %    \begin{macrocode}
-    \@startpbox{\@nextchar}\insert at column \@endpbox 
+    \@startpbox{\@nextchar}\insert at column \@endpbox
     \ar at align@mcell
     \do at row@strut \or
 %    \end{macrocode}
@@ -2296,7 +2296,7 @@
 %    environments (via =\multicolumn=) are impossible.
 %    For 25 years or so =\@halignto= was set globally (to save space on the
 %    save stack, but that was a mistake: if there is a tabular in the
-%    output routine (e.g., in the running header) then that tabular is 
+%    output routine (e.g., in the running header) then that tabular is
 %    able overwrite the =\@halignto=
 %    setting of a tabular in the main text resulting in a very weird error.
 % \changes{v2.4d}{2016/10/06}{\cs{@halignto} set locally (pr/4488)}
@@ -2613,7 +2613,7 @@
 % it is the equivalent of the primitive "\show" command for macro
 % definitions.  All we need to do is locally redefine "\NC at do" to take
 % its argument (say `C') and then "\show" the (slightly modified)
-% definition of "\NC at rewrite@C". Actually as the the list always
+% definition of "\NC at rewrite@C". Actually as the list always
 % starts off with "\NC at do *" and we do not want to print the
 % definition of the $*$-form, define "\NC at do" to throw away the first
 % item in the list, and then redefine itself to print the rest of the
@@ -2729,9 +2729,9 @@
 % \changes{v2.4f}{2017/11/04}{Managing m-cells without \cs{vcenter}}
 %    \begin{macrocode}
 \def\@mkpream#1{\gdef\@preamble{}\@lastchclass 4 \@firstamptrue
-   \let\@sharp\relax 
+   \let\@sharp\relax
 %    \end{macrocode}
-%    
+%
 % \changes{v2.4j}{2018/11/13}{Do not expand argument of
 %    \cs{@startpbox} while building the tabular preamble (sx/459285)}
 %    The "\@startpbox" (which is called for "p", "m" or "b" columns)
@@ -2747,7 +2747,7 @@
    \def\@startpbox##1{\unexpanded\expandafter{\expandafter
                       \@startpbox\expandafter{##1}}}\let\@endpbox\relax
    \let\do at row@strut\relax
-   \let\ar at align@mcell\relax 
+   \let\ar at align@mcell\relax
 %    \end{macrocode}
 %    Now we remove possible  $*$-forms and user-defined column
 %    specifiers in the user preamble by repeatedly executing the list
@@ -2953,7 +2953,7 @@
 %
 %    The problem in this case is that if the optional argument "[b]"
 %    is used we do want the reference point of the tabular be at the
-%    baseline of the last row but at the same time do want the the
+%    baseline of the last row but at the same time do want the
 %    depth of this last line increased by "\extratabsurround" without
 %    changing the placement "\hline".
 %
@@ -3076,7 +3076,7 @@
    <{\end{lrbox}%
    \let\hss\hfil
    \makebox[#2][#1]{\unhbox\ar at cellbox}}}
-%    \end{macrocode} 
+%    \end{macrocode}
 %    This is a bit sneaky, as it temporarily disables "\hss", but
 %    given that we know what goes into that box it should be
 %    sufficient.
@@ -3089,4 +3089,3 @@
 % \Finale
 %
 \endinput
-

Modified: trunk/Master/texmf-dist/source/latex/tools/bm.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/bm.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/bm.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
@@ -837,7 +837,7 @@
     \let\ifmmode\iftrue
 %    \end{macrocode}
 %    We have to ensure that the math alphabets have definitions that
-%    correspond the the ``bold'' math version we are going to switch
+%    correspond the ``bold'' math version we are going to switch
 %    to. As these definitions are globally assigned when a math
 %    version is changed it is likely that right now we have those of
 %    the normal math version active. Argument |#3| holds either

Modified: trunk/Master/texmf-dist/source/latex/tools/bm.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/bm.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/bm.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,21 +3,21 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the Standard LaTeX `Tools Bundle'.
 %% -------------------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -24,11 +24,11 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the `Tools Bundle' is
 %% given in the file `manifest.txt'.
-%% 
 %%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 \input docstrip
@@ -45,9 +45,9 @@
 reports for it can be opened at https://latex-project.org/bugs/
 (but please observe conditions on bug reports sent to that address!)
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
 --------------------------------------------------------------------------
@@ -57,7 +57,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2005/12/01 or later.
 
 This file may only be distributed together with a copy of the LaTeX

Modified: trunk/Master/texmf-dist/source/latex/tools/calc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/calc.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/calc.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/dcolumn.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/dcolumn.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/dcolumn.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/delarray.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/delarray.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/delarray.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/enumerate.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/enumerate.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/enumerate.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/fileerr.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/fileerr.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/fileerr.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/fontsmpl.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/fontsmpl.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/fontsmpl.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/ftnright.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/ftnright.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/ftnright.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/hhline.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/hhline.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/hhline.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
@@ -25,7 +25,7 @@
 %
 %<package>\NeedsTeXFormat{LaTeX2e}
 %<package>\ProvidesPackage{hhline}
-%<package>         [2014/10/28 v2.03 Table rule package (DPC)]
+%<package>         [2020/01/04 v2.04 Table rule package (DPC)]
 %
 %<*driver>
 \documentclass{ltxdoc}
@@ -55,6 +55,8 @@
 %    {Update for LaTeX2e.}
 % \changes{v2.03}{1994/05/23}
 %    {New style warning.}
+% \changes{v2.04}{2020/01/04}
+%    {Ignore spaces.}
 %
 %
 %
@@ -301,12 +303,16 @@
 %    \begin{macrocode}
   \ifx\@tempb b\HH at add{\rlap{\HH at box\z@\doublerulesep}}\else
 %    \end{macrocode}
+% "space", Gobble the space and loop again.
+%    \begin{macrocode}
+  \ifx\@tempb\@sptoken\let\next\HH at spacelet\else
+%    \end{macrocode}
 % Otherwise ignore the token, with a warning.
 %    \begin{macrocode}
   \PackageWarning{hhline}%
       {\meaning\@tempb\space ignored in \noexpand\hhline argument%
        \MessageBreak}%
-  \fi\fi\fi\fi\fi\fi\fi\fi\fi
+  \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
 %    \end{macrocode}
 % Go around the loop again.
 %    \begin{macrocode}
@@ -314,7 +320,14 @@
 %    \end{macrocode}
 % \end{macro}
 %
+% \begin{macro}{\HH at spacelet}
+% Helper macro to gobble a space token and continue the loop.
 %    \begin{macrocode}
+\lowercase{\def\HH at spacelet} {\futurelet\@tempb \HH at loop}
+%    \end{macrocode}
+% \end{macro}
+%
+%    \begin{macrocode}
 %</package>
 %    \end{macrocode}
 %

Modified: trunk/Master/texmf-dist/source/latex/tools/indentfirst.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/indentfirst.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/indentfirst.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/layout.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/layout.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/layout.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/longtable.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/longtable.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/longtable.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
@@ -21,7 +21,7 @@
 %
 % \fi
 % \iffalse
-%% File: longtable.dtx Copyright (C) 1990-2019 David Carlisle
+%% File: longtable.dtx Copyright (C) 1990-2020 David Carlisle
 %
 %<*dtx>
           \ProvidesFile{longtable.dtx}
@@ -31,7 +31,7 @@
 %<driver> \ProvidesFile{longtable.drv}
 % \fi
 %         \ProvidesFile{longtable.dtx}
-          [2019/02/06 v4.12 Multi-page Table package (DPC)]
+          [2020/01/07 v4.13 Multi-page Table package (DPC)]
 %
 % \iffalse
 %<*driver>
@@ -635,9 +635,9 @@
 % "\LTright"&
 %     Glue to the right of the table.          \hfill("\fill")\\
 % "\LTpre"&
-%     Glue before the the table.      \hfill("\bigskipamount")\\
+%     Glue before the table.      \hfill("\bigskipamount")\\
 % "\LTpost"&
-%     Glue after the the table.       \hfill("\bigskipamount")\\
+%     Glue after the table.       \hfill("\bigskipamount")\\
 % "\LTcapwidth"&
 %     The width of a parbox containing the caption.\hfill(4in)\\
 % "LTchunksize"&
@@ -1212,6 +1212,8 @@
 % \end{macro}
 %
 % \begin{macro}{\LT at start}
+% % \changes{v4.13}{2020/01/07}
+%      {fix issue https://github.com/davidcarlisle/dpctex/issues/8}
 % This macro starts the process of putting the table on the current
 % page. It is not called until either a "\\" or "\endlongtable" command
 % ends a chunk, as we do not know until that point which of the four
@@ -1219,11 +1221,12 @@
 %
 % It begins by redefining itself, so that the table is only started
 % once! Until V3.04, was redefined to "\relax", now use "\endgraf" to
-% force the page-breaker to wake up.
+% force the page-breaker to wake up. The second "\endgraf" is there so
+% that "\pagetotal" is updated and so takes "\LTpre" into account.
 %    \begin{macrocode}
 \def\LT at start{%
   \let\LT at start\endgraf
-  \endgraf\penalty\z@\vskip\LTpre
+  \endgraf\penalty\z@\vskip\LTpre\endgraf
 %    \end{macrocode}
 % Start a new page if there is not enough room for the table head, foot,
 % and one extra line.
@@ -2031,7 +2034,7 @@
 %    \end{macrocode}
 % \end{macro}
 %
-% \subsection{Commands for the the table head and foot}
+% \subsection{Commands for the table head and foot}
 %
 % \begin{macro}{\LT at end@hd at ft}
 % The core of "\endhead" and friends. Store the current chunk in the
@@ -2127,7 +2130,7 @@
 %    \end{macrocode}
 % \changes{v4.12}{2019/02/06}{Color group to match array package}
 %    \begin{macrocode}
-  \color at endgroup 
+  \color at endgroup
   \egroup
   \the\LT at p@ftn
   \global\LT at p@ftn{}%
@@ -2151,4 +2154,3 @@
 %
 % \Finale
 \endinput
-

Modified: trunk/Master/texmf-dist/source/latex/tools/longtable.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/longtable.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/longtable.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,21 +3,21 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the Standard LaTeX `Tools Bundle'.
 %% -------------------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -24,11 +24,11 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the `Tools Bundle' is
 %% given in the file `manifest.txt'.
-%% 
 %%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 \input docstrip
@@ -45,9 +45,9 @@
 reports for it can be opened at https://latex-project.org/bugs/
 (but please observe conditions on bug reports sent to that address!)
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
 --------------------------------------------------------------------------
@@ -57,7 +57,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2005/12/01 or later.
 
 This file may only be distributed together with a copy of the LaTeX

Modified: trunk/Master/texmf-dist/source/latex/tools/multicol.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/multicol.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/multicol.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -98,7 +98,7 @@
 %<driver> \ProvidesFile{multicol.drv}
 % \fi
 %         \ProvidesFile{multicol.dtx}
-          [2019/03/01 v1.8w  multicolumn formatting (FMi)]
+          [2019/12/09 v1.8y  multicolumn formatting (FMi)]
 %
 %
 %%
@@ -134,7 +134,7 @@
 % \DoNotIndex{\hbox,\hfil,\hrule,\ht,\hss}
 % \DoNotIndex{\ifdim,\ifnum,\ifvoid,\ignorespaces,\insert,\immediate}
 % \DoNotIndex{\let,\loop}
-% \DoNotIndex{\maxdepth,\message,\multiply}
+% \DoNotIndex{\@maxdepth,\message,\multiply}
 % \DoNotIndex{\newbox,\newcount,\newdimen,\newskip,\number,\newpage}
 % \DoNotIndex{\outputpenalty,\p@,\penalty}
 % \DoNotIndex{\relax,\repeat,\setbox,\skip,\space,\splitmaxdepth}
@@ -470,7 +470,7 @@
 % `\textsf{minrows}' (default 1). If set to a higher value then the
 % balancing will have at least that many rows in the first column (and
 % also all further columns until it runs outs of material).
-%          
+%
 % Additionally you can set another counter, the `\textsf{unbalance}'
 % counter, to some positive \meta{number}. This will make all but the
 % right-most column \meta{number} of lines longer than they would
@@ -978,9 +978,10 @@
 %    grid. Right now it doesn't do anything other than warning if it
 %    thinks that the grid got lost.
 % \changes{v1.6a}{2003/03/15}{New option grid}
+% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)}
 %    \begin{macrocode}
 \let\mc at gridwarn\maxdimen
-\DeclareOption{grid}{\def\mc at gridwarn{\maxdepth}}
+\DeclareOption{grid}{\def\mc at gridwarn{\@maxdepth}}
 %    \end{macrocode}
 %
 % \changes{v1.8e}{2014/04/23}{Support \cs{docolaction}}
@@ -1033,19 +1034,20 @@
        I therefore use two columns instead}%
      \col at number\tw@ \fi
 %    \end{macrocode}
-%    We have only enough box registers for ten columns, so we need to
+%    We have only enough box registers for twenty columns, so we need to
 %    check that the user hasn't asked for more.
 % \changes{v1.4k}{1992/06/27}{Maximum of 5 columns (temp)}
 % \changes{v1.5a}{1992/11/04}{Allow 10 columns again}
+% \changes{v1.8y}{2019/12/09}{Allow for 20 columns (gh/237)}
 %    \begin{macrocode}
-  \ifnum\col at number>10
+  \ifnum\col at number>20
      \PackageError{multicol}%
       {Too many columns}%
       {Current implementation doesn't
-       support more than 10 columns.%
+       support more than 20 columns.%
        \MessageBreak
-       I therefore use 10 columns instead}%
-     \col at number10 \fi
+       I therefore use 20 columns instead}%
+     \col at number20 \fi
 %    \end{macrocode}
 %    Within the environment we need a special version of the
 %    kernel |\@footnotetext| command since the original sets the
@@ -1337,7 +1339,7 @@
 %    resetting the |\parshape| in case we are inside some list
 %    environment. The correct indentation for the \mc{} environment in
 %    such a case will be produced by moving the result to the right by
-%    |\multicol at leftmargin| later on. If we would use the value of of
+%    |\multicol at leftmargin| later on. If we would use the value of
 %    |\@totalleftmargin| directly then lists inside the \mc{}
 %    environment could cause a shift of the output.
 % \changes{v1.4l}{1992/08/17}{saved \cs{@totalleftmargin}}
@@ -1718,7 +1720,7 @@
 %    remove any space at the end of the box as we don't want to use
 %    this in balancing. Because of the |\color at endgroup| this can't be
 %    done later in |\balance at columns| as the color command will hide
-%    it. 
+%    it.
 % \changes{v1.8c}{2013/11/03}{Add \cs{color at endgroup} to prevent color leak}
 % \changes{v1.8f}{2014/06/19}{Discard spaces before adding \cs{color at endgroup}}
 %    \begin{macrocode}
@@ -1760,7 +1762,7 @@
   \else
 %    \end{macrocode}
 %    If there was a |\columnbreak| on the very last line all material
-%    will have been moved to the |\colbreak at box|. Thus the the galley
+%    will have been moved to the |\colbreak at box|. Thus the galley
 %    will be empty and no output routine gets called so that the text
 %    is lost. To avoid this problem (though unlikely) we check if the
 %    current galley is empty and the |\colbreak at box| contains text and
@@ -1957,10 +1959,10 @@
 %    \end{macrocode}
 %    To allow checking whether some macro is used within the \mc{}
 %    environment the counter |\col at number| gets a default of |1|
-%    outside the the environment.
+%    outside the environment.
 % \changes{v1.3d}{1991/10/23}{\cs{col at number} set to one}
-% \changes{v1.8o}{2016/02/08}{\cs{col at number} already initialized in the 
-%    kernel, so not initializing it in the package 
+% \changes{v1.8o}{2016/02/08}{\cs{col at number} already initialized in the
+%    kernel, so not initializing it in the package
 %    in case the document is in two-column (pr/4435)}
 %    \begin{macrocode}
 %\col at number = 1
@@ -2143,7 +2145,7 @@
 %    However, in case one of the columns was unusually deep \TeX{} may
 %    have tried some corrective actions in which case backing up by
 %    the saved value will not bring us back to the baseline. A good
-%    indication for this is a depth of |\maxdepth| though it is not an
+%    indication for this is a depth of |\@maxdepth| though it is not an
 %    absolute proof. If the option \texttt{grid} is used
 %    |\mc at gridwarn| will expand to this, otherwise to |\maxdimen| in
 %    which case this warning will not show up.
@@ -2192,15 +2194,16 @@
 %   |\vfill| in that case but this is actually wrong for columns that
 %   are more or less full: by adding a glue at the bottom such a
 %   column doesn't have any depth any more but without it the material
-%   would be allowed a depth of |\maxdepth|. So we allow shrinking by
+%   would be allowed a depth of |\@maxdepth|. So we allow shrinking by
 %   that amount. This only makes a difference if the box would
 %   otherwise become overfull and shrinking never exceeds the
-%   specified value, so we should be fine. 
+%   specified value, so we should be fine.
 % \changes{v1.8h}{2014/09/12}{Macro added  (pr/4395)}
 % \changes{v1.8j}{2015/03/07}{Use only `0.0001fil' for stretching}
+% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)}
 %    \begin{macrocode}
-\def\vfilmaxdepth{\vskip \z@ \@plus .0001fil 
-                           \@minus \maxdepth}
+\def\vfilmaxdepth{\vskip \z@ \@plus .0001fil
+                           \@minus \@maxdepth}
 %    \end{macrocode}
 % \end{macro}
 %
@@ -2246,13 +2249,13 @@
 %    appropriate values to |\splittopskip| and |\splitmaxdepth|.
 %    \begin{macrocode}
    \splittopskip\topskip
-   \splitmaxdepth\maxdepth
+   \splitmaxdepth\@maxdepth
 %    \end{macrocode}
 %    We also need to restrict |\boxmaxdepth| so that re-boxing is not
-%    generating boxes with arbitrary depth.   
+%    generating boxes with arbitrary depth.
 % \changes{v1.8j}{2015/03/07}{Set \cs{boxmaxdepth}}
 %    \begin{macrocode}
-   \boxmaxdepth\maxdepth
+   \boxmaxdepth\@maxdepth
 %    \end{macrocode}
 %    Then we calculate the current column height (in |\dimen@|).
 %    Note that the height of |\partial at page| is already
@@ -2284,7 +2287,7 @@
 %   reestablished. However, in theory there is a possibility to sneak
 %   in a whole multicols environment into the running header
 %   definition. If that happens then it will also be affected by this
-%   change---too bad I think.   
+%   change---too bad I think.
 % \changes{v1.8a}{2011/12/20}{Support for \cs{enlargethispage}}
 % \changes{v1.8v}{2018/12/27}{Removed dead code, the case where this
 %   can go wrong is too obscure to worry about it (gh/101)}
@@ -2443,7 +2446,7 @@
 %
 %    Within the OR |\boxmaxdepth| needs to be unrestricted so we set it back
 %    now as it was changed above.
-% \changes{v1.8p}{2016/04/07}{Reset \cs{boxmaxdepth}} 
+% \changes{v1.8p}{2016/04/07}{Reset \cs{boxmaxdepth}}
 %    \begin{macrocode}
    \boxmaxdepth\maxdimen
    \setbox\@cclv\vbox{\unvbox\partial at page
@@ -2477,7 +2480,7 @@
 %    Now we reset |\@colroom| to |\@colht| which is \LaTeX's
 %    saved value of |\textheight|.
 %    We also have to reset the recorded position of the last
-%   |\marginpar| as well as the recorded size of in-text floats 
+%   |\marginpar| as well as the recorded size of in-text floats
 %    as we are now on a new page.
 % \changes{v1.8d}{2014/04/23}{Reset \cs{@mparbottom} after page finishes}
 % \changes{v1.8n}{2015/08/19}{Reset \cs{@textfloatsheight} after page finishes}
@@ -2585,7 +2588,7 @@
 %   e.g., after a display environment (if LaTeX would break here by
 %   its own it would break before the space following the display).
 %
-%   Thus we rebox box 255 once (using |\maxdepth| and calling
+%   Thus we rebox box 255 once (using |\@maxdepth| and calling
 %   |\remove at discardable@items| inside). The depth of 255 will then
 %   give us the depth the box would have had if it would have been a
 %   natural break. We then unbox 255 to get it into the
@@ -2594,8 +2597,9 @@
 %   balancing later on.
 % \changes{v1.8k}{2015/03/21}{Remove discardable items just before a
 %   forced break}
+% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)}
 %    \begin{macrocode}
-              \boxmaxdepth\maxdepth
+              \boxmaxdepth\@maxdepth
               \setbox\@cclv\vbox{%
                  \unvbox\@cclv
                  \remove at discardable@items}%
@@ -2613,7 +2617,7 @@
        \ifnum\outputpenalty = -\@Mvi
          \mult at info\@ne{End penalty of multicols seen}%
 %    \end{macrocode}
-%    If we are at this point then have have to run the balancing code
+%    If we are at this point then we have to run the balancing code
 %    (which was previously its own output routine). First we pretend
 %    that we had a normal forced breakpoint and then call
 %    |\balance at column@out|. The latter may be let to |\multi at column@out|
@@ -2879,12 +2883,13 @@
 %    |\splittopskip| and allow for a bit of undershoot and overshoot
 %    by adding some stretch and shrink.
 % \changes{v1.5?}{1994/?/?}{Allow columns to come out a bit long or short}
+% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)}
 %    \begin{macrocode}
    \@tempdima\topskip
    \splittopskip\@tempdima
        \@plus\multicolundershoot
        \@minus\multicolovershoot
-   \splitmaxdepth\maxdepth
+   \splitmaxdepth\@maxdepth
 %    \end{macrocode}
 %   We also have to set |\boxmaxdepth| which normally allows to
 %   build boxes with arbitrary depth, but as we are building text
@@ -2893,8 +2898,9 @@
 %   restriction posed by |\splitmaxdepth|  gets lost.
 % \changes{v1.8h}{2014/09/12}{All column boxes should obey
 %   \cs{maxdepth}  (pr/4395)}
+% \changes{v1.8x}{2019/10/15}{Use \cs{@maxdepth} not \cs{maxdepth} (gh/190)}
 %    \begin{macrocode}
-   \boxmaxdepth\maxdepth
+   \boxmaxdepth\@maxdepth
 %    \end{macrocode}
 %    The next step is a bit tricky: when \TeX{} assembles material in
 %    a box, the first line isn't preceded by interline glue, i.e.
@@ -3000,7 +3006,7 @@
    \vbadness\@M
 %    \end{macrocode}
 %    We also allow for overfull boxes while we trying to split the
-%    columns. They can easily happen if we have objects with unusual depth. 
+%    columns. They can easily happen if we have objects with unusual depth.
 % \changes{v1.8h}{2014/09/12}{Do not report overfull}
 %    \begin{macrocode}
    \vfuzz \maxdimen
@@ -3252,7 +3258,7 @@
 %    If we have unprocessed forced breaks we normally reiterate with a
 %    larger column size to fit them in eventually. However, if there
 %    are simply too many of them (e.g., 3 forced breaks but only 2
-%    columns to balance) then this will never succeed and and we would
+%    columns to balance) then this will never succeed and we would
 %    continue growing the columns until we hit the largest possible
 %    column size. So in addition we check how big the column size is
 %    compared to available room and if we exceed this by
@@ -3309,7 +3315,7 @@
 %</badness>
       \advance\dimen@\p@
     \repeat
-%    \end{macrocode} 
+%    \end{macrocode}
 %    If we come out of the loop with the switch |forcedbreak at leftover|
 %    set to true then balancing has failed and we should cut a normal
 %    page. We indicate this below with |\too at badtrue| when any of the
@@ -3446,8 +3452,26 @@
 %    of this setup in the documentation, sigh.) This produced a problem
 %    at the moment we had more than 5 columns because then officially
 %    allocated boxes were overwritten by the algorithm.
-%    The new release now uses private box registers
+%    The new release now uses private box registers.
+%
+%    There was in fact a bug in the new implementation because at one
+%    point \LaTeX{} started to use the extended registers and so
+%    jumped from below 255 to above omitting the boxes allocated for
+%    inserts and the output page box.
+%
+%    So nowadays we really have to check if we get the full sequence
+%    of boxes allocated without holes (i.e., $2\times\textit{max
+%    cols}+1$) and if not alter the allocation registers to start
+%    allocating after 255. This is all done quite low-level by looking
+%    directly at the values of the allocation counters.
+% \changes{v1.8y}{2019/12/09}{Allow for 20 columns (gh/237)}
 %    \begin{macrocode}
+\ifnum\numexpr \count20-\count14-1<41   % = 2 * 20 + 1
+  \count14=\@cclv
+\fi
+%    \end{macrocode}
+%
+%    \begin{macrocode}
 \newbox\mult at rightbox
 \newbox\mult at grightbox
 \newbox\mult at gfirstbox
@@ -3460,6 +3484,16 @@
 \newbox\@tempa\newbox\@tempa
 \newbox\@tempa\newbox\@tempa
 \newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
 \newbox\@tempa
 \let\@tempa\relax
 %    \end{macrocode}
@@ -3751,7 +3785,7 @@
 %
 %    Special care is needed with handling |\vspace*| as that
 %    corresponds to |\penalty10000|, |\vskip <skip>|, followed by
-%    |\vskip 0pt|. If we see this sequence going backwards in the the
+%    |\vskip 0pt|. If we see this sequence going backwards in the
 %    vertical list we assume that this is a ``desired'' space. We
 %    therefore stop the recursion and reinsert the spaces.
 %
@@ -3798,7 +3832,7 @@
 %    recurse.
 %    \begin{macrocode}
            \vskip\@tempb\vskip\@tempa\relax
-         \else 
+         \else
            \remove at discardable@items
          \fi
        \fi
@@ -3818,7 +3852,7 @@
 \def\too at badtrue{\global\let\iftoo at bad\iftrue}
 \def\too at badfalse{\global\let\iftoo at bad\iffalse}
 %    \end{macrocode}
-%    
+%
 % \changes{v1.8k}{2015/03/21}{The new switch}
 %    \begin{macrocode}
 \newif\ifforcedbreak at leftover
@@ -3962,7 +3996,7 @@
 %    When ending the environment we simply end the inner
 %    \texttt{multicols} environment, except that we better also stick
 %    in some stretchable vertical glue so that the last column still
-%    containing text is not vertically stretched out. 
+%    containing text is not vertically stretched out.
 %
 %    We do this as follows: first we ensure that we are back in vertical mode
 %    and then we cancel out |\lastskip| if it was
@@ -3992,7 +4026,7 @@
    \par
    \ifdim\lastskip>\z@ \vskip-\lastskip \fi
    \ifdim \prevdepth>\z@
-     \vskip-\ifdim\prevdepth>\boxmaxdepth 
+     \vskip-\ifdim\prevdepth>\boxmaxdepth
                   \boxmaxdepth
             \else \prevdepth \fi
    \fi
@@ -4309,9 +4343,9 @@
 %    \begin{macrocode}
 \newcommand\@docolaction[4][1]{%
 %    \end{macrocode}
-%    
-%   How does the column number get associated with our label? We
-%   do do this by writing another line into the aux file. Here are the
+%
+%    How does the column number get associated with our label? We
+%    do this by writing another line into the aux file. Here are the
 %    preparations.
 %    \begin{macrocode}
  \edef\@docolactioncheck{\write\@auxout
@@ -4360,7 +4394,7 @@
 %    \begin{macrocode}
 \newif\if at docolactionstar
 %    \end{macrocode}
-%    
+%
 %   Because of extra data writing to the aux file the aux file will
 %   now contain something like the following after the document is
 %   processed the first time:
@@ -4446,5 +4480,3 @@
 % \Finale
 %
 \endinput
-
-

Modified: trunk/Master/texmf-dist/source/latex/tools/multicol.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/multicol.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/multicol.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,21 +3,21 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the Standard LaTeX `Tools Bundle'.
 %% -------------------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -24,11 +24,11 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the `Tools Bundle' is
 %% given in the file `manifest.txt'.
-%% 
 %%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 \input docstrip
@@ -45,9 +45,9 @@
 reports for it can be opened at https://latex-project.org/bugs/
 (but please observe conditions on bug reports sent to that address!)
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
 --------------------------------------------------------------------------
@@ -57,7 +57,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2005/12/01 or later.
 
 This file may only be distributed together with a copy of the LaTeX

Modified: trunk/Master/texmf-dist/source/latex/tools/rawfonts.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/rawfonts.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/rawfonts.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/shellesc.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/shellesc.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/shellesc.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse
 %% Source File: shellesc.dtx
-%% Copyright (C) 2015-2019
+%% Copyright (C) 2015-2020
 %%
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
@@ -49,7 +49,7 @@
 % \changes{v0.2a}{2016/06/07}{Improve use with plain TeX}
 % \section{Introduction}
 %
-% 
+%
 % For many years web2c based \TeX\ implementations have used the syntax
 % of the \verb|\write| command to access  system commands by using a
 % special stream 18 (streams above 15 can not be allocated to files in
@@ -96,7 +96,7 @@
 % non-immediate \verb|\write18| in a document being ported to current
 % Lua\TeX, you will need to change to use the
 % \verb|\DelayedShellEscape| command.
-% 
+%
 % \section{Implementation}
 %
 %    \begin{macrocode}
@@ -153,7 +153,7 @@
 %
 % \begin{macro}{\ShellEscape}
 % \changes{v1.0a}{2019/10/13}{Lua logging for gh/195}
-% Execute the supplied tokens as a system dependent command, assuming 
+% Execute the supplied tokens as a system dependent command, assuming
 % such execution is allowed.
 %    \begin{macrocode}
 \ifx\lastsavedimageresourcepages\@undefined
@@ -171,7 +171,7 @@
 % \changes{v0.1c}{2016/04/29}{Define \cs{DelayedShellEscape} not \cs{ShellEscape}(UF)}
 % \changes{v1.0a}{2019/10/13}{Lua logging for gh/195}
 % Execute the supplied tokens as a system dependent command, when this
-% node is shipped out with the completed page, assuming 
+% node is shipped out with the completed page, assuming
 % such execution is allowed.
 %    \begin{macrocode}
 \ifx\lastsavedimageresourcepages\@undefined

Modified: trunk/Master/texmf-dist/source/latex/tools/showkeys.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/showkeys.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/showkeys.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/somedefs.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/somedefs.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/somedefs.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/tabularx.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/tabularx.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/tabularx.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
@@ -31,7 +31,7 @@
 %<driver> \ProvidesFile{tabularx.drv}
 % \fi
 %         \ProvidesFile{tabularx.dtx}
-          [2016/02/03 v2.11b `tabularx' package (DPC)]
+          [2020/01/15 v2.11c `tabularx' package (DPC)]
 % \iffalse
 %<*driver>
 \documentclass{ltxdoc}
@@ -231,7 +231,7 @@
 % Normally all {\ttfamily X} columns in a single table are set to the
 % same width, however it is possible to make {\ttfamily tabularx} set
 % them to different widths.
-% A preamble argument of 
+% A preamble argument of
 % "{>{\hsize=.5\hsize\linewidth=\hsize}X"\\
 % " >{\hsize=1.5\hsize\linewidth=\hsize}X}"\\
 % specifies two columns, the second will be three times as wide as the
@@ -341,8 +341,9 @@
 %    \end{macrocode}
 % \changes{v2.02}{1995/03/20}
 %    {New local setting of \cs{TX@}}
-% \changes{v4.09}{1998/05/13}
+% \changes{v2.09}{1998/05/13}
 %      {Use \cs{setlength}, so that calc extensions apply. tools/2793}
+% \changes{v2.11c}{2020/01/15}{Delete duplicated . at end of message}
 % Allow "\tabularx" "\endtabularx" (but not "\begin{tabularx}"
 % "\end{tabularx}") to be used in "\newenvironment" definitions.
 %    \begin{macrocode}
@@ -351,11 +352,11 @@
 %    \end{macrocode}
 % "\relax" added at v1.05 so that non-expandable length tokens, like
 % "\textwidth" do not generate an extra space, and an overfull box.
-% "\relax" removed again at v4.09 in favour of "\setlength" so if you
+% "\relax" removed again at v2.09 in favour of "\setlength" so if you
 % use the calc package you can use a width of "(\textwidth-12pt)/2".
 %    \begin{macrocode}
   \setlength\TX at target{#1}%
-  \TX at typeout{Target width: #1 = \the\TX at target.}%
+  \TX at typeout{Target width: #1 = \the\TX at target}%
   \toks@{}\TX at get@body}
 %    \end{macrocode}
 % \end{macro}
@@ -883,7 +884,7 @@
 %
 % Originally I followed Knuth, and had "\def\@tempa{##1}", however this
 % did not allow "#" to appear in the argument. So in v1.04, I changed
-% this to to use a token register, and "\edef". This allows "#" appear,
+% this to use a token register, and "\edef". This allows "#" appear,
 % but makes each one appear twice!, so later we loop through, replacing
 % "##" by "#".
 %    \begin{macrocode}

Modified: trunk/Master/texmf-dist/source/latex/tools/tabularx.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/tabularx.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/tabularx.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,21 +3,21 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the Standard LaTeX `Tools Bundle'.
 %% -------------------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -24,11 +24,11 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the `Tools Bundle' is
 %% given in the file `manifest.txt'.
-%% 
 %%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 \input docstrip
@@ -45,9 +45,9 @@
 reports for it can be opened at https://latex-project.org/bugs/
 (but please observe conditions on bug reports sent to that address!)
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
 --------------------------------------------------------------------------
@@ -57,7 +57,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2005/12/01 or later.
 
 This file may only be distributed together with a copy of the LaTeX

Modified: trunk/Master/texmf-dist/source/latex/tools/theorem.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/theorem.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/theorem.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/source/latex/tools/tools.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/tools.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/tools.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,21 +3,21 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the Standard LaTeX `Tools Bundle'.
 %% -------------------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -24,11 +24,11 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the `Tools Bundle' is
 %% given in the file `manifest.txt'.
-%% 
 %%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 \input docstrip
@@ -49,9 +49,9 @@
 (but please observe conditions on bug reports sent to that address!)
 
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
 --------------------------------------------------------------------------
@@ -61,7 +61,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2005/12/01 or later.
 
 This file may only be distributed together with a copy of the LaTeX
@@ -166,7 +166,7 @@
 \SimplePackage{layout}
 
 
-% Infix Arithmetic 
+% Infix Arithmetic
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \SimplePackage{calc}
 

Modified: trunk/Master/texmf-dist/source/latex/tools/trace.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/trace.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/trace.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
@@ -493,7 +493,7 @@
 %    turns on tracing of assignments and tracing of
 %    grouping.\footnote{These are my personal preference settings;
 %    \eTeX{} does in fact offer some more tracing switches and perhaps
-%    one or or more of them should be added here as well.}
+%    one or more of them should be added here as well.}
 %    To keep tracing at a minimum |\tracingassigns| should be turned
 %    on last (in fact like before we disassemble |\tracingall|
 %    and reorder it partially).
@@ -508,7 +508,7 @@
 %    \end{macrocode}
 %    We only change |\tracingoutput| if it hasn't already been enabled by
 %    |\showoutput|. If that's not the case, we set it to 2 so that we
-%    can distingush the two cases.    
+%    can distingush the two cases.
 %  \changes{v1.1e}{2018/10/13}{Only reset \cs{tracingoutput} if not
 %    set by \cs{showoutput} earlier}
 %    \begin{macrocode}
@@ -519,7 +519,7 @@
       \showboxdepth\maxdimen
     \fi
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
     \errorstopmode
     \tracingmacros\tw@
@@ -563,7 +563,7 @@
       \showboxdepth\m at ne
     \fi
 %    \end{macrocode}
-%    
+%
 %    \begin{macrocode}
     \tracingstats\@ne
     \tracingparagraphs\z@

Modified: trunk/Master/texmf-dist/source/latex/tools/varioref.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/varioref.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/varioref.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
@@ -22,7 +22,7 @@
 % \fi
 % \iffalse
 %% Package varioref to use with LaTeX2e
-%% Copyright (C) 1992-2019  Frank Mittelbach, all rights reserved.
+%% Copyright (C) 1992-2020  Frank Mittelbach, all rights reserved.
 %%
 %% For additions or updates to the language options please contact
 %% the author at
@@ -40,7 +40,7 @@
 %<package>\DeclareCurrentRelease{}{2019-10-01}
 %<package>
 %<package>\ProvidesPackage{varioref}
-%<package>    [2019/11/05 v1.6c package for extended references (FMi)]
+%<package>    [2020/01/23 v1.6c package for extended references (FMi)]
 % \fi
 %
 %%
@@ -207,7 +207,7 @@
 % to achieve the desired effect.
 %
 %
-% \DescribeMacro\vrefrange 
+% \DescribeMacro\vrefrange
 % This command is similar to |\vref| but it
 % takes two mandatory arguments denoting a range to refer to (e.g., a
 % sequences of figures or a sequence of equations, etc.). So if
@@ -497,7 +497,7 @@
 % As mentioned above the package supports all standard options offered
 % by the Babel system to customize the strings produced, it may also
 % have a few not supported by babel, for a full list look
-% in section\vref{sec:impoptions}. In addition it offers the option
+% in section~\vref{sec:impoptions}. In addition it offers the option
 % \texttt{draft} to turn error messages into warnings during
 % development. The default \texttt{final} produces error message when
 % a generated string falls onto a page boundary (see next section).
@@ -531,7 +531,7 @@
 % \begin{quote}
 %   table 5 on the current \meta{page break} page
 % \end{quote}
-% would would result in an error, which needs to be resolved by the
+% would result in an error, which needs to be resolved by the
 % user by replacing the |\vref| command with an ordinary |\ref| just
 % before the final run.  This is not
 % completely satisfactory but in such case no solution really is.
@@ -731,7 +731,7 @@
 %    easily, so you will see missing glyphs below. To see the real
 %    letters you have to look at the source or package file.
 % \changes{v1.6b}{2019/09/08}{Option arabic added}
-% \begin{allowtofu}  
+% \begin{allowtofu}
 %    \begin{macrocode}
 \DeclareOption{arabic}
   {\vref at addto\extrasarabic{%
@@ -745,7 +745,7 @@
     \def\reftextlabelrange#1#2{\ref{#1} حتى~\ref{#2}}%
   }}
 %    \end{macrocode}
-% \end{allowtofu}  
+% \end{allowtofu}
 % \changes{v1.2a}{1998/11/27}{Added austrian defaults (identical to german)}
 %    The austrian defaults are the same as the german ones.
 %    \begin{macrocode}
@@ -1803,7 +1803,7 @@
 %    user explicitly requested an empty text string using the optional
 %    argument we cancel any preceding space since in this case we are
 %    otherwise likely to end up with spaces one before and one after
-%    |\vpageref|. 
+%    |\vpageref|.
 % \changes{v1.2f}{2000/07/07}{Don't output space if optional argument
 %    empty (pr/3230)}
 %    \begin{macrocode}
@@ -1819,7 +1819,7 @@
 %    a space.
 %    \begin{macrocode}
     \def\@tempc{#2}%
-    \ifx\@tempc\@empty \else 
+    \ifx\@tempc\@empty \else
       #2\vref at space
     \fi
 %    \end{macrocode}
@@ -1972,7 +1972,7 @@
 %    The \pkg{hyperref} package can then change the meaning of this
 %    command to suppress a hyperlink.
 %
-%    It is is also a good way to check if we are running with a new
+%    It is also a good way to check if we are running with a new
 %    \pkg{varioref} by testing
 %\begin{verbatim}
 %  \ifdefined\vp at gerefstar
@@ -2079,7 +2079,7 @@
 %    \end{macrocode}
 %    If option \texttt{space} is used then we remove a preceding space
 %    and add our own unbreakable space instead. Otherwise we don't do
-%    any space-handling.  
+%    any space-handling.
 %    \begin{macrocode}
   \if at vrefhandlespace
     \unskip \nobreakspace
@@ -2100,7 +2100,7 @@
 %    After having handled (or not  handled) the spacing we call
 %    |\vref at star| to scan the optional arguments and do the rest.
 %    If that command has been altered by \pkg{hyperref} then the
-%    current one needs altering too and does the argument scanning explicitly.  
+%    current one needs altering too and does the argument scanning explicitly.
 %    \begin{macrocode}
   \vref at star                    % in hyperref this needs to be explicit
 }
@@ -2305,7 +2305,7 @@
    {\Vr at f}}
 %    \end{macrocode}
 %  \end{macro}
-%    
+%
 %  \begin{macro}{\Vref at star}
 % \changes{v1.6a}{2019/08/25}{Command added to support hyperref better}
 %    \begin{macrocode}
@@ -2314,7 +2314,7 @@
   \vpageref[#1]{#2}}
 %    \end{macrocode}
 %  \end{macro}
-%    
+%
 %  \begin{macro}{\Vr at f}
 %  \changes{v1.4a}{2002/02/24}{Macro added}
 %  \changes{v1.4x}{2010/08/04}{Correct spacing -- same mistake as in \cs{vref}
@@ -2332,7 +2332,7 @@
 
 
 %  \begin{macro}{\vpagerefcompare}
-%    
+%
 % \changes{v1.6a}{2019/08/25}{Macro added}
 %    \begin{macrocode}
 \DeclareRobustCommand\vpagerefcompare[2]{%  label1, label2, TRUE, FALSE
@@ -2343,7 +2343,7 @@
   \else
     \expandafter\@secondoftwo
   \fi
-}  
+}
 %    \end{macrocode}
 %  \end{macro}
 %
@@ -2385,7 +2385,7 @@
 %    True if the two pages have arabic page numbers are at most off by
 %    one so that |\vpageref| would produce a special string.
 %
-%    This is n some sense a general version of |\vpagerefnearby| for
+%    This is in some sense a general version of |\vpagerefnearby| for
 %    use in more complex situations. I.e., if you try to determine if
 %    a larger set of references would be close to the current page and
 %    you use each time |\vpagerefnearby| then you generate a lot of
@@ -2449,4 +2449,3 @@
 % \Finale
 %
 \endinput
-

Modified: trunk/Master/texmf-dist/source/latex/tools/varioref.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/varioref.ins	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/varioref.ins	2020-02-02 22:42:01 UTC (rev 53640)
@@ -3,21 +3,21 @@
 %% driver files from the doc files in this package when run through
 %% LaTeX or TeX.
 %%
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
-%% in this file. 
-%% 
+%% in this file.
+%%
 %% This file is part of the Standard LaTeX `Tools Bundle'.
 %% -------------------------------------------------------
-%% 
+%%
 %% It may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
 %% The latest version of this license is in
 %%    https://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX 
+%% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2008 or later.
-%% 
+%%
 %% As this file contains legal notices, it is NOT PERMITTED to modify
 %% this file in any way that the legal information placed into
 %% generated files is changed (i.e., the files generated when the
@@ -24,11 +24,11 @@
 %% original file is executed). This restriction does not apply if
 %% (parts of) the content is reused in a different WORK producing its
 %% own generated files.
-%% 
+%%
 %% The list of all files belonging to the `Tools Bundle' is
 %% given in the file `manifest.txt'.
-%% 
 %%
+%%
 %% --------------- start of docstrip commands ------------------
 %%
 \input docstrip
@@ -45,9 +45,9 @@
 reports for it can be opened at https://latex-project.org/bugs/
 (but please observe conditions on bug reports sent to that address!)
 
-Copyright (C) 1993-2019
+Copyright (C) 1993-2020
 The LaTeX3 Project and any individual authors listed elsewhere
-in this file. 
+in this file.
 
 This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
 --------------------------------------------------------------------------
@@ -57,7 +57,7 @@
 of this license or (at your option) any later version.
 The latest version of this license is in
    https://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX 
+and version 1.3c or later is part of all distributions of LaTeX
 version 2005/12/01 or later.
 
 This file may only be distributed together with a copy of the LaTeX

Modified: trunk/Master/texmf-dist/source/latex/tools/verbatim.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/verbatim.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/verbatim.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
@@ -14,7 +14,7 @@
 % The latest version of this license is in
 %    https://www.latex-project.org/lppl.txt
 % and version 1.3c or later is part of all distributions of LaTeX
-% version 2005/12/01 or later.
+% version 2008 or later.
 %
 % The list of all files belonging to the LaTeX `Tools Bundle' is
 % given in the file `manifest.txt'.
@@ -828,7 +828,7 @@
 %    \begin{macrocode}
 \@namedef{verbatim*}{\begingroup\@verbatim
 %    \end{macrocode}
-%    
+%
 % \changes{v1.5r}{2019/11/10}{Support kernel \cs{verbvisiblespace} (gh/212)}
 %    \begin{macrocode}
   \@setupverbvisiblespace\@vobeyspaces
@@ -1488,7 +1488,7 @@
   \else
 %    \end{macrocode}
 %    At this point we pass the name of the file to |\@addtofilelist|
-%    so that its appears appears in the output of a |\listfiles|
+%    so that its appears in the output of a |\listfiles|
 %    command.
 % \changes{v1.5j}{1996/09/25}{Add \cs{@addtofilelist} and
 %    \cs{ProvidesFile} so that the name of the file

Modified: trunk/Master/texmf-dist/source/latex/tools/xr.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/xr.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/xr.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.
@@ -86,7 +86,7 @@
 %
 % As first suggested in Enrico Gregorio's |xcite| package, the current version
 % also allows |\cite| to reference |\bibitem| in the external document.
-% For compatibility with |xcite|, |\externalcitedocument| is made available 
+% For compatibility with |xcite|, |\externalcitedocument| is made available
 % as an alias for |\externaldocument|
 %
 % \StopEventually{}
@@ -183,4 +183,3 @@
 %
 % \Finale
 %
-

Modified: trunk/Master/texmf-dist/source/latex/tools/xspace.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/tools/xspace.dtx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/source/latex/tools/xspace.dtx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 %
 % The LaTeX3 Project and any individual authors listed elsewhere
 % in this file.

Modified: trunk/Master/texmf-dist/tex/latex/amsmath/amsmath-2018-12-01.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/amsmath/amsmath-2018-12-01.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/amsmath/amsmath-2018-12-01.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -4,11 +4,11 @@
 %%
 %% The original source files were:
 %%
-%% amsmath.dtx 
-%% 
+%% amsmath.dtx
+%%
 %% Copyright 1995, 1999, 2000, 2013 American Mathematical Society.
 %% Copyright 2016 LaTeX3 Project and American Mathematical Society.
-%% 
+%%
 %% This work may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either version 1.3c
 %% of this license or (at your option) any later version.
@@ -16,11 +16,11 @@
 %%   https://www.latex-project.org/lppl.txt
 %% and version 1.3c or later is part of all distributions of LaTeX
 %% version 2005/12/01 or later.
-%% 
+%%
 %% This work has the LPPL maintenance status `maintained'.
-%% 
+%%
 %% The Current Maintainer of this work is the LaTeX3 project.
-%% 
+%%
 \NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
 [1994/12/01]% LaTeX date must be December 1994 or later
 \ProvidesPackage{amsmath}[2018/12/01 v2.17b AMS math features]

Modified: trunk/Master/texmf-dist/tex/latex/amsmath/amsmath.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/amsmath/amsmath.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/amsmath/amsmath.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -27,7 +27,7 @@
 \providecommand\DeclareCurrentRelease[2]{}
 \DeclareRelease{}{2018-12-01}{amsmath-2018-12-01.sty}
 \DeclareCurrentRelease{}{2019-04-01}
-\ProvidesPackage{amsmath}[2019/11/16 v2.17d AMS math features]
+\ProvidesPackage{amsmath}[2020/01/20 v2.17e AMS math features]
 \edef\@temp{\catcode 96=\number\catcode 96 }
 \catcode\string `\`=12
 \def\do#1{\catcode\number`#1=\number\catcode`#1}
@@ -177,9 +177,9 @@
 \@xp\@tempa\vert\@empty\@nil
 \ifnum\@tempcnta>\z@
   \advance\@tempcnta "4000000
-  \xdef\lvert{\delimiter\number\@tempcnta\space }
+  \protected\xdef\lvert{\delimiter\number\@tempcnta\space }
   \advance\@tempcnta "1000000
-  \xdef\rvert{\delimiter\number\@tempcnta\space }
+  \protected\xdef\rvert{\delimiter\number\@tempcnta\space }
 \else
   \ifx\@@undefined\lvert
     % Fall back to cmex encoding since we don't know what else to do.
@@ -192,9 +192,9 @@
 \@xp\@tempa\Vert\@empty\@nil
 \ifnum\@tempcnta>\z@
   \advance\@tempcnta "4000000
-  \xdef\lVert{\delimiter\number\@tempcnta\space }
+  \protected\xdef\lVert{\delimiter\number\@tempcnta\space }
   \advance\@tempcnta "1000000
-  \xdef\rVert{\delimiter\number\@tempcnta\space }
+  \protected\xdef\rVert{\delimiter\number\@tempcnta\space }
 \else
   \ifx\@@undefined\lVert
     \DeclareMathDelimiter{\lVert}
@@ -1309,7 +1309,8 @@
             \nointerlineskip
             \vskip-\ht\strutbox@
             \vskip-\dp\strutbox@
-            \vbox{\noindent\hbox to\displaywidth{\hbox to#1{\strut@\hfill}}}%
+            \vbox{\noindent\hbox to\displaywidth{%
+                           \hbox to#1{\strut@\hfill}}}%
             \prevdepth\dimen@
         \fi
     }%

Modified: trunk/Master/texmf-dist/tex/latex/amsmath/amstex.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/amsmath/amstex.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/amsmath/amstex.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -11,9 +11,9 @@
 %   https://www.latex-project.org/lppl.txt
 % and version 1.3c or later is part of all distributions of LaTeX
 % version 2005/12/01 or later.
-% 
+%
 % This work has the LPPL maintenance status `maintained'.
-% 
+%
 % The Current Maintainer of this work is the LaTeX3 Project.
 %
 % \fi

Modified: trunk/Master/texmf-dist/tex/latex/base/alltt.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/alltt.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/alltt.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/ansinew.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/ansinew.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/ansinew.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/applemac.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/applemac.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/applemac.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/article.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/article.cls	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/article.cls	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 \ProvidesClass{article}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
  Standard LaTeX document class]
 \newcommand\@ptsize{}
 \newif\if at restonecol
@@ -352,10 +352,11 @@
 \renewcommand\p at enumii{\theenumi}
 \renewcommand\p at enumiii{\theenumi(\theenumii)}
 \renewcommand\p at enumiv{\p at enumiii\theenumiii}
-\newcommand\labelitemi{\textbullet}
-\newcommand\labelitemii{\normalfont\bfseries \textendash}
-\newcommand\labelitemiii{\textasteriskcentered}
-\newcommand\labelitemiv{\textperiodcentered}
+\newcommand\labelitemi  {\labelitemfont \textbullet}
+\newcommand\labelitemii {\labelitemfont \bfseries \textendash}
+\newcommand\labelitemiii{\labelitemfont \textasteriskcentered}
+\newcommand\labelitemiv{ \labelitemfont \textperiodcentered}
+\newcommand\labelitemfont{\normalfont}
 \newenvironment{description}
                {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                         \let\makelabel\descriptionlabel}}

Modified: trunk/Master/texmf-dist/tex/latex/base/article.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/article.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/article.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/ascii.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/ascii.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/ascii.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/bezier.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/bezier.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/bezier.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/bk10.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/bk10.clo	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/bk10.clo	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -42,7 +42,7 @@
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
 \ProvidesFile{bk10.clo}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
       Standard LaTeX file (size option)]
 \renewcommand\normalsize{%
    \@setfontsize\normalsize\@xpt\@xiipt

Modified: trunk/Master/texmf-dist/tex/latex/base/bk11.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/bk11.clo	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/bk11.clo	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -42,7 +42,7 @@
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
 \ProvidesFile{bk11.clo}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
       Standard LaTeX file (size option)]
 \renewcommand\normalsize{%
    \@setfontsize\normalsize\@xipt{13.6}%

Modified: trunk/Master/texmf-dist/tex/latex/base/bk12.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/bk12.clo	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/bk12.clo	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -42,7 +42,7 @@
 %% and covered by LPPL is defined by the unpacking scripts (with
 %% extension .ins) which are part of the distribution.
 \ProvidesFile{bk12.clo}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
       Standard LaTeX file (size option)]
 \renewcommand\normalsize{%
    \@setfontsize\normalsize\@xiipt{14.5}%

Modified: trunk/Master/texmf-dist/tex/latex/base/book.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/book.cls	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/book.cls	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 \ProvidesClass{book}
-              [2019/10/25 v1.4k
+              [2019/12/20 v1.4l
  Standard LaTeX document class]
 \newcommand\@ptsize{}
 \newif\if at restonecol
@@ -454,10 +454,11 @@
 \renewcommand\p at enumii{\theenumi}
 \renewcommand\p at enumiii{\theenumi(\theenumii)}
 \renewcommand\p at enumiv{\p at enumiii\theenumiii}
-\newcommand\labelitemi{\textbullet}
-\newcommand\labelitemii{\normalfont\bfseries \textendash}
-\newcommand\labelitemiii{\textasteriskcentered}
-\newcommand\labelitemiv{\textperiodcentered}
+\newcommand\labelitemi  {\labelitemfont \textbullet}
+\newcommand\labelitemii {\labelitemfont \bfseries \textendash}
+\newcommand\labelitemiii{\labelitemfont \textasteriskcentered}
+\newcommand\labelitemiv{ \labelitemfont \textperiodcentered}
+\newcommand\labelitemfont{\normalfont}
 \newenvironment{description}
                {\list{}{\labelwidth\z@ \itemindent-\leftmargin
                         \let\makelabel\descriptionlabel}}

Modified: trunk/Master/texmf-dist/tex/latex/base/book.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/book.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/book.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/cp1250.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/cp1250.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/cp1250.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/cp1252.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/cp1252.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/cp1252.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/cp1257.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/cp1257.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/cp1257.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/cp437.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/cp437.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/cp437.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/cp437de.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/cp437de.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/cp437de.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/cp850.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/cp850.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/cp850.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/cp852.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/cp852.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/cp852.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/cp858.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/cp858.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/cp858.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/cp865.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/cp865.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/cp865.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/decmulti.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/decmulti.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/decmulti.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/doc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/doc.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/doc.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,7 +43,7 @@
 %% extension .ins) which are part of the distribution.
 \NeedsTeXFormat{LaTeX2e}[1994/12/01]
  \ProvidesPackage{doc}
-  [2019/11/10 v2.1k
+  [2019/12/16 v2.1l
    Standard LaTeX documentation package (FMi)]
 %%
 %% Package `doc' to use with LaTeX 2e
@@ -91,13 +91,13 @@
                    \usefont\encodingdefault
                            \ttdefault
                            \mddefault
-                           \updefault
+                           \shapedefault
                    }%
   \else
     \def\MacroFont{\fontencoding\encodingdefault
                    \fontfamily\ttdefault
                    \fontseries\mddefault
-                   \fontshape\updefault
+                   \fontshape\shapedefault
                    \small}%
   \fi
   }{}

Modified: trunk/Master/texmf-dist/tex/latex/base/docstrip.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/docstrip.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/docstrip.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/exscale.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/exscale.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/exscale.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/fix-cm.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/fix-cm.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/fix-cm.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/fixltx2e.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/fixltx2e.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/fixltx2e.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/flafter.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/flafter.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/flafter.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/fleqn.clo
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/fleqn.clo	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/fleqn.clo	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/fleqn.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/fleqn.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/fleqn.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/fltrace.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/fltrace.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/fltrace.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/fontenc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/fontenc.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/fontenc.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -43,8 +43,8 @@
 %% extension .ins) which are part of the distribution.
 %%% From File: ltoutenc.dtx
 \ProvidesPackage{fontenc}
- [2018/08/11 v2.0j
-                 Standard LaTeX package]
+ [2020/01/25 v2.0m
+                        Standard LaTeX package]
 \def\update at uclc@with at cyrillic{%
  \expandafter\def\expandafter\@uclclist\expandafter
   {\@uclclist
@@ -77,32 +77,39 @@
 }
 \DeclareOption*{%
    \let\encodingdefault\CurrentOption
-   \edef\reserved at f{%
-     \lowercase{\def\noexpand\reserved at f{\CurrentOption enc.def}}}%
-   \reserved at f
-   \InputIfFileExists\reserved at f
-        {}{\PackageError{fontenc}%
-         {Encoding file `\reserved at f' not found.%
-          \MessageBreak
-           You might have misspelt the name of the encoding}%
-         {Necessary code for this encoding was not
-          loaded.\MessageBreak
-          Thus calling the encoding later on will
-          produce further error messages.}}%
-  \let\reserved at f\relax
-  \expandafter\in@\expandafter{\CurrentOption}%
-                              {T2A,T2B,T2C,X2,LCY,OT2}%
-  \ifin@
-     \expandafter\in@\expandafter\cyra\expandafter
-                              {\@uclclist}%
-     \ifin@
-     \else
-       \update at uclc@with at cyrillic
-     \fi
+   \@tempswafalse
+   \@ifl at t@r\fmtversion{2020/02/02}%
+       {\expandafter\ifx\csname T@\CurrentOption\endcsname\relax
+         \@tempswatrue\fi}%
+       {\@tempswatrue}%
+   \if at tempswa
+     \edef\reserved at f{%
+       \lowercase{\def\noexpand\reserved at f{\CurrentOption enc.def}}}%
+     \reserved at f
+     \InputIfFileExists\reserved at f
+          {}{\PackageError{fontenc}%
+           {Encoding file `\reserved at f' not found.%
+            \MessageBreak
+             You might have misspelt the name of the encoding}%
+           {Necessary code for this encoding was not
+            loaded.\MessageBreak
+            Thus calling the encoding later on will
+            produce further error messages.}}%
+    \let\reserved at f\relax
+    \expandafter\in@\expandafter{\CurrentOption}%
+                                {T2A,T2B,T2C,X2,LCY,OT2}%
+    \ifin@
+       \expandafter\in@\expandafter\cyra\expandafter
+                                {\@uclclist}%
+       \ifin@
+       \else
+         \update at uclc@with at cyrillic
+       \fi
+    \fi
   \fi
 }
 \ProcessOptions*
-\fontencoding\encodingdefault\selectfont
+\usefont\encodingdefault\familydefault\seriesdefault\shapedefault
 \let\update at uclc@with at cyrillic\relax
 \global\expandafter\let\csname ver at fontenc.sty\endcsname\relax
 \global\expandafter\let\csname opt at fontenc.sty\endcsname\relax

Modified: trunk/Master/texmf-dist/tex/latex/base/fontmath.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/fontmath.cfg	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/fontmath.cfg	2020-02-02 22:42:01 UTC (rev 53640)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -37,7 +37,7 @@
 %% 
 %%% From File: fontdef.dtx
 \ProvidesFile{fontmath.cfg}
-           [2019/09/21 v3.0d LaTeX Kernel
+           [2020/01/25 v3.0f LaTeX Kernel
 (Uncustomised math
            font setup)]
 %%

Modified: trunk/Master/texmf-dist/tex/latex/base/fontmath.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/fontmath.ltx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/fontmath.ltx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -37,7 +37,7 @@
 %% 
 %%% From File: fontdef.dtx
 \ProvidesFile{fontmath.ltx}
-           [2019/09/21 v3.0d LaTeX Kernel
+           [2020/01/25 v3.0f LaTeX Kernel
 (Math
            font setup)]
 \typeout{=== Don't modify this file, use a .cfg file instead ===^^J}
@@ -230,7 +230,7 @@
 \DeclareMathSymbol{\forall}{\mathord}{symbols}{"38}
 \DeclareMathSymbol{\exists}{\mathord}{symbols}{"39}
 \DeclareMathSymbol{\neg}{\mathord}{symbols}{"3A}
-    \let\lnot=\neg
+\DeclareMathSymbol{\lnot}{\mathord}{symbols}{"3A}
 \DeclareMathSymbol{\flat}{\mathord}{letters}{"5B}
 \DeclareMathSymbol{\natural}{\mathord}{letters}{"5C}
 \DeclareMathSymbol{\sharp}{\mathord}{letters}{"5D}
@@ -265,12 +265,12 @@
 \DeclareMathSymbol{\triangleright}{\mathbin}{letters}{"2E}
 \DeclareMathSymbol{\bigtriangleup}{\mathbin}{symbols}{"34}
 \DeclareMathSymbol{\bigtriangledown}{\mathbin}{symbols}{"35}
-   \let \varbigtriangledown \bigtriangledown
-   \let \varbigtriangleup \bigtriangleup
+\DeclareMathSymbol{\varbigtriangleup}{\mathbin}{symbols}{"34}
+\DeclareMathSymbol{\varbigtriangledown}{\mathbin}{symbols}{"35}
 \DeclareMathSymbol{\wedge}{\mathbin}{symbols}{"5E}
-   \let\land=\wedge
 \DeclareMathSymbol{\vee}{\mathbin}{symbols}{"5F}
-   \let\lor=\vee
+\DeclareMathSymbol{\land}{\mathbin}{symbols}{"5E}
+\DeclareMathSymbol{\lor}{\mathbin}{symbols}{"5F}
 \DeclareMathSymbol{\cap}{\mathbin}{symbols}{"5C}
 \DeclareMathSymbol{\cup}{\mathbin}{symbols}{"5B}
 \DeclareMathSymbol{\ddagger}{\mathbin}{symbols}{"7A}
@@ -311,12 +311,12 @@
 \DeclareMathSymbol{\Leftrightarrow}{\mathrel}{symbols}{"2C}
 \DeclareMathSymbol{\Leftarrow}{\mathrel}{symbols}{"28}
 \DeclareMathSymbol{\Rightarrow}{\mathrel}{symbols}{"29}
-\DeclareRobustCommand\neq{\not=}
-\DeclareRobustCommand\ne{\not=}
+   \DeclareRobustCommand\neq{\not=}
+   \DeclareRobustCommand\ne{\not=}
 \DeclareMathSymbol{\leq}{\mathrel}{symbols}{"14}
-   \let\le=\leq
 \DeclareMathSymbol{\geq}{\mathrel}{symbols}{"15}
-   \let\ge=\geq
+\DeclareMathSymbol{\le}{\mathrel}{symbols}{"14}
+\DeclareMathSymbol{\ge}{\mathrel}{symbols}{"15}
 \DeclareMathSymbol{\succ}{\mathrel}{symbols}{"1F}
 \DeclareMathSymbol{\prec}{\mathrel}{symbols}{"1E}
 \DeclareMathSymbol{\approx}{\mathrel}{symbols}{"19}
@@ -328,15 +328,15 @@
 \DeclareMathSymbol{\subseteq}{\mathrel}{symbols}{"12}
 \DeclareMathSymbol{\in}{\mathrel}{symbols}{"32}
 \DeclareMathSymbol{\ni}{\mathrel}{symbols}{"33}
-    \let\owns=\ni
+\DeclareMathSymbol{\owns}{\mathrel}{symbols}{"33}
 \DeclareMathSymbol{\gg}{\mathrel}{symbols}{"1D}
 \DeclareMathSymbol{\ll}{\mathrel}{symbols}{"1C}
 \DeclareMathSymbol{\not}{\mathrel}{symbols}{"36}
 \DeclareMathSymbol{\leftrightarrow}{\mathrel}{symbols}{"24}
 \DeclareMathSymbol{\leftarrow}{\mathrel}{symbols}{"20}
-   \let\gets=\leftarrow
 \DeclareMathSymbol{\rightarrow}{\mathrel}{symbols}{"21}
-   \let\to=\rightarrow
+\DeclareMathSymbol{\gets}{\mathrel}{symbols}{"20}
+\DeclareMathSymbol{\to}{\mathrel}{symbols}{"21}
 \DeclareMathSymbol{\mapstochar}{\mathrel}{symbols}{"37}
    \DeclareRobustCommand\mapsto{\mapstochar\rightarrow}
 \DeclareMathSymbol{\sim}{\mathrel}{symbols}{"18}

Modified: trunk/Master/texmf-dist/tex/latex/base/fonttext.cfg
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/fonttext.cfg	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/fonttext.cfg	2020-02-02 22:42:01 UTC (rev 53640)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -37,7 +37,7 @@
 %% 
 %%% From File: fontdef.dtx
 \ProvidesFile{fonttext.cfg}
-           [2019/09/21 v3.0d LaTeX Kernel
+           [2020/01/25 v3.0f LaTeX Kernel
 (Uncustomised text
            font setup)]
 %%

Modified: trunk/Master/texmf-dist/tex/latex/base/fonttext.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/fonttext.ltx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/fonttext.ltx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -37,26 +37,32 @@
 %% 
 %%% From File: fontdef.dtx
 \ProvidesFile{fonttext.ltx}
-           [2019/09/21 v3.0d LaTeX Kernel
+           [2020/01/25 v3.0f LaTeX Kernel
 (Text
            font setup)]
 \typeout{=== Don't modify this file, use a .cfg file instead ===^^J}
 \input {omlenc.def}
+\input {omsenc.def}
+\input {ot1enc.def}
 \input  {t1enc.def}
-\input {ot1enc.def}       % <- should come after T1 for speed
-\input {omsenc.def}
+\input{ts1enc.def}
 \ifx\Umathchar\@undefined
 \fontencoding{OT1}
+\def\rmsubstdefault{cmr}
+\def\sfsubstdefault{cmss}
+\def\ttsubstdefault{cmtt}
+\LoadFontDefinitionFile{TS1}{cmr}
 \else
 \input {tuenc.def}
 \fontencoding{TU}
 \DeclareFontSubstitution{TU}{lmr}{m}{n}
-\begingroup
-\nfss at catcodes
-\input  {tulmr.fd}
-\input  {tulmss.fd}
-\input  {tulmtt.fd}
-\endgroup
+\LoadFontDefinitionFile{TU}{lmr}
+\LoadFontDefinitionFile{TU}{lmss}
+\LoadFontDefinitionFile{TU}{lmtt}
+\def\rmsubstdefault{lmr}
+\def\sfsubstdefault{lmss}
+\def\ttsubstdefault{lmtt}
+\LoadFontDefinitionFile{TS1}{lmr}
 \DeclareFontSubstitution{TU}{lmr}{m}{n}
 \fi
 \DeclareFontEncodingDefaults{}{}
@@ -85,15 +91,18 @@
 \newcommand\sfdefault{lmss}
 \newcommand\ttdefault{lmtt}
 \fi
-\newcommand\bfdefault{bx}
+\newcommand\bfdefault{b}  % overwritten below
 \newcommand\mddefault{m}
 \newcommand\itdefault{it}
 \newcommand\sldefault{sl}
 \newcommand\scdefault{sc}
-\newcommand\updefault{n}
+\newcommand\updefault{up}  % overwritten below
+
+\renewcommand\updefault{up}
+\renewcommand\bfdefault{b}
 \newcommand\familydefault{\rmdefault}
 \newcommand\seriesdefault{\mddefault}
-\newcommand\shapedefault{\updefault}
+\newcommand\shapedefault{n}
 \endinput
 %%
 %% End of file `fonttext.ltx'.

Modified: trunk/Master/texmf-dist/tex/latex/base/graphpap.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/graphpap.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/graphpap.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/hyphen.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/hyphen.ltx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/hyphen.ltx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/idx.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/idx.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/idx.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    https://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % IDX.TEX -- A LaTeX input file for printing .IDX files.
 % Copyright (c) 1985, 1994 by Leslie Lamport.
@@ -35,10 +35,10 @@
 
 \nofiles
 
-\setlength{\oddsidemargin}{0pt}      
+\setlength{\oddsidemargin}{0pt}
 \setlength{\evensidemargin}{0pt}
 \setlength{\textwidth}{470pt}         % Width of text line.
-\setlength{\columnsep}{30pt}          % Space between columns 
+\setlength{\columnsep}{30pt}          % Space between columns
 
 \raggedright
 
@@ -52,7 +52,7 @@
 
 \def\indexentry{\par\begingroup \isanitize \idxentry}
 
-\def\idxentry#1#2{\def\foo{#2}\ifx\foo\thispage 
+\def\idxentry#1#2{\def\foo{#2}\ifx\foo\thispage
     \else \gdef\thispage{#2}
           \vskip 7pt {\large \bf Page #2\par \vskip 2pt}\fi
   \hangindent 20pt \ttfamily #1\par\endgroup}
@@ -90,5 +90,3 @@
 \input \filename.idx\relax
 
 \end{document}
-
-

Modified: trunk/Master/texmf-dist/tex/latex/base/ifthen.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/ifthen.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/ifthen.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/inputenc.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/inputenc.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/inputenc.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/lablst.tex
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/lablst.tex	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/lablst.tex	2020-02-02 22:42:01 UTC (rev 53640)
@@ -1,30 +1,30 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 1993-2019
+% Copyright (C) 1993-2020
 % The LaTeX3 Project and any individual authors listed elsewhere
-% in this file. 
-% 
+% in this file.
+%
 % This file is part of the LaTeX base system.
 % -------------------------------------------
-% 
+%
 % It may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either version 1.3c
 % of this license or (at your option) any later version.
 % The latest version of this license is in
 %    https://www.latex-project.org/lppl.txt
-% and version 1.3c or later is part of all distributions of LaTeX 
+% and version 1.3c or later is part of all distributions of LaTeX
 % version 2008 or later.
-% 
+%
 % This file has the LPPL maintenance status "maintained".
-% 
+%
 % The list of all files belonging to the LaTeX base distribution is
 % given in the file `manifest.txt'. See also `legal.txt' for additional
 % information.
-% 
-% The list of derived (unpacked) files belonging to the distribution 
-% and covered by LPPL is defined by the unpacking scripts (with 
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
 % extension .ins) which are part of the distribution.
-% 
+%
 % \fi
 % LABLST.TEX -- A LaTeX input file for printing label definitions.
 % Copyright (c) 1985, 1994 by Leslie Lamport, Chris Rowley
@@ -32,14 +32,14 @@
 %
 % Modified December 1994 (DPC) to allow _ ^ etc in label keys and to
 %                              input packages used by the main file.
-% 
+%
 % Modified June 1995 (CAR)
-% 
+%
 % This version puts all bibilographic entries at the end of the
 % output.  It inputs the .aux file twice.
 
 % Initial interactions:
-% 
+%
 \typeout{}
 \typeout{LABLST version of 10 June 1995}
 \typeout{}
@@ -61,7 +61,7 @@
 
 % Now ask for packages. The answer should be a comma separated list.
 % In fact only packages that define commands that are used in
-% section titles etc need be loaded. 
+% section titles etc need be loaded.
 % \def\spaces{\space\space\space\space\space}
 \typeout{}
 \typeout{**************************************************}
@@ -86,7 +86,7 @@
 \\[0.5\baselineskip]
 Using document class:\quad \lablstclass\\
   \mbox{\phantom{Using }and packages:\quad \lablstpackages}
- }  
+ }
 
 \vspace{2\baselineskip}
 
@@ -93,19 +93,19 @@
 \makeatletter
 
 % This is always disabled:
-% 
+%
 \let \@mlabel \@gobbletwo
 
 % No protection needed:
-% 
+%
 \let \protect \relax
 
 % Better formatting?:
-% 
+%
 \let \raggedright  \relax
 
 % Only write out toc entries:
-% 
+%
 \def \@writefile #1#2{%
   \def\lablst at tempa{#1}%
   \def\lablst at tempb{toc}%
@@ -123,7 +123,7 @@
 
 
 % For first run:
-% 
+%
 \def \newlabel #1#2{%
   \par
   \hbox to \textwidth{%
@@ -142,7 +142,7 @@
 
 
 % For second run:
-% 
+%
 \def \bibcite #1#2{\par
   \hbox to \textwidth{%
   \hfill\makebox[2in][r]{\@lablstverb{#1}}\hspace{1em}[#2]\hspace{4em}}}
@@ -153,7 +153,7 @@
 \par
 \vspace{2\baselineskip}
 
-{\Large \sl Bibliography logical labels} 
+{\Large \sl Bibliography logical labels}
 
 \input \lablstfile.aux
 

Modified: trunk/Master/texmf-dist/tex/latex/base/latex.ltx
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latex.ltx	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/latex.ltx	2020-02-02 22:42:01 UTC (rev 53640)
@@ -19,10 +19,12 @@
 %% ltcounts.dtx  (with options: `2ekernel')
 %% ltlength.dtx  (with options: `2ekernel')
 %% ltfssbas.dtx  (with options: `2ekernel')
+%% ltfssaxes.dtx  (with options: `2ekernel')
 %% ltfsstrc.dtx  (with options: `2ekernel')
 %% ltfssdcl.dtx  (with options: `compat,2ekernel')
 %% ltfssini.dtx  (with options: `compat,2ekernel')
 %% ltfntcmd.dtx  (with options: `2ekernel')
+%% lttextcomp.dtx  (with options: `2ekernel')
 %% ltpageno.dtx  (with options: `2ekernel')
 %% ltxref.dtx  (with options: `2ekernel')
 %% ltmiscen.dtx  (with options: `2ekernel')
@@ -49,7 +51,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -707,8 +709,8 @@
 %%% From File: ltvers.dtx
 \def\fmtname{LaTeX2e}
 \edef\fmtversion
-   {2019-10-01}
-\def\patch at level{3}
+   {2020-02-02}
+\def\patch at level{0}
 \edef\development at branch@name{}
 \iffalse
 \def\reserved at a#1/#2/#3\@nil{%
@@ -734,7 +736,7 @@
 \fi
 \let\reserved at a\relax
 \fi
-  \ifnum\patch at level=0
+  \ifnum0\ifnum\patch at level=0 \ifx\development at branch@name\@empty 1\fi\fi>0 %
     \everyjob\expandafter{\the\everyjob
       \typeout{\fmtname \space<\fmtversion>}}
     \immediate
@@ -746,7 +748,7 @@
     \write16{\fmtname \space<\fmtversion> patch level \patch at level}
   \else
     \everyjob\expandafter{\the\everyjob
-      \typeout{\fmtname \space<\fmtversion> pre-release\patch at level
+      \typeout{\fmtname \space<\fmtversion> pre-release-\number-\patch at level\space
         \ifx\development at branch@name\@undefined  \else
           \ifx\development at branch@name\@empty  \else
             \space (\development at branch@name\space branch)%
@@ -754,7 +756,7 @@
         \fi
     }}
     \immediate
-    \write16{\fmtname \space<\fmtversion> pre-release\patch at level
+    \write16{\fmtname \space<\fmtversion> pre-release-\number-\patch at level\space
         \ifx\development at branch@name\@undefined  \else
           \ifx\development at branch@name\@empty  \else
             \space (\development at branch@name\space branch)%
@@ -1495,14 +1497,13 @@
       \ignorespaces
     \fi
   \fi}
-\DeclareRobustCommand\\{%
+\protected\def\@normalcr{%
   \let \reserved at e \relax
   \let \reserved at f \relax
   \@ifstar{\let \reserved at e \vadjust \let \reserved at f \nobreak
              \@xnewline}%
-          \@xnewline}
-\expandafter\let\expandafter\@normalcr
-     \csname\expandafter\@gobble\string\\ \endcsname
+  \@xnewline}
+\let\\\@normalcr
 \DeclareRobustCommand\newline{\@normalcr\relax}
 \def\@xnewline{\@ifnextchar[% ] bracket matching
                   \@newline
@@ -1884,7 +1885,7 @@
              :\expandafter=\input at path\do{%
     \openin\@inputcheck\expandafter\quote at name\expandafter{\reserved at b#1} %
     \ifeof\@inputcheck\else
-      \edef\@filef at und{"\reserved at b#1" }%
+      \edef\@filef at und{\expandafter\quote at name\expandafter{\reserved at b#1} }%
       \let\reserved at a\@firstoftwo%
       \closein\@inputcheck
       \@break at tfor
@@ -2028,6 +2029,8 @@
    \let\hmode at start@before at group\@firstofone
    \setbox\@tempboxa\hbox{#2%
       \global\mathchardef\accent at spacefactor\spacefactor}%
+   \let\maybe at load@fontshape\relax
+   \let\ignorespaces\relax
    \accent#1 #2\egroup\spacefactor\accent at spacefactor}
 \let\accent at spacefactor\relax
 \def\hmode at bgroup{\leavevmode\bgroup}
@@ -2178,9 +2181,9 @@
 \DeclareTextCommandDefault{\textcopyright}{\textcircled{c}}
 \DeclareTextCommandDefault{\textasciicircum}{\^{}}
 \DeclareTextCommandDefault{\textasciitilde}{\~{}}
-\DeclareTextCommandDefault{\textcompwordmark}{\leavevmode\kern\z@}
 \DeclareTextCommandDefault{\textunderscore}{%
   \leavevmode \kern.06em\vbox{\hrule\@width.3em}}
+\DeclareTextSymbolDefault{\textcompwordmark}{T1}
 \DeclareTextCommandDefault{\textvisiblespace}{%
    \mbox{\kern.06em\vrule \@height.3ex}%
    \vbox{\hrule \@width.3em}%
@@ -2196,8 +2199,8 @@
 \DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}}
 \DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}}
 \DeclareRobustCommand{\$}{\ifmmode\mathdollar\else\textdollar\fi}
-\DeclareRobustCommand{\{}{\ifmmode\lbrace\else\textbraceleft\fi}
-\DeclareRobustCommand{\}}{\ifmmode\rbrace\else\textbraceright\fi}
+\protected\def\{{\ifmmode\lbrace\else\textbraceleft\fi}
+\protected\def\}{\ifmmode\rbrace\else\textbraceright\fi}
 \DeclareRobustCommand{\P}{\ifmmode\mathparagraph\else\textparagraph\fi}
 \DeclareRobustCommand{\S}{\ifmmode\mathsection\else\textsection\fi}
 \DeclareRobustCommand{\dag}{\ifmmode{\dagger}\else\textdagger\fi}
@@ -2578,11 +2581,11 @@
 }
 \let\enc at update\relax
 \DeclareRobustCommand\fontfamily[1]{\edef\f at family{#1}}
-\DeclareRobustCommand\fontseries[1]{\edef\f at series{#1}}
-\DeclareRobustCommand\fontshape [1]{\edef\f at shape{#1}}
-\DeclareRobustCommand\usefont[4]{\fontencoding{#1}\fontfamily{#2}%
-             \fontseries{#3}\fontshape{#4}\selectfont
-             \ignorespaces}
+\DeclareRobustCommand\usefont[4]{\fontencoding{#1}%
+   \edef\f at family{#2}%
+   \edef\f at series{#3}%
+   \edef\f at shape{#4}\selectfont
+   \ignorespaces}
 \DeclareRobustCommand\linespread[1]
    {\set at fontsize{#1}\f at size\f at baselineskip}
 \DeclareRobustCommand\fontsize[2]
@@ -2681,6 +2684,42 @@
    \@makeother\'%
    \@makeother\"%
 }
+\def\LoadFontDefinitionFile#1#2{%
+  \begingroup
+    \edef\f at encoding{#1}%
+    \edef\f at family{#2}%
+    \try at load@fontshape
+  \endgroup
+}
+
+\begingroup
+\nfss at catcodes
+\gdef\DeclareFontFamilySubstitution#1#2#3{%
+   \LoadFontDefinitionFile{#1}{#2}%
+   \LoadFontDefinitionFile{#1}{#3}%
+   \DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}%
+   \DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}%
+   \DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}%
+   \DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}%
+   \DeclareFontShape{#1}{#2}{m}{sw}{<->ssub * #3/m/sw}{}%
+   \DeclareFontShape{#1}{#2}{m}{scit}{<->ssub * #3/m/scit}{}%
+   \DeclareFontShape{#1}{#2}{m}{scsl}{<->ssub * #3/m/scsl}{}%
+   \DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/b/it}{}%
+   \DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/b/n}{}%
+   \DeclareFontShape{#1}{#2}{b}{scit}{<->ssub * #3/b/scit}{}%
+   \DeclareFontShape{#1}{#2}{b}{scsl}{<->ssub * #3/b/scsl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/b/sc}{}%
+   \DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/b/sl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sw}{<->ssub * #3/b/sw}{}%
+   \DeclareFontShape{#1}{#2}{bx}{it}{<->ssub * #3/bx/it}{}%
+   \DeclareFontShape{#1}{#2}{bx}{n}{<->ssub * #3/bx/n}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scit}{<->ssub * #3/bx/scit}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scsl}{<->ssub * #3/bx/scsl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub * #3/bx/sc}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub * #3/bx/sl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sw}{<->ssub * #3/bx/sw}{}%
+}
+\endgroup
 \def\DeclareErrorFont#1#2#3#4#5{%
       \xdef\error at fontshape{%
           \noexpand\expandafter\noexpand\split at name\noexpand\string
@@ -2830,6 +2869,545 @@
  \def\@xviipt{17.28}
  \def\@xxpt{20.74}
  \def\@xxvpt{24.88}
+%%% From File: ltfssaxes.dtx
+%% Copyright (C) 1999-2020 Frank Mittelbach
+\def\DeclareFontSeriesChangeRule#1#2#3#4{%
+  \@namedef{series@#1@#2}{{#3}{#4}}}
+\DeclareFontSeriesChangeRule {bc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {bc}{c}{bc}{}
+\DeclareFontSeriesChangeRule {bc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {bc}{ec}{bec} {bc}
+\DeclareFontSeriesChangeRule {bc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {bc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {bc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {bc}{sc}{bsc} {bc}
+\DeclareFontSeriesChangeRule {bc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {bc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {bc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {bc}{x}{bx}{}
+\DeclareFontSeriesChangeRule {bx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {bx}{c}  {bc}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {bx}{ec}  {bec}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {bx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {bx}{sb} {sbx} {}
+\DeclareFontSeriesChangeRule {bx}{sc}  {bsc}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{sl}{slx}  {}
+\DeclareFontSeriesChangeRule {bx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {bx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {bx}{x}{bx}{}
+\DeclareFontSeriesChangeRule {b}{bx} {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{c}  {bc}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{ec}  {bec}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{sb} {sb}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{sc}  {bsc}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{x}  {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {c}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {c}{b}{bc}{}
+\DeclareFontSeriesChangeRule {c}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {c}{el}{elc}{}
+\DeclareFontSeriesChangeRule {c}{l}{lc}{}
+\DeclareFontSeriesChangeRule {c}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {c}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {c}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {c}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {c}{x}{x}{m}               %<-----
+\DeclareFontSeriesChangeRule {ebc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ebc}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {ebc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ebc}{ec}{ebec}{ebc}
+\DeclareFontSeriesChangeRule {ebc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ebc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ebc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ebc}{sc}{ebsc}{ebc}
+\DeclareFontSeriesChangeRule {ebc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ebc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ebc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ebc}{x}{ebx}{}
+\DeclareFontSeriesChangeRule {ec}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {ec}{b}{bec}{}
+\DeclareFontSeriesChangeRule {ec}{eb}{ebec}{}
+\DeclareFontSeriesChangeRule {ec}{el}{elec}{}
+\DeclareFontSeriesChangeRule {ec}{l}{lec}{}
+\DeclareFontSeriesChangeRule {ec}{sb}{sbec}{}
+\DeclareFontSeriesChangeRule {ec}{sl}{slec}{}
+\DeclareFontSeriesChangeRule {ec}{ub}{ubec}{}
+\DeclareFontSeriesChangeRule {ec}{ul}{ulec}{}
+\DeclareFontSeriesChangeRule {ec}{x}{x}{m}              %<-----
+\DeclareFontSeriesChangeRule {sc}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {sc}{b}{bsc}{}
+\DeclareFontSeriesChangeRule {sc}{eb}{ebsc}{}
+\DeclareFontSeriesChangeRule {sc}{el}{elsc}{}
+\DeclareFontSeriesChangeRule {sc}{l}{lsc}{}
+\DeclareFontSeriesChangeRule {sc}{sb}{sbsc}{}
+\DeclareFontSeriesChangeRule {sc}{sl}{slsc}{}
+\DeclareFontSeriesChangeRule {sc}{ub}{ubsc}{}
+\DeclareFontSeriesChangeRule {sc}{ul}{ulsc}{}
+\DeclareFontSeriesChangeRule {sc}{x}{x}{m}              %<-----
+\DeclareFontSeriesChangeRule {ebx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ebx}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {ebx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ebx}{ec}{ebec}{}
+\DeclareFontSeriesChangeRule {ebx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ebx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ebx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ebx}{sc}{ebsc}{}
+\DeclareFontSeriesChangeRule {ebx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ebx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ebx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ebx}{x}{ebx}{}
+\DeclareFontSeriesChangeRule {eb}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {eb}{ec}{ebec}{}
+\DeclareFontSeriesChangeRule {eb}{sc}{ebsc}{}
+\DeclareFontSeriesChangeRule {eb}{x}{ebx}{}
+\DeclareFontSeriesChangeRule {elc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {elc}{c}{elc}{}
+\DeclareFontSeriesChangeRule {elc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {elc}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {elc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {elc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {elc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {elc}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {elc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {elc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {elc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {elc}{x}{elx}{}
+\DeclareFontSeriesChangeRule {elx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {elx}{c}{elc}{}
+\DeclareFontSeriesChangeRule {elx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {elx}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {elx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {elx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {elx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {elx}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {elx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {elx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {elx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {elx}{x}{elx}{}
+\DeclareFontSeriesChangeRule {el}{c}{elc}{}
+\DeclareFontSeriesChangeRule {el}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {el}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {el}{x}{elx}{}
+\DeclareFontSeriesChangeRule {lc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {lc}{c}{lc}{}
+\DeclareFontSeriesChangeRule {lc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {lc}{ec}{lec}{}
+\DeclareFontSeriesChangeRule {lc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {lc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {lc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {lc}{sc}{lsc}{}
+\DeclareFontSeriesChangeRule {lc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {lc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {lc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {lc}{x}{lx}{}
+\DeclareFontSeriesChangeRule {lx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {lx}{c}{lc}{}
+\DeclareFontSeriesChangeRule {lx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {lx}{ec}{lec}{}
+\DeclareFontSeriesChangeRule {lx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {lx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {lx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {lx}{sc}{lsc}{}
+\DeclareFontSeriesChangeRule {lx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {lx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {lx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {lx}{x}{lx}{}
+\DeclareFontSeriesChangeRule {l}{bx} {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {l}{b}  {b}   {bx} %<-----
+\DeclareFontSeriesChangeRule {l}{c}  {lc}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{ec}  {lec}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{sb} {sb}  {b}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{sc}  {lsc}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{x}  {lx}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {m}{bx} {bx} {b}    %<-----
+\DeclareFontSeriesChangeRule {m}{b}  {b}  {bx} %<-----
+\DeclareFontSeriesChangeRule {m}{c}  {c}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{ec}  {ec}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{l}  {l}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{sb} {sb} {b} %<-----
+\DeclareFontSeriesChangeRule {m}{sc}  {sc}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{x}  {x}  {m} %<-----
+\DeclareFontSeriesChangeRule {sbc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {sbc}{c}{sbc}{}
+\DeclareFontSeriesChangeRule {sbc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {sbc}{ec}{sbec}{sbc}
+\DeclareFontSeriesChangeRule {sbc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {sbc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {sbc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {sbc}{sc}{sbsc}{sbc}
+\DeclareFontSeriesChangeRule {sbc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {sbc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {sbc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {sbc}{x}{sbx}{}
+\DeclareFontSeriesChangeRule {sbx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {sbx}{c}{sbc}{}
+\DeclareFontSeriesChangeRule {sbx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {sbx}{ec}{sbec}{}
+\DeclareFontSeriesChangeRule {sbx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {sbx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {sbx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {sbx}{sc}{sbsc}{}
+\DeclareFontSeriesChangeRule {sbx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {sbx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {sbx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {sbx}{x}{sbx}{}
+\DeclareFontSeriesChangeRule {sb}{c}  {sbc} {bc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{ec}  {sbec} {sbc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{sc}  {sbsc} {sbc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{x}  {sbx} {bx} %? %<-----
+\DeclareFontSeriesChangeRule {slc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {slc}{c}{slc}{}
+\DeclareFontSeriesChangeRule {slc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {slc}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {slc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {slc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {slc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {slc}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {slc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {slc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {slc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {slc}{x}{slx}{}
+\DeclareFontSeriesChangeRule {slx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {slx}{c}{slc}{}
+\DeclareFontSeriesChangeRule {slx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {slx}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {slx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {slx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {slx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {slx}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {slx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {slx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {slx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {slx}{x}{slx}{}
+\DeclareFontSeriesChangeRule {sl}{c}{slc}{}
+\DeclareFontSeriesChangeRule {sl}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {sl}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {sl}{x}{slx}{}
+\DeclareFontSeriesChangeRule {ubc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ubc}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ubc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ubc}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ubc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ubc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ubc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ubc}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ubc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ubc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ubc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ubc}{x}{ubx}{}
+\DeclareFontSeriesChangeRule {ubx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ubx}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ubx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ubx}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ubx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ubx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ubx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ubx}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ubx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ubx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ubx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ubx}{x}{ubx}{}
+\DeclareFontSeriesChangeRule {ub}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ub}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ub}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ub}{x}{ubx}{}
+\DeclareFontSeriesChangeRule {ulc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ulc}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ulc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ulc}{ec}{ulec}{ulc}
+\DeclareFontSeriesChangeRule {ulc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ulc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ulc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ulc}{sc}{ulsc}{ulc}
+\DeclareFontSeriesChangeRule {ulc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ulc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ulc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ulc}{x}{ulx}{}
+\DeclareFontSeriesChangeRule {ulx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ulx}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ulx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ulx}{ec}{ulec}{}
+\DeclareFontSeriesChangeRule {ulx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ulx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ulx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ulx}{sc}{ulsc}{}
+\DeclareFontSeriesChangeRule {ulx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ulx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ulx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ulx}{x}{ulx}{}
+\DeclareFontSeriesChangeRule {ul}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ul}{ec}{ulec}{}
+\DeclareFontSeriesChangeRule {ul}{sc}{ulsc}{}
+\DeclareFontSeriesChangeRule {ul}{x}{ulx}{}
+\DeclareFontSeriesChangeRule {x}{b}{bx}{}
+\DeclareFontSeriesChangeRule {x}{c}{c}{}
+\DeclareFontSeriesChangeRule {x}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {x}{ec}{ec}{}
+\DeclareFontSeriesChangeRule {x}{el}{elx}{}
+\DeclareFontSeriesChangeRule {x}{l}{lx}{}
+\DeclareFontSeriesChangeRule {x}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {x}{sc}{sc}{}
+\DeclareFontSeriesChangeRule {x}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {x}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {x}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {bc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {bec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {bsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {bx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {b}{m?}{m}{}
+\DeclareFontSeriesChangeRule {c}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ebc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ebec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ebsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ebx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {eb}{m?}{m}{}
+\DeclareFontSeriesChangeRule {ec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {elc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {elec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {elsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {elx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {el}{m?}{m}{}
+\DeclareFontSeriesChangeRule {lc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {lec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {lsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {lx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {l}{m?}{m}{}
+\DeclareFontSeriesChangeRule {m}{m?}{m}{}
+\DeclareFontSeriesChangeRule {sbc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {sbec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {sbsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {sbx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {sb}{m?}{m}{}
+\DeclareFontSeriesChangeRule {sc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {slc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {slec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {slsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {slx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {sl}{m?}{m}{}
+\DeclareFontSeriesChangeRule {ubc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ubec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ubsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ubx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {ub}{m?}{ub}{}
+\DeclareFontSeriesChangeRule {ulc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ulec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ulsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ulx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {ul}{m?}{m}{}
+\DeclareFontSeriesChangeRule {x}{m?}{x}{}
+\DeclareFontSeriesChangeRule {bc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bec}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bx}{?m}{b}{}
+\DeclareFontSeriesChangeRule {b}{?m}{b}{}
+\DeclareFontSeriesChangeRule {c}{?m}{m}{}
+\DeclareFontSeriesChangeRule {ebc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebec}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebx}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {eb}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ec}{?m}{m}{}
+\DeclareFontSeriesChangeRule {elc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elec}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elx}{?m}{el}{}
+\DeclareFontSeriesChangeRule {el}{?m}{el}{}
+\DeclareFontSeriesChangeRule {lc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lec}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lx}{?m}{l}{}
+\DeclareFontSeriesChangeRule {l}{?m}{l}{}
+\DeclareFontSeriesChangeRule {m}{?m}{m}{}
+\DeclareFontSeriesChangeRule {sbc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbec}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbx}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sb}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{}
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{}
+\DeclareFontSeriesChangeRule {slc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slec}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slx}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {sl}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {ubc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubec}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubx}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ub}{?m}{m}{}
+\DeclareFontSeriesChangeRule {ulc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulec}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulx}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ul}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {x}{?m}{m}{}
+
+
+\DeclareRobustCommand\fontseriesforce[1]{\edef\f at series{#1}}
+\DeclareRobustCommand\fontseries[1]{\merge at font@series{#1}}
+
+\def\merge at font@series#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@series@
+    \csname series@\f at series @#1\endcsname
+    {#1}%
+    \@nil
+}
+
+\def\merge at font@series@#1#2#3\@nil{%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \set at target@series{#2}%
+  \else
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /#1/\f at shape}%
+     \ifcsname \@reserveda \endcsname
+       \set at target@series{#1}%
+    \else
+       \ifcsname \f at encoding /\f at family /#2/\f at shape \endcsname
+         \set at target@series{#2}%
+         \@font at shape@subst at warning
+       \else
+         \set at target@series{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+\def\@font at shape@subst at warning{%
+   \edef\@reservedb{\curr at fontshape}%
+   \ifx\@reserveda\@reservedb \else
+     \@font at warning{Font shape `\@reserveda' undefined\MessageBreak
+                    using `\@reservedb' instead}%
+   \fi
+}
+\def\maybe at load@fontshape{\begingroup\try at load@fontshape\endgroup}
+\DeclareFontSeriesChangeRule {m}{sc}{msc}{mc}
+\def\set at target@series#1{%
+    \edef\f at series{#1}%
+    \edef\f at series{\expandafter\series at drop@one at m\f at series mm\series at drop@one at m}%
+}
+\def\series at drop@one at m#1m#2m#3\series at drop@one at m{%
+  \ifx\relax#1#2\relax m\else#1#2\fi
+}
+
+\def\DeclareFontShapeChangeRule #1#2#3#4{%
+  \@namedef{shape@#1@#2}{{#3}{#4}}}
+\DeclareRobustCommand\ulcshape
+        {\not at math@alphabet\ulcshape\relax
+         \fontshape\ulcdefault\selectfont}
+\newcommand\ulcdefault{ulc}
+\DeclareRobustCommand\swshape
+        {\not at math@alphabet\swshape\relax
+         \fontshape\swdefault\selectfont}
+\newcommand\swdefault{sw}
+\DeclareRobustCommand\sscshape
+        {\not at math@alphabet\sscshape\relax
+         \fontshape\sscdefault\selectfont}
+\newcommand\sscdefault{ssc}
+\DeclareFontShapeChangeRule {n}{it}  {it}  {sl}
+\DeclareFontShapeChangeRule {n}{sl}  {sl}  {it}
+\DeclareFontShapeChangeRule {n}{ulc} {n}   {}
+\DeclareFontShapeChangeRule {n}{up} {n}    {}
+\DeclareFontShapeChangeRule {it}{sl}  {sl}    {it}
+\DeclareFontShapeChangeRule {it}{sc}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {it}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {it}{up} {n}      {}
+\DeclareFontShapeChangeRule {sl}{it}  {it}    {sl}
+\DeclareFontShapeChangeRule {sl}{sc}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {sl}{up} {n}      {}
+\DeclareFontShapeChangeRule {sc}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {sc}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sc}{sw}  {scsw}  {sw}
+\DeclareFontShapeChangeRule {sc}{ulc} {n}     {}
+\DeclareFontShapeChangeRule {sc}{up} {n}     {}
+\DeclareFontShapeChangeRule {scit}{it}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {scit}{sw}  {scsw}  {sc}    % or scit?
+\DeclareFontShapeChangeRule {scit}{sc}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {scit}{up} {sc}     {}
+\DeclareFontShapeChangeRule {scsl}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {scsl}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{sw}  {scsw}  {sc}    % or scsl?
+\DeclareFontShapeChangeRule {scsl}{sc}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {scsl}{up}   {sc}   {}
+\DeclareFontShapeChangeRule {scsw}{it}  {scit}  {scsw}
+\DeclareFontShapeChangeRule {scsw}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsw}{sw}  {scsw}  {}
+\DeclareFontShapeChangeRule {scsw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {scsw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {scsw}{up} {sc}     {}
+\DeclareFontShapeChangeRule {sw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {sw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {sw}{up} {n}      {}
+\DeclareRobustCommand\fontshape[1]{\merge at font@shape{#1}}
+\DeclareRobustCommand\fontshapeforce[1]{\edef\f at shape{#1}}
+\def\merge at font@shape#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@shape@
+    \csname shape@\f at shape @#1\endcsname
+    {#1}%
+    \@nil
+}
+
+\def\merge at font@shape@#1#2#3\@nil{%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \edef\f at shape{#2}%
+  \else
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /\f at series/#1}%
+     \ifcsname \@reserveda\endcsname
+       \edef\f at shape{#1}%
+    \else
+       \ifcsname \f at encoding /\f at family /\f at series/#2\endcsname
+         \edef\f at shape{#2}%
+         \@font at shape@subst at warning
+       \else
+         \edef\f at shape{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+\protected\def\normalshape
+    {\not at math@alphabet\normalshape\relax
+      \fontshape\shapedefault\selectfont}%
+\def\reinstall at nfss@defs{%
+  \protected\def\upshape
+          {\not at math@alphabet\upshape\relax
+           \fontshape\updefault\selectfont}%
+  \protected\def\slshape
+          {\not at math@alphabet\slshape\relax
+           \fontshape\sldefault\selectfont}%
+  \protected\def\scshape
+          {\not at math@alphabet\scshape\relax
+           \fontshape\scdefault\selectfont}%
+  \protected\def\itshape
+          {\not at math@alphabet\itshape\mathit
+           \fontshape\itdefault\selectfont}%
+  \protected\def\ulcshape
+          {\not at math@alphabet\ulcshape\relax
+           \fontshape{ulc}\selectfont}%
+  \protected\def\swshape
+          {\not at math@alphabet\swshape\relax
+           \fontshape\swdefault\selectfont}%
+  \protected\def\sscshape
+          {\not at math@alphabet\sscshape\relax
+           \fontshape\sscdefault\selectfont}%
+}
 %%% From File: ltfsstrc.dtx
 %% Copyright (C) 1989-97 by Frank Mittelbach and Rainer Sch\"opf.
 %% Copyright (C) 1994-97 by LaTeX3 project. All rights reserved.
@@ -3127,6 +3705,11 @@
     \get at external@font
     \do at subst@correction
 }
+\DeclareSizeFunction{alias}{\sub at sfcnt\@font at aliasinfo}
+\def\@font at aliasinfo#1{%
+  \@font at info{Font\space shape\space `\curr at fontshape'\space
+              aliased\space to\MessageBreak `\mandatory at arg'}%
+}
 \DeclareSizeFunction{subf}{\subf at sfcnt\@font at warning}
 \DeclareSizeFunction{ssubf}{\subf at sfcnt\@font at info}
 \def\subf at sfcnt#1{%
@@ -3773,11 +4356,9 @@
         \edef\reserved at d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
       %
         \edef\reserved at a{\noexpand\in@
-          {\expandafter\@gobble\string\delimiter}%
-          {\expandafter\meaning\csname\expandafter\@gobble\string#1\space\endcsname}}%
+            {\expandafter\@gobble\string\delimiter}{\meaning#1}}%
         \reserved at a
         \ifin@
-          \expandafter\let\csname\expandafter\@gobble\string#1\space\endcsname\@undefined
           \expandafter\set at mathdelimiter
              \csname sym#3\expandafter\endcsname
              \csname sym#5\endcsname#1#2%
@@ -3840,9 +4421,9 @@
 }
 \@onlypreamble\@xDeclareMathDelimiter
 \def\set at mathdelimiter#1#2#3#4#5#6{%
+  \protected
   \xdef#3{\delimiter"\mathchar at type#4\hexnumber@#1#5%
     \hexnumber@#2#6 }%
-  \MakeRobust#3%
 }
 \@onlypreamble\set at mathdelimiter
 \def\set@@mathdelimiter#1#2#3#4#5{%
@@ -3991,21 +4572,6 @@
 %% all rights reserved.
 \DeclareMathVersion{normal}
 \DeclareMathVersion{bold}
-\DeclareRobustCommand\rmfamily
-        {\not at math@alphabet\rmfamily\mathrm
-         \fontfamily\rmdefault\selectfont}
-\DeclareRobustCommand\sffamily
-        {\not at math@alphabet\sffamily\mathsf
-         \fontfamily\sfdefault\selectfont}
-\DeclareRobustCommand\ttfamily
-        {\not at math@alphabet\ttfamily\mathtt
-         \fontfamily\ttdefault\selectfont}
-\DeclareRobustCommand\bfseries
-        {\not at math@alphabet\bfseries\mathbf
-         \fontseries\bfdefault\selectfont}
-\DeclareRobustCommand\mdseries
-        {\not at math@alphabet\mdseries\relax
-         \fontseries\mddefault\selectfont}
 \DeclareRobustCommand\upshape
         {\not at math@alphabet\upshape\relax
          \fontshape\updefault\selectfont}
@@ -4018,10 +4584,185 @@
 \DeclareRobustCommand\itshape
         {\not at math@alphabet\itshape\mathit
          \fontshape\itdefault\selectfont}
-\DeclareRobustCommand\em
-        {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
-                       \eminnershape \else \itshape \fi}%
-\def\eminnershape{\upshape}%
+\newcommand\DeclareFontSeriesDefault[3][]{%
+  \def\@reserveda{#1}%
+  \ifx\@resereda\@empty
+    \ifcsname #2series\endcsname           % supported are
+                                           % \[md/bf]default
+      \expandafter\def
+         \csname #2default\endcsname{#3}%
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Mandatory first argument must be 'md'  or 'bf'.}
+    \fi
+  \else
+    \ifcsname #2series@#1\endcsname          % supported are
+                                             % \[md/bf]series@[rm/sf/tt]
+      \expandafter\edef
+         \csname #2series@#1\endcsname{#3}%
+      \expandafter\let
+         \csname #2series@#1 at kernel\endcsname\@undefined
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Optional first argument must be 'rm', 'sf', or 'tt'. \MessageBreak
+           Second argument must be 'md'  or 'bf'.}
+    \fi
+  \fi
+}
+
+\def\bfseries at rm{bx}
+\def\bfseries at sf{bx}
+\def\bfseries at tt{bx}
+\let\bfseries at rm@kernel\bfseries at rm
+\let\bfseries at sf@kernel\bfseries at sf
+\let\bfseries at tt@kernel\bfseries at tt
+\def\mdseries at rm{m}
+\def\mdseries at sf{m}
+\def\mdseries at tt{m}
+
+\def\expand at font@defaults{%
+  \edef\rmdef at ult{\rmdefault}%
+  \edef\sfdef at ult{\sfdefault}%
+  \edef\ttdef at ult{\ttdefault}%
+  \edef\bfdef at ult{\bfdefault}%
+  \edef\mddef at ult{\mddefault}%
+  \edef\famdef at ult{\familydefault}%
+}
+
+\DeclareRobustCommand\bfseries{%
+  \not at math@alphabet\bfseries\mathbf
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \bfseries at rm
+    \else\ifx\f at family\sfdef at ult \bfseries at sf
+    \else\ifx\f at family\ttdef at ult \bfseries at tt
+    \else                        \bfdefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+
+\DeclareRobustCommand\mdseries{%
+  \not at math@alphabet\mdseries\relax
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \mdseries at rm
+    \else\ifx\f at family\sfdef at ult \mdseries at sf
+    \else\ifx\f at family\ttdef at ult \mdseries at tt
+    \else                        \mddefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+
+\DeclareRobustCommand\rmfamily{%
+   \not at math@alphabet\rmfamily\mathrm
+   \prepare at family@series at update{rm}\rmdefault
+   \@rmfamilyhook
+   \selectfont}
+\DeclareRobustCommand\sffamily{%
+   \not at math@alphabet\sffamily\mathsf
+   \prepare at family@series at update{sf}\sfdefault
+   \@sffamilyhook
+   \selectfont}
+\DeclareRobustCommand\ttfamily{%
+   \not at math@alphabet\ttfamily\mathtt
+   \prepare at family@series at update{tt}\ttdefault
+   \@ttfamilyhook
+   \selectfont}
+\let\@rmfamilyhook\@empty
+\let\@sffamilyhook\@empty
+\let\@ttfamilyhook\@empty
+
+\def\@meta at family@list{\@elt{rm}\@elt{sf}\@elt{tt}}
+\def\prepare at family@series at update#1#2{%
+   \expand at font@defaults
+   \let\target at series@value\@empty
+   \def\target at meta@family at value{#1}%
+   \let\@elt\update at series@target at value
+      \@meta at family@list
+   \let\@elt\relax
+   \fontfamily#2%
+   \ifx\target at series@value\@empty
+   \else
+     \maybe at load@fontshape
+     \let\f at series\target at series@value
+   \fi
+}
+\def\update at series@target at value#1{%
+  \def\@reserveda{#1}%
+  \ifx\target at meta@family at value\@reserveda   % rm -> rm do nothing
+  \else
+    \expandafter\ifx\csname#1def at ult\endcsname\f at family
+      \let\@elt\@gobble
+      \expandafter\let\expandafter\@reservedb
+                      \csname mdseries@\target at meta@family at value\endcsname
+      \expandafter\let\expandafter\@reservedc
+                      \csname bfseries@\target at meta@family at value\endcsname
+      \expandafter\ifx\csname mdseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedb
+      \else\expandafter\ifx\csname bfseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedc
+      \else\ifx\f at series\mddef at ult    \let\target at series@value\@reservedb
+      \else\ifx\f at series\bfdef at ult    \let\target at series@value\@reservedc
+      \fi\fi\fi\fi
+    \fi
+  \fi
+}
+\def\init at series@setup{%
+  \ifx\bfseries at rm@kernel\bfseries at rm
+    \expandafter\in@\expandafter{\rmdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at rm{b}\fi\fi
+  \ifx\bfseries at sf@kernel\bfseries at sf
+    \expandafter\in@\expandafter{\sfdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at sf{b}\fi\fi
+  \ifx\bfseries at tt@kernel\bfseries at tt
+    \expandafter\in@\expandafter{\ttdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at tt{b}\fi\fi
+
+  \expand at font@defaults
+  \ifx\famdef at ult\rmdef at ult      \rmfamily
+  \else\ifx\famdef at ult\sfdef at ult \sffamily
+  \else\ifx\famdef at ult\ttdef at ult \ttfamily
+  \fi\fi\fi
+}%
+\expandafter\let\csname ver at mweights.sty\endcsname\fmtversion
+
+\def\DeclareEmphSequence#1{%
+  \protected at edef\emfontdeclare at clist{\zap at space#1, \@empty\emforce\emreset}%
+}
+\let\emfontdeclare at clist\@empty
+
+\DeclareRobustCommand\emreset{\upshape\ulcshape}
+
+\DeclareRobustCommand\em{%
+  \@nomath\em
+  \ifx\emfontdeclare at clist\@empty
+    \ifdim \fontdimen\@ne\font >\z@
+      \eminnershape \else \itshape \fi
+  \else
+  \edef\em at currfont{\csname\curr at fontshape/\f at size\endcsname}%
+    \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+  \fi
+}
+\def\eminnershape{\upshape}
+\def\do at emfont@update#1,#2\do at emfont@update{%
+  \def\emfontdeclare at clist{#2,#1}%
+  #1\selectfont
+  \expandafter\ifx\csname \curr at fontshape/\f at size\em at force
+                          \expandafter\endcsname
+                  \em at currfont
+  \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+  \else
+    \let\em at force\@empty
+  \fi
+}
+
+\protected\def\emforce{\def\em at force{/}}
+\let\em at force\@empty
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \def\not at math@alphabet#1#2{%
    \relax
    \ifmmode
@@ -4051,13 +4792,6 @@
     \fi
     \fontsize{#2}{#3}\selectfont}
 \def\@setsize#1#2#3#4{\@setfontsize#1{#4}{#2}}
-\DeclareRobustCommand\oldstylenums[1]{%
-   \begingroup
-    \spaceskip\fontdimen\tw@\font
-    \usefont{OML}{\rmdefault}{\f at series}{it}%
-    \mathgroup\symletters #1%
-   \endgroup
-}
 \def\hexnumber@#1{\ifcase\number#1
  0\or 1\or 2\or 3\or 4\or 5\or 6\or 7\or 8\or
  9\or A\or B\or C\or D\or E\or F\fi}
@@ -4147,6 +4881,10 @@
 \DeclareTextFontCommand{\textsl}{\slshape}
 \DeclareTextFontCommand{\textsc}{\scshape}
 \DeclareTextFontCommand{\textup}{\upshape}
+
+\DeclareTextFontCommand{\textulc}{\ulcshape}
+\DeclareTextFontCommand{\textsw}{\swshape}
+\DeclareTextFontCommand{\textssc}{\sscshape}
 \DeclareTextFontCommand{\emph}{\em}
 \let \nocorr \relax
 \let \check at icl \@empty
@@ -4252,6 +4990,514 @@
               there is probably something wrong with
               the class file}\@eha
 }
+\DeclareRobustCommand\legacyoldstylenums[1]{%
+   \begingroup
+    \spaceskip\fontdimen\tw@\font
+    \usefont{OML}{\rmdefault}{\f at series}{it}%
+    \mathgroup\symletters #1%
+   \endgroup
+}
+\DeclareRobustCommand\oldstylenums[1]{%
+ \begingroup
+ \ifmmode
+   \mathgroup\symletters #1%
+  \else
+   \CheckEncodingSubset\@use at text@encoding{TS1}\tc at oldstylesubst2{{#1}}%
+ \fi
+ \endgroup
+}
+\def\tc at oldstylesubst#1{%
+   \tc at errorwarn
+          {Oldstyle digits unavailable for
+           family \f at family.\MessageBreak
+           Default oldstyle digits used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+        \fontfamily\textcompsubstdefault
+      \fi\fi\fi
+      \fontencoding{TS1}\selectfont#1%
+  \egroup
+}
+\def\textcompsubstdefault{\rmsubstdefault}
+
+\def\DeclareEncodingSubset#1#2{%
+  \DeclareEncodingSubset at aux{#1}#2*\DeclareEncodingSubset at aux
+}
+\def\DeclareEncodingSubset at aux#1#2*#3\DeclareEncodingSubset at aux#4{%
+  \expandafter\ifx\expandafter X\detokenize{#3}X%
+    \@DeclareEncodingSubset{#1}{#2}{#4}%
+  \else
+    \@DeclareEncodingSubset{#1}{#2LF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TLF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2OsF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TOsF}{#4}%
+  \fi
+}
+\def\@DeclareEncodingSubset#1#2#3{%
+   \@ifundefined{#1:#2}%
+     {\@font at info{Setting #2 sub-encoding to #1/#3}}%
+     {\@font at info{Changing #2 sub-encoding to #1/#3}}%
+     \@namedef{#1:#2}{#3}}
+\@onlypreamble\DeclareEncodingSubset
+\@onlypreamble\DeclareEncodingSubset at aux
+\@onlypreamble\@DeclareEncodingSubset
+
+
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+      \expandafter\ifx\csname #2:\f at family\endcsname\relax
+        0\csname #2:?\endcsname
+      \else
+        \csname #2:\f at family\endcsname
+      \fi
+   \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+
+\def\tc at errorwarn#1#2{\@latex at info{#1}}
+
+\def\tc at subst#1{%
+   \tc at errorwarn
+    {Symbol \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding.\MessageBreak Default family used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+         \fontfamily\textcompsubstdefault
+      \fi\fi\fi
+      \@namedef{TS1:\f at family}{0}%
+      \selectfont#1%
+  \egroup
+}
+
+\def\tc at fake@euro#1{%
+   \leavevmode
+   \@font at info{Faking \noexpand#1for font family
+                          \f at family\MessageBreak in TS1 encoding}%
+   \valign{##\cr
+      \vfil\hbox to 0.07em{\dimen@\f at size\p@
+                           \math at fontsfalse
+                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
+      \vfil\cr%
+      \hbox{C}\crcr
+   }%
+}
+
+\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
+\def\tc at check@accent#1{\CheckEncodingSubset\UseTextAccent{TS1}{\tc at swap@accent#1}}
+\def\tc at swap@accent#1#2{\UseTextAccent{T1}#1}
+
+\DeclareTextSymbolDefault{\textdollar}{TS1}
+\UndeclareTextCommand{\textdollar}  {OT1}         % don't use the OT1 def any longer
+\DeclareTextSymbolDefault{\textsterling}{TS1}
+\UndeclareTextCommand{\textsterling}{OT1}         % don't use the OT1 def any longer
+\DeclareTextSymbolDefault{\textperthousand}{TS1}
+\UndeclareTextCommand{\textperthousand}{T1}       % don't use the T1 def
+\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
+\DeclareTextSymbolDefault{\textbullet}{TS1}
+\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
+\DeclareTextSymbolDefault{\textdagger}{TS1}
+\DeclareTextSymbolDefault{\textparagraph}{TS1}
+\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
+\DeclareTextSymbolDefault{\textsection}{TS1}
+%%\DeclareTextSymbolDefault{\textbardbl}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
+%%\DeclareTextSymbolDefault{\textcelsius}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textcent}{TS1}
+\DeclareTextSymbolDefault{\textcopyright}{TS1}
+\DeclareTextSymbolDefault{\textdegree}{TS1}
+\DeclareTextSymbolDefault{\textdiv}{TS1}
+\DeclareTextSymbolDefault{\textlnot}{TS1}
+\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textonequarter}{TS1}
+%%\DeclareTextSymbolDefault{\textonesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textordfeminine}{TS1}
+\DeclareTextSymbolDefault{\textordmasculine}{TS1}
+\DeclareTextSymbolDefault{\textpm}{TS1}
+\DeclareTextSymbolDefault{\textquotesingle}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
+\DeclareTextSymbolDefault{\textregistered}{TS1}
+%%\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textthreequarters}{TS1}
+%%\DeclareTextSymbolDefault{\textthreesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\texttimes}{TS1}
+\DeclareTextSymbolDefault{\texttrademark}{TS1}
+%%\DeclareTextSymbolDefault{\texttwelveudash}{TS1} % subst in sub-enc 9 above
+%%\DeclareTextSymbolDefault{\texttwosuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textyen}{TS1}
+\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
+\DeclareTextCommandDefault{\textcircled}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OMS}}1\textcircled}
+\DeclareTextCommandDefault{\t}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OML}}2\t}
+\ifx\Umathcode\@undefined
+  \DeclareTextCommandDefault{\capitalacute}       {\tc at check@accent{\'}2\capitalacute}
+  \DeclareTextCommandDefault{\capitalbreve}       {\tc at check@accent{\u}2\capitalbreve}
+  \DeclareTextCommandDefault{\capitalcaron}       {\tc at check@accent{\v}2\capitalcaron}
+  \DeclareTextCommandDefault{\capitalcedilla}     {\tc at check@accent{\c}2\capitalcedilla}
+  \DeclareTextCommandDefault{\capitalcircumflex}  {\tc at check@accent{\^}2\capitalcircumflex}
+  \DeclareTextCommandDefault{\capitaldieresis}    {\tc at check@accent{\"}2\capitaldieresis}
+  \DeclareTextCommandDefault{\capitaldotaccent}   {\tc at check@accent{\.}2\capitaldotaccent}
+  \DeclareTextCommandDefault{\capitalgrave}       {\tc at check@accent{\`}2\capitalgrave}
+  \DeclareTextCommandDefault{\capitalhungarumlaut}{\tc at check@accent{\H}2\capitalhungarumlaut}
+  \DeclareTextCommandDefault{\capitalmacron}      {\tc at check@accent{\=}2\capitalmacron}
+  \DeclareTextCommandDefault{\capitalogonek}      {\tc at check@accent{\k}2\capitalogonek}
+  \DeclareTextCommandDefault{\capitalring}        {\tc at check@accent{\r}2\capitalring}
+  \DeclareTextCommandDefault{\capitaltie}         {\tc at check@accent{\t}2\capitaltie}
+  \DeclareTextCommandDefault{\capitaltilde}       {\tc at check@accent{\~}2\capitaltilde}
+  \DeclareTextCommandDefault{\newtie}             {\tc at check@accent{\t}2\newtie}
+  \DeclareTextCommandDefault{\capitalnewtie}      {\tc at check@accent{\t}2\capitalnewtie}
+\else
+  \def\capitalacute{\'}
+  \def\capitalbreve{\u}
+  \def\capitalcaron{\v}
+  \def\capitalcedilla{\c}
+  \def\capitalcircumflex{\^}
+  \def\capitaldieresis{\"}
+  \def\capitaldotaccent{\.}
+  \def\capitalgrave{\`}
+  \def\capitalhungarumlaut{\H}
+  \def\capitalmacron{\=}
+  \def\capitalnewtie{\t}
+  \def\capitalogonek{\k}
+  \def\capitalring{\r}
+  \def\capitaltie{\t}
+  \def\capitaltilde{\~}
+  \def\newtie{\t}
+\fi
+\DeclareTextCommandDefault{\textlbrackdbl}      {\tc at check@symbol2\textlbrackdbl}
+\DeclareTextCommandDefault{\textrbrackdbl}      {\tc at check@symbol2\textrbrackdbl}
+\DeclareTextCommandDefault{\texteightoldstyle}  {\tc at check@symbol2\texteightoldstyle}
+\DeclareTextCommandDefault{\textfiveoldstyle}   {\tc at check@symbol2\textfiveoldstyle}
+\DeclareTextCommandDefault{\textfouroldstyle}   {\tc at check@symbol2\textfouroldstyle}
+\DeclareTextCommandDefault{\textnineoldstyle}   {\tc at check@symbol2\textnineoldstyle}
+\DeclareTextCommandDefault{\textoneoldstyle}    {\tc at check@symbol2\textoneoldstyle}
+\DeclareTextCommandDefault{\textsevenoldstyle}  {\tc at check@symbol2\textsevenoldstyle}
+\DeclareTextCommandDefault{\textsixoldstyle}    {\tc at check@symbol2\textsixoldstyle}
+\DeclareTextCommandDefault{\textthreeoldstyle}  {\tc at check@symbol2\textthreeoldstyle}
+\DeclareTextCommandDefault{\texttwooldstyle}    {\tc at check@symbol2\texttwooldstyle}
+\DeclareTextCommandDefault{\textzerooldstyle}   {\tc at check@symbol2\textzerooldstyle}
+\DeclareTextCommandDefault{\textacutedbl}       {\tc at check@symbol2\textacutedbl}
+\DeclareTextCommandDefault{\textasciiacute}     {\tc at check@symbol2\textasciiacute}
+\DeclareTextCommandDefault{\textasciibreve}     {\tc at check@symbol2\textasciibreve}
+\DeclareTextCommandDefault{\textasciicaron}     {\tc at check@symbol2\textasciicaron}
+\DeclareTextCommandDefault{\textasciidieresis}  {\tc at check@symbol2\textasciidieresis}
+\DeclareTextCommandDefault{\textasciigrave}     {\tc at check@symbol2\textasciigrave}
+\DeclareTextCommandDefault{\textasciimacron}    {\tc at check@symbol2\textasciimacron}
+\DeclareTextCommandDefault{\textgravedbl}       {\tc at check@symbol2\textgravedbl}
+\DeclareTextCommandDefault{\texttildelow}       {\tc at check@symbol2\texttildelow}
+\DeclareTextCommandDefault{\textbaht}           {\tc at check@symbol2\textbaht}
+\DeclareTextCommandDefault{\textbigcircle}      {\tc at check@symbol2\textbigcircle}
+\DeclareTextCommandDefault{\textborn}           {\tc at check@symbol2\textborn}
+\DeclareTextCommandDefault{\textcentoldstyle}   {\tc at check@symbol2\textcentoldstyle}
+\DeclareTextCommandDefault{\textcircledP}       {\tc at check@symbol2\textcircledP}
+\DeclareTextCommandDefault{\textcopyleft}       {\tc at check@symbol2\textcopyleft}
+\DeclareTextCommandDefault{\textdblhyphenchar}  {\tc at check@symbol2\textdblhyphenchar}
+\DeclareTextCommandDefault{\textdblhyphen}      {\tc at check@symbol2\textdblhyphen}
+\DeclareTextCommandDefault{\textdied}           {\tc at check@symbol2\textdied}
+\DeclareTextCommandDefault{\textdiscount}       {\tc at check@symbol2\textdiscount}
+\DeclareTextCommandDefault{\textdivorced}       {\tc at check@symbol2\textdivorced}
+\DeclareTextCommandDefault{\textdollaroldstyle} {\tc at check@symbol2\textdollaroldstyle}
+\DeclareTextCommandDefault{\textguarani}        {\tc at check@symbol2\textguarani}
+\DeclareTextCommandDefault{\textleaf}           {\tc at check@symbol2\textleaf}
+\DeclareTextCommandDefault{\textlquill}         {\tc at check@symbol2\textlquill}
+\DeclareTextCommandDefault{\textmarried}        {\tc at check@symbol2\textmarried}
+\DeclareTextCommandDefault{\textmho}            {\tc at check@symbol2\textmho}
+\DeclareTextCommandDefault{\textmusicalnote}    {\tc at check@symbol2\textmusicalnote}
+\DeclareTextCommandDefault{\textnaira}          {\tc at check@symbol2\textnaira}
+\DeclareTextCommandDefault{\textopenbullet}     {\tc at check@symbol2\textopenbullet}
+\DeclareTextCommandDefault{\textpeso}           {\tc at check@symbol2\textpeso}
+\DeclareTextCommandDefault{\textpilcrow}        {\tc at check@symbol2\textpilcrow}
+\DeclareTextCommandDefault{\textrecipe}         {\tc at check@symbol2\textrecipe}
+\DeclareTextCommandDefault{\textreferencemark}  {\tc at check@symbol2\textreferencemark}
+\DeclareTextCommandDefault{\textrquill}         {\tc at check@symbol2\textrquill}
+\DeclareTextCommandDefault{\textservicemark}    {\tc at check@symbol2\textservicemark}
+\DeclareTextCommandDefault{\textsurd}           {\tc at check@symbol2\textsurd}
+\DeclareTextCommandDefault{\textpertenthousand} {\tc at check@symbol2\textpertenthousand}
+\UndeclareTextCommand{\textpertenthousand}{T1}
+\DeclareTextCommandDefault{\textlangle}         {\tc at check@symbol3\textlangle}
+\DeclareTextCommandDefault{\textrangle}         {\tc at check@symbol3\textrangle}
+\DeclareTextCommandDefault{\textcolonmonetary}  {\tc at check@symbol4\textcolonmonetary}
+\DeclareTextCommandDefault{\textdong}           {\tc at check@symbol4\textdong}
+\DeclareTextCommandDefault{\textdownarrow}      {\tc at check@symbol4\textdownarrow}
+\DeclareTextCommandDefault{\textleftarrow}      {\tc at check@symbol4\textleftarrow}
+\DeclareTextCommandDefault{\textlira}           {\tc at check@symbol4\textlira}
+\DeclareTextCommandDefault{\textrightarrow}     {\tc at check@symbol4\textrightarrow}
+\DeclareTextCommandDefault{\textuparrow}        {\tc at check@symbol4\textuparrow}
+\DeclareTextCommandDefault{\textwon}            {\tc at check@symbol4\textwon}
+\DeclareTextCommandDefault{\textestimated}      {\tc at check@symbol5\textestimated}
+\DeclareTextCommandDefault{\textnumero}         {\tc at check@symbol5\textnumero}
+\DeclareTextCommandDefault{\textflorin}         {\tc at check@symbol6\textflorin}
+\DeclareTextCommandDefault{\textcurrency}       {\tc at check@symbol6\textcurrency}
+\DeclareTextCommandDefault{\textfractionsolidus}{\tc at check@symbol7\textfractionsolidus}
+\DeclareTextCommandDefault{\textohm}            {\tc at check@symbol7\textohm}
+\DeclareTextCommandDefault{\textmu}             {\tc at check@symbol7\textmu}
+\DeclareTextCommandDefault{\textminus}          {\tc at check@symbol7\textminus}
+\DeclareTextCommandDefault{\textblank}          {\tc at check@symbol{8}\textblank}
+\DeclareTextCommandDefault{\textinterrobangdown}{\tc at check@symbol{8}\textinterrobangdown}
+\DeclareTextCommandDefault{\textinterrobang}    {\tc at check@symbol{8}\textinterrobang}
+\DeclareTextCommandDefault{\texteuro}
+            {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro{8}\texteuro}
+\DeclareTextCommandDefault{\textcelsius}{\tc at check@symbol{9}\textcelsius}
+\DeclareTextCommandDefault{\textonesuperior}{\tc at check@symbol{9}\textonesuperior}
+\DeclareTextCommandDefault{\textthreequartersemdash}{\tc at check@symbol{9}\textthreequartersemdash}
+\DeclareTextCommandDefault{\textthreesuperior}{\tc at check@symbol{9}\textthreesuperior}
+\DeclareTextCommandDefault{\texttwelveudash}{\tc at check@symbol{9}\texttwelveudash}
+\DeclareTextCommandDefault{\texttwosuperior}{\tc at check@symbol{9}\texttwosuperior}
+\DeclareTextCommandDefault{\textbardbl}{\tc at check@symbol{9}\textbardbl}
+
+\ifx \Umathcode\@undefined  \else
+\DeclareTextCommand{\textzerooldstyle} \UnicodeEncodingName{\oldstylenums{0}}
+\DeclareTextCommand{\textoneoldstyle}  \UnicodeEncodingName{\oldstylenums{1}}
+\DeclareTextCommand{\texttwooldstyle}  \UnicodeEncodingName{\oldstylenums{2}}
+\DeclareTextCommand{\textthreeoldstyle}\UnicodeEncodingName{\oldstylenums{3}}
+\DeclareTextCommand{\textfouroldstyle} \UnicodeEncodingName{\oldstylenums{4}}
+\DeclareTextCommand{\textfiveoldstyle} \UnicodeEncodingName{\oldstylenums{5}}
+\DeclareTextCommand{\textsixoldstyle}  \UnicodeEncodingName{\oldstylenums{6}}
+\DeclareTextCommand{\textsevenoldstyle}\UnicodeEncodingName{\oldstylenums{7}}
+\DeclareTextCommand{\texteightoldstyle}\UnicodeEncodingName{\oldstylenums{8}}
+\DeclareTextCommand{\textnineoldstyle} \UnicodeEncodingName{\oldstylenums{9}}
+\DeclareTextSymbol{\textpilcrow}       \UnicodeEncodingName{"00B6}
+\DeclareTextSymbol{\textborn}          \UnicodeEncodingName{"002A}
+\DeclareTextSymbol{\textdied}          \UnicodeEncodingName{"2020}
+\DeclareTextSymbol{\textlbrackdbl}     \UnicodeEncodingName{"27E6}
+\DeclareTextSymbol{\textrbrackdbl}     \UnicodeEncodingName{"27E7}
+\DeclareTextSymbol{\textguarani}       \UnicodeEncodingName{"20B2}
+\DeclareTextSymbol{\textdollaroldstyle}{TS1}{138}
+\DeclareTextSymbol{\textcentoldstyle}  {TS1}{139}
+\fi               % --- END of Unicode engines specials
+\DeclareEncodingSubset{TS1}{?}{9}
+\DeclareEncodingSubset{TS1}{ccr}     {0}
+\DeclareEncodingSubset{TS1}{cmbr}    {0}
+\DeclareEncodingSubset{TS1}{cmr}     {0}
+\DeclareEncodingSubset{TS1}{cmss}    {0}
+\DeclareEncodingSubset{TS1}{cmtl}    {0}
+\DeclareEncodingSubset{TS1}{cmtt}    {0}
+\DeclareEncodingSubset{TS1}{cmvtt}   {0}
+\DeclareEncodingSubset{TS1}{pxr}     {0}
+\DeclareEncodingSubset{TS1}{pxss}    {0}
+\DeclareEncodingSubset{TS1}{pxtt}    {0}
+\DeclareEncodingSubset{TS1}{qag}     {0}
+\DeclareEncodingSubset{TS1}{qbk}     {0}
+\DeclareEncodingSubset{TS1}{qcr}     {0}
+\DeclareEncodingSubset{TS1}{qcs}     {0}
+\DeclareEncodingSubset{TS1}{qhvc}    {0}
+\DeclareEncodingSubset{TS1}{qhv}     {0}
+\DeclareEncodingSubset{TS1}{qpl}     {0}
+\DeclareEncodingSubset{TS1}{qtm}     {0}
+\DeclareEncodingSubset{TS1}{qzc}     {0}
+\DeclareEncodingSubset{TS1}{txr}     {0}
+\DeclareEncodingSubset{TS1}{txss}    {0}
+\DeclareEncodingSubset{TS1}{txtt}    {0}
+\DeclareEncodingSubset{TS1}{lmr}     {1}
+\DeclareEncodingSubset{TS1}{lmdh}    {1}
+\DeclareEncodingSubset{TS1}{lmss}    {1}
+\DeclareEncodingSubset{TS1}{lmssq}   {1}
+\DeclareEncodingSubset{TS1}{lmvtt}   {1}
+\DeclareEncodingSubset{TS1}{lmtt}    {1} % missing TM, SM, pertenthousand for some reason
+\DeclareEncodingSubset{TS1}{ptmx}    {2}
+\DeclareEncodingSubset{TS1}{ptmj}    {2}
+\DeclareEncodingSubset{TS1}{ul8}     {2}
+\DeclareEncodingSubset{TS1}{bch}     {5}  % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futj}    {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{futs}    {5}  % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futx}    {5}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{pag}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pbk}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pcr}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{phv}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pnc}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pplj}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{pplx}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{ppl}     {5}  % tofu for blank interrobang/down
+\DeclareEncodingSubset{TS1}{ptm}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pzc}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{ul9}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{dayroms} {6}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{dayrom}  {6}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{augie}   {8}  % really only missing euro
+\DeclareEncodingSubset{TS1}{put}     {8}
+\DeclareEncodingSubset{TS1}{uag}     {8}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{ugq}     {8}
+\DeclareEncodingSubset{TS1}{zi4}     {9}
+\DeclareEncodingSubset{TS1}{hls}     {5}
+\DeclareEncodingSubset{TS1}{hlst}    {5}
+\DeclareEncodingSubset{TS1}{hlct}    {5}
+\DeclareEncodingSubset{TS1}{hlh}     {5}
+\DeclareEncodingSubset{TS1}{hlx}     {8}
+\DeclareEncodingSubset{TS1}{hlce}    {8}
+\DeclareEncodingSubset{TS1}{hlcn}    {8}
+\DeclareEncodingSubset{TS1}{hlcw}    {8}
+\DeclareEncodingSubset{TS1}{hlcf}    {8}
+\DeclareEncodingSubset{TS1}{lato-*}                   {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{opensans-*}               {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{cantarell-*}              {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{fbb-*}                    {0}  % missing centoldstyle
+\DeclareEncodingSubset{TS1}{tli}                      {1}  % with lots of tofu inside
+\DeclareEncodingSubset{TS1}{Alegreya-*}               {2}
+\DeclareEncodingSubset{TS1}{AlegreyaSans-*}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSans-TLF}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansCondensed-TLF}  {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansMono-TLF}       {2}
+\DeclareEncodingSubset{TS1}{EBGaramond-*}             {2}
+\DeclareEncodingSubset{TS1}{Tempora-TLF}              {2}
+\DeclareEncodingSubset{TS1}{Tempora-TOsF}             {2}
+\DeclareEncodingSubset{TS1}{Arimo-TLF}                {3}
+\DeclareEncodingSubset{TS1}{Carlito-*}                {3}
+\DeclareEncodingSubset{TS1}{FiraSans-*}               {3}
+\DeclareEncodingSubset{TS1}{IBMPlexSans-TLF}          {3}
+\DeclareEncodingSubset{TS1}{Merriweather-OsF}         {3}
+\DeclareEncodingSubset{TS1}{Montserrat-*}             {3}
+\DeclareEncodingSubset{TS1}{MontserratAlternates-*}   {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TLF}        {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TOsF}       {3}
+\DeclareEncodingSubset{TS1}{SourceSansPro-*}          {3}
+\DeclareEncodingSubset{TS1}{SourceSerifPro-*}         {3}
+\DeclareEncodingSubset{TS1}{Tinos-TLF}                {3}
+\DeclareEncodingSubset{TS1}{AccanthisADFStdNoThree-LF}{4}
+\DeclareEncodingSubset{TS1}{Cabin-TLF}                {4}
+\DeclareEncodingSubset{TS1}{Caladea-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Chivo-*}                  {4}
+\DeclareEncodingSubset{TS1}{ClearSans-TLF}            {4}
+\DeclareEncodingSubset{TS1}{Coelacanth-LF}            {4}
+\DeclareEncodingSubset{TS1}{CrimsonPro-*}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TLF}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TOsF}            {4}
+\DeclareEncodingSubset{TS1}{Go-TLF}                   {4}
+\DeclareEncodingSubset{TS1}{GoMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{InriaSans-*}              {4}
+\DeclareEncodingSubset{TS1}{InriaSerif-*}             {4}
+\DeclareEncodingSubset{TS1}{LibertinusSans-*}         {4}
+\DeclareEncodingSubset{TS1}{LibertinusSerif-*}        {4}
+\DeclareEncodingSubset{TS1}{LibreBodoni-TLF}          {4}
+\DeclareEncodingSubset{TS1}{LibreFranklin-TLF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-LF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-OsF}       {4}
+\DeclareEncodingSubset{TS1}{LinuxBiolinumT-*}         {4}
+\DeclareEncodingSubset{TS1}{LinuxLibertineT-*}        {4}
+\DeclareEncodingSubset{TS1}{MerriweatherSans-OsF}     {4}
+\DeclareEncodingSubset{TS1}{MintSpirit-*}             {4}
+\DeclareEncodingSubset{TS1}{MintSpiritNoTwo-*}        {4}
+\DeclareEncodingSubset{TS1}{PTMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSans-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSansCaption-TLF}        {4}
+\DeclareEncodingSubset{TS1}{PTSansNarrow-TLF}         {4}
+\DeclareEncodingSubset{TS1}{PTSerif-TLF}              {4}
+\DeclareEncodingSubset{TS1}{PTSerifCaption-TLF}       {4}
+\DeclareEncodingSubset{TS1}{Raleway-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Raleway-TOsF}             {4}
+\DeclareEncodingSubset{TS1}{Roboto-*}                 {4}
+\DeclareEncodingSubset{TS1}{RobotoMono-TLF}           {4}
+\DeclareEncodingSubset{TS1}{RobotoSlab-TLF}           {4}
+\DeclareEncodingSubset{TS1}{Rosario-*}                {4}
+\DeclareEncodingSubset{TS1}{SticksTooText-*}          {4}
+\DeclareEncodingSubset{TS1}{UniversalisADFStd-LF}     {4}
+\DeclareEncodingSubset{TS1}{Almendra-OsF}             {5}
+\DeclareEncodingSubset{TS1}{Baskervaldx-*}            {5}
+\DeclareEncodingSubset{TS1}{BaskervilleF-*}           {5}
+\DeclareEncodingSubset{TS1}{Bitter-TLF}               {5}
+\DeclareEncodingSubset{TS1}{Cinzel-LF}                {5}
+\DeclareEncodingSubset{TS1}{CinzelDecorative-LF}      {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerif-TLF}          {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerifCondensed-TLF} {5}
+\DeclareEncodingSubset{TS1}{GilliusADF-LF}            {5}
+\DeclareEncodingSubset{TS1}{GilliusADFCond-LF}        {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwo-LF}       {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwoCond-LF}   {5}
+\DeclareEncodingSubset{TS1}{LobsterTwo-LF}            {5}
+\DeclareEncodingSubset{TS1}{OldStandard-TLF}          {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TLF}      {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TOsF}     {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TLF}          {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TOsF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TLF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TOsF}        {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TLF}       {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TOsF}      {5}
+\DeclareEncodingSubset{TS1}{Crimson-TLF}              {6}
+\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF}          {6}
+\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF}         {6}
+\DeclareEncodingSubset{TS1}{LibertinusMono-TLF}       {6}
+\DeclareEncodingSubset{TS1}{LibertinusSerifDisplay-LF}{6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineDisplayT-*} {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-LF}   {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-TLF}  {6}
+\DeclareEncodingSubset{TS1}{Overlock-LF}              {6}
+\DeclareEncodingSubset{TS1}{CormorantGaramond-*}      {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TLF}           {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TOsF}          {7}
+\DeclareEncodingSubset{TS1}{IMFELLEnglish-TLF}        {7}
+\DeclareEncodingSubset{TS1}{LibreBaskerville-TLF}     {7}
+\DeclareEncodingSubset{TS1}{LibreCaslon-*}            {7}
+\DeclareEncodingSubset{TS1}{Marcellus-LF}             {7}
+\DeclareEncodingSubset{TS1}{NotoSans-*}               {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TLF}         {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF}        {7}
+\DeclareEncodingSubset{TS1}{NotoSerif-*}              {7}
+\DeclareEncodingSubset{TS1}{Quattrocento-TLF}         {7}
+\DeclareEncodingSubset{TS1}{QuattrocentoSans-TLF}     {7}
+\DeclareEncodingSubset{TS1}{XCharter-TLF}             {7}
+\DeclareEncodingSubset{TS1}{XCharter-TOsF}            {7}
+\DeclareEncodingSubset{TS1}{erewhon-*}                {7}
+\DeclareEncodingSubset{TS1}{ComicNeue-TLF}            {7}
+\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF}     {7}
+\DeclareEncodingSubset{TS1}{Forum-LF}                 {7}  % the superiors are missing
+\DeclareEncodingSubset{TS1}{Cochineal-*}              {8}
+\DeclareEncodingSubset{TS1}{AlgolRevived-TLF}         {9}
+\def\UseLegacyTextSymbols{%
+  \DeclareTextSymbolDefault{\textasteriskcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textbardbl}{OMS}%
+  \DeclareTextSymbolDefault{\textbullet}{OMS}%
+  \DeclareTextSymbolDefault{\textdaggerdbl}{OMS}%
+  \DeclareTextSymbolDefault{\textdagger}{OMS}%
+  \DeclareTextSymbolDefault{\textparagraph}{OMS}%
+  \DeclareTextSymbolDefault{\textperiodcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textsection}{OMS}%
+  \UndeclareTextCommand{\textsection}{T1}%
+  \expandafter\let\csname oldstylenums \expandafter\endcsname
+                  \csname legacyoldstylenums \endcsname
+}
+
+\DeclareTextSymbol{\textlegacyasteriskcentered}{OMS}{3}   % "03
+\DeclareTextSymbol{\textlegacybardbl}{OMS}{107}           % "6B
+\DeclareTextSymbol{\textlegacybullet}{OMS}{15}            % "0F
+\DeclareTextSymbol{\textlegacydaggerdbl}{OMS}{122}        % "7A
+\DeclareTextSymbol{\textlegacydagger}{OMS}{121}           % "79
+\DeclareTextSymbol{\textlegacyparagraph}{OMS}{123}        % "7B
+\DeclareTextSymbol{\textlegacyperiodcentered}{OMS}{1}     % "01
+\DeclareTextSymbol{\textlegacysection}{OMS}{120}          % "78
+\DeclareTextSymbolDefault{\textlegacyasteriskcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacybardbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacybullet}{OMS}
+\DeclareTextSymbolDefault{\textlegacydaggerdbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacydagger}{OMS}
+\DeclareTextSymbolDefault{\textlegacyparagraph}{OMS}
+\DeclareTextSymbolDefault{\textlegacyperiodcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacysection}{OMS}
+
+
+
 %%% From File: ltpageno.dtx
 \message{page nos.,}
 \countdef\c at page=0 \c at page=1
@@ -4403,7 +5649,7 @@
       \reserved at a\@currenvir \else\@badend{#1}\fi}
 \let\@currenvline\@empty
 \message{center,}
-\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
+\protected\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
        \par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
 \def\@xcentercr{\addvspace{-\parskip}\@ifnextchar
     [\@icentercr\ignorespaces}
@@ -7887,12 +9133,16 @@
   \@ifnextchar[\@pr at videpackage{\@pr at videpackage[]}}%]
 \@onlypreamble\ProvidesPackage
 \def\@pr at videpackage[#1]{%
-  \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}%
+  \expandafter\protected at xdef                %     <-- protected...
+     \csname ver@\@currname.\@currext\endcsname{#1}%
   \ifx\@currext\@clsextension
     \typeout{Document Class: \@gtempa\space#1}%
   \else
-    \wlog{Package: \@gtempa\space#1}%
+    \protected at wlog{Package: \@gtempa\space#1}%   <--- protected
   \fi}
+\long\def\protected at wlog#1{\begingroup
+  \set at display@protect
+  \immediate \write \m at ne {#1}\endgroup }
 \@onlypreamble\@pr at videpackage
 \let\ProvidesClass\ProvidesPackage
 \@onlypreamble\ProvidesClass
@@ -8103,7 +9353,6 @@
   \@pushfilename
   \xdef\@currname{#1}%
   \global\let\@currext#4%
-  \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
   \let\CurrentOption\@empty
   \@reset at ptions
   \makeatletter
@@ -8127,6 +9376,7 @@
       {\@pass at ptions\@currext{#2}{#1}%
        \global\expandafter
        \let\csname ver@\@currname.\@currext\endcsname\@empty
+       \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
        \InputIfFileExists
          {\@currname.\@currext}%
          {}%
@@ -8220,7 +9470,6 @@
     {The document may only declare one class.}\@gobble}
 \@onlypreamble\@twoclasseserror
 \def\two at digits#1{\ifnum#1<10 0\fi\number#1}
-
 \def\filecontents{\@tempswatrue\@fileswtrue
   \@ifnextchar[\filec at ntents@opt\filec at ntents
 }
@@ -8228,11 +9477,12 @@
   \@ifnextchar[\filec at ntents@opt\filec at ntents
 }
 \def\filec at ntents@opt[#1]{%
-  \@for\@tempa:=#1\do{%
-    \ifcsname filec at ntents@\@tempa\endcsname
-      \csname filec at ntents@\@tempa\endcsname
+  \edef\@fortmp{\zap at space#1 \@empty}%
+  \@for\@reserveda:=\@fortmp\do{%
+    \ifcsname filec at ntents@\@reserveda\endcsname
+      \csname filec at ntents@\@reserveda\endcsname
     \else
-    \@latex at error{Unknown filecontents option #1}%
+    \@latex at error{Unknown filecontents option \@reserveda}%
        {Valid options are force (or overwrite), nosearch, noheader}%
     \fi}%
   \filec at ntents
@@ -8259,12 +9509,12 @@
 \gdef\filec at ntents#1{%
   \set at curr@file{\filec at ntents@checkdir#1}%
   \edef\q at curr@file{\expandafter\quote at name\expandafter{\@curr at file}}%
+  \chardef\reserved at c\ifx\directlua\@undefined 15 \else 127 \fi%
   \openin\@inputcheck\q at curr@file \space %
   \ifeof\@inputcheck%
     \@latex at warning@no at line%
         {Writing file `\@currdir\@curr at file'}%
-    \chardef\reserved at c15 %
-    \ch at ck7\reserved at c\write%
+    \ch at ck7\reserved at c\write\relax%
     \immediate\openout\reserved at c\q at curr@file\relax%
   \else%
     \if at filesw%
@@ -8285,11 +9535,10 @@
           \@fileswtrue%
         \fi%
       \fi%
-      \chardef\reserved at c15 %
-      \ch at ck7\reserved at c\write%
+      \ch at ck7\reserved at c\write\relax%
       \if at filesw%  % Foul ... trying to overwrite \jobname!
       \@latex at error{Trying to overwrite `\jobname.tex'}{You can't %
-        write to the file you a reading from!\MessageBreak%
+        write to the file you are reading from!\MessageBreak%
         Data is written to screen instead.}%
       \else%
         \@latex at warning@no at line%
@@ -8371,7 +9620,6 @@
 \fi
 \let\pkgcls at targetlabel\@empty
 \def\pkgcls at innerdate{\maxdimen}
-
 \let\pkgcls at candidate\@empty
 \let\pkgcls at releasedate\@empty
 \ifx\load at onefilewithoptions\@undefined
@@ -8434,7 +9682,6 @@
 }
 \def\pkgcls at parse@date at arg@version#1={%
   \def\pkgcls at targetlabel{#1}}
-
 \def\DeclareRelease#1#2#3{%
   \ifnum\pkgcls at targetdate>\z@  % some sort of rollback request
     \pkgcls at debug{---\string\DeclareRelease:}%
@@ -8479,7 +9726,6 @@
     \fi
   \fi
 }
-
 \def\pkgcls at use@this at release#1#2{%
    \pkgcls at show@selection{#1}{#2}%
    \pkgcls at targetdate\z@
@@ -8486,7 +9732,6 @@
    \@@input #1\relax
    \endinput
 }
-
 \def\pkgcls at show@selection#1#2{%
   \pkgcls at debug{Result: use  #1}%
   \GenericInfo
@@ -8511,7 +9756,6 @@
     \fi
     \@gobble}%
 }
-
 \def\pkgcls at rollbackdate@error#1{%
   \@latex at error{Suspicious rollback date given}%
      {The \@cls at pkg\space'\@currname'  claims that it
@@ -8527,7 +9771,6 @@
     \ifnum\pkgcls at targetdate>\@ne  % a date request
       \ifnum\@parse at version#2//00\@nil
            >\pkgcls at targetdate
-
         \ifx\pkgcls at candidate\@empty
           \pkgcls at rollbackdate@error{#2}%
         \else
@@ -8548,7 +9791,6 @@
     \fi
   \fi
 }
-
 \DeclareRobustCommand\IfTargetDateBefore[1]{%
   \ifnum\pkgcls at innerdate <%
         \expandafter\@parse at version\expandafter0#1//00\@nil
@@ -9029,6 +10271,7 @@
       \dh\DH\dj\DJ\l\L\ng\NG\ss\SS\th\TH}
 \protected at edef\MakeUppercase#1{\MakeUppercase{#1}}
 \protected at edef\MakeLowercase#1{\MakeLowercase{#1}}
+\input{ltexpl.ltx}
 \let\reserved at a\@filelist
 \let\reserved at b=\@undefined
 \let\reserved at c=\@undefined
@@ -9047,6 +10290,7 @@
   \endgroup}
 \let\@filelist\@gobble
 \def\@addtofilelist#1{\xdef\@filelist{\@filelist,#1}}%
+\AtBeginDocument{\reinstall at nfss@defs\init at series@setup}
 \makeatother
 \errorstopmode
 \dump

Modified: trunk/Master/texmf-dist/tex/latex/base/latex209.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latex209.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/latex209.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -15,7 +15,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/latexrelease.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -37,7 +37,9 @@
 %% ltfssini.dtx  (with options: `latexrelease')
 %% fontdef.dtx  (with options: `latexrelease')
 %% ltfntcmd.dtx  (with options: `latexrelease')
+%% lttextcomp.dtx  (with options: `latexrelease')
 %% ltfssbas.dtx  (with options: `latexrelease')
+%% ltfssaxes.dtx  (with options: `latexrelease')
 %% ltfsstrc.dtx  (with options: `latexrelease')
 %% ltfsscmp.dtx  (with options: `latexrelease')
 %% ltpageno.dtx  (with options: `latexrelease')
@@ -44,6 +46,7 @@
 %% ltxref.dtx  (with options: `latexrelease')
 %% ltmiscen.dtx  (with options: `latexrelease')
 %% ltluatex.dtx  (with options: `latexrelease')
+%% ltexpl.dtx  (with options: `latexrelease')
 %% ltfinal.dtx  (with options: `latexrelease')
 %% 
 %% This is a generated file.
@@ -53,7 +56,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 
@@ -94,7 +97,6 @@
 \fi
 \let\pkgcls at targetlabel\@empty
 \def\pkgcls at innerdate{\maxdimen}
-
 \let\pkgcls at candidate\@empty
 \let\pkgcls at releasedate\@empty
 \ifx\load at onefilewithoptions\@undefined
@@ -157,7 +159,6 @@
 }
 \def\pkgcls at parse@date at arg@version#1={%
   \def\pkgcls at targetlabel{#1}}
-
 \def\DeclareRelease#1#2#3{%
   \ifnum\pkgcls at targetdate>\z@  % some sort of rollback request
     \pkgcls at debug{---\string\DeclareRelease:}%
@@ -202,7 +203,6 @@
     \fi
   \fi
 }
-
 \def\pkgcls at use@this at release#1#2{%
    \pkgcls at show@selection{#1}{#2}%
    \pkgcls at targetdate\z@
@@ -209,7 +209,6 @@
    \@@input #1\relax
    \endinput
 }
-
 \def\pkgcls at show@selection#1#2{%
   \pkgcls at debug{Result: use  #1}%
   \GenericInfo
@@ -234,7 +233,6 @@
     \fi
     \@gobble}%
 }
-
 \def\pkgcls at rollbackdate@error#1{%
   \@latex at error{Suspicious rollback date given}%
      {The \@cls at pkg\space'\@currname'  claims that it
@@ -250,7 +248,6 @@
     \ifnum\pkgcls at targetdate>\@ne  % a date request
       \ifnum\@parse at version#2//00\@nil
            >\pkgcls at targetdate
-
         \ifx\pkgcls at candidate\@empty
           \pkgcls at rollbackdate@error{#2}%
         \else
@@ -271,7 +268,6 @@
     \fi
   \fi
 }
-
 \DeclareRobustCommand\IfTargetDateBefore[1]{%
   \ifnum\pkgcls at innerdate <%
         \expandafter\@parse at version\expandafter0#1//00\@nil
@@ -284,7 +280,7 @@
 }
 %%% From File: ltvers.dtx
 \edef\latexreleaseversion
-   {2019-10-01}
+   {2020-02-02}
 \newif\if at includeinrelease
 \@includeinreleasefalse
 \def\IncludeInRelease#1{%
@@ -1255,6 +1251,18 @@
     \def\reserved at a{#2}%
   \fi
   \reserved at a}
+\long\def\@iffileonpath#1{%
+  \let\reserved at a\@secondoftwo
+  \expandafter\@tfor\expandafter\reserved at b\expandafter
+             :\expandafter=\input at path\do{%
+    \openin\@inputcheck\expandafter\quote at name\expandafter{\reserved at b#1} %
+    \ifeof\@inputcheck\else
+      \edef\@filef at und{\expandafter\quote at name\expandafter{\reserved at b#1} }%
+      \let\reserved at a\@firstoftwo%
+      \closein\@inputcheck
+      \@break at tfor
+    \fi}%
+  \reserved at a}
 \EndIncludeInRelease
 \IncludeInRelease{0000/00/00}%
                  {\set at curr@file}{Quote file names}%
@@ -1281,6 +1289,19 @@
   \fi
   \reserved at a}
 
+\long\def\@iffileonpath#1{%
+  \let\reserved at a\@secondoftwo
+  \expandafter\@tfor\expandafter\reserved at b\expandafter
+             :\expandafter=\input at path\do{%
+    \openin\@inputcheck\reserved at b#1 %
+    \ifeof\@inputcheck\else
+      \edef\@filef at und{\reserved at b#1 }%
+      \let\reserved at a\@firstoftwo%
+      \closein\@inputcheck
+      \@break at tfor
+    \fi}%
+  \reserved at a}
+
 \EndIncludeInRelease
 \IncludeInRelease{2019/10/01}%
   {\InputIfFileExists}{Don't lose the file name}%
@@ -2644,6 +2665,33 @@
  }%
  \reserved at a}
 \EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\@pr at videpackage}{Protection for package info}%
+\def\@pr at videpackage[#1]{%
+  \expandafter\protected at xdef                %     <-- protected...
+     \csname ver@\@currname.\@currext\endcsname{#1}%
+  \ifx\@currext\@clsextension
+    \typeout{Document Class: \@gtempa\space#1}%
+  \else
+    \protected at wlog{Package: \@gtempa\space#1}%   <--- protected
+  \fi}
+\long\def\protected at wlog#1{\begingroup
+  \set at display@protect
+  \immediate \write \m at ne {#1}\endgroup }
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\@pr at videpackage}{Protection for package info}%
+
+\def\@pr at videpackage[#1]{%
+  \expandafter\xdef\csname ver@\@currname.\@currext\endcsname{#1}%
+  \ifx\@currext\@clsextension
+    \typeout{Document Class: \@gtempa\space#1}%
+  \else
+    \wlog{Package: \@gtempa\space#1}%
+  \fi}
+\let\protected at wlog\@undefined
+
+\EndIncludeInRelease
 \IncludeInRelease{2017/01/01}%
                  {\ExecuteOptions}{Spaces in \ExecuteOptions}%
 \def\ExecuteOptions#1{%
@@ -2720,7 +2768,6 @@
 \EndIncludeInRelease
 \IncludeInRelease{2019/10/01}%
                  {\filec at ntents}{Spaces in file names + optional arg}%
-
 \def\filecontents{\@tempswatrue\@fileswtrue
   \@ifnextchar[\filec at ntents@opt\filec at ntents
 }
@@ -2728,11 +2775,12 @@
   \@ifnextchar[\filec at ntents@opt\filec at ntents
 }
 \def\filec at ntents@opt[#1]{%
-  \@for\@tempa:=#1\do{%
-    \ifcsname filec at ntents@\@tempa\endcsname
-      \csname filec at ntents@\@tempa\endcsname
+  \edef\@fortmp{\zap at space#1 \@empty}%
+  \@for\@reserveda:=\@fortmp\do{%
+    \ifcsname filec at ntents@\@reserveda\endcsname
+      \csname filec at ntents@\@reserveda\endcsname
     \else
-    \@latex at error{Unknown filecontents option #1}%
+    \@latex at error{Unknown filecontents option \@reserveda}%
        {Valid options are force (or overwrite), nosearch, noheader}%
     \fi}%
   \filec at ntents
@@ -2759,12 +2807,12 @@
 \gdef\filec at ntents#1{%
   \set at curr@file{\filec at ntents@checkdir#1}%
   \edef\q at curr@file{\expandafter\quote at name\expandafter{\@curr at file}}%
+  \chardef\reserved at c\ifx\directlua\@undefined 15 \else 127 \fi%
   \openin\@inputcheck\q at curr@file \space %
   \ifeof\@inputcheck%
     \@latex at warning@no at line%
         {Writing file `\@currdir\@curr at file'}%
-    \chardef\reserved at c15 %
-    \ch at ck7\reserved at c\write%
+    \ch at ck7\reserved at c\write\relax%
     \immediate\openout\reserved at c\q at curr@file\relax%
   \else%
     \if at filesw%
@@ -2785,11 +2833,10 @@
           \@fileswtrue%
         \fi%
       \fi%
-      \chardef\reserved at c15 %
-      \ch at ck7\reserved at c\write%
+      \ch at ck7\reserved at c\write\relax%
       \if at filesw%  % Foul ... trying to overwrite \jobname!
       \@latex at error{Trying to overwrite `\jobname.tex'}{You can't %
-        write to the file you a reading from!\MessageBreak%
+        write to the file you are reading from!\MessageBreak%
         Data is written to screen instead.}%
       \else%
         \@latex at warning@no at line%
@@ -2965,6 +3012,29 @@
 \kernel at make@fragile\samepage
 
 \EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\@normalcr}{Make robust}%
+\protected\def\@normalcr{%
+  \let \reserved at e \relax
+  \let \reserved at f \relax
+  \@ifstar{\let \reserved at e \vadjust \let \reserved at f \nobreak
+             \@xnewline}%
+  \@xnewline}
+\let\\\@normalcr
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\@normalcr}{Make robust}%
+
+\DeclareRobustCommand\\{%
+   \let \reserved at e \relax
+   \let \reserved at f \relax
+   \@ifstar{\let \reserved at e \vadjust \let \reserved at f \nobreak
+             \@xnewline}%
+  \@xnewline}
+\expandafter\let\expandafter\@normalcr
+     \csname\expandafter\@gobble\string\\ \endcsname
+
+\EndIncludeInRelease
 \IncludeInRelease{2018/10/10}%
                  {\@esphack}{hyphenation and nobreak after space hack}%
 \def\@esphack{%
@@ -3658,125 +3728,11 @@
 
 \EndIncludeInRelease
 \IncludeInRelease{2019/10/01}%
-                 {\@DeclareMathDelimiter}{Make math delimiters robust}%
-\def\@DeclareMathDelimiter#1#2#3#4#5#6{%
-  \expandafter\in@\csname sym#3\expandafter\endcsname
-     \expandafter{\group at list}%
-  \ifin@
-    \expandafter\in@\csname sym#5\expandafter\endcsname
-       \expandafter{\group at list}%
-    \ifin@
-      \begingroup
-        \count\z@=#4\relax
-        \count\tw@\count\z@
-        \divide\count\z@\sixt@@n
-        \count@\count\z@
-        \multiply\count@\sixt@@n
-        \advance\count\tw at -\count@
-        \edef\reserved at c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
-      %
-        \count\z@=#6\relax
-        \count\tw@\count\z@
-        \divide\count\z@\sixt@@n
-        \count@\count\z@
-        \multiply\count@\sixt@@n
-        \advance\count\tw at -\count@
-        \edef\reserved at d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
-      %
-        \edef\reserved at a{\noexpand\in@
-          {\expandafter\@gobble\string\delimiter}%
-          {\expandafter\meaning\csname\expandafter\@gobble\string#1\space\endcsname}}%
-        \reserved at a
-        \ifin@
-          \expandafter\let\csname\expandafter\@gobble\string#1\space\endcsname\@undefined
-          \expandafter\set at mathdelimiter
-             \csname sym#3\expandafter\endcsname
-             \csname sym#5\endcsname#1#2%
-             \reserved at c\reserved at d
-          \@font at info{Redeclaring math delimiter \string#1}%
-        \else
-            \expandafter\ifx
-            \csname\expandafter\@gobble\string#1\endcsname
-            \relax
-            \expandafter\set at mathdelimiter
-              \csname sym#3\expandafter\endcsname
-              \csname sym#5\endcsname#1#2%
-              \reserved at c\reserved at d
-          \else
-            \@latex at error{Command `\string#1' already defined}\@eha
-          \fi
-        \fi
-      \endgroup
-    \else
-      \@latex at error{Symbol font `#5' is not defined}\@eha
-    \fi
-  \else
-    \@latex at error{Symbol font `#3' is not defined}\@eha
-  \fi
-}
-\EndIncludeInRelease
-\IncludeInRelease{0000/00/00}%
-                 {\@DeclareMathDelimiter}{Make math delimiters robust}%
-\def\@DeclareMathDelimiter#1#2#3#4#5#6{%
-  \expandafter\in@\csname sym#3\expandafter\endcsname
-     \expandafter{\group at list}%
-  \ifin@
-    \expandafter\in@\csname sym#5\expandafter\endcsname
-       \expandafter{\group at list}%
-    \ifin@
-      \begingroup
-        \count\z@=#4\relax
-        \count\tw@\count\z@
-        \divide\count\z@\sixt@@n
-        \count@\count\z@
-        \multiply\count@\sixt@@n
-        \advance\count\tw at -\count@
-        \edef\reserved at c{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
-      %
-        \count\z@=#6\relax
-        \count\tw@\count\z@
-        \divide\count\z@\sixt@@n
-        \count@\count\z@
-        \multiply\count@\sixt@@n
-        \advance\count\tw at -\count@
-        \edef\reserved at d{\hexnumber@{\count\z@}\hexnumber@{\count\tw@}}%
-      %
-        \edef\reserved at a{\noexpand\in@
-            {\expandafter\@gobble\string\delimiter}{\meaning#1}}%
-        \reserved at a
-        \ifin@
-          \expandafter\set at mathdelimiter
-             \csname sym#3\expandafter\endcsname
-             \csname sym#5\endcsname#1#2%
-             \reserved at c\reserved at d
-          \@font at info{Redeclaring math delimiter \string#1}%
-        \else
-            \expandafter\ifx
-            \csname\expandafter\@gobble\string#1\endcsname
-            \relax
-            \expandafter\set at mathdelimiter
-              \csname sym#3\expandafter\endcsname
-              \csname sym#5\endcsname#1#2%
-              \reserved at c\reserved at d
-          \else
-            \@latex at error{Command `\string#1' already defined}\@eha
-          \fi
-        \fi
-      \endgroup
-    \else
-      \@latex at error{Symbol font `#5' is not defined}\@eha
-    \fi
-  \else
-    \@latex at error{Symbol font `#3' is not defined}\@eha
-  \fi
-}
-\EndIncludeInRelease
-\IncludeInRelease{2019/10/01}%
                  {\set at mathdelimiter}{make delimiters robust}%
 \def\set at mathdelimiter#1#2#3#4#5#6{%
+  \protected
   \xdef#3{\delimiter"\mathchar at type#4\hexnumber@#1#5%
     \hexnumber@#2#6 }%
-  \MakeRobust#3%
 }
 \@onlypreamble\set at mathdelimiter
 \EndIncludeInRelease
@@ -3791,13 +3747,244 @@
 %%% From File: ltfssini.dtx
 %% Copyright (C) 1989-2001 Frank Mittelbach and Rainer Sch\"opf,
 %% all rights reserved.
-\IncludeInRelease{2015/01/01}{\eminnershape}{\eminnershape}%
+\IncludeInRelease{2020/02/02}%
+                 {\DeclareFontSeriesDefault}{Custom series}%
+\newcommand\DeclareFontSeriesDefault[3][]{%
+  \def\@reserveda{#1}%
+  \ifx\@resereda\@empty
+    \ifcsname #2series\endcsname           % supported are
+                                           % \[md/bf]default
+      \expandafter\def
+         \csname #2default\endcsname{#3}%
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Mandatory first argument must be 'md'  or 'bf'.}
+    \fi
+  \else
+    \ifcsname #2series@#1\endcsname          % supported are
+                                             % \[md/bf]series@[rm/sf/tt]
+      \expandafter\edef
+         \csname #2series@#1\endcsname{#3}%
+      \expandafter\let
+         \csname #2series@#1 at kernel\endcsname\@undefined
+    \else
+       \@latex at error{Wrong syntax for \string\DeclareFontSeriesDefault}%
+          {Optional first argument must be 'rm', 'sf', or 'tt'. \MessageBreak
+           Second argument must be 'md'  or 'bf'.}
+    \fi
+  \fi
+}
+
+\def\bfseries at rm{bx}
+\def\bfseries at sf{bx}
+\def\bfseries at tt{bx}
+\let\bfseries at rm@kernel\bfseries at rm
+\let\bfseries at sf@kernel\bfseries at sf
+\let\bfseries at tt@kernel\bfseries at tt
+\def\mdseries at rm{m}
+\def\mdseries at sf{m}
+\def\mdseries at tt{m}
+
+\def\expand at font@defaults{%
+  \edef\rmdef at ult{\rmdefault}%
+  \edef\sfdef at ult{\sfdefault}%
+  \edef\ttdef at ult{\ttdefault}%
+  \edef\bfdef at ult{\bfdefault}%
+  \edef\mddef at ult{\mddefault}%
+  \edef\famdef at ult{\familydefault}%
+}
+
+\DeclareRobustCommand\bfseries{%
+  \not at math@alphabet\bfseries\mathbf
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \bfseries at rm
+    \else\ifx\f at family\sfdef at ult \bfseries at sf
+    \else\ifx\f at family\ttdef at ult \bfseries at tt
+    \else                        \bfdefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+
+\DeclareRobustCommand\mdseries{%
+  \not at math@alphabet\mdseries\relax
+  \expand at font@defaults
+  \fontseries{%
+    \ifx\f at family\rmdef at ult      \mdseries at rm
+    \else\ifx\f at family\sfdef at ult \mdseries at sf
+    \else\ifx\f at family\ttdef at ult \mdseries at tt
+    \else                        \mddefault
+    \fi\fi\fi
+  }%
+  \selectfont
+}
+
+\DeclareRobustCommand\rmfamily{%
+   \not at math@alphabet\rmfamily\mathrm
+   \prepare at family@series at update{rm}\rmdefault
+   \@rmfamilyhook
+   \selectfont}
+\DeclareRobustCommand\sffamily{%
+   \not at math@alphabet\sffamily\mathsf
+   \prepare at family@series at update{sf}\sfdefault
+   \@sffamilyhook
+   \selectfont}
+\DeclareRobustCommand\ttfamily{%
+   \not at math@alphabet\ttfamily\mathtt
+   \prepare at family@series at update{tt}\ttdefault
+   \@ttfamilyhook
+   \selectfont}
+\let\@rmfamilyhook\@empty
+\let\@sffamilyhook\@empty
+\let\@ttfamilyhook\@empty
+
+\def\@meta at family@list{\@elt{rm}\@elt{sf}\@elt{tt}}
+\def\prepare at family@series at update#1#2{%
+   \expand at font@defaults
+   \let\target at series@value\@empty
+   \def\target at meta@family at value{#1}%
+   \let\@elt\update at series@target at value
+      \@meta at family@list
+   \let\@elt\relax
+   \fontfamily#2%
+   \ifx\target at series@value\@empty
+   \else
+     \maybe at load@fontshape
+     \let\f at series\target at series@value
+   \fi
+}
+\def\update at series@target at value#1{%
+  \def\@reserveda{#1}%
+  \ifx\target at meta@family at value\@reserveda   % rm -> rm do nothing
+  \else
+    \expandafter\ifx\csname#1def at ult\endcsname\f at family
+      \let\@elt\@gobble
+      \expandafter\let\expandafter\@reservedb
+                      \csname mdseries@\target at meta@family at value\endcsname
+      \expandafter\let\expandafter\@reservedc
+                      \csname bfseries@\target at meta@family at value\endcsname
+      \expandafter\ifx\csname mdseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedb
+      \else\expandafter\ifx\csname bfseries@#1\endcsname\f at series
+                                      \let\target at series@value\@reservedc
+      \else\ifx\f at series\mddef at ult    \let\target at series@value\@reservedb
+      \else\ifx\f at series\bfdef at ult    \let\target at series@value\@reservedc
+      \fi\fi\fi\fi
+    \fi
+  \fi
+}
+\def\init at series@setup{%
+  \ifx\bfseries at rm@kernel\bfseries at rm
+    \expandafter\in@\expandafter{\rmdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at rm{b}\fi\fi
+  \ifx\bfseries at sf@kernel\bfseries at sf
+    \expandafter\in@\expandafter{\sfdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at sf{b}\fi\fi
+  \ifx\bfseries at tt@kernel\bfseries at tt
+    \expandafter\in@\expandafter{\ttdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+    \ifin@ \else \def\bfseries at tt{b}\fi\fi
+
+  \expand at font@defaults
+  \ifx\famdef at ult\rmdef at ult      \rmfamily
+  \else\ifx\famdef at ult\sfdef at ult \sffamily
+  \else\ifx\famdef at ult\ttdef at ult \ttfamily
+  \fi\fi\fi
+}%
+\expandafter\let\csname ver at mweights.sty\endcsname\fmtversion
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\DeclareFontSeriesDefault}{Custom series}%
+
+\let\DeclareFontSeriesDefault\@undefined
+\let\bfseries at rm\@undefined
+\let\bfseries at sf\@undefined
+\let\bfseries at tt\@undefined
+\let\bfseries at rm@kernel\@undefined
+\let\bfseries at sf@kernel\@undefined
+\let\bfseries at tt@kernel\@undefined
+\let\mdseries at rm\@undefined
+\let\mdseries at sf\@undefined
+\let\mdseries at tt\@undefined
+\let\expand at font@defaults\@undefined
+\expandafter\let\csname ver at mweights.sty\endcsname\@undefined
+
+\DeclareRobustCommand\bfseries
+        {\not at math@alphabet\bfseries\mathbf
+         \fontseries\bfdefault\selectfont}
+\DeclareRobustCommand\mdseries
+        {\not at math@alphabet\mdseries\relax
+         \fontseries\mddefault\selectfont}
+\DeclareRobustCommand\rmfamily
+        {\not at math@alphabet\rmfamily\mathrm
+         \fontfamily\rmdefault\selectfont}
+\DeclareRobustCommand\sffamily
+        {\not at math@alphabet\sffamily\mathsf
+         \fontfamily\sfdefault\selectfont}
+\DeclareRobustCommand\ttfamily
+        {\not at math@alphabet\ttfamily\mathtt
+         \fontfamily\ttdefault\selectfont}
+
+\let\@rmfamilyhook\@undefined
+\let\@sffamilyhook\@undefined
+\let\@ttfamilyhook\@undefined
+\let\@meta at family@list\@undefined
+\let\prepare at family@series at update\@undefined
+\let\update at series@target at value\@undefined
+
+\let\init at series@setup\relax
+
+\EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\DeclareEmphSequence}{Nested emph}%
+\def\DeclareEmphSequence#1{%
+  \protected at edef\emfontdeclare at clist{\zap at space#1, \@empty\emforce\emreset}%
+}
+\let\emfontdeclare at clist\@empty
+
+\DeclareRobustCommand\emreset{\upshape\ulcshape}
+
+\DeclareRobustCommand\em{%
+  \@nomath\em
+  \ifx\emfontdeclare at clist\@empty
+    \ifdim \fontdimen\@ne\font >\z@
+      \eminnershape \else \itshape \fi
+  \else
+  \edef\em at currfont{\csname\curr at fontshape/\f at size\endcsname}%
+    \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+  \fi
+}
+\def\eminnershape{\upshape}
+\def\do at emfont@update#1,#2\do at emfont@update{%
+  \def\emfontdeclare at clist{#2,#1}%
+  #1\selectfont
+  \expandafter\ifx\csname \curr at fontshape/\f at size\em at force
+                          \expandafter\endcsname
+                  \em at currfont
+  \expandafter\do at emfont@update\emfontdeclare at clist\do at emfont@update
+  \else
+    \let\em at force\@empty
+  \fi
+}
+
+\protected\def\emforce{\def\em at force{/}}
+\let\em at force\@empty
+\EndIncludeInRelease
+
+\IncludeInRelease{2015/01/01}{\DeclareEmphSequence}{Nested emph}%
+\let\DeclareEmphSequence\@undefined
+\let\emfontdeclare at clist\@undefined
+\let\emreset\@undefined
+\let\do at emfont@update\@undefined
+\let\emforce\@undefined
+\let\em at force\@undefined
+
 \DeclareRobustCommand\em
         {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
                        \eminnershape \else \itshape \fi}%
-\def\eminnershape{\upshape}%
 \EndIncludeInRelease
-\IncludeInRelease{0000/00/00}{\eminnershape}{\eminnershape}%
+
+\IncludeInRelease{0000/00/00}{\DeclareEmphSequence}{Nested emph}%
 \DeclareRobustCommand\em
         {\@nomath\em \ifdim \fontdimen\@ne\font >\z@
                        \upshape \else \itshape \fi}%
@@ -3832,6 +4019,17 @@
 \renewcommand\sfdefault{cmss}
 \renewcommand\ttdefault{cmtt}
 \EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\updefault}{font defaults change}%
+\renewcommand\updefault{up}
+\renewcommand\bfdefault{b}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\updefault}{font defaults change}%
+
+\renewcommand\updefault{n}
+\renewcommand\bfdefault{bx}
+\EndIncludeInRelease
 \IncludeInRelease{2018/12/01}%
                  {\Big}{Start LR-mode}%
 \DeclareRobustCommand\big[1]{\leavevmode at ifvmode
@@ -3852,6 +4050,734 @@
 \EndIncludeInRelease
 %%% From File: ltfntcmd.dtx
 %%
+\IncludeInRelease{2020/02/02}%
+                 {\textulc}{Additional text commands}%
+\DeclareTextFontCommand{\textulc}{\ulcshape}
+\DeclareTextFontCommand{\textsw}{\swshape}
+\DeclareTextFontCommand{\textssc}{\sscshape}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\textulc}{Additional text commands}%
+
+\let\textulc\@undefined
+\let\textsw\@undefined
+\let\textssc\@undefined
+\EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\oldstylenums}{Old style numerals}%
+\DeclareRobustCommand\legacyoldstylenums[1]{%
+   \begingroup
+    \spaceskip\fontdimen\tw@\font
+    \usefont{OML}{\rmdefault}{\f at series}{it}%
+    \mathgroup\symletters #1%
+   \endgroup
+}
+\DeclareRobustCommand\oldstylenums[1]{%
+ \begingroup
+ \ifmmode
+   \mathgroup\symletters #1%
+  \else
+   \CheckEncodingSubset\@use at text@encoding{TS1}\tc at oldstylesubst2{{#1}}%
+ \fi
+ \endgroup
+}
+\def\tc at oldstylesubst#1{%
+   \tc at errorwarn
+          {Oldstyle digits unavailable for
+           family \f at family.\MessageBreak
+           Default oldstyle digits used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+        \fontfamily\textcompsubstdefault
+      \fi\fi\fi
+      \fontencoding{TS1}\selectfont#1%
+  \egroup
+}
+\def\textcompsubstdefault{\rmsubstdefault}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\oldstylenums}{Old style numerals}%
+
+\DeclareRobustCommand\oldstylenums[1]{%
+   \begingroup
+    \spaceskip\fontdimen\tw@\font
+    \usefont{OML}{\rmdefault}{\f at series}{it}%
+    \mathgroup\symletters #1%
+   \endgroup
+}
+\let\legacyoldstylenums\@undefined
+\def\textcompsubstdefault{cmr}
+
+\EndIncludeInRelease
+
+\IncludeInRelease{2020/02/02}%
+   {\DeclareEncodingSubset}{Text companion symbols}%
+\def\DeclareEncodingSubset#1#2{%
+  \DeclareEncodingSubset at aux{#1}#2*\DeclareEncodingSubset at aux
+}
+\def\DeclareEncodingSubset at aux#1#2*#3\DeclareEncodingSubset at aux#4{%
+  \expandafter\ifx\expandafter X\detokenize{#3}X%
+    \@DeclareEncodingSubset{#1}{#2}{#4}%
+  \else
+    \@DeclareEncodingSubset{#1}{#2LF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TLF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2OsF}{#4}%
+    \@DeclareEncodingSubset{#1}{#2TOsF}{#4}%
+  \fi
+}
+\def\@DeclareEncodingSubset#1#2#3{%
+   \@ifundefined{#1:#2}%
+     {\@font at info{Setting #2 sub-encoding to #1/#3}}%
+     {\@font at info{Changing #2 sub-encoding to #1/#3}}%
+     \@namedef{#1:#2}{#3}}
+\@onlypreamble\DeclareEncodingSubset
+\@onlypreamble\DeclareEncodingSubset at aux
+\@onlypreamble\@DeclareEncodingSubset
+
+
+\def\CheckEncodingSubset#1#2#3#4#5{%
+    \ifnum #4>%
+      \expandafter\ifx\csname #2:\f at family\endcsname\relax
+        0\csname #2:?\endcsname
+      \else
+        \csname #2:\f at family\endcsname
+      \fi
+   \relax
+   \expandafter\@firstoftwo
+  \else
+   \expandafter\@secondoftwo
+ \fi
+  {#1{#2}}{#3}%
+  #5%
+}
+
+\def\tc at errorwarn#1#2{\@latex at info{#1}}
+
+\def\tc at subst#1{%
+   \tc at errorwarn
+    {Symbol \string#1 not provided by\MessageBreak
+     font family \f at family\space
+     in TS1 encoding.\MessageBreak Default family used instead}\@eha
+  \bgroup
+      \expand at font@defaults
+      \ifx\f at family\rmdef at ult
+         \fontfamily\rmsubstdefault
+      \else\ifx\f at family\sfdef at ult
+         \fontfamily\sfsubstdefault
+      \else\ifx\f at family\ttdef at ult
+         \fontfamily\ttsubstdefault
+      \else
+         \fontfamily\textcompsubstdefault
+      \fi\fi\fi
+      \@namedef{TS1:\f at family}{0}%
+      \selectfont#1%
+  \egroup
+}
+
+\def\tc at fake@euro#1{%
+   \leavevmode
+   \@font at info{Faking \noexpand#1for font family
+                          \f at family\MessageBreak in TS1 encoding}%
+   \valign{##\cr
+      \vfil\hbox to 0.07em{\dimen@\f at size\p@
+                           \math at fontsfalse
+                           \fontsize{.7\dimen@}\z@\selectfont=\hss}%
+      \vfil\cr%
+      \hbox{C}\crcr
+   }%
+}
+
+\def\tc at check@symbol{\CheckEncodingSubset\UseTextSymbol{TS1}\tc at subst}
+\def\tc at check@accent#1{\CheckEncodingSubset\UseTextAccent{TS1}{\tc at swap@accent#1}}
+\def\tc at swap@accent#1#2{\UseTextAccent{T1}#1}
+
+\DeclareTextSymbolDefault{\textdollar}{TS1}
+\UndeclareTextCommand{\textdollar}  {OT1}         % don't use the OT1 def any longer
+\DeclareTextSymbolDefault{\textsterling}{TS1}
+\UndeclareTextCommand{\textsterling}{OT1}         % don't use the OT1 def any longer
+\DeclareTextSymbolDefault{\textperthousand}{TS1}
+\UndeclareTextCommand{\textperthousand}{T1}       % don't use the T1 def
+\DeclareTextSymbolDefault{\textasteriskcentered}{TS1}
+\DeclareTextSymbolDefault{\textbullet}{TS1}
+\DeclareTextSymbolDefault{\textdaggerdbl}{TS1}
+\DeclareTextSymbolDefault{\textdagger}{TS1}
+\DeclareTextSymbolDefault{\textparagraph}{TS1}
+\DeclareTextSymbolDefault{\textperiodcentered}{TS1}
+\DeclareTextSymbolDefault{\textsection}{TS1}
+%%\DeclareTextSymbolDefault{\textbardbl}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textbrokenbar}{TS1}
+%%\DeclareTextSymbolDefault{\textcelsius}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textcent}{TS1}
+\DeclareTextSymbolDefault{\textcopyright}{TS1}
+\DeclareTextSymbolDefault{\textdegree}{TS1}
+\DeclareTextSymbolDefault{\textdiv}{TS1}
+\DeclareTextSymbolDefault{\textlnot}{TS1}
+\DeclareTextSymbolDefault{\textonehalf}{TS1}
+\DeclareTextSymbolDefault{\textonequarter}{TS1}
+%%\DeclareTextSymbolDefault{\textonesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textordfeminine}{TS1}
+\DeclareTextSymbolDefault{\textordmasculine}{TS1}
+\DeclareTextSymbolDefault{\textpm}{TS1}
+\DeclareTextSymbolDefault{\textquotesingle}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightbase}{TS1}
+\DeclareTextSymbolDefault{\textquotestraightdblbase}{TS1}
+\DeclareTextSymbolDefault{\textregistered}{TS1}
+%%\DeclareTextSymbolDefault{\textthreequartersemdash}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textthreequarters}{TS1}
+%%\DeclareTextSymbolDefault{\textthreesuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\texttimes}{TS1}
+\DeclareTextSymbolDefault{\texttrademark}{TS1}
+%%\DeclareTextSymbolDefault{\texttwelveudash}{TS1} % subst in sub-enc 9 above
+%%\DeclareTextSymbolDefault{\texttwosuperior}{TS1} % subst in sub-enc 9 above
+\DeclareTextSymbolDefault{\textyen}{TS1}
+\DeclareTextSymbolDefault{\textcapitalcompwordmark}{TS1}
+\DeclareTextSymbolDefault{\textascendercompwordmark}{TS1}
+\DeclareTextCommandDefault{\textcircled}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OMS}}1\textcircled}
+\DeclareTextCommandDefault{\t}
+  {\CheckEncodingSubset\UseTextAccent{TS1}{\UseTextAccent{OML}}2\t}
+\ifx\Umathcode\@undefined
+  \DeclareTextCommandDefault{\capitalacute}       {\tc at check@accent{\'}2\capitalacute}
+  \DeclareTextCommandDefault{\capitalbreve}       {\tc at check@accent{\u}2\capitalbreve}
+  \DeclareTextCommandDefault{\capitalcaron}       {\tc at check@accent{\v}2\capitalcaron}
+  \DeclareTextCommandDefault{\capitalcedilla}     {\tc at check@accent{\c}2\capitalcedilla}
+  \DeclareTextCommandDefault{\capitalcircumflex}  {\tc at check@accent{\^}2\capitalcircumflex}
+  \DeclareTextCommandDefault{\capitaldieresis}    {\tc at check@accent{\"}2\capitaldieresis}
+  \DeclareTextCommandDefault{\capitaldotaccent}   {\tc at check@accent{\.}2\capitaldotaccent}
+  \DeclareTextCommandDefault{\capitalgrave}       {\tc at check@accent{\`}2\capitalgrave}
+  \DeclareTextCommandDefault{\capitalhungarumlaut}{\tc at check@accent{\H}2\capitalhungarumlaut}
+  \DeclareTextCommandDefault{\capitalmacron}      {\tc at check@accent{\=}2\capitalmacron}
+  \DeclareTextCommandDefault{\capitalogonek}      {\tc at check@accent{\k}2\capitalogonek}
+  \DeclareTextCommandDefault{\capitalring}        {\tc at check@accent{\r}2\capitalring}
+  \DeclareTextCommandDefault{\capitaltie}         {\tc at check@accent{\t}2\capitaltie}
+  \DeclareTextCommandDefault{\capitaltilde}       {\tc at check@accent{\~}2\capitaltilde}
+  \DeclareTextCommandDefault{\newtie}             {\tc at check@accent{\t}2\newtie}
+  \DeclareTextCommandDefault{\capitalnewtie}      {\tc at check@accent{\t}2\capitalnewtie}
+\else
+  \def\capitalacute{\'}
+  \def\capitalbreve{\u}
+  \def\capitalcaron{\v}
+  \def\capitalcedilla{\c}
+  \def\capitalcircumflex{\^}
+  \def\capitaldieresis{\"}
+  \def\capitaldotaccent{\.}
+  \def\capitalgrave{\`}
+  \def\capitalhungarumlaut{\H}
+  \def\capitalmacron{\=}
+  \def\capitalnewtie{\t}
+  \def\capitalogonek{\k}
+  \def\capitalring{\r}
+  \def\capitaltie{\t}
+  \def\capitaltilde{\~}
+  \def\newtie{\t}
+\fi
+\DeclareTextCommandDefault{\textlbrackdbl}      {\tc at check@symbol2\textlbrackdbl}
+\DeclareTextCommandDefault{\textrbrackdbl}      {\tc at check@symbol2\textrbrackdbl}
+\DeclareTextCommandDefault{\texteightoldstyle}  {\tc at check@symbol2\texteightoldstyle}
+\DeclareTextCommandDefault{\textfiveoldstyle}   {\tc at check@symbol2\textfiveoldstyle}
+\DeclareTextCommandDefault{\textfouroldstyle}   {\tc at check@symbol2\textfouroldstyle}
+\DeclareTextCommandDefault{\textnineoldstyle}   {\tc at check@symbol2\textnineoldstyle}
+\DeclareTextCommandDefault{\textoneoldstyle}    {\tc at check@symbol2\textoneoldstyle}
+\DeclareTextCommandDefault{\textsevenoldstyle}  {\tc at check@symbol2\textsevenoldstyle}
+\DeclareTextCommandDefault{\textsixoldstyle}    {\tc at check@symbol2\textsixoldstyle}
+\DeclareTextCommandDefault{\textthreeoldstyle}  {\tc at check@symbol2\textthreeoldstyle}
+\DeclareTextCommandDefault{\texttwooldstyle}    {\tc at check@symbol2\texttwooldstyle}
+\DeclareTextCommandDefault{\textzerooldstyle}   {\tc at check@symbol2\textzerooldstyle}
+\DeclareTextCommandDefault{\textacutedbl}       {\tc at check@symbol2\textacutedbl}
+\DeclareTextCommandDefault{\textasciiacute}     {\tc at check@symbol2\textasciiacute}
+\DeclareTextCommandDefault{\textasciibreve}     {\tc at check@symbol2\textasciibreve}
+\DeclareTextCommandDefault{\textasciicaron}     {\tc at check@symbol2\textasciicaron}
+\DeclareTextCommandDefault{\textasciidieresis}  {\tc at check@symbol2\textasciidieresis}
+\DeclareTextCommandDefault{\textasciigrave}     {\tc at check@symbol2\textasciigrave}
+\DeclareTextCommandDefault{\textasciimacron}    {\tc at check@symbol2\textasciimacron}
+\DeclareTextCommandDefault{\textgravedbl}       {\tc at check@symbol2\textgravedbl}
+\DeclareTextCommandDefault{\texttildelow}       {\tc at check@symbol2\texttildelow}
+\DeclareTextCommandDefault{\textbaht}           {\tc at check@symbol2\textbaht}
+\DeclareTextCommandDefault{\textbigcircle}      {\tc at check@symbol2\textbigcircle}
+\DeclareTextCommandDefault{\textborn}           {\tc at check@symbol2\textborn}
+\DeclareTextCommandDefault{\textcentoldstyle}   {\tc at check@symbol2\textcentoldstyle}
+\DeclareTextCommandDefault{\textcircledP}       {\tc at check@symbol2\textcircledP}
+\DeclareTextCommandDefault{\textcopyleft}       {\tc at check@symbol2\textcopyleft}
+\DeclareTextCommandDefault{\textdblhyphenchar}  {\tc at check@symbol2\textdblhyphenchar}
+\DeclareTextCommandDefault{\textdblhyphen}      {\tc at check@symbol2\textdblhyphen}
+\DeclareTextCommandDefault{\textdied}           {\tc at check@symbol2\textdied}
+\DeclareTextCommandDefault{\textdiscount}       {\tc at check@symbol2\textdiscount}
+\DeclareTextCommandDefault{\textdivorced}       {\tc at check@symbol2\textdivorced}
+\DeclareTextCommandDefault{\textdollaroldstyle} {\tc at check@symbol2\textdollaroldstyle}
+\DeclareTextCommandDefault{\textguarani}        {\tc at check@symbol2\textguarani}
+\DeclareTextCommandDefault{\textleaf}           {\tc at check@symbol2\textleaf}
+\DeclareTextCommandDefault{\textlquill}         {\tc at check@symbol2\textlquill}
+\DeclareTextCommandDefault{\textmarried}        {\tc at check@symbol2\textmarried}
+\DeclareTextCommandDefault{\textmho}            {\tc at check@symbol2\textmho}
+\DeclareTextCommandDefault{\textmusicalnote}    {\tc at check@symbol2\textmusicalnote}
+\DeclareTextCommandDefault{\textnaira}          {\tc at check@symbol2\textnaira}
+\DeclareTextCommandDefault{\textopenbullet}     {\tc at check@symbol2\textopenbullet}
+\DeclareTextCommandDefault{\textpeso}           {\tc at check@symbol2\textpeso}
+\DeclareTextCommandDefault{\textpilcrow}        {\tc at check@symbol2\textpilcrow}
+\DeclareTextCommandDefault{\textrecipe}         {\tc at check@symbol2\textrecipe}
+\DeclareTextCommandDefault{\textreferencemark}  {\tc at check@symbol2\textreferencemark}
+\DeclareTextCommandDefault{\textrquill}         {\tc at check@symbol2\textrquill}
+\DeclareTextCommandDefault{\textservicemark}    {\tc at check@symbol2\textservicemark}
+\DeclareTextCommandDefault{\textsurd}           {\tc at check@symbol2\textsurd}
+\DeclareTextCommandDefault{\textpertenthousand} {\tc at check@symbol2\textpertenthousand}
+\UndeclareTextCommand{\textpertenthousand}{T1}
+\DeclareTextCommandDefault{\textlangle}         {\tc at check@symbol3\textlangle}
+\DeclareTextCommandDefault{\textrangle}         {\tc at check@symbol3\textrangle}
+\DeclareTextCommandDefault{\textcolonmonetary}  {\tc at check@symbol4\textcolonmonetary}
+\DeclareTextCommandDefault{\textdong}           {\tc at check@symbol4\textdong}
+\DeclareTextCommandDefault{\textdownarrow}      {\tc at check@symbol4\textdownarrow}
+\DeclareTextCommandDefault{\textleftarrow}      {\tc at check@symbol4\textleftarrow}
+\DeclareTextCommandDefault{\textlira}           {\tc at check@symbol4\textlira}
+\DeclareTextCommandDefault{\textrightarrow}     {\tc at check@symbol4\textrightarrow}
+\DeclareTextCommandDefault{\textuparrow}        {\tc at check@symbol4\textuparrow}
+\DeclareTextCommandDefault{\textwon}            {\tc at check@symbol4\textwon}
+\DeclareTextCommandDefault{\textestimated}      {\tc at check@symbol5\textestimated}
+\DeclareTextCommandDefault{\textnumero}         {\tc at check@symbol5\textnumero}
+\DeclareTextCommandDefault{\textflorin}         {\tc at check@symbol6\textflorin}
+\DeclareTextCommandDefault{\textcurrency}       {\tc at check@symbol6\textcurrency}
+\DeclareTextCommandDefault{\textfractionsolidus}{\tc at check@symbol7\textfractionsolidus}
+\DeclareTextCommandDefault{\textohm}            {\tc at check@symbol7\textohm}
+\DeclareTextCommandDefault{\textmu}             {\tc at check@symbol7\textmu}
+\DeclareTextCommandDefault{\textminus}          {\tc at check@symbol7\textminus}
+\DeclareTextCommandDefault{\textblank}          {\tc at check@symbol{8}\textblank}
+\DeclareTextCommandDefault{\textinterrobangdown}{\tc at check@symbol{8}\textinterrobangdown}
+\DeclareTextCommandDefault{\textinterrobang}    {\tc at check@symbol{8}\textinterrobang}
+\DeclareTextCommandDefault{\texteuro}
+            {\CheckEncodingSubset\UseTextSymbol{TS1}\tc at fake@euro{8}\texteuro}
+\DeclareTextCommandDefault{\textcelsius}{\tc at check@symbol{9}\textcelsius}
+\DeclareTextCommandDefault{\textonesuperior}{\tc at check@symbol{9}\textonesuperior}
+\DeclareTextCommandDefault{\textthreequartersemdash}{\tc at check@symbol{9}\textthreequartersemdash}
+\DeclareTextCommandDefault{\textthreesuperior}{\tc at check@symbol{9}\textthreesuperior}
+\DeclareTextCommandDefault{\texttwelveudash}{\tc at check@symbol{9}\texttwelveudash}
+\DeclareTextCommandDefault{\texttwosuperior}{\tc at check@symbol{9}\texttwosuperior}
+\DeclareTextCommandDefault{\textbardbl}{\tc at check@symbol{9}\textbardbl}
+
+\ifx \Umathcode\@undefined  \else
+\DeclareTextCommand{\textzerooldstyle} \UnicodeEncodingName{\oldstylenums{0}}
+\DeclareTextCommand{\textoneoldstyle}  \UnicodeEncodingName{\oldstylenums{1}}
+\DeclareTextCommand{\texttwooldstyle}  \UnicodeEncodingName{\oldstylenums{2}}
+\DeclareTextCommand{\textthreeoldstyle}\UnicodeEncodingName{\oldstylenums{3}}
+\DeclareTextCommand{\textfouroldstyle} \UnicodeEncodingName{\oldstylenums{4}}
+\DeclareTextCommand{\textfiveoldstyle} \UnicodeEncodingName{\oldstylenums{5}}
+\DeclareTextCommand{\textsixoldstyle}  \UnicodeEncodingName{\oldstylenums{6}}
+\DeclareTextCommand{\textsevenoldstyle}\UnicodeEncodingName{\oldstylenums{7}}
+\DeclareTextCommand{\texteightoldstyle}\UnicodeEncodingName{\oldstylenums{8}}
+\DeclareTextCommand{\textnineoldstyle} \UnicodeEncodingName{\oldstylenums{9}}
+\DeclareTextSymbol{\textpilcrow}       \UnicodeEncodingName{"00B6}
+\DeclareTextSymbol{\textborn}          \UnicodeEncodingName{"002A}
+\DeclareTextSymbol{\textdied}          \UnicodeEncodingName{"2020}
+\DeclareTextSymbol{\textlbrackdbl}     \UnicodeEncodingName{"27E6}
+\DeclareTextSymbol{\textrbrackdbl}     \UnicodeEncodingName{"27E7}
+\DeclareTextSymbol{\textguarani}       \UnicodeEncodingName{"20B2}
+\DeclareTextSymbol{\textdollaroldstyle}{TS1}{138}
+\DeclareTextSymbol{\textcentoldstyle}  {TS1}{139}
+\fi               % --- END of Unicode engines specials
+\DeclareEncodingSubset{TS1}{?}{9}
+\DeclareEncodingSubset{TS1}{ccr}     {0}
+\DeclareEncodingSubset{TS1}{cmbr}    {0}
+\DeclareEncodingSubset{TS1}{cmr}     {0}
+\DeclareEncodingSubset{TS1}{cmss}    {0}
+\DeclareEncodingSubset{TS1}{cmtl}    {0}
+\DeclareEncodingSubset{TS1}{cmtt}    {0}
+\DeclareEncodingSubset{TS1}{cmvtt}   {0}
+\DeclareEncodingSubset{TS1}{pxr}     {0}
+\DeclareEncodingSubset{TS1}{pxss}    {0}
+\DeclareEncodingSubset{TS1}{pxtt}    {0}
+\DeclareEncodingSubset{TS1}{qag}     {0}
+\DeclareEncodingSubset{TS1}{qbk}     {0}
+\DeclareEncodingSubset{TS1}{qcr}     {0}
+\DeclareEncodingSubset{TS1}{qcs}     {0}
+\DeclareEncodingSubset{TS1}{qhvc}    {0}
+\DeclareEncodingSubset{TS1}{qhv}     {0}
+\DeclareEncodingSubset{TS1}{qpl}     {0}
+\DeclareEncodingSubset{TS1}{qtm}     {0}
+\DeclareEncodingSubset{TS1}{qzc}     {0}
+\DeclareEncodingSubset{TS1}{txr}     {0}
+\DeclareEncodingSubset{TS1}{txss}    {0}
+\DeclareEncodingSubset{TS1}{txtt}    {0}
+\DeclareEncodingSubset{TS1}{lmr}     {1}
+\DeclareEncodingSubset{TS1}{lmdh}    {1}
+\DeclareEncodingSubset{TS1}{lmss}    {1}
+\DeclareEncodingSubset{TS1}{lmssq}   {1}
+\DeclareEncodingSubset{TS1}{lmvtt}   {1}
+\DeclareEncodingSubset{TS1}{lmtt}    {1} % missing TM, SM, pertenthousand for some reason
+\DeclareEncodingSubset{TS1}{ptmx}    {2}
+\DeclareEncodingSubset{TS1}{ptmj}    {2}
+\DeclareEncodingSubset{TS1}{ul8}     {2}
+\DeclareEncodingSubset{TS1}{bch}     {5}  % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futj}    {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{futs}    {5}  % tofu for blank, ohm
+\DeclareEncodingSubset{TS1}{futx}    {5}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{pag}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pbk}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pcr}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{phv}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pnc}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pplj}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{pplx}    {5}  % tofu for blank
+\DeclareEncodingSubset{TS1}{ppl}     {5}  % tofu for blank interrobang/down
+\DeclareEncodingSubset{TS1}{ptm}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{pzc}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{ul9}     {5}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{dayroms} {6}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{dayrom}  {6}  % tofu for blank, interrobang/down, ohm
+\DeclareEncodingSubset{TS1}{augie}   {8}  % really only missing euro
+\DeclareEncodingSubset{TS1}{put}     {8}
+\DeclareEncodingSubset{TS1}{uag}     {8}  % probably (currently broken distrib)
+\DeclareEncodingSubset{TS1}{ugq}     {8}
+\DeclareEncodingSubset{TS1}{zi4}     {9}
+\DeclareEncodingSubset{TS1}{hls}     {5}
+\DeclareEncodingSubset{TS1}{hlst}    {5}
+\DeclareEncodingSubset{TS1}{hlct}    {5}
+\DeclareEncodingSubset{TS1}{hlh}     {5}
+\DeclareEncodingSubset{TS1}{hlx}     {8}
+\DeclareEncodingSubset{TS1}{hlce}    {8}
+\DeclareEncodingSubset{TS1}{hlcn}    {8}
+\DeclareEncodingSubset{TS1}{hlcw}    {8}
+\DeclareEncodingSubset{TS1}{hlcf}    {8}
+\DeclareEncodingSubset{TS1}{lato-*}                   {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{opensans-*}               {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{cantarell-*}              {0}  % with a bunch of tofu inside
+\DeclareEncodingSubset{TS1}{fbb-*}                    {0}  % missing centoldstyle
+\DeclareEncodingSubset{TS1}{tli}                      {1}  % with lots of tofu inside
+\DeclareEncodingSubset{TS1}{Alegreya-*}               {2}
+\DeclareEncodingSubset{TS1}{AlegreyaSans-*}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSans-TLF}           {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansCondensed-TLF}  {2}
+\DeclareEncodingSubset{TS1}{DejaVuSansMono-TLF}       {2}
+\DeclareEncodingSubset{TS1}{EBGaramond-*}             {2}
+\DeclareEncodingSubset{TS1}{Tempora-TLF}              {2}
+\DeclareEncodingSubset{TS1}{Tempora-TOsF}             {2}
+\DeclareEncodingSubset{TS1}{Arimo-TLF}                {3}
+\DeclareEncodingSubset{TS1}{Carlito-*}                {3}
+\DeclareEncodingSubset{TS1}{FiraSans-*}               {3}
+\DeclareEncodingSubset{TS1}{IBMPlexSans-TLF}          {3}
+\DeclareEncodingSubset{TS1}{Merriweather-OsF}         {3}
+\DeclareEncodingSubset{TS1}{Montserrat-*}             {3}
+\DeclareEncodingSubset{TS1}{MontserratAlternates-*}   {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TLF}        {3}
+\DeclareEncodingSubset{TS1}{SourceCodePro-TOsF}       {3}
+\DeclareEncodingSubset{TS1}{SourceSansPro-*}          {3}
+\DeclareEncodingSubset{TS1}{SourceSerifPro-*}         {3}
+\DeclareEncodingSubset{TS1}{Tinos-TLF}                {3}
+\DeclareEncodingSubset{TS1}{AccanthisADFStdNoThree-LF}{4}
+\DeclareEncodingSubset{TS1}{Cabin-TLF}                {4}
+\DeclareEncodingSubset{TS1}{Caladea-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Chivo-*}                  {4}
+\DeclareEncodingSubset{TS1}{ClearSans-TLF}            {4}
+\DeclareEncodingSubset{TS1}{Coelacanth-LF}            {4}
+\DeclareEncodingSubset{TS1}{CrimsonPro-*}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TLF}             {4}
+\DeclareEncodingSubset{TS1}{FiraMono-TOsF}            {4}
+\DeclareEncodingSubset{TS1}{Go-TLF}                   {4}
+\DeclareEncodingSubset{TS1}{GoMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{InriaSans-*}              {4}
+\DeclareEncodingSubset{TS1}{InriaSerif-*}             {4}
+\DeclareEncodingSubset{TS1}{LibertinusSans-*}         {4}
+\DeclareEncodingSubset{TS1}{LibertinusSerif-*}        {4}
+\DeclareEncodingSubset{TS1}{LibreBodoni-TLF}          {4}
+\DeclareEncodingSubset{TS1}{LibreFranklin-TLF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-LF}        {4}
+\DeclareEncodingSubset{TS1}{LinguisticsPro-OsF}       {4}
+\DeclareEncodingSubset{TS1}{LinuxBiolinumT-*}         {4}
+\DeclareEncodingSubset{TS1}{LinuxLibertineT-*}        {4}
+\DeclareEncodingSubset{TS1}{MerriweatherSans-OsF}     {4}
+\DeclareEncodingSubset{TS1}{MintSpirit-*}             {4}
+\DeclareEncodingSubset{TS1}{MintSpiritNoTwo-*}        {4}
+\DeclareEncodingSubset{TS1}{PTMono-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSans-TLF}               {4}
+\DeclareEncodingSubset{TS1}{PTSansCaption-TLF}        {4}
+\DeclareEncodingSubset{TS1}{PTSansNarrow-TLF}         {4}
+\DeclareEncodingSubset{TS1}{PTSerif-TLF}              {4}
+\DeclareEncodingSubset{TS1}{PTSerifCaption-TLF}       {4}
+\DeclareEncodingSubset{TS1}{Raleway-TLF}              {4}
+\DeclareEncodingSubset{TS1}{Raleway-TOsF}             {4}
+\DeclareEncodingSubset{TS1}{Roboto-*}                 {4}
+\DeclareEncodingSubset{TS1}{RobotoMono-TLF}           {4}
+\DeclareEncodingSubset{TS1}{RobotoSlab-TLF}           {4}
+\DeclareEncodingSubset{TS1}{Rosario-*}                {4}
+\DeclareEncodingSubset{TS1}{SticksTooText-*}          {4}
+\DeclareEncodingSubset{TS1}{UniversalisADFStd-LF}     {4}
+\DeclareEncodingSubset{TS1}{Almendra-OsF}             {5}
+\DeclareEncodingSubset{TS1}{Baskervaldx-*}            {5}
+\DeclareEncodingSubset{TS1}{BaskervilleF-*}           {5}
+\DeclareEncodingSubset{TS1}{Bitter-TLF}               {5}
+\DeclareEncodingSubset{TS1}{Cinzel-LF}                {5}
+\DeclareEncodingSubset{TS1}{CinzelDecorative-LF}      {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerif-TLF}          {5}
+\DeclareEncodingSubset{TS1}{DejaVuSerifCondensed-TLF} {5}
+\DeclareEncodingSubset{TS1}{GilliusADF-LF}            {5}
+\DeclareEncodingSubset{TS1}{GilliusADFCond-LF}        {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwo-LF}       {5}
+\DeclareEncodingSubset{TS1}{GilliusADFNoTwoCond-LF}   {5}
+\DeclareEncodingSubset{TS1}{LobsterTwo-LF}            {5}
+\DeclareEncodingSubset{TS1}{OldStandard-TLF}          {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TLF}      {5}
+\DeclareEncodingSubset{TS1}{PlayfairDisplay-TOsF}     {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TLF}          {5}
+\DeclareEncodingSubset{TS1}{TheanoDidot-TOsF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TLF}         {5}
+\DeclareEncodingSubset{TS1}{TheanoModern-TOsF}        {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TLF}       {5}
+\DeclareEncodingSubset{TS1}{TheanoOldStyle-TOsF}      {5}
+\DeclareEncodingSubset{TS1}{Crimson-TLF}              {6}
+\DeclareEncodingSubset{TS1}{IBMPlexMono-TLF}          {6}
+\DeclareEncodingSubset{TS1}{IBMPlexSerif-TLF}         {6}
+\DeclareEncodingSubset{TS1}{LibertinusMono-TLF}       {6}
+\DeclareEncodingSubset{TS1}{LibertinusSerifDisplay-LF}{6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineDisplayT-*} {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-LF}   {6}
+\DeclareEncodingSubset{TS1}{LinuxLibertineMonoT-TLF}  {6}
+\DeclareEncodingSubset{TS1}{Overlock-LF}              {6}
+\DeclareEncodingSubset{TS1}{CormorantGaramond-*}      {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TLF}           {7}
+\DeclareEncodingSubset{TS1}{Heuristica-TOsF}          {7}
+\DeclareEncodingSubset{TS1}{IMFELLEnglish-TLF}        {7}
+\DeclareEncodingSubset{TS1}{LibreBaskerville-TLF}     {7}
+\DeclareEncodingSubset{TS1}{LibreCaslon-*}            {7}
+\DeclareEncodingSubset{TS1}{Marcellus-LF}             {7}
+\DeclareEncodingSubset{TS1}{NotoSans-*}               {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TLF}         {7}
+\DeclareEncodingSubset{TS1}{NotoSansMono-TOsF}        {7}
+\DeclareEncodingSubset{TS1}{NotoSerif-*}              {7}
+\DeclareEncodingSubset{TS1}{Quattrocento-TLF}         {7}
+\DeclareEncodingSubset{TS1}{QuattrocentoSans-TLF}     {7}
+\DeclareEncodingSubset{TS1}{XCharter-TLF}             {7}
+\DeclareEncodingSubset{TS1}{XCharter-TOsF}            {7}
+\DeclareEncodingSubset{TS1}{erewhon-*}                {7}
+\DeclareEncodingSubset{TS1}{ComicNeue-TLF}            {7}
+\DeclareEncodingSubset{TS1}{ComicNeueAngular-TLF}     {7}
+\DeclareEncodingSubset{TS1}{Forum-LF}                 {7}  % the superiors are missing
+\DeclareEncodingSubset{TS1}{Cochineal-*}              {8}
+\DeclareEncodingSubset{TS1}{AlgolRevived-TLF}         {9}
+\def\UseLegacyTextSymbols{%
+  \DeclareTextSymbolDefault{\textasteriskcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textbardbl}{OMS}%
+  \DeclareTextSymbolDefault{\textbullet}{OMS}%
+  \DeclareTextSymbolDefault{\textdaggerdbl}{OMS}%
+  \DeclareTextSymbolDefault{\textdagger}{OMS}%
+  \DeclareTextSymbolDefault{\textparagraph}{OMS}%
+  \DeclareTextSymbolDefault{\textperiodcentered}{OMS}%
+  \DeclareTextSymbolDefault{\textsection}{OMS}%
+  \UndeclareTextCommand{\textsection}{T1}%
+  \expandafter\let\csname oldstylenums \expandafter\endcsname
+                  \csname legacyoldstylenums \endcsname
+}
+
+\DeclareTextSymbol{\textlegacyasteriskcentered}{OMS}{3}   % "03
+\DeclareTextSymbol{\textlegacybardbl}{OMS}{107}           % "6B
+\DeclareTextSymbol{\textlegacybullet}{OMS}{15}            % "0F
+\DeclareTextSymbol{\textlegacydaggerdbl}{OMS}{122}        % "7A
+\DeclareTextSymbol{\textlegacydagger}{OMS}{121}           % "79
+\DeclareTextSymbol{\textlegacyparagraph}{OMS}{123}        % "7B
+\DeclareTextSymbol{\textlegacyperiodcentered}{OMS}{1}     % "01
+\DeclareTextSymbol{\textlegacysection}{OMS}{120}          % "78
+\DeclareTextSymbolDefault{\textlegacyasteriskcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacybardbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacybullet}{OMS}
+\DeclareTextSymbolDefault{\textlegacydaggerdbl}{OMS}
+\DeclareTextSymbolDefault{\textlegacydagger}{OMS}
+\DeclareTextSymbolDefault{\textlegacyparagraph}{OMS}
+\DeclareTextSymbolDefault{\textlegacyperiodcentered}{OMS}
+\DeclareTextSymbolDefault{\textlegacysection}{OMS}
+
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+   {\DeclareEncodingSubset}{Text companion symbols}%
+
+\let\DeclareEncodingSubset\@undefined
+\let\CheckEncodingSubset\@undefined
+
+\DeclareTextSymbolDefault{\textdollar}{OT1}
+\DeclareTextSymbolDefault{\textsterling}{OT1}
+\DeclareTextCommand{\textdollar}{OT1}{\hmode at bgroup
+   \ifdim \fontdimen\@ne\font >\z@
+      \slshape
+   \else
+      \upshape
+   \fi
+   \char`\$\egroup}
+\DeclareTextCommand{\textsterling}{OT1}{\hmode at bgroup
+   \ifdim \fontdimen\@ne\font >\z@
+      \itshape
+   \else
+      \fontshape{ui}\selectfont
+   \fi
+   \char`\$\egroup}
+\DeclareTextCommand{\textperthousand}{T1}
+   {\%\char 24 }
+
+\DeclareTextSymbolDefault{\textasteriskcentered}{OMS}
+\DeclareTextSymbolDefault{\textbullet}{OMS}
+\DeclareTextSymbolDefault{\textdaggerdbl}{OMS}
+\DeclareTextSymbolDefault{\textdagger}{OMS}
+\DeclareTextSymbolDefault{\textparagraph}{OMS}
+\DeclareTextSymbolDefault{\textperiodcentered}{OMS}
+\DeclareTextSymbolDefault{\textsection}{OMS}
+
+\DeclareTextSymbolDefault{\textbardbl}{OMS}
+\let\textbrokenbar\@undefined
+\let\textcelsius\@undefined
+\let\textcent\@undefined
+\DeclareTextCommandDefault{\textcopyright}{\textcircled{c}}
+\let\textdegree\@undefined
+\let\textdiv\@undefined
+\let\textlnot\@undefined
+\let\textonehalf\@undefined
+\let\textonequarter\@undefined
+\let\textonesuperior\@undefined
+\DeclareTextCommandDefault{\textordfeminine}{\textsuperscript{a}}
+\DeclareTextCommandDefault{\textordmasculine}{\textsuperscript{o}}
+\let\textpm\@undefined
+\let\textquotesingle\@undefined
+\let\textquotestraightbase\@undefined
+\let\textquotestraightdblbase\@undefined
+\DeclareTextCommandDefault{\textregistered}{\textcircled{%
+     \check at mathfonts\fontsize\sf at size\z@\math at fontsfalse\selectfont R}}
+\let\textthreequartersemdash\@undefined
+\let\textthreequarters\@undefined
+\let\textthreesuperior\@undefined
+\let\texttimes\@undefined
+\DeclareTextCommandDefault{\texttrademark}{\textsuperscript{TM}}
+\let\texttwelveudash\@undefined
+\let\texttwosuperior\@undefined
+\let\textyen\@undefined
+
+\let\textcapitalcompwordmark\@undefined
+\let\textascendercompwordmark\@undefined
+
+\DeclareTextAccentDefault{\textcircled}{OMS}
+\DeclareTextAccentDefault{\t}{OML}
+
+\let\capitalacute\@undefined
+\let\capitalbreve\@undefined
+\let\capitalcaron\@undefined
+\let\capitalcedilla\@undefined
+\let\capitalcircumflex\@undefined
+\let\capitaldieresis\@undefined
+\let\capitaldotaccent\@undefined
+\let\capitalgrave\@undefined
+\let\capitalhungarumlaut\@undefined
+\let\capitalmacron\@undefined
+\let\capitalnewtie\@undefined
+\let\capitalogonek\@undefined
+\let\capitalring\@undefined
+\let\capitaltie\@undefined
+\let\capitaltilde\@undefined
+\let\newtie\@undefined
+
+\let\textlbrackdbl\@undefined
+\let\textrbrackdbl\@undefined
+
+\let\texteightoldstyle\@undefined
+\let\textfiveoldstyle\@undefined
+\let\textfouroldstyle\@undefined
+\let\textnineoldstyle\@undefined
+\let\textoneoldstyle\@undefined
+\let\textsevenoldstyle\@undefined
+\let\textsixoldstyle\@undefined
+\let\textthreeoldstyle\@undefined
+\let\texttwooldstyle\@undefined
+\let\textzerooldstyle\@undefined
+
+\let\textacutedbl\@undefined
+\let\textasciiacute\@undefined
+\let\textasciibreve\@undefined
+\let\textasciicaron\@undefined
+\let\textasciidieresis\@undefined
+\let\textasciigrave\@undefined
+\let\textasciimacron\@undefined
+\let\textgravedbl\@undefined
+\let\texttildelow\@undefined
+
+\let\textbaht\@undefined
+\let\textbigcircle\@undefined
+\let\textborn\@undefined
+\let\textcentoldstyle\@undefined
+\let\textcircledP\@undefined
+\let\textcopyleft\@undefined
+\let\textdblhyphenchar\@undefined
+\let\textdblhyphen\@undefined
+\let\textdied\@undefined
+\let\textdiscount\@undefined
+\let\textdivorced\@undefined
+\let\textdollaroldstyle\@undefined
+\let\textguarani\@undefined
+\let\textleaf\@undefined
+\let\textlquill\@undefined
+\let\textmarried\@undefined
+\let\textmho\@undefined
+\let\textmusicalnote\@undefined
+\let\textnaira\@undefined
+\let\textopenbullet\@undefined
+\let\textpeso\@undefined
+\let\textpilcrow\@undefined
+\let\textrecipe\@undefined
+\let\textreferencemark\@undefined
+\let\textrquill\@undefined
+\let\textservicemark\@undefined
+\let\textsurd\@undefined
+
+\DeclareTextCommand{\textpertenthousand}{T1}
+                   {\%\char 24\char 24 }
+
+\let\textlangle\@undefined
+\let\textrangle\@undefined
+
+\let\textcolonmonetary\@undefined
+\let\textdong\@undefined
+\let\textdownarrow\@undefined
+\let\textleftarrow\@undefined
+\let\textlira\@undefined
+\let\textrightarrow\@undefined
+\let\textuparrow\@undefined
+\let\textwon\@undefined
+
+\let\textestimated\@undefined
+\let\textnumero\@undefined
+
+\let\textflorin\@undefined
+\let\textcurrency\@undefined
+
+\let\textfractionsolidus\@undefined
+\let\textohm\@undefined
+\let\textmu\@undefined
+\let\textminus\@undefined
+
+\let\textblank\@undefined
+\let\textinterrobangdown\@undefined
+\let\textinterrobang\@undefined
+
+\let\texteuro\@undefined
+
+\let\textcelsius\@undefined
+\let\textonesuperior\@undefined
+\let\textthreequartersemdash\@undefined
+\let\textthreesuperior\@undefined
+\let\texttwelveudash\@undefined
+\let\texttwosuperior\@undefined
+\let\textbardbl\@undefined
+
+\let\UseLegacyTextSymbols\@undefined
+\let\textlegacyasteriskcentered\@undefined
+\let\textlegacybardbl\@undefined
+\let\textlegacybullet\@undefined
+\let\textlegacydaggerdbl\@undefined
+\let\textlegacydagger\@undefined
+\let\textlegacyparagraph\@undefined
+\let\textlegacyperiodcentered\@undefined
+\let\textlegacysection\@undefined
+
+\EndIncludeInRelease
+
+
 %%% From File: ltfssbas.dtx
 %% Copyright (C) 1989-2002 Frank Mittelbach and Rainer Sch\"opf
 \IncludeInRelease{2015/01/01}{\@DeclareMathSizes}%
@@ -3891,6 +4817,57 @@
                              }%
     \fi}%
 \EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\LoadFontDefinitionFile}{Loading .fd files}%
+\def\LoadFontDefinitionFile#1#2{%
+  \begingroup
+    \edef\f at encoding{#1}%
+    \edef\f at family{#2}%
+    \try at load@fontshape
+  \endgroup
+}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\LoadFontDefinitionFile}{Loading .fd files}%
+
+\let\LoadFontDefinitionFile\@undefined
+\EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+       {\DeclareFontFamilySubstitution}{Provide family substituation}%
+\begingroup
+\nfss at catcodes
+\gdef\DeclareFontFamilySubstitution#1#2#3{%
+   \LoadFontDefinitionFile{#1}{#2}%
+   \LoadFontDefinitionFile{#1}{#3}%
+   \DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}%
+   \DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}%
+   \DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}%
+   \DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}%
+   \DeclareFontShape{#1}{#2}{m}{sw}{<->ssub * #3/m/sw}{}%
+   \DeclareFontShape{#1}{#2}{m}{scit}{<->ssub * #3/m/scit}{}%
+   \DeclareFontShape{#1}{#2}{m}{scsl}{<->ssub * #3/m/scsl}{}%
+   \DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/b/it}{}%
+   \DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/b/n}{}%
+   \DeclareFontShape{#1}{#2}{b}{scit}{<->ssub * #3/b/scit}{}%
+   \DeclareFontShape{#1}{#2}{b}{scsl}{<->ssub * #3/b/scsl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/b/sc}{}%
+   \DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/b/sl}{}%
+   \DeclareFontShape{#1}{#2}{b}{sw}{<->ssub * #3/b/sw}{}%
+   \DeclareFontShape{#1}{#2}{bx}{it}{<->ssub * #3/bx/it}{}%
+   \DeclareFontShape{#1}{#2}{bx}{n}{<->ssub * #3/bx/n}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scit}{<->ssub * #3/bx/scit}{}%
+   \DeclareFontShape{#1}{#2}{bx}{scsl}{<->ssub * #3/bx/scsl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub * #3/bx/sc}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub * #3/bx/sl}{}%
+   \DeclareFontShape{#1}{#2}{bx}{sw}{<->ssub * #3/bx/sw}{}%
+}
+\endgroup
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+      {\DeclareFontFamilySubstitution}{Provide family substituation}%
+
+\let\DeclareFontFamilySubstitution\@undefined
+\EndIncludeInRelease
 \IncludeInRelease{2019/10/01}%
                  {\DeclareErrorFont}{No side effects please}%
 \def\DeclareErrorFont#1#2#3#4#5{%
@@ -4060,9 +5037,594 @@
     \hbadness\z@\showboxdepth\z@\ #1%
     \color at endgroup}}
 \EndIncludeInRelease
+%%% From File: ltfssaxes.dtx
+%% Copyright (C) 1999-2020 Frank Mittelbach
+\IncludeInRelease{2020/02/02}%
+   {\DeclareFontSeriesChangeRule}{Series change rules}%
+\def\DeclareFontSeriesChangeRule#1#2#3#4{%
+  \@namedef{series@#1@#2}{{#3}{#4}}}
+\DeclareFontSeriesChangeRule {bc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {bc}{c}{bc}{}
+\DeclareFontSeriesChangeRule {bc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {bc}{ec}{bec} {bc}
+\DeclareFontSeriesChangeRule {bc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {bc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {bc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {bc}{sc}{bsc} {bc}
+\DeclareFontSeriesChangeRule {bc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {bc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {bc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {bc}{x}{bx}{}
+\DeclareFontSeriesChangeRule {bx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {bx}{c}  {bc}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {bx}{ec}  {bec}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {bx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {bx}{sb} {sbx} {}
+\DeclareFontSeriesChangeRule {bx}{sc}  {bsc}  {bx} %<-----
+\DeclareFontSeriesChangeRule {bx}{sl}{slx}  {}
+\DeclareFontSeriesChangeRule {bx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {bx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {bx}{x}{bx}{}
+\DeclareFontSeriesChangeRule {b}{bx} {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{c}  {bc}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{ec}  {bec}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{sb} {sb}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{sc}  {bsc}  {b} %<-----
+\DeclareFontSeriesChangeRule {b}{x}  {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {c}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {c}{b}{bc}{}
+\DeclareFontSeriesChangeRule {c}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {c}{el}{elc}{}
+\DeclareFontSeriesChangeRule {c}{l}{lc}{}
+\DeclareFontSeriesChangeRule {c}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {c}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {c}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {c}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {c}{x}{x}{m}               %<-----
+\DeclareFontSeriesChangeRule {ebc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ebc}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {ebc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ebc}{ec}{ebec}{ebc}
+\DeclareFontSeriesChangeRule {ebc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ebc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ebc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ebc}{sc}{ebsc}{ebc}
+\DeclareFontSeriesChangeRule {ebc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ebc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ebc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ebc}{x}{ebx}{}
+\DeclareFontSeriesChangeRule {ec}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {ec}{b}{bec}{}
+\DeclareFontSeriesChangeRule {ec}{eb}{ebec}{}
+\DeclareFontSeriesChangeRule {ec}{el}{elec}{}
+\DeclareFontSeriesChangeRule {ec}{l}{lec}{}
+\DeclareFontSeriesChangeRule {ec}{sb}{sbec}{}
+\DeclareFontSeriesChangeRule {ec}{sl}{slec}{}
+\DeclareFontSeriesChangeRule {ec}{ub}{ubec}{}
+\DeclareFontSeriesChangeRule {ec}{ul}{ulec}{}
+\DeclareFontSeriesChangeRule {ec}{x}{x}{m}              %<-----
+\DeclareFontSeriesChangeRule {sc}{bx} {bx}  {b}  %<-----
+\DeclareFontSeriesChangeRule {sc}{b}{bsc}{}
+\DeclareFontSeriesChangeRule {sc}{eb}{ebsc}{}
+\DeclareFontSeriesChangeRule {sc}{el}{elsc}{}
+\DeclareFontSeriesChangeRule {sc}{l}{lsc}{}
+\DeclareFontSeriesChangeRule {sc}{sb}{sbsc}{}
+\DeclareFontSeriesChangeRule {sc}{sl}{slsc}{}
+\DeclareFontSeriesChangeRule {sc}{ub}{ubsc}{}
+\DeclareFontSeriesChangeRule {sc}{ul}{ulsc}{}
+\DeclareFontSeriesChangeRule {sc}{x}{x}{m}              %<-----
+\DeclareFontSeriesChangeRule {ebx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ebx}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {ebx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ebx}{ec}{ebec}{}
+\DeclareFontSeriesChangeRule {ebx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ebx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ebx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ebx}{sc}{ebsc}{}
+\DeclareFontSeriesChangeRule {ebx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ebx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ebx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ebx}{x}{ebx}{}
+\DeclareFontSeriesChangeRule {eb}{c}{ebc}{}
+\DeclareFontSeriesChangeRule {eb}{ec}{ebec}{}
+\DeclareFontSeriesChangeRule {eb}{sc}{ebsc}{}
+\DeclareFontSeriesChangeRule {eb}{x}{ebx}{}
+\DeclareFontSeriesChangeRule {elc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {elc}{c}{elc}{}
+\DeclareFontSeriesChangeRule {elc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {elc}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {elc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {elc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {elc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {elc}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {elc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {elc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {elc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {elc}{x}{elx}{}
+\DeclareFontSeriesChangeRule {elx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {elx}{c}{elc}{}
+\DeclareFontSeriesChangeRule {elx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {elx}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {elx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {elx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {elx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {elx}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {elx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {elx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {elx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {elx}{x}{elx}{}
+\DeclareFontSeriesChangeRule {el}{c}{elc}{}
+\DeclareFontSeriesChangeRule {el}{ec}{elec}{}
+\DeclareFontSeriesChangeRule {el}{sc}{elsc}{}
+\DeclareFontSeriesChangeRule {el}{x}{elx}{}
+\DeclareFontSeriesChangeRule {lc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {lc}{c}{lc}{}
+\DeclareFontSeriesChangeRule {lc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {lc}{ec}{lec}{}
+\DeclareFontSeriesChangeRule {lc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {lc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {lc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {lc}{sc}{lsc}{}
+\DeclareFontSeriesChangeRule {lc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {lc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {lc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {lc}{x}{lx}{}
+\DeclareFontSeriesChangeRule {lx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {lx}{c}{lc}{}
+\DeclareFontSeriesChangeRule {lx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {lx}{ec}{lec}{}
+\DeclareFontSeriesChangeRule {lx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {lx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {lx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {lx}{sc}{lsc}{}
+\DeclareFontSeriesChangeRule {lx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {lx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {lx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {lx}{x}{lx}{}
+\DeclareFontSeriesChangeRule {l}{bx} {bx}  {b} %<-----
+\DeclareFontSeriesChangeRule {l}{b}  {b}   {bx} %<-----
+\DeclareFontSeriesChangeRule {l}{c}  {lc}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{ec}  {lec}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{sb} {sb}  {b}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{sc}  {lsc}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {l}{x}  {lx}  {l}  % ? %<-----
+\DeclareFontSeriesChangeRule {m}{bx} {bx} {b}    %<-----
+\DeclareFontSeriesChangeRule {m}{b}  {b}  {bx} %<-----
+\DeclareFontSeriesChangeRule {m}{c}  {c}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{ec}  {ec}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{l}  {l}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{sb} {sb} {b} %<-----
+\DeclareFontSeriesChangeRule {m}{sc}  {sc}  {m} %<-----
+\DeclareFontSeriesChangeRule {m}{x}  {x}  {m} %<-----
+\DeclareFontSeriesChangeRule {sbc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {sbc}{c}{sbc}{}
+\DeclareFontSeriesChangeRule {sbc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {sbc}{ec}{sbec}{sbc}
+\DeclareFontSeriesChangeRule {sbc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {sbc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {sbc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {sbc}{sc}{sbsc}{sbc}
+\DeclareFontSeriesChangeRule {sbc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {sbc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {sbc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {sbc}{x}{sbx}{}
+\DeclareFontSeriesChangeRule {sbx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {sbx}{c}{sbc}{}
+\DeclareFontSeriesChangeRule {sbx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {sbx}{ec}{sbec}{}
+\DeclareFontSeriesChangeRule {sbx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {sbx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {sbx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {sbx}{sc}{sbsc}{}
+\DeclareFontSeriesChangeRule {sbx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {sbx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {sbx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {sbx}{x}{sbx}{}
+\DeclareFontSeriesChangeRule {sb}{c}  {sbc} {bc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{ec}  {sbec} {sbc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{sc}  {sbsc} {sbc} %? %<-----
+\DeclareFontSeriesChangeRule {sb}{x}  {sbx} {bx} %? %<-----
+\DeclareFontSeriesChangeRule {slc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {slc}{c}{slc}{}
+\DeclareFontSeriesChangeRule {slc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {slc}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {slc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {slc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {slc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {slc}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {slc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {slc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {slc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {slc}{x}{slx}{}
+\DeclareFontSeriesChangeRule {slx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {slx}{c}{slc}{}
+\DeclareFontSeriesChangeRule {slx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {slx}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {slx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {slx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {slx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {slx}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {slx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {slx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {slx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {slx}{x}{slx}{}
+\DeclareFontSeriesChangeRule {sl}{c}{slc}{}
+\DeclareFontSeriesChangeRule {sl}{ec}{slec}{}
+\DeclareFontSeriesChangeRule {sl}{sc}{slsc}{}
+\DeclareFontSeriesChangeRule {sl}{x}{slx}{}
+\DeclareFontSeriesChangeRule {ubc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ubc}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ubc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ubc}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ubc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ubc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ubc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ubc}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ubc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ubc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ubc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ubc}{x}{ubx}{}
+\DeclareFontSeriesChangeRule {ubx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ubx}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ubx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ubx}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ubx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ubx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ubx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ubx}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ubx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ubx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ubx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ubx}{x}{ubx}{}
+\DeclareFontSeriesChangeRule {ub}{c}{ubc}{}
+\DeclareFontSeriesChangeRule {ub}{ec}{ubec}{}
+\DeclareFontSeriesChangeRule {ub}{sc}{ubsc}{}
+\DeclareFontSeriesChangeRule {ub}{x}{ubx}{}
+\DeclareFontSeriesChangeRule {ulc}{b}{bc}{}
+\DeclareFontSeriesChangeRule {ulc}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ulc}{eb}{ebc}{}
+\DeclareFontSeriesChangeRule {ulc}{ec}{ulec}{ulc}
+\DeclareFontSeriesChangeRule {ulc}{el}{elc}{}
+\DeclareFontSeriesChangeRule {ulc}{l}{lc}{}
+\DeclareFontSeriesChangeRule {ulc}{sb}{sbc}{}
+\DeclareFontSeriesChangeRule {ulc}{sc}{ulsc}{ulc}
+\DeclareFontSeriesChangeRule {ulc}{sl}{slc}{}
+\DeclareFontSeriesChangeRule {ulc}{ub}{ubc}{}
+\DeclareFontSeriesChangeRule {ulc}{ul}{ulc}{}
+\DeclareFontSeriesChangeRule {ulc}{x}{ulx}{}
+\DeclareFontSeriesChangeRule {ulx}{b}{bx}{}
+\DeclareFontSeriesChangeRule {ulx}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ulx}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {ulx}{ec}{ulec}{}
+\DeclareFontSeriesChangeRule {ulx}{el}{elx}{}
+\DeclareFontSeriesChangeRule {ulx}{l}{lx}{}
+\DeclareFontSeriesChangeRule {ulx}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {ulx}{sc}{ulsc}{}
+\DeclareFontSeriesChangeRule {ulx}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {ulx}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {ulx}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {ulx}{x}{ulx}{}
+\DeclareFontSeriesChangeRule {ul}{c}{ulc}{}
+\DeclareFontSeriesChangeRule {ul}{ec}{ulec}{}
+\DeclareFontSeriesChangeRule {ul}{sc}{ulsc}{}
+\DeclareFontSeriesChangeRule {ul}{x}{ulx}{}
+\DeclareFontSeriesChangeRule {x}{b}{bx}{}
+\DeclareFontSeriesChangeRule {x}{c}{c}{}
+\DeclareFontSeriesChangeRule {x}{eb}{ebx}{}
+\DeclareFontSeriesChangeRule {x}{ec}{ec}{}
+\DeclareFontSeriesChangeRule {x}{el}{elx}{}
+\DeclareFontSeriesChangeRule {x}{l}{lx}{}
+\DeclareFontSeriesChangeRule {x}{sb}{sbx}{}
+\DeclareFontSeriesChangeRule {x}{sc}{sc}{}
+\DeclareFontSeriesChangeRule {x}{sl}{slx}{}
+\DeclareFontSeriesChangeRule {x}{ub}{ubx}{}
+\DeclareFontSeriesChangeRule {x}{ul}{ulx}{}
+\DeclareFontSeriesChangeRule {bc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {bec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {bsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {bx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {b}{m?}{m}{}
+\DeclareFontSeriesChangeRule {c}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ebc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ebec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ebsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ebx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {eb}{m?}{m}{}
+\DeclareFontSeriesChangeRule {ec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {elc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {elec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {elsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {elx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {el}{m?}{m}{}
+\DeclareFontSeriesChangeRule {lc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {lec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {lsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {lx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {l}{m?}{m}{}
+\DeclareFontSeriesChangeRule {m}{m?}{m}{}
+\DeclareFontSeriesChangeRule {sbc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {sbec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {sbsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {sbx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {sb}{m?}{m}{}
+\DeclareFontSeriesChangeRule {sc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {slc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {slec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {slsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {slx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {sl}{m?}{m}{}
+\DeclareFontSeriesChangeRule {ubc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ubec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ubsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ubx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {ub}{m?}{ub}{}
+\DeclareFontSeriesChangeRule {ulc}{m?}{c}{}
+\DeclareFontSeriesChangeRule {ulec}{m?}{ec}{}
+\DeclareFontSeriesChangeRule {ulsc}{m?}{sc}{}
+\DeclareFontSeriesChangeRule {ulx}{m?}{x}{}
+\DeclareFontSeriesChangeRule {ul}{m?}{m}{}
+\DeclareFontSeriesChangeRule {x}{m?}{x}{}
+\DeclareFontSeriesChangeRule {bc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bec}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bsc}{?m}{b}{}
+\DeclareFontSeriesChangeRule {bx}{?m}{b}{}
+\DeclareFontSeriesChangeRule {b}{?m}{b}{}
+\DeclareFontSeriesChangeRule {c}{?m}{m}{}
+\DeclareFontSeriesChangeRule {ebc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebec}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebsc}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ebx}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {eb}{?m}{eb}{}
+\DeclareFontSeriesChangeRule {ec}{?m}{m}{}
+\DeclareFontSeriesChangeRule {elc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elec}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elsc}{?m}{el}{}
+\DeclareFontSeriesChangeRule {elx}{?m}{el}{}
+\DeclareFontSeriesChangeRule {el}{?m}{el}{}
+\DeclareFontSeriesChangeRule {lc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lec}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lsc}{?m}{l}{}
+\DeclareFontSeriesChangeRule {lx}{?m}{l}{}
+\DeclareFontSeriesChangeRule {l}{?m}{l}{}
+\DeclareFontSeriesChangeRule {m}{?m}{m}{}
+\DeclareFontSeriesChangeRule {sbc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbec}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbsc}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sbx}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sb}{?m}{sb}{}
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{}
+\DeclareFontSeriesChangeRule {sc}{?m}{m}{}
+\DeclareFontSeriesChangeRule {slc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slec}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slsc}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {slx}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {sl}{?m}{sl}{}
+\DeclareFontSeriesChangeRule {ubc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubec}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubsc}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ubx}{?m}{ub}{}
+\DeclareFontSeriesChangeRule {ub}{?m}{m}{}
+\DeclareFontSeriesChangeRule {ulc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulec}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulsc}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ulx}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {ul}{?m}{ul}{}
+\DeclareFontSeriesChangeRule {x}{?m}{m}{}
+
+
+\DeclareRobustCommand\fontseriesforce[1]{\edef\f at series{#1}}
+\DeclareRobustCommand\fontseries[1]{\merge at font@series{#1}}
+
+\def\merge at font@series#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@series@
+    \csname series@\f at series @#1\endcsname
+    {#1}%
+    \@nil
+}
+
+\def\merge at font@series@#1#2#3\@nil{%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \set at target@series{#2}%
+  \else
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /#1/\f at shape}%
+     \ifcsname \@reserveda \endcsname
+       \set at target@series{#1}%
+    \else
+       \ifcsname \f at encoding /\f at family /#2/\f at shape \endcsname
+         \set at target@series{#2}%
+         \@font at shape@subst at warning
+       \else
+         \set at target@series{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+\def\@font at shape@subst at warning{%
+   \edef\@reservedb{\curr at fontshape}%
+   \ifx\@reserveda\@reservedb \else
+     \@font at warning{Font shape `\@reserveda' undefined\MessageBreak
+                    using `\@reservedb' instead}%
+   \fi
+}
+\def\maybe at load@fontshape{\begingroup\try at load@fontshape\endgroup}
+\DeclareFontSeriesChangeRule {m}{sc}{msc}{mc}
+\def\set at target@series#1{%
+    \edef\f at series{#1}%
+    \edef\f at series{\expandafter\series at drop@one at m\f at series mm\series at drop@one at m}%
+}
+\def\series at drop@one at m#1m#2m#3\series at drop@one at m{%
+  \ifx\relax#1#2\relax m\else#1#2\fi
+}
+
+\def\DeclareFontShapeChangeRule #1#2#3#4{%
+  \@namedef{shape@#1@#2}{{#3}{#4}}}
+\DeclareRobustCommand\ulcshape
+        {\not at math@alphabet\ulcshape\relax
+         \fontshape\ulcdefault\selectfont}
+\newcommand\ulcdefault{ulc}
+\DeclareRobustCommand\swshape
+        {\not at math@alphabet\swshape\relax
+         \fontshape\swdefault\selectfont}
+\newcommand\swdefault{sw}
+\DeclareRobustCommand\sscshape
+        {\not at math@alphabet\sscshape\relax
+         \fontshape\sscdefault\selectfont}
+\newcommand\sscdefault{ssc}
+\DeclareFontShapeChangeRule {n}{it}  {it}  {sl}
+\DeclareFontShapeChangeRule {n}{sl}  {sl}  {it}
+\DeclareFontShapeChangeRule {n}{ulc} {n}   {}
+\DeclareFontShapeChangeRule {n}{up} {n}    {}
+\DeclareFontShapeChangeRule {it}{sl}  {sl}    {it}
+\DeclareFontShapeChangeRule {it}{sc}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {it}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {it}{up} {n}      {}
+\DeclareFontShapeChangeRule {sl}{it}  {it}    {sl}
+\DeclareFontShapeChangeRule {sl}{sc}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {sl}{up} {n}      {}
+\DeclareFontShapeChangeRule {sc}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {sc}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {sc}{sw}  {scsw}  {sw}
+\DeclareFontShapeChangeRule {sc}{ulc} {n}     {}
+\DeclareFontShapeChangeRule {sc}{up} {n}     {}
+\DeclareFontShapeChangeRule {scit}{it}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{sl}  {scsl}  {scit}
+\DeclareFontShapeChangeRule {scit}{sw}  {scsw}  {sc}    % or scit?
+\DeclareFontShapeChangeRule {scit}{sc}  {scit}  {}
+\DeclareFontShapeChangeRule {scit}{ulc} {it}    {}
+\DeclareFontShapeChangeRule {scit}{up} {sc}     {}
+\DeclareFontShapeChangeRule {scsl}{it}  {scit}  {scsl}
+\DeclareFontShapeChangeRule {scsl}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{sw}  {scsw}  {sc}    % or scsl?
+\DeclareFontShapeChangeRule {scsl}{sc}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsl}{ulc} {sl}    {}
+\DeclareFontShapeChangeRule {scsl}{up}   {sc}   {}
+\DeclareFontShapeChangeRule {scsw}{it}  {scit}  {scsw}
+\DeclareFontShapeChangeRule {scsw}{sl}  {scsl}  {}
+\DeclareFontShapeChangeRule {scsw}{sw}  {scsw}  {}
+\DeclareFontShapeChangeRule {scsw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {scsw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {scsw}{up} {sc}     {}
+\DeclareFontShapeChangeRule {sw}{sc}  {scsw}  {}
+\DeclareFontShapeChangeRule {sw}{ulc} {sw}    {}
+\DeclareFontShapeChangeRule {sw}{up} {n}      {}
+\DeclareRobustCommand\fontshape[1]{\merge at font@shape{#1}}
+\DeclareRobustCommand\fontshapeforce[1]{\edef\f at shape{#1}}
+\def\merge at font@shape#1{%
+  \expandafter\expandafter\expandafter
+  \merge at font@shape@
+    \csname shape@\f at shape @#1\endcsname
+    {#1}%
+    \@nil
+}
+
+\def\merge at font@shape@#1#2#3\@nil{%
+  \def\@reserveda{#3}%
+  \ifx\@reserveda\@empty
+    \edef\f at shape{#2}%
+  \else
+    \maybe at load@fontshape
+    \edef\@reserveda{\f at encoding /\f at family /\f at series/#1}%
+     \ifcsname \@reserveda\endcsname
+       \edef\f at shape{#1}%
+    \else
+       \ifcsname \f at encoding /\f at family /\f at series/#2\endcsname
+         \edef\f at shape{#2}%
+         \@font at shape@subst at warning
+       \else
+         \edef\f at shape{#3}%
+         \@font at shape@subst at warning
+       \fi
+    \fi
+  \fi
+}
+\protected\def\normalshape
+    {\not at math@alphabet\normalshape\relax
+      \fontshape\shapedefault\selectfont}%
+\def\reinstall at nfss@defs{%
+  \protected\def\upshape
+          {\not at math@alphabet\upshape\relax
+           \fontshape\updefault\selectfont}%
+  \protected\def\slshape
+          {\not at math@alphabet\slshape\relax
+           \fontshape\sldefault\selectfont}%
+  \protected\def\scshape
+          {\not at math@alphabet\scshape\relax
+           \fontshape\scdefault\selectfont}%
+  \protected\def\itshape
+          {\not at math@alphabet\itshape\mathit
+           \fontshape\itdefault\selectfont}%
+  \protected\def\ulcshape
+          {\not at math@alphabet\ulcshape\relax
+           \fontshape{ulc}\selectfont}%
+  \protected\def\swshape
+          {\not at math@alphabet\swshape\relax
+           \fontshape\swdefault\selectfont}%
+  \protected\def\sscshape
+          {\not at math@alphabet\sscshape\relax
+           \fontshape\sscdefault\selectfont}%
+}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+   {\DeclareFontSeriesChangeRule}{Series change rules}%
+
+\DeclareRobustCommand\fontseries[1]{\edef\f at series{#1}}
+\DeclareRobustCommand\fontshape [1]{\edef\f at shape{#1}}
+\let\fontseriesforce\@undefined
+\let\fontshapeforce\@undefined
+
+\let\DeclareFontSeriesChangeRule\@undefined
+\let\merge at font@series\@undefined
+\let\merge at font@series@\@undefined
+\let\@font at shape@subst at warning\@undefined
+\let\maybe at load@fontshape\@undefined
+\let\set at target@series\@undefined
+\let\series at drop@one at m\@undefined
+\let\DeclareFontShapeChangeRule\@undefined
+\let\merge at font@shape\@undefined
+\let\merge at font@shape@\@undefined
+\let\normalshape\@undefined
+\let\ulcshape\@undefined
+\let\ulcdefault\@undefined
+\let\swshape\@undefined
+\let\swdefault\@undefined
+\let\sscshape\@undefined
+\let\sscdefault\@undefined
+\let\normalshape\@undefined
+
+\let\reinstall at nfss@defs\relax
+\EndIncludeInRelease
 %%% From File: ltfsstrc.dtx
 %% Copyright (C) 1989-97 by Frank Mittelbach and Rainer Sch\"opf.
 %% Copyright (C) 1994-97 by LaTeX3 project. All rights reserved.
+\IncludeInRelease{2020/02/01}%
+                 {\@font at aliasinfo}{alias size function}%
+\DeclareSizeFunction{alias}{\sub at sfcnt\@font at aliasinfo}
+\def\@font at aliasinfo#1{%
+  \@font at info{Font\space shape\space `\curr at fontshape'\space
+              aliased\space to\MessageBreak `\mandatory at arg'}%
+}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\@font at aliasinfo}{alias size function}%
+\let\s at fct@alias\@undefined
+\let\@font at aliasinfo\@undefined
+
+\EndIncludeInRelease
 %%% From File: ltfsscmp.dtx
 %% Copyright (C) 1989-1995 Frank Mittelbach and Rainer Sch\"opf,
 %% all rights reserved.
@@ -4311,6 +5873,18 @@
 \kernel at make@fragile\end
 
 \EndIncludeInRelease
+\IncludeInRelease{2020/02/02}%
+                 {\@centercr}{Make robust}%
+\protected\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
+       \par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+                 {\@centercr}{Make robust}%
+
+\def\@centercr{\ifhmode \unskip\else \@nolnerr\fi
+       \par\@ifstar{\nobreak\@xcentercr}\@xcentercr}
+
+\EndIncludeInRelease
 \IncludeInRelease{2019/10/01}%
                  {\centering}{Make commands robust}%
 \DeclareRobustCommand\centering{%
@@ -4649,6 +6223,27 @@
 \fontencoding{OT1}\let\encodingdefault\f at encoding
 \EndIncludeInRelease
 \fi
+%%% From File: ltexpl.dtx
+\IncludeInRelease{2020/02/02}%
+                 {expl3}{Pre-load expl3}%
+\IfFileExists{expl3.ltx}
+  {%
+    \ifnum0%
+      \ifdefined\pdffilesize 1\fi
+      \ifdefined\filesize 1\fi
+      \ifdefined\luatexversion\ifnum\luatexversion>94 1\fi\fi
+      >0 %
+    \else
+      \message{Skipping expl3-dependent extensions}
+      \expandafter\@gobbletwo
+    \fi
+  }
+  {%
+    \message{Skipping expl3-dependent extensions}%
+    \@gobbletwo
+  }%
+\input{expl3.ltx}
+\EndIncludeInRelease
 %%% From File: ltfinal.dtx
 \IncludeInRelease{2015/01/01}%
                  {\newmarks}{Extended Allocation}%

Modified: trunk/Master/texmf-dist/tex/latex/base/latexsym.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latexsym.sty	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/latexsym.sty	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/latin1.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latin1.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/latin1.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/latin10.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latin10.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/latin10.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/latin2.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latin2.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/latin2.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/latin3.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latin3.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/latin3.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/latin4.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latin4.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/latin4.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/latin5.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latin5.def	2020-02-02 22:31:17 UTC (rev 53639)
+++ trunk/Master/texmf-dist/tex/latex/base/latin5.def	2020-02-02 22:42:01 UTC (rev 53640)
@@ -13,7 +13,7 @@
 %% (but please observe conditions on bug reports sent to that address!)
 %% 
 %% 
-%% Copyright (C) 1993-2019
+%% Copyright (C) 1993-2020
 %% The LaTeX3 Project and any individual authors listed elsewhere
 %% in this file.
 %% 

Modified: trunk/Master/texmf-dist/tex/latex/base/latin9.def
===================================================================
--- trunk/Master/texmf-dist/tex/latex/base/latin9.def	2020-02-02 22:31:17 UTC (rev 53639)

@@ Diff output truncated at 1234567 characters. @@


More information about the tex-live-commits mailing list.