summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/base
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/base')
-rw-r--r--Master/texmf-dist/source/latex/base/alltt.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/alltt.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/classes.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/classes.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/cmextra.ins26
-rw-r--r--Master/texmf-dist/source/latex/base/cmfonts.fdd2
-rw-r--r--Master/texmf-dist/source/latex/base/cmfonts.ins26
-rw-r--r--Master/texmf-dist/source/latex/base/doc.dtx19
-rw-r--r--Master/texmf-dist/source/latex/base/docstrip.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/docstrip.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/ec.ins26
-rw-r--r--Master/texmf-dist/source/latex/base/exscale.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/exscale.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/fix-cm.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/fix-cm.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/fontdef.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/format.ins29
-rw-r--r--Master/texmf-dist/source/latex/base/graphpap.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/graphpap.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/ifthen.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ifthen.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/inputenc.dtx37
-rw-r--r--Master/texmf-dist/source/latex/base/inputenc.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/latex209.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/latex209.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/latexrelease.dtx23
-rw-r--r--Master/texmf-dist/source/latex/base/latexrelease.ins40
-rw-r--r--Master/texmf-dist/source/latex/base/latexsym.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/latexsym.ins32
-rw-r--r--Master/texmf-dist/source/latex/base/letter.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/letter.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/ltalloc.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltbibl.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltboxes.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltclass.dtx674
-rw-r--r--Master/texmf-dist/source/latex/base/ltcntrl.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltcounts.dtx145
-rw-r--r--Master/texmf-dist/source/latex/base/ltdefns.dtx88
-rw-r--r--Master/texmf-dist/source/latex/base/ltdirchk.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/lterror.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltfiles.dtx7
-rw-r--r--Master/texmf-dist/source/latex/base/ltfinal.dtx200
-rw-r--r--Master/texmf-dist/source/latex/base/ltfloat.dtx9
-rw-r--r--Master/texmf-dist/source/latex/base/ltfntcmd.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltfssbas.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltfsscmp.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltfssdcl.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltfssini.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltfsstrc.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/lthyphen.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltidxglo.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltlength.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltlists.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltlogos.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltluatex.dtx6
-rw-r--r--Master/texmf-dist/source/latex/base/ltmath.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltmiscen.dtx13
-rw-r--r--Master/texmf-dist/source/latex/base/ltnews14.tex2
-rw-r--r--Master/texmf-dist/source/latex/base/ltnews28.tex365
-rw-r--r--Master/texmf-dist/source/latex/base/ltoutenc.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltoutenc.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/ltoutput.dtx14
-rw-r--r--Master/texmf-dist/source/latex/base/ltpage.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltpageno.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltpar.dtx4
-rw-r--r--Master/texmf-dist/source/latex/base/ltpictur.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltplain.dtx6
-rw-r--r--Master/texmf-dist/source/latex/base/ltsect.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltspace.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/lttab.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltthm.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/ltvers.dtx63
-rw-r--r--Master/texmf-dist/source/latex/base/ltxdoc.dtx20
-rw-r--r--Master/texmf-dist/source/latex/base/ltxref.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/makeindx.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/makeindx.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/newdc.ins26
-rw-r--r--Master/texmf-dist/source/latex/base/newlfont.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/nfssfont.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/nfssfont.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/olddc.ins26
-rw-r--r--Master/texmf-dist/source/latex/base/oldlfont.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/preload.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/proc.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/proc.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/slides.dtx2
-rw-r--r--Master/texmf-dist/source/latex/base/slides.ins36
-rw-r--r--Master/texmf-dist/source/latex/base/slifonts.fdd2
-rw-r--r--Master/texmf-dist/source/latex/base/syntonly.dtx8
-rw-r--r--Master/texmf-dist/source/latex/base/syntonly.ins19
-rw-r--r--Master/texmf-dist/source/latex/base/tulm.fdd2
-rw-r--r--Master/texmf-dist/source/latex/base/tulm.ins24
-rw-r--r--Master/texmf-dist/source/latex/base/unpack.ins13
-rw-r--r--Master/texmf-dist/source/latex/base/utf8ienc.dtx210
94 files changed, 2166 insertions, 432 deletions
diff --git a/Master/texmf-dist/source/latex/base/alltt.dtx b/Master/texmf-dist/source/latex/base/alltt.dtx
index e8d700e08ae..358a0599029 100644
--- a/Master/texmf-dist/source/latex/base/alltt.dtx
+++ b/Master/texmf-dist/source/latex/base/alltt.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/alltt.ins b/Master/texmf-dist/source/latex/base/alltt.ins
index da0b7e830eb..73d2d0b420b 100644
--- a/Master/texmf-dist/source/latex/base/alltt.ins
+++ b/Master/texmf-dist/source/latex/base/alltt.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2014
+%% Copyright 1993-2017
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/classes.dtx b/Master/texmf-dist/source/latex/base/classes.dtx
index c8092012147..5b6e68ba682 100644
--- a/Master/texmf-dist/source/latex/base/classes.dtx
+++ b/Master/texmf-dist/source/latex/base/classes.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/classes.ins b/Master/texmf-dist/source/latex/base/classes.ins
index e7ffc375bc5..b87115cee6b 100644
--- a/Master/texmf-dist/source/latex/base/classes.ins
+++ b/Master/texmf-dist/source/latex/base/classes.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/cmextra.ins b/Master/texmf-dist/source/latex/base/cmextra.ins
index 5a5f7522972..a1c0973075b 100644
--- a/Master/texmf-dist/source/latex/base/cmextra.ins
+++ b/Master/texmf-dist/source/latex/base/cmextra.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -71,8 +74,11 @@ information.
In particular, permission is granted to customize the declarations in
this file to serve the needs of your installation.
-However, NO PERMISSION is granted to distribute a modified version
-of this file under its original name.
+However, a modified version of this file under its original name
+should not be distributed as part of a standard LaTeX distribution, as
+the modification will be nontransparent for the user of that
+distribution (and thus violating clause 6a of the LPPL license),
+making successful document exchange impossible.
\endpreamble
diff --git a/Master/texmf-dist/source/latex/base/cmfonts.fdd b/Master/texmf-dist/source/latex/base/cmfonts.fdd
index 925cb070570..1c83814ee5d 100644
--- a/Master/texmf-dist/source/latex/base/cmfonts.fdd
+++ b/Master/texmf-dist/source/latex/base/cmfonts.fdd
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/cmfonts.ins b/Master/texmf-dist/source/latex/base/cmfonts.ins
index a6616f93d80..79da8994dba 100644
--- a/Master/texmf-dist/source/latex/base/cmfonts.ins
+++ b/Master/texmf-dist/source/latex/base/cmfonts.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -71,8 +74,11 @@ information.
In particular, permission is granted to customize the declarations in
this file to serve the needs of your installation.
-However, NO PERMISSION is granted to distribute a modified version
-of this file under its original name.
+However, a modified version of this file under its original name
+should not be distributed as part of a standard LaTeX distribution, as
+the modification will be nontransparent for the user of that
+distribution (and thus violating clause 6a of the LPPL license),
+making successful document exchange impossible.
\endpreamble
diff --git a/Master/texmf-dist/source/latex/base/doc.dtx b/Master/texmf-dist/source/latex/base/doc.dtx
index 049d8a118bb..5225a9af113 100644
--- a/Master/texmf-dist/source/latex/base/doc.dtx
+++ b/Master/texmf-dist/source/latex/base/doc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2018
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -35,7 +35,7 @@
%<+package|shortvrb>\NeedsTeXFormat{LaTeX2e}[1994/12/01]
%<+package> \ProvidesPackage{doc}
%<+shortvrb>\ProvidesPackage{shortvrb}
-%<+package|shortvrb> [2016/02/15 v2.1g
+%<+package|shortvrb> [2018/02/01 v2.1h
%<+package|shortvrb> Standard LaTeX documentation package (FMi)]
%\catcode`\<=12
%
@@ -990,7 +990,7 @@
% \texttt{gglo.ist}. \DescribeMacro\GlossaryMin
% \DescribeMacro\GlossaryPrologue \DescribeMacro\GlossaryParms The
% "\GlossaryMin", "\GlossaryPrologue" and "\GlossaryParms" macros are
-% analagous to the "\Index"\ldots\ versions. (The \LaTeX{} `glossary'
+% analogous to the "\Index"\ldots\ versions. (The \LaTeX{} `glossary'
% mechanism is used for the change entries.)
%
% \label{sec:checksum}
@@ -1059,7 +1059,7 @@
% While |\CharacterTable| and |\CheckSum| have been important features
% in the early days of the public internet when \DOC{} was written as
% the mail gateways back then were rather unreliable and often mangled
-% files they are these days more a nuicance than any help. They are
+% files they are these days more a nuisance than any help. They are
% therefore now fully optional and no longer recommended for use with new files.
%
%
@@ -4836,13 +4836,14 @@
% undefined before \texttt{doc.sty} is read in. The default values
% for the internal registers are scattered over this file.
% \changes{v1.5u}{1989/11/14}{\cs{DocStyleParms} now empty}
+% \changes{v2.1h}{2018/02/01}{Only use\cs{DocStyleParms} if defined
+% (previously the test defined it)}
% \begin{macrocode}
-\@ifundefined{DocstyleParms}{}{}
+\@ifundefined{DocstyleParms}{}{\DocstyleParms}
% \end{macrocode}
-% Now we allow overwriting the values by calling
-% |\DocstyleParms|.
+% Clear out |\DocstyleParms| after use (or non-use).
% \begin{macrocode}
-\DocstyleParms \let\DocstyleParms\relax
+ \let\DocstyleParms\relax
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/base/docstrip.dtx b/Master/texmf-dist/source/latex/base/docstrip.dtx
index 6470f754394..cedf3c4a381 100644
--- a/Master/texmf-dist/source/latex/base/docstrip.dtx
+++ b/Master/texmf-dist/source/latex/base/docstrip.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/docstrip.ins b/Master/texmf-dist/source/latex/base/docstrip.ins
index 6a840fd0d3f..61a9343af62 100644
--- a/Master/texmf-dist/source/latex/base/docstrip.ins
+++ b/Master/texmf-dist/source/latex/base/docstrip.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -45,11 +48,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -60,7 +63,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/ec.ins b/Master/texmf-dist/source/latex/base/ec.ins
index d5015d43874..c6115089819 100644
--- a/Master/texmf-dist/source/latex/base/ec.ins
+++ b/Master/texmf-dist/source/latex/base/ec.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -71,8 +74,11 @@ information.
In particular, permission is granted to customize the declarations in
this file to serve the needs of your installation.
-However, NO PERMISSION is granted to distribute a modified version
-of this file under its original name.
+However, a modified version of this file under its original name
+should not be distributed as part of a standard LaTeX distribution, as
+the modification will be nontransparent for the user of that
+distribution (and thus violating clause 6a of the LPPL license),
+making successful document exchange impossible.
\endpreamble
diff --git a/Master/texmf-dist/source/latex/base/exscale.dtx b/Master/texmf-dist/source/latex/base/exscale.dtx
index a6d374ad43f..983ac95d1cf 100644
--- a/Master/texmf-dist/source/latex/base/exscale.dtx
+++ b/Master/texmf-dist/source/latex/base/exscale.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/exscale.ins b/Master/texmf-dist/source/latex/base/exscale.ins
index f8eb34c3d4d..4e4a36996de 100644
--- a/Master/texmf-dist/source/latex/base/exscale.ins
+++ b/Master/texmf-dist/source/latex/base/exscale.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/fix-cm.dtx b/Master/texmf-dist/source/latex/base/fix-cm.dtx
index 2c2bb4f9eca..b4311efa3c3 100644
--- a/Master/texmf-dist/source/latex/base/fix-cm.dtx
+++ b/Master/texmf-dist/source/latex/base/fix-cm.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/fix-cm.ins b/Master/texmf-dist/source/latex/base/fix-cm.ins
index 9cfac3a5d56..56a7923a133 100644
--- a/Master/texmf-dist/source/latex/base/fix-cm.ins
+++ b/Master/texmf-dist/source/latex/base/fix-cm.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/fontdef.dtx b/Master/texmf-dist/source/latex/base/fontdef.dtx
index d14c5c21d71..3231fac583e 100644
--- a/Master/texmf-dist/source/latex/base/fontdef.dtx
+++ b/Master/texmf-dist/source/latex/base/fontdef.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/format.ins b/Master/texmf-dist/source/latex/base/format.ins
index b39a8b14d80..3a7782a06e0 100644
--- a/Master/texmf-dist/source/latex/base/format.ins
+++ b/Master/texmf-dist/source/latex/base/format.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-2018
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -14,15 +14,18 @@
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2016
+Copyright 1993-2018
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -81,7 +84,7 @@ extension .ins) which are part of the distribution.
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
@@ -96,7 +99,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -120,7 +123,7 @@ extension .ins) which are part of the distribution.
This is a generated file.
-Copyright 1993-2016
+Copyright 1993-2018
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -131,7 +134,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -190,7 +193,7 @@ the system are in the document `cfgguide.tex'.
\from{ltbibl.dtx}{2ekernel}
\from{ltpage.dtx}{2ekernel}
\from{ltoutput.dtx}{2ekernel}
- \from{ltclass.dtx}{2ekernel}
+ \from{ltclass.dtx}{2ekernel,tracerollback}
\from{ltluatex.dtx}{2ekernel}
\from{ltfinal.dtx}{2ekernel}}
\file{tracefnt.sty}{%
diff --git a/Master/texmf-dist/source/latex/base/graphpap.dtx b/Master/texmf-dist/source/latex/base/graphpap.dtx
index 705a6236b83..5442c287cc8 100644
--- a/Master/texmf-dist/source/latex/base/graphpap.dtx
+++ b/Master/texmf-dist/source/latex/base/graphpap.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/graphpap.ins b/Master/texmf-dist/source/latex/base/graphpap.ins
index a86c916ac80..253d89baf95 100644
--- a/Master/texmf-dist/source/latex/base/graphpap.ins
+++ b/Master/texmf-dist/source/latex/base/graphpap.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/ifthen.dtx b/Master/texmf-dist/source/latex/base/ifthen.dtx
index 86c87c670b1..b538f895d06 100644
--- a/Master/texmf-dist/source/latex/base/ifthen.dtx
+++ b/Master/texmf-dist/source/latex/base/ifthen.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ifthen.ins b/Master/texmf-dist/source/latex/base/ifthen.ins
index c90afcffc3c..6b3008e1799 100644
--- a/Master/texmf-dist/source/latex/base/ifthen.ins
+++ b/Master/texmf-dist/source/latex/base/ifthen.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/inputenc.dtx b/Master/texmf-dist/source/latex/base/inputenc.dtx
index 81aa5e2ceaf..c88d488b482 100644
--- a/Master/texmf-dist/source/latex/base/inputenc.dtx
+++ b/Master/texmf-dist/source/latex/base/inputenc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2018
% LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -308,7 +308,7 @@
%
% \subsubsection{\normalfont\ttfamily Keyboard character used is undefined in
% inputencoding `\meta{name}'}
-
+%
% The document contains an 8-bit character that is not defined by the
% current input encoding in force. This means that either there is a
% mismatch between the document encoding that the document claims it
@@ -410,7 +410,7 @@
%<cp1252&!ansinew> \ProvidesFile{cp1252.def}
%<cp1250> \ProvidesFile{cp1250.def}
%<cp1257> \ProvidesFile{cp1257.def}
- [2015/03/17 v1.2c Input encoding file]
+ [2018/04/06 v1.3b Input encoding file]
%<cp850>%%
%<cp850>%% If you need a Euro symbol, try cp858 instead.
%<cp850>%%
@@ -534,6 +534,8 @@
% \changes{v0.95}{1997/12/20}{Changed to work in any vmode, for David}
% \changes{v1.2a}{2014/04/20}{Added alternative definition for xe/lua tex (pr/4024)}%
% \changes{v1.2b}{2014/04/30}{Allow (x-)ascii and utf8x aliases for utf8 in xetex/luatex}%
+% \changes{v1.3a}{2018/03/24}{Make \cs{inputencoding} do nothing if
+% the argument matches current encoding}%
% This sets the encoding to be |#1|. It first sets all the
% characters 128--255 to be active (and sets their initial
% definition to be |\@inpenc@undefined|).
@@ -549,6 +551,9 @@
%
% \begin{macrocode}
\def\inputencoding#1{%
+ \edef\reserved@a{#1}%
+ \ifx\reserved@a\inputencodingname
+ \else
% \end{macrocode}
% We start with a hook to be executed before the encoding change
% happens.
@@ -631,6 +636,10 @@
% \changes{v1.1a}{2006/02/22}{Added \cs{inpenc@posthook}}
% \begin{macrocode}
\the\inpenc@posthook
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \fi
}
% \end{macrocode}
%
@@ -680,8 +689,8 @@
% \changes{v1.1a}{2006/02/22}{Hook added}
% Two hooks to be executed before and after an encoding changes happened.
% \begin{macrocode}
-\newtoks\inpenc@prehook
-\newtoks\inpenc@posthook
+\ifx\inpenc@prehook\@undefined\newtoks\inpenc@prehook\fi
+\ifx\inpenc@posthook\@undefined\newtoks\inpenc@posthook\fi
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -728,7 +737,17 @@
%
%
% Then for each option, we input that encoding file.
-% \begin{macrocode}
+% Only exception: for utf8x (from \texttt{ucs} package) we
+% first restore the raw input encoding. That should be moved to the
+% \texttt{utf8x.def} file, eventually.
+% In case of a rollback |\UseRawInputEncoding| is not defined so we
+% only input the encoding.
+% \changes{v1.3b}{2018/04/06}{Handle utf8x encoding manually for now}
+% \begin{macrocode}
+\DeclareOption{utf8x}{\ifdefined\UseRawInputEncoding
+ \UseRawInputEncoding
+ \fi
+ \inputencoding{\CurrentOption}}
\DeclareOption*{\inputencoding{\CurrentOption}}
\ProcessOptions
%</package>
@@ -2594,7 +2613,7 @@
%
% Data for the \LaTeX{} support was mainly provided by Ionel Ciob\^{i}c\u{a}
% with additions and corrections taken from\\
-% \texttt{http://www.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT}.
+% \texttt{https://www.unicode.org/Public/MAPPINGS/ISO8859/8859-16.TXT}.
%
% \changes{v1.1b}{2006/03/03}{Corrections (pr/3849)}
%
@@ -2892,7 +2911,7 @@
% This is an MS Windows encoding for Baltic languages,
% known as Code Page 1257; provided by Heiko Oberdiek
% using the mappings to Unicode in\\
-% \texttt{http://www.unicode.org/\\Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT}\\
+% \texttt{https://www.unicode.org/\\Public/MAPPINGS/VENDORS/MICSFT/WINDOWS/CP1257.TXT}\\
% and\\
% \texttt{http://www.microsoft.com/globaldev/reference/sbcs/1257.mspx}.
%
diff --git a/Master/texmf-dist/source/latex/base/inputenc.ins b/Master/texmf-dist/source/latex/base/inputenc.ins
index 2a5fdfbe983..46df8cf4f09 100644
--- a/Master/texmf-dist/source/latex/base/inputenc.ins
+++ b/Master/texmf-dist/source/latex/base/inputenc.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/latex209.dtx b/Master/texmf-dist/source/latex/base/latex209.dtx
index 1e29bf76226..4996e334c14 100644
--- a/Master/texmf-dist/source/latex/base/latex209.dtx
+++ b/Master/texmf-dist/source/latex/base/latex209.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/latex209.ins b/Master/texmf-dist/source/latex/base/latex209.ins
index b5c975d9f1b..f0834e83df4 100644
--- a/Master/texmf-dist/source/latex/base/latex209.ins
+++ b/Master/texmf-dist/source/latex/base/latex209.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/latexrelease.dtx b/Master/texmf-dist/source/latex/base/latexrelease.dtx
index 15be21a45cc..3a129e981b2 100644
--- a/Master/texmf-dist/source/latex/base/latexrelease.dtx
+++ b/Master/texmf-dist/source/latex/base/latexrelease.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2018
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -30,6 +30,7 @@
% \iffalse
%
%<*dtx>
+ \def\latexreleaseversion{<date only known in .sty file>}
\ProvidesFile{latexrelease.dtx}
%</dtx>
%<driver>\ProvidesFile{latexrelease.drv}
@@ -39,7 +40,8 @@
%<*!fixltx2e>
% \fi
% \ProvidesFile{latexrelease.dtx}
- [2016/12/29 v1.0h LaTeX release emulation and tests]
+ [2018/02/18 v1.0j LaTeX release emulation and tests
+ (including releases up to \latexreleaseversion)]
% \iffalse
%</!fixltx2e>
%<*driver>
@@ -55,6 +57,8 @@
%</driver>
% \fi
%
+% \changes{v1.0i}{2017/12/17}{Add \cs{latexreleaseversion} info
+% to \cs{ProvidesPackage} output}
%
%
% \let\package\textsf
@@ -113,10 +117,12 @@
%
% \section{Package Options}
% \begin{itemize}
-% \item \emph{yyyy/mm/dd}
-% The package accepts any \LaTeX\ format date as argument,%
+% \item \emph{yyyy/mm/dd} or \emph{yyyy-nn-dd}
+% The package accepts any possible \LaTeX\ format date as argument,
% although dates in the future for which the current release of this
-% package has no information will generate a warning.
+% package has no information will generate a warning. Dates
+% earlier than 2015 will work but will roll back to some point in 2015
+% when the method was introduced.
%
% \item%
% |current| This is the default behaviour, it does not change the
@@ -392,6 +398,7 @@
% ensures |requestedLaTeXdate| gets set to a number. Generate an
% error if there are any non digit tokens remaining after removing the
% |//|.
+% \changes{v1.0j}{2018/01/30}{Explain both date formats in error message}
% \begin{macrocode}
\def\reserved@a{%
\edef\requestedLaTeXdate{\the\count@}%
@@ -401,7 +408,7 @@
\ifx\reserved@b\@empty\else
\PackageError{latexrelease}%
{Unexpected option \requestedpatchdate}%
- {The option must be of the form yyyy/mm/dd}%
+ {The option must be of the form yyyy/mm/dd or yyyy-mm-dd}%
\fi}
\afterassignment\reserved@a
\count@\expandafter
@@ -417,7 +424,7 @@
% \begin{macrocode}
\ifnum\requestedLaTeXdate=\currentLaTeXdate
\PackageWarningNoLine{latexrelease}{%
- Current format date selected, no patches applied.}
+ Current format date selected, no patches applied}
\expandafter\endinput
\fi
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/base/latexrelease.ins b/Master/texmf-dist/source/latex/base/latexrelease.ins
index e4780394330..429308198ad 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-2017
+%% Copyright 1993-2018
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2017
+Copyright 1993-2018
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -79,27 +82,44 @@ extension .ins) which are part of the distribution.
\usedir{tex/latex/base}
\generateFile{latexrelease.sty}{t}{%
- \from{ltclass.dtx} {isodate}%
+ \from{ltclass.dtx} {latexreleasefirst,tracerollback}%
\from{ltvers.dtx} {latexrelease}%
\from{latexrelease.dtx}{latexrelease}%
\from{ltdirchk.dtx} {latexrelease}%
\from{ltdefns.dtx} {latexrelease}%
+ \from{ltalloc.dtx} {latexrelease}% empty
+ \from{ltcntrl.dtx} {latexrelease}% empty
+ \from{lterror.dtx} {latexrelease}% empty
+ \from{ltpar.dtx} {latexrelease}% empty
+ \from{ltlists.dtx} {latexrelease}% empty
\from{ltboxes.dtx} {latexrelease}%
+ \from{lttab.dtx} {latexrelease}% empty
\from{ltmath.dtx} {latexrelease}%
\from{ltpictur.dtx} {latexrelease}%
+ \from{ltthm.dtx} {latexrelease}% empty
+ \from{ltsect.dtx} {latexrelease}% empty
\from{ltfiles.dtx} {latexrelease}%
\from{ltoutenc.dtx} {latexrelease}%
\from{ltcounts.dtx} {latexrelease}%
\from{ltlength.dtx} {latexrelease}%
\from{ltfloat.dtx} {latexrelease}%
+ \from{ltidxglo.dtx} {latexrelease}% empty
+ \from{ltbibl.dtx} {latexrelease}% empty
+ \from{ltpage.dtx} {latexrelease}% empty
\from{ltoutput.dtx} {latexrelease}%
- \from{ltclass.dtx} {latexrelease}%
+ \from{ltclass.dtx} {latexrelease,tracerollback}%
\from{ltspace.dtx} {latexrelease}%
+ \from{ltlogos.dtx} {latexrelease}% empty
\from{ltplain.dtx} {latexrelease}%
\from{ltfssdcl.dtx} {latexrelease}%
\from{ltfssini.dtx} {latexrelease}%
+ \from{ltfntcmd.dtx} {latexrelease}% empty
\from{ltfssbas.dtx} {latexrelease}%
+ \from{ltfsstrc.dtx} {latexrelease}% empty
\from{ltfsscmp.dtx} {latexrelease}%
+ \from{ltpageno.dtx} {latexrelease}% empty
+ \from{ltxref.dtx} {latexrelease}% empty
+ \from{ltmiscen.dtx} {latexrelease}%
\from{ltluatex.dtx} {latexrelease}%
\from{ltfinal.dtx} {latexrelease}%
}
diff --git a/Master/texmf-dist/source/latex/base/latexsym.dtx b/Master/texmf-dist/source/latex/base/latexsym.dtx
index 90ec62c109f..58e88d63649 100644
--- a/Master/texmf-dist/source/latex/base/latexsym.dtx
+++ b/Master/texmf-dist/source/latex/base/latexsym.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/latexsym.ins b/Master/texmf-dist/source/latex/base/latexsym.ins
index a2a34218a0b..031e1d40629 100644
--- a/Master/texmf-dist/source/latex/base/latexsym.ins
+++ b/Master/texmf-dist/source/latex/base/latexsym.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -80,11 +83,11 @@ extension .ins) which are part of the distribution.
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -95,7 +98,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -110,8 +113,11 @@ information.
In particular, permission is granted to customize the declarations in
this file to serve the needs of your installation.
-However, NO PERMISSION is granted to distribute a modified version
-of this file under its original name.
+However, a modified version of this file under its original name
+should not be distributed as part of a standard LaTeX distribution, as
+the modification will be nontransparent for the user of that
+distribution (and thus violating clause 6a of the LPPL license),
+making successful document exchange impossible.
\endpreamble
diff --git a/Master/texmf-dist/source/latex/base/letter.dtx b/Master/texmf-dist/source/latex/base/letter.dtx
index c2ec9791b23..d3d3fa4e6ab 100644
--- a/Master/texmf-dist/source/latex/base/letter.dtx
+++ b/Master/texmf-dist/source/latex/base/letter.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/letter.ins b/Master/texmf-dist/source/latex/base/letter.ins
index 990a53b4f1c..28d77dd3b53 100644
--- a/Master/texmf-dist/source/latex/base/letter.ins
+++ b/Master/texmf-dist/source/latex/base/letter.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/ltalloc.dtx b/Master/texmf-dist/source/latex/base/ltalloc.dtx
index 349271d131c..4be345c3544 100644
--- a/Master/texmf-dist/source/latex/base/ltalloc.dtx
+++ b/Master/texmf-dist/source/latex/base/ltalloc.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltbibl.dtx b/Master/texmf-dist/source/latex/base/ltbibl.dtx
index 6b2ea19e2da..198897d13d9 100644
--- a/Master/texmf-dist/source/latex/base/ltbibl.dtx
+++ b/Master/texmf-dist/source/latex/base/ltbibl.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltboxes.dtx b/Master/texmf-dist/source/latex/base/ltboxes.dtx
index 5fac793f141..6bfbc38af97 100644
--- a/Master/texmf-dist/source/latex/base/ltboxes.dtx
+++ b/Master/texmf-dist/source/latex/base/ltboxes.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltclass.dtx b/Master/texmf-dist/source/latex/base/ltclass.dtx
index b1d81c5d6bf..91194a2adda 100644
--- a/Master/texmf-dist/source/latex/base/ltclass.dtx
+++ b/Master/texmf-dist/source/latex/base/ltclass.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2018
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2017/03/08 v1.2c LaTeX Kernel (Class & Package Interface)]
+ [2018/03/27 v1.2f LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -56,11 +56,16 @@
% \fi
%
%
+% \changes{v0.2f}{1993/11/22}
+% {\cs{@unknownversion} removed}
+% \changes{v1.0j}{1994/10/18}
+% {Move \cs{listfiles} to ltfiles.dtx}
% \changes{v1.0f}{1994/05/22}{Use new warning and error commands}
% \changes{v1.0l}{1994/11/17}{\cs{@tempa} to \cs{reserved@a}}
% \changes{v1.0z}{1998/03/21}{Added to documentation of filecontents}
% \changes{v1.1c}{1998/08/17}{(RmS) Minor documentation fixes.}
%
+%
% \section{Introduction}
%
% This file implements the following declarations, which replace
@@ -613,19 +618,41 @@
\expandafter\@ifl@t@r
\csname ver@#2.#1\endcsname}
\@onlypreamble\@ifl@ter
+%</2ekernel>
% \end{macrocode}
%
% This internal macro is also used in |\NeedsTeXFormat|.
% \changes{v0.2f}{1993/11/22}
% {Added //00 so parsing never produces a runaway argument.}
+% \changes{v1.2d}{2018/02/18}
+% {Added 0 up front to make bad data come out as 0.}
% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2018/04/01}%
+%<latexrelease> {\@ifl@t@r}{Guard against bad input}%
+%<*2ekernel|latexrelease>
\def\@ifl@t@r#1#2{%
- \ifnum\expandafter\@parse@version#1//00\@nil<%
- \expandafter\@parse@version#2//00\@nil
+ \ifnum\expandafter\@parse@version\expandafter0#1//00\@nil<%
+ \expandafter\@parse@version\expandafter0#2//00\@nil
\expandafter\@secondoftwo
\else
\expandafter\@firstoftwo
\fi}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@ifl@t@r}{Guard against bad input}%
+%<latexrelease>\def\@ifl@t@r#1#2{%
+%<latexrelease> \ifnum\expandafter\@parse@version#1//00\@nil<%
+%<latexrelease> \expandafter\@parse@version#2//00\@nil
+%<latexrelease> \expandafter\@secondoftwo
+%<latexrelease> \else
+%<latexrelease> \expandafter\@firstoftwo
+%<latexrelease> \fi}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
\@onlypreamble\@ifl@t@r
% \end{macrocode}
%
@@ -635,7 +662,7 @@
% {add \cs{@parse@version@dash} to support yyyy-mm-dd as well as yyyy/mm/dd }
% \begin{macrocode}
%</2ekernel>
-%<*2ekernel|isodate>
+%<*2ekernel|latexreleasefirst>
\def\@parse@version#1/#2/#3#4#5\@nil{%
\@parse@version@dash#1-#2-#3#4\@nil
}
@@ -645,7 +672,7 @@
% \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|latexreleasefirst>
%<*2ekernel>
% \end{macrocode}
% \end{macro}
@@ -716,6 +743,7 @@
%<latexrelease> \fi
%<latexrelease> }%
%<latexrelease> \reserved@a}
+%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
%
@@ -1043,6 +1071,7 @@
%<latexrelease> {\csname ds@\CurrentOption\endcsname}%
%<latexrelease> \edef\CurrentOption{##1}}%
%<latexrelease> \expandafter\reserved@a\CurrentOption\@nil}
+%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
%
@@ -1362,6 +1391,7 @@
%<latexrelease> \expandafter\reserved@b\reserved@a,\@nil,}%
%<latexrelease> \fi
%<latexrelease> \reserved@a}
+%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
%
@@ -1437,7 +1467,7 @@
\csname\@currname.\@currext-h@@k\endcsname
\expandafter\let\csname\@currname.\@currext-h@@k\endcsname
\@undefined
- \@unprocessedoptions}
+ \@unprocessedoptions}%
% \end{macrocode}
%
% \begin{macrocode}
@@ -1672,6 +1702,12 @@
% \changes{v1.0p}{1995/05/25}{Delete \cs{filec@ntents} after preamble}
% \begin{macrocode}
\begingroup%
+\@tempcnta=1
+\loop
+ \catcode\@tempcnta=12 %
+ \advance\@tempcnta\@ne %
+\ifnum\@tempcnta<32 %
+\repeat %
\catcode`\*=11 %
\catcode`\^^M\active%
\catcode`\^^L\active\let^^L\relax%
@@ -1727,6 +1763,19 @@
\fi%
\let\do\@makeother\dospecials%
% \end{macrocode}
+% If there are active characters in the upper half (e.g., from
+% \texttt{inputenc} there would be confusion so we render everything
+% harmless.
+% \changes{v1.2f}{2018/03/27}
+% {Use full file name for old release}
+% \begin{macrocode}
+ \count@ 128\relax%
+ \loop%
+ \catcode\count@ 11\relax%
+ \advance\count@ \@ne%
+ \ifnum\count@<\@cclvi%
+ \repeat%
+% \end{macrocode}
%
% \changes{v1.0y}{1997/10/10}
% {Check for text before or after \cs{end} environment. latex/2636}
@@ -1807,14 +1856,615 @@
% \end{macro}
%
%
-% \changes{v0.2f}{1993/11/22}
-% {\cs{@unknownversion} removed}
-% \changes{v1.0j}{1994/10/18}
-% {Move \cs{listfiles} to ltfiles.dtx}
%
+%
+%
+% \section{Package/class rollback mechanism}
+%
+%
+%
% \begin{macrocode}
%</2ekernel>
+%<*2ekernel|latexreleasefirst>
+% \end{macrocode}
+%
+% \changes{v1.2d}{2018/02/18}{Introduce rollback concept}
+%
+% \begin{macro}{\pkgcls@debug}
+% For testing we have a few extra lines of code that by default do
+% nothing but one can set |\pkgcls@debug| to |\typeout| to get
+% extra info. Sometime in the future this will be dropped.
+% \begin{macrocode}
+%<*tracerollback>
+%\let\pkgcls@debug\typeout
+\let\pkgcls@debug\@gobble
+%</tracerollback>
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\requestedLaTeXdate}
+% The macro (!) |\requestedLaTeXdate| holds the globally requested
+% rollback date (via \texttt{latexrelease}) or zero if no such
+% request was made.
+% \begin{macrocode}
+\def\requestedLaTeXdate{0}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\pkgcls@targetdate}
+% \begin{macro}{\pkgcls@targetlabel}
+% \begin{macro}{\pkgcls@innerdate}
+%
+% If a rollback for a package or class is requested then
+% |\pkgcls@targetdate| holds the requested date as a number
+% YYYYMMDD (if there was one, otherwise the value of
+% |\requestedLaTeXdate|) and |\pkgcls@targetlabel| will be
+% empty. If there was a request for a named version then
+% |\pkgcls@targetlabel| holds the verion name and
+% |\pkgcls@targetdate| is set to \texttt{1}.
+%
+% |\pkgcls@targetdate=0| is used to indicate that there was no
+% rollback request.
+% While loading an old release |\pkgcls@targetdate| is also reset to
+% zero so that |\DeclareRelease| declarations are bypassed.
+%
+% In contrast |\pkgcls@innerdate| will always hold the requested
+% date (in a macro not a counter) if there was one, otherwise,
+% e.g., if there was no request or a request to a version name it
+% will contain \TeX{} largest legal number. While loading a file
+% this can be used to provide conditionals that select code based
+% on the request.
+%
+%
+% \begin{macrocode}
+\ifx\pkgcls@targetdate\@undefined
+ \newcount\pkgcls@targetdate
+\fi
+\let\pkgcls@targetlabel\@empty
+\def\pkgcls@innerdate{\maxdimen}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+
+% \begin{macro}{\pkgcls@candidate}
+% \begin{macro}{\pkgcls@releasedate}
+% When looping through the |\DeclareRelease| declarations we
+% record if the release is the best candidate we have seen so far.
+% This is recorded in |\pkgcls@candidate| and we update it whenever
+% we see a better one.
+%
+% In |\pkgcls@releasedate| we keep track of the release date of
+% that candidate.
+% \begin{macrocode}
+\let\pkgcls@candidate\@empty
+\let\pkgcls@releasedate\@empty
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\load@onefilewithoptions}
+% \begin{macro}{\@onefilewithoptions}
+% the best place to add the rollback code is at the point where
+% |\@onefilewithoptions| is called to load a single class or
+% package.
+%
+% To make things easy we save the old definition as
+% |\load@onefilewithoptions| and then provide a new interface.
+%
+% Important: as this code is also unconditionally placed into
+% latexrelease we can only do this name change once otherwise both
+% macros will contain the same code.
+% \begin{macrocode}
+\ifx\load@onefilewithoptions\@undefined
+ \let\load@onefilewithoptions\@onefilewithoptions
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \def\@onefilewithoptions#1[#2][#3]#4{%
+% \end{macrocode}
+% First a bit of tracing normally disabled.
+% \begin{macrocode}
+%<*tracerollback>
+ \pkgcls@debug{--- File loaded request (\noexpand\usepackage or ...)}%
+ \pkgcls@debug{\@spaces 1: #1}%
+ \pkgcls@debug{\@spaces 2: #2}%
+ \pkgcls@debug{\@spaces 3: #3}%
+ \pkgcls@debug{\@spaces 4: #4}%
+%</tracerollback>
+% \end{macrocode}
+% Two of the arguments are needed later on in error/warning
+% messages so we save them.
+% \begin{macrocode}
+ \def\pkgcls@name{#1}% % for info message
+ \def\pkgcls@arg {#3}% % for info message
+% \end{macrocode}
+% then we parse the final optional argument to determine if there
+% is a specific rollback request for the current file. This will
+% set |\pkgcls@targetdate|, |\pkgcls@targetlabel| and
+% |\pkgcls@mindate|.
+% \begin{macrocode}
+ \pkgcls@parse@date@arg{#3}%
+% \end{macrocode}
+% When determining the correct release to load we keep track of
+% candiates in |\pkgcls@candidate| and initially we don't have any:
+% \begin{macrocode}
+ \let\pkgcls@candidate\@empty
+% \end{macrocode}
+% If we had a rollback request then |#3| may contain data but not
+% necessarily a ``minimal date'' so instead of passing it on we
+% pass on |\pkgcls@mindate|.
+% \begin{macrocode}
+ \load@onefilewithoptions#1[#2][\pkgcls@mindate]#4%
+ }
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macro}{\pkgcls@parse@date@arg}
+% The |\pkgcls@parse@date@arg| command parses the second optional
+% argument of |\usepackage|, |\RequirePackage| or |\documentclass|
+% for a rollback request setting the values of |\pkgcls@targetdate|
+% and |\pkgcls@targetlabel|.
+%
+% This optional argument has a dual purpose: If it just contains a
+% date string then this means that the package should have at least
+% that date (to ensure that a certain feature is actually available,
+% or a certain bug has been fixed). When the package gets loaded the
+% information in |\Provides...| will then be checked against this
+% request.
+%
+% But if it starts with an equal sign followed by a date string or
+% followed by a version name then this means that we should roll
+% back to the state of the package at tht date or to the version
+% with the requested name.
+%
+% If there was no optional argument or the optional argument
+% does not start with ``\texttt{=}'' then the |\pkgcls@targetdate|
+% is set to the date of the overall rollback request (via
+% \texttt{latexrelease}) or if that was not given it is set to
+% \texttt{0}.
+% In either case |\pkgcls@targetlabel| will be made empty.
+%
+% If the argument doesn't start with ``\texttt{=}'' then it is
+% supposed to be a ``minimal date'' and we therefore save the value
+% in |\pkgcls@mindate|, otherwise this macro is made empty.
+%
+% So in summary we have:
+% \begin{flushleft}
+% \hspace*{-1in}\begin{tabular}{ccccc@{}}
+% Input & & \cs{pkgcls@targetdate}
+% & \cs{pkgcls@targetlabel}
+% & \cs{pkgcls@mindate}\\[3pt]
+% \meta{empty} & $\to$ & \meta{global-rollbackdate-as-number}
+% & \meta{empty} & \meta{empty}
+% \\
+% \meta{date} & $\to$ & \meta{global-rollbackdate-as-number}
+% & \meta{empty} & \meta{date}
+% \\
+% \texttt{=}\meta{date} & $\to$ & \meta{date-as-number}
+% & \meta{empty} & \meta{empty}
+% \\
+% \texttt{=}\meta{version}& $\to$ & \texttt{1}
+% & \meta{version} & \meta{empty}
+% \\
+% \meta{other} & $\to$ & \meta{global-rollbackdate-as-number}
+% & \meta{empty} & \meta{other}
+% \\
+% \end{tabular}
+% \end{flushleft}
+% where \meta{global-rollbackdate-as-number} is a date request given
+% via \texttt{latexrelease} or if there wasn't one \texttt{0}.
+%
+% \begin{macrocode}
+\def\pkgcls@parse@date@arg #1{%
+% \end{macrocode}
+% If the argument is empty we use the rollback date from
+% \texttt{latexrelease} which has the value of zero if there was no
+% rollback request. The label and the minimal date is made empty in that case.
+% \begin{macrocode}
+ \ifx\@nil#1\@nil
+ \pkgcls@targetdate\requestedLaTeXdate\relax
+ \let\pkgcls@targetlabel\@empty
+ \let\pkgcls@mindate\@empty
+% \end{macrocode}
+% Otherwise we parse the argument further, checking for a \texttt{=}
+% as the first character. We append a \texttt{=} at the end so that
+% there is at least one such character in the argument.
+% \begin{macrocode}
+ \else
+ \pkgcls@parse@date@arg@#1=\@nil\relax
+ \fi
+ }
% \end{macrocode}
+% The actual parsing work then happens in |\pkgcls@parse@date@arg@|:
+% \begin{macrocode}
+\def\pkgcls@parse@date@arg@#1=#2\@nil{%
+% \end{macrocode}
+% We set |\pkgcls@targetdate| depending on the parsing result; the
+% code is expandable so we can do the parsing as part of the assignment.
+% \begin{macrocode}
+ \pkgcls@targetdate
+% \end{macrocode}
+% If a \texttt{=} was in first position then |#1| will be empty. In
+% that case |#2| will be the original argument with a \texttt{=}
+% appended.
+%
+% This can be parsed with |\@parse@version|, the trailing character
+% is simply ignored. This macro returns the parsed date as a number
+% (or zero if it wasn't a date) and accepts both YYYY/MM/DD and YYYY-MM-DD
+% formats.
+% \begin{macrocode}
+ \ifx\@nil#1\@nil
+ \@parse@version0#2//00\@nil\relax
+% \end{macrocode}
+% Whatever is returned is thus assigned to |\pkgcls@targetdate|
+% and therefore we can now test its value. If the value is zero we
+% assume that the remaining argument string represents a version
+% and change |\pkgcls@targetdate| and set |\pkgcls@targetlabel| to
+% the version name (after stripping off the trailing \texttt{=}.
+% \begin{macrocode}
+ \ifnum \pkgcls@targetdate=\z@
+ \pkgcls@targetdate\@ne
+ \def\pkgcls@innerdate{\maxdimen}%
+ \pkgcls@parse@date@arg@version#2%
+ \else
+ \edef\pkgcls@innerdate{\the\pkgcls@targetdate}%
+ \fi
+ \let\pkgcls@mindate\@empty
+ \else
+% \end{macrocode}
+% If |#1| was not empty then there wasn't a \texttt{=} character in
+% first position so we we are dealing either with a ``minimum
+% date'' or with some incorrect data. We assume the former and make
+% the following assignments (the first one finishing the assignment
+% of |\pkgcls@targetdate|):
+% \begin{macrocode}
+ \requestedLaTeXdate\relax
+ \let\pkgcls@targetlabel\@empty
+ \def\pkgcls@innerdate{\maxdimen}%
+ \def\pkgcls@mindate{#1}%
+% \end{macrocode}
+% If the min-date is after the requested rollback date (if there is
+% any, i.e., if it is not zero) then we have a conflict and
+% therefore issue an error.
+% \begin{macrocode}
+ \ifnum \pkgcls@targetdate > \z@
+ \ifnum \@parse@version0#1//00\@nil > \pkgcls@targetdate
+ \@latex@error{Suspicious rollback/min-date date given}%
+ {There is a minimal date of #1 specified for
+ \@cls@pkg\space'\pkgcls@name'.\MessageBreak
+ But this is in conflict
+ with a rollback request to \requestedpatchdate,
+ so something\MessageBreak
+ is wrong here. Continue and I
+ ignore the minimal date request.}%
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+% Strip off te trailing \texttt{=} and assign the version name to
+% |\pkgcls@targetlabel|.
+% \begin{macrocode}
+\def\pkgcls@parse@date@arg@version#1={%
+ \def\pkgcls@targetlabel{#1}}
+% \end{macrocode}
+% \end{macro}
+
+
+
+
+% \begin{macro}{\DeclareRelease}
+% First argument is the ``name'' of the release and it can be left empty
+% if one doesn't like to give a name to the release.
+% The second argument is that from which on this release was
+% available (or should be used in case of minor updates).
+% The final argument is the external file name of this release, by
+% convention this should be
+% \meta{pkg/cls-name}\texttt{-}\meta{date}\texttt{.}\meta{extension}
+% but this is not enforced and through this argument one can
+% overwrite it.
+% \begin{macrocode}
+\def\DeclareRelease#1#2#3{%
+ \ifnum\pkgcls@targetdate>\z@ % some sort of rollback request
+%<*tracerollback>
+ \pkgcls@debug{---\string\DeclareRelease:}%
+ \pkgcls@debug{\@spaces 1: #1}%
+ \pkgcls@debug{\@spaces 2: #2}%
+ \pkgcls@debug{\@spaces 3: #3}%
+%</tracerollback>
+% \end{macrocode}
+% If the date argument |#2| is empty we are dealing with a special
+% release that should be only accessible via its name; a typical
+% use case would be a ``beta'' release. So if we are
+% currently processing a date request we ignore it and otherwise we
+% check if we can match the name and if so load the corresponding
+% release file.
+% \begin{macrocode}
+ \ifx\@nil#2\@nil
+ \ifnum\pkgcls@targetdate=\@ne % named request
+ \def\reserved@a{#1}%
+ \ifx\pkgcls@targetlabel\reserved@a
+ \pkgcls@use@this@release{#3}{}%
+%<*tracerollback>
+ \else
+ \pkgcls@debug{Label doesn't match}%
+%</tracerollback>
+ \fi
+%<*tracerollback>
+ \else
+ \pkgcls@debug{Date request: ignored}%
+%</tracerollback>
+ \fi
+ \else
+% \end{macrocode}
+% If the value of |\pkgcls@targetdate| is greater than 1 (or in
+% reality greater than something like 19930101) we are dealing with a
+% rollback request to a specific date.
+% \begin{macrocode}
+ \ifnum\pkgcls@targetdate>\@ne % a real request
+% \end{macrocode}
+% So we parse the date of this release to check if it is before or
+% after the request date.
+% \begin{macrocode}
+ \ifnum\@parse@version#2//00\@nil
+ >\pkgcls@targetdate
+% \end{macrocode}
+% If it is after we have to distinguish between two cases: If there
+% was an earlier candidate we use that one because the other is too
+% late, but if there wasn't one (i.e., if current release is the
+% oldest that exists) we use it as the best choice. However in
+% that case something is wrong (as there shouldn't be a rollback to
+% a date where a package used doesn't yet exists. So we make a
+% complained to the user.
+% \begin{macrocode}
+ \ifx\pkgcls@candidate\@empty
+ \pkgcls@rollbackdate@error{#2}%
+ \pkgcls@use@this@release{#3}{#2}%
+ \else
+ \pkgcls@use@this@release\pkgcls@candidate
+ \pkgcls@releasedate
+ \fi
+ \else
+% \end{macrocode}
+% Otherwise, if the release date of this version is before the
+% target rollback and we record it as a candidate. But we don't use
+% it yet as there may be another release which is still before the
+% target rollback.
+% \begin{macrocode}
+ \def\pkgcls@candidate{#3}%
+ \def\pkgcls@releasedate{#2}%
+%<*tracerollback>
+ \pkgcls@debug{New candidate: #3}%
+%</tracerollback>
+ \fi
+ \else
+% \end{macrocode}
+% If we end up in this branch we have a named version request. So
+% we check if |\pkgcls@targetlabel| matches the current name and if
+% yes we use this release immediately, otherwise we do nothing as a
+% later declaration may match it.
+% \begin{macrocode}
+ \def\reserved@a{#1}%
+ \ifx\pkgcls@targetlabel\reserved@a
+ \pkgcls@use@this@release{#3}{#2}%
+%<*tracerollback>
+ \else
+ \pkgcls@debug{Label doesn't match}%
+%</tracerollback>
+ \fi
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+
+
+
+
+% \begin{macro}{\pkgcls@use@this@release}
+% If a certain release has been selected (stored in the external
+% file given in \verb=#1=) we need to input it and afterwards stop
+% reading the current file.
+% \begin{macrocode}
+\def\pkgcls@use@this@release#1#2{%
+% \end{macrocode}
+% Before that we record the selection made inside the transcript.
+% \begin{macrocode}
+ \pkgcls@show@selection{#1}{#2}%
+% \end{macrocode}
+% We then set the |\pkgcls@targetdate| to zero so that any
+% |\DeclareRelease| or |\DeclareCurrentRelease| in the file we
+% now load are bypassed\footnote{The older release may also have
+% such declarations inside if it was a simply copy od the
+% \texttt{.sty} or \texttt{.cls} file current at that
+% date. Removing these declarations would make the file load a tiny
+% bit faster, but this way it works in any case.} and then we
+% finally load the correct release.
+%
+% After loading that file we need to stop reading the current file
+% so we issue |\endinput|. Note that the |\relax| before that is
+% essential to ensure that the |\endinput| is only happening after
+% the file has been fully processed, otherwise it would act after the
+% first line of the |\@@input|!
+% \changes{v1.2e}{2018/03/24}
+% {Use full file name for old release}
+% \begin{macrocode}
+ \pkgcls@targetdate\z@
+ \@@input #1\relax
+ \endinput
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\pkgcls@show@selection}
+% This command records what selection was made. As that is needed
+% in two places (and it is rather lengthly) it was placed in a
+% separate command. The first argument is the name of the external
+% file that is being loaded and is only needed for debugging. The
+% second argument is the date that corresponds to this file and it
+% is used as part of the message.
+% \begin{macrocode}
+\def\pkgcls@show@selection#1#2{%
+%<*tracerollback>
+ \pkgcls@debug{Result: use #1}%
+%</tracerollback>
+ \GenericInfo
+ {\@spaces\@spaces\space}{Rollback for
+ \@cls@pkg\space'\@currname' requested ->
+ \ifnum\pkgcls@targetdate>\@ne
+ date
+ \ifnum\requestedLaTeXdate=\pkgcls@targetdate
+ \requestedpatchdate
+ \else
+ \expandafter\@gobble\pkgcls@arg
+ \fi.\MessageBreak
+% \end{macrocode}
+% Instead of ``best approximation'' we could say that we have been
+% able to exactly match the date (if it is exact), but that would
+% mean extra tests without much gain, so not done.
+% \begin{macrocode}
+ Best approximation is
+ \else
+ version '\pkgcls@targetlabel'.\MessageBreak
+ This corresponds to
+ \fi
+ \ifx\@nil#2\@nil
+ a special release%
+ \else
+ the release introduced on #2%
+ \fi
+ \@gobble}%
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\pkgcls@rollbackdate@error}
+% This is called if the requested rollback date is earlier than the
+% earliest known release of a package or class.
+%
+% A similar error is given if global rollback date and min-date on
+% a specific package conflict with each other, but that case is
+% happens only once so it is is inlined.
+% \begin{macrocode}
+\def\pkgcls@rollbackdate@error#1{%
+ \@latex@error{Suspicious rollback date given}%
+ {The \@cls@pkg\space'\@currname' claims that it
+ came into existence on #1 which\MessageBreak
+ is after your requested rollback date --- so
+ something is wrong here.\MessageBreak
+ Continue and we use the earliest known release.}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\DeclareCurrentRelease}
+% This declares the date (and possible name) of the current version
+% of a package or class.
+% \begin{macrocode}
+\def\DeclareCurrentRelease#1#2{%
+% \end{macrocode}
+% First we test if |\pkgcls@targetdate| is greater than zero,
+% otherwise this code is bypassed (as there is no rollback
+% request).
+% \begin{macrocode}
+ \ifnum\pkgcls@targetdate>\z@ % some sort of rollback request
+%<*tracerollback>
+ \pkgcls@debug{---DeclareCurrentRelease}%
+ \pkgcls@debug{ 1: #1}%
+ \pkgcls@debug{ 2: #2}%
+%</tracerollback>
+% \end{macrocode}
+% If the value is greater than 1 we have to deal with a date
+% request, so we parse |#2| as a date and compare it with
+% |\pkgcls@targetdate|.
+% \begin{macrocode}
+ \ifnum\pkgcls@targetdate>\@ne % a date request
+ \ifnum\@parse@version#2//00\@nil
+ >\pkgcls@targetdate
+% \end{macrocode}
+% If it is greater that means the release date if this file is
+% later than the requested rollback date. Again we have two cases:
+% If there was a previous candidate release we use that one as the
+% current release is too young, but if there wasn't we have to use
+% this release nevertheless as there isn't any alternative.
+%
+% However this case can only happen if there is a
+% |\DeclareCurrentRelease| but no declared older releases (so
+% basically the use of the declaration is a bit dubious).
+% \begin{macrocode}
+
+ \ifx\pkgcls@candidate\@empty
+ \pkgcls@rollbackdate@error{#2}%
+ \else
+ \pkgcls@use@this@release\pkgcls@candidate
+ \pkgcls@releasedate
+ \fi
+% \end{macrocode}
+% Otherwise the curent file is the right release, so we record that
+% in the transcript and then carry on.
+% \begin{macrocode}
+ \else
+ \pkgcls@show@selection{current version}{#2}%
+ \fi
+ \else % a label request
+% \end{macrocode}
+% Otherwise we have a rollback request to a named version so we
+% check if that fits the current name and if not give an error as
+% this was the last possible opportunity.
+% \begin{macrocode}
+ \def\reserved@a{#1}%
+ \ifx\pkgcls@targetlabel\reserved@a
+ \pkgcls@show@selection{current version}{#2}%
+ \else
+ \@latex@error{Requested version '\pkgcls@targetlabel' for
+ \@cls@pkg\space'\@currname' is unknown}\@ehc
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
+
+% \begin{macro}{\IfTargetDateBefore}
+% This enables a simple form of conditional code inside a class or
+% package file. If there is a date request and the request date is
+% earlier than the first argument the code in the second argument
+% is processed otherwise the code in the third argument is
+% processed. If there was no date request then we also execute the
+% third argument, i.e., we will get the ``latest'' version of the
+% file.
+%
+% Most often the second argument (before-date-code) will be empty.
+% \begin{macrocode}
+\long\def\IfTargetDateBefore#1{%
+ \ifnum\pkgcls@innerdate <%
+ \expandafter\@parse@version\expandafter0#1//00\@nil
+ \typeout{Exclude code introduced on #1}%
+ \expandafter\@firstoftwo
+ \else
+ \typeout{Include code introduced on #1}%
+ \expandafter\@secondoftwo
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%</2ekernel|latexreleasefirst>
+% \end{macrocode}
+%
%
% \section{After Preamble}
% Finally we declare a package that allows all the commands declared
diff --git a/Master/texmf-dist/source/latex/base/ltcntrl.dtx b/Master/texmf-dist/source/latex/base/ltcntrl.dtx
index 45ec0392088..c4e755eca71 100644
--- a/Master/texmf-dist/source/latex/base/ltcntrl.dtx
+++ b/Master/texmf-dist/source/latex/base/ltcntrl.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltcounts.dtx b/Master/texmf-dist/source/latex/base/ltcounts.dtx
index bcb5c771562..02f411c2af5 100644
--- a/Master/texmf-dist/source/latex/base/ltcounts.dtx
+++ b/Master/texmf-dist/source/latex/base/ltcounts.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2018
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltcounts.dtx}
- [2015/06/05 v1.1j LaTeX Kernel (Counters)]
+ [2018/03/08 v1.1k LaTeX Kernel (Counters)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltcounts.dtx}
@@ -105,6 +105,23 @@
% |\fnsymbol|\marg{counter}: $*$, $\dagger$, $\ddagger$, \ldots
%
%
+% \DescribeMacro\counterwithin
+% |\counterwithin|\marg{counter}\marg{within-counter}:
+% Resets \meta{counter} whenever
+% \meta{within-counter} is stepped. Also
+% redefines |\the|\meta{counter} command to produce
+% |\the|\meta{within-counter}|.\arabic|\marg{counter}.
+% Star form omits redefining the print representation.
+
+%
+% \DescribeMacro\counterwithout
+% |\counterwithout|\marg{counter}\marg{within-counter}:
+% Removes \meta{counter} from the reset list of \meta{within-counter}.
+% Also
+% redefines |\the|\meta{counter} command to produce
+% |\arabic|\marg{counter}.
+% Star form omits redefining the print representation.
+%
% \StopEventually{}
%
% \begin{macrocode}
@@ -167,6 +184,10 @@
% Adds counter \meta{foo} to the list of counters
% |\cl@bar| to be reset when counter \meta{bar} is stepped.
%
+% |\@removefromreset|\marg{foo}\marg{bar} :
+% Removes counter \meta{foo} to the list of counters
+% |\cl@bar| to be reset when counter \meta{bar} is stepped.
+%
%
% \begin{macro}{\setcounter}
% \changes{v1.0d}{1994/04/09}
@@ -301,6 +322,124 @@
% \end{macrocode}
% \end{macro}
%
+%
+% \begin{macrocode}
+%</2ekernel>
+% \end{macrocode}
+%
+%
+% \begin{macro}{\@removefromreset}
+% \changes{v1.1k}{2018/03/08}{Interface added}
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2018-04-01}
+%<latexrelease> {\@removefromreset}{Add interfaces}%
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@removefromreset#1#2{%
+% \end{macrocode}
+% Even through this is internal and the programmer should know what
+% he/she is doing we test here if counter |#2| is defined. If not,
+% the execution would run into a tight loop.
+% \begin{macrocode}
+ \@ifundefined{c@#2}\relax
+ {\begingroup
+ \expandafter\let\csname c@#1\endcsname\@removefromreset
+ \def\@elt##1{%
+ \expandafter\ifx\csname c@##1\endcsname\@removefromreset
+ \else
+ \noexpand\@elt{##1}%
+ \fi}%
+ \expandafter\xdef\csname cl@#2\endcsname
+ {\csname cl@#2\endcsname}%
+ \endgroup}}
+% \end{macrocode}
+% \end{macro}
+
+
+
+% \begin{macro}{\@ifbothcounters}
+% \changes{v1.1k}{2018/03/08}{Interface added}
+% Test if arg |#1| and |#2| are counters and if so execute |#3|.
+% \begin{macrocode}
+\def\@ifbothcounters#1#2#3{%
+ \@ifundefined{c@#1}{\@nocounterr{#1}}%
+ {% else counter is defined
+ \@ifundefined{c@#2}{\@nocounterr{#2}}%
+ {% else both counter and within are defined
+ #3}}}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\counterwithout}
+%
+% \changes{v1.1k}{2018/03/08}{Interface added}
+% \begin{macrocode}
+\def\counterwithout {\@ifstar\counterwithout@s\counterwithout@x}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\counterwithout@s#1#2{%
+ \@ifbothcounters{#1}{#2}{\@removefromreset{#1}{#2}}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\counterwithout@x#1#2{%
+ \@ifbothcounters{#1}{#2}%
+ {\@removefromreset{#1}{#2}%
+ \expandafter
+ \gdef\csname the#1\expandafter\endcsname\expandafter
+ {\expandafter
+ \@arabic\csname c@#1\endcsname}}}
+% \end{macrocode}
+% \end{macro}
+
+
+
+% \begin{macro}{\counterwithin}
+%
+% \changes{v1.1k}{2018/03/08}{Interface added}
+% \begin{macrocode}
+\def\counterwithin{\@ifstar\counterwithin@s\counterwithin@x}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\counterwithin@s#1#2{%
+ \@ifbothcounters{#1}{#2}{\@addtoreset{#1}{#2}}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\counterwithin@x#1#2{%
+ \@ifbothcounters{#1}{#2}%
+ {\@addtoreset{#1}{#2}%
+ \expandafter
+ \gdef\csname the#1\expandafter\endcsname\expandafter
+ {\csname the#2\expandafter\endcsname\expandafter
+ \@arabic\csname c@#1\endcsname}}}
+% \end{macrocode}
+% \end{macro}
+
+
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}
+%<latexrelease> {\@removefromreset}{Add interfaces}%
+%<latexrelease>\let \@removefromreset \undefined
+%<latexrelease>\let \@ifbothcounters \undefined
+%<latexrelease>\let \counterwithout \undefined
+%<latexrelease>\let \counterwithout@s \undefined
+%<latexrelease>\let \counterwithout@x \undefined
+%<latexrelease>\let \counterwithin \undefined
+%<latexrelease>\let \counterwithin@s \undefined
+%<latexrelease>\let \counterwithin@x \undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
%
% Numbering commands for definitions of |\theCOUNTER| and |\list|
% arguments.
diff --git a/Master/texmf-dist/source/latex/base/ltdefns.dtx b/Master/texmf-dist/source/latex/base/ltdefns.dtx
index 7cc8a1361b1..6c6e691efc0 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-2017
+% Copyright 1993-2018
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltdefns.dtx}
- [2017/03/73 v1.5b LaTeX Kernel (definition commands)]
+ [2018/01/08 v1.5d LaTeX Kernel (definition commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltdefns.dtx}
@@ -987,10 +987,11 @@
% file. So |\protect\foo| will write |\protect\foo| followed by a
% space. This value is also used inside |\edef|s, |\mark|s and
% other commands which evaluate their arguments fully.
-% \item |\@unexpandable@noexpand|, for performing a deferred write
-% inside an |\edef|. So |\protect\foo| will write |\foo| followed
-% by a space. If you want |\protect\foo| to be written, you should
-% use |\@unexpandable@protect|. (Removed as never used).
+% More precisely, whenever the content of an |\edef| or |\xdef| etc.\
+% can contain arbitrary user input not under the direct control of the
+% programmer, one should use |\proetected@edef| instead of |\edef|, etc.,
+% so that |\protect| has a suitable definition and the user input will
+% not break if it contains fragile commands.
% \end{itemize}
%
% \changes{1.1b}{1994/05/17}
@@ -1000,15 +1001,11 @@
% one which is no longer needed.}
%
% \begin{macro}{\@unexpandable@protect}
-% \begin{macro}{\@unexpandable@noexpand}
-% \changes{1.2w}{1995/12/05}{Removed as never used. internal/1733}
-% These commands are used for setting |\protect| inside |\edef|s.
+% \changes{1.2w}{1995/12/05}{Removed \cs{unexpandable@noexpand} as never used. internal/1733}
% \begin{macrocode}
\def\@unexpandable@protect{\noexpand\protect\noexpand}
-%\def\@unexpandable@noexpand{\noexpand\noexpand\noexpand}
% \end{macrocode}
% \end{macro}
-% \end{macro}
%
% \changes{v1.2e}{1994/11/04}{Rewrote protected short commands
% using \cs{x@protect}. ASAJ.}
@@ -1222,6 +1219,34 @@
% \changes{LaTeX2e}{1993/11/23}{Redefined to remove a trailing \cs{fi}}
% Check if first arg is undefined or \cs{relax} and execute second or
% third arg depending,
+% \changes{1.5c}{2018/01/06}{Avoid defining undefined commands to \cs{relax}}
+% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2018-04-01}{\@ifundefined}
+%<latexrelease>{Leave commands undefined in \@ifundefined}%
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+% Version using |\ifcsname| to avoid defining undefined tokens to |\relax|.
+% Defined here to simplify using unmatched |\fi|.
+% \begin{macrocode}
+\def\@ifundefined#1{%
+ \ifcsname#1\endcsname\@ifundefin@d@i\else\@ifundefin@d@ii\fi{#1}}
+% \end{macrocode}
+% \begin{macrocode}
+\long\def\@ifundefin@d@i#1\fi#2{\fi
+ \expandafter\ifx\csname #2\endcsname\relax
+ \@ifundefin@d@ii
+ \fi
+ \@secondoftwo}
+% \end{macrocode}
+% \begin{macrocode}
+\long\def\@ifundefin@d@ii\fi#1#2#3{\fi #2}
+% \end{macrocode}
+% Now test of engine.
+% \begin{macrocode}
+\ifx\numexpr\@undefined
+% \end{macrocode}
+% Classic version (should not be needed as etex is assumed).
% \begin{macrocode}
\def\@ifundefined#1{%
\expandafter\ifx\csname#1\endcsname\relax
@@ -1229,6 +1254,38 @@
\else
\expandafter\@secondoftwo
\fi}
+\else\ifx\directlua\@undefined
+% \end{macrocode}
+% Use the |\ifcsname| defined above.
+% \begin{macrocode}
+\else
+% \end{macrocode}
+% Optimised version for Lua\TeX, using |\lastnamedcs|
+% \begin{macrocode}
+\def\@ifundefined#1{%
+ \ifcsname#1\endcsname
+ \expandafter\ifx\lastnamedcs\relax\else\@ifundefin@d@i\fi
+ \fi
+ \@firstoftwo}
+% \end{macrocode}
+% \begin{macrocode}
+\long\def\@ifundefin@d@i#1#2#3#4#5{#1#2#5}
+% \end{macrocode}
+% \begin{macrocode}
+\fi
+\fi
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}{\@ifundefined}
+%<latexrelease>{Leave commands undefined in \@ifundefined}%
+%<latexrelease>\def\@ifundefined#1{%
+%<latexrelease> \expandafter\ifx\csname#1\endcsname\relax
+%<latexrelease> \expandafter\@firstoftwo
+%<latexrelease> \else
+%<latexrelease> \expandafter\@secondoftwo
+%<latexrelease> \fi}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -1469,6 +1526,13 @@
%<*2ekernel>
% \end{macrocode}
% \end{macro}
+%
+% Delayed from |ltvers.dtx|
+% \begin{macrocode}
+\newif\if@includeinrelease
+\@includeinreleasefalse
+% \end{macrocode}
+%
% \begin{macrocode}
%</2ekernel>
% \end{macrocode}
diff --git a/Master/texmf-dist/source/latex/base/ltdirchk.dtx b/Master/texmf-dist/source/latex/base/ltdirchk.dtx
index bb81a90a3e8..45138912320 100644
--- a/Master/texmf-dist/source/latex/base/ltdirchk.dtx
+++ b/Master/texmf-dist/source/latex/base/ltdirchk.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/lterror.dtx b/Master/texmf-dist/source/latex/base/lterror.dtx
index 99ed14077a6..8a590d9944b 100644
--- a/Master/texmf-dist/source/latex/base/lterror.dtx
+++ b/Master/texmf-dist/source/latex/base/lterror.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltfiles.dtx b/Master/texmf-dist/source/latex/base/ltfiles.dtx
index f1e2a8d5500..6960fd44a3f 100644
--- a/Master/texmf-dist/source/latex/base/ltfiles.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfiles.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfiles.dtx}
- [2017/03/10 v1.1n LaTeX Kernel (File Handling)]
+ [2018/01/08 v1.1m LaTeX Kernel (File Handling)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfiles.dtx}
@@ -234,7 +234,7 @@
% \changes{v0.9e}{1993/12/09}{Hook added}
% \begin{macrocode}
%</2ekernel>
-%<latexrelease>\IncludeInRelease{2017/03/10}%
+%<latexrelease>\IncludeInRelease{2017/04/15}%
%<latexrelease> {\document}{Save language for hyphenation}%
%<*2ekernel|latexrelease>
% \end{macrocode}
@@ -459,6 +459,7 @@
%<latexrelease> \global\let \@nodocument \relax
%<latexrelease> \global\let\do\noexpand
%<latexrelease> \ignorespaces}
+%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/base/ltfinal.dtx b/Master/texmf-dist/source/latex/base/ltfinal.dtx
index 2faecc09ede..0d53743d0fb 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-2017
+% Copyright 1993-2018
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2017/03/09 v2.0t LaTeX Kernel (Final Settings)]
+ [2018/04/06 v2.1b LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -541,6 +541,189 @@
%
% \subsection{Input encoding}
%
+% \changes{v2.1a}{2018/03/25}{default to UTF-8}
+% Starting with the 2018 \LaTeX\ release default the inputencoding
+% to UTF-8. Unless the format is being used with luatex, xetex, enctex or mltex.
+%
+% This is done in a way largely compatible with older releases: |utf8.def| is input just as if\\
+% |\usepackage[utf8]{inputenc}|\\
+% had been used, however rather than input the whole package a minimal core part just enough to support
+% loading the UTF-8 encoding iles is defined here.
+%
+% If a document re-specifies UTF-8 this is silently ignored.
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+%
+% Check that a classic 8-bit tex engine is being used (LaTeX or PDFLaTeX).
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2018/04/01}%
+%<latexrelease> {\UTFviii@invalid}{UTF-8 default}%
+% \end{macrocode}
+%
+%
+% Skip this section in Unicode TeX, or if MLTeX and EncTeX are enabled.
+% \begin{macrocode}
+\ifnum0%
+ \ifx\Umathchar\@undefined\else 1\fi
+ \ifx\mubyte\@undefined\else 1\fi
+ \ifx\charsubdef\@undefined\else 1\fi
+ =\z@
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\saved@space@catcode{10}
+\let\@inpenc@test\relax
+\def\IeC{%
+ \ifx\protect\@typeset@protect
+ \expandafter\@firstofone
+ \else
+ \noexpand\IeC
+ \fi
+}
+% \end{macrocode}
+%
+% Make characters active for UTF-8 input formats
+% \begin{macrocode}
+\@tempcnta=1
+\loop
+ \catcode\@tempcnta=13 %
+ \advance\@tempcnta\@ne %
+\ifnum\@tempcnta<32 %
+\repeat %
+\catcode0=15 % null
+\catcode9=10 % tab
+\catcode10=12 % ctrl J
+\catcode12=13 % ctrl L
+\catcode13=5 % newline
+\@tempcnta=128
+\loop
+ \catcode\@tempcnta=13
+ \advance\@tempcnta\@ne
+\ifnum\@tempcnta<256
+\repeat
+% \end{macrocode}
+%
+% \begin{macro}{\UseRawInputEncoding}
+% \changes{v2.1a}{2018/03/25}{Macro added}
+% Reset 8 bit characters to catcode 12 so the input endcoing matches the ``Raw''
+% font encoding.
+% Useful for special behaviours, or for compatibility with older \LaTeX\ formats.
+% \changes{v2.1b}{2018/04/06}{Undo changes to \cs{DeclareFontEncoding@} and
+% definition of \cs{DeclareUnicodeCharacter}}
+% \begin{macrocode}
+\def\UseRawInputEncoding{%
+\let\DeclareFontEncoding@\DeclareFontEncoding@saved % revert
+\let\DeclareUnicodeCharacter\@undefined % revert
+\@tempcnta=1
+\loop
+ \catcode\@tempcnta=15 %
+ \advance\@tempcnta\@ne %
+\ifnum\@tempcnta<32 %
+\repeat %
+\catcode0=15 % null
+\catcode9=10 % tab
+\catcode10=12 % ctrl J
+\catcode12=13 % ctrl L
+\catcode13=5 % newline
+\@tempcnta=128
+\loop
+ \catcode\@tempcnta=12
+ \advance\@tempcnta\@ne
+\ifnum\@tempcnta<256
+\repeat
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\DeclareFontEncoding@saved}
+% Saved version of |\DeclareFontEncoding@| before \texttt{utf8.def}
+% modifies it for use in |\UseRawInputEncoding| above.
+% \begin{macrocode}
+\let\DeclareFontEncoding@saved\DeclareFontEncoding@
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\edef\inputencodingname{utf8}%
+\input{utf8.def}
+\let\@inpenc@test\@undefined
+\let\saved@space@catcode\@undefined
+% \end{macrocode}
+%
+% For formats not set up for UTF-8 default, set the C0 controls to catcode 15.
+% \begin{macrocode}
+\else
+\@tempcnta=0
+\loop
+ \catcode\@tempcnta=15 %
+ \advance\@tempcnta\@ne %
+\ifnum\@tempcnta<32 %
+\repeat %
+\catcode0=15 % null
+\catcode9=10 % tab
+\catcode10=12 % ctrl J
+\catcode12=13 % ctrl L
+\catcode13=5 % newline
+% \end{macrocode}
+%
+% \begin{macrocode}
+\let\UseRawInputEncoding\relax
+% \end{macrocode}
+%
+% \begin{macrocode}
+\fi
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\UTFviii@invalid}{UTF-8 default}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\@tempcnta=0
+%<latexrelease>\loop
+%<latexrelease> \catcode\@tempcnta=15
+%<latexrelease> \advance\@tempcnta\@ne
+%<latexrelease>\ifnum\@tempcnta<32
+%<latexrelease>\repeat %
+%<latexrelease>\catcode9=10 % tab
+%<latexrelease>\catcode10=12 % ctrl J
+%<latexrelease>\catcode12=13 % ctrl L
+%<latexrelease>\catcode13=5 % newline
+%<latexrelease>\@tempcnta=128
+%<latexrelease>\loop
+%<latexrelease>\catcode\@tempcnta=12
+%<latexrelease>\advance\@tempcnta\@ne
+%<latexrelease>\ifnum\@tempcnta<256
+%<latexrelease>\repeat
+%<latexrelease>\let\IeC\@undefined
+%<latexrelease>\def\DeclareFontEncoding@#1#2#3{%
+%<latexrelease> \expandafter
+%<latexrelease> \ifx\csname T@#1\endcsname\relax
+%<latexrelease> \def\cdp@elt{\noexpand\cdp@elt}%
+%<latexrelease> \xdef\cdp@list{\cdp@list\cdp@elt{#1}%
+%<latexrelease> {\default@family}{\default@series}%
+%<latexrelease> {\default@shape}}%
+%<latexrelease> \expandafter\let\csname#1-cmd\endcsname\@changed@cmd
+%<latexrelease> \else
+%<latexrelease> \@font@info{Redeclaring font encoding #1}%
+%<latexrelease> \fi
+%<latexrelease> \global\@namedef{T@#1}{#2}%
+%<latexrelease> \global\@namedef{M@#1}{\default@M#3}%
+%<latexrelease> \xdef\LastDeclaredEncoding{#1}%
+%<latexrelease> }
+%<latexrelease> \let\UseRawInputEncoding\@undefined
+%<latexrelease> \let\DeclareFontEncoding@saved\@undefined
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*2ekernel>
+% \begin{macrocode}
+%
% We temporarily define |\reserved@a| to apply |\reserved@c| to all the
% numbers in the range of its arguments.
% \begin{macrocode}
@@ -605,15 +788,6 @@
% All the characters in the range 0--31 and 127--255 are illegal,
% \emph{except} tab (|^^I|), nl (|^^J|), ff (|^^L|) and cr (|^^M|).
%
-% Now allow 8-bit characters, although their use in this way is
-% strongly discouraged. See |inputenc.dtx| for a supported mechanism
-% for 8-bit input.
-% \begin{macrocode}
-\def\reserved@c#1{\catcode#1=15\relax}
-\reserved@a{0}{`\^^H}
-\reserved@c{`\^^K}
-\reserved@a{`\^^N}{31}
-% \end{macrocode}
%
% \subsection{Lccodes and uccodes}
%
@@ -891,4 +1065,4 @@
% \end{macrocode}
%
% \Finale
-% \ No newline at end of file
+%
diff --git a/Master/texmf-dist/source/latex/base/ltfloat.dtx b/Master/texmf-dist/source/latex/base/ltfloat.dtx
index a706c5a4625..8214f9ed96b 100644
--- a/Master/texmf-dist/source/latex/base/ltfloat.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfloat.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -1352,7 +1352,7 @@
%
% \begin{macrocode}
\def\@textsubscript#1{%
- {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}%
+ {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
% \end{macrocode}
% \end{macro}
%
@@ -1367,11 +1367,6 @@
%<*2ekernel>
% \end{macrocode}
%
-% \begin{macrocode}
-\def\@textsubscript#1{%
- {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}
-% \end{macrocode}
-%
% \begin{macro}{\footnotesep}
% \begin{macrocode}
\newdimen\footnotesep
diff --git a/Master/texmf-dist/source/latex/base/ltfntcmd.dtx b/Master/texmf-dist/source/latex/base/ltfntcmd.dtx
index 70a34ff15c3..7ad43e82723 100644
--- a/Master/texmf-dist/source/latex/base/ltfntcmd.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfntcmd.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltfssbas.dtx b/Master/texmf-dist/source/latex/base/ltfssbas.dtx
index 61d487ef5d0..b9146cc1e4e 100644
--- a/Master/texmf-dist/source/latex/base/ltfssbas.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfssbas.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltfsscmp.dtx b/Master/texmf-dist/source/latex/base/ltfsscmp.dtx
index cc17cbf1674..8157428fde5 100644
--- a/Master/texmf-dist/source/latex/base/ltfsscmp.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfsscmp.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltfssdcl.dtx b/Master/texmf-dist/source/latex/base/ltfssdcl.dtx
index cfb3f497352..cca3df4693c 100644
--- a/Master/texmf-dist/source/latex/base/ltfssdcl.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfssdcl.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltfssini.dtx b/Master/texmf-dist/source/latex/base/ltfssini.dtx
index 17f8a3f71ee..8ce5bf73415 100644
--- a/Master/texmf-dist/source/latex/base/ltfssini.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfssini.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltfsstrc.dtx b/Master/texmf-dist/source/latex/base/ltfsstrc.dtx
index b65d9a5c6c0..0270fcb066c 100644
--- a/Master/texmf-dist/source/latex/base/ltfsstrc.dtx
+++ b/Master/texmf-dist/source/latex/base/ltfsstrc.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/lthyphen.dtx b/Master/texmf-dist/source/latex/base/lthyphen.dtx
index 8d758719bab..32b73bf8926 100644
--- a/Master/texmf-dist/source/latex/base/lthyphen.dtx
+++ b/Master/texmf-dist/source/latex/base/lthyphen.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltidxglo.dtx b/Master/texmf-dist/source/latex/base/ltidxglo.dtx
index 73e92318933..cb46fde90a8 100644
--- a/Master/texmf-dist/source/latex/base/ltidxglo.dtx
+++ b/Master/texmf-dist/source/latex/base/ltidxglo.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltlength.dtx b/Master/texmf-dist/source/latex/base/ltlength.dtx
index 68d82626a3d..fab7c6fdd2b 100644
--- a/Master/texmf-dist/source/latex/base/ltlength.dtx
+++ b/Master/texmf-dist/source/latex/base/ltlength.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltlists.dtx b/Master/texmf-dist/source/latex/base/ltlists.dtx
index d72fba2446e..d59b7ac4f48 100644
--- a/Master/texmf-dist/source/latex/base/ltlists.dtx
+++ b/Master/texmf-dist/source/latex/base/ltlists.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltlogos.dtx b/Master/texmf-dist/source/latex/base/ltlogos.dtx
index 3c7d7e6597a..1754d066300 100644
--- a/Master/texmf-dist/source/latex/base/ltlogos.dtx
+++ b/Master/texmf-dist/source/latex/base/ltlogos.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltluatex.dtx b/Master/texmf-dist/source/latex/base/ltluatex.dtx
index b7c46459421..180fb7bc290 100644
--- a/Master/texmf-dist/source/latex/base/ltluatex.dtx
+++ b/Master/texmf-dist/source/latex/base/ltluatex.dtx
@@ -9,7 +9,7 @@
% this license or (at your option) any later version. The latest
% version of this license is in the file:
%
-% http://www.latex-project.org/lppl.txt
+% https://www.latex-project.org/lppl.txt
%
%
%
@@ -24,7 +24,7 @@
\ProvidesFile{ltluatex.dtx}
%</driver>
%<*tex>
-[2017/03/28 v1.1e
+[2017/04/28 v1.1f
%</tex>
%<plain> LuaTeX support for plain TeX (core)
%<*tex>
@@ -1326,7 +1326,7 @@ local callbacktypes = callbacktypes or {
% \changes{v1.1e}{2017/03/28}{glyph\_stream\_provider added}
% \begin{macrocode}
define_font = exclusive,
-% glyph_stream_provider = exclusive,% luatex 1.05
+ glyph_stream_provider = exclusive,
% \end{macrocode}
% \changes{v1.0m}{2016/02/11}{pdf\_stream\_filter\_callback removed}
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/base/ltmath.dtx b/Master/texmf-dist/source/latex/base/ltmath.dtx
index f0080e38568..c2eae28919e 100644
--- a/Master/texmf-dist/source/latex/base/ltmath.dtx
+++ b/Master/texmf-dist/source/latex/base/ltmath.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltmiscen.dtx b/Master/texmf-dist/source/latex/base/ltmiscen.dtx
index 4501067d3e5..081ae04317b 100644
--- a/Master/texmf-dist/source/latex/base/ltmiscen.dtx
+++ b/Master/texmf-dist/source/latex/base/ltmiscen.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmiscen.dtx}
- [2017/03/09 v1.1m LaTeX Kernel (Misc. Environments)]
+ [2017/09/13 v1.1m LaTeX Kernel (Misc. Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltmiscen.dtx}
@@ -552,12 +552,12 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macrocode}
-\message{verbatim,}
-% \end{macrocode}
%
% \subsection{Verbatim}
%
+% \begin{macrocode}
+\message{verbatim,}
+% \end{macrocode}
%
% The verbatim environment uses the fixed-width |\ttfamily| font, turns
% blanks into spaces, starts a new line for each carriage return (or
@@ -685,6 +685,7 @@
%<latexrelease> \hyphenchar\font\m@ne
%<latexrelease> \everypar \expandafter{\the\everypar \unpenalty}%
%<latexrelease>}
+%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
% \end{macro}
@@ -769,7 +770,6 @@
% \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
@@ -791,6 +791,7 @@
%<latexrelease> \verb@eol@error \let\do\@makeother \dospecials
%<latexrelease> \verbatim@font\@noligs
%<latexrelease> \@ifstar\@sverb\@verb}
+%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/source/latex/base/ltnews14.tex b/Master/texmf-dist/source/latex/base/ltnews14.tex
index 84440dd7d35..1e5c8d72c8f 100644
--- a/Master/texmf-dist/source/latex/base/ltnews14.tex
+++ b/Master/texmf-dist/source/latex/base/ltnews14.tex
@@ -85,7 +85,7 @@ killer argument for many 8-bit texts to use Latin-9 in the future.
According to a Linux manpage, ISO~Latin-9 supports Albanian, Basque,
Breton, Catalan, Danish, Dutch, English, Estonian, Faroese, Finnish,
French, Frisian, Galician, German, Greenlandic, Icelandic, Irish
-Gaelic, Italian, Latin, Luxemburgish, Norwegian, Portuguese,
+Gaelic, Italian, Latin, Luxembourgish, Norwegian, Portuguese,
Rhaeto-Romanic, Scottish Gaelic, Spanish and Swedish.\\
The characters added in \package{latin9} are (in \LaTeX{} notation):\\
\begin{small}
diff --git a/Master/texmf-dist/source/latex/base/ltnews28.tex b/Master/texmf-dist/source/latex/base/ltnews28.tex
new file mode 100644
index 00000000000..92c087e6b02
--- /dev/null
+++ b/Master/texmf-dist/source/latex/base/ltnews28.tex
@@ -0,0 +1,365 @@
+% \iffalse meta-comment
+%
+% Copyright 2017-2018
+% 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: ltnews28.tex
+%
+% This is issue 28 of LaTeX News.
+
+\documentclass{ltnews}
+\usepackage[T1]{fontenc}
+
+\usepackage{lmodern,url,hologo}
+
+\providecommand\acro[1]{\textsc{#1}}
+\providecommand\meta[1]{$\langle$\textit{#1}$\rangle$}
+
+
+\publicationmonth{April}
+\publicationyear{2018}
+
+\publicationissue{28}
+
+\begin{document}
+
+\maketitle
+\tableofcontents
+
+\setlength\rightskip{0pt plus 3em}
+
+\section{A new home for \LaTeXe{} sources}
+
+In the past the development version of the \LaTeXe{} source files has
+been managed in a Subversion source control system with read access
+for the public. This way it was possible to download in an emergency
+the latest version even before it was released to CTAN and made its
+way into the various distributions.
+
+We have recently changed this setup and now manage the sources using
+Git and placed the master sources on GitHub at
+\begin{quote}
+\url{https://github.com/latex3/latex2e}
+\end{quote}
+where we already store the sources
+for \pkg{expl3} and other work. As before, direct write access is restricted
+to \LaTeX{} Project Team members, but everything is publicly accessible
+including the ability to download, clone (using Git) or checkout
+(using SVN). More details are given in~\cite{Mittelbach:TB39-1}.
+
+\section{Bug reports for core \LaTeXe{}}
+
+For more than two decades we used GNATS, an open source bug tracking
+system developed by the FSF. While that has served us well in the past
+it started to show its age more and more. So as part of this move we
+also decided to finally retire the old \LaTeX{} bug database and replace
+it with the standard ``Issue Tracker'' available at Github.
+
+The requirements and the workflow for reporting a bug in the core
+\LaTeX{} software is documented at
+\begin{quote}
+\url{https://www.latex-project.org/bugs/}
+\end{quote}
+and with further details also discussed in~\cite{Mittelbach:TB39-1}.
+
+
+\section{UTF-8: the new default input encoding}
+
+The first \TeX{} implementations only supported reading 7-bit
+\acro{ascii} files---any accented or otherwise ``special'' character
+had to be entered using commands, if it could be represented at
+all. For example to obtain an ``\"a'' one would enter \verb=\"a=, and to
+typeset a ``\ss'' the command \verb=\ss=. Furthermore fonts at that
+time had 128 glyphs inside, holding the \acro{ascii} characters, some
+accents to build composite glyphs from a letter and an accent, and a
+few special symbols such as parentheses, etc.
+
+With 8-bit \TeX{} engines such as \hologo{pdfTeX} this situation changed
+somewhat: it was now possible to process 8-bit files, i.e., files that
+could encode 256 different characters. However, 256 is still a fairly
+small number and with this limitation it is only possible to encode a
+few languages and for other languages one would need to change the
+encoding (i.e., interpret the character positions 0--255 in a
+different way). The first code points 0--127 were essentially normed
+(corresponding to \acro{ascii}) while the second half 128--255 would
+vary by holding different accented characters to support a certain set
+of languages.
+
+Each computer used one of these encodings when storing or interpreting
+files and as long as two computers used the same encoding it was
+(easily) possible to exchange files between them and have them
+interpreted and processed correctly.
+
+But different computers may have used different encodings and given
+that a computer file is simply a sequence of bytes with no indication for
+which encoding is intended, chaos could easily happen and has
+happened. For example, the German word ``Gr\"o\ss e'' (height) entered on a
+German keyboard could show up as ``Gr\v T\`ae'' on a different
+computer using a different encoding by default.
+
+So in summmary the situation wasn't at all good and it was clear in
+the early nineties that \LaTeXe{} (that was being developed to provide
+a \LaTeX{} version usable across the world) had to provide a solution
+to this issue.
+
+The \LaTeXe{} answer was the introduction of the \package{inputenc}
+package~\cite{Mittelbach:Brno95} through which it is possible to
+provide support for multiple encodings. It also allows to correctly
+process a file written in one encoding on a computer using a different
+encoding and even supports documents where the encoding changes
+midway.
+
+Since the first release of \LaTeXe{} in 1994, \LaTeX{} documents that
+used any characters outside \acro{ascii} in the source (i.e. any
+characters in the range of 128--255) were supposed to load
+\package{inputenc} and specify in which file encoding they were
+written and stored.
+%
+If the \package{inputenc} package was not loaded then \LaTeX{} used a
+``raw'' encoding which essentially took each byte from the input file
+and typeset the glyph that happened to be in that position in the
+current font---something that sometimes produces the right result but
+often enough will not.
+
+In 1992 Ken Thompson and Rob Pike developed the UTF-8 encoding scheme
+which enables the encoding of all Unicode characters within 8-bit sequences.
+Over time this encoding has gradually taken over the world,
+replacing the legacy 8-bit encodings used before. These days all major
+computer operating systems use UTF-8 to store their files and it
+requires some effort to explicitly store files in one of the legacy
+encodings.
+
+As a result, whenever \LaTeX{} users want to use any accented
+characters from their keyboard (instead of resorting to \verb=\"a= and
+the like) they always have to use
+\begin{verbatim}
+ \usepackage[utf8]{inputenc}
+\end{verbatim}
+in the preamble of their documents as otherwise \LaTeX{} will produce
+gibberish.
+
+\subsection{The new default}
+
+With this release, the default encoding for \LaTeX\ files has been
+changed from the ``fall through raw'' encoding to UTF-8 if used with
+classic \TeX\ or \hologo{pdfTeX}. The implementation is essentially
+the same as the existing UTF-8 support from
+\verb|\usepackage[utf8]{inputenc}|.
+
+The \hologo{LuaTeX} and \hologo{XeTeX} engines always supported the
+UTF-8 encoding as their native (and only) input encoding, so with
+these engines \package{inputenc} was always a no-op.
+
+This means that with new documents one can assume UTF-8 input and it
+is no longer required to always specify
+\verb|\usepackage[utf8]{inputenc}|. But if this line is present it
+will not hurt either.
+
+
+\subsection{Compatibility}
+
+For most existing documents this change will be transparent:
+\begin{itemize}
+\item documents using only \acro{ascii} in the input file and
+ accessing accented characters via commands;
+\item documents that specified the encoding of their file via an
+ option to the \package{inputenc} package and then used 8-bit
+ characters in that encoding;
+\item documents that already had been stored in UTF-8 (whether or not
+ specifying this via \package{inputenc}).
+\end{itemize}
+Only documents that have been stored in a legacy encoding and used
+accented letters from the keyboard \emph{without} loading
+\package{inputenc} (relying on the similarities between the input used
+and the T1 font encoding) are affected.
+
+These documents will now generate an error that they contain invalid
+UTF-8 sequences. However, such documents may be easily processed by
+adding the new command \verb|\UseRawInputEncoding| as the first line
+of the file. This will re-instate the previous ``raw'' encoding
+default.
+
+\verb|\UseRawInputEncoding| may also be used on the command line to
+process existing files without requiring the file to be edited
+\begin{verbatim}
+ pdflatex '\UseRawInputEncoding \input' file
+\end{verbatim}
+will process the file using the previous default encoding.
+
+Possible alternatives are reencoding the file to UTF-8 using a tool
+(such as recode or iconv or an editor) or adding the line
+\begin{flushleft}
+\verb= \usepackage[=\meta{encoding}\verb=]{inputenc}=
+\end{flushleft}
+to the preamble specifying the \meta{encoding} that fits the file
+encoding. In many cases this will be \texttt{latin1} or
+\texttt{cp1252}. For other encoding names and their meaning see the
+\package{inputenc} documentation.
+
+As usual, this change may also be reverted via the more general
+\package{latexrelease} package mechanism, by speciying a release date
+earlier than this release.
+
+
+\subsection{BOM: byte order mark handling}
+
+When using Unicode the first bytes of a file may be a, so called, BOM
+character (byte order mark) to indicate the byte oder used in the
+file. While this is not required with UTF-8 encoded files (where the
+byte order is known) it is nevertheless allowed by the standard and
+some editors add that byte sequence to the beginning of a file. In the
+past such files would have generated a ``Missing begin document''
+error or displayed strange characters when loaded at a later stage.
+
+With the addition of UTF-8 support to the kernel it is now possible to
+identify and ignore such BOMs characters even before
+\verb=\documentclass= so that these issues will no longer be showing
+up.
+
+
+
+\section[A general rollback concept]
+ {A general rollback concept for packages and classes}
+
+ In 2015 a rollback concept for the \LaTeX{} kernel was introduced.
+ Providing this feature allowed us to make corrections to the
+ software (which more or less didn't happen for nearly two decades)
+ while continuing to maintain backward compatibility to the highest
+ degree.
+
+ In this release we have now extended this concept to
+ the world of packages and classes which was not covered
+ initially. As the classes and the extension packages have different
+ requirements compared to the kernel, the approach is different (and
+ simplified). This should make it easy for package developers to
+ apply it to their packages and authors to use when necessary.
+
+ The documentation of this new feature is given in an article
+ submitted to TUGboat and also available from our
+ website~\cite{Mittelbach:TB39-2}.
+
+
+\section[Integration of \pkg{remreset} and \pkg{chngcntr} packages]
+ {Integration of \pkg{remreset} and \pkg{chngcntr} packages
+ into the kernel}
+
+With the optional argument to \cs{newcounter} \LaTeX{} offers to
+automatically reset counters when some counter is stepped, e.g.,
+stepping a \texttt{chapter} counter resets the \texttt{section}
+counter (and recursively all other heading counters). However, what
+was until now missing was a way to undo such a link between counters
+or to link two counters after they have been defined.
+
+This can be now be done with \cs{counterwithin} and \cs{counterwithout},
+respectively. In the past one had to load the \pkg{chngcntr} package
+for this. For the programming level we also added
+\cs{@removefromreset} as the counterpart of the already existing
+\cs{@addtoreset} command. Up to now this was offered by the
+\pkg{remreset} package.
+
+\section{Testing for undefined commands}
+\LaTeX\ packages often use a test \verb|\@ifundefined| to test if a command
+is defined. Unfortunately this had the side effect of \emph{defining}
+the command to \verb|\relax| in the case that it had no definition.
+ The new release uses a modified definition
+(using extra testing possibilities available in \hologo{eTeX}. The new definition
+is more natural, however code that was relying on the side effect of the
+command being tested being defined if it was previously undefined may have to add
+\verb|\let\|\meta{command}\verb|\relax|.
+
+
+\section{Changes to packages in the tools category}
+
+\subsection{\LaTeX{} table columns with fixed widths}
+
+Frank published a short paper in
+TUGboat~\cite{Mittelbach:TB38-2-213} on producing tables that have
+columns with fixed widths. The outlined approach using column
+specifiers ``\texttt{w}'' and ``\texttt{W}'' has now been integrated
+into the \pkg{array} package.
+
+\subsection{Obscure overprinting with \pkg{multicol} fixed}
+
+A rather peculiar bug was reported on StackExchange for
+\pkg{multicol}. If the column/page breaking was fully controlled by
+the user (through \cs{columnbreak}) instead of letting the environment
+do its job and if then more \cs{columnbreak} commands showed up on the
+last page then the balancing algorithm was thrown off track.
+As a result some parts of the columns did overprint each other.
+
+The fix required a redesign of the output routines used by
+\pkg{multicol} and while it ``should'' be transparent in other cases
+(and all tests in the regession test suite came out fine) there is the
+off-chance that code that hooked into internals of \pkg{multicol}
+needs adjustment.
+
+
+\section{Changes to packages in the amsmath category}
+
+With this release of \LaTeX{} a few minor issues with \pkg{amsmath}
+have been corrected.
+
+\subsection{Updated user's guide}
+
+Furthermore, \texttt{amsldoc.pdf}, the AMS user's
+guide for the \pkg{amsmath} package~\cite{amsldoc}, has been updated
+from version~2.0 to~2.1 to incorporate changes and corrections made
+between 2016 and 2018.
+
+
+\begin{thebibliography}{9}
+
+\bibitem{Mittelbach:TB39-1} Frank Mittelbach:
+ \emph{New rules for reporting bugs in the \LaTeX{} core software}.
+ In: TUGboat, 39\#1, 2018.
+ \url{https://www.latex-project.org/publications/}
+
+\bibitem{Mittelbach:Brno95} Frank Mittelbach:
+ \emph{\LaTeXe{} Encoding Interface --- Purpose, concepts, and
+ Open Problems}.
+ Talk given in Brno June 1995.
+ \url{https://www.latex-project.org/publications/}
+
+\bibitem{Mittelbach:TB39-2} Frank Mittelbach:
+ \emph{A rollback concept for packages and classes}.
+ Submitted to TUGboat.
+ \url{https://www.latex-project.org/publications/}
+
+\bibitem{Mittelbach:TB38-2-213} Frank Mittelbach:
+ \emph{\LaTeX{} table columns with fixed widths}.
+ In: TUGboat, 38\#2, 2017.
+ \url{https://www.latex-project.org/publications/}
+
+\bibitem{amsldoc} American Mathematical Society and The \LaTeX3 Project:
+ \emph{User's Guide for the \texttt{amsmath} package} (Version 2.1).
+ April 2018.
+ Available from
+ \url{https://www.ctan.org}
+ and distributed as part of every \LaTeX{} distribution.
+
+\end{thebibliography}
+
+\end{document}
diff --git a/Master/texmf-dist/source/latex/base/ltoutenc.dtx b/Master/texmf-dist/source/latex/base/ltoutenc.dtx
index 74700eb853a..259c7920db2 100644
--- a/Master/texmf-dist/source/latex/base/ltoutenc.dtx
+++ b/Master/texmf-dist/source/latex/base/ltoutenc.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltoutenc.ins b/Master/texmf-dist/source/latex/base/ltoutenc.ins
index 4fafb5b6379..62e35e77073 100644
--- a/Master/texmf-dist/source/latex/base/ltoutenc.ins
+++ b/Master/texmf-dist/source/latex/base/ltoutenc.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/ltoutput.dtx b/Master/texmf-dist/source/latex/base/ltoutput.dtx
index 57d07e57b74..8cfeb3fc7f7 100644
--- a/Master/texmf-dist/source/latex/base/ltoutput.dtx
+++ b/Master/texmf-dist/source/latex/base/ltoutput.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -30,14 +30,14 @@
%%% From File: ltoutput.dtx
%<flafter>\ProvidesPackage{flafter}
%<fltrace>\ProvidesPackage{fltrace}
-%<flafter,fltrace> [2017/04/11 v1.4a
+%<flafter,fltrace> [2018/01/08 v1.4c
%<flafter> Standard LaTeX floats after reference (FMi)]
%<fltrace> Tracing LaTeX floats algorithm (FMi)]
%
%<*driver>
% \fi
\ProvidesFile{ltoutput.dtx}
- [2017/04/11 v1.4a LaTeX Kernel (Output Routine)]
+ [2018/01/08 v1.4c LaTeX Kernel (Output Routine)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutput.dtx}
@@ -2038,7 +2038,7 @@
% internal commands as hooks.
% \begin{macrocode}
%</2ekernel>
-%<latexrelease>\IncludeInRelease{2017/03/10}%
+%<latexrelease>\IncludeInRelease{2017/04/15}%
%<latexrelease> {\@outputpage}{Reset language for hyphenation}%
%<*2ekernel|latexrelease>
\def\@outputpage{%
@@ -2285,6 +2285,7 @@
%<latexrelease> \stepcounter{page}%
%<latexrelease> \let\firstmark\botmark
%<latexrelease>}
+%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
% \end{macro}
@@ -3300,10 +3301,11 @@
% Lots of changes.
%
% \changes{v1.2n}{2015/01/14}{float order in 2-column (latexrelease)}
+% \changes{v1.4b}{2017/12/17}{fix doc guards}
% \begin{macrocode}
%<latexrelease|fltrace>\IncludeInRelease{2015/01/01}
%<latexrelease|fltrace> {\@addtonextcol}{float order in 2-column}%
-%<*2ekernel|fltrace>
+%<*2ekernel|latexrelease|fltrace>
\def\@addtonextcol{%
\begingroup
%<*trace>
@@ -3387,7 +3389,7 @@
\fl@trace{col: \the\@colnum. top: \the \@topnum. bot: \the \@botnum.}%
%</trace>
}%
-%</2ekernel|fltrace>
+%</2ekernel|latexrelease|fltrace>
%<latexrelease|fltrace>\EndIncludeInRelease
%<latexrelease|fltrace>\IncludeInRelease{0000/00/00}%
%<latexrelease|fltrace> {\@addtonextcol}{float order in 2-column}%
diff --git a/Master/texmf-dist/source/latex/base/ltpage.dtx b/Master/texmf-dist/source/latex/base/ltpage.dtx
index 3a162a21b66..4d5601556db 100644
--- a/Master/texmf-dist/source/latex/base/ltpage.dtx
+++ b/Master/texmf-dist/source/latex/base/ltpage.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltpageno.dtx b/Master/texmf-dist/source/latex/base/ltpageno.dtx
index 5d7e8750dfa..da1d574b158 100644
--- a/Master/texmf-dist/source/latex/base/ltpageno.dtx
+++ b/Master/texmf-dist/source/latex/base/ltpageno.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltpar.dtx b/Master/texmf-dist/source/latex/base/ltpar.dtx
index 209d23b8542..3b72b43a9cc 100644
--- a/Master/texmf-dist/source/latex/base/ltpar.dtx
+++ b/Master/texmf-dist/source/latex/base/ltpar.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -164,7 +164,6 @@
% itself to the primitive |\@@par| after one iteration.
% \begin{macrocode}
\def\@par{\let\par\@@par\par}
-%</2ekernel>
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -173,6 +172,7 @@
% Restore from a short-term change to |\par|.
% \begin{macrocode}
\def\@restorepar{\def\par{\@par}}
+%</2ekernel>
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/base/ltpictur.dtx b/Master/texmf-dist/source/latex/base/ltpictur.dtx
index e5ca4262c8e..d15814acbab 100644
--- a/Master/texmf-dist/source/latex/base/ltpictur.dtx
+++ b/Master/texmf-dist/source/latex/base/ltpictur.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltplain.dtx b/Master/texmf-dist/source/latex/base/ltplain.dtx
index e801cd460fa..5c4050b734a 100644
--- a/Master/texmf-dist/source/latex/base/ltplain.dtx
+++ b/Master/texmf-dist/source/latex/base/ltplain.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -1459,7 +1459,7 @@
% \changes{v2.0d}{2015/02/20}{Spell commands correctly :-)}
% \changes{v2.0g}{2015/03/10}{Reorganise to be less noisy}
% \begin{macrocode}
-%<latexrelease>\IncludeInRelease{2015/01/20}{\loggingall}{etex tracing}%
+%<latexrelease>\IncludeInRelease{2015/01/01}{\loggingall}{etex tracing}%
%<*2ekernel|latexrelease>
\ifx\tracingscantokens\@undefined
\gdef\loggingall{%
@@ -1511,7 +1511,7 @@
% \begin{macro}{\hideoutput}
% \changes{v2.0g}{2015/03/10}{macro added}
% \begin{macrocode}
-%<latexrelease>\IncludeInRelease{2015/01/20}{\tracingnone}%
+%<latexrelease>\IncludeInRelease{2015/01/01}{\tracingnone}%
%<latexrelease> {turn off etex tracing}%
%<*2ekernel|latexrelease>
\ifx\tracingscantokens\@undefined
diff --git a/Master/texmf-dist/source/latex/base/ltsect.dtx b/Master/texmf-dist/source/latex/base/ltsect.dtx
index 046932e603f..a77070229a5 100644
--- a/Master/texmf-dist/source/latex/base/ltsect.dtx
+++ b/Master/texmf-dist/source/latex/base/ltsect.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltspace.dtx b/Master/texmf-dist/source/latex/base/ltspace.dtx
index 0459c30ef42..f74db0b929b 100644
--- a/Master/texmf-dist/source/latex/base/ltspace.dtx
+++ b/Master/texmf-dist/source/latex/base/ltspace.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/lttab.dtx b/Master/texmf-dist/source/latex/base/lttab.dtx
index 7b4e51721df..76ccd13e568 100644
--- a/Master/texmf-dist/source/latex/base/lttab.dtx
+++ b/Master/texmf-dist/source/latex/base/lttab.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltthm.dtx b/Master/texmf-dist/source/latex/base/ltthm.dtx
index 7b6177f1377..78e8a2e586f 100644
--- a/Master/texmf-dist/source/latex/base/ltthm.dtx
+++ b/Master/texmf-dist/source/latex/base/ltthm.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/ltvers.dtx b/Master/texmf-dist/source/latex/base/ltvers.dtx
index fb94e4c9d8f..6860fd1e3b5 100644
--- a/Master/texmf-dist/source/latex/base/ltvers.dtx
+++ b/Master/texmf-dist/source/latex/base/ltvers.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2016
+% Copyright 1993-2018
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltvers.dtx}
- [2016/06/20 v1.0w LaTeX Kernel (Version Info)]
+ [2018/03/16 v1.1a LaTeX Kernel (Version Info)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltvers.dtx}
@@ -84,7 +84,27 @@
%
% \begin{macro}{\fmtname}
% \begin{macro}{\fmtversion}
+% \begin{macro}{\latexreleaseversion}
% \begin{macro}{\patch@level}
+% A |\patch@level| of \texttt{0} or higher denotes an official
+% public release. A negative value indicates a candidate release
+% that is not distributed.
+%
+% If we put code updates into the kernel that are supposed to go
+% into the next release we set the |\patch@level| to \texttt{-1}
+% and the |\fmtversion| / |\latexreleaseversion| to the dated of
+% the next release (guessed, the real value is not so important and
+% will get corrected when we make the release official).
+%
+% If the |\patch@level| is already at \texttt{-1} we do nothing
+% here and use the |\fmtversion| date for any new|\IncludeInRelease|
+% line when we add further code.
+%
+% Finally, if we do make a public release we either just set the
+% |\patch@level| to zero (if our initial guess was good) or we also
+% change the date and then have to additionally change to that date
+% on all the |\IncludeInRelease| statements that used the
+% ``guessed'' date.
% \begin{macrocode}
%<*2ekernel>
\def\fmtname{LaTeX2e}
@@ -92,7 +112,7 @@
%</2ekernel>
%<latexrelease>\edef\latexreleaseversion
%<*2ekernel|latexrelease>
- {2017-04-15}
+ {2018-04-01}
%</2ekernel|latexrelease>
%<*2ekernel>
\def\patch@level{0}
@@ -100,6 +120,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% Check that the format being made is not too old.
% The error message complains about `more than 5 years'
@@ -180,7 +201,16 @@
%
% \begin{macrocode}
%<*2ekernel|latexrelease>
-\def\IncludeInRelease#1{\kernel@ifnextchar[%
+%<latexrelease>\newif\if@includeinrelease
+%<latexrelease>\@includeinreleasefalse
+% \end{macrocode}
+% \begin{macrocode}
+\def\IncludeInRelease#1{%
+ \if@includeinrelease
+ \PackageError{latexrelease}{mis-matched IncludeInRelease}{}%
+ \@includeinreleasefalse
+ \fi
+ \kernel@ifnextchar[%
{\@IncludeInRelease{#1}}
{\@IncludeInRelease{#1}[#1]}}
% \end{macrocode}
@@ -201,6 +231,7 @@
\expandafter\expandafter\expandafter\@gobble@IncludeInRelease
\else
\GenericInfo{}{Applying: \the\toks@}%
+ \@includeinreleasetrue
\expandafter\let\csname\string#2+\@currname+IIR\endcsname\@empty
\fi
\else
@@ -211,8 +242,26 @@
% \end{macrocode}
%
% \begin{macrocode}
-\long\def\@gobble@IncludeInRelease#1\EndIncludeInRelease{}
-\let\EndIncludeInRelease\relax
+\def\EndIncludeInRelease{%
+\if@includeinrelease
+ \@includeinreleasefalse
+\else
+ \PackageError{latexrelease}{mis-matched EndIncludeInRelease}{}%
+\fi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\long\def\@gobble@IncludeInRelease#1\EndIncludeInRelease{%
+ \@includeinreleasefalse
+ \@check@IncludeInRelease#1\IncludeInRelease\@check@IncludeInRelease
+ \@end@check@IncludeInRelease}
+% \end{macrocode}
+% \begin{macrocode}
+\long\def\@check@IncludeInRelease#1\IncludeInRelease
+ #2#3\@end@check@IncludeInRelease{%
+ \ifx\@check@IncludeInRelease#2\else
+ \PackageError{latexrelease}{skipped IncludeInRelease}{}%
+ \fi}
% \end{macrocode}
%
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/base/ltxdoc.dtx b/Master/texmf-dist/source/latex/base/ltxdoc.dtx
index a5ed7073348..329353d1235 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-2017
+% Copyright 1993-2018
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -30,7 +30,7 @@
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{ltxdoc}
-%<class> [2017/03/13 v2.0v Standard LaTeX documentation class]
+%<class> [2018/03/15 v2.0x Standard LaTeX documentation class]
%
%<*driver>
\documentclass{ltxdoc}
@@ -460,11 +460,21 @@
\else\@nameuse{cp@#1}\fi\let\@auxout\@mainaux}
% \end{macrocode}
%
+% \changes{v2.0x}{2018/03/15}{Set up \cs{protect} in index entries}
% \begin{macrocode}
\gdef\codeline@wrindex#1{\if@filesw
+% \end{macrocode}
+% Set \cs{protect} to a suitable value in the index entries (we
+% can't use |\set@display@protect| as that would result in different
+% numer of spaces after a command depending on the number of
+% expansion happening prior to writing the index).
+% \begin{macrocode}
+ \begingroup
+ \let\protect\noexpand
\immediate\write\@indexfile
{\string\indexentry{#1}%
- {\filesep\number\c@CodelineNo}}\fi}%
+ {\filesep\number\c@CodelineNo}}%
+ \endgroup\fi}
% \end{macrocode}
% \end{macro}
%
@@ -534,7 +544,7 @@
{\gdef\@maintainedby{%
This file is maintained by the \LaTeX{} Project team.\\%
Bug reports can be opened (category \texttt{#1}) at\\%
-\url{http://latex-project.org/bugs.html}.}}}
+\url{https://latex-project.org/bugs.html}.}}}
% \end{macrocode}
%
% \begin{macrocode}
diff --git a/Master/texmf-dist/source/latex/base/ltxref.dtx b/Master/texmf-dist/source/latex/base/ltxref.dtx
index 6765d4eca1a..a5c11bf21b6 100644
--- a/Master/texmf-dist/source/latex/base/ltxref.dtx
+++ b/Master/texmf-dist/source/latex/base/ltxref.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/makeindx.dtx b/Master/texmf-dist/source/latex/base/makeindx.dtx
index 4e7be01ee7c..280416f65b2 100644
--- a/Master/texmf-dist/source/latex/base/makeindx.dtx
+++ b/Master/texmf-dist/source/latex/base/makeindx.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/makeindx.ins b/Master/texmf-dist/source/latex/base/makeindx.ins
index c6d10d3e02f..d7ad42e2f95 100644
--- a/Master/texmf-dist/source/latex/base/makeindx.ins
+++ b/Master/texmf-dist/source/latex/base/makeindx.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/newdc.ins b/Master/texmf-dist/source/latex/base/newdc.ins
index d6f749e7098..5bbbe900da5 100644
--- a/Master/texmf-dist/source/latex/base/newdc.ins
+++ b/Master/texmf-dist/source/latex/base/newdc.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -71,8 +74,11 @@ information.
In particular, permission is granted to customize the declarations in
this file to serve the needs of your installation.
-However, NO PERMISSION is granted to distribute a modified version
-of this file under its original name.
+However, a modified version of this file under its original name
+should not be distributed as part of a standard LaTeX distribution, as
+the modification will be nontransparent for the user of that
+distribution (and thus violating clause 6a of the LPPL license),
+making successful document exchange impossible.
\endpreamble
diff --git a/Master/texmf-dist/source/latex/base/newlfont.dtx b/Master/texmf-dist/source/latex/base/newlfont.dtx
index 3dcec1bc0e1..f058ddced9b 100644
--- a/Master/texmf-dist/source/latex/base/newlfont.dtx
+++ b/Master/texmf-dist/source/latex/base/newlfont.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/nfssfont.dtx b/Master/texmf-dist/source/latex/base/nfssfont.dtx
index fbe5ba8a4e6..41712816b27 100644
--- a/Master/texmf-dist/source/latex/base/nfssfont.dtx
+++ b/Master/texmf-dist/source/latex/base/nfssfont.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/nfssfont.ins b/Master/texmf-dist/source/latex/base/nfssfont.ins
index cd11a5466e1..222551ea306 100644
--- a/Master/texmf-dist/source/latex/base/nfssfont.ins
+++ b/Master/texmf-dist/source/latex/base/nfssfont.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/olddc.ins b/Master/texmf-dist/source/latex/base/olddc.ins
index 1ccb0d2ad1a..694cc6df6f5 100644
--- a/Master/texmf-dist/source/latex/base/olddc.ins
+++ b/Master/texmf-dist/source/latex/base/olddc.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -71,8 +74,11 @@ information.
In particular, permission is granted to customize the declarations in
this file to serve the needs of your installation.
-However, NO PERMISSION is granted to distribute a modified version
-of this file under its original name.
+However, a modified version of this file under its original name
+should not be distributed as part of a standard LaTeX distribution, as
+the modification will be nontransparent for the user of that
+distribution (and thus violating clause 6a of the LPPL license),
+making successful document exchange impossible.
\endpreamble
diff --git a/Master/texmf-dist/source/latex/base/oldlfont.dtx b/Master/texmf-dist/source/latex/base/oldlfont.dtx
index dfb7f77aeb7..3c768e1e8fc 100644
--- a/Master/texmf-dist/source/latex/base/oldlfont.dtx
+++ b/Master/texmf-dist/source/latex/base/oldlfont.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/preload.dtx b/Master/texmf-dist/source/latex/base/preload.dtx
index baab51ac93a..0bc9fb4415e 100644
--- a/Master/texmf-dist/source/latex/base/preload.dtx
+++ b/Master/texmf-dist/source/latex/base/preload.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/proc.dtx b/Master/texmf-dist/source/latex/base/proc.dtx
index c67c4344b54..724b939fd28 100644
--- a/Master/texmf-dist/source/latex/base/proc.dtx
+++ b/Master/texmf-dist/source/latex/base/proc.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/proc.ins b/Master/texmf-dist/source/latex/base/proc.ins
index 24759b8cf6e..48765bddec3 100644
--- a/Master/texmf-dist/source/latex/base/proc.ins
+++ b/Master/texmf-dist/source/latex/base/proc.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/slides.dtx b/Master/texmf-dist/source/latex/base/slides.dtx
index f56da0e13b6..4ccd6824e6c 100644
--- a/Master/texmf-dist/source/latex/base/slides.dtx
+++ b/Master/texmf-dist/source/latex/base/slides.dtx
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/slides.ins b/Master/texmf-dist/source/latex/base/slides.ins
index 5d180556215..a5bbc579c33 100644
--- a/Master/texmf-dist/source/latex/base/slides.ins
+++ b/Master/texmf-dist/source/latex/base/slides.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -93,7 +96,7 @@ extension .ins) which are part of the distribution.
This is a generated file.
-Copyright 1993-2016
+Copyright 1993-2017
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -104,7 +107,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -131,11 +134,11 @@ the system are in the document `cfgguide.tex'.
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -146,7 +149,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -161,8 +164,11 @@ information.
In particular, permission is granted to customize the declarations in
this file to serve the needs of your installation.
-However, NO PERMISSION is granted to distribute a modified version
-of this file under its original name.
+However, a modified version of this file under its original name
+should not be distributed as part of a standard LaTeX distribution, as
+the modification will be nontransparent for the user of that
+distribution (and thus violating clause 6a of the LPPL license),
+making successful document exchange impossible.
\endpreamble
diff --git a/Master/texmf-dist/source/latex/base/slifonts.fdd b/Master/texmf-dist/source/latex/base/slifonts.fdd
index 2915e2621bf..304b521cdbb 100644
--- a/Master/texmf-dist/source/latex/base/slifonts.fdd
+++ b/Master/texmf-dist/source/latex/base/slifonts.fdd
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/syntonly.dtx b/Master/texmf-dist/source/latex/base/syntonly.dtx
index d18ce62f48a..98c8e4dfc36 100644
--- a/Master/texmf-dist/source/latex/base/syntonly.dtx
+++ b/Master/texmf-dist/source/latex/base/syntonly.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.
%
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -62,7 +62,7 @@
%
% We identify the package and its current version.
% \changes{v2.1b}{1995/04/22}{Removed surplus \cs{typeout} lines}
-% \changes{v2.1c}{1996/06/14}{Rearange \cs{GetFileInfo} useage.}
+% \changes{v2.1c}{1996/06/14}{Rearrange \cs{GetFileInfo} usage.}
% \changes{v2.1d}{1998/08/17}{(RmS) Minor documentation fixes.}
%
% \begin{macrocode}
@@ -71,7 +71,7 @@
\ProvidesFile{syntonly.dtx}
%</dtx>
%<*package|dtx>
- [1999/09/17 v2.1e Standard LaTeX2e package]
+ [2017/06/30 v2.1e Standard LaTeX2e package]
%</package|dtx>
% \end{macrocode}
%
diff --git a/Master/texmf-dist/source/latex/base/syntonly.ins b/Master/texmf-dist/source/latex/base/syntonly.ins
index bf4013f5617..c05eb92bf07 100644
--- a/Master/texmf-dist/source/latex/base/syntonly.ins
+++ b/Master/texmf-dist/source/latex/base/syntonly.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.
%%
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://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.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
diff --git a/Master/texmf-dist/source/latex/base/tulm.fdd b/Master/texmf-dist/source/latex/base/tulm.fdd
index 28d1d24da1f..a5a212c6e11 100644
--- a/Master/texmf-dist/source/latex/base/tulm.fdd
+++ b/Master/texmf-dist/source/latex/base/tulm.fdd
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
diff --git a/Master/texmf-dist/source/latex/base/tulm.ins b/Master/texmf-dist/source/latex/base/tulm.ins
index 29e14d53fed..1a48c866b4c 100644
--- a/Master/texmf-dist/source/latex/base/tulm.ins
+++ b/Master/texmf-dist/source/latex/base/tulm.ins
@@ -14,15 +14,18 @@
%% conditions of the LaTeX Project Public License, either version 1.3b
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3b or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
@@ -41,11 +44,11 @@
This is a generated file.
The source is maintained by the LaTeX Project team and bug
-reports for it can be opened at http://latex-project.org/bugs.html
+reports for it can be opened at https://latex-project.org/bugs.html
(but please observe conditions on bug reports sent to that address!)
-Copyright 1993-2016
+Copyright 2016-2017
The LaTeX3 Project and any individual authors listed elsewhere
in this file.
@@ -56,7 +59,7 @@ 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
+ https://www.latex-project.org/lppl.txt
and version 1.3c or later is part of all distributions of LaTeX
version 2005/12/01 or later.
@@ -71,8 +74,11 @@ information.
In particular, permission is granted to customize the declarations in
this file to serve the needs of your installation.
-However, NO PERMISSION is granted to distribute a modified version
-of this file under its original name.
+However, a modified version of this file under its original name
+should not be distributed as part of a standard LaTeX distribution, as
+the modification will be nontransparent for the user of that
+distribution (and thus violating clause 6a of the LPPL license),
+making successful document exchange impossible.
\endpreamble
diff --git a/Master/texmf-dist/source/latex/base/unpack.ins b/Master/texmf-dist/source/latex/base/unpack.ins
index 7fb91c18f1f..969028edfe0 100644
--- a/Master/texmf-dist/source/latex/base/unpack.ins
+++ b/Master/texmf-dist/source/latex/base/unpack.ins
@@ -3,7 +3,7 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1993-2014
+%% Copyright 1993-2017
%% The LaTeX3 Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -14,15 +14,18 @@
%% 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
+%% https://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
+%% As this file contains legal notices, it is NOT PERMITTED to modify
+%% this file in any way that the legal information placed into
+%% generated files is changed (i.e., the files generated when the
+%% original file is executed). This restriction does not apply if
+%% (parts of) the content is reused in a different WORK producing its
+%% own generated files.
%%
%% The list of all files belonging to the LaTeX base distribution is
%% given in the file `manifest.txt'. See also `legal.txt' for additional
diff --git a/Master/texmf-dist/source/latex/base/utf8ienc.dtx b/Master/texmf-dist/source/latex/base/utf8ienc.dtx
index 5478a029008..b67c9361eed 100644
--- a/Master/texmf-dist/source/latex/base/utf8ienc.dtx
+++ b/Master/texmf-dist/source/latex/base/utf8ienc.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright 1993-2017
+% Copyright 1993-2018
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -11,7 +11,7 @@
% 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
+% https://www.latex-project.org/lppl.txt
% and version 1.3c or later is part of all distributions of LaTeX
% version 2005/12/01 or later.
%
@@ -30,14 +30,14 @@
% \iffalse
%<*driver>
\documentclass{ltxdoc}
+\usepackage[latin1,utf8]{inputenc}% force utf8 to be re-loaded, to get version info
\GetFileInfo{utf8.def}
\title{Providing some UTF-8 support via \texttt{inputenc}}
\date{\fileversion\space\filedate{} printed \today}
\author{%
- Frank Mittelbach \and Chris Rowley\thanks{Borrowing heavily from
- code by David Carlisle and tables by Sebastian Rahtz; some table
+ David Carlisle \and Frank Mittelbach \and
+ Chris Rowley\thanks{Borrowing heavily from tables by Sebastian Rahtz; some table
and code cleanup by Javier Bezos}}
-\usepackage[utf8]{inputenc}
\begin{document}
\MaintainedByLaTeXTeam{latex}
\maketitle
@@ -52,7 +52,6 @@
%
% \section{Introduction}
%
-% [The whole section is rather unfinished \ldots\ just like the code, sorry!]
%
% \subsection{Background and general stuff}
%
@@ -218,7 +217,7 @@
%<+ts1> \ProvidesFile{ts1enc.dfu}
%<+x2> \ProvidesFile{x2enc.dfu}
%<+all> \ProvidesFile{utf8enc.dfu}
- [2017/01/28 v1.1t UTF-8 support for inputenc]
+ [2018/04/05 v1.2c UTF-8 support for inputenc]
% \end{macrocode}
%
% \begin{macrocode}
@@ -241,6 +240,7 @@
% \begin{macro}{\UTFviii@two@octets}
% \begin{macro}{\UTFviii@three@octets}
% \begin{macro}{\UTFviii@four@octets}
+% \changes{v1.2a}{2018/03/24}{Macros made `\cs{long} for improved error messages}%
% A UTF-8 char (that is not actually a 7-bit char, i.e.~a single
% octet) is parsed as follows: each starting octet is an active
% \TeX{} character token; each of these is defined below to be a
@@ -263,19 +263,19 @@
% defined we simply execute the thing (which should then expand to
% an encoding specific internal \LaTeX{} form).
% \begin{macrocode}
-\def\UTFviii@two@octets#1#2{\expandafter
+\long\def\UTFviii@two@octets#1#2{\expandafter
\UTFviii@defined\csname u8:#1\string#2\endcsname}
% \end{macrocode}
% \end{macro}
%
% \begin{macrocode}
-\def\UTFviii@three@octets#1#2#3{\expandafter
+\long\def\UTFviii@three@octets#1#2#3{\expandafter
\UTFviii@defined\csname u8:#1\string#2\string#3\endcsname}
% \end{macrocode}
% \end{macro}
%
% \begin{macrocode}
-\def\UTFviii@four@octets#1#2#3#4{\expandafter
+\long\def\UTFviii@four@octets#1#2#3#4{\expandafter
\UTFviii@defined\csname u8:#1\string#2\string#3\string#4\endcsname}
% \end{macrocode}
% \end{macro}
@@ -289,18 +289,30 @@
\def\UTFviii@defined#1{%
\ifx#1\relax
% \end{macrocode}
+% Test if the sequence is invalid UTF-8 or valid UTF-8 but without
+% a \LaTeX\ definition.
+% \begin{macrocode}
+ \if\relax\expandafter\UTFviii@checkseq\string#1\relax\relax
+% \end{macrocode}
% The endline character has a special definition within the
% inputenc package (it is gobbling spaces). For this reason we
% can't produce multiline strings without some precaution.
% \changes{v1.1b}{2004/02/09}{No newlines allowed in error messages}
% \changes{v1.1g}{2005/09/27}{Real spaces do not show up so use \cs{space}}
% \changes{v1.1o}{2015/08/28}{Show Unicode number of character in hex}
+% \changes{v1.2a}{2018/03/24}{Error message improved for non-UTF-8 sequences}%
+% \begin{macrocode}
+ \UTFviii@undefined@err{#1}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \else
+ \PackageError{inputenc}{Invalid UTF-8 byte sequence}%
+ \UTFviii@invalid@help
+ \fi
+% \end{macrocode}
+%
% \begin{macrocode}
- \PackageError{inputenc}{Unicode\space char\space\expandafter
- \UTFviii@splitcsname\string#1\relax
- \MessageBreak
- not\space set\space up\space
- for\space use\space with\space LaTeX}\@eha
\else\expandafter
#1%
\fi
@@ -308,10 +320,76 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\UTFviii@invalid@err}
+% \begin{macro}{\UTFviii@invalid@help}
+% \changes{v1.2a}{2018/03/24}{Macro added}%
+% \begin{macrocode}
+\def\UTFviii@invalid@err#1{%
+ \PackageError{inputenc}{Invalid UTF-8 byte \number`#1}%
+ \UTFviii@invalid@help}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\UTFviii@invalid@help{%
+ The document does not appear to be in UTF-8 encoding.\MessageBreak
+ Try adding \noexpand\UseRawInputEncoding as the first line of the file\MessageBreak
+ or specify an encoding such as \noexpand\usepackage[latin1]{inputenc}\MessageBreak
+ in the document preamble.\MessageBreak
+ Alternatively, save the file in UTF-8 using your editor or another tool}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\UTFviii@undefined@err}
+% \changes{v1.2a}{2018/03/24}{Macro added}%
+% \begin{macrocode}
+\def\UTFviii@undefined@err#1{%
+ \PackageError{inputenc}{Unicode character \expandafter
+ \UTFviii@splitcsname\string#1\relax
+ \MessageBreak
+ not set up for use with LaTeX}%
+ {You may provide a definition with\MessageBreak
+ \noexpand\DeclareUnicodeCharacter}%
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\UTFviii@checkseq}
+% \begin{macro}{\UTFviii@check@continue}
+% \changes{v1.2a}{2018/03/24}{Macro added}%
+% Check that the csname consists of a valid UTF-8 sequence.
+% \begin{macrocode}
+\def\UTFviii@checkseq#1:#2#3{%
+ \ifnum`#2<"80 %
+ \ifx\relax#3\else1\fi
+ \else
+ \ifnum`#2<"C0 %
+ 1 %
+ \else
+ \expandafter\expandafter\expandafter\UTFviii@check@continue
+ \expandafter\expandafter\expandafter#3%
+ \fi
+ \fi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\UTFviii@check@continue#1{%
+ \ifx\relax#1%
+ \else
+ \ifnum`#1<"80 1\else\ifnum`#1>"BF 1\fi\fi
+ \expandafter\UTFviii@check@continue
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+%
% \begin{macro}{\UTFviii@loop}
-% This wonderful bit of code from Dr Carlisle defines the starting
-% octets to call |\UTFviii@two@octets| etc as appropriate. The starting
-% octet itself is passed directly as the first argument, the others
+% This bit of code derived from \texttt{xmltex} defines the active character
+% correspnding to starting octets to call |\UTFviii@two@octets| etc as appropriate.
+% The starting octet itself is passed directly as the first argument, the others
% are picked up later en route.
%
% The |\UTFviii@loop| loops through the numbers starting at
@@ -321,10 +399,6 @@
% All this is done in a group so that temporary catcode changes
% etc.~vanish after everything is set up.
%
-% It may be a good idea to add code to deal with `illegal utf8 octets':
-% at present these will be handled by whatever code was in use for 8-bit
-% input before this code is executed.
-%
% \begin{macrocode}
\begingroup
\catcode`\~13
@@ -341,6 +415,37 @@
\fi}
% \end{macrocode}
%
+% Handle the single byte control characters.
+% \changes{v1.2a}{2018/03/24}{Loop over C0 controls added}%
+% C0 controls are valid UTF-8 but defined to give the ``Character not defined error''
+% They may be defined with |\DeclareUnicodeCharacter|.
+% \begin{macrocode}
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@undefined@err{:\string~}}}
+% 0 ^^@ null
+ \count@"1
+ \@tempcnta9
+% 9 ^^I tab
+% 10 ^^J nl
+\UTFviii@loop
+ \count@11
+ \@tempcnta12
+\UTFviii@loop
+% 12 ^^L
+% 13 ^^M
+ \count@14
+ \@tempcnta32
+\UTFviii@loop
+% \end{macrocode}
+%
+%
+% Bytes with leading bits |10| are not valid UTF-8 starting bytes
+% \begin{macrocode}
+ \count@"80
+ \@tempcnta"C2
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@invalid@err\string~}}
+\UTFviii@loop
+% \end{macrocode}
+%
% Setting up 2-byte UTF-8:
% \begin{macrocode}
\count@"C2
@@ -348,6 +453,7 @@
\def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@two@octets\string~}}
\UTFviii@loop
% \end{macrocode}
+%
% Setting up 3-byte UTF-8:
% \begin{macrocode}
\count@"E0
@@ -362,8 +468,21 @@
\@tempcnta"F4
\def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@four@octets\string~}}
\UTFviii@loop
+% \end{macrocode}
+%
+% Bytes above F4 are not valid UTF-8 starting bytes as they would encode numbers beyond
+% the Unicode range
+% \begin{macrocode}
+ \count@"F4
+ \@tempcnta"100
+ \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@invalid@err\string~}}
+\UTFviii@loop
+% \end{macrocode}
+%
+% \begin{macrocode}
\endgroup
% \end{macrocode}
+%
% \end{macro}
%
% For this case we must disable the warning generated by
@@ -487,7 +606,7 @@
% \begin{macrocode}
% \begingroup
% \end{macrocode}
-% The original code from David supported the convention that a
+% The original code from \texttt{xmltex} supported the convention that a
% Unicode slot number could be given either as a decimal or as a
% hexadecimal (by starting with \texttt{x}). We do not do this so
% this code is also removed. This could be reactivated if one
@@ -500,18 +619,28 @@
% As |\count@| already contains the right value we make
% |\parse@XML@charref| work without arguments.
% \changes{v1.1g}{2005/09/27}{Real spaces do not show up so use \cs{space}}
+% \changes{v1.2a}{2018/03/24}{Allow control characters if active}
+% In the case single byte UTF-8 sequences, only allw definition if
+% the character os already active. The definition of |\UTFviii@tmp|
+% looks slightly strange but is designed for the sequence of |\expandafter|
+% in |\DeclareUnicodeCharacter|.
+%
% \begin{macrocode}
\ifnum\count@<"A0\relax
- \PackageError{inputenc}{Cannot\space define\space Unicode\space
- char\space value\space <\space 00A0}\@eha
+ \ifnum\catcode\count@=13
+ \uccode`\~=\count@\uppercase{\def\UTFviii@tmp{\@empty\@empty~}}%
+ \else
+ \PackageError{inputenc}%
+ {Cannot define non-active Unicode char value < 00A0}%
+ \@eha
+ \def\UTFviii@tmp{\UTFviii@tmp}%
+ \fi
% \end{macrocode}
-% Do not ask us to provide an explanation for the code below, it is
-% borrowed straight from \texttt{xmltex} by David and we trust him
-% totally (and we are too lazy to reread the Unicode book to see if
-% this is the correct algorithm).\footnote{We were hoping to also
-% find in his work the \TeX{} code for going the other way: from
-% UTF-8 octets to Unicode slot number, but no luck!
-% This has now been added as \cs{decode@UTFviii}}
+% The code below is derived from \texttt{xmltex} and generates the UTF-8 byte sequence
+% for the number in |\count@|.
+%
+% The reverse operation (just used in error messages)
+% has now been added as \cs{decode@UTFviii}.
% \begin{macrocode}
\else\ifnum\count@<"800\relax
\parse@UTFviii@a,%
@@ -534,7 +663,7 @@
% \end{macro}
%
% \begin{macro}{\parse@UTFviii@a}
-% \ldots so somebody else can document this part :-) \ldots~David?:-))))!
+% \ldots so somebody else can document this part :-)
% \changes{v1.1b}{2004/02/09}{Space in the wrong place \cs{count @64}}
% \begin{macrocode}
\gdef\parse@UTFviii@a#1{%
@@ -672,10 +801,11 @@
\else
\gdef\UTFviii@splitcsname#1:#2\relax{%
% \end{macrocode}
+% \changes{v1.2b}{2018/03/26}{add percent as \cs{endlinechar} not -1 in the format}%
% Need to pre-expand the argument to ensure cleanup in case of mal-formed UTF-8.
% \begin{macrocode}
#2 (U+\expandafter\UTFviii@hexnumber\expandafter{%
- \the\numexpr\decode@UTFviii#2\relax})
+ \the\numexpr\decode@UTFviii#2\relax})%
}
\fi
% \end{macrocode}
@@ -830,6 +960,9 @@
%
% \subsection{The mapping table}
%
+% \begingroup
+% \hfuzz=12pt ^^A just because
+%
% Note that the first argument must be a hex-digit number greater
% than \texttt{00BF} and at most \texttt{10FFFF}.
%
@@ -1109,7 +1242,7 @@
% and corrected by Matthias Noe (\verb=a9931078@unet.univie.ac.at=) --- thanks.
% \changes{v1.1j}{2007/11/09}{Added a few new unicode decls in cyrillic (pr/3988)}
% \changes{v1.1k}{2007/11/11}{Added and further unicode decls in cyrillic}
-% \changes{v1.1n}{2015/06/27}{correct accent http://tex.stackexchange.com/q/252521}
+% \changes{v1.1n}{2015/06/27}{correct accent https://tex.stackexchange.com/q/252521}
% \begin{macrocode}
%<*all,x2,t2c,t2b,t2a,ot2,lcy>
\DeclareUnicodeCharacter{0400}{\@tabacckludge`\CYRE}
@@ -1473,7 +1606,12 @@
%<all,t1>\DeclareUnicodeCharacter{1E20}{\@tabacckludge=G}
%<all,t1>\DeclareUnicodeCharacter{1E21}{\@tabacckludge=g}
% \end{macrocode}
-%
+% \changes{v1.2c}{2018/04/05}{Add BOM}
+% \begin{macrocode}
+%<all,ts1,utf8>\DeclareUnicodeCharacter{FEFF}{\ifhmode\nobreak\fi}
+% \end{macrocode}
+%
+% \endgroup
% \subsection{Notes}
%
% \changes{v1.1e}{2004/05/22}{Added notes on inconsistency with `8-bit files'.}