summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2017-04-15 22:59:15 +0000
committerKarl Berry <karl@freefriends.org>2017-04-15 22:59:15 +0000
commit2e36532bb99dce0d6c5fba60f7adba7e2bfb7c37 (patch)
treecc660828dba6c726fdb074cf8863c67909b4c12b /Master/texmf-dist/source
parent3921a22f73049427dc715ed4969798cd28ba9142 (diff)
latex2e (15apr17, ltnews27)
git-svn-id: svn://tug.org/texlive/trunk@43813 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r--Master/texmf-dist/source/latex/amsmath/amscd.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/doc.dtx18
-rw-r--r--Master/texmf-dist/source/latex/base/docstrip.dtx6
-rw-r--r--Master/texmf-dist/source/latex/base/fontdef.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/latexrelease.ins6
-rw-r--r--Master/texmf-dist/source/latex/base/ltboxes.dtx44
-rw-r--r--Master/texmf-dist/source/latex/base/ltclass.dtx19
-rw-r--r--Master/texmf-dist/source/latex/base/ltdefns.dtx128
-rw-r--r--Master/texmf-dist/source/latex/base/ltfiles.dtx80
-rw-r--r--Master/texmf-dist/source/latex/base/ltfinal.dtx22
-rw-r--r--Master/texmf-dist/source/latex/base/ltfloat.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltluatex.dtx92
-rw-r--r--Master/texmf-dist/source/latex/base/ltmiscen.dtx61
-rw-r--r--Master/texmf-dist/source/latex/base/ltnews27.tex135
-rw-r--r--Master/texmf-dist/source/latex/base/ltoutenc.dtx547
-rw-r--r--Master/texmf-dist/source/latex/base/ltoutput.dtx147
-rw-r--r--Master/texmf-dist/source/latex/base/ltplain.dtx13
-rw-r--r--Master/texmf-dist/source/latex/base/ltsect.dtx33
-rw-r--r--Master/texmf-dist/source/latex/base/ltvers.dtx4
-rw-r--r--Master/texmf-dist/source/latex/base/ltxdoc.dtx8
-rw-r--r--Master/texmf-dist/source/latex/base/unpack.ins6
-rw-r--r--Master/texmf-dist/source/latex/graphics/graphics.dtx19
-rw-r--r--Master/texmf-dist/source/latex/tools/multicol.dtx21
23 files changed, 1025 insertions, 390 deletions
diff --git a/Master/texmf-dist/source/latex/amsmath/amscd.dtx b/Master/texmf-dist/source/latex/amsmath/amscd.dtx
index 8dab799b486..251b3ae396b 100644
--- a/Master/texmf-dist/source/latex/amsmath/amscd.dtx
+++ b/Master/texmf-dist/source/latex/amsmath/amscd.dtx
@@ -103,7 +103,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
[1994/12/01]% LaTeX date must December 1994 or later
-\ProvidesPackage{amscd}[1999/11/29 v2.0 AMS Commutatitive Diagrams]
+\ProvidesPackage{amscd}[2017/04/14 v2.1 AMS Commutative Diagrams]
% \end{macrocode}
% \begin{macrocode}
\RequirePackage{amsgen}
diff --git a/Master/texmf-dist/source/latex/base/doc.dtx b/Master/texmf-dist/source/latex/base/doc.dtx
index c397911f67e..049d8a118bb 100644
--- a/Master/texmf-dist/source/latex/base/doc.dtx
+++ b/Master/texmf-dist/source/latex/base/doc.dtx
@@ -60,9 +60,9 @@
% 1.5b and higher... are documented with the (undocumented) \changes
% feature.
%\fi
-% \changes{v1.5f}{1989/4/29}{Thanks to Brian who documented the
+% \changes{v1.5f}{1989/04/29}{Thanks to Brian who documented the
% \cs{changes} macro feature.}
-% \changes{v1.5g}{1989/5/07}{MacroTopsep now called MacrocodeTopsep and
+% \changes{v1.5g}{1989/05/07}{MacroTopsep now called MacrocodeTopsep and
% new MacroTopsep added}
% \changes{v1.5h}{1989/05/17}{All lines shortened to <72 characters}
% \changes{v1.5j}{1989/06/09}{Corrections by Ron Whitney added}
@@ -1347,7 +1347,7 @@
% \changes{v1.5l}{1989/09/10}{Code line numbers supported.}
% \changes{v1.5t}{1989/11/07}{Call \cs{leavevmode} to get \cs{everypar}
% on blank lines.}
-% \changes{v1.7c}{1992/3/24}{Added \cs{interlinepenalty} to
+% \changes{v1.7c}{1992/03/24}{Added \cs{interlinepenalty} to
% \cs{par} from
% verbatim.sty}
% \begin{macrocode}
@@ -1960,7 +1960,7 @@
% We also
% make the |\marginparpush| zero and |\marginparwidth| suitably
% wide.
-% \changes{v1.5d}{1989/4/28}{\cs{marginparwidth} setting added.}
+% \changes{v1.5d}{1989/04/28}{\cs{marginparwidth} setting added.}
% \begin{macrocode}
\reversemarginpar
\setlength\marginparpush{0pt} \setlength\marginparwidth{8pc}
@@ -2026,7 +2026,7 @@
% |\@verbatim| sets |^^M|, the end of line character, to
% be equal to |\par|. This control sequence is redefined
% here; |\@@par| is the paragraph primitive of \TeX.
-% \changes{v1.7c}{1992/3/24}{Added \cs{interlinepenalty} to
+% \changes{v1.7c}{1992/03/24}{Added \cs{interlinepenalty} to
% \cs{par} from verbatim.sty}
% \begin{macrocode}
\def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par
@@ -2195,7 +2195,7 @@
% After scanning the argument we close the group to get the normal
% |\catcode|$\,$s back. Then we assign a special value to
% |\topsep| and start a \textsf{trivlist} environment.
-% \changes{v1.5f}{1989/5/07}{MacroTopsep parameter added.}
+% \changes{v1.5f}{1989/05/07}{MacroTopsep parameter added.}
% \changes{v1.5k}{1989/08/17}{Fix for save stack problem.}
% \changes{v1.8c}{1993/10/25}{Support ``environment'' env}
% \changes{v1.9k}{1994/02/22}{Remove \cs{macro@level}}
@@ -2468,7 +2468,7 @@
% ensure that it is active. The |\begingroup| is used to make
% a possible change local to the expansion of
% |\SpecialEscapechar|.
-% \changes{v1.7g}{1992/6/19}{Making tilde active moved outside
+% \changes{v1.7g}{1992/06/19}{Making tilde active moved outside
% definition}
% \begin{macrocode}
\begingroup
@@ -2729,7 +2729,7 @@
%
%
% \begin{macro}{\short@macro}
-% \changes{v1.5c}{1989/4/27}{Corrected bad bug by putting the
+% \changes{v1.5c}{1989/04/27}{Corrected bad bug by putting the
% scan@allowedfalse macro before printing
% the argument.}
% \changes{v1.7a}{1992/03/10}{Ensure character stored in
@@ -2788,7 +2788,7 @@
% to avoid garbage produced by new active chars}
% \changes{v1.4s}{1989/04/23}{Used \texttt{\protect\bslash string} for
% the same reason.}
-% \changes{v1.5c}{1989/4/27}{Corrected bad bug by placing the
+% \changes{v1.5c}{1989/04/27}{Corrected bad bug by placing the
% scan@allowedfalse macro into short@macro}
% This macro is supposed to generate a suitable |\SortIndex|
% command for a given single-letter control sequence. We test
diff --git a/Master/texmf-dist/source/latex/base/docstrip.dtx b/Master/texmf-dist/source/latex/base/docstrip.dtx
index 189fe637fb2..6470f754394 100644
--- a/Master/texmf-dist/source/latex/base/docstrip.dtx
+++ b/Master/texmf-dist/source/latex/base/docstrip.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2017
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -31,7 +31,7 @@
\def\filename{docstrip.dtx}
\def\fileversion{2.5e}
\def\filedate{2014/09/29}
-\def\docdate {2014/09/29}
+\def\docdate {2017/03/13}
%%
%
%\iffalse
@@ -438,7 +438,7 @@
%
% Do not use the \LaTeX\ syntax |\input{docstrip}| as batch files may
% be used with plain~\TeX\ or ini\TeX.
-% You may that old batch files always have a line
+% You may find that old batch files always have a line
% |\def\batchfile{|\meta{filename}|}|
% just before the input.
% Such usage is still supported but is now discouraged, as it causes
diff --git a/Master/texmf-dist/source/latex/base/fontdef.dtx b/Master/texmf-dist/source/latex/base/fontdef.dtx
index 83eec0d5bbd..d14c5c21d71 100644
--- a/Master/texmf-dist/source/latex/base/fontdef.dtx
+++ b/Master/texmf-dist/source/latex/base/fontdef.dtx
@@ -239,7 +239,7 @@
%
% \changes{v2.1d}{1994/01/05}{Removed nf prefix from file names.}
% \changes{v2.1f}{1994/05/14}{Removed .def files.}
-% \changes{v2.1g}{1994/05/1g}{Removed \cs{DeclareFontEncoding} for ot1
+% \changes{v2.1g}{1994/05/16}{Removed \cs{DeclareFontEncoding} for ot1
% and t1 and input .def files instead}
% \changes{v2.2c}{1994/10/25}{Added OMSenc.def}
% \changes{v2.2d}{1994/10/31}{Added OMLenc.def ...}
diff --git a/Master/texmf-dist/source/latex/base/latexrelease.ins b/Master/texmf-dist/source/latex/base/latexrelease.ins
index f9091499f8f..e4780394330 100644
--- a/Master/texmf-dist/source/latex/base/latexrelease.ins
+++ b/Master/texmf-dist/source/latex/base/latexrelease.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2016
+%% Copyright 1993-2017
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -45,7 +45,7 @@ reports for it can be opened at http://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2016
+Copyright 1993-2017
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -79,6 +79,7 @@ extension .ins) which are part of the distribution.
\usedir{tex/latex/base}
\generateFile{latexrelease.sty}{t}{%
+ \from{ltclass.dtx} {isodate}%
\from{ltvers.dtx} {latexrelease}%
\from{latexrelease.dtx}{latexrelease}%
\from{ltdirchk.dtx} {latexrelease}%
@@ -86,6 +87,7 @@ extension .ins) which are part of the distribution.
\from{ltboxes.dtx} {latexrelease}%
\from{ltmath.dtx} {latexrelease}%
\from{ltpictur.dtx} {latexrelease}%
+ \from{ltfiles.dtx} {latexrelease}%
\from{ltoutenc.dtx} {latexrelease}%
\from{ltcounts.dtx} {latexrelease}%
\from{ltlength.dtx} {latexrelease}%
diff --git a/Master/texmf-dist/source/latex/base/ltboxes.dtx b/Master/texmf-dist/source/latex/base/ltboxes.dtx
index c631a1f9cbb..5fac793f141 100644
--- a/Master/texmf-dist/source/latex/base/ltboxes.dtx
+++ b/Master/texmf-dist/source/latex/base/ltboxes.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2017
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltboxes.dtx}
- [2016/12/29 v1.2a LaTeX Kernel (Box Commands)]
+ [2017/03/29 v1.3a LaTeX Kernel (Box Commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltboxes.dtx}
@@ -866,6 +866,11 @@
% redundant.
% \changes{v1.1a}{1996/10/24}{Added local settings of flags: dangerous!!}
% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2017-04-15}%
+%<latexrelease> {\normallineskiplimit}
+%<latexrelease> {reset \lineskiplimit}%
+%<*2ekernel|latexrelease>
\def\@arrayparboxrestore{%
\let\if@nobreak\iffalse
\let\if@noskipsec\iffalse
@@ -882,9 +887,42 @@
\linewidth\hsize
\@totalleftmargin\z@
\leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip
- \parfillskip\@flushglue \lineskip\normallineskip
+ \parfillskip\@flushglue
+ \lineskip\normallineskip
+% \end{macrocode}
+% \changes{v1.3a}{2017/03/29}
+% {Reset \cs{lineskiplimit}}
+% \begin{macrocode}
+ \lineskiplimit\normallineskiplimit
+% \end{macrocode}
+%
+% \begin{macrocode}
\baselineskip\normalbaselineskip
\sloppy}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}%
+%<latexrelease> {\normallineskiplimit}
+%<latexrelease> {reset \lineskiplimit}%
+%<latexrelease>\def\@arrayparboxrestore{%
+%<latexrelease> \let\if@nobreak\iffalse
+%<latexrelease> \let\if@noskipsec\iffalse
+%<latexrelease> \let\par\@@par
+%<latexrelease> \let\-\@dischyph
+%<latexrelease> \let\'\@acci\let\`\@accii\let\=\@acciii
+%<latexrelease> \parindent\z@ \parskip\z@skip
+%<latexrelease> \everypar{}%
+%<latexrelease> \linewidth\hsize
+%<latexrelease> \@totalleftmargin\z@
+%<latexrelease> \leftskip\z@skip \rightskip\z@skip \@rightskip\z@skip
+%<latexrelease> \parfillskip\@flushglue \lineskip\normallineskip
+%<latexrelease> \baselineskip\normalbaselineskip
+%<latexrelease> \sloppy}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/base/ltclass.dtx b/Master/texmf-dist/source/latex/base/ltclass.dtx
index ecbcbfff2cf..b1d81c5d6bf 100644
--- a/Master/texmf-dist/source/latex/base/ltclass.dtx
+++ b/Master/texmf-dist/source/latex/base/ltclass.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2016/11/09 v1.2b LaTeX Kernel (Class & Package Interface)]
+ [2017/03/08 v1.2c LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -631,8 +631,22 @@
%
% \changes{v1.1j}{2016/06/20}
% {don't declare as \cs{@onlypreamble}}
+% \changes{v1.2c}{2017/03/08}
+% {add \cs{@parse@version@dash} to support yyyy-mm-dd as well as yyyy/mm/dd }
% \begin{macrocode}
-\def\@parse@version#1/#2/#3#4#5\@nil{#1#2#3#4 }
+%</2ekernel>
+%<*2ekernel|isodate>
+\def\@parse@version#1/#2/#3#4#5\@nil{%
+\@parse@version@dash#1-#2-#3#4\@nil
+}
+% \end{macrocode}
+%
+% The |\if| test here ensures that an argument with no |/| or |-| produces 0 (actually 00).
+% \begin{macrocode}
+\def\@parse@version@dash#1-#2-#3#4#5\@nil{%
+ \if\relax#2\relax\else#1\fi#2#3#4 }
+%</2ekernel|isodate>
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -794,7 +808,6 @@
% \wlog{File: #1 #2}%
% \expandafter\xdef\csname ver@#1\endcsname{#2}%
% \endgroup}
-% \end{macrocode}
%\end{verbatim}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/base/ltdefns.dtx b/Master/texmf-dist/source/latex/base/ltdefns.dtx
index ea55d76b7e9..7cc8a1361b1 100644
--- a/Master/texmf-dist/source/latex/base/ltdefns.dtx
+++ b/Master/texmf-dist/source/latex/base/ltdefns.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2017
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltdefns.dtx}
- [2015/02/21 v1.4b LaTeX Kernel (definition commands)]
+ [2017/03/73 v1.5b LaTeX Kernel (definition commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltdefns.dtx}
@@ -144,58 +144,13 @@
% \end{macro}
%
% \begin{macro}{\@@hyph}
-% \begin{macro}{\-}
-% \changes{1.2x}{1995/12/13}{Documentation changed.}
-% The following comment was added when these commands were first set
-% up, 19 April 1986:
-% the |\-| command is redefined to allow it to work in the |\ttfamily|
-% type style, where automatic hyphenation is suppressed by setting
-% |\hyphenchar| to~$-1$. The original primitive \TeX{} definition is
-% saved as |\@@hyph| just in case anyone needs it.
-%
-% There is a need for a robust command for a discretionary hyphen
-% since its exact representation depends on the glyphs available in
-% the current font. For example, with suitable fonts and the
-% \texttt{T1} font encoding it is possible to use hanging hyphens.
-%
-% A suitable robust definition that allows for many possible types of
-% font and encoding may be as follows:
-% \begin{verbatim}
-% \DeclareRobustCommand {\-}{%
-% \discretionary {%
-% \char \ifnum\hyphenchar\font<\z@
-% \defaulthyphenchar
-% \else
-% \hyphenchar\font
-% \fi
-% }{}{}%
-% }
-% \end{verbatim}
-%
-% The redefinition (via |\let|) of |\-| within tabbing also makes the
-% use of a robust command advisable since then any redefinition
-% of |\-| via |\DeclareRobustCommand| will not cause a conflict.
-%
-% Therefore, macro writers should be hereby warned that
-% these internals will probably change! It is likely that a future
-% release of \LaTeX{} will make |\-| effectively an encoding specific
-% text command.
-%
-% \begin{macrocode}
-\let\@@hyph=\- % Save original primitive definition
-\def\-{\discretionary{-}{}{}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-%
-% \begin{macro}{\@dischyph}
-% \changes{v1.0g}{1994/04/12}
-% {Define \cs{@dischyph}, was previously in ltboxes.dtx}
+% Save original primitive definition.
% \begin{macrocode}
-\let\@dischyph=\-
+\let\@@hyph=\-
% \end{macrocode}
% \end{macro}
%
+%
% \begin{macro}{\@@italiccorr}
% Save the original italic correction.
% \changes{v1.0a}{1994/03/07}{Macro added}
@@ -659,7 +614,7 @@
% version |\let#1=\relax| but this does not work too well if |#1|
% is |\@temp|\emph{a--e}.)
% \changes{LaTeX2e}{1993/11/23}{Macro reimplemented and extended}
-% \changes{v1.1f}{1994/05/2}{Removed surplus \cs{space} in error}
+% \changes{v1.1f}{1994/05/02}{Removed surplus \cs{space} in error}
% \begin{macrocode}
\def\renewcommand{\@star@or@long\renew@command}
% \end{macrocode}
@@ -766,7 +721,7 @@
% |\newenvironment|. It is OK to |\let| the argument to |\relax|
% here as there should not be a |@temp|\ldots\ environment.
% \changes{LaTeX2e}{1993/11/23}{Macro reimplemented and extended}
-% \changes{v1.1f}{1994/05/2}{Removed surplus \cs{space} in error}
+% \changes{v1.1f}{1994/05/02}{Removed surplus \cs{space} in error}
% \begin{macrocode}
\def\renewenvironment{\@star@or@long\renew@environment}
% \end{macrocode}
@@ -1445,6 +1400,75 @@
% \end{macrocode}
% \end{macro}
%
+% \section{Discretionary Hyphenation}
+% \begin{macro}{\-}
+% \changes{1.2x}{1995/12/13}{Documentation changed.}
+% \changes{v1.5a}{2017/03/13}{Define \cs{-} in terms of \cs{hyphenchar}}
+% \begin{macro}{\@dischyph}
+% \changes{v1.0g}{1994/04/12}
+% {Define \cs{@dischyph}, was previously in ltboxes.dtx}
+% \changes{v1.5b}{2017/03/27}{Define \cs{@dischyph} after \cs{-}}
+% \end{macro}
+% Moved here to be after the definition of |\DeclareRobustCommand|.
+%
+% The primitive |\-| command adds a discretionary hyphen using the
+% 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
+% \begin{verbatim}
+% \def\-{\discretionary{-}{}{}}
+% \end{verbatim}
+% The following comment was added when these commands were first set
+% up, 19 April 1986:
+% \begin{quote}
+% the |\-| command is redefined to allow it to work in the |\ttfamily|
+% type style, where automatic hyphenation is suppressed by setting
+% |\hyphenchar| to~$-1$. The original primitive \TeX{} definition is
+% saved as |\@@hyph| just in case anyone needs it.
+% \end{quote}
+%
+% \LaTeXe, between 1993 and 2017, had a comment at this point
+% saying that the definition ``would probably change'' because
+% the definition always uses |-|. The definition used below
+% was given in comments at this point during time.
+%
+% In 2017 we finally enabled this definition by default, with the
+% older \LaTeX\ definition accessible via \textsf{latexrelease}
+% as usual.
+%
+% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2017/04/15}{\-}{Use \hyphenchar in \-}%
+% \end{macrocode}
+% Temporary definition of |\@latex@info|, final definition is later.
+% \begin{macrocode}
+%<*2ekernel>
+\def\@latex@info#1{}
+%</2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*2ekernel|latexrelease>
+\DeclareRobustCommand{\-}{%
+ \discretionary{%
+ \char \ifnum\hyphenchar\font<\z@
+ \defaulthyphenchar
+ \else
+ \hyphenchar\font
+ \fi
+ }{}{}%
+}
+\let\@dischyph=\-
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}{\-}{Use \hyphenchar in \-}%
+%<latexrelease>\def\-{\discretionary{-}{}{}}
+%<latexrelease>\let\@dischyph=\-
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
% \begin{macrocode}
%</2ekernel>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/base/ltfiles.dtx b/Master/texmf-dist/source/latex/base/ltfiles.dtx
index e557f7fef08..f1e2a8d5500 100644
--- a/Master/texmf-dist/source/latex/base/ltfiles.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfiles.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2017
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfiles.dtx}
- [2015/02/21 v1.1m LaTeX Kernel (File Handling)]
+ [2017/03/10 v1.1n LaTeX Kernel (File Handling)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfiles.dtx}
@@ -232,7 +232,13 @@
%
% \begin{macro}{\document}
% \changes{v0.9e}{1993/12/09}{Hook added}
-% Cancel the |\begingroup| from |\begin|
+% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2017/03/10}%
+%<latexrelease> {\document}{Save language for hyphenation}%
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+% Cancel the |\begingroup| from |\begin|.
% \begin{macrocode}
\def\document{\endgroup
% \end{macrocode}
@@ -309,6 +315,18 @@
\fi
\fi
% \end{macrocode}
+% For similar reasons also save the default language, this will be reset
+% locally in the output routine. In particular it allows hyphenation
+% in the page head even if the page break happens in verbatim.
+% If this has already been set by a package, set to the value of |\language|
+% at this spoint.
+% \changes{v1.1n}{2017/03/10}{Save language default}
+% \begin{macrocode}
+ \ifx\document@default@language\m@ne
+ \chardef\document@default@language\language
+ \fi
+% \end{macrocode}
+%
% Way back in 1991 (08/26) FMi \& RmS set the |\@noskipsec| switch
% to true in the preamble and to false here.
% This was done to trap lists and related text in the preamble but it
@@ -386,6 +404,62 @@
% horizontal mode, so ignore the space after |\begin{document}|.
% \begin{macrocode}
\ignorespaces}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\document}{Save language for hyphenation}
+%<latexrelease>\def\document{\endgroup
+%<latexrelease> \ifx\@unusedoptionlist\@empty\else
+%<latexrelease> \@latex@warning@no@line{Unused global option(s):^^J%
+%<latexrelease> \@spaces[\@unusedoptionlist]}%
+%<latexrelease> \fi
+%<latexrelease> \@colht\textheight
+%<latexrelease> \@colroom\textheight \vsize\textheight
+%<latexrelease> \columnwidth\textwidth
+%<latexrelease> \@clubpenalty\clubpenalty
+%<latexrelease> \if@twocolumn
+%<latexrelease> \advance\columnwidth -\columnsep
+%<latexrelease> \divide\columnwidth\tw@ \hsize\columnwidth
+%<latexrelease> \@firstcolumntrue
+%<latexrelease> \fi
+%<latexrelease> \hsize\columnwidth \linewidth\hsize
+%<latexrelease> \begingroup\@floatplacement\@dblfloatplacement
+%<latexrelease> \makeatletter\let\@writefile\@gobbletwo
+%<latexrelease> \global \let \@multiplelabels \relax
+%<latexrelease> \@input{\jobname.aux}%
+%<latexrelease> \endgroup
+%<latexrelease> \if@filesw
+%<latexrelease> \immediate\openout\@mainaux\jobname.aux
+%<latexrelease> \immediate\write\@mainaux{\relax}%
+%<latexrelease> \fi
+%<latexrelease> \process@table
+%<latexrelease> \let\glb@currsize\@empty
+%<latexrelease> \normalsize
+%<latexrelease> \everypar{}%
+%<latexrelease> \ifx\normalsfcodes\@empty
+%<latexrelease> \ifnum\sfcode`\.=\@m
+%<latexrelease> \let\normalsfcodes\frenchspacing
+%<latexrelease> \else
+%<latexrelease> \let\normalsfcodes\nonfrenchspacing
+%<latexrelease> \fi
+%<latexrelease> \fi
+%<latexrelease> \@noskipsecfalse
+%<latexrelease> \let \@refundefined \relax
+%<latexrelease> \let\AtBeginDocument\@firstofone
+%<latexrelease> \@begindocumenthook
+%<latexrelease> \ifdim\topskip<1sp\global\topskip 1sp\relax\fi
+%<latexrelease> \global\@maxdepth\maxdepth
+%<latexrelease> \global\let\@begindocumenthook\@undefined
+%<latexrelease> \ifx\@listfiles\@undefined
+%<latexrelease> \global\let\@filelist\relax
+%<latexrelease> \global\let\@addtofilelist\@gobble
+%<latexrelease> \fi
+%<latexrelease> \gdef\do##1{\global\let ##1\@notprerr}%
+%<latexrelease> \@preamblecmds
+%<latexrelease> \global\let \@nodocument \relax
+%<latexrelease> \global\let\do\noexpand
+%<latexrelease> \ignorespaces}
+%<*2ekernel>
% \end{macrocode}
%
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/base/ltfinal.dtx b/Master/texmf-dist/source/latex/base/ltfinal.dtx
index d46f3041d99..2faecc09ede 100644
--- a/Master/texmf-dist/source/latex/base/ltfinal.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfinal.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2017
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2016/10/15 v2.0s LaTeX Kernel (Final Settings)]
+ [2017/03/09 v2.0t LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -495,6 +495,22 @@
\let\@addtofilelist\@gobble
% \end{macrocode}
%
+% \begin{macro}{\l@nohyphenation}
+% \changes{v2.0t}{2017/03/09}{ensure \cs{l@nohyphenation} is defined.}
+% \begin{macrocode}
+\ifx\l@nohyphenation \@undefined
+ \newlanguage\l@nohyphenation
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\document@default@language}
+% Default document language. -1 acts as language 0, but used as a flag in |\document|
+% to see if it has been set in the preamble.
+% \begin{macrocode}
+\let\document@default@language\m@ne
+% \end{macrocode}
+% \end{macro}
+%
%
%
% \subsection{Font loading}
@@ -502,8 +518,8 @@
% changed the |\font@submax| from |0pt| to something higher.
% If so, we put out a bold warning.
% \changes{v0.1l}{1994/05/20}{Use new font warning commands}
-% \begin{macrocode}
% \changes{v1.1c}{2000/08/23}{Fix typo in warning}
+% \begin{macrocode}
\ifdim \font@submax >\z@
\@font@warning{Size substitutions with differences\MessageBreak
up to \font@submax\space have occurred.\MessageBreak
diff --git a/Master/texmf-dist/source/latex/base/ltfloat.dtx b/Master/texmf-dist/source/latex/base/ltfloat.dtx
index 1ccfda25b76..a706c5a4625 100644
--- a/Master/texmf-dist/source/latex/base/ltfloat.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfloat.dtx
@@ -742,6 +742,8 @@
\egroup %% end of vbox
\color@endbox
}
+% \end{macrocode}
+% \end{macro}
%
% \begin{macro}{\outer@nobreak}
% \changes{v1.0h}{1994/05/20}{Macro added: default is to do nothing.}
diff --git a/Master/texmf-dist/source/latex/base/ltluatex.dtx b/Master/texmf-dist/source/latex/base/ltluatex.dtx
index ffde612ec4b..b7c46459421 100644
--- a/Master/texmf-dist/source/latex/base/ltluatex.dtx
+++ b/Master/texmf-dist/source/latex/base/ltluatex.dtx
@@ -24,7 +24,7 @@
\ProvidesFile{ltluatex.dtx}
%</driver>
%<*tex>
-[2017/02/18 v1.1c
+[2017/03/28 v1.1e
%</tex>
%<plain> LuaTeX support for plain TeX (core)
%<*tex>
@@ -170,7 +170,7 @@
%
% \subsection{Allocators in Lua}
%
-% \DescribeMacro{new\_attribute}
+% \DescribeMacro{new_attribute}
% |luatexbase.new_attribute(|\meta{attribute}|)|\\
% Returns an allocation number for the \meta{attribute}, indexed from~$1$.
% The attribute will be initialised with the marker value |-"7FFFFFFF|
@@ -182,18 +182,18 @@
% consistently for attributes declared in \TeX\ or Lua.
%
% \noindent
-% \DescribeMacro{new\_whatsit}
+% \DescribeMacro{new_whatsit}
% |luatexbase.new_whatsit(|\meta{whatsit}|)|\\
% Returns an allocation number for the custom \meta{whatsit}, indexed from~$1$.
%
% \noindent
-% \DescribeMacro{new\_bytecode}
+% \DescribeMacro{new_bytecode}
% |luatexbase.new_bytecode(|\meta{bytecode}|)|\\
% Returns an allocation number for a bytecode register, indexed from~$1$.
% The optional \meta{name} argument is just used for logging.
%
% \noindent
-% \DescribeMacro{new\_chunkname}
+% \DescribeMacro{new_chunkname}
% |luatexbase.new_chunkname(|\meta{chunkname}|)|\\
% Returns an allocation number for a Lua chunk name for use with
% |\directlua| and |\latelua|, indexed from~$1$.
@@ -287,7 +287,7 @@
%
% \subsection{Module utilities}
%
-% \DescribeMacro{provides\_module}
+% \DescribeMacro{provides_module}
% |luatexbase.provides_module(|\meta{info}|)|\\
% This function is used by modules to identify themselves; the |info| should be
% a table containing information about the module. The required field
@@ -297,9 +297,9 @@
% information will be recorded in the log. Other fields are ignored.
%
% \noindent
-% \DescribeMacro{module\_info}
-% \DescribeMacro{module\_warning}
-% \DescribeMacro{module\_error}
+% \DescribeMacro{module_info}
+% \DescribeMacro{module_warning}
+% \DescribeMacro{module_error}
% |luatexbase.module_info(|\meta{module}, \meta{text}|)|\\
% |luatexbase.module_warning(|\meta{module}, \meta{text}|)|\\
% |luatexbase.module_error(|\meta{module}, \meta{text}|)|\\
@@ -316,7 +316,7 @@
% \subsection{Callback management}
%
% \noindent
-% \DescribeMacro{add\_to\_callback}
+% \DescribeMacro{add_to_callback}
% |luatexbase.add_to_callback(|^^A
% \meta{callback}, \meta{function}, \meta{description}|)|
% Registers the \meta{function} into the \meta{callback} with a textual
@@ -324,20 +324,20 @@
% in the order loaded.
%
% \noindent
-% \DescribeMacro{remove\_from\_callback}
+% \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
% are returned as the results of this function.
%
% \noindent
-% \DescribeMacro{in\_callback}
+% \DescribeMacro{in_callback}
% |luatexbase.in_callback(|\meta{callback}, \meta{description}|)|
% Checks if the \meta{description} matches one of the functions added
% to the list for the \meta{callback}, returning a boolean value.
%
% \noindent
-% \DescribeMacro{disable\_callback}
+% \DescribeMacro{disable_callback}
% |luatexbase.disable_callback(|\meta{callback}|)|
% Sets the \meta{callback} to \texttt{false} as described in the Lua\TeX{}
% manual for the underlying \texttt{callback.register} built-in. Callbacks
@@ -345,18 +345,18 @@
% no functions registered using the callback.
%
% \noindent
-% \DescribeMacro{callback\_descriptions}
+% \DescribeMacro{callback_descriptions}
% A list of the descriptions of functions registered to the specified
% callback is returned. |{}| is returned if there are no functions registered.
%
% \noindent
-% \DescribeMacro{create\_callback}
+% \DescribeMacro{create_callback}
% |luatexbase.create_callback(|\meta{name},meta{type},\meta{default}|)|
% Defines a user defined callback. The last argument is a default
% function or |false|.
%
% \noindent
-% \DescribeMacro{call\_callback}
+% \DescribeMacro{call_callback}
% |luatexbase.call_callback(|\meta{name},\ldots|)|
% Calls a user defined callback with the supplied arguments.
%
@@ -433,10 +433,12 @@
% update to |etex.src| which already has some Lua\TeX-specific
% code, but does not define the correct range for Lua\TeX.
%
+% 2015-07-13 higher range in luatex.
% \begin{macrocode}
-% 2015-07-13 higher range in luatex
\edef \et@xmaxregs {\ifx\directlua\@undefined 32768\else 65536\fi}
-% luatex/xetex also allow more math fam
+% \end{macrocode}
+% luatex/xetex also allow more math fam.
+% \begin{macrocode}
\edef \et@xmaxfam {\ifx\Umathchar\@undefined\sixt@@n\else\@cclvi\fi}
% \end{macrocode}
%
@@ -513,9 +515,7 @@
\long\def\@firstofone#1{#1}
% \end{macrocode}
%
-% \begin{macrocode}
% Fix up allocations not to clash with |etex.src|.
-% \end{macrocode}
%
% \begin{macrocode}
\expandafter\csname newcount\endcsname\e@alloc@attribute@count
@@ -785,9 +785,9 @@
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
%
-% \begin{macrocode}
% \changes{v1.0b}{2015/10/02}{Fix backing out of \TeX{} code}
% \changes{v1.0c}{2015/10/02}{Allow backing out of Lua code}
+% \begin{macrocode}
%<latexrelease>\IncludeInRelease{0000/00/00}
%<latexrelease> {\newluafunction}{LuaTeX}%
%<latexrelease>\let\e@alloc@attribute@count\@undefined
@@ -823,14 +823,6 @@
%<2ekernel> \the\everyjob
%<*2ekernel,latexrelease>
\directlua{%
-%% Horrible hack, locally reset the luatex version number
-%% This is not required for the source version of luaotfload
-%% but is required due to an error in the version check in the
-%% public version (January 2017)
-%% https://github.com/lualatex/luaotfload/issues/387
-%% It is expected that this will be removed before TeXLive 2017
- local tmp_version=tex.luatexversion %
- tex.luatexversion=199 %
if xpcall(function ()%
require('luaotfload-main')%
end,texio.write_nl) then %
@@ -839,7 +831,6 @@
texio.write_nl('Error in luaotfload: reverting to OT1')%
tex.print('\string\\def\string\\encodingdefault{OT1}')%
end %
- tex.luatexversion=tmp_version%
}%
\let\f@encoding\encodingdefault
\expandafter\let\csname ver@luaotfload.sty\endcsname\fmtversion
@@ -910,7 +901,7 @@ local modules = modules or { }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{provides\_module}
+% \begin{macro}{provides_module}
% \changes{v1.0a}{2015/09/24}{Function added}
% \changes{v1.0f}{2015/10/03}{use luatexbase\_log}
% Local function to write to the log.
@@ -983,11 +974,11 @@ local function msg_format(mod, msg_type, text)
end
% \end{macrocode}
%
-% \begin{macro}{module\_info}
+% \begin{macro}{module_info}
% \changes{v1.0a}{2015/09/24}{Function added}
-% \begin{macro}{module\_warning}
+% \begin{macro}{module_warning}
% \changes{v1.0a}{2015/09/24}{Function added}
-% \begin{macro}{module\_error}
+% \begin{macro}{module_error}
% \changes{v1.0a}{2015/09/24}{Function added}
% Write messages.
% \begin{macrocode}
@@ -1089,7 +1080,7 @@ luatexbase.registernumber = registernumber
%
% \subsection{Attribute allocation}
%
-% \begin{macro}{new\_attribute}
+% \begin{macro}{new_attribute}
% \changes{v1.0a}{2015/09/24}{Function added}
% \changes{v1.1c}{2017/02/18}{Parameterise count used in tracking}
% As attributes are used for Lua manipulations its useful to be able
@@ -1106,7 +1097,8 @@ luatexbase.attributes = attributes
% \end{macrocode}
%
% \begin{macrocode}
-local attribute_count_name = attribute_count_name or "e@alloc@attribute@count"
+local attribute_count_name =
+ attribute_count_name or "e@alloc@attribute@count"
local function new_attribute(name)
tex_setcount("global", attribute_count_name,
tex_count[attribute_count_name] + 1)
@@ -1124,7 +1116,7 @@ luatexbase.new_attribute = new_attribute
%
% \subsection{Custom whatsit allocation}
%
-% \begin{macro}{new\_whatsit}
+% \begin{macro}{new_whatsit}
% \changes{v1.1c}{2017/02/18}{Parameterise count used in tracking}
% Much the same as for attribute allocation in Lua.
% \begin{macrocode}
@@ -1145,12 +1137,13 @@ luatexbase.new_whatsit = new_whatsit
%
% \subsection{Bytecode register allocation}
%
-% \begin{macro}{new\_bytecode}
+% \begin{macro}{new_bytecode}
% \changes{v1.1c}{2017/02/18}{Parameterise count used in tracking}
% Much the same as for attribute allocation in Lua.
% The optional \meta{name} argument is used in the log if given.
% \begin{macrocode}
-local bytecode_count_name = bytecode_count_name or "e@alloc@bytecode@count"
+local bytecode_count_name =
+ bytecode_count_name or "e@alloc@bytecode@count"
local function new_bytecode(name)
tex_setcount("global", bytecode_count_name,
tex_count[bytecode_count_name] + 1)
@@ -1167,12 +1160,13 @@ luatexbase.new_bytecode = new_bytecode
%
% \subsection{Lua chunk name allocation}
%
-% \begin{macro}{new\_chunkname}
+% \begin{macro}{new_chunkname}
% \changes{v1.1c}{2017/02/18}{Parameterise count used in tracking}
% As for bytecode registers but also store the name in the
% |lua.name| table.
% \begin{macrocode}
-local chunkname_count_name = chunkname_count_name or "e@alloc@luachunk@count"
+local chunkname_count_name =
+ chunkname_count_name or "e@alloc@luachunk@count"
local function new_chunkname(name)
tex_setcount("global", chunkname_count_name,
tex_count[chunkname_count_name] + 1)
@@ -1329,8 +1323,10 @@ local callbacktypes = callbacktypes or {
finish_pdfpage = data,
% \end{macrocode}
% Section 8.7: font-related callbacks.
+% \changes{v1.1e}{2017/03/28}{glyph\_stream\_provider added}
% \begin{macrocode}
define_font = exclusive,
+% glyph_stream_provider = exclusive,% luatex 1.05
% \end{macrocode}
% \changes{v1.0m}{2016/02/11}{pdf\_stream\_filter\_callback removed}
% \begin{macrocode}
@@ -1467,7 +1463,7 @@ local handlers = {
local user_callbacks_defaults = { }
% \end{macrocode}
%
-% \begin{macro}{create\_callback}
+% \begin{macro}{create_callback}
% \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)}
@@ -1495,7 +1491,7 @@ luatexbase.create_callback = create_callback
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{call\_callback}
+% \begin{macro}{call_callback}
% \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)}
@@ -1526,7 +1522,7 @@ luatexbase.call_callback=call_callback
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{add\_to\_callback}
+% \begin{macro}{add_to_callback}
% \changes{v1.0a}{2015/09/24}{Function added}
% Add a function to a callback. First check arguments.
% \changes{v1.0k}{2015/12/02}{Give more specific error messages (PHG)}
@@ -1590,7 +1586,7 @@ luatexbase.add_to_callback = add_to_callback
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{remove\_from\_callback}
+% \begin{macro}{remove_from_callback}
% \changes{v1.0a}{2015/09/24}{Function added}
% \changes{v1.0k}{2015/12/02}{adjust initialisation of cb local (PHG)}
% \changes{v1.0k}{2015/12/02}{Give more specific error messages (PHG)}
@@ -1647,7 +1643,7 @@ luatexbase.remove_from_callback = remove_from_callback
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{in\_callback}
+% \begin{macro}{in_callback}
% \changes{v1.0a}{2015/09/24}{Function added}
% \changes{v1.0h}{2015/11/27}{Guard against undefined list latex/4445}
% Look for a function description in a callback.
@@ -1671,7 +1667,7 @@ luatexbase.in_callback = in_callback
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{disable\_callback}
+% \begin{macro}{disable_callback}
% \changes{v1.0a}{2015/09/24}{Function added}
% As we subvert the engine interface we need to provide a way to access
% this functionality.
@@ -1687,7 +1683,7 @@ luatexbase.disable_callback = disable_callback
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{callback\_descriptions}
+% \begin{macro}{callback_descriptions}
% \changes{v1.0a}{2015/09/24}{Function added}
% \changes{v1.0h}{2015/11/27}{Match test in in-callback latex/4445}
% List the descriptions of functions registered for the given callback.
diff --git a/Master/texmf-dist/source/latex/base/ltmiscen.dtx b/Master/texmf-dist/source/latex/base/ltmiscen.dtx
index d28f2921f06..4501067d3e5 100644
--- a/Master/texmf-dist/source/latex/base/ltmiscen.dtx
+++ b/Master/texmf-dist/source/latex/base/ltmiscen.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2014
+% Copyright 1993-2017
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmiscen.dtx}
- [2014/09/29 v1.1l LaTeX Kernel (Misc. Environments)]
+ [2017/03/09 v1.1m LaTeX Kernel (Misc. Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltmiscen.dtx}
@@ -609,6 +609,10 @@
% \changes{v1.0b}{1994/03/16}
% {Remove \cs{global}\cs{@inlabelfalse} again.}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2017-04-15}{\@verbatim}%
+%<latexrelease> {Disable hyphenation in verbatim}%
\def\@verbatim{\trivlist \item\relax
\if@minipage\else\vskip\parskip\fi
\leftskip\@totalleftmargin\rightskip\z@skip
@@ -619,8 +623,14 @@
% from a surrounding list (the verbatim guru says).
% \changes{v0.9p}{1994/01/18}
% {Only add \cs{penalty} if in hmode}
+% Switch language when in vertical mode.
% \begin{macrocode}
\@@par
+% \end{macrocode}
+% Set |\language| here to suppress hyphenation. Done this way rather
+% than setting |\hyphenchar| as that is a global setting.
+% \begin{macrocode}
+ \language\l@nohyphenation
\@tempswafalse
\def\par{%
\if@tempswa
@@ -642,10 +652,10 @@
% so that \cs{dospecials} cannot reset the category code
% of characters handled by \cs{@noligs}.}
% \changes{v1.1h}{2000/01/07}{Disable hyphenation even if the font allows it.}
+% \changes{v1.1m}{2017-03-09}{Use \cs{language} not \cs{hyphenchar}}
% \begin{macrocode}
\let\do\@makeother \dospecials
\obeylines \verbatim@font \@noligs
- \hyphenchar\font\m@ne
% \end{macrocode}
% To avoid a breakpoint after the labels box, we remove the penalty
% put there by the list macros: another use of |\unpenalty|!
@@ -653,6 +663,29 @@
% \begin{macrocode}
\everypar \expandafter{\the\everypar \unpenalty}%
}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}{\@verbatim}%
+%<latexrelease> {Disable hyphenation in verbatim}%
+%<latexrelease>\def\@verbatim{\trivlist \item\relax
+%<latexrelease> \if@minipage\else\vskip\parskip\fi
+%<latexrelease> \leftskip\@totalleftmargin\rightskip\z@skip
+%<latexrelease> \parindent\z@\parfillskip\@flushglue\parskip\z@skip
+%<latexrelease> \@@par
+%<latexrelease> \@tempswafalse
+%<latexrelease> \def\par{%
+%<latexrelease> \if@tempswa
+%<latexrelease> \leavevmode \null \@@par\penalty\interlinepenalty
+%<latexrelease> \else
+%<latexrelease> \@tempswatrue
+%<latexrelease> \ifhmode\@@par\penalty\interlinepenalty\fi
+%<latexrelease> \fi}%
+%<latexrelease> \let\do\@makeother \dospecials
+%<latexrelease> \obeylines \verbatim@font \@noligs
+%<latexrelease> \hyphenchar\font\m@ne
+%<latexrelease> \everypar \expandafter{\the\everypar \unpenalty}%
+%<latexrelease>}
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -731,12 +764,34 @@
% \cs{dospecials}
% so that \cs{dospecials} cannot reset the category code
% of characters handled by \cs{@noligs}.}
+% \changes{v1.1m}{2017/03/09}
+% {Use \cs{language} to stop hyphenation}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2017-04-15}{\verb}%
+%<latexrelease> {Disable hyphenation in verb}%
\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
\bgroup
\verb@eol@error \let\do\@makeother \dospecials
\verbatim@font\@noligs
+% \end{macrocode}
+% Set |\language| here to suppress hyphenation. Done this way rather
+% than setting |\hyphenchar| as that is a global setting.
+% \begin{macrocode}
+ \language\l@nohyphenation
\@ifstar\@sverb\@verb}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}{\verb}%
+%<latexrelease> {Disable hyphenation in verb}%
+%<latexrelease>\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
+%<latexrelease> \bgroup
+%<latexrelease> \verb@eol@error \let\do\@makeother \dospecials
+%<latexrelease> \verbatim@font\@noligs
+%<latexrelease> \@ifstar\@sverb\@verb}
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/base/ltnews27.tex b/Master/texmf-dist/source/latex/base/ltnews27.tex
new file mode 100644
index 00000000000..93281c19126
--- /dev/null
+++ b/Master/texmf-dist/source/latex/base/ltnews27.tex
@@ -0,0 +1,135 @@
+% \iffalse meta-comment
+%
+% Copyright 2017
+% 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
+% http://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 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: ltnews27.tex
+%
+% This is issue 27 of LaTeX News.
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\publicationmonth{April}
+\publicationyear{2017}
+
+\publicationissue{27}
+
+\begin{document}
+
+\maketitle
+\tableofcontents
+
+\setlength\rightskip{0pt plus 3em}
+
+\section{ISO 8601 Date format}
+Since before the first releases of \LaTeXe, \LaTeX\ has used a date
+format in the form \textsc{yyyy/mm/dd}. This has many advantages over more
+conventional formats, as it is easy to sort and avoids the unfortunate
+ambiguity between different communities as to whether 01/02/2017 is the
+1st of February or 2nd of January.
+
+However there is another date format, formalised by the
+International Standard ISO~8601. The basic format defined by this
+standard is functionally equivalent to the \LaTeX\ format, but using
+\texttt{-} rather than \texttt{/}. This date format is now supported
+in many Operating Systems and applications
+(for example the \verb|date --iso-8601| command in Linux and similar systems).
+
+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;
+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
+whatever format date is requested; this is required so that the
+necessary date comparisons may be made.
+
+The new functionality can be seen in the startup banner which
+advertises \texttt{LaTeX2e <2017-04-15>}.
+
+\section{Further TU encoding improvements}
+The 2017/01/01 release saw the introduction of the new TU encoding for
+specifying Unicode fonts with \hologo{LuaTeX} and
+\hologo{XeTeX}. There were a number of small corrections and additions
+in the patch releases updating 2017/01/01, and a further addition in
+this release, notably extended support for the dot-under accent,
+\verb|\d|.
+
+
+\section{Disabling hyphenation}
+The existing \LaTeX\ code for \verb|\verb| and \verb|verbatim| had some
+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@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
+\textsf{babel} language has for a long time allocated a language with
+this name.
+
+In order that page breaks in \texttt{verbatim} do not influence the
+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
+\TeX\ primitive. A comment in \textsf{source2e} has given
+this new definition since the first releases of \LaTeXe, and in this
+release we finally acted upon this comment. Previously \verb|\-|
+always inserted a \texttt{-} at a break point even if a different
+character would be used for automatic hyphenation with the current font.
+
+\section{Default document language}
+
+A new integer parameter \verb|\document@default@language| is
+introduced; this is initialised to $-1$ but is set at
+\verb|\begin{document}| to the language in force at that time if it
+ has not been set by preamble code. This is very similar to the
+ handling of the default color, and is used in a similar way to
+ normalise the settings for page head and foot as described above.
+Users should not normally need to set this explicitly but it is expected that
+language packages such as \textsf{babel} may set this if the default
+behaviour is not suitable.
+
+\section{Line spacing in parboxes}
+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
+with \emph{closer} line spacing than lines without. This can easily
+happen if you use a \verb|\parbox| in an AMS alignment, as they use a
+relatively large value of \verb|\lineskiplimit|.
+As usual, the \textsf{latexrelease} package may be used to
+force the older behavior.
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/base/ltoutenc.dtx b/Master/texmf-dist/source/latex/base/ltoutenc.dtx
index 44997e6e6c1..74700eb853a 100644
--- a/Master/texmf-dist/source/latex/base/ltoutenc.dtx
+++ b/Master/texmf-dist/source/latex/base/ltoutenc.dtx
@@ -38,14 +38,14 @@
%<TU>\ProvidesFile{tuenc.def}
%<package>\ProvidesPackage{fontenc}
%<TS1sty>\ProvidesPackage{textcomp}
-%<OT1|T1|OMS|OML|OT4|TU|package|TS1sty> [2017/02/22 v2.0g
+%<OT1|T1|OMS|OML|OT4|TU|package|TS1sty> [2017/04/05 v2.0i
%<OT1|T1|OMS|OML|OT4|TS1|TU> Standard LaTeX file]
%<package|TS1sty> Standard LaTeX package]
%
%<*driver>
% \fi
\ProvidesFile{ltoutenc.dtx}
- [2017/02/22 v2.0g LaTeX Kernel (font encodings)]
+ [2017/04/05 v2.0i LaTeX Kernel (font encodings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutenc.dtx}
@@ -857,6 +857,10 @@
% \changes{v1.7z}{1996/05/23}
% {Modified to cope with new \cs{add@accent} command: required
% removal of check for one argument-command}
+% \changes{v2.0h}{2017/02/24}{%
+% add check whether the accent command is defined for this encoding}
+% \changes{v2.0i}{2017/04/05}{%
+% Declare accent command if not already declared when declaring a composite.}
% \begin{macro}{\DeclareTextComposite}
% \changes{v1.7l}{1995/06/09}{Rewrote \cs{DeclareTextComposite} to
% define the composite as a no-argument command rather than a
@@ -878,8 +882,18 @@
% previous definition of |\T1\foo|. Finally, we define |\\T1\foo-a|
% to expand to |bar|.
% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2017/04/15}{\DeclareTextCompositeCommand}
+%<latexrelease> {test for undeclared accent}%
+%<*2ekernel|latexrelease>
\def\DeclareTextCompositeCommand#1#2#3#4{%
\expandafter\let\expandafter\reserved@a\csname#2\string#1\endcsname
+ \ifx\reserved@a\relax
+ \DeclareTextCommand#1{#2}{%
+ \@latex@error{\string#1 undeclared in encoding #2}\@eha}%
+ \@latex@info{Composite with undeclared \string#1 in encoding #2}%
+ \expandafter\let\expandafter\reserved@a\csname#2\string#1\endcsname
+ \fi
\expandafter\expandafter\expandafter\ifx
\expandafter\@car\reserved@a\relax\relax\@nil \@text@composite \else
\edef\reserved@b##1{%
@@ -892,7 +906,31 @@
\expandafter\reserved@b\expandafter{\reserved@a{##1}}%
\fi
\expandafter\def\csname\expandafter\string\csname
- #2\endcsname\string#1-\string#3\@empty\endcsname{#4}}
+ #2\endcsname\string#1-\string#3\@empty\endcsname{#4}%
+ }
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}{\DeclareTextCompositeCommand}
+%<latexrelease> {test for undeclared accent}%
+%<latexrelease>\def\DeclareTextCompositeCommand#1#2#3#4{%
+%<latexrelease> \expandafter\let\expandafter\reserved@a
+%<latexrelease> \csname#2\string#1\endcsname
+%<latexrelease> \expandafter\expandafter\expandafter\ifx
+%<latexrelease> \expandafter\@car\reserved@a\relax\relax\@nil
+%<latexrelease> \@text@composite \else
+%<latexrelease> \edef\reserved@b##1{%
+%<latexrelease> \def\expandafter\noexpand
+%<latexrelease> \csname#2\string#1\endcsname####1{%
+%<latexrelease> \noexpand\@text@composite
+%<latexrelease> \expandafter\noexpand\csname#2\string#1\endcsname
+%<latexrelease> ####1\noexpand\@empty\noexpand\@text@composite
+%<latexrelease> {##1}}}%
+%<latexrelease> \expandafter\reserved@b\expandafter{\reserved@a{##1}}%
+%<latexrelease> \fi
+%<latexrelease> \expandafter\def\csname\expandafter\string\csname
+%<latexrelease> #2\endcsname\string#1-\string#3\@empty\endcsname{#4}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
%
% \begin{macrocode}
@@ -2134,7 +2172,6 @@
% \changes{v1.9y}{2000/01/30}{Use \cs{hmode@bgroup} where applicable
% (pr/3160)}
% \changes{v1.95}{2002/06/16}{Added \cs{textbardbl} (pr/3400)}
-% \begin{macrocode}
% \changes{v1.99}{2004/02/02}{Added \cs{textbigcircle}}
% Note that slot 13 has in places been named |\Orb|: please root
% out and destroy this impolity wherever you find it!
@@ -2654,7 +2691,7 @@
% \changes{v2.0f}{2017/02/19}{%
% declare straight quotes using new \cs{remove@tlig} command}
% \changes{v2.0g}{2017/02/22}{Fix typo introduced at 2.0f}
-%
+% \changes{v2.0h}{2017/02/24}{introduce \cs{DeclareUnicodeAccent}}%
% The TU encoding was originally introduced in the contributed
% package \texttt{fontspec} as a Unicode encoding for XeTeX and
% LuaTeX.
@@ -2781,6 +2818,42 @@
}
% \end{macrocode}
%
+% Wrapper around |\DeclareTextCompositeCommand| that uses the declared
+% composite if it exists in the current font or falls back to the default
+% definition for the TU accent if not.
+% \begin{macrocode}
+{
+\catcode\z@=11\relax
+\gdef\DeclareUnicodeComposite#1#2#3{%
+ \def\reserved@a##1##2{%
+ \DeclareTextCompositeCommand#1\UnicodeEncodingName{#2}{%
+ \iffontchar\font#3 ##2%
+ \else ##1\fi}}%
+ \expandafter\expandafter\expandafter\extract@default@composite
+ \csname\UnicodeEncodingName\string#1\endcsname{#2}\@nil
+ \bgroup
+ \lccode\z@#3 %
+ \lowercase{\egroup
+ \expandafter\reserved@a\expandafter{\reserved@b}{^^@}}}%
+}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\extract@default@composite#1{%
+ \ifx\@text@composite#1%
+ \expandafter\extract@default@composite@a
+ \else
+ \expandafter\extract@default@composite@b\expandafter#1%
+ \fi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\extract@default@composite@a#1\@text@composite#2\@nil{%
+ \def\reserved@b{#2}}
+\def\extract@default@composite@b#1#2\@nil{%
+ \def\reserved@b{#1#2}}
+% \end{macrocode}
+%
% \begin{macrocode}
\DeclareTextCommand\textquotesingle \UnicodeEncodingName{%
\remove@tlig{"0027}}
@@ -2853,8 +2926,6 @@
\DeclareTextSymbol{\OE} \UnicodeEncodingName{"0152}
\DeclareTextSymbol{\oe} \UnicodeEncodingName{"0153}
\DeclareTextSymbol{\textflorin} \UnicodeEncodingName{"0192}
-\DeclareTextComposite{\=} \UnicodeEncodingName{Y}{"0232}
-\DeclareTextComposite{\=} \UnicodeEncodingName{y}{"0232}
\DeclareTextSymbol{\j} \UnicodeEncodingName{"0237}
\DeclareTextSymbol{\textasciicaron} \UnicodeEncodingName{"02C7}
\DeclareTextSymbol{\textasciibreve} \UnicodeEncodingName{"02D8}
@@ -2862,8 +2933,6 @@
\DeclareTextSymbol{\textgravedbl} \UnicodeEncodingName{"02F5}
\DeclareTextSymbol{\texttildelow} \UnicodeEncodingName{"02F7}
\DeclareTextSymbol{\textbaht} \UnicodeEncodingName{"0E3F}
-\DeclareTextComposite{\=} \UnicodeEncodingName{G}{"1E20}
-\DeclareTextComposite{\=} \UnicodeEncodingName{g}{"1E21}
\DeclareTextSymbol{\SS} \UnicodeEncodingName{"1E9E}
\DeclareTextSymbol{\textcompwordmark} \UnicodeEncodingName{"200C}
\DeclareTextSymbol{\textendash} \UnicodeEncodingName{"2013}
@@ -2944,222 +3013,268 @@
\DeclareUnicodeAccent{\'} \UnicodeEncodingName{"0301}
\DeclareUnicodeAccent{\^} \UnicodeEncodingName{"0302}
\DeclareUnicodeAccent{\~} \UnicodeEncodingName{"0303}
+\DeclareUnicodeAccent{\=} \UnicodeEncodingName{"0304}
+\DeclareUnicodeAccent{\u} \UnicodeEncodingName{"0306}
+\DeclareUnicodeAccent{\.} \UnicodeEncodingName{"0307}
\DeclareUnicodeAccent{\"} \UnicodeEncodingName{"0308}
-\DeclareUnicodeAccent{\H} \UnicodeEncodingName{"030B}
\DeclareUnicodeAccent{\r} \UnicodeEncodingName{"030A}
+\DeclareUnicodeAccent{\H} \UnicodeEncodingName{"030B}
\DeclareUnicodeAccent{\v} \UnicodeEncodingName{"030C}
-\DeclareUnicodeAccent{\u} \UnicodeEncodingName{"0306}
-\DeclareUnicodeAccent{\=} \UnicodeEncodingName{"0304}
-\DeclareUnicodeAccent{\.} \UnicodeEncodingName{"0307}
\DeclareUnicodeAccent{\b} \UnicodeEncodingName{"0332}
-\DeclareUnicodeAccent{\c} \UnicodeEncodingName{"0327}
\DeclareUnicodeAccent{\d} \UnicodeEncodingName{"0323}
+\DeclareUnicodeAccent{\c} \UnicodeEncodingName{"0327}
\DeclareUnicodeAccent{\k} \UnicodeEncodingName{"0328}
+\DeclareTextCommand\textcommabelow \UnicodeEncodingName[1]
+ {\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\raise-.31ex
+ \hbox{\check@mathfonts\fontsize\ssf@size\z@
+ \math@fontsfalse\selectfont,}\hidewidth}\egroup}
% \end{macrocode}
%
% \begin{macrocode}
-\DeclareTextComposite{\^} \UnicodeEncodingName {}{"005E}
-\DeclareTextComposite{\~} \UnicodeEncodingName {}{"007E}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\DeclareTextComposite{\`} \UnicodeEncodingName{A}{"00C0}
-\DeclareTextComposite{\'} \UnicodeEncodingName{A}{"00C1}
-\DeclareTextComposite{\^} \UnicodeEncodingName{A}{"00C2}
-\DeclareTextComposite{\~} \UnicodeEncodingName{A}{"00C3}
-\DeclareTextComposite{\"} \UnicodeEncodingName{A}{"00C4}
-\DeclareTextComposite{\r} \UnicodeEncodingName{A}{"00C5}
-\DeclareTextComposite{\c} \UnicodeEncodingName{C}{"00C7}
-\DeclareTextComposite{\`} \UnicodeEncodingName{E}{"00C8}
-\DeclareTextComposite{\'} \UnicodeEncodingName{E}{"00C9}
-\DeclareTextComposite{\^} \UnicodeEncodingName{E}{"00CA}
-\DeclareTextComposite{\"} \UnicodeEncodingName{E}{"00CB}
-\DeclareTextComposite{\`} \UnicodeEncodingName{I}{"00CC}
-\DeclareTextComposite{\'} \UnicodeEncodingName{I}{"00CD}
-\DeclareTextComposite{\^} \UnicodeEncodingName{I}{"00CE}
-\DeclareTextComposite{\"} \UnicodeEncodingName{I}{"00CF}
-\DeclareTextComposite{\~} \UnicodeEncodingName{N}{"00D1}
-\DeclareTextComposite{\`} \UnicodeEncodingName{O}{"00D2}
-\DeclareTextComposite{\'} \UnicodeEncodingName{O}{"00D3}
-\DeclareTextComposite{\^} \UnicodeEncodingName{O}{"00D4}
-\DeclareTextComposite{\~} \UnicodeEncodingName{O}{"00D5}
-\DeclareTextComposite{\"} \UnicodeEncodingName{O}{"00D6}
-\DeclareTextComposite{\`} \UnicodeEncodingName{U}{"00D9}
-\DeclareTextComposite{\'} \UnicodeEncodingName{U}{"00DA}
-\DeclareTextComposite{\^} \UnicodeEncodingName{U}{"00DB}
-\DeclareTextComposite{\"} \UnicodeEncodingName{U}{"00DC}
-\DeclareTextComposite{\'} \UnicodeEncodingName{Y}{"00DD}
-\DeclareTextComposite{\`} \UnicodeEncodingName{a}{"00E0}
-\DeclareTextComposite{\'} \UnicodeEncodingName{a}{"00E1}
-\DeclareTextComposite{\^} \UnicodeEncodingName{a}{"00E2}
-\DeclareTextComposite{\~} \UnicodeEncodingName{a}{"00E3}
-\DeclareTextComposite{\"} \UnicodeEncodingName{a}{"00E4}
-\DeclareTextComposite{\r} \UnicodeEncodingName{a}{"00E5}
-\DeclareTextComposite{\c} \UnicodeEncodingName{c}{"00E7}
-\DeclareTextComposite{\`} \UnicodeEncodingName{e}{"00E8}
-\DeclareTextComposite{\'} \UnicodeEncodingName{e}{"00E9}
-\DeclareTextComposite{\^} \UnicodeEncodingName{e}{"00EA}
-\DeclareTextComposite{\"} \UnicodeEncodingName{e}{"00EB}
-\DeclareTextComposite{\`} \UnicodeEncodingName\i {"00EC}
-\DeclareTextComposite{\`} \UnicodeEncodingName{i}{"00EC}
-\DeclareTextComposite{\'} \UnicodeEncodingName\i {"00ED}
-\DeclareTextComposite{\'} \UnicodeEncodingName{i}{"00ED}
-\DeclareTextComposite{\^} \UnicodeEncodingName\i {"00EE}
-\DeclareTextComposite{\^} \UnicodeEncodingName{i}{"00EE}
-\DeclareTextComposite{\"} \UnicodeEncodingName\i {"00EF}
-\DeclareTextComposite{\"} \UnicodeEncodingName{i}{"00EF}
-\DeclareTextComposite{\~} \UnicodeEncodingName{n}{"00F1}
-\DeclareTextComposite{\`} \UnicodeEncodingName{o}{"00F2}
-\DeclareTextComposite{\'} \UnicodeEncodingName{o}{"00F3}
-\DeclareTextComposite{\^} \UnicodeEncodingName{o}{"00F4}
-\DeclareTextComposite{\~} \UnicodeEncodingName{o}{"00F5}
-\DeclareTextComposite{\"} \UnicodeEncodingName{o}{"00F6}
-\DeclareTextComposite{\`} \UnicodeEncodingName{u}{"00F9}
-\DeclareTextComposite{\'} \UnicodeEncodingName{u}{"00FA}
-\DeclareTextComposite{\^} \UnicodeEncodingName{u}{"00FB}
-\DeclareTextComposite{\"} \UnicodeEncodingName{u}{"00FC}
-\DeclareTextComposite{\'} \UnicodeEncodingName{y}{"00FD}
-\DeclareTextComposite{\"} \UnicodeEncodingName{y}{"00FF}
-\DeclareTextComposite{\=} \UnicodeEncodingName{A}{"0100}
-\DeclareTextComposite{\=} \UnicodeEncodingName{a}{"0101}
-\DeclareTextComposite{\u} \UnicodeEncodingName{A}{"0102}
-\DeclareTextComposite{\u} \UnicodeEncodingName{a}{"0103}
-\DeclareTextComposite{\k} \UnicodeEncodingName{A}{"0104}
-\DeclareTextComposite{\k} \UnicodeEncodingName{a}{"0105}
-\DeclareTextComposite{\'} \UnicodeEncodingName{C}{"0106}
-\DeclareTextComposite{\'} \UnicodeEncodingName{c}{"0107}
-\DeclareTextComposite{\^} \UnicodeEncodingName{C}{"0108}
-\DeclareTextComposite{\^} \UnicodeEncodingName{c}{"0109}
-\DeclareTextComposite{\.} \UnicodeEncodingName{C}{"010A}
-\DeclareTextComposite{\.} \UnicodeEncodingName{c}{"010B}
-\DeclareTextComposite{\v} \UnicodeEncodingName{C}{"010C}
-\DeclareTextComposite{\v} \UnicodeEncodingName{c}{"010D}
-\DeclareTextComposite{\v} \UnicodeEncodingName{D}{"010E}
-\DeclareTextComposite{\v} \UnicodeEncodingName{d}{"010F}
-\DeclareTextComposite{\=} \UnicodeEncodingName{E}{"0112}
-\DeclareTextComposite{\=} \UnicodeEncodingName{e}{"0113}
-\DeclareTextComposite{\u} \UnicodeEncodingName{E}{"0114}
-\DeclareTextComposite{\u} \UnicodeEncodingName{e}{"0115}
-\DeclareTextComposite{\.} \UnicodeEncodingName{E}{"0116}
-\DeclareTextComposite{\.} \UnicodeEncodingName{e}{"0117}
-\DeclareTextComposite{\k} \UnicodeEncodingName{E}{"0118}
-\DeclareTextComposite{\k} \UnicodeEncodingName{e}{"0119}
-\DeclareTextComposite{\v} \UnicodeEncodingName{E}{"011A}
-\DeclareTextComposite{\v} \UnicodeEncodingName{e}{"011B}
-\DeclareTextComposite{\^} \UnicodeEncodingName{G}{"011C}
-\DeclareTextComposite{\^} \UnicodeEncodingName{g}{"011D}
-\DeclareTextComposite{\u} \UnicodeEncodingName{G}{"011E}
-\DeclareTextComposite{\u} \UnicodeEncodingName{g}{"011F}
-\DeclareTextComposite{\.} \UnicodeEncodingName{G}{"0120}
-\DeclareTextComposite{\.} \UnicodeEncodingName{g}{"0121}
-\DeclareTextComposite{\c} \UnicodeEncodingName{G}{"0122}
-\DeclareTextComposite{\c} \UnicodeEncodingName{g}{"0123}
-\DeclareTextComposite{\^} \UnicodeEncodingName{H}{"0124}
-\DeclareTextComposite{\^} \UnicodeEncodingName{h}{"0125}
-\DeclareTextComposite{\~} \UnicodeEncodingName{I}{"0128}
-\DeclareTextComposite{\~} \UnicodeEncodingName\i {"0129}
-\DeclareTextComposite{\~} \UnicodeEncodingName{i}{"0129}
-\DeclareTextComposite{\=} \UnicodeEncodingName{I}{"012A}
-\DeclareTextComposite{\=} \UnicodeEncodingName\i {"012B}
-\DeclareTextComposite{\=} \UnicodeEncodingName{i}{"012B}
-\DeclareTextComposite{\u} \UnicodeEncodingName{I}{"012C}
-\DeclareTextComposite{\u} \UnicodeEncodingName\i {"012D}
-\DeclareTextComposite{\u} \UnicodeEncodingName{i}{"012D}
-\DeclareTextComposite{\k} \UnicodeEncodingName{I}{"012E}
-\DeclareTextComposite{\k} \UnicodeEncodingName\i {"012F}
-\DeclareTextComposite{\k} \UnicodeEncodingName{i}{"012F}
-\DeclareTextComposite{\.} \UnicodeEncodingName{I}{"0130}
-\DeclareTextComposite{\^} \UnicodeEncodingName{J}{"0134}
-\DeclareTextComposite{\^} \UnicodeEncodingName\j {"0135}
-\DeclareTextComposite{\^} \UnicodeEncodingName{j}{"0135}
-\DeclareTextComposite{\c} \UnicodeEncodingName{K}{"0136}
-\DeclareTextComposite{\c} \UnicodeEncodingName{k}{"0137}
-\DeclareTextComposite{\'} \UnicodeEncodingName{L}{"0139}
-\DeclareTextComposite{\'} \UnicodeEncodingName{l}{"013A}
-\DeclareTextComposite{\c} \UnicodeEncodingName{L}{"013B}
-\DeclareTextComposite{\c} \UnicodeEncodingName{l}{"013C}
-\DeclareTextComposite{\v} \UnicodeEncodingName{L}{"013D}
-\DeclareTextComposite{\v} \UnicodeEncodingName{l}{"013E}
-\DeclareTextComposite{\'} \UnicodeEncodingName{N}{"0143}
-\DeclareTextComposite{\'} \UnicodeEncodingName{n}{"0144}
-\DeclareTextComposite{\c} \UnicodeEncodingName{N}{"0145}
-\DeclareTextComposite{\c} \UnicodeEncodingName{n}{"0146}
-\DeclareTextComposite{\v} \UnicodeEncodingName{N}{"0147}
-\DeclareTextComposite{\v} \UnicodeEncodingName{n}{"0148}
-\DeclareTextComposite{\=} \UnicodeEncodingName{O}{"014C}
-\DeclareTextComposite{\=} \UnicodeEncodingName{o}{"014D}
-\DeclareTextComposite{\u} \UnicodeEncodingName{O}{"014E}
-\DeclareTextComposite{\u} \UnicodeEncodingName{o}{"014F}
-\DeclareTextComposite{\H} \UnicodeEncodingName{O}{"0150}
-\DeclareTextComposite{\H} \UnicodeEncodingName{o}{"0151}
-\DeclareTextComposite{\'} \UnicodeEncodingName{R}{"0154}
-\DeclareTextComposite{\'} \UnicodeEncodingName{r}{"0155}
-\DeclareTextComposite{\c} \UnicodeEncodingName{R}{"0156}
-\DeclareTextComposite{\c} \UnicodeEncodingName{r}{"0157}
-\DeclareTextComposite{\v} \UnicodeEncodingName{R}{"0158}
-\DeclareTextComposite{\v} \UnicodeEncodingName{r}{"0159}
-\DeclareTextComposite{\'} \UnicodeEncodingName{S}{"015A}
-\DeclareTextComposite{\'} \UnicodeEncodingName{s}{"015B}
-\DeclareTextComposite{\^} \UnicodeEncodingName{S}{"015C}
-\DeclareTextComposite{\^} \UnicodeEncodingName{s}{"015D}
-\DeclareTextComposite{\c} \UnicodeEncodingName{S}{"015E}
-\DeclareTextComposite{\c} \UnicodeEncodingName{s}{"015F}
-\DeclareTextComposite{\v} \UnicodeEncodingName{S}{"0160}
-\DeclareTextComposite{\v} \UnicodeEncodingName{s}{"0161}
-\DeclareTextComposite{\c} \UnicodeEncodingName{T}{"0162}
-\DeclareTextComposite{\c} \UnicodeEncodingName{t}{"0163}
-\DeclareTextComposite{\v} \UnicodeEncodingName{T}{"0164}
-\DeclareTextComposite{\v} \UnicodeEncodingName{t}{"0165}
-\DeclareTextComposite{\~} \UnicodeEncodingName{U}{"0168}
-\DeclareTextComposite{\~} \UnicodeEncodingName{u}{"0169}
-\DeclareTextComposite{\=} \UnicodeEncodingName{U}{"016A}
-\DeclareTextComposite{\=} \UnicodeEncodingName{u}{"016B}
-\DeclareTextComposite{\u} \UnicodeEncodingName{U}{"016C}
-\DeclareTextComposite{\u} \UnicodeEncodingName{u}{"016D}
-\DeclareTextComposite{\r} \UnicodeEncodingName{U}{"016E}
-\DeclareTextComposite{\r} \UnicodeEncodingName{u}{"016F}
-\DeclareTextComposite{\H} \UnicodeEncodingName{U}{"0170}
-\DeclareTextComposite{\H} \UnicodeEncodingName{u}{"0171}
-\DeclareTextComposite{\k} \UnicodeEncodingName{U}{"0172}
-\DeclareTextComposite{\k} \UnicodeEncodingName{u}{"0173}
-\DeclareTextComposite{\^} \UnicodeEncodingName{W}{"0174}
-\DeclareTextComposite{\^} \UnicodeEncodingName{w}{"0175}
-\DeclareTextComposite{\^} \UnicodeEncodingName{Y}{"0176}
-\DeclareTextComposite{\^} \UnicodeEncodingName{y}{"0177}
-\DeclareTextComposite{\"} \UnicodeEncodingName{Y}{"0178}
-\DeclareTextComposite{\'} \UnicodeEncodingName{Z}{"0179}
-\DeclareTextComposite{\'} \UnicodeEncodingName{z}{"017A}
-\DeclareTextComposite{\.} \UnicodeEncodingName{Z}{"017B}
-\DeclareTextComposite{\.} \UnicodeEncodingName{z}{"017C}
-\DeclareTextComposite{\v} \UnicodeEncodingName{Z}{"017D}
-\DeclareTextComposite{\v} \UnicodeEncodingName{z}{"017E}
-\DeclareTextComposite{\v} \UnicodeEncodingName{A}{"01CD}
-\DeclareTextComposite{\v} \UnicodeEncodingName{a}{"01CE}
-\DeclareTextComposite{\v} \UnicodeEncodingName{I}{"01CF}
-\DeclareTextComposite{\v} \UnicodeEncodingName\i {"01D0}
-\DeclareTextComposite{\v} \UnicodeEncodingName{i}{"01D0}
-\DeclareTextComposite{\v} \UnicodeEncodingName{O}{"01D1}
-\DeclareTextComposite{\v} \UnicodeEncodingName{o}{"01D2}
-\DeclareTextComposite{\v} \UnicodeEncodingName{U}{"01D3}
-\DeclareTextComposite{\v} \UnicodeEncodingName{u}{"01D4}
-\DeclareTextComposite{\=} \UnicodeEncodingName\AE{"01E2}
-\DeclareTextComposite{\=} \UnicodeEncodingName\ae{"01E3}
-\DeclareTextComposite{\v} \UnicodeEncodingName{G}{"01E6}
-\DeclareTextComposite{\v} \UnicodeEncodingName{g}{"01E7}
-\DeclareTextComposite{\v} \UnicodeEncodingName{K}{"01E8}
-\DeclareTextComposite{\v} \UnicodeEncodingName{k}{"01E9}
-\DeclareTextComposite{\k} \UnicodeEncodingName{O}{"01EA}
-\DeclareTextComposite{\k} \UnicodeEncodingName{o}{"01EB}
-\DeclareTextComposite{\v} \UnicodeEncodingName\j {"01F0}
-\DeclareTextComposite{\v} \UnicodeEncodingName{j}{"01F0}
-\DeclareTextComposite{\'} \UnicodeEncodingName{G}{"01F4}
-\DeclareTextComposite{\'} \UnicodeEncodingName{g}{"01F5}
-\DeclareTextComposite{\textcommabelow}\UnicodeEncodingName{S}{"0218}
-\DeclareTextComposite{\textcommabelow}\UnicodeEncodingName{s}{"0219}
-\DeclareTextComposite{\textcommabelow}\UnicodeEncodingName{T}{"021A}
-\DeclareTextComposite{\textcommabelow}\UnicodeEncodingName{t}{"021B}
-\DeclareTextComposite{\.} \UnicodeEncodingName{B}{"1E02}
-\DeclareTextComposite{\.} \UnicodeEncodingName{b}{"1E03}
+\DeclareUnicodeComposite{\^} {}{"005E}
+\DeclareUnicodeComposite{\~} {}{"007E}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\DeclareUnicodeComposite{\`} {A}{"00C0}
+\DeclareUnicodeComposite{\'} {A}{"00C1}
+\DeclareUnicodeComposite{\^} {A}{"00C2}
+\DeclareUnicodeComposite{\~} {A}{"00C3}
+\DeclareUnicodeComposite{\"} {A}{"00C4}
+\DeclareUnicodeComposite{\r} {A}{"00C5}
+\DeclareUnicodeComposite{\c} {C}{"00C7}
+\DeclareUnicodeComposite{\`} {E}{"00C8}
+\DeclareUnicodeComposite{\'} {E}{"00C9}
+\DeclareUnicodeComposite{\^} {E}{"00CA}
+\DeclareUnicodeComposite{\"} {E}{"00CB}
+\DeclareUnicodeComposite{\`} {I}{"00CC}
+\DeclareUnicodeComposite{\'} {I}{"00CD}
+\DeclareUnicodeComposite{\^} {I}{"00CE}
+\DeclareUnicodeComposite{\"} {I}{"00CF}
+\DeclareUnicodeComposite{\~} {N}{"00D1}
+\DeclareUnicodeComposite{\`} {O}{"00D2}
+\DeclareUnicodeComposite{\'} {O}{"00D3}
+\DeclareUnicodeComposite{\^} {O}{"00D4}
+\DeclareUnicodeComposite{\~} {O}{"00D5}
+\DeclareUnicodeComposite{\"} {O}{"00D6}
+\DeclareUnicodeComposite{\`} {U}{"00D9}
+\DeclareUnicodeComposite{\'} {U}{"00DA}
+\DeclareUnicodeComposite{\^} {U}{"00DB}
+\DeclareUnicodeComposite{\"} {U}{"00DC}
+\DeclareUnicodeComposite{\'} {Y}{"00DD}
+\DeclareUnicodeComposite{\`} {a}{"00E0}
+\DeclareUnicodeComposite{\'} {a}{"00E1}
+\DeclareUnicodeComposite{\^} {a}{"00E2}
+\DeclareUnicodeComposite{\~} {a}{"00E3}
+\DeclareUnicodeComposite{\"} {a}{"00E4}
+\DeclareUnicodeComposite{\r} {a}{"00E5}
+\DeclareUnicodeComposite{\c} {c}{"00E7}
+\DeclareUnicodeComposite{\`} {e}{"00E8}
+\DeclareUnicodeComposite{\'} {e}{"00E9}
+\DeclareUnicodeComposite{\^} {e}{"00EA}
+\DeclareUnicodeComposite{\"} {e}{"00EB}
+\DeclareUnicodeComposite{\`} \i {"00EC}
+\DeclareUnicodeComposite{\`} {i}{"00EC}
+\DeclareUnicodeComposite{\'} \i {"00ED}
+\DeclareUnicodeComposite{\'} {i}{"00ED}
+\DeclareUnicodeComposite{\^} \i {"00EE}
+\DeclareUnicodeComposite{\^} {i}{"00EE}
+\DeclareUnicodeComposite{\"} \i {"00EF}
+\DeclareUnicodeComposite{\"} {i}{"00EF}
+\DeclareUnicodeComposite{\~} {n}{"00F1}
+\DeclareUnicodeComposite{\`} {o}{"00F2}
+\DeclareUnicodeComposite{\'} {o}{"00F3}
+\DeclareUnicodeComposite{\^} {o}{"00F4}
+\DeclareUnicodeComposite{\~} {o}{"00F5}
+\DeclareUnicodeComposite{\"} {o}{"00F6}
+\DeclareUnicodeComposite{\`} {u}{"00F9}
+\DeclareUnicodeComposite{\'} {u}{"00FA}
+\DeclareUnicodeComposite{\^} {u}{"00FB}
+\DeclareUnicodeComposite{\"} {u}{"00FC}
+\DeclareUnicodeComposite{\'} {y}{"00FD}
+\DeclareUnicodeComposite{\"} {y}{"00FF}
+\DeclareUnicodeComposite{\=} {A}{"0100}
+\DeclareUnicodeComposite{\=} {a}{"0101}
+\DeclareUnicodeComposite{\u} {A}{"0102}
+\DeclareUnicodeComposite{\u} {a}{"0103}
+\DeclareUnicodeComposite{\k} {A}{"0104}
+\DeclareUnicodeComposite{\k} {a}{"0105}
+\DeclareUnicodeComposite{\'} {C}{"0106}
+\DeclareUnicodeComposite{\'} {c}{"0107}
+\DeclareUnicodeComposite{\^} {C}{"0108}
+\DeclareUnicodeComposite{\^} {c}{"0109}
+\DeclareUnicodeComposite{\.} {C}{"010A}
+\DeclareUnicodeComposite{\.} {c}{"010B}
+\DeclareUnicodeComposite{\v} {C}{"010C}
+\DeclareUnicodeComposite{\v} {c}{"010D}
+\DeclareUnicodeComposite{\v} {D}{"010E}
+\DeclareUnicodeComposite{\v} {d}{"010F}
+\DeclareUnicodeComposite{\=} {E}{"0112}
+\DeclareUnicodeComposite{\=} {e}{"0113}
+\DeclareUnicodeComposite{\u} {E}{"0114}
+\DeclareUnicodeComposite{\u} {e}{"0115}
+\DeclareUnicodeComposite{\.} {E}{"0116}
+\DeclareUnicodeComposite{\.} {e}{"0117}
+\DeclareUnicodeComposite{\k} {E}{"0118}
+\DeclareUnicodeComposite{\k} {e}{"0119}
+\DeclareUnicodeComposite{\v} {E}{"011A}
+\DeclareUnicodeComposite{\v} {e}{"011B}
+\DeclareUnicodeComposite{\^} {G}{"011C}
+\DeclareUnicodeComposite{\^} {g}{"011D}
+\DeclareUnicodeComposite{\u} {G}{"011E}
+\DeclareUnicodeComposite{\u} {g}{"011F}
+\DeclareUnicodeComposite{\.} {G}{"0120}
+\DeclareUnicodeComposite{\.} {g}{"0121}
+\DeclareUnicodeComposite{\c} {G}{"0122}
+\DeclareUnicodeComposite{\c} {g}{"0123}
+\DeclareUnicodeComposite{\^} {H}{"0124}
+\DeclareUnicodeComposite{\^} {h}{"0125}
+\DeclareUnicodeComposite{\~} {I}{"0128}
+\DeclareUnicodeComposite{\~} \i {"0129}
+\DeclareUnicodeComposite{\~} {i}{"0129}
+\DeclareUnicodeComposite{\=} {I}{"012A}
+\DeclareUnicodeComposite{\=} \i {"012B}
+\DeclareUnicodeComposite{\=} {i}{"012B}
+\DeclareUnicodeComposite{\u} {I}{"012C}
+\DeclareUnicodeComposite{\u} \i {"012D}
+\DeclareUnicodeComposite{\u} {i}{"012D}
+\DeclareUnicodeComposite{\k} {I}{"012E}
+\DeclareUnicodeComposite{\k} \i {"012F}
+\DeclareUnicodeComposite{\k} {i}{"012F}
+\DeclareUnicodeComposite{\.} {I}{"0130}
+\DeclareUnicodeComposite{\^} {J}{"0134}
+\DeclareUnicodeComposite{\^} \j {"0135}
+\DeclareUnicodeComposite{\^} {j}{"0135}
+\DeclareUnicodeComposite{\c} {K}{"0136}
+\DeclareUnicodeComposite{\c} {k}{"0137}
+\DeclareUnicodeComposite{\'} {L}{"0139}
+\DeclareUnicodeComposite{\'} {l}{"013A}
+\DeclareUnicodeComposite{\c} {L}{"013B}
+\DeclareUnicodeComposite{\c} {l}{"013C}
+\DeclareUnicodeComposite{\v} {L}{"013D}
+\DeclareUnicodeComposite{\v} {l}{"013E}
+\DeclareUnicodeComposite{\'} {N}{"0143}
+\DeclareUnicodeComposite{\'} {n}{"0144}
+\DeclareUnicodeComposite{\c} {N}{"0145}
+\DeclareUnicodeComposite{\c} {n}{"0146}
+\DeclareUnicodeComposite{\v} {N}{"0147}
+\DeclareUnicodeComposite{\v} {n}{"0148}
+\DeclareUnicodeComposite{\=} {O}{"014C}
+\DeclareUnicodeComposite{\=} {o}{"014D}
+\DeclareUnicodeComposite{\u} {O}{"014E}
+\DeclareUnicodeComposite{\u} {o}{"014F}
+\DeclareUnicodeComposite{\H} {O}{"0150}
+\DeclareUnicodeComposite{\H} {o}{"0151}
+\DeclareUnicodeComposite{\'} {R}{"0154}
+\DeclareUnicodeComposite{\'} {r}{"0155}
+\DeclareUnicodeComposite{\c} {R}{"0156}
+\DeclareUnicodeComposite{\c} {r}{"0157}
+\DeclareUnicodeComposite{\v} {R}{"0158}
+\DeclareUnicodeComposite{\v} {r}{"0159}
+\DeclareUnicodeComposite{\'} {S}{"015A}
+\DeclareUnicodeComposite{\'} {s}{"015B}
+\DeclareUnicodeComposite{\^} {S}{"015C}
+\DeclareUnicodeComposite{\^} {s}{"015D}
+\DeclareUnicodeComposite{\c} {S}{"015E}
+\DeclareUnicodeComposite{\c} {s}{"015F}
+\DeclareUnicodeComposite{\v} {S}{"0160}
+\DeclareUnicodeComposite{\v} {s}{"0161}
+\DeclareUnicodeComposite{\c} {T}{"0162}
+\DeclareUnicodeComposite{\c} {t}{"0163}
+\DeclareUnicodeComposite{\v} {T}{"0164}
+\DeclareUnicodeComposite{\v} {t}{"0165}
+\DeclareUnicodeComposite{\~} {U}{"0168}
+\DeclareUnicodeComposite{\~} {u}{"0169}
+\DeclareUnicodeComposite{\=} {U}{"016A}
+\DeclareUnicodeComposite{\=} {u}{"016B}
+\DeclareUnicodeComposite{\u} {U}{"016C}
+\DeclareUnicodeComposite{\u} {u}{"016D}
+\DeclareUnicodeComposite{\r} {U}{"016E}
+\DeclareUnicodeComposite{\r} {u}{"016F}
+\DeclareUnicodeComposite{\H} {U}{"0170}
+\DeclareUnicodeComposite{\H} {u}{"0171}
+\DeclareUnicodeComposite{\k} {U}{"0172}
+\DeclareUnicodeComposite{\k} {u}{"0173}
+\DeclareUnicodeComposite{\^} {W}{"0174}
+\DeclareUnicodeComposite{\^} {w}{"0175}
+\DeclareUnicodeComposite{\^} {Y}{"0176}
+\DeclareUnicodeComposite{\^} {y}{"0177}
+\DeclareUnicodeComposite{\"} {Y}{"0178}
+\DeclareUnicodeComposite{\'} {Z}{"0179}
+\DeclareUnicodeComposite{\'} {z}{"017A}
+\DeclareUnicodeComposite{\.} {Z}{"017B}
+\DeclareUnicodeComposite{\.} {z}{"017C}
+\DeclareUnicodeComposite{\v} {Z}{"017D}
+\DeclareUnicodeComposite{\v} {z}{"017E}
+\DeclareUnicodeComposite{\v} {A}{"01CD}
+\DeclareUnicodeComposite{\v} {a}{"01CE}
+\DeclareUnicodeComposite{\v} {I}{"01CF}
+\DeclareUnicodeComposite{\v} \i {"01D0}
+\DeclareUnicodeComposite{\v} {i}{"01D0}
+\DeclareUnicodeComposite{\v} {O}{"01D1}
+\DeclareUnicodeComposite{\v} {o}{"01D2}
+\DeclareUnicodeComposite{\v} {U}{"01D3}
+\DeclareUnicodeComposite{\v} {u}{"01D4}
+\DeclareUnicodeComposite{\=} \AE{"01E2}
+\DeclareUnicodeComposite{\=} \ae{"01E3}
+\DeclareUnicodeComposite{\v} {G}{"01E6}
+\DeclareUnicodeComposite{\v} {g}{"01E7}
+\DeclareUnicodeComposite{\v} {K}{"01E8}
+\DeclareUnicodeComposite{\v} {k}{"01E9}
+\DeclareUnicodeComposite{\k} {O}{"01EA}
+\DeclareUnicodeComposite{\k} {o}{"01EB}
+\DeclareUnicodeComposite{\v} \j {"01F0}
+\DeclareUnicodeComposite{\v} {j}{"01F0}
+\DeclareUnicodeComposite{\'} {G}{"01F4}
+\DeclareUnicodeComposite{\'} {g}{"01F5}
+\DeclareUnicodeComposite{\textcommabelow}{S}{"0218}
+\DeclareUnicodeComposite{\textcommabelow}{s}{"0219}
+\DeclareUnicodeComposite{\textcommabelow}{T}{"021A}
+\DeclareUnicodeComposite{\textcommabelow}{t}{"021B}
+\DeclareUnicodeComposite{\=} {Y}{"0232}
+\DeclareUnicodeComposite{\=} {y}{"0232}
+\DeclareUnicodeComposite{\.} {B}{"1E02}
+\DeclareUnicodeComposite{\.} {b}{"1E03}
+\DeclareUnicodeComposite{\d} {B}{"1E04}
+\DeclareUnicodeComposite{\d} {b}{"1E05}
+\DeclareUnicodeComposite{\d} {D}{"1E0C}
+\DeclareUnicodeComposite{\d} {d}{"1E0D}
+\DeclareUnicodeComposite{\=} {G}{"1E20}
+\DeclareUnicodeComposite{\=} {g}{"1E21}
+\DeclareUnicodeComposite{\d} {H}{"1E24}
+\DeclareUnicodeComposite{\d} {h}{"1E25}
+\DeclareUnicodeComposite{\d} {K}{"1E32}
+\DeclareUnicodeComposite{\d} {k}{"1E33}
+\DeclareUnicodeComposite{\d} {L}{"1E36}
+\DeclareUnicodeComposite{\d} {l}{"1E37}
+\DeclareUnicodeComposite{\d} {M}{"1E42}
+\DeclareUnicodeComposite{\d} {m}{"1E43}
+\DeclareUnicodeComposite{\d} {N}{"1E46}
+\DeclareUnicodeComposite{\d} {n}{"1E47}
+\DeclareUnicodeComposite{\d} {R}{"1E5A}
+\DeclareUnicodeComposite{\d} {r}{"1E5B}
+\DeclareUnicodeComposite{\d} {S}{"1E62}
+\DeclareUnicodeComposite{\d} {s}{"1E63}
+\DeclareUnicodeComposite{\d} {T}{"1E6C}
+\DeclareUnicodeComposite{\d} {t}{"1E6D}
+\DeclareUnicodeComposite{\d} {V}{"1E7E}
+\DeclareUnicodeComposite{\d} {v}{"1E7F}
+\DeclareUnicodeComposite{\d} {W}{"1E88}
+\DeclareUnicodeComposite{\d} {w}{"1E89}
+\DeclareUnicodeComposite{\d} {Z}{"1E92}
+\DeclareUnicodeComposite{\d} {z}{"1E93}
+\DeclareUnicodeComposite{\d} {A}{"1EA0}
+\DeclareUnicodeComposite{\d} {a}{"1EA1}
+\DeclareUnicodeComposite{\d} {E}{"1EB8}
+\DeclareUnicodeComposite{\d} {e}{"1EB9}
+\DeclareUnicodeComposite{\d} {I}{"1ECA}
+\DeclareUnicodeComposite{\d} {i}{"1ECB}
+\DeclareUnicodeComposite{\d} {O}{"1ECC}
+\DeclareUnicodeComposite{\d} {o}{"1ECD}
+\DeclareUnicodeComposite{\d} {U}{"1EE4}
+\DeclareUnicodeComposite{\d} {u}{"1EE5}
+\DeclareUnicodeComposite{\d} {Y}{"1EF4}
+\DeclareUnicodeComposite{\d} {y}{"1EF5}
% \end{macrocode}
%
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/base/ltoutput.dtx b/Master/texmf-dist/source/latex/base/ltoutput.dtx
index df2d7233e23..57d07e57b74 100644
--- a/Master/texmf-dist/source/latex/base/ltoutput.dtx
+++ b/Master/texmf-dist/source/latex/base/ltoutput.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2017
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -30,14 +30,14 @@
%%% From File: ltoutput.dtx
%<flafter>\ProvidesPackage{flafter}
%<fltrace>\ProvidesPackage{fltrace}
-%<flafter,fltrace> [2016/10/04 v1.3b
+%<flafter,fltrace> [2017/04/11 v1.4a
%<flafter> Standard LaTeX floats after reference (FMi)]
%<fltrace> Tracing LaTeX floats algorithm (FMi)]
%
%<*driver>
% \fi
\ProvidesFile{ltoutput.dtx}
- [2016/10/04 v1.3b LaTeX Kernel (Output Routine)]
+ [2017/04/11 v1.4a LaTeX Kernel (Output Routine)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutput.dtx}
@@ -646,6 +646,7 @@
% END
%
% Floats and marginpars add a lot of dead cycles.
+% \end{oldcomments}
% \begin{macrocode}
\maxdeadcycles = 100
% \end{macrocode}
@@ -743,7 +744,7 @@
\gdef\@currlist{}
\gdef\@deferlist{}
\gdef\@dbltoplist{}
-% \begin{macrocode}
+% \end{macrocode}
% \changes{v1.2m}{2015/03/12}
% {initialise \cs{@dbldeferlist} again}
% The new algorithm stores page wide floats together with column floats
@@ -751,7 +752,7 @@
% initialised as empty so that packages that are testing for
% deferred floats can use the same code for old or new float
% handling.
-% \end{macrocode}
+% \begin{macrocode}
\gdef\@dbldeferlist{}
% \end{macrocode}
%
@@ -773,7 +774,6 @@
\newdimen\marginparsep
\newdimen\marginparpush
% \end{macrocode}
-% \end{oldcomments}
%
% \begin{macro}{\AtBeginDvi}
% \changes{v1.1c}{1994/11/05}
@@ -962,6 +962,7 @@
% \changes{v1.1z}{1996/10/24}{Better checks for noskipsec and
% inlabel added, plus nobreak}
% \changes{v1.2a}{1996/10/25}{Reset all flags explicitly}
+% \changes{v2.4a}{2017/04/11}{account for the depth of the last row of the page}
% The two checks at the beginning ensure that an item label or
% run-in section title immediately before a |\newpage| get printed
% on the correct page, the one before the page break.
@@ -970,6 +971,10 @@
% that is why they all reset the flags explicitly, even when it
% would appear that this would be done by a |\leavevmode|.
% \begin{macrocode}
+%</2ekernel|fltrace>
+%<latexrelease>\IncludeInRelease{2017/04/15}%
+%<latexrelease> {\newpage}{Check depth of page}%
+%<*2ekernel|latexrelease|fltrace>
\def \newpage {%
\if@noskipsec
\ifx \@nodocument\relax
@@ -983,8 +988,49 @@
\fi
\if@nobreak \@nobreakfalse \everypar{}\fi
\par
+% \end{macrocode}
+% 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
+% 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
+% without the |\newpage|.
+% \begin{macrocode}
+ \ifdim\prevdepth>\z@
+ \vskip -%
+ \ifdim\prevdepth>\maxdepth
+ \maxdepth
+ \else
+ \prevdepth
+ \fi
+ \fi
\vfil
\penalty -\@M}
+%</2ekernel|latexrelease|fltrace>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\newpage}{Check depth of page}%
+%<latexrelease>\def \newpage {%
+%<latexrelease> \if@noskipsec
+%<latexrelease> \ifx \@nodocument\relax
+%<latexrelease> \leavevmode
+%<latexrelease> \global \@noskipsecfalse
+%<latexrelease> \fi
+%<latexrelease> \fi
+%<latexrelease> \if@inlabel
+%<latexrelease> \leavevmode
+%<latexrelease> \global \@inlabelfalse
+%<latexrelease> \fi
+%<latexrelease> \if@nobreak \@nobreakfalse \everypar{}\fi
+%<latexrelease> \par
+%<latexrelease> \vfil
+%<latexrelease> \penalty -\@M}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel|fltrace>
% \end{macrocode}
% \end{macro}
%
@@ -1988,11 +2034,18 @@
% out box be executed in the environment set up for the writes, or
% after it finishes?
%
-% A lot of this code has been in-lined tp prevent mis-use of
+% A lot of this code has been in-lined to prevent mis-use of
% internal commands as hooks.
% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2017/03/10}%
+%<latexrelease> {\@outputpage}{Reset language for hyphenation}%
+%<*2ekernel|latexrelease>
\def\@outputpage{%
-\begingroup % the \endgroup is put in by \aftergroup
+% \end{macrocode}
+% The |\endgroup| is put in by |\aftergroup|.
+% \begin{macrocode}
+\begingroup
% \end{macrocode}
% Now all the set-up stuff has been in-lined for Frank.
%
@@ -2006,6 +2059,14 @@
% RmS 93/08/19: Redefined accents to allow changes in font encoding;
% but exactly why was this needed?
%
+% \changes{v1.3c}{2017/03/10}{Reset \cs{language}}
+% Reset |\language| to the value current at |\begin{document}|.
+% In particular this ensures that a pagebreak in |verbatim| does not
+% prevent hyphenation in the page head.
+% \begin{macrocode}
+ \language\document@default@language
+% \end{macrocode}
+%
% The |\catcode`\ = 10| was removed as it was considered useless
% (presumably because nothing gets tokenised during shipout).
%
@@ -2062,9 +2123,10 @@
\shipout \vbox{%
\set@typeset@protect
\aftergroup \endgroup
+% \end{macrocode}
+% Correct? or just restore by ending the group?
+% \begin{macrocode}
\aftergroup \set@typeset@protect
- % correct? or just restore by ending
- % the group?
% \end{macrocode}
% This first bit has been moved inside the shipped out box.
%
@@ -2130,7 +2192,10 @@
\normalcolor
\hb@xt@\textwidth{\@thehead}%
\color@endbox
- }% %% 22 Feb 87
+% \end{macrocode}
+% 22 Feb 87
+% \begin{macrocode}
+ }%
\dp\@tempboxa \z@
\box\@tempboxa
\vskip \headsep
@@ -2161,6 +2226,66 @@
% \begin{macrocode}
\let\firstmark\botmark
}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@outputpage}{Reset language for hyphenation}%
+%<latexrelease>\def\@outputpage{%
+%<latexrelease>\begingroup
+%<latexrelease> \let \protect \noexpand
+%<latexrelease> \@resetactivechars
+%<latexrelease> \global\let\@@if@newlist\if@newlist
+%<latexrelease> \global\@newlistfalse
+%<latexrelease> \@parboxrestore
+%<latexrelease> \shipout \vbox{%
+%<latexrelease> \set@typeset@protect
+%<latexrelease> \aftergroup \endgroup
+%<latexrelease> \aftergroup \set@typeset@protect
+%<latexrelease> \if@specialpage
+%<latexrelease> \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
+%<latexrelease> \fi
+%<latexrelease> \if@twoside
+%<latexrelease> \ifodd\count\z@
+%<latexrelease> \let\@thehead\@oddhead \let\@thefoot\@oddfoot
+%<latexrelease> \let\@themargin\oddsidemargin
+%<latexrelease> \else \let\@thehead\@evenhead
+%<latexrelease> \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
+%<latexrelease> \fi
+%<latexrelease> \fi
+%<latexrelease> \reset@font
+%<latexrelease> \normalsize
+%<latexrelease> \normalsfcodes
+%<latexrelease> \let\label\@gobble
+%<latexrelease> \let\index\@gobble
+%<latexrelease> \let\glossary\@gobble
+%<latexrelease> \baselineskip\z@skip \lineskip\z@skip \lineskiplimit\z@
+%<latexrelease> \@begindvi
+%<latexrelease> \vskip \topmargin
+%<latexrelease> \moveright\@themargin \vbox {%
+%<latexrelease> \setbox\@tempboxa \vbox to\headheight{%
+%<latexrelease> \vfil
+%<latexrelease> \color@hbox
+%<latexrelease> \normalcolor
+%<latexrelease> \hb@xt@\textwidth{\@thehead}%
+%<latexrelease> \color@endbox
+%<latexrelease> }%
+%<latexrelease> \dp\@tempboxa \z@
+%<latexrelease> \box\@tempboxa
+%<latexrelease> \vskip \headsep
+%<latexrelease> \box\@outputbox
+%<latexrelease> \baselineskip \footskip
+%<latexrelease> \color@hbox
+%<latexrelease> \normalcolor
+%<latexrelease> \hb@xt@\textwidth{\@thefoot}%
+%<latexrelease> \color@endbox
+%<latexrelease> }%
+%<latexrelease> }%
+%<latexrelease> \global\let\if@newlist\@@if@newlist
+%<latexrelease> \global \@colht \textheight
+%<latexrelease> \stepcounter{page}%
+%<latexrelease> \let\firstmark\botmark
+%<latexrelease>}
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/base/ltplain.dtx b/Master/texmf-dist/source/latex/base/ltplain.dtx
index 30d2c5c089e..e801cd460fa 100644
--- a/Master/texmf-dist/source/latex/base/ltplain.dtx
+++ b/Master/texmf-dist/source/latex/base/ltplain.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltplain.dtx}
- [2017/01/06 v2.3b LaTeX Kernel (Plain TeX)]
+ [2017/04/10 v2.3c LaTeX Kernel (Plain TeX)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltplain.dtx}
@@ -369,14 +369,19 @@
% {Extended stream allocation in luatex (0.85)}
% \changes{v2.2b}{2015/11/19}
% {Only extend allocation of write streams (see luatex list)}
+% \changes{v2.3c}{2017/04/10}
+% {Correction to code to skip write18 in luatex}
% Skip |\write18| due to its traditional use as a shell-escape.
% \begin{macrocode}
\ifx\directlua\@undefined
\def\newwrite {\e@alloc\write \chardef{\count17}\m@ne\sixt@@n}
\else
\def\newwrite {\e@alloc\write
- {\ifnum\allocationnumber=18 \allocationnumber19\fi
- \global\chardef}%
+ {\ifnum\allocationnumber=18
+ \advance\count17\@ne
+ \allocationnumber\count17 %
+ \fi
+ \global\chardef}%
{\count17}%
\m@ne
{128}}
@@ -684,7 +689,7 @@
% \begin{macro}{\alloc@}
% \begin{macrocode}
\def\alloc@#1#2#3#4#5{\global\advance\count1#1\@ne
- \ch@ck#1#4#2% make sure there's still room
+ \ch@ck#1#4#2%
\allocationnumber\count1#1%
\global#3#5\allocationnumber
\wlog{\string#5=\string#2\the\allocationnumber}}
diff --git a/Master/texmf-dist/source/latex/base/ltsect.dtx b/Master/texmf-dist/source/latex/base/ltsect.dtx
index 72ca0eee21b..046932e603f 100644
--- a/Master/texmf-dist/source/latex/base/ltsect.dtx
+++ b/Master/texmf-dist/source/latex/base/ltsect.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2017
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -31,7 +31,7 @@
%%% From File: ltsect.dtx
%<*driver>
% \fi
-\ProvidesFile{ltsect.dtx}[2016/09/29 v1.0z LaTeX Kernel (Sectioning)]
+\ProvidesFile{ltsect.dtx}[2017/03/17 v1.1a LaTeX Kernel (Sectioning)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltsect.dtx}
@@ -295,7 +295,9 @@
% \begin{macro}{\@sect}
% Pseudocode for the |\@sect| command
% \begin{oldcomments}
-% \@sect{NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}[ARG1]{ARG2}
+% \@sect{NAME}{LEVEL}
+% {INDENT}{BEFORESKIP}{AFTERSKIP}
+% {STYLE}[ARG1]{ARG2}
% ==
% BEGIN
% IF LEVEL > \c@secnumdepth
@@ -411,7 +413,7 @@
% @noskipsec :=G T
% \everypar{ IF @noskipsec = T
% THEN @noskipsec :=G F
-% \clubpenalty :=G 10000
+% \clubpenalty := 10000 % local
% \hskip -\parindent
% \begingroup
% \@svsechd
@@ -419,7 +421,7 @@
% \unskip
% \hskip -AFTERSKIP \relax
% %% relax added 14 Jan 91
-% ELSE \clubpenalty :=G \@clubpenalty
+% ELSE \clubpenalty := \@clubpenalty % local
% \everypar := NULL
% FI
% }
@@ -488,7 +490,8 @@
% IF AFTERSKIP > 0
% THEN \begingroup
% STYLE
-% \@hangfrom{\hskip INDENT}{\interlinepenalty 10000 ARG\par}
+% \@hangfrom{\hskip INDENT}
+% {\interlinepenalty 10000 ARG\par}
% \endgroup
% ELSE \@svsechd == BEGIN STYLE
% \hskip INDENT
@@ -504,15 +507,15 @@
% \@afterheading ==
% BEGIN
% @nobreak :=G true
-% \everypar := BEGIN IF @nobreak = T
-% THEN @nobreak :=G false
-% \clubpenalty :=G 10000
-% IF @afterindent = F
-% THEN remove \lastbox
-% FI
-% ELSE \clubpenalty :=G \@clubpenalty
-% \everypar := NULL
-% FI
+% \everypar := BEGIN IF @nobreak = T
+% THEN @nobreak :=G false
+% \clubpenalty := 10000 % local
+% IF @afterindent = F
+% THEN remove \lastbox
+% FI
+% ELSE \clubpenalty := \@clubpenalty % local
+% \everypar := NULL
+% FI
% END
% END
% \end{oldcomments}
diff --git a/Master/texmf-dist/source/latex/base/ltvers.dtx b/Master/texmf-dist/source/latex/base/ltvers.dtx
index 30b3a421fb2..fb94e4c9d8f 100644
--- a/Master/texmf-dist/source/latex/base/ltvers.dtx
+++ b/Master/texmf-dist/source/latex/base/ltvers.dtx
@@ -92,10 +92,10 @@
%</2ekernel>
%<latexrelease>\edef\latexreleaseversion
%<*2ekernel|latexrelease>
- {2017/01/01}
+ {2017-04-15}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{3}
+\def\patch@level{0}
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/base/ltxdoc.dtx b/Master/texmf-dist/source/latex/base/ltxdoc.dtx
index cb7b2ee2ac3..a5ed7073348 100644
--- a/Master/texmf-dist/source/latex/base/ltxdoc.dtx
+++ b/Master/texmf-dist/source/latex/base/ltxdoc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2017
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -30,7 +30,7 @@
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{ltxdoc}
-%<class> [2015/03/26 v2.0w Standard LaTeX documentation class]
+%<class> [2017/03/13 v2.0v Standard LaTeX documentation class]
%
%<*driver>
\documentclass{ltxdoc}
@@ -492,12 +492,14 @@
% \begin{macro}{\docincludeaux}
% \changes{v2.06}{1994/03/31}{Use \cs{footnotesize} in file key.}
% \changes{v2.0k}{1994/05/21}{Use \cs{aalph}}
+% \changes{v2.0v}{2017/03/13}{Use \cs{parbox}[t] in file
+% key to maintain space between the text block and the page foot.}
% \begin{macrocode}
\def\docincludeaux{%
\def\thepart{\aalph{part}}\def\filesep{\thepart-}%
\let\filekey\@gobble
\g@addto@macro\index@prologue{%
- \gdef\@oddfoot{\parbox{\textwidth}{\strut\footnotesize
+ \gdef\@oddfoot{\parbox[t]{\textwidth}{\strut\footnotesize
\raggedright{\bfseries File Key:} \filekey}}%
\let\@evenfoot\@oddfoot}%
\global\let\docincludeaux\relax
diff --git a/Master/texmf-dist/source/latex/base/unpack.ins b/Master/texmf-dist/source/latex/base/unpack.ins
index d63feb0334c..7fb91c18f1f 100644
--- a/Master/texmf-dist/source/latex/base/unpack.ins
+++ b/Master/texmf-dist/source/latex/base/unpack.ins
@@ -122,11 +122,11 @@
\Msg{}
-\Msg{***********************************}
+\Msg{*********************************************}
\Msg{*}
-\Msg{* Now run INITEX on latex.ltx}
+\Msg{* Now run initex to generate the format file}
\Msg{*}
-\Msg{***********************************}
+\Msg{*********************************************}
\Msg{}
\endbatchfile
diff --git a/Master/texmf-dist/source/latex/graphics/graphics.dtx b/Master/texmf-dist/source/latex/graphics/graphics.dtx
index 4958cdfdea5..94f199678ee 100644
--- a/Master/texmf-dist/source/latex/graphics/graphics.dtx
+++ b/Master/texmf-dist/source/latex/graphics/graphics.dtx
@@ -2,7 +2,7 @@
% \iffalse
%
%% graphics.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
-%% Copyright (C) 1995--2016 David Carlisle, LaTeX3 Project
+%% Copyright (C) 1995--2017 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{graphics.drv}
% \fi
% \ProvidesFile{graphics.dtx}
- [2016/10/09 v1.0u Standard LaTeX Graphics (DPC,SPQR)]
+ [2017/04/14 v1.1b Standard LaTeX Graphics (DPC,SPQR)]
%
% \iffalse
%<*driver>
@@ -859,9 +859,19 @@
% \end{macro}
%
% \begin{macro}{\includegraphics}
+% \changes{v1.1a}{2017/03/17}
+% {\cs{leavevmode} added before the group in \cs{Gin@iii} so that
+% settings in \cs{everypar} are cleared}
% Top level command for the standard interface, just look for a |*|.
% \begin{macrocode}
\def\includegraphics{%
+% \end{macrocode}
+% Clear |\everypar| before starting a group.
+% \begin{macrocode}
+ \leavevmode
+% \end{macrocode}
+%
+% \begin{macrocode}
\@ifstar
{\Gin@cliptrue\Gin@i}%
{\Gin@clipfalse\Gin@i}}
@@ -1672,6 +1682,8 @@
% {\cs{leavevmode} moved earlier. graphics/1521}
% \changes{v1.0j}{1999/01/07}
% {made long. graphics/2908}
+% \changes{v1.1b}{2017/04/14}
+% {Adjust box resizing for math mode gh issue 6}
% \begin{macrocode}
\long\def\Gscale@box#1[#2]#3{%
\leavevmode
@@ -1688,8 +1700,7 @@
\ifdim#1\p@<\z@
\hb@xt@-#1\wd\z@{\kern-#1\wd\z@\box\tw@\hss}%
\else
- \wd\tw@#1\wd\z@
- \box\tw@
+ \hb@xt@#1\wd\z@{\box\tw@\kern#1\wd\z@\hss}%
\fi}
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/tools/multicol.dtx b/Master/texmf-dist/source/latex/tools/multicol.dtx
index c64c9901e89..28523c3fef5 100644
--- a/Master/texmf-dist/source/latex/tools/multicol.dtx
+++ b/Master/texmf-dist/source/latex/tools/multicol.dtx
@@ -91,7 +91,7 @@
%<driver> \ProvidesFile{multicol.drv}
% \fi
% \ProvidesFile{multicol.dtx}
- [2016/04/07 v1.8p multicolumn formatting (FMi)]
+ [2017/04/11 v1.8q multicolumn formatting (FMi)]
%
%
%%
@@ -1479,6 +1479,25 @@
% \begin{macrocode}
\reinsert@footnotes
% \end{macrocode}
+% Inside \mc{} a |\clearpage| is fairly useless as we aren't supporting
+% floats. In fact, it can cause harm as it doesn't know about the
+% |\partial@page| and may therefore result in making columns too long.
+% So we change that to bahve like |\newpage| but also check if there
+% are any deferred floats. If so, perhaps the user tried to place them through
+% that |\clearpage| (but that needs to be done before starting the \mc{}
+% environment.
+% \changes{v1.8q}{2017/04/11}{Make \cs{clearpage} behave like \cs{newpage} (pr/4511)}
+% \begin{macrocode}
+ \def\clearpage{%
+ \ifx\@deferlist\@empty\else
+ \PackageError{multicol}%
+ {Deferred floats not cleared}%
+ {A \string\clearpage\space inside multicols acts like
+ \string\newpage\space and doesn't clear floats.\MessageBreak
+ Move it before the multicols environment if you need it.}%
+ \fi
+ \newpage}%
+% \end{macrocode}
% All the code above was only necessary for the unrestricted \mc{}
% version, i.e.\ the one that allows page breaks. If we are within
% a box there is no point in setting up special output routines or