summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-06-08 20:41:20 +0000
committerKarl Berry <karl@freefriends.org>2022-06-08 20:41:20 +0000
commit0525ef25305c7f48ef158ac19f68bae09c664d60 (patch)
tree30bec1f740b86109fd5c0e21b1337f7f563d9dee /Master/texmf-dist/tex
parent1ad2a2e7d1e951099f662da861d573aa77eeedce (diff)
latex2e (8jun22)
git-svn-id: svn://tug.org/texlive/trunk@63514 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amsbsy.sty2
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amscd.sty2
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amsgen.sty2
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amsmath.sty103
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amsopn.sty83
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amstext.sty2
-rw-r--r--Master/texmf-dist/tex/latex/amsmath/amsxtra.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/alltt.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/ansinew.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/applemac.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/article.cls2
-rw-r--r--Master/texmf-dist/tex/latex/base/article.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/ascii.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/atbegshi-ltx.sty13
-rw-r--r--Master/texmf-dist/tex/latex/base/atveryend-ltx.sty6
-rw-r--r--Master/texmf-dist/tex/latex/base/bezier.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/bk10.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/bk11.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/bk12.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/book.cls2
-rw-r--r--Master/texmf-dist/tex/latex/base/book.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/cp1250.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/cp1252.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/cp1257.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/cp437.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/cp437de.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/cp850.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/cp852.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/cp858.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/cp865.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/decmulti.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/doc-2016-02-15.sty826
-rw-r--r--Master/texmf-dist/tex/latex/base/doc-2021-06-01.sty (renamed from Master/texmf-dist/tex/latex/base/doc-v3beta.sty)801
-rw-r--r--Master/texmf-dist/tex/latex/base/doc.sty878
-rw-r--r--Master/texmf-dist/tex/latex/base/docstrip.tex2
-rw-r--r--Master/texmf-dist/tex/latex/base/exscale.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/fix-cm.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/fixltx2e.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/flafter.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/fleqn.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/fleqn.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/fltrace.sty4
-rw-r--r--Master/texmf-dist/tex/latex/base/fontenc.sty5
-rw-r--r--Master/texmf-dist/tex/latex/base/fontmath.cfg2
-rw-r--r--Master/texmf-dist/tex/latex/base/fontmath.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/base/fonttext.cfg2
-rw-r--r--Master/texmf-dist/tex/latex/base/fonttext.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/base/graphpap.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/hyphen.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/base/idx.tex2
-rw-r--r--Master/texmf-dist/tex/latex/base/ifthen.sty12
-rw-r--r--Master/texmf-dist/tex/latex/base/inputenc.sty3
-rw-r--r--Master/texmf-dist/tex/latex/base/lablst.tex2
-rw-r--r--Master/texmf-dist/tex/latex/base/latex.ltx912
-rw-r--r--Master/texmf-dist/tex/latex/base/latex209.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/latexrelease.sty877
-rw-r--r--Master/texmf-dist/tex/latex/base/latexsym.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/latin1.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/latin10.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/latin2.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/latin3.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/latin4.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/latin5.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/latin9.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/lcyenc.dfu8
-rw-r--r--Master/texmf-dist/tex/latex/base/leqno.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/leqno.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/letter.cls4
-rw-r--r--Master/texmf-dist/tex/latex/base/letter.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/ltluatex.lua24
-rw-r--r--Master/texmf-dist/tex/latex/base/ltluatex.tex12
-rw-r--r--Master/texmf-dist/tex/latex/base/ltxcheck.tex2
-rw-r--r--Master/texmf-dist/tex/latex/base/ltxdoc.cfg71
-rw-r--r--Master/texmf-dist/tex/latex/base/ltxdoc.cls27
-rw-r--r--Master/texmf-dist/tex/latex/base/ly1enc.dfu8
-rw-r--r--Master/texmf-dist/tex/latex/base/macce.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/makeidx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/newlfont.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/next.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/nfssfont.tex2
-rw-r--r--Master/texmf-dist/tex/latex/base/oldlfont.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/omlcmm.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/omlcmr.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/omlenc.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/omllcmm.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/omscmr.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/omscmsy.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/omsenc.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/omsenc.dfu4
-rw-r--r--Master/texmf-dist/tex/latex/base/omslcmsy.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/omxcmex.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/omxlcmex.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/openbib.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1cmdh.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1cmfib.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1cmfr.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1cmr.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1cmss.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1cmtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1cmvtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1enc.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1enc.dfu4
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1lcmss.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot1lcmtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ot2enc.dfu8
-rw-r--r--Master/texmf-dist/tex/latex/base/ot4enc.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/preload.cfg2
-rw-r--r--Master/texmf-dist/tex/latex/base/preload.ltx2
-rw-r--r--Master/texmf-dist/tex/latex/base/proc.cls13
-rw-r--r--Master/texmf-dist/tex/latex/base/proc.sty13
-rw-r--r--Master/texmf-dist/tex/latex/base/report.cls2
-rw-r--r--Master/texmf-dist/tex/latex/base/report.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/sfonts.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/shortvrb.sty27
-rw-r--r--Master/texmf-dist/tex/latex/base/showidx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/size10.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/size11.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/size12.clo2
-rw-r--r--Master/texmf-dist/tex/latex/base/slides.cls4
-rw-r--r--Master/texmf-dist/tex/latex/base/slides.def4
-rw-r--r--Master/texmf-dist/tex/latex/base/slides.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/source2edoc.cls17
-rw-r--r--Master/texmf-dist/tex/latex/base/structuredlog.sty6
-rw-r--r--Master/texmf-dist/tex/latex/base/syntonly.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1cmdh.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1cmfib.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1cmfr.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1cmr.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1cmss.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1cmtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1cmvtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1enc.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/t1enc.dfu17
-rw-r--r--Master/texmf-dist/tex/latex/base/t1enc.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1lcmss.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/t1lcmtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/t2aenc.dfu10
-rw-r--r--Master/texmf-dist/tex/latex/base/t2benc.dfu10
-rw-r--r--Master/texmf-dist/tex/latex/base/t2cenc.dfu10
-rw-r--r--Master/texmf-dist/tex/latex/base/testpage.tex2
-rw-r--r--Master/texmf-dist/tex/latex/base/textcomp-2018-08-11.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/textcomp.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/tracefnt.sty2
-rw-r--r--Master/texmf-dist/tex/latex/base/ts1cmr.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ts1cmss.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ts1cmtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ts1cmvtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ts1enc.def3
-rw-r--r--Master/texmf-dist/tex/latex/base/ts1enc.dfu6
-rw-r--r--Master/texmf-dist/tex/latex/base/tuenc.def331
-rw-r--r--Master/texmf-dist/tex/latex/base/tulmdh.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/tulmr.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/tulmss.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/tulmssq.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/tulmtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/tulmvtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ucmr.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ucmss.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ucmtt.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ulasy.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/ullasy.fd2
-rw-r--r--Master/texmf-dist/tex/latex/base/utf8-2018.def2
-rw-r--r--Master/texmf-dist/tex/latex/base/utf8.def42
-rw-r--r--Master/texmf-dist/tex/latex/base/utf8enc.dfu19
-rw-r--r--Master/texmf-dist/tex/latex/base/x2enc.dfu10
-rw-r--r--Master/texmf-dist/tex/latex/firstaid/everysel-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx36
-rw-r--r--Master/texmf-dist/tex/latex/graphics/color.sty5
-rw-r--r--Master/texmf-dist/tex/latex/graphics/dvipdf.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/dvipsnam.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/dvipsone.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/dviwin.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/emtex.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/epsfig.sty2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/graphics.sty34
-rw-r--r--Master/texmf-dist/tex/latex/graphics/graphicx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/keyval.sty4
-rw-r--r--Master/texmf-dist/tex/latex/graphics/lscape.sty2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/mathcolor.ltx98
-rw-r--r--Master/texmf-dist/tex/latex/graphics/pctex32.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/pctexhp.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/pctexps.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/pctexwin.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/rotating.sty2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/tcidvi.def2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/trig.sty2
-rw-r--r--Master/texmf-dist/tex/latex/graphics/truetex.def2
-rw-r--r--Master/texmf-dist/tex/latex/tools/.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/afterpage.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/array.sty4
-rw-r--r--Master/texmf-dist/tex/latex/tools/bm.sty7
-rw-r--r--Master/texmf-dist/tex/latex/tools/calc.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/dcolumn.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/delarray.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/e.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/enumerate.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/fontsmpl.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/fontsmpl.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/ftnright.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/h.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/hhline.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/indentfirst.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/layout.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/longtable.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/multicol-2019-10-01.sty1105
-rw-r--r--Master/texmf-dist/tex/latex/tools/multicol.sty9
-rw-r--r--Master/texmf-dist/tex/latex/tools/q.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/r.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/rawfonts.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/s.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/shellesc.sty4
-rw-r--r--Master/texmf-dist/tex/latex/tools/showkeys-2014-10-28.sty272
-rw-r--r--Master/texmf-dist/tex/latex/tools/showkeys.sty40
-rw-r--r--Master/texmf-dist/tex/latex/tools/somedefs.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/tabularx.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/thb.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/thc.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/thcb.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/theorem.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/thm.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/thmb.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/thp.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/trace.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/varioref.sty4
-rw-r--r--Master/texmf-dist/tex/latex/tools/verbatim.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/verbtest.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/x.tex2
-rw-r--r--Master/texmf-dist/tex/latex/tools/xr.sty2
-rw-r--r--Master/texmf-dist/tex/latex/tools/xspace.sty2
230 files changed, 5616 insertions, 1622 deletions
diff --git a/Master/texmf-dist/tex/latex/amsmath/amsbsy.sty b/Master/texmf-dist/tex/latex/amsmath/amsbsy.sty
index c3040a1ed08..ab82e6e6eeb 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amsbsy.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amsbsy.sty
@@ -7,7 +7,7 @@
%% amsbsy.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2022 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/amsmath/amscd.sty b/Master/texmf-dist/tex/latex/amsmath/amscd.sty
index f40a034f730..cfbd7be6622 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amscd.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amscd.sty
@@ -7,7 +7,7 @@
%% amscd.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2022 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/amsmath/amsgen.sty b/Master/texmf-dist/tex/latex/amsmath/amsgen.sty
index 238cfa74018..0d47226b066 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amsgen.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amsgen.sty
@@ -7,7 +7,7 @@
%% amsgen.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2022 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/amsmath/amsmath.sty b/Master/texmf-dist/tex/latex/amsmath/amsmath.sty
index 2d2c2518a22..6d657743501 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amsmath.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amsmath.sty
@@ -7,7 +7,7 @@
%% amsmath.dtx
%%
%% Copyright (C) 1995, 1999, 2000, 2013 American Mathematical Society.
-%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2022 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -27,7 +27,7 @@
\providecommand\DeclareCurrentRelease[2]{}
\DeclareRelease{}{2018-12-01}{amsmath-2018-12-01.sty}
\DeclareCurrentRelease{}{2019-04-01}
-\ProvidesPackage{amsmath}[2021/10/15 v2.17l AMS math features]
+\ProvidesPackage{amsmath}[2022/04/08 v2.17n AMS math features]
\edef\@temp{\catcode 96=\number\catcode 96 }
\catcode\string `\`=12
\def\do#1{\catcode\number`#1=\number\catcode`#1}
@@ -235,11 +235,11 @@ Foreign command \@backslashchar#1;\MessageBreak
\else
\DeclareRobustCommand{\frac}[2]{{\Ustack{\begingroup#1\endgroup\@@over#2}}}
\fi
-\newcommand{\dfrac}{\genfrac{}{}{}0}
-\newcommand{\tfrac}{\genfrac{}{}{}1}
+\DeclareRobustCommand{\dfrac}{\genfrac{}{}{}0}
+\DeclareRobustCommand{\tfrac}{\genfrac{}{}{}1}
\DeclareRobustCommand{\binom}{\genfrac()\z@{}}
-\newcommand{\dbinom}{\genfrac(){0pt}0}
-\newcommand{\tbinom}{\genfrac(){0pt}1}
+\DeclareRobustCommand{\dbinom}{\genfrac(){0pt}0}
+\DeclareRobustCommand{\tbinom}{\genfrac(){0pt}1}
\ifx\directlua\@undefined
\ifx\XeTeXcharclass\@undefined
\DeclareRobustCommand{\genfrac}[4]{%
@@ -397,7 +397,7 @@ Foreign command \@backslashchar#1;\MessageBreak
}{}
\@saveprimitive\overline\@@overline
\DeclareRobustCommand{\overline}[1]{\@@overline{#1}}
-\newcommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}}
+\DeclareRobustCommand{\boxed}[1]{\fbox{\m@th$\displaystyle#1$}}
\newcommand{\implies}{\DOTSB\;\Longrightarrow\;}
\newcommand{\impliedby}{\DOTSB\;\Longleftarrow\;}
\def\And{\DOTSB\;\mathchar"3026 \;}
@@ -407,7 +407,7 @@ Foreign command \@backslashchar#1;\MessageBreak
\else\setboxz@h{\the\toks@\nobreak}\unhbox\z@\fi}%
\FN@\next@
}
-\renewcommand{\colon}{\nobreak\mskip2mu\mathpunct{}\nonscript
+\DeclareRobustCommand{\colon}{\nobreak\mskip2mu\mathpunct{}\nonscript
\mkern-\thinmuskip{:}\mskip6muplus1mu\relax}
\let\ifgtest@\iffalse % initial value
\def\gtest@true{\global\let\ifgtest@\iftrue}
@@ -656,11 +656,11 @@ Foreign command \@backslashchar#1;\MessageBreak
{{\cdotp}\mkern1.5mu{\cdotp}\mkern1.5mu{\cdotp}}%
{{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}%
{{\cdotp}\mkern1mu{\cdotp}\mkern1mu{\cdotp}}}
-\ams@newcommand{\iint}{\DOTSI\protect\MultiIntegral{2}}
-\ams@newcommand{\iiint}{\DOTSI\protect\MultiIntegral{3}}
-\ams@newcommand{\iiiint}{\DOTSI\protect\MultiIntegral{4}}
-\newcommand{\idotsint}{\DOTSI\protect\MultiIntegral{0}}
-\newcommand{\MultiIntegral}[1]{%
+\ams@newcommand{\iint}{\DOTSI\MultiIntegral{2}}
+\ams@newcommand{\iiint}{\DOTSI\MultiIntegral{3}}
+\ams@newcommand{\iiiint}{\DOTSI\MultiIntegral{4}}
+\newcommand{\idotsint}{\DOTSI\MultiIntegral{0}}
+\DeclareRobustCommand{\MultiIntegral}[1]{%
\edef\ints@c{\noexpand\intop
\ifnum#1=\z@\noexpand\intdots@\else\noexpand\intkern@\fi
\ifnum#1>\tw@\noexpand\intop\noexpand\intkern@\fi
@@ -719,10 +719,10 @@ Foreign command \@backslashchar#1;\MessageBreak
\vbox{\kern-\normallineskiplimit\copy\strutbox}}}
\addto@hook\every@math@size{\reset@strutbox@}
\AtBeginDocument{\reset@strutbox@}
-\renewcommand{\big}{\bBigg@\@ne}
-\renewcommand{\Big}{\bBigg@{1.5}}
-\renewcommand{\bigg}{\bBigg@\tw@}
-\renewcommand{\Bigg}{\bBigg@{2.5}}
+\DeclareRobustCommand{\big}{\bBigg@\@ne}
+\DeclareRobustCommand{\Big}{\bBigg@{1.5}}
+\DeclareRobustCommand{\bigg}{\bBigg@\tw@}
+\DeclareRobustCommand{\Bigg}{\bBigg@{2.5}}
\ifx\leavevmode@ifvmode\@undefined
\def\bBigg@#1#2{%
{\@mathmeasure\z@{\nulldelimiterspace\z@}%
@@ -748,6 +748,10 @@ Foreign command \@backslashchar#1;\MessageBreak
\ams@newcommand{\ddddot}[1]{%
{\mathop{\kern\z@#1}\limits^{\vbox to-1.4\ex@{\kern-\tw@\ex@
\hbox{\,\normalfont....}\vss}}}}
+\AtBeginDocument{%
+ \MakeRobust\dddot
+ \MakeRobust\ddddot
+ }
\def\set@mathaccent#1#2#3#4{%
\xdef#2{%
\@nx\mathaccentV
@@ -898,24 +902,24 @@ Foreign command \@backslashchar#1;\MessageBreak
\def\Vec{\vec}
\def\nonmatherr@#1{\@amsmath@err{\protect
#1 allowed only in math mode}\@ehd}
-\renewcommand{\bmod}{\nonscript\mskip-\medmuskip\mkern5mu\mathbin
+\DeclareRobustCommand{\bmod}{\nonscript\mskip-\medmuskip\mkern5mu\mathbin
{\operator@font mod}\penalty900
\mkern5mu\nonscript\mskip-\medmuskip}
-\newcommand{\pod}[1]{\allowbreak
+\DeclareRobustCommand{\pod}[1]{\allowbreak
\if@display\mkern18mu\else\mkern8mu\fi(#1)}
-\renewcommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}}
-\newcommand{\mod}[1]{\allowbreak\if@display\mkern18mu
+\DeclareRobustCommand{\pmod}[1]{\pod{{\operator@font mod}\mkern6mu#1}}
+\DeclareRobustCommand{\mod}[1]{\allowbreak\if@display\mkern18mu
\else\mkern12mu\fi{\operator@font mod}\,\,#1}
-\newcommand{\cfrac}[3][c]{{\displaystyle\frac{%
+\DeclareRobustCommand{\cfrac}[3][c]{{\displaystyle\frac{%
\strut\ifx r#1\hfill\fi#2\ifx l#1\hfill\fi}{#3}}%
\kern-\nulldelimiterspace}
-\newcommand{\overset}[2]{\binrel@{#2}%
+\DeclareRobustCommand{\overset}[2]{\binrel@{#2}%
\binrel@@{\mathop{\kern\z@#2}\limits^{#1}}}
-\newcommand{\underset}[2]{\binrel@{#2}%
+\DeclareRobustCommand{\underset}[2]{\binrel@{#2}%
\binrel@@{\mathop{\kern\z@#2}\limits_{#1}}}
-\newcommand{\overunderset}[3]{\binrel@{#3}%
+\DeclareRobustCommand{\overunderset}[3]{\binrel@{#3}%
\binrel@@{\mathop{\kern\z@#3}\limits^{#1}_{#2}}}
-\newcommand{\sideset}[3]{%
+\DeclareRobustCommand{\sideset}[3]{%
\@mathmeasure\z@\displaystyle{#3}%
\global\setbox\@ne\vbox to\ht\z@{}\dp\@ne\dp\z@
\setbox\tw@\box\@ne
@@ -925,7 +929,7 @@ Foreign command \@backslashchar#1;\MessageBreak
\hbox to\dimen@{}\mathop{\kern-\dimen@\box4\box6}%
}
\ifx\leavevmode@ifvmode\@undefined
-\renewcommand{\smash}[1][tb]{%
+\DeclareRobustCommand{\smash}[1][tb]{%
\def\mb@t{\ht}\def\mb@b{\dp}\def\mb@tb{\ht\z@\z@\dp}%
\edef\finsm@sh{\csname mb@#1\endcsname\z@\z@\box\z@}%
\ifmmode \@xp\mathpalette\@xp\mathsm@sh
@@ -933,7 +937,7 @@ Foreign command \@backslashchar#1;\MessageBreak
\fi
}
\else
-\renewcommand{\smash}[1][tb]{%
+\DeclareRobustCommand{\smash}[1][tb]{%
\def\mb@t{\ht}\def\mb@b{\dp}\def\mb@tb{\ht\z@\z@\dp}%
\edef\finsm@sh{\csname mb@#1\endcsname\z@\z@ \leavevmode@ifvmode\box\z@}%
\ifmmode \@xp\mathpalette\@xp\mathsm@sh
@@ -963,8 +967,8 @@ Foreign command \@backslashchar#1;\MessageBreak
\Umathcharnumdef\std@equal\Umathcodenum`\=\relax
}%
}
-\ams@def\relbar{\mathrel{\mathpalette\mathsm@sh\std@minus}}
-\ams@def\Relbar{\mathrel\std@equal}
+\ams@DeclareRobustCommand\relbar{\mathrel{\mathpalette\mathsm@sh\std@minus}}
+\ams@DeclareRobustCommand\Relbar{\mathrel\std@equal}
\def\arrowfill@#1#2#3#4{%
$\m@th\thickmuskip0mu\medmuskip\thickmuskip\thinmuskip\thickmuskip
\relax#4#1\mkern-7mu%
@@ -985,6 +989,13 @@ Foreign command \@backslashchar#1;\MessageBreak
\mathpalette{\overarrow@\leftarrowfill@}}
\ams@newcommand{\overleftrightarrow}{%
\mathpalette{\overarrow@\leftrightarrowfill@}}
+\AtBeginDocument{%
+ \expandafter\let\csname overleftarrow \endcsname\@undefined
+ \expandafter\let\csname overrightarrow \endcsname\@undefined
+ \MakeRobust\overrightarrow
+ \MakeRobust\overleftarrow
+ \MakeRobust\overleftrightarrow
+ }
\def\underarrow@#1#2#3{%
\vtop{\ialign{##\crcr$\m@th\hfil#2#3\hfil$\crcr
\noalign{\nointerlineskip\kern1.3\ex@}#1#2\crcr}}}
@@ -994,6 +1005,11 @@ Foreign command \@backslashchar#1;\MessageBreak
\mathpalette{\underarrow@\leftarrowfill@}}
\ams@newcommand{\underleftrightarrow}{%
\mathpalette{\underarrow@\leftrightarrowfill@}}
+\AtBeginDocument{%
+ \MakeRobust\underrightarrow
+ \MakeRobust\underleftarrow
+ \MakeRobust\underleftrightarrow
+ }
\def\ext@arrow#1#2#3#4#5#6#7{%
\mathrel{\mathop{%
\setbox\z@\hbox{#5\displaystyle}%
@@ -1009,8 +1025,8 @@ Foreign command \@backslashchar#1;\MessageBreak
\@ifnotempty{#6}{_{\if0#1\else\mkern#1mu\fi
#6\if0#2\else\mkern#2mu\fi}}}%
}
-\newcommand{\xrightarrow}[2][]{\ext@arrow 0359\rightarrowfill@{#1}{#2}}
-\newcommand{\xleftarrow}[2][]{\ext@arrow 3095\leftarrowfill@{#1}{#2}}
+\DeclareRobustCommand{\xrightarrow}[2][]{\ext@arrow 0359\rightarrowfill@{#1}{#2}}
+\DeclareRobustCommand{\xleftarrow}[2][]{\ext@arrow 3095\leftarrowfill@{#1}{#2}}
\ifx\directlua\@undefined
\newenvironment{subarray}[1]{%
\vcenter\bgroup
@@ -1041,7 +1057,7 @@ Foreign command \@backslashchar#1;\MessageBreak
\crcr\egroup\egroup
}
\fi
-\newcommand{\substack}[1]{\subarray{c}#1\endsubarray}
+\DeclareRobustCommand{\substack}[1]{\subarray{c}#1\endsubarray}
\newenvironment{smallmatrix}{\null\,\vcenter\bgroup
\Let@\restore@math@cr\default@tag
\baselineskip6\ex@ \lineskip1.5\ex@ \lineskiplimit\lineskip
@@ -1124,24 +1140,24 @@ ill-advised in LaTeX.%
\setcounter{equation}{\value{parentequation}}%
\ignorespacesafterend
}
-\newcommand{\numberwithin}[3][\arabic]{%
+\DeclareRobustCommand{\numberwithin}[3][\arabic]{%
\@ifundefined{c@#2}{\@nocounterr{#2}}{%
\@ifundefined{c@#3}{\@nocnterr{#3}}{%
\@addtoreset{#2}{#3}%
\@xp\xdef\csname the#2\endcsname{%
\@xp\@nx\csname the#3\endcsname .\@nx#1{#2}}}}%
}
-\newcommand{\eqref}[1]{\textup{\tagform@{\ref{#1}}}}
+\DeclareRobustCommand{\eqref}[1]{\textup{\tagform@{\ref{#1}}}}
\newcount\dspbrk@lvl
\dspbrk@lvl=-1
\interdisplaylinepenalty\@M
-\newcommand{\allowdisplaybreaks}[1][4]{%
+\DeclareRobustCommand{\allowdisplaybreaks}[1][4]{%
\interdisplaylinepenalty\getdsp@pen{#1}\relax
}
\def\getdsp@pen#1{%
\ifcase #1\@M \or 9999 \or 6999 \or 2999 \or \z@\fi
}
-\newcommand{\displaybreak}{\new@ifnextchar[\dspbrk@{\dspbrk@[4]}}
+\DeclareRobustCommand{\displaybreak}{\new@ifnextchar[\dspbrk@{\dspbrk@[4]}}
\chardef\dspbrk@context=\sixt@@n
\def\dspbrk@[#1]{%
\ifmeasuring@
@@ -2695,13 +2711,13 @@ Cannot use `split' here;\MessageBreak trying to recover with `aligned'}%
\endgroup
}
\iftagsleft@
- \def\shoveright#1{%
+ \protected\def\shoveright#1{%
#1%
\hfilneg
\hskip\multlinegap
}
\else
- \def\shoveright#1{%
+ \protected\def\shoveright#1{%
#1%
\hfilneg
\iftag@
@@ -2716,12 +2732,11 @@ Cannot use `split' here;\MessageBreak trying to recover with `aligned'}%
\fi
}
\fi
-
\if@fleqn
\def\shoveleft#1{#1}%
\else
\iftagsleft@
- \def\shoveleft#1{%
+ \protected\def\shoveleft#1{%
\setboxz@h{$\m@th\displaystyle{}#1$}%
\setbox\@ne\hbox{$\m@th\displaystyle#1$}%
\hfilneg
@@ -2736,17 +2751,17 @@ Cannot use `split' here;\MessageBreak trying to recover with `aligned'}%
\hskip\multlinegap
\fi
\hskip.5\wd\@ne
- \hskip-.5\wdz@
+ \hskip-.5\wdz@ \relax
#1%
}
\else
- \def\shoveleft#1{%
+ \protected\def\shoveleft#1{%
\setboxz@h{$\m@th\displaystyle{}#1$}%
\setbox\@ne\hbox{$\m@th\displaystyle#1$}%
\hfilneg
\hskip\multlinegap
\hskip.5\wd\@ne
- \hskip-.5\wdz@
+ \hskip-.5\wdz@ \relax
#1%
}
\fi
diff --git a/Master/texmf-dist/tex/latex/amsmath/amsopn.sty b/Master/texmf-dist/tex/latex/amsmath/amsopn.sty
index 4e42accfa85..38628c2b9f5 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amsopn.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amsopn.sty
@@ -7,7 +7,7 @@
%% amsopn.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2022 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -23,7 +23,7 @@
%%
\NeedsTeXFormat{LaTeX2e}% LaTeX 2.09 can't be used (nor non-LaTeX)
[1994/12/01]% LaTeX date must December 1994 or later
-\ProvidesPackage{amsopn}[2021/08/26 v2.02 operator names]
+\ProvidesPackage{amsopn}[2022/04/08 v2.04 operator names]
\def\nolimits@{\@ifnextchar\limits{\nolimits\@gobble}{\nolimits}}
\begingroup \catcode`\"=12
\ifx\Umathcode\@undefined
@@ -53,59 +53,58 @@
\DeclareRobustCommand{#2}{\qopname\newmcodes@#1{#3}}}}
\@onlypreamble\DeclareMathOperator
\@onlypreamble\@declmathop
-\def\arccos{\qopname\relax o{arccos}}
-\def\arcsin{\qopname\relax o{arcsin}}
-\def\arctan{\qopname\relax o{arctan}}
-\def\arg{\qopname\relax o{arg}}
-\def\cos{\qopname\relax o{cos}}
-\def\cosh{\qopname\relax o{cosh}}
-\def\cot{\qopname\relax o{cot}}
-\def\coth{\qopname\relax o{coth}}
-\def\csc{\qopname\relax o{csc}}
-\def\deg{\qopname\relax o{deg}}
-\def\det{\qopname\relax m{det}}
-\def\dim{\qopname\relax o{dim}}
-\def\exp{\qopname\relax o{exp}}
-\def\gcd{\qopname\relax m{gcd}}
-\def\hom{\qopname\relax o{hom}}
-\def\inf{\qopname\relax m{inf}}
-\def\injlim{\qopname\relax m{inj\,lim}}
-\def\ker{\qopname\relax o{ker}}
-\def\lg{\qopname\relax o{lg}}
-\def\lim{\qopname\relax m{lim}}
-\def\liminf{\qopname\relax m{lim\,inf}}
-\def\limsup{\qopname\relax m{lim\,sup}}
-\def\ln{\qopname\relax o{ln}}
-\def\log{\qopname\relax o{log}}
-\def\max{\qopname\relax m{max}}
-\def\min{\qopname\relax m{min}}
-\def\Pr{\qopname\relax m{Pr}}
-\def\projlim{\qopname\relax m{proj\,lim}}
-\def\sec{\qopname\relax o{sec}}
-\def\sin{\qopname\relax o{sin}}
-\def\sinh{\qopname\relax o{sinh}}
-\def\sup{\qopname\relax m{sup}}
-\def\tan{\qopname\relax o{tan}}
-\def\tanh{\qopname\relax o{tanh}}
-\def\operator@font{\mathgroup\symoperators}
+\protected\def\arccos{\qopname\relax o{arccos}}
+\protected\def\arcsin{\qopname\relax o{arcsin}}
+\protected\def\arctan{\qopname\relax o{arctan}}
+\protected\def\arg{\qopname\relax o{arg}}
+\protected\def\cos{\qopname\relax o{cos}}
+\protected\def\cosh{\qopname\relax o{cosh}}
+\protected\def\cot{\qopname\relax o{cot}}
+\protected\def\coth{\qopname\relax o{coth}}
+\protected\def\csc{\qopname\relax o{csc}}
+\protected\def\deg{\qopname\relax o{deg}}
+\protected\def\det{\qopname\relax m{det}}
+\protected\def\dim{\qopname\relax o{dim}}
+\protected\def\exp{\qopname\relax o{exp}}
+\protected\def\gcd{\qopname\relax m{gcd}}
+\protected\def\hom{\qopname\relax o{hom}}
+\protected\def\inf{\qopname\relax m{inf}}
+\protected\def\injlim{\qopname\relax m{inj\,lim}}
+\protected\def\ker{\qopname\relax o{ker}}
+\protected\def\lg{\qopname\relax o{lg}}
+\protected\def\lim{\qopname\relax m{lim}}
+\protected\def\liminf{\qopname\relax m{lim\,inf}}
+\protected\def\limsup{\qopname\relax m{lim\,sup}}
+\protected\def\ln{\qopname\relax o{ln}}
+\protected\def\log{\qopname\relax o{log}}
+\protected\def\max{\qopname\relax m{max}}
+\protected\def\min{\qopname\relax m{min}}
+\protected\def\Pr{\qopname\relax m{Pr}}
+\protected\def\projlim{\qopname\relax m{proj\,lim}}
+\protected\def\sec{\qopname\relax o{sec}}
+\protected\def\sin{\qopname\relax o{sin}}
+\protected\def\sinh{\qopname\relax o{sinh}}
+\protected\def\sup{\qopname\relax m{sup}}
+\protected\def\tan{\qopname\relax o{tan}}
+\protected\def\tanh{\qopname\relax o{tanh}}
\def\operatorfont{\operator@font}
\def\operatornamewithlimits{\operatorname*}
-\def\varlim@#1#2{%
+\protected\def\varlim@#1#2{%
\vtop{\m@th\ialign{##\cr
\hfil$#1\operator@font lim$\hfil\cr
\noalign{\nointerlineskip\kern1.5\ex@}#2\cr
\noalign{\nointerlineskip\kern-\ex@}\cr}}%
}
-\def\varinjlim{%
+\protected\def\varinjlim{%
\mathop{\mathpalette\varlim@{\rightarrowfill@\textstyle}}\nmlimits@
}
-\def\varprojlim{%
+\protected\def\varprojlim{%
\mathop{\mathpalette\varlim@{\leftarrowfill@\textstyle}}\nmlimits@
}
-\def\varliminf{\mathop{\mathpalette\varliminf@{}}\nmlimits@}
+\protected\def\varliminf{\mathop{\mathpalette\varliminf@{}}\nmlimits@}
\def\varliminf@#1{\@@underline{\vrule\@depth.2\ex@\@width\z@
\hbox{$#1\m@th\operator@font lim$}}}
-\def\varlimsup{\mathop{\mathpalette\varlimsup@{}}\nmlimits@}
+\protected\def\varlimsup{\mathop{\mathpalette\varlimsup@{}}\nmlimits@}
\def\varlimsup@#1{\@@overline{\hbox{$#1\m@th\operator@font lim$}}}
\let\nmlimits@\displaylimits
\DeclareOption{namelimits}{\let\nmlimits@\displaylimits}
diff --git a/Master/texmf-dist/tex/latex/amsmath/amstext.sty b/Master/texmf-dist/tex/latex/amsmath/amstext.sty
index 11c22895e71..ac1297b7b11 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amstext.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amstext.sty
@@ -7,7 +7,7 @@
%% amstext.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2022 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/amsmath/amsxtra.sty b/Master/texmf-dist/tex/latex/amsmath/amsxtra.sty
index cba041ab95c..a34f3604d5b 100644
--- a/Master/texmf-dist/tex/latex/amsmath/amsxtra.sty
+++ b/Master/texmf-dist/tex/latex/amsmath/amsxtra.sty
@@ -7,7 +7,7 @@
%% amsxtra.dtx
%%
%% Copyright (C) 1995, 1999 American Mathematical Society.
-%% Copyright (C) 2016-2021 LaTeX Project and American Mathematical Society.
+%% Copyright (C) 2016-2022 LaTeX Project and American Mathematical Society.
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
diff --git a/Master/texmf-dist/tex/latex/base/alltt.sty b/Master/texmf-dist/tex/latex/base/alltt.sty
index 21591058bc2..e79e0862641 100644
--- a/Master/texmf-dist/tex/latex/base/alltt.sty
+++ b/Master/texmf-dist/tex/latex/base/alltt.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ansinew.def b/Master/texmf-dist/tex/latex/base/ansinew.def
index 240348a5b65..c941e68cb5d 100644
--- a/Master/texmf-dist/tex/latex/base/ansinew.def
+++ b/Master/texmf-dist/tex/latex/base/ansinew.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{ansinew.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/applemac.def b/Master/texmf-dist/tex/latex/base/applemac.def
index afffbb60c3f..3938259fa9c 100644
--- a/Master/texmf-dist/tex/latex/base/applemac.def
+++ b/Master/texmf-dist/tex/latex/base/applemac.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{applemac.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/article.cls b/Master/texmf-dist/tex/latex/base/article.cls
index 721b5f5277e..d3c6498a07b 100644
--- a/Master/texmf-dist/tex/latex/base/article.cls
+++ b/Master/texmf-dist/tex/latex/base/article.cls
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/article.sty b/Master/texmf-dist/tex/latex/base/article.sty
index 4d417986b0b..c1f4f6c6070 100644
--- a/Master/texmf-dist/tex/latex/base/article.sty
+++ b/Master/texmf-dist/tex/latex/base/article.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ascii.def b/Master/texmf-dist/tex/latex/base/ascii.def
index 51d807cde83..ae9b42af78f 100644
--- a/Master/texmf-dist/tex/latex/base/ascii.def
+++ b/Master/texmf-dist/tex/latex/base/ascii.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{ascii.def}
[2021/02/14 v1.3d Input encoding file]
\@inpenc@test
diff --git a/Master/texmf-dist/tex/latex/base/atbegshi-ltx.sty b/Master/texmf-dist/tex/latex/base/atbegshi-ltx.sty
index 9b2bc21a80e..1a3a472062a 100644
--- a/Master/texmf-dist/tex/latex/base/atbegshi-ltx.sty
+++ b/Master/texmf-dist/tex/latex/base/atbegshi-ltx.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,19 +42,20 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%
-%% Copyright (C) 2020-2021
+%% Copyright (C) 2020-2022
%% Frank Mittelbach, LaTeX Team
%%
%%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0j}
-\providecommand\ltshipoutdate{2021/06/09}
+\providecommand\ltshipoutversion{v1.0m}
+\providecommand\ltshipoutdate{2022/05/08}
+ % \cs{AtBeginDvi} is the existing \LaTeXe{} interface to fill the
\ProvidesPackage{atbegshi-ltx}
[2021/01/10 v1.0c
Emulation of the original atbegshi^^Jpackage with kernel methods]
\let \AtBeginShipoutBox \ShipoutBox
\let \AtBeginShipoutInit \@empty
-\protected \def \AtBeginShipout {\AddToHook{shipout/before}}
-\protected \def \AtBeginShipoutNext {\AddToHookNext{shipout/before}}
+\protected\long\def\AtBeginShipout #1{\AddToHook{shipout/before}{#1}}
+\protected\long\def\AtBeginShipoutNext #1{\AddToHookNext{shipout/before}{#1}}
\protected \def \AtBeginShipoutFirst
{\@expl@@@shipout@add@firstpage@material@@Nn \AtBeginShipoutFirst}
\let \AtBeginShipoutDiscard \DiscardShipoutBox
diff --git a/Master/texmf-dist/tex/latex/base/atveryend-ltx.sty b/Master/texmf-dist/tex/latex/base/atveryend-ltx.sty
index 131fd98d9fd..f541bfe9527 100644
--- a/Master/texmf-dist/tex/latex/base/atveryend-ltx.sty
+++ b/Master/texmf-dist/tex/latex/base/atveryend-ltx.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,8 +42,8 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%% From File: ltfilehook.dtx
-\providecommand\ltfilehookversion{v1.0l}
-\providecommand\ltfilehookdate{2021/08/27}
+\providecommand\ltfilehookversion{v1.0m}
+\providecommand\ltfilehookdate{2022/04/01}
\ProvidesPackage{atveryend-ltx}
[2020/08/19 v1.0a
Emulation of the original atveryend package^^Jwith kernel methods]
diff --git a/Master/texmf-dist/tex/latex/base/bezier.sty b/Master/texmf-dist/tex/latex/base/bezier.sty
index 81247a5d1ea..91ac946ffd8 100644
--- a/Master/texmf-dist/tex/latex/base/bezier.sty
+++ b/Master/texmf-dist/tex/latex/base/bezier.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/bk10.clo b/Master/texmf-dist/tex/latex/base/bk10.clo
index 01f4e768bf1..728e33406a5 100644
--- a/Master/texmf-dist/tex/latex/base/bk10.clo
+++ b/Master/texmf-dist/tex/latex/base/bk10.clo
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/bk11.clo b/Master/texmf-dist/tex/latex/base/bk11.clo
index 6721e8a9bb5..4206d873481 100644
--- a/Master/texmf-dist/tex/latex/base/bk11.clo
+++ b/Master/texmf-dist/tex/latex/base/bk11.clo
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/bk12.clo b/Master/texmf-dist/tex/latex/base/bk12.clo
index 3431015fd3b..e33fefc2e81 100644
--- a/Master/texmf-dist/tex/latex/base/bk12.clo
+++ b/Master/texmf-dist/tex/latex/base/bk12.clo
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/book.cls b/Master/texmf-dist/tex/latex/base/book.cls
index 10fec30421a..d4f775775ac 100644
--- a/Master/texmf-dist/tex/latex/base/book.cls
+++ b/Master/texmf-dist/tex/latex/base/book.cls
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/book.sty b/Master/texmf-dist/tex/latex/base/book.sty
index ed98bc4ef8c..e52d7ae685f 100644
--- a/Master/texmf-dist/tex/latex/base/book.sty
+++ b/Master/texmf-dist/tex/latex/base/book.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/cp1250.def b/Master/texmf-dist/tex/latex/base/cp1250.def
index b2036392655..aee11b800c2 100644
--- a/Master/texmf-dist/tex/latex/base/cp1250.def
+++ b/Master/texmf-dist/tex/latex/base/cp1250.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{cp1250.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/cp1252.def b/Master/texmf-dist/tex/latex/base/cp1252.def
index 811fa845bf4..c1d6ef2cec2 100644
--- a/Master/texmf-dist/tex/latex/base/cp1252.def
+++ b/Master/texmf-dist/tex/latex/base/cp1252.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{cp1252.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/cp1257.def b/Master/texmf-dist/tex/latex/base/cp1257.def
index 032caee7d3f..a959b5793a2 100644
--- a/Master/texmf-dist/tex/latex/base/cp1257.def
+++ b/Master/texmf-dist/tex/latex/base/cp1257.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{cp1257.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/cp437.def b/Master/texmf-dist/tex/latex/base/cp437.def
index 4480f7610e4..730da2cd07f 100644
--- a/Master/texmf-dist/tex/latex/base/cp437.def
+++ b/Master/texmf-dist/tex/latex/base/cp437.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{cp437.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/cp437de.def b/Master/texmf-dist/tex/latex/base/cp437de.def
index acc5a6a62a5..124e89ede50 100644
--- a/Master/texmf-dist/tex/latex/base/cp437de.def
+++ b/Master/texmf-dist/tex/latex/base/cp437de.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{cp437de.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/cp850.def b/Master/texmf-dist/tex/latex/base/cp850.def
index 7f6661530af..df640c78323 100644
--- a/Master/texmf-dist/tex/latex/base/cp850.def
+++ b/Master/texmf-dist/tex/latex/base/cp850.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{cp850.def}
[2021/02/14 v1.3d Input encoding file]
%%
diff --git a/Master/texmf-dist/tex/latex/base/cp852.def b/Master/texmf-dist/tex/latex/base/cp852.def
index d7e359ac232..6551253c681 100644
--- a/Master/texmf-dist/tex/latex/base/cp852.def
+++ b/Master/texmf-dist/tex/latex/base/cp852.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{cp852.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/cp858.def b/Master/texmf-dist/tex/latex/base/cp858.def
index 2de2a28e57a..99af92f4a52 100644
--- a/Master/texmf-dist/tex/latex/base/cp858.def
+++ b/Master/texmf-dist/tex/latex/base/cp858.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{cp858.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/cp865.def b/Master/texmf-dist/tex/latex/base/cp865.def
index 9d8baa0915d..dcae5746c73 100644
--- a/Master/texmf-dist/tex/latex/base/cp865.def
+++ b/Master/texmf-dist/tex/latex/base/cp865.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{cp865.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/decmulti.def b/Master/texmf-dist/tex/latex/base/decmulti.def
index 82991e5080c..c9c88431531 100644
--- a/Master/texmf-dist/tex/latex/base/decmulti.def
+++ b/Master/texmf-dist/tex/latex/base/decmulti.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{decmulti.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/doc-2016-02-15.sty b/Master/texmf-dist/tex/latex/base/doc-2016-02-15.sty
new file mode 100644
index 00000000000..96b65004630
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/base/doc-2016-02-15.sty
@@ -0,0 +1,826 @@
+%%
+%% This is file contains the code from 'doc.sty' from around 2017.
+%%
+%% The original source files were:
+%%
+%% doc.dtx (with options: `package')
+%%
+%%
+%% Copyright 1993-2016
+%% The LaTeX3 Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the LaTeX base system.
+%% --------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This file contains the code for an earlier release and is therefore
+%% frozen. It is used as part of the current doc.sty when the user
+%% requests a rollback.
+%%
+\NeedsTeXFormat{LaTeX2e}[1994/12/01]
+ \ProvidesPackage{doc}
+ [2016/02/15 v2.1g
+ Standard LaTeX documentation package (FMi)]
+%%
+%% Package `doc' to use with LaTeX 2e
+%% Copyright (C) 1989-1999 Frank Mittelbach, all rights reserved.
+\@ifundefined{macro@cnt}{}{\endinput}
+\catcode`\^^A=14
+\AtBeginDocument{\catcode`\^^A=14\relax}
+\def\macrocode{\macro@code
+ \frenchspacing \@vobeyspaces
+ \xmacro@code}
+\def\macro@code{%
+ \topsep \MacrocodeTopsep
+ \@beginparpenalty \predisplaypenalty
+ \if@inlabel\leavevmode\fi
+ \trivlist \parskip \z@ \item[]%
+ \macro@font
+ \leftskip\@totalleftmargin \advance\leftskip\MacroIndent
+ \rightskip\z@ \parindent\z@ \parfillskip\@flushglue
+ \blank@linefalse \def\par{\ifblank@line
+ \leavevmode\fi
+ \blank@linetrue\@@par
+ \penalty\interlinepenalty}
+ \obeylines
+ \let\do\do@noligs \verbatim@nolig@list
+ \let\do\@makeother \dospecials
+ \global\@newlistfalse
+ \global\@minipagefalse
+ \ifcodeline@index
+ \everypar{\global\advance\c@CodelineNo\@ne
+ \llap{\theCodelineNo\ \hskip\@totalleftmargin}%
+ \check@module}%
+ \else \everypar{\check@module}%
+ \fi
+ \init@crossref}
+\newif\ifblank@line
+\def\endmacrocode{%
+ \ifpm@module \endgroup \pm@modulefalse \fi
+ \everypar{}%
+ \global\@inlabelfalse
+ \endtrivlist
+ \close@crossref}
+\@ifundefined{MacroFont}{%
+ \if@compatibility
+ \def\MacroFont{\small
+ \usefont\encodingdefault
+ \ttdefault
+ \mddefault
+ \updefault
+ }%
+ \else
+ \def\MacroFont{\fontencoding\encodingdefault
+ \fontfamily\ttdefault
+ \fontseries\mddefault
+ \fontshape\updefault
+ \small}%
+ \fi
+ }{}
+\@ifundefined{AltMacroFont}{%
+ \if@compatibility
+ \def\AltMacroFont{\small
+ \usefont\encodingdefault
+ \ttdefault
+ \mddefault
+ \sldefault
+ }%
+ \else
+ \def\AltMacroFont{\fontencoding\encodingdefault
+ \fontfamily\ttdefault
+ \fontseries\mddefault
+ \fontshape\sldefault
+ \small
+ }%
+ \fi
+ }{}
+\AtBeginDocument{\let\macro@font\MacroFont}
+\def\check@module{%
+ \ifcheck@modules
+ \ifpm@module \endgroup \pm@modulefalse \fi
+ \expandafter\futurelet\expandafter\next\expandafter\ch@percent
+ \fi}
+\newif\ifpm@module
+\def\DontCheckModules{\check@modulesfalse}
+\def\CheckModules{\check@modulestrue}
+\newif\ifcheck@modules \check@modulestrue
+\def\ch@percent{%
+ \if \percentchar\next
+ \expandafter\check@angle
+ \fi}
+\def\check@angle#1{\futurelet\next\ch@angle}
+\begingroup
+\catcode`\<\active
+\gdef\ch@angle{\ifx<\next
+ \expandafter\ch@plus@etc
+ \else \percentchar \fi}
+\gdef\ch@plus@etc<{\futurelet\next\check@plus@etc}
+\gdef\check@plus@etc{%
+ \if +\next
+ \let\next\pm@module
+ \else\if -\next
+ \let\next\pm@module
+ \else\if *\next
+ \let\next\star@module
+ \else\if /\next
+ \let\next\slash@module
+ \else\ifx <\next
+ \percentchar
+ \else
+ \let\next\pm@module
+ \fi\fi\fi\fi\fi
+ \next}
+\endgroup
+\begingroup
+\catcode`\~=\active
+\lccode`\~=`\>
+\lowercase{\gdef\pm@module#1~}{\pm@moduletrue
+ \Module{#1}\begingroup
+ \advance\guard@level\@ne
+ \ifnum\guard@level>\c@StandardModuleDepth\AltMacroFont\fi
+}
+\lowercase{\gdef\star@module#1~}{%
+ \Module{#1}%
+ \global \advance \guard@level\@ne
+ \ifnum \guard@level>\c@StandardModuleDepth
+ \global\let\macro@font=\AltMacroFont \macro@font
+ \fi}
+\catcode`\>=\active
+\gdef\slash@module#1>{%
+ \Module{#1}%
+ \global \advance \guard@level\m@ne
+ \ifnum \guard@level=\c@StandardModuleDepth
+ \global\let\macro@font\MacroFont \macro@font
+ \fi
+}
+\endgroup
+\newcounter{StandardModuleDepth}
+\newcount \guard@level
+\@ifundefined{Module}{%
+ \def\Module#1{\mod@math@codes$\langle\mathsf{#1}\rangle$}
+ }{}
+\def\mod@math@codes{\mathcode`\|="226A \mathcode`\&="2026
+ \mathcode`\-="702D \mathcode`\+="702B
+ \mathcode`\:="703A \mathcode`\=="703D }
+\newskip\MacrocodeTopsep \MacrocodeTopsep = 3pt plus 1.2pt minus 1pt
+\newdimen\MacroIndent
+\settowidth\MacroIndent{\rmfamily\scriptsize 00\ }
+\@namedef{macrocode*}{\macro@code\sxmacro@code}
+\expandafter\let\csname endmacrocode*\endcsname = \endmacrocode
+\catcode`\!=\catcode`\% ^^A In this section there must not be
+ ^^A any exclamation marks.
+ ^^A
+\begingroup
+\catcode`\|=\z@ \catcode`\[=\@ne \catcode`\]=\tw@
+\catcode`\{=12 \catcode`\}=12
+\catcode`\%=12 \catcode`\ =\active \catcode`\\=\active
+!% \end{macrocode*}
+! Next follows the actual definition of |\macro@code|;
+! notice the
+! use of the new escape character. We manage to get the argument
+! surrounded by the string |\end{macrocode}|, but at the end
+! however, in spite of the actual characters used during the
+! definition of
+! this macro, |\end| with the argument |{macrocode}|
+! will be executed, to ensure a balanced environment.
+! \begin{macrocode*}
+|gdef|xmacro@code#1% \end{macrocode}[#1|end[macrocode]]
+!% \end{macrocode*}
+! \begin{macro}{\sxmacro@code}
+! The definition of |\sxmacro@code| is completely analogous,
+! only
+! here a slightly different terminating string will be used.
+! Note that the space is not active in this environment.
+! \begin{macrocode}
+|catcode`| =12
+|gdef|sxmacro@code#1% \end{macrocode*}[#1|end[macrocode*]]
+!% \end{macrocode}
+! because the |\catcode| changes have been made local by
+! commencing a
+! new group, there now follows the matching |\endgroup|
+! in a rather
+! unusual style of writing.
+! \begin{macrocode}
+|endgroup
+!% \end{macrocode}
+\catcode`\!=12
+\def\DescribeMacro{\leavevmode\@bsphack
+ \begingroup\MakePrivateLetters\Describe@Macro}
+\def\Describe@Macro#1{\endgroup
+ \marginpar{\raggedleft\PrintDescribeMacro{#1}}%
+ \SpecialUsageIndex{#1}\@esphack\ignorespaces}
+\def\DescribeEnv{\leavevmode\@bsphack\begingroup\MakePrivateLetters
+ \Describe@Env}
+\def\Describe@Env#1{\endgroup
+ \marginpar{\raggedleft\PrintDescribeEnv{#1}}%
+ \SpecialEnvIndex{#1}\@esphack\ignorespaces}
+\reversemarginpar
+\setlength\marginparpush{0pt} \setlength\marginparwidth{8pc}
+{\catcode`\|=\z@ \catcode`\\=12
+|gdef|bslash{\}}
+\def\verbatim{\@beginparpenalty \predisplaypenalty \@verbatim
+ \MacroFont \frenchspacing \@vobeyspaces \@xverbatim}
+\@namedef{verbatim*}{\@beginparpenalty \predisplaypenalty \@verbatim
+ \MacroFont \@sxverbatim}
+\def\@verbatim{\trivlist \item[]\if@minipage\else\vskip\parskip\fi
+ \leftskip\@totalleftmargin\rightskip\z@
+ \parindent\z@\parfillskip\@flushglue\parskip\z@
+ \@@par
+ \@tempswafalse
+ \def\par{\if@tempswa\hbox{}\fi\@tempswatrue\@@par
+ \penalty\interlinepenalty
+ \check@percent}%
+ \obeylines
+ \let\do\do@noligs \verbatim@nolig@list
+ \let\do\@makeother \dospecials}
+{\catcode`\%=12
+ \long\gdef\check@percent#1{\ifx #1%\let\next\@empty \else
+ \let\next=#1\fi \next}}
+\def\verb{\relax\ifmmode\hbox\else\leavevmode\null\fi
+ \bgroup \let\do\do@noligs \verbatim@nolig@list
+ \ttfamily \verb@eol@error \let\do\@makeother \dospecials
+ \@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
+\let\verb@balance@group\@empty
+
+\def\verb@egroup{\global\let\verb@balance@group\@empty\egroup}
+
+\begingroup
+ \obeylines%
+ \gdef\verb@eol@error{\obeylines%
+ \def^^M{\verb@egroup\@latex@error{%
+ Text for \noexpand\verb command ended by end of line}\@ehc}}%
+\endgroup
+\def\@sverb#1{%
+ \catcode`#1\active \lccode`\~`#1%
+ \gdef\verb@balance@group{\verb@egroup
+ \@latex@error{Illegal use of \noexpand\verb command}\@ehc}%
+ \aftergroup\verb@balance@group
+ \lowercase{\let~\verb@egroup}}
+\def\verbatim@nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-}
+\def\do@noligs#1{%
+ \catcode`#1\active
+ \begingroup
+ \lccode`\~=`#1\relax
+ \lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}}
+\newcount\macro@cnt \macro@cnt=0
+\def\macro{\begingroup
+ \catcode`\\12
+ \MakePrivateLetters \m@cro@ \iftrue}
+\def\environment{\begingroup
+ \catcode`\\12
+ \MakePrivateLetters \m@cro@ \iffalse}
+\long\def\m@cro@#1#2{\endgroup \topsep\MacroTopsep \trivlist
+ \edef\saved@macroname{\string#2}%
+ #1
+ \let\saved@indexname\saved@macroname
+ \else
+ \edef\saved@indexname{\expandafter\@gobble\string#2}%
+ \fi
+ \def\makelabel##1{\llap{##1}}%
+ \if@inlabel
+ \let\@tempa\@empty \count@\macro@cnt
+ \loop \ifnum\count@>\z@
+ \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne \repeat
+ \edef\makelabel##1{\llap{\vtop to\baselineskip
+ {\@tempa\hbox{##1}\vss}}}%
+ \advance \macro@cnt \@ne
+ \else \macro@cnt\@ne \fi
+ \edef\@tempa{\noexpand\item[%
+ #1%
+ \noexpand\PrintMacroName
+ \else
+ \noexpand\PrintEnvName
+ \fi
+ {\string#2}]}%
+ \@tempa
+ \global\advance\c@CodelineNo\@ne
+ #1%
+ \SpecialMainIndex{#2}\nobreak
+ \DoNotIndex{#2}%
+ \else
+ \SpecialMainEnvIndex{#2}\nobreak
+ \fi
+ \global\advance\c@CodelineNo\m@ne
+ \ignorespaces}
+\let\endmacro \endtrivlist
+\let\endenvironment\endmacro
+\newskip\MacroTopsep \MacroTopsep = 7pt plus 2pt minus 2pt
+\@ifundefined{PrintMacroName}
+ {\def\PrintMacroName#1{\strut \MacroFont \string #1\ }}{}
+\@ifundefined{PrintDescribeMacro}
+ {\def\PrintDescribeMacro#1{\strut \MacroFont \string #1\ }}{}
+\@ifundefined{PrintDescribeEnv}
+ {\def\PrintDescribeEnv#1{\strut \MacroFont #1\ }}{}
+\@ifundefined{PrintEnvName}
+ {\def\PrintEnvName#1{\strut \MacroFont #1\ }}{}
+\begingroup
+\catcode`\~\active
+\gdef\SpecialEscapechar#1{%
+ \begingroup
+ \uccode`\~`#1%
+ \uppercase{\gdef\active@escape@char{~}}%
+ \escapechar\m@ne \xdef\special@escape@char{\string#1}%
+ \endgroup}
+\endgroup
+\begingroup \catcode`\|=\z@ \catcode`\\=\active
+|gdef|init@crossref{|catcode`|\|active |let\|bslash
+ |MakePrivateLetters
+ |catcode|expandafter`|special@escape@char|active
+ |expandafter|let|active@escape@char|scan@macro}
+|endgroup
+\SpecialEscapechar{\\}
+\@ifundefined{MakePrivateLetters}
+ {\let\MakePrivateLetters\makeatletter}{}
+\def\close@crossref{\SpecialEscapechar\\}
+\def\scan@macro{%
+ \special@escape@char
+ \step@checksum
+ \ifscan@allowed
+ \let\macro@namepart\@empty
+ \def\next{\futurelet\next\macro@switch}%
+ \else \let\next\@empty \fi
+ \next}
+\newif\ifscan@allowed \scan@allowedtrue
+\def\DisableCrossrefs{\@bsphack\scan@allowedfalse\@esphack}
+\def\EnableCrossrefs{\@bsphack\scan@allowedtrue
+ \def\DisableCrossrefs{\@bsphack\@esphack}\@esphack}
+\def\macro@switch{\ifcat\noexpand\next a%
+ \let\next\macro@name
+ \else \let\next\short@macro \fi
+ \next}
+\begingroup
+\catcode`\&=12
+\gdef\short@macro#1{\begingroup
+ \uccode`\&=\expandafter`\string#1%
+ \uppercase{\def\x{\def\macro@namepart{&}}}%
+ \expandafter\endgroup\x
+ \ifnot@excluded
+ \produce@index{#1}\fi
+ \scan@allowedfalse#1%
+ \scan@allowedtrue }
+\endgroup
+\def\produce@index#1{%
+ \if\noexpand#1\special@escape@char
+ \scan@allowedfalse \it@is@a\special@escape@char \else
+ \if\noexpand#1\bslash \it@is@a\bslash \else
+ \if\noexpand#1\space \it@is@a\space \else
+ \ifx#1\par
+ \it@is@a\space \else
+ \ifx#1\relax \else
+ \if\noexpand#1\bgroup \LeftBraceIndex \else
+ \if\noexpand#1\egroup \RightBraceIndex \else
+ \if\noexpand#1\percentchar \PercentIndex \else
+ \it@is@a{\string#1}%
+ \fi \fi \fi \fi \fi \fi \fi \fi}
+\def\macro@name#1{\edef\macro@namepart{\macro@namepart#1}%
+ \futurelet\next\more@macroname}
+\def\more@macroname{\ifcat\noexpand\next a%
+ \let\next\macro@name
+ \else \let\next\macro@finish \fi
+ \next}
+\def\macro@finish{%
+ \macro@namepart
+ \ifnot@excluded
+ \edef\@tempa{\noexpand\SpecialIndex{\bslash\macro@namepart}}%
+ \@tempa \fi}
+\def\DoNotIndex{\begingroup \MakePrivateLetters
+ \catcode`\\12
+ \do@not@index}
+\long\def\do@not@index#1{%
+ \endgroup
+ \addto@hook\index@excludelist{#1,}}
+\long\def\addto@hook#1#2{#1\expandafter{\the#1#2}}
+\newtoks\index@excludelist
+\index@excludelist{}
+\begingroup
+\catcode`\|=0%
+\catcode`\\=12
+|gdef|ifnot@excluded{|expandafter
+ |expanded@notin|expandafter{|expandafter
+ \|macro@namepart,}{|the|index@excludelist}}
+|endgroup
+\def\expanded@notin#1#2{%
+ \def\in@@##1#1##2##3\in@@{%
+ \ifx\expanded@notin##2}%
+ \expandafter\in@@#2#1\expanded@notin\in@@}
+\@ifundefined{actualchar}{\def\actualchar{=}}{}
+\@ifundefined{quotechar}{\def\quotechar{!}}{}
+\@ifundefined{levelchar}{\def\levelchar{>}}{}
+\@ifundefined{encapchar}{\def\encapchar{|}}{}
+\@ifundefined{verbatimchar}{\def\verbatimchar{+}}{}
+\def\SpecialIndex#1{\@bsphack\special@index{\expandafter\@gobble
+ \string#1\actualchar
+ \string\verb\quotechar*\verbatimchar\string#1\verbatimchar}%
+ \@esphack}
+
+\def\SpecialMainIndex#1{\@bsphack\SpecialIndex@{#1}{\encapchar main}%
+ \@esphack}
+\begingroup
+ \catcode`\|=0
+ \catcode`\\=12
+ |gdef|@SpecialIndexHelper@#1#2|@nil{%
+ |if |noexpand#1\%
+ |gdef|@gtempa{#2}%
+ |else
+ |begingroup
+ |escapechar|m@ne
+ |expandafter|gdef|expandafter|@gtempa|expandafter{|string#1#2}%
+ |endgroup
+ |fi}
+|endgroup
+\def\SpecialIndex@#1#2{%
+ \@SpecialIndexHelper@#1\@nil
+ \def\@tempb{ }%
+ \ifcat \@tempb\@gtempa
+ \special@index{\quotechar\space\actualchar
+ \string\verb\quotechar*\verbatimchar
+ \quotechar\bslash\quotechar\space\verbatimchar#2}%
+ \else
+ \def\@tempb##1##2\relax{\ifx\relax##2\relax
+ \def\@tempc{\special@index{\quotechar##1\actualchar
+ \string\verb\quotechar*\verbatimchar
+ \quotechar\bslash\quotechar##1\verbatimchar#2}}%
+ \else
+ \def\@tempc{\special@index{##1##2\actualchar
+ \string\verb\quotechar*\verbatimchar
+ \bslash##1##2\verbatimchar#2}}%
+ \fi}%
+ \expandafter\@tempb\@gtempa\relax
+ \@tempc
+ \fi}
+\def\SpecialMainEnvIndex#1{\@bsphack\special@index{%
+ #1\actualchar
+ {\string\ttfamily\space#1}
+ (environment)%
+ \encapchar main}%
+ \special@index{environments:\levelchar#1\actualchar{%
+ \string\ttfamily\space#1}\encapchar
+ main}\@esphack}
+\def\SpecialUsageIndex#1{\@bsphack
+ {\let\special@index\index\SpecialIndex@{#1}{\encapchar usage}}%
+ \@esphack}
+\def\SpecialEnvIndex#1{\@bsphack
+ \index{#1\actualchar{\protect\ttfamily#1}
+ (environment)\encapchar usage}%
+ \index{environments:\levelchar#1\actualchar
+ {\protect\ttfamily#1}\encapchar usage}\@esphack}
+\def\SortIndex#1#2{\index{#1\actualchar#2}}
+\def\it@is@a#1{\special@index{\quotechar #1\actualchar
+ \string\verb\quotechar*\verbatimchar
+ \quotechar\bslash\quotechar#1\verbatimchar}}
+\@ifundefined{LeftBraceIndex}{\def\LeftBraceIndex{%
+ \special@index{\bgroup\actualchar\string\verb\quotechar*\verbatimchar
+ \quotechar\bslash{\verbatimchar\string\iffalse}\string\fi}}}{}
+
+\@ifundefined{RightBraceIndex}{\def\RightBraceIndex{%
+ \special@index{\egroup\actualchar\string\iffalse{\string\fi\string\verb
+ \quotechar*\verbatimchar\quotechar\bslash}\verbatimchar}}}{}
+\@ifundefined{PercentIndex}
+ {\def\PercentIndex{\it@is@a\percentchar}}{}
+\def\OldMakeindex{\def\PercentIndex{%
+ \special@index{\quotechar\percentchar\actualchar\string\verb
+ \quotechar*\verbatimchar\quotechar\bslash
+ \percentchar\percentchar\verbatimchar}}}
+{\catcode`\%=12 \gdef\percentchar{%}}
+\newif\ifhave@multicol
+\IfFileExists{multicol.sty}{\have@multicoltrue
+ \RequirePackage{multicol}%
+ }{}
+
+\newdimen\IndexMin \IndexMin = 80pt
+\newcount\c@IndexColumns \c@IndexColumns = 3
+\ifhave@multicol
+ \renewenvironment{theindex}
+ {\begin{multicols}\c@IndexColumns[\index@prologue][\IndexMin]%
+ \IndexParms \let\item\@idxitem \ignorespaces}%
+ {\end{multicols}}
+\else
+ \typeout{Can't find multicol.sty -- will use normal index layout if
+ necessary.}
+ \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+ \columnseprule \z@ \columnsep 35\p@
+ \twocolumn[\index@prologue]%
+ \IndexParms \let\item\@idxitem \ignorespaces}
+ \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
+\fi
+\long\def\IndexPrologue#1{\@bsphack\def\index@prologue{#1}\@esphack}
+\@ifundefined{index@prologue}
+ {\def\index@prologue{\section*{Index}%
+ \markboth{Index}{Index}%
+ Numbers written in italic refer to the page
+ where the corresponding entry is described;
+ numbers underlined refer to the
+ \ifcodeline@index
+ code line of the
+ \fi
+ definition; numbers in roman refer to the
+ \ifcodeline@index
+ code lines
+ \else
+ pages
+ \fi
+ where the entry is used.
+ }}{}
+\@ifundefined{IndexParms}
+ {\def\IndexParms{%
+ \parindent \z@
+ \columnsep 15pt
+ \parskip 0pt plus 1pt
+ \rightskip 15pt
+ \mathsurround \z@
+ \parfillskip=-15pt
+ \small
+ \def\@idxitem{\par\hangindent 30pt}%
+ \def\subitem{\@idxitem\hspace*{15pt}}%
+ \def\subsubitem{\@idxitem\hspace*{25pt}}%
+ \def\indexspace{\par\vspace{10pt plus 2pt minus 3pt}}%
+ }}{}
+\def\efill{\hfill\nopagebreak}%
+\def\dotfill{\leaders\hbox to.6em{\hss .\hss}\hskip\z@ plus 1fill}%
+\def\dotfil{\leaders\hbox to.6em{\hss .\hss}\hfil}%
+\def\pfill{\unskip~\dotfill\penalty500\strut\nobreak
+ \dotfil~\ignorespaces}%
+\def\*{\leavevmode\lower.8ex\hbox{$\,\widetilde{\ }\,$}}
+\@ifundefined{main}{\def\main#1{\underline{#1}}}{}
+\@ifundefined{usage}{\def\usage#1{\textit{#1}}}{}
+\def\PrintIndex{\@input@{\jobname.ind}%
+ \global\let\PrintIndex\@empty}
+\def\changes{\@bsphack\begingroup\@sanitize
+ \catcode`\\\z@ \catcode`\ 10 \MakePercentIgnore
+ \changes@}
+\def\changes@#1#2#3{%
+ \protected@edef\@tempa{\noexpand\glossary{#1\levelchar
+ \ifx\saved@macroname\@empty
+ \space
+ \actualchar
+ \generalname
+ \else
+ \saved@indexname
+ \actualchar
+ \string\verb\quotechar*%
+ \verbatimchar\saved@macroname
+ \verbatimchar
+ \fi
+ :\levelchar #3}}%
+ \@tempa\endgroup\@esphack}
+\def\saved@macroname{}
+\def\saved@indexname{}
+\def\generalname{General}
+\let\RecordChanges\makeglossary
+\newdimen\GlossaryMin \GlossaryMin = 80pt
+\newcount\c@GlossaryColumns \c@GlossaryColumns = 2
+\ifhave@multicol
+ \newenvironment{theglossary}{%
+ \begin{multicols}\c@GlossaryColumns
+ [\glossary@prologue][\GlossaryMin]%
+ \GlossaryParms \let\item\@idxitem \ignorespaces}%
+ {\end{multicols}}
+\else
+ \newenvironment{theglossary}{%
+ \@restonecoltrue\if@twocolumn\@restonecolfalse\fi
+ \columnseprule \z@ \columnsep 35\p@
+ \twocolumn[\glossary@prologue]%
+ \GlossaryParms \let\item\@idxitem \ignorespaces}
+ {\if@restonecol\onecolumn\else\clearpage\fi}
+\fi
+\long\def\GlossaryPrologue#1{\@bsphack
+ \def\glossary@prologue{#1}%
+ \@esphack}
+\@ifundefined{glossary@prologue}
+ {\def\glossary@prologue{\section*{{Change History}}%
+ \markboth{{Change History}}{{Change History}}%
+ }}{}
+\@ifundefined{GlossaryParms}{\let\GlossaryParms\IndexParms
+ \expandafter\def\expandafter\GlossaryParms\expandafter{\GlossaryParms
+ \rightskip 15pt plus 1fil
+ \parfillskip -15pt plus -1fil\relax}
+}{}
+\def\PrintChanges{\@input@{\jobname.gls}%
+ \global\let\PrintChanges\@empty}
+\newcommand\AlsoImplementation{%
+ \long\def\StopEventually##1{\@bsphack\gdef\Finale{##1%
+ \check@checksum}%
+ \init@checksum
+ \@esphack}%
+ }
+\AlsoImplementation
+\def\OnlyDescription{\@bsphack\long\def\StopEventually##1{%
+ ##1\endinput}\@esphack}
+\let\Finale\relax
+\ifx\l@nohyphenation\undefined
+ \newlanguage\l@nohyphenation
+\fi
+\DeclareRobustCommand\meta[1]{%
+ \ensuremath\langle
+ \ifmmode \expandafter \nfss@text \fi
+ {%
+ \meta@font@select
+ \edef\meta@hyphen@restore
+ {\hyphenchar\the\font\the\hyphenchar\font}%
+ \hyphenchar\font\m@ne
+ \language\l@nohyphenation
+ #1\/%
+ \meta@hyphen@restore
+ }\ensuremath\rangle
+}
+\def\meta@font@select{\itshape}
+\def\IndexInput#1{%
+ \begingroup \macro@code
+ \frenchspacing \@vobeyspaces
+ \input{#1}\endmacrocode
+ \endgroup}
+\def\maketitle{\par
+ \begingroup \def \thefootnote {\fnsymbol {footnote}}%
+ \setcounter {footnote}\z@
+ \def\@makefnmark{\hbox to\z@{$\m@th^{\@thefnmark}$\hss}}%
+ \long\def\@makefntext##1{\parindent 1em\noindent
+ \hbox to1.8em{\hss$\m@th^{\@thefnmark}$}##1}%
+ \if@twocolumn \twocolumn [\@maketitle ]%
+ \else \newpage \global \@topnum \z@ \@maketitle \fi
+ \thispagestyle{titlepage}\@thanks \endgroup
+ \setcounter {footnote}\z@
+ \gdef\@date{\today}\gdef\@thanks{}%
+ \gdef\@author{}\gdef\@title{}}
+\@ifundefined{ps@titlepage}
+ {\let\ps@titlepage=\ps@plain}{}
+\def\MakeShortVerb{%
+ \@ifstar
+ {\def\@shortvrbdef{\verb*}\@MakeShortVerb}%
+ {\def\@shortvrbdef{\verb}\@MakeShortVerb}}
+\def\@MakeShortVerb#1{%
+ \expandafter\ifx\csname cc\string#1\endcsname\relax
+ \@shortvrbinfo{Made }{#1}\@shortvrbdef
+ \add@special{#1}%
+ \expandafter
+ \xdef\csname cc\string#1\endcsname{\the\catcode`#1}%
+ \begingroup
+ \catcode`\~\active \lccode`\~`#1%
+ \lowercase{%
+ \global\expandafter\let
+ \csname ac\string#1\endcsname~%
+ \expandafter\gdef\expandafter~\expandafter{\@shortvrbdef~}}%
+ \endgroup
+ \global\catcode`#1\active
+ \else
+ \@shortvrbinfo\@empty{#1 already}{\@empty\verb(*)}%
+ \fi}
+\def\DeleteShortVerb#1{%
+ \expandafter\ifx\csname cc\string#1\endcsname\relax
+ \@shortvrbinfo\@empty{#1 not}{\@empty\verb(*)}%
+ \else
+ \@shortvrbinfo{Deleted }{#1 as}{\@empty\verb(*)}%
+ \rem@special{#1}%
+ \global\catcode`#1\csname cc\string#1\endcsname
+ \global \expandafter\let \csname cc\string#1\endcsname \relax
+ \ifnum\catcode`#1=\active
+ \begingroup
+ \catcode`\~\active \lccode`\~`#1%
+ \lowercase{%
+ \global\expandafter\let\expandafter~%
+ \csname ac\string#1\endcsname}%
+ \endgroup \fi \fi}
+\def\@shortvrbinfo#1#2#3{%
+ \PackageInfo{doc}{%
+ #1\expandafter\@gobble\string#2 a short reference
+ for \expandafter\string#3}}
+\def\add@special#1{%
+ \rem@special{#1}%
+ \expandafter\gdef\expandafter\dospecials\expandafter
+ {\dospecials \do #1}%
+ \expandafter\gdef\expandafter\@sanitize\expandafter
+ {\@sanitize \@makeother #1}}
+\def\rem@special#1{%
+ \def\do##1{%
+ \ifnum`#1=`##1 \else \noexpand\do\noexpand##1\fi}%
+ \xdef\dospecials{\dospecials}%
+ \begingroup
+ \def\@makeother##1{%
+ \ifnum`#1=`##1 \else \noexpand\@makeother\noexpand##1\fi}%
+ \xdef\@sanitize{\@sanitize}%
+ \endgroup}
+\def\MakeShortverb{\typeout{*** Switch to \noexpand\MakeShortVerb
+ syntax, this is obsolete ***}\MakeShortVerb}
+\def\DeleteShortverb{\typeout{*** Switch to \noexpand\DeleteShortVerb
+ syntax, this is obsolete ***}\DeleteShortVerb}
+\def\init@checksum{\relax
+ \global\bslash@cnt\z@}
+\def\check@checksum{\relax
+ \ifnum\check@sum>\m@ne
+ \ifnum\check@sum=\z@
+ \typeout{**********************************}%
+ \typeout{* This macro file has no checksum!}%
+ \typeout{* The checksum should be \the\bslash@cnt!}%
+ \typeout{**********************************}%
+ \else
+ \ifnum\check@sum=\bslash@cnt
+ \typeout{*******************}%
+ \typeout{* Checksum passed *}%
+ \typeout{*******************}%
+ \else
+ \PackageError{doc}{Checksum not passed
+ (\the\check@sum<>\the\bslash@cnt)}%
+ {The file currently documented seems to be wrong.^^J%
+ Try to get a correct version.}%
+ \fi
+ \fi
+ \fi
+ \global\check@sum\m@ne}
+\newcount\check@sum \check@sum = \m@ne
+\newcount\bslash@cnt \bslash@cnt = \z@
+\def\CheckSum#1{\@bsphack\global\check@sum#1\relax\@esphack}
+\def\step@checksum{\global\advance\bslash@cnt\@ne}
+\def\CharacterTable{\begingroup \CharTableChanges \character@table}
+\begingroup
+ \catcode`\~=11
+ \gdef\character@table#1{\def\used~table{#1}%
+ \ifx\used~table\default~table
+ \typeout{***************************}%
+ \typeout{* Character table correct *}%
+ \typeout{***************************}%
+ \else
+ \PackageError{doc}{Character table corrupted}
+ {\the\wrong@table}
+ \show\default~table
+ \show\used~table
+ \fi
+ \endgroup}
+ \global\let\CharTableChanges\@empty
+ \makeatother
+ \gdef\default~table
+ {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+ Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+ Digits \0\1\2\3\4\5\6\7\8\9
+ Exclamation \! Double quote \" Hash (number) \#
+ Dollar \$ Percent \% Ampersand \&
+ Acute accent \' Left paren \( Right paren \)
+ Asterisk \* Plus \+ Comma \,
+ Minus \- Point \. Solidus \/
+ Colon \: Semicolon \; Less than \<
+ Equals \= Greater than \> Question mark \?
+ Commercial at \@ Left bracket \[ Backslash \\
+ Right bracket \] Circumflex \^ Underscore \_
+ Grave accent \` Left brace \{ Vertical bar \|
+ Right brace \} Tilde \~}
+\endgroup
+ \newhelp\wrong@table{Some of the ASCII characters are corrupted.^^J
+ I now \string\show\space you both tables for comparison.}
+\newif\ifcodeline@index \codeline@indexfalse
+\let\CodelineNumbered\codeline@indextrue
+\def\codeline@wrindex#1{\if@filesw
+ \immediate\write\@indexfile
+ {\string\indexentry{#1}%
+ {\number\c@CodelineNo}}\fi}
+\let\special@index = \@gobble
+\def\CodelineIndex{\makeindex
+ \codeline@indextrue
+ \let\special@index\codeline@wrindex}
+\def\PageIndex{\makeindex
+ \codeline@indexfalse
+ \let\special@index\index}
+\newcount\c@CodelineNo \c@CodelineNo\z@
+\@ifundefined{theCodelineNo}
+ {\ifx\selectfont\undefined
+ \def\theCodelineNo{\rmfamily\scriptsize\arabic{CodelineNo}}%
+ \else
+ \def\theCodelineNo{\reset@font\scriptsize\arabic{CodelineNo}}%
+ \fi}
+ {}
+ \tolerance=1000\relax
+{ \catcode`\"=12
+ \global\mathcode`\\="705C \global\mathcode`\@="7040 }
+\@ifundefined{DocstyleParms}{}{\DocstyleParms}
+\let\DocstyleParms\relax
+\@ifundefined{AmSTeX}
+ {\def\AmSTeX{\leavevmode\hbox{$\mathcal A\kern-.2em\lower.376ex%
+ \hbox{$\mathcal M$}\kern-.2em\mathcal S$-\TeX}}}{}
+\@ifundefined{BibTeX}
+ {\def\BibTeX{{\rmfamily B\kern-.05em%
+ \textsc{i\kern-.025em b}\kern-.08em%
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}}{}
+\@ifundefined{SliTeX}
+ {\def\SliTeX{{\rmfamily S\kern-.06emL\kern-.18em\raise.32ex\hbox
+ {\scshape i}\kern -.03em\TeX}}}{}
+\@ifundefined{PlainTeX}{\def\PlainTeX{\textsc{Plain}\kern2pt\TeX}}{}
+\@ifundefined{Web}{\def\Web{\textsc{Web}}}{}
+\def\MakePercentIgnore{\catcode`\%9\relax}
+\def\MakePercentComment{\catcode`\%14\relax}
+\def\DocInput#1{\MakePercentIgnore\input{#1}\MakePercentComment}
+\def\GetFileInfo#1{%
+ \def\filename{#1}%
+ \def\@tempb##1 ##2 ##3\relax##4\relax{%
+ \def\filedate{##1}%
+ \def\fileversion{##2}%
+ \def\fileinfo{##3}}%
+ \edef\@tempa{\csname ver@#1\endcsname}%
+ \expandafter\@tempb\@tempa\relax? ? \relax\relax}
+\endinput
+%%
+%% End of file `doc.sty'.
diff --git a/Master/texmf-dist/tex/latex/base/doc-v3beta.sty b/Master/texmf-dist/tex/latex/base/doc-2021-06-01.sty
index eeac71568cf..444849f2e76 100644
--- a/Master/texmf-dist/tex/latex/base/doc-v3beta.sty
+++ b/Master/texmf-dist/tex/latex/base/doc-2021-06-01.sty
@@ -1,10 +1,10 @@
%%
-%% This is file `doc-v3beta.sty',
+%% This is file `doc.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
-%% doc.dtx (with options: `package,beta')
+%% doc.dtx (with options: `package')
%%
%% This is a generated file.
%%
@@ -13,8 +13,8 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright 1993-2018
-%% The LaTeX3 Project and any individual authors listed elsewhere
+%% Copyright (C) 1993-2021
+%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
%% This file was generated from file(s) of the LaTeX base system.
@@ -26,7 +26,7 @@
%% The latest version of this license is in
%% https://www.latex-project.org/lppl.txt
%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2005/12/01 or later.
+%% version 2008 or later.
%%
%% This file has the LPPL maintenance status "maintained".
%%
@@ -42,56 +42,15 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
-
-\providecommand\DeclareRelease[3]{}
-\providecommand\DeclareCurrentRelease[2]{}
-
-\DeclareRelease{v2}{2016-02-15.sty}
- {doc-2016-02-15.sty}
-\DeclareCurrentRelease{v3}{2018-04-16}
-
-\ProvidesPackage{doc-v3beta}
- [2021/02/07 v3.0e
- Standard LaTeX documentation package V3 (FMi)]
+ \ProvidesPackage{doc}
+ [2021/05/28 v2.1n
+ Standard LaTeX documentation package (FMi)]
%%
%% Package `doc' to use with LaTeX 2e
-%% Copyright (C) 1989-2018 Frank Mittelbach, all rights reserved.
-
-
-
-
-
+%% Copyright (C) 1989-2020 Frank Mittelbach, all rights reserved.
\@ifundefined{macro@cnt}{}{\endinput}
\catcode`\^^A=14
\AtBeginDocument{\catcode`\^^A=14\relax}
-\RequirePackage{kvoptions}
-\SetupKeyvalOptions{family=doc,prefix=doc@}
-\DeclareBoolOption{noprint}
-\DeclareBoolOption{noindex}
-\DeclareBoolOption[true]{hyperref}
-\DeclareBoolOption[true]{multicol}
-\DeclareBoolOption[false]{debugshow}
-\DeclareBoolOption[true]{toplevel}
-\DeclareComplementaryOption{notoplevel}{toplevel}
-\DeclareBoolOption{macrolike}
-\DeclareComplementaryOption{envlike}{macrolike}
-\DeclareStringOption{idxtype}
-\DeclareStringOption{idxgroup}
-\DeclareStringOption{printtype}
-\DeclareBoolOption[false]{outer}
-\ProcessKeyvalOptions*
-\newif\ifscan@allowed \scan@allowedtrue
-\def\SetupDoc#1{%
- \setkeys{doc}{#1}%
- \edef\doc@noprintdefault{\ifdoc@noprint true\else false\fi}%
- \ifdoc@noindex
- \def\doc@noindexdefault{true}%
- \scan@allowedfalse
- \else
- \def\doc@noindexdefault{false}%
- \fi
-}
-\SetupDoc{} % just save the default values
\def\macrocode{\macro@code
\frenchspacing \@vobeyspaces
\xmacro@code}
@@ -100,6 +59,7 @@
\@beginparpenalty \predisplaypenalty
\if@inlabel\leavevmode\fi
\trivlist \parskip \z@ \item[]%
+ \global\setbox\@labels\box\voidb@x
\macro@font
\leftskip\@totalleftmargin \advance\leftskip\MacroIndent
\rightskip\z@ \parindent\z@ \parfillskip\@flushglue
@@ -132,13 +92,13 @@
\usefont\encodingdefault
\ttdefault
\mddefault
- \updefault
+ \shapedefault
}%
\else
\def\MacroFont{\fontencoding\encodingdefault
\fontfamily\ttdefault
\fontseries\mddefault
- \fontshape\updefault
+ \fontshape\shapedefault
\small}%
\fi
}{}
@@ -221,7 +181,6 @@
\endgroup
\newcounter{StandardModuleDepth}
\newcount \guard@level
-
\@ifundefined{Module}{%
\def\Module#1{\mod@math@codes$\langle\mathsf{#1}\rangle$}
}{}
@@ -270,16 +229,25 @@
|endgroup
!% \end{macrocode}
\catcode`\!=12
-
+\def\DescribeMacro{\leavevmode\@bsphack
+ \begingroup\MakePrivateLetters\Describe@Macro}
+\def\Describe@Macro#1{\endgroup
+ \marginpar{\raggedleft\PrintDescribeMacro{#1}}%
+ \SpecialUsageIndex{#1}\@esphack\ignorespaces}
+\def\DescribeEnv{\leavevmode\@bsphack\begingroup\MakePrivateLetters
+ \Describe@Env}
+\def\Describe@Env#1{\endgroup
+ \marginpar{\raggedleft\PrintDescribeEnv{#1}}%
+ \SpecialEnvIndex{#1}\@esphack\ignorespaces}
\reversemarginpar
\setlength\marginparpush{0pt} \setlength\marginparwidth{8pc}
-\setlength\marginparsep{\labelsep}
{\catcode`\|=\z@ \catcode`\\=12
|gdef|bslash{\}}
\def\verbatim{\@beginparpenalty \predisplaypenalty \@verbatim
\MacroFont \frenchspacing \@vobeyspaces \@xverbatim}
\@namedef{verbatim*}{\@beginparpenalty \predisplaypenalty \@verbatim
- \MacroFont \@sxverbatim}
+ \@setupverbvisiblespace
+ \MacroFont \@vobeyspaces \@sxverbatim}
\def\@verbatim{\trivlist \item[]\if@minipage\else\vskip\parskip\fi
\leftskip\@totalleftmargin\rightskip\z@
\parindent\z@\parfillskip\@flushglue\parskip\z@
@@ -306,14 +274,8 @@
\obeylines%
\gdef\verb@eol@error{\obeylines%
\def^^M{\verb@egroup\@latex@error{%
- Text for \noexpand\verb command ended by end of line}\@ehc}}%
+ \noexpand\verb ended by end of line}\@ehc}}%
\endgroup
-\def\@sverb#1{%
- \catcode`#1\active \lccode`\~`#1%
- \gdef\verb@balance@group{\verb@egroup
- \@latex@error{Illegal use of \noexpand\verb command}\@ehc}%
- \aftergroup\verb@balance@group
- \lowercase{\let~\verb@egroup}}
\def\verbatim@nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-}
\def\do@noligs#1{%
\catcode`#1\active
@@ -321,7 +283,56 @@
\lccode`\~=`#1\relax
\lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}}
\newcount\macro@cnt \macro@cnt=0
+\def\macro{\begingroup
+ \catcode`\\12
+ \MakePrivateLetters \m@cro@ \iftrue}
+\def\environment{\begingroup
+ \catcode`\\12
+ \MakePrivateLetters \m@cro@ \iffalse}
+\long\def\m@cro@#1#2{\endgroup \topsep\MacroTopsep \trivlist
+ \edef\saved@macroname{\string#2}%
+ #1
+ \let\saved@indexname\saved@macroname
+ \else
+ \edef\saved@indexname{\expandafter\@gobble\string#2}%
+ \fi
+ \def\makelabel##1{\llap{##1}}%
+ \if@inlabel
+ \let\@tempa\@empty \count@\macro@cnt
+ \loop \ifnum\count@>\z@
+ \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne \repeat
+ \edef\makelabel##1{\llap{\vtop to\baselineskip
+ {\@tempa\hbox{##1}\vss}}}%
+ \advance \macro@cnt \@ne
+ \else \macro@cnt\@ne \fi
+ \edef\@tempa{\noexpand\item[%
+ #1%
+ \noexpand\PrintMacroName
+ \else
+ \noexpand\PrintEnvName
+ \fi
+ {\string#2}]}%
+ \@tempa
+ \global\advance\c@CodelineNo\@ne
+ #1%
+ \SpecialMainIndex{#2}\nobreak
+ \DoNotIndex{#2}%
+ \else
+ \SpecialMainEnvIndex{#2}\nobreak
+ \fi
+ \global\advance\c@CodelineNo\m@ne
+ \ignorespaces}
+\let\endmacro \endtrivlist
+\let\endenvironment\endmacro
\newskip\MacroTopsep \MacroTopsep = 7pt plus 2pt minus 2pt
+\@ifundefined{PrintMacroName}
+ {\def\PrintMacroName#1{\strut \MacroFont \string #1\ }}{}
+\@ifundefined{PrintDescribeMacro}
+ {\def\PrintDescribeMacro#1{\strut \MacroFont \string #1\ }}{}
+\@ifundefined{PrintDescribeEnv}
+ {\def\PrintDescribeEnv#1{\strut \MacroFont #1\ }}{}
+\@ifundefined{PrintEnvName}
+ {\def\PrintEnvName#1{\strut \MacroFont #1\ }}{}
\begingroup
\catcode`\~\active
\gdef\SpecialEscapechar#1{%
@@ -349,6 +360,7 @@
\def\next{\futurelet\next\macro@switch}%
\else \let\next\@empty \fi
\next}
+\newif\ifscan@allowed \scan@allowedtrue
\def\DisableCrossrefs{\@bsphack\scan@allowedfalse\@esphack}
\def\EnableCrossrefs{\@bsphack\scan@allowedtrue
\def\DisableCrossrefs{\@bsphack\@esphack}\@esphack}
@@ -362,10 +374,24 @@
\uccode`\&=\expandafter`\string#1%
\uppercase{\def\x{\def\macro@namepart{&}}}%
\expandafter\endgroup\x
- \maybe@index@short@macro\macro@namepart
+ \ifnot@excluded
+ \produce@index{#1}\fi
\scan@allowedfalse#1%
\scan@allowedtrue }
\endgroup
+\def\produce@index#1{%
+ \if\noexpand#1\special@escape@char
+ \scan@allowedfalse \it@is@a\special@escape@char \else
+ \if\noexpand#1\bslash \it@is@a\bslash \else
+ \if\noexpand#1\space \it@is@a\space \else
+ \ifx#1\par
+ \it@is@a\space \else
+ \ifx#1\relax \else
+ \if\noexpand#1\bgroup \LeftBraceIndex \else
+ \if\noexpand#1\egroup \RightBraceIndex \else
+ \if\noexpand#1\percentchar \PercentIndex \else
+ \it@is@a{\string#1}%
+ \fi \fi \fi \fi \fi \fi \fi \fi}
\def\macro@name#1{\edef\macro@namepart{\macro@namepart#1}%
\futurelet\next\more@macroname}
\def\more@macroname{\ifcat\noexpand\next a%
@@ -374,171 +400,41 @@
\next}
\def\macro@finish{%
\macro@namepart
- \maybe@index@macro \macro@namepart
-}
-
-\RequirePackage{expl3}
-\ExplSyntaxOn
-\seq_new:N \l__doc_donotindex_seq
-\prop_new:N \g__doc_idxtype_prop
-\cs_new:Npn\__doc_trace:x {
- \ifdoc@debugshow
- \expandafter \iow_term:x
- \else
- \expandafter \use_none:n
- \fi
-}
-\cs_new:Npn \doc_dont_index:n {
- \group_begin:
- \MakePrivateLetters
- \__doc_dont_index:n
-}
-\cs_new:Npn \__doc_dont_index:n #1 {
- \group_end:
- \__doc_trace:x{Disable~ indexing~ for~ '\tl_to_str:n{#1}' }
- \clist_map_function:nN {#1} \__doc_dont_index_aux:n
-}
-\cs_new:Npn \__doc_dont_index_aux:n #1 {
- \seq_put_right:Nx \l__doc_donotindex_seq {\expandafter\@gobble \string#1}
-}
-\cs_set_eq:NN \DoNotIndex \doc_dont_index:n
-\def \ShowIndexingState {
- \__doc_trace:x{Show~ doc~ indexing~ state:}
- \seq_show:N \l__doc_donotindex_seq
- \prop_show:N \g__doc_idxtype_prop
-}
-
-\cs_new:Npn \__doc_idxtype_put:Nn #1#2 {
- \exp_args:Nx \__doc_idxtype_put:nn { \cs_to_str:N #1 }{#2}
- \protected@write\@auxout{}
- {\string\RecordIndexTypeAux {\string#1 }{#2} }
-}
-\cs_new:Npn \RecordIndexTypeAux #1#2 {
- \exp_args:Nx \__doc_idxtype_put:nn { \cs_to_str:N #1 }{#2}
-}
-\AtEndDocument{
- \cs_set_eq:NN \RecordIndexTypeAux \use_none:nn
-}
-\cs_set_eq:NN \RecordIndexType \__doc_idxtype_put:Nn
-\cs_new:Npn \__doc_idxtype_put_scan:nn #1#2 {
- \exp_args:Nf \__doc_idxtype_put:nn { \tl_to_str:n {#1} }{#2}
- \protected@write\@auxout{}
- {\string\RecordIndexTypeAux {\bslash #1 }{#2} }
-}
-\cs_generate_variant:Nn \__doc_idxtype_put_scan:nn {o}
-\cs_set_eq:NN \record@index@type@save \__doc_idxtype_put_scan:on
-\cs_new:Npn \__doc_idxtype_put:nn #1#2 {
- \exp_args:NNf
- \seq_if_in:NnTF \l__doc_donotindex_seq {\tl_to_str:n{#1}}
- {
- \__doc_trace:x{Not~ recording~ index~ type~ for~ '\bslash #1' }
- }
- {
- \__doc_trace:x{Recording~ index~ type~ for~ '\bslash #1' ~ as~ #2 }
- \prop_gput:Nnn \g__doc_idxtype_prop {#1}{#2}
- }
-}
-\cs_new:Npn \exp_args:co #1#2
- { \cs:w #1 \exp_after:wN \cs_end:\exp_after:wN {#2} }
-\cs_generate_variant:Nn \tl_to_str:n {o}
-
-\cs_new:Npn \__doc_maybe_index:o #1 {
- \exp_args:Nf \__doc_maybe_index_aux:nN { \tl_to_str:o {#1} }
- \SpecialIndex
-}
-\cs_set_eq:NN \maybe@index@macro \__doc_maybe_index:o
-\cs_new:Npn \__doc_maybe_index_short:o #1 {
- \exp_args:Nf \__doc_maybe_index_aux:nN { \tl_to_str:o {#1} }
- \SpecialShortIndex
-}
-\cs_set_eq:NN \maybe@index@short@macro \__doc_maybe_index_short:o
-\cs_new:Npn \__doc_maybe_index_aux:nN #1#2 {
- \__doc_trace:x{Searching~ for~ '\bslash #1'}
- \seq_if_in:NnTF \l__doc_donotindex_seq {#1}
- {
- \__doc_trace:x{Not~ indexing~ '\bslash #1' }
- }
- {
- \prop_get:NnNTF \g__doc_idxtype_prop {#1} \l__doc_idxtype_tl
- {
- \exp_args:Ncno \__doc_maybe_index_aux:Nnn
- { Code \tl_use:N \l__doc_idxtype_tl Index }
- {code} {\bslash #1}
- }
- {
- \__doc_trace:x{Indexing~ '\bslash #1'\space (\string #2)}
- \exp_args:No #2 {\bslash #1}
- }
- }
-}
-\cs_new:Npn \SpecialShortIndex #1 {
- \@SpecialIndexHelper@ #1\@nil
- \@bsphack
- \ifdoc@noindex \else
- \str_case_e:nnF {\@gtempa }
- {
- {\cs_to_str:N \^^M } {\def\reserved@a{ \string \space \actualchar }
- \def\reserved@b { \space }
- \let\reserved@c \@empty }
- { } {\def\reserved@a{ \string \space \actualchar }
- \def\reserved@b { \space }
- \let\reserved@c \@empty }
- {\c_left_brace_str} { \def\reserved@a{ \bgroup \actualchar }
- \def\reserved@b { \c_left_brace_str }
- \def\reserved@c { \noexpand\iffalse
- \c_right_brace_str
- \noexpand\fi } }
- {\c_right_brace_str} { \def\reserved@a{ \egroup \actualchar
- \noexpand\iffalse
- \c_left_brace_str
- \noexpand\fi }
- \def\reserved@b { \c_right_brace_str }
- \let\reserved@c \@empty }
- {\verbatimchar} { \def\reserved@a{ \quotechar\verbatimchar
- \actualchar }
- \let\reserved@b \@empty
- \def\reserved@c
- { \string\texttt{\string\string\verbatimchar} } }
- }
- { \def\reserved@a {\quotechar \@gtempa \actualchar }
- \def\reserved@b {\quotechar \@gtempa }
- \let\reserved@c \@empty }
- \special@index {
- \reserved@a
- \string\verb
- \quotechar *\verbatimchar \quotechar \bslash
- \reserved@b
- \verbatimchar
- \reserved@c
- \encapchar code}
- \fi
- \@esphack
-}
-
-\cs_new:Npn \__doc_maybe_index_aux:Nnn #1#2#3 {
- \cs_if_exist:NTF #1
- {
- \__doc_trace:x{Indexing~ '#3'\space as~
- \tl_use:N \l__doc_idxtype_tl }
- #1{#2}{#3}
- }
- {
- \PackageError{doc}{Doc~ element~
- '\tl_use:N \l__doc_idxtype_tl'~ unknown}%
-
- {When~ using~ '\string\RecordIndexType'~ the~ type~ must~
- be~ known~\MessageBreak
- to~ the~ system,~ i.e.,~ declared~ via~
- '\string\NewDocElement'\MessageBreak
- before~ it~ can~ be~ used~ in~ indexing.}
- }
-}
-\ExplSyntaxOff
+ \ifnot@excluded
+ \edef\@tempa{\noexpand\SpecialIndex{\bslash\macro@namepart}}%
+ \@tempa \fi}
+\def\DoNotIndex{\begingroup \MakePrivateLetters
+ \catcode`\\12
+ \do@not@index}
+\long\def\do@not@index#1{%
+ \endgroup
+ \addto@hook\index@excludelist{#1,}}
+\long\def\addto@hook#1#2{#1\expandafter{\the#1#2}}
+\newtoks\index@excludelist
+\index@excludelist{}
+\begingroup
+\catcode`\|=0%
+\catcode`\\=12
+|gdef|ifnot@excluded{|expandafter
+ |expanded@notin|expandafter{|expandafter
+ \|macro@namepart,}{|the|index@excludelist}}
+|endgroup
+\def\expanded@notin#1#2{%
+ \def\in@@##1#1##2##3\in@@{%
+ \ifx\expanded@notin##2}%
+ \expandafter\in@@#2#1\expanded@notin\in@@}
\@ifundefined{actualchar}{\def\actualchar{=}}{}
\@ifundefined{quotechar}{\def\quotechar{!}}{}
\@ifundefined{levelchar}{\def\levelchar{>}}{}
\@ifundefined{encapchar}{\def\encapchar{|}}{}
\@ifundefined{verbatimchar}{\def\verbatimchar{+}}{}
+\def\SpecialIndex#1{\@bsphack\special@index{\expandafter\@gobble
+ \string#1\actualchar
+ \string\verb\quotechar*\verbatimchar\string#1\verbatimchar}%
+ \@esphack}
+
+\def\SpecialMainIndex#1{\@bsphack\SpecialIndex@{#1}{\encapchar main}%
+ \@esphack}
\begingroup
\catcode`\|=0
\catcode`\\=12
@@ -552,43 +448,75 @@
|endgroup
|fi}
|endgroup
-\def\SortIndex#1#2{%
- \ifdoc@noindex\else
- \index{#1\actualchar#2}%
- \fi
-}
+\def\SpecialIndex@#1#2{%
+ \@SpecialIndexHelper@#1\@nil
+ \def\@tempb{ }%
+ \ifcat \@tempb\@gtempa
+ \special@index{\quotechar\space\actualchar
+ \string\verb\quotechar*\verbatimchar
+ \quotechar\bslash\quotechar\space\verbatimchar#2}%
+ \else
+ \def\@tempb##1##2\relax{\ifx\relax##2\relax
+ \def\@tempc{\special@index{\quotechar##1\actualchar
+ \string\verb\quotechar*\verbatimchar
+ \quotechar\bslash\quotechar##1\verbatimchar#2}}%
+ \else
+ \def\@tempc{\special@index{##1##2\actualchar
+ \string\verb\quotechar*\verbatimchar
+ \bslash##1##2\verbatimchar#2}}%
+ \fi}%
+ \expandafter\@tempb\@gtempa\relax
+ \@tempc
+ \fi}
+\def\SpecialMainEnvIndex#1{\@bsphack\special@index{%
+ #1\actualchar
+ {\string\ttfamily\space#1}
+ (environment)%
+ \encapchar main}%
+ \special@index{environments:\levelchar#1\actualchar{%
+ \string\ttfamily\space#1}\encapchar
+ main}\@esphack}
+\def\SpecialUsageIndex#1{\@bsphack
+ {\let\special@index\index\SpecialIndex@{#1}{\encapchar usage}}%
+ \@esphack}
+\def\SpecialEnvIndex#1{\@bsphack
+ \index{#1\actualchar{\protect\ttfamily#1}
+ (environment)\encapchar usage}%
+ \index{environments:\levelchar#1\actualchar
+ {\protect\ttfamily#1}\encapchar usage}\@esphack}
+\def\SortIndex#1#2{\index{#1\actualchar#2}}
+\def\it@is@a#1{\special@index{\quotechar #1\actualchar
+ \string\verb\quotechar*\verbatimchar
+ \quotechar\bslash\quotechar#1\verbatimchar}}
\@ifundefined{LeftBraceIndex}{\def\LeftBraceIndex{%
- \special@index{\bgroup\actualchar
- \string\verb% % to fool emacs highlighting
- \quotechar*\verbatimchar
- \quotechar\bslash{\verbatimchar\string\iffalse}\string\fi}}}{}
+ \special@index{\bgroup\actualchar\string\verb\quotechar*\verbatimchar
+ \quotechar\bslash{\verbatimchar\string\iffalse}\string\fi}}}{}
\@ifundefined{RightBraceIndex}{\def\RightBraceIndex{%
- \special@index{\egroup\actualchar\string\iffalse{\string\fi
- \string\verb% % to fool emacs highlighting
+ \special@index{\egroup\actualchar\string\iffalse{\string\fi\string\verb
\quotechar*\verbatimchar\quotechar\bslash}\verbatimchar}}}{}
\@ifundefined{PercentIndex}
{\def\PercentIndex{\it@is@a\percentchar}}{}
\def\OldMakeindex{\def\PercentIndex{%
- \special@index{\quotechar\percentchar\actualchar
- \string\verb% % to fool emacs highlighting
+ \special@index{\quotechar\percentchar\actualchar\string\verb
\quotechar*\verbatimchar\quotechar\bslash
\percentchar\percentchar\verbatimchar}}}
{\catcode`\%=12 \gdef\percentchar{%}}
-\def\it@is@a#1{\special@index{\quotechar #1\actualchar
- \string\verb% % to fool emacs highlighting
- \quotechar*\verbatimchar
- \quotechar\bslash\quotechar#1\verbatimchar}}
+\newif\ifhave@multicol
+\IfFileExists{multicol.sty}{\have@multicoltrue
+ \RequirePackage{multicol}%
+ }{}
\newdimen\IndexMin \IndexMin = 80pt
\newcount\c@IndexColumns \c@IndexColumns = 3
-\ifdoc@multicol
- \RequirePackage{multicol}
+\ifhave@multicol
\renewenvironment{theindex}
{\begin{multicols}\c@IndexColumns[\index@prologue][\IndexMin]%
\IndexParms \let\item\@idxitem \ignorespaces}%
{\end{multicols}}
\else
+ \typeout{Can't find multicol.sty -- will use normal index layout if
+ necessary.}
\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
\columnseprule \z@ \columnsep 35\p@
\twocolumn[\index@prologue]%
@@ -628,15 +556,13 @@
\def\indexspace{\par\vspace{10pt plus 2pt minus 3pt}}%
}}{}
\def\efill{\hfill\nopagebreak}%
-\def\pfill{\unskip~%
- \leaders\hbox to.6em{\hss .\hss}\hfill
- \penalty500\strut\nobreak
- \leaders\hbox to.6em{\hss .\hss}\hfil
- ~\ignorespaces}%
+\def\dotfill{\leaders\hbox to.6em{\hss .\hss}\hskip\z@ plus 1fill\kern\z@}%
+\def\dotfil{\leaders\hbox to.6em{\hss .\hss}\hfil\kern\z@}%
+\def\pfill{\unskip~\dotfill\penalty500\strut\nobreak
+ \dotfil~\ignorespaces}%
\def\*{\leavevmode\lower.8ex\hbox{$\,\widetilde{\ }\,$}}
\@ifundefined{main}{\def\main#1{\underline{#1}}}{}
\@ifundefined{usage}{\def\usage#1{\textit{#1}}}{}
-\@ifundefined{code}{\def\code#1{#1}}{}
\def\PrintIndex{\@input@{\jobname.ind}%
\global\let\PrintIndex\@empty}
\def\changes{\@bsphack\begingroup\@sanitize
@@ -644,19 +570,18 @@
\changes@}
\def\changes@#1#2#3{%
\protected@edef\@tempa{\noexpand\glossary{#1\levelchar
- \ifx\saved@macroname\@empty
- \quotechar!%
- \actualchar
- \generalname
- \else
- \saved@indexname
- \actualchar
- \string\verb% % to fool emacs highlighting
- \quotechar*%
- \verbatimchar\saved@macroname
- \verbatimchar
- \fi
- :\levelchar #3}}%
+ \ifx\saved@macroname\@empty
+ \space
+ \actualchar
+ \generalname
+ \else
+ \saved@indexname
+ \actualchar
+ \string\verb\quotechar*%
+ \verbatimchar\saved@macroname
+ \verbatimchar
+ \fi
+ :\levelchar #3}}%
\@tempa\endgroup\@esphack}
\def\saved@macroname{}
\def\saved@indexname{}
@@ -664,7 +589,7 @@
\let\RecordChanges\makeglossary
\newdimen\GlossaryMin \GlossaryMin = 80pt
\newcount\c@GlossaryColumns \c@GlossaryColumns = 2
-\ifdoc@multicol
+\ifhave@multicol
\newenvironment{theglossary}{%
\begin{multicols}\c@GlossaryColumns
[\glossary@prologue][\GlossaryMin]%
@@ -693,16 +618,15 @@
\def\PrintChanges{\@input@{\jobname.gls}%
\global\let\PrintChanges\@empty}
\newcommand\AlsoImplementation{%
- \long\def\MaybeStopHere##1{\@bsphack\gdef\Finale{##1%
+ \long\def\StopEventually##1{\@bsphack\gdef\Finale{##1%
\check@checksum}%
\init@checksum
\@esphack}%
}
\AlsoImplementation
-\def\OnlyDescription{\@bsphack\long\def\MaybeStopHere##1{%
+\def\OnlyDescription{\@bsphack\long\def\StopEventually##1{%
##1\endinput}\@esphack}
\let\Finale\relax
-\def\StopEventually{\MaybeStopHere}
\ifx\l@nohyphenation\undefined
\newlanguage\l@nohyphenation
\fi
@@ -758,20 +682,13 @@
\endgroup
\global\catcode`#1\active
\else
- \@shortvrbinfo\@empty{#1 already}%
- {\@empty\verb% % to fool emacs highlighting
- (*)}%
+ \@shortvrbinfo\@empty{#1 already}{\@empty\verb(*)}%
\fi}
\def\DeleteShortVerb#1{%
\expandafter\ifx\csname cc\string#1\endcsname\relax
- \@shortvrbinfo\@empty{#1 not}%
- {\@empty\verb% % to fool emacs highlighting
- (*)}%
+ \@shortvrbinfo\@empty{#1 not}{\@empty\verb(*)}%
\else
- \@shortvrbinfo{Deleted }{#1 as}%
- {\@empty\verb% % to fool emacs
- % highlighting
- (*)}%
+ \@shortvrbinfo{Deleted }{#1 as}{\@empty\verb(*)}%
\rem@special{#1}%
\global\catcode`#1\csname cc\string#1\endcsname
\global \expandafter\let \csname cc\string#1\endcsname \relax
@@ -801,6 +718,10 @@
\ifnum`#1=`##1 \else \noexpand\@makeother\noexpand##1\fi}%
\xdef\@sanitize{\@sanitize}%
\endgroup}
+\def\MakeShortverb{\typeout{*** Switch to \noexpand\MakeShortVerb
+ syntax, this is obsolete ***}\MakeShortVerb}
+\def\DeleteShortverb{\typeout{*** Switch to \noexpand\DeleteShortVerb
+ syntax, this is obsolete ***}\DeleteShortVerb}
\def\init@checksum{\relax
\global\bslash@cnt\z@}
\def\check@checksum{\relax
@@ -866,13 +787,9 @@
\newif\ifcodeline@index \codeline@indexfalse
\let\CodelineNumbered\codeline@indextrue
\def\codeline@wrindex#1{\if@filesw
- \begingroup
- \set@display@protect
\immediate\write\@indexfile
{\string\indexentry{#1}%
- {\number\c@CodelineNo}}%
- \endgroup
- \fi}
+ {\number\c@CodelineNo}}\fi}
\let\special@index = \@gobble
\def\CodelineIndex{\makeindex
\codeline@indextrue
@@ -916,326 +833,6 @@
\def\fileinfo{##3}}%
\edef\@tempa{\csname ver@#1\endcsname}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax}
-
-\ifdoc@hyperref
- \let\PrintDescribeMacro \@empty
- \let\PrintDescribeEnv \@empty
- \let\PrintMacroName \@empty
- \let\PrintEnvName \@empty
- \let\SpecialUsageIndex \@empty
- \let\SpecialEnvIndex \@empty
- \expandafter\let\expandafter\doc@eoph@@k\csname doc.sty-h@@k\endcsname
- \RequirePackage{hypdoc}
- \expandafter\let\csname doc.sty-h@@k\endcsname\doc@eoph@@k
- \let\PrintDescribeMacro \relax
- \let\PrintDescribeEnv \relax
- \let\PrintMacroName \relax
- \let\PrintEnvName \relax
- \def\doc@providetarget{\HD@target}
- \def\doc@handleencap#1{\encapchar hdclindex{\the\c@HD@hypercount}{#1}}
-\else
- \let\doc@providetarget\@empty
- \def\doc@handleencap#1{\encapchar #1}
- \def\hdclindex#1#2{\ifx\@nil#2\@nil\else\csname #2\expandafter\endcsname\fi}
- \def\hdpindex #1{\ifx\@nil#1\@nil\else\csname #1\expandafter\endcsname\fi}
-\fi
-
-
-\ExplSyntaxOn
-
-\long\def\@doc@env#1#2#3{
- \endgroup
- \clist_map_inline:nn {#3} { \@doc@env@{#1}{#2}{##1} }
-}
-
-\ExplSyntaxOff
-\long\def\@doc@env@#1#2#3{%
- \topsep\MacroTopsep
- \trivlist
- \edef\saved@macroname{\string#3}%
- \if #1%
- \edef\saved@indexname{\expandafter\@gobble\saved@macroname}%
- \expandafter\ifx
- \csname Code#2Index\endcsname
- \CodeMacroIndex
- \else
- \record@index@type@save
- {\saved@indexname}{#2}%
- \fi
- \else
- \let\saved@indexname\saved@macroname
- \fi
- \def\makelabel##1{\llap{##1}}%
- \if@inlabel
- \let\@tempa\@empty
- \count@\macro@cnt
- \loop\ifnum\count@>\z@
- \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne
- \repeat
- \edef\makelabel##1{\llap{\vtop to\baselineskip{\@tempa\hbox{##1}\vss}}}%
- \advance\macro@cnt\@ne
- \else
- \macro@cnt\@ne
- \fi
- \ifdoc@noprint
- \item
- \else
- \edef\@tempa{%
- \noexpand\item[%
- \noexpand\doc@providetarget
- \noexpand\strut
- \noexpand\@nameuse{Print#2Name}{\saved@macroname}]}%
- \@tempa
- \fi
- \ifdoc@noindex\else
- \global\advance\c@CodelineNo\@ne
- \csname SpecialMain#2Index\expandafter\endcsname
- \expandafter{\saved@macroname}\nobreak
- \global\advance\c@CodelineNo\m@ne
- \fi
- \if#1\expandafter\DoNotIndex \expandafter {\saved@macroname}\fi
- \ignorespaces}
-
-\def\doc@env#1#2[#3]{%
- \@nameuse{doc@noprint\doc@noprintdefault}%
- \@nameuse{doc@noindex\doc@noindexdefault}%
- \setkeys{doc}{#3}%
- \begingroup
- \ifdoc@outer
- \catcode`\\12
- \fi
- \MakePrivateLetters
- \@doc@env{#1}{#2}%
-}
-
-\def\@doc@describe#1#2{%
- \ifdoc@noprint\else
- \marginpar{\raggedleft
- \strut
- \doc@providetarget
- \@nameuse{PrintDescribe#1}{#2}}%
- \fi
- \ifdoc@noindex\else
- \@nameuse{Special#1Index}{#2}%
- \fi
- \@esphack
- \endgroup
- \ignorespaces}
-\def\doc@describe#1[#2]{%
- \leavevmode\@bsphack
- \setkeys{doc}{#2}%
- \@doc@describe{#1}}
-\@ifundefined{temptokenb}{\newtoks\@temptokenb}{}
-\def\doc@createspecialindexes#1#2#3{%
- \@temptokena{\space (#2)}%
- \@temptokenb{#3:}%
- \@nameedef{SpecialMain#1Index}##1{%
- \noexpand\@bsphack
- \ifdoc@toplevel
- \noexpand\special@index{##1\noexpand\actualchar
- {\string\ttfamily\space##1}%
- \ifx\@nil#2\@nil\else \the\@temptokena \fi
- \noexpand\encapchar main}%
- \fi
- \ifx\@nil#3\@nil\else
- \noexpand\special@index{\the\@temptokenb\noexpand\levelchar
- ##1\noexpand\actualchar{\string\ttfamily\space##1}%
- \noexpand\encapchar main}%
- \fi
- \noexpand\@esphack}%
- \@nameedef{Special#1Index}##1{%
- \noexpand\@bsphack
- \ifdoc@toplevel
- \noexpand\doc@providetarget
- \noexpand\index{##1\noexpand\actualchar{\string\ttfamily\space##1}%
- \ifx\@nil#2\@nil\else \the\@temptokena \fi
- \noexpand\doc@handleencap{usage}}%
- \fi
- \ifx\@nil#3\@nil\else
- \noexpand\index{\the\@temptokenb\noexpand\levelchar
- ##1\noexpand\actualchar{\string\ttfamily\space##1}%
- \noexpand\doc@handleencap{usage}}%
- \fi
- \noexpand\@esphack}}
-\def\doc@createspecialmacrolikeindexes#1#2#3{%
- \@temptokena{\space (#2)}%
- \@temptokenb{#3:}%
- \@nameedef{Code#1Index}##1##2{%
- \noexpand\@SpecialIndexHelper@##2\noexpand\@nil
- \noexpand\@bsphack
- \noexpand\ifdoc@noindex\noexpand\else
- \ifdoc@toplevel
- \noexpand\special@index{\noexpand\@gtempa\noexpand\actualchar
-\string\verb% % to fool emacs highlighting
-\noexpand\quotechar*\noexpand\verbatimchar
-\noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
-\ifx\@nil#2\@nil\else \the\@temptokena \fi
-\noexpand\encapchar ##1}%
- \fi
- \ifx\@nil#3\@nil\else
- \noexpand\special@index{\the\@temptokenb\noexpand\levelchar
-\noexpand\@gtempa\noexpand\actualchar
-\string\verb% % to fool emacs highlighting
-\noexpand\quotechar*\noexpand\verbatimchar
-\noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
-\noexpand\encapchar ##1}%
- \fi
- \noexpand\fi
- \noexpand\@esphack}%
- \@nameedef{SpecialMain#1Index}##1{%
- \expandafter\noexpand\csname Code#1Index\endcsname
- {main}{##1}}%
- \@nameedef{Special#1Index}##1{%
- \noexpand\@SpecialIndexHelper@##1\noexpand\@nil
- \noexpand\@bsphack
- \noexpand\ifdoc@noindex\noexpand\else
- \ifdoc@toplevel
- \noexpand\doc@providetarget
- \noexpand\index{\noexpand\@gtempa\noexpand\actualchar
-\string\verb% % to fool emacs highlighting
-\noexpand\quotechar*\noexpand\verbatimchar
-\noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
-\ifx\@nil#2\@nil\else \the\@temptokena \fi
-\noexpand\doc@handleencap{usage}}%
- \fi
- \ifx\@nil#3\@nil\else
- \noexpand\index{\the\@temptokenb\noexpand\levelchar
-\noexpand\@gtempa\noexpand\actualchar
-\string\verb% % to fool emacs highlighting
-\noexpand\quotechar*\noexpand\verbatimchar
-\noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
-\noexpand\doc@handleencap{usage}}%
- \fi
- \noexpand\fi
- \noexpand\@esphack}}
-
-\def\doc@createdescribe#1{%
- \@namedef{Describe#1}{%
- \begingroup
- \MakePrivateLetters
- \@ifnextchar[%]
- {\doc@describe{#1}}{\doc@describe{#1}[]}}}
-\def\doc@createenv#1#2#3{%
- \@namedef{#3}{%
- \@ifnextchar[%]
- {\doc@env{#1}{#2}}{\doc@env{#1}{#2}[]}}%
- \@namedef{end#3}{\endtrivlist}%
-}
-
-\def\@nameedef#1{\expandafter\edef\csname #1\endcsname}
-
-
-\def\doc@declareerror#1#2{%
- \PackageError{doc}{Doc element '#1/#2' already defined?\@gobble}%
- {There is already a definition for
- '\string\Print#1Name',\MessageBreak
- '\string\PrintDescribe#1'
- or the environment '#2'.\MessageBreak
- Maybe you are overwriting something by mistake!\MessageBreak
- Otherwise use '\string\RenewDocElement' instead.}%
-}
-
-\def\doc@notdeclarederror#1#2{%
- \PackageError{doc}{Doc element '#1/#2' unknown}%
- {I expected an existing definition for
- '\string\Print#1Name',\MessageBreak
- '\string\PrintDescribe#1' and
- the environment '#2' but\MessageBreak
- not all of them are defined.\MessageBreak
- Maybe you wanted to use
- '\string\NewDocElement'?}%
-}
-\newcommand\NewDocElement[3][]{%
- \@ifundefined{Print#2Name}%
- {\@ifundefined{PrintDescribe#2}%
- {\@ifundefined{#3}%
- {\@ifundefined{end#3}%
- {\@NewDocElement{#1}}%
- \doc@declareerror
- }\doc@declareerror
- }\doc@declareerror
- }\doc@declareerror
- {#2}{#3}%
-}
-\newcommand\RenewDocElement[3][]{%
- \@ifundefined{Print#2Name}\doc@notdeclarederror
- {\@ifundefined{PrintDescribe#2}\doc@notdeclarederror
- {\@ifundefined{#3}\doc@notdeclarederror
- {\@ifundefined{end#3}\doc@notdeclarederror
- {\@NewDocElement{#1}}%
- }%
- }%
- }%
- {#2}{#3}%
-}
-\def\@NewDocElement#1#2#3{%
- \doc@macrolikefalse
- \doc@topleveltrue
- \def\doc@idxtype{#3}%
- \def\doc@idxgroup{#3s}%
- \let\doc@printtype\@empty
- \setkeys{doc}{#1}%
- \ifx\doc@printtype\@empty
- \@temptokena{}%
- \else
- \@temptokena\expandafter{\expandafter
- \textnormal\expandafter{\expandafter
- \space\expandafter
- (\doc@printtype)}}%
- \fi
- \@nameedef{Print#2Name}##1{%
- {\noexpand\MacroFont
- \ifdoc@macrolike
- \noexpand\string
- \fi
- ##1%
- \the\@temptokena
- }}%
- \expandafter\let\csname PrintDescribe#2\expandafter\endcsname
- \csname Print#2Name\endcsname
- \edef\doc@expr{%
- \ifdoc@macrolike
- \noexpand\doc@createspecialmacrolikeindexes
- \else
- \noexpand\doc@createspecialindexes
- \fi
- {#2}%
- }%
- \expandafter\expandafter\expandafter
- \doc@expr
- \expandafter\expandafter\expandafter
- {\expandafter\doc@idxtype\expandafter}\expandafter
- {\doc@idxgroup}%
- \doc@createdescribe{#2}%
- \ifdoc@macrolike
- \doc@createenv{TT}{#2}{#3}%
- \else
- \doc@createenv{TF}{#2}{#3}%
- \fi
-}
-
-
-\NewDocElement[macrolike = true ,
- idxtype = ,
- idxgroup = ,
- printtype =
- ]{Macro}{macro}
-
-\def\SpecialMainIndex{\SpecialMainMacroIndex}
-
-\def\SpecialUsageIndex{\SpecialMacroIndex}
-
-\def\SpecialIndex {\CodeMacroIndex{code}}
-
-\NewDocElement[macrolike = false ,
- idxtype = env. ,
- idxgroup = environments ,
- printtype = \textit{env.}
- ]{Env}{environment}
-
-
-\DeclareRobustCommand\cs[1]{\texttt{\bslash #1}}
-
\endinput
%%
-%% End of file `doc-v3beta.sty'.
+%% End of file `doc.sty'.
diff --git a/Master/texmf-dist/tex/latex/base/doc.sty b/Master/texmf-dist/tex/latex/base/doc.sty
index b0fe0860f01..586b35af069 100644
--- a/Master/texmf-dist/tex/latex/base/doc.sty
+++ b/Master/texmf-dist/tex/latex/base/doc.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,15 +42,126 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
- \ProvidesPackage{doc}
- [2021/10/04 v2.1n
- Standard LaTeX documentation package (FMi)]
+
+\providecommand\DeclareRelease[3]{}
+\providecommand\DeclareCurrentRelease[2]{}
+
+\DeclareRelease{v2.1g}{2016-02-15}
+ {doc-2016-02-15.sty}
+\DeclareRelease{v2}{2021-06-01}
+ {doc-2021-06-01.sty}
+\DeclareCurrentRelease{v3}{2022-06-01}
+
+\ProvidesPackage{doc}
+ [2022/06/08 v3.0j
+ Standard LaTeX documentation package V3 (FMi)]
%%
%% Package `doc' to use with LaTeX 2e
-%% Copyright (C) 1989-2020 Frank Mittelbach, all rights reserved.
+%% Copyright (C) 1989-2022 Frank Mittelbach, all rights reserved.
+
+
+
+
+
\@ifundefined{macro@cnt}{}{\endinput}
\catcode`\^^A=14
-\AtBeginDocument{\catcode`\^^A=14\relax}
+\catcode`\^^X=14
+\AtBeginDocument{\catcode`\^^A=14\relax\catcode`\^^X=14\relax}
+\ExplSyntaxOn
+\newif \ifdoc@noprint
+\newif \ifdoc@noindex
+\newif \ifdoc@hyperref \doc@hyperreftrue
+\newif \ifdoc@multicol \doc@multicoltrue
+\newif \ifdoc@debugshow
+\newif \ifdoc@reportchangedates
+\keys_define:nn {doc}
+ {
+ noprint .choice:,
+ noprint / true .code:n = { \legacy_if_set_true:n { doc@noprint } },
+ noprint / false .code:n = { \legacy_if_set_false:n { doc@noprint } },
+ noprint .default:n = { true },
+ noindex .choice:,
+ noindex / true .code:n = { \legacy_if_set_true:n { doc@noindex } },
+ noindex / false .code:n = { \legacy_if_set_false:n { doc@noindex } },
+ noindex .default:n = { true },
+ hyperref .choice:,
+ hyperref / true .code:n = { \legacy_if_set_true:n { doc@hyperref } },
+ hyperref / false .code:n = { \legacy_if_set_false:n { doc@hyperref } },
+ hyperref .default:n = { true },
+ nohyperref .choice:,
+ nohyperref / true .code:n = { \legacy_if_set_false:n { doc@hyperref } },
+ nohyperref / false .code:n = { \legacy_if_set_true:n { doc@hyperref } },
+ nohyperref .default:n = { true },
+ multicol .choice:,
+ multicol / true .code:n = { \legacy_if_set_true:n { doc@multicol } },
+ multicol / false .code:n = { \legacy_if_set_false:n { doc@multicol } },
+ multicol .default:n = { true },
+ nomulticol .choice:,
+ nomulticol / true .code:n = { \legacy_if_set_false:n { doc@multicol } },
+ nomulticol / false .code:n = { \legacy_if_set_true:n { doc@multicol } },
+ nomulticol .default:n = { true },
+ debugshow .choice:,
+ debugshow / true .code:n = { \legacy_if_set_true:n { doc@debugshow } },
+ debugshow / false .code:n = { \legacy_if_set_false:n { doc@debugshow } },
+ debugshow .default:n = { true },
+ reportchangedates .choice:,
+ reportchangedates / true .code:n = { \legacy_if_set_true:n { doc@reportchangedates } },
+ reportchangedates / false .code:n = { \legacy_if_set_false:n { doc@reportchangedates } },
+ reportchangedates .default:n = { true },
+ }
+\newif \ifdoc@toplevel \doc@topleveltrue
+\keys_define:nn {doc}
+ {
+ toplevel .choice:,
+ toplevel / true .code:n = { \legacy_if_set_true:n { doc@toplevel } },
+ toplevel / false .code:n = { \legacy_if_set_false:n { doc@toplevel } },
+ toplevel .default:n = { true },
+ notoplevel .choice:,
+ notoplevel / true .code:n = { \legacy_if_set_false:n { doc@toplevel } },
+ notoplevel / false .code:n = { \legacy_if_set_true:n { doc@toplevel } },
+ notoplevel .default:n = { true }
+ }
+\newif \ifdoc@macrolike
+\keys_define:nn {doc}
+ {
+ macrolike .choice:,
+ macrolike / true .code:n = { \legacy_if_set_true:n { doc@macrolike } },
+ macrolike / false .code:n = { \legacy_if_set_false:n { doc@macrolike } },
+ macrolike .default:n = { true },
+ envlike .choice:,
+ envlike / true .code:n = { \legacy_if_set_false:n { doc@macrolike } },
+ envlike / false .code:n = { \legacy_if_set_true:n { doc@macrolike } },
+ envlike .default:n = { true }
+ }
+
+\keys_define:nn { doc }
+ {
+ idxtype .tl_set:N = \doc@idxtype,
+ idxgroup .tl_set:N = \doc@idxgroup,
+ printtype .tl_set:N = \doc@printtype
+ }
+\newif\ifdoc@outer
+\keys_define:nn {doc}
+ {
+ outer .choice:,
+ outer / true .code:n = { \legacy_if_set_true:n { doc@outer } },
+ outer / false .code:n = { \legacy_if_set_false:n { doc@outer } },
+ outer .default:n = { true },
+ }
+\ExplSyntaxOff
+\ProcessKeyOptions
+\newif\ifscan@allowed \scan@allowedtrue
+\def\SetupDoc#1{%
+ \csname keys_set:nn\endcsname{doc}{#1}%
+ \edef\doc@noprintdefault{\ifdoc@noprint true\else false\fi}%
+ \ifdoc@noindex
+ \def\doc@noindexdefault{true}%
+ \scan@allowedfalse
+ \else
+ \def\doc@noindexdefault{false}%
+ \fi
+}
+\SetupDoc{} % just save the default values
\def\macrocode{\macro@code
\frenchspacing \@vobeyspaces
\xmacro@code}
@@ -181,6 +292,7 @@
\endgroup
\newcounter{StandardModuleDepth}
\newcount \guard@level
+
\@ifundefined{Module}{%
\def\Module#1{\mod@math@codes$\langle\mathsf{#1}\rangle$}
}{}
@@ -229,18 +341,10 @@
|endgroup
!% \end{macrocode}
\catcode`\!=12
-\def\DescribeMacro{\leavevmode\@bsphack
- \begingroup\MakePrivateLetters\Describe@Macro}
-\def\Describe@Macro#1{\endgroup
- \marginpar{\raggedleft\PrintDescribeMacro{#1}}%
- \SpecialUsageIndex{#1}\@esphack\ignorespaces}
-\def\DescribeEnv{\leavevmode\@bsphack\begingroup\MakePrivateLetters
- \Describe@Env}
-\def\Describe@Env#1{\endgroup
- \marginpar{\raggedleft\PrintDescribeEnv{#1}}%
- \SpecialEnvIndex{#1}\@esphack\ignorespaces}
+
\reversemarginpar
\setlength\marginparpush{0pt} \setlength\marginparwidth{8pc}
+\setlength\marginparsep{\labelsep}
{\catcode`\|=\z@ \catcode`\\=12
|gdef|bslash{\}}
\def\verbatim{\@beginparpenalty \predisplaypenalty \@verbatim
@@ -267,14 +371,12 @@
\ttfamily \verb@eol@error \let\do\@makeother \dospecials
\@ifstar{\@sverb}{\@vobeyspaces \frenchspacing \@sverb}}
\let\verb@balance@group\@empty
-
\def\verb@egroup{\global\let\verb@balance@group\@empty\egroup}
-
\begingroup
\obeylines%
\gdef\verb@eol@error{\obeylines%
\def^^M{\verb@egroup\@latex@error{%
- \noexpand\verb ended by end of line}\@ehc}}%
+ \noexpand\verb command ended by end of line}\@ehc}}%
\endgroup
\def\verbatim@nolig@list{\do\`\do\<\do\>\do\,\do\'\do\-}
\def\do@noligs#1{%
@@ -283,56 +385,7 @@
\lccode`\~=`#1\relax
\lowercase{\endgroup\def~{\leavevmode\kern\z@\char`#1}}}
\newcount\macro@cnt \macro@cnt=0
-\def\macro{\begingroup
- \catcode`\\12
- \MakePrivateLetters \m@cro@ \iftrue}
-\def\environment{\begingroup
- \catcode`\\12
- \MakePrivateLetters \m@cro@ \iffalse}
-\long\def\m@cro@#1#2{\endgroup \topsep\MacroTopsep \trivlist
- \edef\saved@macroname{\string#2}%
- #1
- \let\saved@indexname\saved@macroname
- \else
- \edef\saved@indexname{\expandafter\@gobble\string#2}%
- \fi
- \def\makelabel##1{\llap{##1}}%
- \if@inlabel
- \let\@tempa\@empty \count@\macro@cnt
- \loop \ifnum\count@>\z@
- \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne \repeat
- \edef\makelabel##1{\llap{\vtop to\baselineskip
- {\@tempa\hbox{##1}\vss}}}%
- \advance \macro@cnt \@ne
- \else \macro@cnt\@ne \fi
- \edef\@tempa{\noexpand\item[%
- #1%
- \noexpand\PrintMacroName
- \else
- \noexpand\PrintEnvName
- \fi
- {\string#2}]}%
- \@tempa
- \global\advance\c@CodelineNo\@ne
- #1%
- \SpecialMainIndex{#2}\nobreak
- \DoNotIndex{#2}%
- \else
- \SpecialMainEnvIndex{#2}\nobreak
- \fi
- \global\advance\c@CodelineNo\m@ne
- \ignorespaces}
-\let\endmacro \endtrivlist
-\let\endenvironment\endmacro
\newskip\MacroTopsep \MacroTopsep = 7pt plus 2pt minus 2pt
-\@ifundefined{PrintMacroName}
- {\def\PrintMacroName#1{\strut \MacroFont \string #1\ }}{}
-\@ifundefined{PrintDescribeMacro}
- {\def\PrintDescribeMacro#1{\strut \MacroFont \string #1\ }}{}
-\@ifundefined{PrintDescribeEnv}
- {\def\PrintDescribeEnv#1{\strut \MacroFont #1\ }}{}
-\@ifundefined{PrintEnvName}
- {\def\PrintEnvName#1{\strut \MacroFont #1\ }}{}
\begingroup
\catcode`\~\active
\gdef\SpecialEscapechar#1{%
@@ -360,7 +413,6 @@
\def\next{\futurelet\next\macro@switch}%
\else \let\next\@empty \fi
\next}
-\newif\ifscan@allowed \scan@allowedtrue
\def\DisableCrossrefs{\@bsphack\scan@allowedfalse\@esphack}
\def\EnableCrossrefs{\@bsphack\scan@allowedtrue
\def\DisableCrossrefs{\@bsphack\@esphack}\@esphack}
@@ -374,24 +426,10 @@
\uccode`\&=\expandafter`\string#1%
\uppercase{\def\x{\def\macro@namepart{&}}}%
\expandafter\endgroup\x
- \ifnot@excluded
- \produce@index{#1}\fi
+ \maybe@index@short@macro\macro@namepart
\scan@allowedfalse#1%
\scan@allowedtrue }
\endgroup
-\def\produce@index#1{%
- \if\noexpand#1\special@escape@char
- \scan@allowedfalse \it@is@a\special@escape@char \else
- \if\noexpand#1\bslash \it@is@a\bslash \else
- \if\noexpand#1\space \it@is@a\space \else
- \ifx#1\par
- \it@is@a\space \else
- \ifx#1\relax \else
- \if\noexpand#1\bgroup \LeftBraceIndex \else
- \if\noexpand#1\egroup \RightBraceIndex \else
- \if\noexpand#1\percentchar \PercentIndex \else
- \it@is@a{\string#1}%
- \fi \fi \fi \fi \fi \fi \fi \fi}
\def\macro@name#1{\edef\macro@namepart{\macro@namepart#1}%
\futurelet\next\more@macroname}
\def\more@macroname{\ifcat\noexpand\next a%
@@ -400,41 +438,166 @@
\next}
\def\macro@finish{%
\macro@namepart
- \ifnot@excluded
- \edef\@tempa{\noexpand\SpecialIndex{\bslash\macro@namepart}}%
- \@tempa \fi}
-\def\DoNotIndex{\begingroup \MakePrivateLetters
- \catcode`\\12
- \do@not@index}
-\long\def\do@not@index#1{%
- \endgroup
- \addto@hook\index@excludelist{#1,}}
-\long\def\addto@hook#1#2{#1\expandafter{\the#1#2}}
-\newtoks\index@excludelist
-\index@excludelist{}
-\begingroup
-\catcode`\|=0%
-\catcode`\\=12
-|gdef|ifnot@excluded{|expandafter
- |expanded@notin|expandafter{|expandafter
- \|macro@namepart,}{|the|index@excludelist}}
-|endgroup
-\def\expanded@notin#1#2{%
- \def\in@@##1#1##2##3\in@@{%
- \ifx\expanded@notin##2}%
- \expandafter\in@@#2#1\expanded@notin\in@@}
+ \maybe@index@macro \macro@namepart
+}
+
+\ExplSyntaxOn
+\seq_new:N \l__doc_donotindex_seq
+\prop_new:N \g__doc_idxtype_prop
+\cs_new:Npn\__doc_trace:x {
+ \legacy_if:nTF{ doc@debugshow }{ \iow_term:x } { \use_none:n }
+}
+\cs_new:Npn \doc_dont_index:n {
+ \group_begin:
+ \MakePrivateLetters
+ \__doc_dont_index:n
+}
+\cs_new:Npn \__doc_dont_index:n #1 {
+ \group_end:
+ \__doc_trace:x{Disable~ indexing~ for~ '\tl_to_str:n{#1}' }
+ \clist_map_function:nN {#1} \__doc_dont_index_aux:n
+}
+\cs_new:Npn \__doc_dont_index_aux:n #1 {
+ \seq_put_right:Nx \l__doc_donotindex_seq {\expandafter\@gobble \string#1}
+}
+\cs_set_eq:NN \DoNotIndex \doc_dont_index:n
+\def \ShowIndexingState {
+ \__doc_trace:x{Show~ doc~ indexing~ state:}
+ \seq_show:N \l__doc_donotindex_seq
+ \prop_show:N \g__doc_idxtype_prop
+}
+
+\cs_new:Npn \__doc_idxtype_put:Nn #1#2 {
+ \exp_args:Nx \__doc_idxtype_put:nn { \cs_to_str:N #1 }{#2}
+ \protected@write\@auxout{}
+ {\string\RecordIndexTypeAux {\string#1 }{#2} }
+}
+\cs_new:Npn \RecordIndexTypeAux #1#2 {
+ \exp_args:Nx \__doc_idxtype_put:nn { \cs_to_str:N #1 }{#2}
+}
+\AtEndDocument{
+ \cs_set_eq:NN \RecordIndexTypeAux \use_none:nn
+}
+\cs_set_eq:NN \RecordIndexType \__doc_idxtype_put:Nn
+\cs_new:Npn \__doc_idxtype_put_scan:nn #1#2 {
+ \exp_args:Nf \__doc_idxtype_put:nn { \tl_to_str:n {#1} }{#2}
+ \protected@write\@auxout{}
+ {\string\RecordIndexTypeAux {\bslash #1 }{#2} }
+}
+\cs_generate_variant:Nn \__doc_idxtype_put_scan:nn {o}
+\cs_set_eq:NN \record@index@type@save \__doc_idxtype_put_scan:on
+\cs_new:Npn \__doc_idxtype_put:nn #1#2 {
+ \exp_args:NNf
+ \seq_if_in:NnTF \l__doc_donotindex_seq {\tl_to_str:n{#1}}
+ {
+ \__doc_trace:x{Not~ recording~ index~ type~ for~ '\bslash #1' }
+ }
+ {
+ \__doc_trace:x{Recording~ index~ type~ for~ '\bslash #1' ~ as~ #2 }
+ \prop_gput:Nnn \g__doc_idxtype_prop {#1}{#2}
+ }
+}
+\cs_new:Npn \exp_args:co #1#2
+ { \cs:w #1 \exp_after:wN \cs_end:\exp_after:wN {#2} }
+\cs_generate_variant:Nn \tl_to_str:n {o}
+
+\cs_new:Npn \__doc_maybe_index:o #1 {
+ \exp_args:Nf \__doc_maybe_index_aux:nN { \tl_to_str:o {#1} }
+ \SpecialIndex
+}
+\cs_set_eq:NN \maybe@index@macro \__doc_maybe_index:o
+\cs_new:Npn \__doc_maybe_index_short:o #1 {
+ \exp_args:Nf \__doc_maybe_index_aux:nN { \tl_to_str:o {#1} }
+ \SpecialShortIndex
+}
+\cs_set_eq:NN \maybe@index@short@macro \__doc_maybe_index_short:o
+\cs_new:Npn \__doc_maybe_index_aux:nN #1#2 {
+ \__doc_trace:x{Searching~ for~ '\bslash #1'}
+ \seq_if_in:NnTF \l__doc_donotindex_seq {#1}
+ {
+ \__doc_trace:x{Not~ indexing~ '\bslash #1' }
+ }
+ {
+ \prop_get:NnNTF \g__doc_idxtype_prop {#1} \l__doc_idxtype_tl
+ {
+ \exp_args:Ncno \__doc_maybe_index_aux:Nnn
+ { Code \tl_use:N \l__doc_idxtype_tl Index }
+ {code} {\bslash #1}
+ }
+ {
+ \__doc_trace:x{Indexing~ '\bslash #1'\space (\string #2)}
+ \exp_args:No #2 {\bslash #1}
+ }
+ }
+}
+\cs_new:Npn \SpecialShortIndex #1 {
+ \@SpecialIndexHelper@ #1\@nil
+ \@bsphack
+ \ifdoc@noindex \else
+ \str_case_e:nnF {\@gtempa }
+ {
+ {\cs_to_str:N \^^M } {\def\reserved@a{ \string \space \actualchar }
+ \def\reserved@b { \space }
+ \let\reserved@c \@empty }
+ { } {\def\reserved@a{ \string \space \actualchar }
+ \def\reserved@b { \space }
+ \let\reserved@c \@empty }
+ {\c_left_brace_str} { \def\reserved@a{ \bgroup \actualchar }
+ \def\reserved@b { \c_left_brace_str }
+ \def\reserved@c { \noexpand\iffalse
+ \c_right_brace_str
+ \noexpand\fi } }
+ {\c_right_brace_str} { \def\reserved@a{ \egroup \actualchar
+ \noexpand\iffalse
+ \c_left_brace_str
+ \noexpand\fi }
+ \def\reserved@b { \c_right_brace_str }
+ \let\reserved@c \@empty }
+ {\verbatimchar} { \def\reserved@a{ \quotechar\verbatimchar
+ \actualchar }
+ \let\reserved@b \@empty
+ \def\reserved@c
+ { \string\texttt{\string\string\verbatimchar} } }
+ }
+ { \def\reserved@a {\quotechar \@gtempa \actualchar }
+ \def\reserved@b {\quotechar \@gtempa }
+ \let\reserved@c \@empty }
+ \special@index {
+ \reserved@a
+ \string\verb
+ \quotechar *\verbatimchar \quotechar \bslash
+ \reserved@b
+ \verbatimchar
+ \reserved@c
+ \encapchar code}
+ \fi
+ \@esphack
+}
+
+\cs_new:Npn \__doc_maybe_index_aux:Nnn #1#2#3 {
+ \cs_if_exist:NTF #1
+ {
+ \__doc_trace:x{Indexing~ '#3'\space as~
+ \tl_use:N \l__doc_idxtype_tl }
+ #1{#2}{#3}
+ }
+ {
+ \PackageError{doc}{Doc~ element~
+ '\tl_use:N \l__doc_idxtype_tl'~ unknown}%
+
+ {When~ using~ '\string\RecordIndexType'~ the~ type~ must~
+ be~ known~\MessageBreak
+ to~ the~ system,~ i.e.,~ declared~ via~
+ '\string\NewDocElement'\MessageBreak
+ before~ it~ can~ be~ used~ in~ indexing.}
+ }
+}
+\ExplSyntaxOff
\@ifundefined{actualchar}{\def\actualchar{=}}{}
\@ifundefined{quotechar}{\def\quotechar{!}}{}
\@ifundefined{levelchar}{\def\levelchar{>}}{}
\@ifundefined{encapchar}{\def\encapchar{|}}{}
\@ifundefined{verbatimchar}{\def\verbatimchar{+}}{}
-\def\SpecialIndex#1{\@bsphack\special@index{\expandafter\@gobble
- \string#1\actualchar
- \string\verb\quotechar*\verbatimchar\string#1\verbatimchar}%
- \@esphack}
-
-\def\SpecialMainIndex#1{\@bsphack\SpecialIndex@{#1}{\encapchar main}%
- \@esphack}
\begingroup
\catcode`\|=0
\catcode`\\=12
@@ -448,75 +611,43 @@
|endgroup
|fi}
|endgroup
-\def\SpecialIndex@#1#2{%
- \@SpecialIndexHelper@#1\@nil
- \def\@tempb{ }%
- \ifcat \@tempb\@gtempa
- \special@index{\quotechar\space\actualchar
- \string\verb\quotechar*\verbatimchar
- \quotechar\bslash\quotechar\space\verbatimchar#2}%
- \else
- \def\@tempb##1##2\relax{\ifx\relax##2\relax
- \def\@tempc{\special@index{\quotechar##1\actualchar
- \string\verb\quotechar*\verbatimchar
- \quotechar\bslash\quotechar##1\verbatimchar#2}}%
- \else
- \def\@tempc{\special@index{##1##2\actualchar
- \string\verb\quotechar*\verbatimchar
- \bslash##1##2\verbatimchar#2}}%
- \fi}%
- \expandafter\@tempb\@gtempa\relax
- \@tempc
- \fi}
-\def\SpecialMainEnvIndex#1{\@bsphack\special@index{%
- #1\actualchar
- {\string\ttfamily\space#1}
- (environment)%
- \encapchar main}%
- \special@index{environments:\levelchar#1\actualchar{%
- \string\ttfamily\space#1}\encapchar
- main}\@esphack}
-\def\SpecialUsageIndex#1{\@bsphack
- {\let\special@index\index\SpecialIndex@{#1}{\encapchar usage}}%
- \@esphack}
-\def\SpecialEnvIndex#1{\@bsphack
- \index{#1\actualchar{\protect\ttfamily#1}
- (environment)\encapchar usage}%
- \index{environments:\levelchar#1\actualchar
- {\protect\ttfamily#1}\encapchar usage}\@esphack}
-\def\SortIndex#1#2{\index{#1\actualchar#2}}
-\def\it@is@a#1{\special@index{\quotechar #1\actualchar
- \string\verb\quotechar*\verbatimchar
- \quotechar\bslash\quotechar#1\verbatimchar}}
+\def\SortIndex#1#2{%
+ \ifdoc@noindex\else
+ \index{#1\actualchar#2}%
+ \fi
+}
\@ifundefined{LeftBraceIndex}{\def\LeftBraceIndex{%
- \special@index{\bgroup\actualchar\string\verb\quotechar*\verbatimchar
- \quotechar\bslash{\verbatimchar\string\iffalse}\string\fi}}}{}
+ \special@index{\bgroup\actualchar
+ \string\verb% % to fool emacs highlighting
+ \quotechar*\verbatimchar
+ \quotechar\bslash{\verbatimchar\string\iffalse}\string\fi}}}{}
\@ifundefined{RightBraceIndex}{\def\RightBraceIndex{%
- \special@index{\egroup\actualchar\string\iffalse{\string\fi\string\verb
+ \special@index{\egroup\actualchar\string\iffalse{\string\fi
+ \string\verb% % to fool emacs highlighting
\quotechar*\verbatimchar\quotechar\bslash}\verbatimchar}}}{}
\@ifundefined{PercentIndex}
{\def\PercentIndex{\it@is@a\percentchar}}{}
\def\OldMakeindex{\def\PercentIndex{%
- \special@index{\quotechar\percentchar\actualchar\string\verb
+ \special@index{\quotechar\percentchar\actualchar
+ \string\verb% % to fool emacs highlighting
\quotechar*\verbatimchar\quotechar\bslash
\percentchar\percentchar\verbatimchar}}}
{\catcode`\%=12 \gdef\percentchar{%}}
-\newif\ifhave@multicol
-\IfFileExists{multicol.sty}{\have@multicoltrue
- \RequirePackage{multicol}%
- }{}
+\def\it@is@a#1{\special@index{\quotechar #1\actualchar
+ \string\verb% % to fool emacs highlighting
+ \quotechar*\verbatimchar
+ \quotechar\bslash\quotechar#1\verbatimchar}}
\newdimen\IndexMin \IndexMin = 80pt
\newcount\c@IndexColumns \c@IndexColumns = 3
-\ifhave@multicol
+\ifdoc@multicol
+ \RequirePackage{multicol}
\renewenvironment{theindex}
{\begin{multicols}\c@IndexColumns[\index@prologue][\IndexMin]%
\IndexParms \let\item\@idxitem \ignorespaces}%
{\end{multicols}}
\else
- \typeout{Can't find multicol.sty -- will use normal index layout if
- necessary.}
\def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
\columnseprule \z@ \columnsep 35\p@
\twocolumn[\index@prologue]%
@@ -556,32 +687,38 @@
\def\indexspace{\par\vspace{10pt plus 2pt minus 3pt}}%
}}{}
\def\efill{\hfill\nopagebreak}%
-\def\dotfill{\leaders\hbox to.6em{\hss .\hss}\hskip\z@ plus 1fill\kern\z@}%
-\def\dotfil{\leaders\hbox to.6em{\hss .\hss}\hfil\kern\z@}%
-\def\pfill{\unskip~\dotfill\penalty500\strut\nobreak
- \dotfil~\ignorespaces}%
+\def\pfill{\unskip~%
+ \leaders\hbox to.6em{\hss .\hss}\hfill
+ \penalty500\strut\nobreak
+ \leaders\hbox to.6em{\hss .\hss}\hfil
+ ~\ignorespaces}%
\def\*{\leavevmode\lower.8ex\hbox{$\,\widetilde{\ }\,$}}
\@ifundefined{main}{\def\main#1{\underline{#1}}}{}
\@ifundefined{usage}{\def\usage#1{\textit{#1}}}{}
+\@ifundefined{code}{\def\code#1{#1}}{}
\def\PrintIndex{\@input@{\jobname.ind}%
\global\let\PrintIndex\@empty}
\def\changes{\@bsphack\begingroup\@sanitize
\catcode`\\\z@ \catcode`\ 10 \MakePercentIgnore
\changes@}
\def\changes@#1#2#3{%
- \protected@edef\@tempa{\noexpand\glossary{#1\levelchar
- \ifx\saved@macroname\@empty
- \space
- \actualchar
- \generalname
- \else
- \saved@indexname
- \actualchar
- \string\verb\quotechar*%
- \verbatimchar\saved@macroname
- \verbatimchar
- \fi
- :\levelchar #3}}%
+ \protected@edef\@tempa{\noexpand\glossary{#1%
+ \ifdoc@reportchangedates
+ \space -- #2\fi
+ \levelchar
+ \ifx\saved@macroname\@empty
+ \quotechar!%
+ \actualchar
+ \generalname
+ \else
+ \saved@indexname
+ \actualchar
+ \string\verb% % to fool emacs highlighting
+ \quotechar*%
+ \verbatimchar\saved@macroname
+ \verbatimchar
+ \fi
+ :\levelchar #3}}%
\@tempa\endgroup\@esphack}
\def\saved@macroname{}
\def\saved@indexname{}
@@ -589,7 +726,7 @@
\let\RecordChanges\makeglossary
\newdimen\GlossaryMin \GlossaryMin = 80pt
\newcount\c@GlossaryColumns \c@GlossaryColumns = 2
-\ifhave@multicol
+\ifdoc@multicol
\newenvironment{theglossary}{%
\begin{multicols}\c@GlossaryColumns
[\glossary@prologue][\GlossaryMin]%
@@ -618,15 +755,16 @@
\def\PrintChanges{\@input@{\jobname.gls}%
\global\let\PrintChanges\@empty}
\newcommand\AlsoImplementation{%
- \long\def\StopEventually##1{\@bsphack\gdef\Finale{##1%
+ \long\def\MaybeStop##1{\@bsphack\gdef\Finale{##1%
\check@checksum}%
\init@checksum
\@esphack}%
}
\AlsoImplementation
-\def\OnlyDescription{\@bsphack\long\def\StopEventually##1{%
+\def\OnlyDescription{\@bsphack\long\def\MaybeStop##1{%
##1\endinput}\@esphack}
\let\Finale\relax
+\def\StopEventually{\MaybeStop}
\ifx\l@nohyphenation\undefined
\newlanguage\l@nohyphenation
\fi
@@ -682,13 +820,20 @@
\endgroup
\global\catcode`#1\active
\else
- \@shortvrbinfo\@empty{#1 already}{\@empty\verb(*)}%
+ \@shortvrbinfo\@empty{#1 already}%
+ {\@empty\verb% % to fool emacs highlighting
+ (*)}%
\fi}
\def\DeleteShortVerb#1{%
\expandafter\ifx\csname cc\string#1\endcsname\relax
- \@shortvrbinfo\@empty{#1 not}{\@empty\verb(*)}%
+ \@shortvrbinfo\@empty{#1 not}%
+ {\@empty\verb% % to fool emacs highlighting
+ (*)}%
\else
- \@shortvrbinfo{Deleted }{#1 as}{\@empty\verb(*)}%
+ \@shortvrbinfo{Deleted }{#1 as}%
+ {\@empty\verb% % to fool emacs
+ % highlighting
+ (*)}%
\rem@special{#1}%
\global\catcode`#1\csname cc\string#1\endcsname
\global \expandafter\let \csname cc\string#1\endcsname \relax
@@ -718,10 +863,6 @@
\ifnum`#1=`##1 \else \noexpand\@makeother\noexpand##1\fi}%
\xdef\@sanitize{\@sanitize}%
\endgroup}
-\def\MakeShortverb{\typeout{*** Switch to \noexpand\MakeShortVerb
- syntax, this is obsolete ***}\MakeShortVerb}
-\def\DeleteShortverb{\typeout{*** Switch to \noexpand\DeleteShortVerb
- syntax, this is obsolete ***}\DeleteShortVerb}
\def\init@checksum{\relax
\global\bslash@cnt\z@}
\def\check@checksum{\relax
@@ -787,9 +928,13 @@
\newif\ifcodeline@index \codeline@indexfalse
\let\CodelineNumbered\codeline@indextrue
\def\codeline@wrindex#1{\if@filesw
+ \begingroup
+ \set@display@protect
\immediate\write\@indexfile
{\string\indexentry{#1}%
- {\number\c@CodelineNo}}\fi}
+ {\number\c@CodelineNo}}%
+ \endgroup
+ \fi}
\let\special@index = \@gobble
\def\CodelineIndex{\makeindex
\codeline@indextrue
@@ -833,6 +978,353 @@
\def\fileinfo{##3}}%
\edef\@tempa{\csname ver@#1\endcsname}%
\expandafter\@tempb\@tempa\relax? ? \relax\relax}
+
+\AddToHook{begindocument/before}[doc/hyperref]{%
+ \ifdoc@hyperref
+ \expandafter\let\expandafter\doc@eoph@@k\csname doc.sty-h@@k\endcsname
+ \RequirePackage{hypdoc}
+ \expandafter\let\csname doc.sty-h@@k\endcsname\doc@eoph@@k
+ \let\PrintDescribeMacro \@@PrintDescribeMacro
+ \let\PrintDescribeEnv \@@PrintDescribeEnv
+ \let\PrintMacroName \@@PrintMacroName
+ \let\PrintEnvName \@@PrintEnvName
+ \let\SpecialUsageIndex \@@SpecialUsageIndex
+ \let\SpecialEnvIndex \@@SpecialEnvIndex
+ \let\SortIndex \@@SortIndex
+ \let\DescribeMacro \@@DescribeMacro
+ \let\DescribeEnv \@@DescribeEnv
+ \ifx\special@index\@gobble % do we write index entries at all?
+ \else
+ \ifcodeline@index
+ \let\special@index\HD@codeline@wrindex
+ \else
+ \let\special@index\HD@page@wrindex
+ \fi
+ \fi
+ \AddToHook{class/amsdtx/after}{%
+ \pdfstringdefDisableCommands{\let\env\@empty }}%
+ \def\doc@providetarget{\HD@target}%
+ \def\doc@handleencap#1{\encapchar hdclindex{\the\c@HD@hypercount}{#1}}%
+ \else
+ \let\doc@providetarget\@empty
+ \def\doc@handleencap#1{\encapchar #1}%
+ \def\hdclindex#1#2{\ifx\@nil#2\@nil\else\csname #2\expandafter\endcsname\fi}%
+ \def\hdpindex #1{\ifx\@nil#1\@nil\else\csname #1\expandafter\endcsname\fi}%
+\fi
+}
+
+\ExplSyntaxOn
+\long\def\@doc@env#1#2#3{
+ \endgroup
+ \clist_map_inline:nn {#3} { \@doc@env@{#1}{#2}{##1} }
+}
+
+\ExplSyntaxOff
+\long\def\@doc@env@#1#2#3{%
+ \topsep\MacroTopsep
+ \trivlist
+ \edef\saved@macroname{\string#3}%
+ \if #1%
+ \edef\saved@indexname{\expandafter\@gobble\saved@macroname}%
+ \expandafter\ifx
+ \csname Code#2Index\endcsname
+ \CodeMacroIndex
+ \else
+ \record@index@type@save
+ {\saved@indexname}{#2}%
+ \fi
+ \else
+ \let\saved@indexname\saved@macroname
+ \fi
+ \def\makelabel##1{\llap{##1}}%
+ \if@inlabel
+ \let\@tempa\@empty
+ \count@\macro@cnt
+ \loop\ifnum\count@>\z@
+ \edef\@tempa{\@tempa\hbox{\strut}}\advance\count@\m@ne
+ \repeat
+ \edef\makelabel##1{\llap{\vtop to\baselineskip{\@tempa\hbox{##1}\vss}}}%
+ \advance\macro@cnt\@ne
+ \else
+ \macro@cnt\@ne
+ \fi
+ \ifdoc@noprint
+ \item
+ \else
+ \edef\@tempa{%
+ \noexpand\item[%
+ \noexpand\doc@providetarget
+ \noexpand\strut
+ \noexpand\@nameuse{Print#2Name}{\saved@macroname}]}%
+ \@tempa
+ \fi
+ \ifdoc@noindex\else
+ \global\advance\c@CodelineNo\@ne
+ \csname SpecialMain#2Index\expandafter\endcsname
+ \expandafter{\saved@macroname}\nobreak
+ \global\advance\c@CodelineNo\m@ne
+ \fi
+ \if#1\expandafter\DoNotIndex \expandafter {\saved@macroname}\fi
+ \ignorespaces}
+\def\doc@env#1#2[#3]{%
+ \@nameuse{doc@noprint\doc@noprintdefault}%
+ \@nameuse{doc@noindex\doc@noindexdefault}%
+ \csname keys_set:nn\endcsname{doc}{#3}%
+ \begingroup
+ \ifdoc@outer
+ \catcode`\\12
+ \fi
+ \MakePrivateLetters
+ \@doc@env{#1}{#2}%
+}
+
+\def\@doc@describe#1#2{%
+ \ifdoc@noprint\else
+ \marginpar{\raggedleft
+ \strut
+ \doc@providetarget
+ \@nameuse{PrintDescribe#1}{#2}}%
+ \fi
+ \ifdoc@noindex\else
+ \@nameuse{Special#1Index}{#2}%
+ \fi
+ \@esphack
+ \endgroup
+ \ignorespaces}
+\def\doc@describe#1[#2]{%
+ \leavevmode\@bsphack
+ \csname keys_set:nn\endcsname{doc}{#2}%
+ \@doc@describe{#1}}
+\@ifundefined{temptokenb}{\newtoks\@temptokenb}{}
+\def\doc@createspecialindexes#1#2#3{%
+ \@temptokena{\space (#2)}%
+ \@temptokenb{#3:}%
+ \@nameedef{SpecialMain#1Index}##1{%
+ \noexpand\@bsphack
+ \ifdoc@toplevel
+ \noexpand\special@index{##1\noexpand\actualchar
+ {\string\ttfamily\space##1}%
+ \ifx\@nil#2\@nil\else \the\@temptokena \fi
+ \noexpand\encapchar main}%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\special@index{\the\@temptokenb\noexpand\levelchar
+ ##1\noexpand\actualchar{\string\ttfamily\space##1}%
+ \noexpand\encapchar main}%
+ \fi
+ \noexpand\@esphack}%
+ \@nameedef{Special#1Index}##1{%
+ \noexpand\@bsphack
+ \ifdoc@toplevel
+ \noexpand\doc@providetarget
+ \noexpand\index{##1\noexpand\actualchar{\string\ttfamily\space##1}%
+ \ifx\@nil#2\@nil\else \the\@temptokena \fi
+ \noexpand\doc@handleencap{usage}}%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\index{\the\@temptokenb\noexpand\levelchar
+ ##1\noexpand\actualchar{\string\ttfamily\space##1}%
+ \noexpand\doc@handleencap{usage}}%
+ \fi
+ \noexpand\@esphack}}
+\def\doc@createspecialmacrolikeindexes#1#2#3{%
+ \@temptokena{\space (#2)}%
+ \@temptokenb{#3:}%
+ \@nameedef{Code#1Index}##1##2{%
+ \noexpand\@SpecialIndexHelper@##2\noexpand\@nil
+ \noexpand\@bsphack
+ \noexpand\ifdoc@noindex\noexpand\else
+ \ifdoc@toplevel
+ \noexpand\special@index{\noexpand\@gtempa\noexpand\actualchar
+\string\verb% % to fool emacs highlighting
+\noexpand\quotechar*\noexpand\verbatimchar
+\noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+\ifx\@nil#2\@nil\else \the\@temptokena \fi
+\noexpand\encapchar ##1}%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\special@index{\the\@temptokenb\noexpand\levelchar
+\noexpand\@gtempa\noexpand\actualchar
+\string\verb% % to fool emacs highlighting
+\noexpand\quotechar*\noexpand\verbatimchar
+\noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+\noexpand\encapchar ##1}%
+ \fi
+ \noexpand\fi
+ \noexpand\@esphack}%
+ \@nameedef{SpecialMain#1Index}##1{%
+ \expandafter\noexpand\csname Code#1Index\endcsname
+ {main}{##1}}%
+ \@nameedef{Special#1Index}##1{%
+ \noexpand\@SpecialIndexHelper@##1\noexpand\@nil
+ \noexpand\@bsphack
+ \noexpand\ifdoc@noindex\noexpand\else
+ \ifdoc@toplevel
+ \noexpand\doc@providetarget
+ \noexpand\index{\noexpand\@gtempa\noexpand\actualchar
+\string\verb% % to fool emacs highlighting
+\noexpand\quotechar*\noexpand\verbatimchar
+\noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+\ifx\@nil#2\@nil\else \the\@temptokena \fi
+\noexpand\doc@handleencap{usage}}%
+ \fi
+ \ifx\@nil#3\@nil\else
+ \noexpand\index{\the\@temptokenb\noexpand\levelchar
+\noexpand\@gtempa\noexpand\actualchar
+\string\verb% % to fool emacs highlighting
+\noexpand\quotechar*\noexpand\verbatimchar
+\noexpand\bslash\noexpand\@gtempa\noexpand\verbatimchar
+\noexpand\doc@handleencap{usage}}%
+ \fi
+ \noexpand\fi
+ \noexpand\@esphack}}
+
+\def\doc@createdescribe#1{%
+ \@namedef{Describe#1}{%
+ \begingroup
+ \MakePrivateLetters
+ \@ifnextchar[%]
+ {\doc@describe{#1}}{\doc@describe{#1}[]}}}
+\def\doc@createenv#1#2#3{%
+ \@namedef{#3}{%
+ \@ifnextchar[%]
+ {\doc@env{#1}{#2}}{\doc@env{#1}{#2}[]}}%
+ \@namedef{end#3}{\endtrivlist}%
+}
+
+\def\@nameedef#1{\expandafter\edef\csname #1\endcsname}
+
+
+\def\doc@declareerror#1#2{%
+ \PackageError{doc}{Doc element '#1/#2' already defined?\@gobble}%
+ {There is already a definition for
+ '\string\Print#1Name',\MessageBreak
+ '\string\PrintDescribe#1'
+ or the environment '#2'.\MessageBreak
+ Maybe you are overwriting something by mistake!\MessageBreak
+ Otherwise use '\string\RenewDocElement' instead.}%
+}
+
+\def\doc@notdeclarederror#1#2{%
+ \PackageError{doc}{Doc element '#1/#2' unknown}%
+ {I expected an existing definition for
+ '\string\Print#1Name',\MessageBreak
+ '\string\PrintDescribe#1' and
+ the environment '#2' but\MessageBreak
+ not all of them are defined.\MessageBreak
+ Maybe you wanted to use
+ '\string\NewDocElement'?}%
+}
+\newcommand\NewDocElement[3][]{%
+ \@ifundefined{Print#2Name}%
+ {\@ifundefined{PrintDescribe#2}%
+ {\@ifundefined{#3}%
+ {\@ifundefined{end#3}%
+ {\@NewDocElement{#1}}%
+ \doc@declareerror
+ }\doc@declareerror
+ }\doc@declareerror
+ }\doc@declareerror
+ {#2}{#3}%
+}
+\newcommand\RenewDocElement[3][]{%
+ \@ifundefined{Print#2Name}\doc@notdeclarederror
+ {\@ifundefined{PrintDescribe#2}\doc@notdeclarederror
+ {\@ifundefined{#3}\doc@notdeclarederror
+ {\@ifundefined{end#3}\doc@notdeclarederror
+ {\@NewDocElement{#1}}%
+ }%
+ }%
+ }%
+ {#2}{#3}%
+}
+\def\@NewDocElement#1#2#3{%
+ \doc@macrolikefalse
+ \doc@topleveltrue
+ \def\doc@idxtype{#3}%
+ \def\doc@idxgroup{#3s}%
+ \let\doc@printtype\@empty
+ \csname keys_set:nn\endcsname{doc}{#1}%
+ \ifx\doc@printtype\@empty
+ \@temptokena{}%
+ \else
+ \@temptokena\expandafter{\expandafter
+ \textnormal\expandafter{\expandafter
+ \space\expandafter
+ (\doc@printtype)}}%
+ \fi
+ \@nameedef{Print#2Name}##1{%
+ {\noexpand\MacroFont
+ \ifdoc@macrolike
+ \noexpand\string
+ \fi
+ ##1%
+ \the\@temptokena
+ }}%
+ \expandafter\let\csname PrintDescribe#2\expandafter\endcsname
+ \csname Print#2Name\endcsname
+ \edef\doc@expr{%
+ \ifdoc@macrolike
+ \noexpand\doc@createspecialmacrolikeindexes
+ \else
+ \noexpand\doc@createspecialindexes
+ \fi
+ {#2}%
+ }%
+ \expandafter\expandafter\expandafter
+ \doc@expr
+ \expandafter\expandafter\expandafter
+ {\expandafter\doc@idxtype\expandafter}\expandafter
+ {\doc@idxgroup}%
+ \doc@createdescribe{#2}%
+ \ifdoc@macrolike
+ \doc@createenv{TT}{#2}{#3}%
+ \else
+ \doc@createenv{TF}{#2}{#3}%
+ \fi
+}
+
+
+\NewDocElement[macrolike = true ,
+ idxtype = ,
+ idxgroup = ,
+ printtype =
+ ]{Macro}{macro}
+
+\def\SpecialMainIndex{\SpecialMainMacroIndex}
+
+\def\SpecialUsageIndex{\SpecialMacroIndex}
+
+\def\SpecialIndex {\CodeMacroIndex{code}}
+
+\NewDocElement[macrolike = false ,
+ idxtype = env. ,
+ idxgroup = environments ,
+ printtype = \textit{env.}
+ ]{Env}{environment}
+ \let\@@PrintDescribeMacro \PrintDescribeMacro
+ \let\@@PrintDescribeEnv \PrintDescribeEnv
+ \let\@@PrintMacroName \PrintMacroName
+ \let\@@PrintEnvName \PrintEnvName
+ \let\@@SpecialUsageIndex \SpecialUsageIndex
+ \let\@@SpecialEnvIndex \SpecialEnvIndex
+ \let\@@SortIndex \SortIndex
+ \let\@@DescribeMacro \DescribeMacro
+ \let\@@DescribeEnv \DescribeEnv
+
+\DeclareRobustCommand\cs[1]{\texttt{\bslash #1}}
+\AddToHook{class/amsdtx/after}{%
+ \DeclareRobustCommand\cs[1]{%
+ \@boxorbreak{%
+ \ntt
+ \addbslash#1\@empty
+ \@xp\@xp\@xp\@indexcs\@xp\@nobslash\string#1\@nil
+ }%
+ }%
+ \def\cn{\cs}%
+}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
%% End of file `doc.sty'.
diff --git a/Master/texmf-dist/tex/latex/base/docstrip.tex b/Master/texmf-dist/tex/latex/base/docstrip.tex
index a2ddc50ec35..71df73c3508 100644
--- a/Master/texmf-dist/tex/latex/base/docstrip.tex
+++ b/Master/texmf-dist/tex/latex/base/docstrip.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/exscale.sty b/Master/texmf-dist/tex/latex/base/exscale.sty
index 8cd29c30905..1863d30d4ca 100644
--- a/Master/texmf-dist/tex/latex/base/exscale.sty
+++ b/Master/texmf-dist/tex/latex/base/exscale.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/fix-cm.sty b/Master/texmf-dist/tex/latex/base/fix-cm.sty
index 5a955c85a78..2308c89ad89 100644
--- a/Master/texmf-dist/tex/latex/base/fix-cm.sty
+++ b/Master/texmf-dist/tex/latex/base/fix-cm.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/fixltx2e.sty b/Master/texmf-dist/tex/latex/base/fixltx2e.sty
index 1ddd2c5c96c..d0f5fd64e07 100644
--- a/Master/texmf-dist/tex/latex/base/fixltx2e.sty
+++ b/Master/texmf-dist/tex/latex/base/fixltx2e.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/flafter.sty b/Master/texmf-dist/tex/latex/base/flafter.sty
index 8c0dfd4ef65..a20588cd7cc 100644
--- a/Master/texmf-dist/tex/latex/base/flafter.sty
+++ b/Master/texmf-dist/tex/latex/base/flafter.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/fleqn.clo b/Master/texmf-dist/tex/latex/base/fleqn.clo
index e5d93807821..d7e3559b77a 100644
--- a/Master/texmf-dist/tex/latex/base/fleqn.clo
+++ b/Master/texmf-dist/tex/latex/base/fleqn.clo
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/fleqn.sty b/Master/texmf-dist/tex/latex/base/fleqn.sty
index 90158c02a1b..95fc2382cd8 100644
--- a/Master/texmf-dist/tex/latex/base/fleqn.sty
+++ b/Master/texmf-dist/tex/latex/base/fleqn.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/fltrace.sty b/Master/texmf-dist/tex/latex/base/fltrace.sty
index 6728661ef83..1f6ccd47118 100644
--- a/Master/texmf-dist/tex/latex/base/fltrace.sty
+++ b/Master/texmf-dist/tex/latex/base/fltrace.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -224,8 +224,10 @@
\let\f@depth\z@
\def \@opcol {%
\if@twocolumn
+ \@expl@@@mark@update@dblcol@structures@@
\@outputdblcol
\else
+ \@expl@@@mark@update@singlecol@structures@@
\@outputpage
\fl@trace{PAGE: one column (float? see above) page completed}%
\fi
diff --git a/Master/texmf-dist/tex/latex/base/fontenc.sty b/Master/texmf-dist/tex/latex/base/fontenc.sty
index ecc422cfe8a..d1aa2ccd41f 100644
--- a/Master/texmf-dist/tex/latex/base/fontenc.sty
+++ b/Master/texmf-dist/tex/latex/base/fontenc.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -114,10 +114,13 @@
\let\@elt\relax
\xdef\@fontenc@load@list{\@fontenc@load@list
\@elt{\csname opt@fontenc.sty\endcsname}}
+\global\expandafter\let\csname ver@@fontenc.sty\expandafter\endcsname
+ \csname ver@fontenc.sty\endcsname
\global\expandafter\let\csname ver@fontenc.sty\endcsname\relax
\global\expandafter\let\csname opt@fontenc.sty\endcsname\relax
\global\let\@ifl@ter@@\@ifl@ter
\def\@ifl@ter#1#2#3#4#5{\global\let\@ifl@ter\@ifl@ter@@}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
%% End of file `fontenc.sty'.
diff --git a/Master/texmf-dist/tex/latex/base/fontmath.cfg b/Master/texmf-dist/tex/latex/base/fontmath.cfg
index 1bdec3f2425..07c5e9da740 100644
--- a/Master/texmf-dist/tex/latex/base/fontmath.cfg
+++ b/Master/texmf-dist/tex/latex/base/fontmath.cfg
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/fontmath.ltx b/Master/texmf-dist/tex/latex/base/fontmath.ltx
index 3e7f2963b71..e0bf5b2b610 100644
--- a/Master/texmf-dist/tex/latex/base/fontmath.ltx
+++ b/Master/texmf-dist/tex/latex/base/fontmath.ltx
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/fonttext.cfg b/Master/texmf-dist/tex/latex/base/fonttext.cfg
index d53d7db8fa4..2d15d5b3516 100644
--- a/Master/texmf-dist/tex/latex/base/fonttext.cfg
+++ b/Master/texmf-dist/tex/latex/base/fonttext.cfg
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/fonttext.ltx b/Master/texmf-dist/tex/latex/base/fonttext.ltx
index fb78a273973..5ec0a9b4292 100644
--- a/Master/texmf-dist/tex/latex/base/fonttext.ltx
+++ b/Master/texmf-dist/tex/latex/base/fonttext.ltx
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/graphpap.sty b/Master/texmf-dist/tex/latex/base/graphpap.sty
index 9c5cbf867c9..f6163a85d5e 100644
--- a/Master/texmf-dist/tex/latex/base/graphpap.sty
+++ b/Master/texmf-dist/tex/latex/base/graphpap.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/hyphen.ltx b/Master/texmf-dist/tex/latex/base/hyphen.ltx
index 0135fe91078..e4e9fb40f8d 100644
--- a/Master/texmf-dist/tex/latex/base/hyphen.ltx
+++ b/Master/texmf-dist/tex/latex/base/hyphen.ltx
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/idx.tex b/Master/texmf-dist/tex/latex/base/idx.tex
index 8257396f81f..bc0dd710218 100644
--- a/Master/texmf-dist/tex/latex/base/idx.tex
+++ b/Master/texmf-dist/tex/latex/base/idx.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/tex/latex/base/ifthen.sty b/Master/texmf-dist/tex/latex/base/ifthen.sty
index ccb5dba4ea9..d09c133511f 100644
--- a/Master/texmf-dist/tex/latex/base/ifthen.sty
+++ b/Master/texmf-dist/tex/latex/base/ifthen.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -49,7 +49,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesPackage{ifthen}
- [2020/11/24 v1.1c Standard LaTeX ifthen package (DPC)]
+ [2022/04/13 v1.1d Standard LaTeX ifthen package (DPC)]
\def\TE@throw{\@ne=\@ne\noexpand\fi}
\def\boolean#1#2{%
\TE@throw\expandafter\noexpand\csname if#1\endcsname#2}
@@ -72,6 +72,11 @@
##2}%
\expandafter\toks@\expandafter{\expandafter}%
\expandafter\@tempc\the\toks@#1\@tempc}
+\@ifl@t@r\fmtversion{2022/06/01}
+ {\def\TE@ref@exp{\let\pageref\@kernel@pageref@exp
+ \let\ref\@kernel@ref@exp}}
+ {\def\TE@ref@exp{\def\@setref##1##2##3{%
+ \ifx##1\relax\z@\else\expandafter##2##1\fi}}}
\long\def\ifthenelse#1{%
\toks@{#1}%
\TE@repl\or\TE@or
@@ -82,8 +87,7 @@
\TE@repl\NOT\TE@neg
\begingroup
\let\protect\@unexpandable@protect
- \def\@setref##1##2##3{%
- \ifx##1\relax\z@\else\expandafter##2##1\fi}%
+ \TE@ref@exp
\def\value##1{\the\csname c@##1\endcsname}%
\let\equal\TE@equal \let\(\TE@lparen \let\)\TE@rparen
\let\isodd\TE@odd \let\lengthtest\TE@length
diff --git a/Master/texmf-dist/tex/latex/base/inputenc.sty b/Master/texmf-dist/tex/latex/base/inputenc.sty
index 92cd58d7b11..22c61bdb9bb 100644
--- a/Master/texmf-dist/tex/latex/base/inputenc.sty
+++ b/Master/texmf-dist/tex/latex/base/inputenc.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{inputenc}
[2021/02/14 v1.3d Input encoding file]
diff --git a/Master/texmf-dist/tex/latex/base/lablst.tex b/Master/texmf-dist/tex/latex/base/lablst.tex
index da2d7dbceb7..0821b0e4f06 100644
--- a/Master/texmf-dist/tex/latex/base/lablst.tex
+++ b/Master/texmf-dist/tex/latex/base/lablst.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/tex/latex/base/latex.ltx b/Master/texmf-dist/tex/latex/base/latex.ltx
index 3486509fe0d..3eba2430337 100644
--- a/Master/texmf-dist/tex/latex/base/latex.ltx
+++ b/Master/texmf-dist/tex/latex/base/latex.ltx
@@ -18,6 +18,7 @@
%% lterror.dtx (with options: `2ekernel')
%% ltpar.dtx (with options: `2ekernel')
%% ltpara.dtx (with options: `2ekernel')
+%% ltmeta.dtx (with options: `2ekernel')
%% ltspace.dtx (with options: `2ekernel')
%% ltlogos.dtx (with options: `2ekernel')
%% ltfiles.dtx (with options: `2ekernel')
@@ -44,8 +45,10 @@
%% ltfloat.dtx (with options: `2ekernel')
%% ltidxglo.dtx (with options: `2ekernel')
%% ltbibl.dtx (with options: `2ekernel')
+%% ltmarks.dtx (with options: `trace,2ekernel')
%% ltpage.dtx (with options: `2ekernel')
%% ltclass.dtx (with options: `2ekernel,tracerollback')
+%% ltkeys.dtx (with options: `2ekernel')
%% ltfilehook.dtx (with options: `2ekernel')
%% ltshipout.dtx (with options: `2ekernel')
%% ltoutput.dtx (with options: `2ekernel')
@@ -58,7 +61,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -87,6 +90,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%% From File: ltdirchk.dtx
+%% ---- START temporary definitions for bootstrapping; later overwritten ----
\ifnum\catcode`\{=1
\errmessage
{LaTeX must be made using an initex with no format preloaded}
@@ -294,6 +298,7 @@
\ifx\reserved@a\@empty\else\gdef\@TeXversion{3}\fi}
\fi
\fi
+%% ---- END temporary definitions for bootstrapping ----
%%% From File: ltplain.dtx
\catcode`\{=1 % left brace is begin-group character
\catcode`\}=2 % right brace is end-group character
@@ -572,11 +577,20 @@
\def\null{\hbox{}}
\let\bgroup={
\let\egroup=}
-{\catcode`\^^M=\active % these lines must end with %
- \gdef\obeylines{\catcode`\^^M\active \let^^M\par}%
- \global\let^^M\par} % this is in case ^^M appears in a \write
-\def\obeyspaces{\catcode`\ \active}
-{\obeyspaces\global\let =\space}
+\begingroup
+\catcode`\^^M=\active % these lines must end with %
+ \gdef\obeylines{\catcode`\^^M\active%
+ \let^^M\obeyedline%
+ }%
+ \global\let^^M\par % this is in case ^^M appears in a \write
+\endgroup
+\protected\gdef\obeyedline{\par}
+\global\let\obeyedspace\space
+\begingroup
+\catcode`\ =\active%
+\gdef\obeyspaces{\catcode`\ \active\let =\obeyedspace}%
+\global\let =\space%
+\endgroup
\long\def \loop #1\repeat{%
\def\iterate{#1\relax % Extra \relax
\expandafter\iterate\fi
@@ -691,9 +705,9 @@
%%% From File: ltvers.dtx
\def\fmtname{LaTeX2e}
\edef\fmtversion
- {2021-11-15}
-\def\patch@level{1}
-\edef\development@branch@name{}
+ {2022-06-01}
+\def\patch@level{0}
+\edef\development@branch@name{develop \the\year-\the\month-\the\day}
\iffalse
\def\reserved@a#1/#2/#3\@nil{%
\count@\year
@@ -840,7 +854,7 @@
\GenericInfo{}{BEGIN module: \new@modulename\space (\new@moduledate)}%
\GenericInfo{}{ \@spaces\@spaces\@spaces\space#3\@gobble}%
\ifnum\sourceLaTeXdate<%
- \expandafter\@parse@version\new@moduledate//00\@nil\relax
+ \expandafter\@parse@version\new@moduledate//00\@nil\relax
\ifnum\expandafter\@parse@version\fmtversion//00\@nil<%
\expandafter\@parse@version\new@moduledate//00\@nil\relax
\GenericInfo{}{Skipping module \new@modulename}%
@@ -855,7 +869,19 @@
\@skipping@moduletrue
\expandafter\new@module@skip
\fi}
-\long\def\new@module@skip#1\IncludeInRelease{\IncludeInRelease}
+\long\def\new@module@skip#1\IncludeInRelease{%
+ \long\def\reserved@a##1\EndModuleRelease{}%
+ \if\relax\detokenize\expandafter{\reserved@a#1{}{}\EndModuleRelease}\relax
+ \else
+ \@latex@error{Missing mandatory \string\IncludeInRelease{0000/00/00}}\@ehc
+ \expandafter\@secondoftwo
+ \fi
+ \@gobble
+ {\@expandtwoargs\IncludeInRelease
+ {0000/00/00}{\new@modulename}%
+ {ERROR! Emergency recovery}%
+ #1}%
+ \IncludeInRelease}
\def\EndModuleRelease{%
\ifx\new@modulename\@empty
\@latex@error{Extra \string\EndModuleRelease.}\@eha
@@ -982,6 +1008,14 @@
\e@alloc\luafunction\e@alloc@chardef
\e@alloc@luafunction@count\m@ne\e@alloc@top
}
+\def\newluacmd{%
+ \e@alloc\luafunction\luadef
+ \e@alloc@luafunction@count\m@ne\e@alloc@top
+}
+\def\newprotectedluacmd{%
+ \e@alloc\luafunction{\protected\luadef}
+ \e@alloc@luafunction@count\m@ne\e@alloc@top
+}
\ifx\e@alloc@whatsit@count\@undefined
\countdef\e@alloc@whatsit@count=261
\e@alloc@whatsit@count=\z@
@@ -1124,6 +1158,22 @@
\cs_gset_eq:NN \@expl@str@map@function@@NN \str_map_function:NN
\cs_gset_eq:NN \@expl@char@generate@@nn \char_generate:nn
\ExplSyntaxOff
+\ExplSyntaxOn
+\cs_new_eq:NN \fpeval \fp_eval:n
+\cs_new_eq:NN \inteval \int_eval:n
+\cs_new_eq:NN \dimeval \dim_eval:n
+\cs_new_eq:NN \skipeval \skip_eval:n
+\ExplSyntaxOff
+\ExplSyntaxOn
+\cs_new_eq:NN \UseName \use:c
+\cs_new:Npn \ExpandArgs #1
+ {
+ \cs_if_exist_use:cF { exp_args:N #1 }
+ { \msg_expandable_error:nnn { kernel } { unknown-arg-expansion } {#1} }
+ }
+\msg_new:nnn { kernel } { unknown-arg-expansion }
+ { Unknown~arg~expansion~"#1" }
+\ExplSyntaxOff
%%% From File: ltdefns.dtx
\def\two@digits#1{\ifnum#1<10 0\fi\number#1}
\protected\long\def\typeout#1{\begingroup
@@ -1681,8 +1731,8 @@
\xdef#1{\the\toks@}%
\endgroup}
%%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.0i}
-\def\ltcmddate{2021-12-02}
+\def\ltcmdversion{v1.0l}
+\def\ltcmddate{2022-03-18}
\message{document commands,}
\ExplSyntaxOn
\tl_new:N \l__cmd_arg_spec_tl
@@ -2857,21 +2907,21 @@
\cs_new_protected:Npn \__cmd_show_command_aux:nNNn #1 #2 #3 #4
{
\__cmd_split_signature:n {#4}
- \iow_term:x
+ \tl_show:x
{
- > ~ \token_to_str:N #2 = #1: \iow_newline:
+ \token_to_str:N #2 = #1: \iow_newline:
\tl_use:N \l__cmd_tmpa_tl
- -> \cs_replacement_spec:N #3 .
+ -> \cs_replacement_spec:N #3
}
}
\cs_new_protected:Npn \__cmd_show_environment:N #1
{
\exp_after:wN \__cmd_show_environment:Nnnw #1 \q__cmd
- \iow_term:x
+ \tl_show:x
{
- > ~ \token_to_str:N \end { \cs_to_str:N #1 } : \iow_newline:
+ \token_to_str:N \end { \cs_to_str:N #1 } : \iow_newline:
-> \exp_args:Nc \cs_replacement_spec:N
- { environment~ \cs_to_str:N #1 ~end~aux~ } .
+ { environment~ \cs_to_str:N #1 ~end~aux~ }
}
}
\cs_new_protected:Npn \__cmd_show_environment:Nnnw #1 #2 #3 #4 \q__cmd
@@ -3824,22 +3874,14 @@
\exp_args:Ne \str_case_e:nnF
{
\exp_args:Nf \tl_if_empty:nT { \cs_argument_spec:N #1 }
- {
- \token_if_macro:NT #1
- {
- \exp_after:wN \exp_after:wN
- \exp_after:wN \token_to_str:N
- \exp_after:wN \use_i_delimit_by_q_stop:nw
- #1 \scan_stop: \q_stop
- }
- }
+ { \exp_not:N \exp_not:n { \exp_not:e { \tl_head:N #1 } } }
}
{
- { \token_to_str:N \__cmd_start:nNNnnn } {#2}
- { \token_to_str:N \__cmd_start_expandable:nNNNNn } {#3}
- { \token_to_str:N \__cmd_start_env:nnnnn } {#4}
+ { \exp_not:N \__cmd_start:nNNnnn } {#2}
+ { \exp_not:N \__cmd_start_expandable:nNNNNn } {#3}
+ { \exp_not:N \__cmd_start_env:nnnnn } {#4}
{
- \exp_after:wN \token_to_str:N
+ \exp_after:wN \exp_not:N
\cs:w environment~
\exp_last_unbraced:Ne \use_none:nnn
{ \cs_to_str:N #1 } ~end~aux \cs_end:
@@ -4284,6 +4326,9 @@
\cs_new:Npn \IfValueF { \tl_if_novalue:nT }
\cs_new:Npn \IfValueT { \tl_if_novalue:nF }
\cs_new:Npn \IfValueTF #1#2#3 { \tl_if_novalue:nTF {#1} {#3} {#2} }
+\cs_new_eq:NN \IfBlankF \tl_if_blank:nF
+\cs_new_eq:NN \IfBlankT \tl_if_blank:nT
+\cs_new_eq:NN \IfBlankTF \tl_if_blank:nTF
\tl_new:N \ProcessedArgument
\cs_new_eq:NN \ReverseBoolean \__cmd_bool_reverse:N
\cs_new_eq:NN \SplitArgument \__cmd_split_argument:nnn
@@ -4305,8 +4350,8 @@
\ExplSyntaxOff
%%% From File: lthooks.dtx
-\def\lthooksversion{v1.0s}
-\def\lthooksdate{2021/09/28}
+\def\lthooksversion{v1.0u}
+\def\lthooksdate{2022/05/19}
\ExplSyntaxOn
\bool_new:N \g__hook_debug_bool
\cs_new_eq:NN \__hook_debug:n \use_none:n
@@ -4726,6 +4771,7 @@
\tl_const:cn { c__hook_generic_env/./begin_tl } { + }
\tl_const:cn { c__hook_generic_env/./end_tl } { + }
\tl_const:cn { c__hook_generic_include/./end_tl } { - }
+\tl_const:cn { c__hook_generic_include/./excluded_tl } { + }
\clist_map_inline:nn { file , package , class , include }
{
\tl_const:cn { c__hook_deprecated_#1/./before_tl } { }
@@ -4779,7 +4825,13 @@
\__hook_deprecated_generic_warn:n {#1}
\__hook_do_deprecated_generic:Nn \__hook_gset_rule:nnnn {#1}
{#2} {#3} {#4}
- \exp_after:wN \use_none:nnnnnnnnn \use_none:n
+ \__hook_clean_to_scan:w
+ }
+ \__hook_if_execute_immediately:nT {#1}
+ {
+ \msg_error:nnnnnn { hooks } { rule-too-late }
+ {#1} {#2} {#3} {#4}
+ \__hook_clean_to_scan:w
}
\__hook_init_structure:n {#1}
\__hook_rule_gclear:nnn {#1} {#2} {#4}
@@ -4788,8 +4840,11 @@
{#1} {#2} {#4}
\__hook_update_hook_code:n {#1}
}
- { \msg_error:nnnnnn { hooks } { unknown-rule }
- {#1} {#2} {#3} {#4} }
+ {
+ \msg_error:nnnnnn { hooks } { unknown-rule }
+ {#1} {#2} {#3} {#4}
+ }
+ \s__hook_mark
}
\cs_new_protected:Npn \__hook_rule_before_gset:nnn #1#2#3
{
@@ -4860,8 +4915,8 @@
}
\cs_new_protected:Npn \__hook_initialize_hook_code:n #1
{
- \__hook_debug:n{ \iow_term:x{^^JUpdate~ code~ for~ hook~
- '#1' \on@line :^^J} }
+ \__hook_debug:n
+ { \iow_term:x { ^^J Update~code~for~hook~'#1' \on@line :^^J } }
\__hook_include_legacy_code_chunk:n {#1}
\__hook_if_usable:nT {#1}
{
@@ -4882,8 +4937,8 @@
\prop_set_eq:Nc \l__hook_work_prop { g__hook_#1_code_prop }
\__hook_initialize_single:ccn
{ __hook~#1 } { g__hook_#1_labels_clist } {#1}
- \__hook_debug:n{ \exp_args:NNx \prop_gput:Nnn
- \g__hook_used_prop {#1}{} }
+ \__hook_debug:n
+ { \exp_args:NNx \prop_gput:Nnn \g__hook_used_prop {#1} { } }
}
}
}
@@ -5040,12 +5095,12 @@
}
\prop_put:Nnn \l__hook_work_prop {#1} { }
}
-\cs_new_eq:cc { __hook_apply_-rule_<:nnn } { __hook_apply_rule_>:nnn }
-\cs_new_eq:cc { __hook_apply_-rule_>:nnn } { __hook_apply_rule_<:nnn }
+\cs_new_eq:cc { __hook_apply_-rule_<:nnn } { __hook_apply_rule_>:nnn }
+\cs_new_eq:cc { __hook_apply_-rule_>:nnn } { __hook_apply_rule_<:nnn }
\cs_new_eq:cc { __hook_apply_-rule_<-:nnn } { __hook_apply_rule_<-:nnn }
\cs_new_eq:cc { __hook_apply_-rule_->:nnn } { __hook_apply_rule_->:nnn }
-\cs_new_eq:cc { __hook_apply_-rule_xE:nnn } { __hook_apply_rule_xE:nnn }
-\cs_new_eq:cc { __hook_apply_-rule_xW:nnn } { __hook_apply_rule_xW:nnn }
+\cs_new_eq:cc { __hook_apply_-rule_xE:nnn } { __hook_apply_rule_xE:nnn }
+\cs_new_eq:cc { __hook_apply_-rule_xW:nnn } { __hook_apply_rule_xW:nnn }
\cs_new_protected:Npn \__hook_msg_pair_found:nnn #1#2#3
{
\iow_term:x{~ \str_if_eq:nnTF {#3} {??} {default} {~normal} ~
@@ -5281,9 +5336,9 @@
\__hook_tl_gclear:c { __hook~#1 }
\__hook_tl_gclear:c { __hook_next~#1 }
\__hook_tl_gclear:c { __hook_toplevel~#1 }
- \prop_gclear:c { g__hook_#1_code_prop }
+ \prop_gclear_new:c { g__hook_#1_code_prop }
}
-\prg_new_conditional:Npnn \__hook_if_execute_immediately:n #1 { F, TF }
+\prg_new_conditional:Npnn \__hook_if_execute_immediately:n #1 { T, F, TF }
{
\__hook_if_usable:nTF {#1}
{
@@ -5406,7 +5461,8 @@
This~command~was~ignored.
}
\msg_new:nnnn { hooks } { unknown-rule }
- { Unknown~ relationship~ '#3'~
+ {
+ Unknown~ relationship~ '#3'~
between~ labels~ '#2'~ and~ '#4'~
\str_if_eq:nnF {#1} {??} { ~in~hook~'#1' }. ~
Perhaps~ a~ misspelling?
@@ -5420,6 +5476,19 @@
'voids'~ or~
'unrelated'.
}
+\msg_new:nnnn { hooks } { rule-too-late }
+ {
+ Sorting~rule~for~'#1'~hook~applied~too~late.\\
+ Try~setting~this~rule~earlier.
+ }
+ {
+ You~tried~to~set~the~ordering~of~hook~'#1'~using\\
+ \ \ \iow_char:N\\DeclareHookRule{#1}{#2}{#3}{#4}\\
+ but~hook~'#1'~was~already~used~as~a~one-time~hook,~
+ thus~sorting~is\\
+ no~longer~possible.~Declare~the~rule~
+ before~the~hook~is~used.
+ }
\msg_new:nnnn { hooks } { misused-top-level }
{
Illegal~use~of~\iow_char:N \\AddToHook{#1}[top-level]{...}.\\
@@ -5972,6 +6041,7 @@
}
}
\ExplSyntaxOff
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltalloc.dtx
\chardef\@xxxii=32
\mathchardef\@Mi=10001
@@ -6291,7 +6361,7 @@ Type H <return> for immediate help.}%
%% File: ltpara.dtx (C) Copyright 2020-2021
%%% From File: ltpara.dtx
\def\ltparaversion{v1.0k}
-\def\ltparadate{2021/11/11}
+\def\ltparadate{2022/05/13}
\ExplSyntaxOn
@@ -6416,6 +6486,37 @@ Type H <return> for immediate help.}%
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File: ltmeta.dtx (C) Copyright 2021, 2022
+%%% From File: ltmeta.dtx
+\def\ltmetaversion{v1.0b}
+\def\ltmetadate{2022/05/18}
+\let \IfDocumentMetadataTF \@secondoftwo
+\protected\def\DocumentMetadata{%
+ \InputIfFileExists{documentmetadata-support.ltx}%
+ {}%
+ {%
+ \@latex@error{No support files for
+ \noexpand\DocumentMetadata found}
+ {Is the 'LaTeX-lab' bundle installed?%
+ \MessageBreak
+ Without it, the declaration is ignored.}%
+ \let\DocumentMetadata\@gobble
+ }%
+ \let \IfDocumentMetadataTF \@firstoftwo
+ \DocumentMetadata
+}
+\NewDocumentCommand\MakeLinkTarget{sO{}m}{%
+ \ifvmode
+ \special{}%
+ \else
+ \@savsf\spacefactor
+ \smash{}%
+ \spacefactor\@savsf
+ \fi}
+\NewDocumentCommand\LinkTargetOn{}{}
+\NewDocumentCommand\LinkTargetOff{}{}
+\NewDocumentCommand\NextLinkTarget{m}{}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltspace.dtx
\message{spacing,}
\DeclareRobustCommand\pagebreak{\@testopt{\@no@pgbk-}4}
@@ -6826,6 +6927,8 @@ Type H <return> for immediate help.}%
\else
\deadcycles\z@
\@nameuse{cp@#1}%
+ \UseHook{include/excluded}%
+ \UseOneTimeHook{include/#1/excluded}%
\fi
\let\@auxout\@mainaux
\else
@@ -6836,6 +6939,7 @@ Type H <return> for immediate help.}%
\NewHook{include/before}
\NewReversedHook{include/end}
\NewReversedHook{include/after}
+\NewHook{include/excluded}
\def\@writeckpt#1{%
\if@filesw
\immediate\write\@partaux{\string\@setckpt{#1}\@charlb}%
@@ -6966,6 +7070,10 @@ Type H <return> for immediate help.}%
\ifx\filename@ext\relax tex\else\filename@ext\fi}%
\expandafter\let\expandafter\reserved@b
\csname ver@\reserved@a\endcsname
+ \ifx\reserved@b\relax
+ \expandafter\let\expandafter\reserved@b
+ \csname ver@@\reserved@a\endcsname
+ \fi
\expandafter\expandafter\expandafter\@listfiles\expandafter
\filename@area\filename@base\\\\\\\\\\\\\\\\\\\@@
\typeout{%
@@ -7244,6 +7352,7 @@ Type H <return> for immediate help.}%
}%
\egroup
}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltcounts.dtx
\def\setcounter#1#2{%
@@ -7886,6 +7995,7 @@ Type H <return> for immediate help.}%
\def\@xviipt{17.28}
\def\@xxpt{20.74}
\def\@xxvpt{24.88}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltfssaxes.dtx
%% Copyright (C) 1999-2020 Frank Mittelbach
\def\DeclareFontSeriesChangeRule#1#2#3#4{%
@@ -10859,9 +10969,19 @@ Type H <return> for immediate help.}%
\else
\expandafter#2#1\null
\fi}
-\def\ref#1{\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}}
-\def\pageref#1{\expandafter\@setref\csname r@#1\endcsname
- \@secondoftwo{#1}}
+\def\@kernel@sref#1{\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}}
+\def\@kernel@spageref#1{\expandafter\@setref\csname r@#1\endcsname
+ \@secondoftwo{#1}}
+\let\@kernel@ref\@kernel@sref
+\let\@kernel@pageref\@kernel@spageref
+\NewDocumentCommand\ref{s}
+ {\IfBooleanTF{#1}{\@kernel@sref}{\@kernel@ref}}
+\NewDocumentCommand\pageref{s}
+ {\IfBooleanTF{#1}{\@kernel@spageref}{\@kernel@pageref}}
+\def\@kernel@pageref@exp#1{\csname cs_if_exist:cTF\endcsname
+ {r@#1}{\csname tl_item:cn\endcsname{r@#1}{2}}{0}}
+\def\@kernel@ref@exp#1{\csname cs_if_exist:cTF\endcsname
+ {r@#1}{\csname tl_item:cn\endcsname{r@#1}{1}}{0}}
\def\@newl@bel#1#2#3{{%
\@ifundefined{#1@#2}%
\relax
@@ -10883,8 +11003,12 @@ Type H <return> for immediate help.}%
{\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
}
\def\labelformat#1{\expandafter\def\csname p@#1\endcsname##1}
-\DeclareRobustCommand\Ref[1]{\protected@edef\@tempa{\ref{#1}}%
- \expandafter\MakeUppercase\@tempa}
+\def\@kernel@Ref#1{\protected@edef\@tempa{\@kernel@ref{#1}}%
+ \expandafter\MakeUppercase\@tempa}
+\def\@kernel@sRef#1{\protected@edef\@tempa{\@kernel@sref{#1}}%
+ \expandafter\MakeUppercase\@tempa}
+\NewDocumentCommand\Ref{s}
+ {\IfBooleanTF{#1}{\@kernel@sRef}{\@kernel@Ref}}
\def\@currentlabel{}
%%% From File: ltmiscen.dtx
\message{environments,}
@@ -11272,7 +11396,7 @@ Type H <return> for immediate help.}%
\global\setbox\@ne\vbox{\box\@ne\kern2\p@}%
\vcenter{\kern-\ht\@ne\unvbox\z@\kern-\baselineskip}\,\right)$}%
\null\;\vbox{\kern\ht\@ne\box\tw@}\endgroup}
-\def\openup{\afterassignment\@penup\dimen@}
+\protected\def\openup{\afterassignment\@penup\dimen@}
\def\@penup{\advance\lineskip\dimen@
\advance\baselineskip\dimen@
\advance\lineskiplimit\dimen@}
@@ -11422,6 +11546,9 @@ Type H <return> for immediate help.}%
\expandafter\@ensuredmath
\fi}
\long\def\@ensuredmath#1{$\relax#1$}
+\ifx\mathdefaultsmode\@undefined\else
+ \mathdefaultsmode=1
+\fi
%%% From File: ltlists.dtx
\newskip\topsep
\newskip\partopsep
@@ -13306,7 +13433,12 @@ Type H <return> for immediate help.}%
\def\bibcite{\@newl@bel b}
\let\citation\@gobble
\DeclareRobustCommand\cite{%
- \@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}
+ \@ifnextchar [{\@tempswatrue\@citex@checkblank}{\@tempswafalse\@citex@checkblank[]}}
+\def\@citex@checkblank[#1]#2{%
+ \IfBlankTF {#2}%
+ {\@citex[#1]{\space}}%
+ {\@citex[#1]{#2}}%
+}
\def\@citex[#1]#2{\leavevmode
\let\@citea\@empty
\@cite{\@for\@citeb:=#2\do
@@ -13347,6 +13479,368 @@ Type H <return> for immediate help.}%
\def\@cite#1#2{[{#1\if@tempswa , #2\fi}]}
\let\@cite@ofmt\hbox
\def\@biblabel#1{[#1]}
+%% File: ltmarks.dtx (C) Copyright 2022
+%%% From File: ltmarks.dtx
+\def\ltmarksversion{v1.0d}
+\def\ltmarksdate{2022/06/01}
+%% \end{function}
+
+\ExplSyntaxOn
+\seq_new:N \g__mark_classes_seq
+\cs_new_protected:Npn \mark_new_class:n #1
+{
+ \seq_if_in:NnTF \g__mark_classes_seq {#1}
+ {
+ \msg_error:nnn { mark } { class-already-defined }
+ {#1}
+ }
+ { \__mark_new_class:nn {#1} }
+}
+\@onlypreamble \mark_new_class:n
+\cs_new_protected:Npn \__mark_new_class:nn #1
+{
+ \__mark_debug:n { \iow_term:x { Marks:~new~mark:~#1~\msg_line_context: } }
+ \exp_args:Nc \newmarks {c__mark_class_ #1 _mark}
+ \seq_gput_right:Nn \g__mark_classes_seq {#1}
+ \tl_new:c { g__mark_page_top_ #1 _tl }
+ \tl_new:c { g__mark_page_first_ #1 _tl }
+ \tl_new:c { g__mark_page_last_ #1 _tl }
+ \tl_new:c { g__mark_previous-page_top_ #1 _tl }
+ \tl_new:c { g__mark_previous-page_first_ #1 _tl }
+ \tl_new:c { g__mark_previous-page_last_ #1 _tl }
+ \tl_new:c { g__mark_column_top_ #1 _tl }
+ \tl_new:c { g__mark_column_first_ #1 _tl }
+ \tl_new:c { g__mark_column_last_ #1 _tl }
+ \tl_new:c { g__mark_previous-column_top_ #1 _tl }
+ \tl_new:c { g__mark_previous-column_first_ #1 _tl }
+ \tl_new:c { g__mark_previous-column_last_ #1 _tl }
+ \tl_new:c { g__mark_first-column_top_ #1 _tl }
+ \tl_new:c { g__mark_first-column_first_ #1 _tl }
+ \tl_new:c { g__mark_first-column_last_ #1 _tl }
+ \tl_new:c { g__mark_last-column_top_ #1 _tl }
+ \tl_new:c { g__mark_last-column_first_ #1 _tl }
+ \tl_new:c { g__mark_last-column_last_ #1 _tl }
+}
+\box_new:N \l__mark_box
+\tl_new:N \g__mark_tmp_tl
+\tl_new:N \g__mark_new_top_tl
+\cs_new_protected:Npn \__mark_update_structure:nn #1#2
+ {
+ \__mark_update_structure_alias:nn { previous-#1 } {#1}
+ \group_begin:
+ \dim_set_eq:NN \tex_splitmaxdepth:D \c_max_dim
+ \int_set_eq:NN \tex_vbadness:D \c_max_int
+ \dim_set_eq:NN \tex_vfuzz:D \c_max_dim
+ \vbox_set_to_ht:Nnn \l__mark_box { -.5\c_max_dim }
+ {
+ #2
+ \tex_unskip:D
+ \box_set_to_last:N \l__mark_box
+ \int_compare:nNnT \tex_lastnodetype:D < 0
+ {
+ \box_if_vertical:NT \l__mark_box
+ {
+ \vbox_set_to_ht:Nnn \l__mark_box { -.5\c_max_dim }
+ {
+ \vbox_unpack:N \l__mark_box
+ \tex_kern:D \c_zero_dim % ensure that box
+ % is not empty
+ }
+ \int_compare:nNnT \tex_badness:D > 0
+ { \vbox_unpack:N \l__mark_box }
+ }
+ }
+ \tex_kern:D \c_zero_dim
+ }
+ \int_compare:nNnTF \tex_badness:D > 0
+ {
+ \vbox_set_split_to_ht:NNn \l__mark_box \l__mark_box \c_max_dim
+ \seq_map_inline:Nn \g__mark_classes_seq
+ {
+ \tl_gset_eq:Nc \g__mark_new_top_tl { g__mark_#1_last_##1_tl }
+ \tl_gset_eq:cN { g__mark_#1_top_##1_tl } \g__mark_new_top_tl
+ \tl_gset:No \g__mark_tmp_tl
+ { \tex_splitbotmarks:D \use:c { c__mark_class_##1_mark } }
+ \tl_if_empty:NTF \g__mark_tmp_tl
+ {
+ \tl_gset_eq:cN { g__mark_#1_last_ ##1_tl }
+ \g__mark_new_top_tl
+ \tl_gset_eq:cN { g__mark_#1_first_##1_tl }
+ \g__mark_new_top_tl
+ }
+ {
+ \tl_gset_eq:cN { g__mark_#1_last_##1_tl } \g__mark_tmp_tl
+ \tl_gset:co { g__mark_#1_first_##1_tl }
+ {
+ \tex_splitfirstmarks:D
+ \use:c { c__mark_class_##1_mark }
+ }
+ }
+ }
+ }
+ {
+ \msg_error:nnn { mark } { infinite-shrinkage } {#1}
+ \seq_map_inline:Nn \g__mark_classes_seq
+ {
+ \tl_gset_eq:cc { g__mark_#1_top_ ##1_tl }
+ { g__mark_#1_last_ ##1_tl }
+ \tl_gset_eq:cc { g__mark_#1_first_##1_tl }
+ { g__mark_#1_last_ ##1_tl }
+ }
+ }
+ \group_end:
+ }
+\cs_new_protected:Npn \__mark_update_structure_alias:nn #1#2 {
+ \seq_map_inline:Nn \g__mark_classes_seq
+ {
+ \tl_gset_eq:cc { g__mark_ #1 _top_ ##1 _tl }
+ { g__mark_ #2 _top_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_ #1 _first_ ##1 _tl }
+ { g__mark_ #2 _first_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_ #1 _last_ ##1 _tl }
+ { g__mark_ #2 _last_ ##1 _tl }
+ }
+}
+\cs_new_protected:Npn \__mark_update_structure_to_err:n #1 {
+ \seq_map_inline:Nn \g__mark_classes_seq
+ {
+ \tl_gset:cn { g__mark_ #1 _top_ ##1 _tl } { \__mark_error:n {#1} }
+ \tl_gset:cn { g__mark_ #1 _first_ ##1 _tl } { \__mark_error:n {#1} }
+ \tl_gset:cn { g__mark_ #1 _last_ ##1 _tl } { \__mark_error:n {#1} }
+ }
+}
+\cs_new_protected:Npn \__mark_error:n #1 {
+ \msg_error:nnn { mark } { invalid-use } {#1}
+}
+\cs_new_protected:Npn \mark_insert:nn #1#2
+{
+ \seq_if_in:NnTF \g__mark_classes_seq {#1}
+ {
+ \group_begin:
+ \@kernel@before@insertmark
+ \hook_use:n { insertmark }
+ \unrestored@protected@xdef \g__mark_tmp_tl {#2}
+ \__mark_debug:n{ \iow_term:x { Marks:~ set~#1~<-~
+ '\tl_to_str:V \g__mark_tmp_tl' ~ \msg_line_context: } }
+ \tex_marks:D \use:c { c__mark_class_ #1 _mark }
+ {
+ \tl_if_empty:NTF \g__mark_tmp_tl
+ { \exp_not:n { \prg_do_nothing: } }
+ { \exp_not:o { \g__mark_tmp_tl } }
+ }
+ \group_end:
+ \if@nobreak\ifvmode\nobreak\fi\fi
+ }
+ {
+ \msg_error:nnx { mark } { unknown-class }
+ { \tl_to_str:n {#1} }
+ }
+}
+\cs_new:Npn \@kernel@before@insertmark {
+ \cs_set_eq:NN \label \scan_stop:
+ \cs_set_eq:NN \index \scan_stop:
+ \cs_set_eq:NN \glossary \scan_stop:
+}
+\hook_new:n {insertmark}
+\cs_new:Npn \mark_use_first:nn #1#2 { \exp_not:v { g__mark_#1_first_#2_tl } }
+\cs_new:Npn \mark_use_last:nn #1#2 { \exp_not:v { g__mark_#1_last_#2_tl } }
+\cs_new:Npn \mark_use_top:nn #1#2 { \exp_not:v { g__mark_#1_top_#2_tl } }
+\prg_new_conditional:Npnn \mark_if_eq:nnnn #1#2#3#4 { T , F , TF }
+{
+ \tl_if_eq:ccTF { g__mark_ #1 _#3_ #2 _tl }
+ { g__mark_ #1 _#4_ #2 _tl }
+ \prg_return_true:
+ \prg_return_false:
+}
+\prg_new_conditional:Npnn \mark_if_eq:nnnnnn #1#2#3#4#5#6 { T , F , TF }
+{
+ \tl_if_eq:ccTF { g__mark_ #1 _#3_ #2 _tl }
+ { g__mark_ #4 _#6_ #5 _tl }
+ \prg_return_true:
+ \prg_return_false:
+}
+\prop_gput:Nnn \g_msg_module_type_prop { mark } { LaTeX }
+\msg_new:nnnn { mark } { class-already-defined }
+ { Mark~class~'#1'~already~defined }
+ {
+ \c__msg_coding_error_text_tl
+ LaTeX~was~asked~to~define~a~new~mark~class~called~'#1':~
+ this~mark~class~already~exists.
+ \c__msg_return_text_tl
+ }
+\msg_new:nnnn { mark } { unknown-class }
+ { Unknown~mark~class~'#1'. }
+ {
+ \c__msg_coding_error_text_tl
+ LaTeX~was~asked~to~manipulate~a~mark~of~class~'#1',~
+ but~this~class~of~marks~does~not~exist.
+ }
+
+\msg_new:nnnn { mark } { invalid-use }
+ { Mark~region~'#1'~not ~usable }
+ {
+ \c__msg_coding_error_text_tl
+ The~region~'#1'~can~only~be~used~after~
+ all~columns~have~been~assembled.
+ \c__msg_return_text_tl
+ }
+\msg_new:nnnn { mark } { infinite-shrinkage }
+ { Infinite~shrinkage~found~in~'#1'. }
+ {
+ \c__msg_coding_error_text_tl
+ The~mark~region~'#1'~contains~some~infinite~negative~glue~
+ allowing~it~to~shrink~to~an~arbitrary~size.~
+ This~makes~it~impossible~to~split~the~region~apart~to~
+ get~at~its~marks.~They~are~lost.
+ }
+\bool_new:N \g__mark_debug_bool
+\cs_new_eq:NN \__mark_debug:n \use_none:n
+\cs_new_protected:Npn \mark_debug_on:
+ {
+ \bool_gset_true:N \g__mark_debug_bool
+ \__mark_debug_gset:
+ }
+\cs_new_protected:Npn \mark_debug_off:
+ {
+ \bool_gset_false:N \g__mark_debug_bool
+ \__mark_debug_gset:
+ }
+\cs_new_protected:Npn \__mark_debug_gset:
+ {
+ \cs_gset_protected:Npx \__mark_debug:n ##1
+ { \bool_if:NT \g__mark_debug_bool {##1} }
+ }
+\cs_new_eq:NN \DebugMarksOn \mark_debug_on:
+\cs_new_eq:NN \DebugMarksOff \mark_debug_off:
+\cs_new_protected:Npn \__mark_class_status:nn #1#2
+ {
+ \typeout{ Marks:~#2~ #1:}
+ \typeout{\@spaces page~ (current):
+ | \exp_not:v { g__mark_page_top_ #2 _tl }
+ | \exp_not:v { g__mark_page_first_ #2 _tl }
+ | \exp_not:v { g__mark_page_last_ #2 _tl } |}
+ \typeout{\@spaces page~ (previous):
+ | \exp_not:v { g__mark_previous-page_top_ #2 _tl }
+ | \exp_not:v { g__mark_previous-page_first_ #2 _tl }
+ | \exp_not:v { g__mark_previous-page_last_ #2 _tl } |}
+ \typeout{\@spaces column~ (previous):
+ | \exp_not:v { g__mark_previous-column_top_ #2 _tl }
+ | \exp_not:v { g__mark_previous-column_first_ #2 _tl }
+ | \exp_not:v { g__mark_previous-column_last_ #2 _tl } |}
+ \typeout{\@spaces column~ (current):
+ | \exp_not:v { g__mark_column_top_ #2 _tl }
+ | \exp_not:v { g__mark_column_first_ #2 _tl }
+ | \exp_not:v { g__mark_column_last_ #2 _tl } |}
+ \typeout{\@spaces column~ (first):
+ | \exp_not:v { g__mark_first-column_top_ #2 _tl }
+ | \exp_not:v { g__mark_first-column_first_ #2 _tl }
+ | \exp_not:v { g__mark_first-column_last_ #2 _tl } |}
+ \typeout{\@spaces column~ (second):
+ | \exp_not:v { g__mark_last-column_top_ #2 _tl }
+ | \exp_not:v { g__mark_last-column_first_ #2 _tl }
+ | \exp_not:v { g__mark_last-column_last_ #2 _tl } |}
+}
+\cs_new_protected:Npn \__mark_status:n #1
+ {
+ \seq_map_inline:Nn \g__mark_classes_seq
+ { \__mark_class_status:nn {#1} {##1} }
+ }
+\cs_new_eq:NN \NewMarkClass \mark_new_class:n
+\@onlypreamble \NewMarkClass
+\cs_new_eq:NN \InsertMark \mark_insert:nn
+\NewExpandableDocumentCommand \FirstMark { O{page} m }
+ { \mark_use_first:nn {#1}{#2} }
+\NewExpandableDocumentCommand \LastMark { O{page} m }
+ { \mark_use_last:nn {#1}{#2} }
+\NewExpandableDocumentCommand \TopMark { O{page} m }
+ { \mark_use_top:nn {#1}{#2} }
+\NewExpandableDocumentCommand \IfMarksEqualTF {O{page}mmm} {
+ \mark_if_eq:nnnnTF {#1}{#2}{#3}{#4}
+}
+\cs_new_protected:Npn \__mark_update_singlecol_structures: {
+ \box_if_vertical:NTF \@outputbox
+ {
+ \__mark_update_structure:nn {page}
+ { \vbox_unpack:N \@outputbox }
+ }
+ {
+ \__mark_update_structure:nn {page}
+ { \hbox_unpack:N \@outputbox }
+ }
+ \__mark_update_structure_alias:nn {previous-column}{previous-page}
+ \__mark_update_structure_alias:nn {column}{page}
+ \__mark_update_structure_alias:nn {first-column}{page}
+ \__mark_update_structure_alias:nn {last-column}{page}
+ \__mark_debug:n
+ {
+ \__mark_status:n
+ { in~ OR~ (
+ \legacy_if:nTF {@twoside}
+ { twoside-
+ \int_if_odd:nTF \c@page
+ { odd }{ even }
+ }
+ { oneside }
+ )
+ }
+ }
+}
+\cs_new_protected:Npn \__mark_update_dblcol_structures: {
+ \box_if_vertical:NTF \@outputbox
+ {
+ \__mark_update_structure:nn {column}
+ { \vbox_unpack:N \@outputbox }
+ }
+ {
+ \__mark_update_structure:nn {column}
+ { \hbox_unpack:N \@outputbox }
+ }
+ \legacy_if:nTF {@firstcolumn}
+ {
+ \__mark_update_structure_alias:nn {first-column}{column}
+ \__mark_update_structure_to_err:n {last-column}
+ }
+ {
+ \__mark_update_structure_alias:nn {last-column}{column}
+ \seq_map_inline:Nn \g__mark_classes_seq
+ {
+ \tl_gset_eq:cc { g__mark_previous-page_top_ ##1 _tl }
+ { g__mark_page_top_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_previous-page_first_ ##1 _tl }
+ { g__mark_page_first_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_previous-page_last_ ##1 _tl }
+ { g__mark_page_last_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_page_top_ ##1 _tl }
+ { g__mark_first-column_top_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_ page_first_ ##1 _tl }
+ { g__mark_first-column_first_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
+ { g__mark_last-column_last_ ##1 _tl }
+ }
+ }
+ \__mark_debug:n
+ {
+ \__mark_status:n
+ { in~ OR~ (
+ \legacy_if:nTF {@twoside}
+ { twoside-
+ \int_if_odd:nTF \c@page
+ { odd }{ even }
+ }
+ { oneside }
+ \space
+ \legacy_if:nTF {@firstcolumn}
+ { first~ }{ second~ }
+ column )
+ }
+ }
+}
+\cs_new_eq:NN \@expl@@@mark@update@singlecol@structures@@
+ \__mark_update_singlecol_structures:
+\cs_new_eq:NN \@expl@@@mark@update@dblcol@structures@@
+ \__mark_update_dblcol_structures:
+\ExplSyntaxOff
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltpage.dtx
\def\pagestyle#1{%
\@ifundefined{ps@#1}%
@@ -13364,11 +13858,15 @@ Type H <return> for immediate help.}%
\hfil}\let\@evenhead\@empty\let\@evenfoot\@oddfoot}
\let\@leftmark\@firstoftwo
\let\@rightmark\@secondoftwo
+\ExplSyntaxOn
\DeclareRobustCommand*\markboth[2]{%
\begingroup
\let\label\relax \let\index\relax \let\glossary\relax
\unrestored@protected@xdef\@themark {{#1}{#2}}%
\@temptokena \expandafter{\@themark}%
+ \mark_insert:nn{2e-left}{#1}
+ \mark_insert:nn{2e-right}{#2}
+ \tl_if_empty:nF{#2}{ \mark_insert:nn{2e-right-nonempty}{#2} }
\mark{\the\@temptokena}%
\endgroup
\if@nobreak\ifvmode\nobreak\fi\fi}
@@ -13377,9 +13875,12 @@ Type H <return> for immediate help.}%
\let\label\relax \let\index\relax \let\glossary\relax
\expandafter\@markright\@themark {#1}%
\@temptokena \expandafter{\@themark}%
+ \mark_insert:nn{2e-right}{#1}
+ \tl_if_empty:nF{#1}{ \mark_insert:nn{2e-right-nonempty}{#1} }
\mark{\the\@temptokena}%
\endgroup
\if@nobreak\ifvmode\nobreak\fi\fi}
+\ExplSyntaxOff
\def\@markright#1#2#3{\@temptokena {#1}%
\unrestored@protected@xdef\@themark{{\the\@temptokena}{#3}}}
\def\leftmark{\expandafter\@leftmark\botmark\@empty\@empty}
@@ -13768,22 +14269,16 @@ Type H <return> for immediate help.}%
\xdef\@currpath{\ifx\reserved@b\@empty\else\reserved@b/\fi}%
\global\let\@currext#4%
\@ifl@aded\@currext\@currname
- {\@if@ptions\@currext{\@currname}{#2}{}%
- {\@latex@error
- {Option clash for \@cls@pkg\space \@currname}%
- {The package \@currname\space has already been loaded
- with options:\MessageBreak
- \space\space[\@ptionlist{\@currname.\@currext}]\MessageBreak
- There has now been an attempt to load it
- with options\MessageBreak
- \space\space[#2]\MessageBreak
- Adding the global options:\MessageBreak
- \space\space
- \@ptionlist{\@currname.\@currext},#2\MessageBreak
- to your \noexpand\documentclass declaration may fix this.%
- \MessageBreak
- Try typing \space <return> \space to proceed.}}%
- \@firstofone}%
+ {%
+ \@ifundefined{opt@fam@\@currname.\@currext}
+ {\@onefilewithoptions@clashchk{#2}}
+ {%
+ \@namedef{opt@\@currname.\@currext}{#2}%
+ \expandafter\expandafter\expandafter\ProcessKeyOptions
+ \expandafter\expandafter\expandafter
+ [\csname opt@fam@\@currname.\@currext\endcsname]%
+ }%
+ }%
{\makeatletter
\@reset@ptions
\IfFileExists{\@currpath\@currname.\@currext}{}%
@@ -13823,6 +14318,23 @@ Type H <return> for immediate help.}%
\ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi}%
\@popfilename
\@reset@ptions}
+\def\@onefilewithoptions@clashchk#1{%
+ \@if@ptions\@currext{\@currname}{#1}{}%
+ {\@latex@error
+ {Option clash for \@cls@pkg\space \@currname}%
+ {The package \@currname\space has already been loaded
+ with options:\MessageBreak
+ \space\space[\@ptionlist{\@currname.\@currext}]\MessageBreak
+ There has now been an attempt to load it
+ with options\MessageBreak
+ \space\space[#1]\MessageBreak
+ Adding the global options:\MessageBreak
+ \space\space
+ \@ptionlist{\@currname.\@currext},#1\MessageBreak
+ to your \noexpand\documentclass declaration may fix this.%
+ \MessageBreak
+ Try typing \space <return> \space to proceed.}}%
+ \@firstofone}
\let\@currpkg@reqd\@empty
\@onlypreamble\@onefilewithoptions
\let\@unprocessedoptions\@undefined
@@ -14280,9 +14792,197 @@ Type H <return> for immediate help.}%
\expandafter\@secondoftwo
\fi
}
+%%% From File: ltkeys.dtx
+\ExplSyntaxOn
+\group_begin:
+ \cs_set_protected:Npn \__keys_tmp:nn #1#2
+ {
+ \quark_if_recursion_tail_stop:n {#1}
+ \cs_new_eq:cc
+ { \c__keys_props_root_str . #2 }
+ { \c__keys_props_root_str . #1 }
+ \__keys_tmp:nn
+ }
+ \__keys_tmp:nn
+ { code:n } { code }
+ { legacy_if_set:n } { if }
+ { tl_set:N } { store }
+ { usage:n } { usage }
+ { \q_recursion_tail } { }
+ \q_recursion_stop
+\group_end:
+\cs_generate_variant:Nn \clist_put_right:Nn { Nv }
+\clist_new:N \l__keys_options_clist
+\bool_new:N \l__keys_options_loading_bool
+\cs_new_protected:Npn \__keys_options:n #1
+ { \__keys_options_expand_module:Nn \__keys_options_aux:n {#1} }
+\cs_new_protected:Npn \__keys_options_aux:n #1
+ {
+ \cs_gset_nopar:cpn { opt@fam@\@currname.\@currext } {#1}
+ \cs_set_protected:Npn \__keys_option_end: { }
+ \clist_clear:N \l__keys_options_clist
+ \__keys_options_global:n {#1}
+ \__keys_options_local:
+ \keys_if_exist:nnF {#1} { unknown }
+ {
+ \keys_define:nn {#1}
+ {
+ unknown .code:n =
+ {
+ \msg_error:nnxx { keys } { option-unknown }
+ { \l_keys_key_str } { \@currname }
+ }
+ }
+ \cs_set_protected:Npn \__keys_option_end:
+ { \keys_define:nn {#1} { unknown .undefine: } }
+ }
+ \bool_set_true:N \l__keys_options_loading_bool
+ \keys_set:nV {#1} \l__keys_options_clist
+ \bool_set_false:N \l__keys_options_loading_bool
+ \AtEndOfPackage { \cs_set_eq:NN \@unprocessedoptions \scan_stop: }
+ \__keys_option_end:
+ \__keys_options_loaded:n {#1}
+ }
+\msg_new:nnnn { keys } { option-unknown }
+ { Unknown~option~'#1'~for~package~#2. }
+ {
+ LaTeX~has~been~asked~to~set~an~option~called~'#1'~
+ but~the~#2~package~has~not~created~an~option~with~this~name.
+ }
+\cs_new_protected:Npn \__keys_options_global:n #1
+ {
+ \cs_if_eq:NNF \@classoptionslist \scan_stop:
+ {
+ \cs_if_eq:NNTF \@currext \@clsextension
+ { \__keys_options_class:n {#1} }
+ { \__keys_options_package:n {#1} }
+ }
+ }
+\cs_new_protected:Npn \__keys_options_class:n #1
+ {
+ \cs_if_free:cF { opt@ \@currname . \@currext }
+ {
+ \keys_if_exist:nnTF {#1} { unknown }
+ {
+ \clist_put_right:Nv \l__keys_options_clist
+ { opt@ \@currname . \@currext }
+ }
+ {
+ \clist_map_inline:cn { opt@ \@currname . \@currext }
+ {
+ \keys_if_exist:neTF
+ {#1} { \__keys_remove_equals:n {##1} }
+ { \clist_put_right:Nn \l__keys_options_clist {##1} }
+ { \clist_put_right:Nn \@unusedoptionlist {##1} }
+ }
+ }
+ }
+ }
+\cs_new_protected:Npn \__keys_options_package:n #1
+ {
+ \clist_map_inline:Nn \@classoptionslist
+ {
+ \keys_if_exist:neT {#1} { \__keys_remove_equals:n {##1} }
+ {
+ \clist_put_right:Nn \l__keys_options_clist {##1}
+ \clist_remove_all:Nn \@unusedoptionlist {##1}
+ }
+ }
+ }
+\cs_new_protected:Npn \__keys_options_local:
+ {
+ \cs_if_eq:NNF \@currext \@clsextension
+ {
+ \cs_if_exist:cT { opt@ \@currname . \@currext }
+ {
+ \clist_put_right:Nv \l__keys_options_clist
+ { opt@ \@currname . \@currext }
+ }
+ }
+ }
+\cs_new:Npn \__keys_remove_equals:n #1
+ { \__keys_remove_equals:w #1 = \s__keys_stop }
+\cs_new:Npn \__keys_remove_equals:w #1 = #2 \s__keys_stop { \exp_not:n {#1} }
+\cs_generate_variant:Nn \keys_define:nn { nx }
+\cs_new_protected:Npn \__keys_options_expand_module:Nn #1#2
+ {
+ \cs:w __keys_options_expand_module:nN \use:e { \cs_end: {#2} } #1
+ }
+\cs_new_protected:Npn \__keys_options_expand_module:nN #1#2
+ { #2 {#1} }
+\NewDocumentCommand \DeclareKeys { O { \@currname } +m }
+ { \__keys_options_expand_module:Nn \keys_define:nn {#1} {#2} }
+\NewDocumentCommand \DeclareUnknownKeyHandler { O { \@currname } +m }
+ {
+ \cs_set_protected:cpn { __keys_unknown_handler_ #1 :nn } ##1##2 {#2}
+ \__keys_options_expand_module:Nn \keys_define:nx {#1}
+ {
+ unknown .code:n =
+ \exp_not:N \exp_args:NV
+ \exp_not:c { __keys_unknown_handler_ #1 :nn }
+ \exp_not:N \l_keys_key_str {####1}
+ }
+ }
+\NewDocumentCommand \ProcessKeyOptions { O { \@currname } }
+ { \__keys_options:n {#1} }
+\@onlypreamble \ProcessKeyOptions
+\cs_new_protected:Npn \__keys_options_loaded:n #1
+ {
+ \prop_get:NnNT \l_keys_usage_load_prop {#1} \l__keys_tmpa_tl
+ {
+ \clist_map_inline:Nn \l__keys_tmpa_tl
+ {
+ \keys_define:nn {#1}
+ {
+ ##1 .code:n =
+ \__keys_options_loaded:nn {#1} {##1}
+ }
+ }
+ }
+ }
+\cs_new_protected:Npn \__keys_options_loaded:nn #1#2
+ {
+ \bool_if:NTF \l__keys_options_loading_bool
+ {
+ \msg_warning:nnxx { keys } { load-option-ignored }
+ { \use:c { opt@fam@\@currname.\@currext } } {#2}
+ }
+ { \msg_error:nnnn { keys } { load-only } {#1} {#2} }
+ }
+\msg_new:nnn { keys } { load-option-ignored }
+ { Package~"#1"~has~already~been~loaded:~ignoring~load-time~option~"#2". }
+\msg_new:nnnn { keys } { load-only }
+ { Key~"#2"~may~only~be~used~in~the~during~loading~of~package~"#1". }
+ {
+ LaTeX~was~asked~to~set~a~key~called~"#2",~but~this~is~only~allowed~
+ in~the~optional~argument~when~loading~package~"#1".
+ }
+\tl_gput_left:Nn \@kernel@after@begindocument
+ {
+ \prop_map_inline:Nn \l_keys_usage_preamble_prop
+ {
+ \clist_map_inline:nn {#2}
+ {
+ \keys_define:nn {#1}
+ {
+ ##1 .code:n =
+ \msg_error:nnn { keys } { preamble-only } {##1}
+ }
+ }
+ }
+ }
+\msg_new:nnnn { keys } { preamble-only }
+ { Key~"#1"~may~only~be~used~in~the~preamble. }
+ {
+ LaTeX~was~asked~to~set~a~key~called~"#1",~but~this~is~only~allowed~
+ before~\begin{document}.~You~will~need~to~set~the~key~earlier.
+ }
+\NewDocumentCommand \SetKeys { O { \@currname } +m }
+ { \__keys_options_expand_module:Nn \keys_set:nn {#1} {#2} }
+\ExplSyntaxOff
%%% From File: ltfilehook.dtx
-\providecommand\ltfilehookversion{v1.0l}
-\providecommand\ltfilehookdate{2021/08/27}
+\providecommand\ltfilehookversion{v1.0m}
+\providecommand\ltfilehookdate{2022/04/01}
\ExplSyntaxOn
\tl_new:N \CurrentFile
\tl_new:N \CurrentFilePath
@@ -14421,8 +15121,16 @@ Type H <return> for immediate help.}%
\cs_new_eq:NN \undeclare@file@substitution \__filehook_subst_remove:n
\ExplSyntaxOff
\ExplSyntaxOff
-\def\set@curr@file#1{%
+\def\set@curr@file{%
+ \begingroup
+ \set@curr@file@aux}
+\edef\set@curr@file@nosearch{%
\begingroup
+ \let\noexpand\input@path\noexpand\@empty
+ \csname seq_clear:N\endcsname
+ \expandafter\noexpand\csname l_file_search_path_seq\endcsname
+ \noexpand\set@curr@file@aux}
+\def\set@curr@file@aux#1{%
\escapechar\m@ne
\let\protect\string
\edef~{\string~}%
@@ -14557,12 +15265,13 @@ Type H <return> for immediate help.}%
\declare@file@substitution{atveryend.sty}{atveryend-ltx.sty}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
-%% Copyright (C) 2020-2021
+%% Copyright (C) 2020-2022
%% Frank Mittelbach, LaTeX Team
%%
%%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0j}
-\providecommand\ltshipoutdate{2021/06/09}
+\providecommand\ltshipoutversion{v1.0m}
+\providecommand\ltshipoutdate{2022/05/08}
+ % \cs{AtBeginDvi} is the existing \LaTeXe{} interface to fill the
\ExplSyntaxOn
\bool_new:N \g__shipout_debug_bool
\cs_new_eq:NN \__shipout_debug:n \use_none:n
@@ -14586,21 +15295,21 @@ Type H <return> for immediate help.}%
\box_new:N \l__shipout_raw_box
\sys_if_engine_luatex:TF
{
- \newluafunction \__shipout_finalize_box:
+ \newprotectedluacmd \__shipout_finalize_box:
\exp_args:Nx \everyjob {
\exp_not:V \everyjob
\exp_not:N \lua_now:n {
luatexbase.create_callback('pre_shipout_filter', 'list')
local~call, getbox, setbox = luatexbase.call_callback, tex.getbox, tex.setbox~
- lua.get_functions_table()[\the \__shipout_finalize_box:] = function()
- local~result = call('pre_shipout_filter', getbox(\the \l_shipout_box))
- if~not (result == true) then~
+ lua.get_functions_table()[\the \allocationnumber] = function()
+ local~head = getbox(\the \l_shipout_box)
+ local~result = call('pre_shipout_filter', head)
+ if~not (result == head) then~
setbox(\the \l_shipout_box, result~or~nil)
end~
end
}
}
- \protected \luadef \__shipout_finalize_box: \the \__shipout_finalize_box:
} {
\cs_set_eq:NN \__shipout_finalize_box: \scan_stop:
}
@@ -14673,8 +15382,8 @@ Type H <return> for immediate help.}%
\__shipout_add_foreground_box:n
{ \UseHook{shipout/lastpage}
\@kernel@after@shipout@lastpage }
+ \bool_gset_true:N \g__shipout_lastpage_handled_bool
}
- \bool_gset_true:N \g__shipout_lastpage_handled_bool
}
\__shipout_finalize_box:
\cs_set_eq:NN \protect \exp_not:N
@@ -14919,7 +15628,16 @@ Type H <return> for immediate help.}%
\iow_now:Nx \@auxout {
\gdef\string\@abspage@last {\int_use:N \g_shipout_readonly_int}}
\fi
- \bool_if:NF \g__shipout_lastpage_handled_bool
+ \bool_if:NTF \g__shipout_lastpage_handled_bool
+ {
+ \int_compare:nNnF \@abspage@last = \g_shipout_readonly_int
+ {
+ \@latex@warning@no@line{Hook~ 'shipout/lastpage'~ executed~
+ on~ wrong~ page~ (\@abspage@last\space not~
+ \int_use:N\g_shipout_readonly_int).\MessageBreak
+ Rerun~ to~ correct~ this}%
+ }
+ }
{
\bool_lazy_and:nnF
{ \hook_if_empty_p:n {shipout/lastpage} }
@@ -14973,7 +15691,7 @@ Type H <return> for immediate help.}%
\__shipout_add_foreground_picture:n
\ExplSyntaxOff
\ExplSyntaxOn
-\cs_new_protected:Npn \AtEndDvi {\AddToHook{shipout/lastpage}}
+\cs_new_protected:Npn \AtEndDvi #1 {\AddToHook{shipout/lastpage}{#1}}
\ExplSyntaxOff
\disable@package@load{atenddvi}
{\PackageWarning{atenddvi}
@@ -15307,8 +16025,10 @@ Type H <return> for immediate help.}%
}%
\def \@opcol {%
\if@twocolumn
+ \@expl@@@mark@update@dblcol@structures@@
\@outputdblcol
\else
+ \@expl@@@mark@update@singlecol@structures@@
\@outputpage
\fi
\global \@mparbottom \z@ \global \@textfloatsheight \z@
@@ -16074,6 +16794,10 @@ Type H <return> for immediate help.}%
\def\newmarks{%
\e@alloc\marks \e@alloc@chardef{\count256}\m@ne\e@alloc@top}
\fi
+\NewMarkClass {2e-left}
+\NewMarkClass {2e-right}
+\NewMarkClass {2e-right-nonempty}
+
\ifx\XeTeXcharclass\@undefined
\else
\ifdim\the\XeTeXversion\XeTeXrevision\p@>0.99993\p@
@@ -16385,23 +17109,23 @@ Type H <return> for immediate help.}%
\uccode`\^^9e=`\^^d0 % d-bar
\lccode`\^^[=`\^^[ % oe in OT1
\fi % End of reset block for 8-bit engines
+\ExplSyntaxOn
+\protected\def\@expl@text@lowercase@@n{\text_lowercase:n}
+\protected\def\@expl@text@uppercase@@n{\text_uppercase:n}
+\tl_put_right:Nn \l_text_case_exclude_arg_tl { \NoCaseChange }
+\cs_new_protected:Npn \NoCaseChange #1 {#1}
+\ExplSyntaxOff
\DeclareRobustCommand{\MakeUppercase}[1]{{%
\def\i{I}\def\j{J}%
\def\reserved@a##1##2{\let##1##2\reserved@a}%
\expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
- \let\UTF@two@octets@noexpand\@empty
- \let\UTF@three@octets@noexpand\@empty
- \let\UTF@four@octets@noexpand\@empty
- \protected@edef\reserved@a{\uppercase{#1}}%
+ \protected@edef\reserved@a{\@expl@text@uppercase@@n{\noexpand\unexpanded{#1}}}%
\reserved@a
}}
\DeclareRobustCommand{\MakeLowercase}[1]{{%
\def\reserved@a##1##2{\let##2##1\reserved@a}%
\expandafter\reserved@a\@uclclist\reserved@b{\reserved@b\@gobble}%
- \let\UTF@two@octets@noexpand\@empty
- \let\UTF@three@octets@noexpand\@empty
- \let\UTF@four@octets@noexpand\@empty
- \protected@edef\reserved@a{\lowercase{#1}}%
+ \protected@edef\reserved@a{\@expl@text@lowercase@@n{\noexpand\unexpanded{#1}}}%
\reserved@a
}}
\def\@uclclist{\oe\OE\o\O\ae\AE
diff --git a/Master/texmf-dist/tex/latex/base/latex209.def b/Master/texmf-dist/tex/latex/base/latex209.def
index ead6bf7d293..110d7fb26e0 100644
--- a/Master/texmf-dist/tex/latex/base/latex209.def
+++ b/Master/texmf-dist/tex/latex/base/latex209.def
@@ -15,7 +15,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/latexrelease.sty b/Master/texmf-dist/tex/latex/base/latexrelease.sty
index 4602d4f9a39..558d4177c49 100644
--- a/Master/texmf-dist/tex/latex/base/latexrelease.sty
+++ b/Master/texmf-dist/tex/latex/base/latexrelease.sty
@@ -20,6 +20,7 @@
%% lterror.dtx (with options: `latexrelease')
%% ltpar.dtx (with options: `latexrelease')
%% ltpara.dtx (with options: `latexrelease')
+%% ltmeta.dtx (with options: `latexrelease')
%% ltspace.dtx (with options: `latexrelease')
%% ltlogos.dtx (with options: `latexrelease')
%% ltfiles.dtx (with options: `latexrelease')
@@ -47,6 +48,7 @@
%% ltfloat.dtx (with options: `latexrelease')
%% ltidxglo.dtx (with options: `latexrelease')
%% ltbibl.dtx (with options: `latexrelease')
+%% ltmarks.dtx (with options: `latexrelease')
%% ltpage.dtx (with options: `latexrelease')
%% ltclass.dtx (with options: `latexrelease,tracerollback')
%% ltfilehook.dtx (with options: `latexrelease')
@@ -63,7 +65,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -288,7 +290,7 @@
}
%%% From File: ltvers.dtx
\edef\latexreleaseversion
- {2021-11-15}
+ {2022-06-01}
\newif\if@includeinrelease
\@includeinreleasefalse
\def\IncludeInRelease#1{%
@@ -381,7 +383,7 @@
\GenericInfo{}{BEGIN module: \new@modulename\space (\new@moduledate)}%
\GenericInfo{}{ \@spaces\@spaces\@spaces\space#3\@gobble}%
\ifnum\sourceLaTeXdate<%
- \expandafter\@parse@version\new@moduledate//00\@nil\relax
+ \expandafter\@parse@version\new@moduledate//00\@nil\relax
\ifnum\expandafter\@parse@version\fmtversion//00\@nil<%
\expandafter\@parse@version\new@moduledate//00\@nil\relax
\GenericInfo{}{Skipping module \new@modulename}%
@@ -396,7 +398,19 @@
\@skipping@moduletrue
\expandafter\new@module@skip
\fi}
-\long\def\new@module@skip#1\IncludeInRelease{\IncludeInRelease}
+\long\def\new@module@skip#1\IncludeInRelease{%
+ \long\def\reserved@a##1\EndModuleRelease{}%
+ \if\relax\detokenize\expandafter{\reserved@a#1{}{}\EndModuleRelease}\relax
+ \else
+ \@latex@error{Missing mandatory \string\IncludeInRelease{0000/00/00}}\@ehc
+ \expandafter\@secondoftwo
+ \fi
+ \@gobble
+ {\@expandtwoargs\IncludeInRelease
+ {0000/00/00}{\new@modulename}%
+ {ERROR! Emergency recovery}%
+ #1}%
+ \IncludeInRelease}
\def\EndModuleRelease{%
\ifx\new@modulename\@empty
\@latex@error{Extra \string\EndModuleRelease.}\@eha
@@ -407,7 +421,7 @@
\@skipping@modulefalse
\fi}
\ProvidesPackage{latexrelease}
- [2021/04/29 v1.0n LaTeX release emulation and tests
+ [2022/02/28 v1.0o LaTeX release emulation and tests
(including releases up to \latexreleaseversion)]
\NeedsTeXFormat{LaTeX2e}[1996/06/01]
\@ifundefined{sourceLaTeXdate}{%
@@ -471,7 +485,7 @@ of this package available from CTAN}
\catcode58=11 % :
\catcode126=10 % ~
\catcode32=09 % <space>
- \xdef\latexrelease@postexpl{\unexpanded{%
+ \xdef\latexrelease@postltexpl{\unexpanded{%
\cs_gset_protected:Npn \__latexrelease_declare_command:w
{ \@star@or@long \__latexrelease_declare_command:Nw }
\cs_gset_protected:Npn \__latexrelease_declare_command:Nw #1
@@ -511,26 +525,32 @@ of this package available from CTAN}
{ \cs_set_eq:NN #3 \tex_undefined:D \use:n }
}
\tl_clear_new:N \l__latexrelease_restores_tl
-\cs_gset:Npn \__latexrelease_tmp:w #1 #2
+\cs_gset:Npn \__latexrelease_redefines:w #1 #2
{
- \quark_if_recursion_tail_stop_do:Nn #1
- { \cs_undefine:N \__latexrelease_tmp:w }
+ \quark_if_recursion_tail_stop:N #1
\tl_put_right:Nn \l__latexrelease_restores_tl {#1}
\cs_set_eq:cN { __latexrelease_ \cs_to_str:N #1 } #1
\cs_set_eq:NN #1 #2
- \__latexrelease_tmp:w
+ \__latexrelease_redefines:w
}
-\__latexrelease_tmp:w
+\__latexrelease_redefines:w
\__kernel_chk_if_free_cs:N \use_none:n
\e@alloc \__latexrelease_e@alloc:NnnnnN
\__kernel_msg_error:nnx \use_none:nnn
\msg_new:nnnn \msg_gset:nnnn
- \NewDocumentCommand \DeclareDocumentCommand
+ % \NewDocumentCommand \DeclareDocumentCommand % after ltcmd.dtx
\newcommand \__latexrelease_declare_command:w
\__kernel_msg_error:nnn \use_none:nnn % needed while redirect for kernel msgs doesn't work
\q_recursion_tail \q_recursion_tail
\q_recursion_stop
\msg_redirect_name:nnn { hooks } { exists } { none }
+\cs_gset_protected:Npn \latexrelease@postltcmd
+ {
+ \__latexrelease_redefines:w
+ \NewDocumentCommand \DeclareDocumentCommand
+ \q_recursion_tail \q_recursion_tail
+ \q_recursion_stop
+ }
}}%
\endgroup
%%% From File: ltdirchk.dtx
@@ -847,6 +867,40 @@ of this package available from CTAN}
\let\tracingstacklevels\@undefined
\fi
\EndIncludeInRelease
+\IncludeInRelease{2022/06/01}{\obeylines}%
+ {Add a redirection to obeylines and obeyspaces}%
+\begingroup
+\catcode`\^^M=\active % these lines must end with %
+ \gdef\obeylines{\catcode`\^^M\active%
+ \let^^M\obeyedline%
+ }%
+ \global\let^^M\par % this is in case ^^M appears in a \write
+\endgroup
+\protected\gdef\obeyedline{\par}
+\global\let\obeyedspace\space
+\begingroup
+\catcode`\ =\active%
+\gdef\obeyspaces{\catcode`\ \active\let =\obeyedspace}%
+\global\let =\space%
+\endgroup
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}{\obeylines}%
+ {Add a redirection to obeylines and obeyspaces}%
+
+\expandafter\let\csname obeylines \endcsname\@undefined
+\expandafter\let\csname obeyspace \endcsname\@undefined
+
+\begingroup
+\catcode`\^^M=\active % these lines must end with %
+ \gdef\obeylines{\catcode`\^^M\active \let^^M\par %
+ }%
+ \global\let^^M\RawParEnd % this is in case ^^M appears in a \write
+\endgroup
+\def\obeyspaces{\catcode`\ \active}
+
+\let\obeyedline\@undefined
+\let\obeyedspace\@undefined
+\EndIncludeInRelease
\IncludeInRelease{2021/06/01}{\loggingall}
{\tracingstacklevels and \tracinglostchars=3}%
\edef\loggingall{%
@@ -1110,6 +1164,14 @@ of this package available from CTAN}
\e@alloc\luafunction\e@alloc@chardef
\e@alloc@luafunction@count\m@ne\e@alloc@top
}
+\def\newluacmd{%
+ \e@alloc\luafunction\luadef
+ \e@alloc@luafunction@count\m@ne\e@alloc@top
+}
+\def\newprotectedluacmd{%
+ \e@alloc\luafunction{\protected\luadef}
+ \e@alloc@luafunction@count\m@ne\e@alloc@top
+}
\ifx\e@alloc@whatsit@count\@undefined
\countdef\e@alloc@whatsit@count=261
\e@alloc@whatsit@count=\z@
@@ -1290,6 +1352,7 @@ of this package available from CTAN}
}%
\input{expl3.ltx}
\EndIncludeInRelease
+\@ifundefined{ExplSyntaxOff}{}{\latexrelease@postltexpl}
\IncludeInRelease{2020/10/01}{\@expl@cs@to@str@@N}%
{expl3 macros added for the 2020-10-01 release}%
\ExplSyntaxOn
@@ -1311,6 +1374,42 @@ of this package available from CTAN}
\let \@expl@cs@replacement@spec@@N \@undefined
\let \@expl@str@map@function@@NN \@undefined
\EndIncludeInRelease
+\IncludeInRelease{2022/06/01}%
+ {\fpeval}{fp and int calculations}%
+\ExplSyntaxOn
+\cs_new_eq:NN \fpeval \fp_eval:n
+\cs_new_eq:NN \inteval \int_eval:n
+\cs_new_eq:NN \dimeval \dim_eval:n
+\cs_new_eq:NN \skipeval \skip_eval:n
+\ExplSyntaxOff
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\fpeval}{fp and int calculations}%
+
+\let\fpeval\@undefined
+\let\inteval\@undefined
+\let\dimeval\@undefined
+\let\skipeval\@undefined
+\EndIncludeInRelease
+\IncludeInRelease{2022/06/01}%
+ {\ExpandArgs}{Some pre-expansion commands}%
+\ExplSyntaxOn
+\cs_new_eq:NN \UseName \use:c
+\cs_new:Npn \ExpandArgs #1
+ {
+ \cs_if_exist_use:cF { exp_args:N #1 }
+ { \msg_expandable_error:nnn { kernel } { unknown-arg-expansion } {#1} }
+ }
+\msg_new:nnn { kernel } { unknown-arg-expansion }
+ { Unknown~arg~expansion~"#1" }
+\ExplSyntaxOff
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\ExpandArgs}{Some pre-expansion commands}%
+
+\let\UseName\@undefined
+\let\ExpandArgs\@undefined
+\EndIncludeInRelease
%%% From File: ltdefns.dtx
\IncludeInRelease{2020/10/01}%
{\typeout}{Allow "par" in \typeout}%
@@ -1791,8 +1890,8 @@ of this package available from CTAN}
\EndIncludeInRelease
%%% From File: ltcmd.dtx
-\def\ltcmdversion{v1.0i}
-\def\ltcmddate{2021-12-02}
+\def\ltcmdversion{v1.0l}
+\def\ltcmddate{2022-03-18}
\edef\@latexrelease@catcode@null{\the\catcode`\^^@ }
\catcode`\^^@=12
\ExplSyntaxOn
@@ -2978,21 +3077,21 @@ of this package available from CTAN}
\cs_new_protected:Npn \__cmd_show_command_aux:nNNn #1 #2 #3 #4
{
\__cmd_split_signature:n {#4}
- \iow_term:x
+ \tl_show:x
{
- > ~ \token_to_str:N #2 = #1: \iow_newline:
+ \token_to_str:N #2 = #1: \iow_newline:
\tl_use:N \l__cmd_tmpa_tl
- -> \cs_replacement_spec:N #3 .
+ -> \cs_replacement_spec:N #3
}
}
\cs_new_protected:Npn \__cmd_show_environment:N #1
{
\exp_after:wN \__cmd_show_environment:Nnnw #1 \q__cmd
- \iow_term:x
+ \tl_show:x
{
- > ~ \token_to_str:N \end { \cs_to_str:N #1 } : \iow_newline:
+ \token_to_str:N \end { \cs_to_str:N #1 } : \iow_newline:
-> \exp_args:Nc \cs_replacement_spec:N
- { environment~ \cs_to_str:N #1 ~end~aux~ } .
+ { environment~ \cs_to_str:N #1 ~end~aux~ }
}
}
\cs_new_protected:Npn \__cmd_show_environment:Nnnw #1 #2 #3 #4 \q__cmd
@@ -3951,22 +4050,14 @@ of this package available from CTAN}
\exp_args:Ne \str_case_e:nnF
{
\exp_args:Nf \tl_if_empty:nT { \cs_argument_spec:N #1 }
- {
- \token_if_macro:NT #1
- {
- \exp_after:wN \exp_after:wN
- \exp_after:wN \token_to_str:N
- \exp_after:wN \use_i_delimit_by_q_stop:nw
- #1 \scan_stop: \q_stop
- }
- }
+ { \exp_not:N \exp_not:n { \exp_not:e { \tl_head:N #1 } } }
}
{
- { \token_to_str:N \__cmd_start:nNNnnn } {#2}
- { \token_to_str:N \__cmd_start_expandable:nNNNNn } {#3}
- { \token_to_str:N \__cmd_start_env:nnnnn } {#4}
+ { \exp_not:N \__cmd_start:nNNnnn } {#2}
+ { \exp_not:N \__cmd_start_expandable:nNNNNn } {#3}
+ { \exp_not:N \__cmd_start_env:nnnnn } {#4}
{
- \exp_after:wN \token_to_str:N
+ \exp_after:wN \exp_not:N
\cs:w environment~
\exp_last_unbraced:Ne \use_none:nnn
{ \cs_to_str:N #1 } ~end~aux \cs_end:
@@ -4411,6 +4502,19 @@ of this package available from CTAN}
\cs_new:Npn \IfValueF { \tl_if_novalue:nT }
\cs_new:Npn \IfValueT { \tl_if_novalue:nF }
\cs_new:Npn \IfValueTF #1#2#3 { \tl_if_novalue:nTF {#1} {#3} {#2} }
+\IncludeInRelease{2022/06/01}%
+ {\IfBlankTF}{Testing~for~empty~or~blank}%
+\cs_new_eq:NN \IfBlankF \tl_if_blank:nF
+\cs_new_eq:NN \IfBlankT \tl_if_blank:nT
+\cs_new_eq:NN \IfBlankTF \tl_if_blank:nTF
+\EndIncludeInRelease
+\IncludeInRelease{2021/11/15}%
+ {\IfBlankTF}{Testing~for~empty~or~blank}%
+\cs_undefine:N \IfBlankF
+\cs_undefine:N \IfBlankT
+\cs_undefine:N \IfBlankTF
+
+\EndIncludeInRelease
\tl_new:N \ProcessedArgument
\cs_new_eq:NN \ReverseBoolean \__cmd_bool_reverse:N
\cs_new_eq:NN \SplitArgument \__cmd_split_argument:nnn
@@ -4437,12 +4541,12 @@ of this package available from CTAN}
\EndModuleRelease
\ExplSyntaxOff
-\@ifundefined{ExplSyntaxOff}{}{\latexrelease@postexpl}
+\@ifundefined{ExplSyntaxOff}{}{\latexrelease@postltcmd}
\catcode`\^^@=\@latexrelease@catcode@null\relax
%%% From File: lthooks.dtx
-\def\lthooksversion{v1.0s}
-\def\lthooksdate{2021/09/28}
+\def\lthooksversion{v1.0u}
+\def\lthooksdate{2022/05/19}
\ExplSyntaxOn
\NewModuleRelease{2020/10/01}{lthooks}
{The~hook~management~system}
@@ -5022,6 +5126,7 @@ of this package available from CTAN}
\tl_const:cn { c__hook_generic_env/./begin_tl } { + }
\tl_const:cn { c__hook_generic_env/./end_tl } { + }
\tl_const:cn { c__hook_generic_include/./end_tl } { - }
+\tl_const:cn { c__hook_generic_include/./excluded_tl } { + }
\clist_map_inline:nn { file , package , class , include }
{
\tl_const:cn { c__hook_deprecated_#1/./before_tl } { }
@@ -5083,6 +5188,39 @@ of this package available from CTAN}
\__hook_normalize_hook_rule_args:Nnnnn \__hook_gset_rule:nnnn
{#1} {#2} {#3} {#4}
}
+\IncludeInRelease{2022/06/01}{\__hook_gset_rule:nnnn}
+ {Refuse~setting~rule~for~one-time~hooks}
+\cs_new_protected:Npn \__hook_gset_rule:nnnn #1#2#3#4
+ {
+ \__hook_if_deprecated_generic:nT {#1}
+ {
+ \__hook_deprecated_generic_warn:n {#1}
+ \__hook_do_deprecated_generic:Nn \__hook_gset_rule:nnnn {#1}
+ {#2} {#3} {#4}
+ \__hook_clean_to_scan:w
+ }
+ \__hook_if_execute_immediately:nT {#1}
+ {
+ \msg_error:nnnnnn { hooks } { rule-too-late }
+ {#1} {#2} {#3} {#4}
+ \__hook_clean_to_scan:w
+ }
+ \__hook_init_structure:n {#1}
+ \__hook_rule_gclear:nnn {#1} {#2} {#4}
+ \cs_if_exist_use:cTF { __hook_rule_#3_gset:nnn }
+ {
+ {#1} {#2} {#4}
+ \__hook_update_hook_code:n {#1}
+ }
+ {
+ \msg_error:nnnnnn { hooks } { unknown-rule }
+ {#1} {#2} {#3} {#4}
+ }
+ \s__hook_mark
+ }
+\EndIncludeInRelease
+\IncludeInRelease{2020/10/01}{\__hook_gset_rule:nnnn}
+ {Refuse~setting~rule~for~one-time~hooks}
\cs_new_protected:Npn \__hook_gset_rule:nnnn #1#2#3#4
{
\__hook_if_deprecated_generic:nT {#1}
@@ -5099,9 +5237,12 @@ of this package available from CTAN}
{#1} {#2} {#4}
\__hook_update_hook_code:n {#1}
}
- { \msg_error:nnnnnn { hooks } { unknown-rule }
- {#1} {#2} {#3} {#4} }
+ {
+ \msg_error:nnnnnn { hooks } { unknown-rule }
+ {#1} {#2} {#3} {#4}
+ }
}
+\EndIncludeInRelease
\cs_new_protected:Npn \__hook_rule_before_gset:nnn #1#2#3
{
\__hook_tl_gset:cx { g__hook_#1_rule_ \__hook_label_pair:nn {#2} {#3} _tl }
@@ -5171,8 +5312,8 @@ of this package available from CTAN}
}
\cs_new_protected:Npn \__hook_initialize_hook_code:n #1
{
- \__hook_debug:n{ \iow_term:x{^^JUpdate~ code~ for~ hook~
- '#1' \on@line :^^J} }
+ \__hook_debug:n
+ { \iow_term:x { ^^J Update~code~for~hook~'#1' \on@line :^^J } }
\__hook_include_legacy_code_chunk:n {#1}
\__hook_if_usable:nT {#1}
{
@@ -5193,8 +5334,8 @@ of this package available from CTAN}
\prop_set_eq:Nc \l__hook_work_prop { g__hook_#1_code_prop }
\__hook_initialize_single:ccn
{ __hook~#1 } { g__hook_#1_labels_clist } {#1}
- \__hook_debug:n{ \exp_args:NNx \prop_gput:Nnn
- \g__hook_used_prop {#1}{} }
+ \__hook_debug:n
+ { \exp_args:NNx \prop_gput:Nnn \g__hook_used_prop {#1} { } }
}
}
}
@@ -5351,12 +5492,12 @@ of this package available from CTAN}
}
\prop_put:Nnn \l__hook_work_prop {#1} { }
}
-\cs_new_eq:cc { __hook_apply_-rule_<:nnn } { __hook_apply_rule_>:nnn }
-\cs_new_eq:cc { __hook_apply_-rule_>:nnn } { __hook_apply_rule_<:nnn }
+\cs_new_eq:cc { __hook_apply_-rule_<:nnn } { __hook_apply_rule_>:nnn }
+\cs_new_eq:cc { __hook_apply_-rule_>:nnn } { __hook_apply_rule_<:nnn }
\cs_new_eq:cc { __hook_apply_-rule_<-:nnn } { __hook_apply_rule_<-:nnn }
\cs_new_eq:cc { __hook_apply_-rule_->:nnn } { __hook_apply_rule_->:nnn }
-\cs_new_eq:cc { __hook_apply_-rule_xE:nnn } { __hook_apply_rule_xE:nnn }
-\cs_new_eq:cc { __hook_apply_-rule_xW:nnn } { __hook_apply_rule_xW:nnn }
+\cs_new_eq:cc { __hook_apply_-rule_xE:nnn } { __hook_apply_rule_xE:nnn }
+\cs_new_eq:cc { __hook_apply_-rule_xW:nnn } { __hook_apply_rule_xW:nnn }
\cs_new_protected:Npn \__hook_msg_pair_found:nnn #1#2#3
{
\iow_term:x{~ \str_if_eq:nnTF {#3} {??} {default} {~normal} ~
@@ -5652,9 +5793,9 @@ of this package available from CTAN}
\__hook_tl_gclear:c { __hook~#1 }
\__hook_tl_gclear:c { __hook_next~#1 }
\__hook_tl_gclear:c { __hook_toplevel~#1 }
- \prop_gclear:c { g__hook_#1_code_prop }
+ \prop_gclear_new:c { g__hook_#1_code_prop }
}
-\prg_new_conditional:Npnn \__hook_if_execute_immediately:n #1 { F, TF }
+\prg_new_conditional:Npnn \__hook_if_execute_immediately:n #1 { T, F, TF }
{
\__hook_if_usable:nTF {#1}
{
@@ -5777,7 +5918,8 @@ of this package available from CTAN}
This~command~was~ignored.
}
\msg_new:nnnn { hooks } { unknown-rule }
- { Unknown~ relationship~ '#3'~
+ {
+ Unknown~ relationship~ '#3'~
between~ labels~ '#2'~ and~ '#4'~
\str_if_eq:nnF {#1} {??} { ~in~hook~'#1' }. ~
Perhaps~ a~ misspelling?
@@ -5791,6 +5933,19 @@ of this package available from CTAN}
'voids'~ or~
'unrelated'.
}
+\msg_new:nnnn { hooks } { rule-too-late }
+ {
+ Sorting~rule~for~'#1'~hook~applied~too~late.\\
+ Try~setting~this~rule~earlier.
+ }
+ {
+ You~tried~to~set~the~ordering~of~hook~'#1'~using\\
+ \ \ \iow_char:N\\DeclareHookRule{#1}{#2}{#3}{#4}\\
+ but~hook~'#1'~was~already~used~as~a~one-time~hook,~
+ thus~sorting~is\\
+ no~longer~possible.~Declare~the~rule~
+ before~the~hook~is~used.
+ }
\msg_new:nnnn { hooks } { misused-top-level }
{
Illegal~use~of~\iow_char:N \\AddToHook{#1}[top-level]{...}.\\
@@ -6422,6 +6577,7 @@ of this package available from CTAN}
\EndModuleRelease
\ExplSyntaxOff
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltalloc.dtx
%%% From File: ltcntrl.dtx
%%% From File: lterror.dtx
@@ -6470,7 +6626,7 @@ of this package available from CTAN}
%% File: ltpara.dtx (C) Copyright 2020-2021
%%% From File: ltpara.dtx
\def\ltparaversion{v1.0k}
-\def\ltparadate{2021/11/11}
+\def\ltparadate{2022/05/13}
\ExplSyntaxOn
@@ -6614,6 +6770,45 @@ of this package available from CTAN}
\EndModuleRelease
\ExplSyntaxOff
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% File: ltmeta.dtx (C) Copyright 2021, 2022
+%%% From File: ltmeta.dtx
+\def\ltmetaversion{v1.0b}
+\def\ltmetadate{2022/05/18}
+\NewModuleRelease{2022/06/01}{ltmeta}
+ {Document Metadata handling}
+\let \IfDocumentMetadataTF \@secondoftwo
+\protected\def\DocumentMetadata{%
+ \InputIfFileExists{documentmetadata-support.ltx}%
+ {}%
+ {%
+ \@latex@error{No support files for
+ \noexpand\DocumentMetadata found}
+ {Is the 'LaTeX-lab' bundle installed?%
+ \MessageBreak
+ Without it, the declaration is ignored.}%
+ \let\DocumentMetadata\@gobble
+ }%
+ \let \IfDocumentMetadataTF \@firstoftwo
+ \DocumentMetadata
+}
+\NewDocumentCommand\MakeLinkTarget{sO{}m}{%
+ \ifvmode
+ \special{}%
+ \else
+ \@savsf\spacefactor
+ \smash{}%
+ \spacefactor\@savsf
+ \fi}
+\NewDocumentCommand\LinkTargetOn{}{}
+\NewDocumentCommand\LinkTargetOff{}{}
+\NewDocumentCommand\NextLinkTarget{m}{}
+\IncludeInRelease{0000/00/00}{ltmeta}%
+ {Undo Document Metadata handling}
+
+\let\DocumentMetadata\@undefined
+
+\EndModuleRelease
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltspace.dtx
\IncludeInRelease{2019/10/01}%
{\pagebreak}{Make commands robust}%
@@ -7200,7 +7395,7 @@ of this package available from CTAN}
\else \@include#1 \fi}
\EndIncludeInRelease
-\IncludeInRelease{2020/10/01}%
+\IncludeInRelease{2022/06/01}%
{\@include}{Spaces in file names and hooks}%
\def\@include#1 {%
\ifx\@nodocument\relax
@@ -7238,6 +7433,8 @@ of this package available from CTAN}
\else
\deadcycles\z@
\@nameuse{cp@#1}%
+ \UseHook{include/excluded}%
+ \UseOneTimeHook{include/#1/excluded}%
\fi
\let\@auxout\@mainaux
\else
@@ -7248,9 +7445,59 @@ of this package available from CTAN}
\NewHook{include/before}
\NewReversedHook{include/end}
\NewReversedHook{include/after}
+\NewHook{include/excluded}
\EndIncludeInRelease
+\IncludeInRelease{2020/10/01}%
+ {\@include}{Spaces in file names and hooks}%
+\EndIncludeInRelease
+\def\@include#1 {%
+\ifx\@nodocument\relax
+ \clearpage
+ \if@filesw
+ \immediate\write\@mainaux{\string\@input{#1.aux}}%
+ \fi
+ \@tempswatrue
+ \if@partsw
+ \@tempswafalse
+ \edef\reserved@b{#1}%
+ \@for\reserved@a:=\@partlist\do
+ {\ifx\reserved@a\reserved@b\@tempswatrue\fi}%
+ \fi
+ \if@tempswa
+ \let\@auxout\@partaux
+ \if@filesw
+ \immediate\openout\@partaux "#1.aux"
+ \immediate\write\@partaux{\relax}%
+ \fi
+ \@filehook@set@CurrentFile
+ \UseHook{include/before}%
+ \UseOneTimeHook{include/#1/before}%
+ \@input@{#1.tex}%
+ \UseOneTimeHook{include/#1/end}%
+ \UseHook{include/end}%
+ \clearpage
+ \UseOneTimeHook{include/#1/after}%
+ \UseHook{include/after}%
+ \clearpage
+ \@writeckpt{#1}%
+ \if@filesw
+ \immediate\closeout\@partaux
+ \fi
+ \else
+ \deadcycles\z@
+ \@nameuse{cp@#1}%
+ \fi
+ \let\@auxout\@mainaux
+\else
+\@latex@warning{%
+ \noexpand\include should only be used after \string\begin{document}}%
+\@input@{#1}%
+\fi}
+\NewHook{include/before}
+\NewReversedHook{include/end}
+\NewReversedHook{include/after}
\IncludeInRelease{0000/00/00}%
- {\@include}{Spaces in file names}%
+ {\@include}{Spaces in file names and hooks}%
\def\@include#1 {%
\clearpage
\if@filesw
@@ -7612,6 +7859,7 @@ of this package available from CTAN}
\expandafter
\let\csname\string\T1\string\c-g\endcsname\@undefined
\EndIncludeInRelease
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltcounts.dtx
\IncludeInRelease{2015/01/01}{\@stpelt}
@@ -8091,6 +8339,7 @@ of this package available from CTAN}
\hbadness\z@\showboxdepth\z@\ #1%
\color@endgroup}}
\EndIncludeInRelease
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltfssaxes.dtx
%% Copyright (C) 1999-2020 Frank Mittelbach
\IncludeInRelease{2020/02/02}%
@@ -10728,8 +10977,47 @@ of this package available from CTAN}
%%% From File: ltpageno.dtx
%%% From File: ltxref.dtx
+\IncludeInRelease{2022/06/01}%
+ {\ref}{Add starred reference commands}%
+\def\@kernel@sref#1{\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}}
+\def\@kernel@spageref#1{\expandafter\@setref\csname r@#1\endcsname
+ \@secondoftwo{#1}}
+\let\@kernel@ref\@kernel@sref
+\let\@kernel@pageref\@kernel@spageref
+\NewDocumentCommand\ref{s}
+ {\IfBooleanTF{#1}{\@kernel@sref}{\@kernel@ref}}
+\NewDocumentCommand\pageref{s}
+ {\IfBooleanTF{#1}{\@kernel@spageref}{\@kernel@pageref}}
+\def\@kernel@pageref@exp#1{\csname cs_if_exist:cTF\endcsname
+ {r@#1}{\csname tl_item:cn\endcsname{r@#1}{2}}{0}}
+\def\@kernel@ref@exp#1{\csname cs_if_exist:cTF\endcsname
+ {r@#1}{\csname tl_item:cn\endcsname{r@#1}{1}}{0}}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\ref}{Add starred reference commands}%
+\def\ref#1{\expandafter\@setref\csname r@#1\endcsname\@firstoftwo{#1}}
+\def\pageref#1{\expandafter\@setref\csname r@#1\endcsname
+ \@secondoftwo{#1}}
+
+\EndIncludeInRelease
+\IncludeInRelease{2022/06/01}%
+ {\Ref}{Add starred version}%
+\def\@currentcounter{}
+\def\refstepcounter#1{\stepcounter{#1}%
+ \edef\@currentcounter{#1}%
+ \protected@edef\@currentlabel
+ {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
+}
+\def\labelformat#1{\expandafter\def\csname p@#1\endcsname##1}
+\def\@kernel@Ref#1{\protected@edef\@tempa{\@kernel@ref{#1}}%
+ \expandafter\MakeUppercase\@tempa}
+\def\@kernel@sRef#1{\protected@edef\@tempa{\@kernel@sref{#1}}%
+ \expandafter\MakeUppercase\@tempa}
+\NewDocumentCommand\Ref{s}
+ {\IfBooleanTF{#1}{\@kernel@sRef}{\@kernel@Ref}}
+\EndIncludeInRelease
\IncludeInRelease{2020/10/01}%
- {\refstepcounter}{Add \@currentcounter}%
+ {\Ref}{Add starred version}%
\def\@currentcounter{}
\def\refstepcounter#1{\stepcounter{#1}%
\edef\@currentcounter{#1}%
@@ -12695,6 +12983,24 @@ of this package available from CTAN}
\EndIncludeInRelease
%%% From File: ltidxglo.dtx
%%% From File: ltbibl.dtx
+\IncludeInRelease{2022/06/01}%
+ {\cite}{check for blank}%
+\DeclareRobustCommand\cite{%
+ \@ifnextchar [{\@tempswatrue\@citex@checkblank}{\@tempswafalse\@citex@checkblank[]}}
+\def\@citex@checkblank[#1]#2{%
+ \IfBlankTF {#2}%
+ {\@citex[#1]{\space}}%
+ {\@citex[#1]{#2}}%
+}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {\cite}{check for blank}%
+
+\DeclareRobustCommand\cite{%
+ \@ifnextchar [{\@tempswatrue\@citex}{\@tempswafalse\@citex[]}}
+\let\@citex@checkblank\@undefined
+
+\EndIncludeInRelease
\IncludeInRelease{2021/06/01}%
{\nocite}{Allow nocite in preamble}%
\def\nocite#1{\@bsphack
@@ -12725,9 +13031,350 @@ of this package available from CTAN}
\@esphack}
\EndIncludeInRelease
+%% File: ltmarks.dtx (C) Copyright 2022
+%%% From File: ltmarks.dtx
+\def\ltmarksversion{v1.0d}
+\def\ltmarksdate{2022/06/01}
+%% \end{function}
+
+\ExplSyntaxOn
+\NewModuleRelease{2022/06/01}{ltmarks}
+ {Marks~handling}
+\seq_new:N \g__mark_classes_seq
+\cs_new_protected:Npn \mark_new_class:n #1
+{
+ \seq_if_in:NnTF \g__mark_classes_seq {#1}
+ {
+ \msg_error:nnn { mark } { class-already-defined }
+ {#1}
+ }
+ { \__mark_new_class:nn {#1} }
+}
+\@onlypreamble \mark_new_class:n
+\cs_new_protected:Npn \__mark_new_class:nn #1
+{
+ \exp_args:Nc \newmarks {c__mark_class_ #1 _mark}
+ \seq_gput_right:Nn \g__mark_classes_seq {#1}
+ \tl_new:c { g__mark_page_top_ #1 _tl }
+ \tl_new:c { g__mark_page_first_ #1 _tl }
+ \tl_new:c { g__mark_page_last_ #1 _tl }
+ \tl_new:c { g__mark_previous-page_top_ #1 _tl }
+ \tl_new:c { g__mark_previous-page_first_ #1 _tl }
+ \tl_new:c { g__mark_previous-page_last_ #1 _tl }
+ \tl_new:c { g__mark_column_top_ #1 _tl }
+ \tl_new:c { g__mark_column_first_ #1 _tl }
+ \tl_new:c { g__mark_column_last_ #1 _tl }
+ \tl_new:c { g__mark_previous-column_top_ #1 _tl }
+ \tl_new:c { g__mark_previous-column_first_ #1 _tl }
+ \tl_new:c { g__mark_previous-column_last_ #1 _tl }
+ \tl_new:c { g__mark_first-column_top_ #1 _tl }
+ \tl_new:c { g__mark_first-column_first_ #1 _tl }
+ \tl_new:c { g__mark_first-column_last_ #1 _tl }
+ \tl_new:c { g__mark_last-column_top_ #1 _tl }
+ \tl_new:c { g__mark_last-column_first_ #1 _tl }
+ \tl_new:c { g__mark_last-column_last_ #1 _tl }
+}
+\box_new:N \l__mark_box
+\tl_new:N \g__mark_tmp_tl
+\tl_new:N \g__mark_new_top_tl
+\cs_new_protected:Npn \__mark_update_structure:nn #1#2
+ {
+ \__mark_update_structure_alias:nn { previous-#1 } {#1}
+ \group_begin:
+ \dim_set_eq:NN \tex_splitmaxdepth:D \c_max_dim
+ \int_set_eq:NN \tex_vbadness:D \c_max_int
+ \dim_set_eq:NN \tex_vfuzz:D \c_max_dim
+ \vbox_set_to_ht:Nnn \l__mark_box { -.5\c_max_dim }
+ {
+ #2
+ \tex_unskip:D
+ \box_set_to_last:N \l__mark_box
+ \int_compare:nNnT \tex_lastnodetype:D < 0
+ {
+ \box_if_vertical:NT \l__mark_box
+ {
+ \vbox_set_to_ht:Nnn \l__mark_box { -.5\c_max_dim }
+ {
+ \vbox_unpack:N \l__mark_box
+ \tex_kern:D \c_zero_dim % ensure that box
+ % is not empty
+ }
+ \int_compare:nNnT \tex_badness:D > 0
+ { \vbox_unpack:N \l__mark_box }
+ }
+ }
+ \tex_kern:D \c_zero_dim
+ }
+ \int_compare:nNnTF \tex_badness:D > 0
+ {
+ \vbox_set_split_to_ht:NNn \l__mark_box \l__mark_box \c_max_dim
+ \seq_map_inline:Nn \g__mark_classes_seq
+ {
+ \tl_gset_eq:Nc \g__mark_new_top_tl { g__mark_#1_last_##1_tl }
+ \tl_gset_eq:cN { g__mark_#1_top_##1_tl } \g__mark_new_top_tl
+ \tl_gset:No \g__mark_tmp_tl
+ { \tex_splitbotmarks:D \use:c { c__mark_class_##1_mark } }
+ \tl_if_empty:NTF \g__mark_tmp_tl
+ {
+ \tl_gset_eq:cN { g__mark_#1_last_ ##1_tl }
+ \g__mark_new_top_tl
+ \tl_gset_eq:cN { g__mark_#1_first_##1_tl }
+ \g__mark_new_top_tl
+ }
+ {
+ \tl_gset_eq:cN { g__mark_#1_last_##1_tl } \g__mark_tmp_tl
+ \tl_gset:co { g__mark_#1_first_##1_tl }
+ {
+ \tex_splitfirstmarks:D
+ \use:c { c__mark_class_##1_mark }
+ }
+ }
+ }
+ }
+ {
+ \msg_error:nnn { mark } { infinite-shrinkage } {#1}
+ \seq_map_inline:Nn \g__mark_classes_seq
+ {
+ \tl_gset_eq:cc { g__mark_#1_top_ ##1_tl }
+ { g__mark_#1_last_ ##1_tl }
+ \tl_gset_eq:cc { g__mark_#1_first_##1_tl }
+ { g__mark_#1_last_ ##1_tl }
+ }
+ }
+ \group_end:
+ }
+\cs_new_protected:Npn \__mark_update_structure_alias:nn #1#2 {
+ \seq_map_inline:Nn \g__mark_classes_seq
+ {
+ \tl_gset_eq:cc { g__mark_ #1 _top_ ##1 _tl }
+ { g__mark_ #2 _top_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_ #1 _first_ ##1 _tl }
+ { g__mark_ #2 _first_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_ #1 _last_ ##1 _tl }
+ { g__mark_ #2 _last_ ##1 _tl }
+ }
+}
+\cs_new_protected:Npn \__mark_update_structure_to_err:n #1 {
+ \seq_map_inline:Nn \g__mark_classes_seq
+ {
+ \tl_gset:cn { g__mark_ #1 _top_ ##1 _tl } { \__mark_error:n {#1} }
+ \tl_gset:cn { g__mark_ #1 _first_ ##1 _tl } { \__mark_error:n {#1} }
+ \tl_gset:cn { g__mark_ #1 _last_ ##1 _tl } { \__mark_error:n {#1} }
+ }
+}
+\cs_new_protected:Npn \__mark_error:n #1 {
+ \msg_error:nnn { mark } { invalid-use } {#1}
+}
+\cs_new_protected:Npn \mark_insert:nn #1#2
+{
+ \seq_if_in:NnTF \g__mark_classes_seq {#1}
+ {
+ \group_begin:
+ \@kernel@before@insertmark
+ \hook_use:n { insertmark }
+ \unrestored@protected@xdef \g__mark_tmp_tl {#2}
+ \tex_marks:D \use:c { c__mark_class_ #1 _mark }
+ {
+ \tl_if_empty:NTF \g__mark_tmp_tl
+ { \exp_not:n { \prg_do_nothing: } }
+ { \exp_not:o { \g__mark_tmp_tl } }
+ }
+ \group_end:
+ \if@nobreak\ifvmode\nobreak\fi\fi
+ }
+ {
+ \msg_error:nnx { mark } { unknown-class }
+ { \tl_to_str:n {#1} }
+ }
+}
+\cs_new:Npn \@kernel@before@insertmark {
+ \cs_set_eq:NN \label \scan_stop:
+ \cs_set_eq:NN \index \scan_stop:
+ \cs_set_eq:NN \glossary \scan_stop:
+}
+\hook_new:n {insertmark}
+\cs_new:Npn \mark_use_first:nn #1#2 { \exp_not:v { g__mark_#1_first_#2_tl } }
+\cs_new:Npn \mark_use_last:nn #1#2 { \exp_not:v { g__mark_#1_last_#2_tl } }
+\cs_new:Npn \mark_use_top:nn #1#2 { \exp_not:v { g__mark_#1_top_#2_tl } }
+\prg_new_conditional:Npnn \mark_if_eq:nnnn #1#2#3#4 { T , F , TF }
+{
+ \tl_if_eq:ccTF { g__mark_ #1 _#3_ #2 _tl }
+ { g__mark_ #1 _#4_ #2 _tl }
+ \prg_return_true:
+ \prg_return_false:
+}
+\prg_new_conditional:Npnn \mark_if_eq:nnnnnn #1#2#3#4#5#6 { T , F , TF }
+{
+ \tl_if_eq:ccTF { g__mark_ #1 _#3_ #2 _tl }
+ { g__mark_ #4 _#6_ #5 _tl }
+ \prg_return_true:
+ \prg_return_false:
+}
+\prop_gput:Nnn \g_msg_module_type_prop { mark } { LaTeX }
+\msg_new:nnnn { mark } { class-already-defined }
+ { Mark~class~'#1'~already~defined }
+ {
+ \c__msg_coding_error_text_tl
+ LaTeX~was~asked~to~define~a~new~mark~class~called~'#1':~
+ this~mark~class~already~exists.
+ \c__msg_return_text_tl
+ }
+\msg_new:nnnn { mark } { unknown-class }
+ { Unknown~mark~class~'#1'. }
+ {
+ \c__msg_coding_error_text_tl
+ LaTeX~was~asked~to~manipulate~a~mark~of~class~'#1',~
+ but~this~class~of~marks~does~not~exist.
+ }
+
+\msg_new:nnnn { mark } { invalid-use }
+ { Mark~region~'#1'~not ~usable }
+ {
+ \c__msg_coding_error_text_tl
+ The~region~'#1'~can~only~be~used~after~
+ all~columns~have~been~assembled.
+ \c__msg_return_text_tl
+ }
+\msg_new:nnnn { mark } { infinite-shrinkage }
+ { Infinite~shrinkage~found~in~'#1'. }
+ {
+ \c__msg_coding_error_text_tl
+ The~mark~region~'#1'~contains~some~infinite~negative~glue~
+ allowing~it~to~shrink~to~an~arbitrary~size.~
+ This~makes~it~impossible~to~split~the~region~apart~to~
+ get~at~its~marks.~They~are~lost.
+ }
+\bool_new:N \g__mark_debug_bool
+\cs_new_eq:NN \__mark_debug:n \use_none:n
+\cs_new_protected:Npn \mark_debug_on:
+ {
+ \bool_gset_true:N \g__mark_debug_bool
+ \__mark_debug_gset:
+ }
+\cs_new_protected:Npn \mark_debug_off:
+ {
+ \bool_gset_false:N \g__mark_debug_bool
+ \__mark_debug_gset:
+ }
+\cs_new_protected:Npn \__mark_debug_gset:
+ {
+ \cs_gset_protected:Npx \__mark_debug:n ##1
+ { \bool_if:NT \g__mark_debug_bool {##1} }
+ }
+\cs_new_eq:NN \DebugMarksOn \mark_debug_on:
+\cs_new_eq:NN \DebugMarksOff \mark_debug_off:
+\cs_new_eq:NN \NewMarkClass \mark_new_class:n
+\@onlypreamble \NewMarkClass
+\cs_new_eq:NN \InsertMark \mark_insert:nn
+\NewExpandableDocumentCommand \FirstMark { O{page} m }
+ { \mark_use_first:nn {#1}{#2} }
+\NewExpandableDocumentCommand \LastMark { O{page} m }
+ { \mark_use_last:nn {#1}{#2} }
+\NewExpandableDocumentCommand \TopMark { O{page} m }
+ { \mark_use_top:nn {#1}{#2} }
+\NewExpandableDocumentCommand \IfMarksEqualTF {O{page}mmm} {
+ \mark_if_eq:nnnnTF {#1}{#2}{#3}{#4}
+}
+\cs_new_protected:Npn \__mark_update_singlecol_structures: {
+ \box_if_vertical:NTF \@outputbox
+ {
+ \__mark_update_structure:nn {page}
+ { \vbox_unpack:N \@outputbox }
+ }
+ {
+ \__mark_update_structure:nn {page}
+ { \hbox_unpack:N \@outputbox }
+ }
+ \__mark_update_structure_alias:nn {previous-column}{previous-page}
+ \__mark_update_structure_alias:nn {column}{page}
+ \__mark_update_structure_alias:nn {first-column}{page}
+ \__mark_update_structure_alias:nn {last-column}{page}
+}
+\cs_new_protected:Npn \__mark_update_dblcol_structures: {
+ \box_if_vertical:NTF \@outputbox
+ {
+ \__mark_update_structure:nn {column}
+ { \vbox_unpack:N \@outputbox }
+ }
+ {
+ \__mark_update_structure:nn {column}
+ { \hbox_unpack:N \@outputbox }
+ }
+ \legacy_if:nTF {@firstcolumn}
+ {
+ \__mark_update_structure_alias:nn {first-column}{column}
+ \__mark_update_structure_to_err:n {last-column}
+ }
+ {
+ \__mark_update_structure_alias:nn {last-column}{column}
+ \seq_map_inline:Nn \g__mark_classes_seq
+ {
+ \tl_gset_eq:cc { g__mark_previous-page_top_ ##1 _tl }
+ { g__mark_page_top_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_previous-page_first_ ##1 _tl }
+ { g__mark_page_first_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_previous-page_last_ ##1 _tl }
+ { g__mark_page_last_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_page_top_ ##1 _tl }
+ { g__mark_first-column_top_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_ page_first_ ##1 _tl }
+ { g__mark_first-column_first_ ##1 _tl }
+ \tl_gset_eq:cc { g__mark_page_last_ ##1 _tl }
+ { g__mark_last-column_last_ ##1 _tl }
+ }
+ }
+}
+\cs_new_eq:NN \@expl@@@mark@update@singlecol@structures@@
+ \__mark_update_singlecol_structures:
+\cs_new_eq:NN \@expl@@@mark@update@dblcol@structures@@
+ \__mark_update_dblcol_structures:
+\IncludeInRelease{0000/00/00}{ltmarks}%
+ {Undo~Marks~handling}
+
+\DeclareRobustCommand \NewMarkClass[1]{}
+\DeclareRobustCommand \InsertMark[2]{}
+\RenewExpandableDocumentCommand \FirstMark { O{} m } { }
+\RenewExpandableDocumentCommand \LastMark { O{} m } { }
+\RenewExpandableDocumentCommand \TopMark { O{} m } { }
+\RenewExpandableDocumentCommand \IfMarksEqualTF { O{} mmm }{ }
+
+\let \@expl@@@mark@update@singlecol@structures@@ \relax
+\let \@expl@@@mark@update@dblcol@structures@@ \relax
+
+
+\EndModuleRelease
+\ExplSyntaxOff
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% From File: ltpage.dtx
+\IncludeInRelease{2022/06/01}%
+ {\markboth}{New mark support}%
+\ExplSyntaxOn
+\DeclareRobustCommand*\markboth[2]{%
+ \begingroup
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \unrestored@protected@xdef\@themark {{#1}{#2}}%
+ \@temptokena \expandafter{\@themark}%
+ \mark_insert:nn{2e-left}{#1}
+ \mark_insert:nn{2e-right}{#2}
+ \tl_if_empty:nF{#2}{ \mark_insert:nn{2e-right-nonempty}{#2} }
+ \mark{\the\@temptokena}%
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi}
+\DeclareRobustCommand*\markright[1]{%
+ \begingroup
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \expandafter\@markright\@themark {#1}%
+ \@temptokena \expandafter{\@themark}%
+ \mark_insert:nn{2e-right}{#1}
+ \tl_if_empty:nF{#1}{ \mark_insert:nn{2e-right-nonempty}{#1} }
+ \mark{\the\@temptokena}%
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi}
+\ExplSyntaxOff
+\EndIncludeInRelease
\IncludeInRelease{2019/10/01}%
{\markboth}{Make commands robust}%
+
\DeclareRobustCommand*\markboth[2]{%
\begingroup
\let\label\relax \let\index\relax \let\glossary\relax
@@ -12744,6 +13391,7 @@ of this package available from CTAN}
\mark{\the\@temptokena}%
\endgroup
\if@nobreak\ifvmode\nobreak\fi\fi}
+
\EndIncludeInRelease
\IncludeInRelease{0000/00/00}%
{\markboth}{Make commands robust}%
@@ -13313,22 +13961,16 @@ of this package available from CTAN}
\xdef\@currpath{\ifx\reserved@b\@empty\else\reserved@b/\fi}%
\global\let\@currext#4%
\@ifl@aded\@currext\@currname
- {\@if@ptions\@currext{\@currname}{#2}{}%
- {\@latex@error
- {Option clash for \@cls@pkg\space \@currname}%
- {The package \@currname\space has already been loaded
- with options:\MessageBreak
- \space\space[\@ptionlist{\@currname.\@currext}]\MessageBreak
- There has now been an attempt to load it
- with options\MessageBreak
- \space\space[#2]\MessageBreak
- Adding the global options:\MessageBreak
- \space\space
- \@ptionlist{\@currname.\@currext},#2\MessageBreak
- to your \noexpand\documentclass declaration may fix this.%
- \MessageBreak
- Try typing \space <return> \space to proceed.}}%
- \@firstofone}%
+ {%
+ \@ifundefined{opt@fam@\@currname.\@currext}
+ {\@onefilewithoptions@clashchk{#2}}
+ {%
+ \@namedef{opt@\@currname.\@currext}{#2}%
+ \expandafter\expandafter\expandafter\ProcessKeyOptions
+ \expandafter\expandafter\expandafter
+ [\csname opt@fam@\@currname.\@currext\endcsname]%
+ }%
+ }%
{\makeatletter
\@reset@ptions
\IfFileExists{\@currpath\@currname.\@currext}{}%
@@ -13368,6 +14010,23 @@ of this package available from CTAN}
\ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi}%
\@popfilename
\@reset@ptions}
+\def\@onefilewithoptions@clashchk#1{%
+ \@if@ptions\@currext{\@currname}{#1}{}%
+ {\@latex@error
+ {Option clash for \@cls@pkg\space \@currname}%
+ {The package \@currname\space has already been loaded
+ with options:\MessageBreak
+ \space\space[\@ptionlist{\@currname.\@currext}]\MessageBreak
+ There has now been an attempt to load it
+ with options\MessageBreak
+ \space\space[#1]\MessageBreak
+ Adding the global options:\MessageBreak
+ \space\space
+ \@ptionlist{\@currname.\@currext},#1\MessageBreak
+ to your \noexpand\documentclass declaration may fix this.%
+ \MessageBreak
+ Try typing \space <return> \space to proceed.}}%
+ \@firstofone}
\let\@currpkg@reqd\@empty
\@onlypreamble\@onefilewithoptions
\let\@unprocessedoptions\@undefined
@@ -13850,8 +14509,8 @@ of this package available from CTAN}
\endgroup%
\EndIncludeInRelease
%%% From File: ltfilehook.dtx
-\providecommand\ltfilehookversion{v1.0l}
-\providecommand\ltfilehookdate{2021/08/27}
+\providecommand\ltfilehookversion{v1.0m}
+\providecommand\ltfilehookdate{2022/04/01}
\IncludeInRelease{2020/10/01}%
{\CurrentFile}{Hook management file}%
\ExplSyntaxOn
@@ -14092,6 +14751,36 @@ of this package available from CTAN}
\let \undeclare@file@substitution \@gobble
\EndIncludeInRelease
+\IncludeInRelease{2022/06/01}%
+ {\set@curr@file}{Setting current file name}%
+\def\set@curr@file{%
+ \begingroup
+ \set@curr@file@aux}
+\edef\set@curr@file@nosearch{%
+ \begingroup
+ \let\noexpand\input@path\noexpand\@empty
+ \csname seq_clear:N\endcsname
+ \expandafter\noexpand\csname l_file_search_path_seq\endcsname
+ \noexpand\set@curr@file@aux}
+\def\set@curr@file@aux#1{%
+ \escapechar\m@ne
+ \let\protect\string
+ \edef~{\string~}%
+ \expandafter\def\csname\expandafter\endcsname
+ \expandafter{\csname\endcsname}%
+ \@expl@@@filehook@if@no@extension@@nTF{#1}%
+ {\@tempswatrue}{\@tempswafalse}%
+ \@kernel@make@file@csname\@curr@file
+ \@expl@@@filehook@resolve@file@subst@@w {#1}%
+ \@expl@@@filehook@if@file@replaced@@TF
+ {\@kernel@make@file@csname\@curr@file@reqd
+ \@expl@@@filehook@normalize@file@name@@w{#1}%
+ \if@tempswa \@expl@@@filehook@drop@extension@@N\@curr@file@reqd \fi}%
+ {\if@tempswa \@expl@@@filehook@drop@extension@@N\@curr@file \fi
+ \global\let\@curr@file@reqd\@curr@file}%
+ \@expl@@@filehook@clear@replacement@flag@@
+ \endgroup}
+\EndIncludeInRelease
\IncludeInRelease{2021/06/01}%
{\set@curr@file}{Setting current file name}%
\def\set@curr@file#1{%
@@ -14113,6 +14802,7 @@ of this package available from CTAN}
\global\let\@curr@file@reqd\@curr@file}%
\@expl@@@filehook@clear@replacement@flag@@
\endgroup}
+\let\set@curr@file@nosearch\@undefined
\EndIncludeInRelease
\IncludeInRelease{2020/10/01}%
{\set@curr@file}{Setting current file name}%
@@ -14133,6 +14823,7 @@ of this package available from CTAN}
\global\let\@curr@file@reqd\@curr@file}%
\@expl@@@filehook@clear@replacement@flag@@
\endgroup}
+\let\set@curr@file@nosearch\@undefined
\EndIncludeInRelease
\IncludeInRelease{2019/10/01}%
{\set@curr@file}{Setting current file name}%
@@ -14146,10 +14837,12 @@ of this package available from CTAN}
\csname\@firstofone#1\@empty\endcsname}}%
\endgroup
}
+\let\set@curr@file@nosearch\@undefined
\EndIncludeInRelease
\IncludeInRelease{0000/00/00}%
{\set@curr@file}{Setting current file name}%
\let\set@curr@file\@undefined
+\let\set@curr@file@nosearch\@undefined
\EndIncludeInRelease
\IncludeInRelease{2020/10/01}%
{\@kernel@make@file@csname}{Make file csname}%
@@ -14297,12 +14990,13 @@ of this package available from CTAN}
\EndIncludeInRelease
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
-%% Copyright (C) 2020-2021
+%% Copyright (C) 2020-2022
%% Frank Mittelbach, LaTeX Team
%%
%%% From File: ltshipout.dtx
-\providecommand\ltshipoutversion{v1.0j}
-\providecommand\ltshipoutdate{2021/06/09}
+\providecommand\ltshipoutversion{v1.0m}
+\providecommand\ltshipoutdate{2022/05/08}
+ % \cs{AtBeginDvi} is the existing \LaTeXe{} interface to fill the
\IncludeInRelease{2020/10/01}%
{\shipout}{Hook management (shipout)}%
\ExplSyntaxOn
@@ -14328,21 +15022,21 @@ of this package available from CTAN}
\box_new:N \l__shipout_raw_box
\sys_if_engine_luatex:TF
{
- \newluafunction \__shipout_finalize_box:
+ \newprotectedluacmd \__shipout_finalize_box:
\exp_args:Nx \everyjob {
\exp_not:V \everyjob
\exp_not:N \lua_now:n {
luatexbase.create_callback('pre_shipout_filter', 'list')
local~call, getbox, setbox = luatexbase.call_callback, tex.getbox, tex.setbox~
- lua.get_functions_table()[\the \__shipout_finalize_box:] = function()
- local~result = call('pre_shipout_filter', getbox(\the \l_shipout_box))
- if~not (result == true) then~
+ lua.get_functions_table()[\the \allocationnumber] = function()
+ local~head = getbox(\the \l_shipout_box)
+ local~result = call('pre_shipout_filter', head)
+ if~not (result == head) then~
setbox(\the \l_shipout_box, result~or~nil)
end~
end
}
}
- \protected \luadef \__shipout_finalize_box: \the \__shipout_finalize_box:
} {
\cs_set_eq:NN \__shipout_finalize_box: \scan_stop:
}
@@ -14415,8 +15109,8 @@ of this package available from CTAN}
\__shipout_add_foreground_box:n
{ \UseHook{shipout/lastpage}
\@kernel@after@shipout@lastpage }
+ \bool_gset_true:N \g__shipout_lastpage_handled_bool
}
- \bool_gset_true:N \g__shipout_lastpage_handled_bool
}
\__shipout_finalize_box:
\cs_set_eq:NN \protect \exp_not:N
@@ -14661,7 +15355,16 @@ of this package available from CTAN}
\iow_now:Nx \@auxout {
\gdef\string\@abspage@last {\int_use:N \g_shipout_readonly_int}}
\fi
- \bool_if:NF \g__shipout_lastpage_handled_bool
+ \bool_if:NTF \g__shipout_lastpage_handled_bool
+ {
+ \int_compare:nNnF \@abspage@last = \g_shipout_readonly_int
+ {
+ \@latex@warning@no@line{Hook~ 'shipout/lastpage'~ executed~
+ on~ wrong~ page~ (\@abspage@last\space not~
+ \int_use:N\g_shipout_readonly_int).\MessageBreak
+ Rerun~ to~ correct~ this}%
+ }
+ }
{
\bool_lazy_and:nnF
{ \hook_if_empty_p:n {shipout/lastpage} }
@@ -14754,7 +15457,7 @@ of this package available from CTAN}
\IncludeInRelease{2020/10/01}%
{\AtEndDvi}{atenddvi emulation}%
\ExplSyntaxOn
-\cs_new_protected:Npn \AtEndDvi {\AddToHook{shipout/lastpage}}
+\cs_new_protected:Npn \AtEndDvi #1 {\AddToHook{shipout/lastpage}{#1}}
\ExplSyntaxOff
\disable@package@load{atenddvi}
{\PackageWarning{atenddvi}
@@ -15746,6 +16449,16 @@ of this package available from CTAN}
{\newmarks}{Extended Allocation}%
\let\newmarks\@undefined
\EndIncludeInRelease
+\IncludeInRelease{2022/06/01}%
+ {2e-left}{Delayed legacy marks}%
+\NewMarkClass {2e-left}
+\NewMarkClass {2e-right}
+\NewMarkClass {2e-right-nonempty}
+\EndIncludeInRelease
+\IncludeInRelease{0000/00/00}%
+ {2e-left}{Delayed legacy marks}%
+
+\EndIncludeInRelease
\IncludeInRelease{2015/01/01}%
{\newXeTeXintercharclass}{Extended Allocation}%
\ifx\XeTeXcharclass\@undefined
diff --git a/Master/texmf-dist/tex/latex/base/latexsym.sty b/Master/texmf-dist/tex/latex/base/latexsym.sty
index 2b9c796d7a9..d73a74a9c92 100644
--- a/Master/texmf-dist/tex/latex/base/latexsym.sty
+++ b/Master/texmf-dist/tex/latex/base/latexsym.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/latin1.def b/Master/texmf-dist/tex/latex/base/latin1.def
index ed5a22f8014..120d9721fe0 100644
--- a/Master/texmf-dist/tex/latex/base/latin1.def
+++ b/Master/texmf-dist/tex/latex/base/latin1.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{latin1.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/latin10.def b/Master/texmf-dist/tex/latex/base/latin10.def
index c92a028b4d7..f4241d8c027 100644
--- a/Master/texmf-dist/tex/latex/base/latin10.def
+++ b/Master/texmf-dist/tex/latex/base/latin10.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{latin10.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/latin2.def b/Master/texmf-dist/tex/latex/base/latin2.def
index 08bd58131cf..b547a325c11 100644
--- a/Master/texmf-dist/tex/latex/base/latin2.def
+++ b/Master/texmf-dist/tex/latex/base/latin2.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{latin2.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/latin3.def b/Master/texmf-dist/tex/latex/base/latin3.def
index 2f631252795..4ae99149208 100644
--- a/Master/texmf-dist/tex/latex/base/latin3.def
+++ b/Master/texmf-dist/tex/latex/base/latin3.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{latin3.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/latin4.def b/Master/texmf-dist/tex/latex/base/latin4.def
index 5b5158d3a5c..b6add411489 100644
--- a/Master/texmf-dist/tex/latex/base/latin4.def
+++ b/Master/texmf-dist/tex/latex/base/latin4.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{latin4.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/latin5.def b/Master/texmf-dist/tex/latex/base/latin5.def
index 303ab25ac9a..45bf0918e60 100644
--- a/Master/texmf-dist/tex/latex/base/latin5.def
+++ b/Master/texmf-dist/tex/latex/base/latin5.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{latin5.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/latin9.def b/Master/texmf-dist/tex/latex/base/latin9.def
index 5fa9b02c000..ef314108513 100644
--- a/Master/texmf-dist/tex/latex/base/latin9.def
+++ b/Master/texmf-dist/tex/latex/base/latin9.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{latin9.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/lcyenc.dfu b/Master/texmf-dist/tex/latex/base/lcyenc.dfu
index 50dd6990de4..94694168669 100644
--- a/Master/texmf-dist/tex/latex/base/lcyenc.dfu
+++ b/Master/texmf-dist/tex/latex/base/lcyenc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,10 +42,10 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{lcyenc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\DeclareUnicodeCharacter{00A4}{\textcurrency}
-\DeclareUnicodeCharacter{00AB}{\guillemotleft}
-\DeclareUnicodeCharacter{00BB}{\guillemotright}
+\DeclareUnicodeCharacter{00AB}{\guillemetleft}
+\DeclareUnicodeCharacter{00BB}{\guillemetright}
\DeclareUnicodeCharacter{00C6}{\AE}
\DeclareUnicodeCharacter{00D8}{\O}
\DeclareUnicodeCharacter{00DF}{\ss}
diff --git a/Master/texmf-dist/tex/latex/base/leqno.clo b/Master/texmf-dist/tex/latex/base/leqno.clo
index 04f60c2c92c..cac53d6e890 100644
--- a/Master/texmf-dist/tex/latex/base/leqno.clo
+++ b/Master/texmf-dist/tex/latex/base/leqno.clo
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/leqno.sty b/Master/texmf-dist/tex/latex/base/leqno.sty
index 84b15423671..9d2d65de04b 100644
--- a/Master/texmf-dist/tex/latex/base/leqno.sty
+++ b/Master/texmf-dist/tex/latex/base/leqno.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/letter.cls b/Master/texmf-dist/tex/latex/base/letter.cls
index 587e999eebc..9207cf32505 100644
--- a/Master/texmf-dist/tex/latex/base/letter.cls
+++ b/Master/texmf-dist/tex/latex/base/letter.cls
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1996/06/01]
\ProvidesClass{letter}
- [2021/03/05 v1.3c
+ [2021/12/07 v1.3c
Standard LaTeX document class]
\newcommand\@ptsize{}
\DeclareOption{a4paper}
diff --git a/Master/texmf-dist/tex/latex/base/letter.sty b/Master/texmf-dist/tex/latex/base/letter.sty
index a41368b0e53..87953c9e372 100644
--- a/Master/texmf-dist/tex/latex/base/letter.sty
+++ b/Master/texmf-dist/tex/latex/base/letter.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ltluatex.lua b/Master/texmf-dist/tex/latex/base/ltluatex.lua
index 5f14651fbff..40c36482252 100644
--- a/Master/texmf-dist/tex/latex/base/ltluatex.lua
+++ b/Master/texmf-dist/tex/latex/base/ltluatex.lua
@@ -13,7 +13,7 @@
-- (but please observe conditions on bug reports sent to that address!)
--
--
--- Copyright (C) 2015-2021
+-- Copyright (C) 2015-2022
-- The LaTeX Project and any individual authors listed elsewhere
-- in this file.
--
@@ -288,8 +288,8 @@ local callbacktypes = callbacktypes or {
post_linebreak_filter = reverselist,
hpack_filter = list,
vpack_filter = list,
- hpack_quality = list,
- vpack_quality = list,
+ hpack_quality = exclusive,
+ vpack_quality = exclusive,
pre_output_filter = list,
process_rule = exclusive,
hyphenate = simple,
@@ -352,7 +352,6 @@ end
local function list_handler(name)
return function(head, ...)
local ret
- local alltrue = true
for _,i in ipairs(callbacklist[name]) do
ret = i.func(head, ...)
if ret == false then
@@ -363,20 +362,18 @@ local function list_handler(name)
return false
end
if ret ~= true then
- alltrue = false
head = ret
end
end
- return alltrue and true or head
+ return head
end
end
-local function list_handler_default()
- return true
+local function list_handler_default(head)
+return head
end
local function reverselist_handler(name)
return function(head, ...)
local ret
- local alltrue = true
local callbacks = callbacklist[name]
for i = #callbacks, 1, -1 do
local cb = callbacks[i]
@@ -389,11 +386,10 @@ local function reverselist_handler(name)
return false
end
if ret ~= true then
- alltrue = false
head = ret
end
end
- return alltrue and true or head
+ return head
end
end
local function simple_handler(name)
@@ -609,14 +605,10 @@ callback_register("mlist_to_hlist", function(head, display_type, need_penalties)
if current == false then
flush_list(head)
return nil
- elseif current == true then
- current = head
end
current = call_callback("mlist_to_hlist", current, display_type, need_penalties)
local post = call_callback("post_mlist_to_hlist_filter", current, display_type, need_penalties)
- if post == true then
- return current
- elseif post == false then
+ if post == false then
flush_list(current)
return nil
end
diff --git a/Master/texmf-dist/tex/latex/base/ltluatex.tex b/Master/texmf-dist/tex/latex/base/ltluatex.tex
index 9cf7c9511a6..3a5b526eed8 100644
--- a/Master/texmf-dist/tex/latex/base/ltluatex.tex
+++ b/Master/texmf-dist/tex/latex/base/ltluatex.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -47,7 +47,7 @@
#1#2[#3]{\endgroup\immediate\write-1{File: #1 #3}}
\fi
\ProvidesFile{ltluatex.tex}%
-[2021/10/15 v1.1v
+[2021/12/27 v1.1x
LuaTeX support for plain TeX (core)
]
\edef\etatcatcode{\the\catcode`\@}
@@ -225,6 +225,14 @@
\e@alloc\luafunction\e@alloc@chardef
\e@alloc@luafunction@count\m@ne\e@alloc@top
}
+\def\newluacmd{%
+ \e@alloc\luafunction\luadef
+ \e@alloc@luafunction@count\m@ne\e@alloc@top
+}
+\def\newprotectedluacmd{%
+ \e@alloc\luafunction{\protected\luadef}
+ \e@alloc@luafunction@count\m@ne\e@alloc@top
+}
\ifx\e@alloc@whatsit@count\@undefined
\countdef\e@alloc@whatsit@count=261
\e@alloc@whatsit@count=\z@
diff --git a/Master/texmf-dist/tex/latex/base/ltxcheck.tex b/Master/texmf-dist/tex/latex/base/ltxcheck.tex
index 9e013bc2af7..7f4b925b79f 100644
--- a/Master/texmf-dist/tex/latex/base/ltxcheck.tex
+++ b/Master/texmf-dist/tex/latex/base/ltxcheck.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/tex/latex/base/ltxdoc.cfg b/Master/texmf-dist/tex/latex/base/ltxdoc.cfg
new file mode 100644
index 00000000000..4b040df5dce
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/base/ltxdoc.cfg
@@ -0,0 +1,71 @@
+%%
+%% This is file `ltxdoc.cfg',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ltxdoc.dtx (with options: `cfg')
+%%
+%% This is a generated file.
+%%
+%% The source is maintained by the LaTeX Project team and bug
+%% 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 (C) 1993-2022
+%% The LaTeX Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the LaTeX base system.
+%% --------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2008 or later.
+%%
+%% This file has the LPPL maintenance status "maintained".
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% base system. You may however distribute the LaTeX base system without
+%% such generated files.
+%%
+%% The list of all files belonging to the LaTeX base distribution is
+%% given in the file `manifest.txt'. See also `legal.txt' for additional
+%% information.
+%%
+%% 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.
+
+\ProvidesFile{ltxdoc.cfg}%
+ [2021/12/07 v2.0c ltxdoc.cls configuration (LaTeX Project)]
+\PassOptionsToClass{a4paper}{article}
+
+
+\AddToHook{package/hyperref/after}{%
+%% \RequirePackage{hypdoc}% % this is now triggered by doc
+ \RequirePackage{pdftexcmds}\relax
+ \ifnum\pdf@strcmp{\jobname}{inputenc}=0 %
+ \hypersetup{pdfencoding=auto}%
+ \pdfstringdefDisableCommands{%
+ \def\meta#1{% inputenc.dtx
+ \9060\010#1\9060\011%
+ }%
+ }%
+ \else
+ \fi
+ \pdfstringdefDisableCommands{%
+ \let\env\relax % longtable.dtx
+ \let\mytt\relax % tabularx.dtx
+ }%
+}
+
+
+\endinput
+%%
+%% End of file `ltxdoc.cfg'.
diff --git a/Master/texmf-dist/tex/latex/base/ltxdoc.cls b/Master/texmf-dist/tex/latex/base/ltxdoc.cls
index 2b9ff087857..e438aa6a9cf 100644
--- a/Master/texmf-dist/tex/latex/base/ltxdoc.cls
+++ b/Master/texmf-dist/tex/latex/base/ltxdoc.cls
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -43,19 +43,29 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{ltxdoc}
- [2020/12/05 v2.1b Standard LaTeX documentation class]
+ [2022/06/03 v2.1f Standard LaTeX documentation class]
\DeclareOption{a5paper}{\@latexerr{Option not supported}%
{}}
+\newif\ifltxdoc@load@cfg@ \ltxdoc@load@cfg@true
+\DeclareOption{nocfg}{\ltxdoc@load@cfg@false}
+\let\ltxdoc@doc@version\@empty % use current version by default
+\DeclareOption{doc2}{\def\ltxdoc@doc@version{=v2}}
\DeclareOption*{%
\PassOptionsToClass {\CurrentOption}{article}}
+\ProcessOptions
+\ifltxdoc@load@cfg@
\InputIfFileExists{ltxdoc.cfg}
{\typeout{*************************************^^J%
* Local config file ltxdoc.cfg used^^J%
*************************************}}
{}
-\ProcessOptions
+\else
+ \typeout{*************************************^^J%
+ * Local config file ignored^^J%
+ *************************************}
+\fi
\LoadClass{article}
-\RequirePackage{doc}
+\RequirePackage{doc}[\ltxdoc@doc@version]
\AtBeginDocument{\MakeShortVerb{\|}}
\DeclareFontShape{OT1}{cmtt}{bx}{n}{<-> ssub * cmtt/m/n}{}
\DeclareFontFamily{OMS}{cmtt}{\skewchar\font 48} % '60
@@ -71,7 +81,6 @@
\setcounter{StandardModuleDepth}{1}
\def\cmd#1{\cs{\expandafter\cmd@to@cs\string#1}}
\def\cmd@to@cs#1#2{\char\number`#2\relax}
-\DeclareRobustCommand\cs[1]{\texttt{\char`\\#1}}
\providecommand\marg[1]{%
{\ttfamily\char`\{}\meta{#1}{\ttfamily\char`\}}}
\providecommand\oarg[1]{%
@@ -255,6 +264,14 @@ Bug reports can be opened (category \texttt{#1}) at\\%
\vskip 1.5em}
\providecommand\url{\texttt}
\def\task#1#2{}
+\providecommand\LuaTeX{Lua\TeX}
+\providecommand\cls{\textsf}
+\providecommand\pkg{\textsf}
+\providecommand\enquote[1]{``#1''}
+\DeclareRobustCommand\cs[1]{\texttt{\bslash\detokenize{#1}}}%
+\AtBeginDocument{%
+ \renewcommand\PrintMacroName[1]{\MacroFont\detokenize{#1}}%
+ }
\endinput
%%
%% End of file `ltxdoc.cls'.
diff --git a/Master/texmf-dist/tex/latex/base/ly1enc.dfu b/Master/texmf-dist/tex/latex/base/ly1enc.dfu
index 3090b54dc8e..28a68ce14f0 100644
--- a/Master/texmf-dist/tex/latex/base/ly1enc.dfu
+++ b/Master/texmf-dist/tex/latex/base/ly1enc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{ly1enc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
\DeclareUnicodeCharacter{00A1}{\textexclamdown}
\DeclareUnicodeCharacter{00A2}{\textcent}
@@ -52,7 +52,7 @@
\DeclareUnicodeCharacter{00A6}{\textbrokenbar}
\DeclareUnicodeCharacter{00A7}{\textsection}
\DeclareUnicodeCharacter{00AA}{\textordfeminine}
-\DeclareUnicodeCharacter{00AB}{\guillemotleft}
+\DeclareUnicodeCharacter{00AB}{\guillemetleft}
\DeclareUnicodeCharacter{00AD}{\-}
\DeclareUnicodeCharacter{00AE}{\textregistered}
\DeclareUnicodeCharacter{00B0}{\textdegree}
@@ -60,7 +60,7 @@
\DeclareUnicodeCharacter{00B6}{\textparagraph}
\DeclareUnicodeCharacter{00B7}{\textperiodcentered}
\DeclareUnicodeCharacter{00BA}{\textordmasculine}
-\DeclareUnicodeCharacter{00BB}{\guillemotright}
+\DeclareUnicodeCharacter{00BB}{\guillemetright}
\DeclareUnicodeCharacter{00BC}{\textonequarter}
\DeclareUnicodeCharacter{00BD}{\textonehalf}
\DeclareUnicodeCharacter{00BE}{\textthreequarters}
diff --git a/Master/texmf-dist/tex/latex/base/macce.def b/Master/texmf-dist/tex/latex/base/macce.def
index 427568e1272..e5c22b74610 100644
--- a/Master/texmf-dist/tex/latex/base/macce.def
+++ b/Master/texmf-dist/tex/latex/base/macce.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{macce.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/makeidx.sty b/Master/texmf-dist/tex/latex/base/makeidx.sty
index 69ee592cf71..16a1db6ab56 100644
--- a/Master/texmf-dist/tex/latex/base/makeidx.sty
+++ b/Master/texmf-dist/tex/latex/base/makeidx.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/newlfont.sty b/Master/texmf-dist/tex/latex/base/newlfont.sty
index e565a123ce8..f15202c9a07 100644
--- a/Master/texmf-dist/tex/latex/base/newlfont.sty
+++ b/Master/texmf-dist/tex/latex/base/newlfont.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/next.def b/Master/texmf-dist/tex/latex/base/next.def
index 196fa3f6998..0fdc2a5350a 100644
--- a/Master/texmf-dist/tex/latex/base/next.def
+++ b/Master/texmf-dist/tex/latex/base/next.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,6 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
-
\ProvidesFile{next.def}
[2021/02/14 v1.3d Input encoding file]
\ProvideTextCommandDefault{\textdegree}{\ensuremath{{^\circ}}}
diff --git a/Master/texmf-dist/tex/latex/base/nfssfont.tex b/Master/texmf-dist/tex/latex/base/nfssfont.tex
index b34ca1b83fc..2dd193aeeba 100644
--- a/Master/texmf-dist/tex/latex/base/nfssfont.tex
+++ b/Master/texmf-dist/tex/latex/base/nfssfont.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/oldlfont.sty b/Master/texmf-dist/tex/latex/base/oldlfont.sty
index eea01fefce2..60c4d56ae74 100644
--- a/Master/texmf-dist/tex/latex/base/oldlfont.sty
+++ b/Master/texmf-dist/tex/latex/base/oldlfont.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/omlcmm.fd b/Master/texmf-dist/tex/latex/base/omlcmm.fd
index 07fadc91b0c..fcd7ac66daf 100644
--- a/Master/texmf-dist/tex/latex/base/omlcmm.fd
+++ b/Master/texmf-dist/tex/latex/base/omlcmm.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/omlcmr.fd b/Master/texmf-dist/tex/latex/base/omlcmr.fd
index 6a3eff2859a..e0fce9650ee 100644
--- a/Master/texmf-dist/tex/latex/base/omlcmr.fd
+++ b/Master/texmf-dist/tex/latex/base/omlcmr.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/omlenc.def b/Master/texmf-dist/tex/latex/base/omlenc.def
index bf1bebaba3d..a3f09a94301 100644
--- a/Master/texmf-dist/tex/latex/base/omlenc.def
+++ b/Master/texmf-dist/tex/latex/base/omlenc.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -49,6 +49,7 @@
\DeclareTextSymbol{\textless}{OML}{`\<}
\DeclareTextSymbol{\textgreater}{OML}{`\>}
\DeclareTextAccent{\t}{OML}{127} % "7F
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
%% End of file `omlenc.def'.
diff --git a/Master/texmf-dist/tex/latex/base/omllcmm.fd b/Master/texmf-dist/tex/latex/base/omllcmm.fd
index 69125a60371..6321c690539 100644
--- a/Master/texmf-dist/tex/latex/base/omllcmm.fd
+++ b/Master/texmf-dist/tex/latex/base/omllcmm.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/omscmr.fd b/Master/texmf-dist/tex/latex/base/omscmr.fd
index 8fbd8f9479c..c1a3b8a4924 100644
--- a/Master/texmf-dist/tex/latex/base/omscmr.fd
+++ b/Master/texmf-dist/tex/latex/base/omscmr.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/omscmsy.fd b/Master/texmf-dist/tex/latex/base/omscmsy.fd
index 8e75eb83e24..423f041e2f3 100644
--- a/Master/texmf-dist/tex/latex/base/omscmsy.fd
+++ b/Master/texmf-dist/tex/latex/base/omscmsy.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/omsenc.def b/Master/texmf-dist/tex/latex/base/omsenc.def
index c07656fd9d4..cd8e0b9a183 100644
--- a/Master/texmf-dist/tex/latex/base/omsenc.def
+++ b/Master/texmf-dist/tex/latex/base/omsenc.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -65,6 +65,7 @@
\char 13 % "0D
}%
\egroup}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
%% End of file `omsenc.def'.
diff --git a/Master/texmf-dist/tex/latex/base/omsenc.dfu b/Master/texmf-dist/tex/latex/base/omsenc.dfu
index 64f5fc546d7..0e2e5c93a10 100644
--- a/Master/texmf-dist/tex/latex/base/omsenc.dfu
+++ b/Master/texmf-dist/tex/latex/base/omsenc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{omsenc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\DeclareUnicodeCharacter{00A7}{\textsection}
\DeclareUnicodeCharacter{00B6}{\textparagraph}
\DeclareUnicodeCharacter{00B7}{\textperiodcentered}
diff --git a/Master/texmf-dist/tex/latex/base/omslcmsy.fd b/Master/texmf-dist/tex/latex/base/omslcmsy.fd
index 907216541ae..2373069d3e1 100644
--- a/Master/texmf-dist/tex/latex/base/omslcmsy.fd
+++ b/Master/texmf-dist/tex/latex/base/omslcmsy.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/omxcmex.fd b/Master/texmf-dist/tex/latex/base/omxcmex.fd
index 20463d1b4b5..dfd16bd3a4c 100644
--- a/Master/texmf-dist/tex/latex/base/omxcmex.fd
+++ b/Master/texmf-dist/tex/latex/base/omxcmex.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/omxlcmex.fd b/Master/texmf-dist/tex/latex/base/omxlcmex.fd
index e4b873db00b..9cff2309ae0 100644
--- a/Master/texmf-dist/tex/latex/base/omxlcmex.fd
+++ b/Master/texmf-dist/tex/latex/base/omxlcmex.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/openbib.sty b/Master/texmf-dist/tex/latex/base/openbib.sty
index fbfc7c63cd1..97b1d644082 100644
--- a/Master/texmf-dist/tex/latex/base/openbib.sty
+++ b/Master/texmf-dist/tex/latex/base/openbib.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ot1cmdh.fd b/Master/texmf-dist/tex/latex/base/ot1cmdh.fd
index 26ac2b7907b..a34ae5c92e8 100644
--- a/Master/texmf-dist/tex/latex/base/ot1cmdh.fd
+++ b/Master/texmf-dist/tex/latex/base/ot1cmdh.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ot1cmfib.fd b/Master/texmf-dist/tex/latex/base/ot1cmfib.fd
index 3c6722a006c..e4ddbecd024 100644
--- a/Master/texmf-dist/tex/latex/base/ot1cmfib.fd
+++ b/Master/texmf-dist/tex/latex/base/ot1cmfib.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ot1cmfr.fd b/Master/texmf-dist/tex/latex/base/ot1cmfr.fd
index 6aca744d489..c1a5bf7bb02 100644
--- a/Master/texmf-dist/tex/latex/base/ot1cmfr.fd
+++ b/Master/texmf-dist/tex/latex/base/ot1cmfr.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ot1cmr.fd b/Master/texmf-dist/tex/latex/base/ot1cmr.fd
index c6721f95f5a..90c019feed5 100644
--- a/Master/texmf-dist/tex/latex/base/ot1cmr.fd
+++ b/Master/texmf-dist/tex/latex/base/ot1cmr.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ot1cmss.fd b/Master/texmf-dist/tex/latex/base/ot1cmss.fd
index 4a93306e8d2..7b98b6232f7 100644
--- a/Master/texmf-dist/tex/latex/base/ot1cmss.fd
+++ b/Master/texmf-dist/tex/latex/base/ot1cmss.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ot1cmtt.fd b/Master/texmf-dist/tex/latex/base/ot1cmtt.fd
index 4805f48894b..2658d0a5319 100644
--- a/Master/texmf-dist/tex/latex/base/ot1cmtt.fd
+++ b/Master/texmf-dist/tex/latex/base/ot1cmtt.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ot1cmvtt.fd b/Master/texmf-dist/tex/latex/base/ot1cmvtt.fd
index eb64d4d8988..0dd9bdd91a9 100644
--- a/Master/texmf-dist/tex/latex/base/ot1cmvtt.fd
+++ b/Master/texmf-dist/tex/latex/base/ot1cmvtt.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ot1enc.def b/Master/texmf-dist/tex/latex/base/ot1enc.def
index f8aa170419f..5232a26c1d1 100644
--- a/Master/texmf-dist/tex/latex/base/ot1enc.def
+++ b/Master/texmf-dist/tex/latex/base/ot1enc.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -120,6 +120,7 @@
\ifx\textcommaabove\@undefined\else
\DeclareTextCompositeCommand{\c}{OT1}{g}{\textcommaabove{g}}
\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
%% End of file `ot1enc.def'.
diff --git a/Master/texmf-dist/tex/latex/base/ot1enc.dfu b/Master/texmf-dist/tex/latex/base/ot1enc.dfu
index ae8a166bbfe..5cb0f7098a2 100644
--- a/Master/texmf-dist/tex/latex/base/ot1enc.dfu
+++ b/Master/texmf-dist/tex/latex/base/ot1enc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{ot1enc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
\DeclareUnicodeCharacter{00A1}{\textexclamdown}
\DeclareUnicodeCharacter{00A3}{\textsterling}
diff --git a/Master/texmf-dist/tex/latex/base/ot1lcmss.fd b/Master/texmf-dist/tex/latex/base/ot1lcmss.fd
index 62ee74c309c..49131029e53 100644
--- a/Master/texmf-dist/tex/latex/base/ot1lcmss.fd
+++ b/Master/texmf-dist/tex/latex/base/ot1lcmss.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ot1lcmtt.fd b/Master/texmf-dist/tex/latex/base/ot1lcmtt.fd
index 680f6eb7b74..16dcda30472 100644
--- a/Master/texmf-dist/tex/latex/base/ot1lcmtt.fd
+++ b/Master/texmf-dist/tex/latex/base/ot1lcmtt.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ot2enc.dfu b/Master/texmf-dist/tex/latex/base/ot2enc.dfu
index 9ba7e1a2f5e..7bc71b4ee0b 100644
--- a/Master/texmf-dist/tex/latex/base/ot2enc.dfu
+++ b/Master/texmf-dist/tex/latex/base/ot2enc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,9 +42,9 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{ot2enc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
-\DeclareUnicodeCharacter{00AB}{\guillemotleft}
-\DeclareUnicodeCharacter{00BB}{\guillemotright}
+ [2022/06/07 v1.3c UTF-8 support]
+\DeclareUnicodeCharacter{00AB}{\guillemetleft}
+\DeclareUnicodeCharacter{00BB}{\guillemetright}
\DeclareUnicodeCharacter{0131}{\i}
\DeclareUnicodeCharacter{0237}{\j}
\DeclareUnicodeCharacter{0400}{\@tabacckludge`\CYRE}
diff --git a/Master/texmf-dist/tex/latex/base/ot4enc.def b/Master/texmf-dist/tex/latex/base/ot4enc.def
index 73b55c8f0a2..6c356a0236e 100644
--- a/Master/texmf-dist/tex/latex/base/ot4enc.def
+++ b/Master/texmf-dist/tex/latex/base/ot4enc.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -126,6 +126,7 @@
\DeclareTextComposite{\.}{OT4}{z}{187}
\DeclareTextComposite{\'}{OT4}{O}{211}
\DeclareTextComposite{\'}{OT4}{o}{243}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
%% End of file `ot4enc.def'.
diff --git a/Master/texmf-dist/tex/latex/base/preload.cfg b/Master/texmf-dist/tex/latex/base/preload.cfg
index d27c68144fb..6cf4ffa63bc 100644
--- a/Master/texmf-dist/tex/latex/base/preload.cfg
+++ b/Master/texmf-dist/tex/latex/base/preload.cfg
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/preload.ltx b/Master/texmf-dist/tex/latex/base/preload.ltx
index 9e88f31d02c..f47c071359e 100644
--- a/Master/texmf-dist/tex/latex/base/preload.ltx
+++ b/Master/texmf-dist/tex/latex/base/preload.ltx
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/proc.cls b/Master/texmf-dist/tex/latex/base/proc.cls
index 5c37ce55132..187202280e8 100644
--- a/Master/texmf-dist/tex/latex/base/proc.cls
+++ b/Master/texmf-dist/tex/latex/base/proc.cls
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesClass{proc}
- [2020/11/23 v1.3l
+ [2021/12/09 v1.3m
Standard LaTeX document class]
\DeclareOption{a5paper}
{\ClassError{proc}{Option `a5paper' not supported}{}}
@@ -88,9 +88,12 @@
\setlength\columnsep{.375in}
\let\@oddhead\@empty
\let\@evenhead\@empty
-\def\@oddfoot{\normalfont\rightmark \hfil
- \pagename{} \thepage}
-\def\@evenfoot{\@oddfoot}
+\def\@oddfoot{\rightmark \hfil \pagename{} \thepage}
+\if@twoside
+ \def\@evenfoot{\pagename{} \thepage \hfil \leftmark}
+\else
+ \def\@evenfoot{\@oddfoot}
+\fi
\def\maketitle{\par
\begingroup
\renewcommand\thefootnote{\fnsymbol{footnote}}%
diff --git a/Master/texmf-dist/tex/latex/base/proc.sty b/Master/texmf-dist/tex/latex/base/proc.sty
index 57614baef87..27bb2c28ba7 100644
--- a/Master/texmf-dist/tex/latex/base/proc.sty
+++ b/Master/texmf-dist/tex/latex/base/proc.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesFile{proc.sty}
- [2020/11/23 v1.3l
+ [2021/12/09 v1.3m
LaTeX 2.09 compatibility style option `proc']
\if@compatibility
\else
@@ -84,9 +84,12 @@
\setlength\columnsep{.375in}
\let\@oddhead\@empty
\let\@evenhead\@empty
-\def\@oddfoot{\normalfont\rightmark \hfil
- \pagename{} \thepage}
-\def\@evenfoot{\@oddfoot}
+\def\@oddfoot{\rightmark \hfil \pagename{} \thepage}
+\if@twoside
+ \def\@evenfoot{\pagename{} \thepage \hfil \leftmark}
+\else
+ \def\@evenfoot{\@oddfoot}
+\fi
\def\maketitle{\par
\begingroup
\renewcommand\thefootnote{\fnsymbol{footnote}}%
diff --git a/Master/texmf-dist/tex/latex/base/report.cls b/Master/texmf-dist/tex/latex/base/report.cls
index c8a4255d4a2..ac7d0f64793 100644
--- a/Master/texmf-dist/tex/latex/base/report.cls
+++ b/Master/texmf-dist/tex/latex/base/report.cls
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/report.sty b/Master/texmf-dist/tex/latex/base/report.sty
index 26f3170f6d3..7c4c63b859e 100644
--- a/Master/texmf-dist/tex/latex/base/report.sty
+++ b/Master/texmf-dist/tex/latex/base/report.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/sfonts.def b/Master/texmf-dist/tex/latex/base/sfonts.def
index ff087875c50..4e2b0a03aa0 100644
--- a/Master/texmf-dist/tex/latex/base/sfonts.def
+++ b/Master/texmf-dist/tex/latex/base/sfonts.def
@@ -8,7 +8,7 @@
%%
%% This is a generated file.
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/shortvrb.sty b/Master/texmf-dist/tex/latex/base/shortvrb.sty
index 2f2df48380e..4141d998138 100644
--- a/Master/texmf-dist/tex/latex/base/shortvrb.sty
+++ b/Master/texmf-dist/tex/latex/base/shortvrb.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -43,11 +43,16 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesPackage{shortvrb}
- [2021/10/04 v2.1n
- Standard LaTeX documentation package (FMi)]
+ [2022/06/08 v3.0j
+ Standard LaTeX documentation package V3 (FMi)]
%%
%% Package `doc' to use with LaTeX 2e
-%% Copyright (C) 1989-2020 Frank Mittelbach, all rights reserved.
+%% Copyright (C) 1989-2022 Frank Mittelbach, all rights reserved.
+
+
+
+
+
\def\MakeShortVerb{%
\@ifstar
{\def\@shortvrbdef{\verb*}\@MakeShortVerb}%
@@ -67,13 +72,20 @@
\endgroup
\global\catcode`#1\active
\else
- \@shortvrbinfo\@empty{#1 already}{\@empty\verb(*)}%
+ \@shortvrbinfo\@empty{#1 already}%
+ {\@empty\verb% % to fool emacs highlighting
+ (*)}%
\fi}
\def\DeleteShortVerb#1{%
\expandafter\ifx\csname cc\string#1\endcsname\relax
- \@shortvrbinfo\@empty{#1 not}{\@empty\verb(*)}%
+ \@shortvrbinfo\@empty{#1 not}%
+ {\@empty\verb% % to fool emacs highlighting
+ (*)}%
\else
- \@shortvrbinfo{Deleted }{#1 as}{\@empty\verb(*)}%
+ \@shortvrbinfo{Deleted }{#1 as}%
+ {\@empty\verb% % to fool emacs
+ % highlighting
+ (*)}%
\rem@special{#1}%
\global\catcode`#1\csname cc\string#1\endcsname
\global \expandafter\let \csname cc\string#1\endcsname \relax
@@ -103,6 +115,7 @@
\ifnum`#1=`##1 \else \noexpand\@makeother\noexpand##1\fi}%
\xdef\@sanitize{\@sanitize}%
\endgroup}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
%% End of file `shortvrb.sty'.
diff --git a/Master/texmf-dist/tex/latex/base/showidx.sty b/Master/texmf-dist/tex/latex/base/showidx.sty
index deec7bb819e..3bdb36f0cd7 100644
--- a/Master/texmf-dist/tex/latex/base/showidx.sty
+++ b/Master/texmf-dist/tex/latex/base/showidx.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/size10.clo b/Master/texmf-dist/tex/latex/base/size10.clo
index 44d49d79b50..6f0c7561b20 100644
--- a/Master/texmf-dist/tex/latex/base/size10.clo
+++ b/Master/texmf-dist/tex/latex/base/size10.clo
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/size11.clo b/Master/texmf-dist/tex/latex/base/size11.clo
index aa52bb6a06a..1ba265275ea 100644
--- a/Master/texmf-dist/tex/latex/base/size11.clo
+++ b/Master/texmf-dist/tex/latex/base/size11.clo
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/size12.clo b/Master/texmf-dist/tex/latex/base/size12.clo
index 2ca0d7405ae..c07477787c9 100644
--- a/Master/texmf-dist/tex/latex/base/size12.clo
+++ b/Master/texmf-dist/tex/latex/base/size12.clo
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/slides.cls b/Master/texmf-dist/tex/latex/base/slides.cls
index 8dc33962200..832b37cd253 100644
--- a/Master/texmf-dist/tex/latex/base/slides.cls
+++ b/Master/texmf-dist/tex/latex/base/slides.cls
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -43,7 +43,7 @@
%% extension .ins) which are part of the distribution.
\NeedsTeXFormat{LaTeX2e}[1997/06/01]
\ProvidesClass{slides}
- [2021/10/04 v2.4b
+ [2022/05/18 v2.4b
Standard LaTeX document class]
\input{slides.def}
\InputIfFileExists{sfonts.cfg}
diff --git a/Master/texmf-dist/tex/latex/base/slides.def b/Master/texmf-dist/tex/latex/base/slides.def
index d1dcc58b84a..19d98ed86ba 100644
--- a/Master/texmf-dist/tex/latex/base/slides.def
+++ b/Master/texmf-dist/tex/latex/base/slides.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{slides.def}
- [2021/10/04 v2.4b
+ [2022/05/18 v2.4b
SLiTeX definitions]
\message{hacks,}
diff --git a/Master/texmf-dist/tex/latex/base/slides.sty b/Master/texmf-dist/tex/latex/base/slides.sty
index 4f9b69569bf..4fb211590d3 100644
--- a/Master/texmf-dist/tex/latex/base/slides.sty
+++ b/Master/texmf-dist/tex/latex/base/slides.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/source2edoc.cls b/Master/texmf-dist/tex/latex/base/source2edoc.cls
index bef81d995d4..f0f1479cac5 100644
--- a/Master/texmf-dist/tex/latex/base/source2edoc.cls
+++ b/Master/texmf-dist/tex/latex/base/source2edoc.cls
@@ -2,9 +2,11 @@
% This class is buggy and needs fixing
\ProvidesClass{source2edoc}
- [2021/01/14 v0.2b Quick hack to typeset source2.tex
+ [2022/04/03 v0.2c Quick hack to typeset source2.tex
(not usable for anything else and buggy -- will vanish again)!]
+
+
\LoadClass{l3doc}
\RemoveFromHook{begindocument}[l3doc] % drop the standard setting making " a shortverb
@@ -18,7 +20,7 @@
\ExplSyntaxOn
% in 2e we have a lot of functions that have no ``user-level'' documentation so we disable
-% a bogus backref in that case. Over time the sources should be clean up to have such documentation.
+% a bogus backref in that case. Over time the sources should be cleaned up to have such documentation.
\cs_set_protected:Npn \__codedoc_print_documented:
{
@@ -169,7 +171,10 @@
t\or u\or v\or w\or x\or y\or z\or A\or B\or C\or
D\or E\or F\or G\or H\or I\or J\or K\or L\or M\or
N\or O\or P\or Q\or R\or S\or T\or U\or V\or W\or
- X\or Y\or Z\else\@ctrerr\fi}
+ X\or Y\or Z\or
+ aa\or bb\or cc\or % we are getting definitely too many modules
+ dd%
+ \else\@ctrerr\fi}
\def\docincludeaux{%
\def\thepart{\aalph{part}}\def\filesep{\thepart-}%
\let\filekey\@gobble
@@ -293,6 +298,11 @@ Bug reports can be opened (category \texttt{#1}) at\\%
\fi}%
\endgroup%
+
+% don't run tocs when they are in some module files
+\AddToHook{cmd/tableofcontents/after}{\global\let\tableofcontents\relax}
+
+
\InputIfFileExists{ltxdoc.cfg}
{\typeout{*************************************^^J%
* Local config file ltxdoc.cfg used^^J%
@@ -300,6 +310,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
{}
+
\errorstopmode
\batchmode
diff --git a/Master/texmf-dist/tex/latex/base/structuredlog.sty b/Master/texmf-dist/tex/latex/base/structuredlog.sty
index a46772c3fcf..f1de46f35a7 100644
--- a/Master/texmf-dist/tex/latex/base/structuredlog.sty
+++ b/Master/texmf-dist/tex/latex/base/structuredlog.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,8 +42,8 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
%%% From File: ltfilehook.dtx
-\providecommand\ltfilehookversion{v1.0l}
-\providecommand\ltfilehookdate{2021/08/27}
+\providecommand\ltfilehookversion{v1.0m}
+\providecommand\ltfilehookdate{2022/04/01}
\ProvidesExplPackage
{structuredlog}{\ltfilehookdate}{\ltfilehookversion}
{Structuring the TeX transcript file}
diff --git a/Master/texmf-dist/tex/latex/base/syntonly.sty b/Master/texmf-dist/tex/latex/base/syntonly.sty
index 9ab639baeb7..aaac80ea9a3 100644
--- a/Master/texmf-dist/tex/latex/base/syntonly.sty
+++ b/Master/texmf-dist/tex/latex/base/syntonly.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/t1cmdh.fd b/Master/texmf-dist/tex/latex/base/t1cmdh.fd
index 76625ef4a54..2855ca8a1f9 100644
--- a/Master/texmf-dist/tex/latex/base/t1cmdh.fd
+++ b/Master/texmf-dist/tex/latex/base/t1cmdh.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/t1cmfib.fd b/Master/texmf-dist/tex/latex/base/t1cmfib.fd
index fda2cf71311..63db02be391 100644
--- a/Master/texmf-dist/tex/latex/base/t1cmfib.fd
+++ b/Master/texmf-dist/tex/latex/base/t1cmfib.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/t1cmfr.fd b/Master/texmf-dist/tex/latex/base/t1cmfr.fd
index f676a74f646..d71ca32c4c8 100644
--- a/Master/texmf-dist/tex/latex/base/t1cmfr.fd
+++ b/Master/texmf-dist/tex/latex/base/t1cmfr.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/t1cmr.fd b/Master/texmf-dist/tex/latex/base/t1cmr.fd
index 0432498ab98..ff17222f16f 100644
--- a/Master/texmf-dist/tex/latex/base/t1cmr.fd
+++ b/Master/texmf-dist/tex/latex/base/t1cmr.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/t1cmss.fd b/Master/texmf-dist/tex/latex/base/t1cmss.fd
index cdc1ac4e0d0..5dc6c724b0c 100644
--- a/Master/texmf-dist/tex/latex/base/t1cmss.fd
+++ b/Master/texmf-dist/tex/latex/base/t1cmss.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/t1cmtt.fd b/Master/texmf-dist/tex/latex/base/t1cmtt.fd
index 663fed9f465..8ef2377d9f8 100644
--- a/Master/texmf-dist/tex/latex/base/t1cmtt.fd
+++ b/Master/texmf-dist/tex/latex/base/t1cmtt.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/t1cmvtt.fd b/Master/texmf-dist/tex/latex/base/t1cmvtt.fd
index 0668e1095e8..d31fe4202bc 100644
--- a/Master/texmf-dist/tex/latex/base/t1cmvtt.fd
+++ b/Master/texmf-dist/tex/latex/base/t1cmvtt.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/t1enc.def b/Master/texmf-dist/tex/latex/base/t1enc.def
index dad5bdd3733..553d72e7a80 100644
--- a/Master/texmf-dist/tex/latex/base/t1enc.def
+++ b/Master/texmf-dist/tex/latex/base/t1enc.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -291,6 +291,7 @@
\DeclareTextCompositeCommand{\c}{T1}{R}{\textcommabelow{R}}
\DeclareTextCompositeCommand{\c}{T1}{r}{\textcommabelow{r}}
\fi
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
%% End of file `t1enc.def'.
diff --git a/Master/texmf-dist/tex/latex/base/t1enc.dfu b/Master/texmf-dist/tex/latex/base/t1enc.dfu
index f1ff30c8a33..ef6c441be2b 100644
--- a/Master/texmf-dist/tex/latex/base/t1enc.dfu
+++ b/Master/texmf-dist/tex/latex/base/t1enc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,13 +42,13 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{t1enc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
\DeclareUnicodeCharacter{00A1}{\textexclamdown}
\DeclareUnicodeCharacter{00A3}{\textsterling}
-\DeclareUnicodeCharacter{00AB}{\guillemotleft}
+\DeclareUnicodeCharacter{00AB}{\guillemetleft}
\DeclareUnicodeCharacter{00AD}{\-}
-\DeclareUnicodeCharacter{00BB}{\guillemotright}
+\DeclareUnicodeCharacter{00BB}{\guillemetright}
\DeclareUnicodeCharacter{00BF}{\textquestiondown}
\DeclareUnicodeCharacter{00C0}{\@tabacckludge`A}
\DeclareUnicodeCharacter{00C1}{\@tabacckludge'A}
@@ -231,6 +231,15 @@
\DeclareUnicodeCharacter{017C}{\.z}
\DeclareUnicodeCharacter{017D}{\v Z}
\DeclareUnicodeCharacter{017E}{\v z}
+\DeclareUnicodeCharacter{01C4}{D\v Z}
+\DeclareUnicodeCharacter{01C5}{D\v z}
+\DeclareUnicodeCharacter{01C6}{d\v z}
+\DeclareUnicodeCharacter{01C7}{LJ}
+\DeclareUnicodeCharacter{01C8}{Lj}
+\DeclareUnicodeCharacter{01C9}{lj}
+\DeclareUnicodeCharacter{01CA}{NJ}
+\DeclareUnicodeCharacter{01CB}{Nj}
+\DeclareUnicodeCharacter{01CC}{nj}
\DeclareUnicodeCharacter{01CD}{\v A}
\DeclareUnicodeCharacter{01CE}{\v a}
\DeclareUnicodeCharacter{01CF}{\v I}
diff --git a/Master/texmf-dist/tex/latex/base/t1enc.sty b/Master/texmf-dist/tex/latex/base/t1enc.sty
index cc26edeb386..ddb9f5e4c06 100644
--- a/Master/texmf-dist/tex/latex/base/t1enc.sty
+++ b/Master/texmf-dist/tex/latex/base/t1enc.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/t1lcmss.fd b/Master/texmf-dist/tex/latex/base/t1lcmss.fd
index 974e58a4d6d..0b9e1ef509f 100644
--- a/Master/texmf-dist/tex/latex/base/t1lcmss.fd
+++ b/Master/texmf-dist/tex/latex/base/t1lcmss.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/t1lcmtt.fd b/Master/texmf-dist/tex/latex/base/t1lcmtt.fd
index 442d99516a9..e2a94984bf7 100644
--- a/Master/texmf-dist/tex/latex/base/t1lcmtt.fd
+++ b/Master/texmf-dist/tex/latex/base/t1lcmtt.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/t2aenc.dfu b/Master/texmf-dist/tex/latex/base/t2aenc.dfu
index d053792c02d..9ff4e9f140e 100644
--- a/Master/texmf-dist/tex/latex/base/t2aenc.dfu
+++ b/Master/texmf-dist/tex/latex/base/t2aenc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,11 +42,11 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{t2aenc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\DeclareUnicodeCharacter{00A4}{\textcurrency}
\DeclareUnicodeCharacter{00A7}{\textsection}
-\DeclareUnicodeCharacter{00AB}{\guillemotleft}
-\DeclareUnicodeCharacter{00BB}{\guillemotright}
+\DeclareUnicodeCharacter{00AB}{\guillemetleft}
+\DeclareUnicodeCharacter{00BB}{\guillemetright}
\DeclareUnicodeCharacter{0131}{\i}
\DeclareUnicodeCharacter{0237}{\j}
\DeclareUnicodeCharacter{0400}{\@tabacckludge`\CYRE}
@@ -228,7 +228,9 @@
\DeclareUnicodeCharacter{2031}{\textpertenthousand}
\DeclareUnicodeCharacter{2116}{\textnumero}
\DeclareUnicodeCharacter{2329}{\textlangle}
+\DeclareUnicodeCharacter{3008}{\textlangle}
\DeclareUnicodeCharacter{232A}{\textrangle}
+\DeclareUnicodeCharacter{3009}{\textrangle}
\DeclareUnicodeCharacter{2423}{\textvisiblespace}
\DeclareUnicodeCharacter{27E8}{\textlangle}
\DeclareUnicodeCharacter{27E9}{\textrangle}
diff --git a/Master/texmf-dist/tex/latex/base/t2benc.dfu b/Master/texmf-dist/tex/latex/base/t2benc.dfu
index b0b8f4d8d04..59fda59a1f6 100644
--- a/Master/texmf-dist/tex/latex/base/t2benc.dfu
+++ b/Master/texmf-dist/tex/latex/base/t2benc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,11 +42,11 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{t2benc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\DeclareUnicodeCharacter{00A4}{\textcurrency}
\DeclareUnicodeCharacter{00A7}{\textsection}
-\DeclareUnicodeCharacter{00AB}{\guillemotleft}
-\DeclareUnicodeCharacter{00BB}{\guillemotright}
+\DeclareUnicodeCharacter{00AB}{\guillemetleft}
+\DeclareUnicodeCharacter{00BB}{\guillemetright}
\DeclareUnicodeCharacter{0131}{\i}
\DeclareUnicodeCharacter{0237}{\j}
\DeclareUnicodeCharacter{0400}{\@tabacckludge`\CYRE}
@@ -222,7 +222,9 @@
\DeclareUnicodeCharacter{2031}{\textpertenthousand}
\DeclareUnicodeCharacter{2116}{\textnumero}
\DeclareUnicodeCharacter{2329}{\textlangle}
+\DeclareUnicodeCharacter{3008}{\textlangle}
\DeclareUnicodeCharacter{232A}{\textrangle}
+\DeclareUnicodeCharacter{3009}{\textrangle}
\DeclareUnicodeCharacter{2423}{\textvisiblespace}
\DeclareUnicodeCharacter{27E8}{\textlangle}
\DeclareUnicodeCharacter{27E9}{\textrangle}
diff --git a/Master/texmf-dist/tex/latex/base/t2cenc.dfu b/Master/texmf-dist/tex/latex/base/t2cenc.dfu
index 5d00592efef..e3e14bc4624 100644
--- a/Master/texmf-dist/tex/latex/base/t2cenc.dfu
+++ b/Master/texmf-dist/tex/latex/base/t2cenc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,11 +42,11 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{t2cenc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\DeclareUnicodeCharacter{00A4}{\textcurrency}
\DeclareUnicodeCharacter{00A7}{\textsection}
-\DeclareUnicodeCharacter{00AB}{\guillemotleft}
-\DeclareUnicodeCharacter{00BB}{\guillemotright}
+\DeclareUnicodeCharacter{00AB}{\guillemetleft}
+\DeclareUnicodeCharacter{00BB}{\guillemetright}
\DeclareUnicodeCharacter{0131}{\i}
\DeclareUnicodeCharacter{0237}{\j}
\DeclareUnicodeCharacter{0400}{\@tabacckludge`\CYRE}
@@ -218,7 +218,9 @@
\DeclareUnicodeCharacter{2031}{\textpertenthousand}
\DeclareUnicodeCharacter{2116}{\textnumero}
\DeclareUnicodeCharacter{2329}{\textlangle}
+\DeclareUnicodeCharacter{3008}{\textlangle}
\DeclareUnicodeCharacter{232A}{\textrangle}
+\DeclareUnicodeCharacter{3009}{\textrangle}
\DeclareUnicodeCharacter{2423}{\textvisiblespace}
\DeclareUnicodeCharacter{27E8}{\textlangle}
\DeclareUnicodeCharacter{27E9}{\textrangle}
diff --git a/Master/texmf-dist/tex/latex/base/testpage.tex b/Master/texmf-dist/tex/latex/base/testpage.tex
index ff17984ee12..e199a2bb71c 100644
--- a/Master/texmf-dist/tex/latex/base/testpage.tex
+++ b/Master/texmf-dist/tex/latex/base/testpage.tex
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 1993-2021
+% Copyright (C) 1993-2022
% The LaTeX Project and any individual authors listed elsewhere
% in this file.
%
diff --git a/Master/texmf-dist/tex/latex/base/textcomp-2018-08-11.sty b/Master/texmf-dist/tex/latex/base/textcomp-2018-08-11.sty
index 57659edefc1..a27026e8263 100644
--- a/Master/texmf-dist/tex/latex/base/textcomp-2018-08-11.sty
+++ b/Master/texmf-dist/tex/latex/base/textcomp-2018-08-11.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/textcomp.sty b/Master/texmf-dist/tex/latex/base/textcomp.sty
index dd443d4ccf4..449a9f38598 100644
--- a/Master/texmf-dist/tex/latex/base/textcomp.sty
+++ b/Master/texmf-dist/tex/latex/base/textcomp.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/tracefnt.sty b/Master/texmf-dist/tex/latex/base/tracefnt.sty
index 09146d4c0f0..6a06bb50332 100644
--- a/Master/texmf-dist/tex/latex/base/tracefnt.sty
+++ b/Master/texmf-dist/tex/latex/base/tracefnt.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ts1cmr.fd b/Master/texmf-dist/tex/latex/base/ts1cmr.fd
index b5423d41e04..b3e92d27237 100644
--- a/Master/texmf-dist/tex/latex/base/ts1cmr.fd
+++ b/Master/texmf-dist/tex/latex/base/ts1cmr.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ts1cmss.fd b/Master/texmf-dist/tex/latex/base/ts1cmss.fd
index 86c99c5cb8d..2ca7eae58c2 100644
--- a/Master/texmf-dist/tex/latex/base/ts1cmss.fd
+++ b/Master/texmf-dist/tex/latex/base/ts1cmss.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ts1cmtt.fd b/Master/texmf-dist/tex/latex/base/ts1cmtt.fd
index 99d50809eb8..2947b13e1a3 100644
--- a/Master/texmf-dist/tex/latex/base/ts1cmtt.fd
+++ b/Master/texmf-dist/tex/latex/base/ts1cmtt.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ts1cmvtt.fd b/Master/texmf-dist/tex/latex/base/ts1cmvtt.fd
index 4d03d9713fb..c4a96cfc2b2 100644
--- a/Master/texmf-dist/tex/latex/base/ts1cmvtt.fd
+++ b/Master/texmf-dist/tex/latex/base/ts1cmvtt.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ts1enc.def b/Master/texmf-dist/tex/latex/base/ts1enc.def
index 951a63a1d0a..b97bac2eba3 100644
--- a/Master/texmf-dist/tex/latex/base/ts1enc.def
+++ b/Master/texmf-dist/tex/latex/base/ts1enc.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -192,6 +192,7 @@
\DeclareTextSymbol{\texteuro}{TS1}{191}
\DeclareTextSymbol{\texttimes}{TS1}{214}
\DeclareTextSymbol{\textdiv}{TS1}{246}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
%% End of file `ts1enc.def'.
diff --git a/Master/texmf-dist/tex/latex/base/ts1enc.dfu b/Master/texmf-dist/tex/latex/base/ts1enc.dfu
index 48928a782c5..246b328c58b 100644
--- a/Master/texmf-dist/tex/latex/base/ts1enc.dfu
+++ b/Master/texmf-dist/tex/latex/base/ts1enc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{ts1enc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\DeclareUnicodeCharacter{00A2}{\textcent}
\DeclareUnicodeCharacter{00A3}{\textsterling}
\DeclareUnicodeCharacter{00A4}{\textcurrency}
@@ -107,7 +107,9 @@
\DeclareUnicodeCharacter{2192}{\textrightarrow}
\DeclareUnicodeCharacter{2193}{\textdownarrow}
\DeclareUnicodeCharacter{2329}{\textlangle}
+\DeclareUnicodeCharacter{3008}{\textlangle}
\DeclareUnicodeCharacter{232A}{\textrangle}
+\DeclareUnicodeCharacter{3009}{\textrangle}
\DeclareUnicodeCharacter{2422}{\textblank}
\DeclareUnicodeCharacter{25E6}{\textopenbullet}
\DeclareUnicodeCharacter{25EF}{\textbigcircle}
diff --git a/Master/texmf-dist/tex/latex/base/tuenc.def b/Master/texmf-dist/tex/latex/base/tuenc.def
index 3bddf30c999..859a7af46a2 100644
--- a/Master/texmf-dist/tex/latex/base/tuenc.def
+++ b/Master/texmf-dist/tex/latex/base/tuenc.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -74,9 +74,9 @@
\endgroup
}
\else
- \newluafunction\@remove@tlig@@@@
+ \newprotectedluacmd\@remove@tlig@@@
\now@and@everyjob{\directlua{
- local rawchar_func = token.create'@remove@tlig@@@@'.index
+ local rawchar_func = token.create'@remove@tlig@@@'.index
local forcehmode = tex.forcehmode
local put_next = token.put_next
local glyph_id = node.id'glyph'
@@ -92,7 +92,6 @@
n.char = token.scan_int()
return node.write(n)
end
- token.set_lua('@remove@tlig@@@', rawchar_func, 'global', 'protected')
}}
\def\remove@tlig#1{\@remove@tlig@@@#1\relax}
\fi
@@ -107,7 +106,17 @@
\def\add@unicode@accent#1#2{%
\if\relax\detokenize{#2}\relax^^a0\else#2\fi
\char#1\relax}
-\def\DeclareUnicodeAccent#1#2#3{%
+\def\DeclareUnicodeAccent#1#2{%
+ \edef\reserved@a{#2}%
+ \edef\reserved@b{\UnicodeEncodingName}%
+ \ifx\reserved@a\reserved@b
+ \def\reserved@a{\DeclareUnicodeAccent@{#1}}%
+ \else
+ \def\reserved@a{\DeclareUnicodeAccent@{#1}\UnicodeEncodingName}%
+ \fi
+ \reserved@a{#2}%
+}
+\def\DeclareUnicodeAccent@#1#2#3{%
\DeclareTextCommand{#1}{#2}{\add@unicode@accent{#3}}%
}
{
@@ -134,139 +143,138 @@
\def\reserved@b{#2}}
\def\extract@default@composite@b#1#2\@nil{%
\def\reserved@b{#1#2}}
-\DeclareTextCommand\textquotesingle \UnicodeEncodingName{%
- \remove@tlig{"0027}}
-\DeclareTextCommand\textasciigrave \UnicodeEncodingName{%
- \remove@tlig{"0060}}
-\DeclareTextCommand\textquotedbl \UnicodeEncodingName{%
- \remove@tlig{"0022}}
-\DeclareTextSymbol{\textdollar} \UnicodeEncodingName{"0024}
-\DeclareTextSymbol{\textless} \UnicodeEncodingName{"003C}
-\DeclareTextSymbol{\textgreater} \UnicodeEncodingName{"003E}
-\DeclareTextSymbol{\textbackslash} \UnicodeEncodingName{"005C}
-\DeclareTextSymbol{\textasciicircum} \UnicodeEncodingName{"005E}
-\DeclareTextSymbol{\textunderscore} \UnicodeEncodingName{"005F}
-\DeclareTextSymbol{\textbraceleft} \UnicodeEncodingName{"007B}
-\DeclareTextSymbol{\textbar} \UnicodeEncodingName{"007C}
-\DeclareTextSymbol{\textbraceright} \UnicodeEncodingName{"007D}
-\DeclareTextSymbol{\textasciitilde} \UnicodeEncodingName{"007E}
-\DeclareTextSymbol{\textexclamdown} \UnicodeEncodingName{"00A1}
-\DeclareTextSymbol{\textcent} \UnicodeEncodingName{"00A2}
-\DeclareTextSymbol{\textsterling} \UnicodeEncodingName{"00A3}
-\DeclareTextSymbol{\textcurrency} \UnicodeEncodingName{"00A4}
-\DeclareTextSymbol{\textyen} \UnicodeEncodingName{"00A5}
-\DeclareTextSymbol{\textbrokenbar} \UnicodeEncodingName{"00A6}
-\DeclareTextSymbol{\textsection} \UnicodeEncodingName{"00A7}
-\DeclareTextSymbol{\textasciidieresis} \UnicodeEncodingName{"00A8}
-\DeclareTextSymbol{\textcopyright} \UnicodeEncodingName{"00A9}
-\DeclareTextSymbol{\textordfeminine} \UnicodeEncodingName{"00AA}
-\DeclareTextSymbol{\guillemetleft} \UnicodeEncodingName{"00AB}
-\DeclareTextSymbol{\guillemotleft} \UnicodeEncodingName{"00AB}
-\DeclareTextSymbol{\textlnot} \UnicodeEncodingName{"00AC}
-\DeclareTextSymbol{\textregistered} \UnicodeEncodingName{"00AE}
-\DeclareTextSymbol{\textasciimacron} \UnicodeEncodingName{"00AF}
-\DeclareTextSymbol{\textdegree} \UnicodeEncodingName{"00B0}
-\DeclareTextSymbol{\textpm} \UnicodeEncodingName{"00B1}
-\DeclareTextSymbol{\texttwosuperior} \UnicodeEncodingName{"00B2}
-\DeclareTextSymbol{\textthreesuperior} \UnicodeEncodingName{"00B3}
-\DeclareTextSymbol{\textasciiacute} \UnicodeEncodingName{"00B4}
-\DeclareTextSymbol{\textmu} \UnicodeEncodingName{"00B5}
-\DeclareTextSymbol{\textparagraph} \UnicodeEncodingName{"00B6}
-\DeclareTextSymbol{\textperiodcentered} \UnicodeEncodingName{"00B7}
-\DeclareTextSymbol{\textonesuperior} \UnicodeEncodingName{"00B9}
-\DeclareTextSymbol{\textordmasculine} \UnicodeEncodingName{"00BA}
-\DeclareTextSymbol{\guillemetright} \UnicodeEncodingName{"00BB}
-\DeclareTextSymbol{\guillemotright} \UnicodeEncodingName{"00BB}
-\DeclareTextSymbol{\textonequarter} \UnicodeEncodingName{"00BC}
-\DeclareTextSymbol{\textonehalf} \UnicodeEncodingName{"00BD}
-\DeclareTextSymbol{\textthreequarters} \UnicodeEncodingName{"00BE}
-\DeclareTextSymbol{\textquestiondown} \UnicodeEncodingName{"00BF}
-\DeclareTextSymbol{\AE} \UnicodeEncodingName{"00C6}
-\DeclareTextSymbol{\DH} \UnicodeEncodingName{"00D0}
-\DeclareTextSymbol{\texttimes} \UnicodeEncodingName{"00D7}
-\DeclareTextSymbol{\O} \UnicodeEncodingName{"00D8}
-\DeclareTextSymbol{\TH} \UnicodeEncodingName{"00DE}
-\DeclareTextSymbol{\ss} \UnicodeEncodingName{"00DF}
-\DeclareTextSymbol{\ae} \UnicodeEncodingName{"00E6}
-\DeclareTextSymbol{\dh} \UnicodeEncodingName{"00F0}
-\DeclareTextSymbol{\textdiv} \UnicodeEncodingName{"00F7}
-\DeclareTextSymbol{\o} \UnicodeEncodingName{"00F8}
-\DeclareTextSymbol{\th} \UnicodeEncodingName{"00FE}
-\DeclareTextSymbol{\DJ} \UnicodeEncodingName{"0110}
-\DeclareTextSymbol{\dj} \UnicodeEncodingName{"0111}
-\DeclareTextSymbol{\i} \UnicodeEncodingName{"0131}
-\DeclareTextSymbol{\IJ} \UnicodeEncodingName{"0132}
-\DeclareTextSymbol{\ij} \UnicodeEncodingName{"0133}
-\DeclareTextSymbol{\L} \UnicodeEncodingName{"0141}
-\DeclareTextSymbol{\l} \UnicodeEncodingName{"0142}
-\DeclareTextSymbol{\NG} \UnicodeEncodingName{"014A}
-\DeclareTextSymbol{\ng} \UnicodeEncodingName{"014B}
-\DeclareTextSymbol{\OE} \UnicodeEncodingName{"0152}
-\DeclareTextSymbol{\oe} \UnicodeEncodingName{"0153}
-\DeclareTextSymbol{\textflorin} \UnicodeEncodingName{"0192}
-\DeclareTextSymbol{\j} \UnicodeEncodingName{"0237}
-\DeclareTextSymbol{\textasciicaron} \UnicodeEncodingName{"02C7}
-\DeclareTextSymbol{\textasciibreve} \UnicodeEncodingName{"02D8}
-\DeclareTextSymbol{\textacutedbl} \UnicodeEncodingName{"02DD}
-\DeclareTextSymbol{\textgravedbl} \UnicodeEncodingName{"02F5}
-\DeclareTextSymbol{\texttildelow} \UnicodeEncodingName{"02F7}
-\DeclareTextSymbol{\textbaht} \UnicodeEncodingName{"0E3F}
-\DeclareTextSymbol{\SS} \UnicodeEncodingName{"1E9E}
-\DeclareTextSymbol{\textcompwordmark} \UnicodeEncodingName{"200C}
-\DeclareTextSymbol{\textendash} \UnicodeEncodingName{"2013}
-\DeclareTextSymbol{\textemdash} \UnicodeEncodingName{"2014}
-\DeclareTextCommand{\textnonbreakinghyphen} \UnicodeEncodingName
+\def\DeclareUnicodeSymbol#1{\DeclareTextSymbol{#1}{\UnicodeEncodingName}}
+\def\DeclareUnicodeCommand#1{\DeclareTextCommand{#1}{\UnicodeEncodingName}}
+\DeclareUnicodeCommand\textquotesingle {\remove@tlig{"0027}}
+\DeclareUnicodeCommand\textasciigrave {\remove@tlig{"0060}}
+\DeclareUnicodeCommand\textquotedbl {\remove@tlig{"0022}}
+\DeclareUnicodeSymbol{\textdollar} {"0024}
+\DeclareUnicodeSymbol{\textless} {"003C}
+\DeclareUnicodeSymbol{\textgreater} {"003E}
+\DeclareUnicodeSymbol{\textbackslash} {"005C}
+\DeclareUnicodeSymbol{\textasciicircum} {"005E}
+\DeclareUnicodeSymbol{\textunderscore} {"005F}
+\DeclareUnicodeSymbol{\textbraceleft} {"007B}
+\DeclareUnicodeSymbol{\textbar} {"007C}
+\DeclareUnicodeSymbol{\textbraceright} {"007D}
+\DeclareUnicodeSymbol{\textasciitilde} {"007E}
+\DeclareUnicodeSymbol{\textexclamdown} {"00A1}
+\DeclareUnicodeSymbol{\textcent} {"00A2}
+\DeclareUnicodeSymbol{\textsterling} {"00A3}
+\DeclareUnicodeSymbol{\textcurrency} {"00A4}
+\DeclareUnicodeSymbol{\textyen} {"00A5}
+\DeclareUnicodeSymbol{\textbrokenbar} {"00A6}
+\DeclareUnicodeSymbol{\textsection} {"00A7}
+\DeclareUnicodeSymbol{\textasciidieresis} {"00A8}
+\DeclareUnicodeSymbol{\textcopyright} {"00A9}
+\DeclareUnicodeSymbol{\textordfeminine} {"00AA}
+\DeclareUnicodeSymbol{\guillemetleft} {"00AB}
+\DeclareUnicodeSymbol{\guillemotleft} {"00AB}
+\DeclareUnicodeSymbol{\textlnot} {"00AC}
+\DeclareUnicodeSymbol{\textregistered} {"00AE}
+\DeclareUnicodeSymbol{\textasciimacron} {"00AF}
+\DeclareUnicodeSymbol{\textdegree} {"00B0}
+\DeclareUnicodeSymbol{\textpm} {"00B1}
+\DeclareUnicodeSymbol{\texttwosuperior} {"00B2}
+\DeclareUnicodeSymbol{\textthreesuperior} {"00B3}
+\DeclareUnicodeSymbol{\textasciiacute} {"00B4}
+\DeclareUnicodeSymbol{\textmu} {"00B5}
+\DeclareUnicodeSymbol{\textparagraph} {"00B6}
+\DeclareUnicodeSymbol{\textperiodcentered} {"00B7}
+\DeclareUnicodeSymbol{\textonesuperior} {"00B9}
+\DeclareUnicodeSymbol{\textordmasculine} {"00BA}
+\DeclareUnicodeSymbol{\guillemetright} {"00BB}
+\DeclareUnicodeSymbol{\guillemotright} {"00BB}
+\DeclareUnicodeSymbol{\textonequarter} {"00BC}
+\DeclareUnicodeSymbol{\textonehalf} {"00BD}
+\DeclareUnicodeSymbol{\textthreequarters} {"00BE}
+\DeclareUnicodeSymbol{\textquestiondown} {"00BF}
+\DeclareUnicodeSymbol{\AE} {"00C6}
+\DeclareUnicodeSymbol{\DH} {"00D0}
+\DeclareUnicodeSymbol{\texttimes} {"00D7}
+\DeclareUnicodeSymbol{\O} {"00D8}
+\DeclareUnicodeSymbol{\TH} {"00DE}
+\DeclareUnicodeSymbol{\ss} {"00DF}
+\DeclareUnicodeSymbol{\ae} {"00E6}
+\DeclareUnicodeSymbol{\dh} {"00F0}
+\DeclareUnicodeSymbol{\textdiv} {"00F7}
+\DeclareUnicodeSymbol{\o} {"00F8}
+\DeclareUnicodeSymbol{\th} {"00FE}
+\DeclareUnicodeSymbol{\DJ} {"0110}
+\DeclareUnicodeSymbol{\dj} {"0111}
+\DeclareUnicodeSymbol{\i} {"0131}
+\DeclareUnicodeSymbol{\IJ} {"0132}
+\DeclareUnicodeSymbol{\ij} {"0133}
+\DeclareUnicodeSymbol{\L} {"0141}
+\DeclareUnicodeSymbol{\l} {"0142}
+\DeclareUnicodeSymbol{\NG} {"014A}
+\DeclareUnicodeSymbol{\ng} {"014B}
+\DeclareUnicodeSymbol{\OE} {"0152}
+\DeclareUnicodeSymbol{\oe} {"0153}
+\DeclareUnicodeSymbol{\textflorin} {"0192}
+\DeclareUnicodeSymbol{\j} {"0237}
+\DeclareUnicodeSymbol{\textasciicaron} {"02C7}
+\DeclareUnicodeSymbol{\textasciibreve} {"02D8}
+\DeclareUnicodeSymbol{\textacutedbl} {"02DD}
+\DeclareUnicodeSymbol{\textgravedbl} {"02F5}
+\DeclareUnicodeSymbol{\texttildelow} {"02F7}
+\DeclareUnicodeSymbol{\textbaht} {"0E3F}
+\DeclareUnicodeSymbol{\SS} {"1E9E}
+\DeclareUnicodeSymbol{\textcompwordmark} {"200C}
+\DeclareUnicodeSymbol{\textendash} {"2013}
+\DeclareUnicodeSymbol{\textemdash} {"2014}
+\DeclareUnicodeCommand{\textnonbreakinghyphen}
{\iffontchar\font "2011 \char "2011 \else \mbox{-}\nobreak\hskip\z@ \fi}
-\DeclareTextCommand{\textfiguredash} \UnicodeEncodingName
+\DeclareUnicodeCommand{\textfiguredash}
{\iffontchar\font "2012 \char "2012 \else \char "2013 \fi}
-\DeclareTextCommand{\texthorizontalbar} \UnicodeEncodingName
+\DeclareUnicodeCommand{\texthorizontalbar}
{\iffontchar\font "2015 \char "2015 \else \char "2014 \fi}
-\DeclareTextSymbol{\textbardbl} \UnicodeEncodingName{"2016}
-\DeclareTextSymbol{\textquoteleft} \UnicodeEncodingName{"2018}
-\DeclareTextSymbol{\textquoteright} \UnicodeEncodingName{"2019}
-\DeclareTextSymbol{\quotesinglbase} \UnicodeEncodingName{"201A}
-\DeclareTextSymbol{\textquotedblleft} \UnicodeEncodingName{"201C}
-\DeclareTextSymbol{\textquotedblright} \UnicodeEncodingName{"201D}
-\DeclareTextSymbol{\quotedblbase} \UnicodeEncodingName{"201E}
-\DeclareTextSymbol{\textdagger} \UnicodeEncodingName{"2020}
-\DeclareTextSymbol{\textdaggerdbl} \UnicodeEncodingName{"2021}
-\DeclareTextSymbol{\textbullet} \UnicodeEncodingName{"2022}
-\DeclareTextSymbol{\textellipsis} \UnicodeEncodingName{"2026}
-\DeclareTextSymbol{\textperthousand} \UnicodeEncodingName{"2030}
-\DeclareTextSymbol{\textpertenthousand} \UnicodeEncodingName{"2031}
-\DeclareTextSymbol{\guilsinglleft} \UnicodeEncodingName{"2039}
-\DeclareTextSymbol{\guilsinglright} \UnicodeEncodingName{"203A}
-\DeclareTextSymbol{\textreferencemark} \UnicodeEncodingName{"203B}
-\DeclareTextSymbol{\textinterrobang} \UnicodeEncodingName{"203D}
-\DeclareTextSymbol{\textfractionsolidus} \UnicodeEncodingName{"2044}
-\DeclareTextSymbol{\textlquill} \UnicodeEncodingName{"2045}
-\DeclareTextSymbol{\textrquill} \UnicodeEncodingName{"2046}
-\DeclareTextSymbol{\textdiscount} \UnicodeEncodingName{"2052}
-\DeclareTextSymbol{\textcolonmonetary} \UnicodeEncodingName{"20A1}
-\DeclareTextSymbol{\textlira} \UnicodeEncodingName{"20A4}
-\DeclareTextSymbol{\textnaira} \UnicodeEncodingName{"20A6}
-\DeclareTextSymbol{\textwon} \UnicodeEncodingName{"20A9}
-\DeclareTextSymbol{\textdong} \UnicodeEncodingName{"20AB}
-\DeclareTextSymbol{\texteuro} \UnicodeEncodingName{"20AC}
-\DeclareTextSymbol{\textpeso} \UnicodeEncodingName{"20B1}
-\DeclareTextSymbol{\textcelsius} \UnicodeEncodingName{"2103}
-\DeclareTextSymbol{\textnumero} \UnicodeEncodingName{"2116}
-\DeclareTextSymbol{\textcircledP} \UnicodeEncodingName{"2117}
-\DeclareTextSymbol{\textrecipe} \UnicodeEncodingName{"211E}
-\DeclareTextSymbol{\textservicemark} \UnicodeEncodingName{"2120}
-\DeclareTextSymbol{\texttrademark} \UnicodeEncodingName{"2122}
-\DeclareTextSymbol{\textohm} \UnicodeEncodingName{"2126}
-\DeclareTextSymbol{\textmho} \UnicodeEncodingName{"2127}
-\DeclareTextSymbol{\textestimated} \UnicodeEncodingName{"212E}
-\DeclareTextSymbol{\textleftarrow} \UnicodeEncodingName{"2190}
-\DeclareTextSymbol{\textuparrow} \UnicodeEncodingName{"2191}
-\DeclareTextSymbol{\textrightarrow} \UnicodeEncodingName{"2192}
-\DeclareTextSymbol{\textdownarrow} \UnicodeEncodingName{"2193}
-\DeclareTextSymbol{\textminus} \UnicodeEncodingName{"2212}
+\DeclareUnicodeSymbol{\textbardbl} {"2016}
+\DeclareUnicodeSymbol{\textquoteleft} {"2018}
+\DeclareUnicodeSymbol{\textquoteright} {"2019}
+\DeclareUnicodeSymbol{\quotesinglbase} {"201A}
+\DeclareUnicodeSymbol{\textquotedblleft} {"201C}
+\DeclareUnicodeSymbol{\textquotedblright} {"201D}
+\DeclareUnicodeSymbol{\quotedblbase} {"201E}
+\DeclareUnicodeSymbol{\textdagger} {"2020}
+\DeclareUnicodeSymbol{\textdaggerdbl} {"2021}
+\DeclareUnicodeSymbol{\textbullet} {"2022}
+\DeclareUnicodeSymbol{\textellipsis} {"2026}
+\DeclareUnicodeSymbol{\textperthousand} {"2030}
+\DeclareUnicodeSymbol{\textpertenthousand} {"2031}
+\DeclareUnicodeSymbol{\guilsinglleft} {"2039}
+\DeclareUnicodeSymbol{\guilsinglright} {"203A}
+\DeclareUnicodeSymbol{\textreferencemark} {"203B}
+\DeclareUnicodeSymbol{\textinterrobang} {"203D}
+\DeclareUnicodeSymbol{\textfractionsolidus} {"2044}
+\DeclareUnicodeSymbol{\textlquill} {"2045}
+\DeclareUnicodeSymbol{\textrquill} {"2046}
+\DeclareUnicodeSymbol{\textdiscount} {"2052}
+\DeclareUnicodeSymbol{\textcolonmonetary} {"20A1}
+\DeclareUnicodeSymbol{\textlira} {"20A4}
+\DeclareUnicodeSymbol{\textnaira} {"20A6}
+\DeclareUnicodeSymbol{\textwon} {"20A9}
+\DeclareUnicodeSymbol{\textdong} {"20AB}
+\DeclareUnicodeSymbol{\texteuro} {"20AC}
+\DeclareUnicodeSymbol{\textpeso} {"20B1}
+\DeclareUnicodeSymbol{\textcelsius} {"2103}
+\DeclareUnicodeSymbol{\textnumero} {"2116}
+\DeclareUnicodeSymbol{\textcircledP} {"2117}
+\DeclareUnicodeSymbol{\textrecipe} {"211E}
+\DeclareUnicodeSymbol{\textservicemark} {"2120}
+\DeclareUnicodeSymbol{\texttrademark} {"2122}
+\DeclareUnicodeSymbol{\textohm} {"2126}
+\DeclareUnicodeSymbol{\textmho} {"2127}
+\DeclareUnicodeSymbol{\textestimated} {"212E}
+\DeclareUnicodeSymbol{\textleftarrow} {"2190}
+\DeclareUnicodeSymbol{\textuparrow} {"2191}
+\DeclareUnicodeSymbol{\textrightarrow} {"2192}
+\DeclareUnicodeSymbol{\textdownarrow} {"2193}
+\DeclareUnicodeSymbol{\textminus} {"2212}
-\DeclareTextSymbol{\Hwithstroke} \UnicodeEncodingName{"0126}
-\DeclareTextSymbol{\hwithstroke} \UnicodeEncodingName{"0127}
-\DeclareTextCommand{\textasteriskcentered}\UnicodeEncodingName{%
+\DeclareUnicodeSymbol{\Hwithstroke} {"0126}
+\DeclareUnicodeSymbol{\hwithstroke} {"0127}
+\DeclareUnicodeCommand{\textasteriskcentered}{%
\iffontchar\font"2217 \char"2217 \else
\begingroup
\fontsize
@@ -277,33 +285,33 @@
\endgroup
\fi
}
-\DeclareTextSymbol{\textsurd} \UnicodeEncodingName{"221A}
-\DeclareTextSymbol{\textlangle} \UnicodeEncodingName{"2329}
-\DeclareTextSymbol{\textrangle} \UnicodeEncodingName{"232A}
-\DeclareTextSymbol{\textblank} \UnicodeEncodingName{"2422}
-\DeclareTextSymbol{\textvisiblespace} \UnicodeEncodingName{"2423}
-\DeclareTextSymbol{\textopenbullet} \UnicodeEncodingName{"25E6}
-\DeclareTextSymbol{\textbigcircle} \UnicodeEncodingName{"25EF}
-\DeclareTextSymbol{\textmusicalnote} \UnicodeEncodingName{"266A}
-\DeclareTextSymbol{\textmarried} \UnicodeEncodingName{"26AD}
-\DeclareTextSymbol{\textdivorced} \UnicodeEncodingName{"26AE}
-\DeclareTextSymbol{\textinterrobangdown} \UnicodeEncodingName{"2E18}
-\DeclareUnicodeAccent{\`} \UnicodeEncodingName{"0300}
-\DeclareUnicodeAccent{\'} \UnicodeEncodingName{"0301}
-\DeclareUnicodeAccent{\^} \UnicodeEncodingName{"0302}
-\DeclareUnicodeAccent{\~} \UnicodeEncodingName{"0303}
-\DeclareUnicodeAccent{\=} \UnicodeEncodingName{"0304}
-\DeclareUnicodeAccent{\u} \UnicodeEncodingName{"0306}
-\DeclareUnicodeAccent{\.} \UnicodeEncodingName{"0307}
-\DeclareUnicodeAccent{\"} \UnicodeEncodingName{"0308}
-\DeclareUnicodeAccent{\r} \UnicodeEncodingName{"030A}
-\DeclareUnicodeAccent{\H} \UnicodeEncodingName{"030B}
-\DeclareUnicodeAccent{\v} \UnicodeEncodingName{"030C}
-\DeclareUnicodeAccent{\b} \UnicodeEncodingName{"0332}
-\DeclareUnicodeAccent{\d} \UnicodeEncodingName{"0323}
-\DeclareUnicodeAccent{\c} \UnicodeEncodingName{"0327}
-\DeclareUnicodeAccent{\k} \UnicodeEncodingName{"0328}
-\DeclareTextCommand\textcommabelow \UnicodeEncodingName[1]
+\DeclareUnicodeSymbol{\textsurd} {"221A}
+\DeclareUnicodeSymbol{\textlangle} {"2329}
+\DeclareUnicodeSymbol{\textrangle} {"232A}
+\DeclareUnicodeSymbol{\textblank} {"2422}
+\DeclareUnicodeSymbol{\textvisiblespace} {"2423}
+\DeclareUnicodeSymbol{\textopenbullet} {"25E6}
+\DeclareUnicodeSymbol{\textbigcircle} {"25EF}
+\DeclareUnicodeSymbol{\textmusicalnote} {"266A}
+\DeclareUnicodeSymbol{\textmarried} {"26AD}
+\DeclareUnicodeSymbol{\textdivorced} {"26AE}
+\DeclareUnicodeSymbol{\textinterrobangdown} {"2E18}
+\DeclareUnicodeAccent{\`}{"0300}
+\DeclareUnicodeAccent{\'}{"0301}
+\DeclareUnicodeAccent{\^}{"0302}
+\DeclareUnicodeAccent{\~}{"0303}
+\DeclareUnicodeAccent{\=}{"0304}
+\DeclareUnicodeAccent{\u}{"0306}
+\DeclareUnicodeAccent{\.}{"0307}
+\DeclareUnicodeAccent{\"}{"0308}
+\DeclareUnicodeAccent{\r}{"030A}
+\DeclareUnicodeAccent{\H}{"030B}
+\DeclareUnicodeAccent{\v}{"030C}
+\DeclareUnicodeAccent{\b}{"0332}
+\DeclareUnicodeAccent{\d}{"0323}
+\DeclareUnicodeAccent{\c}{"0327}
+\DeclareUnicodeAccent{\k}{"0328}
+\DeclareUnicodeCommand\textcommabelow[1]
{\hmode@bgroup\ooalign{\null#1\crcr\hidewidth\raise-.31ex
\hbox{\check@mathfonts\fontsize\ssf@size\z@
\math@fontsfalse\selectfont,}\hidewidth}\egroup}
@@ -554,6 +562,7 @@
\DeclareUnicodeComposite{\d} {u}{"1EE5}
\DeclareUnicodeComposite{\d} {Y}{"1EF4}
\DeclareUnicodeComposite{\d} {y}{"1EF5}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%
%% End of file `tuenc.def'.
diff --git a/Master/texmf-dist/tex/latex/base/tulmdh.fd b/Master/texmf-dist/tex/latex/base/tulmdh.fd
index fb4c556193a..0028cb541eb 100644
--- a/Master/texmf-dist/tex/latex/base/tulmdh.fd
+++ b/Master/texmf-dist/tex/latex/base/tulmdh.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 2016-2021
+%% Copyright (C) 2016-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/tulmr.fd b/Master/texmf-dist/tex/latex/base/tulmr.fd
index ff9da4e6b75..d58d8d144e0 100644
--- a/Master/texmf-dist/tex/latex/base/tulmr.fd
+++ b/Master/texmf-dist/tex/latex/base/tulmr.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 2016-2021
+%% Copyright (C) 2016-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/tulmss.fd b/Master/texmf-dist/tex/latex/base/tulmss.fd
index 4c943374dd0..e51508cb329 100644
--- a/Master/texmf-dist/tex/latex/base/tulmss.fd
+++ b/Master/texmf-dist/tex/latex/base/tulmss.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 2016-2021
+%% Copyright (C) 2016-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/tulmssq.fd b/Master/texmf-dist/tex/latex/base/tulmssq.fd
index 42fc0df3a06..8ac54fac397 100644
--- a/Master/texmf-dist/tex/latex/base/tulmssq.fd
+++ b/Master/texmf-dist/tex/latex/base/tulmssq.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 2016-2021
+%% Copyright (C) 2016-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/tulmtt.fd b/Master/texmf-dist/tex/latex/base/tulmtt.fd
index b6d693d4c98..6db1233c3b3 100644
--- a/Master/texmf-dist/tex/latex/base/tulmtt.fd
+++ b/Master/texmf-dist/tex/latex/base/tulmtt.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 2016-2021
+%% Copyright (C) 2016-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/tulmvtt.fd b/Master/texmf-dist/tex/latex/base/tulmvtt.fd
index cd21e05d488..fc74365e5b0 100644
--- a/Master/texmf-dist/tex/latex/base/tulmvtt.fd
+++ b/Master/texmf-dist/tex/latex/base/tulmvtt.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 2016-2021
+%% Copyright (C) 2016-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ucmr.fd b/Master/texmf-dist/tex/latex/base/ucmr.fd
index 7a31d3e558b..e795726253a 100644
--- a/Master/texmf-dist/tex/latex/base/ucmr.fd
+++ b/Master/texmf-dist/tex/latex/base/ucmr.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ucmss.fd b/Master/texmf-dist/tex/latex/base/ucmss.fd
index c2ff37355f9..60bbff556ee 100644
--- a/Master/texmf-dist/tex/latex/base/ucmss.fd
+++ b/Master/texmf-dist/tex/latex/base/ucmss.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ucmtt.fd b/Master/texmf-dist/tex/latex/base/ucmtt.fd
index 697308fe293..fdf09d32a07 100644
--- a/Master/texmf-dist/tex/latex/base/ucmtt.fd
+++ b/Master/texmf-dist/tex/latex/base/ucmtt.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ulasy.fd b/Master/texmf-dist/tex/latex/base/ulasy.fd
index 281f91a67c3..0f8daebd998 100644
--- a/Master/texmf-dist/tex/latex/base/ulasy.fd
+++ b/Master/texmf-dist/tex/latex/base/ulasy.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/ullasy.fd b/Master/texmf-dist/tex/latex/base/ullasy.fd
index a1e7fdaa0fa..dd5081d6546 100644
--- a/Master/texmf-dist/tex/latex/base/ullasy.fd
+++ b/Master/texmf-dist/tex/latex/base/ullasy.fd
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/utf8-2018.def b/Master/texmf-dist/tex/latex/base/utf8-2018.def
index cfba1b64b66..bed3941b41e 100644
--- a/Master/texmf-dist/tex/latex/base/utf8-2018.def
+++ b/Master/texmf-dist/tex/latex/base/utf8-2018.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/base/utf8.def b/Master/texmf-dist/tex/latex/base/utf8.def
index fd3bfed819f..ee2a25e7df5 100644
--- a/Master/texmf-dist/tex/latex/base/utf8.def
+++ b/Master/texmf-dist/tex/latex/base/utf8.def
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{utf8.def}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\ifx\ifincsname\@undefined % old e-pTeX or e-upTeX engines
\input utf8-2018.def
\expandafter\@firstofone
@@ -83,13 +83,13 @@
\fi
\UTFviii@four@octets@combine
}
-\long\def\UTF@two@octets@noexpand#1#2{\noexpand#2\noexpand}
-\long\def\UTF@three@octets@noexpand#1#2#3{\noexpand#2\noexpand#3\noexpand}
-\long\def\UTF@four@octets@noexpand#1#2#3#4{\noexpand#2\noexpand#3\noexpand#4\noexpand}
+\long\def\UTF@two@octets@noexpand#1#2#3{\unexpanded{#2#3}}
+\long\def\UTF@three@octets@noexpand#1#2#3#4{\unexpanded{#2#3#4}}
+\long\def\UTF@four@octets@noexpand#1#2#3#4#5{\unexpanded{#2#3#4#5}}
-\long\def\UTF@two@octets@string#1#2{\string#2\string}
-\long\def\UTF@three@octets@string#1#2#3{\string#2\string#3\string}
-\long\def\UTF@four@octets@string#1#2#3#4{\string#2\string#3\string#4\string}
+\long\def\UTF@two@octets@string#1#2#3{\detokenize{#2#3}}
+\long\def\UTF@three@octets@string#1#2#3#4{\detokenize{#2#3#4}}
+\long\def\UTF@four@octets@string#1#2#3#4#5{\detokenize{#2#3#4#5}}
\long\def\UTFviii@two@octets@combine#1#2{\expandafter
\UTFviii@defined\csname u8:\string#1\string#2\endcsname}
@@ -145,7 +145,13 @@
\expandafter\UTFviii@check@continue
\fi
}
-\begingroup
+\edef\reserved@a{%
+\catcode`\noexpand\~=\the\catcode`\~\relax
+\catcode`\noexpand\"=\the\catcode`\"\relax
+\uccode`\noexpand\~=\the\uccode`\~\relax
+\count@=\the\count@\relax
+\@tempcnta=\the\@tempcnta\relax
+\let\noexpand\reserved@a\relax}
\catcode`\~13
\catcode`\"12
\def\UTFviii@loop{%
@@ -155,7 +161,7 @@
\ifnum\count@<\@tempcnta
\expandafter\UTFviii@loop
\fi}
- \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@undefined@err{:\string~}}}
+ \def\UTFviii@tmp{\protected\edef~{\noexpand\UTFviii@undefined@err{:\string~}}}
\count@"1
\@tempcnta9
\UTFviii@loop
@@ -167,25 +173,25 @@
\UTFviii@loop
\count@"80
\@tempcnta"C2
- \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@invalid@err\string~}}
+ \def\UTFviii@tmp{\protected\edef~{\noexpand\UTFviii@invalid@err\string~}}
\UTFviii@loop
\count@"C2
\@tempcnta"E0
- \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@two@octets\noexpand~}}
+ \def\UTFviii@tmp{\protected\edef~{\noexpand\UTFviii@two@octets\noexpand~}}
\UTFviii@loop
\count@"E0
\@tempcnta"F0
- \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@three@octets\noexpand~}}
+ \def\UTFviii@tmp{\protected\edef~{\noexpand\UTFviii@three@octets\noexpand~}}
\UTFviii@loop
\count@"F0
\@tempcnta"F5
- \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@four@octets\noexpand~}}
+ \def\UTFviii@tmp{\protected\edef~{\noexpand\UTFviii@four@octets\noexpand~}}
\UTFviii@loop
\count@"F5
\@tempcnta"100
- \def\UTFviii@tmp{\xdef~{\noexpand\UTFviii@invalid@err\string~}}
+ \def\UTFviii@tmp{\protected\edef~{\noexpand\UTFviii@invalid@err\string~}}
\UTFviii@loop
-\endgroup
+\reserved@a
\@inpenc@test
\ifx\@begindocumenthook\@undefined
\makeatother
@@ -215,11 +221,11 @@
\endgroup
}
\gdef\parse@XML@charref{%
- \ifnum\count@<"A0\relax
+ \ifnum\count@<"80\relax
\ifnum\catcode\count@=13
\uccode`\~=\count@\uppercase{\def\UTFviii@tmp{\@empty\@empty~}}%
\else
- \@latex@error{Cannot define non-active Unicode char value < 00A0}%
+ \@latex@error{Cannot define non-active Unicode char value < 0080}%
\@eha
\def\UTFviii@tmp{\UTFviii@tmp}%
\fi
diff --git a/Master/texmf-dist/tex/latex/base/utf8enc.dfu b/Master/texmf-dist/tex/latex/base/utf8enc.dfu
index 2833b449d9b..57e7700d150 100644
--- a/Master/texmf-dist/tex/latex/base/utf8enc.dfu
+++ b/Master/texmf-dist/tex/latex/base/utf8enc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,7 +42,7 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{utf8enc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\DeclareUnicodeCharacter{00A0}{\nobreakspace}
\DeclareUnicodeCharacter{00A1}{\textexclamdown}
\DeclareUnicodeCharacter{00A2}{\textcent}
@@ -54,7 +54,7 @@
\DeclareUnicodeCharacter{00A8}{\textasciidieresis}
\DeclareUnicodeCharacter{00A9}{\textcopyright}
\DeclareUnicodeCharacter{00AA}{\textordfeminine}
-\DeclareUnicodeCharacter{00AB}{\guillemotleft}
+\DeclareUnicodeCharacter{00AB}{\guillemetleft}
\DeclareUnicodeCharacter{00AC}{\textlnot}
\DeclareUnicodeCharacter{00AD}{\-}
\DeclareUnicodeCharacter{00AE}{\textregistered}
@@ -70,7 +70,7 @@
\DeclareUnicodeCharacter{00B8}{\c\ }
\DeclareUnicodeCharacter{00B9}{\textonesuperior}
\DeclareUnicodeCharacter{00BA}{\textordmasculine}
-\DeclareUnicodeCharacter{00BB}{\guillemotright}
+\DeclareUnicodeCharacter{00BB}{\guillemetright}
\DeclareUnicodeCharacter{00BC}{\textonequarter}
\DeclareUnicodeCharacter{00BD}{\textonehalf}
\DeclareUnicodeCharacter{00BE}{\textthreequarters}
@@ -259,6 +259,15 @@
\DeclareUnicodeCharacter{017D}{\v Z}
\DeclareUnicodeCharacter{017E}{\v z}
\DeclareUnicodeCharacter{0192}{\textflorin}
+\DeclareUnicodeCharacter{01C4}{D\v Z}
+\DeclareUnicodeCharacter{01C5}{D\v z}
+\DeclareUnicodeCharacter{01C6}{d\v z}
+\DeclareUnicodeCharacter{01C7}{LJ}
+\DeclareUnicodeCharacter{01C8}{Lj}
+\DeclareUnicodeCharacter{01C9}{lj}
+\DeclareUnicodeCharacter{01CA}{NJ}
+\DeclareUnicodeCharacter{01CB}{Nj}
+\DeclareUnicodeCharacter{01CC}{nj}
\DeclareUnicodeCharacter{01CD}{\v A}
\DeclareUnicodeCharacter{01CE}{\v a}
\DeclareUnicodeCharacter{01CF}{\v I}
@@ -580,7 +589,9 @@
\DeclareUnicodeCharacter{2192}{\textrightarrow}
\DeclareUnicodeCharacter{2193}{\textdownarrow}
\DeclareUnicodeCharacter{2329}{\textlangle}
+\DeclareUnicodeCharacter{3008}{\textlangle}
\DeclareUnicodeCharacter{232A}{\textrangle}
+\DeclareUnicodeCharacter{3009}{\textrangle}
\DeclareUnicodeCharacter{2422}{\textblank}
\DeclareUnicodeCharacter{2423}{\textvisiblespace}
\DeclareUnicodeCharacter{25E6}{\textopenbullet}
diff --git a/Master/texmf-dist/tex/latex/base/x2enc.dfu b/Master/texmf-dist/tex/latex/base/x2enc.dfu
index 85b68cbc274..d2f2d53e6eb 100644
--- a/Master/texmf-dist/tex/latex/base/x2enc.dfu
+++ b/Master/texmf-dist/tex/latex/base/x2enc.dfu
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -42,11 +42,11 @@
%% and covered by LPPL is defined by the unpacking scripts (with
%% extension .ins) which are part of the distribution.
\ProvidesFile{x2enc.dfu}
- [2021/06/21 v1.2n UTF-8 support]
+ [2022/06/07 v1.3c UTF-8 support]
\DeclareUnicodeCharacter{00A4}{\textcurrency}
\DeclareUnicodeCharacter{00A7}{\textsection}
-\DeclareUnicodeCharacter{00AB}{\guillemotleft}
-\DeclareUnicodeCharacter{00BB}{\guillemotright}
+\DeclareUnicodeCharacter{00AB}{\guillemetleft}
+\DeclareUnicodeCharacter{00BB}{\guillemetright}
\DeclareUnicodeCharacter{0400}{\@tabacckludge`\CYRE}
\DeclareUnicodeCharacter{0401}{\CYRYO}
\DeclareUnicodeCharacter{0402}{\CYRDJE}
@@ -266,7 +266,9 @@
\DeclareUnicodeCharacter{2031}{\textpertenthousand}
\DeclareUnicodeCharacter{2116}{\textnumero}
\DeclareUnicodeCharacter{2329}{\textlangle}
+\DeclareUnicodeCharacter{3008}{\textlangle}
\DeclareUnicodeCharacter{232A}{\textrangle}
+\DeclareUnicodeCharacter{3009}{\textrangle}
\DeclareUnicodeCharacter{2423}{\textvisiblespace}
\DeclareUnicodeCharacter{27E8}{\textlangle}
\DeclareUnicodeCharacter{27E9}{\textrangle}
diff --git a/Master/texmf-dist/tex/latex/firstaid/everysel-ltx.sty b/Master/texmf-dist/tex/latex/firstaid/everysel-ltx.sty
index 2480b6db3fa..d2f2d8d2d96 100644
--- a/Master/texmf-dist/tex/latex/firstaid/everysel-ltx.sty
+++ b/Master/texmf-dist/tex/latex/firstaid/everysel-ltx.sty
@@ -30,7 +30,7 @@
%% `First Aid Bundle'. You may however distribute the LaTeX `First Aid Bundle'
%% without such generated files.
%%
-%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2021
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2022
%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
diff --git a/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty b/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
index 8ae26decc4f..2dfa89985a5 100644
--- a/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
+++ b/Master/texmf-dist/tex/latex/firstaid/filehook-ltx.sty
@@ -30,7 +30,7 @@
%% `First Aid Bundle'. You may however distribute the LaTeX `First Aid Bundle'
%% without such generated files.
%%
-%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2021
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2022
%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
diff --git a/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx b/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
index cf96c582e7e..4f3e22c741f 100644
--- a/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
+++ b/Master/texmf-dist/tex/latex/firstaid/latex2e-first-aid-for-external-files.ltx
@@ -30,12 +30,12 @@
%% `First Aid Bundle'. You may however distribute the LaTeX `First Aid Bundle'
%% without such generated files.
%%
-%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2021
+%% File: latex2e-first-aid-for-external-files.dtx (C) Copyright 2020-2022
%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
-\def\LaTeXFirstAidDate{2021/11/11}
-\def\LaTeXFirstAidVersion{v1.0q}
+\def\LaTeXFirstAidDate{2022/02/20}
+\def\LaTeXFirstAidVersion{v1.0r}
\ProvidesFile{latex2e-first-aid-for-external-files.ltx}
[\LaTeXFirstAidDate\space \LaTeXFirstAidVersion\space
LaTeX kernel fixes to external files and packages]
@@ -52,20 +52,6 @@
\exp_args:Ncx\str_if_eq:onT{ver@#1.#2}{#3}
}
\ExplSyntaxOff
-\AddToHook{file/biditools.sty/after}[firstaid]{%
- \FirstAidNeededT{biditools}{sty}%
- {2020/05/13 v2 Programming tools for bidi package}%
- {%
- \def\firstaid@bidi@document@patch
- \endgroup#1\begingroup#2\firstaid@bidi@document@patch
- {\unexpanded{#1#2}}%
- \edef\document{\expandafter\firstaid@bidi@document@patch\document
- \firstaid@bidi@document@patch}%
- \AddToHook{enddocument/info}%
- {\let\bidi@AfterEndDocumentCheckLabelsRerun\@firstofone
- \bidi@afterenddocumentchecklabelsrerunhook}%
- }%
-}
\AddToHook{file/dinbrief.cls/after}[firstaid]{%
\FirstAidNeededT{dinbrief}{cls}{2000/03/02 LaTeX2e class}%
{\AddToHook{env/document/begin}{\begingroup}}%
@@ -129,6 +115,22 @@
\@vwid@sift}%
}%
}
+\AddToHook{file/german.sty/after}[firstaid]{%
+ \FirstAidNeededT{german}{sty}{1998/07/08 v2.5e Support for writing german texts (br)}
+ {%
+\let\grmn@active@dq@\@active@dq
+\def\@active@dq{\protect\grmn@active@dq@}%
+\germanTeX
+}%
+}
+\AddToHook{file/ngerman.sty/after}[firstaid]{%
+ \FirstAidNeededT{ngerman}{sty}{1998/07/08 v2.5e Support for writing german texts (br)}
+ {%
+\let\grmn@active@dq@\@active@dq
+\def\@active@dq{\protect\grmn@active@dq@}%
+\ngermanTeX
+}%
+}
\ExplSyntaxOn
\sys_if_engine_luatex:T
{
diff --git a/Master/texmf-dist/tex/latex/graphics/color.sty b/Master/texmf-dist/tex/latex/graphics/color.sty
index 48eb825d3a3..20399e9c24f 100644
--- a/Master/texmf-dist/tex/latex/graphics/color.sty
+++ b/Master/texmf-dist/tex/latex/graphics/color.sty
@@ -12,7 +12,7 @@
%%
%%
%% color.dtx Copyright (C) 1994--1999 David Carlisle
-%% Copyright (C) 2005-2021
+%% Copyright (C) 2005-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -25,7 +25,7 @@
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
\ProvidesPackage{color}
- [2021/12/07 v1.3c Standard LaTeX Color (DPC)]
+ [2022/01/06 v1.3d Standard LaTeX Color (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
\catcode`\noexpand\"\the\catcode`\"\relax
@@ -167,6 +167,7 @@
\dimen@\dp\z@\advance\dimen@\fboxsep\dp\z@\dimen@
{#1{#2\color@block{\wd\z@}{\ht\z@}{\dp\z@}%
\box\z@}}}
+\input{mathcolor.ltx}
\def\color@setgroup{\begingroup\set@color}
\let\color@begingroup\begingroup
\def\color@endgroup{\endgraf\endgroup}
diff --git a/Master/texmf-dist/tex/latex/graphics/dvipdf.def b/Master/texmf-dist/tex/latex/graphics/dvipdf.def
index 04f533c35ae..ac5bdeabd45 100644
--- a/Master/texmf-dist/tex/latex/graphics/dvipdf.def
+++ b/Master/texmf-dist/tex/latex/graphics/dvipdf.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/dvipsnam.def b/Master/texmf-dist/tex/latex/graphics/dvipsnam.def
index 826161736cd..2ec3c3c2bd7 100644
--- a/Master/texmf-dist/tex/latex/graphics/dvipsnam.def
+++ b/Master/texmf-dist/tex/latex/graphics/dvipsnam.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/dvipsone.def b/Master/texmf-dist/tex/latex/graphics/dvipsone.def
index 4918f74ba1f..ba117bf2018 100644
--- a/Master/texmf-dist/tex/latex/graphics/dvipsone.def
+++ b/Master/texmf-dist/tex/latex/graphics/dvipsone.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/dviwin.def b/Master/texmf-dist/tex/latex/graphics/dviwin.def
index db6eac4074a..2a151f81cee 100644
--- a/Master/texmf-dist/tex/latex/graphics/dviwin.def
+++ b/Master/texmf-dist/tex/latex/graphics/dviwin.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/emtex.def b/Master/texmf-dist/tex/latex/graphics/emtex.def
index d1d405dae14..5c039362be2 100644
--- a/Master/texmf-dist/tex/latex/graphics/emtex.def
+++ b/Master/texmf-dist/tex/latex/graphics/emtex.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/epsfig.sty b/Master/texmf-dist/tex/latex/graphics/epsfig.sty
index bb0abac3949..b12566de4b8 100644
--- a/Master/texmf-dist/tex/latex/graphics/epsfig.sty
+++ b/Master/texmf-dist/tex/latex/graphics/epsfig.sty
@@ -12,7 +12,7 @@
%%
%%
%% epsfig.dtx Copyright (C) 1994-1996 1999 Sebastian Rahtz
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/graphics.sty b/Master/texmf-dist/tex/latex/graphics/graphics.sty
index 5d0292c3d08..e8f630bc665 100644
--- a/Master/texmf-dist/tex/latex/graphics/graphics.sty
+++ b/Master/texmf-dist/tex/latex/graphics/graphics.sty
@@ -12,7 +12,7 @@
%%
%%
%% graphics.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
-%% Copyright (C) 1995-2021
+%% Copyright (C) 1995-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -31,7 +31,7 @@
\DeclareCurrentRelease{}{2019-10-01}
\ProvidesPackage{graphics}
- [2021/03/04 v1.4d Standard LaTeX Graphics (DPC,SPQR)]
+ [2022/03/10 v1.4e Standard LaTeX Graphics (DPC,SPQR)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
\catcode`\noexpand\"\the\catcode`\"\relax
@@ -171,25 +171,21 @@
\let\Gin@ext\relax
\def\Gin@sepdefault{.}
\edef\Gin@gzext{\detokenize{gz}}
-\def\Gin@temp#1{%
- \begingroup
- \escapechar\m@ne
- \xdef\@curr@file{\expandafter\string\csname #1\endcsname}%
- \endgroup
-}
-\ifx\set@curr@file\@Gin@temp
- \let\set@curr@file\@undefined
-\fi
-\ifx\set@curr@file\@undefined
-\def\set@curr@file#1{%
+\def\Gin@set@curr@file#1{%
\begingroup
\escapechar\m@ne
\xdef\@curr@file{\expandafter\string\csname\@firstofone#1\@empty\endcsname}%
- \endgroup
-}
-\def\quote@name#1{"\quote@@name#1\@gobble""}
-\def\quote@@name#1"{#1\quote@@name}
-\def\unquote@name#1{\quote@@name#1\@gobble"}
+ \endgroup}
+\ifx\set@curr@file@nosearch\@undefined
+ \ifx\set@curr@file\@undefined
+ \def\quote@name#1{"\quote@@name#1\@gobble""}
+ \def\quote@@name#1"{#1\quote@@name}
+ \def\unquote@name#1{\quote@@name#1\@gobble"}
+ \else
+ \let\Gin@set@curr@file\set@curr@file
+ \fi
+\else
+ \let\Gin@set@curr@file\set@curr@file@nosearch
\fi
\def\Ginclude@graphics#1{%
\ifx\detokenize\@undefined\else
@@ -197,7 +193,7 @@
\fi
\begingroup
\let\input@path\Ginput@path
- \set@curr@file{#1}%
+ \Gin@set@curr@file{#1}%
\expandafter\filename@parse\expandafter{\@curr@file}%
\ifx\filename@ext\Gin@gzext
\expandafter\filename@parse\expandafter{\filename@base}%
diff --git a/Master/texmf-dist/tex/latex/graphics/graphicx.sty b/Master/texmf-dist/tex/latex/graphics/graphicx.sty
index e6c9418d7da..7e9bf36eac2 100644
--- a/Master/texmf-dist/tex/latex/graphics/graphicx.sty
+++ b/Master/texmf-dist/tex/latex/graphics/graphicx.sty
@@ -12,7 +12,7 @@
%%
%%
%% graphicx.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
-%% Copyright (C) 1995-2021
+%% Copyright (C) 1995-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/keyval.sty b/Master/texmf-dist/tex/latex/graphics/keyval.sty
index 97bbda4f480..064d47f6e41 100644
--- a/Master/texmf-dist/tex/latex/graphics/keyval.sty
+++ b/Master/texmf-dist/tex/latex/graphics/keyval.sty
@@ -12,7 +12,7 @@
%%
%%
%% keyval.dtx Copyright (C) 1993 1994 1995 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021 David Carlisle, LaTeX Project
+%% Copyright (C) 2000-2022 David Carlisle, LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -23,7 +23,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{keyval}
- [2014/10/28 v1.15 key=value parser (DPC)]
+ [2022/05/29 v1.15 key=value parser (DPC)]
\long\def\setkeys#1#2{%
\def\KV@prefix{KV@#1@}%
\let\@tempc\relax
diff --git a/Master/texmf-dist/tex/latex/graphics/lscape.sty b/Master/texmf-dist/tex/latex/graphics/lscape.sty
index 25342e422fc..9bf9a055221 100644
--- a/Master/texmf-dist/tex/latex/graphics/lscape.sty
+++ b/Master/texmf-dist/tex/latex/graphics/lscape.sty
@@ -12,7 +12,7 @@
%%
%%
%% lscape.dtx Copyright (C) 1994 1999-2000 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/mathcolor.ltx b/Master/texmf-dist/tex/latex/graphics/mathcolor.ltx
new file mode 100644
index 00000000000..c7588a3e195
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/graphics/mathcolor.ltx
@@ -0,0 +1,98 @@
+%%
+%% This is file `mathcolor.ltx',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% mathcolor.dtx (with options: `code')
+%%
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at https://latex-project.org/bugs/
+%% (but please observe conditions on bug reports sent to that address!)
+%%
+%%
+%% File: mathcolor.dtx (C) Copyright 2021-2022
+%%% From File: mathcolor.dtx
+\def\mathcolorversion{v1.0b}
+\def\mathcolordate{2022/01/28}
+
+
+\ifcsname mathcolor\endcsname \endinput \fi
+\ExplSyntaxOn
+\seq_new:N \g__mathcolor_seq
+\DeclareDocumentCommand \mathcolor { o m m } {
+ \mode_if_math:F { \non@alpherr {\mathcolor\space} }
+ \seq_gpush:No \g__mathcolor_seq \current@color
+ \group_insert_after:N \use_none:n
+ \IfValueTF{#1} { \color[#1]{#2} }{ \color{#2} }
+ #3
+ \__mathcolor_scan_for_scripts:w
+}
+\cs_new_protected:Npn \__mathcolor_scan_for_scripts:w {
+ \__mathcolor_peek_catcode_ignore_filler_expand:NTF \c_math_subscript_token
+ { \__mathcolor_handle_scripts:Nw }
+ { \token_if_math_superscript:NTF \l_peek_token
+ { \__mathcolor_handle_scripts:Nw }
+ { \token_case_meaning:NnTF \l_peek_token
+ {
+ \limits { \limits }
+ \nolimits { \nolimits }
+ \displaylimits { \displaylimits }
+ }
+ { \__mathcolor_scan_for_scripts:w \use_none:n }
+ { \peek_meaning_remove:NTF '
+ { \__mathcolor_handle_scripts:Nw ^\c_group_begin_token \prim@s }
+ { \reset@color
+ \seq_gpop:NN \g__mathcolor_seq \current@color
+ }
+ }
+ }
+ }
+}
+
+\cs_new_protected:Npn \__mathcolor_handle_scripts:Nw #1 {
+ #1 \c_group_begin_token \c_group_begin_token
+ \seq_get:NN \g__mathcolor_seq \current@color
+ \set@color
+ \group_insert_after:N \c_group_end_token
+ \group_insert_after:N \__mathcolor_scan_for_scripts:w
+ \__mathcolor_peek_catcode_ignore_filler_expand:NTF \c_group_begin_token
+ { \peek_catcode_remove:NT \c_group_begin_token { } }
+ { \__mathcolor_handle_unbraced_script:N }
+ }% \end{macrocode}
+
+\cs_new_protected:Npn \__mathcolor_handle_unbraced_script:N #1 {
+ #1 \c_group_end_token }
+\tl_new:N \l__mathcolor_peek_tmp_tl
+\cs_new_protected:Npn \__mathcolor_peek_catcode_ignore_filler_expand:NTF #1#2#3
+ {
+ \tl_set:Nn \l__mathcolor_peek_tmp_tl
+ { \token_if_eq_catcode:NNTF \l_peek_token #1 {#2} {#3} }
+ \__mathcolor_peek_expand:w
+ }
+\cs_new_protected:Npn \__mathcolor_peek_expand:w
+ {
+ \exp_after:wN \peek_catcode_remove:NTF
+ \exp_after:wN \c_space_token
+ \exp_after:wN \__mathcolor_peek_test_expand:w
+ \exp_after:wN \__mathcolor_peek_test_relax:w
+ \exp:w \exp_end_continue_f:w
+ }
+\cs_new_protected:Npn \__mathcolor_peek_test_expand:w
+ {
+ \token_if_expandable:NTF \l_peek_token
+ { \__mathcolor_peek_expand:w }
+ { \l__mathcolor_peek_tmp_tl }
+ }
+\cs_new_protected:Npn \__mathcolor_peek_test_relax:w
+ {
+ \peek_meaning_remove:NTF \scan_stop:
+ { \__mathcolor_peek_expand:w }
+ { \__mathcolor_peek_test_expand:w }
+ }
+\ExplSyntaxOff
+
+%%%%%%%%%%%%%%%%
+\endinput
+%%
+%% End of file `mathcolor.ltx'.
diff --git a/Master/texmf-dist/tex/latex/graphics/pctex32.def b/Master/texmf-dist/tex/latex/graphics/pctex32.def
index 5934c4c0a94..51ef24852ab 100644
--- a/Master/texmf-dist/tex/latex/graphics/pctex32.def
+++ b/Master/texmf-dist/tex/latex/graphics/pctex32.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/pctexhp.def b/Master/texmf-dist/tex/latex/graphics/pctexhp.def
index 76e83d251c4..fbc7328acd1 100644
--- a/Master/texmf-dist/tex/latex/graphics/pctexhp.def
+++ b/Master/texmf-dist/tex/latex/graphics/pctexhp.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/pctexps.def b/Master/texmf-dist/tex/latex/graphics/pctexps.def
index 85f6f3a13de..e41507e9e65 100644
--- a/Master/texmf-dist/tex/latex/graphics/pctexps.def
+++ b/Master/texmf-dist/tex/latex/graphics/pctexps.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/pctexwin.def b/Master/texmf-dist/tex/latex/graphics/pctexwin.def
index cf44d184547..14ed41f19ba 100644
--- a/Master/texmf-dist/tex/latex/graphics/pctexwin.def
+++ b/Master/texmf-dist/tex/latex/graphics/pctexwin.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/rotating.sty b/Master/texmf-dist/tex/latex/graphics/rotating.sty
index 7f3a2df8f47..5d820526c93 100644
--- a/Master/texmf-dist/tex/latex/graphics/rotating.sty
+++ b/Master/texmf-dist/tex/latex/graphics/rotating.sty
@@ -13,7 +13,7 @@
%%
%% Copyright (C) 1995-1999 Sebastian Rahtz and Leonor Barroca
%% Copyright (C) 2001-2003,2007-2009 Robin Fairbairns
-%% Copyright (C) 2016-2021 LaTeX Project
+%% Copyright (C) 2016-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
\NeedsTeXFormat{LaTeX2e}
diff --git a/Master/texmf-dist/tex/latex/graphics/tcidvi.def b/Master/texmf-dist/tex/latex/graphics/tcidvi.def
index 805384f66e7..d17b6d85e09 100644
--- a/Master/texmf-dist/tex/latex/graphics/tcidvi.def
+++ b/Master/texmf-dist/tex/latex/graphics/tcidvi.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/trig.sty b/Master/texmf-dist/tex/latex/graphics/trig.sty
index dee83422ed1..fb1eca9143f 100644
--- a/Master/texmf-dist/tex/latex/graphics/trig.sty
+++ b/Master/texmf-dist/tex/latex/graphics/trig.sty
@@ -12,7 +12,7 @@
%%
%%
%% File: trig.dtx Copyright (C) 1993-1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/graphics/truetex.def b/Master/texmf-dist/tex/latex/graphics/truetex.def
index a2d0fc970ea..e2318fa531e 100644
--- a/Master/texmf-dist/tex/latex/graphics/truetex.def
+++ b/Master/texmf-dist/tex/latex/graphics/truetex.def
@@ -8,7 +8,7 @@
%%
%% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
%% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle
-%% Copyright (C) 2000-2021
+%% Copyright (C) 2000-2022 LaTeX Project
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/.tex b/Master/texmf-dist/tex/latex/tools/.tex
index c038ea6a9d5..42f2147f508 100644
--- a/Master/texmf-dist/tex/latex/tools/.tex
+++ b/Master/texmf-dist/tex/latex/tools/.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/afterpage.sty b/Master/texmf-dist/tex/latex/tools/afterpage.sty
index 82fedf16cab..84f854ca729 100644
--- a/Master/texmf-dist/tex/latex/tools/afterpage.sty
+++ b/Master/texmf-dist/tex/latex/tools/afterpage.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/array.sty b/Master/texmf-dist/tex/latex/tools/array.sty
index e67897fdfa2..6d72accba91 100644
--- a/Master/texmf-dist/tex/latex/tools/array.sty
+++ b/Master/texmf-dist/tex/latex/tools/array.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -46,7 +46,7 @@
\DeclareCurrentRelease{}{2020-10-01}
\ProvidesPackage{array}
- [2021/10/04 v2.5f Tabular extension package (FMi)]
+ [2022/03/10 v2.5f Tabular extension package (FMi)]
%%
\def\@addtopreamble#1{\xdef\@preamble{\@preamble #1}}
diff --git a/Master/texmf-dist/tex/latex/tools/bm.sty b/Master/texmf-dist/tex/latex/tools/bm.sty
index 18b4c0c9661..6850bcb0196 100644
--- a/Master/texmf-dist/tex/latex/tools/bm.sty
+++ b/Master/texmf-dist/tex/latex/tools/bm.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -34,13 +34,13 @@
%% The list of all files belonging to the LaTeX `Tools Bundle' is
%% given in the file `manifest.txt'.
%%
-%% Copyright 1996 1997 1998 1999 2002 2003 2004 2016 2017 2019
+%% Copyright 1996 1997 1998 1999 2002 2003 2004 2016 2017 2019 2021 2022
%% David Carlisle Frank Mittelbach
%%
%% Development of this package was commissioned by Y&Y Inc.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{bm}
- [2021/04/25 v1.2e Bold Symbol Support (DPC/FMi)]
+ [2022/01/05 v1.2f Bold Symbol Support (DPC/FMi)]
\DeclareOption{nopmb}{\let\bm@pmb@\@firstofone}
\DeclareOption{warn}{\def\bm@info{\PackageWarningNoLine{bm}}}
\DeclareOption{info}{\def\bm@info#1{\PackageInfo{bm}{#1\@gobble}}}
@@ -191,6 +191,7 @@
\unvcopy{\GenericError{##1}{##2}{##3}{##4}}}%
\let\DN@\copy
\let\FN@\copy
+ \let\nolimits@\copy
\let\next@\copy
\global\let\bm@first\@empty
\ifx\uproot@\undefined\else
diff --git a/Master/texmf-dist/tex/latex/tools/calc.sty b/Master/texmf-dist/tex/latex/tools/calc.sty
index 6c22fbd09e2..793f7315b2b 100644
--- a/Master/texmf-dist/tex/latex/tools/calc.sty
+++ b/Master/texmf-dist/tex/latex/tools/calc.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/dcolumn.sty b/Master/texmf-dist/tex/latex/tools/dcolumn.sty
index c2c9c015830..0e0463b70a6 100644
--- a/Master/texmf-dist/tex/latex/tools/dcolumn.sty
+++ b/Master/texmf-dist/tex/latex/tools/dcolumn.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/delarray.sty b/Master/texmf-dist/tex/latex/tools/delarray.sty
index a6462bb3f07..1cabd9e2baf 100644
--- a/Master/texmf-dist/tex/latex/tools/delarray.sty
+++ b/Master/texmf-dist/tex/latex/tools/delarray.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/e.tex b/Master/texmf-dist/tex/latex/tools/e.tex
index 06c8e3cc9aa..3134c33d8ca 100644
--- a/Master/texmf-dist/tex/latex/tools/e.tex
+++ b/Master/texmf-dist/tex/latex/tools/e.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/enumerate.sty b/Master/texmf-dist/tex/latex/tools/enumerate.sty
index def79b55503..c1698cafd57 100644
--- a/Master/texmf-dist/tex/latex/tools/enumerate.sty
+++ b/Master/texmf-dist/tex/latex/tools/enumerate.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/fontsmpl.sty b/Master/texmf-dist/tex/latex/tools/fontsmpl.sty
index 6d1a91b27af..9c14681c3f3 100644
--- a/Master/texmf-dist/tex/latex/tools/fontsmpl.sty
+++ b/Master/texmf-dist/tex/latex/tools/fontsmpl.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/fontsmpl.tex b/Master/texmf-dist/tex/latex/tools/fontsmpl.tex
index b38c2be76b8..34e4f9a18c4 100644
--- a/Master/texmf-dist/tex/latex/tools/fontsmpl.tex
+++ b/Master/texmf-dist/tex/latex/tools/fontsmpl.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/ftnright.sty b/Master/texmf-dist/tex/latex/tools/ftnright.sty
index a660f3a1b2a..944f69d9f8a 100644
--- a/Master/texmf-dist/tex/latex/tools/ftnright.sty
+++ b/Master/texmf-dist/tex/latex/tools/ftnright.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/h.tex b/Master/texmf-dist/tex/latex/tools/h.tex
index 7a735ae0f98..6fc489d6da0 100644
--- a/Master/texmf-dist/tex/latex/tools/h.tex
+++ b/Master/texmf-dist/tex/latex/tools/h.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/hhline.sty b/Master/texmf-dist/tex/latex/tools/hhline.sty
index 0520f916838..8d823aa3b31 100644
--- a/Master/texmf-dist/tex/latex/tools/hhline.sty
+++ b/Master/texmf-dist/tex/latex/tools/hhline.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/indentfirst.sty b/Master/texmf-dist/tex/latex/tools/indentfirst.sty
index 53ab0ee37ed..af37630543b 100644
--- a/Master/texmf-dist/tex/latex/tools/indentfirst.sty
+++ b/Master/texmf-dist/tex/latex/tools/indentfirst.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/layout.sty b/Master/texmf-dist/tex/latex/tools/layout.sty
index bf2d8584829..8774c9d9dd5 100644
--- a/Master/texmf-dist/tex/latex/tools/layout.sty
+++ b/Master/texmf-dist/tex/latex/tools/layout.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/longtable.sty b/Master/texmf-dist/tex/latex/tools/longtable.sty
index b49be4c5603..db3ea1e06c3 100644
--- a/Master/texmf-dist/tex/latex/tools/longtable.sty
+++ b/Master/texmf-dist/tex/latex/tools/longtable.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/multicol-2019-10-01.sty b/Master/texmf-dist/tex/latex/tools/multicol-2019-10-01.sty
new file mode 100644
index 00000000000..221f62f68e6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tools/multicol-2019-10-01.sty
@@ -0,0 +1,1105 @@
+%% This is a rollback file for multicol to the last version within release 2019-10-01
+%% =======================
+%%
+%%
+%% This is file `multicol.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% multicol.dtx (with options: `package,badness,check,marktrace,nobalance')
+%%
+%% This is a generated file.
+%%
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at https://latex-project.org/bugs/
+%% (but please observe conditions on bug reports sent to that address!)
+%%
+%% Copyright (C) 1993-2021
+%% The LaTeX Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
+%% --------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
+%% without such generated files.
+%%
+%% The list of all files belonging to the LaTeX `Tools Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%% Package `multicol' to use with LaTeX2e
+%% Copyright 1989-2019 Frank Mittelbach
+%%
+%% In addition to the terms of LPPL any distributed version
+%% (unchanged or modified) of multicol has to keep the statement
+%% about the moral obligation for using multicol. In case of major
+%% changes where this would not be appropriate the author of the
+%% changed version should contact the copyright holder.
+%%
+%%
+%% Moral obligation for using multicol:
+%% ------------------------------------
+%%
+%% Users of multicol who wish to include or use multicol or a modified
+%% version in a proprietary and commercially market product are asked
+%% under certain conditions (see below) for the payment of a license
+%% fee. The size of this fee is to be determined, in each instance,
+%% by the commercial user, depending on his/her judgment of the value of
+%% multicol for his/her product.
+%%
+%%
+%% The conditions for this are as follows:
+%%
+%% The producer of a proprietary and commercially market product
+%% that involves typesetting using multicol is asked to determine
+%% the value of a license fee for using multicol if
+%%
+%% - the product is a document and the producer has decided to
+%% include multicol to typeset (parts of) the document or has
+%% directed the author of the document to include multicol (for
+%% example, by providing a class file to be used by the author)
+%%
+%% - the product is a LaTeX class or package that includes multicol
+%%
+%%
+%% There is no moral obligation in case
+%%
+%% - the product is a document but producer has not directed
+%% the author to include multicol (in that case the moral obligation
+%% lies with the author of the document)
+%%
+%% - the product does not involve typesetting, e.g., consists, for
+%% example, of distributing multicol and its documentation.
+%%
+%% - the product is not proprietary, i.e., is made available as free
+%% software itself (which doesn't prohibit its commercial marketing)
+%%
+%% - multicol is used for non-commercial purposes
+%%
+%%
+%% Determining a license fee might result in a license fee of zero
+%% (i.e., no payment) in case a producer has determined that the use
+%% of multicol has no enhancing effect on the product. This is a
+%% plausible scenario, i.e., in the above two cases the producer is
+%% only asked to evaluate the value of multicol for the product
+%% not for the payment of a license fee per se (which might or might
+%% not follow from this evaluation).
+%%
+%% The license fee, if any, can be payed either to the LaTeX fund
+%% (see ltx3info.txt in the base LaTeX distribution) or to the author of
+%% the program who can be contacted at
+%%
+%% Frank.Mittelbach@latex-project.org
+%%
+\NeedsTeXFormat{LaTeX2e}[2018-04-01]
+
+\providecommand\DeclareRelease[3]{}
+\providecommand\DeclareCurrentRelease[2]{}
+
+\DeclareRelease{}{2017-04-11}{multicol-2017-04-11.sty}
+\DeclareCurrentRelease{}{2018-04-01}
+
+\ProvidesPackage{multicol}
+ [2019/12/09 v1.8y multicolumn formatting (FMi)]
+%%
+\DeclareOption{twocolumn}
+ {\PackageWarning{multicol}{May not work
+ with the twocolumn option}}
+\newcount\c@tracingmulticols
+\DeclareOption{errorshow}
+ {\c@tracingmulticols\z@}
+\DeclareOption{infoshow}
+ {\c@tracingmulticols\@ne}
+\DeclareOption{balancingshow}
+ {\c@tracingmulticols\tw@}
+\DeclareOption{markshow}
+ {\c@tracingmulticols\thr@@}
+\DeclareOption{debugshow}
+ {\c@tracingmulticols5\relax}
+\let\mc@gridwarn\maxdimen
+\DeclareOption{grid}{\def\mc@gridwarn{\@maxdepth}}
+\DeclareOption{colaction}{%
+ \def\mc@col@status@write{%
+ \protected@write\@auxout{}%
+ {\string\mc@col@status
+ {\ifmc@firstcol 1\else 2\fi}}%
+ \mc@firstcolfalse}%
+ \def\mc@lastcol@status@write{%
+ \protected@write\@auxout{}%
+ {\string\mc@col@status{3}}}%
+}
+\let\mc@col@status@write\relax
+\let\mc@lastcol@status@write\relax
+\ProcessOptions
+\def\multicols#1{\col@number#1\relax
+ \ifnum\col@number<\tw@
+ \PackageWarning{multicol}%
+ {Using `\number\col@number'
+ columns doesn't seem a good idea.^^J
+ I therefore use two columns instead}%
+ \col@number\tw@ \fi
+ \ifnum\col@number>20
+ \PackageError{multicol}%
+ {Too many columns}%
+ {Current implementation doesn't
+ support more than 20 columns.%
+ \MessageBreak
+ I therefore use 20 columns instead}%
+ \col@number20 \fi
+ \ifx\@footnotetext\mult@footnotetext\else
+ \let\orig@footnotetext\@footnotetext
+ \let\@footnotetext\mult@footnotetext
+ \fi
+ \@ifnextchar[\mult@cols{\mult@cols[]}}
+\long\def\mult@footnotetext#1{\begingroup
+ \columnwidth\textwidth
+ \orig@footnotetext{#1}\endgroup}
+\def\mult@cols[#1]{\@ifnextchar[%
+ {\mult@@cols{#1}}%
+ {\mult@@cols{#1}[\premulticols]}}
+\def\mult@@cols#1[#2]{%
+ \par
+ \ifinner \@boxedmulticolstrue
+ \else
+ \ifnum \doublecol@number>\z@
+ \@boxedmulticolstrue
+ \fi
+ \fi
+ \mult@info\z@
+ {Starting environment with
+ \the\col@number\space columns%
+ \if@boxedmulticols\MessageBreak
+ (boxed mode)\fi
+ }%
+ \enough@room{#2}%
+ #1\par\addvspace\multicolsep
+ \ifdim \prevdepth = -\@m\p@
+ \else
+ \@tempcnta\prevdepth
+ \@tempcntb\baselineskip
+ \divide\@tempcnta\@tempcntb
+ \advance\@tempcnta\@ne
+ \dimen@\prevdepth
+ \advance\dimen@ -\@tempcnta\baselineskip
+ \advance\dimen@ \topskip
+ \kern-\dimen@
+ \fi
+ \begingroup
+ \prepare@multicols
+ \if@boxedmulticols
+ \setbox\mult@box\vbox\bgroup
+ \color@setgroup
+ \fi
+ \ignorespaces}
+\newif\if@boxedmulticols
+\@boxedmulticolsfalse
+\newbox\mult@box
+\def\enough@room#1{%
+ \if@boxedmulticols\else
+ \par
+ \bgroup\@nobreakfalse\addpenalty\z@\egroup
+ \page@free \pagegoal
+ \advance \page@free -\pagetotal
+ \@tempskipa#1\relax
+ \mult@info\z@
+ {Current page:\MessageBreak
+ height=%
+ \the\pagegoal: used \the\pagetotal
+ \space -> free=\the\page@free
+ \MessageBreak
+ needed \the\@tempskipa
+ \space(for #1)}%
+ \ifdim \page@free <#1\newpage \fi
+ \fi}
+\def\prepare@multicols{%
+ \multicol@leftmargin\@totalleftmargin
+ \@totalleftmargin\z@
+ \parshape\z@
+ \doublecol@number\col@number
+ \multiply\doublecol@number\tw@
+ \advance\doublecol@number\mult@rightbox
+ \if@boxedmulticols
+ \let\l@kept@firstmark\kept@firstmark
+ \let\l@kept@botmark\kept@botmark
+ \global\let\kept@firstmark\@empty
+ \global\let\kept@botmark\@empty
+ \else
+ \nointerlineskip {\topskip\z@\null}%
+ \output{%
+ \global\setbox\partial@page\vbox
+ {%
+ \ifvoid\partial@page\else
+ \PackageError{multicol}%
+ {Error saving partial page}%
+ {The part of the page before
+ the multicols environment was
+ nearly full with^^Jthe result
+ that starting the environment
+ will produce an overfull
+ page. Some^^Jtext may be lost!
+ Please increase \premulticols
+ either generally or for this%
+ ^^Jenvironment by specifying a
+ suitable value in the second
+ optional argument to^^Jthe
+ multicols environment.}
+ \unvbox\partial@page
+ \box\last@line
+ \fi
+ \unvbox\@cclv
+ \global\setbox\last@line\lastbox
+ }%
+ \prep@keptmarks
+ \global\let\kept@topmark\firstmark
+ }\eject
+ \advance\@colroom-\ht\partial@page
+ \set@mult@vsize\relax
+ \output{\multi@column@out}%
+ \init@mult@footins
+ \reinsert@footnotes
+ \def\clearpage{%
+ \ifx\@deferlist\@empty\else
+ \PackageError{multicol}%
+ {Deferred floats not cleared}%
+ {A \string\clearpage\space inside multicols acts like
+ \string\newpage\space and doesn't clear floats.\MessageBreak
+ Move it before the multicols environment if you need it.}%
+ \fi
+ \newpage}%
+ \fi
+ \vbadness\@Mi \hbadness5000
+ \tolerance\multicoltolerance
+ \pretolerance\multicolpretolerance
+ \setemergencystretch\col@number\hsize
+ \set@floatcmds
+ \advance\baselineskip\multicolbaselineskip
+ \hsize\linewidth \advance\hsize\columnsep
+ \advance\hsize-\col@number\columnsep
+ \divide\hsize\col@number
+ \full@width\linewidth
+ \linewidth\hsize
+ \columnwidth\hsize
+}
+\def\init@mult@footins{%
+ \multiply\count\footins\col@number
+ \multiply\skip \footins\col@number
+}
+\def\set@mult@vsize#1{%
+ \vsize\@colroom
+ \@tempdima\baselineskip
+ \advance\@tempdima-\topskip
+ \advance\vsize\@tempdima
+ \vsize\col@number\vsize
+ \advance\vsize-\@tempdima
+ \advance\vsize\col@number\baselineskip
+ #1\advance\vsize
+ \c@collectmore\baselineskip}
+\newdimen\multicol@leftmargin
+\mathchardef\@Mvi=10006 % 10005 is \columnbreak
+\def\endmulticols{\par
+ \if@boxedmulticols
+ \remove@discardable@items\color@endgroup\egroup
+ \balance@columns
+ \return@nonemptymark{first}%
+ \kept@firstmark
+ \return@nonemptymark{bot}%
+ \kept@botmark
+ \page@sofar
+ \global\let\kept@firstmark
+ \l@kept@firstmark
+ \global\let\kept@botmark
+ \l@kept@botmark
+ \mult@info\tw@
+ {Restore kept marks to\MessageBreak
+ first: \meaning\kept@firstmark
+ \MessageBreak bot\space\space:
+ \meaning\kept@botmark }%
+ \else
+ \ifdim\pagegoal=\maxdimen
+ \ifvoid\colbreak@box\else
+ \mult@info\@ne{Re-adding forced
+ break(s) for splitting}%
+ \unvbox\colbreak@box\fi
+ \fi
+ \penalty\z@
+ \penalty-\@Mvi
+ \ifvbox\partial@page
+ \unvbox\partial@page\fi
+ \global\let\kept@firstmark\@empty
+ \global\let\kept@botmark\@empty
+ \mult@info\tw@
+ {Make kept marks empty}%
+ \fi
+ \@checkend{multicols}%
+ \endgroup
+ \global\c@unbalance\z@
+ \if@boxedmulticols
+ \mc@col@status@write
+ \else
+ \reinsert@footnotes
+ \ifdim \pagegoal=\maxdimen
+ \global\vsize\@colroom
+ \else
+ \enough@room\postmulticols
+ \fi
+ \fi
+ \addvspace\multicolsep
+ \prevdepth\z@
+ \mult@info\z@
+ {Ending environment
+ \if@boxedmulticols
+ \space(boxed mode)\fi
+ }}
+\newcount\c@unbalance
+\newcount\c@collectmore
+\newcount\doublecol@number
+\newcount\multicoltolerance
+\newcount\multicolpretolerance
+\newdimen\full@width
+\newdimen\page@free
+\newdimen\premulticols
+\newdimen\postmulticols
+\newskip\multicolsep
+\newskip\multicolbaselineskip
+\newbox\partial@page
+\newbox\last@line
+\c@unbalance = 0
+\c@collectmore = 0
+\multicoltolerance = 9999
+\multicolpretolerance = -1
+\premulticols = 50pt
+\postmulticols= 20pt
+\multicolsep = 12pt plus 4pt minus 3pt
+\multicolbaselineskip=0pt
+\def\process@cols#1#2{\count@#1\relax
+ \loop
+ #2%
+ \advance\count@\tw@
+ \ifnum\count@<\doublecol@number
+ \repeat}
+\def\page@sofar{%
+ \process@cols\mult@rightbox
+ {\ifvoid\count@
+ \setbox\count@\hbox to\hsize{}%
+ \else
+ \wd\count@\hsize
+ \fi}%
+ \count@\col@number \advance\count@\m@ne
+ \mult@info\z@
+ {Column spec: \the\full@width\space = indent
+ + columns + sep =\MessageBreak
+ \the\multicol@leftmargin\space
+ + \the\col@number\space
+ x \the\hsize\space
+ + \the\count@\space
+ x \the\columnsep
+ }%
+\ifvmode\else\errmessage{Multicol Error}\fi
+ \nointerlineskip
+ \setbox\z@\hbox{p}\global\dimen\tw@\dp\z@
+ \moveright\multicol@leftmargin
+ \hbox to\full@width{%
+ \mc@align@columns
+ \rlap{\phantom p}%
+ }%
+ \prevdepth\z@
+ \kern-\dimen\tw@
+ \ifdim\dimen\tw@ > \mc@gridwarn
+ \PackageWarning{multicol}%
+ {Very deep columns!\MessageBreak
+ Grid alignment might be broken}%
+ \fi
+}
+\def\columnseprulecolor{\normalcolor}
+\def\reinsert@footnotes{\ifvoid\footins\else
+ \insert\footins{}\fi}
+\def\vfilmaxdepth{\vskip \z@ \@plus .0001fil
+ \@minus \@maxdepth}
+\def\multi@column@out{%
+ \ifnum\outputpenalty <-\@M
+ \speci@ls \else
+ \ifvoid\colbreak@box\else
+ \mult@info\@ne{Re-adding forced
+ break(s) for splitting}%
+ \setbox\@cclv\vbox{%
+ \unvbox\colbreak@box
+ \penalty-\@Mv
+ \unvbox\@cclv}%
+ \fi
+ \splittopskip\topskip
+ \splitmaxdepth\@maxdepth
+ \boxmaxdepth\@maxdepth
+ \dimen@\@colroom
+ \divide\skip\footins\col@number
+ \ifvoid\footins \else
+ \leave@mult@footins
+ \fi
+
+ \ifvbox \@kludgeins
+ \advance \dimen@ -\ht\@kludgeins
+ \ifdim \wd\@kludgeins>\z@
+ \shr@nkingtrue
+ \fi
+ \fi
+ \process@cols\mult@gfirstbox{%
+ \setbox\count@
+ \vsplit\@cclv to\dimen@
+ \set@keptmarks
+ \setbox\count@
+ \vbox to\dimen@
+ {\unvbox\count@
+ \ifshr@nking\vfilmaxdepth\fi}%
+ }%
+ \setbox\mult@rightbox
+ \vsplit\@cclv to\dimen@
+ \set@keptmarks
+ \setbox\mult@rightbox\vbox to\dimen@
+ {\unvbox\mult@rightbox
+ \ifshr@nking\vfilmaxdepth\fi}%
+ \ifvoid\@cclv \else
+ \unvbox\@cclv
+ \ifnum\outputpenalty=\@M
+ \else
+ \penalty\outputpenalty
+ \fi
+ \ifvoid\footins\else
+ \PackageWarning{multicol}%
+ {I moved some lines to
+ the next page.\MessageBreak
+ Footnotes on page
+ \thepage\space might be wrong}%
+ \fi
+ \ifnum \c@tracingmulticols>\thr@@
+ \hrule\allowbreak \fi
+ \fi
+ \ifx\@empty\kept@firstmark
+ \let\firstmark\kept@topmark
+ \let\botmark\kept@topmark
+ \else
+ \let\firstmark\kept@firstmark
+ \let\botmark\kept@botmark
+ \fi
+ \let\topmark\kept@topmark
+ \mult@info\tw@
+ {Use kept top mark:\MessageBreak
+ \meaning\kept@topmark
+ \MessageBreak
+ Use kept first mark:\MessageBreak
+ \meaning\kept@firstmark
+ \MessageBreak
+ Use kept bot mark:\MessageBreak
+ \meaning\kept@botmark
+ \MessageBreak
+ Produce first mark:\MessageBreak
+ \meaning\firstmark
+ \MessageBreak
+ Produce bot mark:\MessageBreak
+ \meaning\botmark
+ \@gobbletwo}%
+ \boxmaxdepth\maxdimen
+ \setbox\@cclv\vbox{\unvbox\partial@page
+ \page@sofar}%
+ \@makecol\@outputpage
+ \global\let\kept@topmark\botmark
+ \global\let\kept@firstmark\@empty
+ \global\let\kept@botmark\@empty
+ \mult@info\tw@
+ {(Re)Init top mark:\MessageBreak
+ \meaning\kept@topmark
+ \@gobbletwo}%
+ \global\@colroom\@colht
+ \global \@mparbottom \z@
+ \global \@textfloatsheight \z@
+ \process@deferreds
+ \@whilesw\if@fcolmade\fi{\@outputpage
+ \global\@colroom\@colht
+ \process@deferreds}%
+ \mult@info\@ne
+ {Colroom:\MessageBreak
+ \the\@colht\space
+ after float space removed
+ = \the\@colroom \@gobble}%
+ \set@mult@vsize \global
+ \fi}
+\def\leave@mult@footins{%
+ \advance\dimen@-\skip\footins
+ \advance\dimen@-\ht\footins
+}
+\def\speci@ls{%
+ \ifnum\outputpenalty <-\@Mi
+ \ifnum \outputpenalty<-\@MM
+ \PackageError{multicol}{Document end
+ inside multicols environment}\@ehd
+ \@specialoutput
+ \else
+ \ifnum\outputpenalty = -\@Mv
+ \mult@info\@ne{Forced column
+ break seen}%
+ \global\advance\vsize-\pagetotal
+ \global\setbox\colbreak@box
+ \vbox{%
+ \ifvoid\colbreak@box
+ \else
+ \unvbox\colbreak@box
+ \penalty-\@Mv
+ \fi
+ \boxmaxdepth\@maxdepth
+ \setbox\@cclv\vbox{%
+ \unvbox\@cclv
+ \remove@discardable@items}%
+ \dimen@\dp\@cclv
+ \unvbox\@cclv
+ \kern-\dimen@
+ }%
+ \reinsert@footnotes
+ \else
+ \ifnum\outputpenalty = -\@Mvi
+ \mult@info\@ne{End penalty of multicols seen}%
+ \outputpenalty\@M % pretend we had a natural forced break
+ \balance@columns@out
+ \else
+ \PackageWarningNoLine{multicol}%
+ {Floats and marginpars not
+ allowed inside `multicols'
+ environment!}%
+ \unvbox\@cclv\reinsert@footnotes
+ \xdef\@freelist{\@freelist\@currlist}%
+ \gdef\@currlist{}%
+ \fi
+ \fi
+ \fi
+ \else \@doclearpage \fi
+}
+\def\process@deferreds{%
+ \@floatplacement
+ \@tryfcolumn\@deferlist
+ \if@fcolmade\else
+ \begingroup
+ \let\@tempb\@deferlist
+ \gdef\@deferlist{}%
+ \let\@elt\@scolelt
+ \@tempb \endgroup
+ \fi}
+\newif\ifshr@nking
+\def\raggedcolumns{%
+ \@bsphack\shr@nkingtrue\@esphack}
+\def\flushcolumns{%
+ \@bsphack\shr@nkingfalse\@esphack}
+\def\balance@columns@out{%
+ \setbox\mult@box\vbox{%
+ \ifvoid\colbreak@box\else
+ \unvbox\colbreak@box
+ \penalty-\@Mv
+ \mult@info\@ne{Re-adding
+ forced break(s) in balancing}%
+ \fi
+ \unvbox\@cclv
+ \remove@discardable@items
+ }%
+ \balance@columns
+ \iftoo@bad
+ \mult@info\@ne
+ {Balancing failed ...
+ cut a normal page}%
+ \setbox\@cclv\vbox
+ {\vskip\topskip
+ \vskip-\splittopskip
+ \unvbox\mult@box
+ \penalty-\@Mvi
+ }%
+ \multi@column@out
+ \else
+ \global\vsize\@colroom
+ \global\advance\vsize\ht\partial@page
+ \ifvbox\@kludgeins\insert\@kludgeins
+ {\unvbox\@kludgeins}\fi
+ \unvbox\partial@page
+ \return@nonemptymark{first}\kept@firstmark
+ \return@nonemptymark{bot}\kept@botmark
+ \page@sofar
+ \penalty\z@
+ \fi
+}
+\def\balance@columns{%
+ \get@keptmarks\mult@box
+ \setbox\mult@box\vbox{%
+ \penalty-\@M
+ \unvbox\mult@box
+ }%
+ \@tempdima\topskip
+ \splittopskip\@tempdima
+ \@plus\multicolundershoot
+ \@minus\multicolovershoot
+ \splitmaxdepth\@maxdepth
+ \boxmaxdepth\@maxdepth
+ \setbox\@tempboxa\vsplit\mult@box to\z@
+ \@tempdima\ht\mult@box
+ \advance\@tempdima\dp\mult@box
+ \divide\@tempdima\col@number
+ \count@\@tempdima
+ \divide\count@\baselineskip
+ \dimen@\count@\baselineskip
+ \advance\dimen@\topskip
+ \ifdim \dimen@ >\@tempdima
+ \advance\dimen@-\baselineskip
+ \fi
+ \@tempdima\dimexpr
+ \topskip +\c@minrows\baselineskip-\baselineskip\relax
+ \ifnum\dimen@<\@tempdima
+ \mult@info\@ne
+ {Start value
+ \the\dimen@ \space ->
+ \the\@tempdima \space (corrected for minrows)}%
+ \dimen@\@tempdima
+ \fi
+ \advance\dimen@\c@unbalance\baselineskip
+ \mult@info\@ne
+ {Balance columns\on@line:
+ \ifnum\c@unbalance=\z@\else
+ (off balance=\number\c@unbalance)\fi
+ \@gobbletwo}%
+ \ifnum\dimen@<\topskip
+ \mult@info\@ne
+ {Start value
+ \the\dimen@ \space ->
+ \the\topskip \space (corrected)}%
+ \dimen@\topskip
+ \fi
+ \vbadness\@M
+ \vfuzz \maxdimen
+ \last@try-\p@
+ \loop
+ {\process@cols\mult@grightbox
+ {\global\setbox\count@
+ \box\voidb@x}}%
+ \global\setbox\mult@grightbox
+ \copy\mult@box
+ \too@badfalse
+ \forcedbreak@leftoverfalse
+ {\process@cols\mult@firstbox{%
+ \global\setbox\count@
+ \vsplit\mult@grightbox to\dimen@
+ \global\setbox\count@
+ \vbox to\dimen@
+ {\unvbox\count@}%
+ \ifnum\c@tracingmulticols>\@ne
+ \@tempcnta\count@
+ \advance\@tempcnta-\mult@grightbox
+ \divide\@tempcnta \tw@
+ \message{^^JColumn
+ \number\@tempcnta\space
+ badness: \the\badness\space}%
+ \fi
+ \ifnum\badness>\c@columnbadness
+ \ifnum\c@tracingmulticols>\@ne
+ \message{too bad
+ (>\the\c@columnbadness)}%
+ \fi
+ \too@badtrue
+ \fi
+ }}%
+ \global\setbox\mult@grightbox
+ \vbox{\unvbox\mult@grightbox}%
+ \setbox\mult@nat@firstbox
+ \vbox{\unvcopy\mult@firstbox}%
+ \ifnum\c@tracingmulticols>\@ne
+ \message{^^JFirst column
+ = \the\dimen@\space
+ (\the\ht\mult@nat@firstbox)}\fi
+ \ifnum\c@tracingmulticols>\@ne
+ \message{<> last column =
+ \the\ht\mult@grightbox^^J}%
+ \fi
+ \ifdim\ht\mult@grightbox >\dimen@
+ \too@badtrue
+ \ifnum\c@tracingmulticols>\@ne
+ \typeout{Rejected: last
+ column too large!}%
+ \fi
+ \else
+ \setbox\@tempboxa
+ \copy\mult@grightbox
+ \setbox\z@\vsplit\@tempboxa to\maxdimen
+ \ifvoid\@tempboxa
+ \global\setbox\mult@grightbox
+ \vbox to\dimen@
+ {\unvbox\mult@grightbox}%
+ \ifnum\c@tracingmulticols>\@ne
+ \message{Final badness:
+ \the\badness}%
+ \fi
+ \ifnum\badness>\c@finalcolumnbadness
+ \global\setbox\mult@grightbox
+ \vbox to\dimen@
+ {\unvbox\mult@grightbox\vfil}%
+ \ifnum\c@tracingmulticols>\@ne
+ \message{ setting natural
+ (> \the\c@finalcolumnbadness)}%
+ \fi
+ \fi
+ \else
+ \@tempdima\@colroom
+ \advance\@tempdima \maxbalancingoverflow
+ \ifdim \dimen@ < \@tempdima
+ \too@badtrue
+ \ifnum\c@tracingmulticols>\@ne
+ \typeout{Rejected: unprocessed
+ forced break(s) in last column!}%
+ \fi
+ \else
+ \forcedbreak@leftovertrue
+ \ifnum\c@tracingmulticols>\@ne
+ \typeout{Failed: columns too large
+ with unprocessed forced break(s)!}%
+ \fi
+ \fi
+ \fi
+ \fi
+ \ifdim\ht\mult@nat@firstbox<\dimen@
+ \ifdim\ht\mult@nat@firstbox>\last@try
+ \too@badtrue
+ \ifnum\c@tracingmulticols>\@ne
+ \typeout{Retry: using natural
+ height of first column!}%
+ \fi
+ \dimen@\ht\mult@nat@firstbox
+ \last@try\dimen@
+ \advance\dimen@-\p@
+ \fi
+ \fi
+ \iftoo@bad
+ \advance\dimen@\p@
+ \repeat
+ \ifforcedbreak@leftover
+ \too@badtrue
+ \else
+ \if@boxedmulticols\else
+ \ifdim\dimen@>\@colroom
+ \dimen@\@colroom
+ \fi
+ \fi
+ \process@cols\mult@rightbox
+ {\@tempcnta\count@
+ \advance\@tempcnta\@ne
+ \vfuzz\z@
+ \setbox\count@\vbox to\dimen@
+ {%
+ \vskip \z@
+ \@plus-\multicolundershoot
+ \@minus-\multicolovershoot
+ \unvbox\@tempcnta
+ \ifshr@nking\vfilmaxdepth\fi
+ }%
+ \ifnum\badness>\@M
+ \vfuzz\maxdimen % no overfull warning
+ \setbox\@tempboxa \vbox to\dimen@
+ {\vskip-\maxbalancingoverflow
+ \unvcopy\count@}%
+ \ifnum\badness>\@M
+ \mult@info\@ne
+ {Balanced column more than
+ \the\maxbalancingoverflow\space
+ too large}%
+ \too@badtrue
+ \else
+ \mult@info\@ne
+ {Balanced column
+ too large, but less than
+ \the\maxbalancingoverflow}%
+ \fi
+ \fi
+ }%
+ \fi
+}
+\newdimen\maxbalancingoverflow
+\maxbalancingoverflow=12pt
+
+\ifnum\numexpr \count20-\count14-1<41 % = 2 * 20 + 1
+ \count14=\@cclv
+\fi
+\newbox\mult@rightbox
+\newbox\mult@grightbox
+\newbox\mult@gfirstbox
+\newbox\mult@firstbox
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa\newbox\@tempa
+\newbox\@tempa
+\let\@tempa\relax
+\@ifundefined{emergencystretch}
+ {\newdimen\emergencystretch}{}
+\def\setemergencystretch#1#2{%
+ \emergencystretch 4pt
+ \multiply\emergencystretch#1}
+
+\def\set@floatcmds{%
+ \let\@dblfloat\@dbflt
+ \def\end@dblfloat{\@endfloatbox
+ \@largefloatcheck
+ \outer@nobreak
+ \ifnum\@floatpenalty<\z@
+ \@cons\@deferlist\@currbox
+ \fi
+ \ifnum\@floatpenalty=-\@Mii
+ \@Esphack
+ \fi}}
+\def\kept@topmark{{}{}}
+\let\kept@firstmark\@empty
+\let\kept@botmark\@empty
+\def\return@nonemptymark#1#2{%
+ \ifx#2\@empty
+ \else
+ \mult@info\tw@
+ {Returned #1 mark:\MessageBreak
+ \meaning#2}%
+ \toks@\expandafter{#2}%
+ \mark{\the\toks@}%
+ \nobreak
+ \fi}
+\def\get@keptmarks#1{%
+ \begingroup
+ \vbadness\@M
+ \setbox#1\copy#1%
+ \setbox#1\vsplit#1to\maxdimen
+ \set@keptmarks
+ \endgroup
+}
+\def\set@keptmarks{%
+ \ifx\kept@firstmark\@empty
+ \expandafter\gdef\expandafter
+ \kept@firstmark
+ \expandafter{\splitfirstmark}%
+ \ifx\kept@firstmark\@empty\else
+ \mult@info\tw@
+ {Set kept first mark:\MessageBreak
+ \meaning\kept@firstmark%
+ \@gobbletwo}%
+ \fi
+ \fi
+ \expandafter\def\expandafter\@tempa
+ \expandafter{\splitbotmark}%
+ \ifx\@tempa\@empty\else
+ \global\let\kept@botmark\@tempa
+ \mult@info\tw@
+ {Set kept bot mark:\MessageBreak
+ \meaning\kept@botmark%
+ \@gobbletwo}%
+ \fi}%
+\def\prep@keptmarks{%
+ \if@boxedmulticols \else
+ \get@keptmarks\partial@page
+ \fi}
+\skip0=0pt
+\edef\the@zero@skip{\the\skip0}
+\def\remove@discardable@items{%
+ \unpenalty
+ \edef\@tempa{\the\lastskip}%
+ \unskip
+ \ifx\@tempa\the@zero@skip
+ \edef\@tempb{\the\lastskip}%
+ \ifx\@tempb\the@zero@skip
+ \else
+ \unskip
+ \ifnum \lastpenalty=\@M
+ \vskip\@tempb\vskip\@tempa\relax
+ \else
+ \remove@discardable@items
+ \fi
+ \fi
+ \else
+ \remove@discardable@items
+ \fi
+}
+\newif\iftoo@bad
+\def\too@badtrue{\global\let\iftoo@bad\iftrue}
+\def\too@badfalse{\global\let\iftoo@bad\iffalse}
+\newif\ifforcedbreak@leftover
+\newcount\c@minrows
+\c@minrows=1
+\newcount\c@columnbadness
+\c@columnbadness=10000
+\newcount\c@finalcolumnbadness
+\c@finalcolumnbadness=9999
+
+\newdimen\last@try
+
+\newdimen\multicolovershoot
+\newdimen\multicolundershoot
+\multicolovershoot=0pt
+\multicolundershoot=2pt
+\newbox\mult@nat@firstbox
+\def\mult@info#1#2{%
+ \ifnum\c@tracingmulticols>#1%
+ \GenericWarning
+ {(multicol)\@spaces\@spaces}%
+ {Package multicol: #2}%
+ \fi
+}
+ \@namedef{multicols*}{%
+ \ifinner
+ \PackageWarning{multicol}%
+ {multicols* inside a box does
+ not make sense.\MessageBreak
+ Going to balance anyway}%
+ \else
+ \def\balance@columns@out
+ {\multi@column@out \penalty-\@Mvi }%
+ \fi
+ \begin{multicols}
+}
+\@namedef{endmulticols*}{%
+ \par
+ \ifdim\lastskip>\z@ \vskip-\lastskip \fi
+ \ifdim \prevdepth>\z@
+ \vskip-\ifdim\prevdepth>\boxmaxdepth
+ \boxmaxdepth
+ \else \prevdepth \fi
+ \fi
+ \ifshr@nking\else
+ \vfil
+ \fi
+ \end{multicols}}
+\mathchardef\@Mv=10005
+\def\columnbreak{%
+ \ifnum\col@number<\tw@
+ \PackageError{multicol}%
+ {\noexpand\columnbreak outside multicols}%
+ {This command can only be used within
+ a multicols or multicols* environment.}%
+ \else
+ \ifvmode
+ \penalty -\@Mv\relax
+ \else
+ \@bsphack
+ \vadjust{\penalty -\@Mv\relax}%
+ \@esphack
+ \fi
+ \fi}
+\newbox\colbreak@box
+\def\LR@column@boxes{%
+ \process@cols\mult@gfirstbox{%
+ \ifdim\dp\count@>\dimen\tw@
+ \global\dimen\tw@\dp\count@ \fi
+ \mc@col@status@write
+ \box\count@
+ \hss{\columnseprulecolor\vrule
+ \@width\columnseprule}\hss}%
+ \ifdim\dp\mult@rightbox>\dimen\tw@
+ \global\dimen\tw@\dp\mult@rightbox \fi
+ \mc@lastcol@status@write
+ \box\mult@rightbox
+}
+
+\def\RL@column@boxes{%
+ \process@cols\mult@gfirstbox{%
+ \hskip\hsize
+ \hss{\columnseprulecolor\vrule
+ \@width\columnseprule}\hss
+ }%
+ \hskip\hsize
+ \process@cols\mult@gfirstbox{%
+ \ifdim\dp\count@>\dimen\tw@
+ \global\dimen\tw@\dp\count@ \fi
+ \hskip-\hsize
+ \mc@col@status@write
+ \box\count@
+ \hskip-\hsize
+ \hskip-\columnsep
+ }%
+ \ifdim\dp\mult@rightbox>\dimen\tw@
+ \global\dimen\tw@\dp\mult@rightbox \fi
+ \hskip-\hsize
+ \mc@lastcol@status@write
+ \box\mult@rightbox
+ \hskip-\hsize
+ \hskip\full@width
+ }
+\newcommand\RLmulticolcolumns
+ {\let\mc@align@columns
+ \RL@column@boxes}
+\newcommand\LRmulticolcolumns
+ {\let\mc@align@columns
+ \LR@column@boxes}
+\LRmulticolcolumns
+\newcount\mc@col@check@num
+
+\newcommand\docolaction{%
+ \ifx\mc@col@status@write\relax
+ \PackageError{multicol}%
+ {Option 'colaction' not selected}%
+ {\string\docolaction\space
+ requires the use of the 'colaction'
+ option on the package}%
+ \fi
+ \global\advance\mc@col@check@num\@ne
+ \edef\mc@col@type{\expandafter\ifx
+ \csname mc@col-\the\mc@col@check@num
+ \endcsname\relax
+ 0\else
+ \csname mc@col-\the\mc@col@check@num
+ \endcsname
+ \fi}%
+ \@ifstar
+ {\@docolactionstartrue \@docolaction}%
+ {\@docolactionstarfalse\@docolaction}%
+}
+\newcommand\@docolaction[4][1]{%
+ \edef\@docolactioncheck{\write\@auxout
+ {\string\mc@set@col@status
+ {mc@col-\the\mc@col@check@num}%
+ {\mc@col@type}}}%
+ \if@docolactionstar \@docolactioncheck \fi
+ \ifcase \mc@col@type\relax
+ \ifcase #1\or #2\or#3\or#4\fi
+ \or
+ #2% % 1 First col
+ \or
+ #3% % 2 any middle col
+ \or
+ #4% % 3 last col
+ \else
+ \ERRORwrongdefaultgiven
+ \fi
+ \if@docolactionstar \else \@docolactioncheck \fi
+}
+\newif\if@docolactionstar
+\def\mc@col@status#1{%
+ \gdef\mc@curr@col@status{#1}}
+\def\mc@set@col@status#1#2{%
+ \global\expandafter\let\csname #1\endcsname
+ \mc@curr@col@status}
+\AtEndDocument{\def\mc@set@col@status#1#2{%
+ \ifnum #2=\mc@curr@col@status\else
+ \@tempswatrue
+ \fi}%
+}
+\newif\ifmc@firstcol
+\mc@firstcoltrue
+\endinput
+%%
+%% End of file `multicol.sty'.
diff --git a/Master/texmf-dist/tex/latex/tools/multicol.sty b/Master/texmf-dist/tex/latex/tools/multicol.sty
index 4f11a7584fc..1041c6b0c5e 100644
--- a/Master/texmf-dist/tex/latex/tools/multicol.sty
+++ b/Master/texmf-dist/tex/latex/tools/multicol.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -104,10 +104,11 @@
\providecommand\DeclareCurrentRelease[2]{}
\DeclareRelease{}{2017-04-11}{multicol-2017-04-11.sty}
-\DeclareCurrentRelease{}{2018-04-01}
+\DeclareRelease{v1.8}{2019-10-01}{multicol-2019-10-01.sty}
+\DeclareCurrentRelease{}{2021-11-15}
\ProvidesPackage{multicol}
- [2021/10/28 v1.9b multicolumn formatting (FMi)]
+ [2021/11/30 v1.9d multicolumn formatting (FMi)]
%%
\DeclareOption{twocolumn}
{\PackageWarning{multicol}{May not work
@@ -1023,7 +1024,7 @@
a multicols or multicols* environment.}%
\else
\ifvmode
- \nobreak\vfill\penalty -\@Mv\relax
+ \nobreak\vfill\kern\z@\penalty -\@Mv\relax
\else
\@bsphack
\vadjust{\nobreak\vfill\kern\z@\penalty -\@Mv\relax}%
diff --git a/Master/texmf-dist/tex/latex/tools/q.tex b/Master/texmf-dist/tex/latex/tools/q.tex
index ff31f20ce84..af7c3a94cc7 100644
--- a/Master/texmf-dist/tex/latex/tools/q.tex
+++ b/Master/texmf-dist/tex/latex/tools/q.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/r.tex b/Master/texmf-dist/tex/latex/tools/r.tex
index c0d314667a6..8a040f2b163 100644
--- a/Master/texmf-dist/tex/latex/tools/r.tex
+++ b/Master/texmf-dist/tex/latex/tools/r.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/rawfonts.sty b/Master/texmf-dist/tex/latex/tools/rawfonts.sty
index 8689f0634fc..2710569c05d 100644
--- a/Master/texmf-dist/tex/latex/tools/rawfonts.sty
+++ b/Master/texmf-dist/tex/latex/tools/rawfonts.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/s.tex b/Master/texmf-dist/tex/latex/tools/s.tex
index 954601c8146..f833f3d49fd 100644
--- a/Master/texmf-dist/tex/latex/tools/s.tex
+++ b/Master/texmf-dist/tex/latex/tools/s.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/shellesc.sty b/Master/texmf-dist/tex/latex/tools/shellesc.sty
index d5df721ffc1..620bbc2fbd4 100644
--- a/Master/texmf-dist/tex/latex/tools/shellesc.sty
+++ b/Master/texmf-dist/tex/latex/tools/shellesc.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -36,7 +36,7 @@
%% given in the file `manifest.txt'.
%%
%% Source File: shellesc.dtx
-%% Copyright (C) 2015-2021
+%% Copyright (C) 2015-2022
%%
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
diff --git a/Master/texmf-dist/tex/latex/tools/showkeys-2014-10-28.sty b/Master/texmf-dist/tex/latex/tools/showkeys-2014-10-28.sty
new file mode 100644
index 00000000000..b4d7b190287
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/tools/showkeys-2014-10-28.sty
@@ -0,0 +1,272 @@
+%%
+%% This is file `showkeys.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% showkeys.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% The source is maintained by the LaTeX Project team and bug
+%% reports for it can be opened at https://latex-project.org/bugs/
+%% (but please observe conditions on bug reports sent to that address!)
+%%
+%%
+%% Copyright (C) 1993-2021
+%% The LaTeX Project and any individual authors listed elsewhere
+%% in this file.
+%%
+%% This file was generated from file(s) of the Standard LaTeX `Tools Bundle'.
+%% --------------------------------------------------------------------------
+%%
+%% It may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3c
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% https://www.latex-project.org/lppl.txt
+%% and version 1.3c or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This file may only be distributed together with a copy of the LaTeX
+%% `Tools Bundle'. You may however distribute the LaTeX `Tools Bundle'
+%% without such generated files.
+%%
+%% The list of all files belonging to the LaTeX `Tools Bundle' is
+%% given in the file `manifest.txt'.
+%%
+%% File: showkeys.dtx Copyright (C) 1992-1997 David Carlisle
+%% File: showkeys.dtx Copyright (C) 2006-2019 David Carlisle, LaTeX Project
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{showkeys}
+ [2014/10/28 v3.17 Show cite and label keys (DPC, MH)]
+\DeclareOption{notref}{\let\SK@ref\@empty}
+\DeclareOption{notcite}{\let\SK@cite\@empty}
+\let\SK@refcolor\relax
+\let\SK@labelcolor\relax
+\DeclareOption{color}{\AtEndOfPackage{%
+ \RequirePackage{color}%
+ \definecolor{refkey}{gray}{.75}%
+ \definecolor{labelkey}{gray}{.75}%
+ \def\SK@refcolor{\color{refkey}}%
+ \def\SK@labelcolor{\color{labelkey}}}}
+\DeclareOption{final}{%
+ \providecommand*\showkeyslabelformat[1]{}%
+ \endinput}
+\DeclareOption{draft}{}
+\ProcessOptions
+\let\SK@label\label
+\let\SK@bibitem\@bibitem
+\let\SK@lbibitem\@lbibitem
+\def\label#1{%
+ \@bsphack
+ \SK@\SK@@label{#1}%
+ \begingroup
+ \SK@label{#1}%
+ \endgroup
+ \@esphack}
+\def\@bibitem#1{%
+ \SK@bibitem{#1}\SK@\SK@@label{#1}\ignorespaces}
+\def\@lbibitem[#1]#2{%
+ \SK@lbibitem[{#1}]{#2}\SK@\SK@@label{#2}\ignorespaces}
+\def\SK@#1#2{%
+ \protected@edef\@tempa{#2}%
+ \expandafter#1\meaning\@tempa\SK@}
+\providecommand*\showkeyslabelformat[1]{%
+ \fbox{\normalfont\small\ttfamily#1}}
+\def\SK@@label#1>#2\SK@{%
+ \gdef\SK@lab{\smash{\SK@labelcolor\showkeyslabelformat{#2}}}%
+ \ifvmode
+ \if@inlabel
+ \global\setbox\@labels\hbox{%
+ \llap{\SK@lab\SK@lab@relax
+ \kern\@totalleftmargin\kern\marginparsep}%
+ \box\@labels}%
+ \else
+ \dimen@\prevdepth
+ \nointerlineskip
+ \ifinner
+ \skip@\lastskip\unskip
+ \advance\skip@\lastskip\unskip
+ \setbox\z@\lastbox
+ \ifvoid\z@
+ \llap{\SK@lab\SK@lab@relax\kern\marginparsep}%
+ \else
+ \hbox{\box\z@\rlap{\kern\marginparsep\SK@labx}}%
+ \fi
+ \vskip\skip@
+ \else
+ \llap{\SK@lab\SK@lab@relax\kern\marginparsep}%
+ \fi
+ \prevdepth\dimen@
+ \fi
+ \else
+ \csname SK@\@currenvir\endcsname
+ \ifSK@equation\else
+ \ifmmode
+ \SK@labx
+ \else
+ \ifinner
+ \rlap\SK@lab
+ \else
+ \vadjust{\llap{\SK@lab\kern\marginparsep}}%
+ \fi
+ \SK@lab@relax
+ \fi
+ \fi
+ \fi}
+\AtBeginDocument{%
+ \let\SK@eqnnum\@eqnnum
+ \@ifpackageloaded{amsmath}{%
+ \let\SK@tagform@\tagform@
+ \let\SK@maketag@@@\maketag@@@
+ \iftagsleft@
+ \def\tagform@#1{%
+ \ifx\df@label\@empty
+ \SK@lab@relax
+ \else
+ \expandafter\SK@@label\meaning\df@label\SK@
+ \fi
+ \llap{\SK@lab\kern\marginparsep}%
+ \SK@lab@relax\SK@tagform@{#1}}%
+ \def\maketag@@@#1{%
+ \ifx\df@label\@empty
+ \SK@lab@relax
+ \else
+ \expandafter\SK@@label\meaning\df@label\SK@
+ \fi
+ \llap{\SK@lab\kern\marginparsep}\SK@lab@relax
+ \SK@maketag@@@{#1}%
+ }%
+ \def\@eqnnum{%
+ \llap{\SK@lab\kern\displaywidth\kern\marginparsep}%
+ \SK@lab@relax\SK@eqnnum}%
+ \else
+ \def\tagform@#1{%
+ \ifx\df@label\@empty
+ \SK@lab@relax
+ \else
+ \expandafter\SK@@label\meaning\df@label\SK@
+ \fi
+ \SK@tagform@{#1}%
+ \rlap{\kern\marginparsep\SK@lab}\SK@lab@relax}%
+ \def\maketag@@@#1{%
+ \ifx\df@label\@empty
+ \SK@lab@relax
+ \else
+ \expandafter\SK@@label\meaning\df@label\SK@
+ \fi
+ \SK@maketag@@@{#1}%
+ \rlap{\kern\marginparsep\SK@lab}\SK@lab@relax
+ }%
+ \def\@eqnnum{\SK@eqnnum\rlap{\kern\marginparsep\SK@lab}%
+ \SK@lab@relax}%
+ \fi
+ }%
+ {%
+ \@ifundefined{ver@leqno.clo}{%
+ \def\@eqnnum{\SK@eqnnum\rlap{\kern\marginparsep\SK@lab}%
+ \SK@lab@relax}%
+ }{%
+ \def\@eqnnum{%
+ \llap{\SK@lab\kern\displaywidth\kern\marginparsep}%
+ \SK@lab@relax\SK@eqnnum}%
+ }%
+ }%
+}
+\def\SK@labx{\rlap\SK@lab\global\let\SK@lab\relax}
+\def\SK@lab@relax{\global\let\SK@lab\relax}\SK@lab@relax
+\newif\ifSK@equation
+\let\SK@equation\SK@equationtrue
+\let\SK@eqnarray\SK@equationtrue
+\toks@\expandafter{\eqnarray}
+\edef\eqnarray{\let\noexpand\tagform@\noexpand\SK@tagform@\the\toks@}
+\let\SK@align\SK@equationtrue
+\let\SK@alignat\SK@equationtrue
+\let\SK@xalignat\SK@equationtrue
+\let\SK@xxalignat\SK@equationtrue
+\let\SK@gather\SK@equationtrue
+\let\SK@multline\SK@equationtrue
+\let\SK@flalign\SK@equationtrue
+\expandafter\let\csname SK@align*\endcsname\SK@equationtrue
+\expandafter\let\csname SK@alignat*\endcsname\SK@equationtrue
+\expandafter\let\csname SK@flalign*\endcsname\SK@equationtrue
+\expandafter\let\csname SK@gather*\endcsname\SK@equationtrue
+\expandafter\let\csname SK@multline*\endcsname\SK@equationtrue
+\expandafter\let\csname SK@equation*\endcsname\SK@equationtrue
+\def\SK@def#1{%
+ \edef\@tempa{\expandafter\@gobble\string#1}%
+ \@ifundefined{\@tempa\space}%
+ {\expandafter\let\csname SK@\@tempa\endcsname#1}%
+ {\expandafter\let\csname SK@\@tempa\expandafter\endcsname
+ \csname\@tempa\space\endcsname}%
+ \expandafter\def\expandafter#1\expandafter{%
+ \expandafter\protect\csname\@tempa\space\endcsname}%
+ \expandafter\def\csname\@tempa\space\endcsname}
+\ifx\SK@ref\@empty
+\AtBeginDocument{%
+ \@ifpackageloaded{varioref}{%
+ \SK@def\@@vpageref#1[#2]#3{{%
+ \let\label\SK@label
+ \SK@@@vpageref{#1}[{#2}]{#3}}}%
+ \def\vr@f#1{%
+ \leavevmode\unskip\vref@space
+ \ref{#1}%
+ {\let\label\SK@label
+ \vpageref[\unskip]{#1}}}%
+ }{}}
+\else
+\AtBeginDocument{%
+ \SK@def\ref#1{\SK@\SK@@ref{#1}\SK@ref{#1}}%
+ \SK@def\pageref#1{\SK@\SK@@ref{#1}\SK@pageref{#1}}%
+ \@ifpackageloaded{varioref}{%
+ \SK@def\@@vpageref#1[#2]#3{{%
+ \let\label\SK@label\let\ref\SK@ref\let\pageref\SK@pageref
+ \leavevmode\unskip\SK@\SK@@ref{#3}\SK@@@vpageref{#1}[{#2}]{#3}}}%
+ \def\vr@f#1{%
+ \leavevmode\unskip\vref@space
+ \ref{#1}%
+ \let\label\SK@label\let\ref\SK@ref\let\pageref\SK@pageref
+ \vpageref[\unskip]{#1}}%
+ }{}}
+\fi
+\ifx\SK@cite\@empty
+\AtBeginDocument{%
+ \ifx\HAR@checkdef\@undefined\else
+ \expandafter\let\expandafter
+ \SK@HAR@bi\csname\string\harvarditem\endcsname
+ \expandafter\def\csname\string\harvarditem\endcsname[#1]#2#3#4{%
+ \SK@HAR@bi[{#1}]{#2}{#3}{#4}\SK@\SK@@label{#4}}%
+ \fi}
+\else
+\AtBeginDocument{%
+ \ifx\HAR@checkdef\@undefined
+ \ifx\citen\@undefined
+ \SK@def\@citex[#1]#2{\SK@citex[{#1}]{#2}}%
+ \else
+ \SK@def\citen#1{\SK@\SK@@ref{#1}\SK@citen{#1}}%
+ \fi
+ \SK@def\citeauthor#1{\SK@\SK@@ref{#1}\SK@citeauthor{#1}}%
+ \SK@def\citefullauthor#1{\SK@\SK@@ref{#1}\SK@citefullauthor{#1}}%
+ \SK@def\citeyear#1{\SK@\SK@@ref{#1}\SK@citeyear{#1}}%
+ \else
+ \SK@def\HAR@checkdef#1#2{%
+ \expandafter\SK@\expandafter\SK@@ref\expandafter{#1}%
+ \SK@HAR@checkdef{#1}{#2}}%
+ \expandafter\let\expandafter
+ \SK@HAR@bi\csname\string\harvarditem\endcsname
+ \expandafter\def\csname\string\harvarditem\endcsname[#1]#2#3#4{%
+ \SK@HAR@bi[{#1}]{#2}{#3}{#4}\SK@\SK@@label{#4}}%
+ \fi}
+\def\SK@citex[#1]#2{%
+ \SK@\SK@@ref{#2}\SK@@citex[{#1}]{#2}}
+\fi
+\def\SK@@ref#1>#2\SK@{%
+ \leavevmode\vbox to\z@{{%
+ \vss
+ \SK@refcolor
+ \rlap{\vrule\raise .75em%
+ \hbox{\underbar{\normalfont\footnotesize\ttfamily#2}}}}}}
+\endinput
+%%
+%% End of file `showkeys.sty'.
diff --git a/Master/texmf-dist/tex/latex/tools/showkeys.sty b/Master/texmf-dist/tex/latex/tools/showkeys.sty
index 9bd00e52119..5accb46049a 100644
--- a/Master/texmf-dist/tex/latex/tools/showkeys.sty
+++ b/Master/texmf-dist/tex/latex/tools/showkeys.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -38,8 +38,15 @@
%% File: showkeys.dtx Copyright (C) 1992-1997 David Carlisle
%% File: showkeys.dtx Copyright (C) 2006-2019 David Carlisle, LaTeX Project
\NeedsTeXFormat{LaTeX2e}
+
+\providecommand\DeclareRelease[3]{}
+\providecommand\DeclareCurrentRelease[2]{}
+
+\DeclareRelease{}{2014-10-28}{showkeys-2014-10-28.sty}
+\DeclareCurrentRelease{}{2022-06-01}
+
\ProvidesPackage{showkeys}
- [2014/10/28 v3.17 Show cite and label keys (DPC, MH)]
+ [2022/04/12 v3.18 Show cite and label keys (DPC, MH)]
\DeclareOption{notref}{\let\SK@ref\@empty}
\DeclareOption{notcite}{\let\SK@cite\@empty}
\let\SK@refcolor\relax
@@ -204,30 +211,19 @@
\expandafter\protect\csname\@tempa\space\endcsname}%
\expandafter\def\csname\@tempa\space\endcsname}
\ifx\SK@ref\@empty
-\AtBeginDocument{%
- \@ifpackageloaded{varioref}{%
- \SK@def\@@vpageref#1[#2]#3{{%
- \let\label\SK@label
- \SK@@@vpageref{#1}[{#2}]{#3}}}%
- \def\vr@f#1{%
- \leavevmode\unskip\vref@space
- \ref{#1}%
- {\let\label\SK@label
- \vpageref[\unskip]{#1}}}%
- }{}}
\else
\AtBeginDocument{%
- \SK@def\ref#1{\SK@\SK@@ref{#1}\SK@ref{#1}}%
- \SK@def\pageref#1{\SK@\SK@@ref{#1}\SK@pageref{#1}}%
+ \let\@kernel@ref@\@kernel@ref
+ \let\@kernel@sref@\@kernel@sref
+ \SK@def\@kernel@ref#1{\SK@\SK@@ref{#1}\SK@@kernel@ref{#1}}%
+ \SK@def\@kernel@sref#1{\SK@\SK@@ref{#1}\SK@@kernel@sref{#1}}%
+ \SK@def\@kernel@pageref#1{\SK@\SK@@ref{#1}\SK@@kernel@pageref{#1}}%
+ \SK@def\@kernel@spageref#1{\SK@\SK@@ref{#1}\SK@@kernel@spageref{#1}}%
+ \SK@def\@kernel@Ref#1{{\let\@kernel@ref\@kernel@ref@\SK@\SK@@ref{#1}\SK@@kernel@Ref{#1}}}%
+ \SK@def\@kernel@sRef#1{\let\@kernel@sref\@kernel@sref@\SK@\SK@@ref{#1}\SK@@kernel@sRef{#1}}%
\@ifpackageloaded{varioref}{%
\SK@def\@@vpageref#1[#2]#3{{%
- \let\label\SK@label\let\ref\SK@ref\let\pageref\SK@pageref
- \leavevmode\unskip\SK@\SK@@ref{#3}\SK@@@vpageref{#1}[{#2}]{#3}}}%
- \def\vr@f#1{%
- \leavevmode\unskip\vref@space
- \ref{#1}%
- \let\label\SK@label\let\ref\SK@ref\let\pageref\SK@pageref
- \vpageref[\unskip]{#1}}%
+ \leavevmode\unskip\SK@\SK@@ref{#3}\SK@@@vpageref{#1}[{#2}]{#3}}}%%
}{}}
\fi
\ifx\SK@cite\@empty
diff --git a/Master/texmf-dist/tex/latex/tools/somedefs.sty b/Master/texmf-dist/tex/latex/tools/somedefs.sty
index 320ec7306a3..99bfe97ff38 100644
--- a/Master/texmf-dist/tex/latex/tools/somedefs.sty
+++ b/Master/texmf-dist/tex/latex/tools/somedefs.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/tabularx.sty b/Master/texmf-dist/tex/latex/tools/tabularx.sty
index 31ef9883f9a..19d970bb4b4 100644
--- a/Master/texmf-dist/tex/latex/tools/tabularx.sty
+++ b/Master/texmf-dist/tex/latex/tools/tabularx.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/thb.sty b/Master/texmf-dist/tex/latex/tools/thb.sty
index 9c62adecb90..193bbd07f9f 100644
--- a/Master/texmf-dist/tex/latex/tools/thb.sty
+++ b/Master/texmf-dist/tex/latex/tools/thb.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/thc.sty b/Master/texmf-dist/tex/latex/tools/thc.sty
index 48ffefc37f6..a16e28d9123 100644
--- a/Master/texmf-dist/tex/latex/tools/thc.sty
+++ b/Master/texmf-dist/tex/latex/tools/thc.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/thcb.sty b/Master/texmf-dist/tex/latex/tools/thcb.sty
index b7a2ebeb003..3378c38fc03 100644
--- a/Master/texmf-dist/tex/latex/tools/thcb.sty
+++ b/Master/texmf-dist/tex/latex/tools/thcb.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/theorem.sty b/Master/texmf-dist/tex/latex/tools/theorem.sty
index 6e6712e58dd..743e3caa6d5 100644
--- a/Master/texmf-dist/tex/latex/tools/theorem.sty
+++ b/Master/texmf-dist/tex/latex/tools/theorem.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/thm.sty b/Master/texmf-dist/tex/latex/tools/thm.sty
index e3a1ee99ee4..64d138479fc 100644
--- a/Master/texmf-dist/tex/latex/tools/thm.sty
+++ b/Master/texmf-dist/tex/latex/tools/thm.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/thmb.sty b/Master/texmf-dist/tex/latex/tools/thmb.sty
index 5552b61e422..00934d550de 100644
--- a/Master/texmf-dist/tex/latex/tools/thmb.sty
+++ b/Master/texmf-dist/tex/latex/tools/thmb.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/thp.sty b/Master/texmf-dist/tex/latex/tools/thp.sty
index 628ce499d32..7e9960bf086 100644
--- a/Master/texmf-dist/tex/latex/tools/thp.sty
+++ b/Master/texmf-dist/tex/latex/tools/thp.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/trace.sty b/Master/texmf-dist/tex/latex/tools/trace.sty
index e43c50706bb..b63e51ba6d7 100644
--- a/Master/texmf-dist/tex/latex/tools/trace.sty
+++ b/Master/texmf-dist/tex/latex/tools/trace.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/varioref.sty b/Master/texmf-dist/tex/latex/tools/varioref.sty
index bc8f2a2204c..4e71fa1da50 100644
--- a/Master/texmf-dist/tex/latex/tools/varioref.sty
+++ b/Master/texmf-dist/tex/latex/tools/varioref.sty
@@ -12,7 +12,7 @@
%% reports for it can be opened at https://latex-project.org/bugs/
%% (but please observe conditions on bug reports sent to that address!)
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
@@ -52,7 +52,7 @@
\DeclareCurrentRelease{}{2019-10-01}
\ProvidesPackage{varioref}
- [2021/07/07 v1.6f package for extended references (FMi)]
+ [2022/01/09 v1.6f package for extended references (FMi)]
%%
diff --git a/Master/texmf-dist/tex/latex/tools/verbatim.sty b/Master/texmf-dist/tex/latex/tools/verbatim.sty
index debbe615025..57883e192ae 100644
--- a/Master/texmf-dist/tex/latex/tools/verbatim.sty
+++ b/Master/texmf-dist/tex/latex/tools/verbatim.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/verbtest.tex b/Master/texmf-dist/tex/latex/tools/verbtest.tex
index 47aef3e4165..a578afeb34b 100644
--- a/Master/texmf-dist/tex/latex/tools/verbtest.tex
+++ b/Master/texmf-dist/tex/latex/tools/verbtest.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/x.tex b/Master/texmf-dist/tex/latex/tools/x.tex
index 2c659372f75..3c4c1aeafcf 100644
--- a/Master/texmf-dist/tex/latex/tools/x.tex
+++ b/Master/texmf-dist/tex/latex/tools/x.tex
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/xr.sty b/Master/texmf-dist/tex/latex/tools/xr.sty
index 93fb1bbdb98..37b7e019e96 100644
--- a/Master/texmf-dist/tex/latex/tools/xr.sty
+++ b/Master/texmf-dist/tex/latex/tools/xr.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%
diff --git a/Master/texmf-dist/tex/latex/tools/xspace.sty b/Master/texmf-dist/tex/latex/tools/xspace.sty
index d6cce437da9..e9b9d20848f 100644
--- a/Master/texmf-dist/tex/latex/tools/xspace.sty
+++ b/Master/texmf-dist/tex/latex/tools/xspace.sty
@@ -13,7 +13,7 @@
%% (but please observe conditions on bug reports sent to that address!)
%%
%%
-%% Copyright (C) 1993-2021
+%% Copyright (C) 1993-2022
%% The LaTeX Project and any individual authors listed elsewhere
%% in this file.
%%