summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2020-09-01 03:03:37 +0000
committerNorbert Preining <norbert@preining.info>2020-09-01 03:03:37 +0000
commita9726d029d99c128a7abb22e73074ba0a1ce838e (patch)
treea31816862a76ed100de957dc93c04447f254132c
parent568fe838cef40f671837d9348dd73c93d9ea962b (diff)
CTAN sync 202009010303
-rw-r--r--FILES.byname1228
-rw-r--r--FILES.byname.gzbin2247803 -> 2247854 bytes
-rw-r--r--FILES.last07days913
-rw-r--r--info/tlmgrbasics/README2
-rw-r--r--info/tlmgrbasics/doc/tlmgr.pdfbin144621 -> 144470 bytes
-rw-r--r--info/tlmgrbasics/doc/tlmgr.tex9
-rw-r--r--macros/latex-dev/base/README.md2
-rw-r--r--macros/latex-dev/base/alltt.pdfbin173079 -> 173079 bytes
-rw-r--r--macros/latex-dev/base/cfgguide.pdfbin220217 -> 220217 bytes
-rw-r--r--macros/latex-dev/base/changes.txt138
-rw-r--r--macros/latex-dev/base/classes.pdfbin520851 -> 520851 bytes
-rw-r--r--macros/latex-dev/base/clsguide.pdfbin372555 -> 372555 bytes
-rw-r--r--macros/latex-dev/base/cmfonts.pdfbin264505 -> 264505 bytes
-rw-r--r--macros/latex-dev/base/cyrguide.pdfbin216997 -> 216997 bytes
-rw-r--r--macros/latex-dev/base/doc.pdfbin631083 -> 631616 bytes
-rw-r--r--macros/latex-dev/base/docstrip.pdfbin479293 -> 479710 bytes
-rw-r--r--macros/latex-dev/base/encguide.pdfbin1532144 -> 1532144 bytes
-rw-r--r--macros/latex-dev/base/exscale.pdfbin195877 -> 195877 bytes
-rw-r--r--macros/latex-dev/base/fix-cm.pdfbin262059 -> 262059 bytes
-rw-r--r--macros/latex-dev/base/fntguide.pdfbin417861 -> 417861 bytes
-rw-r--r--macros/latex-dev/base/fontdef.dtx8
-rw-r--r--macros/latex-dev/base/format.ins23
-rw-r--r--macros/latex-dev/base/graphpap.pdfbin156277 -> 156277 bytes
-rw-r--r--macros/latex-dev/base/ifthen.pdfbin205213 -> 205213 bytes
-rw-r--r--macros/latex-dev/base/inputenc.dtx4
-rw-r--r--macros/latex-dev/base/inputenc.pdfbin294722 -> 294900 bytes
-rw-r--r--macros/latex-dev/base/latex209.dtx8
-rw-r--r--macros/latex-dev/base/latexchanges.pdfbin232390 -> 232390 bytes
-rw-r--r--macros/latex-dev/base/latexrelease.ins4
-rw-r--r--macros/latex-dev/base/latexrelease.pdfbin246195 -> 246195 bytes
-rw-r--r--macros/latex-dev/base/latexsym.pdfbin192297 -> 192297 bytes
-rw-r--r--macros/latex-dev/base/lb2.pdfbin138219 -> 138219 bytes
-rw-r--r--macros/latex-dev/base/letter.pdfbin305975 -> 306068 bytes
-rw-r--r--macros/latex-dev/base/lgc2.pdfbin101343 -> 101343 bytes
-rw-r--r--macros/latex-dev/base/lppl.pdfbin125830 -> 125830 bytes
-rw-r--r--macros/latex-dev/base/ltboxes.dtx36
-rw-r--r--macros/latex-dev/base/ltclass.dtx456
-rw-r--r--macros/latex-dev/base/ltdefns.dtx703
-rw-r--r--macros/latex-dev/base/ltdirchk.dtx6
-rw-r--r--macros/latex-dev/base/ltexpl.dtx78
-rw-r--r--macros/latex-dev/base/ltfilehook-code.pdfbin677281 -> 747549 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook-code.tex5
-rw-r--r--macros/latex-dev/base/ltfilehook-doc.pdfbin512167 -> 517421 bytes
-rw-r--r--macros/latex-dev/base/ltfilehook-doc.tex5
-rw-r--r--macros/latex-dev/base/ltfilehook.dtx1538
-rw-r--r--macros/latex-dev/base/ltfiles.dtx418
-rw-r--r--macros/latex-dev/base/ltfinal.dtx224
-rw-r--r--macros/latex-dev/base/ltfssaxes.dtx31
-rw-r--r--macros/latex-dev/base/ltfssini.dtx785
-rw-r--r--macros/latex-dev/base/lthooks-code.pdfbin914727 -> 871310 bytes
-rw-r--r--macros/latex-dev/base/lthooks-code.tex5
-rw-r--r--macros/latex-dev/base/lthooks-doc.pdfbin588067 -> 602334 bytes
-rw-r--r--macros/latex-dev/base/lthooks-doc.tex5
-rw-r--r--macros/latex-dev/base/lthooks.dtx1729
-rw-r--r--macros/latex-dev/base/lthooks.ins76
-rw-r--r--macros/latex-dev/base/ltluatex.dtx41
-rw-r--r--macros/latex-dev/base/ltluatex.pdfbin304460 -> 305256 bytes
-rw-r--r--macros/latex-dev/base/ltmath.dtx11
-rw-r--r--macros/latex-dev/base/ltmiscen.dtx353
-rw-r--r--macros/latex-dev/base/ltnews.pdfbin980265 -> 988811 bytes
-rw-r--r--macros/latex-dev/base/ltnews01.pdfbin150020 -> 150020 bytes
-rw-r--r--macros/latex-dev/base/ltnews02.pdfbin134751 -> 134751 bytes
-rw-r--r--macros/latex-dev/base/ltnews03.pdfbin134742 -> 134742 bytes
-rw-r--r--macros/latex-dev/base/ltnews04.pdfbin128772 -> 128772 bytes
-rw-r--r--macros/latex-dev/base/ltnews05.pdfbin157181 -> 157181 bytes
-rw-r--r--macros/latex-dev/base/ltnews06.pdfbin133138 -> 133138 bytes
-rw-r--r--macros/latex-dev/base/ltnews07.pdfbin124029 -> 124029 bytes
-rw-r--r--macros/latex-dev/base/ltnews08.pdfbin144482 -> 144482 bytes
-rw-r--r--macros/latex-dev/base/ltnews09.pdfbin120222 -> 120222 bytes
-rw-r--r--macros/latex-dev/base/ltnews10.pdfbin147946 -> 147946 bytes
-rw-r--r--macros/latex-dev/base/ltnews11.pdfbin104936 -> 104936 bytes
-rw-r--r--macros/latex-dev/base/ltnews12.pdfbin137919 -> 137919 bytes
-rw-r--r--macros/latex-dev/base/ltnews13.pdfbin161065 -> 161065 bytes
-rw-r--r--macros/latex-dev/base/ltnews14.pdfbin150907 -> 150907 bytes
-rw-r--r--macros/latex-dev/base/ltnews15.pdfbin122092 -> 122092 bytes
-rw-r--r--macros/latex-dev/base/ltnews16.pdfbin130687 -> 130687 bytes
-rw-r--r--macros/latex-dev/base/ltnews17.pdfbin149838 -> 149838 bytes
-rw-r--r--macros/latex-dev/base/ltnews18.pdfbin36005 -> 36005 bytes
-rw-r--r--macros/latex-dev/base/ltnews19.pdfbin235073 -> 235073 bytes
-rw-r--r--macros/latex-dev/base/ltnews20.pdfbin283318 -> 283318 bytes
-rw-r--r--macros/latex-dev/base/ltnews21.pdfbin233492 -> 233492 bytes
-rw-r--r--macros/latex-dev/base/ltnews22.pdfbin302836 -> 302836 bytes
-rw-r--r--macros/latex-dev/base/ltnews23.pdfbin274459 -> 274459 bytes
-rw-r--r--macros/latex-dev/base/ltnews24.pdfbin252645 -> 252645 bytes
-rw-r--r--macros/latex-dev/base/ltnews25.pdfbin196326 -> 196326 bytes
-rw-r--r--macros/latex-dev/base/ltnews26.pdfbin362839 -> 362839 bytes
-rw-r--r--macros/latex-dev/base/ltnews27.pdfbin239758 -> 239758 bytes
-rw-r--r--macros/latex-dev/base/ltnews28.pdfbin368226 -> 368226 bytes
-rw-r--r--macros/latex-dev/base/ltnews29.pdfbin433004 -> 433004 bytes
-rw-r--r--macros/latex-dev/base/ltnews30.pdfbin491246 -> 491246 bytes
-rw-r--r--macros/latex-dev/base/ltnews31.pdfbin500191 -> 500919 bytes
-rw-r--r--macros/latex-dev/base/ltnews31.tex12
-rw-r--r--macros/latex-dev/base/ltnews32.pdfbin519192 -> 529433 bytes
-rw-r--r--macros/latex-dev/base/ltnews32.tex215
-rw-r--r--macros/latex-dev/base/ltoutenc.dtx16
-rw-r--r--macros/latex-dev/base/ltoutput.dtx15
-rw-r--r--macros/latex-dev/base/ltpage.dtx8
-rw-r--r--macros/latex-dev/base/ltpictur.dtx593
-rw-r--r--macros/latex-dev/base/ltplain.dtx32
-rw-r--r--macros/latex-dev/base/ltsect.dtx29
-rw-r--r--macros/latex-dev/base/ltshipout-code.pdfbin723515 -> 749702 bytes
-rw-r--r--macros/latex-dev/base/ltshipout-code.tex5
-rw-r--r--macros/latex-dev/base/ltshipout-doc.pdfbin499777 -> 504786 bytes
-rw-r--r--macros/latex-dev/base/ltshipout-doc.tex5
-rw-r--r--macros/latex-dev/base/ltshipout.dtx825
-rw-r--r--macros/latex-dev/base/ltvers.dtx2
-rw-r--r--macros/latex-dev/base/ltx3info.pdfbin191527 -> 191527 bytes
-rw-r--r--macros/latex-dev/base/ltxdoc.dtx9
-rw-r--r--macros/latex-dev/base/ltxdoc.pdfbin215578 -> 215134 bytes
-rw-r--r--macros/latex-dev/base/ltxref.dtx5
-rw-r--r--macros/latex-dev/base/makeindx.pdfbin160667 -> 160667 bytes
-rw-r--r--macros/latex-dev/base/manifest.txt7
-rw-r--r--macros/latex-dev/base/manual.pdfbin151347 -> 151347 bytes
-rw-r--r--macros/latex-dev/base/modguide.pdfbin220388 -> 220388 bytes
-rw-r--r--macros/latex-dev/base/nfssfont.pdfbin202451 -> 202451 bytes
-rw-r--r--macros/latex-dev/base/proc.pdfbin216877 -> 216877 bytes
-rw-r--r--macros/latex-dev/base/slides.pdfbin351586 -> 351586 bytes
-rw-r--r--macros/latex-dev/base/slifonts.pdfbin214710 -> 214710 bytes
-rw-r--r--macros/latex-dev/base/source2e.pdfbin3220329 -> 4320779 bytes
-rw-r--r--macros/latex-dev/base/source2e.tex16
-rw-r--r--macros/latex-dev/base/source2edoc.cls228
-rw-r--r--macros/latex-dev/base/syntonly.pdfbin181670 -> 181980 bytes
-rw-r--r--macros/latex-dev/base/tlc2.pdfbin164947 -> 164947 bytes
-rw-r--r--macros/latex-dev/base/tulm.pdfbin156546 -> 156546 bytes
-rw-r--r--macros/latex-dev/base/unpack.ins2
-rw-r--r--macros/latex-dev/base/usrguide.pdfbin399035 -> 399035 bytes
-rw-r--r--macros/latex-dev/base/utf8ienc.pdfbin330836 -> 331397 bytes
-rw-r--r--macros/latex-dev/base/webcomp.pdfbin136159 -> 136159 bytes
-rw-r--r--macros/latex-dev/required/amsmath/README.md2
-rw-r--r--macros/latex-dev/required/amsmath/amsbsy.pdfbin161323 -> 161324 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amscd.pdfbin165742 -> 165745 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsgen.pdfbin164340 -> 164345 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsldoc.pdfbin475924 -> 476032 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.dtx42
-rw-r--r--macros/latex-dev/required/amsmath/amsmath.pdfbin383566 -> 384117 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsopn.pdfbin129158 -> 129155 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amstext.pdfbin194266 -> 194257 bytes
-rw-r--r--macros/latex-dev/required/amsmath/amsxtra.pdfbin104540 -> 104545 bytes
-rw-r--r--macros/latex-dev/required/amsmath/changes.txt10
-rw-r--r--macros/latex-dev/required/amsmath/subeqn.pdfbin101292 -> 101293 bytes
-rw-r--r--macros/latex-dev/required/amsmath/technote.pdfbin130587 -> 130600 bytes
-rw-r--r--macros/latex-dev/required/amsmath/testmath.pdfbin428947 -> 429026 bytes
-rw-r--r--macros/latex-dev/required/tools/README.md2
-rw-r--r--macros/latex-dev/required/tools/afterpage.pdfbin189846 -> 189846 bytes
-rw-r--r--macros/latex-dev/required/tools/array.pdfbin483202 -> 483280 bytes
-rw-r--r--macros/latex-dev/required/tools/bm.pdfbin306728 -> 306728 bytes
-rw-r--r--macros/latex-dev/required/tools/calc.pdfbin340889 -> 340889 bytes
-rw-r--r--macros/latex-dev/required/tools/changes.txt4
-rw-r--r--macros/latex-dev/required/tools/dcolumn.pdfbin199218 -> 199218 bytes
-rw-r--r--macros/latex-dev/required/tools/delarray.pdfbin183426 -> 183426 bytes
-rw-r--r--macros/latex-dev/required/tools/enumerate.pdfbin199047 -> 199047 bytes
-rw-r--r--macros/latex-dev/required/tools/fileerr.pdfbin179839 -> 180373 bytes
-rw-r--r--macros/latex-dev/required/tools/fontsmpl.pdfbin138027 -> 138027 bytes
-rw-r--r--macros/latex-dev/required/tools/ftnright.pdfbin346683 -> 347182 bytes
-rw-r--r--macros/latex-dev/required/tools/hhline.pdfbin175673 -> 175673 bytes
-rw-r--r--macros/latex-dev/required/tools/indentfirst.pdfbin144779 -> 144779 bytes
-rw-r--r--macros/latex-dev/required/tools/layout.pdfbin246917 -> 246917 bytes
-rw-r--r--macros/latex-dev/required/tools/longtable.pdfbin349888 -> 349888 bytes
-rw-r--r--macros/latex-dev/required/tools/multicol.pdfbin491155 -> 491466 bytes
-rw-r--r--macros/latex-dev/required/tools/rawfonts.pdfbin135688 -> 135688 bytes
-rw-r--r--macros/latex-dev/required/tools/shellesc.pdfbin169765 -> 169765 bytes
-rw-r--r--macros/latex-dev/required/tools/showkeys.pdfbin242771 -> 242771 bytes
-rw-r--r--macros/latex-dev/required/tools/somedefs.pdfbin156506 -> 156506 bytes
-rw-r--r--macros/latex-dev/required/tools/tabularx.pdfbin254169 -> 254169 bytes
-rw-r--r--macros/latex-dev/required/tools/theorem.pdfbin323228 -> 323500 bytes
-rw-r--r--macros/latex-dev/required/tools/tools-overview.pdfbin68285 -> 68285 bytes
-rw-r--r--macros/latex-dev/required/tools/trace.pdfbin212721 -> 212721 bytes
-rw-r--r--macros/latex-dev/required/tools/varioref.dtx223
-rw-r--r--macros/latex-dev/required/tools/varioref.pdfbin358075 -> 363007 bytes
-rw-r--r--macros/latex-dev/required/tools/verbatim.pdfbin302925 -> 302925 bytes
-rw-r--r--macros/latex-dev/required/tools/xr.dtx2
-rw-r--r--macros/latex-dev/required/tools/xr.pdfbin163614 -> 163607 bytes
-rw-r--r--macros/latex-dev/required/tools/xspace.pdfbin237978 -> 237978 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdfbin292980 -> 293433 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex4
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdfbin383413 -> 383838 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex4
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx71
-rw-r--r--macros/latex/contrib/edichokey/edichokey-doc-en.pdfbin63825 -> 65165 bytes
-rw-r--r--macros/latex/contrib/edichokey/edichokey-doc-en.tex12
-rw-r--r--macros/latex/contrib/edichokey/edichokey-ex.pdfbin54358 -> 66474 bytes
-rw-r--r--macros/latex/contrib/edichokey/edichokey-ex.tex2
-rw-r--r--macros/latex/contrib/edichokey/edichokey.sty26
-rw-r--r--macros/xetex/latex/nanicolle/README.md12
-rw-r--r--macros/xetex/latex/nanicolle/nanicolle-doc-en.pdfbin262772 -> 262952 bytes
-rw-r--r--macros/xetex/latex/nanicolle/nanicolle-doc-en.tex17
-rw-r--r--macros/xetex/latex/nanicolle/nanicolle-doc-zh.pdfbin389748 -> 391311 bytes
-rw-r--r--macros/xetex/latex/nanicolle/nanicolle-doc-zh.tex10
-rw-r--r--macros/xetex/latex/nanicolle/nanicolle.cls27
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl12
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb1472
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2222596 -> 2228716 bytes
-rw-r--r--systems/win32/miktex/tm/packages/files.csv.lzmabin545043 -> 545297 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini8
-rw-r--r--systems/win32/w32tex/ChangeLog5
-rw-r--r--timestamp2
203 files changed, 8872 insertions, 3997 deletions
diff --git a/FILES.byname b/FILES.byname
index 76205d4441..36ab623037 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5003,7 +5003,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2020/08/30 | 74016 | FILES.last07days
+2020/08/31 | 166931 | FILES.last07days
2020/08/14 | 104065 | fonts/academicons/academicons.pdf
2020/08/14 | 17247 | fonts/academicons/academicons.sty
2020/08/14 | 6546 | fonts/academicons/academicons.tex
@@ -165131,10 +165131,10 @@
2014/05/15 | 266221 | info/tex-virtual-academy-pl/tex/tex_key.html
2014/05/05 | 17632 | info/tex-virtual-academy-pl/tex/tryby.html
2014/05/21 | 1415765 | info/tex-virtual-academy-pl.zip
-2020/07/23 | 144621 | info/tlmgrbasics/doc/tlmgr.pdf
-2020/07/23 | 22218 | info/tlmgrbasics/doc/tlmgr.tex
-2020/07/24 | 446 | info/tlmgrbasics/README
-2020/07/24 | 150759 | info/tlmgrbasics.zip
+2020/08/31 | 144470 | info/tlmgrbasics/doc/tlmgr.pdf
+2020/08/31 | 22083 | info/tlmgrbasics/doc/tlmgr.tex
+2020/08/31 | 446 | info/tlmgrbasics/README
+2020/08/31 | 150586 | info/tlmgrbasics.zip
2000/12/10 | 13558 | info/translations/amsmath/it/amsmath.faq
2000/08/28 | 25750 | info/translations/amsmath/it/diffs-m_it.txt
2011/06/10 | 150 | info/translations/amsmath/it/README
@@ -165904,7 +165904,7 @@
2019/11/15 | 623296 | install/macros/latex/contrib/biblatex-contrib/biblatex-caspervector.tds.zip
2019/12/03 | 1524215 | install/macros/latex/contrib/biblatex-contrib/biblatex-chem.tds.zip
2016/12/06 | 1778620 | install/macros/latex/contrib/biblatex-contrib/biblatex-dw.tds.zip
-2020/02/26 | 692077 | install/macros/latex/contrib/biblatex-contrib/biblatex-ieee.tds.zip
+2020/08/31 | 693130 | install/macros/latex/contrib/biblatex-contrib/biblatex-ieee.tds.zip
2020/03/25 | 294860 | install/macros/latex/contrib/biblatex-contrib/biblatex-iso690.tds.zip
2013/11/18 | 370052 | install/macros/latex/contrib/biblatex-contrib/biblatex-luh-ipw.tds.zip
2018/10/18 | 389380 | install/macros/latex/contrib/biblatex-contrib/biblatex-nature.tds.zip
@@ -166199,10 +166199,10 @@
2020/04/09 | 806385 | install/macros/latex/contrib/zhlipsum.tds.zip
2020/05/01 | 293478 | install/macros/latex/contrib/zhnumber.tds.zip
2020/05/28 | 727408 | install/macros/latex/contrib/zref.tds.zip
-2020/07/21 | 27075721 | install/macros/latex-dev/latex-base-dev.tds.zip
-2020/05/27 | 2642179 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
+2020/08/31 | 28282841 | install/macros/latex-dev/latex-base-dev.tds.zip
+2020/08/31 | 2643039 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
2020/07/21 | 2534631 | install/macros/latex-dev/required/latex-graphics-dev.tds.zip
-2020/07/21 | 6961126 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
+2020/08/31 | 6968251 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
2020/02/28 | 22237296 | install/macros/latex/latex-base.tds.zip
2020/06/01 | 1578753 | install/macros/latex/required/amscls.tds.zip
2013/03/08 | 2480846 | install/macros/latex/required/amslatex/math.tds.zip
@@ -185185,18 +185185,18 @@
2010/08/22 | 825665 | macros/latex/contrib/biblatex-contrib/biblatex-historian/historian.pdf
2010/08/22 | 2076 | macros/latex/contrib/biblatex-contrib/biblatex-historian/README.txt
2012/09/27 | 639121 | macros/latex/contrib/biblatex-contrib/biblatex-historian.zip
-2020/02/26 | 292980 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
-2020/02/26 | 2759 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
+2020/08/31 | 293433 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
+2020/08/31 | 2759 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
2020/02/26 | 14490 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.bib
-2020/02/26 | 383413 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
-2020/02/26 | 7242 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
-2020/02/26 | 2750 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
-2020/02/26 | 2252 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
-2020/02/26 | 19746 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
-2020/02/26 | 2841 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
+2020/08/31 | 383838 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
+2020/08/31 | 7242 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
+2020/08/31 | 2750 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
+2020/08/31 | 2252 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
+2020/08/31 | 19746 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
+2020/08/31 | 4084 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
2020/02/26 | 2265 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/magyar-ieee.lbx
2019/06/19 | 637 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/README.md
-2020/02/26 | 690786 | macros/latex/contrib/biblatex-contrib/biblatex-ieee.zip
+2020/08/31 | 691839 | macros/latex/contrib/biblatex-contrib/biblatex-ieee.zip
2016/07/05 | 50846 | macros/latex/contrib/biblatex-contrib/biblatex-ijsra/biblatex-ijsra.pdf
2016/07/04 | 5819 | macros/latex/contrib/biblatex-contrib/biblatex-ijsra/biblatex-ijsra.tex
2016/07/04 | 2464 | macros/latex/contrib/biblatex-contrib/biblatex-ijsra/ijsra.bbx
@@ -189842,13 +189842,13 @@
2011/02/24 | 1308 | macros/latex/contrib/edfnotes/README.txt
2011/02/24 | 313 | macros/latex/contrib/edfnotes/SRCFILEs.txt
2011/02/27 | 308807 | macros/latex/contrib/edfnotes.zip
-2020/07/14 | 63825 | macros/latex/contrib/edichokey/edichokey-doc-en.pdf
-2020/07/14 | 8262 | macros/latex/contrib/edichokey/edichokey-doc-en.tex
-2020/07/14 | 54358 | macros/latex/contrib/edichokey/edichokey-ex.pdf
-2020/07/14 | 25879 | macros/latex/contrib/edichokey/edichokey-ex.tex
-2020/07/14 | 2768 | macros/latex/contrib/edichokey/edichokey.sty
+2020/08/31 | 65165 | macros/latex/contrib/edichokey/edichokey-doc-en.pdf
+2020/08/31 | 8753 | macros/latex/contrib/edichokey/edichokey-doc-en.tex
+2020/08/25 | 66474 | macros/latex/contrib/edichokey/edichokey-ex.pdf
+2020/08/25 | 25889 | macros/latex/contrib/edichokey/edichokey-ex.tex
+2020/08/25 | 3377 | macros/latex/contrib/edichokey/edichokey.sty
2020/07/14 | 1313 | macros/latex/contrib/edichokey/README.md
-2020/07/14 | 126947 | macros/latex/contrib/edichokey.zip
+2020/08/31 | 140593 | macros/latex/contrib/edichokey.zip
2012/01/02 | 114 | macros/latex/contrib/ed/Makefile
2012/09/04 | 59117 | macros/latex/contrib/edmargin/edmargin.dtx
2008/04/21 | 980 | macros/latex/contrib/edmargin/edmargin.ins
@@ -211565,298 +211565,298 @@
2020/02/28 | 475910 | macros/latex/contrib/zwpagelayout/zwpagelayout.pdf
2020/02/28 | 36153 | macros/latex/contrib/zwpagelayout/zwpagelayout.sty
2020/02/28 | 69481 | macros/latex/contrib/zwpagelayout/zwpagelayout.tex
-2020/07/21 | 6654 | macros/latex-dev/base/alltt.dtx
-2020/07/21 | 2892 | macros/latex-dev/base/alltt.ins
-2020/07/21 | 173079 | macros/latex-dev/base/alltt.pdf
-2020/07/21 | 3294 | macros/latex-dev/base/bugs.txt
-2020/07/21 | 220217 | macros/latex-dev/base/cfgguide.pdf
-2020/07/21 | 22457 | macros/latex-dev/base/cfgguide.tex
-2020/07/21 | 42708 | macros/latex-dev/base/changes.old.txt
-2020/07/21 | 352969 | macros/latex-dev/base/changes.txt
-2020/07/21 | 155735 | macros/latex-dev/base/classes.dtx
-2020/07/21 | 4089 | macros/latex-dev/base/classes.ins
-2020/07/21 | 520851 | macros/latex-dev/base/classes.pdf
-2020/07/21 | 372555 | macros/latex-dev/base/clsguide.pdf
-2020/07/21 | 69051 | macros/latex-dev/base/clsguide.tex
-2020/07/21 | 5275 | macros/latex-dev/base/cmextra.ins
-2020/07/21 | 43637 | macros/latex-dev/base/cmfonts.fdd
-2020/07/21 | 4326 | macros/latex-dev/base/cmfonts.ins
-2020/07/21 | 264505 | macros/latex-dev/base/cmfonts.pdf
-2020/07/21 | 216997 | macros/latex-dev/base/cyrguide.pdf
-2020/07/21 | 17496 | macros/latex-dev/base/cyrguide.tex
-2020/07/21 | 204016 | macros/latex-dev/base/doc.dtx
-2020/07/21 | 631083 | macros/latex-dev/base/doc.pdf
-2020/07/21 | 170214 | macros/latex-dev/base/docstrip.dtx
-2020/07/21 | 4223 | macros/latex-dev/base/docstrip.ins
-2020/07/21 | 479293 | macros/latex-dev/base/docstrip.pdf
-2020/07/21 | 4392 | macros/latex-dev/base/ec.ins
-2020/07/21 | 1532144 | macros/latex-dev/base/encguide.pdf
-2020/07/21 | 52814 | macros/latex-dev/base/encguide.tex
-2020/07/21 | 7222 | macros/latex-dev/base/exscale.dtx
-2020/07/21 | 3340 | macros/latex-dev/base/exscale.ins
-2020/07/21 | 195877 | macros/latex-dev/base/exscale.pdf
-2020/07/21 | 23521 | macros/latex-dev/base/fix-cm.dtx
-2020/07/21 | 2894 | macros/latex-dev/base/fix-cm.ins
-2020/07/21 | 262059 | macros/latex-dev/base/fix-cm.pdf
-2020/07/21 | 417861 | macros/latex-dev/base/fntguide.pdf
-2020/07/21 | 90413 | macros/latex-dev/base/fntguide.tex
-2020/07/21 | 60334 | macros/latex-dev/base/fontdef.dtx
-2020/07/21 | 8770 | macros/latex-dev/base/format.ins
-2020/07/21 | 5515 | macros/latex-dev/base/graphpap.dtx
-2020/07/21 | 2894 | macros/latex-dev/base/graphpap.ins
-2020/07/21 | 156277 | macros/latex-dev/base/graphpap.pdf
-2020/07/21 | 2706 | macros/latex-dev/base/idx.tex
-2020/07/21 | 18305 | macros/latex-dev/base/ifthen.dtx
-2020/07/21 | 2890 | macros/latex-dev/base/ifthen.ins
-2020/07/21 | 205213 | macros/latex-dev/base/ifthen.pdf
-2020/07/21 | 106914 | macros/latex-dev/base/inputenc.dtx
-2020/07/21 | 5716 | macros/latex-dev/base/inputenc.ins
-2020/07/21 | 294722 | macros/latex-dev/base/inputenc.pdf
-2020/07/21 | 4080 | macros/latex-dev/base/lablst.tex
-2020/07/21 | 38533 | macros/latex-dev/base/latex209.dtx
-2020/07/21 | 4221 | macros/latex-dev/base/latex209.ins
-2020/07/21 | 232390 | macros/latex-dev/base/latexchanges.pdf
-2020/07/21 | 37980 | macros/latex-dev/base/latexchanges.tex
-2020/07/21 | 32164 | macros/latex-dev/base/latexrelease.dtx
-2020/07/21 | 5354 | macros/latex-dev/base/latexrelease.ins
-2020/07/21 | 246195 | macros/latex-dev/base/latexrelease.pdf
-2020/07/21 | 6715 | macros/latex-dev/base/latexsym.dtx
-2020/07/21 | 5044 | macros/latex-dev/base/latexsym.ins
-2020/07/21 | 192297 | macros/latex-dev/base/latexsym.pdf
-2020/07/21 | 52532 | macros/latex-dev/base/lb2.err
-2020/07/21 | 138219 | macros/latex-dev/base/lb2.pdf
-2020/07/21 | 1381 | macros/latex-dev/base/legal.txt
-2020/07/21 | 62436 | macros/latex-dev/base/letter.dtx
-2020/07/21 | 3374 | macros/latex-dev/base/letter.ins
-2020/07/21 | 305975 | macros/latex-dev/base/letter.pdf
-2020/07/21 | 20434 | macros/latex-dev/base/lgc2.err
-2020/07/21 | 101343 | macros/latex-dev/base/lgc2.pdf
-2020/07/21 | 9068 | macros/latex-dev/base/lppl-1-0.txt
-2020/07/21 | 14341 | macros/latex-dev/base/lppl-1-1.txt
-2020/07/21 | 14421 | macros/latex-dev/base/lppl-1-2.txt
-2020/07/21 | 125830 | macros/latex-dev/base/lppl.pdf
-2020/07/21 | 23386 | macros/latex-dev/base/lppl.tex
-2020/07/21 | 19040 | macros/latex-dev/base/lppl.txt
-2020/07/21 | 4304 | macros/latex-dev/base/ltalloc.dtx
-2020/07/21 | 14440 | macros/latex-dev/base/ltbibl.dtx
-2020/07/21 | 40492 | macros/latex-dev/base/ltboxes.dtx
-2020/07/21 | 106100 | macros/latex-dev/base/ltclass.dtx
-2020/07/21 | 9562 | macros/latex-dev/base/ltcntrl.dtx
-2020/07/21 | 22676 | macros/latex-dev/base/ltcounts.dtx
-2020/07/21 | 57722 | macros/latex-dev/base/ltdefns.dtx
-2020/07/21 | 35162 | macros/latex-dev/base/ltdirchk.dtx
-2020/07/21 | 24016 | macros/latex-dev/base/lterror.dtx
-2020/07/21 | 8014 | macros/latex-dev/base/ltexpl.dtx
-2020/07/21 | 677281 | macros/latex-dev/base/ltfilehook-code.pdf
-2020/07/21 | 243 | macros/latex-dev/base/ltfilehook-code.tex
-2020/07/21 | 512167 | macros/latex-dev/base/ltfilehook-doc.pdf
-2020/07/21 | 318 | macros/latex-dev/base/ltfilehook-doc.tex
-2020/07/21 | 39634 | macros/latex-dev/base/ltfilehook.dtx
-2020/07/21 | 44875 | macros/latex-dev/base/ltfiles.dtx
-2020/07/21 | 50086 | macros/latex-dev/base/ltfinal.dtx
-2020/07/21 | 51314 | macros/latex-dev/base/ltfloat.dtx
-2020/07/21 | 29194 | macros/latex-dev/base/ltfntcmd.dtx
-2020/07/21 | 48875 | macros/latex-dev/base/ltfssaxes.dtx
-2020/07/21 | 79110 | macros/latex-dev/base/ltfssbas.dtx
-2020/07/21 | 10376 | macros/latex-dev/base/ltfsscmp.dtx
-2020/07/21 | 61221 | macros/latex-dev/base/ltfssdcl.dtx
-2020/07/21 | 69854 | macros/latex-dev/base/ltfssini.dtx
-2020/07/21 | 67333 | macros/latex-dev/base/ltfsstrc.dtx
-2020/07/21 | 914727 | macros/latex-dev/base/lthooks-code.pdf
-2020/07/21 | 237 | macros/latex-dev/base/lthooks-code.tex
-2020/07/21 | 588067 | macros/latex-dev/base/lthooks-doc.pdf
-2020/07/21 | 312 | macros/latex-dev/base/lthooks-doc.tex
-2020/07/21 | 137531 | macros/latex-dev/base/lthooks.dtx
-2020/07/21 | 2332 | macros/latex-dev/base/lthooks.ins
-2020/07/21 | 4952 | macros/latex-dev/base/lthyphen.dtx
-2020/07/21 | 5865 | macros/latex-dev/base/ltidxglo.dtx
-2020/07/21 | 4762 | macros/latex-dev/base/ltlength.dtx
-2020/07/21 | 36154 | macros/latex-dev/base/ltlists.dtx
-2020/07/21 | 3731 | macros/latex-dev/base/ltlogos.dtx
-2020/07/21 | 63643 | macros/latex-dev/base/ltluatex.dtx
-2020/07/21 | 304460 | macros/latex-dev/base/ltluatex.pdf
-2020/07/21 | 38726 | macros/latex-dev/base/ltmath.dtx
-2020/07/21 | 48372 | macros/latex-dev/base/ltmiscen.dtx
-2020/07/21 | 150020 | macros/latex-dev/base/ltnews01.pdf
-2020/07/21 | 5239 | macros/latex-dev/base/ltnews01.tex
-2020/07/21 | 134751 | macros/latex-dev/base/ltnews02.pdf
-2020/07/21 | 5284 | macros/latex-dev/base/ltnews02.tex
-2020/07/21 | 134742 | macros/latex-dev/base/ltnews03.pdf
-2020/07/21 | 5201 | macros/latex-dev/base/ltnews03.tex
-2020/07/21 | 128772 | macros/latex-dev/base/ltnews04.pdf
-2020/07/21 | 5507 | macros/latex-dev/base/ltnews04.tex
-2020/07/21 | 157181 | macros/latex-dev/base/ltnews05.pdf
-2020/07/21 | 5609 | macros/latex-dev/base/ltnews05.tex
-2020/07/21 | 133138 | macros/latex-dev/base/ltnews06.pdf
-2020/07/21 | 5391 | macros/latex-dev/base/ltnews06.tex
-2020/07/21 | 124029 | macros/latex-dev/base/ltnews07.pdf
-2020/07/21 | 5426 | macros/latex-dev/base/ltnews07.tex
-2020/07/21 | 144482 | macros/latex-dev/base/ltnews08.pdf
-2020/07/21 | 5696 | macros/latex-dev/base/ltnews08.tex
-2020/07/21 | 120222 | macros/latex-dev/base/ltnews09.pdf
-2020/07/21 | 5294 | macros/latex-dev/base/ltnews09.tex
-2020/07/21 | 147946 | macros/latex-dev/base/ltnews10.pdf
-2020/07/21 | 5660 | macros/latex-dev/base/ltnews10.tex
-2020/07/21 | 104936 | macros/latex-dev/base/ltnews11.pdf
-2020/07/21 | 5530 | macros/latex-dev/base/ltnews11.tex
-2020/07/21 | 137919 | macros/latex-dev/base/ltnews12.pdf
-2020/07/21 | 5418 | macros/latex-dev/base/ltnews12.tex
-2020/07/21 | 161065 | macros/latex-dev/base/ltnews13.pdf
-2020/07/21 | 6872 | macros/latex-dev/base/ltnews13.tex
-2020/07/21 | 150907 | macros/latex-dev/base/ltnews14.pdf
-2020/07/21 | 6274 | macros/latex-dev/base/ltnews14.tex
-2020/07/21 | 122092 | macros/latex-dev/base/ltnews15.pdf
-2020/07/21 | 5840 | macros/latex-dev/base/ltnews15.tex
-2020/07/21 | 130687 | macros/latex-dev/base/ltnews16.pdf
-2020/07/21 | 5777 | macros/latex-dev/base/ltnews16.tex
-2020/07/21 | 149838 | macros/latex-dev/base/ltnews17.pdf
-2020/07/21 | 8864 | macros/latex-dev/base/ltnews17.tex
-2020/07/21 | 36005 | macros/latex-dev/base/ltnews18.pdf
-2020/07/21 | 1342 | macros/latex-dev/base/ltnews18.tex
-2020/07/21 | 235073 | macros/latex-dev/base/ltnews19.pdf
-2020/07/21 | 4171 | macros/latex-dev/base/ltnews19.tex
-2020/07/21 | 283318 | macros/latex-dev/base/ltnews20.pdf
-2020/07/21 | 7326 | macros/latex-dev/base/ltnews20.tex
-2020/07/21 | 233492 | macros/latex-dev/base/ltnews21.pdf
-2020/07/21 | 9810 | macros/latex-dev/base/ltnews21.tex
-2020/07/21 | 302836 | macros/latex-dev/base/ltnews22.pdf
-2020/07/21 | 10669 | macros/latex-dev/base/ltnews22.tex
-2020/07/21 | 274459 | macros/latex-dev/base/ltnews23.pdf
-2020/07/21 | 10688 | macros/latex-dev/base/ltnews23.tex
-2020/07/21 | 252645 | macros/latex-dev/base/ltnews24.pdf
-2020/07/21 | 12225 | macros/latex-dev/base/ltnews24.tex
-2020/07/21 | 196326 | macros/latex-dev/base/ltnews25.pdf
-2020/07/21 | 5474 | macros/latex-dev/base/ltnews25.tex
-2020/07/21 | 362839 | macros/latex-dev/base/ltnews26.pdf
-2020/07/21 | 10698 | macros/latex-dev/base/ltnews26.tex
-2020/07/21 | 239758 | macros/latex-dev/base/ltnews27.pdf
-2020/07/21 | 5507 | macros/latex-dev/base/ltnews27.tex
-2020/07/21 | 368226 | macros/latex-dev/base/ltnews28.pdf
-2020/07/21 | 14892 | macros/latex-dev/base/ltnews28.tex
-2020/07/21 | 433004 | macros/latex-dev/base/ltnews29.pdf
-2020/07/21 | 18941 | macros/latex-dev/base/ltnews29.tex
-2020/07/21 | 491246 | macros/latex-dev/base/ltnews30.pdf
-2020/07/21 | 23652 | macros/latex-dev/base/ltnews30.tex
-2020/07/21 | 500191 | macros/latex-dev/base/ltnews31.pdf
-2020/07/21 | 30463 | macros/latex-dev/base/ltnews31.tex
-2020/07/21 | 519192 | macros/latex-dev/base/ltnews32.pdf
-2020/07/21 | 27936 | macros/latex-dev/base/ltnews32.tex
-2020/07/21 | 20471 | macros/latex-dev/base/ltnews.cls
-2020/07/21 | 980265 | macros/latex-dev/base/ltnews.pdf
-2020/07/21 | 8100 | macros/latex-dev/base/ltnews.tex
-2020/07/21 | 145318 | macros/latex-dev/base/ltoutenc.dtx
-2020/07/21 | 3369 | macros/latex-dev/base/ltoutenc.ins
-2020/07/21 | 175355 | macros/latex-dev/base/ltoutput.dtx
-2020/07/21 | 11443 | macros/latex-dev/base/ltpage.dtx
-2020/07/21 | 2733 | macros/latex-dev/base/ltpageno.dtx
-2020/07/21 | 5854 | macros/latex-dev/base/ltpar.dtx
-2020/07/21 | 50893 | macros/latex-dev/base/ltpictur.dtx
-2020/07/21 | 47759 | macros/latex-dev/base/ltplain.dtx
-2020/07/21 | 31879 | macros/latex-dev/base/ltsect.dtx
-2020/07/21 | 723515 | macros/latex-dev/base/ltshipout-code.pdf
-2020/07/21 | 241 | macros/latex-dev/base/ltshipout-code.tex
-2020/07/21 | 499777 | macros/latex-dev/base/ltshipout-doc.pdf
-2020/07/21 | 316 | macros/latex-dev/base/ltshipout-doc.tex
-2020/07/21 | 49098 | macros/latex-dev/base/ltshipout.dtx
-2020/07/21 | 45246 | macros/latex-dev/base/ltspace.dtx
-2020/07/21 | 47704 | macros/latex-dev/base/lttab.dtx
-2020/07/21 | 88411 | macros/latex-dev/base/lttextcomp.dtx
-2020/07/21 | 8737 | macros/latex-dev/base/ltthm.dtx
-2020/07/21 | 10365 | macros/latex-dev/base/ltvers.dtx
-2020/07/21 | 191527 | macros/latex-dev/base/ltx3info.pdf
-2020/07/21 | 18300 | macros/latex-dev/base/ltx3info.tex
-2020/07/21 | 27124 | macros/latex-dev/base/ltxcheck.tex
-2020/07/21 | 18722 | macros/latex-dev/base/ltxdoc.dtx
-2020/07/21 | 215578 | macros/latex-dev/base/ltxdoc.pdf
-2020/07/21 | 7526 | macros/latex-dev/base/ltxguide.cls
-2020/07/21 | 15474 | macros/latex-dev/base/ltxref.dtx
-2020/07/21 | 10606 | macros/latex-dev/base/makeindx.dtx
-2020/07/21 | 3436 | macros/latex-dev/base/makeindx.ins
-2020/07/21 | 160667 | macros/latex-dev/base/makeindx.pdf
-2020/07/21 | 10414 | macros/latex-dev/base/manifest.txt
-2020/07/21 | 12946 | macros/latex-dev/base/manual.err
-2020/07/21 | 151347 | macros/latex-dev/base/manual.pdf
-2020/07/21 | 1938 | macros/latex-dev/base/minimal.cls
-2020/07/21 | 220388 | macros/latex-dev/base/modguide.pdf
-2020/07/21 | 16234 | macros/latex-dev/base/modguide.tex
-2020/07/21 | 4256 | macros/latex-dev/base/newdc.ins
-2020/07/21 | 6363 | macros/latex-dev/base/newlfont.dtx
-2020/07/21 | 18407 | macros/latex-dev/base/nfssfont.dtx
-2020/07/21 | 2895 | macros/latex-dev/base/nfssfont.ins
-2020/07/21 | 202451 | macros/latex-dev/base/nfssfont.pdf
-2020/07/21 | 3962 | macros/latex-dev/base/olddc.ins
-2020/07/21 | 8632 | macros/latex-dev/base/oldlfont.dtx
-2020/07/21 | 9374 | macros/latex-dev/base/preload.dtx
-2020/07/21 | 13305 | macros/latex-dev/base/proc.dtx
-2020/07/21 | 3403 | macros/latex-dev/base/proc.ins
-2020/07/21 | 216877 | macros/latex-dev/base/proc.pdf
-2020/07/21 | 3514 | macros/latex-dev/base/README.md
-2020/07/21 | 7200 | macros/latex-dev/base/sample2e.tex
-2020/07/21 | 89720 | macros/latex-dev/base/slides.dtx
-2020/07/21 | 6764 | macros/latex-dev/base/slides.ins
-2020/07/21 | 351586 | macros/latex-dev/base/slides.pdf
-2020/07/21 | 15701 | macros/latex-dev/base/slifonts.fdd
-2020/07/21 | 214710 | macros/latex-dev/base/slifonts.pdf
-2020/07/21 | 1694 | macros/latex-dev/base/small2e.tex
-2020/07/21 | 3220329 | macros/latex-dev/base/source2e.pdf
-2020/07/21 | 14673 | macros/latex-dev/base/source2e.tex
-2020/07/21 | 9401 | macros/latex-dev/base/syntonly.dtx
-2020/07/21 | 2898 | macros/latex-dev/base/syntonly.ins
-2020/07/21 | 181670 | macros/latex-dev/base/syntonly.pdf
-2020/07/21 | 12521 | macros/latex-dev/base/testpage.tex
-2020/07/21 | 2738 | macros/latex-dev/base/tex2.txt
-2020/07/21 | 8493 | macros/latex-dev/base/texpert.txt
-2020/07/21 | 172216 | macros/latex-dev/base/tlc2.err
-2020/07/21 | 164947 | macros/latex-dev/base/tlc2.pdf
-2020/07/21 | 12120 | macros/latex-dev/base/tulm.fdd
-2020/07/21 | 3783 | macros/latex-dev/base/tulm.ins
-2020/07/21 | 156546 | macros/latex-dev/base/tulm.pdf
-2020/07/21 | 3208 | macros/latex-dev/base/unpack.ins
-2020/07/21 | 399035 | macros/latex-dev/base/usrguide.pdf
-2020/07/21 | 68428 | macros/latex-dev/base/usrguide.tex
-2020/07/21 | 89386 | macros/latex-dev/base/utf8ienc.dtx
-2020/07/21 | 330836 | macros/latex-dev/base/utf8ienc.pdf
-2020/07/21 | 10053 | macros/latex-dev/base/webcomp.err
-2020/07/21 | 136159 | macros/latex-dev/base/webcomp.pdf
-2020/07/21 | 26642104 | macros/latex-dev/base.zip
-2020/05/27 | 8654 | macros/latex-dev/required/amsmath/amsbsy.dtx
-2020/05/27 | 1466 | macros/latex-dev/required/amsmath/amsbsy.ins
-2020/05/27 | 161323 | macros/latex-dev/required/amsmath/amsbsy.pdf
-2020/05/27 | 11291 | macros/latex-dev/required/amsmath/amscd.dtx
-2020/05/27 | 1464 | macros/latex-dev/required/amsmath/amscd.ins
-2020/05/27 | 165742 | macros/latex-dev/required/amsmath/amscd.pdf
-2020/05/27 | 5323 | macros/latex-dev/required/amsmath/ams-external.txt
-2020/05/27 | 13449 | macros/latex-dev/required/amsmath/amsgen.dtx
-2020/05/27 | 1466 | macros/latex-dev/required/amsmath/amsgen.ins
-2020/05/27 | 164340 | macros/latex-dev/required/amsmath/amsgen.pdf
-2020/05/27 | 5860 | macros/latex-dev/required/amsmath/ams-internal.txt
-2020/05/27 | 475924 | macros/latex-dev/required/amsmath/amsldoc.pdf
-2020/05/27 | 104677 | macros/latex-dev/required/amsmath/amsldoc.tex
-2020/05/27 | 85087 | macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
-2020/05/27 | 224684 | macros/latex-dev/required/amsmath/amsmath.dtx
-2020/05/27 | 1480 | macros/latex-dev/required/amsmath/amsmath.ins
-2020/05/27 | 383566 | macros/latex-dev/required/amsmath/amsmath.pdf
-2020/05/27 | 9202 | macros/latex-dev/required/amsmath/amsopn.dtx
-2020/05/27 | 1466 | macros/latex-dev/required/amsmath/amsopn.ins
-2020/05/27 | 129158 | macros/latex-dev/required/amsmath/amsopn.pdf
-2020/05/27 | 69720 | macros/latex-dev/required/amsmath/amstex.sty
-2020/05/27 | 11405 | macros/latex-dev/required/amsmath/amstext.dtx
-2020/05/27 | 1468 | macros/latex-dev/required/amsmath/amstext.ins
-2020/05/27 | 194266 | macros/latex-dev/required/amsmath/amstext.pdf
-2020/05/27 | 4343 | macros/latex-dev/required/amsmath/amsxtra.dtx
-2020/05/27 | 1468 | macros/latex-dev/required/amsmath/amsxtra.ins
-2020/05/27 | 104540 | macros/latex-dev/required/amsmath/amsxtra.pdf
-2020/05/27 | 5684 | macros/latex-dev/required/amsmath/changes.txt
-2020/05/27 | 22605 | macros/latex-dev/required/amsmath/diffs-m.txt
-2020/05/27 | 369 | macros/latex-dev/required/amsmath/manifest.txt
-2020/05/27 | 2726 | macros/latex-dev/required/amsmath/README.md
-2020/05/27 | 101292 | macros/latex-dev/required/amsmath/subeqn.pdf
-2020/05/27 | 6440 | macros/latex-dev/required/amsmath/subeqn.tex
-2020/05/27 | 130587 | macros/latex-dev/required/amsmath/technote.pdf
-2020/05/27 | 12005 | macros/latex-dev/required/amsmath/technote.tex
-2020/05/27 | 428947 | macros/latex-dev/required/amsmath/testmath.pdf
-2020/05/27 | 82371 | macros/latex-dev/required/amsmath/testmath.tex
-2020/05/27 | 2612146 | macros/latex-dev/required/amsmath.zip
+2020/08/31 | 6654 | macros/latex-dev/base/alltt.dtx
+2020/08/31 | 2892 | macros/latex-dev/base/alltt.ins
+2020/08/31 | 173079 | macros/latex-dev/base/alltt.pdf
+2020/08/31 | 3294 | macros/latex-dev/base/bugs.txt
+2020/08/31 | 220217 | macros/latex-dev/base/cfgguide.pdf
+2020/08/31 | 22457 | macros/latex-dev/base/cfgguide.tex
+2020/08/31 | 42708 | macros/latex-dev/base/changes.old.txt
+2020/08/31 | 356851 | macros/latex-dev/base/changes.txt
+2020/08/31 | 155735 | macros/latex-dev/base/classes.dtx
+2020/08/31 | 4089 | macros/latex-dev/base/classes.ins
+2020/08/31 | 520851 | macros/latex-dev/base/classes.pdf
+2020/08/31 | 372555 | macros/latex-dev/base/clsguide.pdf
+2020/08/31 | 69051 | macros/latex-dev/base/clsguide.tex
+2020/08/31 | 5275 | macros/latex-dev/base/cmextra.ins
+2020/08/31 | 43637 | macros/latex-dev/base/cmfonts.fdd
+2020/08/31 | 4326 | macros/latex-dev/base/cmfonts.ins
+2020/08/31 | 264505 | macros/latex-dev/base/cmfonts.pdf
+2020/08/31 | 216997 | macros/latex-dev/base/cyrguide.pdf
+2020/08/31 | 17496 | macros/latex-dev/base/cyrguide.tex
+2020/08/31 | 204016 | macros/latex-dev/base/doc.dtx
+2020/08/31 | 631616 | macros/latex-dev/base/doc.pdf
+2020/08/31 | 170214 | macros/latex-dev/base/docstrip.dtx
+2020/08/31 | 4223 | macros/latex-dev/base/docstrip.ins
+2020/08/31 | 479710 | macros/latex-dev/base/docstrip.pdf
+2020/08/31 | 4392 | macros/latex-dev/base/ec.ins
+2020/08/31 | 1532144 | macros/latex-dev/base/encguide.pdf
+2020/08/31 | 52814 | macros/latex-dev/base/encguide.tex
+2020/08/31 | 7222 | macros/latex-dev/base/exscale.dtx
+2020/08/31 | 3340 | macros/latex-dev/base/exscale.ins
+2020/08/31 | 195877 | macros/latex-dev/base/exscale.pdf
+2020/08/31 | 23521 | macros/latex-dev/base/fix-cm.dtx
+2020/08/31 | 2894 | macros/latex-dev/base/fix-cm.ins
+2020/08/31 | 262059 | macros/latex-dev/base/fix-cm.pdf
+2020/08/31 | 417861 | macros/latex-dev/base/fntguide.pdf
+2020/08/31 | 90413 | macros/latex-dev/base/fntguide.tex
+2020/08/31 | 60334 | macros/latex-dev/base/fontdef.dtx
+2020/08/31 | 9631 | macros/latex-dev/base/format.ins
+2020/08/31 | 5515 | macros/latex-dev/base/graphpap.dtx
+2020/08/31 | 2894 | macros/latex-dev/base/graphpap.ins
+2020/08/31 | 156277 | macros/latex-dev/base/graphpap.pdf
+2020/08/31 | 2706 | macros/latex-dev/base/idx.tex
+2020/08/31 | 18305 | macros/latex-dev/base/ifthen.dtx
+2020/08/31 | 2890 | macros/latex-dev/base/ifthen.ins
+2020/08/31 | 205213 | macros/latex-dev/base/ifthen.pdf
+2020/08/31 | 106914 | macros/latex-dev/base/inputenc.dtx
+2020/08/31 | 5716 | macros/latex-dev/base/inputenc.ins
+2020/08/31 | 294900 | macros/latex-dev/base/inputenc.pdf
+2020/08/31 | 4080 | macros/latex-dev/base/lablst.tex
+2020/08/31 | 38735 | macros/latex-dev/base/latex209.dtx
+2020/08/31 | 4221 | macros/latex-dev/base/latex209.ins
+2020/08/31 | 232390 | macros/latex-dev/base/latexchanges.pdf
+2020/08/31 | 37980 | macros/latex-dev/base/latexchanges.tex
+2020/08/31 | 32164 | macros/latex-dev/base/latexrelease.dtx
+2020/08/31 | 5600 | macros/latex-dev/base/latexrelease.ins
+2020/08/31 | 246195 | macros/latex-dev/base/latexrelease.pdf
+2020/08/31 | 6715 | macros/latex-dev/base/latexsym.dtx
+2020/08/31 | 5044 | macros/latex-dev/base/latexsym.ins
+2020/08/31 | 192297 | macros/latex-dev/base/latexsym.pdf
+2020/08/31 | 52532 | macros/latex-dev/base/lb2.err
+2020/08/31 | 138219 | macros/latex-dev/base/lb2.pdf
+2020/08/31 | 1381 | macros/latex-dev/base/legal.txt
+2020/08/31 | 62436 | macros/latex-dev/base/letter.dtx
+2020/08/31 | 3374 | macros/latex-dev/base/letter.ins
+2020/08/31 | 306068 | macros/latex-dev/base/letter.pdf
+2020/08/31 | 20434 | macros/latex-dev/base/lgc2.err
+2020/08/31 | 101343 | macros/latex-dev/base/lgc2.pdf
+2020/08/31 | 9068 | macros/latex-dev/base/lppl-1-0.txt
+2020/08/31 | 14341 | macros/latex-dev/base/lppl-1-1.txt
+2020/08/31 | 14421 | macros/latex-dev/base/lppl-1-2.txt
+2020/08/31 | 125830 | macros/latex-dev/base/lppl.pdf
+2020/08/31 | 23386 | macros/latex-dev/base/lppl.tex
+2020/08/31 | 19040 | macros/latex-dev/base/lppl.txt
+2020/08/31 | 4304 | macros/latex-dev/base/ltalloc.dtx
+2020/08/31 | 14440 | macros/latex-dev/base/ltbibl.dtx
+2020/08/31 | 41570 | macros/latex-dev/base/ltboxes.dtx
+2020/08/31 | 117899 | macros/latex-dev/base/ltclass.dtx
+2020/08/31 | 9562 | macros/latex-dev/base/ltcntrl.dtx
+2020/08/31 | 22676 | macros/latex-dev/base/ltcounts.dtx
+2020/08/31 | 83557 | macros/latex-dev/base/ltdefns.dtx
+2020/08/31 | 35221 | macros/latex-dev/base/ltdirchk.dtx
+2020/08/31 | 24016 | macros/latex-dev/base/lterror.dtx
+2020/08/31 | 9651 | macros/latex-dev/base/ltexpl.dtx
+2020/08/31 | 747549 | macros/latex-dev/base/ltfilehook-code.pdf
+2020/08/31 | 105 | macros/latex-dev/base/ltfilehook-code.tex
+2020/08/31 | 517421 | macros/latex-dev/base/ltfilehook-doc.pdf
+2020/08/31 | 180 | macros/latex-dev/base/ltfilehook-doc.tex
+2020/08/31 | 59453 | macros/latex-dev/base/ltfilehook.dtx
+2020/08/31 | 52517 | macros/latex-dev/base/ltfiles.dtx
+2020/08/31 | 40668 | macros/latex-dev/base/ltfinal.dtx
+2020/08/31 | 51314 | macros/latex-dev/base/ltfloat.dtx
+2020/08/31 | 29194 | macros/latex-dev/base/ltfntcmd.dtx
+2020/08/31 | 49967 | macros/latex-dev/base/ltfssaxes.dtx
+2020/08/31 | 79110 | macros/latex-dev/base/ltfssbas.dtx
+2020/08/31 | 10376 | macros/latex-dev/base/ltfsscmp.dtx
+2020/08/31 | 61221 | macros/latex-dev/base/ltfssdcl.dtx
+2020/08/31 | 73960 | macros/latex-dev/base/ltfssini.dtx
+2020/08/31 | 67333 | macros/latex-dev/base/ltfsstrc.dtx
+2020/08/31 | 871310 | macros/latex-dev/base/lthooks-code.pdf
+2020/08/31 | 102 | macros/latex-dev/base/lthooks-code.tex
+2020/08/31 | 602334 | macros/latex-dev/base/lthooks-doc.pdf
+2020/08/31 | 177 | macros/latex-dev/base/lthooks-doc.tex
+2020/08/31 | 140103 | macros/latex-dev/base/lthooks.dtx
+2020/08/31 | 4952 | macros/latex-dev/base/lthyphen.dtx
+2020/08/31 | 5865 | macros/latex-dev/base/ltidxglo.dtx
+2020/08/31 | 4762 | macros/latex-dev/base/ltlength.dtx
+2020/08/31 | 36154 | macros/latex-dev/base/ltlists.dtx
+2020/08/31 | 3731 | macros/latex-dev/base/ltlogos.dtx
+2020/08/31 | 64404 | macros/latex-dev/base/ltluatex.dtx
+2020/08/31 | 305256 | macros/latex-dev/base/ltluatex.pdf
+2020/08/31 | 38948 | macros/latex-dev/base/ltmath.dtx
+2020/08/31 | 57583 | macros/latex-dev/base/ltmiscen.dtx
+2020/08/31 | 150020 | macros/latex-dev/base/ltnews01.pdf
+2020/08/31 | 5239 | macros/latex-dev/base/ltnews01.tex
+2020/08/31 | 134751 | macros/latex-dev/base/ltnews02.pdf
+2020/08/31 | 5284 | macros/latex-dev/base/ltnews02.tex
+2020/08/31 | 134742 | macros/latex-dev/base/ltnews03.pdf
+2020/08/31 | 5201 | macros/latex-dev/base/ltnews03.tex
+2020/08/31 | 128772 | macros/latex-dev/base/ltnews04.pdf
+2020/08/31 | 5507 | macros/latex-dev/base/ltnews04.tex
+2020/08/31 | 157181 | macros/latex-dev/base/ltnews05.pdf
+2020/08/31 | 5609 | macros/latex-dev/base/ltnews05.tex
+2020/08/31 | 133138 | macros/latex-dev/base/ltnews06.pdf
+2020/08/31 | 5391 | macros/latex-dev/base/ltnews06.tex
+2020/08/31 | 124029 | macros/latex-dev/base/ltnews07.pdf
+2020/08/31 | 5426 | macros/latex-dev/base/ltnews07.tex
+2020/08/31 | 144482 | macros/latex-dev/base/ltnews08.pdf
+2020/08/31 | 5696 | macros/latex-dev/base/ltnews08.tex
+2020/08/31 | 120222 | macros/latex-dev/base/ltnews09.pdf
+2020/08/31 | 5294 | macros/latex-dev/base/ltnews09.tex
+2020/08/31 | 147946 | macros/latex-dev/base/ltnews10.pdf
+2020/08/31 | 5660 | macros/latex-dev/base/ltnews10.tex
+2020/08/31 | 104936 | macros/latex-dev/base/ltnews11.pdf
+2020/08/31 | 5530 | macros/latex-dev/base/ltnews11.tex
+2020/08/31 | 137919 | macros/latex-dev/base/ltnews12.pdf
+2020/08/31 | 5418 | macros/latex-dev/base/ltnews12.tex
+2020/08/31 | 161065 | macros/latex-dev/base/ltnews13.pdf
+2020/08/31 | 6872 | macros/latex-dev/base/ltnews13.tex
+2020/08/31 | 150907 | macros/latex-dev/base/ltnews14.pdf
+2020/08/31 | 6274 | macros/latex-dev/base/ltnews14.tex
+2020/08/31 | 122092 | macros/latex-dev/base/ltnews15.pdf
+2020/08/31 | 5840 | macros/latex-dev/base/ltnews15.tex
+2020/08/31 | 130687 | macros/latex-dev/base/ltnews16.pdf
+2020/08/31 | 5777 | macros/latex-dev/base/ltnews16.tex
+2020/08/31 | 149838 | macros/latex-dev/base/ltnews17.pdf
+2020/08/31 | 8864 | macros/latex-dev/base/ltnews17.tex
+2020/08/31 | 36005 | macros/latex-dev/base/ltnews18.pdf
+2020/08/31 | 1342 | macros/latex-dev/base/ltnews18.tex
+2020/08/31 | 235073 | macros/latex-dev/base/ltnews19.pdf
+2020/08/31 | 4171 | macros/latex-dev/base/ltnews19.tex
+2020/08/31 | 283318 | macros/latex-dev/base/ltnews20.pdf
+2020/08/31 | 7326 | macros/latex-dev/base/ltnews20.tex
+2020/08/31 | 233492 | macros/latex-dev/base/ltnews21.pdf
+2020/08/31 | 9810 | macros/latex-dev/base/ltnews21.tex
+2020/08/31 | 302836 | macros/latex-dev/base/ltnews22.pdf
+2020/08/31 | 10669 | macros/latex-dev/base/ltnews22.tex
+2020/08/31 | 274459 | macros/latex-dev/base/ltnews23.pdf
+2020/08/31 | 10688 | macros/latex-dev/base/ltnews23.tex
+2020/08/31 | 252645 | macros/latex-dev/base/ltnews24.pdf
+2020/08/31 | 12225 | macros/latex-dev/base/ltnews24.tex
+2020/08/31 | 196326 | macros/latex-dev/base/ltnews25.pdf
+2020/08/31 | 5474 | macros/latex-dev/base/ltnews25.tex
+2020/08/31 | 362839 | macros/latex-dev/base/ltnews26.pdf
+2020/08/31 | 10698 | macros/latex-dev/base/ltnews26.tex
+2020/08/31 | 239758 | macros/latex-dev/base/ltnews27.pdf
+2020/08/31 | 5507 | macros/latex-dev/base/ltnews27.tex
+2020/08/31 | 368226 | macros/latex-dev/base/ltnews28.pdf
+2020/08/31 | 14892 | macros/latex-dev/base/ltnews28.tex
+2020/08/31 | 433004 | macros/latex-dev/base/ltnews29.pdf
+2020/08/31 | 18941 | macros/latex-dev/base/ltnews29.tex
+2020/08/31 | 491246 | macros/latex-dev/base/ltnews30.pdf
+2020/08/31 | 23652 | macros/latex-dev/base/ltnews30.tex
+2020/08/31 | 500919 | macros/latex-dev/base/ltnews31.pdf
+2020/08/31 | 30457 | macros/latex-dev/base/ltnews31.tex
+2020/08/31 | 529433 | macros/latex-dev/base/ltnews32.pdf
+2020/08/31 | 33976 | macros/latex-dev/base/ltnews32.tex
+2020/08/31 | 20471 | macros/latex-dev/base/ltnews.cls
+2020/08/31 | 988811 | macros/latex-dev/base/ltnews.pdf
+2020/08/31 | 8100 | macros/latex-dev/base/ltnews.tex
+2020/08/31 | 145163 | macros/latex-dev/base/ltoutenc.dtx
+2020/08/31 | 3369 | macros/latex-dev/base/ltoutenc.ins
+2020/08/31 | 175629 | macros/latex-dev/base/ltoutput.dtx
+2020/08/31 | 11591 | macros/latex-dev/base/ltpage.dtx
+2020/08/31 | 2733 | macros/latex-dev/base/ltpageno.dtx
+2020/08/31 | 5854 | macros/latex-dev/base/ltpar.dtx
+2020/08/31 | 68914 | macros/latex-dev/base/ltpictur.dtx
+2020/08/31 | 48645 | macros/latex-dev/base/ltplain.dtx
+2020/08/31 | 32647 | macros/latex-dev/base/ltsect.dtx
+2020/08/31 | 749702 | macros/latex-dev/base/ltshipout-code.pdf
+2020/08/31 | 104 | macros/latex-dev/base/ltshipout-code.tex
+2020/08/31 | 504786 | macros/latex-dev/base/ltshipout-doc.pdf
+2020/08/31 | 179 | macros/latex-dev/base/ltshipout-doc.tex
+2020/08/31 | 60475 | macros/latex-dev/base/ltshipout.dtx
+2020/08/31 | 45246 | macros/latex-dev/base/ltspace.dtx
+2020/08/31 | 47704 | macros/latex-dev/base/lttab.dtx
+2020/08/31 | 88411 | macros/latex-dev/base/lttextcomp.dtx
+2020/08/31 | 8737 | macros/latex-dev/base/ltthm.dtx
+2020/08/31 | 10365 | macros/latex-dev/base/ltvers.dtx
+2020/08/31 | 191527 | macros/latex-dev/base/ltx3info.pdf
+2020/08/31 | 18300 | macros/latex-dev/base/ltx3info.tex
+2020/08/31 | 27124 | macros/latex-dev/base/ltxcheck.tex
+2020/08/31 | 18867 | macros/latex-dev/base/ltxdoc.dtx
+2020/08/31 | 215134 | macros/latex-dev/base/ltxdoc.pdf
+2020/08/31 | 7526 | macros/latex-dev/base/ltxguide.cls
+2020/08/31 | 15623 | macros/latex-dev/base/ltxref.dtx
+2020/08/31 | 10606 | macros/latex-dev/base/makeindx.dtx
+2020/08/31 | 3436 | macros/latex-dev/base/makeindx.ins
+2020/08/31 | 160667 | macros/latex-dev/base/makeindx.pdf
+2020/08/31 | 10640 | macros/latex-dev/base/manifest.txt
+2020/08/31 | 12946 | macros/latex-dev/base/manual.err
+2020/08/31 | 151347 | macros/latex-dev/base/manual.pdf
+2020/08/31 | 1938 | macros/latex-dev/base/minimal.cls
+2020/08/31 | 220388 | macros/latex-dev/base/modguide.pdf
+2020/08/31 | 16234 | macros/latex-dev/base/modguide.tex
+2020/08/31 | 4256 | macros/latex-dev/base/newdc.ins
+2020/08/31 | 6363 | macros/latex-dev/base/newlfont.dtx
+2020/08/31 | 18407 | macros/latex-dev/base/nfssfont.dtx
+2020/08/31 | 2895 | macros/latex-dev/base/nfssfont.ins
+2020/08/31 | 202451 | macros/latex-dev/base/nfssfont.pdf
+2020/08/31 | 3962 | macros/latex-dev/base/olddc.ins
+2020/08/31 | 8632 | macros/latex-dev/base/oldlfont.dtx
+2020/08/31 | 9374 | macros/latex-dev/base/preload.dtx
+2020/08/31 | 13305 | macros/latex-dev/base/proc.dtx
+2020/08/31 | 3403 | macros/latex-dev/base/proc.ins
+2020/08/31 | 216877 | macros/latex-dev/base/proc.pdf
+2020/08/31 | 3514 | macros/latex-dev/base/README.md
+2020/08/31 | 7200 | macros/latex-dev/base/sample2e.tex
+2020/08/31 | 89720 | macros/latex-dev/base/slides.dtx
+2020/08/31 | 6764 | macros/latex-dev/base/slides.ins
+2020/08/31 | 351586 | macros/latex-dev/base/slides.pdf
+2020/08/31 | 15701 | macros/latex-dev/base/slifonts.fdd
+2020/08/31 | 214710 | macros/latex-dev/base/slifonts.pdf
+2020/08/31 | 1694 | macros/latex-dev/base/small2e.tex
+2020/08/31 | 6367 | macros/latex-dev/base/source2edoc.cls
+2020/08/31 | 4320779 | macros/latex-dev/base/source2e.pdf
+2020/08/31 | 14918 | macros/latex-dev/base/source2e.tex
+2020/08/31 | 9401 | macros/latex-dev/base/syntonly.dtx
+2020/08/31 | 2898 | macros/latex-dev/base/syntonly.ins
+2020/08/31 | 181980 | macros/latex-dev/base/syntonly.pdf
+2020/08/31 | 12521 | macros/latex-dev/base/testpage.tex
+2020/08/31 | 2738 | macros/latex-dev/base/tex2.txt
+2020/08/31 | 8493 | macros/latex-dev/base/texpert.txt
+2020/08/31 | 172216 | macros/latex-dev/base/tlc2.err
+2020/08/31 | 164947 | macros/latex-dev/base/tlc2.pdf
+2020/08/31 | 12120 | macros/latex-dev/base/tulm.fdd
+2020/08/31 | 3783 | macros/latex-dev/base/tulm.ins
+2020/08/31 | 156546 | macros/latex-dev/base/tulm.pdf
+2020/08/31 | 3182 | macros/latex-dev/base/unpack.ins
+2020/08/31 | 399035 | macros/latex-dev/base/usrguide.pdf
+2020/08/31 | 68428 | macros/latex-dev/base/usrguide.tex
+2020/08/31 | 89386 | macros/latex-dev/base/utf8ienc.dtx
+2020/08/31 | 331397 | macros/latex-dev/base/utf8ienc.pdf
+2020/08/31 | 10053 | macros/latex-dev/base/webcomp.err
+2020/08/31 | 136159 | macros/latex-dev/base/webcomp.pdf
+2020/08/31 | 27830697 | macros/latex-dev/base.zip
+2020/08/31 | 8654 | macros/latex-dev/required/amsmath/amsbsy.dtx
+2020/08/31 | 1466 | macros/latex-dev/required/amsmath/amsbsy.ins
+2020/08/31 | 161324 | macros/latex-dev/required/amsmath/amsbsy.pdf
+2020/08/31 | 11291 | macros/latex-dev/required/amsmath/amscd.dtx
+2020/08/31 | 1464 | macros/latex-dev/required/amsmath/amscd.ins
+2020/08/31 | 165745 | macros/latex-dev/required/amsmath/amscd.pdf
+2020/08/31 | 5323 | macros/latex-dev/required/amsmath/ams-external.txt
+2020/08/31 | 13449 | macros/latex-dev/required/amsmath/amsgen.dtx
+2020/08/31 | 1466 | macros/latex-dev/required/amsmath/amsgen.ins
+2020/08/31 | 164345 | macros/latex-dev/required/amsmath/amsgen.pdf
+2020/08/31 | 5860 | macros/latex-dev/required/amsmath/ams-internal.txt
+2020/08/31 | 476032 | macros/latex-dev/required/amsmath/amsldoc.pdf
+2020/08/31 | 104677 | macros/latex-dev/required/amsmath/amsldoc.tex
+2020/08/31 | 85087 | macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
+2020/08/31 | 225083 | macros/latex-dev/required/amsmath/amsmath.dtx
+2020/08/31 | 1480 | macros/latex-dev/required/amsmath/amsmath.ins
+2020/08/31 | 384117 | macros/latex-dev/required/amsmath/amsmath.pdf
+2020/08/31 | 9202 | macros/latex-dev/required/amsmath/amsopn.dtx
+2020/08/31 | 1466 | macros/latex-dev/required/amsmath/amsopn.ins
+2020/08/31 | 129155 | macros/latex-dev/required/amsmath/amsopn.pdf
+2020/08/31 | 69720 | macros/latex-dev/required/amsmath/amstex.sty
+2020/08/31 | 11405 | macros/latex-dev/required/amsmath/amstext.dtx
+2020/08/31 | 1468 | macros/latex-dev/required/amsmath/amstext.ins
+2020/08/31 | 194257 | macros/latex-dev/required/amsmath/amstext.pdf
+2020/08/31 | 4343 | macros/latex-dev/required/amsmath/amsxtra.dtx
+2020/08/31 | 1468 | macros/latex-dev/required/amsmath/amsxtra.ins
+2020/08/31 | 104545 | macros/latex-dev/required/amsmath/amsxtra.pdf
+2020/08/31 | 5883 | macros/latex-dev/required/amsmath/changes.txt
+2020/08/31 | 22605 | macros/latex-dev/required/amsmath/diffs-m.txt
+2020/08/31 | 369 | macros/latex-dev/required/amsmath/manifest.txt
+2020/08/31 | 2726 | macros/latex-dev/required/amsmath/README.md
+2020/08/31 | 101293 | macros/latex-dev/required/amsmath/subeqn.pdf
+2020/08/31 | 6440 | macros/latex-dev/required/amsmath/subeqn.tex
+2020/08/31 | 130600 | macros/latex-dev/required/amsmath/technote.pdf
+2020/08/31 | 12005 | macros/latex-dev/required/amsmath/technote.tex
+2020/08/31 | 429026 | macros/latex-dev/required/amsmath/testmath.pdf
+2020/08/31 | 82371 | macros/latex-dev/required/amsmath/testmath.tex
+2020/08/31 | 2612965 | macros/latex-dev/required/amsmath.zip
2020/07/21 | 15737 | macros/latex-dev/required/graphics/cat.eps
2020/07/21 | 32174 | macros/latex-dev/required/graphics/changes.txt
2020/07/21 | 31608 | macros/latex-dev/required/graphics/color.dtx
@@ -211886,75 +211886,75 @@
2020/07/21 | 10651 | macros/latex-dev/required/graphics/trig.dtx
2020/07/21 | 191692 | macros/latex-dev/required/graphics/trig.pdf
2020/07/21 | 2501420 | macros/latex-dev/required/graphics.zip
-2020/07/21 | 14078 | macros/latex-dev/required/tools/afterpage.dtx
-2020/07/21 | 2540 | macros/latex-dev/required/tools/afterpage.ins
-2020/07/21 | 189846 | macros/latex-dev/required/tools/afterpage.pdf
-2020/07/21 | 11750 | macros/latex-dev/required/tools/array-2016-10-06.sty
-2020/07/21 | 12560 | macros/latex-dev/required/tools/array-2020-02-10.sty
-2020/07/21 | 125675 | macros/latex-dev/required/tools/array.dtx
-2020/07/21 | 483202 | macros/latex-dev/required/tools/array.pdf
-2020/07/21 | 59410 | macros/latex-dev/required/tools/bm.dtx
-2020/07/21 | 2526 | macros/latex-dev/required/tools/bm.ins
-2020/07/21 | 306728 | macros/latex-dev/required/tools/bm.pdf
-2020/07/21 | 53174 | macros/latex-dev/required/tools/calc.dtx
-2020/07/21 | 340889 | macros/latex-dev/required/tools/calc.pdf
-2020/07/21 | 57283 | macros/latex-dev/required/tools/changes.txt
-2020/07/21 | 12715 | macros/latex-dev/required/tools/dcolumn.dtx
-2020/07/21 | 199218 | macros/latex-dev/required/tools/dcolumn.pdf
-2020/07/21 | 6795 | macros/latex-dev/required/tools/delarray.dtx
-2020/07/21 | 183426 | macros/latex-dev/required/tools/delarray.pdf
-2020/07/21 | 10650 | macros/latex-dev/required/tools/enumerate.dtx
-2020/07/21 | 199047 | macros/latex-dev/required/tools/enumerate.pdf
-2020/07/21 | 4965 | macros/latex-dev/required/tools/fileerr.dtx
-2020/07/21 | 179839 | macros/latex-dev/required/tools/fileerr.pdf
-2020/07/21 | 10777 | macros/latex-dev/required/tools/fontsmpl.dtx
-2020/07/21 | 138027 | macros/latex-dev/required/tools/fontsmpl.pdf
-2020/07/21 | 39702 | macros/latex-dev/required/tools/ftnright.dtx
-2020/07/21 | 346683 | macros/latex-dev/required/tools/ftnright.pdf
-2020/07/21 | 11154 | macros/latex-dev/required/tools/hhline.dtx
-2020/07/21 | 175673 | macros/latex-dev/required/tools/hhline.pdf
-2020/07/21 | 2226 | macros/latex-dev/required/tools/indentfirst.dtx
-2020/07/21 | 144779 | macros/latex-dev/required/tools/indentfirst.pdf
-2020/07/21 | 30962 | macros/latex-dev/required/tools/layout.dtx
-2020/07/21 | 246917 | macros/latex-dev/required/tools/layout.pdf
-2020/07/21 | 72225 | macros/latex-dev/required/tools/longtable.dtx
-2020/07/21 | 2540 | macros/latex-dev/required/tools/longtable.ins
-2020/07/21 | 349888 | macros/latex-dev/required/tools/longtable.pdf
-2020/07/21 | 3281 | macros/latex-dev/required/tools/manifest.txt
-2020/07/21 | 29714 | macros/latex-dev/required/tools/multicol-2017-04-11.sty
-2020/07/21 | 182355 | macros/latex-dev/required/tools/multicol.dtx
-2020/07/21 | 2578 | macros/latex-dev/required/tools/multicol.ins
-2020/07/21 | 491155 | macros/latex-dev/required/tools/multicol.pdf
-2020/07/21 | 8982 | macros/latex-dev/required/tools/rawfonts.dtx
-2020/07/21 | 135688 | macros/latex-dev/required/tools/rawfonts.pdf
-2020/07/21 | 1666 | macros/latex-dev/required/tools/README.md
-2020/07/21 | 9494 | macros/latex-dev/required/tools/shellesc.dtx
-2020/07/21 | 169765 | macros/latex-dev/required/tools/shellesc.pdf
-2020/07/21 | 29571 | macros/latex-dev/required/tools/showkeys.dtx
-2020/07/21 | 242771 | macros/latex-dev/required/tools/showkeys.pdf
-2020/07/21 | 5797 | macros/latex-dev/required/tools/somedefs.dtx
-2020/07/21 | 156506 | macros/latex-dev/required/tools/somedefs.pdf
-2020/07/21 | 35881 | macros/latex-dev/required/tools/tabularx.dtx
-2020/07/21 | 2537 | macros/latex-dev/required/tools/tabularx.ins
-2020/07/21 | 254169 | macros/latex-dev/required/tools/tabularx.pdf
-2020/07/21 | 43454 | macros/latex-dev/required/tools/theorem.dtx
-2020/07/21 | 323228 | macros/latex-dev/required/tools/theorem.pdf
-2020/07/21 | 5682 | macros/latex-dev/required/tools/tools.ins
-2020/07/21 | 68285 | macros/latex-dev/required/tools/tools-overview.pdf
-2020/07/21 | 5213 | macros/latex-dev/required/tools/tools-overview.tex
-2020/07/21 | 24649 | macros/latex-dev/required/tools/trace.dtx
-2020/07/21 | 212721 | macros/latex-dev/required/tools/trace.pdf
-2020/07/21 | 33864 | macros/latex-dev/required/tools/varioref-2016-02-16.sty
-2020/07/21 | 107404 | macros/latex-dev/required/tools/varioref.dtx
-2020/07/21 | 2533 | macros/latex-dev/required/tools/varioref.ins
-2020/07/21 | 358075 | macros/latex-dev/required/tools/varioref.pdf
-2020/07/21 | 72142 | macros/latex-dev/required/tools/verbatim.dtx
-2020/07/21 | 302925 | macros/latex-dev/required/tools/verbatim.pdf
-2020/07/21 | 6236 | macros/latex-dev/required/tools/xr.dtx
-2020/07/21 | 163614 | macros/latex-dev/required/tools/xr.pdf
-2020/07/21 | 17862 | macros/latex-dev/required/tools/xspace.dtx
-2020/07/21 | 237978 | macros/latex-dev/required/tools/xspace.pdf
-2020/07/21 | 6879584 | macros/latex-dev/required/tools.zip
+2020/08/31 | 14078 | macros/latex-dev/required/tools/afterpage.dtx
+2020/08/31 | 2540 | macros/latex-dev/required/tools/afterpage.ins
+2020/08/31 | 189846 | macros/latex-dev/required/tools/afterpage.pdf
+2020/08/31 | 11750 | macros/latex-dev/required/tools/array-2016-10-06.sty
+2020/08/31 | 12560 | macros/latex-dev/required/tools/array-2020-02-10.sty
+2020/08/31 | 125675 | macros/latex-dev/required/tools/array.dtx
+2020/08/31 | 483280 | macros/latex-dev/required/tools/array.pdf
+2020/08/31 | 59410 | macros/latex-dev/required/tools/bm.dtx
+2020/08/31 | 2526 | macros/latex-dev/required/tools/bm.ins
+2020/08/31 | 306728 | macros/latex-dev/required/tools/bm.pdf
+2020/08/31 | 53174 | macros/latex-dev/required/tools/calc.dtx
+2020/08/31 | 340889 | macros/latex-dev/required/tools/calc.pdf
+2020/08/31 | 57417 | macros/latex-dev/required/tools/changes.txt
+2020/08/31 | 12715 | macros/latex-dev/required/tools/dcolumn.dtx
+2020/08/31 | 199218 | macros/latex-dev/required/tools/dcolumn.pdf
+2020/08/31 | 6795 | macros/latex-dev/required/tools/delarray.dtx
+2020/08/31 | 183426 | macros/latex-dev/required/tools/delarray.pdf
+2020/08/31 | 10650 | macros/latex-dev/required/tools/enumerate.dtx
+2020/08/31 | 199047 | macros/latex-dev/required/tools/enumerate.pdf
+2020/08/31 | 4965 | macros/latex-dev/required/tools/fileerr.dtx
+2020/08/31 | 180373 | macros/latex-dev/required/tools/fileerr.pdf
+2020/08/31 | 10777 | macros/latex-dev/required/tools/fontsmpl.dtx
+2020/08/31 | 138027 | macros/latex-dev/required/tools/fontsmpl.pdf
+2020/08/31 | 39702 | macros/latex-dev/required/tools/ftnright.dtx
+2020/08/31 | 347182 | macros/latex-dev/required/tools/ftnright.pdf
+2020/08/31 | 11154 | macros/latex-dev/required/tools/hhline.dtx
+2020/08/31 | 175673 | macros/latex-dev/required/tools/hhline.pdf
+2020/08/31 | 2226 | macros/latex-dev/required/tools/indentfirst.dtx
+2020/08/31 | 144779 | macros/latex-dev/required/tools/indentfirst.pdf
+2020/08/31 | 30962 | macros/latex-dev/required/tools/layout.dtx
+2020/08/31 | 246917 | macros/latex-dev/required/tools/layout.pdf
+2020/08/31 | 72225 | macros/latex-dev/required/tools/longtable.dtx
+2020/08/31 | 2540 | macros/latex-dev/required/tools/longtable.ins
+2020/08/31 | 349888 | macros/latex-dev/required/tools/longtable.pdf
+2020/08/31 | 3281 | macros/latex-dev/required/tools/manifest.txt
+2020/08/31 | 29714 | macros/latex-dev/required/tools/multicol-2017-04-11.sty
+2020/08/31 | 182355 | macros/latex-dev/required/tools/multicol.dtx
+2020/08/31 | 2578 | macros/latex-dev/required/tools/multicol.ins
+2020/08/31 | 491466 | macros/latex-dev/required/tools/multicol.pdf
+2020/08/31 | 8982 | macros/latex-dev/required/tools/rawfonts.dtx
+2020/08/31 | 135688 | macros/latex-dev/required/tools/rawfonts.pdf
+2020/08/31 | 1666 | macros/latex-dev/required/tools/README.md
+2020/08/31 | 9494 | macros/latex-dev/required/tools/shellesc.dtx
+2020/08/31 | 169765 | macros/latex-dev/required/tools/shellesc.pdf
+2020/08/31 | 29571 | macros/latex-dev/required/tools/showkeys.dtx
+2020/08/31 | 242771 | macros/latex-dev/required/tools/showkeys.pdf
+2020/08/31 | 5797 | macros/latex-dev/required/tools/somedefs.dtx
+2020/08/31 | 156506 | macros/latex-dev/required/tools/somedefs.pdf
+2020/08/31 | 35881 | macros/latex-dev/required/tools/tabularx.dtx
+2020/08/31 | 2537 | macros/latex-dev/required/tools/tabularx.ins
+2020/08/31 | 254169 | macros/latex-dev/required/tools/tabularx.pdf
+2020/08/31 | 43454 | macros/latex-dev/required/tools/theorem.dtx
+2020/08/31 | 323500 | macros/latex-dev/required/tools/theorem.pdf
+2020/08/31 | 5682 | macros/latex-dev/required/tools/tools.ins
+2020/08/31 | 68285 | macros/latex-dev/required/tools/tools-overview.pdf
+2020/08/31 | 5213 | macros/latex-dev/required/tools/tools-overview.tex
+2020/08/31 | 24649 | macros/latex-dev/required/tools/trace.dtx
+2020/08/31 | 212721 | macros/latex-dev/required/tools/trace.pdf
+2020/08/31 | 33864 | macros/latex-dev/required/tools/varioref-2016-02-16.sty
+2020/08/31 | 114212 | macros/latex-dev/required/tools/varioref.dtx
+2020/08/31 | 2533 | macros/latex-dev/required/tools/varioref.ins
+2020/08/31 | 363007 | macros/latex-dev/required/tools/varioref.pdf
+2020/08/31 | 72142 | macros/latex-dev/required/tools/verbatim.dtx
+2020/08/31 | 302925 | macros/latex-dev/required/tools/verbatim.pdf
+2020/08/31 | 6224 | macros/latex-dev/required/tools/xr.dtx
+2020/08/31 | 163607 | macros/latex-dev/required/tools/xr.pdf
+2020/08/31 | 17862 | macros/latex-dev/required/tools/xspace.dtx
+2020/08/31 | 237978 | macros/latex-dev/required/tools/xspace.pdf
+2020/08/31 | 6886532 | macros/latex-dev/required/tools.zip
1999/05/03 | 8998 | macros/latex/exptl/delimtxt/delimtxt.dtx
1999/03/28 | 143 | macros/latex/exptl/delimtxt/delimtxt.ins
2006/03/21 | 55074 | macros/latex/exptl/delimtxt/delimtxt.pdf
@@ -221473,18 +221473,18 @@
2017/08/25 | 986188 | macros/xetex/latex/na-box.zip
2019/04/24 | 120996 | macros/xetex/latex/nanicolle/ChinaMainland.pdf
2019/04/24 | 41396 | macros/xetex/latex/nanicolle/Dongguan.pdf
-2020/07/08 | 16029 | macros/xetex/latex/nanicolle/nanicolle.cls
-2020/07/08 | 262772 | macros/xetex/latex/nanicolle/nanicolle-doc-en.pdf
-2020/07/08 | 22094 | macros/xetex/latex/nanicolle/nanicolle-doc-en.tex
-2020/07/08 | 389748 | macros/xetex/latex/nanicolle/nanicolle-doc-zh.pdf
-2020/07/08 | 21351 | macros/xetex/latex/nanicolle/nanicolle-doc-zh.tex
+2020/08/30 | 16101 | macros/xetex/latex/nanicolle/nanicolle.cls
+2020/08/30 | 262952 | macros/xetex/latex/nanicolle/nanicolle-doc-en.pdf
+2020/08/30 | 22047 | macros/xetex/latex/nanicolle/nanicolle-doc-en.tex
+2020/08/13 | 391311 | macros/xetex/latex/nanicolle/nanicolle-doc-zh.pdf
+2020/08/13 | 21624 | macros/xetex/latex/nanicolle/nanicolle-doc-zh.tex
2020/07/07 | 156442 | macros/xetex/latex/nanicolle/nanicolle-ex-en.pdf
2020/07/07 | 1179 | macros/xetex/latex/nanicolle/nanicolle-ex-en.tex
2020/07/08 | 172449 | macros/xetex/latex/nanicolle/nanicolle-ex-zh.pdf
2020/07/08 | 1047 | macros/xetex/latex/nanicolle/nanicolle-ex-zh.tex
2019/04/23 | 973 | macros/xetex/latex/nanicolle/point.pdf
-2020/07/08 | 1537 | macros/xetex/latex/nanicolle/README.md
-2020/07/08 | 1140335 | macros/xetex/latex/nanicolle.zip
+2020/07/13 | 1588 | macros/xetex/latex/nanicolle/README.md
+2020/08/31 | 1142224 | macros/xetex/latex/nanicolle.zip
2020/06/14 | 6936 | macros/xetex/latex/na-position/doc/latex/na-positiondocAR.tex
2020/06/14 | 87313 | macros/xetex/latex/na-position/doc/na-positiondocAR.pdf
2020/06/14 | 4297 | macros/xetex/latex/na-position/latex/na-position.sty
@@ -258743,9 +258743,9 @@
2019/02/28 | 9796 | systems/texlive/tlnet/archive/captcont.source.r15878.tar.xz
2019/02/28 | 216228 | systems/texlive/tlnet/archive/captdef.doc.r17353.tar.xz
2019/02/28 | 1140 | systems/texlive/tlnet/archive/captdef.r17353.tar.xz
-2020/07/22 | 1585184 | systems/texlive/tlnet/archive/caption.doc.r55900.tar.xz
-2020/07/22 | 29188 | systems/texlive/tlnet/archive/caption.r55900.tar.xz
-2020/07/22 | 193356 | systems/texlive/tlnet/archive/caption.source.r55900.tar.xz
+2020/08/31 | 1563004 | systems/texlive/tlnet/archive/caption.doc.r56213.tar.xz
+2020/08/31 | 30364 | systems/texlive/tlnet/archive/caption.r56213.tar.xz
+2020/08/31 | 201680 | systems/texlive/tlnet/archive/caption.source.r56213.tar.xz
2019/02/28 | 72600 | systems/texlive/tlnet/archive/capt-of.doc.r29803.tar.xz
2019/02/28 | 1168 | systems/texlive/tlnet/archive/capt-of.r29803.tar.xz
2019/02/28 | 3396 | systems/texlive/tlnet/archive/capt-of.source.r29803.tar.xz
@@ -259253,7 +259253,7 @@
2020/03/04 | 568 | systems/texlive/tlnet/archive/collection-formatsextra.r54074.tar.xz
2020/07/13 | 524 | systems/texlive/tlnet/archive/collection-games.r55821.tar.xz
2020/03/04 | 584 | systems/texlive/tlnet/archive/collection-humanities.r54074.tar.xz
-2020/06/10 | 436 | systems/texlive/tlnet/archive/collection-langarabic.r55495.tar.xz
+2020/08/31 | 444 | systems/texlive/tlnet/archive/collection-langarabic.r56215.tar.xz
2020/08/28 | 528 | systems/texlive/tlnet/archive/collection-langchinese.r56196.tar.xz
2020/03/09 | 568 | systems/texlive/tlnet/archive/collection-langcjk.r54191.tar.xz
2020/03/04 | 608 | systems/texlive/tlnet/archive/collection-langcyrillic.r54074.tar.xz
@@ -259270,7 +259270,7 @@
2020/03/04 | 408 | systems/texlive/tlnet/archive/collection-langpolish.r54074.tar.xz
2020/03/04 | 392 | systems/texlive/tlnet/archive/collection-langportuguese.r54074.tar.xz
2020/03/07 | 380 | systems/texlive/tlnet/archive/collection-langspanish.r54141.tar.xz
-2020/08/26 | 6148 | systems/texlive/tlnet/archive/collection-latexextra.r56182.tar.xz
+2020/08/31 | 6156 | systems/texlive/tlnet/archive/collection-latexextra.r56214.tar.xz
2020/08/14 | 688 | systems/texlive/tlnet/archive/collection-latex.r56105.tar.xz
2020/03/04 | 748 | systems/texlive/tlnet/archive/collection-latexrecommended.r54074.tar.xz
2020/08/30 | 684 | systems/texlive/tlnet/archive/collection-luatex.r56210.tar.xz
@@ -261218,9 +261218,9 @@
2019/02/28 | 461572 | systems/texlive/tlnet/archive/fdsymbol.doc.r26722.tar.xz
2019/02/28 | 920220 | systems/texlive/tlnet/archive/fdsymbol.r26722.tar.xz
2019/02/28 | 17720 | systems/texlive/tlnet/archive/fdsymbol.source.r26722.tar.xz
-2019/04/04 | 1370704 | systems/texlive/tlnet/archive/fduthesis.doc.r50738.tar.xz
-2019/04/04 | 108108 | systems/texlive/tlnet/archive/fduthesis.r50738.tar.xz
-2019/04/04 | 115396 | systems/texlive/tlnet/archive/fduthesis.source.r50738.tar.xz
+2020/08/31 | 1361508 | systems/texlive/tlnet/archive/fduthesis.doc.r56216.tar.xz
+2020/08/31 | 108324 | systems/texlive/tlnet/archive/fduthesis.r56216.tar.xz
+2020/08/31 | 116284 | systems/texlive/tlnet/archive/fduthesis.source.r56216.tar.xz
2019/02/28 | 17968016 | systems/texlive/tlnet/archive/featpost.doc.r35346.tar.xz
2019/02/28 | 31996 | systems/texlive/tlnet/archive/featpost.r35346.tar.xz
2020/07/27 | 289892 | systems/texlive/tlnet/archive/fei.doc.r55960.tar.xz
@@ -264125,8 +264125,8 @@
2019/02/28 | 1092 | systems/texlive/tlnet/archive/mceinleger.r15878.tar.xz
2019/02/28 | 241840 | systems/texlive/tlnet/archive/mcexam.doc.r46155.tar.xz
2019/02/28 | 11424 | systems/texlive/tlnet/archive/mcexam.r46155.tar.xz
-2020/08/11 | 1060304 | systems/texlive/tlnet/archive/mcf2graph.doc.r56086.tar.xz
-2020/08/11 | 20912 | systems/texlive/tlnet/archive/mcf2graph.r56086.tar.xz
+2020/08/31 | 1059444 | systems/texlive/tlnet/archive/mcf2graph.doc.r56217.tar.xz
+2020/08/31 | 21040 | systems/texlive/tlnet/archive/mcf2graph.r56217.tar.xz
2019/02/28 | 138716 | systems/texlive/tlnet/archive/mcite.doc.r18173.tar.xz
2019/02/28 | 391980 | systems/texlive/tlnet/archive/mciteplus.doc.r31648.tar.xz
2019/02/28 | 34344 | systems/texlive/tlnet/archive/mciteplus.r31648.tar.xz
@@ -267892,8 +267892,8 @@
2020/03/24 | 280 | systems/texlive/tlnet/archive/texlive-cz.r54496.tar.xz
2020/03/29 | 1338300 | systems/texlive/tlnet/archive/texlive-de.doc.r54604.tar.xz
2020/03/29 | 272 | systems/texlive/tlnet/archive/texlive-de.r54604.tar.xz
-2020/08/30 | 168540 | systems/texlive/tlnet/archive/texlive-docindex.doc.r56204.tar.xz
-2020/08/30 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r56204.tar.xz
+2020/08/31 | 168528 | systems/texlive/tlnet/archive/texlive-docindex.doc.r56212.tar.xz
+2020/08/31 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r56212.tar.xz
2020/04/16 | 1891392 | systems/texlive/tlnet/archive/texlive-en.doc.r54755.tar.xz
2020/04/16 | 272 | systems/texlive/tlnet/archive/texlive-en.r54755.tar.xz
2020/03/22 | 3090144 | systems/texlive/tlnet/archive/texlive-es.doc.r54465.tar.xz
@@ -268013,6 +268013,9 @@
2019/02/28 | 87000 | systems/texlive/tlnet/archive/texments.doc.r15878.tar.xz
2019/02/28 | 1352 | systems/texlive/tlnet/archive/texments.r15878.tar.xz
2019/02/28 | 4868 | systems/texlive/tlnet/archive/texments.source.r15878.tar.xz
+2020/08/31 | 2095644 | systems/texlive/tlnet/archive/texnegar.doc.r56215.tar.xz
+2020/08/31 | 12284 | systems/texlive/tlnet/archive/texnegar.r56215.tar.xz
+2020/08/31 | 14784 | systems/texlive/tlnet/archive/texnegar.source.r56215.tar.xz
2020/05/18 | 262484 | systems/texlive/tlnet/archive/tex-nutshell.doc.r55187.tar.xz
2020/05/18 | 512 | systems/texlive/tlnet/archive/tex-nutshell.r55187.tar.xz
2019/05/05 | 73548 | systems/texlive/tlnet/archive/texonly.doc.r50985.tar.xz
@@ -268489,6 +268492,9 @@
2020/05/31 | 6380872 | systems/texlive/tlnet/archive/toptesi.doc.r55364.tar.xz
2020/05/31 | 20420 | systems/texlive/tlnet/archive/toptesi.r55364.tar.xz
2020/05/31 | 96948 | systems/texlive/tlnet/archive/toptesi.source.r55364.tar.xz
+2020/08/31 | 74156 | systems/texlive/tlnet/archive/totalcount.doc.r56214.tar.xz
+2020/08/31 | 1640 | systems/texlive/tlnet/archive/totalcount.r56214.tar.xz
+2020/08/31 | 4616 | systems/texlive/tlnet/archive/totalcount.source.r56214.tar.xz
2019/02/28 | 286576 | systems/texlive/tlnet/archive/totcount.doc.r21178.tar.xz
2019/02/28 | 2272 | systems/texlive/tlnet/archive/totcount.r21178.tar.xz
2019/02/28 | 6680 | systems/texlive/tlnet/archive/totcount.source.r21178.tar.xz
@@ -269617,16 +269623,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2020/06/13 | 105829 | systems/texlive/tlnet/install-tl
-2020/08/30 | 5500709 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2020/08/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2020/08/30 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2020/08/31 | 5500728 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2020/08/31 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2020/08/31 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2020/08/23 | 4889 | systems/texlive/tlnet/install-tl-windows.bat
-2020/08/30 | 19379923 | systems/texlive/tlnet/install-tl-windows.exe
-2020/08/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2020/08/30 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2020/08/30 | 24269318 | systems/texlive/tlnet/install-tl.zip
-2020/08/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2020/08/30 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2020/08/31 | 19379896 | systems/texlive/tlnet/install-tl-windows.exe
+2020/08/31 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2020/08/31 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2020/08/31 | 24269318 | systems/texlive/tlnet/install-tl.zip
+2020/08/31 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2020/08/31 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2020/03/05 | 1215 | systems/texlive/tlnet/README.md
2020/04/06 | 5961 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
2016/04/12 | 600 | systems/texlive/tlnet/tlpkg/gpg/random_seed
@@ -269682,12 +269688,12 @@
2020/05/17 | 20322 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2020/05/03 | 4786 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2020/08/06 | 27567 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2020/08/30 | 16479508 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2020/08/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2020/08/31 | 16485781 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2020/08/31 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2020/05/13 | 86417 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2020/08/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2020/08/30 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2020/08/30 | 2223840 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2020/08/31 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2020/08/31 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2020/08/31 | 2222596 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2020/04/15 | 58761 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2020/03/20 | 41736 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2020/05/11 | 15010 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -274176,7 +274182,7 @@
2020/02/04 | 281488 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2020/08/30 | 545043 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/08/31 | 545297 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -275342,9 +275348,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2020/08/01 | 38929 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2020/08/01 | 43039 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/08/30 | 202882 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2020/08/30 | 1216850 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2020/08/30 | 1136171 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/08/31 | 202877 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/08/31 | 1217251 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/08/31 | 1135106 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2020/08/01 | 13102 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2020/08/01 | 14104 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
@@ -275498,187 +275504,187 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2019/09/11 | 231430 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2020/08/30 | 545814 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2020/08/30 | 59343 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2020/08/30 | 67259 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2020/08/30 | 956334 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2020/08/30 | 1061413 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2020/08/30 | 28605 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2020/08/30 | 30910 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2020/08/30 | 29399 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2020/08/30 | 34775 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2020/08/30 | 49589 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2020/08/30 | 57159 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2020/08/30 | 84662 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2020/08/30 | 93643 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/08/30 | 65819 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2020/08/30 | 73450 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2020/08/30 | 27009 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2020/08/30 | 30891 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2020/08/30 | 329618 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2020/08/30 | 392369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2020/08/30 | 32351 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2020/08/30 | 36362 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2020/08/30 | 72257 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2020/08/30 | 79418 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2020/08/30 | 203963 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2020/08/30 | 224087 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2020/08/30 | 169656 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2020/08/30 | 184490 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2020/08/30 | 51937 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2020/08/30 | 58661 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2020/08/30 | 20817 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2020/08/30 | 22982 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2020/08/30 | 460433 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2020/08/30 | 45320 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2020/08/30 | 51134 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2020/08/30 | 273699 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2020/08/30 | 310935 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2020/08/30 | 40823 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2020/08/30 | 45032 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2020/08/30 | 115883 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2020/08/30 | 130357 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2020/08/30 | 1265432 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2020/08/30 | 1404302 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2020/08/30 | 95401 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2020/08/30 | 109731 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2020/08/30 | 43315 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2020/08/30 | 48086 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2020/08/30 | 46358 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2020/08/30 | 51235 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2020/08/30 | 57149 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2020/08/30 | 62979 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2020/08/30 | 133655 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2020/08/30 | 151865 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2020/08/30 | 72864 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2020/08/30 | 77367 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2020/08/30 | 68968 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2020/08/30 | 77316 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2020/08/30 | 246826 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2020/08/30 | 281780 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2020/08/30 | 25504 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2020/08/30 | 29058 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2020/08/30 | 100918 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2020/08/30 | 116787 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2020/08/30 | 63516 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2020/08/30 | 72612 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2020/08/30 | 94383 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2020/08/30 | 113580 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2020/08/30 | 59042 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2020/08/30 | 65546 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2020/08/30 | 462710 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2020/08/30 | 549966 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2020/08/30 | 141852 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2020/08/30 | 154418 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2020/08/30 | 94514 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2020/08/30 | 108990 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2020/08/30 | 15949 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2020/08/30 | 17626 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2020/08/30 | 27803 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2020/08/30 | 29638 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2020/08/30 | 623931 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2020/08/30 | 677581 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2020/08/30 | 500569 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2020/08/30 | 561892 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2020/08/30 | 544358 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2020/08/30 | 583966 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2020/08/30 | 93620 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2020/08/30 | 102588 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2020/08/30 | 1746185 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2020/08/30 | 2031794 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2020/08/30 | 67277 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2020/08/30 | 73691 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2020/08/30 | 26998 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2020/08/30 | 31253 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2020/08/30 | 7550 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2020/08/30 | 8567 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2020/08/30 | 192836 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2020/08/30 | 211539 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2020/08/30 | 269406 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2020/08/30 | 305084 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2020/08/30 | 96480 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2020/08/30 | 101783 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2020/08/30 | 79692 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2020/08/30 | 88873 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2020/08/30 | 170421 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2020/08/30 | 189153 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2020/08/30 | 159880 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2020/08/30 | 180902 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2020/08/30 | 196319 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2020/08/30 | 177375 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2020/08/30 | 85160 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2020/08/30 | 96846 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2020/08/30 | 31223 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2020/08/30 | 35033 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2020/08/30 | 57313 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2020/08/30 | 64237 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2020/08/30 | 63360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2020/08/30 | 69913 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2020/08/30 | 45776 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2020/08/30 | 52202 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2020/08/30 | 192589 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2020/08/30 | 210277 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2020/08/30 | 35215 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2020/08/30 | 39331 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2020/08/30 | 327552 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2020/08/30 | 360764 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2020/08/30 | 187720 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2020/08/30 | 193833 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2020/08/30 | 207673 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2020/08/30 | 243053 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2020/08/30 | 78102 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2020/08/30 | 87299 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2020/08/30 | 922273 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2020/08/30 | 1021969 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2020/08/30 | 20006 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2020/08/30 | 23600 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2020/08/30 | 31208 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2020/08/30 | 36866 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2020/08/30 | 63554 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2020/08/30 | 71552 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2020/08/30 | 42623 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2020/08/30 | 50914 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2020/08/30 | 1192975 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2020/08/30 | 1325259 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2020/08/30 | 42062 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2020/08/30 | 51420 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2020/08/30 | 76796 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2020/08/30 | 82787 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2020/08/30 | 26853 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2020/08/30 | 29028 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2020/08/30 | 16024 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2020/08/30 | 17728 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2020/08/30 | 63429 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2020/08/30 | 69184 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2020/08/30 | 151838 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2020/08/30 | 165592 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2020/08/30 | 77487 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2020/08/30 | 87981 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2020/08/30 | 97375 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2020/08/30 | 104548 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2020/08/30 | 2534480 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2020/08/30 | 2657477 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2020/08/30 | 55563 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2020/08/30 | 62026 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2020/08/30 | 33091 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2020/08/30 | 36922 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2020/08/30 | 26613 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2020/08/30 | 32393 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2020/08/30 | 66015 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2020/08/30 | 70141 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2020/08/30 | 250291 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2020/08/30 | 279882 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2020/08/30 | 597779 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2020/08/30 | 638666 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2020/08/30 | 39269 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2020/08/30 | 43075 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/08/30 | 202901 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2020/08/30 | 1217180 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2020/08/30 | 1135583 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2020/08/30 | 13128 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2020/08/30 | 14131 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2020/08/31 | 545814 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/08/31 | 59343 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/08/31 | 67258 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/08/31 | 956336 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/08/31 | 1061415 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/08/31 | 28605 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/08/31 | 30909 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/08/31 | 29400 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/08/31 | 34775 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/08/31 | 49592 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/08/31 | 57160 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/08/31 | 84662 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/08/31 | 93640 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/08/31 | 65820 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/08/31 | 73450 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/08/31 | 27008 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/08/31 | 30891 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/08/31 | 329617 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/08/31 | 392369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/08/31 | 32352 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/08/31 | 36361 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/08/31 | 72256 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/08/31 | 79420 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/08/31 | 203966 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/08/31 | 224087 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/08/31 | 169658 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/08/31 | 184490 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/08/31 | 51938 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/08/31 | 58662 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/08/31 | 20818 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/08/31 | 22982 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/08/31 | 460430 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2020/08/31 | 45320 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/08/31 | 51136 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/08/31 | 273698 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/08/31 | 310934 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/08/31 | 40823 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/08/31 | 45032 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/08/31 | 115882 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/08/31 | 130358 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/08/31 | 1265434 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/08/31 | 1404302 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/08/31 | 95402 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/08/31 | 109731 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/08/31 | 43315 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/08/31 | 48087 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/08/31 | 46357 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/08/31 | 51236 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/08/31 | 57148 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/08/31 | 62977 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/08/31 | 133657 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/08/31 | 151865 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/08/31 | 72863 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/08/31 | 77367 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/08/31 | 68968 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/08/31 | 77316 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/08/31 | 246825 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/08/31 | 281781 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/08/31 | 25504 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/08/31 | 29059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/08/31 | 100921 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2020/08/31 | 116788 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/08/31 | 63515 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/08/31 | 72611 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/08/31 | 94382 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/08/31 | 113582 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/08/31 | 59040 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/08/31 | 65546 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/08/31 | 462711 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/08/31 | 549965 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/08/31 | 141854 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/08/31 | 154419 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/08/31 | 94514 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/08/31 | 108990 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/08/31 | 15949 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/08/31 | 17626 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/08/31 | 27802 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/08/31 | 29638 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/08/31 | 623928 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2020/08/31 | 677578 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2020/08/31 | 500570 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/08/31 | 561891 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/08/31 | 544358 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/08/31 | 583965 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/08/31 | 93624 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/08/31 | 102588 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/08/31 | 1746182 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/08/31 | 2031795 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/08/31 | 67277 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/08/31 | 73691 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/08/31 | 26997 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/08/31 | 31254 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/08/31 | 7548 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/08/31 | 8567 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/08/31 | 192837 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/08/31 | 211538 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/08/31 | 269405 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/08/31 | 305083 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/08/31 | 96480 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/08/31 | 101784 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/08/31 | 79691 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/08/31 | 88874 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/08/31 | 170419 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/08/31 | 189151 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/08/31 | 159879 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/08/31 | 180902 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/08/31 | 196319 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/08/31 | 177375 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/08/31 | 85160 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/08/31 | 96846 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/08/31 | 31224 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/08/31 | 35035 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/08/31 | 57314 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/08/31 | 64237 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/08/31 | 63360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/08/31 | 69913 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/08/31 | 45775 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/08/31 | 52202 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/08/31 | 192588 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2020/08/31 | 210278 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2020/08/31 | 35216 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2020/08/31 | 39333 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2020/08/31 | 327553 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/08/31 | 360764 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/08/31 | 187722 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/08/31 | 193835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/08/31 | 207673 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/08/31 | 243054 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/08/31 | 78102 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/08/31 | 87297 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/08/31 | 922276 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/08/31 | 1021969 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/08/31 | 20007 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/08/31 | 23601 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/08/31 | 31210 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/08/31 | 36865 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/08/31 | 63554 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/08/31 | 71553 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/08/31 | 42623 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/08/31 | 50914 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/08/31 | 1192976 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/08/31 | 1325257 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/08/31 | 42063 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/08/31 | 51421 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/08/31 | 76796 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2020/08/31 | 82788 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2020/08/31 | 26853 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/08/31 | 29028 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/08/31 | 16023 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/08/31 | 17728 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/08/31 | 63429 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/08/31 | 69182 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/08/31 | 151837 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/08/31 | 165592 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/08/31 | 77487 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/08/31 | 87981 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/08/31 | 97374 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/08/31 | 104549 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/08/31 | 2534481 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/08/31 | 2657479 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/08/31 | 55560 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/08/31 | 62028 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/08/31 | 33090 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2020/08/31 | 36922 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2020/08/31 | 26613 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/08/31 | 32393 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/08/31 | 66014 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/08/31 | 70141 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/08/31 | 250290 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/08/31 | 279882 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/08/31 | 597781 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/08/31 | 638664 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/08/31 | 39269 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/08/31 | 43077 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/08/31 | 202892 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/08/31 | 1217398 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/08/31 | 1135411 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/08/31 | 13127 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/08/31 | 14132 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2020/08/30 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/08/31 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -275998,7 +276004,7 @@
2008/11/07 | 35981 | systems/win32/miktex/tm/packages/prettyref.tar.lzma
2017/07/26 | 201385 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
-2020/08/30 | 919 | systems/win32/miktex/tm/packages/pr.ini
+2020/08/31 | 919 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -277150,9 +277156,9 @@
2019/08/12 | 14654 | systems/win32/w32tex/00FILES.euc
2019/08/12 | 14654 | systems/win32/w32tex/00FILES.sjis
2020/08/08 | 4912168 | systems/win32/w32tex/aleph-w32.tar.xz
-2020/08/24 | 66088620 | systems/win32/w32tex/biblatex-biber.tar.xz
+2020/08/29 | 66088456 | systems/win32/w32tex/biblatex-biber.tar.xz
2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz
-2020/08/29 | 702522 | systems/win32/w32tex/ChangeLog
+2020/08/29 | 702852 | systems/win32/w32tex/ChangeLog
2009/08/03 | 141221 | systems/win32/w32tex/ChangeLog.0
2009/08/03 | 221890 | systems/win32/w32tex/ChangeLog.1
2009/08/03 | 116462 | systems/win32/w32tex/ChangeLog.2
@@ -277176,7 +277182,7 @@
2020/05/30 | 29268960 | systems/win32/w32tex/latex.tar.xz
2020/06/13 | 996116 | systems/win32/w32tex/lcdf-typetools-w32.tar.xz
2020/08/11 | 398710232 | systems/win32/w32tex/ltxpkgdocs.tar.xz
-2020/08/27 | 33843432 | systems/win32/w32tex/ltxpkgs.tar.xz
+2020/08/29 | 33847028 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/08/29 | 3835788 | systems/win32/w32tex/luajittex-dev-w32.tar.xz
2020/08/29 | 3817884 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
2020/08/29 | 3840916 | systems/win32/w32tex/luajittex-w32.tar.xz
@@ -277203,7 +277209,7 @@
2020/08/25 | 273895004 | systems/win32/w32tex/pstricks.tar.xz
2020/06/13 | 517656 | systems/win32/w32tex/psutils-w32.tar.xz
2020/08/26 | 6478384 | systems/win32/w32tex/ptex-ng-w32.tar.xz
-2020/08/21 | 10488224 | systems/win32/w32tex/ptex-w32.tar.xz
+2020/08/29 | 10509068 | systems/win32/w32tex/ptex-w32.tar.xz
2020/04/10 | 1784316 | systems/win32/w32tex/qpdf-w32.tar.xz
2019/04/15 | 499188 | systems/win32/w32tex/sam2p-w32.tar.xz
2020/01/24 | 24929772 | systems/win32/w32tex/t1fonts.tar.xz
@@ -277225,7 +277231,7 @@
2020/01/19 | 5856 | systems/win32/w32tex/txtutil.tar.xz
2013/04/08 | 71588 | systems/win32/w32tex/ums.tar.xz
2012/05/28 | 233472 | systems/win32/w32tex/unzip.exe
-2020/08/21 | 8488384 | systems/win32/w32tex/uptex-w32.tar.xz
+2020/08/29 | 8493856 | systems/win32/w32tex/uptex-w32.tar.xz
2013/04/08 | 722652 | systems/win32/w32tex/utf.tar.xz
2013/04/08 | 13748 | systems/win32/w32tex/vf-n2bk.tar.xz
2020/03/27 | 38319492 | systems/win32/w32tex/w32tex-src.tar.xz
@@ -277263,14 +277269,14 @@
2020/06/13 | 789904 | systems/win32/w32tex/win64/pstoedit-w64.tar.xz
2020/06/13 | 385996 | systems/win32/w32tex/win64/psutils-w64.tar.xz
2020/08/26 | 1708236 | systems/win32/w32tex/win64/ptex-ng-w64.tar.xz
-2020/08/21 | 1880592 | systems/win32/w32tex/win64/ptex-w64.tar.xz
+2020/08/29 | 1881788 | systems/win32/w32tex/win64/ptex-w64.tar.xz
2020/01/18 | 40736 | systems/win32/w32tex/win64/t1utils-w64.tar.xz
2020/06/13 | 419688 | systems/win32/w32tex/win64/tex4htk-w64.tar.xz
2020/01/18 | 96788 | systems/win32/w32tex/win64/tiff2png-w64.tar.xz
2020/06/13 | 734084 | systems/win32/w32tex/win64/ttf2pk-w64.tar.xz
2020/06/13 | 695476 | systems/win32/w32tex/win64/ttf2pt1-w64.tar.xz
2020/01/18 | 42768 | systems/win32/w32tex/win64/txtutil-w64.tar.xz
-2020/08/21 | 1809216 | systems/win32/w32tex/win64/uptex-w64.tar.xz
+2020/08/29 | 1810136 | systems/win32/w32tex/win64/uptex-w64.tar.xz
2020/08/21 | 3391912 | systems/win32/w32tex/win64/web2c-w64.tar.xz
2020/08/29 | 10982476 | systems/win32/w32tex/win64/xetex-w64.tar.xz
2020/08/29 | 48808096 | systems/win32/w32tex/xetex-w32.tar.xz
@@ -277370,7 +277376,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2020/08/31 | 186 | timestamp
+2020/09/01 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index bd49e143a3..b9890b2ed5 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 63e87e7343..1c8986ebc7 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,25 +1,613 @@
+2020/08/31 | 988811 | macros/latex-dev/base/ltnews.pdf
+2020/08/31 | 9810 | macros/latex-dev/base/ltnews21.tex
+2020/08/31 | 97374 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/08/31 | 96846 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/08/31 | 9651 | macros/latex-dev/base/ltexpl.dtx
+2020/08/31 | 96480 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/08/31 | 9631 | macros/latex-dev/base/format.ins
+2020/08/31 | 956336 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/08/31 | 9562 | macros/latex-dev/base/ltcntrl.dtx
+2020/08/31 | 95402 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/08/31 | 9494 | macros/latex-dev/required/tools/shellesc.dtx
+2020/08/31 | 94514 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/08/31 | 94382 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/08/31 | 9401 | macros/latex-dev/base/syntonly.dtx
+2020/08/31 | 9374 | macros/latex-dev/base/preload.dtx
+2020/08/31 | 93640 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/08/31 | 93624 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/08/31 | 922276 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/08/31 | 9202 | macros/latex-dev/required/amsmath/amsopn.dtx
+2020/08/31 | 919 | systems/win32/miktex/tm/packages/pr.ini
+2020/08/31 | 9068 | macros/latex-dev/base/lppl-1-0.txt
+2020/08/31 | 90413 | macros/latex-dev/base/fntguide.tex
+2020/08/31 | 8982 | macros/latex-dev/required/tools/rawfonts.dtx
+2020/08/31 | 89720 | macros/latex-dev/base/slides.dtx
+2020/08/31 | 89386 | macros/latex-dev/base/utf8ienc.dtx
+2020/08/31 | 88874 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/08/31 | 8864 | macros/latex-dev/base/ltnews17.tex
+2020/08/31 | 88411 | macros/latex-dev/base/lttextcomp.dtx
+2020/08/31 | 87981 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/08/31 | 8753 | macros/latex/contrib/edichokey/edichokey-doc-en.tex
+2020/08/31 | 8737 | macros/latex-dev/base/ltthm.dtx
+2020/08/31 | 87297 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/08/31 | 871310 | macros/latex-dev/base/lthooks-code.pdf
+2020/08/31 | 8654 | macros/latex-dev/required/amsmath/amsbsy.dtx
+2020/08/31 | 8632 | macros/latex-dev/base/oldlfont.dtx
+2020/08/31 | 8567 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/08/31 | 85160 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/08/31 | 85087 | macros/latex-dev/required/amsmath/amsmath-2018-12-01.sty
+2020/08/31 | 8493 | macros/latex-dev/base/texpert.txt
+2020/08/31 | 84662 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/08/31 | 83557 | macros/latex-dev/base/ltdefns.dtx
+2020/08/31 | 82788 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2020/08/31 | 82371 | macros/latex-dev/required/amsmath/testmath.tex
+2020/08/31 | 8100 | macros/latex-dev/base/ltnews.tex
+2020/08/31 | 79691 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/08/31 | 79420 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/08/31 | 79110 | macros/latex-dev/base/ltfssbas.dtx
+2020/08/31 | 78102 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/08/31 | 77487 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/08/31 | 77367 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/08/31 | 77316 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/08/31 | 76796 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2020/08/31 | 7548 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/08/31 | 7526 | macros/latex-dev/base/ltxguide.cls
+2020/08/31 | 749702 | macros/latex-dev/base/ltshipout-code.pdf
+2020/08/31 | 747549 | macros/latex-dev/base/ltfilehook-code.pdf
+2020/08/31 | 74156 | systems/texlive/tlnet/archive/totalcount.doc.r56214.tar.xz
+2020/08/31 | 73960 | macros/latex-dev/base/ltfssini.dtx
+2020/08/31 | 73691 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/08/31 | 73450 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/08/31 | 7326 | macros/latex-dev/base/ltnews20.tex
+2020/08/31 | 72863 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/08/31 | 72611 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/08/31 | 7242 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
+2020/08/31 | 72256 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/08/31 | 7222 | macros/latex-dev/base/exscale.dtx
+2020/08/31 | 72225 | macros/latex-dev/required/tools/longtable.dtx
+2020/08/31 | 72142 | macros/latex-dev/required/tools/verbatim.dtx
+2020/08/31 | 7200 | macros/latex-dev/base/sample2e.tex
+2020/08/31 | 71553 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/08/31 | 70141 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/08/31 | 69913 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/08/31 | 69720 | macros/latex-dev/required/amsmath/amstex.sty
+2020/08/31 | 6968251 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
+2020/08/31 | 693130 | install/macros/latex/contrib/biblatex-contrib/biblatex-ieee.tds.zip
+2020/08/31 | 691839 | macros/latex/contrib/biblatex-contrib/biblatex-ieee.zip
+2020/08/31 | 69182 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/08/31 | 69051 | macros/latex-dev/base/clsguide.tex
+2020/08/31 | 68968 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/08/31 | 68914 | macros/latex-dev/base/ltpictur.dtx
+2020/08/31 | 6886532 | macros/latex-dev/required/tools.zip
+2020/08/31 | 6872 | macros/latex-dev/base/ltnews13.tex
+2020/08/31 | 68428 | macros/latex-dev/base/usrguide.tex
+2020/08/31 | 68285 | macros/latex-dev/required/tools/tools-overview.pdf
+2020/08/31 | 6795 | macros/latex-dev/required/tools/delarray.dtx
+2020/08/31 | 677578 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2020/08/31 | 6764 | macros/latex-dev/base/slides.ins
+2020/08/31 | 67333 | macros/latex-dev/base/ltfsstrc.dtx
+2020/08/31 | 67277 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/08/31 | 67258 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/08/31 | 6715 | macros/latex-dev/base/latexsym.dtx
+2020/08/31 | 6654 | macros/latex-dev/base/alltt.dtx
+2020/08/31 | 66014 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/08/31 | 65820 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/08/31 | 65546 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/08/31 | 65165 | macros/latex/contrib/edichokey/edichokey-doc-en.pdf
+2020/08/31 | 6440 | macros/latex-dev/required/amsmath/subeqn.tex
+2020/08/31 | 64404 | macros/latex-dev/base/ltluatex.dtx
+2020/08/31 | 64237 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/08/31 | 638664 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/08/31 | 6367 | macros/latex-dev/base/source2edoc.cls
+2020/08/31 | 6363 | macros/latex-dev/base/newlfont.dtx
+2020/08/31 | 63554 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/08/31 | 63515 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/08/31 | 63429 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/08/31 | 63360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/08/31 | 631616 | macros/latex-dev/base/doc.pdf
+2020/08/31 | 62977 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/08/31 | 6274 | macros/latex-dev/base/ltnews14.tex
+2020/08/31 | 62436 | macros/latex-dev/base/letter.dtx
+2020/08/31 | 623928 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2020/08/31 | 6224 | macros/latex-dev/required/tools/xr.dtx
+2020/08/31 | 62028 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/08/31 | 6156 | systems/texlive/tlnet/archive/collection-latexextra.r56214.tar.xz
+2020/08/31 | 61221 | macros/latex-dev/base/ltfssdcl.dtx
+2020/08/31 | 60475 | macros/latex-dev/base/ltshipout.dtx
+2020/08/31 | 60334 | macros/latex-dev/base/fontdef.dtx
+2020/08/31 | 602334 | macros/latex-dev/base/lthooks-doc.pdf
+2020/08/31 | 597781 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/08/31 | 59453 | macros/latex-dev/base/ltfilehook.dtx
+2020/08/31 | 59410 | macros/latex-dev/required/tools/bm.dtx
+2020/08/31 | 59343 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/08/31 | 59040 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/08/31 | 5883 | macros/latex-dev/required/amsmath/changes.txt
+2020/08/31 | 58662 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/08/31 | 5865 | macros/latex-dev/base/ltidxglo.dtx
+2020/08/31 | 5860 | macros/latex-dev/required/amsmath/ams-internal.txt
+2020/08/31 | 5854 | macros/latex-dev/base/ltpar.dtx
+2020/08/31 | 5840 | macros/latex-dev/base/ltnews15.tex
+2020/08/31 | 583965 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/08/31 | 5797 | macros/latex-dev/required/tools/somedefs.dtx
+2020/08/31 | 5777 | macros/latex-dev/base/ltnews16.tex
+2020/08/31 | 57583 | macros/latex-dev/base/ltmiscen.dtx
+2020/08/31 | 57417 | macros/latex-dev/required/tools/changes.txt
+2020/08/31 | 57314 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/08/31 | 5716 | macros/latex-dev/base/inputenc.ins
+2020/08/31 | 57160 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/08/31 | 57148 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/08/31 | 5696 | macros/latex-dev/base/ltnews08.tex
+2020/08/31 | 5682 | macros/latex-dev/required/tools/tools.ins
+2020/08/31 | 5660 | macros/latex-dev/base/ltnews10.tex
+2020/08/31 | 561891 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/08/31 | 5609 | macros/latex-dev/base/ltnews05.tex
+2020/08/31 | 5600 | macros/latex-dev/base/latexrelease.ins
+2020/08/31 | 55560 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/08/31 | 5530 | macros/latex-dev/base/ltnews11.tex
+2020/08/31 | 5515 | macros/latex-dev/base/graphpap.dtx
+2020/08/31 | 5507 | macros/latex-dev/base/ltnews27.tex
+2020/08/31 | 5507 | macros/latex-dev/base/ltnews04.tex
+2020/08/31 | 5500728 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2020/08/31 | 549965 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/08/31 | 5474 | macros/latex-dev/base/ltnews25.tex
+2020/08/31 | 545814 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/08/31 | 545297 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/08/31 | 544358 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/08/31 | 5426 | macros/latex-dev/base/ltnews07.tex
+2020/08/31 | 5418 | macros/latex-dev/base/ltnews12.tex
+2020/08/31 | 5391 | macros/latex-dev/base/ltnews06.tex
+2020/08/31 | 5323 | macros/latex-dev/required/amsmath/ams-external.txt
+2020/08/31 | 53174 | macros/latex-dev/required/tools/calc.dtx
+2020/08/31 | 5294 | macros/latex-dev/base/ltnews09.tex
+2020/08/31 | 529433 | macros/latex-dev/base/ltnews32.pdf
+2020/08/31 | 5284 | macros/latex-dev/base/ltnews02.tex
+2020/08/31 | 52814 | macros/latex-dev/base/encguide.tex
+2020/08/31 | 5275 | macros/latex-dev/base/cmextra.ins
+2020/08/31 | 52532 | macros/latex-dev/base/lb2.err
+2020/08/31 | 52517 | macros/latex-dev/base/ltfiles.dtx
+2020/08/31 | 5239 | macros/latex-dev/base/ltnews01.tex
+2020/08/31 | 52202 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/08/31 | 5213 | macros/latex-dev/required/tools/tools-overview.tex
+2020/08/31 | 520851 | macros/latex-dev/base/classes.pdf
+2020/08/31 | 5201 | macros/latex-dev/base/ltnews03.tex
+2020/08/31 | 51938 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/08/31 | 517421 | macros/latex-dev/base/ltfilehook-doc.pdf
+2020/08/31 | 51421 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/08/31 | 51314 | macros/latex-dev/base/ltfloat.dtx
+2020/08/31 | 51236 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/08/31 | 51136 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/08/31 | 50914 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/08/31 | 504786 | macros/latex-dev/base/ltshipout-doc.pdf
+2020/08/31 | 5044 | macros/latex-dev/base/latexsym.ins
+2020/08/31 | 500919 | macros/latex-dev/base/ltnews31.pdf
+2020/08/31 | 500570 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/08/31 | 49967 | macros/latex-dev/base/ltfssaxes.dtx
+2020/08/31 | 4965 | macros/latex-dev/required/tools/fileerr.dtx
+2020/08/31 | 49592 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/08/31 | 4952 | macros/latex-dev/base/lthyphen.dtx
+2020/08/31 | 491466 | macros/latex-dev/required/tools/multicol.pdf
+2020/08/31 | 491246 | macros/latex-dev/base/ltnews30.pdf
+2020/08/31 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2020/08/31 | 48645 | macros/latex-dev/base/ltplain.dtx
+2020/08/31 | 483280 | macros/latex-dev/required/tools/array.pdf
+2020/08/31 | 48087 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/08/31 | 479710 | macros/latex-dev/base/docstrip.pdf
+2020/08/31 | 47704 | macros/latex-dev/base/lttab.dtx
+2020/08/31 | 4762 | macros/latex-dev/base/ltlength.dtx
+2020/08/31 | 476032 | macros/latex-dev/required/amsmath/amsldoc.pdf
+2020/08/31 | 46357 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/08/31 | 462711 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/08/31 | 4616 | systems/texlive/tlnet/archive/totalcount.source.r56214.tar.xz
+2020/08/31 | 460430 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2020/08/31 | 45775 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/08/31 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2020/08/31 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2020/08/31 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2020/08/31 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2020/08/31 | 45320 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/08/31 | 45246 | macros/latex-dev/base/ltspace.dtx
+2020/08/31 | 45032 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/08/31 | 446 | info/tlmgrbasics/README
+2020/08/31 | 444 | systems/texlive/tlnet/archive/collection-langarabic.r56215.tar.xz
+2020/08/31 | 4392 | macros/latex-dev/base/ec.ins
+2020/08/31 | 43637 | macros/latex-dev/base/cmfonts.fdd
+2020/08/31 | 43454 | macros/latex-dev/required/tools/theorem.dtx
+2020/08/31 | 4343 | macros/latex-dev/required/amsmath/amsxtra.dtx
+2020/08/31 | 43315 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/08/31 | 433004 | macros/latex-dev/base/ltnews29.pdf
+2020/08/31 | 4326 | macros/latex-dev/base/cmfonts.ins
+2020/08/31 | 4320779 | macros/latex-dev/base/source2e.pdf
+2020/08/31 | 43077 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/08/31 | 4304 | macros/latex-dev/base/ltalloc.dtx
+2020/08/31 | 429026 | macros/latex-dev/required/amsmath/testmath.pdf
+2020/08/31 | 42708 | macros/latex-dev/base/changes.old.txt
+2020/08/31 | 42623 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/08/31 | 4256 | macros/latex-dev/base/newdc.ins
+2020/08/31 | 4223 | macros/latex-dev/base/docstrip.ins
+2020/08/31 | 4221 | macros/latex-dev/base/latex209.ins
+2020/08/31 | 42063 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/08/31 | 417861 | macros/latex-dev/base/fntguide.pdf
+2020/08/31 | 4171 | macros/latex-dev/base/ltnews19.tex
+2020/08/31 | 41570 | macros/latex-dev/base/ltboxes.dtx
+2020/08/31 | 4089 | macros/latex-dev/base/classes.ins
+2020/08/31 | 4084 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
+2020/08/31 | 40823 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/08/31 | 4080 | macros/latex-dev/base/lablst.tex
+2020/08/31 | 40668 | macros/latex-dev/base/ltfinal.dtx
+2020/08/31 | 399035 | macros/latex-dev/base/usrguide.pdf
+2020/08/31 | 39702 | macros/latex-dev/required/tools/ftnright.dtx
+2020/08/31 | 3962 | macros/latex-dev/base/olddc.ins
+2020/08/31 | 39333 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2020/08/31 | 39269 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/08/31 | 392369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/08/31 | 38948 | macros/latex-dev/base/ltmath.dtx
+2020/08/31 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r56212.tar.xz
+2020/08/31 | 38735 | macros/latex-dev/base/latex209.dtx
+2020/08/31 | 384117 | macros/latex-dev/required/amsmath/amsmath.pdf
+2020/08/31 | 383838 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
+2020/08/31 | 37980 | macros/latex-dev/base/latexchanges.tex
+2020/08/31 | 3783 | macros/latex-dev/base/tulm.ins
+2020/08/31 | 3731 | macros/latex-dev/base/ltlogos.dtx
+2020/08/31 | 372555 | macros/latex-dev/base/clsguide.pdf
+2020/08/31 | 369 | macros/latex-dev/required/amsmath/manifest.txt
+2020/08/31 | 36922 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2020/08/31 | 36865 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/08/31 | 368226 | macros/latex-dev/base/ltnews28.pdf
+2020/08/31 | 36361 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/08/31 | 363007 | macros/latex-dev/required/tools/varioref.pdf
+2020/08/31 | 362839 | macros/latex-dev/base/ltnews26.pdf
+2020/08/31 | 36154 | macros/latex-dev/base/ltlists.dtx
+2020/08/31 | 360764 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/08/31 | 36005 | macros/latex-dev/base/ltnews18.pdf
+2020/08/31 | 35881 | macros/latex-dev/required/tools/tabularx.dtx
+2020/08/31 | 356851 | macros/latex-dev/base/changes.txt
+2020/08/31 | 35221 | macros/latex-dev/base/ltdirchk.dtx
+2020/08/31 | 35216 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2020/08/31 | 351586 | macros/latex-dev/base/slides.pdf
+2020/08/31 | 3514 | macros/latex-dev/base/README.md
+2020/08/31 | 35035 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/08/31 | 349888 | macros/latex-dev/required/tools/longtable.pdf
+2020/08/31 | 34775 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/08/31 | 347182 | macros/latex-dev/required/tools/ftnright.pdf
+2020/08/31 | 3436 | macros/latex-dev/base/makeindx.ins
+2020/08/31 | 340889 | macros/latex-dev/required/tools/calc.pdf
+2020/08/31 | 3403 | macros/latex-dev/base/proc.ins
+2020/08/31 | 33976 | macros/latex-dev/base/ltnews32.tex
+2020/08/31 | 33864 | macros/latex-dev/required/tools/varioref-2016-02-16.sty
+2020/08/31 | 3374 | macros/latex-dev/base/letter.ins
+2020/08/31 | 3369 | macros/latex-dev/base/ltoutenc.ins
+2020/08/31 | 3340 | macros/latex-dev/base/exscale.ins
+2020/08/31 | 331397 | macros/latex-dev/base/utf8ienc.pdf
+2020/08/31 | 33090 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2020/08/31 | 329617 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/08/31 | 3294 | macros/latex-dev/base/bugs.txt
+2020/08/31 | 3281 | macros/latex-dev/required/tools/manifest.txt
+2020/08/31 | 327553 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/08/31 | 32647 | macros/latex-dev/base/ltsect.dtx
+2020/08/31 | 32393 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/08/31 | 32352 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/08/31 | 323500 | macros/latex-dev/required/tools/theorem.pdf
+2020/08/31 | 32164 | macros/latex-dev/base/latexrelease.dtx
+2020/08/31 | 3182 | macros/latex-dev/base/unpack.ins
+2020/08/31 | 31254 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/08/31 | 31224 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/08/31 | 31210 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/08/31 | 310934 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/08/31 | 30962 | macros/latex-dev/required/tools/layout.dtx
+2020/08/31 | 30909 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/08/31 | 30891 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/08/31 | 306728 | macros/latex-dev/required/tools/bm.pdf
+2020/08/31 | 306068 | macros/latex-dev/base/letter.pdf
+2020/08/31 | 305256 | macros/latex-dev/base/ltluatex.pdf
+2020/08/31 | 305083 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/08/31 | 30457 | macros/latex-dev/base/ltnews31.tex
+2020/08/31 | 30364 | systems/texlive/tlnet/archive/caption.r56213.tar.xz
+2020/08/31 | 302925 | macros/latex-dev/required/tools/verbatim.pdf
+2020/08/31 | 302836 | macros/latex-dev/base/ltnews22.pdf
+2020/08/31 | 29714 | macros/latex-dev/required/tools/multicol-2017-04-11.sty
+2020/08/31 | 29638 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/08/31 | 29571 | macros/latex-dev/required/tools/showkeys.dtx
+2020/08/31 | 294900 | macros/latex-dev/base/inputenc.pdf
+2020/08/31 | 29400 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/08/31 | 293433 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
+2020/08/31 | 29194 | macros/latex-dev/base/ltfntcmd.dtx
+2020/08/31 | 29059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/08/31 | 29028 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/08/31 | 2898 | macros/latex-dev/base/syntonly.ins
+2020/08/31 | 2895 | macros/latex-dev/base/nfssfont.ins
+2020/08/31 | 2894 | macros/latex-dev/base/graphpap.ins
+2020/08/31 | 2894 | macros/latex-dev/base/fix-cm.ins
+2020/08/31 | 2892 | macros/latex-dev/base/alltt.ins
+2020/08/31 | 2890 | macros/latex-dev/base/ifthen.ins
+2020/08/31 | 28605 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/08/31 | 283318 | macros/latex-dev/base/ltnews20.pdf
+2020/08/31 | 28282841 | install/macros/latex-dev/latex-base-dev.tds.zip
+2020/08/31 | 281781 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/08/31 | 279882 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/08/31 | 27830697 | macros/latex-dev/base.zip
+2020/08/31 | 27802 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/08/31 | 2759 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
+2020/08/31 | 2750 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
+2020/08/31 | 274459 | macros/latex-dev/base/ltnews23.pdf
+2020/08/31 | 2738 | macros/latex-dev/base/tex2.txt
+2020/08/31 | 273698 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/08/31 | 2733 | macros/latex-dev/base/ltpageno.dtx
+2020/08/31 | 2726 | macros/latex-dev/required/amsmath/README.md
+2020/08/31 | 27124 | macros/latex-dev/base/ltxcheck.tex
+2020/08/31 | 2706 | macros/latex-dev/base/idx.tex
+2020/08/31 | 27008 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/08/31 | 26997 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/08/31 | 269405 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/08/31 | 26853 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/08/31 | 26613 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/08/31 | 2657479 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/08/31 | 264505 | macros/latex-dev/base/cmfonts.pdf
+2020/08/31 | 2643039 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
+2020/08/31 | 262059 | macros/latex-dev/base/fix-cm.pdf
+2020/08/31 | 2612965 | macros/latex-dev/required/amsmath.zip
+2020/08/31 | 2578 | macros/latex-dev/required/tools/multicol.ins
+2020/08/31 | 25504 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/08/31 | 254169 | macros/latex-dev/required/tools/tabularx.pdf
+2020/08/31 | 2540 | macros/latex-dev/required/tools/longtable.ins
+2020/08/31 | 2540 | macros/latex-dev/required/tools/afterpage.ins
+2020/08/31 | 2537 | macros/latex-dev/required/tools/tabularx.ins
+2020/08/31 | 2534481 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/08/31 | 2533 | macros/latex-dev/required/tools/varioref.ins
+2020/08/31 | 2526 | macros/latex-dev/required/tools/bm.ins
+2020/08/31 | 252645 | macros/latex-dev/base/ltnews24.pdf
+2020/08/31 | 250290 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/08/31 | 246917 | macros/latex-dev/required/tools/layout.pdf
+2020/08/31 | 246825 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/08/31 | 24649 | macros/latex-dev/required/tools/trace.dtx
+2020/08/31 | 246195 | macros/latex-dev/base/latexrelease.pdf
+2020/08/31 | 243054 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/08/31 | 242771 | macros/latex-dev/required/tools/showkeys.pdf
+2020/08/31 | 24269318 | systems/texlive/tlnet/install-tl.zip
+2020/08/31 | 24016 | macros/latex-dev/base/lterror.dtx
+2020/08/31 | 239758 | macros/latex-dev/base/ltnews27.pdf
+2020/08/31 | 237978 | macros/latex-dev/required/tools/xspace.pdf
+2020/08/31 | 23652 | macros/latex-dev/base/ltnews30.tex
+2020/08/31 | 23601 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/08/31 | 23521 | macros/latex-dev/base/fix-cm.dtx
+2020/08/31 | 235073 | macros/latex-dev/base/ltnews19.pdf
+2020/08/31 | 23386 | macros/latex-dev/base/lppl.tex
+2020/08/31 | 233492 | macros/latex-dev/base/ltnews21.pdf
+2020/08/31 | 232390 | macros/latex-dev/base/latexchanges.pdf
+2020/08/31 | 22982 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/08/31 | 22676 | macros/latex-dev/base/ltcounts.dtx
+2020/08/31 | 22605 | macros/latex-dev/required/amsmath/diffs-m.txt
+2020/08/31 | 2252 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
+2020/08/31 | 225083 | macros/latex-dev/required/amsmath/amsmath.dtx
+2020/08/31 | 22457 | macros/latex-dev/base/cfgguide.tex
+2020/08/31 | 224087 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/08/31 | 2226 | macros/latex-dev/required/tools/indentfirst.dtx
+2020/08/31 | 2222596 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2020/08/31 | 22083 | info/tlmgrbasics/doc/tlmgr.tex
+2020/08/31 | 220388 | macros/latex-dev/base/modguide.pdf
+2020/08/31 | 220217 | macros/latex-dev/base/cfgguide.pdf
+2020/08/31 | 216997 | macros/latex-dev/base/cyrguide.pdf
+2020/08/31 | 216877 | macros/latex-dev/base/proc.pdf
+2020/08/31 | 215134 | macros/latex-dev/base/ltxdoc.pdf
+2020/08/31 | 214710 | macros/latex-dev/base/slifonts.pdf
+2020/08/31 | 212721 | macros/latex-dev/required/tools/trace.pdf
+2020/08/31 | 211538 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/08/31 | 21040 | systems/texlive/tlnet/archive/mcf2graph.r56217.tar.xz
+2020/08/31 | 210278 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2020/08/31 | 2095644 | systems/texlive/tlnet/archive/texnegar.doc.r56215.tar.xz
+2020/08/31 | 20818 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/08/31 | 207673 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/08/31 | 205213 | macros/latex-dev/base/ifthen.pdf
+2020/08/31 | 20471 | macros/latex-dev/base/ltnews.cls
+2020/08/31 | 20434 | macros/latex-dev/base/lgc2.err
+2020/08/31 | 204016 | macros/latex-dev/base/doc.dtx
+2020/08/31 | 203966 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/08/31 | 2031795 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/08/31 | 202892 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/08/31 | 202877 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/08/31 | 202451 | macros/latex-dev/base/nfssfont.pdf
+2020/08/31 | 201680 | systems/texlive/tlnet/archive/caption.source.r56213.tar.xz
+2020/08/31 | 20007 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/08/31 | 199218 | macros/latex-dev/required/tools/dcolumn.pdf
+2020/08/31 | 199047 | macros/latex-dev/required/tools/enumerate.pdf
+2020/08/31 | 19746 | macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
+2020/08/31 | 196326 | macros/latex-dev/base/ltnews25.pdf
+2020/08/31 | 196319 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/08/31 | 195877 | macros/latex-dev/base/exscale.pdf
+2020/08/31 | 194257 | macros/latex-dev/required/amsmath/amstext.pdf
+2020/08/31 | 1938 | macros/latex-dev/base/minimal.cls
+2020/08/31 | 193835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/08/31 | 19379896 | systems/texlive/tlnet/install-tl-windows.exe
+2020/08/31 | 192837 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/08/31 | 192588 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2020/08/31 | 192297 | macros/latex-dev/base/latexsym.pdf
+2020/08/31 | 191527 | macros/latex-dev/base/ltx3info.pdf
+2020/08/31 | 19040 | macros/latex-dev/base/lppl.txt
+2020/08/31 | 189846 | macros/latex-dev/required/tools/afterpage.pdf
+2020/08/31 | 18941 | macros/latex-dev/base/ltnews29.tex
+2020/08/31 | 189151 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/08/31 | 18867 | macros/latex-dev/base/ltxdoc.dtx
+2020/08/31 | 187722 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/08/31 | 184490 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/08/31 | 18407 | macros/latex-dev/base/nfssfont.dtx
+2020/08/31 | 183426 | macros/latex-dev/required/tools/delarray.pdf
+2020/08/31 | 18305 | macros/latex-dev/base/ifthen.dtx
+2020/08/31 | 18300 | macros/latex-dev/base/ltx3info.tex
+2020/08/31 | 182355 | macros/latex-dev/required/tools/multicol.dtx
+2020/08/31 | 181980 | macros/latex-dev/base/syntonly.pdf
+2020/08/31 | 180 | macros/latex-dev/base/ltfilehook-doc.tex
+2020/08/31 | 180902 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/08/31 | 180373 | macros/latex-dev/required/tools/fileerr.pdf
+2020/08/31 | 179 | macros/latex-dev/base/ltshipout-doc.tex
+2020/08/31 | 17862 | macros/latex-dev/required/tools/xspace.dtx
+2020/08/31 | 177 | macros/latex-dev/base/lthooks-doc.tex
+2020/08/31 | 177375 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/08/31 | 17728 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/08/31 | 17626 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/08/31 | 175673 | macros/latex-dev/required/tools/hhline.pdf
+2020/08/31 | 175629 | macros/latex-dev/base/ltoutput.dtx
+2020/08/31 | 17496 | macros/latex-dev/base/cyrguide.tex
+2020/08/31 | 1746182 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/08/31 | 173079 | macros/latex-dev/base/alltt.pdf
+2020/08/31 | 172216 | macros/latex-dev/base/tlc2.err
+2020/08/31 | 170419 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/08/31 | 170214 | macros/latex-dev/base/docstrip.dtx
+2020/08/31 | 169765 | macros/latex-dev/required/tools/shellesc.pdf
+2020/08/31 | 169658 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/08/31 | 1694 | macros/latex-dev/base/small2e.tex
+2020/08/31 | 168528 | systems/texlive/tlnet/archive/texlive-docindex.doc.r56212.tar.xz
+2020/08/31 | 1666 | macros/latex-dev/required/tools/README.md
+2020/08/31 | 165745 | macros/latex-dev/required/amsmath/amscd.pdf
+2020/08/31 | 165592 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/08/31 | 164947 | macros/latex-dev/base/tlc2.pdf
+2020/08/31 | 16485781 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2020/08/31 | 164345 | macros/latex-dev/required/amsmath/amsgen.pdf
+2020/08/31 | 1640 | systems/texlive/tlnet/archive/totalcount.r56214.tar.xz
+2020/08/31 | 163607 | macros/latex-dev/required/tools/xr.pdf
+2020/08/31 | 16234 | macros/latex-dev/base/modguide.tex
+2020/08/31 | 161324 | macros/latex-dev/required/amsmath/amsbsy.pdf
+2020/08/31 | 161065 | macros/latex-dev/base/ltnews13.pdf
+2020/08/31 | 160667 | macros/latex-dev/base/makeindx.pdf
+2020/08/31 | 16023 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/08/31 | 159879 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/08/31 | 15949 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/08/31 | 157181 | macros/latex-dev/base/ltnews05.pdf
+2020/08/31 | 15701 | macros/latex-dev/base/slifonts.fdd
+2020/08/31 | 156546 | macros/latex-dev/base/tulm.pdf
+2020/08/31 | 156506 | macros/latex-dev/required/tools/somedefs.pdf
+2020/08/31 | 1563004 | systems/texlive/tlnet/archive/caption.doc.r56213.tar.xz
+2020/08/31 | 156277 | macros/latex-dev/base/graphpap.pdf
+2020/08/31 | 15623 | macros/latex-dev/base/ltxref.dtx
+2020/08/31 | 155735 | macros/latex-dev/base/classes.dtx
+2020/08/31 | 154419 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/08/31 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2020/08/31 | 1532144 | macros/latex-dev/base/encguide.pdf
+2020/08/31 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2020/08/31 | 151865 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/08/31 | 151837 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/08/31 | 151347 | macros/latex-dev/base/manual.pdf
+2020/08/31 | 150907 | macros/latex-dev/base/ltnews14.pdf
+2020/08/31 | 150586 | info/tlmgrbasics.zip
+2020/08/31 | 150020 | macros/latex-dev/base/ltnews01.pdf
+2020/08/31 | 149838 | macros/latex-dev/base/ltnews17.pdf
+2020/08/31 | 14918 | macros/latex-dev/base/source2e.tex
+2020/08/31 | 14892 | macros/latex-dev/base/ltnews28.tex
+2020/08/31 | 1480 | macros/latex-dev/required/amsmath/amsmath.ins
+2020/08/31 | 147946 | macros/latex-dev/base/ltnews10.pdf
+2020/08/31 | 14784 | systems/texlive/tlnet/archive/texnegar.source.r56215.tar.xz
+2020/08/31 | 1468 | macros/latex-dev/required/amsmath/amsxtra.ins
+2020/08/31 | 1468 | macros/latex-dev/required/amsmath/amstext.ins
+2020/08/31 | 1466 | macros/latex-dev/required/amsmath/amsopn.ins
+2020/08/31 | 1466 | macros/latex-dev/required/amsmath/amsgen.ins
+2020/08/31 | 1466 | macros/latex-dev/required/amsmath/amsbsy.ins
+2020/08/31 | 1464 | macros/latex-dev/required/amsmath/amscd.ins
+2020/08/31 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2020/08/31 | 145163 | macros/latex-dev/base/ltoutenc.dtx
+2020/08/31 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2020/08/31 | 144779 | macros/latex-dev/required/tools/indentfirst.pdf
+2020/08/31 | 144482 | macros/latex-dev/base/ltnews08.pdf
+2020/08/31 | 144470 | info/tlmgrbasics/doc/tlmgr.pdf
+2020/08/31 | 14440 | macros/latex-dev/base/ltbibl.dtx
+2020/08/31 | 14421 | macros/latex-dev/base/lppl-1-2.txt
+2020/08/31 | 14341 | macros/latex-dev/base/lppl-1-1.txt
+2020/08/31 | 141854 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/08/31 | 14132 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2020/08/31 | 14078 | macros/latex-dev/required/tools/afterpage.dtx
+2020/08/31 | 140593 | macros/latex/contrib/edichokey.zip
+2020/08/31 | 1404302 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/08/31 | 140103 | macros/latex-dev/base/lthooks.dtx
+2020/08/31 | 138219 | macros/latex-dev/base/lb2.pdf
+2020/08/31 | 1381 | macros/latex-dev/base/legal.txt
+2020/08/31 | 138027 | macros/latex-dev/required/tools/fontsmpl.pdf
+2020/08/31 | 137919 | macros/latex-dev/base/ltnews12.pdf
+2020/08/31 | 136159 | macros/latex-dev/base/webcomp.pdf
+2020/08/31 | 1361508 | systems/texlive/tlnet/archive/fduthesis.doc.r56216.tar.xz
+2020/08/31 | 135688 | macros/latex-dev/required/tools/rawfonts.pdf
+2020/08/31 | 134751 | macros/latex-dev/base/ltnews02.pdf
+2020/08/31 | 134742 | macros/latex-dev/base/ltnews03.pdf
+2020/08/31 | 13449 | macros/latex-dev/required/amsmath/amsgen.dtx
+2020/08/31 | 1342 | macros/latex-dev/base/ltnews18.tex
+2020/08/31 | 133657 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/08/31 | 133138 | macros/latex-dev/base/ltnews06.pdf
+2020/08/31 | 13305 | macros/latex-dev/base/proc.dtx
+2020/08/31 | 1325257 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/08/31 | 13127 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/08/31 | 130687 | macros/latex-dev/base/ltnews16.pdf
+2020/08/31 | 130600 | macros/latex-dev/required/amsmath/technote.pdf
+2020/08/31 | 130358 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/08/31 | 12946 | macros/latex-dev/base/manual.err
+2020/08/31 | 129155 | macros/latex-dev/required/amsmath/amsopn.pdf
+2020/08/31 | 128772 | macros/latex-dev/base/ltnews04.pdf
+2020/08/31 | 12715 | macros/latex-dev/required/tools/dcolumn.dtx
+2020/08/31 | 1265434 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/08/31 | 125830 | macros/latex-dev/base/lppl.pdf
+2020/08/31 | 125675 | macros/latex-dev/required/tools/array.dtx
+2020/08/31 | 12560 | macros/latex-dev/required/tools/array-2020-02-10.sty
+2020/08/31 | 12521 | macros/latex-dev/base/testpage.tex
+2020/08/31 | 124029 | macros/latex-dev/base/ltnews07.pdf
+2020/08/31 | 12284 | systems/texlive/tlnet/archive/texnegar.r56215.tar.xz
+2020/08/31 | 12225 | macros/latex-dev/base/ltnews24.tex
+2020/08/31 | 122092 | macros/latex-dev/base/ltnews15.pdf
+2020/08/31 | 1217398 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/08/31 | 1217251 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/08/31 | 12120 | macros/latex-dev/base/tulm.fdd
+2020/08/31 | 120222 | macros/latex-dev/base/ltnews09.pdf
+2020/08/31 | 12005 | macros/latex-dev/required/amsmath/technote.tex
+2020/08/31 | 1192976 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/08/31 | 117899 | macros/latex-dev/base/ltclass.dtx
+2020/08/31 | 11750 | macros/latex-dev/required/tools/array-2016-10-06.sty
+2020/08/31 | 116788 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/08/31 | 116284 | systems/texlive/tlnet/archive/fduthesis.source.r56216.tar.xz
+2020/08/31 | 11591 | macros/latex-dev/base/ltpage.dtx
+2020/08/31 | 115882 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/08/31 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/08/31 | 1142224 | macros/xetex/latex/nanicolle.zip
+2020/08/31 | 114212 | macros/latex-dev/required/tools/varioref.dtx
+2020/08/31 | 11405 | macros/latex-dev/required/amsmath/amstext.dtx
+2020/08/31 | 113582 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/08/31 | 1135411 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/08/31 | 1135106 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/08/31 | 11291 | macros/latex-dev/required/amsmath/amscd.dtx
+2020/08/31 | 11154 | macros/latex-dev/required/tools/hhline.dtx
+2020/08/31 | 109731 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/08/31 | 108990 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/08/31 | 108324 | systems/texlive/tlnet/archive/fduthesis.r56216.tar.xz
+2020/08/31 | 10777 | macros/latex-dev/required/tools/fontsmpl.dtx
+2020/08/31 | 10698 | macros/latex-dev/base/ltnews26.tex
+2020/08/31 | 106914 | macros/latex-dev/base/inputenc.dtx
+2020/08/31 | 10688 | macros/latex-dev/base/ltnews23.tex
+2020/08/31 | 10669 | macros/latex-dev/base/ltnews22.tex
+2020/08/31 | 10650 | macros/latex-dev/required/tools/enumerate.dtx
+2020/08/31 | 10640 | macros/latex-dev/base/manifest.txt
+2020/08/31 | 1061415 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/08/31 | 10606 | macros/latex-dev/base/makeindx.dtx
+2020/08/31 | 105 | macros/latex-dev/base/ltfilehook-code.tex
+2020/08/31 | 1059444 | systems/texlive/tlnet/archive/mcf2graph.doc.r56217.tar.xz
+2020/08/31 | 104 | macros/latex-dev/base/ltshipout-code.tex
+2020/08/31 | 104936 | macros/latex-dev/base/ltnews11.pdf
+2020/08/31 | 104677 | macros/latex-dev/required/amsmath/amsldoc.tex
+2020/08/31 | 104549 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/08/31 | 104545 | macros/latex-dev/required/amsmath/amsxtra.pdf
+2020/08/31 | 10376 | macros/latex-dev/base/ltfsscmp.dtx
+2020/08/31 | 10365 | macros/latex-dev/base/ltvers.dtx
+2020/08/31 | 102 | macros/latex-dev/base/lthooks-code.tex
+2020/08/31 | 102588 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/08/31 | 1021969 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/08/31 | 101784 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/08/31 | 101343 | macros/latex-dev/base/lgc2.pdf
+2020/08/31 | 101293 | macros/latex-dev/required/amsmath/subeqn.pdf
+2020/08/31 | 100921 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2020/08/31 | 10053 | macros/latex-dev/base/webcomp.err
2020/08/30 | 9952 | macros/latex/contrib/fduthesis/fudan-name.pdf
2020/08/30 | 9868 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-lf-sc-ly1.tfm
-2020/08/30 | 97375 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2020/08/30 | 96846 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2020/08/30 | 96480 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
2020/08/30 | 9628 | fonts/merriweather/tfm/Merriwthr-LightItalic-lf-sc-ot1.tfm
2020/08/30 | 9624 | fonts/merriweather/tfm/Merriwthr-LightItalic-osf-sc-ot1.tfm
2020/08/30 | 9604 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tosf-sc-ly1.tfm
2020/08/30 | 9600 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tlf-sc-ly1.tfm
-2020/08/30 | 956334 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2020/08/30 | 95401 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2020/08/30 | 94514 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2020/08/30 | 94383 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
2020/08/30 | 9404 | fonts/merriweather/tfm/Merriwthr-Light-lf-sc-ot1.tfm
-2020/08/30 | 93643 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/08/30 | 93620 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
2020/08/30 | 9351 | macros/latex/contrib/caption/caption-ams-smf.dtx
2020/08/30 | 9324 | fonts/merriweather/tfm/Merriwthr-Light-osf-sc-ot1.tfm
2020/08/30 | 92452 | systems/win32/miktex/tm/packages/qrbill.tar.lzma
-2020/08/30 | 922273 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
2020/08/30 | 920850 | macros/latex/contrib/fduthesis/fduthesis-code.pdf
-2020/08/30 | 919 | systems/win32/miktex/tm/packages/pr.ini
2020/08/30 | 9124 | fonts/merriweather/tfm/Merriwthr-LightItalic-tlf-sc-ot1.tfm
2020/08/30 | 9120 | fonts/merriweather/tfm/Merriwthr-LightItalic-tosf-sc-ot1.tfm
2020/08/30 | 9108 | fonts/merriweather/tfm/Merriwthr-Black-lf-sc-ot1.tfm
@@ -31,17 +619,10 @@
2020/08/30 | 8949627 | fonts/merriweather.zip
2020/08/30 | 8896 | fonts/merriweather/tfm/Merriwthr-Light-tosf-sc-ot1.tfm
2020/08/30 | 8896 | fonts/merriweather/tfm/Merriwthr-Light-tlf-sc-ot1.tfm
-2020/08/30 | 88873 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
2020/08/30 | 88754 | graphics/mcf2graph/mcf2graph.mf
-2020/08/30 | 87981 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2020/08/30 | 87299 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
2020/08/30 | 8608 | fonts/merriweather/tfm/Merriwthr-Black-tlf-sc-ot1.tfm
2020/08/30 | 8604 | fonts/merriweather/tfm/Merriwthr-Black-tosf-sc-ot1.tfm
2020/08/30 | 8599 | macros/latex/contrib/caption/caption-memoir.dtx
-2020/08/30 | 8567 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2020/08/30 | 85160 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2020/08/30 | 84662 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2020/08/30 | 82787 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
2020/08/30 | 82731 | macros/latex/contrib/totalcount/totalcount.pdf
2020/08/30 | 81580 | fonts/merriweather/tfm/Merriwthr-BoldItalic-lf-t1.tfm
2020/08/30 | 81392 | fonts/merriweather/tfm/Merriwthr-Italic-lf-t1.tfm
@@ -53,8 +634,6 @@
2020/08/30 | 80248 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tlf-t1.tfm
2020/08/30 | 80072 | fonts/merriweather/tfm/Merriwthr-Italic-tlf-t1.tfm
2020/08/30 | 80068 | fonts/merriweather/tfm/Merriwthr-Italic-tosf-t1.tfm
-2020/08/30 | 79692 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2020/08/30 | 79418 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
2020/08/30 | 7939 | macros/latex/contrib/caption/caption-thesis.dtx
2020/08/30 | 788 | fonts/merriweather/vf/MerriwthrSans-ExtraBoldItalic-tosf-sc-ot1.vf
2020/08/30 | 788 | fonts/merriweather/vf/MerriwthrSans-ExtraBoldItalic-tlf-sc-ot1.vf
@@ -65,7 +644,6 @@
2020/08/30 | 784 | fonts/merriweather/vf/MerriwthrSans-ExtraBoldItalic-lf-sc-ot1.vf
2020/08/30 | 784 | fonts/merriweather/vf/MerriwthrSans-BoldItalic-tosf-sc-ot1.vf
2020/08/30 | 782441 | systems/win32/miktex/tm/packages/adjustbox.tar.lzma
-2020/08/30 | 78102 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
2020/08/30 | 780 | fonts/merriweather/vf/MerriwthrSans-Regular-tosf-sc-ot1.vf
2020/08/30 | 780 | fonts/merriweather/vf/MerriwthrSans-Regular-tlf-sc-ot1.vf
2020/08/30 | 780 | fonts/merriweather/vf/MerriwthrSans-Regular-osf-sc-ot1.vf
@@ -116,9 +694,6 @@
2020/08/30 | 776 | fonts/merriweather/vf/Merriwthr-BoldItalic-osf-sc-ot1.vf
2020/08/30 | 776 | fonts/merriweather/vf/Merriwthr-BoldItalic-lf-sc-ot1.vf
2020/08/30 | 776 | fonts/merriweather/vf/Merriwthr-BlackItalic-lf-sc-ot1.vf
-2020/08/30 | 77487 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2020/08/30 | 77367 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2020/08/30 | 77316 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2020/08/30 | 772 | fonts/merriweather/vf/Merriwthr-Italic-tlf-sc-ot1.vf
2020/08/30 | 772 | fonts/merriweather/vf/Merriwthr-Italic-osf-sc-ot1.vf
2020/08/30 | 772 | fonts/merriweather/vf/Merriwthr-Italic-lf-sc-ot1.vf
@@ -127,45 +702,27 @@
2020/08/30 | 772 | fonts/merriweather/vf/Merriwthr-Black-tlf-sc-ot1.vf
2020/08/30 | 772 | fonts/merriweather/vf/Merriwthr-Black-osf-sc-ot1.vf
2020/08/30 | 772 | fonts/merriweather/vf/Merriwthr-Black-lf-sc-ot1.vf
-2020/08/30 | 76796 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
2020/08/30 | 7663 | macros/latex/contrib/caption/caption-elsarticle.dtx
2020/08/30 | 76567 | systems/win32/miktex/tm/packages/leftindex.tar.lzma
2020/08/30 | 76310 | fonts/merriweather/map/merriweather.map
2020/08/30 | 759144 | systems/win32/miktex/tm/packages/beilstein.tar.lzma
2020/08/30 | 755180 | systems/win32/miktex/tm/packages/fontsetup.tar.lzma
-2020/08/30 | 7550 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
2020/08/30 | 7411271 | systems/win32/miktex/tm/packages/biblatex.tar.lzma
2020/08/30 | 7382 | macros/latex/contrib/caption/CHANGELOG
-2020/08/30 | 73691 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2020/08/30 | 73450 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2020/08/30 | 72864 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2020/08/30 | 72612 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2020/08/30 | 72257 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
2020/08/30 | 718117 | macros/latex/contrib/caption/caption-rus.pdf
-2020/08/30 | 71552 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2020/08/30 | 70141 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2020/08/30 | 69913 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2020/08/30 | 69184 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2020/08/30 | 68968 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
2020/08/30 | 684 | systems/texlive/tlnet/archive/collection-luatex.r56210.tar.xz
-2020/08/30 | 677581 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
2020/08/30 | 67305 | macros/latex/contrib/caption/caption-light.pdf
-2020/08/30 | 67277 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2020/08/30 | 67259 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
2020/08/30 | 6684 | fonts/merriweather/latex/OT1MerriwthrSans-TOsF.fd
2020/08/30 | 6684 | fonts/merriweather/latex/LY1MerriwthrSans-TOsF.fd
2020/08/30 | 66376 | fonts/merriweather/tfm/Merriwthr-Regular-lf-t1.tfm
2020/08/30 | 66208 | fonts/merriweather/tfm/Merriwthr-Regular-osf-t1.tfm
2020/08/30 | 6611 | fonts/merriweather/latex/T1MerriwthrSans-TOsF.fd
-2020/08/30 | 66015 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
2020/08/30 | 65892 | fonts/merriweather/tfm/Merriwthr-Bold-lf-t1.tfm
-2020/08/30 | 65819 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
2020/08/30 | 6573 | fonts/merriweather/latex/OT1MerriwthrSans-TLF.fd
2020/08/30 | 6573 | fonts/merriweather/latex/OT1MerriwthrSans-OsF.fd
2020/08/30 | 6573 | fonts/merriweather/latex/LY1MerriwthrSans-TLF.fd
2020/08/30 | 6573 | fonts/merriweather/latex/LY1MerriwthrSans-OsF.fd
2020/08/30 | 65708 | fonts/merriweather/tfm/Merriwthr-Bold-osf-t1.tfm
-2020/08/30 | 65546 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2020/08/30 | 65544 | macros/latex/contrib/texnegar/doc-samples-xep.pdf
2020/08/30 | 65444 | fonts/merriweather/tfm/Merriwthr-Regular-tosf-t1.tfm
2020/08/30 | 65444 | fonts/merriweather/tfm/Merriwthr-Regular-tlf-t1.tfm
@@ -175,23 +732,14 @@
2020/08/30 | 64956 | fonts/merriweather/tfm/Merriwthr-Bold-tosf-t1.tfm
2020/08/30 | 6462 | fonts/merriweather/latex/OT1MerriwthrSans-LF.fd
2020/08/30 | 6462 | fonts/merriweather/latex/LY1MerriwthrSans-LF.fd
-2020/08/30 | 64237 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
2020/08/30 | 6389 | fonts/merriweather/latex/T1MerriwthrSans-LF.fd
-2020/08/30 | 638666 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
2020/08/30 | 63790 | macros/latex/contrib/fduthesis/fduthesis-doc.dtx
-2020/08/30 | 63554 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2020/08/30 | 63516 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
2020/08/30 | 63437 | macros/latex/contrib/texnegar/doc-samples-glyph.pdf
-2020/08/30 | 63429 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
2020/08/30 | 634145 | systems/win32/miktex/tm/packages/biblatex-ext.tar.lzma
-2020/08/30 | 63360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2020/08/30 | 62979 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
2020/08/30 | 62967 | macros/latex/contrib/texnegar/doc-samples-hrule.pdf
2020/08/30 | 62572 | fonts/merriweather/tfm/Merriwthr-BoldItalic-lf-ly1.tfm
2020/08/30 | 62432 | fonts/merriweather/tfm/Merriwthr-Italic-lf-ly1.tfm
-2020/08/30 | 623931 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
2020/08/30 | 62112 | fonts/merriweather/tfm/Merriwthr-BoldItalic-lf-sc-t1.tfm
-2020/08/30 | 62026 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2020/08/30 | 62020 | fonts/merriweather/tfm/Merriwthr-Italic-lf-sc-t1.tfm
2020/08/30 | 6200 | fonts/merriweather/tfm/MerriwthrSans-Bold-lf-ot1.tfm
2020/08/30 | 61920 | fonts/merriweather/tfm/Merriwthr-BoldItalic-osf-sc-t1.tfm
@@ -218,13 +766,11 @@
2020/08/30 | 5997 | fonts/merriweather/latex/LY1Merriwthr-OsF.fd
2020/08/30 | 59872 | fonts/merriweather/tfm/Merriwthr-BlackItalic-osf-t1.tfm
2020/08/30 | 59839 | systems/win32/miktex/tm/packages/stricttex.tar.lzma
-2020/08/30 | 597779 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
2020/08/30 | 596 | fonts/merriweather/vf/MerriwthrSans-ExtraBoldItalic-tosf-ts1.vf
2020/08/30 | 596 | fonts/merriweather/vf/MerriwthrSans-ExtraBoldItalic-tlf-ts1.vf
2020/08/30 | 596 | fonts/merriweather/vf/MerriwthrSans-ExtraBoldItalic-osf-ts1.vf
2020/08/30 | 59504 | fonts/merriweather/tfm/Merriwthr-BlackItalic-tosf-t1.tfm
2020/08/30 | 59504 | fonts/merriweather/tfm/Merriwthr-BlackItalic-tlf-t1.tfm
-2020/08/30 | 59343 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
2020/08/30 | 592 | fonts/merriweather/vf/MerriwthrSans-LightItalic-tosf-ts1.vf
2020/08/30 | 592 | fonts/merriweather/vf/MerriwthrSans-LightItalic-tlf-ts1.vf
2020/08/30 | 592 | fonts/merriweather/vf/MerriwthrSans-LightItalic-osf-ts1.vf
@@ -233,7 +779,6 @@
2020/08/30 | 5924 | fonts/merriweather/latex/T1Merriwthr-TLF.fd
2020/08/30 | 5924 | fonts/merriweather/latex/T1Merriwthr-OsF.fd
2020/08/30 | 592215 | systems/win32/miktex/tm/packages/qyxf-book.tar.lzma
-2020/08/30 | 59042 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
2020/08/30 | 588 | fonts/merriweather/vf/MerriwthrSans-Regular-tosf-ts1.vf
2020/08/30 | 588 | fonts/merriweather/vf/MerriwthrSans-Regular-tlf-ts1.vf
2020/08/30 | 588 | fonts/merriweather/vf/MerriwthrSans-Regular-osf-ts1.vf
@@ -255,7 +800,6 @@
2020/08/30 | 588 | fonts/merriweather/vf/Merriwthr-BlackItalic-osf-ts1.vf
2020/08/30 | 5886 | fonts/merriweather/latex/OT1Merriwthr-LF.fd
2020/08/30 | 5886 | fonts/merriweather/latex/LY1Merriwthr-LF.fd
-2020/08/30 | 58661 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
2020/08/30 | 58612 | fonts/merriweather/tfm/Merriwthr-LightItalic-lf-t1.tfm
2020/08/30 | 584 | fonts/merriweather/vf/MerriwthrSans-Regular-lf-ts1.vf
2020/08/30 | 584 | fonts/merriweather/vf/MerriwthrSans-Light-tosf-ts1.vf
@@ -279,7 +823,6 @@
2020/08/30 | 584 | fonts/merriweather/vf/Merriwthr-BoldItalic-lf-ts1.vf
2020/08/30 | 584 | fonts/merriweather/vf/Merriwthr-BlackItalic-lf-ts1.vf
2020/08/30 | 58488 | fonts/merriweather/tfm/Merriwthr-LightItalic-osf-t1.tfm
-2020/08/30 | 583966 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
2020/08/30 | 5813 | fonts/merriweather/latex/T1Merriwthr-LF.fd
2020/08/30 | 580 | fonts/merriweather/vf/Merriwthr-Regular-lf-ts1.vf
2020/08/30 | 580 | fonts/merriweather/vf/Merriwthr-Light-tosf-ts1.vf
@@ -304,21 +847,11 @@
2020/08/30 | 57744 | fonts/merriweather/tfm/Merriwthr-LightItalic-tlf-t1.tfm
2020/08/30 | 57616 | systems/texlive/tlnet/archive/stricttex.doc.r56210.tar.xz
2020/08/30 | 575278 | graphics/mcf2graph/mcf_manual.pdf
-2020/08/30 | 57313 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2020/08/30 | 57159 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2020/08/30 | 57149 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
2020/08/30 | 5704 | fonts/merriweather/tfm/MerriwthrSans-Regular-lf-ot1.tfm
2020/08/30 | 5668 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-osf-ot1.tfm
2020/08/30 | 5656 | fonts/merriweather/tfm/MerriwthrSans-Light-lf-ot1.tfm
-2020/08/30 | 561892 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
2020/08/30 | 5580 | fonts/merriweather/tfm/MerriwthrSans-Regular-osf-ot1.tfm
-2020/08/30 | 55563 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2020/08/30 | 5500709 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2020/08/30 | 549966 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
2020/08/30 | 5496 | fonts/merriweather/tfm/MerriwthrSans-Light-osf-ot1.tfm
-2020/08/30 | 545814 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2020/08/30 | 545043 | systems/win32/miktex/tm/packages/files.csv.lzma
-2020/08/30 | 544358 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2020/08/30 | 54284 | fonts/merriweather/tfm/Merriwthr-Black-lf-t1.tfm
2020/08/30 | 54140 | fonts/merriweather/tfm/Merriwthr-Black-osf-t1.tfm
2020/08/30 | 5412 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-tosf-ot1.tfm
@@ -339,37 +872,28 @@
2020/08/30 | 5276 | fonts/merriweather/tfm/MerriwthrSans-Light-tlf-ot1.tfm
2020/08/30 | 527104 | systems/win32/miktex/tm/packages/oup-authoring-template.tar.lzma
2020/08/30 | 52688 | fonts/merriweather/tfm/Merriwthr-Italic-osf-sc-ly1.tfm
-2020/08/30 | 52202 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
2020/08/30 | 52116 | fonts/merriweather/tfm/Merriwthr-Bold-tlf-sc-t1.tfm
2020/08/30 | 52112 | fonts/merriweather/tfm/Merriwthr-Bold-tosf-sc-t1.tfm
2020/08/30 | 52100 | fonts/merriweather/tfm/Merriwthr-Regular-tosf-sc-t1.tfm
2020/08/30 | 52100 | fonts/merriweather/tfm/Merriwthr-Regular-tlf-sc-t1.tfm
-2020/08/30 | 51937 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2020/08/30 | 51880 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tosf-sc-ly1.tfm
2020/08/30 | 51880 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tlf-sc-ly1.tfm
2020/08/30 | 51792 | fonts/merriweather/tfm/Merriwthr-Italic-tlf-sc-ly1.tfm
2020/08/30 | 51788 | fonts/merriweather/tfm/Merriwthr-Italic-tosf-sc-ly1.tfm
2020/08/30 | 514886 | systems/win32/miktex/tm/packages/ebproof.tar.lzma
2020/08/30 | 514740 | systems/win32/miktex/tm/packages/yquant.tar.lzma
-2020/08/30 | 51420 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
2020/08/30 | 51268 | fonts/merriweather/tfm/Merriwthr-Light-lf-t1.tfm
-2020/08/30 | 51235 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2020/08/30 | 51134 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
2020/08/30 | 51100 | fonts/merriweather/tfm/Merriwthr-Light-osf-t1.tfm
-2020/08/30 | 50914 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
2020/08/30 | 50508 | fonts/merriweather/tfm/Merriwthr-Light-tosf-t1.tfm
2020/08/30 | 50508 | fonts/merriweather/tfm/Merriwthr-Light-tlf-t1.tfm
2020/08/30 | 5028 | fonts/merriweather/tfm/MerriwthrSans-Bold-lf-sc-ot1.tfm
-2020/08/30 | 500569 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
2020/08/30 | 49732 | macros/latex/contrib/caption/bicaption.dtx
2020/08/30 | 49679 | macros/latex/contrib/caption/caption2.dtx
-2020/08/30 | 49589 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
2020/08/30 | 4957201 | install/macros/latex/contrib/texnegar.tds.zip
2020/08/30 | 4940 | fonts/merriweather/tfm/MerriwthrSans-Bold-osf-sc-ot1.tfm
2020/08/30 | 4934897 | macros/latex/contrib/texnegar.zip
2020/08/30 | 492379 | systems/win32/miktex/tm/packages/tasks.tar.lzma
2020/08/30 | 49112 | fonts/merriweather/tfm/Merriwthr-Regular-lf-ly1.tfm
-2020/08/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2020/08/30 | 48956 | fonts/merriweather/tfm/Merriwthr-BlackItalic-lf-sc-t1.tfm
2020/08/30 | 48932 | fonts/merriweather/tfm/Merriwthr-Regular-osf-ly1.tfm
2020/08/30 | 48872 | fonts/merriweather/tfm/Merriwthr-BlackItalic-osf-sc-t1.tfm
@@ -377,7 +901,6 @@
2020/08/30 | 48608 | fonts/merriweather/tfm/Merriwthr-Bold-osf-ly1.tfm
2020/08/30 | 48348 | fonts/merriweather/tfm/Merriwthr-BlackItalic-tosf-sc-t1.tfm
2020/08/30 | 48348 | fonts/merriweather/tfm/Merriwthr-BlackItalic-tlf-sc-t1.tfm
-2020/08/30 | 48086 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
2020/08/30 | 47944 | fonts/merriweather/tfm/Merriwthr-Regular-tosf-ly1.tfm
2020/08/30 | 47944 | fonts/merriweather/tfm/Merriwthr-Regular-tlf-ly1.tfm
2020/08/30 | 47936 | fonts/merriweather/tfm/Merriwthr-BlackItalic-lf-ly1.tfm
@@ -394,22 +917,12 @@
2020/08/30 | 4652 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-osf-ot1.tfm
2020/08/30 | 4648 | fonts/merriweather/tfm/MerriwthrSans-Regular-lf-sc-ot1.tfm
2020/08/30 | 4644 | fonts/merriweather/tfm/MerriwthrSans-Light-lf-sc-ot1.tfm
-2020/08/30 | 46358 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2020/08/30 | 462710 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2020/08/30 | 460433 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
2020/08/30 | 4580 | fonts/merriweather/tfm/MerriwthrSans-Bold-tosf-sc-ot1.tfm
-2020/08/30 | 45776 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
2020/08/30 | 4576 | fonts/merriweather/tfm/MerriwthrSans-Bold-tlf-sc-ot1.tfm
-2020/08/30 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2020/08/30 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2020/08/30 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2020/08/30 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2020/08/30 | 4548 | fonts/merriweather/tfm/MerriwthrSans-Regular-osf-sc-ot1.tfm
2020/08/30 | 454534 | systems/win32/miktex/tm/packages/todonotes.tar.lzma
2020/08/30 | 453893 | systems/win32/miktex/tm/packages/elpres.tar.lzma
2020/08/30 | 4532 | fonts/merriweather/tfm/MerriwthrSans-Light-osf-sc-ot1.tfm
-2020/08/30 | 45320 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2020/08/30 | 45032 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2020/08/30 | 4450 | fonts/merriweather/doc/OFL.txt
2020/08/30 | 4436 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-lf-ot1.tfm
2020/08/30 | 4392 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-osf-ot1.tfm
@@ -418,18 +931,15 @@
2020/08/30 | 43688 | fonts/merriweather/tfm/Merriwthr-Light-osf-sc-t1.tfm
2020/08/30 | 4360 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-tosf-sc-ot1.tfm
2020/08/30 | 4360 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-tlf-sc-ot1.tfm
-2020/08/30 | 43315 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
2020/08/30 | 4316 | fonts/merriweather/tfm/MerriwthrSans-Italic-lf-ot1.tfm
2020/08/30 | 4316 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-tlf-ot1.tfm
2020/08/30 | 4312 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-tosf-ot1.tfm
-2020/08/30 | 43075 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
2020/08/30 | 4288 | fonts/merriweather/tfm/MerriwthrSans-Italic-osf-ot1.tfm
2020/08/30 | 42804 | fonts/merriweather/tfm/Merriwthr-Light-tosf-sc-t1.tfm
2020/08/30 | 42804 | fonts/merriweather/tfm/Merriwthr-Light-tlf-sc-t1.tfm
2020/08/30 | 42732 | fonts/merriweather/tfm/Merriwthr-Black-osf-sc-t1.tfm
2020/08/30 | 42668 | fonts/merriweather/tfm/Merriwthr-Black-lf-sc-t1.tfm
2020/08/30 | 42640 | fonts/merriweather/tfm/Merriwthr-LightItalic-lf-ly1.tfm
-2020/08/30 | 42623 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
2020/08/30 | 42552 | fonts/merriweather/tfm/Merriwthr-BlackItalic-lf-sc-ly1.tfm
2020/08/30 | 4236 | fonts/merriweather/tfm/MerriwthrSans-Regular-tosf-sc-ot1.tfm
2020/08/30 | 4232 | fonts/merriweather/tfm/MerriwthrSans-Regular-tlf-sc-ot1.tfm
@@ -437,7 +947,6 @@
2020/08/30 | 4216 | fonts/merriweather/tfm/MerriwthrSans-Light-tosf-sc-ot1.tfm
2020/08/30 | 4216 | fonts/merriweather/tfm/MerriwthrSans-Light-tlf-sc-ot1.tfm
2020/08/30 | 42072 | fonts/merriweather/tfm/Merriwthr-LightItalic-osf-ly1.tfm
-2020/08/30 | 42062 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2020/08/30 | 41760 | fonts/merriweather/tfm/Merriwthr-Black-tlf-sc-t1.tfm
2020/08/30 | 41756 | fonts/merriweather/tfm/Merriwthr-Black-tosf-sc-t1.tfm
2020/08/30 | 41744 | fonts/merriweather/tfm/Merriwthr-BlackItalic-tosf-sc-ly1.tfm
@@ -450,7 +959,6 @@
2020/08/30 | 41264 | fonts/merriweather/tfm/Merriwthr-Bold-osf-sc-ly1.tfm
2020/08/30 | 41248 | fonts/merriweather/tfm/Merriwthr-Regular-osf-sc-ly1.tfm
2020/08/30 | 409837 | macros/latex/contrib/caption/caption-deu.pdf
-2020/08/30 | 40823 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
2020/08/30 | 4072 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tlf-ot1.tfm
2020/08/30 | 4068 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tosf-ot1.tfm
2020/08/30 | 40636 | fonts/merriweather/tfm/Merriwthr-LightItalic-lf-sc-t1.tfm
@@ -469,16 +977,12 @@
2020/08/30 | 39708 | fonts/merriweather/tfm/Merriwthr-LightItalic-tosf-sc-t1.tfm
2020/08/30 | 39708 | fonts/merriweather/tfm/Merriwthr-LightItalic-tlf-sc-t1.tfm
2020/08/30 | 3940 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-lf-sc-ot1.tfm
-2020/08/30 | 39331 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
2020/08/30 | 39328 | fonts/merriweather/tfm/Merriwthr-Black-tlf-ly1.tfm
2020/08/30 | 39324 | fonts/merriweather/tfm/Merriwthr-Black-tosf-ly1.tfm
2020/08/30 | 393248 | systems/win32/miktex/tm/packages/skdoc.tar.lzma
2020/08/30 | 3928 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-lf-ot1.tfm
-2020/08/30 | 39269 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2020/08/30 | 392369 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2020/08/30 | 389 | macros/latex/contrib/totalcount/CHANGELOG
2020/08/30 | 38992 | fonts/merriweather/tfm/Merriwthr-Light-lf-ly1.tfm
-2020/08/30 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r56204.tar.xz
2020/08/30 | 3889 | macros/latex/contrib/texnegar/texnegar-xetex-bidi-leaders-hrule.tex
2020/08/30 | 3889 | macros/latex/contrib/texnegar/texnegar-xetex-bidi-leaders-glyph.tex
2020/08/30 | 38820 | fonts/merriweather/tfm/Merriwthr-Light-osf-ly1.tfm
@@ -493,8 +997,6 @@
2020/08/30 | 3705 | fonts/merriweather/latex/TS1MerriwthrSans-TOsF.fd
2020/08/30 | 3703 | macros/latex/contrib/texnegar/texnegar-xetex-xepersian-leaders-hrule.tex
2020/08/30 | 3702 | macros/latex/contrib/texnegar/texnegar-xetex-xepersian-leaders-glyph.tex
-2020/08/30 | 36922 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2020/08/30 | 36866 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
2020/08/30 | 368053 | fonts/merriweather/type1/Merriwthr-Bold.pfb
2020/08/30 | 3672 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-tlf-sc-ot1.tfm
2020/08/30 | 3668 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-tosf-sc-ot1.tfm
@@ -505,12 +1007,10 @@
2020/08/30 | 3648 | fonts/merriweather/latex/OT1MerriwthrSans-Sup.fd
2020/08/30 | 3648 | fonts/merriweather/latex/LY1MerriwthrSans-Sup.fd
2020/08/30 | 3638 | graphics/mcf2graph/mcf_setup.sty
-2020/08/30 | 36362 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2020/08/30 | 362993 | systems/win32/miktex/tm/packages/ejpecp.tar.lzma
2020/08/30 | 3617 | macros/latex/contrib/texnegar/texnegar-xetex-xepersian-glyph.tex
2020/08/30 | 3616 | fonts/merriweather/tfm/MerriwthrSans-Italic-osf-sc-ot1.tfm
2020/08/30 | 3610 | fonts/merriweather/latex/T1MerriwthrSans-Sup.fd
-2020/08/30 | 360764 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
2020/08/30 | 3604 | macros/latex/contrib/texnegar/texnegar-luatex-leaders-hrule.tex
2020/08/30 | 3604 | macros/latex/contrib/texnegar/texnegar-luatex-leaders-glyph.tex
2020/08/30 | 3591 | fonts/merriweather/latex/TS1MerriwthrSans-LF.fd
@@ -521,13 +1021,10 @@
2020/08/30 | 355472 | fonts/merriweather/type1/Merriwthr-Regular.pfb
2020/08/30 | 3536 | fonts/merriweather/tfm/MerriwthrSans-Italic-lf-sc-ot1.tfm
2020/08/30 | 35276 | fonts/merriweather/tfm/Merriwthr-LightItalic-lf-sc-ly1.tfm
-2020/08/30 | 35215 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
2020/08/30 | 35188 | fonts/merriweather/tfm/Merriwthr-Light-lf-sc-ly1.tfm
2020/08/30 | 35128 | fonts/merriweather/tfm/Merriwthr-Light-osf-sc-ly1.tfm
2020/08/30 | 3508 | macros/latex/contrib/texnegar/texnegar-luatex-glyph.tex
-2020/08/30 | 35033 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
2020/08/30 | 34960 | fonts/merriweather/tfm/Merriwthr-LightItalic-osf-sc-ly1.tfm
-2020/08/30 | 34775 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
2020/08/30 | 347321 | systems/win32/miktex/tm/packages/biblatex-apa.tar.lzma
2020/08/30 | 3436 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tlf-sc-ot1.tfm
2020/08/30 | 3432 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tosf-sc-ot1.tfm
@@ -578,20 +1075,15 @@
2020/08/30 | 3315 | fonts/merriweather/enc/merriwthr_ob5vn4.enc
2020/08/30 | 3314 | fonts/merriweather/enc/merriwthr_cqy4t2.enc
2020/08/30 | 331198 | fonts/merriweather/type1/Merriwthr-BoldItalic.pfb
-2020/08/30 | 33091 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
2020/08/30 | 3306 | fonts/merriweather/latex/T1Merriwthr-Sup.fd
2020/08/30 | 3300 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-osf-sc-ot1.tfm
-2020/08/30 | 329618 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
2020/08/30 | 3287 | fonts/merriweather/latex/TS1Merriwthr-LF.fd
-2020/08/30 | 327552 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
2020/08/30 | 325838 | macros/latex/contrib/texnegar/texnegar-luatex-leaders-glyph.pdf
2020/08/30 | 325592 | fonts/merriweather/type1/Merriwthr-BlackItalic.pfb
2020/08/30 | 32464 | fonts/merriweather/tfm/Merriwthr-Black-tlf-sc-ly1.tfm
2020/08/30 | 32460 | fonts/merriweather/tfm/Merriwthr-Black-tosf-sc-ly1.tfm
2020/08/30 | 324293 | fonts/merriweather/type1/Merriwthr-Italic.pfb
2020/08/30 | 3240 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-lf-sc-ot1.tfm
-2020/08/30 | 32393 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2020/08/30 | 32351 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2020/08/30 | 3232 | fonts/merriweather/enc/merriwthr_owzwzj.enc
2020/08/30 | 322056 | systems/texlive/tlnet/archive/biblatex-apa.doc.r56208.tar.xz
2020/08/30 | 3200336 | systems/win32/miktex/tm/packages/animate.tar.lzma
@@ -604,11 +1096,8 @@
2020/08/30 | 3127 | fonts/merriweather/enc/merriwthr_okb76x.enc
2020/08/30 | 3126 | fonts/merriweather/enc/merriwthr_27vehb.enc
2020/08/30 | 3125 | fonts/merriweather/enc/merriwthr_4ylisx.enc
-2020/08/30 | 31253 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
2020/08/30 | 3124 | fonts/merriweather/enc/merriwthr_mb4bqm.enc
2020/08/30 | 3122 | fonts/merriweather/enc/merriwthr_lm56sz.enc
-2020/08/30 | 31223 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2020/08/30 | 31208 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
2020/08/30 | 312066 | systems/win32/miktex/tm/packages/hopatch.tar.lzma
2020/08/30 | 3117 | fonts/merriweather/enc/merriwthr_5lck5z.enc
2020/08/30 | 3116 | fonts/merriweather/enc/merriwthr_7jdyhk.enc
@@ -616,13 +1105,10 @@
2020/08/30 | 3113 | fonts/merriweather/enc/merriwthr_2r7lb2.enc
2020/08/30 | 3112 | fonts/merriweather/enc/merriwthr_h7gtfv.enc
2020/08/30 | 3111 | fonts/merriweather/enc/merriwthr_hz3jhh.enc
-2020/08/30 | 310935 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2020/08/30 | 3103 | fonts/merriweather/enc/merriwthr_gdbfjs.enc
2020/08/30 | 3102 | fonts/merriweather/enc/merriwthr_cc6s4l.enc
2020/08/30 | 3096 | fonts/merriweather/enc/merriwthr_mx2b4h.enc
2020/08/30 | 3092 | fonts/merriweather/enc/merriwthr_s56ilq.enc
-2020/08/30 | 30910 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2020/08/30 | 30891 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
2020/08/30 | 3085 | fonts/merriweather/enc/merriwthr_6qeh6o.enc
2020/08/30 | 3081 | fonts/merriweather/enc/merriwthr_wppmfi.enc
2020/08/30 | 3075 | fonts/merriweather/enc/merriwthr_k4bbiq.enc
@@ -631,7 +1117,6 @@
2020/08/30 | 3055 | fonts/merriweather/enc/merriwthr_u2frii.enc
2020/08/30 | 3052 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tosf-sc-ot1.tfm
2020/08/30 | 3051 | fonts/merriweather/enc/merriwthr_mr3nck.enc
-2020/08/30 | 305084 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
2020/08/30 | 3048 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tlf-sc-ot1.tfm
2020/08/30 | 3044 | fonts/merriweather/enc/merriwthr_mgprdv.enc
2020/08/30 | 3044 | fonts/merriweather/enc/merriwthr_ags7qn.enc
@@ -649,49 +1134,35 @@
2020/08/30 | 2979 | fonts/merriweather/enc/merriwthr_nszfm3.enc
2020/08/30 | 2970 | fonts/merriweather/enc/merriwthr_ttjzpe.enc
2020/08/30 | 2968 | fonts/merriweather/enc/merriwthr_jjwbah.enc
-2020/08/30 | 29638 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
2020/08/30 | 2960 | fonts/merriweather/enc/merriwthr_7npxgm.enc
2020/08/30 | 2959 | fonts/merriweather/enc/merriwthr_cy3ufi.enc
2020/08/30 | 2958 | fonts/merriweather/enc/merriwthr_c4h6ot.enc
-2020/08/30 | 29399 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
2020/08/30 | 29367 | macros/latex/contrib/caption/ltcaption.dtx
2020/08/30 | 2929 | fonts/merriweather/enc/merriwthr_adz5lu.enc
2020/08/30 | 2927 | fonts/merriweather/enc/merriwthr_w4rwtq.enc
2020/08/30 | 2918 | fonts/merriweather/enc/merriwthr_qndjqi.enc
-2020/08/30 | 29058 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2020/08/30 | 29028 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
2020/08/30 | 29004 | fonts/merriweather/tfm/MerriwthrSans-Bold-lf-t1.tfm
2020/08/30 | 28608 | fonts/merriweather/tfm/MerriwthrSans-Bold-osf-t1.tfm
-2020/08/30 | 28605 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
2020/08/30 | 2845 | macros/latex/contrib/caption/caption.ins
2020/08/30 | 2844 | fonts/merriweather/enc/merriwthr_5xld5w.enc
2020/08/30 | 28364655 | systems/win32/miktex/tm/packages/biber-darwin-x86_64.tar.lzma
2020/08/30 | 2830 | fonts/merriweather/README
-2020/08/30 | 281780 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2020/08/30 | 28024 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-lf-t1.tfm
-2020/08/30 | 279882 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
2020/08/30 | 27952 | fonts/merriweather/tfm/MerriwthrSans-Bold-tosf-t1.tfm
2020/08/30 | 27948 | fonts/merriweather/tfm/MerriwthrSans-Bold-tlf-t1.tfm
-2020/08/30 | 27803 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
2020/08/30 | 276579 | systems/win32/miktex/tm/packages/biber-doc.tar.lzma
2020/08/30 | 27648 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-osf-t1.tfm
-2020/08/30 | 273699 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
2020/08/30 | 273549 | systems/win32/miktex/tm/packages/decision-table.tar.lzma
2020/08/30 | 27088 | fonts/merriweather/tfm/MerriwthrSans-Regular-lf-t1.tfm
2020/08/30 | 27068 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-tosf-t1.tfm
2020/08/30 | 27068 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-tlf-t1.tfm
-2020/08/30 | 27009 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
2020/08/30 | 27004 | fonts/merriweather/tfm/MerriwthrSans-Light-lf-t1.tfm
-2020/08/30 | 26998 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
2020/08/30 | 269484 | fonts/merriweather/opentype/Merriweather-Bold.otf
-2020/08/30 | 269406 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2020/08/30 | 26853 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
2020/08/30 | 26796 | fonts/merriweather/tfm/MerriwthrSans-Regular-osf-t1.tfm
-2020/08/30 | 26613 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
2020/08/30 | 26608 | fonts/merriweather/tfm/MerriwthrSans-Light-osf-t1.tfm
-2020/08/30 | 2657477 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
2020/08/30 | 265232 | fonts/merriweather/opentype/Merriweather-Regular.otf
2020/08/30 | 264773 | macros/latex/contrib/caption/caption-rus.tex
+2020/08/30 | 262952 | macros/xetex/latex/nanicolle/nanicolle-doc-en.pdf
2020/08/30 | 26196 | fonts/merriweather/tfm/MerriwthrSans-Regular-tosf-t1.tfm
2020/08/30 | 26192 | fonts/merriweather/tfm/MerriwthrSans-Regular-tlf-t1.tfm
2020/08/30 | 2618 | macros/latex/contrib/texnegar/texnegar.ins
@@ -700,38 +1171,29 @@
2020/08/30 | 26024 | fonts/merriweather/tfm/MerriwthrSans-Light-tosf-t1.tfm
2020/08/30 | 26024 | fonts/merriweather/tfm/MerriwthrSans-Light-tlf-t1.tfm
2020/08/30 | 259421 | macros/latex/contrib/fduthesis/fduthesis-logo.dtx
-2020/08/30 | 25504 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2020/08/30 | 2534480 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
2020/08/30 | 2518359 | systems/win32/miktex/tm/packages/xcharter.tar.lzma
2020/08/30 | 251464 | fonts/merriweather/opentype/Merriweather-Light.otf
-2020/08/30 | 250291 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
2020/08/30 | 250077 | systems/win32/miktex/tm/packages/ltximg.tar.lzma
2020/08/30 | 249400 | fonts/merriweather/opentype/Merriweather-BoldItalic.otf
2020/08/30 | 24868 | systems/texlive/tlnet/archive/biblatex-apa.r56208.tar.xz
2020/08/30 | 248153 | systems/win32/miktex/tm/packages/biblatex-apa6.tar.lzma
2020/08/30 | 247644 | fonts/merriweather/opentype/Merriweather-Italic.otf
-2020/08/30 | 246826 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
2020/08/30 | 246418 | systems/win32/miktex/tm/packages/etoolbox.tar.lzma
2020/08/30 | 2463 | macros/latex/contrib/fduthesis/README.md
-2020/08/30 | 243053 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2020/08/30 | 24269318 | systems/texlive/tlnet/install-tl.zip
-2020/08/30 | 23600 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
2020/08/30 | 235128 | fonts/merriweather/opentype/Merriweather-LightItalic.otf
2020/08/30 | 233764 | fonts/merriweather/opentype/Merriweather-BlackItalic.otf
2020/08/30 | 23368 | systems/texlive/tlnet/archive/animate.r56207.tar.xz
2020/08/30 | 23148 | fonts/merriweather/tfm/MerriwthrSans-Bold-lf-ly1.tfm
-2020/08/30 | 22982 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
2020/08/30 | 22756 | fonts/merriweather/tfm/MerriwthrSans-Bold-osf-ly1.tfm
2020/08/30 | 226684 | systems/texlive/tlnet/archive/biblatex-apa6.doc.r56209.tar.xz
2020/08/30 | 22657 | systems/win32/miktex/tm/packages/miktex-misc.tar.lzma
2020/08/30 | 22485857 | systems/win32/miktex/tm/packages/biber-windows-x86.tar.lzma
2020/08/30 | 22448144 | systems/win32/miktex/tm/packages/biber-windows-x64.tar.lzma
2020/08/30 | 2241882 | systems/win32/miktex/tm/packages/beamerthemenord.tar.lzma
-2020/08/30 | 224087 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2020/08/30 | 22284 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-lf-ly1.tfm
-2020/08/30 | 2223840 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2020/08/30 | 22184 | fonts/merriweather/tfm/MerriwthrSans-Bold-tosf-ly1.tfm
2020/08/30 | 22180 | fonts/merriweather/tfm/MerriwthrSans-Bold-tlf-ly1.tfm
+2020/08/30 | 22047 | macros/xetex/latex/nanicolle/nanicolle-doc-en.tex
2020/08/30 | 219590 | macros/latex/contrib/fduthesis/fduthesis.dtx
2020/08/30 | 21912 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-osf-ly1.tfm
2020/08/30 | 218656 | systems/texlive/tlnet/archive/texlive-scripts.doc.r56204.tar.xz
@@ -749,16 +1211,12 @@
2020/08/30 | 2119877 | systems/win32/miktex/tm/packages/texnegar.tar.lzma
2020/08/30 | 21191 | macros/latex/contrib/caption/elephant.eps
2020/08/30 | 21184 | systems/texlive/tlnet/archive/biblatex-apa6.r56209.tar.xz
-2020/08/30 | 211539 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
2020/08/30 | 21148 | fonts/merriweather/tfm/MerriwthrSans-Light-osf-ly1.tfm
-2020/08/30 | 210277 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
2020/08/30 | 20996 | fonts/merriweather/tfm/MerriwthrSans-Bold-tosf-sc-t1.tfm
2020/08/30 | 20992 | fonts/merriweather/tfm/MerriwthrSans-Bold-tlf-sc-t1.tfm
2020/08/30 | 20928 | fonts/merriweather/tfm/MerriwthrSans-Regular-lf-sc-t1.tfm
2020/08/30 | 20864 | fonts/merriweather/tfm/MerriwthrSans-Regular-osf-sc-t1.tfm
2020/08/30 | 20843 | graphics/mcf2graph/mcf_exa_soc.mf
-2020/08/30 | 20817 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2020/08/30 | 207673 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
2020/08/30 | 2075614 | install/macros/latex/contrib/caption.tds.zip
2020/08/30 | 2072 | fonts/merriweather/tfm/Merriwthr-BlackItalic-osf-sc-ly1--base.tfm
2020/08/30 | 20712 | fonts/merriweather/tfm/MerriwthrSans-Regular-tosf-ly1.tfm
@@ -776,17 +1234,13 @@
2020/08/30 | 2048 | fonts/merriweather/tfm/Merriwthr-BlackItalic-sup-ly1.tfm
2020/08/30 | 2040 | fonts/merriweather/tfm/Merriwthr-BlackItalic-tosf-sc-ly1--base.tfm
2020/08/30 | 2040 | fonts/merriweather/tfm/Merriwthr-BlackItalic-tlf-sc-ly1--base.tfm
-2020/08/30 | 203963 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
2020/08/30 | 2036 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tosf-sc-ly1--base.tfm
2020/08/30 | 2036 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tlf-sc-ly1--base.tfm
2020/08/30 | 2032 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-lf-sc-ly1--base.tfm
-2020/08/30 | 2031794 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2020/08/30 | 202901 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
2020/08/30 | 2028 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-osf-sc-ly1--base.tfm
2020/08/30 | 2028 | fonts/merriweather/tfm/Merriwthr-Italic-sup-ly1.tfm
2020/08/30 | 2028 | fonts/merriweather/tfm/Merriwthr-Italic-osf-sc-ly1--base.tfm
2020/08/30 | 2028 | fonts/merriweather/tfm/Merriwthr-Italic-lf-sc-ly1--base.tfm
-2020/08/30 | 202882 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
2020/08/30 | 2027635 | macros/latex/contrib/caption.zip
2020/08/30 | 2024 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-lf-t1--base.tfm
2020/08/30 | 2024 | fonts/merriweather/tfm/Merriwthr-LightItalic-osf-sc-ly1--base.tfm
@@ -802,7 +1256,6 @@
2020/08/30 | 2000 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-tlf-sc-ly1--base.tfm
2020/08/30 | 2000 | fonts/merriweather/tfm/Merriwthr-LightItalic-lf-sc-ly1--base.tfm
2020/08/30 | 2000 | fonts/merriweather/tfm/Merriwthr-BlackItalic-sup-t1.tfm
-2020/08/30 | 20006 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
2020/08/30 | 1996 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-sup-t1.tfm
2020/08/30 | 1996 | fonts/merriweather/tfm/Merriwthr-Italic-tlf-sc-ly1--base.tfm
2020/08/30 | 1996 | fonts/merriweather/tfm/Merriwthr-BlackItalic-sup-t1--base.tfm
@@ -830,7 +1283,6 @@
2020/08/30 | 1964 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-lf-sc-ly1--base.tfm
2020/08/30 | 1964 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-osf-sc-ly1--base.tfm
2020/08/30 | 1964 | fonts/merriweather/tfm/Merriwthr-Italic-sup-t1--base.tfm
-2020/08/30 | 196319 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
2020/08/30 | 1960 | fonts/merriweather/tfm/MerriwthrSans-Italic-osf-t1--base.tfm
2020/08/30 | 1956 | fonts/merriweather/tfm/MerriwthrSans-Italic-lf-t1--base.tfm
2020/08/30 | 1956 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-lf-sc-ly1--base.tfm
@@ -858,13 +1310,9 @@
2020/08/30 | 1940 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tosf-t1--base.tfm
2020/08/30 | 1940 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tlf-t1--base.tfm
2020/08/30 | 19389 | macros/latex/contrib/caption/caption-koma.dtx
-2020/08/30 | 193833 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2020/08/30 | 19379923 | systems/texlive/tlnet/install-tl-windows.exe
2020/08/30 | 1936 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-sup-t1--base.tfm
2020/08/30 | 1932 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tosf-sc-ly1--base.tfm
2020/08/30 | 1932 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tlf-sc-ly1--base.tfm
-2020/08/30 | 192836 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2020/08/30 | 192589 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
2020/08/30 | 1924 | fonts/merriweather/tfm/MerriwthrSans-Italic-tosf-t1--base.tfm
2020/08/30 | 1924 | fonts/merriweather/tfm/MerriwthrSans-Italic-tlf-t1--base.tfm
2020/08/30 | 1924 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tlf-t1--base.tfm
@@ -894,7 +1342,6 @@
2020/08/30 | 189322 | systems/win32/miktex/tm/packages/beamer-rl.tar.lzma
2020/08/30 | 1892 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-lf-sc-t1--base.tfm
2020/08/30 | 1892 | fonts/merriweather/tfm/Merriwthr-Bold-lf-sc-ly1--base.tfm
-2020/08/30 | 189153 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2020/08/30 | 1888 | fonts/merriweather/tfm/MerriwthrSans-Bold-sup-ly1.tfm
2020/08/30 | 1888 | fonts/merriweather/tfm/Merriwthr-Bold-osf-sc-ly1--base.tfm
2020/08/30 | 1884 | systems/texlive/tlnet/archive/stricttex.r56210.tar.xz
@@ -908,7 +1355,6 @@
2020/08/30 | 1880 | fonts/merriweather/tfm/Merriwthr-Regular-sup-ly1.tfm
2020/08/30 | 1880 | fonts/merriweather/tfm/Merriwthr-Regular-osf-sc-ly1--base.tfm
2020/08/30 | 1880 | fonts/merriweather/tfm/Merriwthr-Black-lf-sc-ly1--base.tfm
-2020/08/30 | 187720 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
2020/08/30 | 1876 | fonts/merriweather/tfm/Merriwthr-Black-osf-sc-ly1--base.tfm
2020/08/30 | 1872 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-sup-t1.tfm
2020/08/30 | 1872 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-sup-t1--base.tfm
@@ -946,7 +1392,6 @@
2020/08/30 | 1844 | fonts/merriweather/tfm/MerriwthrSans-Regular-tosf-sc-ly1--base.tfm
2020/08/30 | 1844 | fonts/merriweather/tfm/MerriwthrSans-Bold-sup-t1.tfm
2020/08/30 | 1844 | fonts/merriweather/tfm/Merriwthr-Light-lf-sc-ly1--base.tfm
-2020/08/30 | 184490 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2020/08/30 | 1840 | fonts/merriweather/tfm/MerriwthrSans-Regular-tlf-sc-ly1--base.tfm
2020/08/30 | 1840 | fonts/merriweather/tfm/MerriwthrSans-Bold-sup-t1--base.tfm
2020/08/30 | 1840 | fonts/merriweather/tfm/Merriwthr-Light-sup-ly1.tfm
@@ -979,7 +1424,6 @@
2020/08/30 | 1812 | fonts/merriweather/tfm/MerriwthrSans-Bold-osf-sc-t1--base.tfm
2020/08/30 | 1812 | fonts/merriweather/tfm/MerriwthrSans-Bold-lf-sc-t1--base.tfm
2020/08/30 | 1812 | fonts/merriweather/tfm/Merriwthr-Bold-osf-t1--base.tfm
-2020/08/30 | 180902 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
2020/08/30 | 1808 | fonts/merriweather/tfm/Merriwthr-Regular-sup-t1.tfm
2020/08/30 | 1808 | fonts/merriweather/tfm/Merriwthr-Regular-osf-t1--base.tfm
2020/08/30 | 1804 | fonts/merriweather/tfm/Merriwthr-Regular-sup-t1--base.tfm
@@ -1014,7 +1458,6 @@
2020/08/30 | 1776 | fonts/merriweather/tfm/Merriwthr-Light-lf-t1--base.tfm
2020/08/30 | 1776 | fonts/merriweather/tfm/Merriwthr-Bold-lf-sc-t1--base.tfm
2020/08/30 | 1776 | fonts/merriweather/tfm/Merriwthr-Black-osf-sc-t1--base.tfm
-2020/08/30 | 177375 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
2020/08/30 | 17732 | fonts/merriweather/tfm/MerriwthrSans-Bold-tosf-sc-ly1.tfm
2020/08/30 | 1772 | fonts/merriweather/tfm/MerriwthrSans-Light-tosf-t1--base.tfm
2020/08/30 | 1772 | fonts/merriweather/tfm/MerriwthrSans-Light-tlf-t1--base.tfm
@@ -1022,10 +1465,8 @@
2020/08/30 | 1772 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-lf-sc-t1--base.tfm
2020/08/30 | 1772 | fonts/merriweather/tfm/Merriwthr-Regular-lf-sc-t1--base.tfm
2020/08/30 | 1772 | fonts/merriweather/tfm/Merriwthr-Bold-osf-sc-t1--base.tfm
-2020/08/30 | 17728 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2020/08/30 | 17728 | fonts/merriweather/tfm/MerriwthrSans-Bold-tlf-sc-ly1.tfm
2020/08/30 | 1769613 | install/macros/latex/contrib/fduthesis.tds.zip
-2020/08/30 | 17626 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
2020/08/30 | 17624 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-lf-t1.tfm
2020/08/30 | 1760 | fonts/merriweather/tfm/Merriwthr-Light-tosf-t1--base.tfm
2020/08/30 | 1760 | fonts/merriweather/tfm/Merriwthr-Light-tlf-t1--base.tfm
@@ -1045,7 +1486,6 @@
2020/08/30 | 1748 | fonts/merriweather/tfm/Merriwthr-Bold-tosf-sc-t1--base.tfm
2020/08/30 | 174805 | macros/latex/contrib/texnegar/texnegar-luatex-leaders-hrule.pdf
2020/08/30 | 17476 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-osf-t1.tfm
-2020/08/30 | 1746185 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
2020/08/30 | 1744 | fonts/merriweather/tfm/MerriwthrSans-Light-tosf-sc-t1--base.tfm
2020/08/30 | 1744 | fonts/merriweather/tfm/MerriwthrSans-Light-tlf-sc-t1--base.tfm
2020/08/30 | 1744 | fonts/merriweather/tfm/Merriwthr-Regular-tosf-sc-t1--base.tfm
@@ -1161,7 +1601,6 @@
2020/08/30 | 1704 | fonts/merriweather/vf/Merriwthr-BlackItalic-osf-t1.vf
2020/08/30 | 1704 | fonts/merriweather/vf/Merriwthr-BlackItalic-lf-t1.vf
2020/08/30 | 1704 | fonts/merriweather/vf/Merriwthr-BlackItalic-lf-sc-t1.vf
-2020/08/30 | 170421 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
2020/08/30 | 1700 | fonts/merriweather/vf/MerriwthrSans-ExtraBoldItalic-sup-t1.vf
2020/08/30 | 1700 | fonts/merriweather/vf/Merriwthr-Regular-lf-t1.vf
2020/08/30 | 1700 | fonts/merriweather/vf/Merriwthr-Light-tosf-t1.vf
@@ -1191,7 +1630,6 @@
2020/08/30 | 1696 | fonts/merriweather/vf/Merriwthr-Black-tlf-t1.vf
2020/08/30 | 1696 | fonts/merriweather/vf/Merriwthr-Black-osf-t1.vf
2020/08/30 | 1696 | fonts/merriweather/vf/Merriwthr-Black-lf-t1.vf
-2020/08/30 | 169656 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
2020/08/30 | 1692 | fonts/merriweather/vf/MerriwthrSans-Regular-sup-t1.vf
2020/08/30 | 1692 | fonts/merriweather/vf/MerriwthrSans-Italic-sup-t1.vf
2020/08/30 | 1692 | fonts/merriweather/vf/MerriwthrSans-ExtraBold-sup-t1.vf
@@ -1223,7 +1661,6 @@
2020/08/30 | 1688 | fonts/merriweather/vf/Merriwthr-Regular-osf-sc-ly1.vf
2020/08/30 | 1688 | fonts/merriweather/vf/Merriwthr-Italic-sup-t1.vf
2020/08/30 | 168795 | macros/latex/contrib/caption/caption-deu.tex
-2020/08/30 | 168540 | systems/texlive/tlnet/archive/texlive-docindex.doc.r56204.tar.xz
2020/08/30 | 1684 | fonts/merriweather/vf/MerriwthrSans-Regular-tosf-sc-ly1.vf
2020/08/30 | 1684 | fonts/merriweather/vf/MerriwthrSans-Regular-tlf-sc-ly1.vf
2020/08/30 | 1684 | fonts/merriweather/vf/MerriwthrSans-Regular-osf-sc-ly1.vf
@@ -1281,9 +1718,7 @@
2020/08/30 | 16692 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-osf-sc-t1.tfm
2020/08/30 | 16636 | fonts/merriweather/tfm/MerriwthrSans-Light-tosf-sc-ly1.tfm
2020/08/30 | 16636 | fonts/merriweather/tfm/MerriwthrSans-Light-tlf-sc-ly1.tfm
-2020/08/30 | 165592 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
2020/08/30 | 16536 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-lf-sc-t1.tfm
-2020/08/30 | 16479508 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2020/08/30 | 1637554 | macros/latex/contrib/fduthesis.zip
2020/08/30 | 16372 | fonts/merriweather/tfm/Merriwthr-BoldItalic-lf-ot1.tfm
2020/08/30 | 16312 | fonts/merriweather/tfm/Merriwthr-Italic-lf-ot1.tfm
@@ -1291,16 +1726,14 @@
2020/08/30 | 16232 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tosf-t1.tfm
2020/08/30 | 16144 | fonts/merriweather/tfm/MerriwthrSans-Italic-lf-t1.tfm
2020/08/30 | 16124 | fonts/merriweather/tfm/MerriwthrSans-Italic-osf-t1.tfm
-2020/08/30 | 16024 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/08/30 | 16101 | macros/xetex/latex/nanicolle/nanicolle.cls
2020/08/30 | 160152 | macros/latex/contrib/caption/caption.dtx
2020/08/30 | 16000 | fonts/merriweather/tfm/Merriwthr-BoldItalic-osf-ot1.tfm
-2020/08/30 | 159880 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
2020/08/30 | 15957 | macros/latex/contrib/fduthesis/fudan-emblem.pdf
2020/08/30 | 15956 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tlf-sc-t1.tfm
2020/08/30 | 159556 | macros/latex/contrib/caption/caption-eng.tex
2020/08/30 | 15952 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tosf-sc-t1.tfm
2020/08/30 | 15952 | fonts/merriweather/tfm/Merriwthr-Italic-osf-ot1.tfm
-2020/08/30 | 15949 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
2020/08/30 | 157987 | macros/latex/contrib/texnegar/texnegar-xetex-bidi-glyph.pdf
2020/08/30 | 15737 | macros/latex/contrib/caption/cat.eps
2020/08/30 | 156633 | macros/latex/contrib/texnegar/texnegar-xetex-xepersian-glyph.pdf
@@ -1309,17 +1742,12 @@
2020/08/30 | 155894 | macros/latex/contrib/fduthesis/fduthesis-en.pdf
2020/08/30 | 1556 | macros/latex/contrib/texnegar/INSTALL.txt
2020/08/30 | 154563 | macros/latex/contrib/caption/subcaption.pdf
-2020/08/30 | 154418 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2020/08/30 | 15440 | fonts/merriweather/tfm/MerriwthrSans-Italic-tosf-t1.tfm
2020/08/30 | 15440 | fonts/merriweather/tfm/MerriwthrSans-Italic-tlf-t1.tfm
-2020/08/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2020/08/30 | 15396 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tosf-ot1.tfm
2020/08/30 | 15396 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tlf-ot1.tfm
2020/08/30 | 15352 | fonts/merriweather/tfm/Merriwthr-Italic-tlf-ot1.tfm
2020/08/30 | 15348 | fonts/merriweather/tfm/Merriwthr-Italic-tosf-ot1.tfm
-2020/08/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2020/08/30 | 151865 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2020/08/30 | 151838 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
2020/08/30 | 1517269 | systems/win32/miktex/tm/packages/nicematrix.tar.lzma
2020/08/30 | 15112 | fonts/merriweather/tfm/MerriwthrSans-Italic-osf-sc-t1.tfm
2020/08/30 | 1504 | fonts/merriweather/tfm/Merriwthr-BlackItalic-tosf-ts1.tfm
@@ -1409,7 +1837,6 @@
2020/08/30 | 1460 | fonts/merriweather/tfm/Merriwthr-Bold-tlf-ts1.tfm
2020/08/30 | 1460 | fonts/merriweather/tfm/Merriwthr-Bold-osf-ts1.tfm
2020/08/30 | 1460 | fonts/merriweather/tfm/Merriwthr-Bold-lf-ts1.tfm
-2020/08/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2020/08/30 | 1452 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tosf-ts1.tfm
2020/08/30 | 1452 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tlf-ts1.tfm
2020/08/30 | 1452 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-osf-ts1.tfm
@@ -1426,7 +1853,6 @@
2020/08/30 | 1452 | fonts/merriweather/tfm/Merriwthr-Regular-lf-ts1--base.tfm
2020/08/30 | 1452 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tosf-sc-ot1--base.tfm
2020/08/30 | 1452 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tlf-sc-ot1--base.tfm
-2020/08/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2020/08/30 | 1448 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tosf-ts1--base.tfm
2020/08/30 | 1448 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tlf-ts1--base.tfm
2020/08/30 | 1448 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-osf-ts1--base.tfm
@@ -1478,10 +1904,8 @@
2020/08/30 | 1420 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-tlf-ts1--base.tfm
2020/08/30 | 1420 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-osf-ts1--base.tfm
2020/08/30 | 1420 | fonts/merriweather/tfm/MerriwthrSans-ExtraBold-lf-ts1--base.tfm
-2020/08/30 | 141852 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
2020/08/30 | 1416 | fonts/merriweather/tfm/MerriwthrSans-Italic-sup-ot1.tfm
2020/08/30 | 1416 | fonts/merriweather/tfm/Merriwthr-Italic-tlf-sc-ot1--base.tfm
-2020/08/30 | 14131 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2020/08/30 | 1412 | fonts/merriweather/tfm/MerriwthrSans-Regular-tosf-ts1--base.tfm
2020/08/30 | 1412 | fonts/merriweather/tfm/MerriwthrSans-Regular-tlf-ts1--base.tfm
2020/08/30 | 1412 | fonts/merriweather/tfm/MerriwthrSans-Regular-osf-ts1--base.tfm
@@ -1496,7 +1920,6 @@
2020/08/30 | 14072 | fonts/merriweather/tfm/Merriwthr-BoldItalic-osf-sc-ot1.tfm
2020/08/30 | 14056 | fonts/merriweather/tfm/Merriwthr-Italic-lf-sc-ot1.tfm
2020/08/30 | 1404 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tlf-sc-ot1--base.tfm
-2020/08/30 | 1404302 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
2020/08/30 | 1400 | fonts/merriweather/tfm/MerriwthrSans-Light-tosf-ts1--base.tfm
2020/08/30 | 1400 | fonts/merriweather/tfm/MerriwthrSans-Light-tlf-ts1--base.tfm
2020/08/30 | 1400 | fonts/merriweather/tfm/MerriwthrSans-Light-osf-ts1--base.tfm
@@ -1541,7 +1964,6 @@
2020/08/30 | 1340 | fonts/merriweather/tfm/MerriwthrSans-Light-osf-sc-ot1--base.tfm
2020/08/30 | 1340 | fonts/merriweather/tfm/MerriwthrSans-Bold-tlf-sc-ot1--base.tfm
2020/08/30 | 1336 | fonts/merriweather/tfm/MerriwthrSans-Regular-lf-sc-ot1--base.tfm
-2020/08/30 | 133655 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
2020/08/30 | 13356 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tosf-sc-ot1.tfm
2020/08/30 | 13356 | fonts/merriweather/tfm/Merriwthr-BoldItalic-tlf-sc-ot1.tfm
2020/08/30 | 13348 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-lf-ly1.tfm
@@ -1553,7 +1975,6 @@
2020/08/30 | 13260 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-osf-ly1.tfm
2020/08/30 | 13260 | fonts/merriweather/tfm/Merriwthr-Regular-tosf-ot1.tfm
2020/08/30 | 13260 | fonts/merriweather/tfm/Merriwthr-Regular-tlf-ot1.tfm
-2020/08/30 | 1325259 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
2020/08/30 | 1324 | fonts/merriweather/tfm/Merriwthr-Light-tosf-sc-ot1--base.tfm
2020/08/30 | 1324 | fonts/merriweather/tfm/Merriwthr-Light-tlf-sc-ot1--base.tfm
2020/08/30 | 13216 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-lf-sc-ly1.tfm
@@ -1567,12 +1988,10 @@
2020/08/30 | 1312 | fonts/merriweather/tfm/MerriwthrSans-Regular-tosf-sc-ot1--base.tfm
2020/08/30 | 1312 | fonts/merriweather/tfm/MerriwthrSans-Light-tosf-sc-ot1--base.tfm
2020/08/30 | 1312 | fonts/merriweather/tfm/MerriwthrSans-Light-tlf-sc-ot1--base.tfm
-2020/08/30 | 13128 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
2020/08/30 | 13124 | fonts/merriweather/tfm/Merriwthr-BlackItalic-lf-ot1.tfm
2020/08/30 | 13108 | fonts/merriweather/tfm/Merriwthr-Bold-tlf-ot1.tfm
2020/08/30 | 13104 | fonts/merriweather/tfm/Merriwthr-Bold-tosf-ot1.tfm
2020/08/30 | 1308 | fonts/merriweather/tfm/MerriwthrSans-Regular-tlf-sc-ot1--base.tfm
-2020/08/30 | 130357 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
2020/08/30 | 1300 | macros/latex/contrib/totalcount/totalcount.ins
2020/08/30 | 1297828 | systems/win32/miktex/tm/packages/ctex.tar.lzma
2020/08/30 | 12876 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-lf-ly1.tfm
@@ -1581,7 +2000,6 @@
2020/08/30 | 12728 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-tlf-sc-ly1.tfm
2020/08/30 | 12700 | fonts/merriweather/tfm/Merriwthr-BlackItalic-osf-ot1.tfm
2020/08/30 | 12680 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-osf-sc-t1.tfm
-2020/08/30 | 1265432 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
2020/08/30 | 12648 | macros/latex/contrib/totalcount/totalcount.dtx
2020/08/30 | 12648 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-tosf-ly1.tfm
2020/08/30 | 12648 | fonts/merriweather/tfm/MerriwthrSans-BoldItalic-tlf-ly1.tfm
@@ -1594,8 +2012,6 @@
2020/08/30 | 12220 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tosf-ly1.tfm
2020/08/30 | 12220 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tlf-ly1.tfm
2020/08/30 | 12180 | fonts/merriweather/tfm/MerriwthrSans-Italic-lf-ly1.tfm
-2020/08/30 | 1217180 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2020/08/30 | 1216850 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
2020/08/30 | 1210 | macros/latex/contrib/totalcount/README
2020/08/30 | 121036 | fonts/merriweather/opentype/MerriweatherSans-BoldItalic.otf
2020/08/30 | 12072 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tosf-sc-t1.tfm
@@ -1605,25 +2021,18 @@
2020/08/30 | 12020 | fonts/merriweather/tfm/MerriwthrSans-ExtraBoldItalic-tlf-sc-ly1.tfm
2020/08/30 | 119420 | fonts/merriweather/opentype/MerriweatherSans-Light.otf
2020/08/30 | 119412 | fonts/merriweather/opentype/MerriweatherSans-Regular.otf
-2020/08/30 | 1192975 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
2020/08/30 | 118981 | fonts/merriweather/type1/MerriwthrSans-BoldItalic.pfb
2020/08/30 | 118266 | fonts/merriweather/type1/MerriwthrSans-Bold.pfb
-2020/08/30 | 116787 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
2020/08/30 | 11676 | fonts/merriweather/tfm/MerriwthrSans-Italic-tosf-ly1.tfm
2020/08/30 | 11676 | fonts/merriweather/tfm/MerriwthrSans-Italic-osf-sc-ly1.tfm
2020/08/30 | 11672 | fonts/merriweather/tfm/MerriwthrSans-Italic-tlf-ly1.tfm
-2020/08/30 | 115883 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
2020/08/30 | 115778 | macros/latex/contrib/caption/bicaption.pdf
-2020/08/30 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2020/08/30 | 1150 | fonts/merriweather/doc/merriweather-samples.tex
2020/08/30 | 1142 | macros/latex/contrib/texnegar/README.txt
2020/08/30 | 11428 | fonts/merriweather/tfm/MerriwthrSans-Italic-lf-sc-ly1.tfm
2020/08/30 | 11400 | fonts/merriweather/tfm/Merriwthr-Regular-lf-sc-ot1.tfm
2020/08/30 | 11392 | fonts/merriweather/tfm/Merriwthr-Black-lf-ot1.tfm
-2020/08/30 | 1136171 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2020/08/30 | 11360 | fonts/merriweather/tfm/Merriwthr-Bold-lf-sc-ot1.tfm
-2020/08/30 | 113580 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2020/08/30 | 1135583 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
2020/08/30 | 11328 | fonts/merriweather/tfm/Merriwthr-Regular-osf-sc-ot1.tfm
2020/08/30 | 112 | macros/latex/contrib/caption/SUMMARY
2020/08/30 | 11288 | fonts/merriweather/tfm/Merriwthr-Bold-osf-sc-ot1.tfm
@@ -1641,11 +2050,9 @@
2020/08/30 | 110227 | fonts/merriweather/type1/MerriwthrSans-LightItalic.pfb
2020/08/30 | 110121 | fonts/merriweather/type1/MerriwthrSans-Regular.pfb
2020/08/30 | 109916 | fonts/merriweather/type1/MerriwthrSans-Light.pfb
-2020/08/30 | 109731 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
2020/08/30 | 109700 | fonts/merriweather/doc/merriweather-samples.pdf
2020/08/30 | 10920 | fonts/merriweather/tfm/Merriwthr-Black-tlf-ot1.tfm
2020/08/30 | 10916 | fonts/merriweather/tfm/Merriwthr-Black-tosf-ot1.tfm
-2020/08/30 | 108990 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
2020/08/30 | 1088751 | graphics/mcf2graph.zip
2020/08/30 | 10784 | fonts/merriweather/tfm/Merriwthr-BlackItalic-tosf-sc-ot1.tfm
2020/08/30 | 10784 | fonts/merriweather/tfm/Merriwthr-BlackItalic-tlf-sc-ot1.tfm
@@ -1661,25 +2068,21 @@
2020/08/30 | 10656 | fonts/merriweather/tfm/Merriwthr-LightItalic-tosf-ot1.tfm
2020/08/30 | 10652 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-lf-ly1.tfm
2020/08/30 | 10648 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-osf-ly1.tfm
-2020/08/30 | 1061413 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
2020/08/30 | 10588 | fonts/merriweather/tfm/Merriwthr-Light-osf-ot1.tfm
-2020/08/30 | 104548 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2020/08/30 | 104464 | fonts/merriweather/opentype/MerriweatherSans-Italic.otf
2020/08/30 | 10381 | graphics/mcf2graph/CHANGELOG
-2020/08/30 | 102588 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
2020/08/30 | 10236 | fonts/merriweather/tfm/Merriwthr-Light-tosf-ot1.tfm
2020/08/30 | 10236 | fonts/merriweather/tfm/Merriwthr-Light-tlf-ot1.tfm
-2020/08/30 | 1021969 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2020/08/30 | 101783 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
2020/08/30 | 10141374 | systems/win32/miktex/tm/packages/libertinus-type1.tar.lzma
2020/08/30 | 101264 | fonts/merriweather/opentype/MerriweatherSans-LightItalic.otf
2020/08/30 | 10116 | macros/latex/contrib/texnegar/doc-ligature-xep.pdf
-2020/08/30 | 100918 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
2020/08/30 | 10088 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-osf-sc-ly1.tfm
2020/08/30 | 10052 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tosf-ly1.tfm
2020/08/30 | 10048 | fonts/merriweather/tfm/MerriwthrSans-LightItalic-tlf-ly1.tfm
+2020/08/29 | 8493856 | systems/win32/w32tex/uptex-w32.tar.xz
2020/08/29 | 84185 | macros/latex/contrib/animate/animate.tex
-2020/08/29 | 702522 | systems/win32/w32tex/ChangeLog
+2020/08/29 | 702852 | systems/win32/w32tex/ChangeLog
+2020/08/29 | 66088456 | systems/win32/w32tex/biblatex-biber.tar.xz
2020/08/29 | 6130 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/08/29 | 511084 | systems/texlive/tlnet/archive/oup-authoring-template.doc.r56201.tar.xz
2020/08/29 | 48808096 | systems/win32/w32tex/xetex-w32.tar.xz
@@ -1693,6 +2096,7 @@
2020/08/29 | 3441756 | systems/win32/w32tex/win64/luajittex-w64.tar.xz
2020/08/29 | 3435060 | systems/win32/w32tex/win64/luajittex-dev-w64.tar.xz
2020/08/29 | 3430488 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz
+2020/08/29 | 33847028 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/08/29 | 3232984 | install/macros/latex/contrib/animate.tds.zip
2020/08/29 | 3230711 | macros/latex/contrib/animate.zip
2020/08/29 | 3109936 | systems/win32/w32tex/win64/luatex-w64.tar.xz
@@ -1701,6 +2105,8 @@
2020/08/29 | 2914 | graphics/mcf2graph/mcf_example.tex
2020/08/29 | 283146 | macros/latex/contrib/biblatex-contrib/biblatex-apa6.zip
2020/08/29 | 2368 | systems/texlive/tlnet/archive/luahyphenrules.r56200.tar.xz
+2020/08/29 | 1881788 | systems/win32/w32tex/win64/ptex-w64.tar.xz
+2020/08/29 | 1810136 | systems/win32/w32tex/win64/uptex-w64.tar.xz
2020/08/29 | 17945908 | systems/win32/w32tex/luatex-w32.tar.xz
2020/08/29 | 17941096 | systems/win32/w32tex/luatex-dev-w32.tar.xz
2020/08/29 | 17914244 | systems/win32/w32tex/luatex-exp-w32.tar.xz
@@ -1710,6 +2116,7 @@
2020/08/29 | 136937 | macros/latex/contrib/animate/animate.sty
2020/08/29 | 12061 | macros/latex/contrib/animate/ChangeLog
2020/08/29 | 10982476 | systems/win32/w32tex/win64/xetex-w64.tar.xz
+2020/08/29 | 10509068 | systems/win32/w32tex/ptex-w32.tar.xz
2020/08/28 | 9965 | macros/latex/contrib/biblatex-contrib/biblatex-apa/russian-apa.lbx
2020/08/28 | 9961 | macros/latex/contrib/biblatex-contrib/biblatex-apa/slovene-apa.lbx
2020/08/28 | 9627 | macros/latex/contrib/biblatex-contrib/biblatex-apa/danish-apa.lbx
@@ -1827,7 +2234,6 @@
2020/08/27 | 351308 | systems/texlive/tlnet/archive/ejpecp.doc.r56188.tar.xz
2020/08/27 | 351030 | macros/latex/contrib/metastr.zip
2020/08/27 | 340489 | macros/latex/contrib/metastr/metastr.pdf
-2020/08/27 | 33843432 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/08/27 | 318147 | macros/latex/contrib/qyxf-book/demo.pdf
2020/08/27 | 25509 | macros/latex/contrib/qyxf-book/demo.tex
2020/08/27 | 2051038 | systems/win32/w32tex/texinstwin.zip
@@ -1853,7 +2259,6 @@
2020/08/26 | 7133 | macros/latex/contrib/ejpecp/README.md
2020/08/26 | 653350 | macros/latex/contrib/beilstein/beilstein.pdf
2020/08/26 | 6478384 | systems/win32/w32tex/ptex-ng-w32.tar.xz
-2020/08/26 | 6148 | systems/texlive/tlnet/archive/collection-latexextra.r56182.tar.xz
2020/08/26 | 551819 | graphics/pgf/contrib/yquant.zip
2020/08/26 | 49850 | macros/latex/contrib/beilstein/bjnano_logo.pdf
2020/08/26 | 4661196 | systems/win32/w32tex/dvipdfm-w32.tar.xz
@@ -1890,6 +2295,7 @@
2020/08/25 | 75048 | macros/latex/contrib/qrbill/qrbill.pdf
2020/08/25 | 741568 | systems/texlive/tlnet/archive/fontsetup.doc.r56174.tar.xz
2020/08/25 | 72581 | macros/latex/contrib/leftindex/leftindex.pdf
+2020/08/25 | 66474 | macros/latex/contrib/edichokey/edichokey-ex.pdf
2020/08/25 | 5768 | systems/texlive/tlnet/archive/fontsetup.r56174.tar.xz
2020/08/25 | 529572 | macros/latex/contrib/hecthese/hecthese-en.pdf
2020/08/25 | 503487 | macros/latex/contrib/hecthese/hecthese.pdf
@@ -1900,7 +2306,9 @@
2020/08/25 | 41277 | macros/latex/contrib/qrbill/qrbill.dtx
2020/08/25 | 4014 | macros/latex/contrib/leftindex/leftindex.sty
2020/08/25 | 342228 | systems/texlive/tlnet/archive/pst2pdf.doc.r56172.tar.xz
+2020/08/25 | 3377 | macros/latex/contrib/edichokey/edichokey.sty
2020/08/25 | 273895004 | systems/win32/w32tex/pstricks.tar.xz
+2020/08/25 | 25889 | macros/latex/contrib/edichokey/edichokey-ex.tex
2020/08/25 | 238104 | systems/texlive/tlnet/archive/etoolbox.doc.r56173.tar.xz
2020/08/25 | 20956 | systems/texlive/tlnet/archive/pst2pdf.r56172.tar.xz
2020/08/25 | 17851344 | systems/texlive/tlnet/archive/biber.amd64-freebsd.r56170.tar.xz
@@ -1908,106 +2316,9 @@
2020/08/25 | 15939012 | systems/texlive/tlnet/archive/biber.i386-freebsd.r56170.tar.xz
2020/08/25 | 1539 | macros/latex/contrib/qrbill/qrbill.ins
2020/08/25 | 1462 | macros/latex/contrib/qrbill/README.md
-2020/08/25 | 146168 | fonts/xcharter/opentype/XCharter-Roman.otf
-2020/08/25 | 133196 | fonts/xcharter/opentype/XCharter-BoldSlanted.otf
-2020/08/25 | 131988 | fonts/xcharter/opentype/XCharter-Bold.otf
-2020/08/25 | 130096 | fonts/xcharter/opentype/XCharter-Slanted.otf
2020/08/25 | 125123 | macros/latex/contrib/hecthese/hecthese.dtx
-2020/08/25 | 120068 | fonts/xcharter/opentype/XCharter-Italic.otf
2020/08/25 | 1153 | macros/latex/contrib/qrbill/qrbill_swiss-cross.pdf
2020/08/25 | 11403 | fonts/xcharter/README
-2020/08/25 | 112000 | fonts/xcharter/opentype/XCharter-BoldItalic.otf
2020/08/25 | 1113 | macros/latex/contrib/leftindex/README.md
2020/08/25 | 1107 | macros/latex/contrib/qrbill/qrbill-vocab.csv
2020/08/25 | 1063130 | macros/latex/contrib/hecthese.zip
-2020/08/24 | 9766 | macros/latex/contrib/fontsetup/fspolddefault.sty
-2020/08/24 | 9753 | macros/latex/contrib/fontsetup/fspdefault.sty
-2020/08/24 | 92935 | graphics/pstricks/scripts/pst2pdf/script/pst2pdf.pl
-2020/08/24 | 9052 | systems/texlive/tlnet/archive/mlacls.source.r56166.tar.xz
-2020/08/24 | 88964 | systems/texlive/tlnet/archive/xecjk.source.r56166.tar.xz
-2020/08/24 | 880 | systems/texlive/tlnet/archive/dvisvgm.r56166.tar.xz
-2020/08/24 | 8791728 | systems/texlive/tlnet/archive/libertinus-type1.r56160.tar.xz
-2020/08/24 | 86676 | systems/texlive/tlnet/archive/ctex.source.r56166.tar.xz
-2020/08/24 | 8518139 | fonts/newcomputermodern.zip
-2020/08/24 | 7904 | systems/texlive/tlnet/archive/biblatex-publist.r56166.tar.xz
-2020/08/24 | 74350 | macros/latex/contrib/etoolbox/etoolbox.tex
-2020/08/24 | 7211408 | systems/texlive/tlnet/archive/biblatex.doc.r56166.tar.xz
-2020/08/24 | 71830 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/beamerthemeNord.pdf
-2020/08/24 | 710593 | macros/latex/contrib/fontsetup/doc/fontsetup-doc.pdf
-2020/08/24 | 6708 | fonts/newcomputermodern/README
-2020/08/24 | 66088620 | systems/win32/w32tex/biblatex-biber.tar.xz
-2020/08/24 | 613564 | fonts/newcomputermodern/NewCMSans10-BoldOblique.otf
-2020/08/24 | 606925 | graphics/pgf/contrib/yquant/doc/yquant-doc.pdf
-2020/08/24 | 5324 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/beamercolorthemeNord.sty
-2020/08/24 | 522692 | graphics/pstricks/scripts/pst2pdf.zip
-2020/08/24 | 513436 | systems/texlive/tlnet/archive/biblatex-swiss-legal.doc.r56166.tar.xz
-2020/08/24 | 513156 | fonts/newcomputermodern/NewCMSans10-BookOblique.otf
-2020/08/24 | 495792 | fonts/newcomputermodern/NewCMSans10-Book.otf
-2020/08/24 | 48970 | graphics/pstricks/scripts/pst2pdf/doc/pst2pdf-doc.tex
-2020/08/24 | 46775 | macros/latex/contrib/etoolbox/etoolbox.sty
-2020/08/24 | 4660 | systems/texlive/tlnet/archive/todonotes.r56166.tar.xz
-2020/08/24 | 431424 | systems/texlive/tlnet/archive/todonotes.doc.r56166.tar.xz
-2020/08/24 | 4273 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/beamerthemeNord.tex
-2020/08/24 | 42150 | graphics/pgf/contrib/yquant/tex/yquant-draw.tex
-2020/08/24 | 415992 | fonts/newcomputermodern/NewCM10-Regular.otf
-2020/08/24 | 4132 | macros/latex/contrib/hecthese/hecthese-fr.ins
-2020/08/24 | 3975 | macros/latex/contrib/hecthese/hecthese-en.ins
-2020/08/24 | 393849 | install/macros/latex/contrib/skdoc.tds.zip
-2020/08/24 | 3884 | graphics/pstricks/scripts/pst2pdf/doc/pst2pdf-doc.bib
-2020/08/24 | 387628 | fonts/newcomputermodern/NewCM10-Bold.otf
-2020/08/24 | 383788 | macros/latex/contrib/skdoc.zip
-2020/08/24 | 383765 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/dark-colors.png
-2020/08/24 | 383751 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/light-colors.png
-2020/08/24 | 371 | macros/latex/contrib/fontsetup/README
-2020/08/24 | 370340 | systems/texlive/tlnet/archive/biblatex-publist.doc.r56166.tar.xz
-2020/08/24 | 36336 | systems/texlive/tlnet/archive/texlive-scripts.win32.r56157.tar.xz
-2020/08/24 | 355474 | macros/latex/contrib/skdoc/skdoc.pdf
-2020/08/24 | 341705 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/light-fonts.png
-2020/08/24 | 338478 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/dark-fonts.png
-2020/08/24 | 310584 | systems/texlive/tlnet/archive/updmap-map.r56156.tar.xz
-2020/08/24 | 3001908 | systems/texlive/tlnet/archive/mlacls.doc.r56166.tar.xz
-2020/08/24 | 289989 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/light-usage.png
-2020/08/24 | 286054 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/dark-usage.png
-2020/08/24 | 272956 | fonts/newcomputermodern/NewCMSans10-Bold.otf
-2020/08/24 | 2719 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/beamerthemeNord.sty
-2020/08/24 | 2716 | systems/texlive/tlnet/archive/decision-table.r56164.tar.xz
-2020/08/24 | 270388 | systems/texlive/tlnet/archive/decision-table.doc.r56164.tar.xz
-2020/08/24 | 2628 | systems/texlive/tlnet/archive/mlacls.r56166.tar.xz
-2020/08/24 | 261668 | fonts/newcomputermodern/NewCMSans10-Regular.otf
-2020/08/24 | 24976 | systems/texlive/tlnet/archive/ltximg.r56166.tar.xz
-2020/08/24 | 248162 | install/macros/latex/contrib/etoolbox.tds.zip
-2020/08/24 | 247291 | macros/latex/contrib/etoolbox.zip
-2020/08/24 | 246652 | fonts/newcomputermodern/NewCMSans10-Oblique.otf
-2020/08/24 | 2379 | macros/latex/contrib/etoolbox/etoolbox.def
-2020/08/24 | 237910 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/light-blocks.png
-2020/08/24 | 237824 | systems/texlive/tlnet/archive/biblatex.r56166.tar.xz
-2020/08/24 | 234587 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/dark-blocks.png
-2020/08/24 | 2281 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/README.md
-2020/08/24 | 227908 | macros/latex/contrib/etoolbox/etoolbox.pdf
-2020/08/24 | 2255841 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord.zip
-2020/08/24 | 225496 | systems/texlive/tlnet/archive/ltximg.doc.r56166.tar.xz
-2020/08/24 | 224665 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/light-titlepage.png
-2020/08/24 | 221552 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/dark-titlepage.png
-2020/08/24 | 220060 | systems/texlive/tlnet/archive/xecjk.r56166.tar.xz
-2020/08/24 | 1949 | graphics/pstricks/scripts/pst2pdf/Changes
-2020/08/24 | 18244 | systems/texlive/tlnet/archive/todonotes.source.r56166.tar.xz
-2020/08/24 | 18148 | systems/texlive/tlnet/archive/biblatex-swiss-legal.r56166.tar.xz
-2020/08/24 | 1809 | macros/latex/contrib/skdoc/Makefile
-2020/08/24 | 169630 | graphics/pgf/contrib/yquant/doc/yquant-doc.tex
-2020/08/24 | 16862 | macros/latex/contrib/fontsetup/doc/fontsetup-doc.tex
-2020/08/24 | 1611 | macros/latex/contrib/skdoc/README
-2020/08/24 | 1547684 | systems/texlive/tlnet/archive/xecjk.doc.r56166.tar.xz
-2020/08/24 | 1537 | graphics/pgf/contrib/yquant/tex/yquant.sty
-2020/08/24 | 149752 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/light-toc.png
-2020/08/24 | 1464 | systems/texlive/tlnet/archive/collection-mathscience.r56164.tar.xz
-2020/08/24 | 144908 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/screenshots/dark-toc.png
-2020/08/24 | 1364077 | macros/latex/contrib/fontsetup.zip
-2020/08/24 | 132936 | graphics/pstricks/scripts/pst2pdf/doc/pst2pdf-doc.pdf
-2020/08/24 | 131656 | systems/texlive/tlnet/archive/ctex.r56166.tar.xz
-2020/08/24 | 1309508 | systems/texlive/tlnet/archive/libertinus-type1.doc.r56160.tar.xz
-2020/08/24 | 123881 | macros/latex/contrib/skdoc/skdoc.dtx
-2020/08/24 | 1184 | graphics/pstricks/scripts/pst2pdf/doc/Makefile
-2020/08/24 | 1138188 | fonts/newcomputermodern/NewCM10-Book.otf
-2020/08/24 | 1079868 | systems/texlive/tlnet/archive/ctex.doc.r56166.tar.xz
-2020/08/24 | 1062 | macros/latex/contrib/beamer-contrib/themes/beamerthemenord/beamerfontthemeNord.sty
-2020/08/24 | 102720 | systems/texlive/tlnet/archive/dvisvgm.doc.r56166.tar.xz
diff --git a/info/tlmgrbasics/README b/info/tlmgrbasics/README
index 88979630b5..d5b81524a6 100644
--- a/info/tlmgrbasics/README
+++ b/info/tlmgrbasics/README
@@ -1,4 +1,4 @@
-This is the README for the tlmgrBasics package, version 2020-07-23.
+This is the README for the tlmgrBasics package, version 2020-08-31.
This package provides simplified documentation for tlmgr,
the TeX Live Native Manager. It is derived from tlmgr.1, the
diff --git a/info/tlmgrbasics/doc/tlmgr.pdf b/info/tlmgrbasics/doc/tlmgr.pdf
index 25394a1c10..204a7dc513 100644
--- a/info/tlmgrbasics/doc/tlmgr.pdf
+++ b/info/tlmgrbasics/doc/tlmgr.pdf
Binary files differ
diff --git a/info/tlmgrbasics/doc/tlmgr.tex b/info/tlmgrbasics/doc/tlmgr.tex
index 86f8989d7f..f0c5eb7813 100644
--- a/info/tlmgrbasics/doc/tlmgr.tex
+++ b/info/tlmgrbasics/doc/tlmgr.tex
@@ -144,7 +144,7 @@ are not touched.
\item\texttt{tlmgr search -file cabin}\par
-Search locally installed packages and display all filenames
+Searches locally installed packages and displays all filenames
containing \texttt{cabin}.
\end{description}
@@ -479,7 +479,7 @@ and want new symlinks added; see Section~\ref{path}.
\end{list}
Remove each of the \textsl{pkgs}. Removing a collection
-removes all package dependencies (unless \texttt{-nodepends}
+removes all package dependencies (unless \texttt{-no-depends}
is specified), but not any collection dependencies of that
collection. However, when removing a package, dependencies
are never removed.
@@ -515,11 +515,6 @@ symlinks in system directories; you need to run
yourself if you are using this feature and want stale
symlinks removed; see Section~\ref{path}.
-\begin{list}{}{}
- \item \texttt{tlmgr path [-w32mode=user|admin] add}
- \item \texttt{tlmgr path [--w32mode=user|admin] remove}
-\end{list}
-
\clearpage
\subsection{The {\tt option} Action}
diff --git a/macros/latex-dev/base/README.md b/macros/latex-dev/base/README.md
index 6fcc4e9a1f..0f451408e0 100644
--- a/macros/latex-dev/base/README.md
+++ b/macros/latex-dev/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2020-10-01 pre-release 7
+Release 2020-10-01 pre-release 8
Overview
--------
diff --git a/macros/latex-dev/base/alltt.pdf b/macros/latex-dev/base/alltt.pdf
index 9931c1aa9a..6cd049bbf9 100644
--- a/macros/latex-dev/base/alltt.pdf
+++ b/macros/latex-dev/base/alltt.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cfgguide.pdf b/macros/latex-dev/base/cfgguide.pdf
index 0825e5ce68..481b0118f0 100644
--- a/macros/latex-dev/base/cfgguide.pdf
+++ b/macros/latex-dev/base/cfgguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/changes.txt b/macros/latex-dev/base/changes.txt
index 1ef6f2cd44..e20ac7dfd5 100644
--- a/macros/latex-dev/base/changes.txt
+++ b/macros/latex-dev/base/changes.txt
@@ -6,6 +6,137 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
================================================================================
+2020-08-24 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfssini.dtx:
+ Corrected release guard for \IfFontSeriesContextTF
+
+2020-08-23 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+
+ * ltxref.dtx:
+ added default definition for @currentcounter
+
+2020-08-21 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltdefns.dtx (subsection{Robust commands and protect}):
+ Modified \MakeRobust to define the same csnames as \DeclareRobustCommand
+
+2020-08-21 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx:
+ New code for hook management.
+ Distribute code to other modules as needed.
+
+ * ltfilehook.dtx:
+ New code for file loading.
+ Added hooks to file loading commands.
+ Support file substitution.
+ Distribute code to other modules as needed.
+
+ * ltshipout.dtx:
+ New code for shipout handling and hook management.
+ Added hooks to \shipout.
+ Distribute code to other modules as needed.
+
+ * ltfssaxes.dtx:
+ * ltdefns.dtx:
+ * ltclass.dtx:
+ * ltoutput.dtx:
+ Integration of new hook management code.
+
+ * ltexpl.dtx:
+ Integration of new hook management code.
+ Dropped unused command.
+
+ * ltfiles.dtx:
+ Added hooks in file commands.
+ Integration of new hook management code.
+
+ * ltmiscen.dtx:
+ Added hooks to environments.
+ Integration of new hook management code.
+
+ * ltfssini.dtx:
+ Added hooks in NFSS commands.
+ Integration of new hook management code.
+
+ * ltfinal.dtx:
+ Integration of new hook management code.
+ Move rollback code to right places.
+
+ * ltxdoc.dtx:
+ Use new file loading.
+
+ * source2edoc.cls:
+ Temp class to typeset source2e. Needs fixing or will vanish again.
+
+ * source2e.tex:
+ Add the new modules to the documentation.
+
+2020-08-20 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltplain.dtx: define legacy command \alloc@ in terms of
+ \e@alloc to avoid errors once e-tex registers are needed.
+
+2020-08-19 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltdefns.dtx (subsection{Acting on robust commands}):
+ Added \ShowCommand to the kernel (gh/373)
+
+2020-07-28 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+
+ * ltsect.dtx:
+ added fourth argument to \contentsline in \addcontentsline
+
+2020-08-10 Marcel Krüger <Marcel.Krueger@latex-project.org>
+
+ * ltoutenc.dtx, ltluatex.dtx:
+ Moved \now@and@everyjob to ltluatex and load luatexbase during format building.
+
+ * ltluatex.dtx:
+ new_graf callback type changed to exclusive
+
+2020-08-15 David Carlisle <David.Carlisle@latex-project.org>
+
+ * ltpictur.dtx, ltboxes.dtx:
+ Allow eTeX length expressions in picture coordinates.
+
+2020-08-08 Johannes Braams <Johannes.Braams@latex-project.org>
+
+ * ltclass.dtx:
+ Small optimisation by defining \q@curr@file directly (gh/220)
+
+2020-08-03 Joseph Wright <joseph.wright@latex-project.org>
+
+ * ltluatex.dtx:
+ Correct resetting of allocation counters. (gh/363)
+
+2020-08-01 Marcel Krüger <Marcel.Krueger@latex-project.org>
+
+ * fontdef.dtx, inputenc.dtx, ltfinal.dtx, ltluatex.dtx:
+ More consistently use \Umathcode to check for Unicode-aware engines. (gh/279)
+
+ * ltluatex.dtx:
+ new_graf callback type changed to exclusive
+
+2020-07-27 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltpage.dtx (section| command.):
+ \markboth and \markright should not be \long (gh/354)}
+
+ * ltsect.dtx (subsection{The Title}):
+ \author and \date should not be \long (gh/354)}
+ \title and \thanks kept as \long.
+
+ * ltoutenc.dtx (subsubsection{Declaration commands}):
+ \UseTextAccent and \UseTextSymbol should not be \long (gh/354)}
+
+ * ltmath.dtx (subsubsection{The UNSORTED Rest}):
+ \cases, \matrix and \pmatrix should not be \long (gh/354)}
+
+ * ltpictur.dtx (section{Picture Mode}):
+ \linethickness should not be \long (gh/354)}
+
2020-07-16 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* ltmiscen.dtx: \begin should not be long for better
@@ -93,6 +224,11 @@ are not part of the distribution.
* ltdefns.dtx:
Use primitive \- with LuaTeX
+2020-05-09 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltdefns.dtx (subsection{Robust commands and protect}):
+ Added \DeclareCommandCopy et al. to the kernel (gh/239)
+
2020-05-07 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
* ltxref.dtx:
@@ -117,7 +253,7 @@ are not part of the distribution.
* lttextcomp.dtx (subsection{Sub-encoding 2}):
Make all captial accents text commands in Unicode engines for
- hyperref (gh/332)}
+ hyperref (gh/332)
2020-04-22 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
diff --git a/macros/latex-dev/base/classes.pdf b/macros/latex-dev/base/classes.pdf
index d8f283622a..a9595955b4 100644
--- a/macros/latex-dev/base/classes.pdf
+++ b/macros/latex-dev/base/classes.pdf
Binary files differ
diff --git a/macros/latex-dev/base/clsguide.pdf b/macros/latex-dev/base/clsguide.pdf
index 3bcc695f6b..36e252ad1b 100644
--- a/macros/latex-dev/base/clsguide.pdf
+++ b/macros/latex-dev/base/clsguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cmfonts.pdf b/macros/latex-dev/base/cmfonts.pdf
index ac154a6eea..b1e605544e 100644
--- a/macros/latex-dev/base/cmfonts.pdf
+++ b/macros/latex-dev/base/cmfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/cyrguide.pdf b/macros/latex-dev/base/cyrguide.pdf
index 4ecc0eec71..a7d11ca8f8 100644
--- a/macros/latex-dev/base/cyrguide.pdf
+++ b/macros/latex-dev/base/cyrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/doc.pdf b/macros/latex-dev/base/doc.pdf
index 76dc52e218..e50c8ce8b2 100644
--- a/macros/latex-dev/base/doc.pdf
+++ b/macros/latex-dev/base/doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/docstrip.pdf b/macros/latex-dev/base/docstrip.pdf
index 67d5187d44..71bf27ba33 100644
--- a/macros/latex-dev/base/docstrip.pdf
+++ b/macros/latex-dev/base/docstrip.pdf
Binary files differ
diff --git a/macros/latex-dev/base/encguide.pdf b/macros/latex-dev/base/encguide.pdf
index d54e91c196..5b48fb4ae2 100644
--- a/macros/latex-dev/base/encguide.pdf
+++ b/macros/latex-dev/base/encguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/exscale.pdf b/macros/latex-dev/base/exscale.pdf
index 39cb0b1d14..316da084e6 100644
--- a/macros/latex-dev/base/exscale.pdf
+++ b/macros/latex-dev/base/exscale.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fix-cm.pdf b/macros/latex-dev/base/fix-cm.pdf
index 64c783ef04..08dde0ae9f 100644
--- a/macros/latex-dev/base/fix-cm.pdf
+++ b/macros/latex-dev/base/fix-cm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fntguide.pdf b/macros/latex-dev/base/fntguide.pdf
index 2af45dc5f7..349303e6d4 100644
--- a/macros/latex-dev/base/fntguide.pdf
+++ b/macros/latex-dev/base/fntguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/fontdef.dtx b/macros/latex-dev/base/fontdef.dtx
index 936db0d7a2..632f1c9be5 100644
--- a/macros/latex-dev/base/fontdef.dtx
+++ b/macros/latex-dev/base/fontdef.dtx
@@ -39,7 +39,7 @@
%<driver, >\ProvidesFile{fontdef.drv}
% \fi
% \ProvidesFile{fontdef.dtx}
-%<-latexrelease> [2020/04/24 v3.0h LaTeX Kernel
+%<-latexrelease> [2020/08/01 v3.0i LaTeX Kernel
% \iftrue (\else
%<text, >(Text
%<math, >(Math
@@ -269,7 +269,7 @@
%
% \changes{v3.0a}{2016/12/03}{(DPC) Default to TU encoding for Unicode TeX engines}
% \begin{macrocode}
-\ifx\Umathchar\@undefined
+\ifx\Umathcode\@undefined
% \end{macrocode}
%
% We then set the default text font encoding. This will
@@ -436,7 +436,7 @@
% The following three definitions set up the meaning for
% |\rmfamily|, |\sffamily|, and |\ttfamily|.
% \begin{macrocode}
-\ifx\Umathchar\@undefined
+\ifx\Umathcode\@undefined
\newcommand\encodingdefault{OT1}
\newcommand\rmdefault{cmr}
\newcommand\sfdefault{cmss}
@@ -451,7 +451,7 @@
%</text>
%<latexrelease>\IncludeInRelease{2017/01/01}%
%<latexrelease> {\encodingdefault}{TU encoding default}%
-%<latexrelease>\ifx\Umathchar\@undefined
+%<latexrelease>\ifx\Umathcode\@undefined
%<latexrelease>\renewcommand\encodingdefault{OT1}
%<latexrelease>\fontencoding{\encodingdefault}
%<latexrelease>\renewcommand\rmdefault{cmr}
diff --git a/macros/latex-dev/base/format.ins b/macros/latex-dev/base/format.ins
index 5d96b5e1f3..bad21debd2 100644
--- a/macros/latex-dev/base/format.ins
+++ b/macros/latex-dev/base/format.ins
@@ -162,7 +162,11 @@ the system are in the document `cfgguide.tex'.
\from{ltplain.dtx}{2ekernel}
\from{ltvers.dtx}{2ekernel}
\from{ltluatex.dtx}{2ekernel}
+% This is done as soon as possible here before \texttt{ltdefns.dtx} so that
+% we have the extensions as soon as possible.
+ \from{ltexpl.dtx}{2ekernel} % expl3-based extensions
\from{ltdefns.dtx}{2ekernel}
+ \from{lthooks.dtx}{2ekernel} % L3 layer module
\from{ltalloc.dtx}{2ekernel}
\from{ltcntrl.dtx}{2ekernel}
\from{lterror.dtx}{2ekernel}
@@ -195,8 +199,10 @@ the system are in the document `cfgguide.tex'.
\from{ltidxglo.dtx}{2ekernel}
\from{ltbibl.dtx}{2ekernel}
\from{ltpage.dtx}{2ekernel}
+ \from{ltclass.dtx}{2ekernel,tracerollback}
+ \from{ltfilehook.dtx}{2ekernel} % L3 layer module
+ \from{ltshipout.dtx}{2ekernel} % L3 layer module
\from{ltoutput.dtx}{2ekernel}
- \from{ltclass.dtx}{2ekernel,tracerollback}
\from{ltfinal.dtx}{2ekernel}}
\file{tracefnt.sty}{%
\from{ltfsstrc.dtx}{package,trace}}
@@ -225,8 +231,19 @@ the system are in the document `cfgguide.tex'.
}
-% expl3-based extensions
-\generate{\file{ltexpl.ltx}{\from{ltexpl.dtx}{2ekernel}}}
+% hook management support
+
+\generate{\file{everyshi-ltx.sty}{\from{ltshipout.dtx}{everyshi-ltx}}} % emulating everyshi
+\generate{\file{atbegshi-ltx.sty}{\from{ltshipout.dtx}{atbegshi-ltx}}} % emulating atbegshi
+\generate{\file{atveryend-ltx.sty}{\from{ltfilehook.dtx}{atveryend-ltx}}} % emulating atveryend
+
+\generate{\file{structuredlog.sty}{\from{ltfilehook.dtx}{structuredlog}}}
+
+%drafts to get removed
+\generate{\file{filehook-ltx.sty}{\from{ltfilehook.dtx}{filehook-draft}}}
+\generate{\file{srclfile-ltx.sty}{\from{ltfilehook.dtx}{scrlfile-draft}}}
+
+
% luatex support (TeX part)
diff --git a/macros/latex-dev/base/graphpap.pdf b/macros/latex-dev/base/graphpap.pdf
index 8228eeef94..274b50ae08 100644
--- a/macros/latex-dev/base/graphpap.pdf
+++ b/macros/latex-dev/base/graphpap.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ifthen.pdf b/macros/latex-dev/base/ifthen.pdf
index c4a2758d2d..9e3fc6c42f 100644
--- a/macros/latex-dev/base/ifthen.pdf
+++ b/macros/latex-dev/base/ifthen.pdf
Binary files differ
diff --git a/macros/latex-dev/base/inputenc.dtx b/macros/latex-dev/base/inputenc.dtx
index 01a8303ecf..c1d08b4830 100644
--- a/macros/latex-dev/base/inputenc.dtx
+++ b/macros/latex-dev/base/inputenc.dtx
@@ -410,7 +410,7 @@
%<cp1252&!ansinew> \ProvidesFile{cp1252.def}
%<cp1250> \ProvidesFile{cp1250.def}
%<cp1257> \ProvidesFile{cp1257.def}
- [2020/04/14 v1.3c Input encoding file]
+ [2020/08/01 v1.3d Input encoding file]
%<cp850>%%
%<cp850>%% If you need a Euro symbol, try cp858 instead.
%<cp850>%%
@@ -545,7 +545,7 @@
% produces a warning message if no suitable definitions get read.
%
% \begin{macrocode}
-\ifx\Umathchar\@undefined
+\ifx\Umathcode\@undefined
% \end{macrocode}
%
% \begin{macrocode}
diff --git a/macros/latex-dev/base/inputenc.pdf b/macros/latex-dev/base/inputenc.pdf
index a9e5de1101..30351e71e5 100644
--- a/macros/latex-dev/base/inputenc.pdf
+++ b/macros/latex-dev/base/inputenc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latex209.dtx b/macros/latex-dev/base/latex209.dtx
index 6523e65286..d08a8001b5 100644
--- a/macros/latex-dev/base/latex209.dtx
+++ b/macros/latex-dev/base/latex209.dtx
@@ -200,7 +200,7 @@
% \end{macrocode}
% Describe the file.
% \begin{macrocode}
-\ProvidesFile{latex209.def}[2018/08/11 v0.54 Standard LaTeX file]
+\ProvidesFile{latex209.def}[2020/08/21 v0.55 Standard LaTeX file]
% \end{macrocode}
% \changes{v0.24}{1994/05/14}{Removed date.}
% \changes{v0.40}{1995/03/21}
@@ -469,6 +469,12 @@
\saved@missingfileerror{#1}{#2}%
\fi
}
+\@ifundefined{@missing@onefilewithoptions}{}{%
+ \def\@missing@onefilewithoptions#1{%
+ \@pass@ptions\@currext{#1}{\@currname}%
+ \@missingfileerror\@currname\@currext
+ \let\@currname\@empty}%
+}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/base/latexchanges.pdf b/macros/latex-dev/base/latexchanges.pdf
index 41cbf57ca1..6179a01f11 100644
--- a/macros/latex-dev/base/latexchanges.pdf
+++ b/macros/latex-dev/base/latexchanges.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexrelease.ins b/macros/latex-dev/base/latexrelease.ins
index ff55e7d8c0..99af17e8fb 100644
--- a/macros/latex-dev/base/latexrelease.ins
+++ b/macros/latex-dev/base/latexrelease.ins
@@ -86,7 +86,9 @@ extension .ins) which are part of the distribution.
\from{ltvers.dtx} {latexrelease}%
\from{latexrelease.dtx}{latexrelease}%
\from{ltdirchk.dtx} {latexrelease}%
+ \from{ltexpl.dtx} {latexrelease}% empty
\from{ltdefns.dtx} {latexrelease}%
+ \from{lthooks.dtx} {latexrelease}% empty % L3 layer module
\from{ltalloc.dtx} {latexrelease}% empty
\from{ltcntrl.dtx} {latexrelease}% empty
\from{lterror.dtx} {latexrelease}% empty
@@ -106,6 +108,8 @@ extension .ins) which are part of the distribution.
\from{ltidxglo.dtx} {latexrelease}% empty
\from{ltbibl.dtx} {latexrelease}% empty
\from{ltpage.dtx} {latexrelease}% empty
+ \from{ltfilehook.dtx} {latexrelease}% empty % L3 layer module
+ \from{ltshipout.dtx} {latexrelease}% empty % L3 layer module
\from{ltoutput.dtx} {latexrelease}%
\from{ltclass.dtx} {latexrelease,tracerollback}%
\from{ltspace.dtx} {latexrelease}%
diff --git a/macros/latex-dev/base/latexrelease.pdf b/macros/latex-dev/base/latexrelease.pdf
index d2e28e7b3e..becb06fbb4 100644
--- a/macros/latex-dev/base/latexrelease.pdf
+++ b/macros/latex-dev/base/latexrelease.pdf
Binary files differ
diff --git a/macros/latex-dev/base/latexsym.pdf b/macros/latex-dev/base/latexsym.pdf
index e50c21e049..46dbdde61a 100644
--- a/macros/latex-dev/base/latexsym.pdf
+++ b/macros/latex-dev/base/latexsym.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lb2.pdf b/macros/latex-dev/base/lb2.pdf
index 675ad85fe3..7c639fccb2 100644
--- a/macros/latex-dev/base/lb2.pdf
+++ b/macros/latex-dev/base/lb2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/letter.pdf b/macros/latex-dev/base/letter.pdf
index afc2790ef9..7670c796fe 100644
--- a/macros/latex-dev/base/letter.pdf
+++ b/macros/latex-dev/base/letter.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lgc2.pdf b/macros/latex-dev/base/lgc2.pdf
index 9dd6a2d932..9c29edd755 100644
--- a/macros/latex-dev/base/lgc2.pdf
+++ b/macros/latex-dev/base/lgc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lppl.pdf b/macros/latex-dev/base/lppl.pdf
index fbb4dfd8a5..1d3697bc5b 100644
--- a/macros/latex-dev/base/lppl.pdf
+++ b/macros/latex-dev/base/lppl.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltboxes.dtx b/macros/latex-dev/base/ltboxes.dtx
index 051922b6f3..e5d5c9264d 100644
--- a/macros/latex-dev/base/ltboxes.dtx
+++ b/macros/latex-dev/base/ltboxes.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltboxes.dtx}
- [2020/03/06 v1.3c LaTeX Kernel (Box Commands)]
+ [2020/10/01 v1.4a LaTeX Kernel (Box Commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltboxes.dtx}
@@ -365,8 +365,13 @@
% \begin{macro}{\@imakepicbox}
% picture mode version
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@imakepicbox}{default units}%
\long\def\@imakepicbox(#1,#2)[#3]#4{%
- \vbox to#2\unitlength
+ \@defaultunitsset\@tempdimc{#2}\unitlength
+ \vbox to\@tempdimc
{\let\mb@b\vss \let\mb@l\hss\let\mb@r\hss
\let\mb@t\vss
\@tfor\reserved@a :=#3\do{%
@@ -376,15 +381,38 @@
\expandafter\let\csname mb@\reserved@a\endcsname\relax
\fi}%
\mb@t
- \hb@xt@ #1\unitlength{\mb@l #4\mb@r}%
+ \@defaultunitsset\@tempdimc{#1}\unitlength
+ \hb@xt@\@tempdimc{\mb@l #4\mb@r}%
\mb@b
% \end{macrocode}
% This kern ensures that a |b| option aligns on the bottom of the
% text rather than the baseline. this is the documented behaviour in
-% the \LaTeX Book. The kern is removed in compatibility mode.
+% the \LaTeX\ Book. The kern is removed in compatibility mode.
% \begin{macrocode}
\kern\z@}}
+%</2ekernel|latexrelease>
% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@imakepicbox}{default units}%
+%<latexrelease>\long\def\@imakepicbox(#1,#2)[#3]#4{%
+%<latexrelease> \vbox to#2\unitlength
+%<latexrelease> {\let\mb@b\vss \let\mb@l\hss\let\mb@r\hss
+%<latexrelease> \let\mb@t\vss
+%<latexrelease> \@tfor\reserved@a :=#3\do{%
+%<latexrelease> \if s\reserved@a
+%<latexrelease> \let\mb@l\relax\let\mb@r\relax
+%<latexrelease> \else
+%<latexrelease> \expandafter\let\csname mb@\reserved@a\endcsname\relax
+%<latexrelease> \fi}%
+%<latexrelease> \mb@t
+%<latexrelease> \hb@xt@ #1\unitlength{\mb@l #4\mb@r}%
+%<latexrelease> \mb@b
+%<latexrelease> \kern\z@}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macro}
%
%
diff --git a/macros/latex-dev/base/ltclass.dtx b/macros/latex-dev/base/ltclass.dtx
index 152adf82ff..7b1dbc8127 100644
--- a/macros/latex-dev/base/ltclass.dtx
+++ b/macros/latex-dev/base/ltclass.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2020/06/05 v1.3l LaTeX Kernel (Class & Package Interface)]
+ [2020/08/29 v1.3p LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -44,6 +44,9 @@
\date{\filedate}
\MaintainedByLaTeXTeam{latex}
\maketitle
+
+ \providecommand\pkg[1]{\texttt{#1}}
+
\DocInput{\filename}
\end{document}
%</driver>
@@ -64,6 +67,7 @@
% \changes{v1.0l}{1994/11/17}{\cs{@tempa} to \cs{reserved@a}}
% \changes{v1.0z}{1998/03/21}{Added to documentation of filecontents}
% \changes{v1.1c}{1998/08/17}{(RmS) Minor documentation fixes.}
+% \changes{v1.3o}{2020/08/21}{Integration of new hook management interface}
%
%
% \section{Introduction}
@@ -256,8 +260,9 @@
% \PassOptionsToPackage{foo,bar}{fred}
% \RequirePackage[baz]{fred}\end{verbatim}
% is the same as:
-% \begin{verbatim}
-% \RequirePackage[foo,bar,baz]{fred}\end{verbatim}
+%\begin{verbatim}
+% \RequirePackage[foo,bar,baz]{fred}
+%\end{verbatim}
%
% \DescribeMacro\LoadClassWithOptions
% |\LoadClassWithOptions|\marg{name}\oarg{version}:\\
@@ -458,7 +463,9 @@
% \end{macro}
%
% \begin{macro}{\@documentclasshook}
-% The hook called after the first |\documentclass| command. By
+% This legacy hook is called after the first |\documentclass| command.
+% It is \emph{not} integrated with the new 2020 hook management system!
+% By
% default this checks to see if |\@normalsize| is undefined, and if
% so, sets it to |\normalsize|.
% \changes{v0.2q}{1993/12/17}
@@ -561,6 +568,16 @@
%<latexrelease>\IncludeInRelease{2020/10/01}{\@pushfilename}%
%<latexrelease> {Add \@expl@push@filename@@ and \@expl@push@filename@aux@@}%
\def\@pushfilename{%
+% \end{macrocode}
+% The push and pop macros are injected in \cs{@pushfilename} and
+% \cs{@popfilename} so that they correctly keep track of the hook
+% labels.
+%
+% This needs cleanup with the \pkg{expl3} interfaces also playing
+% here, e.g., \cs{@expl@push@filename@@} needs cleanup and (and
+% should probably not have this name either).
+% \begin{macrocode}
+ \@expl@@@hook@curr@name@push@@n{}%
\@expl@push@filename@@
\xdef\@currnamestack{%
{\@currname}%
@@ -582,16 +599,21 @@
\@onlypreamble\@pushfilename
% \end{macrocode}
%
+%
+%
+%
+%
% \changes{v1.3l}{2020/06/05}{Added \cs{@expl@pop@filename@@}}
% \begin{macrocode}
%<latexrelease>
%<latexrelease>\IncludeInRelease{2020/10/01}{\@popfilename}%
%<latexrelease> {Add \@expl@pop@filename@@}%
-\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil
+\def\@popfilename{\@expl@@@hook@curr@name@pop@@
+ \expandafter\@p@pfilename\@currnamestack\@nil
\@expl@pop@filename@@}
%<latexrelease>\EndIncludeInRelease
%<latexrelease>
-%<latexrelease>\IncludeInRelease{0000/00/00}{\@pushfilename}%
+%<latexrelease>\IncludeInRelease{0000/00/00}{\@popfilename}%
%<latexrelease> {Add \@expl@push@filename@@ and \@expl@push@filename@aux@@}%
%<latexrelease>\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil}
%<latexrelease>\EndIncludeInRelease
@@ -603,6 +625,8 @@
%<*2ekernel>
% \end{macrocode}
%
+%
+%
% \begin{macrocode}
\def\@p@pfilename#1#2#3#4\@nil{%
\gdef\@currname{#1}%
@@ -1609,6 +1633,11 @@
\@onlypreamble\@fileswith@pti@ns
% \end{macrocode}
%
+
+
+% \begin{macro}{\load@onefilewithoptions}
+% This macro is used when loading packages or classes.
+%
% Have the main argument as |#1|, so we only need one |\expandafter|
% above.
% \changes{v0.2a}{1993/11/14}
@@ -1625,55 +1654,171 @@
%</2ekernel>
%<*2ekernel|latexrelease>
%<latexrelease>\IncludeInRelease{2020/10/01}%
-%<latexrelease> {\@onefilewithoptions}{Unused options issue}%
+%<latexrelease> {\@onefilewithoptions}{Hooks and unused options issue}%
\def\@onefilewithoptions#1[#2][#3]#4{%
\@pushfilename
\xdef\@currname{#1}%
\global\let\@currext#4%
+% \end{macrocode}
+% The command \cs{ver@\meta{file}.\meta{ext}} is used to signal that
+% a package is already loaded, either because it is in fact loaded, or
+% because it's loading was suppressed. In minimal installations, said
+% package may not exist but still have its loading suppressed with
+% \cs{ver@\meta{file}.\meta{ext}}, so before checking if the file
+% exists we have to check that we do need to load it with
+% \cs{@ifl@aded}. If we don't, then there's no point in checking for
+% a typo or load-disabling.
+% \begin{macrocode}
+ \@ifl@aded\@currext\@currname
+% \end{macrocode}
+% If the package is already loaded, check that there were no option
+% clashes:
+% \changes{v1.1b}{1998/05/07}
+% {Modify help message for latex/2805}
+% \begin{macrocode}
+ {\@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}%
+ {\makeatletter
+% \end{macrocode}
+% The next line seems to be necessary for 2.09 compatibility (the
+% way the code is written there) This seems questionable and should be
+% look at as in 2e it is definitely unnecessary at this point!
+% \begin{macrocode}
+ \@reset@ptions
+% \end{macrocode}
+% First we take the \meta{name} and \meta{ext} given in the argument
+% and check if the file exists, and issue an error otherwise asking
+% for a correction with \cs{@missingfileerror}.
+% \begin{macrocode}
+ \IfFileExists{\@currname.\@currext}{}%
+ {\@missing@onefilewithoptions{#2}}%
+% \end{macrocode}
+% If \cs{@currname} is empty (the user replied to the ``Enter file
+% name'' prompt with \meta{RETURN}), so stop here
+% (do \cs{@popfilename} to pop the item just added above).
+%
+% This \cs{@gobble} omits the date check at the end.
+% \begin{macrocode}
+ \ifx\@currname\@empty
+ \expandafter\@gobble
+ \else
+% \end{macrocode}
+% If the file exists, check if it was load-prevented, and otherwise
+% do the bookkeeping with \cs{@filehook@file@push}
+% then call \cs{set@curr@file} to set \cs{@curr@file} (and do any
+% required substitution), then actually load the class/package with
+% \cs{load@onefile@withoptions}.
+% \begin{macrocode}
+ \@disable@packageload@do{\@currname.\@currext}%
+ {\@expl@@@filehook@file@push@@
+ \set@curr@file{\@currname.\@currext}%
+ \@filehook@set@CurrentFile
+ \load@onefile@withoptions{#2}%
+% \end{macrocode}
+% Now just clean up and exit.
+% \begin{macrocode}
+ \@expl@@@filehook@file@pop@@}%
+ \expandafter\@firstofone
+ \fi}%
+% \end{macrocode}
+% Except in the case where \cs{@currname} is empty, the date is
+% checked against the date marked in the package file:
+% \begin{macrocode}
+ {\@ifl@ter\@currext{\@currname}{#3}{}%
+ {\@latex@warning@no@line
+ {You have requested,\on@line,
+ version\MessageBreak
+ `#3' of \@cls@pkg\space \@currname,\MessageBreak
+ but only version\MessageBreak
+ `\csname ver@\@currname.\@currext\endcsname'\MessageBreak
+ is available}}%
+% \end{macrocode}
+% \changes{v0.2c}{1993/11/17}
+% {Added trap for two \cs{LoadClass} commands.}
+% \begin{macrocode}
+ \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi}%
+ \@popfilename
+ \@reset@ptions}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\@onlypreamble\@onefilewithoptions
+% \end{macrocode}
+%
+% The kernel no longer uses \cs{@unprocessedoptions}
+% \begin{macrocode}
+\let\@unprocessedoptions\@undefined
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\@missing@onefilewithoptions}
+% Now the action taken when a file is not found.
+% \begin{macrocode}
+\def\@missing@onefilewithoptions#1{%
+ \@missingfileerror\@currname\@currext
+ \xdef\@currname{\@missingfile@area\@missingfile@base}%
+ \global\let\@currext\@missingfile@ext}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\load@onefile@withoptions}
+% Now the code that actually does the file loading:
+% \begin{macrocode}
+\def\load@onefile@withoptions#1{%
\let\CurrentOption\@empty
\@reset@ptions
- \makeatletter
% \end{macrocode}
% Grab everything in a macro, so the parameter stack is popped before
% any processing begins.
% \changes{v0.2s}{1994/01/17}
% {Modify to reduce parameter stack usage}
-% \changes{v1.1b}{1998/05/07}
-% {Modify help message for latex/2805}
% \begin{macrocode}
\def\reserved@a{%
- \@ifl@aded\@currext{#1}%
- {\@if@ptions\@currext{#1}{#2}{}%
- {\@latex@error
- {Option clash for \@cls@pkg\space #1}%
- {The package #1 has already been loaded
- with options:\MessageBreak
- \space\space[\@ptionlist{#1.\@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{#1.\@currext},#2\MessageBreak
- to your \noexpand\documentclass declaration may fix this.%
- \MessageBreak
- Try typing \space <return> \space to proceed.}}}%
- {\@pass@ptions\@currext{#2}{#1}%
-% \end{macrocode}
-% \changes{v0.3c}{1994/03/12}
-% {Do not use \cs{@pr@videpackage} to avoid typeout}
-% \begin{macrocode}
- \global\expandafter
- \let\csname ver@\@currname.\@currext\endcsname\@empty
+ \@pass@ptions\@currext{#1}{\@currname}%
+ \global\expandafter
+ \let\csname ver@\@currname.\@currext\endcsname\@empty
% \end{macrocode}
% We initialize \cs{...-h@@k} here and only if we load the file so that it
% remains undefined otherwise.
% \begin{macrocode}
- \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
- \InputIfFileExists
- {\@currname.\@currext}%
- {}%
- {\@missingfileerror\@currname\@currext}%
+ \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
+% \end{macrocode}
+% When the current extension is \cs{@pkgextension} we are loading a
+% package otherwise, if it is \cs{@clsextension}, a class, so
+% depending on that we execute different hooks. If the extension is
+% neither, then it is another type of file without special hooks.
+% \begin{macrocode}
+%-----------------------------------------
+ \ifx\@currext\@pkgextension
+ \UseHook{package/before}%
+ \UseHook{package/before/\@currname}%
+ \else
+ \ifx\@currext\@clsextension
+ \UseHook{class/before}%
+ \UseHook{class/before/\@currname}%
+ \fi
+ \fi
+% \end{macrocode}
+% Now actually load the file (at this point we are certain it exists,
+% but use \cs{InputIfFileExists} so that file hooks are executed):
+% \begin{macrocode}
+ \InputIfFileExists{\@currname.\@currext}{}{}%
+%-----------------------------------------
% \end{macrocode}
% In older versions of the code |\@unprocessedoptions| would
% generate an error for each specified
@@ -1717,44 +1862,39 @@
% \begin{macrocode}
\expandafter\let
\csname unprocessedoptions-\@currname.\@currext\endcsname
- \@undefined}%
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@ifl@ter\@currext{#1}{#3}{}%
- {\@latex@warning@no@line
- {You have requested,\on@line,
- version\MessageBreak
- `#3' of \@cls@pkg\space #1,\MessageBreak
- but only version\MessageBreak
- `\csname ver@#1.\@currext\endcsname'\MessageBreak
- is available}}%
+ \@undefined
% \end{macrocode}
-% \changes{v0.2c}{1993/11/17}
-% {Added trap for two \cs{LoadClass} commands.}
+% And same procedure, James, when we are finished loading, except
+% that the hook order is now reversed.
% \begin{macrocode}
- \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi
- \@popfilename
- \@reset@ptions}%
+%-----------------------------------------
+ \ifx\@currext\@pkgextension
+ \UseHook{package/after/\@currname}%
+ \UseHook{package/after}%
+ \else
+ \ifx\@currext\@clsextension
+ \UseHook{class/after/\@currname}%
+ \UseHook{class/after}%
+ \fi
+ \fi}%
+%-----------------------------------------
\reserved@a}
-\@onlypreamble\@onefilewithoptions
% \end{macrocode}
-%
-% The kernel no longer uses \cs{@unprocessedoptions}
+% \end{macro}
+%
% \begin{macrocode}
-\let\@unprocessedoptions\@undefined
+%</2ekernel|latexrelease>
% \end{macrocode}
%
% \begin{macrocode}
-%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\@onefilewithoptions}{Unused options issue}%
+%<latexrelease> {\@onefilewithoptions}{Hooks and unused options issue}%
%<latexrelease>
% \end{macrocode}
% Because of the way \cs{@onfilewithoptions} is changed for
% rollback handling below we have to define
-% \cs{load@onefilewithoptions} when rollowing back!
+% \cs{load@onefilewithoptions} when rolling back!
% \begin{macrocode}
%<latexrelease>\def\load@onefilewithoptions#1[#2][#3]#4{%
%<latexrelease> \@pushfilename
@@ -1805,6 +1945,10 @@
%<latexrelease> \@popfilename
%<latexrelease> \@reset@ptions}%
%<latexrelease> \reserved@a}
+%<latexrelease>
+%<latexrelease>\let \load@onefile@withoptions \@undefined
+%<latexrelease>\let \@missing@onefilewithoptions \@undefined
+%<latexrelease>
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
@@ -1846,7 +1990,7 @@
%
% \subsection{Hooks}
%
-% Allow code do be saved to be executed at specific later times.
+% Allow code to be saved to be executed at specific later times.
%
% Save things in macros, I considered using toks registers, (and
% |\addto@hook| from the NFSS code, that would require stacking the
@@ -1866,25 +2010,6 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\g@addto@macro}
-% Globally add to the end of a macro.
-% \changes{v0.2a}{1993/11/14}{Made global}
-% \changes{v0.2w}{1994/01/31}
-% {Use toks register to avoid `hash' problems}
-% \changes{v1.0o}{1995/05/17}
-% {Make long for latex/1522}
-% \changes{v1.0w}{1996/12/17}
-% {Use \cs{begingroup} to save making a mathord}
-% \changes{v1.0x}{1997/02/05}
-% {missing percent /2402}
-% \begin{macrocode}
-\long\def\g@addto@macro#1#2{%
- \begingroup
- \toks@\expandafter{#1#2}%
- \xdef#1{\the\toks@}%
- \endgroup}
-% \end{macrocode}
-% \end{macro}
%
% \begin{macro}{\AtEndOfPackage}
% \begin{macro}{\AtEndOfClass}
@@ -1903,8 +2028,29 @@
% \end{macrocode}
%
% \begin{macrocode}
-\DeclareRobustCommand\AtBeginDocument{\g@addto@macro\@begindocumenthook}
-\DeclareRobustCommand\AtEndDocument{\g@addto@macro\@enddocumenthook}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\AtBeginDocument}{Use hook system}%
+\DeclareRobustCommand\AtBeginDocument{\AddToHook{begindocument}}
+\DeclareRobustCommand\AtEndDocument {\AddToHook{enddocument}}
+%\DeclareRobustCommand\AtEndDocument {\AddToHook{env/document/end}} % alternative impl
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\AtBeginDocument}{Use hook system}%
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\AtBeginDocument{\g@addto@macro\@begindocumenthook}
+%<latexrelease>\DeclareRobustCommand\AtEndDocument{\g@addto@macro\@enddocumenthook}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+% \begin{macrocode}
\@onlypreamble\AtBeginDocument
% \end{macrocode}
% \end{macro}
@@ -2036,8 +2182,8 @@
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2019/10/01}%
-%<latexrelease> {\filec@ntents}{Spaces in file names + optional arg}%
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\filec@ntents}{Define \q@curr@file directly (gh/220)}%
%
% \end{macrocode}
% We use |@tempswa| to mean no preamble writing and reuse |@filesw|
@@ -2080,7 +2226,7 @@
\let\filec@ntents@noheader\@tempswafalse
% \end{macrocode}
% Option \texttt{nosearch} only checks the current directory not
-% the how \TeX{} tree for the existence of the file to write.
+% the whole \TeX{} tree for the existence of the file to write.
% \begin{macrocode}
\def\filec@ntents@nosearch{%
\let\filec@ntents@checkdir\@currdir
@@ -2106,10 +2252,12 @@
\catcode`\^^I\active%
% \end{macrocode}
%
+% \changes{v1.3m}{2020-08-08}{define \cs{q@curr@file} directly as the
+% quotes have already been removed (gh/220)}
% \begin{macrocode}
\gdef\filec@ntents#1{%
\set@curr@file{\filec@ntents@checkdir#1}%
- \edef\q@curr@file{\expandafter\quote@name\expandafter{\@curr@file}}%
+ \edef\q@curr@file{"\@curr@file"}%
% \end{macrocode}
%
% Lua\TeX\ has more writes (and 18 is safe here).
@@ -2270,6 +2418,136 @@
% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\filec@ntents}{Spaces in file names + optional arg}%
+%<latexrelease>\def\filecontents{\@tempswatrue\@fileswtrue
+%<latexrelease> \@ifnextchar[\filec@ntents@opt\filec@ntents
+%<latexrelease>}
+%<latexrelease>\@namedef{filecontents*}{\@tempswafalse\@fileswtrue
+%<latexrelease> \@ifnextchar[\filec@ntents@opt\filec@ntents
+%<latexrelease>}
+%<latexrelease>\def\filec@ntents@opt[#1]{%
+%<latexrelease> \edef\@fortmp{\zap@space#1 \@empty}%
+%<latexrelease> \@for\reserved@a:=\@fortmp\do{%
+%<latexrelease> \ifcsname filec@ntents@\reserved@a\endcsname
+%<latexrelease> \csname filec@ntents@\reserved@a\endcsname
+%<latexrelease> \else
+%<latexrelease> \@latex@error{Unknown filecontents option \reserved@a}%
+%<latexrelease> {Valid options are force (or overwrite), nosearch, noheader}%
+%<latexrelease> \fi}%
+%<latexrelease> \filec@ntents
+%<latexrelease>}
+%<latexrelease>\let\filec@ntents@force\@fileswfalse
+%<latexrelease>\let\filec@ntents@overwrite\@fileswfalse % alternative name
+%<latexrelease>\let\filec@ntents@noheader\@tempswafalse
+%<latexrelease>\def\filec@ntents@nosearch{%
+%<latexrelease> \let\filec@ntents@checkdir\@currdir
+%<latexrelease> \def\filec@ntents@where{in current directory}}
+%<latexrelease>\let\filec@ntents@checkdir\@empty
+%<latexrelease>\def\filec@ntents@where{exists on the system}
+%<latexrelease>\begingroup%
+%<latexrelease>\@tempcnta=1
+%<latexrelease>\loop
+%<latexrelease> \catcode\@tempcnta=12 %
+%<latexrelease> \advance\@tempcnta\@ne %
+%<latexrelease>\ifnum\@tempcnta<32 %
+%<latexrelease>\repeat %
+%<latexrelease>\catcode`\*=11 %
+%<latexrelease>\catcode`\^^M\active%
+%<latexrelease>\catcode`\^^L\active\let^^L\relax%
+%<latexrelease>\catcode`\^^I\active%
+%<latexrelease>\gdef\filec@ntents#1{%
+%<latexrelease> \set@curr@file{\filec@ntents@checkdir#1}%
+%<latexrelease> \edef\q@curr@file{\expandafter\quote@name\expandafter{\@curr@file}}%
+%<latexrelease> \chardef\reserved@c\ifx\directlua\@undefined 15 \else 127 \fi%
+%<latexrelease> \openin\@inputcheck\q@curr@file \space %
+%<latexrelease> \ifeof\@inputcheck%
+%<latexrelease> \@latex@warning@no@line%
+%<latexrelease> {Writing file `\@currdir\@curr@file'}%
+%<latexrelease> \ch@ck7\reserved@c\write\relax%
+%<latexrelease> \immediate\openout\reserved@c\q@curr@file\relax%
+%<latexrelease> \else%
+%<latexrelease> \if@filesw%
+%<latexrelease> \@latex@warning@no@line%
+%<latexrelease> {File `\@curr@file' already \filec@ntents@where.\MessageBreak%
+%<latexrelease> Not generating it from this source}%
+%<latexrelease> \let\write\@gobbletwo%
+%<latexrelease> \let\closeout\@gobble%
+%<latexrelease> \else%
+%<latexrelease> \edef\reserved@a{#1}%
+%<latexrelease> \edef\reserved@a{\detokenize\expandafter{\reserved@a}}%
+%<latexrelease> \edef\reserved@b{\detokenize\expandafter{\jobname}}%
+%<latexrelease> \ifx\reserved@a\reserved@b%
+%<latexrelease> \@fileswtrue%
+%<latexrelease> \else%
+%<latexrelease> \edef\reserved@b{\reserved@b\detokenize{.tex}}%
+%<latexrelease> \ifx\reserved@a\reserved@b
+%<latexrelease> \@fileswtrue%
+%<latexrelease> \fi%
+%<latexrelease> \fi%
+%<latexrelease> \ch@ck7\reserved@c\write\relax%
+%<latexrelease> \if@filesw% % Foul ... trying to overwrite \jobname!
+%<latexrelease> \@latex@error{Trying to overwrite `\jobname.tex'}{You can't %
+%<latexrelease> write to the file you are reading from!\MessageBreak%
+%<latexrelease> Data is written to screen instead.}%
+%<latexrelease> \else%
+%<latexrelease> \@latex@warning@no@line%
+%<latexrelease> {Writing or overwriting file `\@currdir\@curr@file'}%
+%<latexrelease> \immediate\openout\reserved@c\q@curr@file\relax%
+%<latexrelease> \fi%
+%<latexrelease> \fi%
+%<latexrelease> \fi%
+%<latexrelease> \closein\@inputcheck%
+%<latexrelease> \if@tempswa%
+%<latexrelease> \immediate\write\reserved@c{%
+%<latexrelease> \@percentchar\@percentchar\space%
+%<latexrelease> \expandafter\@gobble\string\LaTeX2e file `\@curr@file'^^J%
+%<latexrelease> \@percentchar\@percentchar\space generated by the %
+%<latexrelease> `\@currenvir' \expandafter\@gobblefour\string\newenvironment^^J%
+%<latexrelease> \@percentchar\@percentchar\space from source `\jobname' on %
+%<latexrelease> \number\year/\two@digits\month/\two@digits\day.^^J%
+%<latexrelease> \@percentchar\@percentchar}%
+%<latexrelease> \fi%
+%<latexrelease> \let\do\@makeother\dospecials%
+%<latexrelease> \count@ 128\relax%
+%<latexrelease> \loop%
+%<latexrelease> \catcode\count@ 11\relax%
+%<latexrelease> \advance\count@ \@ne%
+%<latexrelease> \ifnum\count@<\@cclvi%
+%<latexrelease> \repeat%
+%<latexrelease> \edef\E{\@backslashchar end\string{\@currenvir\string}}%
+%<latexrelease> \edef\reserved@b{%
+%<latexrelease> \def\noexpand\reserved@b%
+%<latexrelease> ####1\E####2\E####3\relax}%
+%<latexrelease> \reserved@b{%
+%<latexrelease> \ifx\relax##3\relax%
+%<latexrelease> \immediate\write\reserved@c{##1}%
+%<latexrelease> \else%
+%<latexrelease> \edef^^M{\noexpand\end{\@currenvir}}%
+%<latexrelease> \ifx\relax##1\relax%
+%<latexrelease> \else%
+%<latexrelease> \@latex@warning{Writing text `##1' before %
+%<latexrelease> \string\end{\@currenvir}\MessageBreak as last line of \@curr@file}%
+%<latexrelease> \immediate\write\reserved@c{##1}%
+%<latexrelease> \fi%
+%<latexrelease> \ifx\relax##2\relax%
+%<latexrelease> \else%
+%<latexrelease> \@latex@warning{%
+%<latexrelease> Ignoring text `##2' after \string\end{\@currenvir}}%
+%<latexrelease> \fi%
+%<latexrelease> \fi%
+%<latexrelease> ^^M}%
+%<latexrelease> \catcode`\^^L\active%
+%<latexrelease> \let\L\@undefined%
+%<latexrelease> \def^^L{\expandafter\ifx\csname L\endcsname\relax\fi ^^J^^J}%
+%<latexrelease> \catcode`\^^I\active%
+%<latexrelease> \let\I\@undefined%
+%<latexrelease> \def^^I{\expandafter\ifx\csname I\endcsname\relax\fi\space}%
+%<latexrelease> \catcode`\^^M\active%
+%<latexrelease> \edef^^M##1^^M{%
+%<latexrelease> \noexpand\reserved@b##1\E\E\relax}}%
+%<latexrelease>\endgroup%
+%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
%<latexrelease> {\filec@ntents}{Spaces in file names + optional arg}%
%<latexrelease>
@@ -3015,7 +3293,7 @@
%<*afterpreamble>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{pkgindoc}
- [1994/10/20 v1.1 Package Interface in Document (DPC)]
+ [2020-08-08 v1.3m Package Interface in Document (DPC)]
\def\reserved@a#1\do\@classoptionslist#2\do\filec@ntents#3\relax{%
\gdef\@preamblecmds{#1#3}}
\expandafter\reserved@a\@preamblecmds\relax
diff --git a/macros/latex-dev/base/ltdefns.dtx b/macros/latex-dev/base/ltdefns.dtx
index 3abd251e4c..ea6a924f98 100644
--- a/macros/latex-dev/base/ltdefns.dtx
+++ b/macros/latex-dev/base/ltdefns.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltdefns.dtx}
- [2020/06/04 v1.5i LaTeX Kernel (definition commands)]
+ [2020/08/21 v1.5m LaTeX Kernel (definition commands)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltdefns.dtx}
@@ -90,6 +90,7 @@
% \changes{v1.0p}{1995/07/13}{Updates to documentation}
% \changes{v1.4b}{2015/02/21}
% {Removed autoload support}
+% \changes{v1.5l}{2020/08/21}{Integration of new hook management interface}
%
% \section{Definitions}
%
@@ -101,15 +102,6 @@
%<*2ekernel>
% \end{macrocode}
%
-% \subsection{Loading further extensions}
-%
-% \changes{v1.5i}{2020-06-04}{Load \textsf{ltexpl} in \texttt{ltdefns}}
-% Simply load further code: it's deliberately separate.
-% This is done as soon as possible here in \texttt{ltdefns.dtx} so that
-% we have the extensions as soon as possible.
-% \begin{macrocode}
-\input ltexpl.ltx
-% \end{macrocode}
%
% \subsection{Initex initialisations}
%
@@ -392,8 +384,9 @@
%
% \begin{macro}{\@carcube}
% |\@carcube T1 ... Tn\@nil| = |T1| |T2| |T3| , $n > 3$
+% \changes{v1.5k}{2020/08/19}{Made \cs{long} for \cs{NewCommandCopy}}
% \begin{macrocode}
-\def\@carcube#1#2#3#4\@nil{#1#2#3}
+\long\def\@carcube#1#2#3#4\@nil{#1#2#3}
% \end{macrocode}
% \end{macro}
%
@@ -671,7 +664,7 @@
% \begin{macro}{\@ifdefinable}
% \begin{macro}{\@@ifdefinable}
% \begin{macro}{\@rc@ifdefinable}
-% Test is user is allowed to define a command.
+% Test if user is allowed to define a command.
% \begin{macrocode}
\long\def\@ifdefinable #1#2{%
\edef\reserved@a{\expandafter\@gobble\string #1}%
@@ -1200,6 +1193,8 @@
% \changes{v1.4a}{2015/01/08}{Added macro}
% \changes{v1.5f}{2019/08/27}{Make the assignments global as we may
% need to apply them inside a group}
+% \changes{v1.5m}{2020/08/21}{Make \cs{MakeRobust} produce the same
+% command structure as \cs{DeclareRobustCommand}}
%
% This macro makes an existing fragile macro robust, but only if it
% hasn't been robust in the past, i.e., it checks for the existence
@@ -1218,9 +1213,11 @@
% at all.
% \begin{macrocode}
%</2ekernel>
-%<latexrelease>\IncludeInRelease{2019/10/01}{\MakeRobust}{\MakeRobust}%
+%<latexrelease>\IncludeInRelease{2020/10/01}{\MakeRobust}{\MakeRobust}%
%<*2ekernel|latexrelease>
\def\MakeRobust#1{%
+ \count@=\escapechar
+ \escapechar=`\\
\@ifundefined{\expandafter\@gobble\string#1}{%
\@latex@error{The control sequence `\string#1' is undefined!%
\MessageBreak There is nothing here to make robust}%
@@ -1232,12 +1229,15 @@
% \verb*=\foo =. If it is already defined do nothing, otherwise set
% \verb*=\foo = equal to \verb*=\foo= and redefine \verb*=\foo= so
% that it acts like a macro defined with \verb=\DeclareRobustCommand=.
+% We use \cs{@kernel@rename@newcommand} to copy \verb*=\foo= over to
+% \verb*=\foo =, including a possible default optional argument.
% \begin{macrocode}
{%
\@ifundefined{\expandafter\@gobble\string#1\space}%
{%
- \global\expandafter\let\csname
- \expandafter\@gobble\string#1\space\endcsname=#1%
+ \expandafter\@kernel@rename@newcommand
+ \csname\expandafter\@gobble\string#1\space\endcsname
+ #1%
\edef\reserved@a{\string#1}%
\def\reserved@b{#1}%
\edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%
@@ -1249,10 +1249,72 @@
\csname\expandafter\@gobble\string#1\space\endcsname}%
}%
{\@latex@info{The control sequence `\string#1' is already robust}}%
- }%
+ }%
+ \escapechar=\count@
}%
+% \end{macrocode}
+%
+% \begin{macro}{\@kernel@rename@newcommand}
+% This macro renames a command, possibly with an optional argument (defined
+% with \cs{newcommand}) from |#2| to |#1|, by renaming the internal macro
+% \verb=\\#2= to \verb=\\#1= and defining \verb=\#1= appropriately, then
+% undefining \verb=\#2= and \verb=\\#2=. The \cs{afterassignment} trick is
+% to make both definitions in \cs{@copy@newcommand} global (which are local
+% by default).
+%
+% In case the macro was defined with \cs{newcommand} and an optional
+% argument, to replicate exactly the behaviour of \cs{DeclareRobustCommand}
+% we have to move also the internal \verb*=\\foo= to \verb*=\\foo =. In that
+% case, \verb=#1= will be a parameterless macro (\cs{robust@command@chk@safe}
+% checks that), and \cs{@if@newcommand} will return true (both defined below
+% in this file). If so, we can use \cs{@copy@newcommand} rather than plain
+% \cs{let} to copy the command over. \cs{@kernel@rename@newcommand} does
+% this test and carries out the renaming.
+% \begin{macrocode}
+\def\@kernel@rename@newcommand#1#2{%
+ \robust@command@chk@safe#2%
+ {\@if@newcommand#2%
+ {\afterassignment\global
+ \global\@copy@newcommand#1#2%
+ \global\let#2\@undefined
+ \global\expandafter\let\csname\string#2\endcsname\@undefined}%
+ {\global\let#1=#2}}%
+ {\global\let#1=#2}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
+%
+%<latexrelease>\IncludeInRelease{2019/10/01}{\MakeRobust}{\MakeRobust}%
+%<latexrelease>\def\MakeRobust#1{%
+%<latexrelease> \@ifundefined{\expandafter\@gobble\string#1}{%
+%<latexrelease> \@latex@error{The control sequence `\string#1' is undefined!%
+%<latexrelease> \MessageBreak There is nothing here to make robust}%
+%<latexrelease> \@eha
+%<latexrelease> }%
+%<latexrelease> {%
+%<latexrelease> \@ifundefined{\expandafter\@gobble\string#1\space}%
+%<latexrelease> {%
+%<latexrelease> \global\expandafter\let\csname
+%<latexrelease> \expandafter\@gobble\string#1\space\endcsname=#1%
+%<latexrelease> \edef\reserved@a{\string#1}%
+%<latexrelease> \def\reserved@b{#1}%
+%<latexrelease> \edef\reserved@b{\expandafter\strip@prefix\meaning\reserved@b}%
+%<latexrelease> \xdef#1{%
+%<latexrelease> \ifx\reserved@a\reserved@b
+%<latexrelease> \noexpand\x@protect\noexpand#1%
+%<latexrelease> \fi
+%<latexrelease> \noexpand\protect\expandafter\noexpand
+%<latexrelease> \csname\expandafter\@gobble\string#1\space\endcsname}%
+%<latexrelease> }%
+%<latexrelease> {\@latex@info{The control sequence `\string#1' is already robust}}%
+%<latexrelease> }%
+%<latexrelease>}%
+%<latexrelease>\let\@kernel@rename@newcommand\@undefined
+%<latexrelease>\EndIncludeInRelease
+%
%<latexrelease>\IncludeInRelease{2015/01/01}{\MakeRobust}{\MakeRobust}%
%<latexrelease>\def\MakeRobust#1{%
%<latexrelease> \@ifundefined{\expandafter\@gobble\string#1}{%
@@ -1278,17 +1340,17 @@
%<latexrelease> {\@latex@info{The control sequence `\string#1' is already robust}}%
%<latexrelease> }%
%<latexrelease>}%
+%<latexrelease>\let\@kernel@rename@newcommand\@undefined
%<latexrelease>\EndIncludeInRelease
+%
%<latexrelease>\IncludeInRelease{0000/00/00}{\MakeRobust}{\MakeRobust}%
%<latexrelease>\let\MakeRobust\@undefined
+%<latexrelease>\let\@kernel@rename@newcommand\@undefined
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
-%
-%
-
% \begin{macro}{\kernel@make@fragile}
% The opposite of |\MakeRobust| execpt that it doesn't do many
% checks as it is internal to the kernel. Why does one want such a
@@ -1302,7 +1364,7 @@
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease>\IncludeInRelease{2020/10/01}%
%<latexrelease> {\kernel@make@fragile}{Undo robustness}%
\def\kernel@make@fragile#1{%
\@ifundefined{\expandafter\@gobble\string#1\space}%
@@ -1311,16 +1373,39 @@
% \begin{macrocode}
{}%
% \end{macrocode}
-% Otherwise copy \verb*=\foo = back to \verb=\foo= and then undefine
-% the payload command.
+% Otherwise copy \verb*=\foo = back to \verb=\foo=.
+% Then use \cs{@kernel@rename@newcommand} to check and copy
+% \verb*=\\foo = back to \verb*=\\foo= in case the command has an optional
+% argument. If so, also undefine \verb*=\\foo =, and at the end undefine
+% \verb*=\foo =.
% \begin{macrocode}
{%
\global\expandafter\let\expandafter #1\csname
- \expandafter\@gobble\string#1\space\endcsname
+ \expandafter\@gobble\string#1\space\endcsname
+ \expandafter\@kernel@rename@newcommand
+ \csname\expandafter\@gobble\string#1\expandafter\endcsname
+ \csname\expandafter\@gobble\string#1\space\endcsname
\global\expandafter\let\csname
- \expandafter\@gobble\string#1\space\endcsname\@undefined
+ \expandafter\@gobble\string#1\space\endcsname\@undefined
}%
}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\kernel@make@fragile}{Undo robustness}%
+%<latexrelease>\def\kernel@make@fragile#1{%
+%<latexrelease> \@ifundefined{\expandafter\@gobble\string#1\space}%
+%<latexrelease> {}%
+%<latexrelease> {%
+%<latexrelease> \global\expandafter\let\expandafter #1\csname
+%<latexrelease> \expandafter\@gobble\string#1\space\endcsname
+%<latexrelease> \global\expandafter\let\csname
+%<latexrelease> \expandafter\@gobble\string#1\space\endcsname\@undefined
+%<latexrelease> }%
+%<latexrelease>}
%<latexrelease>\EndIncludeInRelease
%</2ekernel|latexrelease>
%<*2ekernel>
@@ -1328,6 +1413,552 @@
% \end{macro}
%
%
+% \subsection{Acting on robust commands}
+%
+% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2020-10-01}{\robust@command@act}
+%<latexrelease> {Add \robust@command@act}%
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+%
+% With most document level commands being robust now there is more of a
+% requirement to have a standard way of aliasing (or copying) a command to a
+% new name, for example to save an original definition before changing a
+% command. \cs{DeclareCommandCopy} is analogous to \TeX's \cs{let}, except
+% that it copes with the different types of robust commands defined by
+% \LaTeX's mechanisms.
+%
+% A couple of ``types of robustness'' are defined by the \LaTeXe{} kernel,
+% namely robust commands defined with \cs{DeclareRobustCommand} and commands
+% with optional arguments defined with \cs{newcommand}. However there are
+% other types of robust commands that are frequently used, which are not
+% defined in the \LaTeXe{} kernel, like commands defined with
+% \textsf{xparse}'s \cs{NewDocumentCommand} and \textsf{etoolbox}'s
+% \cs{newrobustcmd}.
+%
+% In this section we will define a generic extensible machinery to act on
+% robust commands. This code will then be used to test if a command is
+% robust, considered the different types of robustness, and then either copy
+% that definition, if \cs{DeclareCommandCopy} (or similar) is used, or show
+% the definition of the command, if \cs{ShowCommmand} is used.
+%
+% \begin{macro}{\robust@command@act}
+% \changes{v1.5k}{2020/08/19}{Made \cs{robust@command@act}
+% (was \cs{declare@command@copy}) more generic}
+%
+% The looping machinery is generic and knows nothing about what is to be done
+% for each case. The syntax of the main macro \cs{robust@command@act} is:
+% \begin{quote}
+% |\robust@command@act|\meta{action-list}\meta{robust-cmd}\\
+% \meta{fallback-action}\meta{act-arg}
+% \end{quote}
+% \meta{action-list} is a token list of the form:
+% \begin{quote}
+% |{|\meta{if-type-1} \meta{act-type-1}|}|\\
+% |{|\meta{if-type-2} \meta{act-type-2}|}|\\
+% \ldots
+% \end{quote}
+% \cs{robust@command@act} will iterate over the \meta{action-list}, evaluating
+% each \meta{if-type-$n$}\meta{robust-cmd}|{|\meta{true}|}{|\meta{false}|}|.
+% If the \meta{if-type-$n$} conditional returns \meta{true}, then
+% \meta{act-type-$n$}\meta{act-arg} is executed, and the loop ends. If the
+% conditional returns \meta{false}, then \meta{if-type-$n+1$} is executed in
+% the same way, until either one of the conditionals return \meta{true}, or
+% the end of the \meta{action-list} is reached. If the end is reached, then
+% \meta{fallback-action}\meta{act-arg} is executed before
+% \cs{robust@command@act} exits.
+%
+% \cs{robust@command@act} will start by using \cs{robust@command@act@chk@args}
+% to check if the \meta{robust-cmd} (|#2|) is a parameterless (possibly
+% \cs{protected}) macro. If it is not, the command is not a robust command:
+% these always start with a parameterless user-level macro; in that case,
+% \cs{robust@command@act@end} is used to short-circuit the process and do the
+% \meta{fallback-action} (|#3|). This first test is necessary because later
+% on we need to be able to expand the \meta{robust-cmd} without the risk of it
+% Breaking Badly, and as a bonus, this speeds up the process in case we used
+% \cs{NewCommandCopy} in a ``normal'' macro.
+% \begin{macrocode}
+\long\def\robust@command@act#1#2#3#4{%
+ \robust@command@chk@safe#2%
+ {\expandafter\robust@command@act@loop
+ \expandafter#2%
+ #1{\@nnil\@nnil}%
+ \robust@command@act@end}%
+ {\robust@command@act@end}%
+ {#3}{#4}}%
+% \end{macrocode}
+%
+% \begin{macro}{\robust@command@act@loop}
+% \begin{macro}{\robust@command@act@loop@aux}
+% \begin{macro}{\robust@command@act@do}
+% If \cs{robust@command@act@chk@args} branched to false, then
+% \cs{robust@command@act@loop} will loop over the list of items in the
+% \meta{action-list} (|#1|), and process each item as described earlier.
+% If the \meta{if-type-$n$} command expands to \meta{true} then
+% \cs{robust@command@act@do} is used to execute \meta{act-type-$n$} on the
+% \meta{act-arg}, otherwise the loop resumes with the next item.
+% \begin{macrocode}
+\long\def\robust@command@act@loop#1#2{\robust@command@act@loop@aux#1#2}
+\long\def\robust@command@act@loop@aux#1#2#3{%
+ \ifx\@nnil#2%
+ \else
+ #2{#1}%
+ {\robust@command@act@do{#3}}%
+ {\expandafter\robust@command@act@loop\expandafter#1}%
+ \fi}
+\long\def\robust@command@act@do#1%
+ \fi#2%
+ \robust@command@act@end#3#4{%
+ \fi
+ #1#4}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\robust@command@act@end}
+% If the end is reached and no action was taken, then do
+% \meta{fallback-action}\meta{act-arg}.
+% \begin{macrocode}
+\long\def\robust@command@act@end#1#2{#1#2}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\robust@command@chk@safe}
+% \begin{macro}{\robust@command@act@chk@args}
+% \begin{macrocode}
+\long\def\robust@command@chk@safe#1{%
+ \begingroup
+ \escapechar=`\\
+ \expandafter\endgroup\expandafter
+ \robust@command@act@chk@args\meaning#1:->\@nil}
+\def\robust@command@act@chk@args#1:->#2\@nil{%
+ \@expl@str@if@eq@@nnTF{#1}{macro}%
+ {\@firstoftwo}%
+ {\@expl@str@if@eq@@nnTF{#1}{\protected macro}%
+ {\@firstoftwo}%
+ {\@secondoftwo}}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}{\robust@command@act}
+%<latexrelease> {Add \robust@command@act}%
+%<latexrelease>\let\robust@command@act\@undefined
+%<latexrelease>\let\robust@command@act@loop\@undefined
+%<latexrelease>\let\robust@command@act@loop@aux\@undefined
+%<latexrelease>\let\robust@command@act@do\@undefined
+%<latexrelease>\let\robust@command@act@end\@undefined
+%<latexrelease>\let\robust@command@chk@safe\@undefined
+%<latexrelease>\let\robust@command@act@chk@args\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+% \end{macro}
+%
+%
+% \subsubsection{Copying robust commands}
+%
+% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2020-10-01}{\DeclareCommandCopy}
+%<latexrelease> {Add \NewCommandCopy, \RenewCommandCopy, and \DeclareCommandCopy}%
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macro}{\NewCommandCopy}
+% \begin{macro}{\RenewCommandCopy}
+% \begin{macro}{\DeclareCommandCopy}
+% \changes{v1.5j}{2020/05/09}{Added \cs{DeclareCommandCopy} (gh/239)}
+%
+% \cs{NewCommandCopy} starts by checking if \verb=#1= is already defined, and
+% raises an error if so, otherwise the definition is carried out.
+% \cs{RenewCommandCopy} does (almost) the opposite. If the command is
+% \emph{not} defined, then an error is raised. But the definition is carried
+% out anyhow, so the behaviour is consistent with \cs{renewcommand}.
+%
+% A \cs{ProvideCommandCopy} isn't defined because it's not reasonably useful.
+% \verb=\provide...= commands mean ``define this if there's no other
+% definition'', but copying a command (usually) implies that the command being
+% copied is defined, so \cs{ProvideCommandCopy} doesn't make a lot of sense.
+% But more importantly, the most common use case of copying a command is to
+% redefine it later, while preserving the old definition, as in:
+% \begin{verbatim}
+% \ProvideComandCopy \A \B
+% \renewcommand \B { ... \A ... }
+% \end{verbatim}
+% then, if \verb=\A= is already defined the first line is skipped, an in this
+% case \verb=\B= won't work as expected.
+%
+% The three versions call the internal \cs{declare@commandcopy} with the
+% proper action. \cs{@firstofone} will carry out the copy. The only case
+% when the copy is not made is the \meta{false} case for \cs{NewCommandCopy},
+% in which the command already exists and the definition is aborted.
+% \begin{macrocode}
+\def\NewCommandCopy{%
+ \declare@commandcopy
+ {\@firstofone}%
+ {\@firstoftwo\@notdefinable}}
+\def\RenewCommandCopy{%
+ \declare@commandcopy
+ {\@latex@error{Command \@backslashchar\reserved@a\space undefined}\@ehc
+ \@firstofone}%
+ {\@firstofone}}
+\def\DeclareCommandCopy{%
+ \declare@commandcopy
+ {\@firstofone}%
+ {\@firstofone}}
+% \end{macrocode}
+%
+% \begin{macro}{\declare@commandcopy}
+% Start by checking if the command is already defined. The proper action is
+% taken by each specific command above. If all's good, then
+% \cs{robust@command@act} is called with the proper arguments as described
+% earlier, with \cs{@declarecommandcopylisthook} as the \meta{action-list} and
+% \cs{declare@commandcopy@let} as the \meta{fallback-action}.
+% \begin{macrocode}
+\long\def\declare@commandcopy#1#2#3#4{%
+ \edef\reserved@a{\@expl@cs@to@str@@N#3}%
+ \@ifundefined\reserved@a{#1}{#2}%
+ {\robust@command@act
+ \@declarecommandcopylisthook#4%
+ \declare@commandcopy@let{#3#4}}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@declarecommandcopylisthook}
+% The initial definition of \cs{@declarecommandcopylisthook} contains the
+% tests for the two types of robust command in the kernel.
+% \begin{macrocode}
+\def\@declarecommandcopylisthook{%
+ {\@if@DeclareRobustCommand \@copy@DeclareRobustCommand}%
+ {\@if@newcommand \@copy@newcommand}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\declare@commandcopy@let}
+% The initial definition of \cs{@declarecommandcopylisthook} contains the
+% tests for the two types of robust command in the kernel.
+% \begin{macrocode}
+\long\def\declare@commandcopy@let#1#2{\let#1=#2\relax}
+% \end{macrocode}
+% \end{macro}
+%
+% Now the rollback code.
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}{\DeclareCommandCopy}
+%<latexrelease> {Undefine \NewCommandCopy, \RenewCommandCopy, and \DeclareCommandCopy}%
+%<latexrelease>\let\NewCommandCopy\@undefined
+%<latexrelease>\let\RenewCommandCopy\@undefined
+%<latexrelease>\let\DeclareCommandCopy\@undefined
+%<latexrelease>\let\declare@commandcopy\@undefined
+%<latexrelease>\let\@declarecommandcopylisthook\@undefined
+%<latexrelease>\let\declare@commandcopy@let\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \subsubsection{Showing robust commands}
+%
+% \begin{macro}{\ShowCommand}
+% \changes{v1.5k}{2020/08/19}{Added \cs{ShowCommand} (gh/373)}
+%
+% Most of the machinery defined for \cs{NewCommandCopy} can be used to show
+% the definition of a robust command, in a similar fashion to \texttt{texdef}.
+% The difference is that after the command's is detected to has a given type
+% of robustness, rather than making a copy, we use a separate routine to show
+% its definition.
+%
+% With all the machinery in place, \cs{ShowCommand} itself is quite simple:
+% use \cs{robust@command@act} to iterate through the \cs{@showcommandlisthook}
+% list, and if nothing is found, fallback to \cs{show}.
+% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2020-10-01}{\ShowCommand}%
+%<latexrelease> {Add \ShowCommand}%
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\long\def\ShowCommand#1{%
+ \robust@command@act
+ \@showcommandlisthook#1%
+ \show#1}
+% \end{macrocode}
+%
+% \begin{macro}{\@showcommandlisthook}
+% The initial definition of \cs{@showcommandlisthook} contains the same tests
+% as used for copying, but \cs{@show@...} commands instead of \cs{@copy@...}.
+% Same as before, it is initialised to cope with \cs{DeclareRobustCommand} and
+% \cs{newcommand} with optional arguments.
+% \begin{macrocode}
+\def\@showcommandlisthook{%
+ {\@if@DeclareRobustCommand \@show@DeclareRobustCommand}%
+ {\@if@newcommand \@show@newcommand}}
+% \end{macrocode}
+% \end{macro}
+%
+% Now the rollback code.
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}{\ShowCommand}
+%<latexrelease> {Undefine \ShowCommand}%
+%<latexrelease>\let\ShowCommand\@undefined
+%<latexrelease>\let\@showcommandlisthook\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2020-10-01}{\@if@DeclareRobustCommand}
+%<latexrelease> {Add \@if@DeclareRobustCommand, \@if@newcommand,
+%<latexrelease> \@copy@DeclareRobustCommand, \@copy@newcommand,
+%<latexrelease> \@show@DeclareRobustCommand, \@show@newcommand}%
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \subsubsection{Commands defined with \cs{DeclareRobustCommand}}
+%
+% \begin{macro}{\@if@DeclareRobustCommand}
+% \changes{v1.5j}{2020/05/09}{Added \cs{DeclareCommandCopy} (gh/239)}
+%
+% Now that we provided a generic way to copy one macro to another, we need to
+% define a way to check if a command is one of \LaTeXe's robust types. These
+% tests are heavily based on Heiko's \cs{LetLtxMacro}, but chopped into
+% separate macros.
+%
+% \cs{@if@DeclareRobustCommand} checks if a command \verb=\cmd= was defined by
+% \cs{DeclareRobustCommand}. The test returns true if the expansion of
+% \verb=\cmd= is exactly \verb*=\protect\cmd =.
+%
+% \begin{macrocode}
+\long\def\@if@DeclareRobustCommand#1{%
+ \begingroup
+ \escapechar=`\\
+ \edef\reserved@a{\string#1}%
+ \edef\reserved@b{\detokenize{#1}}%
+ \xdef\@gtempa{%
+ \ifx\reserved@a\reserved@b
+ \noexpand\x@protect
+ \noexpand#1%
+ \fi
+ \noexpand\protect
+ \expandafter\noexpand\csname\@expl@cs@to@str@@N#1 \endcsname}%
+ \endgroup
+ \ifx\@gtempa#1\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+% \end{macrocode}
+%
+% \begin{macro}{\@copy@DeclareRobustCommand}
+% \begin{macro}{\copy@kernel@robust@command}
+% If a command was defined by \cs{DeclareRobustCommand} (that is,
+% \cs{@if@DeclareRobustCommand} returns true), then to make a copy of \verb=\cmd=
+% into \verb=\foo= we define the latter such that it expands to
+% \verb*=\protect\foo =, then make \verb*=\foo = equal to \verb*=\cmd =.
+%
+% There is one detail we need to take care of: if a command was defined with
+% \cs{DeclareRobustCommand} it may still have an optional argument, in which
+% case there is one more macro layer before the actual definition of the
+% command. We use \cs{@if@newcommand} to check that and
+% \cs{@copy@newcommand} to do the copying.
+% \begin{macrocode}
+\long\def\@copy@DeclareRobustCommand#1#2{%
+ \begingroup
+ \escapechar=`\\
+ \edef\reserved@a{\string#1}%
+ \edef\reserved@b{\detokenize{#1}}%
+ \edef\reserved@a{%
+ \endgroup
+ \def\noexpand#1{%
+ \ifx\reserved@a\reserved@b
+ \noexpand\x@protect
+ \noexpand#1%
+ \fi
+ \noexpand\protect
+ \expandafter\noexpand\csname\@expl@cs@to@str@@N#1 \endcsname}%
+ \noexpand\copy@kernel@robust@command
+ \expandafter\noexpand\csname\@expl@cs@to@str@@N#1 \endcsname
+ \expandafter\noexpand\csname\@expl@cs@to@str@@N#2 \endcsname}%
+ \reserved@a}
+\long\def\copy@kernel@robust@command#1#2{%
+ \robust@command@chk@safe#2%
+ {\@if@newcommand#2%
+ {\@copy@newcommand}%
+ {\declare@commandcopy@let}}
+ {\declare@commandcopy@let}%
+ #1#2}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@show@DeclareRobustCommand}
+% \begin{macro}{\show@kernel@robust@command}
+% Showing the command is pretty simple. This command prints the top-level
+% expansion as \TeX's \cs{show} would, but with |robust macro:| rather than
+% just |macro:|, then a blank line and then \cs{show} the inner command.
+% For a macro defined with, say, |\DeclareRobustCommand\foo[1]{bar}|, it will
+% print:
+% \begin{verbatim}
+% > \foo=robust macro:
+% ->\protect \foo .
+%
+% > \foo =\long macro:
+% #1->bar.
+% \end{verbatim}
+% If the inner command is defined with an optional argument, then
+% \cs{@show@newcommand} is also used.
+%
+% The value of \cs{escapechar} is deliberately not enforced, so
+% \cs{ShowCommand} behaves more like \cs{show}.
+% \begin{macrocode}
+\long\def\@show@DeclareRobustCommand#1{%
+ \typeout{> \string#1=robust macro:}%
+ \typeout{->\@expl@cs@replacement@spec@@N#1.^^J}%
+ \expandafter\show@kernel@robust@command
+ \csname\@expl@cs@to@str@@N#1 \endcsname}
+\long\def\show@kernel@robust@command#1{%
+ \robust@command@chk@safe#1%
+ {\@if@newcommand#1%
+ {\@show@newcommand}%
+ {\show}}%
+ {\show}%
+ #1}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \end{macro}
+%
+% \subsubsection{Commands defined with \cs{newcommand} (with optional argument)}
+%
+% \begin{macro}{\@if@newcommand}
+% A command \verb=\cmd= (or \verb*=\cmd =, if it was defined with
+% \cs{DeclareRobustCommand}) with an optional argument will expand to
+% \verb*=\@protected@testopt\cmd\\cmd{<opt>}=. To check that we look at the
+% first three tokens in the expansion of \verb=\cmd=, and return true or false
+% accordingly.
+%
+% This test \emph{requires} that the command be a parameterless macro,
+% otherwise it will not work (and probably break). This is ensured with
+% \cs{robust@command@chk@safe} before calling \cs{@if@newcommand}.
+% \begin{macrocode}
+\long\def\@if@newcommand#1{%
+ \edef\reserved@a{%
+ \noexpand\@protected@testopt
+ \noexpand#1%
+ \expandafter\noexpand\csname\@backslashchar\@expl@cs@to@str@@N#1\endcsname}%
+ \edef\reserved@b{%
+ \unexpanded\expandafter\expandafter\expandafter
+ {\expandafter\@carcube#1{}{}{}\@nil}}%
+ \ifx\reserved@a\reserved@b
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+% \end{macrocode}
+%
+% \begin{macro}{\@copy@newcommand}
+% Then, if a command \verb=\cmd= takes an optional argument, we copy it to
+% \verb=\foo= by defining the latter to expand to
+% \verb=\@protected@testopt\foo\\foo{<opt>}=.
+% \begin{macrocode}
+\long\def\@copy@newcommand#1#2{%
+ \edef#1{\noexpand\@protected@testopt
+ \noexpand#1%
+ \expandafter\noexpand\csname\@backslashchar\@expl@cs@to@str@@N#1\endcsname
+ \unexpanded\expandafter\expandafter\expandafter
+ {\expandafter\@gobblethree#2}}%
+ \expandafter
+ \let\csname\@backslashchar\@expl@cs@to@str@@N#1\expandafter\endcsname
+ \csname\@backslashchar\@expl@cs@to@str@@N#2\endcsname}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@show@newcommand}
+% \begin{macro}{\@show@newcommand@aux}
+% A command being \cs{show}n here is guaranteed to have an optional argument.
+% Start by showing the top-level expansion of the command (using \cs{typeout}
+% to avoid TeX asking for interaction and extra context lines), then call
+% \cs{@show@newcommand@aux} with the internal command, which contains the
+% actual definition, and with the expansion of the command to extract the
+% default value of the optional argument.
+% \begin{macrocode}
+\long\def\@show@newcommand#1{%
+ \typeout{> \string#1=robust macro:}%
+ \typeout{->\@expl@cs@replacement@spec@@N#1.^^J}%
+ \expandafter\@show@newcommand@aux
+ \csname\@backslashchar\@expl@cs@to@str@@N#1\expandafter\endcsname
+ \expandafter{#1}}
+% \end{macrocode}
+%
+% For a macro defined with, say, |\newcommand\foo[1][opt]{bar}|, it will
+% print:
+% \begin{verbatim}
+% > \foo=robust macro:
+% ->\@protected@testopt \foo \\foo {opt}.
+%
+% > \\foo=\long macro:
+% > default #1=opt.
+% [#1]->bar.
+% \end{verbatim}
+% If the command was defined with \cs{DeclareRobustCommand}, then another pair
+% of lines show the top-level expansion \verb*|\protect \foo |.
+%
+% The extra gymnastics with \cs{showtokens} ensures that \cs{showtokens}
+% itself, and the internals of this macro aren't showed in the context lines.
+% \begin{macrocode}
+\long\def\@show@newcommand@aux#1#2{%
+ \typeout{> \string#1=\@expl@cs@prefix@spec@@N#1macro:}%
+ \edef\reserved@a{%
+ default \string##1=\expandafter\detokenize\@gobblethree#2.^^J%
+ \@expl@cs@argument@spec@@N#1->\@expl@cs@replacement@spec@@N#1}%
+ \showtokens\expandafter\expandafter\expandafter{\expandafter\reserved@a}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% Now the rollback code.
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000-00-00}{\@if@DeclareRobustCommand}
+%<latexrelease> {Undefine \@if@DeclareRobustCommand, \@if@newcommand,
+%<latexrelease> \@copy@DeclareRobustCommand, \@copy@newcommand,
+%<latexrelease> \@show@DeclareRobustCommand, \@show@newcommand}%
+%<latexrelease>\let\@if@DeclareRobustCommand\@undefined
+%<latexrelease>\let\@copy@DeclareRobustCommand\@undefined
+%<latexrelease>\let\@show@DeclareRobustCommand\@undefined
+%<latexrelease>\let\@if@newcommand\@undefined
+%<latexrelease>\let\@copy@newcommand\@undefined
+%<latexrelease>\let\@show@newcommand\@undefined
+%
+%<latexrelease>\let\copy@kernel@robust@command\@undefined
+%<latexrelease>\let\show@kernel@robust@command\@undefined
+%<latexrelease>\let\@show@newcommand@aux\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+% \end{macro}
+%
%
% \subsection{Internal defining commands}
%
@@ -1586,7 +2217,7 @@
% \changes{v1.0g}{1994/04/12}
% {Define \cs{@dischyph}, was previously in ltboxes.dtx}
% \changes{v1.5b}{2017/03/27}{Define \cs{@dischyph} after \cs{-}}
-% \changes{v1.5h}{2020/05/11}{Do not overwrite \cs{-} under Lua\TeX}
+% \changes{v1.5j}{2020/05/11}{Do not overwrite \cs{-} under Lua\TeX}
% \end{macro}
% Moved here to be after the definition of |\DeclareRobustCommand|.
%
@@ -1726,6 +2357,28 @@
%<*2ekernel>
% \end{macrocode}
%
+%
+% \begin{macro}{\g@addto@macro}
+% Globally add to the end of a macro.
+% \changes{v0.2a}{1993/11/14}{Made global}
+% \changes{v0.2w}{1994/01/31}
+% {Use toks register to avoid `hash' problems}
+% \changes{v1.0o}{1995/05/17}
+% {Make long for latex/1522}
+% \changes{v1.0w}{1996/12/17}
+% {Use \cs{begingroup} to save making a mathord}
+% \changes{v1.0x}{1997/02/05}
+% {missing percent /2402}
+% \begin{macrocode}
+\long\def\g@addto@macro#1#2{%
+ \begingroup
+ \toks@\expandafter{#1#2}%
+ \xdef#1{\the\toks@}%
+ \endgroup}
+% \end{macrocode}
+% \end{macro}
+%
+%
% \begin{macrocode}
%</2ekernel>
% \end{macrocode}
diff --git a/macros/latex-dev/base/ltdirchk.dtx b/macros/latex-dev/base/ltdirchk.dtx
index 25fb9480dd..3abd49aced 100644
--- a/macros/latex-dev/base/ltdirchk.dtx
+++ b/macros/latex-dev/base/ltdirchk.dtx
@@ -37,7 +37,7 @@
%<*driver>
% \fi
\ProvidesFile{ltdirchk.dtx}
- [2019/11/01 v1.3a LaTeX Kernel (System Dependent Parts)]
+ [2020/08/21 v1.3a LaTeX Kernel (System Dependent Parts)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltdirchk.dtx}
@@ -172,7 +172,9 @@
%, \LaTeX\ will not work around a bug in old \TeX\ versions, and
% so error messages will appear in a very strange format, with |^^J|
% appearing instead of line breaks:
-% \begingroup\catcode`\==\active \def=#1#2{}\hfuzz\maxdimen
+% \begingroup
+% ^^A FMi next line doesn't work with hacked class
+% ^^A\catcode`\==\active \def=#1#2{}\hfuzz\maxdimen
%\begin{verbatim}
%! LaTeX Error: \rubbish undefined.^^J^^JSee the LaTeX manual or LaTeX=
% Companion
diff --git a/macros/latex-dev/base/ltexpl.dtx b/macros/latex-dev/base/ltexpl.dtx
index 7a567e378f..16ca26095c 100644
--- a/macros/latex-dev/base/ltexpl.dtx
+++ b/macros/latex-dev/base/ltexpl.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltexpl.dtx}
- [2020-07-08 v1.2d LaTeX Kernel (expl3-dependent code)]
+ [2020/08/21 v1.2e LaTeX Kernel (expl3-dependent code)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltexpl.dtx}
@@ -41,6 +41,9 @@
\date{\filedate}
\author{%
Joseph Wright}
+
+\providecommand\pkg[1]{\texttt{#1}}
+
\begin{document}
\MaintainedByLaTeXTeam{latex}
\maketitle
@@ -49,6 +52,9 @@
%</driver>
% \fi
%
+%
+% \changes{v1.2d}{2020/08/21}{Dropped unused command}
+%
% \section{\pkg{expl3}-dependent code}
%
% \StopEventually{}
@@ -218,11 +224,6 @@
%
% \subsection{Using expl3 code}
%
-% \begin{macrocode}
-%<latexrelease>\IncludeInRelease{2020/10/01}%
-%<latexrelease> {\@expl@tl@trim@spaces@apply@@nN}
-%<latexrelease> {l3 macro for use in include}%
-% \end{macrocode}
% In order to ease the implemantation of some new features in
% \LaTeXe\ we may (temporarily) use some coding based on the
% \pkg{expl3}-code.
@@ -232,25 +233,68 @@
% packages. These macros will always have the \verb|@expl@|
% prefix in their name.
%
-% \changes{v1.2a}{2020/05/02}
-% {Define a macro based on l3 language to support inclusion of
-% files with space in the name (gh/217)}
+% The rest of the name matches the \pkg{expl3} name but with all
+% underscores replaced by \texttt{@}s and the \texttt{:} replaced
+% by \texttt{@@}, e.g.,
+%\begin{verbatim}
+% \cs_new_eq:NN \@expl@tl@trim@spaces@apply@@nN \tl_trim_spaces_apply:nN
+%\end{verbatim}
+% if that \pkg{expl3} command is needed in places that are others
+% coded in \LaTeXe{} conventions.
+%
% \begin{macrocode}
\ExplSyntaxOn
-\cs_new_eq:NN \@expl@tl@trim@spaces@apply@@nN \tl_trim_spaces_apply:nN
-\ExplSyntaxOff
+% \end{macrocode}
+%
+% In this file, each release of LaTeX adds an \cs{IncludeInRelease}
+% block, in which the macros copied for that release were defined.
+% In case a rollback is requested, the entire block is changed.
+%
+% Each macro copied has a \cs{changes} entry to explain when and why
+% it was copied, so that further to that may spot it easily.
+%
+% Here \cs{cs\string_gset\string_eq:NN} is used, instead of the |new|
+% variant because if different releases use that same name for
+% different purposes, each can copy the macro without worrying about
+% redefinitions.
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2020/10/01}{expl3~2020-10-01}%
+%<latexrelease> {expl3~macros~added~for~the~2020-10-01~release}%
+% \end{macrocode}
+%
+% \changes{v1.2e}{2020/08/19}
+% {Add \cs{@expl@cs@to@str@@N} and \cs{@expl@str@if@eq@@nnTF}
+% for \cs{NewCommandCopy} (gh/239)}
+% \begin{macrocode}
+\cs_gset_eq:NN \@expl@cs@to@str@@N \cs_to_str:N
+\cs_gset_eq:NN \@expl@str@if@eq@@nnTF \str_if_eq:nnTF
+% \end{macrocode}
+%
+% \changes{v1.2e}{2020/08/19}
+% {Add \cs{\@expl@cs@\meta{thing}@spec@@N}
+% for \cs{ShowCommand} (gh/373)}
+% \begin{macrocode}
+\cs_gset_eq:NN \@expl@cs@prefix@spec@@N \cs_prefix_spec:N
+\cs_gset_eq:NN \@expl@cs@argument@spec@@N \cs_argument_spec:N
+\cs_gset_eq:NN \@expl@cs@replacement@spec@@N \cs_replacement_spec:N
% \end{macrocode}
%
% \begin{macrocode}
%<latexrelease>\EndIncludeInRelease
-%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\@expl@tl@trim@spaces@apply@@nN}
-%<latexrelease> {l3 macro for use in include}%
-%<latexrelease>
-%<latexrelease>\let\@expl@tl@trim@spaces@apply@@nN\@undefined
-%<latexrelease>
+%<latexrelease>\IncludeInRelease{0000/00/00}{expl3~2020-10-01}%
+%<latexrelease> {expl3~macros~added~for~the~2020-10-01~release}%
+%<latexrelease>\cs_undefine:N \@expl@cs@to@str@@N
+%<latexrelease>\cs_undefine:N \@expl@str@if@eq@@nnTF
+%<latexrelease>\cs_undefine:N \@expl@cs@prefix@spec@@N
+%<latexrelease>\cs_undefine:N \@expl@cs@argument@spec@@N
+%<latexrelease>\cs_undefine:N \@expl@cs@replacement@spec@@N
%<latexrelease>\EndIncludeInRelease
%</2ekernel|latexrelease>
% \end{macrocode}
%
+% \begin{macrocode}
+\ExplSyntaxOff
+% \end{macrocode}
+%
% \Finale
diff --git a/macros/latex-dev/base/ltfilehook-code.pdf b/macros/latex-dev/base/ltfilehook-code.pdf
index bd183ac9bc..12d6fbbd3a 100644
--- a/macros/latex-dev/base/ltfilehook-code.pdf
+++ b/macros/latex-dev/base/ltfilehook-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfilehook-code.tex b/macros/latex-dev/base/ltfilehook-code.tex
index 2a9c1d1815..c802703250 100644
--- a/macros/latex-dev/base/ltfilehook-code.tex
+++ b/macros/latex-dev/base/ltfilehook-code.tex
@@ -1,10 +1,5 @@
% This will typeset documentation + code
%
-% However, you may first have to unpack the .sty file via
-%
-% latex ltfilehook.ins
-%
-% as it is used when processing the doumentation.
\AtBeginDocument{\AlsoImplementation}
\input{ltfilehook.dtx}
diff --git a/macros/latex-dev/base/ltfilehook-doc.pdf b/macros/latex-dev/base/ltfilehook-doc.pdf
index d58188e4fb..f5d37d4e9b 100644
--- a/macros/latex-dev/base/ltfilehook-doc.pdf
+++ b/macros/latex-dev/base/ltfilehook-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltfilehook-doc.tex b/macros/latex-dev/base/ltfilehook-doc.tex
index d3a20f74ef..220de94188 100644
--- a/macros/latex-dev/base/ltfilehook-doc.tex
+++ b/macros/latex-dev/base/ltfilehook-doc.tex
@@ -1,10 +1,5 @@
% This will typeset only documentation but not the code
%
-% However, you may first have to unpack the .sty file via
-%
-% latex ltfilehook.ins
-%
-% as it is used when processing the doumentation.
\AtBeginDocument{\OnlyDescription
% \let\tableofcontents\relax
diff --git a/macros/latex-dev/base/ltfilehook.dtx b/macros/latex-dev/base/ltfilehook.dtx
index 6c16a9832e..73018c682d 100644
--- a/macros/latex-dev/base/ltfilehook.dtx
+++ b/macros/latex-dev/base/ltfilehook.dtx
@@ -1,30 +1,42 @@
% \iffalse meta-comment
+%%
+%% File: ltfilehook.dtx (C) Copyright 2020 Frank Mittelbach,
+%% Phelype Oleinik & LaTeX Team
%
-%% File: ltfilehook.dtx (C) Copyright 2020 Frank Mittelbach, LaTeX Team
-%
-% It may be distributed and/or modified under the conditions of the
-% LaTeX Project Public License (LPPL), either version 1.3c of this
-% license or (at your option) any later version. The latest version
-% of this license is in the file
+% This file is part of the LaTeX base system.
+% -------------------------------------------
%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
%
-% The development version of the bundle can be found below
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
%
-% https://github.com/FrankMittelbach/...
+% \iffalse
%
-% for those people who are interested or want to report an issue.
+%%% From File: ltshipout.dtx
%
% \begin{macrocode}
-\providecommand\ltfilehookversion{v0.9a}
-\providecommand\ltfilehookdate{2020/07/19}
+\providecommand\ltfilehookversion{v1.0a}
+\providecommand\ltfilehookdate{2020/08/30}
% \end{macrocode}
%
%<*driver>
-\RequirePackage{lthooks} % needed for structedlog if running old format
-
\documentclass{l3doc}
% bug fix fo l3doc.cls
@@ -107,7 +119,7 @@
% \item[\texttt{file/before}, \texttt{file/before/\meta{file-name}}]
%
% These hooks are executed in that order just before the file is
-% loaded for reading. The code of the first hook is used is used
+% loaded for reading. The code of the first hook is used
% with every file, while the second is executed only for the
% file with matching \meta{file-name} allowing you to specify
% code that only applies to one file.
@@ -119,8 +131,8 @@
% comes first) so that the \texttt{before} and \texttt{after}
% hooks nest properly, which is important if any of them involve
% grouping (e.g., contain environments, for example).
-% furthermore both hooks are reversed hooks to support correct
-% nesting of different packages add code to both
+% Furthermore both hooks are reversed hooks to support correct
+% nesting of different packages adding code to both
% \texttt{/before} and \texttt{/after} hooks.
%
% \end{description}
@@ -139,16 +151,13 @@
% \>\cs{UseHook}\marg{\hook{file/after}}
% \end{tabbing}
%
-% \fmi{With a higher-level interface that doesn't matter, but it
-% is a bit weird, if you use \cs{AddToHook} or \cs{hook_gput:nnn}
-% directly, so I guess that has to be done differently!}
-%
% The file hooks only refer to the file by its name and extension,
% so the \meta{file name} should be the file name as it is on the
% filesystem with extension (if any) and without paths. Different
-% from \cs{input} and similar commands, for hooks the \texttt{.tex}
-% extension is not assumed, so \texttt{.tex} files must also be given
-% with their extension.
+% from \cs{input} and similar commands, the \texttt{.tex}
+% extension is not assumed in hook \meta{file name}, so \texttt{.tex}
+% files must be specified
+% with their extension to be recognized.
% Files within subfolders should also be addressed by their name and
% extension only.
%
@@ -185,6 +194,18 @@
% in these cases (package and class files, mostly).
% \end{variable}
%
+% \begin{variable}{\CurrentFileUsed,\CurrentFilePathUsed}
+% In normal circumstances these are identical to \cs{CurrentFile} and
+% \cs{CurrentFilePath}. They will differ when a file substitution
+% has occurred for \cs{CurrentFile}. In that case,
+% \cs{CurrentFileUsed} and \cs{CurrentFilePathUsed} will hold the
+% actual file name and path loaded by \LaTeX, while \cs{CurrentFile}
+% and \cs{CurrentFilePath} will hold the names that were
+% \emph{asked for}. Unless doing very specific work on the file
+% being read, \cs{CurrentFile} and \cs{CurrentFilePath} should be
+% enough.
+% \end{variable}
+%
% \subsection{Hooks for package and class files}
%
% Commands to load package and class files (e.g., \cs{usepackage},
@@ -284,7 +305,7 @@
%
% \item[\texttt{include/before}, \texttt{include/before/\meta{name}}]
%
-% These hooks are executed one after another after the initial
+% These hooks are executed (in that order) after the initial
% \cs{clearpage} and after \texttt{.aux} file is changed to use
% \texttt{\meta{name}.aux}, but before the
% \texttt{\meta{name}.tex} file is loaded. In other words they are executed
@@ -322,6 +343,58 @@
% \pkg{filehook} or \pkg{scrlfile} do) but think that for package
% writers the commands from for hook management are sufficient.
%
+%
+%
+% \subsection{Internal interfaces for \LaTeX{}}
+%
+% \begin{function}{\declare@file@substitution,\undeclare@file@substitution}
+% \begin{syntax}
+% \cs{declare@file@substitution} \Arg{file} \Arg{replacement-file}
+% \cs{undeclare@file@substitution} \Arg{file}
+% \end{syntax}
+% If \meta{file} is requested for loading replace it with
+% \meta{replacement-file}. \cs{CurrentFile} remains pointing to
+% \meta{file} but \cs{CurrentFileUsed} will show the file actually
+% loaded.
+%
+% The main use case for this declaration is to provide a corrected
+% version of a package that can't be changed (due to its license)
+% but no longer functions because of \LaTeX{} kernel changes, for
+% example, or to provide a version that makes use of new kernel
+% functionality while the original package remains available for
+% use with older releases.
+%
+% The \cs{undeclare@file@substitution} declaration undoes a
+% substitution made earlier.
+%
+% \begin{quote}
+% \em
+% Please do not misuse this functionality and replace a file with
+% another unless if really needed and only if the new version is
+% implementating the same functionality as the original one!
+% \end{quote}
+% \end{function}
+%
+% \begin{function}{\disable@package@load,\reenable@package@load}
+% \begin{syntax}
+% \cs{disable@package@load} \Arg{package} \Arg{alternate-code}
+% \cs{reenable@package@load} \Arg{package}
+% \end{syntax}
+% If \meta{package} is requested do not load it but instead run
+% \meta{alternate-code} which could issue a warning, error or any
+% other code.
+%
+% The main use case is for classes that want to restrict the set of
+% supported packages or contain code that make the use of some
+% packages impossible. So rather than waiting until the document
+% breaks they can set up informative messages why certain packages
+% are not available.
+%
+% The function is only implemented for packages not for arbitrary
+% files.
+% \end{function}
+%
+%
% \subsection{A sample package for structuring the log output}
%
% As an application we provide the package \pkg{structuredlog} that
@@ -378,91 +451,176 @@
%<*2ekernel>
% \end{macrocode}
%
-% \subsection{\pkg{expl3} helpers}
-%
% \begin{macrocode}
%<@@=filehook>
% \end{macrocode}
%
+%
+% \subsection{Document and package-level commands}
+%
+%
% \begin{macro}{\CurrentFile,\CurrentFilePath}
+% \begin{macro}{\CurrentFileUsed,\CurrentFilePathUsed}
% User-level macros that hold the current file name and file path.
% These are used internally as well because the code takes care to
-% protect against a possible redefinition of these macros in the loaded
-% file (it's necessary anyway to make hooks work with nested
-% \cs{input}).
+% protect against a possible redefinition of these macros in the
+% loaded file (it's necessary anyway to make hooks work with nested
+% \cs{input}). The versions |\...Used| hold the \emph{actual} file
+% name and path that is loaded by \LaTeX, whereas the other two hold
+% the name as requested. They will differ in case there's a file
+% substitution.
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\CurrentFile}{Hook management file}%
+\ExplSyntaxOn
+\tl_new:N \CurrentFile
+\tl_new:N \CurrentFilePath
+\tl_new:N \CurrentFileUsed
+\tl_new:N \CurrentFilePathUsed
+\ExplSyntaxOff
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
% \begin{macrocode}
-\def\CurrentFile{}
-\def\CurrentFilePath{}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\CurrentFile}{Hook management file}%
+%<latexrelease>
+%<latexrelease>\let \CurrentFile \@undefined
+%<latexrelease>\let \CurrentFilePath \@undefined
+%<latexrelease>\let \CurrentFileUsed \@undefined
+%<latexrelease>\let \CurrentFilePathUsed \@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
+% \end{macro}
+%
+%
+%
+% \subsection{\pkg{expl3} helpers}
%
-% \begin{macro}{\l_@@_internal_tl}
-% \begin{macro}{\@filehook@set@curr@file,\@@_normalise_file_name:n}
-% When inputting a file, \cs{@filehook@set@curr@file} does a file
-% lookup (in \cs{input@path} and \cs{l_file_search_path_seq}) and
-% returns the actual file name (\meta{base} plus \meta{ext}) in
-% \cs{CurrentFile}. Only the base and extension are returned,
-% regardless of the input (both \texttt{path/to/file.tex} and
-% \texttt{file.tex} end up as \texttt{file.tex} in \cs{CurrentFile}).
-% The path is returned in \cs{CurrentFilePath}, in case it's needed.
-% \cs{CurrentFile} is then used to run the file hooks with
-% \texttt{file/before/\cs{CurrentFile}} and
-% \texttt{file/after/\cs{CurrentFile}}.
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@@_file_parse_full_name:nN}{File helpers}%
\ExplSyntaxOn
-\tl_new:N \l_@@_internal_tl
-\cs_new_protected:Npn \@filehook@set@curr@file #1
- { \exp_args:NV \@@_normalise_file_name:n #1 }
-\cs_new_protected:Npn \@@_normalise_file_name:n #1
+% \end{macrocode}
+%
+% \begin{macro}{
+% \@@_file_parse_full_name:nN,
+% \@@_full_name:nn,
+% \@@_set_curr_file_assign:nnnNN
+% }
+% A utility macro to trigger \pkg{expl3}'s file-parsing and lookup,
+% and return a normalized representation of the file name. If the
+% queried file doesn't exist, no normalisation takes place.
+% The output of \cs{@@_file_parse_full_name:nN} is passed on to the
+% |#2|---a 3-argument macro that takes the \meta{path}, \meta{base},
+% and \meta{ext} parts of the file name.
+%
+% \begin{macrocode}
+\cs_new:Npn \@@_file_parse_full_name:nN #1
{
- \file_if_exist:nTF {#1}
+ \exp_args:Nf \file_parse_full_name_apply:nN
{
- \exp_args:Nx \file_parse_full_name:nNNN
- { \file_full_name:n {#1} }
+ \exp_args:Nf \@@_full_name:nn
+ { \file_full_name:n {#1} } {#1}
}
- { \file_parse_full_name:nNNN {#1} }
- \CurrentFilePath \CurrentFile \l_@@_internal_tl
- \tl_set:Nx \CurrentFile { \CurrentFile \l_@@_internal_tl }
+ }
+\cs_new:Npn \@@_full_name:nn #1 #2
+ {
+ \tl_if_empty:nTF {#1}
+ { \tl_trim_spaces:n {#2} }
+ { \tl_trim_spaces:n {#1} }
}
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}{
+% \@@_if_no_extension:nTF,
+% \@@_drop_extension:N
+% }
+% Some actions depend on whether the file extension was explicitly
+% given, and sometimes the extension has to be removed. The macros
+% below use \cs{@@_file_parse_full_name:nN} to split up the file name
+% and either check if \meta{ext} (|#3|) is empty, or discard it.
+% \begin{macrocode}
+\cs_new:Npn \@@_if_no_extension:nTF #1
+ {
+ \exp_args:Ne \tl_if_empty:nTF
+ { \file_parse_full_name_apply:nN {#1} \use_iii:nnn }
+ }
+\cs_new_protected:Npn \@@_drop_extension:N #1
+ {
+ \tl_gset:Nx #1
+ {
+ \exp_args:NV \@@_file_parse_full_name:nN #1
+ \@@_drop_extension_aux:nnn
+ }
+ }
+\cs_new:Npn \@@_drop_extension_aux:nnn #1 #2 #3
+ { \tl_if_empty:nF {#1} { #1 / } #2 }
+% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\g_@@_input_file_seq}
-% \begin{macro}{\@filehook@file@push,\@filehook@file@pop}
-% \begin{macro}{\@@_file_pop_assign:nn}
+% \begin{macro}{\g_@@_input_file_seq,\l_@@_internal_tl}
+% \begin{macro}{\@@_file_push:,\@@_file_pop:}
+% \begin{macro}{\@@_file_pop_assign:nnnn}
% Yet another stack, to keep track of \cs{CurrentFile} and
% \cs{CurrentFilePath} with nested \cs{input}s. At the beginning of
% \cs{InputIfFileExists}, the current value of \cs{CurrentFilePath}
% and \cs{CurrentFile} is pushed to \cs{g_@@_input_file_seq}, and
-% at the end, it is popped and the value reassigned.
-% \cs{IfFileExists} does \cs{set@curr@file} internally, which changes
-% \cs{CurrentFile}, so \cs{@filehook@file@push} has to be executed
-% before \cs{IfFileExists}.
+% at the end, it is popped and the value reassigned. Some other
+% places don't use \cs{InputIfFileExists} directly (\cs{include}) or
+% need \cs{CurrentFile} earlier (\cs{@onefilewithoptions}), so these
+% are manually used elsewhere as well.
% \begin{macrocode}
+\tl_new:N \l_@@_internal_tl
\seq_new:N \g_@@_input_file_seq
-\cs_new_protected:Npn \@filehook@file@push
+\cs_new_protected:Npn \@@_file_push:
{
\seq_gpush:Nx \g_@@_input_file_seq
- { { \CurrentFilePath } { \CurrentFile } }
+ {
+ { \CurrentFilePathUsed } { \CurrentFileUsed }
+ { \CurrentFilePath } { \CurrentFile }
+ }
}
-\cs_new_protected:Npn \@filehook@file@pop
+\cs_new_protected:Npn \@@_file_pop:
{
\seq_gpop:NNTF \g_@@_input_file_seq \l_@@_internal_tl
- { \exp_after:wN \@@_file_pop_assign:nn \l_@@_internal_tl }
- { \ERROR_should_not_happen }
+ { \exp_after:wN \@@_file_pop_assign:nnnn \l_@@_internal_tl }
+ {
+ \msg_error:nnn { hooks } { should-not-happen }
+ { Tried~to~pop~from~an~empty~file~name~stack. }
+ }
}
-\cs_new_protected:Npn \@@_file_pop_assign:nn #1 #2
+\cs_new_protected:Npn \@@_file_pop_assign:nnnn #1 #2 #3 #4
{
- \tl_set:Nn \CurrentFilePath {#1}
- \tl_set:Nn \CurrentFile {#2}
+ \tl_set:Nn \CurrentFilePathUsed {#1}
+ \tl_set:Nn \CurrentFileUsed {#2}
+ \tl_set:Nn \CurrentFilePath {#3}
+ \tl_set:Nn \CurrentFile {#4}
}
\ExplSyntaxOff
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
%
+% \begin{macrocode}
+%<@@=>
+% \end{macrocode}
%
% \subsection{Declaring the file-related hooks}
%
@@ -475,13 +633,14 @@
% automatically declared as reversed hooks if filled with code, so this
% is also automatically taken care of.
%
-% \subsection{Patching \LaTeX{} commands (need proper integration later)}
%
-% Most of what we have to do is adding \cs{UseHook} into several
-% \LaTeXe{} core commands, which is done for now by patching them.
-% \begin{macrocode}
-%<@@=>
-% \end{macrocode}
+%
+%
+% \subsection{Patching \LaTeX{}'s \cs{InputIfFileExists} command}
+%
+% Most of what we have to do is adding \cs{UseHook} into several
+% \LaTeXe{} core commands, because of some circular dependencies in the
+% kernel we do this only now and not in \texttt{ltfiles}.
%
% \begin{macro}{\InputIfFileExists}
% \cs{InputIfFileExists} loads any file if it is available so we
@@ -489,21 +648,34 @@
% \texttt{file/after} in the right places. If the file doesn't
% exist no hooks should be executed.
% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\InputIfFileExists}{Hook management (files)}%
+%<*2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
\let\InputIfFileExists\@undefined
-\DeclareRobustCommand \InputIfFileExists[3]{%
- \@filehook@file@push
+\DeclareRobustCommand \InputIfFileExists[2]{%
\IfFileExists{#1}%
{%
+ \@expl@@@filehook@file@push@@
+ \@filehook@set@CurrentFile
% \end{macrocode}
-% If the file exists then \cs{@curr@file} holds its name. But we
+% If the file exists then \cs{CurrentFile} holds its name. But we
% can't rely on that still being true after the file has been
% processed. Thus for using the name in the file hooks we need to
% preserve the name and then restored it for the
% \texttt{file/after/...} hook.
%
-% The hook always refers to the \emph{actual} file that will be
-% operated on, regardless of how the user had it written in the
-% document. \pkg{expl3}'s \cs{file_full_name:n} normalizes the file
+% The hook always refers to the file requested by the user. The hook
+% is \emph{always} loaded for \cs{CurrentFile} which usually is the
+% same as \cs{CurrentFileUsed}. In the case of a file replacement,
+% the \cs{CurrentFileUsed} holds the actual file loaded. In any case
+% the file names are normalized so that the hooks work on the real
+% file name, rather than what the user typed in.
+%
+% \pkg{expl3}'s \cs{file_full_name:n} normalizes the file
% name (to factor out differences in the |.tex| extension), and
% then does a file lookup to take into account a possible path from
% \cs{l_file_search_path_seq} and \cs{input@path}. However only
@@ -512,9 +684,11 @@
% returned in \cs{CurrentFilePath}.
% \begin{macrocode}
\edef\reserved@a{\@filef@und
- \def\noexpand\CurrentFile{\CurrentFile}%
- \def\noexpand\CurrentFilePath{\CurrentFilePath}%
- }%
+ \@expl@@@filehook@file@pop@assign@@nnnn
+ {\CurrentFilePathUsed}%
+ {\CurrentFileUsed}%
+ {\CurrentFilePath}%
+ {\CurrentFile}}%
\expandafter\@swaptwoargs\expandafter
{\reserved@a}%
{%
@@ -522,7 +696,7 @@
\@addtofilelist{#1}%
\UseHook{file/before}%
% \end{macrocode}
-% The current file name is available in \cs{@curr@file} so we use
+% The current file name is available in \cs{CurrentFile} so we use
% that in the specific hook.
% \begin{macrocode}
\UseHook{file/before/\CurrentFile}%
@@ -533,356 +707,592 @@
% \begin{macrocode}
\UseHook{file/after/\CurrentFile}%
\UseHook{file/after}%
- \@filehook@file@pop
+ \@expl@@@filehook@file@pop@@
}%
- {\@filehook@file@pop #3}%
}
+%<latexrelease>\EndIncludeInRelease
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \changes{v0.9b}
+% {1993/12/04}{Macro added}
+% \changes{v0.9p}
+% {1994/01/18}{New Definition}
+% \changes{v0.3b}{1994/03/13}
+% {Use new cmd \cs{@addtofilelist}}
+% Now define |\InputIfFileExists| to input |#1| if it seems to exist.
+% Immediately prior to the input, |#2| is executed.
+% If the file |#1| does not exist, execute `|#3|'.
+% \changes{v1.0t}{1995/05/25}
+% {(CAR) added \cs{long}}
+% \changes{v1.1o}{2019/02/07}{Expand \cs{@filef@und} before executing
+% second argument (github/109)}
+% \changes{v1.2b}{2019/08/27}{Make command robust}
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\InputIfFileExists}{Hook management (files)}%
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand \InputIfFileExists[2]{%
+%<latexrelease> \IfFileExists{#1}%
+%<latexrelease> {%
+%<latexrelease> \expandafter\@swaptwoargs\expandafter
+%<latexrelease> {\@filef@und}{#2\@addtofilelist{#1}\@@input}}}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\InputIfFileExists}{Hook management (files)}%
+%<latexrelease>\long\def \InputIfFileExists#1#2{%
+%<latexrelease> \IfFileExists{#1}%
+%<latexrelease> {#2\@addtofilelist{#1}\@@input \@filef@und}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+%
+%
+% \subsection{Declaring a file substitution}
+%
+% \begin{macrocode}
+%<@@=filehook>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@@_subst_add:nn}{Declaring file substitution}%
+\ExplSyntaxOn
+% \end{macrocode}
+%
+%
+% \begin{macro}{\@@_subst_add:nn,\@@_subst_remove:n,
+% \@@_subst_file_normalize:n,\@@_subst_empty_name_chk:NN}
+% \cs{@@_substitution_lthooadd:nn} declares a file substitution by
+% doing a (global) definition of the form
+% |\def|\cs{@file-subst@\meta{file}}|{|\meta{replacement}|}|.
+% The file names are properly sanitised, and normalized with the same
+% treatment done for the file hooks. That is, a file replacement is
+% declared by using the file name (and extension, if any) only, and
+% the file path should not be given. If a file name is empty it is
+% replaced by |.tex| (the empty csname is used to check that).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_subst_add:nn #1 #2
+ {
+ \group_begin:
+ \cs_set:cpx { } { \exp_not:o { \cs:w\cs_end: } }
+ \int_set:Nn \tex_escapechar:D { -1 }
+ \cs_gset:cpx { @file-subst@ \@@_subst_file_normalize:n {#1} }
+ { \@@_subst_file_normalize:n {#2} }
+ \group_end:
+ }
+\cs_new_protected:Npn \@@_subst_remove:n #1
+ {
+ \group_begin:
+ \cs_set:cpx { } { \exp_not:o { \cs:w\cs_end: } }
+ \int_set:Nn \tex_escapechar:D { -1 }
+ \cs_undefine:c { @file-subst@ \@@_subst_file_normalize:n {#1} }
+ \group_end:
+ }
+\cs_new:Npn \@@_subst_file_normalize:n #1
+ {
+ \exp_after:wN \@@_subst_empty_name_chk:NN
+ \cs:w \exp_after:wN \cs_end:
+ \cs:w \@@_file_parse_full_name:nN {#1} \use_ii_iii:nnn \cs_end:
+ }
+\cs_new:Npn \@@_subst_empty_name_chk:NN #1 #2
+ { \if_meaning:w #1 #2 .tex \else: \token_to_str:N #2 \fi: }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}[int]{\use_ii_iii:nnn}
+% A variant of \cs[no-index]{use_...} to discard the first of three
+% arguments.
+% \fmi{this should move to \pkg{expl3}}
+% \begin{macrocode}
+\cs_gset:Npn \use_ii_iii:nnn #1 #2 #3 {#2 #3}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+\ExplSyntaxOff
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
+%
+%
+%
+% \begin{macro}{\declare@file@substitution}
+% \begin{macro}{\undeclare@file@substitution}
+% For two internals we provide \LaTeXe{} names so that we can use
+% them elsewhere in the kernel (and so that they can be used in
+% packages if really needed, e.g., \pkg{scrlfile}).
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\declare@file@substitution}{File substitution}%
+\ExplSyntaxOn
+\cs_new_eq:NN \declare@file@substitution \@@_subst_add:nn
+\cs_new_eq:NN \undeclare@file@substitution \@@_subst_remove:n
+\ExplSyntaxOff
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\declare@file@substitution}{File substitution}%
+%<latexrelease>
+%<latexrelease>\let \declare@file@substitution \@undefined
+%<latexrelease>\let \undeclare@file@substitution \@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
% \end{macro}
%
-% \begin{macro}{\set@curr@file}
-% Now we just hook into \cs{set@curr@file} to add
-% \cs{@filehook@set@curr@file} at the end, after \cs{@curr@file} is
-% set.
+%
+%
+%
% \begin{macrocode}
+%<@@=>
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% \subsection{Selecting a file (\cs{set@curr@file})}
+%
+% \begin{macro}{\set@curr@file,\@curr@file,\@curr@file@reqd}
+% Now we hook into \cs{set@curr@file} to resolve a possible file
+% substitution, and add \cs{@expl@@@filehook@set@curr@file@@N} at the end, after
+% \cs{@curr@file} is set.
+%
+% A file name is built using
+% \cs{expandafter}\cs{string}\cs{csname}\meta{filename}\cs{endcsname}
+% to avoid expanding utf8 active characters. The \cs{csname} expands
+% the normalisation machinery and the routine to resolve a file
+% substitution, returning a control sequence with the same name as the
+% file.
+%
+% It happens that when \meta{filename} is empty, the generated control
+% sequence is \cs{csname\cs{endcsname}}, and doing \cs{string} on
+% that results in the file |csnameendcsname.tex|. To guard against
+% that we \cs{ifx}-compare the generated control sequence with the
+% empty csname. To do so, \cs{csname\cs{endcsname}} has to be
+% defined, otherwise it would be equal to \cs{relax} and we would have
+% false positives. Here we define \cs{csname\cs{endcsname}} to
+% expand to itself to avoid it matching the definition of some other
+% control sequence.
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\set@curr@file}{Setting current file name}%
\def\set@curr@file#1{%
\begingroup
\escapechar\m@ne
- \xdef\@curr@file{%
- \expandafter\expandafter\expandafter\unquote@name
- \expandafter\expandafter\expandafter{%
- \expandafter\string
- \csname\@firstofone#1\@empty\endcsname}}%
- \endgroup
- \@filehook@set@curr@file{\@curr@file}%
-}
+ \expandafter\def\csname\expandafter\endcsname
+ \expandafter{\csname\endcsname}%
% \end{macrocode}
-% \end{macro}
+% Two file names are set here: \cs{@curr@file@reqd} which is the file
+% requested by the user, and \cs{@curr@file} which should be the same,
+% except when we have a file substitution, in which case it holds the
+% actual loaded file. \cs{@curr@file} is resolved first, to check if
+% a substitution happens. If it doesn't,
+% \cs{@expl@@@filehook@if@file@replaced@@TF} short-cuts and just copies
+% \cs{@curr@file}, otherwise the full normalisation procedure is
+% executed.
+%
+% At this stage the file name is parsed and normalized, but if the
+% input doesn't have an extension, the default |.tex| is \emph{not}
+% added to \cs{@curr@file} because for applications other than
+% \cs{input} (graphics, for example) the default extension may not
+% be |.tex|. First check if the input has an extension, then if the
+% input had no extension, call \cs{@expl@@@filehook@drop@extension@@N}. In case
+% of a file substitution, \cs{@curr@file} will have an extension.
+% \begin{macrocode}
+ \@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}%
+ \endgroup}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\set@curr@file}{Setting current file name}%
+%<latexrelease>\def\set@curr@file#1{%
+%<latexrelease> \begingroup
+%<latexrelease> \escapechar\m@ne
+%<latexrelease> \xdef\@curr@file{%
+%<latexrelease> \expandafter\expandafter\expandafter\unquote@name
+%<latexrelease> \expandafter\expandafter\expandafter{%
+%<latexrelease> \expandafter\string
+%<latexrelease> \csname\@firstofone#1\@empty\endcsname}}%
+%<latexrelease> \endgroup
+%<latexrelease>}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\set@curr@file}{Setting current file name}%
+%<latexrelease>\let\set@curr@file\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
%
-% \begin{macro}{\load@onefilewithoptions}
-% This macro is used when loading packages or classes.
-% \begin{macrocode}
-\def\load@onefilewithoptions#1[#2][#3]#4{%
- \@pushfilename
- \xdef\@currname{#1}%
- \global\let\@currext#4%
- \let\CurrentOption\@empty
- \@reset@ptions
- \makeatletter
- \def\reserved@a{%
- \@ifl@aded\@currext{#1}%
- {\@if@ptions\@currext{#1}{#2}{}%
- {\@latex@error
- {Option clash for \@cls@pkg\space #1}%
- {The package #1 has already been loaded
- with options:\MessageBreak
- \space\space[\@ptionlist{#1.\@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{#1.\@currext},#2\MessageBreak
- to your \noexpand\documentclass declaration may fix this.%
- \MessageBreak
- Try typing \space <return> \space to proceed.}}}%
- {\@pass@ptions\@currext{#2}{#1}%
- \global\expandafter
- \let\csname ver@\@currname.\@currext\endcsname\@empty
- \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
- \InputIfFileExists
- {\@currname.\@currext}%
- {%
-%-----------------------------------------
-% \end{macrocode}
-% When the current extension is \cs{@pkgextension} we are loading a
-% package otherwise, if it is \cs{@clsextension}, a class, so
-% depending on that we execute different hooks. If the extension is
-% neither, then it is another type of file without special hooks.
-% \begin{macrocode}
- \ifx\@currext\@pkgextension
- \UseHook{package/before}%
- \UseHook{package/before/\@currname}%
- \else
- \ifx\@currext\@clsextension
- \UseHook{class/before}%
- \UseHook{class/before/\@currname}%
- \fi
- \fi
-% \end{macrocode}
-% The value of \cs{CurrentFile} holds during \cs{InputIfFileExists},
-% so the hooks above have that available for using. However at this
-% point \cs{CurrentFile} is reset to its previous value by
-% \cs{@filehook@file@pop} because it doesn't know that we'll have
-% more hooks ahead. So here (still in the \meta{true} branch of
-% \cs{InputIfFileExists}, right after actually reading the file in)
-% we'll cheat: use \cs{@filehook@file@push} once more, so there are
-% two entries for the current file in the name stack, so that when
-% \cs{InputIfFileExists} pops it, there's still one (identical) left.
-% \begin{macrocode}
- \@filehook@file@push
-%-----------------------------------------
- }%
- {\@missingfileerror\@currname\@currext}%
- \let\@unprocessedoptions\@@unprocessedoptions
- \csname\@currname.\@currext-h@@k\endcsname
- \expandafter\let\csname\@currname.\@currext-h@@k\endcsname
- \@undefined
-%-----------------------------------------
-% \end{macrocode}
-% And same procedure, James, when we are finished loading, except
-% that the hook order is now reversed.
-% \begin{macrocode}
- \ifx\@currext\@pkgextension
- \UseHook{package/after/\@currname}%
- \UseHook{package/after}%
- \else
- \ifx\@currext\@clsextension
- \UseHook{class/after/\@currname}%
- \UseHook{class/after}%
- \fi
- \fi
-% \end{macrocode}
-% Now here we do \cs{@filehook@file@pop} to restore the
-% \cs{CurrentFile} before this file being loaded and fix what we've
-% done in the stack right above.
-% \begin{macrocode}
- \@filehook@file@pop
-%-----------------------------------------
- \@unprocessedoptions}%
- \@ifl@ter\@currext{#1}{#3}{}%
- {\@latex@warning@no@line
- {You have requested,\on@line,
- version\MessageBreak
- `#3' of \@cls@pkg\space #1,\MessageBreak
- but only version\MessageBreak
- `\csname ver@#1.\@currext\endcsname'\MessageBreak
- is available}}%
- \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi
- \@popfilename
- \@reset@ptions}%
- \reserved@a}
-% \end{macrocode}
-%
-% The code for this macro has changed between 2020/02/02 and
-% 2020/10/01 so the never version is this:
-% \begin{macrocode}
-\@ifl@t@r\fmtversion{2020/10/01}
-{%
-\def\load@onefilewithoptions#1[#2][#3]#4{%
- \@pushfilename
- \xdef\@currname{#1}%
- \global\let\@currext#4%
- \let\CurrentOption\@empty
- \@reset@ptions
- \makeatletter
- \def\reserved@a{%
- \@ifl@aded\@currext{#1}%
- {\@if@ptions\@currext{#1}{#2}{}%
- {\@latex@error
- {Option clash for \@cls@pkg\space #1}%
- {The package #1 has already been loaded
- with options:\MessageBreak
- \space\space[\@ptionlist{#1.\@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{#1.\@currext},#2\MessageBreak
- to your \noexpand\documentclass declaration may fix this.%
- \MessageBreak
- Try typing \space <return> \space to proceed.}}}%
- {\@pass@ptions\@currext{#2}{#1}%
- \global\expandafter
- \let\csname ver@\@currname.\@currext\endcsname\@empty
- \expandafter\let\csname\@currname.\@currext-h@@k\endcsname\@empty
- \InputIfFileExists
- {\@currname.\@currext}%
- {%
-%-----------------------------------------
- \ifx\@currext\@pkgextension
- \UseHook{package/before}%
- \UseHook{package/before/\@currname}%
- \else
- \ifx\@currext\@clsextension
- \UseHook{class/before}%
- \UseHook{class/before/\@currname}%
- \fi
- \fi
- \@filehook@file@push
-%-----------------------------------------
- }%
- {\@missingfileerror\@currname\@currext}%
- \expandafter\let\csname unprocessedoptions-\@currname.\@currext\endcsname
- \@@unprocessedoptions
- \csname\@currname.\@currext-h@@k\endcsname
- \expandafter\let\csname\@currname.\@currext-h@@k\endcsname
- \@undefined
- \ifx\@unprocessedoptions\relax
- \let\@unprocessedoptions\@undefined
- \else
- \csname unprocessedoptions-\@currname.\@currext\endcsname
- \fi
- \expandafter\let
- \csname unprocessedoptions-\@currname.\@currext\endcsname
- \@undefined
-%-----------------------------------------
- \ifx\@currext\@pkgextension
- \UseHook{package/after/\@currname}%
- \UseHook{package/after}%
- \else
- \ifx\@currext\@clsextension
- \UseHook{class/after/\@currname}%
- \UseHook{class/after}%
- \fi
- \fi
- \@filehook@file@pop
-%-----------------------------------------
- }%
- \@ifl@ter\@currext{#1}{#3}{}%
- {\@latex@warning@no@line
- {You have requested,\on@line,
- version\MessageBreak
- `#3' of \@cls@pkg\space #1,\MessageBreak
- but only version\MessageBreak
- `\csname ver@#1.\@currext\endcsname'\MessageBreak
- is available}}%
- \ifx\@currext\@clsextension\let\LoadClass\@twoloadclasserror\fi
- \@popfilename
- \@reset@ptions}%
- \reserved@a}
-}{}%
+%
+%
+%
+% \begin{macro}{\@filehook@set@CurrentFile}
+% \begin{macro}{\@kernel@make@file@csname,\@set@curr@file@aux}
+%
+% \fmi{This should get internalized using \texttt{@expl@} names}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@kernel@make@file@csname}{Make file csname}%
% \end{macrocode}
-% \end{macro}
-
-
-
-
-% \begin{macro}{\@include}
-% \begin{macrocode}
-\def\@include#1 {%
- \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
-%-----------------------------------------
-% \end{macrocode}
-% First we need to fix \cs{CurrentFile}, because due the pesky
-% space-delimited \cs{@include}, \cs{CurrentFile} contains the
-% \cs{include}'d file with a space. To fix that, we re-do
-% \cs{set@curr@file}. The 2020/10/01 release doesn't need this as
-% \cs{include} was changed to do \cs{set@curr@file} on the correct
-% file name, rather than one with a trailing space.
-% \begin{macrocode}
- \set@curr@file{#1}%
-% \end{macrocode}
-% Execute the \texttt{before} hooks just after we switched the
-% \texttt{.aux} file \ldots
-% \begin{macrocode}
- \UseHook{include/before}%
- \UseHook{include/before/#1}%
-%-----------------------------------------
- \@input@{#1.tex}%
-% \end{macrocode}
-% \ldots{} then \texttt{end} hooks \ldots
-% \begin{macrocode}
-%-----------------------------------------
- \UseHook{include/end/#1}%
- \UseHook{include/end}%
-%-----------------------------------------
- \clearpage
-% \end{macrocode}
-% \ldots{} and after the \cs{clearpage} the \texttt{after} hooks
-% followed by another \cs{clearpage} just in case new material got
-% added (after all we need to be in well defined state after the
-% \cs{include}).
-% \begin{macrocode}
-%-----------------------------------------
- \UseHook{include/after/#1}%
- \UseHook{include/after}%
-% \end{macrocode}
-% The additional \cs{clearpage} is needed to ensure that switching
-% the \texttt{.aux} files happen at a defined point even if the
-% above hooks add further material.
-% \begin{macrocode}
- \clearpage
-%-----------------------------------------
- \@writeckpt{#1}%
- \if@filesw
- \immediate\closeout\@partaux
- \fi
+%
+% \begin{macrocode}
+\def\@kernel@make@file@csname#1#2#3{%
+ \xdef#1{\expandafter\@set@curr@file@aux
+ \csname\expandafter#2\@firstofone#3\@nil\endcsname}}
+% \end{macrocode}
+% This auxiliary compares \cs{\meta{filename}} with
+% \cs{csname\cs{endcsname}} to check if the empty |.tex| file was
+% requested.
+% \begin{macrocode}
+\def\@set@curr@file@aux#1{%
+ \expandafter\ifx\csname\endcsname#1%
+ .tex\else\string#1\fi}
+% \end{macrocode}
+%
+% Then we call \cs{@expl@@@filehook@set@curr@file@@N} once for \cs{@curr@file}
+% to set \cs[no-index]{CurrentFile(Path)Used} and once for
+% \cs{@curr@file@reqd} to set \cs[no-index]{CurrentFile(Path)}.
+% Here too the slower route is only used if a substitution happened,
+% but here \cs{@expl@@@filehook@if@file@replaced@@TF} can't be used because the
+% flag is reset at the \cs{endgroup} above, so we check if
+% \cs{@curr@file} and \cs{@curr@file@reqd} differ. This macro is
+% issued separate from \cs{set@curr@file} because it changes
+% \cs{CurrentFile}, and side-effects would quickly get out of control.
+% \begin{macrocode}
+\def\@filehook@set@CurrentFile{%
+ \@expl@@@filehook@set@curr@file@@N{\@curr@file}%
+ \CurrentFileUsed\CurrentFilePathUsed
+ \ifx\@curr@file@reqd\@curr@file
+ \let\CurrentFile\CurrentFileUsed
+ \let\CurrentFilePath\CurrentFilePathUsed
\else
- \deadcycles\z@
- \@nameuse{cp@#1}%
- \fi
- \let\@auxout\@mainaux
-}
+ \@expl@@@filehook@set@curr@file@@N{\@curr@file@reqd}%
+ \CurrentFile\CurrentFilePath
+ \fi}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
+% \end{macro}
+% \end{macro}
%
-% The code for this macro has changed between 2020/02/02 and
-% 2020/10/01 so the never version is this:
-% \begin{macrocode}
-\@ifl@t@r\fmtversion{2020/10/01}
-{%
-\def\@include#1 {%
- \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
-%-----------------------------------------
- \UseHook{include/before}%
- \UseHook{include/before/#1}%
-%-----------------------------------------
- \@input@{#1.tex}%
-%-----------------------------------------
- \UseHook{include/end/#1}%
- \UseHook{include/end}%
-%-----------------------------------------
- \clearpage
-%-----------------------------------------
- \UseHook{include/after/#1}%
- \UseHook{include/after}%
- \clearpage
-%-----------------------------------------
- \@writeckpt{#1}%
- \if@filesw
- \immediate\closeout\@partaux
- \fi
- \else
- \deadcycles\z@
- \@nameuse{cp@#1}%
- \fi
- \let\@auxout\@mainaux}
-}{}
+%
+%
+% \begin{macro}{\@@_set_curr_file:N,
+% \@@_set_curr_file:nNN,
+% \@@_set_curr_file_assign:nnnNN}
+% When inputting a file, \cs{set@curr@file} does a file lookup
+% (in \cs{input@path} and \cs{l_file_search_path_seq}) and returns the
+% actual file name (\meta{base} plus \meta{ext}) in
+% \cs{CurrentFileUsed}, and in case there's a file substitution, the
+% requested file in \cs{CurrentFile} (otherwise both are the same).
+% Only the base and extension are returned,
+% regardless of the input (both \texttt{path/to/file.tex} and
+% \texttt{file.tex} end up as \texttt{file.tex} in \cs{CurrentFile}).
+% The path is returned in \cs{CurrentFilePath}, in case it's needed.
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {@@_set_curr_file:N}{Set curr file}%
+\ExplSyntaxOn
+%<@@=filehook>
+\cs_new_protected:Npn \@@_set_curr_file:N #1
+ { \exp_args:NV \@@_set_curr_file:nNN #1 }
% \end{macrocode}
-% \end{macro}
+%
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_set_curr_file:nNN #1
+ {
+ \@@_file_parse_full_name:nN {#1}
+ \@@_set_curr_file_assign:nnnNN
+ }
+\cs_new_protected:Npn \@@_set_curr_file_assign:nnnNN #1 #2 #3 #4 #5
+ {
+ \str_set:Nn #5 {#1}
+ \str_set:Nn #4 {#2#3}
+ }
+\ExplSyntaxOff
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+% \subsection{Replacing a file and detecting loops}
+%
+% \begin{macro}{\@@_resolve_file_subst:w}
+% \begin{macro}{\@@_normalize_file_name:w}
+% \begin{macro}{\@@_file_name_compose:nnn}
+% Start by sanitising the file with \cs{@@_file_parse_full_name:nN}
+% then do \cs{@@_file_subst_begin:nnn}\Arg{path}\Arg{name}\Arg{ext}.
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@@_resolve_file_subst:w}{Replace files detect loops}%
+\ExplSyntaxOn
+\cs_new:Npn \@@_resolve_file_subst:w #1 \@nil
+ { \@@_file_parse_full_name:nN {#1} \@@_file_subst_begin:nnn }
+\cs_new:Npn \@@_normalize_file_name:w #1 \@nil
+ { \@@_file_parse_full_name:nN {#1} \@@_file_name_compose:nnn }
+\cs_new:Npn \@@_file_name_compose:nnn #1 #2 #3
+ { \tl_if_empty:nF {#1} { #1 / } #2#3 }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{flag @@_file_replaced}
+% \begin{macro}{\@@_if_file_replaced:TF}
+% Since the file replacement is done expandably in a \cs{csname}, use
+% a flag to remember if a substitution happened. We use this in
+% \cs{set@curr@file} to short-circuit some of it in case no
+% substitution happened (by far the most common case, so it's worth
+% optimising).
+% \begin{macrocode}
+\flag_new:n { @@_file_replaced }
+\cs_new:Npn \@@_if_file_replaced:TF #1 #2
+ { \flag_if_raised:nTF { @@_file_replaced } {#1} {#2} }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\@@_file_subst_begin:nnn}
+% First off, start by checking if the current file ($\meta{name} +
+% \meta{ext}$) has a declared substitution. If not, then just put
+% that as the name (including a possible \meta{path} in this case):
+% this is the default case with no substitutions, so it's the first to
+% be checked. The auxiliary \cs{@@_file_subst_tortoise_hare:nn} sees
+% that there's no replacement for |#2#3| and does nothing else.
+% \begin{macrocode}
+\cs_new:Npn \@@_file_subst_begin:nnn #1 #2 #3
+ {
+ \@@_file_subst_tortoise_hare:nn { #2#3 } { #2#3 }
+ { \@@_file_name_compose:nnn {#1} {#2} {#3} }
+ }
+\ExplSyntaxOff
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+%
+% \subsubsection{The Tortoise and Hare algorithm}
+%
+% \begin{macro}{\@@_file_subst_tortoise_hare:nn}
+% \begin{macro}{\@@_file_subst_loop:NN,\@@_file_subst_loop:cc}
+% If there is a substitution (\meta{true} in the first
+% \cs{cs_if_exist:cTF} below), then first check if there is no
+% substitution down the line: this should be the second most common
+% case, of one file replaced by another. In that case just leave the
+% substitution there and the job is done. If any substitution
+% happens, then the \cs{flag @@_file_replaced} is raised
+% (conditionally, because checking if a flag is raised is much faster
+% than raising it over and over again).
+%
+% If, however there are more substitutions, then we need to check for
+% a possible loop in the substitutions, which would otherwise put
+% \TeX{} in an infinite loop if just an exhaustive expansion was used.
+%
+% To detect a loop, the \emph{Tortoise and Hare} algorithm is used.
+% The name of the algorithm is an analogy to Aesop's fable, in which
+% the Hare outruns a Tortoise. The two pointers here are the csnames
+% which contains each file replacement, both of which start at the
+% position zero, which is the file requested. In the inner part of
+% the macro below, \cs{@@_file_subst_loop:cc} is called with
+% \cs[no-index]{@file-subst@\meta{file}} and
+% \cs[no-index]{@file-subst@\cs[no-index]{@file-subst@\meta{file}}};
+% that is, the substitution of \meta{file} and the substution of that
+% substution: the Tortoise walks one step while the Hare walks two.
+%
+% Within \cs{@@_file_subst_loop:NN} the two substitutions are
+% compared, and if they lead to the same file it means that there is
+% a loop in the substitutions. If there's no loop,
+% \cs{@@_file_subst_tortoise_hare:nn} is called again with the
+% Tortoise at position~1 and the hare at~2. Again, the substitutions
+% are checked ahead of the Hare pointer to check that it won't run too
+% far; in case there is no loop in the declarations, eventually one
+% of the \cs{cs_if_exist:cTF} below will go \meta{false} and the
+% algorithm will end; otherwise it will run until the Hare reaches
+% the same spot as the tortoise and a loop is detected.
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@@_file_subst_tortoise_hare:nn}{Tortoise and Hare}%
+\ExplSyntaxOn
+\cs_new:Npn \@@_file_subst_tortoise_hare:nn #1 #2 #3
+ {
+ \cs_if_exist:cTF { @file-subst@ #2 }
+ {
+ \flag_if_raised:nF { @@_file_replaced }
+ { \flag_raise:n { @@_file_replaced } }
+ \cs_if_exist:cTF { @file-subst@ \use:c { @file-subst@ #2 } }
+ {
+ \@@_file_subst_loop:cc
+ { @file-subst@ #1 }
+ { @file-subst@ \use:c { @file-subst@ #2 } }
+ }
+ { \use:c { @file-subst@ #2 } }
+ }
+ { #3 }
+ }
+% \end{macrocode}
+% This is just an auxiliary to check if a loop was found, and continue
+% the algorithm otherwise. If a loop is found, the |.tex| file is
+% used as fallback and \cs{@@_file_subst_cycle_error:cN} is called to
+% report the error.
+% \begin{macrocode}
+\cs_new:Npn \@@_file_subst_loop:NN #1 #2
+ {
+ \token_if_eq_meaning:NNTF #1 #2
+ {
+ .tex
+ \@@_file_subst_cycle_error:cN { @file-subst@ #1 } #1
+ }
+ { \@@_file_subst_tortoise_hare:nn {#1} {#2} {#2} }
+ }
+\cs_generate_variant:Nn \@@_file_subst_loop:NN { cc }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{
+% \@@_file_subst_cycle_error:NN,
+% \@@_file_subst_cycle_error:cN,
+% }
+% Showing this type of error expandably is tricky, as we have a very
+% limited amount of characters to show and a potentially large list.
+% As a work around, several errors are printed, each showing one step
+% of the loop, until all the error messages combined show the loop.
+% \begin{macrocode}
+\cs_new:Npn \@@_file_subst_cycle_error:NN #1 #2
+ {
+ \__kernel_msg_expandable_error:nnff { kernel } { file-cycle }
+ {#1} { \use:c { @file-subst@ #1 } }
+ \token_if_eq_meaning:NNF #1 #2
+ { \@@_file_subst_cycle_error:cN { @file-subst@ #1 } #2 }
+ }
+\cs_generate_variant:Nn \@@_file_subst_cycle_error:NN { c }
+% \end{macrocode}
+%
+% And the error message:
+% \begin{macrocode}
+\__kernel_msg_new:nnn { kernel } { file-cycle }
+ { File~loop!~#1~replaced~by~#2... }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+\ExplSyntaxOff
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%<@@=>
+% \end{macrocode}
+%
+%
+% \subsection{Preventing a package from loading}
+%
+% We support the use case of preventing a package from loading but not
+% any other type of files (e.g., classes).
+%
+% \begin{macro}{\disable@package@load}
+% \begin{macro}{\reenable@package@load}
+% \begin{macro}{\@disable@packageload@do}
+% \cs{disable@package@load} defines
+% \cs[no-index]{@pkg-disable@\meta{package}} to expand to some code |#2|
+% instead of loading the package.
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\disable@package@load}{Disable packages}%
+\def\disable@package@load#1#2{%
+ \global\@namedef{@pkg-disable@#1.\@pkgextension}{#2}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\def\@disable@packageload@do#1#2{%
+ \@ifundefined{@pkg-disable@#1}{#2}%
+ {\@nameuse{@pkg-disable@#1}}}
+% \end{macrocode}
+%
+% \cs{reenable@package@load} undefines
+% \cs[no-index]{@pkg-disable@\meta{package}} to reallow loading a package.
+% \begin{macrocode}
+\def\reenable@package@load#1{%
+ \global\expandafter\let
+ \csname @pkg-disable@#1.\@pkgextension \endcsname \@undefined}
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\disable@package@load}{Disable packages}%
+%<latexrelease>
+%<latexrelease>\let\disable@package@load \@undefined
+%<latexrelease>\let\@disable@packageload@do\@undefined
+%<latexrelease>\let\reenable@package@load \@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
%
%
%
@@ -895,13 +1305,231 @@
%
%
%
+% \subsection{Internal commands needed elsewhere}
+%
+% Here we set up a few horrible (but consistent) \LaTeXe{} names to
+% allow for internal commands to be used outside this module (and
+% in parts that still use \LaTeXe{} syntax. We have to unset the
+% \texttt{@\/@} since we want double ``at'' sign in place of double
+% underscores.
+%
+% \begin{macrocode}
+%<@@=>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@expl@@@filehook@if@no@extension@@nTF}{2e tmp interfaces}%
+\ExplSyntaxOn
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_eq:NN \@expl@@@filehook@if@no@extension@@nTF
+ \__filehook_if_no_extension:nTF
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_eq:NN \@expl@@@filehook@set@curr@file@@N
+ \__filehook_set_curr_file:N
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_eq:NN \@expl@@@filehook@resolve@file@subst@@w
+ \__filehook_resolve_file_subst:w
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_eq:NN \@expl@@@filehook@normalize@file@name@@w
+ \__filehook_normalize_file_name:w
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_eq:NN \@expl@@@filehook@if@file@replaced@@TF
+ \__filehook_if_file_replaced:TF
+
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_eq:NN \@expl@@@filehook@drop@extension@@N
+ \__filehook_drop_extension:N
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_eq:NN \@expl@@@filehook@file@push@@
+ \__filehook_file_push:
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_eq:NN \@expl@@@filehook@file@pop@@
+ \__filehook_file_pop:
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new_eq:NN \@expl@@@filehook@file@pop@assign@@nnnn
+ \__filehook_file_pop_assign:nnnn
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+\ExplSyntaxOff
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+% This ends the kernel code in this file.
% \begin{macrocode}
%</2ekernel>
% \end{macrocode}
%
%
%
-% \section{Package emulation for compatibility}
+% \section{A sample package for structuring the log output}
+%
+% \begin{macrocode}
+%<*structuredlog>
+%<@@=filehook>
+% \end{macrocode}
+%
+% \begin{macrocode}
+\ProvidesExplPackage
+ {structuredlog}{\ltfilehookdate}{\ltfilehookversion}
+ {Structuring the TeX transcript file}
+% \end{macrocode}
+%
+% \begin{macro}{\g_@@_nesting_level_int}
+% Stores the current package nesting level.
+% \begin{macrocode}
+\int_new:N \g_@@_nesting_level_int
+% \end{macrocode}
+% Initialise the counter with the number of files in the
+% \cs{@currnamestack} (the number of items divided by $3$) minus one,
+% because this package is skipped when printing to the log.
+% \begin{macrocode}
+\int_gset:Nn \g_@@_nesting_level_int
+ { ( \tl_count:N \@currnamestack ) / 3 - 1 }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_log_file_record:n}
+% This macro is responsible for increasing and decresing the file
+% nesting level, as well as printing to the log. The argument is
+% either |STOPTART| or |STOP| and the action it takes on the nesting
+% integer depends on that.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_log_file_record:n #1
+ {
+ \str_if_eq:nnT {#1} {START} { \int_gincr:N \g_@@_nesting_level_int }
+ \iow_term:x
+ {
+ \prg_replicate:nn { \g_@@_nesting_level_int } { = } ~
+ ( LEVEL ~ \int_use:N \g_@@_nesting_level_int \c_space_tl #1 ) ~
+ \CurrentFileUsed
+% \end{macrocode}
+% If there was a file replacement, show that as well:
+% \begin{macrocode}
+ \str_if_eq:NNF \CurrentFileUsed \CurrentFile
+ { ~ ( \CurrentFile \space requested ) }
+ \iow_newline:
+ }
+ \str_if_eq:nnT {#1} {STOP} { \int_gdecr:N \g_@@_nesting_level_int }
+ }
+% \end{macrocode}
+%
+% Now just hook the macro above in the generic |file/before|\ldots
+% \begin{macrocode}
+\AddToHook{file/before}{ \@@_log_file_record:n { START } }
+% \end{macrocode}
+% \ldots and |file/after| hooks.
+% We don't want to install the \hook{file/after} hook immediately,
+% because that would mean it is the first time executed when the
+% package finishes. We therefore put the declaration inside
+% \cs{AddToHookNext} so that it gets only installed when we have
+% left this package.
+% \begin{macrocode}
+\AddToHookNext{file/after}
+ { \AddToHook{file/after}{ \@@_log_file_record:n { STOP } } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+%<@@=>
+%</structuredlog>
+% \end{macrocode}
+%
+%
+%
+%
+%
+%
+% \section{Package emulations}
+%
+%
+% \subsection{Package \pkg{atveryend} emulation}
+%
+% With the new hook management and the hooks in \cs{enddocument}
+% all of \pkg{atveryend} is taken care of.
+% We can make an emulation only here after the substitution
+% functionality is available:
+% \begin{macrocode}
+%<*2ekernel>
+\declare@file@substitution{atveryend.sty}{atveryend-ltx.sty}
+%</2ekernel>
+% \end{macrocode}
+%
+% Here is the package file we point to:
+% \begin{macrocode}
+%<*atveryend-ltx>
+\ProvidesPackage{atveryend}
+ [2020/08/19 v1.0a
+ Emulation of the original atvery package^^Jwith kernel methods]
+% \end{macrocode}
+%
+%
+% Here are new definitions for its interfaces now pointing to the
+% hooks in \cs{enddocument}
+% \begin{macrocode}
+\newcommand\AfterLastShipout {\AddToHook{enddocument/afterlastpage}}
+\newcommand\AtVeryEndDocument {\AddToHook{enddocument/afteraux}}
+% \end{macrocode}
+% Next one is a bit of a fake, but the result should normally be as
+% expected. If not, one needs to add a rule to sort the code chunks
+% in \hook{enddocument/info}.
+% \begin{macrocode}
+\newcommand\AtEndAfterFileList{\AddToHook{enddocument/info}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand\AtVeryVeryEnd {\AddToHook{enddocument/end}}
+% \end{macrocode}
+%
+% \begin{macro}{\BeforeClearDocument}
+% This one is the only one we don't implement or rather don't have
+% a dedicated hook in the code.
+% \begin{macrocode}
+\ExplSyntaxOn
+\newcommand\BeforeClearDocument[1]
+ { \AtEndDocument{#1}
+ \atveryend@DEPRECATED{BeforeClearDocument \tl_to_str:n{#1}}
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_new:Npn\atveryend@DEPRECATED #1
+ {\iow_term:x{======~DEPRECATED~USAGE~#1~==========}}
+\ExplSyntaxOff
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macrocode}
+%</atveryend-ltx>
+% \end{macrocode}
%
%
% \subsection{Package \pkg{filehook} emulation}
@@ -1083,79 +1711,11 @@
%
%
%
-% \section{A sample package for structuring the log output}
-%
-% \begin{macrocode}
-%<*structuredlog>
-%<@@=filehook>
-% \end{macrocode}
-%
-% \begin{macrocode}
-\ProvidesExplPackage
- {structuredlog}{\ltfilehookdate}{\ltfilehookversion}
- {Structuring the TeX transcript file}
-% \end{macrocode}
-
-
-
-% \begin{macrocode}
-\int_new:N \g_@@_nesting_level_int
-% \end{macrocode}
-
-% \begin{macrocode}
-\tl_new:N \g_@@_nesting_prefix_tl
-\tl_gset:Nn \g_@@_nesting_prefix_tl { }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\AddToHook{file/before}{
- \int_gincr:N \g_@@_nesting_level_int
- \tl_gput_right:Nn\g_@@_nesting_prefix_tl {=}
- \iow_term:x {
- \g_@@_nesting_prefix_tl \space
- ( LEVEL~ \int_use:N \g_@@_nesting_level_int \space START )~
- \CurrentFile ^^J
- }
-}
-% \end{macrocode}
-% We don't want to install the \hook{file/after} hook immediately,
-% because that would mean it is the first time executed when the
-% package finishes. We therefore put the declaration inside
-% \cs{AddToHookNext} so that it gets only installed when we have
-% left the package.
-% \begin{macrocode}
-\AddToHookNext{file/after}{
- \AddToHook{file/after}{
- \iow_term:x {
- \g_@@_nesting_prefix_tl \space
- ( LEVEL~ \int_use:N \g_@@_nesting_level_int \space STOP )~
- \CurrentFile ^^J
- }
- \int_gdecr:N \g_@@_nesting_level_int
- \tl_gset:Nx \g_@@_nesting_prefix_tl
- {\exp_after:wN \use_none:n \g_@@_nesting_prefix_tl}
- }
-}
-% \end{macrocode}
-%
-% We have to manually increment the level because now that we have
-% installed the code in \texttt{file/after} it gets decremented
-% when we leave the package without ever being incremented upon
-% entry.
-% \begin{macrocode}
-%\int_incr:N\g_@@_nesting_level_int
-% \end{macrocode}
-%
-% \begin{macrocode}
-%</structuredlog>
-% \end{macrocode}
-
% \Finale
%
-
-
+%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
+%
diff --git a/macros/latex-dev/base/ltfiles.dtx b/macros/latex-dev/base/ltfiles.dtx
index 60b6a23e5c..a5ad754bfd 100644
--- a/macros/latex-dev/base/ltfiles.dtx
+++ b/macros/latex-dev/base/ltfiles.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfiles.dtx}
- [2020-06-05 v1.2h LaTeX Kernel (File Handling)]
+ [2020/08/21 v1.2i LaTeX Kernel (File Handling)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfiles.dtx}
@@ -47,6 +47,8 @@
Chris Rowley\and
Rainer Sch\"opf}
+\providecommand\pkg[1]{\texttt{#1}}
+
\begin{document}
\MaintainedByLaTeXTeam{latex}
\maketitle
@@ -55,6 +57,8 @@
%</driver>
% \fi
%
+% \providecommand\hook[1]{\texttt{#1}}
+%
%
% \changes{v1.0h}{1994/05/21}{Use new error commands}
% \changes{v1.0n}{1994/11/17}
@@ -62,6 +66,7 @@
% \changes{v1.0u}{1995/07/13}{Updates to docu}
% \changes{v1.1m}{2015/02/21}
% {Removed autoload support}
+% \changes{v1.2i}{2020/08/21}{Integration of new hook management interface}
%
% \section{File Handling}
%
@@ -234,22 +239,28 @@
% \changes{v0.9e}{1993/12/09}{Hook added}
% \begin{macrocode}
%</2ekernel>
-%<latexrelease>\IncludeInRelease{2020/06/05}%
+%<latexrelease>\IncludeInRelease{2020/10/01}%
%<latexrelease> {\document}{Added hook to load l3backend code}%
%<*2ekernel|latexrelease>
+\def\document{%
% \end{macrocode}
-% Cancel the |\begingroup| from |\begin|.
+% We do cancel the grouping as part of the \cs{begin} handling
+% (this is now done inside \cs{begin} instead) so that the
+% \hook{env/\meta{env}/begin} hook is not hidden inside \cs{begingroup}
+% \texttt{...} \cs{endgroup}.
% \begin{macrocode}
-\def\document{\endgroup
+% \endgroup
% \end{macrocode}
-% \changes{v1.2h}{2020/06/05}{Added hook to load \textsf{l3backend} code}
+%
% \begin{macrocode}
- \@expl@sys@load@backend@@
+ \UseOneTimeHook{begindocument/before}%
+ \@kernel@after@begindocument@before
% \end{macrocode}
-% If some options on |\documentclass| haven't been used by any
-% package we will now give a warning since this is most certainly a
-% misspelling.
+%
+% Added hook to load \textsf{l3backend} code:
+% \changes{v1.2h}{2020/06/05}{Added hook to load \textsf{l3backend} code}
% \begin{macrocode}
+ \@expl@sys@load@backend@@
\ifx\@unusedoptionlist\@empty\else
\@latex@warning@no@line{Unused global option(s):^^J%
\@spaces[\@unusedoptionlist]}%
@@ -352,9 +363,11 @@
% \changes{v1.1e}{1996/04/24}
% {(DPC) Reset \cs{AtBeginDocument} eg for latex/1297}
% \begin{macrocode}
- \let\AtBeginDocument\@firstofone
- \@begindocumenthook
+ \@kernel@before@begindocument
+ \UseOneTimeHook{begindocument}%
+ \@kernel@after@begindocument
% \end{macrocode}
+%
% Most of the following assignments will be done globally in case
% the user adds something like |\begin{multicols}| to the document
% hook, i.e. starts are group in |\begin{document}|.
@@ -403,16 +416,73 @@
% \begin{macrocode}
\global\let\do\noexpand
% \end{macrocode}
+%
+% \begin{macrocode}
+ \UseOneTimeHook{begindocument/end}%
+% \end{macrocode}
% \changes{v1.1c}{1995/12/05}{\cs{ignorespaces} added for latex/1933}
-% Use of |\AtBeginDocument| hook might mean that we are already in
+% Use of the hook might mean that we are already in
% horizontal mode, so ignore the space after |\begin{document}|.
% \begin{macrocode}
\ignorespaces}
+% \end{macrocode}
+%
+% The \hook{begindocument} hook already existed in the kernel since
+% 1994 under the name \cs{atbegindocumenthook} the
+% additional ones are originally from the \pkg{etoolbox}
+% package under the names \cs{@endpreamblehook} \cs{afterpreamble}.
+% \begin{macrocode}
+\NewHook{begindocument}
+\NewHook{begindocument/before}
+\NewHook{begindocument/end}
+% \end{macrocode}
+
+
+
+% \begin{macro}{\@kernel@after@begindocument@before,
+% \@kernel@before@begindocument,
+% \@kernel@after@begindocument}
+%
+% Above we used two kernel only hooks to be run after the public
+% \hook{begindocument/before} and after \hook{begindocument}
+% hooks.
+%
+% In \cs{@kernel@after@begindocument@before} we already place one
+% action: drop the fast execution code for the
+% \hook{env/document/begin} hook. That hook marks the end of the
+% preamble and should therefore only be run once. In a normal
+% document that is anyway the case (so the code would just sit
+% there taking up space afterwards, which these days is rather
+% harmless), however, in more complicated scenarios where several
+% full documents are combined to a single document it might get
+% applied several times with harmful effects. We therefore
+% explicitly drop it at this point. the coing is somewhat obscure
+% due to the name of the macro which requires constructing.
+% \begin{macrocode}
+\edef \@kernel@after@begindocument@before {%
+ \let\expandafter\noexpand\csname
+ g__hook_env/document/begin_code_tl\endcsname
+ \noexpand\@empty}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\let \@kernel@before@begindocument \@empty
+\let \@kernel@after@begindocument \@empty
+% \end{macrocode}
+%
+% \end{macro}
+%
+
+%
+% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
-%<latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
%<latexrelease>\IncludeInRelease{2017/04/15}%
%<latexrelease> {\document}{Save language for hyphenation}%
+%<latexrelease>
%<latexrelease>\def\document{\endgroup
%<latexrelease> \ifx\@unusedoptionlist\@empty\else
%<latexrelease> \@latex@warning@no@line{Unused global option(s):^^J%
@@ -601,43 +671,14 @@
% \end{macrocode}
%
%
-% \begin{macro}{\includeonly}
+% \begin{macro}{\include,\includeonly}
+% \changes{v0.9p}{1994/01/18}
+% {Use \cs{@input@} so include files are listed.}
% \changes{v1.0p}{1995/04/22}{Allow blanks in argument}
% \changes{v1.2a}{2019/07/01}{Support UTF-8}
% \changes{v1.2g}{2020/05/02}{Improved support for spaces in filenames
% (gh/217)}
-% \begin{macrocode}
-%</2ekernel>
-%<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2020/10/01}%
-%<latexrelease> {\includeonly}{Spaces in file names}%
-\def\includeonly#1{%
- \@partswtrue
-% \end{macrocode}
-% Because the argument to |\includeonly| is a comma-separated list
-% of filenames where there may be comma's precedeing some of the
-% filenames or trailing them. Therefore we need to take the list
-% apart, remove the unwanted spaces while leaving the spaces
-% \emph{in} the filenames intact.
-% \begin{macrocode}
- \let\@partlist\@empty
- \@for\reserved@a:=#1 \do
- {
- \expandafter\set@curr@file@trim@spaces\expandafter{\reserved@a}%
- \ifx\@partlist\@empty
- \edef\@partlist{\@curr@file}%
- \else
- \edef\@partlist{\@partlist,\@curr@file}%
- \fi
- }%
- }
-\@onlypreamble\includeonly
-% \end{macrocode}
-% \end{macro}
%
-% \begin{macro}{\include}
-% \changes{v0.9p}{1994/01/18}
-% {Use \cs{@input@} so include files are listed.}
% In the definition of |\include|, |\def\reserved@b| changed to
% |\edef\reserved@b| to be consistent with the |\edef| in
% |\includeonly|.
@@ -655,12 +696,26 @@
% from the filename (gh/217)}
% \changes{v1.2g}{2020-05-02}{Pass the filename to \cs{@include} by
% value instead of by reference (gh/217)}
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\includeonly}{Spaces in file names}%
+% \end{macrocode}
+%
% \begin{macrocode}
\def\include#1{\relax
\ifnum\@auxout=\@partaux
\@latex@error{\string\include\space cannot be nested}\@eha
\else
- \set@curr@file@trim@spaces{#1}%
+% \end{macrocode}
+% Here the normalisation will add |.tex| for all files, (it uses the
+% the same normalisation as the hooks), so we need to remove that
+% manually. \cs{@strip@tex@ext} does that.
+% \begin{macrocode}
+ \set@curr@file{#1}%
+ \edef\@curr@file{\@strip@tex@ext\@curr@file}%
% \end{macrocode}
% For historical reasons \cs{@include} expects an argument
% delimited by a space. This is kept (though uncessary now) to avoid
@@ -669,27 +724,56 @@
\expandafter\@include\expandafter{\@curr@file} % deliberate space
\fi}
% \end{macrocode}
-% \end{macro}
-%
-%
-%
-% \begin{macro}{\set@curr@file@trim@spaces}
%
-% For |\include| and |\includeonly| we need a variant that removes
-% any leading and trailing spaces from the filename, while leaving
-% any spaces \emph{inside} the filename intact. In order simplify
-% the implementaion we borrow some code from the \texttt{expl3}
-% language, \textbf{\emph{beware}: this may change unannounced}.
+% Here in \cs{includeonly} we also need to strip |.tex| after
+% normalisation:
% \begin{macrocode}
-\def\set@curr@file@trim@spaces#1{%
- \@expl@tl@trim@spaces@apply@@nN {#1} \set@curr@file }
+\def\includeonly#1{%
+ \@partswtrue
% \end{macrocode}
-% \end{macro}
-%
+% Because the argument to |\includeonly| is a comma-separated list
+% of filenames where there may be comma's precedeing some of the
+% filenames or trailing them. Therefore we need to take the list
+% apart, remove the unwanted spaces while leaving the spaces
+% \emph{in} the filenames intact.
+% \begin{macrocode}
+ \let\@partlist\@empty
+ \@for\reserved@a:=#1 \do
+ {%
+ \expandafter\set@curr@file\expandafter{\reserved@a}%
+ \ifx\@partlist\@empty
+ \edef\@partlist{\@strip@tex@ext\@curr@file}%
+ \else
+ \edef\@partlist{\@partlist,\@strip@tex@ext\@curr@file}%
+ \fi
+ }%
+ }
+\@onlypreamble\includeonly
+% \end{macrocode}
+% \end{macro}
%
+% \begin{macro}{\@strip@tex@ext,\@strip@tex@ext@aux}
+% These macros take a (\cs{detokenize}d file name and remove any
+% |.tex| extension). Extra care is taken to not remove the string
+% |.tex| from the middle of a file name: it is only removed if it's
+% the very last thing in the file name.
+% \begin{macrocode}
+\def\reserved@a#1{%
+\def\@strip@tex@ext##1{%
+ \expandafter\@strip@tex@ext@aux
+ ##1\@nil\@nil
+ #1\@nil\relax\@nnil}
+\def\@strip@tex@ext@aux##1#1\@nil##2\@nnil{%
+ \ifx\relax##2\@empty
+ \expandafter\@cdr\expandafter\@empty\@cdr{}##1%
+ \else##1\fi}}%
+\expandafter\reserved@a
+\expandafter{\detokenize{.tex}}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+% \end{macro}
%
% \begin{macrocode}
-%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{2019/10/01}%
%<latexrelease> {\includeonly}{Spaces in file names}%
@@ -708,7 +792,9 @@
%<latexrelease> \expandafter\@include\@curr@file
%<latexrelease> \fi}
%<latexrelease>
-%<latexrelease>\let\set@curr@file@trim@spaces\@undefined
+%<latexrelease>\let\@strip@tex@ext\@undefined
+%<latexrelease>\let\@strip@tex@ext@aux\@undefined
+%<latexrelease>
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
%
@@ -727,7 +813,6 @@
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
-
%
% \begin{macro}{\@include}
% \changes{v1.2g}{2020/05/02}{Support spaces in filenames by enclosing
@@ -736,7 +821,7 @@
%</2ekernel>
%<*2ekernel|latexrelease>
%<latexrelease>\IncludeInRelease{2020/10/01}%
-%<latexrelease> {\@include}{Spaces in file names}%
+%<latexrelease> {\@include}{Spaces in file names and hooks}%
% \end{macrocode}
%
% \begin{macrocode}
@@ -758,8 +843,38 @@
\immediate\openout\@partaux "#1.aux"
\immediate\write\@partaux{\relax}%
\fi
+% \end{macrocode}
+% Now before going to the hooks we need to set \cs{CurrentFile}:
+% \begin{macrocode}
+%-----------------------------------------
+ \@filehook@set@CurrentFile
+% \end{macrocode}
+% Execute the \texttt{before} hooks just after we switched the
+% \texttt{.aux} file \ldots
+% \begin{macrocode}
+ \UseHook{include/before}%
+ \UseHook{include/before/#1}%
+%-----------------------------------------
\@input@{#1.tex}%
+%-----------------------------------------
+% \end{macrocode}
+% \ldots{} then \texttt{end} hooks \ldots
+% \begin{macrocode}
+ \UseHook{include/end/#1}%
+ \UseHook{include/end}%
+%-----------------------------------------
\clearpage
+%-----------------------------------------
+% \end{macrocode}
+% \ldots{} and after the \cs{clearpage} the \texttt{after} hooks
+% followed by another \cs{clearpage} just in case new material got
+% added (after all we need to be in well defined state after the
+% \cs{include}).
+% \begin{macrocode}
+ \UseHook{include/after/#1}%
+ \UseHook{include/after}%
+ \clearpage
+%-----------------------------------------
\@writeckpt{#1}%
\if@filesw
\immediate\closeout\@partaux
@@ -776,7 +891,10 @@
\fi
\let\@auxout\@mainaux}
%<latexrelease>\EndIncludeInRelease
-%<latexrelease>
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
%<latexrelease>\IncludeInRelease{0000/00/00}%
%<latexrelease> {\@include}{Spaces in file names}%
%<latexrelease>\def\@include#1 {%
@@ -859,7 +977,6 @@
%
%
%
-
% \begin{macro}{\@curr@file}
% \begin{macro}{\set@curr@file}
%
@@ -887,11 +1004,11 @@
% \changes{v1.2c}{2019/10/11}{Remove one brace group}
% \changes{v1.2d}{2019/10/26}{remove quotes}
% \changes{v1.2e}{2019/11/09}{expand and \cs{string} before removing quotes}
+%
+% The definition below is from 2019 and only used during kernel
+% bootstrapping, later on in \texttt{ltfilehook.dtx} it will get
+% overwritten.
% \begin{macrocode}
-%</2ekernel>
-%<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2019/10/01}%
-%<latexrelease> {\set@curr@file}{Quote file names}%
\def\set@curr@file#1{%
\begingroup
\escapechar\m@ne
@@ -918,6 +1035,10 @@
% -> ""
%\end{verbatim}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\quote@name}{Quote file names}%
\def\quote@name#1{"\quote@@name#1\@gobble""}
\def\quote@@name#1"{#1\quote@@name}
% \end{macrocode}
@@ -999,12 +1120,11 @@
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\set@curr@file}{Quote file names}%
+%<latexrelease> {\quote@name}{Quote file names}%
%<latexrelease>
%<latexrelease>\let\quote@name\@undefined
%<latexrelease>\let\quote@@name\@undefined
%<latexrelease>\let\unquote@name\@undefined
-%<latexrelease>\let\set@curr@file\@undefined
%<latexrelease>
%<latexrelease>\let\IfFileExists@\@undefined
%<latexrelease>
@@ -1044,25 +1164,14 @@
%
%
% \begin{macro}{\InputIfFileExists}
-% \changes{v0.9b}
-% {1993/12/04}{Macro added}
-% \changes{v0.9p}
-% {1994/01/18}{New Definition}
-% \changes{v0.3b}{1994/03/13}
-% {Use new cmd \cs{@addtofilelist}}
-% Now define |\InputIfFileExists| to input |#1| if it seems to exist.
-% Immediately prior to the input, |#2| is executed.
-% If the file |#1| does not exist, execute `|#3|'.
-% \changes{v1.0t}{1995/05/25}
-% {(CAR) added \cs{long}}
-% \changes{v1.1o}{2019/02/07}{Expand \cs{@filef@und} before executing
-% second argument (github/109)}
-% \changes{v1.2b}{2019/08/27}{Make command robust}
-% \begin{macrocode}
-%</2ekernel>
-%<latexrelease>\IncludeInRelease{2019/10/01}%
-%<latexrelease> {\InputIfFileExists}{Don't lose the file name}%
-%<*2ekernel|latexrelease>
+%
+% Now define |\InputIfFileExists| to input |#1| if it seems to exist.
+% Immediately prior to the input, |#2| is executed.
+% If the file |#1| does not exist, execute `|#3|'.
+%
+% This here is a temporary definition for the kernel. The real one
+% comes somewhat later in the file \texttt{ltfilehook.dtx}.
+%
% \begin{macrocode}
\DeclareRobustCommand \InputIfFileExists[2]{%
\IfFileExists{#1}%
@@ -1079,25 +1188,23 @@
% Swap two arguments and return them unbraced (like
% \cs{@firstoftwo} etc).
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\@swaptwoargs}{Don't lose the file name}%
\long\def\@swaptwoargs#1#2{#2#1}
% \end{macrocode}
-% \end{macro}
-%
%
% \begin{macrocode}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\InputIfFileExists}{Don't lose the file name}%
-%<latexrelease>\long\def \InputIfFileExists#1#2{%
-%<latexrelease> \IfFileExists{#1}%
-%<latexrelease> {#2\@addtofilelist{#1}\@@input \@filef@und}}
-%<latexrelease>
+%<latexrelease> {\@swaptwoargs}{Don't lose the file name}%
%<latexrelease>\let\@swaptwoargs\@undefined
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
-%
+% \end{macro}
%
%
% \begin{macro}{\input}
@@ -1114,20 +1221,51 @@
% Define |\@iinput| (i.e., |\input|) in terms of
% |\InputIfIfileExists|.
% \changes{v0.9b}{1993/12/04}{Macro reimplemented}
+%
+% Changes to \cs{@iinput}: adapt to the changes to
+% \cs{@missingfileerror}.
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2019/10/01}%
-%<latexrelease> {\@iinput}{Quote file names}%
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@iinput}{Change in file error handling}%
\def\@iinput#1{%
\InputIfFileExists{#1}{}%
{\filename@parse\@curr@file
\edef\reserved@a{\noexpand\@missingfileerror
{\filename@area\filename@base}%
{\ifx\filename@ext\relax tex\else\filename@ext\fi}}%
+% \end{macrocode}
+% This line now just sets \cs[no-index]{@missingfile@\meta{part}}:
+% \begin{macrocode}
+ \reserved@a
+% \end{macrocode}
+% Now here we have to use it. The file here is guaranteed to exist,
+% because \cs{@missingfileerror} ensures so, but we have to use
+% \cs{InputIfFileExists} because it executes the file hooks.
+% \begin{macrocode}
+ \edef\reserved@a{\noexpand\@iinput{%
+ \@missingfile@area\@missingfile@base.\@missingfile@ext}}%
\reserved@a}}
%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\@iinput}{Quote file names}%
+%<latexrelease>
+%<latexrelease>\def\@iinput#1{%
+%<latexrelease> \InputIfFileExists{#1}{}%
+%<latexrelease> {\filename@parse\@curr@file
+%<latexrelease> \edef\reserved@a{\noexpand\@missingfileerror
+%<latexrelease> {\filename@area\filename@base}%
+%<latexrelease> {\ifx\filename@ext\relax tex\else\filename@ext\fi}}%
+%<latexrelease> \reserved@a}}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
%<latexrelease>\IncludeInRelease{0000/00/00}%
%<latexrelease> {\@iinput}{Quote file names}%
%<latexrelease>\def\@iinput#1{%
@@ -1172,6 +1310,11 @@
% \end{macrocode}
% \end{macro}
%
+%
+%
+%
+%
+%
% \begin{macro}{\@missingfileerror}
% This `error' command avoids \TeX's primitive missing file loop.
%
@@ -1189,7 +1332,16 @@
% {Move here from ltclass}
% \changes{v1.0w}{1995/10/06}
% {Autoload error}
+%
+% Changes to \cs{@missingfileerror}: rather than trying to input the
+% file by force, now \cs{@missingfileerror} just returns three
+% \cs[no-index]{@missingfile@\meta{part}} and the caller macro is
+% responsible for doing the right thing with it.
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@missingfileerror}{Do not load missing file immediately}%
\gdef\@missingfileerror#1#2{%
\typeout{^^J! LaTeX Error: File `#1.#2' not found.^^J^^J%
Type X to quit or <RETURN> to proceed,^^J%
@@ -1198,20 +1350,74 @@
{\endlinechar\m@ne
\global\read\m@ne to\@gtempa}%
\ifx\@gtempa\@empty
+% \end{macrocode}
+% If the user answers with \meta{return}, fallback to the |.tex| file
+% (previously it did nothing).
+% \begin{macrocode}
+ \let\@missingfile@area\@empty
+ \let\@missingfile@base\@empty
+ \def\@missingfile@ext{tex}%
\else
- \def\reserved@a{x}\ifx\reserved@a\@gtempa\batchmode\@@end\fi
- \def\reserved@a{X}\ifx\reserved@a\@gtempa\batchmode\@@end\fi
+% \end{macrocode}
+% Use \cs{batchmode}\cs{read}|-1 to |\meta{tl} to end the \TeX{} run,
+% same as \pkg{expl3} does (it was \cs{batchmode}\cs{@@end} before).
+% \begin{macrocode}
+ \def\reserved@b{\batchmode\read-1 to \reserved@a}%
+ \def\reserved@a{x}\ifx\reserved@a\@gtempa\reserved@b\fi
+ \def\reserved@a{X}\ifx\reserved@a\@gtempa\reserved@b\fi
\filename@parse\@gtempa
\edef\filename@ext{%
\ifx\filename@ext\relax#2\else\filename@ext\fi}%
\edef\reserved@a{%
- \noexpand\InputIfFileExists
+% \end{macrocode}
+% Only check \cs{IfFileExists} (it was \cs{InputIfFileExists}).
+% \begin{macrocode}
+ \noexpand\IfFileExists
{\filename@area\filename@base.\filename@ext}%
- {}%
+% \end{macrocode}
+% If the file exists, define \cs[no-index]{@missingfile@\meta{part}}.
+% \begin{macrocode}
+ {\def\noexpand\@missingfile@area{\filename@area}%
+ \def\noexpand\@missingfile@base{\filename@base}%
+ \def\noexpand\@missingfile@ext {\filename@ext}}%
{\noexpand\@missingfileerror
{\filename@area\filename@base}{\filename@ext}}}%
\reserved@a
- \fi}
+ \fi
+}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@missingfileerror}{Do not load missing file immediately}%
+%<latexrelease>
+%<latexrelease>\gdef\@missingfileerror#1#2{%
+%<latexrelease> \typeout{^^J! LaTeX Error: File `#1.#2' not found.^^J^^J%
+%<latexrelease> Type X to quit or <RETURN> to proceed,^^J%
+%<latexrelease> or enter new name. (Default extension: #2)^^J}%
+%<latexrelease> \message{Enter file name: }%
+%<latexrelease> {\endlinechar\m@ne
+%<latexrelease> \global\read\m@ne to\@gtempa}%
+%<latexrelease> \ifx\@gtempa\@empty
+%<latexrelease> \else
+%<latexrelease> \def\reserved@a{x}\ifx\reserved@a\@gtempa\batchmode\@@end\fi
+%<latexrelease> \def\reserved@a{X}\ifx\reserved@a\@gtempa\batchmode\@@end\fi
+%<latexrelease> \filename@parse\@gtempa
+%<latexrelease> \edef\filename@ext{%
+%<latexrelease> \ifx\filename@ext\relax#2\else\filename@ext\fi}%
+%<latexrelease> \edef\reserved@a{%
+%<latexrelease> \noexpand\InputIfFileExists
+%<latexrelease> {\filename@area\filename@base.\filename@ext}%
+%<latexrelease> {}%
+%<latexrelease> {\noexpand\@missingfileerror
+%<latexrelease> {\filename@area\filename@base}{\filename@ext}}}%
+%<latexrelease> \reserved@a
+%<latexrelease> \fi}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/base/ltfinal.dtx b/macros/latex-dev/base/ltfinal.dtx
index 9089c8a705..2555e21a34 100644
--- a/macros/latex-dev/base/ltfinal.dtx
+++ b/macros/latex-dev/base/ltfinal.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfinal.dtx}
- [2020-07-16 v2.2f LaTeX Kernel (Final Settings)]
+ [2020-08-21 v2.2i LaTeX Kernel (Final Settings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfinal.dtx}
@@ -88,6 +88,7 @@
% argument.}
% \changes{v2.0r}{2016/10/15}{Require e\TeX{}}
% \changes{v2.0s}{2016/10/15}{Tidy up status of char 127}
+% \changes{v2.2i}{2020/08/21}{Integration of new hook management interface}
%
% \subsection{Debugging}
%
@@ -590,7 +591,7 @@
% Skip this section in Unicode TeX, or if MLTeX and EncTeX are enabled.
% \begin{macrocode}
\ifnum0%
- \ifx\Umathchar\@undefined\else 1\fi
+ \ifx\Umathcode\@undefined\else 1\fi
\ifx\mubyte\@undefined\else 1\fi
\ifx\charsubdef\@undefined\else 1\fi
=\z@
@@ -1134,230 +1135,11 @@
% This is a good place to load code that hasn't yet been
% integrated into the other files \ldots
% \begin{macrocode}
-%</2ekernel>
-%<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2020/10/01}%
-%<latexrelease> {\ShowHook}{The hook management}%
-\input lthooks.ltx
-\input ltshipout.ltx
-\input ltfilehook.ltx
-%</2ekernel|latexrelease>
-%<latexrelease>\EndIncludeInRelease
-%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\ShowHook}{The hook management}%
-
-%<latexrelease>
-%<latexrelease>\DeclareRobustCommand*\begin[1]{%
-%<latexrelease> \@ifundefined{#1}%
-%<latexrelease> {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
-%<latexrelease> {\def\reserved@a{\def\@currenvir{#1}%
-%<latexrelease> \edef\@currenvline{\on@line}%
-%<latexrelease> \csname #1\endcsname}}%
-%<latexrelease> \@ignorefalse
-%<latexrelease> \begingroup\@endpefalse\reserved@a}
-%<latexrelease>
-%<latexrelease>\@namedef{end }#1{%
-%<latexrelease> \csname end#1\endcsname\@checkend{#1}%
-%<latexrelease> \expandafter\endgroup\if@endpe\@doendpe\fi
-%<latexrelease> \if@ignore\@ignorefalse\ignorespaces\fi}
-%<latexrelease>
-%<latexrelease>\DeclareDocumentCommand \NewHook {m}{}
-%<latexrelease>\DeclareDocumentCommand \NewReversedHook {m}{}
-%<latexrelease>\DeclareDocumentCommand \NewMirroredHookPair {mm}{}
-%<latexrelease>
-%<latexrelease>\DeclareDocumentCommand \AddToHookNext {m+m}{}
-%<latexrelease>\DeclareDocumentCommand \RemoveFromHook {mo}{}
-%<latexrelease>\def \UseHook #1{}
-%<latexrelease>\def \UseOneTimeHook #1{}
-%<latexrelease>\def \ShowHook #1{}
-%<latexrelease>\let \DebugHookOn \@empty
-%<latexrelease>\let \DebugHookOff\@empty
-%<latexrelease>
-%<latexrelease>\DeclareDocumentCommand \DeclareHookRule {mmmm}{}
-%<latexrelease>\DeclareDocumentCommand \DeclareDefaultHookRule {mmm}{}
-%<latexrelease>\DeclareDocumentCommand \ClearHookRule {mmm}{}
-% \end{macrocode}
-% If the hook management is not provided we make the test for existence
-% false and the test for empty true in the hope that this is most
-% of the time reasonable. If not a package would need to guard
-% against running in an old kernel.
-% \begin{macrocode}
-%<latexrelease>\DeclareExpandableDocumentCommand \IfHookExistTF {mmm}{#3}
-%<latexrelease>\DeclareExpandableDocumentCommand \IfHookEmptyTF {mmm}{#2}
-%<latexrelease>
-%<latexrelease>\DeclareRobustCommand\AtBeginDocument{\g@addto@macro\@begindocumenthook}
-%<latexrelease>\DeclareRobustCommand\AtEndDocument{\g@addto@macro\@enddocumenthook}
-%<latexrelease>
-%<latexrelease>\let\AtBeginEnvironment \@undefined
-%<latexrelease>\let\AtEndEnvironment \@undefined
-%<latexrelease>\let\BeforeBeginEnvironment \@undefined
-%<latexrelease>\let\AfterEndEnvironment \@undefined
-%<latexrelease>
-%<latexrelease>\def\@pushfilename{%
-%<latexrelease> \@expl@push@filename@@
-%<latexrelease> \xdef\@currnamestack{%
-%<latexrelease> {\@currname}%
-%<latexrelease> {\@currext}%
-%<latexrelease> {\the\catcode`\@}%
-%<latexrelease> \@currnamestack}%
-%<latexrelease> \@expl@push@filename@aux@@}
-%<latexrelease>\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil
-%<latexrelease> \@expl@pop@filename@@}
-%<latexrelease>
-%<latexrelease>
-%<latexrelease>% next goes away again when etoolbox is updated ...
-%<latexrelease>\expandafter\let\csname ver@etoolbox.sty\endcsname\@undefined
-%<latexrelease>
-%<latexrelease>\def\document{\endgroup
-%<latexrelease> \@expl@sys@load@backend@@
-%<latexrelease> \ifx\@unusedoptionlist\@empty\else
-%<latexrelease> \@latex@warning@no@line{Unused global option(s):^^J%
-%<latexrelease> \@spaces[\@unusedoptionlist]}%
-%<latexrelease> \fi
-%<latexrelease> \@colht\textheight
-%<latexrelease> \@colroom\textheight \vsize\textheight
-%<latexrelease> \columnwidth\textwidth
-%<latexrelease> \@clubpenalty\clubpenalty
-%<latexrelease> \if@twocolumn
-%<latexrelease> \advance\columnwidth -\columnsep
-%<latexrelease> \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
-%<latexrelease> \fi
-%<latexrelease> \hsize\columnwidth \linewidth\hsize
-%<latexrelease> \begingroup\@floatplacement\@dblfloatplacement
-%<latexrelease> \makeatletter\let\@writefile\@gobbletwo
-%<latexrelease> \global \let \@multiplelabels \relax
-%<latexrelease> \@input{\jobname.aux}%
-%<latexrelease> \endgroup
-%<latexrelease> \if@filesw
-%<latexrelease> \immediate\openout\@mainaux\jobname.aux
-%<latexrelease> \immediate\write\@mainaux{\relax}%
-%<latexrelease> \fi
-%<latexrelease> \process@table
-%<latexrelease> \let\glb@currsize\@empty % Force math initialization.
-%<latexrelease> \normalsize
-%<latexrelease> \everypar{}%
-%<latexrelease> \ifx\normalsfcodes\@empty
-%<latexrelease> \ifnum\sfcode`\.=\@m
-%<latexrelease> \let\normalsfcodes\frenchspacing
-%<latexrelease> \else
-%<latexrelease> \let\normalsfcodes\nonfrenchspacing
-%<latexrelease> \fi
-%<latexrelease> \fi
-%<latexrelease> \ifx\document@default@language\m@ne
-%<latexrelease> \chardef\document@default@language\language
-%<latexrelease> \fi
-%<latexrelease> \@noskipsecfalse
-%<latexrelease> \let \@refundefined \relax
-%<latexrelease> \let\AtBeginDocument\@firstofone
-%<latexrelease> \@begindocumenthook
-%<latexrelease> \ifdim\topskip<1sp\global\topskip 1sp\relax\fi
-%<latexrelease> \global\@maxdepth\maxdepth
-%<latexrelease> \global\let\@begindocumenthook\@undefined
-%<latexrelease> \ifx\@listfiles\@undefined
-%<latexrelease> \global\let\@filelist\relax
-%<latexrelease> \global\let\@addtofilelist\@gobble
-%<latexrelease> \fi
-%<latexrelease> \gdef\do##1{\global\let ##1\@notprerr}%
-%<latexrelease> \@preamblecmds
-%<latexrelease> \global\let \@nodocument \relax
-%<latexrelease> \global\let\do\noexpand
-%<latexrelease> \ignorespaces}
-%<latexrelease>
-%<latexrelease>\def\enddocument{%
-%<latexrelease> \let\AtEndDocument\@firstofone
-%<latexrelease> \@enddocumenthook
-%<latexrelease> \@checkend{document}%
-%<latexrelease> \clearpage
-%<latexrelease> \begingroup
-%<latexrelease> \if@filesw
-%<latexrelease> \immediate\closeout\@mainaux
-%<latexrelease> \let\@setckpt\@gobbletwo
-%<latexrelease> \let\@newl@bel\@testdef
-%<latexrelease> \@tempswafalse
-%<latexrelease> \makeatletter \@@input\jobname.aux
-%<latexrelease> \fi
-%<latexrelease> \@dofilelist
-%<latexrelease> \ifdim \font@submax >\fontsubfuzz\relax
-%<latexrelease> \@font@warning{Size substitutions with differences\MessageBreak
-%<latexrelease> up to \font@submax\space have occurred.\@gobbletwo}%
-%<latexrelease> \fi
-%<latexrelease> \@defaultsubs
-%<latexrelease> \@refundefined
-%<latexrelease> \if@filesw
-%<latexrelease> \ifx \@multiplelabels \relax
-%<latexrelease> \if@tempswa
-%<latexrelease> \@latex@warning@no@line{Label(s) may have changed.
-%<latexrelease> Rerun to get cross-references right}%
-%<latexrelease> \fi
-%<latexrelease> \else
-%<latexrelease> \@multiplelabels
-%<latexrelease> \fi
-%<latexrelease> \fi
-%<latexrelease> \endgroup
-%<latexrelease> \deadcycles\z@\@@end}
-%<latexrelease>
-%<latexrelease>\expandafter\let\csname ver@atveryend.sty\endcsname\@undefined
-%<latexrelease>\let\AfterLastShipout \@undefined
-%<latexrelease>\let\AtVeryEndDocument \@undefined
-%<latexrelease>\let\AtEndAfterFileList \@undefined
-%<latexrelease>\let\AtVeryVeryEnd \@undefined
-%<latexrelease>\let\BeforeClearDocument \@undefined
-%<latexrelease>
-%<latexrelease>
-%<latexrelease>\expandafter\let\expandafter\shipout\csname tex_shipout:D\endcsname
-%<latexrelease>
-%<latexrelease>\let \ShipoutBox\@undefined
-%<latexrelease>\let \ReadonlyShipoutCounter \@undefined
-%<latexrelease>\let \c@totalpages \@undefined
-%<latexrelease>\let \thetotalpages \@undefined
-%<latexrelease>
-%<latexrelease>\let \DiscardShipoutBox \@undefined
-%<latexrelease>\let \DebugShipoutOn \@undefined
-%<latexrelease>\let \DebugShipoutOff \@undefined
-%<latexrelease>
-%<latexrelease>\DeclareRobustCommand \AtBeginDvi [1]{%
-%<latexrelease> \global \setbox \@begindvibox
-%<latexrelease> \vbox{\unvbox \@begindvibox #1}%
-%<latexrelease>}
-%<latexrelease>
-%<latexrelease>\let \AtBeginShipout \@undefined
-%<latexrelease>\let \AtBeginShipoutNext \@undefined
-%<latexrelease>
-%<latexrelease>\let \AtBeginShipoutFirst \@undefined
-%<latexrelease>
-%<latexrelease>\let \ShipoutBoxHeight \@undefined
-%<latexrelease>\let \ShipoutBoxDepth \@undefined
-%<latexrelease>\let \ShipoutBoxWidth \@undefined
-%<latexrelease>
-%<latexrelease>\let \AtBeginShipoutDiscard \@undefined
-%<latexrelease>
-%<latexrelease>\let \AtBeginShipoutAddToBox \@undefined
-%<latexrelease>\let \AtBeginShipoutAddToBoxForeground \@undefined
-%<latexrelease>\let \AtBeginShipoutUpperLeft \@undefined
-%<latexrelease>\let \AtBeginShipoutUpperLeftForeground \@undefined
-%<latexrelease>
-%<latexrelease>\expandafter\let\csname ver@atbegshi.sty\endcsname \@undefined
-%<latexrelease>
-%<latexrelease>\let \EveryShipout \@undefined
-%<latexrelease>\let \AtNextShipout \@undefined
-%<latexrelease>\expandafter \let \csname ver@everyshi.sty\endcsname \@undefined
-%<latexrelease>
-%<latexrelease>\let \AtEndDvi \@undefined
-%<latexrelease>\expandafter\let \csname ver@atenddvi.sty\endcsname \@undefined
-%<latexrelease>
-%<latexrelease>\AtBeginDocument{\reinstall@nfss@defs\init@series@setup}
-%<latexrelease>
-%<latexrelease>\EndIncludeInRelease
-%<*2ekernel>
% \end{macrocode}
%
% \subsection{Some last minute initializations \ldots}
%
-% This initializes the 2020/02/02 extensions to NFSS after any changes
-% in the preamble.
% \begin{macrocode}
-\g@addto@macro\@kernel@after@env@document@begin
- {\reinstall@nfss@defs\init@series@setup}
% \end{macrocode}
%
%
diff --git a/macros/latex-dev/base/ltfssaxes.dtx b/macros/latex-dev/base/ltfssaxes.dtx
index 08a0ff1b4c..d8e4286b78 100644
--- a/macros/latex-dev/base/ltfssaxes.dtx
+++ b/macros/latex-dev/base/ltfssaxes.dtx
@@ -35,7 +35,7 @@
%
%
\ProvidesFile{ltfssaxes.dtx}
- [2020/05/19 v1.0f LaTeX Kernel (NFSS Axes handing)]
+ [2020/08/21 v1.0g LaTeX Kernel (NFSS Axes handing)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -1294,6 +1294,35 @@
%<latexrelease>\let\reinstall@nfss@defs\relax
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
+% \end{macrocode}
+%
+% This initializes the 2020/02/02 extensions to NFSS after any changes
+% in the preamble.
+% \changes{v1.0g}{2020/08/21}{Integration of new hook management interface}
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\reinstall@nfss@defs}{NFSS series init}%
+\g@addto@macro\@kernel@after@begindocument@before
+ {\reinstall@nfss@defs\init@series@setup}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% The initialization was introduced in 2020/02/02 but
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease> {\reinstall@nfss@defs}{NFSS series init}%
+%<latexrelease>\AtBeginDocument{\reinstall@nfss@defs\init@series@setup}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\reinstall@nfss@defs}{NFSS series init}%
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
%</2ekernel>
% \end{macrocode}
%
diff --git a/macros/latex-dev/base/ltfssini.dtx b/macros/latex-dev/base/ltfssini.dtx
index 952025375b..61d0a793a0 100644
--- a/macros/latex-dev/base/ltfssini.dtx
+++ b/macros/latex-dev/base/ltfssini.dtx
@@ -36,7 +36,7 @@
%
%
\ProvidesFile{ltfssini.dtx}
- [2020/05/19 v3.2a LaTeX Kernel (NFSS Initialisation)]
+ [2020/08/27 v3.2c LaTeX Kernel (NFSS Initialisation)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -388,326 +388,6 @@
-% \begin{macro}{\expand@font@defaults}
-% \begin{macro}{\rm@def@ult}
-% \begin{macro}{\sf@def@ult}
-% \begin{macro}{\tt@def@ult}
-% \begin{macro}{\md@def@ult}
-% \begin{macro}{\bf@def@ult}
-%
-% The family specific defaults are fully expanded, i.e., they are
-% defined via \cs{edef} inside \cs{DeclareFontSeriesDefault}.
-% However, the overall defaults, e.g., \cs{bfdefault} may have been
-% redefined by the user and thus may not be fully expanded. So to
-% enable reliable comparison we make expanded versions of
-% them. That we rerun each time. The alternative would be to only
-% allow for changes before begin document.
-% \begin{macrocode}
-\def\expand@font@defaults{%
- \edef\rmdef@ult{\rmdefault}%
- \edef\sfdef@ult{\sfdefault}%
- \edef\ttdef@ult{\ttdefault}%
-% \end{macrocode}
-% The series defaults may contain some surplus \texttt{m} that we
-% need to drop here.
-% \changes{v3.1j}{2020/02/25}{Drop surplus ``m'' from \cs{bfdef@ult}
-% and \cs{mddef@ult} (gh/291)}
-% \begin{macrocode}
- \series@maybe@drop@one@m\bfdefault\bfdef@ult
- \series@maybe@drop@one@m\mddefault\mddef@ult
-% \end{macrocode}
-% Formats that set up parallel fonts, e.g., for Japanese, can use
-% this hook to add additional code here.
-% \changes{v3.1m}{2020/04/06}{Hook added (gh/306)}
-% \begin{macrocode}
- \@expandfontdefaultshook
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-
-
-
-% \begin{macro}{\bfseries}
-% This document command switches to the bold series.
-% \begin{macrocode}
-\DeclareRobustCommand\bfseries{%
- \not@math@alphabet\bfseries\mathbf
-% \end{macrocode}
-% In the original NFSS definition it then called \cs{fontseries}
-% with the value \cs{bfdefault}. In the new scheme we have more
-% alternatives and therefore check if the current family
-% (\cs{f@family}) is the current \cs{rmdef@ult}, \cs{sfdef@ult} or
-% \cs{ttdef@ult} and the select the correct family default in that case.
-% \changes{v3.1i}{2020/02/18}{Make the \cs{ifx} selection outside
-% of \cs{fontseries} argument so that it is not done several times}
-% \begin{macrocode}
- \expand@font@defaults
-% \end{macrocode}
-% If \cs{bfdefault} and \cs{befdefault@previous} are different then
-% the default got changed directly through the legacy interface
-% (i.e., via \cs{def} or \cs{renewcommand}. In that case we reset
-% all meta family defaults so that the document behaves like it was
-% the case before the new mechanism was introduced.
-% \changes{v3.1k}{2020/03/19}{Support legacy use of \cs{bfdefault}
-% and \cs{mddefault} (gh/306)}
-% \begin{macrocode}
- \ifx\bfdefault\bfdefault@previous\else
-% \end{macrocode}
-% We add \cs{@empty} and then let \cs{bfdefault@previous} to
-% \cs{bfdefault} so that we can detect any further change.
-% \begin{macrocode}
- \expandafter\def\expandafter\bfdefault
- \expandafter{\bfdefault\@empty}%
- \let\bfseries@previous\bfdefault
-% \end{macrocode}
-% And we reset the meta family defaults (\cs{bfdef@ult} is an
-% expanded version of \cs{bfdefault}.
-% \begin{macrocode}
- \let\bfseries@rm\bfdef@ult
- \let\bfseries@sf\bfdef@ult
- \let\bfseries@tt\bfdef@ult
-% \end{macrocode}
-%
-% Formats that set up parallel fonts, e.g., for Japanese, can use
-% this hook to add resets here.
-% \changes{v3.1m}{2020/04/06}{Hook added (gh/306)}
-% \begin{macrocode}
- \@setbfseriesdefaultshook
- \fi
-% \end{macrocode}
-%
-% \begin{macrocode}
- \ifx\f@family\rmdef@ult \fontseries\bfseries@rm
- \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf
- \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt
-% \end{macrocode}
-% If not \cs{bfdefault} is used.
-% \begin{macrocode}
- \else \fontseries\bfdefault
- \fi\fi\fi
- \selectfont
-}
-% \end{macrocode}
-% \end{macro}
-
-
-
-% \begin{macro}{\mdseries}
-% This document command switches to the medium series.
-% \changes{v3.1i}{2020/02/18}{Make the \cs{ifx} selection outside
-% of \cs{fontseries} argument so that it is not done several times}
-% \changes{v3.1k}{2020/03/19}{Support legacy use of \cs{bfdefault}
-% and \cs{mddefault} (gh/306)}
-% \begin{macrocode}
-\DeclareRobustCommand\mdseries{%
- \not@math@alphabet\mdseries\relax
- \expand@font@defaults
- \ifx\mddefault\mddefault@previous\else
- \expandafter\def\expandafter\mddefault\expandafter{\mddefault\@empty}%
- \let\mdseries@previous\mddefault
- \let\mdseries@rm\mddef@ult
- \let\mdseries@sf\mddef@ult
- \let\mdseries@tt\mddef@ult
-% \end{macrocode}
-%
-% Formats that set up parallel fonts, e.g., for Japanese, can use
-% this hook to add resets here.
-% \changes{v3.1m}{2020/04/06}{Hook added (gh/306)}
-% \begin{macrocode}
- \@setmdseriesdefaultshook
- \fi
- \ifx\f@family\rmdef@ult \fontseries\mdseries@rm
- \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf
- \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt
- \else \fontseries\mddefault
- \fi\fi\fi
- \selectfont
-}
-% \end{macrocode}
-% \end{macro}
-
-
-% \begin{macro}{\rmfamily}
-% Here are the document level commands for changing the main font
-% families, or rather, here is a documented outline of the code,
-% the actual code is then streamlined and somewhat generalized.
-%\begin{verbatim}
-%\DeclareRobustCommand\rmfamily{%
-% \not@math@alphabet\rmfamily\mathrm
-%\end{verbatim}
-% If families are changed then we have to do a bit more work.
-% In the original NFSS implementation
-% a family change kept encoding, series shape and size unchanged
-% but now we can't any
-% longer simply reuse the current series value. Instead we may have
-% to change it from one family default to the next.
-%\begin{verbatim}
-% \expand@font@defaults
-%\end{verbatim}
-% We have to do the testing while the current family is still
-% unchanged but we have to do the adjustment of the series after it
-% got changed (because the new family might has different sets
-% ofshapes available and we certainly don't want to see
-% substituation going on. So we use \cs{target@series@value} to
-% hold the target series (if any).
-%\begin{verbatim}
-% \let\target@series@value\@empty
-%\end{verbatim}
-% Thus, if the current family is the sans family
-%\begin{verbatim}
-% \ifx\f@family\sfdef@ult
-%\end{verbatim}
-% and if we using the medium series of the sans family
-%\begin{verbatim}
-% \ifx\f@series\mdseries@sf
-%\end{verbatim}
-% then lets switch to the medium series for the serif family
-%\begin{verbatim}
-% \let\target@series@value\mdseries@rm
-%\end{verbatim}
-% and if we use the bold series of the sans family switch to the
-% bold default of the serif family:
-%\begin{verbatim}
-% \else\ifx\f@series\bfseries@sf \let\target@series@value\bfseries@rm
-%\end{verbatim}
-% However, the sans family may not have any specific defaults set,
-% so we also compare with the overall defaults.
-%\begin{verbatim}
-% \else\ifx\f@series\mddef@ult \let\target@series@value\mdseries@rm
-% \else\ifx\f@series\bfdef@ult \let\target@series@value\bfseries@rm
-%\end{verbatim}
-% If neither test was true we leave the series alone. This way a
-% special manual setting such as \verb=\fontseries{lc}= is not
-% undone if the family changes (of course there may not be any
-% support for it in the new family but then the NFSS
-% substitution kicks in and sorts it out).
-%\begin{verbatim}
-% \fi\fi\fi\fi
-%
-%\end{verbatim}
-% We need to do the same if the current family is the typewriter family:
-%\begin{verbatim}
-% \else\ifx\f@family\ttdef@ult
-% \ifx\f@series\mdseries@tt \let\target@series@value\mdseries@rm
-% \else\ifx\f@series\bfseries@tt \let\target@series@value\bfseries@rm
-% \else\ifx\f@series\mddef@ult \let\target@series@value\mdseries@rm
-% \else\ifx\f@series\bfdef@ult \let\target@series@value\bfseries@rm
-% \fi\fi\fi\fi
-% \fi\fi
-%\end{verbatim}
-% With these preparations for series out of the way we can now
-% change the font family to \cs{rmdefault}.
-%\begin{verbatim}
-% \fontfamily\rmdefault
-%\end{verbatim}
-%
-% If \cs{target@series@value} is still empty there is nothing more
-% to do other than selecting the new family. However, if not then
-% we should update the font series now as well. But there is one
-% further subtle issue. We may not have loaded an \texttt{.fd} file
-% for our target font family yet. In the past that was done in
-% \cs{selectfont} if necessary but since we are now doing all the
-% comparisons in \cs{fontseries} we need to make sure that the font
-% family specifications are already loaded prior to calling
-% \cs{fontseries}.
-%\begin{verbatim}
-% \ifx\target@series@value\@empty \else
-% \maybe@load@fontshape
-%\end{verbatim}
-% Updating the series in this case means directly changing
-% \cs{f@series} to the target value. We don't want to go through
-% \cs{fontseries} because that would apply the mappings and then
-% \texttt{bx + b} would keep \texttt{bx} instead of changing to
-% \texttt{b} as desired.
-% as
-%\begin{verbatim}
-% \let\f@series\target@series@value
-% \fi
-% \selectfont}
-%\end{verbatim}
-%
-% So now for the real definition: most of the code above gets
-% delegated to a helper command \cs{prepare@family@series@update}
-% so that the definition becomes again fairly short. In addition we
-% add a hook, mainly for our Japanese friends so that the code can
-% be extended prior to the call to \cs{selectfont}.
-%
-% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
-% \begin{macrocode}
-\DeclareRobustCommand\rmfamily{%
- \not@math@alphabet\rmfamily\mathrm
-% \end{macrocode}
-% This holds all the code discussed above, first argument is the
-% meta family, i.e., \texttt{rm} in this case, and second argument
-% is the default family name, e.g., \texttt{cmr} indirectly
-% accessed via \cs{rmdefault}. This is calling \cs{fontfamily} and
-% if necessary \cs{fontseries} as outline above.
-% \begin{macrocode}
- \prepare@family@series@update{rm}\rmdefault
-% \end{macrocode}
-% Then comes the hook code (by default a no-op) and finally the call
-% to \cs{selectfont}.
-% \begin{macrocode}
- \@rmfamilyhook
- \selectfont}
-% \end{macrocode}
-%
-% \begin{macro}{\sffamily}
-% \begin{macro}{\ttfamily}
-% The definitions for \cs{sffamily} and \cs{ttfamily} are similar,
-% the differences are only in what font families get checked.
-% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
-% \begin{macrocode}
-\DeclareRobustCommand\sffamily{%
- \not@math@alphabet\sffamily\mathsf
- \prepare@family@series@update{sf}\sfdefault
- \@sffamilyhook
- \selectfont}
-% \end{macrocode}
-%
-% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
-% \begin{macrocode}
-\DeclareRobustCommand\ttfamily{%
- \not@math@alphabet\ttfamily\mathtt
- \prepare@family@series@update{tt}\ttdefault
- \@ttfamilyhook
- \selectfont}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-%
-% \begin{macro}{\@expandfontdefaultshook}
-% \begin{macro}{\@setbfseriesdefaultshook}
-% \begin{macro}{\@setmdseriesdefaultshook}
-% \begin{macro}{\@rmfamilyhook}
-% \begin{macro}{\@sffamilyhook}
-% \begin{macro}{\@ttfamilyhook}
-% By default the hooks do nothing.
-% \begin{macrocode}
-\let\@expandfontdefaultshook\@empty
-\let\@setbfseriesdefaultshook\@empty
-\let\@setmdseriesdefaultshook\@empty
-% \end{macrocode}
-%
-% \begin{macrocode}
-\let\@rmfamilyhook\@empty
-\let\@sffamilyhook\@empty
-\let\@ttfamilyhook\@empty
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
%
%
%
@@ -767,7 +447,7 @@
% \begin{itemize}
% \item \cs{bfseries} is called for a family using \texttt{bx}
% (e.g., CMR)
-% \item Switch to a font family that is none of the the meta
+% \item Switch to a font family that is none of the meta
% families, e.g., via \verb=\fontfamily{ptm}\selectfont=
% \item Then none of the real meta families, match but the final
% \verb=\@elt{??}= will.
@@ -944,16 +624,19 @@
% \cs{DeclareFontSeriesDefault} interface.
% \begin{macrocode}
\ifx\bfseries@rm@kernel\bfseries@rm
- \expandafter\in@\expandafter{\rmdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+ \expandafter\in@\expandafter{\rmdefault}%
+ {cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
\ifin@ \else \def\bfseries@rm{b}\fi\fi
% \end{macrocode}
% Same approach for \cs{bfseries@sf} and \cs{bfseries@tt}:
% \begin{macrocode}
\ifx\bfseries@sf@kernel\bfseries@sf
- \expandafter\in@\expandafter{\sfdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+ \expandafter\in@\expandafter{\sfdefault}%
+ {cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
\ifin@ \else \def\bfseries@sf{b}\fi\fi
\ifx\bfseries@tt@kernel\bfseries@tt
- \expandafter\in@\expandafter{\ttdefault}{cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
+ \expandafter\in@\expandafter{\ttdefault}%
+ {cmr,cmss,cmtt,lcmss,lcmtt,lmr,lmss,lmtt}%
\ifin@ \else \def\bfseries@tt{b}\fi\fi
% \end{macrocode}
%
@@ -1033,9 +716,431 @@
%<latexrelease>\let\mdseries@rm\@undefined
%<latexrelease>\let\mdseries@sf\@undefined
%<latexrelease>\let\mdseries@tt\@undefined
-%<latexrelease>\let\expand@font@defaults\@undefined
%<latexrelease>\expandafter\let\csname ver@mweights.sty\endcsname\@undefined
%<latexrelease>
+%<latexrelease>\let\@meta@family@list\@undefined
+%<latexrelease>\let\prepare@family@series@update\@undefined
+%<latexrelease>\let\update@series@target@value\@undefined
+%<latexrelease>
+% \end{macrocode}
+% This is always called in \cs{document} so don't make it undefined.
+% \begin{macrocode}
+%<latexrelease>\let\init@series@setup\relax
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\bfseries}{Custom series with hooks}%
+% \end{macrocode}
+
+
+% \begin{macro}{\expand@font@defaults}
+% \begin{macro}{\rm@def@ult}
+% \begin{macro}{\sf@def@ult}
+% \begin{macro}{\tt@def@ult}
+% \begin{macro}{\md@def@ult}
+% \begin{macro}{\bf@def@ult}
+%
+% The family specific defaults are fully expanded, i.e., they are
+% defined via \cs{edef} inside \cs{DeclareFontSeriesDefault}.
+% However, the overall defaults, e.g., \cs{bfdefault} may have been
+% redefined by the user and thus may not be fully expanded. So to
+% enable reliable comparison we make expanded versions of
+% them. That we rerun each time. The alternative would be to only
+% allow for changes before begin document.
+% \begin{macrocode}
+\def\expand@font@defaults{%
+ \edef\rmdef@ult{\rmdefault}%
+ \edef\sfdef@ult{\sfdefault}%
+ \edef\ttdef@ult{\ttdefault}%
+% \end{macrocode}
+% The series defaults may contain some surplus \texttt{m} that we
+% need to drop here.
+% \changes{v3.1j}{2020/02/25}{Drop surplus ``m'' from \cs{bfdef@ult}
+% and \cs{mddef@ult} (gh/291)}
+% \begin{macrocode}
+ \series@maybe@drop@one@m\bfdefault\bfdef@ult
+ \series@maybe@drop@one@m\mddefault\mddef@ult
+% \end{macrocode}
+% Formats that set up parallel fonts, e.g., for Japanese, can use
+% this hook to add additional code here.
+% \changes{v3.1m}{2020/04/06}{Hook added (gh/306)}
+% \changes{v3.2b}{2020/08/21}{Integration of new hook management interface}
+% \begin{macrocode}
+ \UseHook{expand@font@defaults}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+
+
+% \begin{macro}{\bfseries}
+% This document command switches to the bold series.
+% \begin{macrocode}
+\DeclareRobustCommand\bfseries{%
+ \not@math@alphabet\bfseries\mathbf
+% \end{macrocode}
+% In the original NFSS definition it then called \cs{fontseries}
+% with the value \cs{bfdefault}. In the new scheme we have more
+% alternatives and therefore check if the current family
+% (\cs{f@family}) is the current \cs{rmdef@ult}, \cs{sfdef@ult} or
+% \cs{ttdef@ult} and the select the correct family default in that case.
+% \changes{v3.1i}{2020/02/18}{Make the \cs{ifx} selection outside
+% of \cs{fontseries} argument so that it is not done several times}
+% \begin{macrocode}
+ \expand@font@defaults
+% \end{macrocode}
+% If \cs{bfdefault} and \cs{befdefault@previous} are different then
+% the default got changed directly through the legacy interface
+% (i.e., via \cs{def} or \cs{renewcommand}. In that case we reset
+% all meta family defaults so that the document behaves like it was
+% the case before the new mechanism was introduced.
+% \changes{v3.1k}{2020/03/19}{Support legacy use of \cs{bfdefault}
+% and \cs{mddefault} (gh/306)}
+% \begin{macrocode}
+ \ifx\bfdefault\bfdefault@previous\else
+% \end{macrocode}
+% We add \cs{@empty} and then let \cs{bfdefault@previous} to
+% \cs{bfdefault} so that we can detect any further change.
+% \begin{macrocode}
+ \expandafter\def\expandafter\bfdefault
+ \expandafter{\bfdefault\@empty}%
+ \let\bfseries@previous\bfdefault
+% \end{macrocode}
+% And we reset the meta family defaults (\cs{bfdef@ult} is an
+% expanded version of \cs{bfdefault}.
+% \begin{macrocode}
+ \let\bfseries@rm\bfdef@ult
+ \let\bfseries@sf\bfdef@ult
+ \let\bfseries@tt\bfdef@ult
+% \end{macrocode}
+%
+% Formats that set up parallel fonts, e.g., for Japanese, can use
+% this hook to add resets here. Not that this hook is only run when
+% resets are necessary.
+% \changes{v3.1m}{2020/04/06}{Hook added (gh/306)}
+% \changes{v3.2b}{2020/08/21}{Integration of new hook management interface}
+% \begin{macrocode}
+ \UseHook{bfseries/defaults}%
+ \fi
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \ifx\f@family\rmdef@ult \fontseries\bfseries@rm
+ \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf
+ \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt
+% \end{macrocode}
+% If not \cs{bfdefault} is used.
+% \begin{macrocode}
+ \else \fontseries\bfdefault
+ \fi\fi\fi
+% \end{macrocode}
+% This hook in contrast is always executed.
+% \begin{macrocode}
+ \UseHook{bfseries}%
+ \selectfont
+}
+% \end{macrocode}
+% \end{macro}
+
+
+
+% \begin{macro}{\mdseries}
+% This document command switches to the medium series.
+% \changes{v3.1i}{2020/02/18}{Make the \cs{ifx} selection outside
+% of \cs{fontseries} argument so that it is not done several times}
+% \changes{v3.1k}{2020/03/19}{Support legacy use of \cs{bfdefault}
+% and \cs{mddefault} (gh/306)}
+% \begin{macrocode}
+\DeclareRobustCommand\mdseries{%
+ \not@math@alphabet\mdseries\relax
+ \expand@font@defaults
+ \ifx\mddefault\mddefault@previous\else
+ \expandafter\def\expandafter\mddefault\expandafter{\mddefault\@empty}%
+ \let\mdseries@previous\mddefault
+ \let\mdseries@rm\mddef@ult
+ \let\mdseries@sf\mddef@ult
+ \let\mdseries@tt\mddef@ult
+% \end{macrocode}
+%
+% Formats that set up parallel fonts, e.g., for Japanese, can use
+% this hook to add resets here.
+% \changes{v3.1m}{2020/04/06}{Hook added (gh/306)}
+% \changes{v3.2b}{2020/08/21}{Integration of new hook management interface}
+% \begin{macrocode}
+ \UseHook{mdseries/defaults}%
+ \fi
+ \ifx\f@family\rmdef@ult \fontseries\mdseries@rm
+ \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf
+ \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt
+ \else \fontseries\mddefault
+ \fi\fi\fi
+ \UseHook{mdseries}%
+ \selectfont
+}
+% \end{macrocode}
+% \end{macro}
+
+
+% \begin{macro}{\rmfamily}
+% Here are the document level commands for changing the main font
+% families, or rather, here is a documented outline of the code,
+% the actual code is then streamlined and somewhat generalized.
+%\begin{verbatim}
+%\DeclareRobustCommand\rmfamily{%
+% \not@math@alphabet\rmfamily\mathrm
+%\end{verbatim}
+% If families are changed then we have to do a bit more work.
+% In the original NFSS implementation
+% a family change kept encoding, series shape and size unchanged
+% but now we can't any
+% longer simply reuse the current series value. Instead we may have
+% to change it from one family default to the next.
+%\begin{verbatim}
+% \expand@font@defaults
+%\end{verbatim}
+% We have to do the testing while the current family is still
+% unchanged but we have to do the adjustment of the series after it
+% got changed (because the new family might has different sets
+% ofshapes available and we certainly don't want to see
+% substituation going on. So we use \cs{target@series@value} to
+% hold the target series (if any).
+%\begin{verbatim}
+% \let\target@series@value\@empty
+%\end{verbatim}
+% Thus, if the current family is the sans family
+%\begin{verbatim}
+% \ifx\f@family\sfdef@ult
+%\end{verbatim}
+% and if we using the medium series of the sans family
+%\begin{verbatim}
+% \ifx\f@series\mdseries@sf
+%\end{verbatim}
+% then lets switch to the medium series for the serif family
+%\begin{verbatim}
+% \let\target@series@value\mdseries@rm
+%\end{verbatim}
+% and if we use the bold series of the sans family switch to the
+% bold default of the serif family:
+%\begin{verbatim}
+% \else\ifx\f@series\bfseries@sf \let\target@series@value\bfseries@rm
+%\end{verbatim}
+% However, the sans family may not have any specific defaults set,
+% so we also compare with the overall defaults.
+%\begin{verbatim}
+% \else\ifx\f@series\mddef@ult \let\target@series@value\mdseries@rm
+% \else\ifx\f@series\bfdef@ult \let\target@series@value\bfseries@rm
+%\end{verbatim}
+% If neither test was true we leave the series alone. This way a
+% special manual setting such as \verb=\fontseries{lc}= is not
+% undone if the family changes (of course there may not be any
+% support for it in the new family but then the NFSS
+% substitution kicks in and sorts it out).
+%\begin{verbatim}
+% \fi\fi\fi\fi
+%
+%\end{verbatim}
+% We need to do the same if the current family is the typewriter family:
+%\begin{verbatim}
+% \else\ifx\f@family\ttdef@ult
+% \ifx\f@series\mdseries@tt \let\target@series@value\mdseries@rm
+% \else\ifx\f@series\bfseries@tt \let\target@series@value\bfseries@rm
+% \else\ifx\f@series\mddef@ult \let\target@series@value\mdseries@rm
+% \else\ifx\f@series\bfdef@ult \let\target@series@value\bfseries@rm
+% \fi\fi\fi\fi
+% \fi\fi
+%\end{verbatim}
+% With these preparations for series out of the way we can now
+% change the font family to \cs{rmdefault}.
+%\begin{verbatim}
+% \fontfamily\rmdefault
+%\end{verbatim}
+%
+% If \cs{target@series@value} is still empty there is nothing more
+% to do other than selecting the new family. However, if not then
+% we should update the font series now as well. But there is one
+% further subtle issue. We may not have loaded an \texttt{.fd} file
+% for our target font family yet. In the past that was done in
+% \cs{selectfont} if necessary but since we are now doing all the
+% comparisons in \cs{fontseries} we need to make sure that the font
+% family specifications are already loaded prior to calling
+% \cs{fontseries}.
+%\begin{verbatim}
+% \ifx\target@series@value\@empty \else
+% \maybe@load@fontshape
+%\end{verbatim}
+% Updating the series in this case means directly changing
+% \cs{f@series} to the target value. We don't want to go through
+% \cs{fontseries} because that would apply the mappings and then
+% \texttt{bx + b} would keep \texttt{bx} instead of changing to
+% \texttt{b} as desired.
+% as
+%\begin{verbatim}
+% \let\f@series\target@series@value
+% \fi
+% \selectfont}
+%\end{verbatim}
+%
+% So now for the real definition: most of the code above gets
+% delegated to a helper command \cs{prepare@family@series@update}
+% so that the definition becomes again fairly short. In addition we
+% add a hook, mainly for our Japanese friends so that the code can
+% be extended prior to the call to \cs{selectfont}.
+%
+% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
+% \begin{macrocode}
+\DeclareRobustCommand\rmfamily{%
+ \not@math@alphabet\rmfamily\mathrm
+% \end{macrocode}
+% This holds all the code discussed above, first argument is the
+% meta family, i.e., \texttt{rm} in this case, and second argument
+% is the default family name, e.g., \texttt{cmr} indirectly
+% accessed via \cs{rmdefault}. This is calling \cs{fontfamily} and
+% if necessary \cs{fontseries} as outline above.
+% \begin{macrocode}
+ \prepare@family@series@update{rm}\rmdefault
+% \end{macrocode}
+% Then comes the hook code (by default a no-op) and finally the call
+% to \cs{selectfont}.
+% \changes{v3.2b}{2020/08/21}{Integration of new hook management interface}
+% \begin{macrocode}
+ \UseHook{rmfamily}%
+ \selectfont}
+% \end{macrocode}
+%
+% \begin{macro}{\sffamily}
+% \begin{macro}{\ttfamily}
+% The definitions for \cs{sffamily} and \cs{ttfamily} are similar,
+% the differences are only in what font families get checked.
+% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
+% \changes{v3.2b}{2020/08/21}{Integration of new hook management interface}
+% \begin{macrocode}
+\DeclareRobustCommand\sffamily{%
+ \not@math@alphabet\sffamily\mathsf
+ \prepare@family@series@update{sf}\sfdefault
+ \UseHook{sffamily}%
+ \selectfont}
+% \end{macrocode}
+%
+% \changes{v3.1f}{2020/01/11}{Streamlined implementation with hook}
+% \changes{v3.2b}{2020/08/21}{Integration of new hook management interface}
+% \begin{macrocode}
+\DeclareRobustCommand\ttfamily{%
+ \not@math@alphabet\ttfamily\mathtt
+ \prepare@family@series@update{tt}\ttdefault
+ \UseHook{ttfamily}%
+ \selectfont}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+%
+% \begin{macro}{rmfamily,sffamily,ttfamily,normalfont,expand@font@defaults,
+% bfseries,bfseries/defaults,mdseries,mdseries/defaults}
+% Declare the hooks used above.
+% \changes{v3.2b}{2020/08/21}{Integration of new hook management interface}
+% \begin{macrocode}
+\NewHook{rmfamily}
+\NewHook{sffamily}
+\NewHook{ttfamily}
+\NewHook{normalfont}
+\NewHook{expand@font@defaults}
+\NewHook{bfseries}
+\NewHook{bfseries/defaults}
+\NewHook{mdseries}
+\NewHook{mdseries/defaults}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@rmfamilyhook}
+% \begin{macro}{\@sffamilyhook}
+% \begin{macro}{\@ttfamilyhook}
+% These four hooks have legacy versions used in 2020/02/02 so we
+% should support them until they aren't any longer used.
+% \begin{macrocode}
+\let\@rmfamilyhook\@empty
+\let\@sffamilyhook\@empty
+\let\@ttfamilyhook\@empty
+\let\@defaulfamilyhook\@empty
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2020/02/02}%
+%<latexrelease> {\bfseries}{Custom series with hooks}%
+%<latexrelease>
+%<latexrelease>\def\expand@font@defaults{%
+%<latexrelease> \edef\rmdef@ult{\rmdefault}%
+%<latexrelease> \edef\sfdef@ult{\sfdefault}%
+%<latexrelease> \edef\ttdef@ult{\ttdefault}%
+%<latexrelease> \edef\bfdef@ult{\bfdefault}%
+%<latexrelease> \edef\mddef@ult{\mddefault}%
+%<latexrelease> \edef\famdef@ult{\familydefault}%
+%<latexrelease>}
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\bfseries{%
+%<latexrelease> \not@math@alphabet\bfseries\mathbf
+%<latexrelease> \expand@font@defaults
+%<latexrelease> \ifx\f@family\rmdef@ult \fontseries\bfseries@rm
+%<latexrelease> \else\ifx\f@family\sfdef@ult \fontseries\bfseries@sf
+%<latexrelease> \else\ifx\f@family\ttdef@ult \fontseries\bfseries@tt
+%<latexrelease> \else \fontseries\bfdefault
+%<latexrelease> \fi\fi\fi
+%<latexrelease> \selectfont
+%<latexrelease>}
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\mdseries{%
+%<latexrelease> \not@math@alphabet\mdseries\relax
+%<latexrelease> \expand@font@defaults
+%<latexrelease> \ifx\f@family\rmdef@ult \fontseries\mdseries@rm
+%<latexrelease> \else\ifx\f@family\sfdef@ult \fontseries\mdseries@sf
+%<latexrelease> \else\ifx\f@family\ttdef@ult \fontseries\mdseries@tt
+%<latexrelease> \else \fontseries\mddefault
+%<latexrelease> \fi\fi\fi
+%<latexrelease> \selectfont
+%<latexrelease>}
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand\rmfamily{%
+%<latexrelease> \not@math@alphabet\rmfamily\mathrm
+%<latexrelease> \prepare@family@series@update{rm}\rmdefault
+%<latexrelease> \@rmfamilyhook
+%<latexrelease> \selectfont}
+%<latexrelease>\DeclareRobustCommand\sffamily{%
+%<latexrelease> \not@math@alphabet\sffamily\mathsf
+%<latexrelease> \prepare@family@series@update{sf}\sfdefault
+%<latexrelease> \@sffamilyhook
+%<latexrelease> \selectfont}
+%<latexrelease>\DeclareRobustCommand\ttfamily{%
+%<latexrelease> \not@math@alphabet\ttfamily\mathtt
+%<latexrelease> \prepare@family@series@update{tt}\ttdefault
+%<latexrelease> \@ttfamilyhook
+%<latexrelease> \selectfont}
+%<latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\bfseries}{Custom series with hooks}%
+%<latexrelease>
+%<latexrelease>\let\expand@font@defaults\@undefined
+%<latexrelease>
%<latexrelease>\DeclareRobustCommand\bfseries
%<latexrelease> {\not@math@alphabet\bfseries\mathbf
%<latexrelease> \fontseries\bfdefault\selectfont}
@@ -1052,20 +1157,9 @@
%<latexrelease> {\not@math@alphabet\ttfamily\mathtt
%<latexrelease> \fontfamily\ttdefault\selectfont}
%<latexrelease>
-%<latexrelease>\let\@expandfontdefaultshook\@undefined
-%<latexrelease>\let\@setbfseriesdefaultshook\@undefined
-%<latexrelease>\let\@setmdseriesdefaultshook\@undefined
%<latexrelease>\let\@rmfamilyhook\@undefined
%<latexrelease>\let\@sffamilyhook\@undefined
%<latexrelease>\let\@ttfamilyhook\@undefined
-%<latexrelease>\let\@meta@family@list\@undefined
-%<latexrelease>\let\prepare@family@series@update\@undefined
-%<latexrelease>\let\update@series@target@value\@undefined
-%<latexrelease>
-% \end{macrocode}
-% This is always called in \cs{document} so don't make it undefined.
-% \begin{macrocode}
-%<latexrelease>\let\init@series@setup\relax
%<latexrelease>
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
@@ -1110,7 +1204,10 @@
%</2ekernel>
%<*2ekernel|latexrelease>
%<latexrelease>\IncludeInRelease{2020/10/01}%
-%<latexrelease> {\IfFontSeriesContext}{Font series context}%
+%<latexrelease> {\IfFontSeriesContextTF}{Font series context}%
+% \end{macrocode}
+%
+% \begin{macrocode}
\DeclareRobustCommand\IfFontSeriesContextTF[1]{%
\expand@font@defaults
% \end{macrocode}
@@ -1217,7 +1314,7 @@
%
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\IfFontSeriesContext}{Font series context}%
+%<latexrelease> {\IfFontSeriesContextTF}{Font series context}%
%<latexrelease>
%<latexrelease>\let\IfFontSeriesContextTF\@undefined
%<latexrelease>\let\test@font@series@context\@undefined
@@ -1668,8 +1765,14 @@
\edef\f@shape{\shapedefault}%
% \end{macrocode}
%
+% \changes{v3.2b}{2020/08/21}{Integration of new hook management interface}
+% \begin{macrocode}
+ \UseHook{normalfont}%
+% \end{macrocode}
+% This is the old name for the hook introduced in 2020/02/02.
+% It will be removed in one of the future releases!
% \begin{macrocode}
- \@defaultfamilyhook
+ \@defaultfamilyhook % hookname from 2020/02 will vanish
\selectfont}
% \end{macrocode}
%
@@ -1684,7 +1787,7 @@
% By default the hooks do nothing.
% \changes{v3.1h}{2020/02/10}{Add \cs{@defaultfamilyhook} to \cs{normalfont} (gh/269)}
% \begin{macrocode}
-\let\@defaultfamilyhook\@empty
+\let\@defaultfamilyhook\@empty %FMi sort out
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/base/lthooks-code.pdf b/macros/latex-dev/base/lthooks-code.pdf
index 336bf58d94..03052d0545 100644
--- a/macros/latex-dev/base/lthooks-code.pdf
+++ b/macros/latex-dev/base/lthooks-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks-code.tex b/macros/latex-dev/base/lthooks-code.tex
index 32822fcfd8..f5fa338a7b 100644
--- a/macros/latex-dev/base/lthooks-code.tex
+++ b/macros/latex-dev/base/lthooks-code.tex
@@ -1,10 +1,5 @@
% This will typeset documentation + code
%
-% However, you may first have to unpack the .sty file via
-%
-% latex lthooks.ins
-%
-% as it is used when processing the doumentation.
\AtBeginDocument{\AlsoImplementation}
\input{lthooks.dtx}
diff --git a/macros/latex-dev/base/lthooks-doc.pdf b/macros/latex-dev/base/lthooks-doc.pdf
index b02d0e6798..adc99b3169 100644
--- a/macros/latex-dev/base/lthooks-doc.pdf
+++ b/macros/latex-dev/base/lthooks-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/lthooks-doc.tex b/macros/latex-dev/base/lthooks-doc.tex
index 47d86a4599..a51e2cd6e0 100644
--- a/macros/latex-dev/base/lthooks-doc.tex
+++ b/macros/latex-dev/base/lthooks-doc.tex
@@ -1,10 +1,5 @@
% This will typeset only documentation but not the code
%
-% However, you may first have to unpack the .sty file via
-%
-% latex lthooks.ins
-%
-% as it is used when processing the doumentation.
\AtBeginDocument{\OnlyDescription
% \let\tableofcontents\relax
diff --git a/macros/latex-dev/base/lthooks.dtx b/macros/latex-dev/base/lthooks.dtx
index 603b472e44..b1e3985704 100644
--- a/macros/latex-dev/base/lthooks.dtx
+++ b/macros/latex-dev/base/lthooks.dtx
@@ -1,29 +1,41 @@
% \iffalse meta-comment
+%%
+%% File: lthooks.dtx (C) Copyright 2020 Frank Mittelbach,
+%% Phelype Oleinik & LaTeX Team
%
-%% File: lthooks.dtx (C) Copyright 2020 Frank Mittelbach, LaTeX Team
-%
-% It may be distributed and/or modified under the conditions of the
-% LaTeX Project Public License (LPPL), either version 1.3c of this
-% license or (at your option) any later version. The latest version
-% of this license is in the file
+% This file is part of the LaTeX base system.
+% -------------------------------------------
%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
%
-% The development version of the bundle can be found below
+% 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.
%
-% https://github.com/FrankMittelbach/...
+% \fi
%
-% for those people who are interested or want to report an issue.
+% \iffalse
+%
+%%% From File: lthooks.dtx
%
% \begin{macrocode}
-\providecommand\lthooksversion{v0.9b}
-\providecommand\lthooksdate{2020/07/19}
+\def\lthooksversion{v1.0a}
+\def\lthooksdate{2020/08/31}
% \end{macrocode}
%
%<*driver>
-\RequirePackage[debug]{lthooks}
-
\documentclass{l3doc}
% bug fix fo l3doc.cls
@@ -160,17 +172,14 @@
% the current package name. See section~\ref{sec:default-label}.
% \end{function}
%
-
-
-
+%
+%
+%
% \begin{function}{\UseHook}
% \begin{syntax}
% \cs{UseHook} \Arg{hook}
% \end{syntax}
-% Execute the hook code inside a command or environment.\footnote{For
-% legacy hooks such as \hook{begindocument} it is also
-% possible to call \cs{@...hook}, e.g., \cs{@begindocumenthook},
-% but this syntax is discouraged.}
+% Execute the hook code inside a command or environment.
%
% Before \verb=\begin{document}= the fast execution code for a hook
% is not set up, so in order to use a hook there it is explicitly
@@ -258,6 +267,12 @@
%
% \medskip
%
+% In contrast to the \texttt{voids} relationship between two labels
+% in a \cs{DeclareHookrule} this is a destructive operation as the
+% labeled code is removed from the hook data structure, whereas the
+% relationship setting can be undone by providing a different
+% relationship later.
+%
% A useful application for this declaration inside the document body
% is when one wants to temporarily add code to hooks and later remove
% it again, e.g.,
@@ -298,8 +313,19 @@
% used several times before the hook is executed then all code is
% executed in the order in which it was declared.\footnotemark
%
-% The hook doesn't have to exist for code to be added to it. This
-% allows for hooks to work regardless of package loading order.
+% It is possible to nest declarations using the same hook (or
+% different hooks), e.g.,
+% \begin{quote}
+% \cs{AddToHookNext}\Arg{hook}\verb={=\meta{code-1}^^A
+% \cs{AddToHookNext}\Arg{hook}\Arg{code-2}\verb=}=
+% \end{quote}
+% will execute \meta{code-1} next time the \meta{hook} is used and at
+% that point puts \meta{code-2} into the \meta{hook} so that it gets
+% executed on following time the hook is run.
+%
+% A hook doesn't have to exist for code to be added to it. This
+% allows for hooks to work regardless of package loading
+% order.
% See section~\ref{sec:querying}.
%
% The \meta{hook} can be specified using the dot-syntax to denote
@@ -337,7 +363,7 @@
% name---see~\cs{DeclareDefaultHookLabel}).
% A \enquote{|.|} or \enquote{|./|} anywhere else in a \meta{hook} or in
% \meta{label} is treated literally and is not replaced.
-
+%
% For example,
% inside the package \texttt{mypackage.sty}, the default label is
% \texttt{mypackage}, so the instructions:
@@ -345,15 +371,15 @@
% \NewHook {./hook}
% \AddToHook {./hook}[.]{code} % Same as \AddToHook{./hook}{code}
% \AddToHook {./hook}[./sub]{code}
-% \DeclareHookRule{begindocument}{.}{<}{babel}
+% \DeclareHookRule{begindocument}{.}{before}{babel}
% \AddToHook {file/after/foo.tex}{code}
% \end{verbatim}
% are equivalent to:
% \begin{verbatim}
-% \NewHook {mypackage/hook}[mypackage]{code}
+% \NewHook {mypackage/hook}
% \AddToHook {mypackage/hook}[mypackage]{code}
% \AddToHook {mypackage/hook}[mypackage/sub]{code}
-% \DeclareHookRule{begindocument}{mypackage}{<}{babel}
+% \DeclareHookRule{begindocument}{mypackage}{before}{babel}
% \AddToHook {file/after/foo.tex}{code} % unchanged
% \end{verbatim}
%
@@ -376,7 +402,7 @@
% because the hook is most of the time used outside of the package file
% in which it was defined. This syntax is also not available in the hook
% conditionals \cs{IfHookEmptyTF} (and \cs{hook_if_empty:nTF}) and
-% \cs{IfHookExistTF} (and \cs{hook_if_exist:nTF}) because these
+% \cs{IfHookExistsTF} (and \cs{hook_if_exist:nTF}) because these
% conditionals are used in some performance-critical parts of the hook
% management code, and because they are usually used to refer to other
% package's hooks, so the dot-syntax doesn't make much sense.
@@ -426,7 +452,7 @@
% \cs{DeclareHookRule} \Arg{hook}\Arg{label1}\Arg{relation}\Arg{label2}
% \end{syntax}
% Defines a relation between \meta{label1} and \meta{label2} for a
-% given \meta{hook}. If \meta{hook} is \texttt{??} this defines a
+% given \meta{hook}. If \meta{hook} is \texttt{??} this defines a default
% relation for all hooks that use the two labels, i.e., that have
% chunks of code labeled with \meta{label1} and \meta{label2}.
% Rules specific to a given hook take precedence over default
@@ -455,7 +481,7 @@
% \LaTeX{} error is raised, and the code for both labels are
% dropped from that hook until the conflict is resolved.
%
-% \item[\texttt{removes}]
+% \item[\texttt{voids}]
%
% Code for \meta{label1} overwrites code for \meta{label2}. More
% precisely, code for \meta{label2} is dropped for that
@@ -470,10 +496,15 @@
% specified earlier.
%
% \end{itemize}
+% There can only be a single relation between two labels for a
+% given hook,
+% i.e., a later \cs{DeclareHookrule} overwrites any previous
+% delcaration.
%
% The \meta{hook} and \meta{label} can be specified using the
% dot-syntax to denote the current package name.
% See section~\ref{sec:default-label}.
+%
% \end{function}
%
%
@@ -553,9 +584,9 @@
% A leading |.| is treated literally.
% \end{function}
%
-% \begin{function}[EXP]{\IfHookExistTF}
+% \begin{function}[EXP]{\IfHookExistsTF}
% \begin{syntax}
-% \cs{IfHookExistTF} \Arg{hook} \Arg{true code} \Arg{false code}
+% \cs{IfHookExistsTF} \Arg{hook} \Arg{true code} \Arg{false code}
% \end{syntax}
% Tests if the \meta{hook} exists (if it was created with either
% \cs{NewHook}, \cs{NewReversedHook}, or \cs{NewMirroredHookPair}), and
@@ -590,10 +621,8 @@
% the code chunks (and their labels) added to it,
% \item
% any rules set up to order them,
-% \fmi{currently this is missing the default rules that apply,
-% guess that needs fixing}
% \item
-% the computed order (if already defined),
+% the computed order in which the chunks are executed,
% \item
% any code executed on the next invocation only.
% \end{itemize}
@@ -605,9 +634,9 @@
%
% \subsubsection{Debugging hook code}
%
-% \begin{function}{\DebugHookOn,\DebugHookOff}
+% \begin{function}{\DebugHooksOn,\DebugHooksOff}
% \begin{syntax}
-% \cs{DebugHookOn}
+% \cs{DebugHooksOn}
% \end{syntax}
% Turn the debugging of hook code on or off. This displays changes
% made to the hook data structures. The output is rather coarse and
@@ -706,8 +735,8 @@
% the current package name. See section~\ref{sec:default-label}.
% \end{function}
%
-
-
+%
+%
% \begin{function}{\hook_gremove_code:nn}
% \begin{syntax}
% \cs{hook_gremove_code:nn} \Arg{hook} \Arg{label}
@@ -728,8 +757,8 @@
% dot-syntax to denote the current package name.
% See section~\ref{sec:default-label}.
% \end{function}
-
-
+%
+%
% \begin{function}{\hook_gset_rule:nnnn}
% \begin{syntax}
% \cs{hook_gset_rule:nnnn} \Arg{hook} \Arg{label1} \Arg{relation} \Arg{label2}
@@ -747,7 +776,7 @@
%
% \begin{function}[pTF]{\hook_if_empty:n}
% \begin{syntax}
-% \cs{hook_if_empty:n} \Arg{hook} \Arg{true code} \Arg{false code}
+% \cs{hook_if_empty:nTF} \Arg{hook} \Arg{true code} \Arg{false code}
% \end{syntax}
% Tests if the \meta{hook} is empty (\emph{i.e.}, no code was added to
% it using either \cs{AddToHook} or \cs{AddToHookNext}), and
@@ -760,7 +789,7 @@
%
% \begin{function}[pTF]{\hook_if_exist:n}
% \begin{syntax}
-% \cs{hook_if_exist:n} \Arg{hook} \Arg{true code} \Arg{false code}
+% \cs{hook_if_exist:nTF} \Arg{hook} \Arg{true code} \Arg{false code}
% \end{syntax}
% Tests if the \meta{hook} exists (if it was created with either
% \cs{NewHook}, \cs{NewReversedHook}, or \cs{NewMirroredHookPair}), and
@@ -938,6 +967,69 @@
%
%
%
+% \subsection{Difference between \enquote{normal} and
+% \enquote{one-time} hooks}
+%
+% When executing a hook a developer has the choice of using
+% either \cs{UseHook} or \cs{UseOneTimeHook} (or their \pkg{expl3}
+% equivalents \cs{hook_use:n} and \cs{hook_use_once:n}).
+% This choice affects how \cs{AddToHook} is handled after the hook
+% has been executed for the first time.
+%
+% With normal hooks adding code via \cs{AddToHook} means that the
+% code chunk is added to the hook data structure and then used each time
+% \cs{UseHook} is called.
+%
+% With one-time hooks it this is handled slightly differently:
+% After \cs{UseOneTimeHook} has been called, any further attempts to
+% add code to the hook via \cs{AddToHook} will simply execute the
+% \meta{code} immediately.
+%
+% This has some consequences one needs to be aware of:
+% \begin{itemize}
+% \item
+%
+% If \meta{code} is added to a normal hook after the hook was
+% executed and it is never executed again for one or the other
+% reason, then this new \meta{code} will never be executed.
+%
+% \item
+%
+% In contrast if that happens with a one-time hook the \meta{code} is
+% executed immediately.
+%
+% \end{itemize}
+% In particular this means that construct such as
+%\begin{quote}
+% \cs{AddToHook}\verb={myhook}=\\
+% \phantom{\cs{AddToHook}}\verb={= \meta{code-1}
+% \cs{AddToHook}\verb={myhook}=\Arg{code-2}
+% \meta{code-3} \verb=}=
+%\end{quote}
+% works for one-time hooks\footnote{This is sometimes used with
+% \cs{AtBeginDocument} which is why it is supported.} (all three
+% code chunks are executed one after another), but it makes little
+% sense with a normal hook, because with a normal hook the first time
+% \verb=\UseHook{myhook}= is executed it would
+% \begin{itemize}
+% \item
+% execute \meta{code-1},
+% \item
+% then execute \verb=\AddToHook{myhook}{code-2}= which adds the
+% code chunk \meta{code-2} to the hook for use on the next invocation,
+% \item
+% and finally execute \meta{code-3}.
+% \end{itemize}
+% The second time \cs{UseHook} is called it would execute the
+% above and in addition \meta{code-2} as that was added as a code
+% chunk to the hook in the meantime. So each time the hook is used
+% another copy of \meta{code-2} is added and so that code chunk
+% is executed $\meta{\# of invocations} -1$ times.
+%
+%
+%
+%
+%
% \subsection{Private \LaTeX{} kernel hooks}
%
% There are a few places where it is absolutely essential for
@@ -1025,6 +1117,21 @@
% This hook is discussed in conjunction with the shipout hooks.
% \end{function}
%
+% \bigskip
+%
+% The few hooks that existed previously in \LaTeXe{} used internally
+% commands such as \cs{@begindocumenthook} and packages sometimes
+% augemented them directly rather than working through
+% \cs{AtBeginDocumement}. For that reason there is currently support
+% for this, that is, if the system detects that such an internal
+% legacy hook command contains code it adds it to the new hook
+% system under the label \texttt{legacy} so that it doesn't get
+% lost.
+%
+% However, over time the remaining cases of direct usage need
+% updating because in one of the future release of \LaTeX{} we will
+% turn this legacy support off, as it does unnecessary slow down
+% the processing.
%
%
% \subsection{\LaTeXe{} commands and environments augmented by
@@ -1052,26 +1159,31 @@
%
% \item[\hook{env/\meta{env}/end}]
%
-% This is executed as part of \cs{end} directly in front of the
+% This hook is executed as part of \cs{end} directly in front of the
% code specific to the end of the environment (e.g., the third
% argument of \cs{newenvironment}).
%
% \item[\hook{env/\meta{env}/after}]
%
-% This is executed as part of \cs{end} after the
+% This hook is executed as part of \cs{end} after the
% code specific to the environment end and after the environment
% group has ended.
% Its scope is therefore not restricted by the environment.
%
-% This hook is implemented as a reversed hook so if two packages
+% The hook is implemented as a reversed hook so if two packages
% add code to \hook{env/\meta{env}/before} and to
% \hook{env/\meta{env}/after} they can add surrounding
% environments and the order of closing them happens in the
% right sequence.
%
% \end{description}
-% In contrast to other hooks these hooks do not need to be declared
-% using \cs{NewHook}.
+% Generic environment hooks are never one-time hooks even with
+% environments that are supposed to appear only once in a
+% document.\footnote{Thus if one adds code to such hooks after the
+% environment has been processed, it will only be executed if the
+% environment appears again and if that doesn't happen the code
+% will never get executed.} In contrast to other hooks there is
+% also no need to declare them using \cs{NewHook}.
%
% The hooks are only executed if \cs{begin}\Arg{env} and
% \cs{end}\Arg{env} is used. If the environment code is executed
@@ -1087,47 +1199,78 @@
% to add the outer hooks, etc.
%
%
+% \begin{function}{\BeforeBeginEnvironment}
+% \begin{syntax}
+% \cs{BeforeBeginEnvironment} \oarg{label} \Arg{code}
+% \end{syntax}
+% This declaration adds to the \hook{env/\meta{env}/before} hook
+% using by default the current package or class name as a label or
+% \texttt{top-level} if used in the document directly.
+% \end{function}
+%
+% \begin{function}{\AtBeginEnvironment}
+% \begin{syntax}
+% \cs{AtBeginEnvironment} \oarg{label} \Arg{code}
+% \end{syntax}
+% Like \cs{BeforeBeginEnvironment} but adds to the \hook{env/\meta{env}/begin} hook.
+% \end{function}
+%
+% \begin{function}{\AtEndEnvironment}
+% \begin{syntax}
+% \cs{AtEndEnvironment} \oarg{label} \Arg{code}
+% \end{syntax}
+% Like \cs{BeforeBeginEnvironment} but adds to the \hook{env/\meta{env}/end} hook.
+% \end{function}
+%
+% \begin{function}{\AfterEndEnvironment}
+% \begin{syntax}
+% \cs{AfterEndEnvironment} \oarg{label} \Arg{code}
+% \end{syntax}
+% Like \cs{BeforeBeginEnvironment} but adds to the \hook{env/\meta{env}/after} hook.
+% \end{function}
+%
+%
+%
%
% \subsubsection{Hooks provided by \cs{begin}\texttt{\{document\}}}
%
% Until 2020 \cs{begin}\texttt{\{document\}} offered exactly one
-% hook that one had to fill using \cs{AtBeginDocument}. Experience
-% has shown that this single hook in one place was not enough and
-% as part of adding the general hook management system a number of
-% additional hooks have been added at this point. The places for
-% hooks have been chosen to provide the same support as offered by
-% external packages, such as \pkg{etoolbox} and others that
-% augmented \cs{document} to gain better control.
-%
-% Supported are now the following hooks:
+% hook that one could add to using
+% \cs{AtBeginDocument}. Experiences over the years have shown that
+% this single hook in one place was not enough and as part of
+% adding the general hook management system a number of additional
+% hooks have been added at this point. The places for these hooks have
+% been chosen to provide the same support as offered by external
+% packages, such as \pkg{etoolbox} and others that augmented
+% \cs{document} to gain better control.
+%
+% Supported are now the following hooks (all of them one-time hooks):
% \begin{description}
%
-% \item[\hook{env/document/before}]
%
-% This is the generic environment hook executed effectively
-% before \verb=\begin{document}= starts, i.e., one can think of
-% it as a hook for code at the end of the preamble section.
+% \item[\hook{begindocument/before}]
%
-% \item[\hook{env/document/begin}]
+% This hook is executed at the very start of \cs{document}, one can
+% think of it as a hook for code at the end of the preamble
+% section and this is how it is used by \pkg{etoolbox}'s
+% \cs{AtEndPreamble}.
%
-% This is the second generic environment hook that is executed
-% after the environment has started its group. But given that for the
-% \texttt{document} environment this group is canceled there is
-% little difference to the previous one as the two are directly
-% executed one after another (the only difference is that in this
-% hook \cs{@currenvir} is now set to \texttt{document} but
-% anybody adding to this hook would know that already).
%
%
% \item[\hook{begindocument}]
%
-% This hook is added to by \cs{AtBeginDocument} and is executed
+% This hook is added to when using \cs{AtBeginDocument} and it is executed
% after the \texttt{.aux} file as be read in and most
% initialization are done, so they can be altered and inspected by
% the hook code. It is followed by a small number of further
% initializations that shouldn't be altered and are therefore
% coming later.
%
+% The hook should not be used to add material for typesetting as
+% we are still in \LaTeX's initialization phase and not in the
+% document body. If such material needs to be added to the document
+% body use the next hook instead.
+%
% \item[\hook{begindocument/end}]
%
% This hook is executed at the end of the \cs{document} code in
@@ -1135,6 +1278,10 @@
% command that follows it is \cs{ignorespaces}.
%
% \end{description}
+% The generic hooks executed by \cs{begin} also exist, i.e.,
+% \hook{env/document/before} and \hook{env/document/begin}, but
+% with this special environment it is better use the dedicated
+% one-time hooks above.
%
%
%
@@ -1156,17 +1303,13 @@
% to add code in various places in a controlled way without the
% need for overwriting or patching the core code.
%
-% Supported are now the following hooks:
+% Supported are now the following hooks (all of them one-time hooks):
% \begin{description}
%
-% \item[\hook{env/document/end}] The generic hook inside \cs{end}.
-%
% \item[\hook{enddocument}]
-
+%
% The hook associated with \cs{AtEndDocument}. It is immediately
-% called after the previous hook so there could be just
-% one.\footnote{We could make \cs{AtEndDocument} just fill the
-% \hook{env/document/end} but maybe that is a bit confusing.}
+% called at the beginning of \cs{enddocument}.
%
% When this hook is executed there may be still unprocessed
% material (e.g., floats on the deferlist) and the hook may add
@@ -1230,6 +1373,16 @@
% page. See section~\ref{sec:shipout} for where to find the details.
%
%
+% It is in also possible to use the generic \hook{env/document/end}
+% hook which is execuded by \cs{end}, i.e., just in front of the
+% first hook above. Note however that the other generic \cs{end}
+% environment hook, i.e., \hook{env/document/after} will never get
+% executed, because by that time \LaTeX{} has finished the document
+% processing.
+%
+%
+%
+%
% \subsubsection{Hooks provided \cs{shipout} operations}
% \label{sec:shipout}
%
@@ -1239,7 +1392,7 @@
% \texttt{ltshipout-code.pdf}.
%
%
-% \subsubsection{Hooks provided file loading operations}
+% \subsubsection{Hooks provided by file loading operations}
%
% There are several hooks added to \LaTeX{}'s
% process of loading file via its high-level interfaces such as
@@ -1248,17 +1401,87 @@
% \texttt{ltfilehook-code.pdf}.
%
%
-
+% \subsubsection{Hooks provided in NFSS commands}
+%
+% In languages that need to support for more than one script in
+% parallel (and thus several sets of fonts), e.g., Latin and
+% Japanese fonts, NFSS font commands, such as \cs{sffamily}, need
+% to switch both the Latin family to ``Sans Serif'' and in addition
+% alter a second set of fonts.
+%
+% To support this several NFSS have hooks in which such support can
+% be added.
+% \begin{description}
+%
+% \item[\hook{rmfamily}]
+%
+% After \cs{rmfamily} has done its initial checks and prepared a
+% any font series update this hook is executed and only
+% afterwards \cs{selectfont}.
+%
+% \item[\hook{sffamily}]
+%
+% Like the \hook{rmfamily} hook but for the \cs{sffamily} command.
+%
+% \item[\hook{ttfamily}]
+%
+% Like the \hook{rmfamily} hook but for the \cs{ttfamily} command.
+%
+% \item[\hook{normalfont}]
+%
+% The \cs{normalfont} command resets font encoding family series
+% and shape to their document defaults. It then executes this
+% hook and finally calls \cs{selectfont}.
+%
+% \item[\hook{expand@font@defaults}]
+%
+% The internal \cs{expand@font@defaults} command expands and
+% saves the current defaults for the meta families (rm/sf/tt) and
+% the meta series (bf/md). If the NFSS machinery has been
+% augmented, e.g., for Chinese or Japanese fonts, then further
+% defaults may need to be set at this point. This can be done in
+% this hook which is executed at the end of this macro.
+%
+% \item[\hook{bfseries/defaults}, \hook{bfseries}]
+%
+% If the \cs{bfdefault} was explicitly changed by the user its
+% new value is used to set the bf series defaults for the meta
+% families (rm/sf/tt) when \cs{bfseries} is called. In the
+% \hook{bfseries/defaults} hook further adjustments can be made
+% in this case. This hook is only executed if such a change is
+% detected. In contrast the \hook{bfseries} hook is always
+% executed just before \cs{selectfont} is called to change to the
+% new series.
+%
+%
+% \item[\hook{mdseries/defaults}, \hook{mdseries}]
+%
+% These two hooks are like the previous ones but used in
+% \cs{mdseries} command.
+%
+% \end{description}
+%
+%
% \StopEventually{\setlength\IndexMin{200pt} \PrintIndex }
%
%
% \section{The Implementation}
+%
+%
+% \subsection{Loading further extensions}
+%
% \begin{macrocode}
%<@@=hook>
% \end{macrocode}
%
+%
+% At the moment the whole module rolls back in one go, but if we
+% make any modifications in later releases this will then need
+% splitting.
% \begin{macrocode}
-%<*2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\NewHook}{The hook management}%
% \end{macrocode}
%
% \begin{macrocode}
@@ -1300,7 +1523,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
-
+%
%
%
% \subsection{Borrowing from internals of other kernel modules}
@@ -1315,6 +1538,13 @@
%
% \subsection{Declarations}
%
+% \begin{macro}{\l_@@_tmpa_bool}
+% Scratch boolean used throughout the package.
+% \begin{macrocode}
+\bool_new:N \l_@@_tmpa_bool
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\l_@@_return_tl,\l_@@_tmpa_tl,\l_@@_tmpb_tl}
% Scratch variables used throughout the package.
% \begin{macrocode}
@@ -1333,7 +1563,7 @@
% \end{macro}
%
% \begin{macro}{\g_@@_removal_list_prop}
-% A property list to hold delayed removals.
+% A token list to hold delayed removals.
% \begin{macrocode}
\tl_new:N \g_@@_removal_list_tl
% \end{macrocode}
@@ -1346,11 +1576,13 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\g_@@_code_temp_prop}
-% A property list to temporarily save the original one so that it
-% isn't permanently changed during sorting.
+% \begin{macro}{\l_@@_work_prop}
+% A property list holding a copy of the
+% \cs[no-index]{g_@@_\meta{hook}_code_prop} of the hook being sorted
+% to work on, so that changes don't act destructively on the hook data
+% structure.
% \begin{macrocode}
-\prop_new:N \g_@@_code_temp_prop
+\prop_new:N \l_@@_work_prop
% \end{macrocode}
% \end{macro}
%
@@ -1387,8 +1619,7 @@
%
% \subsection{Providing new hooks}
%
-% \begin{macro}{\g_@@_..._code_prop,\g_@@_..._rules_prop,
-% \g_@@_..._code_tl,\g_@@_..._next_code_tl}
+% \begin{macro}{\g_@@_..._code_prop,\g_@@_..._code_tl,\g_@@_..._code_next_tl}
%
% Hooks have a \meta{name} and for each hook we have to provide a number of
% data structures. These are
@@ -1398,27 +1629,36 @@
% package names that add code to the hook, but it is possible
% for packages to define other keys.
%
-% \item[\cs{g_@@_\meta{name}_rules_prop}] A property listing holding
-% relation info how the code chunks should be ordered within a
-% hook. This is used for debugging only. The actual rule for a
-% \meta{hook} is stored in a separate token lists named
-% \cs[no-index]{g_@@_\meta{hook}_rule_\meta{label1}\string|\meta{label2}_tl}
-% for a pair of labels.
+% \item[{\cs[no-index]{g_@@_\meta{name}_rule_\meta{label1}\string|\meta{label2}_tl}}]
+% A token list holding the relation between \meta{label1} and
+% \meta{label2} in the \meta{name}. The \meta{labels} are lexically
+% (reverse) sorted to ensure that two labels always point to the same
+% token list. For global rules, the \meta{name} is |??|.
%
% \item[\cs{g_@@_\meta{name}_code_tl}] The code that is actually executed
% when the hook is called in the document is stored in this token
% list. It is constructed from the code chunks applying the
% information.
%
-% \item[\cs{g_@@_\meta{name}_next_code_tl}] Finally there is extra code
+% \item[\cs{g_@@_\meta{name}_reversed_tl}] Some hooks are
+% \enquote{reversed}. This token list stores a |-| for such hook
+% so that it can be identified. The |-| character is used because
+% $\meta{reversed}1$ is $+1$ for normal hooks and $-1$ for reversed
+% ones.
+%
+% \item[\cs{g_@@_\meta{name}_code_next_tl}] Finally there is extra code
% (normally empty) that is used on the next invocation of the hook
% (and then deleted). This can be used to define some special
-% behavior for a single occasion from within the document.
+% behavior for a single occasion from within the document. This token
+% list is called |code_next| rather than |next_code| because otherwise
+% a hook called \meta{name}|_next| would have its code-token list
+% named \cs[no-index]{g_@@_\meta{name}_code_next_tl}, which would
+% clash with the next code-token list of a hook called \meta{name}.
%
% \end{description}
% \end{macro}
-
-
+%
+%
%
%
% \begin{macro}{\hook_new:n}
@@ -1437,7 +1677,7 @@
% already exists we complain.
% \begin{macrocode}
\hook_if_exist:nTF {#1}
- { \ErrorHookExists }
+ { \msg_error:nnn { hooks } { exists } {#1} }
% \end{macrocode}
% Otherwise we add the hook name to the list of all hooks and
% allocate the necessary data structures for the new hook.
@@ -1465,15 +1705,24 @@
\tl_new:c { g_@@_#1_reversed_tl }
% \end{macrocode}
% The above is all in L3 convention, but we also provide an
-% interface to legacy \LaTeXe{} for use in the current kernel. This
-% is done in a separate macro.
-% \begin{macrocode}
- \@@_provide_legacy_interface:n {#1}
+% interface to legacy \LaTeXe{} hooks of the form \cs{@...hook},
+% e.g., \cs{@begindocumenthook}.
+% there have been a few of them and they have been added to
+% using \cs{g@addto@macro}. If there exists such a macro matching
+% the name of the new hook, i.e.,
+% \verb+\@+\meta{hook-name}\texttt{hook} and it is not empty then
+% we add its contents as a code chunk under the label \texttt{legacy}.
+% \begin{quote}
+% \textbf{Warning: this support will vanish in future releases!}
+% \end{quote}
+%
+% \begin{macrocode}
+ \@@_include_legacy_code_chunk:n {#1}
}
}
% \end{macrocode}
% \end{macro}
-
+%
%
%
% \begin{macro}{\@@_declare:n}
@@ -1488,15 +1737,14 @@
\@@_if_exist:nF {#1}
{
\prop_new:c { g_@@_#1_code_prop }
- \tl_new:c { g_@@_#1_next_code_tl }
- \prop_new:c { g_@@_#1_rules_prop } % only for debugging
+ \tl_new:c { g_@@_#1_code_next_tl }
}
}
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
+%
% \begin{macro}{\hook_new_reversed:n}
%
% Declare a new hook. The default ordering of code chunks is
@@ -1504,11 +1752,16 @@
% \begin{macrocode}
\cs_new_protected:Npn \hook_new_reversed:n #1 {
\hook_new:n {#1}
+% \end{macrocode}
+% If the hook already exists the above will generate an error
+% message, so the next line should be executed (but it is --- too
+% bad).
+% \begin{macrocode}
\tl_gset:cn { g_@@_#1_reversed_tl } { - }
}
% \end{macrocode}
% \end{macro}
-
+%
% \begin{macro}{\hook_new_pair:nn}
% A shorthand for declaring a normal and a (matching) reversed hook in one go.
% \begin{macrocode}
@@ -1517,23 +1770,21 @@
}
% \end{macrocode}
% \end{macro}
-
-
-% \begin{macro}{\@@_provide_legacy_interface:n}
+%
+%
+% \begin{macro}{\@@_include_legacy_code_chunk:n}
% The \LaTeX{} legacy concept for hooks uses with hooks the
% following naming scheme in the code: \cs{@...hook}.
%
-% We follow this convention and insert the hook code using this
-% naming scheme in \LaTeXe{}. At least as long as this code is in a
-% package, some such hooks are already filled with data when we move
-% them over to the new scheme. We therefore insert already existing
-% code under the label \texttt{legacy} into the hook management
-% machinery and then replace the \cs{@...hook} with its counterpart
-% which is \cs{g_@@_\#1_code_tl}.\footnote{This means one extra
-% unnecessary expansion on each invocation in the document but
-% keeps the \LaTeXe{} and the L3 coding side properly separated.}
+% If this macro is not empty we add it under the label
+% \texttt{legacy} to the current hook and then empty it globally.
+% This way packages or classes directly manipulating commands such
+% as \cs{@begindocumenthook} still get their hook data added.
+% \begin{quote}
+% \textbf{Warning: this support will vanish in future releases!}
+% \end{quote}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_provide_legacy_interface:n #1
+\cs_new_protected:Npn \@@_include_legacy_code_chunk:n #1
{
% \end{macrocode}
% If the \pkg{expl3} code is run with checking on then assigning or
@@ -1542,32 +1793,34 @@
% debugging explicitly suspended.
% \begin{macrocode}
\debug_suspend:
+% \end{macrocode}
+% If the macro doesn't exist (which is the usual case) then nothing
+% needs to be done.
+% \begin{macrocode}
\tl_if_exist:cT { @#1hook }
% \end{macrocode}
-% Of course if the hook exists but is still empty, there is no need
-% to add anything under \texttt{legacy} or the current package name.
+% Of course if the legacy hook exists but is empty, there is no need
+% to add anything under \texttt{legacy} the legacy label.
% \begin{macrocode}
{
\tl_if_empty:cF { @#1hook }
{
- \@@_gput_code:nxv {#1}
- { \@@_parse_label_default:Vn \c_novalue_tl { legacy } }
- { @#1hook }
- }
- }
+ \exp_args:Nnnv \@@_hook_gput_code_do:nnn {#1}
+ { legacy } { @#1hook }
% \end{macrocode}
-% We need a global definition in case the declaration is done
-% inside a group (which happens below at the end of the file).
-% This is another reason why need to suspend checking, otherwise
-% \cs{tl_gset:co} would complain about \cs{@...hook} not starting
-% with \cs{g_}.
+% Once added to the hook, we need to clear it otherwise it might
+% get added again later if the hook data gets updated.
% \begin{macrocode}
- \tl_gset:co{@#1hook}{\cs:w g_@@_#1_code_tl\cs_end:}
+ \tl_gclear:c { @#1hook }
+ }
+ }
\debug_resume:
}
% \end{macrocode}
% \end{macro}
%
+%
+%
% \subsection{Parsing a label}
%
% \begin{macro}[EXP]{\@@_parse_label_default:nn,\@@_parse_label_default:Vn}
@@ -1647,10 +1900,10 @@
}
% \end{macrocode}
% \end{macro}
-
-
-
-
+%
+%
+%
+%
% \begin{macro}{\hook_gput_code:nnn}
% \begin{macro}{\@@_gput_code:nnn,\@@_gput_code:nxv,\@@_hook_gput_code_do:nnn}
%
@@ -1667,13 +1920,19 @@
\cs_new_protected:Npn \@@_gput_code:nnn #1 #2 #3
{
% \end{macrocode}
-% First we check if the hook exists.
+% First check if the current \meta{hook}/\meta{label} pair was marked
+% for removal, in which case \cs{@@_unmark_removal:nn} is used to
+% remove that mark (once). This may happen when a package removes
+% code from another package which was not yet loaded: the removal
+% order is stored, and at this stage it is executed by not adding to
+% the hook.
% \begin{macrocode}
\@@_if_marked_removal:nnTF {#1} {#2}
{ \@@_unmark_removal:nn {#1} {#2} }
{
% \end{macrocode}
-% First we check if the hook exists.
+% If no removal is queued, we are free to add. Start by checking if
+% the hook exists.
% \begin{macrocode}
\hook_if_exist:nTF {#1}
% \end{macrocode}
@@ -1691,7 +1950,10 @@
\@@_update_hook_code:n {#1}
}
% \end{macrocode}
-%
+%
+% If the hook does not exist, however, before giving up try to
+% declare it as a generic hook, if its name matches one of the valid
+% patterns.
% \begin{macrocode}
{ \@@_try_declaring_generic_hook:nnn {#1} {#2} {#3} }
}
@@ -1699,20 +1961,21 @@
\cs_generate_variant:Nn \@@_gput_code:nnn { nxv }
% \end{macrocode}
%
-% This macro will unconditionally add a chunk of code to the given hook.
+% This macro will unconditionally add a chunk of code to the given hook.
% \begin{macrocode}
\cs_new_protected:Npn \@@_hook_gput_code_do:nnn #1 #2 #3
{
-% However, first some debugging info if debugging is enabled:
+% \end{macrocode}
+% However, first some debugging info if debugging is enabled:
% \begin{macrocode}
\@@_debug:n{\iow_term:x{****~ Add~ to~
\hook_if_exist:nF {#1} { undeclared~ }
hook~ #1~ (#2)
\on@line\space <-~ \tl_to_str:n{#3}} }
% \end{macrocode}
-% Then try to get the code chunk labeled \verb=#2= from the hook.
-% If there's code already there, then append \verb=#3= to that,
-% otherwise just put \verb=#3=.
+% Then try to get the code chunk labeled \verb=#2= from the hook.
+% If there's code already there, then append \verb=#3= to that,
+% otherwise just put \verb=#3=.
% \begin{macrocode}
\prop_get:cnNTF { g_@@_#1_code_prop } {#2} \l_@@_return_tl
{
@@ -1786,7 +2049,7 @@
\@@_if_file_hook:wTF #1 / / \s_@@_mark
{
\exp_args:Ne \@@_try_declaring_generic_hook_split:nNNnn
- { \exp_args:Ne \@@_file_hook_normalise:n {#1} }
+ { \exp_args:Ne \@@_file_hook_normalize:n {#1} }
}
{ \@@_try_declaring_generic_hook_split:nNNnn {#1} }
}
@@ -1867,16 +2130,16 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}[EXP]{\@@_file_hook_normalise:n}
+% \begin{macro}[EXP]{\@@_file_hook_normalize:n}
% \begin{macro}[EXP]{\@@_strip_double_slash:n,\@@_strip_double_slash:w}
% When a file-specific hook is found, before being declared it is
-% lightly normalized by \cs{@@_file_hook_normalise:n}. The current
+% lightly normalized by \cs{@@_file_hook_normalize:n}. The current
% implementation just replaces two consecutive slashes (|//|) by a
% single one, to cope with simple cases where the user did something
% like \verb|\def\input@path{{./mypath/}}|, in which case a hook would
% have to be \verb|\AddToHook{file/after/./mypath//file.tex}|.
% \begin{macrocode}
-\cs_new:Npn \@@_file_hook_normalise:n #1
+\cs_new:Npn \@@_file_hook_normalize:n #1
{ \@@_strip_double_slash:n {#1} }
\cs_new:Npn \@@_strip_double_slash:n #1
{ \@@_strip_double_slash:w #1 // \s_@@_mark }
@@ -1889,13 +2152,9 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
-
-
-
-
-
+%
% \begin{macro}{\c_@@_generics_prop}
-% Clist holding the generic names. We don't provide any user
+% Property list holding the generic names. We don't provide any user
% interface to this as this is meant to be static.
% \begin{description}
% \item[\texttt{env}]
@@ -1920,17 +2179,7 @@
\prop_const_from_keyval:Nn \c_@@_generics_file_prop {before=,after=}
% \end{macrocode}
% \end{macro}
-
-
-% \begin{macro}{\@@_update_hook_code:n}
-% Before \verb=\begin{document}= this does nothing, in the body it
-% reinitializes the hook code using the altered data.
-% \begin{macrocode}
-\cs_new_eq:NN \@@_update_hook_code:n \use_none:n
-% \end{macrocode}
-% \end{macro}
-
-
+%
% \begin{macro}{\hook_gremove_code:nn}
% \begin{macro}{\@@_gremove_code:nn}
%
@@ -1958,10 +2207,7 @@
% \begin{macrocode}
{
\str_if_eq:nnTF {#2} {*}
- {
- \prop_gclear:c { g_@@_#1_code_prop }
- \clist_gclear:c { g_@@_#1_labels_clist } % for debugging only
- }
+ { \prop_gclear:c { g_@@_#1_code_prop } }
{
% \end{macrocode}
% Check if the label being removed exists in the code pool. If it does,
@@ -1979,6 +2225,12 @@
\hook_if_exist:nT {#1}
{ \@@_update_hook_code:n {#1} }
}
+% \end{macrocode}
+%
+% If the code pool for this hook doesn't exist it means that nothing
+% tried to add to it before, so we just queue this removal order for
+% later.
+% \begin{macrocode}
{ \@@_mark_removal:nn {#1} {#2} }
}
% \end{macrocode}
@@ -1986,26 +2238,18 @@
% \begin{macro}{\@@_gremove_code_do:nn}
% \begin{macrocode}
\cs_new_protected:Npn \@@_gremove_code_do:nn #1 #2
- {
- \prop_gremove:cn { g_@@_#1_code_prop } {#2}
-% \end{macrocode}
-% Removing the dropped label from \verb=\g_@@_#1_labels_clist= is
-% rather tricky, because that clists holds the labels as strings
-% (i.e., not ordinary text which is what we have in \verb=#2=).
-% \begin{macrocode}
- \exp_args:Nco \clist_gremove_all:Nn
- { g_@@_#1_labels_clist } { \tl_to_str:n {#2} } % for debugging only
- }
+ { \prop_gremove:cn { g_@@_#1_code_prop } {#2} }
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
-
-
%
% \begin{macro}{\@@_mark_removal:nn}
% Marks \meta{label} (\verb=#2=) to be removed from \meta{hook}
-% (\verb=#1=).
+% (\verb=#1=). The number of removals should be fairly small, and
+% \cs{tl_gremove_once:Nx} is fairly efficient even for longer token
+% lists, so we use a single global token list, rather than one for
+% each hook.
% \begin{macrocode}
\cs_new_protected:Npn \@@_mark_removal:nn #1 #2
{
@@ -2044,29 +2288,24 @@
%
% \begin{macro}[rEXP]{\@@_removal_tl:nn}
% Builds a token list with \verb=#1= and \verb=#2= which can only be
-% matched by \verb=#1= and \verb=#2=.
+% matched by \verb=#1= and \verb=#2=. The |&|$_4$ anchors a removal,
+% so that \verb=#1= can't be mistaken by \verb=#2= and vice versa, and
+% the two |$|$_3$ delimit the two arguments
% \begin{macrocode}
\cs_new:Npn \@@_removal_tl:nn #1 #2
{ & \tl_to_str:n {#2} $ \tl_to_str:n {#1} $ }
% \end{macrocode}
% \end{macro}
-
-
-
-
-%
%
%
% \begin{macro}{
-% \g_@@_??_rules_prop,
% \g_@@_??_code_prop,
% \g_@@_??_code_tl,
% \g_@@_??_reversed_tl,
% }
%
-% Default rules applying to all hooks are stored in this property
-% list. Initially it simply used an empty ``label'' name (not two
-% question marks). This was a bit unfortunate, because then
+% Initially these variables simply used an empty ``label'' name (not
+% two question marks). This was a bit unfortunate, because then
% \texttt{l3doc} complains about \verb=__= in the middle of a
% command name when trying to typeset the documentation. However
% using a ``normal'' name such as \texttt{default} has the
@@ -2079,7 +2318,6 @@
% \cs{g_@@_??_code_tl} isn't used, but it has to be defined to trick
% the code into thinking that \verb=??= is actually a hook.
% \begin{macrocode}
-\prop_new:c {g_@@_??_rules_prop}
\prop_new:c {g_@@_??_code_prop}
\prop_new:c {g_@@_??_code_tl}
% \end{macrocode}
@@ -2093,53 +2331,6 @@
\tl_new:c {g_@@_??_reversed_tl}
% \end{macrocode}
% \end{macro}
-
-
-
-% \begin{macro}{\@@_debug_gset_rule:nnnn}
-%
-% \fmi{this needs cleanup and docu correction!}
-%
-% With
-% \cs{@@_debug_gset_rule:nnnn}\Arg{hook}\Arg{label1}\Arg{relation}\Arg{label2}
-% a relation is defined between the two code labels for the given
-% \meta{hook}. The special hook \texttt{??} stands for \emph{any}
-% hook describing a default rule.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_debug_gset_rule:nnnn #1#2#3#4
- {
-% \end{macrocode}
-% If so we drop any existing rules with the two labels (in case
-% there are any).
-% \begin{macrocode}
- \prop_gremove:cn{g_@@_#1_rules_prop}{#2|#4}
- \prop_gremove:cn{g_@@_#1_rules_prop}{#4|#2}
-% \end{macrocode}
-% Then we add the new one (normalizing the input a bit, e.g., we
-% always use \texttt{before} and not \texttt{after} and
-% instead reorder the labels):
-% \begin{macrocode}
- \str_case_e:nnF {#3}
- {
- {before} { \prop_gput:cnn {g_@@_#1_rules_prop}{#2|#4}{<} }
- {after} { \prop_gput:cnn {g_@@_#1_rules_prop}{#4|#2}{<} }
-% \end{macrocode}
-% More special rule types \ldots
-% \begin{macrocode}
- {incompatible-error} { \prop_gput:cnn {g_@@_#1_rules_prop}{#2|#4}{xE} }
- {incompatible-warning} { \prop_gput:cnn {g_@@_#1_rules_prop}{#2|#4}{xW} }
- {removes} { \prop_gput:cnn {g_@@_#1_rules_prop}{#2|#4}{->} }
-% \end{macrocode}
-% Undo a setting:
-% \begin{macrocode}
- {unrelated}{ \prop_gremove:cn {g_@@_#1_rules_prop}{#2|#4}
- \prop_gremove:cn {g_@@_#1_rules_prop}{#4|#2} }
- }
- { \ERRORunknownrule }
- }
-% \end{macrocode}
-% \end{macro}
-%
%
% \subsection{Setting rules for hooks code}
%
@@ -2188,9 +2379,9 @@
{#1} {#2} {#4}
\@@_update_hook_code:n {#1}
}
- { \ERRORunknownrule }
+ { \msg_error:nnnnnn { hooks } { unknown-rule }
+ {#1} {#2} {#3} {#4} }
\debug_resume:
- \@@_debug_gset_rule:nnnn {#1} {#2} {#3} {#4} % for debugging
}
% \end{macrocode}
% \end{macro}
@@ -2200,10 +2391,10 @@
% \@@_rule_<_gset:nnn, \@@_rule_>_gset:nnn}
% Then we add the new rule. We need to normalize the rules here to
% allow for faster processing later. Given a pair of labels
-% $l_A$ and $l_B$, the rule $l_A>l_B$ is the same as $l_B<l_A$\fmi{}
-% said differently. But normalizing the
-% forms of the rule to a single representation, say, $l_B<l_A$, then
-% the time spent looking for the rules later is considerably reduced.
+% $l_A$ and $l_B$, the rule $l_A>l_B$ is the same as $l_B<l_A$
+% only presented differently. But by normalizing the
+% forms of the rule to a single representation, say, $l_B<l_A$, reduces
+% the time spent looking for the rules later considerably.
%
% Here we do that normalization by using \cs[no-index]{(pdf)strcmp} to
% lexically sort labels $l_A$ and $l_B$ to a fixed order. This order
@@ -2232,11 +2423,11 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_rule_removes_gset:nnn}
+% \begin{macro}{\@@_rule_voids_gset:nnn}
% This rule removes (clears, actually) the code from label |#3| if
% label |#2| is in the hook |#1|.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_rule_removes_gset:nnn #1#2#3
+\cs_new_protected:Npn \@@_rule_voids_gset:nnn #1#2#3
{
\tl_gset:cx { g_@@_#1_rule_ \@@_label_pair:nn {#2} {#3} _tl }
{ \@@_label_ordered:nnTF {#2} {#3} { -> } { <- } }
@@ -2299,7 +2490,7 @@
% \end{macro}
%
% \begin{macro}[EXP]{\@@_if_label_case:nnnnn}
-% To avoid doing the string comparison twice in \cs{@@_initialize_single:NNNNn}
+% To avoid doing the string comparison twice in \cs{@@_initialize_single:NNNn}
% (once with \cs{str_if_eq:nn} and again with \cs{@@_label_ordered:nn}),
% we use a three-way branching macro that will compare |#1| and |#2|
% and expand to \cs{use_i:nnn} if they are equal, \cs{use_ii:nn} if
@@ -2314,8 +2505,15 @@
}
% \end{macrocode}
% \end{macro}
-
-
+%
+% \begin{macro}{\@@_update_hook_code:n}
+% Before \verb=\begin{document}= this does nothing, in the body it
+% reinitializes the hook code using the altered data.
+% \begin{macrocode}
+\cs_new_eq:NN \@@_update_hook_code:n \use_none:n
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@@_initialize_all:}
% Initialize all known hooks (at \verb=\begin{document}=), i.e.,
% update the fast execution token lists to hold the necessary code
@@ -2349,7 +2547,6 @@
\exp_not:v {g_@@_##1_code_tl}~ }
}
}
-%
% \end{macrocode}
% After all hooks are initialized we change the ``use'' to just
% call the hook code and not initialize it (as it was done in the
@@ -2360,9 +2557,9 @@
}
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
+%
% \begin{macro}{\@@_initialize_hook_code:n}
% Initializing or reinitializing the fast execution hook code. In
% the preamble this is selectively done in case a hook gets used
@@ -2373,12 +2570,20 @@
\@@_debug:n{ \iow_term:x{^^JUpdate~ code~ for~ hook~
'#1' \on@line :^^J} }
% \end{macrocode}
-% This does the sorting and the updates. If there aren't any code
+% This does the sorting and the updates.
+% First thing we do is to check if a legacy hook macro exists and
+% if so we add it to the hook under the label \texttt{legacy}. This
+% might make the hook non-empty so we have to do this before
+% the then following test.
+% \begin{macrocode}
+ \@@_include_legacy_code_chunk:n {#1}
+% \end{macrocode}
+% If there aren't any code
% chunks for the current hook, there is no point in even starting
% the sorting routine so we make a quick test for that and in that
% case just update \cs{g_@@_\meta{hook}_code_tl} to hold the next
% code. If there are code chunks we call
-% \cs{@@_initialize_single:NNNNn} and pass to it ready made csnames
+% \cs{@@_initialize_single:NNNn} and pass to it ready made csnames
% as they are needed several times inside. This way we save a bit
% on processing time if we do that up front.
% \begin{macrocode}
@@ -2386,7 +2591,7 @@
{
\prop_if_empty:cTF {g_@@_#1_code_prop}
{ \tl_gset:co {g_@@_#1_code_tl}
- {\cs:w g_@@_#1_next_code_tl \cs_end: } }
+ {\cs:w g_@@_#1_code_next_tl \cs_end: } }
{
% \end{macrocode}
% By default the algorithm sorts the code chunks and then saves the
@@ -2403,38 +2608,39 @@
\cs_set_eq:NN \@@_clist_gput:NV \clist_gput_right:NV }
% \end{macrocode}
%
-% When sorting, some relations (namely \verb|->| \verb|<-|) need to
+% When sorting, some relations (namely \verb|voids|) need to
% act destructively on the code property lists to remove code that
-% shouldn't appear in the sorted hook token list.
+% shouldn't appear in the sorted hook token list, so we temporarily
+% save the old code property list so that it can be restored later.
% \begin{macrocode}
- \prop_gset_eq:Nc \g_@@_code_temp_prop { g_@@_#1_code_prop }
- \@@_initialize_single:ccccn
- { g_@@_#1_code_prop } { g_@@_#1_code_tl }
- { g_@@_#1_next_code_tl } { g_@@_#1_labels_clist }
- {#1}
- \prop_gset_eq:cN { g_@@_#1_code_prop } \g_@@_code_temp_prop
+ \prop_set_eq:Nc \l_@@_work_prop { g_@@_#1_code_prop }
+ \@@_initialize_single:cccn
+ { g_@@_#1_code_tl } { g_@@_#1_code_next_tl }
+ { g_@@_#1_labels_clist } {#1}
% \end{macrocode}
% For debug display we want to keep track of those hooks that
% actually got code added to them, so we record that in plist. We
% use a plist to ensure that we record each hook name only once,
-% i.e., we are only interested in storing the keys and the value is arbitrary
+% i.e., we are only interested in storing the keys and the value is
+% arbitrary.
% \begin{macrocode}
- \@@_debug:n{ \exp_args:NNx \prop_gput:Nnn \g_@@_used_prop {#1}{} }
+ \@@_debug:n{ \exp_args:NNx \prop_gput:Nnn
+ \g_@@_used_prop {#1}{} }
}
}
}
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\g_@@_used_prop}
% All hooks that receive code (for use in debugging display).
% \begin{macrocode}
\prop_new:N\g_@@_used_prop
% \end{macrocode}
% \end{macro}
-
-
+%
+%
%
% \begin{macro}[EXP]{\@@_tl_csname:n,\@@_seq_csname:n}
% It is faster to pass a single token and expand it when necessary
@@ -2446,7 +2652,7 @@
% \end{macrocode}
% \end{macro}
%
-
+%
%
%
% \begin{macro}{\l_@@_labels_seq,\l_@@_labels_int,\l_@@_front_tl,
@@ -2486,11 +2692,11 @@
%
% \end{itemize}
% \end{macro}
-
-
-% \begin{macro}{\@@_initialize_single:NNNNn,\@@_initialize_single:ccccn}
%
-% \cs{@@_initialize_single:NNNNn} implements the sorting of the code
+%
+% \begin{macro}{\@@_initialize_single:NNNn,\@@_initialize_single:cccn}
+%
+% \cs{@@_initialize_single:NNNn} implements the sorting of the code
% chunks for a hook and saves the result in the token list for fast
% execution (\verb=#3=). The arguments are \meta{hook-code-plist},
% \meta{hook-code-tl}, \meta{hook-next-code-tl},
@@ -2506,7 +2712,7 @@
% the moment: a label can't be equal to the number 0! \fmi{Needs
% checking for, just in case}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_initialize_single:NNNNn #1#2#3#4#5 {
+\cs_new_protected:Npn \@@_initialize_single:NNNn #1#2#3#4 {
% \end{macrocode}
%
% \begin{macrocode}
@@ -2520,7 +2726,7 @@
%
% Store the name of the hook:
% \begin{macrocode}
- \tl_set:Nn \l_@@_cur_hook_tl {#5}
+ \tl_set:Nn \l_@@_cur_hook_tl {#4}
% \end{macrocode}
%
% We loop over the property list holding the code and record all
@@ -2530,20 +2736,18 @@
% to ensure that labels named |front|, |rear|, |labels|, or |return|
% don't interact with our code.
% \begin{macrocode}
- \prop_map_inline:Nn #1
+ \prop_map_inline:Nn \l_@@_work_prop
{
\int_incr:N \l_@@_labels_int
\seq_put_right:Nn \l_@@_labels_seq {##1}
- \tl_set:cn { \@@_tl_csname:n {##1} }{0} % the counter k for number of
- % j before k rules
- \seq_clear_new:c { \@@_seq_csname:n {##1} } % sequence of successors to k
- % i.e., k before j rules (stores
- % the names of the j's)
+ \tl_set:cn { \@@_tl_csname:n {##1} }{0}
+ \seq_clear_new:c { \@@_seq_csname:n {##1} }
}
% \end{macrocode}
% Steps T2 and T3: Sort the relevant rules into the data structure\ldots
%
-% This loop constitutes a square matrix of the labels in |#1| in the
+% This loop constitutes a square matrix of the labels in
+% \cs{l_@@_work_prop} in the
% vertical and the horizontal directions. However since the rule
% $l_A\meta{rel}l_B$ is the same as $l_B\meta{rel}^{-1}l_A$ we can cut
% the loop short at the diagonal of the matrix (\emph{i.e.}, when
@@ -2554,29 +2758,29 @@
% \cs{@@_apply_label_pair:nnn}, which takes the properly-ordered pair
% of labels as argument.
% \begin{macrocode}
- \prop_map_inline:Nn #1
+ \prop_map_inline:Nn \l_@@_work_prop
{
- \prop_map_inline:Nn #1
+ \prop_map_inline:Nn \l_@@_work_prop
{
\@@_if_label_case:nnnnn {##1} {####1}
{ \prop_map_break: }
{ \@@_apply_label_pair:nnn {##1} {####1} }
{ \@@_apply_label_pair:nnn {####1} {##1} }
- {#5}
+ {#4}
}
}
% \end{macrocode}
% Take a breath and take a look at the data structures that have
% been set up:
% \begin{macrocode}
- \@@_debug:n { \@@_debug_label_data:N #1 }
+ \@@_debug:n { \@@_debug_label_data:N \l_@@_work_prop }
% \end{macrocode}
%
%
% Step T4:
% \begin{macrocode}
\tl_set:Nn \l_@@_rear_tl { 0 }
- \tl_set:cn { \@@_tl_csname:n { 0 } } { 0 } % really {l_@@_label_ \l_@@_rear_tl _tl}
+ \tl_set:cn { \@@_tl_csname:n { 0 } } { 0 }
\seq_map_inline:Nn \l_@@_labels_seq
{
\int_compare:nNnT { \cs:w \@@_tl_csname:n {##1} \cs_end: } = 0
@@ -2589,8 +2793,8 @@
% \end{macrocode}
%
% \begin{macrocode}
- \tl_gclear:N #2
- \clist_gclear:N #4
+ \tl_gclear:N #1
+ \clist_gclear:N #3
% \end{macrocode}
%
% The whole loop combines steps T5--T7:
@@ -2601,12 +2805,12 @@
% This part is step T5:
% \begin{macrocode}
\int_decr:N \l_@@_labels_int
- \prop_get:NVN #1 \l_@@_front_tl \l_@@_return_tl
- \@@_tl_gput:NV #2 \l_@@_return_tl
+ \prop_get:NVN \l_@@_work_prop \l_@@_front_tl \l_@@_return_tl
+ \@@_tl_gput:NV #1 \l_@@_return_tl
% \end{macrocode}
%
% \begin{macrocode}
- \@@_clist_gput:NV #4 \l_@@_front_tl
+ \@@_clist_gput:NV #3 \l_@@_front_tl
\@@_debug:n{ \iow_term:x{Handled~ code~ for~ \l_@@_front_tl} }
% \end{macrocode}
%
@@ -2617,8 +2821,11 @@
\seq_map_inline:cn { \@@_seq_csname:n { \l_@@_front_tl } }
{
\tl_set:cx { \@@_tl_csname:n {##1} }
- { \int_eval:n { \cs:w \@@_tl_csname:n {##1} \cs_end: - 1 } }
- \int_compare:nNnT { \cs:w \@@_tl_csname:n {##1} \cs_end: } = 0
+ { \int_eval:n
+ { \cs:w \@@_tl_csname:n {##1} \cs_end: - 1 }
+ }
+ \int_compare:nNnT
+ { \cs:w \@@_tl_csname:n {##1} \cs_end: } = 0
{
\tl_set:cn { \@@_tl_csname:n { \l_@@_rear_tl } } {##1}
\tl_set:Nn \l_@@_rear_tl {##1}
@@ -2627,7 +2834,8 @@
% \end{macrocode}
% and step T7:
% \begin{macrocode}
- \tl_set_eq:Nc \l_@@_front_tl { \@@_tl_csname:n { \l_@@_front_tl } }
+ \tl_set_eq:Nc \l_@@_front_tl
+ { \@@_tl_csname:n { \l_@@_front_tl } }
% \end{macrocode}
%
% This is step T8: If we haven't moved the code for all labels
@@ -2644,15 +2852,15 @@
% This is not really the information one needs in the error case
% but will do for now \ldots \fmi{fix}
% \begin{macrocode}
- \@@_debug_label_data:N #1
+ \@@_debug_label_data:N \l_@@_work_prop
\iow_term:x{====================}
}
% \end{macrocode}
-% After we have added all hook code to \verb=#2= we finish it off
+% After we have added all hook code to \verb=#1= we finish it off
% with adding extra code for a one time execution. That is stored
-% in \verb=#3= but is normally empty.
+% in \verb=#2= but is normally empty.
% \begin{macrocode}
- \tl_gput_right:Nn #2 {#3}
+ \tl_gput_right:Nn #1 {#2}
% \end{macrocode}
%
% \begin{macrocode}
@@ -2661,12 +2869,12 @@
% \end{macrocode}
%
% \begin{macrocode}
-\cs_generate_variant:Nn \@@_initialize_single:NNNNn {cccc}
+\cs_generate_variant:Nn \@@_initialize_single:NNNn {ccc}
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
+%
% \begin{macro}{\@@_tl_gput:NV,\@@_clist_gput:NV}
% These append either on the right (normal hook) or on the left
% (reversed hook). This is setup up in
@@ -2676,8 +2884,8 @@
\cs_new:Npn \@@_clist_gput:NV {\ERROR}
% \end{macrocode}
% \end{macro}
-
-
+%
+%
%
% \begin{macro}{\@@_apply_label_pair:nnn,\@@_label_if_exist_apply:nnnF}
%
@@ -2732,10 +2940,10 @@
}
% \end{macrocode}
% \end{macro}
-
-
-
-
+%
+%
+%
+%
% \begin{macro}{\@@_apply_rule:nnn}
% This is the code executed in steps T2 and T3 while looping through
% the matrix This is part of step T3. We are about to apply the next
@@ -2798,13 +3006,15 @@
%
% \begin{macro}{\@@_apply_rule_->:nnn,\@@_apply_rule_<-:nnn}
% If we see \texttt{\detokenize{->}} we have to drop code for label
-% \verb=#3= and carry on. We could do a little better and trop
+% \verb=#3= and carry on. We could do a little better and drop
% everything for that label since it doesn't matter where we sort
% in the empty code. However that would complicate the algorithm a
-% lot with little gain. So we still unnecessarily try to sort it in
-% and depending on the rules that might result in a loop that is
-% otherwise resolved. If that turns out to be a real issue, we can
-% improve the code.
+% lot with little gain.\footnote{This also hase the advantage that
+% the result of the sorting doesn't change which might otherwise
+% (for unrelated chunks) if we aren't careful.} So we still
+% unnecessarily try to sort it in and depending on the rules that
+% might result in a loop that is otherwise resolved. If that turns
+% out to be a real issue, we can improve the code.
%
% Here the code is removed from \cs{l_@@_cur_hook_tl} rather than
% \verb=#3= because the latter may be \verb=??=, and the default
@@ -2817,9 +3027,10 @@
{
\@@_msg_pair_found:nnn {#1} {#2} {#3}
\iow_term:x{--->~ Drop~ '#2'~ code~ from~
- \iow_char:N \\ g_@@_ \l_@@_cur_hook_tl _code_prop ~ because~ of~ '#1' }
+ \iow_char:N \\ g_@@_ \l_@@_cur_hook_tl _code_prop ~
+ because~ of~ '#1' }
}
- \prop_gput:cnn { g_@@_ \l_@@_cur_hook_tl _code_prop } {#2} { }
+ \prop_put:Nnn \l_@@_work_prop {#2} { }
}
\cs_new_protected:cpn { @@_apply_rule_<-:nnn } #1#2#3
{
@@ -2827,13 +3038,14 @@
{
\@@_msg_pair_found:nnn {#1} {#2} {#3}
\iow_term:x{--->~ Drop~ '#1'~ code~ from~
- \iow_char:N \\ g_@@_ \l_@@_cur_hook_tl _code_prop ~ because~ of~ '#2' }
+ \iow_char:N \\ g_@@_ \l_@@_cur_hook_tl _code_prop ~
+ because~ of~ '#2' }
}
- \prop_gput:cnn { g_@@_ \l_@@_cur_hook_tl _code_prop } {#1} { }
+ \prop_put:Nnn \l_@@_work_prop {#1} { }
}
% \end{macrocode}
% \end{macro}
-
+%
% \begin{macro}{
% \@@_apply_-rule_<:nnn,
% \@@_apply_-rule_>:nnn,
@@ -2851,27 +3063,28 @@
\cs_new_eq:cc { @@_apply_-rule_xW:nnn } { @@_apply_rule_xW:nnn }
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\@@_msg_pair_found:nnn}
% A macro to avoid moving this many tokens around.
% \begin{macrocode}
\cs_new_protected:Npn \@@_msg_pair_found:nnn #1#2#3
{
\iow_term:x{~ \str_if_eq:nnTF {#3} {??} {default} {~normal} ~
- rule~ \@@_label_pair:nn {#1} {#2}:~
- \use:c { g_@@_#3_rule_ \@@_label_pair:nn {#1} {#2} _tl } ~ found}
+ rule~ \@@_label_pair:nn {#1} {#2}:~
+ \use:c { g_@@_#3_rule_ \@@_label_pair:nn {#1} {#2} _tl } ~
+ found}
}
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\@@_debug_label_data:N}
%
% \begin{macrocode}
\cs_new_protected:Npn \@@_debug_label_data:N #1 {
\iow_term:x{Code~ labels~ for~ sorting:}
- \iow_term:x{~ \seq_use:Nnnn\l_@@_labels_seq {~and~}{,~}{~and~} } % fix name!
+ \iow_term:x{~ \seq_use:Nnnn\l_@@_labels_seq {~and~}{,~}{~and~} }
\iow_term:x{^^J Data~ structure~ for~ label~ rules:}
\prop_map_inline:Nn #1
{
@@ -2883,9 +3096,9 @@
}
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
+%
% \begin{macro}{\hook_log:n}
% This writes out information about the hook given in its argument
% onto the terminal and the \texttt{.log} file.
@@ -2897,6 +3110,7 @@
}
\cs_new_protected:Npn \@@_log:n #1
{
+ \@@_preamble_hook:n {#1}
\iow_term:x{^^JThe~ hook~ '#1':}
% \end{macrocode}
%
@@ -2917,26 +3131,42 @@
% \begin{macrocode}
\iow_term:x{~Extra~ code~ next~ invocation:}
\iow_term:x{\@spaces
- \tl_if_empty:cTF { g_@@_#1_next_code_tl }
- {---} {->~ \str_use:c{g_@@_#1_next_code_tl} } }
+ \tl_if_empty:cTF { g_@@_#1_code_next_tl }
+ {---}
+% \end{macrocode}
+% If the token list is not empty we want to display it but without
+% the first tokens (the code to clear itself) so we call a helper
+% command to get rid of them.
+% \begin{macrocode}
+ {->~ \exp_args:Nv
+ \@@_log_next_code:n {g_@@_#1_code_next_tl} } }
% \end{macrocode}
%
-% \fmi{This is currently only displaying the local rules, but it
-% should also show the matching global rules!}
-%
+% Loop through the rules in a hook and for every rule found, print it.
+% If no rule is there, print |---|. The boolean \cs{l_@@_tmpa_bool}
+% here indicates if the hook has no rules.
% \begin{macrocode}
- \iow_term:x{~Rules:}
- \prop_if_empty:cTF {g_@@_#1_rules_prop}
- { \iow_term:x{\@spaces ---} }
- { \prop_map_inline:cn {g_@@_#1_rules_prop}
- { \iow_term:x{\@spaces ##1~ with~ relation~ ##2} }
+ \iow_term:x { ~Rules: }
+ \bool_set_true:N \l_@@_tmpa_bool
+ \@@_list_rules:nn {#1}
+ {
+ \bool_set_false:N \l_@@_tmpa_bool
+ \iow_term:x
+ {
+ \@spaces ##2~ with~
+ \str_if_eq:nnT {##3} {??} { default~ }
+ relation~ ##1 }
}
+ \bool_if:NT \l_@@_tmpa_bool
+ { \iow_term:x { \@spaces --- } }
% \end{macrocode}
%
% \begin{macrocode}
- \hook_if_exist:nT {#1}
+ \bool_lazy_and:nnT
+ { \hook_if_exist_p:n {#1} }
+ { ! \hook_if_empty_p:n {#1} }
{ \iow_term:x { ~Execution~ order
- \prop_if_empty:cTF {g_@@_#1_rules_prop}
+ \bool_if:NTF \l_@@_tmpa_bool
{ \@@_if_reversed:nT {#1}
{ ~ (after~ reversal) }
}
@@ -2944,30 +3174,97 @@
\@@_if_reversed:nT {#1} {reversal~ and~}
applying~ rules)
}
- :
+ :
}
- \iow_term:x { \@spaces
- \clist_if_empty:cTF{g_@@_#1_labels_clist}
- {not~ set~ yet}
- { \clist_use:cnnn {g_@@_#1_labels_clist}
- { ,~ } { ,~ } { ,~ } }
- }
+ \iow_term:x
+ { \@spaces \clist_use:cn {g_@@_#1_labels_clist} { ,~ } }
}
}
{ \iow_term:n { ~The~hook~is~empty. } }
\iow_term:n { }
}
% \end{macrocode}
-%
+%
+% To display the code for next invocation only (i.e., from
+% \cs{AddToHookNext} we have to remove the first two tokens at the
+% front which are \cs{tl_gclear:N} and the token list to clear.
+% \begin{macrocode}
+\cs_new:Npn \@@_log_next_code:n #1 {
+ \exp_args:No \tl_to_str:n {\use_none:nn #1}
+}
+% \end{macrocode}
% \end{macro}
-
-
-
-% \subsection{Specifying code for next invocation}
%
+% \begin{macro}{\@@_list_rules:nn}
+% \begin{macro}{\@@_list_one_rule:nnn,\@@_list_if_rule_exists:nnnF}
+% This macro takes a \meta{hook} and an \meta{inline function} and
+% loops through each pair of \meta{labels} in the \meta{hook}, and if
+% there is a relation between this pair of \meta{labels}, the
+% \meta{inline function} is executed with |#1|${}={}$\meta{relation},
+% |#2|${}={}$\meta{label_1}\verb=|=\meta{label_2},
+% and |#3|${}={}$\meta{hook} (the latter may be the argument |#1| to
+% \cs{@@_list_rules:nn}, or |??| if it is a default rule).
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_list_rules:nn #1 #2
+ {
+ \cs_set_protected:Npn \@@_tmp:w ##1 ##2 ##3 {#2}
+ \prop_map_inline:cn { g_@@_#1_code_prop }
+ {
+ \prop_map_inline:cn { g_@@_#1_code_prop }
+ {
+ \@@_if_label_case:nnnnn {##1} {####1}
+ { \prop_map_break: }
+ { \@@_list_one_rule:nnn {##1} {####1} }
+ { \@@_list_one_rule:nnn {####1} {##1} }
+ {#1}
+ }
+ }
+ }
+% \end{macrocode}
%
+% These two are quite similar to \cs{@@_apply_label_pair:nnn} and
+% \cs{@@_label_if_exist_apply:nnnF}, respectively, but rather than
+% applying the rule, they pass it to the \meta{inline function}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_list_one_rule:nnn #1#2#3
+ {
+ \@@_list_if_rule_exists:nnnF {#1} {#2} {#3} { }
+ { \@@_list_if_rule_exists:nnnF {#1} {#2} { ?? } { } }
+ }
+\cs_new_protected:Npn \@@_list_if_rule_exists:nnnF #1#2#3
+ {
+ \if_cs_exist:w g_@@_ #3 _rule_ #1 | #2 _tl \cs_end:
+ \exp_args:Nv \@@_tmp:w
+ { g_@@_ #3 _rule_ #1 | #2 _tl } { #1 | #2 } {#3}
+ \fi:
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
%
+% \begin{macro}{\@@_debug_print_rules:n}
+% A shorthand for debugging that prints similar to \cs{prop_show:N}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_debug_print_rules:n #1
+ {
+ \iow_term:n { The~hook~#1~contains~the~rules: }
+ \cs_set_protected:Npn \@@_tmp:w ##1
+ {
+ \@@_list_rules:nn {#1}
+ {
+ \iow_term:x
+ {
+ > ##1 {####2} ##1 => ##1 {####1}
+ \str_if_eq:nnT {####3} {??} { ~(default) }
+ }
+ }
+ }
+ \exp_args:No \@@_tmp:w { \use:nn { ~ } { ~ } }
+ }
+% \end{macrocode}
+% \end{macro}
%
+% \subsection{Specifying code for next invocation}
%
% \begin{macro}{\hook_gput_next_code:nn}
%
@@ -2984,10 +3281,29 @@
{ \@@_gput_next_do:nn {#1} {#2} }
{ \@@_try_declaring_generic_next_hook:nn {#1} {#2} }
}
-\cs_new_protected:Npn \@@_gput_next_do:nn #1 #2
+\cs_new_protected:Npn \@@_gput_next_do:nn #1
{
- \tl_gput_right:cn { g_@@_#1_next_code_tl }
- { #2 \tl_gclear:c { g_@@_#1_next_code_tl } }
+ \exp_args:Nc \@@_gput_next_do:Nnn
+ { g_@@_#1_code_next_tl } {#1}
+ }
+% \end{macrocode}
+% First check if the ``next code'' token list is empty: if so we need
+% to add a \cs{tl_gclear:c} to clear it, so the code lasts for one
+% usage only. The token list is cleared early so that nested usages
+% don't get lost. \cs{tl_gclear:c} is used instead of
+% \cs{tl_gclear:N} in case the hook is used in an expansion-only
+% context, so the token list doesn't expand before \cs{tl_gclear:N}:
+% that would make an infinite loop. Also in case the main code token
+% list is empty, the hook code has to be updated to add the next
+% execution token list.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_gput_next_do:Nnn #1 #2
+ {
+ \tl_if_empty:cT { g_@@_#2_code_tl }
+ { \@@_update_hook_code:n {#2} }
+ \tl_if_empty:NT #1
+ { \tl_gset:Nn #1 { \tl_gclear:c { g_@@_#2_code_next_tl } } }
+ \tl_gput_right:Nn #1
}
% \end{macrocode}
% \end{macro}
@@ -3069,7 +3385,7 @@
\@@_if_file_hook:wTF #1 / / \s_@@_mark
{
\exp_args:Ne \@@_if_exist_use:n
- { \exp_args:Ne \@@_file_hook_normalise:n {#1} }
+ { \exp_args:Ne \@@_file_hook_normalize:n {#1} }
}
{ \@@_if_exist_use:n {#1} } % file/ generic hook (e.g. file/before)
}
@@ -3102,7 +3418,7 @@
}
% \end{macrocode}
% \end{macro}
-
+%
% \subsection{Querying a hook}
%
% Simpler data types, like token lists, have three possible states; they
@@ -3129,7 +3445,7 @@
% Test if a hook is empty (that is, no code was added to that hook).
% A hook being empty means that \emph{both} its
% \cs[no-index]{g_@@_\meta{hook}_code_prop} and its
-% \cs[no-index]{g_@@_\meta{hook}_next_code_tl} are empty.
+% \cs[no-index]{g_@@_\meta{hook}_code_next_tl} are empty.
% \begin{macrocode}
\prg_new_conditional:Npnn \hook_if_empty:n #1 { p , T , F , TF }
{
@@ -3137,7 +3453,7 @@
{
\bool_lazy_and:nnTF
{ \prop_if_empty_p:c { g_@@_#1_code_prop } }
- { \tl_if_empty_p:c { g_@@_#1_next_code_tl } }
+ { \tl_if_empty_p:c { g_@@_#1_code_next_tl } }
{ \prg_return_true: }
{ \prg_return_false: }
}
@@ -3145,7 +3461,7 @@
}
% \end{macrocode}
% \end{macro}
-
+%
% \begin{macro}[pTF]{\hook_if_exist:n}
% A canonical way to test if a hook exists. A hook exists if the
% token list that stores the sorted code for that hook,
@@ -3163,7 +3479,7 @@
}
% \end{macrocode}
% \end{macro}
-
+%
% \begin{macro}[pTF]{\@@_if_exist:n}
% An internal check if the hook has already been declared with
% \cs{@@_declare:n}. This means that the hook was already used somehow
@@ -3192,8 +3508,8 @@
}
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\g_@@_execute_immediately_clist}
% List of hooks that from no on should not longer receive code.
% \begin{macrocode}
@@ -3208,21 +3524,57 @@
{
Labels~`#1'~and~`#2'~are~incompatible
\str_if_eq:nnF {#3} {??} { ~in~hook~`#3' } .~
- \int_compare:nNnT {#4} = { 1 }
- { The~code~for~both~labels~will~be~dropped. }
- }
- {
- LaTeX~found~two~incompatible~labels~in~the~same~hook.~
- This~indicates~an~incompatibility~between~packages.
+ \int_compare:nNnTF {#4} = { 1 }
+ { The~ code~ for~ both~ labels~ will~ be~ dropped. }
+ { You~ may~ see~ errors~ later. }
}
+ { LaTeX~found~two~incompatible~labels~in~the~same~hook.~
+ This~indicates~an~incompatibility~between~packages. }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\msg_new:nnnn { hooks } { exists }
+ { Hook~`#1'~ has~ already~ been~ declared. }
+ { There~ already~ exists~ a~ hook~ declaration~ with~ this~
+ name.\\
+ Please~ use~ a~ different~ name~ for~ your~ hook.}
+% \end{macrocode}
+%
+% \begin{macrocode}
\msg_new:nnn { hooks } { empty-label }
{ Empty~code~label~\msg_line_context:.~Using~`#1'~instead. }
% \end{macrocode}
+%
+% \begin{macrocode}
+\msg_new:nnnn { hooks } { unknown-rule }
+ { Unknown~ relationship~ `#3'~
+ between~ labels~ `#2'~ and~ `#4'~
+ \str_if_eq:nnF {#1} {??} { ~in~hook~`#1' }. ~
+ Perhaps~ a~ missspelling?
+ }
+ {
+ The~ relation~ used~ not~ known~ to~ the~ system.~ Allowed~ values~ are~
+ `before'~ or~ `<',~
+ `after'~ or~ `>',~
+ `incompatible-warning',~
+ `incompatible-error',~
+ `voids'~ or~
+ `unrelated'.
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\msg_new:nnn { hooks } { should-not-happen }
+ {
+ ERROR!~This~should~not~happen.~#1 \\
+ Please~report~at~https://github.com/latex3/latex2e.
+ }
+% \end{macrocode}
%
% \subsection{\LaTeXe{} package interface commands}
%
-
-
+%
+%
% \begin{macro}{\NewHook,\NewReversedHook,\NewMirroredHookPair}
% Declaring new hooks \ldots
% \begin{macrocode}
@@ -3231,7 +3583,7 @@
\NewDocumentCommand \NewMirroredHookPair { mm }{ \hook_new_pair:nn {#1}{#2} }
% \end{macrocode}
% \end{macro}
-
+%
% \begin{macro}{\AddToHook}
%
% \begin{macrocode}
@@ -3243,7 +3595,7 @@
}
% \end{macrocode}
% \end{macro}
-
+%
% \begin{macro}{\AddToHookNext}
%
% \begin{macrocode}
@@ -3251,8 +3603,8 @@
{ \hook_gput_next_code:nn {#1} {#2} }
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\RemoveFromHook}
%
% \begin{macrocode}
@@ -3275,32 +3627,15 @@
% default label for the top-level. Since the string \verb|top-level|
% is hardcoded, here this item of the stack is empty. Also, since
% we're in an input level, add \verb|lthooks| to the stack as well.
-% This stack should never go empty, so we loop through \LaTeXe's
-% file name stack, and add empty entries to \cs{g_@@_name_stack_seq}
-% for each item in that stack. The last item is the \verb|top-level|,
-% which also gets an empty entry.
-%
-% Also check for the case we're loading \texttt{lthooks} in the
-% \LaTeXe{} kernel. In that case, \cs{@currname} isn't \verb|lthooks|
-% and just the top-level is added to the stack as an empty entry.
+% This stack should never go empty. An empty entry is added to the
+% stack to account for the \verb|top-level|. The item is empty so
+% that the hard-coded default is used, but a call to
+% \cs{DeclareDefaultHookLabel} will change it if needed.
% \begin{macrocode}
-\str_if_eq:VnTF \@currname { lthooks }
- {
- \seq_gpush:Nn \g_@@_name_stack_seq { lthooks }
- \cs_set_protected:Npn \@@_tmp:w #1 #2 #3
- {
- \quark_if_recursion_tail_stop:n {#1}
- \seq_gput_right:Nn \g_@@_name_stack_seq { }
- \@@_tmp:w
- }
- \exp_after:wN \@@_tmp:w
- \@currnamestack
- \q_recursion_tail \q_recursion_tail
- \q_recursion_tail \q_recursion_stop
- }
- { \seq_gpush:Nn \g_@@_name_stack_seq { } }
+\seq_gpush:Nn \g_@@_name_stack_seq { }
% \end{macrocode}
%
+%
% Two commands keep track of the stack: when a file is input,
% \cs{@@_curr_name_push:n} pushes an (empty by default) label to the
% stack:
@@ -3321,7 +3656,10 @@
\seq_gpop:NN \g_@@_name_stack_seq \l_@@_return_tl
\seq_get:NNTF \g_@@_name_stack_seq \l_@@_return_tl
{ \tl_gset_eq:NN \g_@@_hook_curr_name_tl \l_@@_return_tl }
- { \ERROR_should_not_happen }
+ {
+ \msg_error:nnn { hooks } { should-not-happen }
+ { Tried~to~pop~from~an~empty~default~label~stack. }
+ }
}
% \end{macrocode}
%
@@ -3336,15 +3674,6 @@
\seq_gpop:NN \g_@@_name_stack_seq \l_@@_return_tl
\@@_curr_name_push:n {#1}
}
-% \begin{macrocode}
-%
-% The push and pop macros are injected in \cs{@pushfilename} and
-% \cs{@popfilename} so that they correctly keep track of the label.s
-% \begin{macrocode}
-% TODO! \pho{Properly integrate in the kernel}
-\tl_gput_left:Nn \@pushfilename { \@@_curr_name_push:n { } }
-\tl_gput_left:Nn \@popfilename { \@@_curr_name_pop: }
-% TODO! \pho{Properly integrate in the kernel}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -3352,48 +3681,42 @@
%
%
%
-% \begin{macro}{\UseHook}
+% \begin{macro}{\UseHook,\UseOneTimeHook}
% Avoid the overhead of \pkg{xparse} and its protection that we
% don't want here (since the hook should vanish without trace if empty)!
% \begin{macrocode}
-\newcommand \UseHook { \hook_use:n }
+\newcommand \UseHook { \hook_use:n }
+\newcommand \UseOneTimeHook { \hook_use_once:n }
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\UseOneTimeHook}
%
-% \begin{macrocode}
-\cs_new_protected:Npn \UseOneTimeHook { \hook_use_once:n }
-% \end{macrocode}
-% \end{macro}
-
-
-
+%
% \begin{macro}{\ShowHook}
%
% \begin{macrocode}
\cs_new_protected:Npn \ShowHook { \hook_log:n }
% \end{macrocode}
% \end{macro}
-
-% \begin{macro}{\DebugHookOn,\DebugHookOff}
+%
+% \begin{macro}{\DebugHooksOn,\DebugHooksOff}
%
% \begin{macrocode}
-\cs_new_protected:Npn \DebugHookOn { \hook_debug_on: }
-\cs_new_protected:Npn \DebugHookOff { \hook_debug_off: }
+\cs_new_protected:Npn \DebugHooksOn { \hook_debug_on: }
+\cs_new_protected:Npn \DebugHooksOff { \hook_debug_off: }
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
+%
% \begin{macro}{\DeclareHookRule}
%
% \begin{macrocode}
\NewDocumentCommand \DeclareHookRule { m m m m }
-{ \hook_gset_rule:nnnn {#1}{#2}{#3}{#4} }
+ { \hook_gset_rule:nnnn {#1}{#2}{#3}{#4} }
% \end{macrocode}
% \end{macro}
-
+%
% \begin{macro}{\DeclareDefaultHookRule}
% This declaration is only supported before \verb=\begin{document}=.
% \begin{macrocode}
@@ -3406,7 +3729,7 @@
% \begin{macro}{\ClearHookRule}
% A special setup rule that removes an existing relation.
% Basically {@@_rule_gclear:nnn} plus fixing the property list for debugging.
-% \fmi{Need an L3 interface, or maybe it should get dropped}
+% \fmi{Need an L3 interface, or maybe it should get dropped?}
% \begin{macrocode}
\NewDocumentCommand \ClearHookRule { m m m }
{ \hook_gset_rule:nnnn {#1}{#2}{unrelated}{#3} }
@@ -3414,512 +3737,102 @@
% \end{macro}
%
%
-% \begin{macro}{\IfHookExistTF,\IfHookEmptyTF}
+% \begin{macro}{\IfHookExistsTF,\IfHookEmptyTF}
% \begin{macrocode}
-\NewExpandableDocumentCommand \IfHookExistTF { m }
+\NewExpandableDocumentCommand \IfHookExistsTF { m }
{ \hook_if_exist:nTF {#1} }
\NewExpandableDocumentCommand \IfHookEmptyTF { m }
{ \hook_if_empty:nTF {#1} }
% \end{macrocode}
% \end{macro}
-
-
-
-
-% \begin{macro}{\AtBeginDocument}
-%
-% \begin{macrocode}
-\renewcommand\AtBeginDocument{\AddToHook{begindocument}}
-% \end{macrocode}
-% \end{macro}
-
-% \begin{macro}{\AtEndDocument}
-%
-% \begin{macrocode}
-\renewcommand\AtEndDocument {\AddToHook{enddocument}}
-%\renewcommand\AtEndDocument {\AddToHook{env/document/end}} % alternative impl
-% \end{macrocode}
-%
-% \end{macro}
-
-
-
-% \subsection{Set up existing \LaTeXe{} hooks}
-%
-% As we are in a package calling \cs{NewHook} would label any
-% already set up hook code under the package name, but we want it
-% under the name \hook{top-level} so we pretend that \cs{@currname}
-% is empty.
-% \begin{macrocode}
-\begingroup
- \def\@currname{}
-% \end{macrocode}
-%
-% \begin{macrocode}
- \NewHook{begindocument}
- \NewHook{enddocument}
-% \end{macrocode}
-% We need to initialize the mechanism at \verb=\begin{document}=
-% but obviously before everything else, so we sneak\footnote{This
-% needs to move to \cs{document} directly.}
-% \cs{@@_initialize_all:} into the \LaTeXe{} hook name.
-%
-% We can't use \cs{tl_gput_left:Nn} because that complains about
-% \cs{@begindocumenthook} not starting with \cs{g_} so we do this
-% through the backdoor.
-% \begin{macrocode}
-% \tex_global:D\tl_put_left:Nn \@begindocumenthook
-% {\@@_initialize_all:}
-% \end{macrocode}
-% There aren't many other hooks at the moment:
-% \begin{macrocode}
- \NewHook{rmfamily}
- \NewHook{sffamily}
- \NewHook{ttfamily}
- \NewHook{defaultfamily}
-% \end{macrocode}
-% Not checked what this one does and whether it should be there (or
-% is a real ``hook''.
-% \begin{macrocode}
- \NewHook{documentclass}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\endgroup
-% \end{macrocode}
-%
-%
-%
-% \section{Generic hooks for environments}
-%
-%
-% \begin{macrocode}
-\let\begin\relax % avoid redeclaration message
-% \end{macrocode}
-%
-% \begin{macrocode}
-\DeclareRobustCommand*\begin[1]{%
- \UseHook{env/#1/before}%
- \@ifundefined{#1}%
- {\def\reserved@a{\@latex@error{Environment~#1~undefined}\@eha}}%
- {\def\reserved@a{\def\@currenvir{#1}%
- \edef\@currenvline{\on@line}%
- \@execute@begin@hook{#1}%
- \csname #1\endcsname}}%
- \@ignorefalse
- \begingroup\@endpefalse\reserved@a}
-% \end{macrocode}
-%
-% Before the \cs{document} code is executed we have to first undo
-% the \cs{endgroup} as there should be none for this environment to
-% avoid that changes on top-level unnecessarily go to \TeX's
-% savestack, and we have to initialize all hooks in the hook system.
-% So we need to test for this environment name. But once it has be
-% found all this testing is no longer needed and so we redefine
-% \cs{@execute@begin@hook} to simply use the hook
-% \begin{macrocode}
-\def\@execute@begin@hook #1{%
- \expandafter\ifx\csname #1\endcsname\document
- \endgroup
- \gdef\@execute@begin@hook##1{\UseHook{env/##1/begin}}%
- \@@_initialize_all:
- \@execute@begin@hook{#1}%
-% \end{macrocode}
-% If this is an environment before \verb=\begin{document}= we just
-% run the hook.
-% \begin{macrocode}
- \else
- \UseHook{env/#1/begin}%
- \fi
-}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\@namedef{end~}#1{%
- \UseHook{env/#1/end}%
- \csname end#1\endcsname\@checkend{#1}%
- \expandafter\endgroup\if@endpe\@doendpe\fi
- \UseHook{env/#1/after}%
- \if@ignore\@ignorefalse\ignorespaces\fi}%
-% \end{macrocode}
-% Version that fixes tlb3722 but the change should perhaps be made in
-% \pkg{tabularx} instead.
-% \begin{macrocode}
-\@namedef{end~}#1{%
-\romannumeral
-\IfHookEmptyTF{env/#1/end}%
- {\expandafter\z@}%
- {\z@\UseHook{env/#1/end}}%
-\csname end#1\endcsname\@checkend{#1}%
-\expandafter\endgroup\if@endpe\@doendpe\fi
-\UseHook{env/#1/after}%
-\if@ignore\@ignorefalse\ignorespaces\fi}%
-% \end{macrocode}
-%
-%
%
-% We provide 4 high-level hook interfaces directly, the others only when
-% etoolbox is loaded
-% \begin{macrocode}
-\newcommand\AtBeginEnvironment[1] {\AddToHook{env/#1/begin}}
-\newcommand\AtEndEnvironment[1] {\AddToHook{env/#1/end}}
-\newcommand\BeforeBeginEnvironment[1]{\AddToHook{env/#1/before}}
-\newcommand\AfterEndEnvironment[1] {\AddToHook{env/#1/after}}
-% \end{macrocode}
-%
-%
-%
-%
-%
-%
-%
-%
-%
-%
-%
-% \section{Generic hooks for file loads}
%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
%
+% \subsection{Internal commands needed elsewhere}
%
+% Here we set up a few horrible (but consistent) \LaTeXe{} names to
+% allow for internal commands to be used outside this module. We
+% have to unset the \texttt{@\/@} since we want double ``at'' sign
+% in place of double underscores.
%
-%
-%
-%
-% \section{Hooks in \cs{begin} document}
-%
-% Can't have \texttt{@{}@} notation here as this is \LaTeXe{} code
-% \ldots{} and makes for puzzling errors if the double \texttt{@}
-% signs get substituted.
% \begin{macrocode}
%<@@=>
-\ExplSyntaxOff
-% \end{macrocode}
-%
-% The \hook{begindocument} hook was already set up earlier, here is now
-% the additional one (which was originally from the \pkg{etoolbox}
-% package under the name \texttt{afterpreamble}.
-% \begin{macrocode}
-\NewHook{begindocument/end}
% \end{macrocode}
%
-%
-
-% \begin{macro}{\document}
+% \begin{macro}{\@expl@@@initialize@all@@,
+% \@expl@@@hook@curr@name@push@@n,
+% \@expl@@@hook@curr@name@pop@@}
%
% \begin{macrocode}
-\def\document{%
+\cs_new_eq:NN \@expl@@@initialize@all@@
+ \__hook_initialize_all:
% \end{macrocode}
-% We do cancel the grouping as part of the \cs{begin} handling
-% (this is now done inside \cs{begin} instead) so that the
-% \hook{env/\meta{env}/begin} hook is not hidden inside \cs{begingroup}
-% \texttt{...} \cs{endgroup}.
-% \begin{macrocode}
-% \endgroup
-% \end{macrocode}
-%
-% \begin{macrocode}
- \@kernel@after@env@document@begin
-% \end{macrocode}
-%
-% Added hook to load \textsf{l3backend} code:
-% \begin{macrocode}
- \@expl@sys@load@backend@@
- \ifx\@unusedoptionlist\@empty\else
- \@latex@warning@no@line{Unused global option(s):^^J%
- \@spaces[\@unusedoptionlist]}%
- \fi
- \@colht\textheight
- \@colroom\textheight \vsize\textheight
- \columnwidth\textwidth
- \@clubpenalty\clubpenalty
- \if@twocolumn
- \advance\columnwidth -\columnsep
- \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
- \fi
- \hsize\columnwidth \linewidth\hsize
- \begingroup\@floatplacement\@dblfloatplacement
- \makeatletter\let\@writefile\@gobbletwo
- \global \let \@multiplelabels \relax
- \@input{\jobname.aux}%
- \endgroup
- \if@filesw
- \immediate\openout\@mainaux\jobname.aux
- \immediate\write\@mainaux{\relax}%
- \fi
- \process@table
- \let\glb@currsize\@empty % Force math initialization.
- \normalsize
- \everypar{}%
- \ifx\normalsfcodes\@empty
- \ifnum\sfcode`\.=\@m
- \let\normalsfcodes\frenchspacing
- \else
- \let\normalsfcodes\nonfrenchspacing
- \fi
- \fi
- \ifx\document@default@language\m@ne
- \chardef\document@default@language\language
- \fi
- \@noskipsecfalse
- \let \@refundefined \relax
-% \end{macrocode}
-%
-% \begin{macrocode}
-% \let\AtBeginDocument\@firstofone
-% \@begindocumenthook
- \UseOneTimeHook{begindocument}%
- \@kernel@after@begindocument
-% \end{macrocode}
-%
-% \begin{macrocode}
- \ifdim\topskip<1sp\global\topskip 1sp\relax\fi
- \global\@maxdepth\maxdepth
- \global\let\@begindocumenthook\@undefined
- \ifx\@listfiles\@undefined
- \global\let\@filelist\relax
- \global\let\@addtofilelist\@gobble
- \fi
- \gdef\do##1{\global\let ##1\@notprerr}%
- \@preamblecmds
- \global\let \@nodocument \relax
- \global\let\do\noexpand
-% \end{macrocode}
-%
-% \begin{macrocode}
- \UseOneTimeHook{begindocument/end}%
- \ignorespaces}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\let\@kernel@after@begindocument\@empty
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\@kernel@after@env@document@begin,\@kernel@hook@begindocument}
-%
-% \begin{macrocode}
-\edef \@kernel@after@env@document@begin{%
- \let\expandafter\noexpand\csname
- g__hook_env/document/begin_code_tl\endcsname
- \noexpand\@empty}
-% \end{macrocode}
-% \begin{macrocode}
-\let\@kernel@hook@begindocument\@empty
-% \end{macrocode}
-%
-% \end{macro}
%
-%
-% \section{Hooks in \cs{enddocument}}
-%
-%
-%
-% The \hook{enddocument} hook was already set up earlier, here are now
-% the additional ones:
% \begin{macrocode}
-\NewHook{enddocument/afterlastpage}
-\NewHook{enddocument/afteraux}
-\NewHook{enddocument/info}
-\NewHook{enddocument/end}
+\cs_new_eq:NN \@expl@@@hook@curr@name@push@@n
+ \__hook_curr_name_push:n
% \end{macrocode}
-
-
-
-% \begin{macro}{\enddocument}
-%
-%
-% \begin{macrocode}
-\def\enddocument{%
- \UseHook{enddocument}%
- \@kernel@after@enddocument
- \@checkend{document}%
- \clearpage
- \UseHook{enddocument/afterlastpage}%
- \@kernel@after@enddocument@afterlastpage
- \begingroup
- \if@filesw
- \immediate\closeout\@mainaux
- \let\@setckpt\@gobbletwo
- \let\@newl@bel\@testdef
- \@tempswafalse
- \makeatletter \@@input\jobname.aux
- \fi
- \UseHook{enddocument/afteraux}%
-% \end{macrocode}
-% Next hook is expect to contain only code for writing info
-% messages on the terminal.
-% \begin{macrocode}
- \UseHook{enddocument/info}%
- \endgroup
- \UseHook{enddocument/end}%
- \deadcycles\z@\@@end}
-% \end{macrocode}
-% The two kernel hooks above are used by the shipout code.
-% \begin{macrocode}
-\let\@kernel@after@enddocument\@empty
-\let\@kernel@after@enddocument@afterlastpage\@empty
-% \end{macrocode}
-% \end{macro}
-%
%
-%
-% \begin{macro}{\@enddocument@kernel@warnings}
-%
-% \begin{macrocode}
-\def\@enddocument@kernel@warnings{%
- \ifdim \font@submax >\fontsubfuzz\relax
- \@font@warning{Size substitutions with differences\MessageBreak
- up to \font@submax\space have occurred.\@gobbletwo}%
- \fi
- \@defaultsubs
- \@refundefined
- \if@filesw
- \ifx \@multiplelabels \relax
- \if@tempswa
- \@latex@warning@no@line{Label(s) may have changed.
- Rerun to get cross-references right}%
- \fi
- \else
- \@multiplelabels
- \fi
- \fi
-}
-% \end{macrocode}
-%
% \begin{macrocode}
-\AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
-\AddToHook{enddocument/info}[kernel/warnings]{\@enddocument@kernel@warnings}
-\DeclareHookRule{enddocument/info}{kernel/filelist}{before}{kernel/warnings}
+\cs_new_eq:NN \@expl@@@hook@curr@name@pop@@
+ \__hook_curr_name_pop:
% \end{macrocode}
% \end{macro}
%
-%
-% \subsection{Adjusting at \pkg{atveryend} interfaces}
-%
-% With the new hook management all of \pkg{atveryend} is taken care
-% of.
-%
-% We therefore prevent the package from loading:
-% \begin{macrocode}
-\expandafter\let\csname ver@atveryend.sty\endcsname\fmtversion
-% \end{macrocode}
-%
-%
-% Here are new definitions for its interfaces now pointing to the
-% hooks in \cs{enddocument}
-% \begin{macrocode}
-\newcommand\AfterLastShipout {\AddToHook{enddocument/afterlastpage}}
-\newcommand\AtVeryEndDocument {\AddToHook{enddocument/afteraux}}
-% \end{macrocode}
-% Next one is a bit of a fake, but the result should normally be as
-% expected. If not one needs to add a rule to sort the code chunks
-% in \hook{enddocument/info}.
-% \begin{macrocode}
-\newcommand\AtEndAfterFileList{\AddToHook{enddocument/info}}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\newcommand\AtVeryVeryEnd {\AddToHook{enddocument/end}}
-% \end{macrocode}
-
-% \begin{macro}{\BeforeClearDocument}
-% This one is the only one we don't implement or rather don't have
-% a dedicated hook in the code.
-% \begin{macrocode}
-\ExplSyntaxOn
-\newcommand\BeforeClearDocument[1]
- { \AtEndDocument{#1}
- \@DEPRECATED{BeforeClearDocument \tl_to_str:n{#1}}
- }
-\cs_new:Npn\@DEPRECATED #1
- {\iow_term:x{======~DEPRECATED~USAGE~#1~==========}}
-% \end{macrocode}
%
% \begin{macrocode}
\ExplSyntaxOff
% \end{macrocode}
-% \end{macro}
-%
-% \begin{macrocode}
-%</2ekernel>
-% \end{macrocode}
-
%
-% \section{A package version of the code for testing}
%
-
-% \begin{macrocode}
-%<*package>
-% \end{macrocode}
-
-
-
-% \begin{macrocode}
-\RequirePackage{xparse}
-\ProvidesExplPackage{lthooks}{\lthooksdate}{\lthooksversion}
- {Hook management interface for LaTeX2e}
+% Rolling back here doesn't undefine the interface commands as they
+% may be used in packages without rollback functionality. So we
+% just make them do nothing which may or may not work depending on
+% the code usage.
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\NewHook}{The hook management}%
+%<latexrelease>
+%<latexrelease>\def \NewHook#1{}
+%<latexrelease>\def \NewReversedHook#1{}
+%<latexrelease>\def \NewMirroredHookPair#1#2{}
+%<latexrelease>
+%<latexrelease>\long\def \AddToHook#1#2{}
+%<latexrelease>
+%<latexrelease>\def \AddToHookNext#1{\@gobble@AddToHook@args}
+%<latexrelease>\providecommand\@gobble@AddToHook@args[2][]{}
+%<latexrelease>
+%<latexrelease>\def\RemoveFromHook#1{\@gobble@RemoveFromHook@arg}
+%<latexrelease>\providecommand\@gobble@RemoveFromHook@arg[1][]{}
+%<latexrelease>
+%<latexrelease>\def \UseHook #1{}
+%<latexrelease>\def \UseOneTimeHook #1{}
+%<latexrelease>\def \ShowHook #1{}
+%<latexrelease>\let \DebugHooksOn \@empty
+%<latexrelease>\let \DebugHooksOff\@empty
+%<latexrelease>
+%<latexrelease>\def \DeclareHookRul#1#2#3#4{}
+%<latexrelease>\def \DeclareDefaultHookRule #1#2#3{}
+%<latexrelease>\def \ClearHookRule#1#2#3{}
+% \end{macrocode}
+% If the hook management is not provided we make the test for existence
+% false and the test for empty true in the hope that this is most
+% of the time reasonable. If not a package would need to guard
+% against running in an old kernel.
+% \begin{macrocode}
+%<latexrelease>\def \IfHookExistTF #1#2#3{#3}
+%<latexrelease>\def \IfHookEmptyTF #1#2#3{#2}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
%
%
-% \subsection{Core hook management code (kernel part)}
-%
-% This should run in older formats so we can't use
-% \cs{IfFormatAtLeastTF} right now.
-% \begin{macrocode}
-\@ifl@t@r\fmtversion{2020/10/01}
- {}
- {\input{lthooks.ltx}
- \input{ltshipout.ltx}
- \input{ltfilehook.ltx}
- }
-% \end{macrocode}
-%
-% \subsection{Package options}
-%
-% For now we offer a simple debug option which turns on a lot of
-% strange \cs{typeout} messages, nothing fancy.
-% \begin{macrocode}
-\ExplSyntaxOn
-% \end{macrocode}
-%
-% \begin{macrocode}
-\hook_debug_off:
-\DeclareOption { debug } { \hook_debug_on:
- \shipout_debug_on: }
-% \end{macrocode}
-%
-%
-% For now we offer a simple debug option which turns on a lot of
-% strange \cs{typeout} messages, nothing fancy.
-% \begin{macrocode}
-\shipout_debug_off:
-\DeclareOption { debug-shipout } { \shipout_debug_on: }
-% \end{macrocode}
-%
-% \begin{macrocode}
-\ProcessOptions
-% \end{macrocode}
-%
-%
-% \subsection{Temporarily patching package until changed}
-%
-%
-%
-% \pkg{filehook} support until that package is patched:
-% \begin{macrocode}
-\RequirePackage{filehook-ltx}
-% \end{macrocode}
-%
-%
-%
-% \begin{macrocode}
-%</package>
-% \end{macrocode}
-%
-%
-%
% \Finale
%
-
-
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\endinput
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/macros/latex-dev/base/lthooks.ins b/macros/latex-dev/base/lthooks.ins
deleted file mode 100644
index 4218fb8b25..0000000000
--- a/macros/latex-dev/base/lthooks.ins
+++ /dev/null
@@ -1,76 +0,0 @@
-%%
-%% This file will generate fast loadable files and documentation
-%% driver files from the dtx file(s) in this package when run through
-%% LaTeX or TeX.
-%%
-%% Copyright 2020 Frank Mittelbach
-%%
-%%
-%% This file is part of the lthooks Bundle for LaTeX.
-%% -------------------------------------------------------
-%%
-%% It may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3c
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3c or later is part of all distributions of LaTeX
-%% version 2008 or later.
-%%
-%% In particular, NO PERMISSION is granted to modify the contents of this
-%% file since it contains the legal notices that are placed in the files
-%% it generates.
-%%
-%%
-%%
-%% --------------- start of docstrip commands ------------------
-%%
-\input docstrip
-
-\keepsilent
-
-\preamble
-
-This is a generated file.
-
-Copyright 2020 Frank Mittelbach
-
-This file was generated from file(s) of the LaTeX `lthooks 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
- http://www.latex-project.org/lppl.txt
-and version 1.3c or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
-
-This file may only be distributed together with a copy of the LaTeX
-`lthooks Bundle'. You may however distribute the `lthooks Bundle'
-without such generated files.
-
-The newest sources can be found below
-
- https://github.com/FrankMittelbach/fmitex/
-
-where one can also log issues in case there are any.
-
-
-\endpreamble
-
-
-\generate{\file{lthooks.ltx}{\from{lthooks.dtx}{2ekernel}}}
-\generate{\file{ltshipout.ltx}{\from{ltshipout.dtx}{2ekernel}}}
-\generate{\file{ltfilehook.ltx}{\from{ltfilehook.dtx}{2ekernel}}}
-
-
-\generate{\file{structuredlog.sty}{\from{ltfilehook.dtx}{structuredlog}}}
-
-\generate{\file{lthooks.sty}{\from{lthooks.dtx}{package}}}
-
-\generate{\file{filehook-ltx.sty}{\from{ltfilehook.dtx}{filehook-draft}}}
-
-\generate{\file{srclfile-ltx.sty}{\from{ltfilehook.dtx}{scrlfile-draft}}}
-
-\endbatchfile
diff --git a/macros/latex-dev/base/ltluatex.dtx b/macros/latex-dev/base/ltluatex.dtx
index 2e692a993b..ec1031cc29 100644
--- a/macros/latex-dev/base/ltluatex.dtx
+++ b/macros/latex-dev/base/ltluatex.dtx
@@ -28,7 +28,7 @@
\ProvidesFile{ltluatex.dtx}
%</driver>
%<*tex>
-[2020/06/10 v1.1n
+[2020/08/10 v1.1r
%</tex>
%<plain> LuaTeX support for plain TeX (core)
%<*tex>
@@ -459,7 +459,7 @@
% \end{macrocode}
% luatex/xetex also allow more math fam.
% \begin{macrocode}
-\edef \et@xmaxfam {\ifx\Umathchar\@undefined\sixt@@n\else\@cclvi\fi}
+\edef \et@xmaxfam {\ifx\Umathcode\@undefined\sixt@@n\else\@cclvi\fi}
% \end{macrocode}
%
% \begin{macrocode}
@@ -550,18 +550,19 @@
%
% \begin{macro}{\newattribute}
% \changes{v1.0a}{2015/09/24}{Macro added}
+% \changes{v1.1q}{2020/08/02}{Move reset to $0$ inside conditional}
% As is generally the case for the Lua\TeX{} registers we start here
% from~$1$. Notably, some code assumes that |\attribute0| is never used so
% this is important in this case.
% \begin{macrocode}
\ifx\e@alloc@attribute@count\@undefined
\countdef\e@alloc@attribute@count=258
+ \e@alloc@attribute@count=\z@
\fi
\def\newattribute#1{%
\e@alloc\attribute\attributedef
\e@alloc@attribute@count\m@ne\e@alloc@top#1%
}
-\e@alloc@attribute@count=\z@
% \end{macrocode}
% \end{macro}
%
@@ -586,13 +587,13 @@
% \begin{macrocode}
\ifx\e@alloc@ccodetable@count\@undefined
\countdef\e@alloc@ccodetable@count=259
+ \e@alloc@ccodetable@count=\z@
\fi
\def\newcatcodetable#1{%
\e@alloc\catcodetable\chardef
\e@alloc@ccodetable@count\m@ne{"8000}#1%
\initcatcodetable\allocationnumber
}
-\e@alloc@ccodetable@count=\z@
% \end{macrocode}
% \end{macro}
%
@@ -699,18 +700,19 @@
%
% \begin{macro}{\newluafunction}
% \changes{v1.0a}{2015/09/24}{Macro added}
+% \changes{v1.1q}{2020/08/02}{Move reset to $0$ inside conditional}
% Much the same story for allocating Lua\TeX{} functions except here they are
% just numbers so they are allocated in the same way as boxes.
% Lua indexes from~$1$ so once again slot~$0$ is skipped.
% \begin{macrocode}
\ifx\e@alloc@luafunction@count\@undefined
\countdef\e@alloc@luafunction@count=260
+ \e@alloc@luafunction@count=\z@
\fi
\def\newluafunction{%
\e@alloc\luafunction\e@alloc@chardef
\e@alloc@luafunction@count\m@ne\e@alloc@top
}
-\e@alloc@luafunction@count=\z@
% \end{macrocode}
% \end{macro}
%
@@ -718,17 +720,18 @@
%
% \begin{macro}{\newwhatsit}
% \changes{v1.0a}{2015/09/24}{Macro added}
+% \changes{v1.1q}{2020/08/02}{Move reset to $0$ inside conditional}
% These are only settable from Lua but for consistency are definable
% here.
% \begin{macrocode}
\ifx\e@alloc@whatsit@count\@undefined
\countdef\e@alloc@whatsit@count=261
+ \e@alloc@whatsit@count=\z@
\fi
\def\newwhatsit#1{%
\e@alloc\whatsit\e@alloc@chardef
\e@alloc@whatsit@count\m@ne\e@alloc@top#1%
}
-\e@alloc@whatsit@count=\z@
% \end{macrocode}
% \end{macro}
%
@@ -736,17 +739,18 @@
%
% \begin{macro}{\newluabytecode}
% \changes{v1.0a}{2015/09/24}{Macro added}
+% \changes{v1.1q}{2020/08/02}{Move reset to $0$ inside conditional}
% These are only settable from Lua but for consistency are definable
% here.
% \begin{macrocode}
\ifx\e@alloc@bytecode@count\@undefined
\countdef\e@alloc@bytecode@count=262
+ \e@alloc@bytecode@count=\z@
\fi
\def\newluabytecode#1{%
\e@alloc\luabytecode\e@alloc@chardef
\e@alloc@bytecode@count\m@ne\e@alloc@top#1%
}
-\e@alloc@bytecode@count=\z@
% \end{macrocode}
% \end{macro}
%
@@ -754,12 +758,14 @@
% \begin{macro}{\newluachunkname}
% \changes{v1.0a}{2015/09/24}{Macro added}
+% \changes{v1.1q}{2020/08/02}{Move reset to $0$ inside conditional}
% As for bytecode registers, but in addition we need to add a string
% to the \verb|lua.name| table to use in stack tracing. We use the
% name of the command passed to the allocator, with no backslash.
% \begin{macrocode}
\ifx\e@alloc@luachunk@count\@undefined
\countdef\e@alloc@luachunk@count=263
+ \e@alloc@luachunk@count=\z@
\fi
\def\newluachunkname#1{%
\e@alloc\luachunk\e@alloc@chardef
@@ -767,19 +773,31 @@
{\escapechar\m@ne
\directlua{lua.name[\the\allocationnumber]="\string#1"}}%
}
-\e@alloc@luachunk@count=\z@
% \end{macrocode}
% \end{macro}
%
% \subsection{Lua loader}
+% \changes{v1.1r}{2020/08/10}{Load ltluatex Lua module during format building}
+%
+% Lua code loaded in the format often has to to be loaded again at the
+% beginning of every job, so we define a helper whch allows us to avoid
+% duplicated code:
+%
+% \begin{macrocode}
+\def\now@and@everyjob#1{%
+ \everyjob\expandafter{\the\everyjob
+ #1%
+ }%
+ #1%
+}
+% \end{macrocode}
%
% Load the Lua code at the start of every job.
% For the conversion of \TeX{} into numbers at the Lua side we need some
% known registers: for convenience we use a set of systematic names, which
% means using a group around the Lua loader.
% \begin{macrocode}
-%<2ekernel>\everyjob\expandafter{%
-%<2ekernel> \the\everyjob
+%<2ekernel>\now@and@everyjob{%
\begingroup
\attributedef\attributezero=0 %
\chardef \charzero =0 %
@@ -1322,6 +1340,7 @@ local callbacktypes = callbacktypes or {
% \changes{v1.1k}{2019/10/02}{process\_rule is \texttt{exclusive}}
% \changes{v1.1k}{2019/10/02}{mlist\_to\_hlist is \texttt{exclusive}}
% \changes{v1.1l}{2020/02/02}{post\_linebreak\_filter is \texttt{reverselist}}
+% \changes{v1.1p}{2020/08/01}{new\_graf is \texttt{exclusive}}
% \begin{macrocode}
contribute_filter = simple,
buildpage_filter = simple,
@@ -1343,7 +1362,7 @@ local callbacktypes = callbacktypes or {
pre_mlist_to_hlist_filter = list,
mlist_to_hlist = exclusive,
post_mlist_to_hlist_filter = reverselist,
- new_graf = simple,
+ new_graf = exclusive,
% \end{macrocode}
% Section 8.5: information reporting callbacks.
% \changes{v1.0m}{2016/02/11}{show\_warning\_message added}
diff --git a/macros/latex-dev/base/ltluatex.pdf b/macros/latex-dev/base/ltluatex.pdf
index 515a409e89..f6c98b2b9f 100644
--- a/macros/latex-dev/base/ltluatex.pdf
+++ b/macros/latex-dev/base/ltluatex.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltmath.dtx b/macros/latex-dev/base/ltmath.dtx
index c4963cf0c6..36b8bb7ec4 100644
--- a/macros/latex-dev/base/ltmath.dtx
+++ b/macros/latex-dev/base/ltmath.dtx
@@ -38,7 +38,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmath.dtx}
- [2020/04/21 v1.2f LaTeX Kernel (Math Setup)]
+ [2020/07/27 v1.2g LaTeX Kernel (Math Setup)]
% \iffalse
%</driver>
%
@@ -407,15 +407,17 @@
% \begin{macro}{\cases}
% \changes{LaTeX2.09}{1991/08/14}
% {(RmS) inserted extra braces around entry for NFSS}
+% \changes{v1.2g}{2020/07/27}{Don't make the command \cs{long} (gh/354)}
% \begin{macrocode}
-\DeclareRobustCommand\cases[1]{\left\{\,\vcenter{\normalbaselines\m@th
+\DeclareRobustCommand*\cases[1]{\left\{\,\vcenter{\normalbaselines\m@th
\ialign{$##\hfil$&\quad{##}\hfil\crcr#1\crcr}}\right.}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\matrix}
+% \changes{v1.2g}{2020/07/27}{Don't make the command \cs{long} (gh/354)}
% \begin{macrocode}
-\DeclareRobustCommand\matrix[1]{\null\,\vcenter{\normalbaselines\m@th
+\DeclareRobustCommand*\matrix[1]{\null\,\vcenter{\normalbaselines\m@th
\ialign{\hfil$##$\hfil&&\quad\hfil$##$\hfil\crcr
\mathstrut\crcr\noalign{\kern-\baselineskip}
#1\crcr\mathstrut\crcr\noalign{\kern-\baselineskip}}}\,}
@@ -423,8 +425,9 @@
% \end{macro}
%
% \begin{macro}{\pmatrix}
+% \changes{v1.2g}{2020/07/27}{Don't make the command \cs{long} (gh/354)}
% \begin{macrocode}
-\DeclareRobustCommand\pmatrix[1]{\left(\matrix{#1}\right)}
+\DeclareRobustCommand*\pmatrix[1]{\left(\matrix{#1}\right)}
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/base/ltmiscen.dtx b/macros/latex-dev/base/ltmiscen.dtx
index c48384b8bd..0c115d3be1 100644
--- a/macros/latex-dev/base/ltmiscen.dtx
+++ b/macros/latex-dev/base/ltmiscen.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltmiscen.dtx}
- [2020/05/31 v1.1u LaTeX Kernel (Misc. Environments)]
+ [2020/08/21 v1.1v LaTeX Kernel (Misc. Environments)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltmiscen.dtx}
@@ -73,6 +73,7 @@
% \cs{@noligs}.}
% \changes{v1.1g}{1998/08/17}{(RmS) Minor documentation fixes.}
% \changes{v1.1p}{2019/08/27}{Make various commands robust}
+% \changes{v1.1v}{2020/08/21}{Integration of new hook management interface}
%
% \section{Miscellaneous Environments}
% This section implements the basic environment mechanism, and also
@@ -191,6 +192,10 @@
% {Added warning in case of undefined references.}%
% \changes{v0.9e}{1993/12/09}{Hook added}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\enddocument}{Use Hooks}%
\def\enddocument{%
% \end{macrocode}
% The |\end{document}| hook is executed first. If necessary it can
@@ -209,10 +214,15 @@
% \changes{v1.1i}{2000/05/19}
% {Reset \cs{AtEndDocument} for latex/3060}
% \begin{macrocode}
- \let\AtEndDocument\@firstofone
- \@enddocumenthook
+ \UseOneTimeHook{enddocument}%
+ \@kernel@after@enddocument
+% \end{macrocode}
+%
+% \begin{macrocode}
\@checkend{document}%
\clearpage
+ \UseOneTimeHook{enddocument/afterlastpage}%
+ \@kernel@after@enddocument@afterlastpage
\begingroup
\if@filesw
\immediate\closeout\@mainaux
@@ -235,11 +245,52 @@
\@tempswafalse
\makeatletter \@@input\jobname.aux
\fi
+ \UseHook{enddocument/afteraux}%
% \end{macrocode}
-% \changes{v1.0w}{1994/11/30}
-% {(DPC) Use \cs{@dofilelist}}
+% Next hook is expect to contain only code for writing info
+% messages on the terminal.
+% \begin{macrocode}
+ \UseOneTimeHook{enddocument/info}%
+ \endgroup
+ \UseOneTimeHook{enddocument/end}%
+ \deadcycles\z@\@@end}
+% \end{macrocode}
+%
+% The public hooks used in \cs{enddocument}:
+% \begin{macrocode}
+\NewHook{enddocument}
+\NewHook{enddocument/afterlastpage}
+\NewHook{enddocument/afteraux}
+\NewHook{enddocument/info}
+\NewHook{enddocument/end}
+% \end{macrocode}
+%
+% This is one of the few places where we already add data and rules
+% to a hook already in the kernel.
+% \changes{v1.0w}{1994/11/30}{(DPC) Use \cs{@dofilelist}}
+% \begin{macrocode}
+\AddToHook{enddocument/info}[kernel/filelist]{\@dofilelist}
+\AddToHook{enddocument/info}[kernel/warnings]{\@enddocument@kernel@warnings}
+\DeclareHookRule{enddocument/info}{kernel/filelist}{before}{kernel/warnings}
+% \end{macrocode}
+% \end{macro}
+% \end{environment}
+%
+%
+% \begin{macro}{\@kernel@after@enddocument,
+% \@kernel@after@enddocument@afterlastpage}
+%
+% The two kernel hooks above are used by the shipout code.
+% \begin{macrocode}
+\let\@kernel@after@enddocument\@empty
+\let\@kernel@after@enddocument@afterlastpage\@empty
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@enddocument@kernel@warnings}
+%
% \begin{macrocode}
- \@dofilelist
+\def\@enddocument@kernel@warnings{%
% \end{macrocode}
% First we check for font size substitution bigger than
% |\fontsubfuzz|. The |\relax| is necessary because this is a macro
@@ -247,29 +298,29 @@
% \changes{v1.0w}{1994/11/30}
% {(DPC) Do warnings even for \cs{nofiles}}
% \begin{macrocode}
- \ifdim \font@submax >\fontsubfuzz\relax
+ \ifdim \font@submax >\fontsubfuzz\relax
% \end{macrocode}
% In case you wonder about the |\@gobbletwo| inside the message
% below, this is a horrible hack to remove the tokens |\on@line.|
% that are added by |\@font@warning| at the end.
% \changes{v1.1j}{2000/07/11}{Fix typo in warning}
% \begin{macrocode}
- \@font@warning{Size substitutions with differences\MessageBreak
- up to \font@submax\space have occurred.\@gobbletwo}%
- \fi
+ \@font@warning{Size substitutions with differences\MessageBreak
+ up to \font@submax\space have occurred.\@gobbletwo}%
+ \fi
% \end{macrocode}
% The macro |\@defaultsubs| is initially |\relax| but gets redefined
% to produce
% a warning if there have been some default font substitutions.
% \changes{v1.0z}{1995/07/13}{Use \cs{@defaultsubs} instead of switch}
% \begin{macrocode}
- \@defaultsubs
+ \@defaultsubs
% \end{macrocode}
% The macro |\@refundefined| is initially |\relax| but gets redefined
% to produce a warning if there are undefined refs.
% \changes{v1.1b}{1995/10/24}{Use \cs{@refundefined} instead of switch}
% \begin{macrocode}
- \@refundefined
+ \@refundefined
% \end{macrocode}
% If a label is defined more than once, |\@tempswa| will always be
% true and thus produce a ``Label(s) may \ldots'' warning. But
@@ -281,21 +332,77 @@
% \changes{v1.1b}{1995/10/24}{Changed logic for producing
% warning messages and removed switch}
% \begin{macrocode}
- \if@filesw
- \ifx \@multiplelabels \relax
- \if@tempswa
- \@latex@warning@no@line{Label(s) may have changed.
- Rerun to get cross-references right}%
- \fi
- \else
- \@multiplelabels
+ \if@filesw
+ \ifx \@multiplelabels \relax
+ \if@tempswa
+ \@latex@warning@no@line{Label(s) may have changed.
+ Rerun to get cross-references right}%
\fi
+ \else
+ \@multiplelabels
\fi
- \endgroup
- \deadcycles\z@\@@end}
+ \ifx \@extra@page@added \relax
+ \@latex@warning@no@line{Temporary extra page added at the end.
+ Rerun to get it removed}%
+ \fi
+% \end{macrocode}
+% We could think of adding a warning that nothing can be corrected
+% while \cs{nofiles} is in force. In the past the warnings related
+% to the \texttt{aux} file are simply suppressed in this case.
+% \begin{macrocode}
+ \fi
+}
% \end{macrocode}
% \end{macro}
-% \end{environment}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\enddocument}{Use Hooks}%
+%<latexrelease>
+%<latexrelease>\def\enddocument{%
+%<latexrelease> \let\AtEndDocument\@firstofone
+%<latexrelease> \@enddocumenthook
+%<latexrelease> \@checkend{document}%
+%<latexrelease> \clearpage
+%<latexrelease> \begingroup
+%<latexrelease> \if@filesw
+%<latexrelease> \immediate\closeout\@mainaux
+%<latexrelease> \let\@setckpt\@gobbletwo
+%<latexrelease> \let\@newl@bel\@testdef
+%<latexrelease> \@tempswafalse
+%<latexrelease> \makeatletter \@@input\jobname.aux
+%<latexrelease> \fi
+%<latexrelease> \@dofilelist
+%<latexrelease> \ifdim \font@submax >\fontsubfuzz\relax
+%<latexrelease> \@font@warning{Size substitutions with differences\MessageBreak
+%<latexrelease> up to \font@submax\space have occurred.\@gobbletwo}%
+%<latexrelease> \fi
+%<latexrelease> \@defaultsubs
+%<latexrelease> \@refundefined
+%<latexrelease> \if@filesw
+%<latexrelease> \ifx \@multiplelabels \relax
+%<latexrelease> \if@tempswa
+%<latexrelease> \@latex@warning@no@line{Label(s) may have changed.
+%<latexrelease> Rerun to get cross-references right}%
+%<latexrelease> \fi
+%<latexrelease> \else
+%<latexrelease> \@multiplelabels
+%<latexrelease> \fi
+%<latexrelease> \fi
+%<latexrelease> \endgroup
+%<latexrelease> \deadcycles\z@\@@end}
+%<latexrelease>
+%<latexrelease>\let\@kernel@after@enddocument\@undefined
+%<latexrelease>\let\@kernel@after@enddocument@afterlastpage\@undefined
+%<latexrelease>\let\@enddocument@kernel@warnings\@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
%
% \begin{macro}{\@testdef}
% \begin{macrocode}
@@ -525,17 +632,107 @@
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
-%<latexrelease>\IncludeInRelease{2019/10/01}%
-%<latexrelease> {\begin}{Making \begin/\end robust}%
-\DeclareRobustCommand\begin[1]{%
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\begin}{Use hook system}%
+\DeclareRobustCommand*\begin[1]{%
+ \UseHook{env/#1/before}%
\@ifundefined{#1}%
{\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
{\def\reserved@a{\def\@currenvir{#1}%
- \edef\@currenvline{\on@line}%
- \csname #1\endcsname}}%
+ \edef\@currenvline{\on@line}%
+ \@execute@begin@hook{#1}%
+ \csname #1\endcsname}}%
\@ignorefalse
\begingroup\@endpefalse\reserved@a}
% \end{macrocode}
+%
+% Before the \cs{document} code is executed we have to first undo
+% the \cs{endgroup} as there should be none for this environment to
+% avoid that changes on top-level unnecessarily go to \TeX's
+% savestack, and we have to initialize all hooks in the hook system.
+% So we need to test for this environment name. But once it has be
+% found all this testing is no longer needed and so we redefine
+% \cs{@execute@begin@hook} to simply use the hook.
+% \begin{macrocode}
+\def\@execute@begin@hook #1{%
+ \expandafter\ifx\csname #1\endcsname\document
+ \endgroup
+ \gdef\@execute@begin@hook##1{\UseHook{env/##1/begin}}%
+ \@expl@@@initialize@all@@
+ \fi
+% \end{macrocode}
+% If this is an environment before \verb=\begin{document}= we just
+% run the hook so this can be outside the test.
+% \begin{macrocode}
+ \UseHook{env/#1/begin}%
+}
+% \end{macrocode}
+%
+% The top level definition for \cs{end}. for an explanation see
+% below (this is the same as the 2019 version where it was
+% introduced, but for rollback we have to repeat it).
+% \begin{macrocode}
+\edef\end
+ {\unexpanded{%
+ \romannumeral
+ \ifx\protect\@typeset@protect
+ \expandafter %1
+ \expandafter %2
+ \expandafter %1
+ \expandafter %3 expands the \csname inside \end<space>
+ \expandafter %1
+ \expandafter %2 expands \end<space>
+ \expandafter %1 expands the \else
+ \z@
+ \else
+ \expandafter\z@\expandafter\protect
+ \fi
+ }%
+ \expandafter\noexpand\csname end \endcsname
+ }
+% \end{macrocode}
+% Version that adds hooks (so different from the 2019 version). It
+% fixes tlb3722 but the change should perhaps be made in
+% \texttt{tabularx} instead.
+% \begin{macrocode}
+\@namedef{end }#1{%
+ \romannumeral
+ \IfHookEmptyTF{env/#1/end}%
+ {\expandafter\z@}%
+ {\z@\UseHook{env/#1/end}}%
+ \csname end#1\endcsname\@checkend{#1}%
+ \expandafter\endgroup\if@endpe\@doendpe\fi
+ \UseHook{env/#1/after}%
+ \if@ignore\@ignorefalse\ignorespaces\fi
+}
+% \end{macrocode}
+% Version without the fix for tlb3722 for the record:
+% \begin{macrocode}
+%\@namedef{end }#1{%
+% \UseHook{env/#1/end}%
+% \csname end#1\endcsname\@checkend{#1}%
+% \expandafter\endgroup\if@endpe\@doendpe\fi
+% \UseHook{env/#1/after}%
+% \if@ignore\@ignorefalse\ignorespaces\fi}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{2019/10/01}%
+%<latexrelease> {\begin}{Making \begin/\end robust}%
+%<latexrelease>\DeclareRobustCommand\begin[1]{%
+%<latexrelease> \@ifundefined{#1}%
+%<latexrelease> {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
+%<latexrelease> {\def\reserved@a{\def\@currenvir{#1}%
+%<latexrelease> \edef\@currenvline{\on@line}%
+%<latexrelease> \csname #1\endcsname}}%
+%<latexrelease> \@ignorefalse
+%<latexrelease> \begingroup\@endpefalse\reserved@a}
+% \end{macrocode}
% A version that doesn't start out with \cs{relax} when in
% typesetting mode would be the following, but since \cs{begin}
% issues a \cs{begingroup} it wouldn't help much with respect to
@@ -608,41 +805,50 @@
% \changes{v1.1p}{2019/08/27}{Make command robust}
%
% \begin{macrocode}
-\edef\end
- {\unexpanded{%
- \romannumeral
- \ifx\protect\@typeset@protect
- \expandafter %1
- \expandafter %2
- \expandafter %1
- \expandafter %3 expands the \csname inside \end<space>
- \expandafter %1
- \expandafter %2 expands \end<space>
- \expandafter %1 expands the \else
- \z@
- \else
- \expandafter\z@\expandafter\protect
- \fi
- }%
- \expandafter\noexpand\csname end \endcsname
- }
+%<latexrelease>\edef\end
+%<latexrelease> {\unexpanded{%
+%<latexrelease> \romannumeral
+%<latexrelease> \ifx\protect\@typeset@protect
+%<latexrelease> \expandafter %1
+%<latexrelease> \expandafter %2
+%<latexrelease> \expandafter %1
+%<latexrelease> \expandafter %3 expands the \csname inside \end<space>
+%<latexrelease> \expandafter %1
+%<latexrelease> \expandafter %2 expands \end<space>
+%<latexrelease> \expandafter %1 expands the \else
+%<latexrelease> \z@
+%<latexrelease> \else
+%<latexrelease> \expandafter\z@\expandafter\protect
+%<latexrelease> \fi
+%<latexrelease> }%
+%<latexrelease> \expandafter\noexpand\csname end \endcsname
+%<latexrelease> }
% \end{macrocode}
% And here is the original definition of \cs{end} the way it was in
% \LaTeX{} for several decades now hidden in \verb*=\end =.
% \begin{macrocode}
-\@namedef{end }#1{%
- \csname end#1\endcsname\@checkend{#1}%
- \expandafter\endgroup\if@endpe\@doendpe\fi
- \if@ignore\@ignorefalse\ignorespaces\fi}
-%</2ekernel|latexrelease>
+%<latexrelease>\@namedef{end }#1{%
+%<latexrelease> \csname end#1\endcsname\@checkend{#1}%
+%<latexrelease> \expandafter\endgroup\if@endpe\@doendpe\fi
+%<latexrelease> \if@ignore\@ignorefalse\ignorespaces\fi}
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
% An here the rollback in case that is ever needed.
% \begin{macrocode}
%<latexrelease>\IncludeInRelease{0000/00/00}%
%<latexrelease> {\begin}{Making \begin/\end robust}%
-%<latexrelease>\kernel@make@fragile\begin
-%<latexrelease>\kernel@make@fragile\end
+%<latexrelease>\def\begin#1{%
+%<latexrelease> \@ifundefined{#1}%
+%<latexrelease> {\def\reserved@a{\@latex@error{Environment #1 undefined}\@eha}}%
+%<latexrelease> {\def\reserved@a{\def\@currenvir{#1}%
+%<latexrelease> \edef\@currenvline{\on@line}%
+%<latexrelease> \csname #1\endcsname}}%
+%<latexrelease> \@ignorefalse
+%<latexrelease> \begingroup\@endpefalse\reserved@a}
+%<latexrelease>\def\end#1{%
+%<latexrelease> \csname end#1\endcsname\@checkend{#1}%
+%<latexrelease> \expandafter\endgroup\if@endpe\@doendpe\fi
+%<latexrelease> \if@ignore\@ignorefalse\ignorespaces\fi}
%<latexrelease>
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
@@ -674,6 +880,47 @@
% \end{macro}
%
%
+%
+% \begin{macro}{\AtBeginEnvironment,\AtEndEnvironment,
+% \BeforeBeginEnvironment,\AfterEndEnvironment}
+%
+% We provide 4 high-level hook interfaces directly, the others only when
+% etoolbox is loaded
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\AtBeginEnvironment}{Hooks for environments}%
+% \end{macrocode}
+%
+% \begin{macrocode}
+\newcommand\AtBeginEnvironment[2][.] {\AddToHook{env/#2/begin}[#1]}
+\newcommand\AtEndEnvironment[2][.] {\AddToHook{env/#2/end}[#1]}
+\newcommand\BeforeBeginEnvironment[2][.]{\AddToHook{env/#2/before}[#1]}
+\newcommand\AfterEndEnvironment[2][.] {\AddToHook{env/#2/after}[#1]}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\AtBeginEnvironment}{Hooks for environments}%
+%<latexrelease>
+%<latexrelease>\let\AtBeginEnvironment\@undefined
+%<latexrelease>\let\AtEndEnvironment\@undefined
+%<latexrelease>\let\BeforeBeginEnvironment\@undefined
+%<latexrelease>\let\AfterEndEnvironment\@undefined
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
% \subsection{Center, Flushright, Flushleft}
%
% \begin{macrocode}
diff --git a/macros/latex-dev/base/ltnews.pdf b/macros/latex-dev/base/ltnews.pdf
index d74896f57a..5fa6b9b855 100644
--- a/macros/latex-dev/base/ltnews.pdf
+++ b/macros/latex-dev/base/ltnews.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews01.pdf b/macros/latex-dev/base/ltnews01.pdf
index f284c0fb85..132c99241c 100644
--- a/macros/latex-dev/base/ltnews01.pdf
+++ b/macros/latex-dev/base/ltnews01.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews02.pdf b/macros/latex-dev/base/ltnews02.pdf
index 2ebf8c72f6..3cb443cacc 100644
--- a/macros/latex-dev/base/ltnews02.pdf
+++ b/macros/latex-dev/base/ltnews02.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews03.pdf b/macros/latex-dev/base/ltnews03.pdf
index 246e0fe7e9..489ba8fbfb 100644
--- a/macros/latex-dev/base/ltnews03.pdf
+++ b/macros/latex-dev/base/ltnews03.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews04.pdf b/macros/latex-dev/base/ltnews04.pdf
index c953675edc..d19579de3e 100644
--- a/macros/latex-dev/base/ltnews04.pdf
+++ b/macros/latex-dev/base/ltnews04.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews05.pdf b/macros/latex-dev/base/ltnews05.pdf
index 319669efd6..07cf7ae8a5 100644
--- a/macros/latex-dev/base/ltnews05.pdf
+++ b/macros/latex-dev/base/ltnews05.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews06.pdf b/macros/latex-dev/base/ltnews06.pdf
index b13e9e0522..526c9dc167 100644
--- a/macros/latex-dev/base/ltnews06.pdf
+++ b/macros/latex-dev/base/ltnews06.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews07.pdf b/macros/latex-dev/base/ltnews07.pdf
index cda0340e74..9bdb3c44fa 100644
--- a/macros/latex-dev/base/ltnews07.pdf
+++ b/macros/latex-dev/base/ltnews07.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews08.pdf b/macros/latex-dev/base/ltnews08.pdf
index 8aa4e628bf..a5305c0439 100644
--- a/macros/latex-dev/base/ltnews08.pdf
+++ b/macros/latex-dev/base/ltnews08.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews09.pdf b/macros/latex-dev/base/ltnews09.pdf
index c66c8cfa4f..25bcf3b22d 100644
--- a/macros/latex-dev/base/ltnews09.pdf
+++ b/macros/latex-dev/base/ltnews09.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews10.pdf b/macros/latex-dev/base/ltnews10.pdf
index 0e895283ca..d0cd783491 100644
--- a/macros/latex-dev/base/ltnews10.pdf
+++ b/macros/latex-dev/base/ltnews10.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews11.pdf b/macros/latex-dev/base/ltnews11.pdf
index ec2365e802..c7ba9f8feb 100644
--- a/macros/latex-dev/base/ltnews11.pdf
+++ b/macros/latex-dev/base/ltnews11.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews12.pdf b/macros/latex-dev/base/ltnews12.pdf
index 771d5bc088..3899b9d294 100644
--- a/macros/latex-dev/base/ltnews12.pdf
+++ b/macros/latex-dev/base/ltnews12.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews13.pdf b/macros/latex-dev/base/ltnews13.pdf
index bc759bc70b..9a6656aa30 100644
--- a/macros/latex-dev/base/ltnews13.pdf
+++ b/macros/latex-dev/base/ltnews13.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews14.pdf b/macros/latex-dev/base/ltnews14.pdf
index a747c427e7..0d3906f63d 100644
--- a/macros/latex-dev/base/ltnews14.pdf
+++ b/macros/latex-dev/base/ltnews14.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews15.pdf b/macros/latex-dev/base/ltnews15.pdf
index 7ed464e1e4..c94d07f167 100644
--- a/macros/latex-dev/base/ltnews15.pdf
+++ b/macros/latex-dev/base/ltnews15.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews16.pdf b/macros/latex-dev/base/ltnews16.pdf
index b733ab0bb1..afaa2d49d3 100644
--- a/macros/latex-dev/base/ltnews16.pdf
+++ b/macros/latex-dev/base/ltnews16.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews17.pdf b/macros/latex-dev/base/ltnews17.pdf
index 63d06bb742..0e5e08732e 100644
--- a/macros/latex-dev/base/ltnews17.pdf
+++ b/macros/latex-dev/base/ltnews17.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews18.pdf b/macros/latex-dev/base/ltnews18.pdf
index 766b54786c..d81914117e 100644
--- a/macros/latex-dev/base/ltnews18.pdf
+++ b/macros/latex-dev/base/ltnews18.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews19.pdf b/macros/latex-dev/base/ltnews19.pdf
index 8fd4131aa2..8a27941114 100644
--- a/macros/latex-dev/base/ltnews19.pdf
+++ b/macros/latex-dev/base/ltnews19.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews20.pdf b/macros/latex-dev/base/ltnews20.pdf
index a9fd7578bf..9c35861a8b 100644
--- a/macros/latex-dev/base/ltnews20.pdf
+++ b/macros/latex-dev/base/ltnews20.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews21.pdf b/macros/latex-dev/base/ltnews21.pdf
index 9fe01bd05a..a708475e95 100644
--- a/macros/latex-dev/base/ltnews21.pdf
+++ b/macros/latex-dev/base/ltnews21.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews22.pdf b/macros/latex-dev/base/ltnews22.pdf
index 06539b04f3..96dba3bd9e 100644
--- a/macros/latex-dev/base/ltnews22.pdf
+++ b/macros/latex-dev/base/ltnews22.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews23.pdf b/macros/latex-dev/base/ltnews23.pdf
index 4f0cbf7248..4b60f97a9c 100644
--- a/macros/latex-dev/base/ltnews23.pdf
+++ b/macros/latex-dev/base/ltnews23.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews24.pdf b/macros/latex-dev/base/ltnews24.pdf
index 2088def4ff..c9f4d83b64 100644
--- a/macros/latex-dev/base/ltnews24.pdf
+++ b/macros/latex-dev/base/ltnews24.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews25.pdf b/macros/latex-dev/base/ltnews25.pdf
index b788f5e5c4..2cd7928a24 100644
--- a/macros/latex-dev/base/ltnews25.pdf
+++ b/macros/latex-dev/base/ltnews25.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews26.pdf b/macros/latex-dev/base/ltnews26.pdf
index fdda73b9d5..d41d1e92a2 100644
--- a/macros/latex-dev/base/ltnews26.pdf
+++ b/macros/latex-dev/base/ltnews26.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews27.pdf b/macros/latex-dev/base/ltnews27.pdf
index cd893f6f52..d9fdef0d3c 100644
--- a/macros/latex-dev/base/ltnews27.pdf
+++ b/macros/latex-dev/base/ltnews27.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews28.pdf b/macros/latex-dev/base/ltnews28.pdf
index 52fa5ff2b5..3b61224d22 100644
--- a/macros/latex-dev/base/ltnews28.pdf
+++ b/macros/latex-dev/base/ltnews28.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews29.pdf b/macros/latex-dev/base/ltnews29.pdf
index e7178a9154..973a052b7e 100644
--- a/macros/latex-dev/base/ltnews29.pdf
+++ b/macros/latex-dev/base/ltnews29.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews30.pdf b/macros/latex-dev/base/ltnews30.pdf
index f32e6f4647..5d16b19cb0 100644
--- a/macros/latex-dev/base/ltnews30.pdf
+++ b/macros/latex-dev/base/ltnews30.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews31.pdf b/macros/latex-dev/base/ltnews31.pdf
index e152614b67..f3219cff44 100644
--- a/macros/latex-dev/base/ltnews31.pdf
+++ b/macros/latex-dev/base/ltnews31.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews31.tex b/macros/latex-dev/base/ltnews31.tex
index 83e81cb7f2..1b775a532e 100644
--- a/macros/latex-dev/base/ltnews31.tex
+++ b/macros/latex-dev/base/ltnews31.tex
@@ -547,10 +547,10 @@ This was corrected.
\enlargethispage{-\smallskipamount}
\vspace{-\medskipamount}
-\subsection{Ensure that \cs{\textbackslash} remains robust}
+\subsection{Ensure that \cs{textbackslash} remains robust}
In the last release we made most document-level commands robust, but
-\cs{\textbackslash} became fragile again\\
+\cs{textbackslash} became fragile again\\
whenever \cs{raggedright} or similar typesetting\\
was used. This has been fixed.
%
@@ -579,7 +579,7 @@ also now be utilised.
\subsection{Allow spaces in \texttt{filecontents} option list}
Leaving spaces or newlines in the option list prevented the options
-from being correctly recognized. This\\
+from being correctly recognized. This\\
has been corrected.
%
\githubissue{256}
@@ -587,8 +587,8 @@ has been corrected.
\subsection{New \texttt{reverselist} Lua callback type}
-A new callback type, \texttt{reverselist}, was added:\\
-\texttt{post\_mlist\_to\_hlist\_filter} and \texttt{post\_linebreak\_filter}
+A new callback type, \texttt{reverselist}, was added:\\
+\texttt{post\_mlist\_to\_hlist\_filter} and \texttt{post\_linebreak\_filter}
are now of this type.
@@ -737,7 +737,7 @@ Note that it has become standard practice to check for Unicode-aware engines
by using the existence of the \cs{Umathcode} primitive. As such, this is already
a requirement: engines lacking these primitives cannot use Unicode features
of the \LaTeXe{} kernel or \pkg{expl3}. Note also that up\TeX{} can
-handle Unicode but it is not classed as a Unicode engine by the
+handle Unicode but it is not classed as a Unicode engine by the
base \LaTeX\ code.
\enlargethispage*{\baselineskip}
diff --git a/macros/latex-dev/base/ltnews32.pdf b/macros/latex-dev/base/ltnews32.pdf
index 931e86541d..5e3d9ff899 100644
--- a/macros/latex-dev/base/ltnews32.pdf
+++ b/macros/latex-dev/base/ltnews32.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltnews32.tex b/macros/latex-dev/base/ltnews32.tex
index fdea39b6e3..36a37b746a 100644
--- a/macros/latex-dev/base/ltnews32.tex
+++ b/macros/latex-dev/base/ltnews32.tex
@@ -46,6 +46,7 @@
\providecommand\Arg[1]{\texttt\{\meta{#1}\texttt\}}
+\providecommand\eTeX{\hologo{eTeX}}
\providecommand\XeTeX{\hologo{XeTeX}}
\providecommand\LuaTeX{\hologo{LuaTeX}}
\providecommand\pdfTeX{\hologo{pdfTeX}}
@@ -138,7 +139,12 @@
\section{Introduction}
-This document is under construction \ldots
+The 2020-10-01 release of \LaTeX{} shows that work on improving
+\LaTeX{} has again intensified. The two most important new features
+are the kernel support for \pkg{xparse} and the introduction of the
+new hook management system for \LaTeX{}, but as you can see there are
+many more smaller enhancements and bug fixes added to the kernel and
+various packages.
@@ -208,23 +214,23 @@ The file \texttt{lthooks.dtx} holds the core management code for hooks
and defines basic hooks for environments (as previously offered by
\pkg{etoolbox}), \texttt{ltshipout.dtx} provides kernel hooks into the
shipout process (making packages like \pkg{atbegshi},
-etc.\ unnecessary) and the file \texttt{ltfilehook.dtx} holds
+etc., unnecessary) and the file \texttt{ltfilehook.dtx} holds
redefinition for commands like \cs{input} or \cs{usepackage} so that
they offer hooks in a similar fashion to what is provided by the
\pkg{filehook} package.
At the moment the integration is lightweight, overwriting definitions
made earlier during format generation (though this will change after
-more thorough testing). For that reason the documention isn't in its
+more thorough testing). For that reason the documentation isn't in its
final form either and you have to read through three different
documents:
\begin{description}
\item[\texttt{lthooks-doc.pdf}] Core management interface and basic
hooks for environments provided by the kernel.
-
+
\item[\texttt{ltshipout-doc.pdf}] Hooks accessible while a page is
being shipped out.
-
+
\item[\texttt{ltfilehook-doc.pdf}] Hooks used when reading a file.
\end{description}
For those who wish to also study the code, replace \texttt{-doc} with
@@ -277,7 +283,7 @@ always treats \texttt{U+00AD} as \cs{-}.
\subsection{Fix capital accents in Unicode engines}
In Unicode engines the capital accents such as \cs{capitalcedilla},
-etc.\ have been implemented as trival short hands for the normal
+etc., have been implemented as trivial shorthands for the normal
accents (because other than Computer Modern virtually no fonts support
them), but that failed when \pkg{hyperref} got loaded. This has been
corrected.
@@ -288,7 +294,7 @@ corrected.
\subsection{Support \pkg{calc} in various kernel commands}
-The \cs{hspace}, \cs{vspace}, \cs{addvspace}, \cs{\textbackslash} and
+The \cs{hspace}, \cs{vspace}, \cs{addvspace}, \cs{textbackslash} and
other commands simply passed their argument to a \TeX{} primitive to
produce the necessary space. As a result it was impossible to specify
anything other than a simple dimension value in such arguments. This
@@ -297,6 +303,20 @@ these commands.
%
\githubissue{152}
+\subsection{Support \eTeX\ length expressions in \texttt{picture} coordinates}
+
+Picture mode coordinates specified with \texttt{(\_,\_)} previously
+accepted multiples of \cs{unitlength}. They now also allow \eTeX\ length
+expressions (as used by the \cs{glueexpr} primitive although all uses
+in \texttt{picture} mode are non stretchy).
+
+So valid uses include \verb|\put(2,2)| as previously,
+ but now also uses such as \verb|\put(\textwidth-5cm,0.4\textheight)|.
+
+Note that you can only use expressions with lengths, \verb|\put(1+2,0)| is not
+supported.
+
+
\subsection{Spaces in filenames of included files}
File names containing spaces lead to unexpected results when used in
@@ -314,7 +334,7 @@ names will remain intact.
\subsection{Avoid extra line in \cs{centering}, \cs{raggedleft} or \cs{raggedright}}
-If we aren't justifing paragraphs then a very long word (longer than a
+If we aren't justifying paragraphs then a very long word (longer than a
line) could result in an unnecessary extra line in order to prevent a
hyphen in the second-last line of the paragraph. This is now avoided
by setting \cs{finalhyphendemerits} to zero in unjustified settings.
@@ -336,7 +356,7 @@ been adjusted.
\subsection{Spacing issues when using \cs{linethickness}}
In some circumstances the use of \cs{linethickness} introduced a
-spurious space that shifted objects in a \texttt{picture} environments
+spurious space that shifted objects in a \texttt{picture} environment
to the right. This has been corrected.
%
\githubissue{274}
@@ -346,13 +366,13 @@ to the right. This has been corrected.
\subsection{Better support for the legacy series default interface}
In the initial implementation of \LaTeX's font selection scheme (NFSS)
-changes to any default where always carried out by redefining some
+changes to any default where carried out by redefining some
commands, e.g., \cs{seriesdefault}. In 2019 we introduced various
-extensions and with it new methods of customising certain parts of
+extensions and with it new methods of customizing certain parts of
NFSS, e.g., the recommended way for changing the series default(s) is
now through \cs{DeclareFontSeriesDefault}~\cite{32:ltnews31}. In this
release we improved the support for legacy documents using the old
-method was improved to cover additional edge cases.
+method to cover additional edge cases.
%
\githubissue[s]{306,315}
@@ -367,7 +387,7 @@ e.g.,
\DeclareFontSeriesDefault[tt]{bf}{bm}
\end{verbatim}
then a switch between the main document families, e.g.,
-\verb=\ttfamily...\rmfamily= did not always correctly continued
+\verb=\ttfamily...\rmfamily= did not always correctly continue
typesetting in medium or bold series if that involved adjusting the
values used by \verb=\mdseries= or \verb=\bfseries=. This has now
been corrected.
@@ -421,8 +441,8 @@ been fixed.
\subsection{Adjusting \texttt{fleqn}}
In \pkg{amsmath} the \cs{mathindent} parameter used with the
-\texttt{fleqn} design is a rubber length paramter allowing for setting
-it to a value such as \texttt{1em minus 1em}, i.e., so the the normal
+\texttt{fleqn} design is a rubber length parameter allowing for setting
+it to a value such as \texttt{1em minus 1em}, i.e., so that the normal
indentation can be reduced in case of very wide math displays.
This is now also supported by the \LaTeX{} standard classes.
@@ -440,7 +460,7 @@ equation number.
(zero-sized boxes whose content sticks out to the left or right,
respectively) but there isn't a corresponding \cs{clap} command that
centers the material. This missing command was added by several
-addon packages, e.g., \pkg{mathtools}, and has now been added to the
+packages, e.g., \pkg{mathtools}, and has now been added to the
kernel.
@@ -451,7 +471,7 @@ When using the \LaTeX{}~2.09 legacy math alphabet interface, e.g.,
was added to the formula in case the math alphabet was used for the first
time. In some cases this math atom would change the spacing, e.g.,
change the unary minus sign into a binary minus in the above example. This
-has finally be fixed.
+has finally been fixed.
%
\gnatsissue{latex}{3357}
@@ -468,7 +488,7 @@ class names but nothing really for testing the format date. For the
latter one had to resort to some obscure command \cs{@ifl@t@r} that,
given its cryptic name, was clearly never intended for use even in
package or class code. Furthermore, even the existing interface
-commands where defective as they are testing for \enquote{equal or
+commands were defective as they are testing for \enquote{equal or
later} and not for \enquote{later} as their names indicate.
We have therefore introduced three new CamelCase commands as the
@@ -506,14 +526,70 @@ are ignored as elsewhere.
\githubissue{327}
+\subsection{Provide a way to copy robust commands\ldots}
+
+With the previous \LaTeXe{} release, several user-level commands were
+made robust, so the need for a way to create copies of these commands
+(often to redefine them) increased, and the \LaTeXe{} kernel didn't have
+a way to do so. Previously this functionality was provided in part by
+Heiko Oberdiek's \pkg{letltxmacro} package, which allows a robust
+command \verb=\foo= to be copied to \verb=\bar= with
+\verb=\LetLtxMacro\bar\foo=.
+
+From this release onwards, the \LaTeXe{} kernel provides
+\cs{NewCommandCopy} (and \verb=\Renew...= and \verb=\Declare...=
+variants) which functions almost like
+\verb=\LetLtxMacro=. To the end user, both should work the same way,
+and one shouldn't need to worry about the definition of the command:
+\cs{NewCommandCopy} should do the hard work.
+
+\cs{NewCommandCopy} knows about the different types of definitions from
+the \LaTeXe{} kernel, and also from other packages, such as
+\pkg{xparse}'s command declarations like \cs{NewDocumentCommand}, and
+\pkg{etoolbox}'s \cs{newrobustcmd}, and it can be extended to cover
+further packages.
+%
+\githubissue{239}
+
+
+\subsection{\ldots\ and a way to \cs{show} them}
+
+It is sometimes necessary to look the definition of a command, and often
+one not only doesn't know where that command is defined, but doesn't
+know if it gets redefined by some package, so often enough looking at
+the source doesn't help. The typical way around this problem is to use
+\TeX's \cs{show} primitive to look at the definition of a command, which
+works fine until the command being \cs{show}n is robust. With
+\verb=\show\frac= one sees
+\begin{verbatim}
+>> \frac=macro:
+->>\protect \frac .
+\end{verbatim}
+which is not very helpful. To show the actual command the user needed to
+notice that the real definition of \cs{frac} is in the \verb*=\frac = %*
+macro and do \verb=\expandafter\show\csname frac\space\endcsname=.
+
+But with the machinery for copying robust commands in place it is
+already possible to examine a command and detect (as far as a macro
+expansion language allows) how it was defined. \cs{ShowCommand} knows
+that and with \verb=\ShowCommand\frac= the terminal will show
+\begin{verbatim}
+>> \frac=robust macro:
+->>\protect \frac .
+
+>> \frac =\long macro:
+#1#2->>{\begingroup #1\endgroup \over #2}.
+\end{verbatim}
+%
+\githubissue{373}
\subsection{Merge \pkg{l3docstrip} into \pkg{docstrip}}
The file \pkg{l3docstrip.tex} offered a small extension over the
original \pkg{docstrip.tex} file supporting the
\texttt{\%\string<@@=\meta{module}\string>} syntax of \pkg{expl3}.
-This has now been merged into \pkg{docstrip} so that it can now be
-used both for traditional \texttt{.dtx} files and those containing
+This has been merged into \pkg{docstrip} so that it can now be
+used for both traditional \texttt{.dtx} files and those containing
code written in the L3 programming layer language.
%
\githubissue{337}
@@ -533,19 +609,19 @@ well.
\subsection{Record the counter name stepped by \cs{refstepcounter}}
-\cs{refstepcounter} now stores the name of counter in \cs{@currentcounter}.
+\cs{refstepcounter} now stores the name of the counter in \cs{@currentcounter}.
This allows packages like \pkg{zref} and \pkg{hyperref} to store the name without
having to patch \cs{refstepcounter}.
%
\githubissue{300}
-\subsection{Native Lua\TeX\ behaviour for \cs{-}}
+\subsection{Native Lua\TeX\ behavior for \cs{-}}
\LaTeX\ changes \cs{-} to add a discretionary hyphen even if \cs{hyphenchar}
is set to $-1$. This change is not necessary under Lua\TeX\ because in there
\cs{-} is not affected by \cs{hyphenchar} in the first place. Therefore this
-behaviour has been changed to ensure that Lua\TeX's (language specific)
+behavior has been changed to ensure that Lua\TeX's (language specific)
hyphenation characters are respected by \cs{-}.
@@ -587,14 +663,37 @@ command name(s) & math & text\\\hline
\cs{textquotedbl} for the TU encoding in \LuaTeX\ need special handling to
stop the shaper from replacing these characters with curly quotes.
This used to be done by reloading the current font without the \texttt{tlig}
-feature, but that came with multiple disadvantages: It behaves different
+feature, but that came with multiple disadvantages: It behaves differently
than the corresponding \XeTeX\ code and it is not very efficient.
-This code has now been replaced with a implementation which injects a
-protected glyph nodes which is not affected by font shaping.
+This code has now been replaced with an implementation which injects a
+protected glyph node which is not affected by font shaping.
%
\githubissue{165}
+\subsection{Added a fourth empty argument to \cs{contentsline}}
+
+\LaTeX's writes with \cs{addcontentsline} a \cs{contentsline}
+command with three arguments to the \texttt{.toc} and similar files.
+\pkg{hyperref} redefines \cs{addcontentsline} to write
+a fourth argument. The change unifies the number of arguments
+by writing an additional empty brace group.
+
+
+
+\subsection{Lua\TeX\ callback \texttt{new\_graf} made \texttt{exclusive}}
+
+Corrected an incorrect callback type which caused return values from the
+\texttt{new\_graf} callback to be ignored and paragraph indentation to be
+suppressed. In the new version, only one \texttt{new\_graf} callback handler
+can be active at a time which allows this handler to take full control of
+paragraph indentation.
+%
+\githubissue{188}
+
+
+
+
\section{Changes to packages in the \pkg{graphics} category}
@@ -606,6 +705,37 @@ to the log file, because of a typo in the check. This has been corrected.
%
\gnatsissue{graphics}{3635}
+\subsection{Specifying viewport in the \pkg{graphics} package}
+Specifying a BoundingBox does not really have meaning when including non-EPS graphics in
+\pdfTeX\ and \LuaTeX. For some years the \pkg{graphicx} package
+\texttt{bb} key has been interpreted (with a warning) as a
+\texttt{viewport} key. This feature has been added to the two-argument
+form of \verb|\includegraphics| which is mostly used in the
+\pkg{graphics} package. \verb|\includegraphics[1,2][3,4]{file}| will
+be interpreted in \pdfTeX\ and \LuaTeX\ in the same way as \pkg{graphicx}
+\verb|\includegraphics[viewport=1 2 3 4]{file}|.
+
+\subsection{Normalizing \cs{endlinechar}}
+If \cs{endlinechar} is set to $-1$ so that ends of lines are ignored
+in special contexts, then a low level \TeX\ error would be generated
+by code parsing BoundingBox comments. The package now locally sets
+\cs{endlinechar} to its standard value while reading files.
+%
+\githubissue{286}
+
+\subsection{Files with multiple parts}
+Sometimes one has a graphics file, say, \texttt{file.svg}, and converts
+it to another format to include it in \LaTeX{} and ends up with a file
+named \texttt{file.svg.png}. In previous releases, if the user did
+\verb|\includegraphics{file.svg}|, an error would be raised and the
+graphics inclusion would fail due to the unknown \verb|.svg| extension.
+The \pkg{graphics} package now checks the given extension exists, and if
+it doesn't, it tries appending the known extensions until it finds a
+graphics file with a valid extension, otherwise it falls back to the
+file as requested.
+%
+\githubissue{355}
+
\section{Changes to packages in the \pkg{tools} category}
@@ -613,8 +743,8 @@ to the log file, because of a typo in the check. This has been corrected.
If stretchable glue, e.g., \cs{dotfill}, is used in \env{tabular}
columns made with the \pkg{array} package, it stretches as it would in
-normal paragraph text. The one exception were \texttt{w}-columns (but
-not \texttt{W}-columns) were it got forced to its nominal width (which
+normal paragraph text. The one exception was \texttt{w}-columns (but
+not \texttt{W}-columns) where it got forced to its nominal width (which
in case if \cs{hfill} or \cs{dotfill} is 0\,pt). This has been
corrected and now \texttt{w}-columns behave like all other column
types in this respect.
@@ -651,17 +781,18 @@ corrected.
\subsection{\pkg{varioref}: Support Japanese as a language option}
The package now recognizes \texttt{japanese} as a language option.
-The extra complication is that for gramatical reasons \cs{vrefrange}
-needs a structure different from all other languages currently
-supported. To accomodate for this \cs{vrefrangeformat} was added to
-all languages.
+The extra complication is that for grammatical reasons \cs{vref},
+\cs{Vref}, \cs{vrefrange} and \cs{fullref} need a structure different
+from all other languages currently supported. To accommodate for this
+\cs{vrefformat}, \cs{Vrefformat}, \cs{vrefrangeformat}, and \cs{fullrefformat}
+was added to all languages.
%
\githubissue{352}
\subsection{\pkg{xr}: Support for spaces in filenames}
-The commannd \cs{externaldocument}, provided by \pkg{xr}, now also
+The command \cs{externaldocument}, provided by \pkg{xr}, now also
supports filenames with spaces, just like \cs{include} and
\cs{includeonly}.
%
@@ -687,7 +818,7 @@ The environments \texttt{aligned} and \texttt{gathered} have a
trailing optional argument to specify the vertical position of the
environment with respect to the rest of the line. Allowed values are
\texttt{t}, \texttt{b} and \texttt{c} but the code only tested for
-\texttt{b} and \texttt{t} and assumed anything else is must be
+\texttt{b} and \texttt{t} and assumed anything else must be
\texttt{c}. As a result, a formula starting with a bracket group would
get mangled without warning---the group being dropped and interpreted
as a request for centering. After more than 25 years this has now been
@@ -696,12 +827,18 @@ processed as part of the formula.
%
\githubissue{5}
+\subsection{Detect unicode engines when setting \cs{std@minus} and \cs{std@equal}}
+
+\pkg{amsmath} now detects the unicode engines and use their extended
+commands to define \cs{std@minus} and \cs{std@equal}. This avoids that package like
+\pkg{unicode-math} have to patch the code in the begin document hook to exchange the commands.
+
\section{Changes to the \pkg{babel} package}
Multilingual typesetting has much evolved in the past years, and
\pkg{babel}, like \LaTeX{} itself, has followed the footsteps of
-Unicode and the W3C consortiums to produce proper output in many
+Unicode and the W3C consortia to produce proper output in many
languages.
Furthermore, the traditional model to define and select languages
@@ -710,23 +847,23 @@ is still the preferred one in monolingual documents, is being extended
with a new model (which can be called \enquote{horizontal}) based on
\emph{services} provided by \pkg{babel}, which allows to define and
redefine locales with the help of simple \texttt{ini} files based on
-key/value pairs. Babel provides about of 250 of these files, which
+key/value pairs. The \pkg{babel} package provides about 250 of these files, which
have been generated with the help of the Unicode Common Language Data
Repository.
Thanks to the recent advances in \texttt{lualatex} and
-\pkg{luaotfload}, babel currently provides \emph{services} for bidi
+\pkg{luaotfload}, \pkg{babel} currently provides \emph{services} for bidi
typesetting, line breaking for South East Asian and CJK scripts,
non-standard hyphenation (like ff to ff-f), alphabetic and additive
counters, automatic selection of fonts and languages based on the
-script, etc. This means babel can be used to typeset such a variety of
+script, etc. This means \pkg{babel} can be used to typeset such a variety of
languages as Russian, Arabic, Hindi, Thai, Japanese, Bangla, Amharic,
Greek, and many others.
And since these \texttt{ini} files they are easily parsable, they can
serve as a source for other packages.
-For further details take a look at the \pkg{babel}
+For further details take a look at the \pkg{babel} package
documentation~\cite{32:babel}.
diff --git a/macros/latex-dev/base/ltoutenc.dtx b/macros/latex-dev/base/ltoutenc.dtx
index 59c20f3770..c6bfc149b7 100644
--- a/macros/latex-dev/base/ltoutenc.dtx
+++ b/macros/latex-dev/base/ltoutenc.dtx
@@ -37,14 +37,14 @@
%<TS1>\ProvidesFile{ts1enc.def}[2001/06/05 v3.0e (jk/car/fm)
%<TU>\ProvidesFile{tuenc.def}
%<package>\ProvidesPackage{fontenc}
-%<OT1|T1|OMS|OML|OT4|TU|package> [2020/04/22 v2.0p
+%<OT1|T1|OMS|OML|OT4|TU|package> [2020/08/10 v2.0s
%<OT1|T1|OMS|OML|OT4|TS1|TU> Standard LaTeX file]
%<package> Standard LaTeX package]
%
%<*driver>
% \fi
\ProvidesFile{ltoutenc.dtx}
- [2021/07/04 v2.0q LaTeX Kernel (font encodings)]
+ [2020/08/10 v2.0s LaTeX Kernel (font encodings)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutenc.dtx}
@@ -1082,8 +1082,9 @@
% deficiencies, see pr/3160.
% \task{?}{Improve this and document its problems, see pr/3160}
% \changes{v1.9z}{2000/01/30}{Macro reimplemented (pr/3160)}
+% \changes{v2.0r}{2020/07/27}{Don't make the command \cs{long} (gh/354)}
% \begin{macrocode}
-\DeclareRobustCommand\UseTextAccent[3]{%
+\DeclareRobustCommand*\UseTextAccent[3]{%
\hmode@start@before@group
{%
% \end{macrocode}
@@ -1098,8 +1099,9 @@
% \end{macrocode}
%
% \changes{v1.9z}{2000/01/30}{Macro reimplemented (pr/3160)}
+% \changes{v2.0r}{2020/07/27}{Don't make the command \cs{long} (gh/354)}
% \begin{macrocode}
-\DeclareRobustCommand\UseTextSymbol[2]{%
+\DeclareRobustCommand*\UseTextSymbol[2]{%
\hmode@start@before@group
{%
\def\@wrong@font@char{\MessageBreak
@@ -2899,12 +2901,6 @@
\else
\newluafunction\@remove@tlig@@@@
% \end{macrocode}
-% We are in the format and Lua functions can not be dumped, so we have to repeat
-% the code during |\everyjob|. Therefore we first define a helper to both execute
-% some code and same it for |\everyjob|:
-% \begin{macrocode}
- \def\now@and@everyjob#1{\toksapp\everyjob{#1}#1}
-% \end{macrocode}
% Now we can define the function. Mostly we just have to insert a protected glyph
% node, which is a glyph node with subtype 256. But we have to keep track of the
% current mode to avoid inserting the glyph into a vlist.
diff --git a/macros/latex-dev/base/ltoutput.dtx b/macros/latex-dev/base/ltoutput.dtx
index c3b27baf42..35d049b959 100644
--- a/macros/latex-dev/base/ltoutput.dtx
+++ b/macros/latex-dev/base/ltoutput.dtx
@@ -37,7 +37,7 @@
%<*driver>
% \fi
\ProvidesFile{ltoutput.dtx}
- [2019/08/27 v1.4e LaTeX Kernel (Output Routine)]
+ [2020/08/21 v1.4f LaTeX Kernel (Output Routine)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltoutput.dtx}
@@ -791,12 +791,17 @@
%
% The stuff in the box should not add any typeset material to the
% page when it is unboxed.
+%
+% This interface is no longer used. Instead a new one is inside
+% \texttt{ltshipout.dtx}. We only keep the box in case some old
+% code refers to it directly (or we do some rollback).
+% \changes{v1.4f}{2020/08/21}{Integration of new hook management interface}
% \begin{macrocode}
\newbox\@begindvibox
-\DeclareRobustCommand \AtBeginDvi [1]{%
- \global \setbox \@begindvibox
- \vbox{\unvbox \@begindvibox #1}%
-}
+%\DeclareRobustCommand \AtBeginDvi [1]{%
+% \global \setbox \@begindvibox
+% \vbox{\unvbox \@begindvibox #1}%
+%}
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex-dev/base/ltpage.dtx b/macros/latex-dev/base/ltpage.dtx
index f926f33060..8c7aac0a7b 100644
--- a/macros/latex-dev/base/ltpage.dtx
+++ b/macros/latex-dev/base/ltpage.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltpage.dtx}
- [2019/08/27 v1.0l LaTeX Kernel (page style setup)]
+ [2020/07/27 v1.0m LaTeX Kernel (page style setup)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltpage.dtx}
@@ -201,8 +201,9 @@
% expansion, CAR}
% \changes{v1.0j}{2000/05/26}{Reimplementation to fix expansion
% error (pr/3203).}
+% \changes{v1.0m}{2020/07/27}{Don't make the command \cs{long} (gh/354)}
% \begin{macrocode}
-\DeclareRobustCommand\markboth[2]{%
+\DeclareRobustCommand*\markboth[2]{%
\begingroup
\let\label\relax \let\index\relax \let\glossary\relax
\unrestored@protected@xdef\@themark {{#1}{#2}}%
@@ -212,8 +213,9 @@
\if@nobreak\ifvmode\nobreak\fi\fi}
% \end{macrocode}
%
+% \changes{v1.0m}{2020/07/27}{Don't make the command \cs{long} (gh/354)}
% \begin{macrocode}
-\DeclareRobustCommand\markright[1]{%
+\DeclareRobustCommand*\markright[1]{%
\begingroup
\let\label\relax \let\index\relax \let\glossary\relax
% \end{macrocode}
diff --git a/macros/latex-dev/base/ltpictur.dtx b/macros/latex-dev/base/ltpictur.dtx
index bdac744e83..5bef40375c 100644
--- a/macros/latex-dev/base/ltpictur.dtx
+++ b/macros/latex-dev/base/ltpictur.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltpictur.dtx}
- [2020/05/12 v1.1o LaTeX Kernel (Picture Mode)]
+ [2020/08/14 v1.2a LaTeX Kernel (Picture Mode)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltpictur.dtx}
@@ -191,6 +191,45 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\@defaultunitsset}
+% \changes{v1.2a}{2020/08/15}{Macro added}
+% Set a length register, |#1|,
+% accepting number or an etex length expression, |#2|,
+% with default unit, |#3|.
+%
+% The register name in |#1| can be prefixed by |\advance| so that
+% the register is incremented by the supplied value.
+%
+% |\@defaultunitsset{\advance\@vxx}{\textwidth-15pt}\unitlength|
+%
+% |#3| can be a literal unit such as |cm| or a length register such
+% as |\unitlength|.
+%
+% This is used in all |picture| commands that take picture coordinates.
+% So |\put(2,2)| as previously but now |\put(\textwidth-5cm,0.4\texteight)|
+% Note that you can only use expressions with lengths, |\put(1+2,0)| is not
+% supported.
+%
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@defaultunitsset}{default units}%
+\def\@defaultunitsset#1#2#3{%
+ \@defaultunits#1\dimexpr#2#3\relax\relax\@nnil}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@defaultunitsset}{default units}%
+%<latexrelease>\let\@defaultunitsset\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
% \begin{environment}{picture}
% \begin{macro}{\picture}
% \changes{v0.1c}{1994/04/28}{(DPC) Ignore spaces before (}
@@ -208,12 +247,34 @@
%
% \begin{macro}{\@picture}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@picture}{default units}%
\def\@picture(#1,#2)(#3,#4){%
- \@picht#2\unitlength
- \setbox\@picbox\hb@xt@#1\unitlength\bgroup
- \hskip -#3\unitlength
- \lower #4\unitlength\hbox\bgroup
+ \@defaultunitsset\@picht{#2}\unitlength
+ \@defaultunitsset\@tempdimc{#1}\unitlength
+ \setbox\@picbox\hb@xt@\@tempdimc\bgroup
+ \@defaultunitsset\@tempdimc{#3}\unitlength
+ \hskip -\@tempdimc
+ \@defaultunitsset\@tempdimc{#4}\unitlength
+ \lower\@tempdimc\hbox\bgroup
\ignorespaces}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@picture}{default units}%
+%<latexrelease>\def\@picture(#1,#2)(#3,#4){%
+%<latexrelease> \@picht#2\unitlength
+%<latexrelease> \setbox\@picbox\hb@xt@#1\unitlength\bgroup
+%<latexrelease> \hskip -#3\unitlength
+%<latexrelease> \lower #4\unitlength\hbox\bgroup
+%<latexrelease> \ignorespaces}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -237,10 +298,34 @@
% changed 20 Jul 87).
%
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\put}{default units}%
+%<latexrelease>\expandafter\let\csname put \endcsname\@undefind
\long\def\put(#1,#2)#3{%
- \@killglue\raise#2\unitlength
- \hb@xt@\z@{\kern#1\unitlength #3\hss}%
+ \@killglue
+ \@defaultunitsset\@tempdimc{#2}\unitlength
+ \raise\@tempdimc
+ \hb@xt@\z@{%
+ \@defaultunitsset\@tempdimc{#1}\unitlength
+ \kern\@tempdimc
+ #3\hss}%
\ignorespaces}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\put}{default units}%
+%<latexrelease>\expandafter\let\csname put \endcsname\@undefind
+%<latexrelease>\long\def\put(#1,#2)#3{%
+%<latexrelease> \@killglue\raise#2\unitlength
+%<latexrelease> \hb@xt@\z@{\kern#1\unitlength #3\hss}%
+%<latexrelease> \ignorespaces}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
%
%
@@ -248,23 +333,63 @@
% \changes{v0.1c}{1994/04/28}{(DPC) Ignore spaces between )(}
% |#3| had better be a |(|.
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\multiput}{default units}%
+%<latexrelease>\expandafter\let\csname multiput \endcsname\@undefind
\def\multiput(#1,#2)#3{%
- \@xdim #1\unitlength
- \@ydim #2\unitlength
+ \@defaultunitsset\@xdim{#1}\unitlength
+ \@defaultunitsset\@ydim{#2}\unitlength
\@multiput(}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\multiput}{default units}%
+%<latexrelease>\expandafter\let\csname multiput \endcsname\@undefind
+%<latexrelease>\def\multiput(#1,#2)#3{%
+%<latexrelease> \@xdim #1\unitlength
+%<latexrelease> \@ydim #2\unitlength
+%<latexrelease> \@multiput(}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\multiput}
+% \begin{macro}{\@multiput}
% \changes{v0.1c}{1994/04/28}{(DPC) Macro added}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@multiput}{default units}%
\long\def\@multiput(#1,#2)#3#4{%
\@killglue\@multicnt #3\relax
\@whilenum \@multicnt >\z@\do
{\raise\@ydim\hb@xt@\z@{\kern\@xdim #4\hss}%
\advance\@multicnt\m@ne
- \advance\@xdim#1\unitlength\advance\@ydim#2\unitlength}%
+ \@defaultunitsset{\advance\@xdim}{#1}\unitlength
+ \@defaultunitsset{\advance\@ydim}{#2}\unitlength}%
\ignorespaces}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@multiput}{default units}%
+%<latexrelease>\long\def\@multiput(#1,#2)#3#4{%
+%<latexrelease> \@killglue\@multicnt #3\relax
+%<latexrelease> \@whilenum \@multicnt >\z@\do
+%<latexrelease> {\raise\@ydim\hb@xt@\z@{\kern\@xdim #4\hss}%
+%<latexrelease> \advance\@multicnt\m@ne
+%<latexrelease> \advance\@xdim#1\unitlength\advance\@ydim#2\unitlength}%
+%<latexrelease> \ignorespaces}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -289,8 +414,9 @@
%
% \begin{macro}{\linethickness}
% \changes{v1.1n}{2020/02/14}{Suppress spaces following the declaration (gh/274)}
+% \changes{v1.1p}{2020/07/27}{Don't make the command \cs{long} (gh/354)}
% \begin{macrocode}
-\DeclareRobustCommand\linethickness[1]
+\DeclareRobustCommand*\linethickness[1]
{\@wholewidth #1\relax \@halfwidth .5\@wholewidth \ignorespaces}
% \end{macrocode}
% \end{macro}
@@ -531,13 +657,35 @@
%
% \begin{macro}{\line}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\line}{default units}%
+%<latexrelease>\expandafter\let\csname line \endcsname\@undefind
\def\line(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
- \@linelen #3\unitlength
+ \@defaultunitsset\@linelen{#3}\unitlength
\ifdim\@linelen<\z@\@badlinearg\else
\ifnum\@xarg =\z@ \@vline
\else \ifnum\@yarg =\z@ \@hline \else \@sline\fi
\fi
\fi}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\line}{default units}%
+%<latexrelease>\expandafter\let\csname line \endcsname\@undefind
+%<latexrelease>\def\line(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+%<latexrelease> \@linelen #3\unitlength
+%<latexrelease> \ifdim\@linelen<\z@\@badlinearg\else
+%<latexrelease> \ifnum\@xarg =\z@ \@vline
+%<latexrelease> \else \ifnum\@yarg =\z@ \@hline \else \@sline\fi
+%<latexrelease> \fi
+%<latexrelease> \fi}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -621,16 +769,41 @@
%
% \begin{macro}{\vector}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\vector}{default units}%
+%<latexrelease>\expandafter\let\csname vector \endcsname\@undefind
\def\vector(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
\@tempcnta \ifnum\@xarg<\z@ -\@xarg\else\@xarg\fi
\ifnum\@tempcnta<5\relax
- \@linelen #3\unitlength
+ \@defaultunitsset\@linelen{#3}\unitlength
\ifdim\@linelen<\z@\@badlinearg\else
\ifnum\@xarg =\z@ \@vvector
\else \ifnum\@yarg =\z@ \@hvector \else \@svector\fi
\fi
\fi
\else\@badlinearg\fi}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\vector}{default units}%
+%<latexrelease>\expandafter\let\csname vector \endcsname\@undefind
+%<latexrelease>\def\vector(#1,#2)#3{\@xarg #1\relax \@yarg #2\relax
+%<latexrelease> \@tempcnta \ifnum\@xarg<\z@ -\@xarg\else\@xarg\fi
+%<latexrelease> \ifnum\@tempcnta<5\relax
+%<latexrelease> \@linelen #3\unitlength
+%<latexrelease> \ifdim\@linelen<\z@\@badlinearg\else
+%<latexrelease> \ifnum\@xarg =\z@ \@vvector
+%<latexrelease> \else \ifnum\@yarg =\z@ \@hvector \else \@svector\fi
+%<latexrelease> \fi
+%<latexrelease> \fi
+%<latexrelease> \else\@badlinearg\fi}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -824,11 +997,17 @@
%
% \begin{macro}{\dashbox}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\dashbox}{default units}%
+%<latexrelease>\expandafter\let\csname dashbox \endcsname\@undefind
\def\dashbox#1(#2,#3){\leavevmode\hb@xt@\z@{\baselineskip \z@skip
\lineskip \z@skip
-\@dashdim #2\unitlength
+\@defaultunitsset\@dashdim{#2}\unitlength
\@dashcnt \@dashdim \advance\@dashcnt 200
-\@dashdim #1\unitlength\divide\@dashcnt \@dashdim
+\@defaultunitsset\@dashdim{#1}\unitlength
+\divide\@dashcnt \@dashdim
\ifodd\@dashcnt\@dashdim \z@
\advance\@dashcnt \@ne \divide\@dashcnt \tw@
\else \divide\@dashdim \tw@ \divide\@dashcnt \tw@
@@ -840,15 +1019,19 @@
\put(#2,#3){\hskip-\@dashdim\box\@dashbox}%
\multiply\@dashdim \thr@@
\fi
-\setbox\@dashbox \hbox{\vrule \@height \@halfwidth \@depth \@halfwidth
-\@width #1\unitlength\hskip #1\unitlength}\@tempcnta\z@
+\setbox\@dashbox \hbox{%
+ \@defaultunitsset\@tempdimc{#1}\unitlength
+ \vrule \@height \@halfwidth \@depth \@halfwidth \@width \@tempdimc
+ \hskip\@tempdimc}%
+\@tempcnta\z@
\put(0,0){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
\do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta\z@
\put(0,#3){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
\do{\copy\@dashbox\advance\@tempcnta \@ne }}%
-\@dashdim #3\unitlength
+\@defaultunitsset\@dashdim{#3}\unitlength
\@dashcnt \@dashdim \advance\@dashcnt 200
-\@dashdim #1\unitlength\divide\@dashcnt \@dashdim
+\@defaultunitsset\@dashdim{#1}\unitlength
+\divide\@dashcnt \@dashdim
\ifodd\@dashcnt \@dashdim \z@
\advance\@dashcnt \@ne \divide\@dashcnt \tw@
\else
@@ -862,14 +1045,79 @@
\put(#2,#3){\lower\@dashdim\copy\@dashbox}%
\multiply\@dashdim \thr@@
\fi
-\setbox\@dashbox\hbox{\vrule \@width \@wholewidth
-\@height #1\unitlength}\@tempcnta\z@
+\@defaultunitsset\@tempdimb{#1}\unitlength
+\setbox\@dashbox\hbox{%
+ \vrule \@width \@wholewidth \@height\@tempdimb}%
+\@tempcnta\z@
\put(0,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta <\@dashcnt
-\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
+\do{\vskip\@tempdimb\copy\@dashbox\advance\@tempcnta \@ne }%
\vskip\@dashdim}}\@tempcnta\z@
\put(#2,0){\hskip -\@halfwidth \vbox{\@whilenum \@tempcnta<\@dashcnt
-\do{\vskip #1\unitlength\copy\@dashbox\advance\@tempcnta \@ne }%
+\do{\vskip\@tempdimb\copy\@dashbox\advance\@tempcnta \@ne }%
\vskip\@dashdim}}}\@makepicbox(#2,#3)}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\dashbox}{default units}%
+%<latexrelease>\expandafter\let\csname dashbox \endcsname\@undefind
+%<latexrelease>\def\dashbox#1(#2,#3){%
+%<latexrelease>\leavevmode\hb@xt@\z@{\baselineskip \z@skip
+%<latexrelease>\lineskip \z@skip
+%<latexrelease>\@dashdim #2\unitlength
+%<latexrelease>\@dashcnt \@dashdim \advance\@dashcnt 200
+%<latexrelease>\@dashdim #1\unitlength\divide\@dashcnt \@dashdim
+%<latexrelease>\ifodd\@dashcnt\@dashdim \z@
+%<latexrelease>\advance\@dashcnt \@ne \divide\@dashcnt \tw@
+%<latexrelease>\else \divide\@dashdim \tw@ \divide\@dashcnt \tw@
+%<latexrelease>\advance\@dashcnt \m@ne
+%<latexrelease>\setbox\@dashbox \hbox{%
+%<latexrelease> \vrule \@height \@halfwidth \@depth \@halfwidth
+%<latexrelease> \@width \@dashdim}\put(0,0){\copy\@dashbox}%
+%<latexrelease>\put(0,#3){\copy\@dashbox}%
+%<latexrelease>\put(#2,0){\hskip-\@dashdim\copy\@dashbox}%
+%<latexrelease>\put(#2,#3){\hskip-\@dashdim\box\@dashbox}%
+%<latexrelease>\multiply\@dashdim \thr@@
+%<latexrelease>\fi
+%<latexrelease>\setbox\@dashbox \hbox{%
+%<latexrelease> \vrule \@height \@halfwidth \@depth \@halfwidth
+%<latexrelease> \@width #1\unitlength\hskip #1\unitlength}\@tempcnta\z@
+%<latexrelease>\put(0,0){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
+%<latexrelease>\do{\copy\@dashbox\advance\@tempcnta \@ne }}\@tempcnta\z@
+%<latexrelease>\put(0,#3){\hskip\@dashdim \@whilenum \@tempcnta <\@dashcnt
+%<latexrelease>\do{\copy\@dashbox\advance\@tempcnta \@ne }}%
+%<latexrelease>\@dashdim #3\unitlength
+%<latexrelease>\@dashcnt \@dashdim \advance\@dashcnt 200
+%<latexrelease>\@dashdim #1\unitlength\divide\@dashcnt \@dashdim
+%<latexrelease>\ifodd\@dashcnt \@dashdim \z@
+%<latexrelease>\advance\@dashcnt \@ne \divide\@dashcnt \tw@
+%<latexrelease>\else
+%<latexrelease>\divide\@dashdim \tw@ \divide\@dashcnt \tw@
+%<latexrelease>\advance\@dashcnt \m@ne
+%<latexrelease>\setbox\@dashbox\hbox{\hskip -\@halfwidth
+%<latexrelease>\vrule \@width \@wholewidth
+%<latexrelease>\@height \@dashdim}\put(0,0){\copy\@dashbox}%
+%<latexrelease>\put(#2,0){\copy\@dashbox}%
+%<latexrelease>\put(0,#3){\lower\@dashdim\copy\@dashbox}%
+%<latexrelease>\put(#2,#3){\lower\@dashdim\copy\@dashbox}%
+%<latexrelease>\multiply\@dashdim \thr@@
+%<latexrelease>\fi
+%<latexrelease>\setbox\@dashbox\hbox{\vrule \@width \@wholewidth
+%<latexrelease>\@height #1\unitlength}\@tempcnta\z@
+%<latexrelease>\put(0,0){%
+%<latexrelease> \hskip -\@halfwidth \vbox{\@whilenum \@tempcnta <\@dashcnt
+%<latexrelease> \do{\vskip #1\unitlength\copy\@dashbox
+%<latexrelease> \advance\@tempcnta\@ne }%
+%<latexrelease> \vskip\@dashdim}}\@tempcnta\z@
+%<latexrelease>\put(#2,0){%
+%<latexrelease> \hskip -\@halfwidth \vbox{\@whilenum \@tempcnta<\@dashcnt
+%<latexrelease> \do{\vskip #1\unitlength\copy\@dashbox
+%<latexrelease> \advance\@tempcnta \@ne }%
+%<latexrelease> \vskip\@dashdim}}}\@makepicbox(#2,#3)}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -1164,12 +1412,26 @@
% \begin{macrocode}
\newif\if@ovvline \@ovvlinetrue
\newif\if@ovhline \@ovhlinetrue
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@ovhlinetrue}%
+%<latexrelease> {Avoid almost zero length leaders}%
+%<latexrelease>\let\if@ovvline\@undefined
+%<latexrelease>\let\if@ovhline\@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\@oval}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@oval}{default units}%
\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
\@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
% \end{macrocode}
@@ -1178,9 +1440,10 @@
\@ovvlinefalse \@ovhlinefalse
% \end{macrocode}
% \begin{macrocode}
- \@tfor\reserved@a :=#3\do{\csname @ov\reserved@a false\endcsname}%
- \@ovxx #1\unitlength
- \@ovyy #2\unitlength
+ \@tfor\reserved@a :=#3\do{%
+ \csname @ov\reserved@a false\endcsname}%
+ \@defaultunitsset\@ovxx{#1}\unitlength
+ \@defaultunitsset\@ovyy{#2}\unitlength
% \end{macrocode}
% \changes{v1.1l}{2016/03/29}{add setting of line tests}
% \begin{macrocode}
@@ -1208,11 +1471,79 @@
\advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
\@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
\endgroup}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{2016/03/31}%
+%<latexrelease> {\@oval}{default units}%
+%<latexrelease>\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
+%<latexrelease> \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
+%<latexrelease> \@ovvlinefalse \@ovhlinefalse
+%<latexrelease> \@tfor\reserved@a :=#3\do{%
+%<latexrelease> \csname @ov\reserved@a false\endcsname}%
+%<latexrelease> \@ovxx #1\unitlength
+%<latexrelease> \@ovyy #2\unitlength
+%<latexrelease> \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx \@ovvlinetrue
+%<latexrelease> \else \@ovyy \ifdim \@ovyy =\@ovxx \else \@ovhlinetrue
+%<latexrelease> \fi\fi
+%<latexrelease> \advance \@tempdimb -2\p@
+%<latexrelease> \@getcirc \@tempdimb
+%<latexrelease> \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
+%<latexrelease> \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
+%<latexrelease> \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
+%<latexrelease> \ifdim \@ovdx >\z@ \@ovhlinetrue \fi
+%<latexrelease> \ifdim \@ovdy >\z@ \@ovvlinetrue \fi
+%<latexrelease> \@circlefnt \setbox\@tempboxa
+%<latexrelease> \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
+%<latexrelease> \if@ovl
+%<latexrelease> \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx
+%<latexrelease> \fi
+%<latexrelease> \if@ovt \@ovhorz \kern -\@ovxx \fi
+%<latexrelease> \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
+%<latexrelease> \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
+%<latexrelease> \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
+%<latexrelease> \endgroup}
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@oval}{default units}%
+%<latexrelease>\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
+%<latexrelease> \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
+%<latexrelease> \@tfor\reserved@a :=#3\do
+%<latexrelease> {\csname @ov\reserved@a false\endcsname}%
+%<latexrelease> \@ovxx #1\unitlength
+%<latexrelease> \@ovyy #2\unitlength
+%<latexrelease> \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
+%<latexrelease> \advance \@tempdimb -2\p@
+%<latexrelease> \@getcirc \@tempdimb
+%<latexrelease> \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
+%<latexrelease> \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
+%<latexrelease> \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
+%<latexrelease> \@circlefnt \setbox\@tempboxa
+%<latexrelease> \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
+%<latexrelease> \if@ovl
+%<latexrelease> \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx
+%<latexrelease> \fi
+%<latexrelease> \if@ovt \@ovhorz \kern -\@ovxx \fi
+%<latexrelease> \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
+%<latexrelease> \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
+%<latexrelease> \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
+%<latexrelease> \endgroup}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@ovvert}
% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2016/03/31}%
+%<latexrelease> {\@ovvert}{Avoid almost zero length leaders}%
+%<*2ekernel|latexrelease>
\def\@ovvert#1#2{\vbox to\@ovyy{%
\if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
\kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
@@ -1228,11 +1559,32 @@
\if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
\hbox{\char \@tempcntb}%
\else \kern \@ovdy \kern \@ovro \fi}}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@ovvert}{Avoid almost zero length leaders}%
+%<latexrelease>\def\@ovvert#1#2{\vbox to\@ovyy{%
+%<latexrelease> \if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
+%<latexrelease> \kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
+%<latexrelease> \else \kern \@ovri \kern \@ovdy \fi
+%<latexrelease> \leaders\vrule \@width \@wholewidth\vfil \nointerlineskip
+%<latexrelease> \if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
+%<latexrelease> \hbox{\char \@tempcntb}%
+%<latexrelease> \else \kern \@ovdy \kern \@ovro \fi}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@ovhorz}
% \begin{macrocode}
+%</2ekernel>
+%<latexrelease>\IncludeInRelease{2016/03/31}%
+%<latexrelease> {\@ovhorz}{Avoid almost zero length leaders}%
+%<*2ekernel|latexrelease>
\def\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
\if@ovr \else \kern \@ovdx \fi
% \end{macrocode}
@@ -1241,51 +1593,18 @@
% \begin{macrocode}
\if@ovhline \leaders \hrule \@height \@wholewidth \fi
% \end{macrocode}
+%
% \begin{macrocode}
\hfil
\if@ovl \else \kern \@ovdx \fi
\kern \@ovri}}
+%</2ekernel|latexrelease>
% \end{macrocode}
-% \end{macro}
-%
+%
% \begin{macrocode}
-%</2ekernel|latexrelease>
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
-%<latexrelease> {\@ovhlinetrue}%
-%<latexrelease> {Avoid almost zero length leaders}%
-%<latexrelease>\let\if@ovvline\@undefined
-%<latexrelease>\let\if@ovhline\@undefined
-%<latexrelease>\def\@oval(#1,#2)[#3]{\begingroup\boxmaxdepth \maxdimen
-%<latexrelease> \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
-%<latexrelease> \@tfor\reserved@a :=#3\do
-%<latexrelease> {\csname @ov\reserved@a false\endcsname}%
-%<latexrelease> \@ovxx #1\unitlength
-%<latexrelease> \@ovyy #2\unitlength
-%<latexrelease> \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
-%<latexrelease> \advance \@tempdimb -2\p@
-%<latexrelease> \@getcirc \@tempdimb
-%<latexrelease> \@ovro \ht\@tempboxa \@ovri \dp\@tempboxa
-%<latexrelease> \@ovdx\@ovxx \advance\@ovdx -\@tempdima \divide\@ovdx \tw@
-%<latexrelease> \@ovdy\@ovyy \advance\@ovdy -\@tempdima \divide\@ovdy \tw@
-%<latexrelease> \@circlefnt \setbox\@tempboxa
-%<latexrelease> \hbox{\if@ovr \@ovvert32\kern -\@tempdima \fi
-%<latexrelease> \if@ovl
-%<latexrelease> \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx
-%<latexrelease> \fi
-%<latexrelease> \if@ovt \@ovhorz \kern -\@ovxx \fi
-%<latexrelease> \if@ovb \raise \@ovyy \@ovhorz \fi}\advance\@ovdx\@ovro
-%<latexrelease> \advance\@ovdy\@ovro \ht\@tempboxa\z@ \dp\@tempboxa\z@
-%<latexrelease> \@put{-\@ovdx}{-\@ovdy}{\box\@tempboxa}%
-%<latexrelease> \endgroup}
-%<latexrelease>\def\@ovvert#1#2{\vbox to\@ovyy{%
-%<latexrelease> \if@ovb \@tempcntb \@tempcnta \advance \@tempcntb #1\relax
-%<latexrelease> \kern -\@ovro \hbox{\char \@tempcntb}\nointerlineskip
-%<latexrelease> \else \kern \@ovri \kern \@ovdy \fi
-%<latexrelease> \leaders\vrule \@width \@wholewidth\vfil \nointerlineskip
-%<latexrelease> \if@ovt \@tempcntb \@tempcnta \advance \@tempcntb #2\relax
-%<latexrelease> \hbox{\char \@tempcntb}%
-%<latexrelease> \else \kern \@ovdy \kern \@ovro \fi}}
+%<latexrelease> {\@ovhorz}{Avoid almost zero length leaders}%
%<latexrelease>\def\@ovhorz{\hb@xt@\@ovxx{\kern \@ovro
%<latexrelease> \if@ovr \else \kern \@ovdx \fi
%<latexrelease> \leaders \hrule \@height \@wholewidth \hfil
@@ -1294,6 +1613,7 @@
%<latexrelease>\EndIncludeInRelease
%<*2ekernel>
% \end{macrocode}
+% \end{macro}
%
% \begin{macro}{\circle}
% \changes{LaTeX2.09}{1993/08/05}
@@ -1305,8 +1625,13 @@
%
% \begin{macro}{\@circle}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@circle}{default units}%
\def\@circle#1{%
- \begingroup \boxmaxdepth \maxdimen \@tempdimb #1\unitlength
+ \begingroup \boxmaxdepth \maxdimen
+ \@defaultunitsset\@tempdimb{#1}\unitlength
\ifdim \@tempdimb >15.5\p@ \@getcirc\@tempdimb
\@ovro\ht\@tempboxa
\setbox\@tempboxa\hbox{\@circlefnt
@@ -1317,13 +1642,52 @@
\box\@tempboxa}\ht\@tempboxa\z@ \dp\@tempboxa\z@
\@put{-\@ovro}{-\@ovro}{\box\@tempboxa}%
\else \@circ\@tempdimb{96}\fi\endgroup}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@circle}{default units}%
+%<latexrelease>\def\@circle#1{%
+%<latexrelease> \begingroup \boxmaxdepth \maxdimen \@tempdimb #1\unitlength
+%<latexrelease> \ifdim \@tempdimb >15.5\p@ \@getcirc\@tempdimb
+%<latexrelease> \@ovro\ht\@tempboxa
+%<latexrelease> \setbox\@tempboxa\hbox{\@circlefnt
+%<latexrelease> \advance\@tempcnta\tw@ \char \@tempcnta
+%<latexrelease> \advance\@tempcnta\m@ne \char \@tempcnta
+%<latexrelease> \kern -2\@tempdima
+%<latexrelease> \advance\@tempcnta\tw@
+%<latexrelease> \raise \@tempdima \hbox{\char\@tempcnta}%
+%<latexrelease> \raise \@tempdima
+%<latexrelease> \box\@tempboxa}\ht\@tempboxa\z@ \dp\@tempboxa\z@
+%<latexrelease> \@put{-\@ovro}{-\@ovro}{\box\@tempboxa}%
+%<latexrelease> \else \@circ\@tempdimb{96}\fi\endgroup}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\@dot}
% Internal form of |\circle*|.
% \begin{macrocode}
-\def\@dot#1{\@tempdimb #1\unitlength \@circ\@tempdimb{112}}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@dot}{default units}%
+\def\@dot#1{%
+ \@defaultunitsset\@tempdimb{#1}\unitlength
+ \@circ\@tempdimb{112}}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@dot}{default units}%
+%<latexrelease>\def\@dot#1{\@tempdimb #1\unitlength \@circ\@tempdimb{112}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
@@ -1503,35 +1867,45 @@
%
% \begin{macro}{\@bezier}
% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\@bezier}{default units}%
\def\@bezier#1(#2,#3)(#4,#5)(#6,#7){%
\ifnum #1=\z@
- \@ovxx #4\unitlength
- \advance\@ovxx -#2\unitlength
+ \@defaultunitsset\@ovxx{#4}\unitlength
+ \@defaultunitsset{\advance\@ovxx}{-#2}\unitlength
\ifdim \@ovxx<\z@ \@ovxx -\@ovxx \fi
- \@ovdx #6\unitlength
- \advance\@ovdx -#4\unitlength
+ \@defaultunitsset\@ovdx{#6}\unitlength
+ \@defaultunitsset{\advance\@ovdx}{-#4}\unitlength
\ifdim \@ovdx<\z@ \@ovdx -\@ovdx \fi
\ifdim \@ovxx<\@ovdx \@ovxx \@ovdx \fi
- \@ovyy #5\unitlength
- \advance\@ovyy -#3\unitlength
+ \@defaultunitsset\@ovyy{#5}\unitlength
+ \@defaultunitsset{\advance\@ovyy}{-#3}\unitlength
\ifdim \@ovyy<\z@ \@ovyy -\@ovyy \fi
- \@ovdy #7\unitlength
- \advance\@ovdy -#5\unitlength
+ \@defaultunitsset\@ovdy{#7}\unitlength
+ \@defaultunitsset{\advance\@ovdy}{-#5}\unitlength
\ifdim \@ovdy<\z@ \@ovdy -\@ovdy \fi
\ifdim \@ovyy<\@ovdy \@ovyy \@ovdy \fi
\@multicnt
\ifdim \@ovxx>\@ovyy \@ovxx \else \@ovyy \fi
\@ovxx .5\@halfwidth \divide\@multicnt\@ovxx
- \ifnum \qbeziermax<\@multicnt \@multicnt\qbeziermax\relax \fi
+ \ifnum \qbeziermax<\@multicnt
+ \@multicnt\qbeziermax\relax
+ \fi
\else \@multicnt#1\relax \fi
\@tempcnta\@multicnt \advance\@tempcnta\@ne
- \@ovdx #4\unitlength \advance\@ovdx -#2\unitlength
+ \@defaultunitsset\@ovdx{#4}\unitlength
+ \@defaultunitsset{\advance\@ovdx}{-#2}\unitlength
\multiply\@ovdx \tw@
- \@ovxx #6\unitlength \advance\@ovxx -#2\unitlength
+ \@defaultunitsset\@ovxx{#6}\unitlength
+ \@defaultunitsset{\advance\@ovxx}{-#2}\unitlength
\advance\@ovxx -\@ovdx \divide\@ovxx\@multicnt
- \@ovdy #5\unitlength \advance\@ovdy -#3\unitlength
+ \@defaultunitsset\@ovdy{#5}\unitlength
+ \@defaultunitsset{\advance\@ovdy}{-#3}\unitlength
\multiply\@ovdy \tw@
- \@ovyy #7\unitlength \advance\@ovyy -#3\unitlength
+ \@defaultunitsset\@ovyy{#7}\unitlength
+ \@defaultunitsset{\advance\@ovyy}{-#3}\unitlength
\advance\@ovyy -\@ovdy \divide\@ovyy\@multicnt
% \end{macrocode}
%
@@ -1557,6 +1931,67 @@
\hb@xt@\z@{\kern\@xdim
\unhcopy\@tempboxa\hss}%
\advance\count@\@ne}}}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\@bezier}{default units}%
+%<latexrelease>\def\@bezier#1(#2,#3)(#4,#5)(#6,#7){%
+%<latexrelease> \ifnum #1=\z@
+%<latexrelease> \@ovxx #4\unitlength
+%<latexrelease> \advance\@ovxx -#2\unitlength
+%<latexrelease> \ifdim \@ovxx<\z@ \@ovxx -\@ovxx \fi
+%<latexrelease> \@ovdx #6\unitlength
+%<latexrelease> \advance\@ovdx -#4\unitlength
+%<latexrelease> \ifdim \@ovdx<\z@ \@ovdx -\@ovdx \fi
+%<latexrelease> \ifdim \@ovxx<\@ovdx \@ovxx \@ovdx \fi
+%<latexrelease> \@ovyy #5\unitlength
+%<latexrelease> \advance\@ovyy -#3\unitlength
+%<latexrelease> \ifdim \@ovyy<\z@ \@ovyy -\@ovyy \fi
+%<latexrelease> \@ovdy #7\unitlength
+%<latexrelease> \advance\@ovdy -#5\unitlength
+%<latexrelease> \ifdim \@ovdy<\z@ \@ovdy -\@ovdy \fi
+%<latexrelease> \ifdim \@ovyy<\@ovdy \@ovyy \@ovdy \fi
+%<latexrelease> \@multicnt
+%<latexrelease> \ifdim \@ovxx>\@ovyy \@ovxx \else \@ovyy \fi
+%<latexrelease> \@ovxx .5\@halfwidth \divide\@multicnt\@ovxx
+%<latexrelease> \ifnum
+%<latexrelease> \qbeziermax<\@multicnt \@multicnt\qbeziermax\relax
+%<latexrelease> \fi
+%<latexrelease> \else \@multicnt#1\relax \fi
+%<latexrelease> \@tempcnta\@multicnt \advance\@tempcnta\@ne
+%<latexrelease> \@ovdx #4\unitlength \advance\@ovdx -#2\unitlength
+%<latexrelease> \multiply\@ovdx \tw@
+%<latexrelease> \@ovxx #6\unitlength \advance\@ovxx -#2\unitlength
+%<latexrelease> \advance\@ovxx -\@ovdx \divide\@ovxx\@multicnt
+%<latexrelease> \@ovdy #5\unitlength \advance\@ovdy -#3\unitlength
+%<latexrelease> \multiply\@ovdy \tw@
+%<latexrelease> \@ovyy #7\unitlength \advance\@ovyy -#3\unitlength
+%<latexrelease> \advance\@ovyy -\@ovdy \divide\@ovyy\@multicnt
+%<latexrelease> \setbox\@tempboxa\hbox{%
+%<latexrelease> \hskip -\@halfwidth
+%<latexrelease> \vrule \@height\@halfwidth
+%<latexrelease> \@depth \@halfwidth
+%<latexrelease> \@width \@wholewidth}%
+%<latexrelease> \put(#2,#3){%
+%<latexrelease> \count@\z@
+%<latexrelease> \@whilenum{\count@<\@tempcnta}\do
+%<latexrelease> {\@xdim\count@\@ovxx
+%<latexrelease> \advance\@xdim\@ovdx
+%<latexrelease> \divide\@xdim\@multicnt
+%<latexrelease> \multiply\@xdim\count@
+%<latexrelease> \@ydim\count@\@ovyy
+%<latexrelease> \advance\@ydim\@ovdy
+%<latexrelease> \divide\@ydim\@multicnt
+%<latexrelease> \multiply\@ydim\count@
+%<latexrelease> \raise \@ydim
+%<latexrelease> \hb@xt@\z@{\kern\@xdim
+%<latexrelease> \unhcopy\@tempboxa\hss}%
+%<latexrelease> \advance\count@\@ne}}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex-dev/base/ltplain.dtx b/macros/latex-dev/base/ltplain.dtx
index 0660278066..7949b836d4 100644
--- a/macros/latex-dev/base/ltplain.dtx
+++ b/macros/latex-dev/base/ltplain.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltplain.dtx}
- [2017/04/10 v2.3c LaTeX Kernel (Plain TeX)]
+ [2020/08/20 v2.3d LaTeX Kernel (Plain TeX)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltplain.dtx}
@@ -691,12 +691,32 @@
% \end{macro}
%
% \begin{macro}{\alloc@}
+% \changes{v2.3d}{2020/08/20}
+% {Define \cs{alloc@} in terms of \cs{e@alloc}}
+% Since |\e@alloc| was added in 2015, |\@alloc| has not been used,
+% but was left as some legacy code calls it. However the original
+% defnition gives spurious errors once the ``classic'' registers
+% run out, so it is now defined to call |\e@alloc| internally.
% \begin{macrocode}
-\def\alloc@#1#2#3#4#5{\global\advance\count1#1\@ne
- \ch@ck#1#4#2%
- \allocationnumber\count1#1%
- \global#3#5\allocationnumber
- \wlog{\string#5=\string#2\the\allocationnumber}}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}
+%<latexrelease> {\alloc@}{emulate alloc@}%
+\def\alloc@#1#2#3#4{\e@alloc#2#3{\count1#1}#4\float@count}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\alloc@}{emulate alloc@}%
+%<latexrelease>\def\alloc@#1#2#3#4#5{\global\advance\count1#1\@ne
+%<latexrelease> \ch@ck#1#4#2%
+%<latexrelease> \allocationnumber\count1#1%
+%<latexrelease> \global#3#5\allocationnumber
+%<latexrelease> \wlog{\string#5=\string#2\the\allocationnumber}}
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex-dev/base/ltsect.dtx b/macros/latex-dev/base/ltsect.dtx
index 9ccd042fb4..359b445f45 100644
--- a/macros/latex-dev/base/ltsect.dtx
+++ b/macros/latex-dev/base/ltsect.dtx
@@ -31,7 +31,7 @@
%%% From File: ltsect.dtx
%<*driver>
% \fi
-\ProvidesFile{ltsect.dtx}[2019/08/27 v1.1d LaTeX Kernel (Sectioning)]
+\ProvidesFile{ltsect.dtx}[2020/07/27 v1.1e LaTeX Kernel (Sectioning)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltsect.dtx}
@@ -137,20 +137,22 @@
%
% \begin{macro}{\author}
% \changes{LaTeX2e}{1993/12/11}{Added default}
+% \changes{v1.1e}{2020/07/27}{Don't make the command \cs{long} (gh/354)}
%
% |\author| for use in |\maketitle|. If not given |\maketitle| will
% produce a warning message.
%
% \begin{macrocode}
-\DeclareRobustCommand\author[1]{\gdef\@author{#1}}
+\DeclareRobustCommand*\author[1]{\gdef\@author{#1}}
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\date}
% |\date| for use in |\maketitle|. If not given |\maketitle| will
% produce |\today| as the default.
+% \changes{v1.1e}{2020/07/27}{Don't make the command \cs{long} (gh/354)}
% \begin{macrocode}
-\DeclareRobustCommand\date[1]{\gdef\@date{#1}}
+\DeclareRobustCommand*\date[1]{\gdef\@date{#1}}
% \end{macrocode}
% \end{macro}
%
@@ -776,20 +778,33 @@
% \cs{addcontentsline}. ASAJ.}
% \changes{v1.1c}{2018/09/26}{Sometimes mask the endline char when
% writing to files (github/73)}
+% \changes{v1.1e}{2020/10/01}{add a fourth argument for better
+% hyperref compability}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\addcontentsline}{fourth argument}%
+\def\addcontentsline#1#2#3{%
+% \end{macrocode}
+% We add an empty brace pair at the end of \cs{contentsline}
+% so that the number of argument is identical in documents
+% with and without hyperref.
+% \begin{macrocode}
+ \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}{}%
+ \protected@file@percent}}
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{2018/12/01}%
%<latexrelease> {\addcontentsline}{Mask line endings}%
-\def\addcontentsline#1#2#3{%
- \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}%
+%<latexrelease> \def\addcontentsline#1#2#3{%
+%<latexrelease> \addtocontents{#1}{\protect\contentsline{#2}{#3}{\thepage}%
% \end{macrocode}
% We add \cs{protected@file@percent} at the end which is turned inside
% \cs{@writefile} into a percent character to mask the newline after
% the closing argument brace.
% \begin{macrocode}
- \protected@file@percent}}
-%</2ekernel|latexrelease>
+%<latexrelease> \protected@file@percent}}
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{0000/00/00}%
%<latexrelease> {\addcontentsline}{Mask line endings}%
diff --git a/macros/latex-dev/base/ltshipout-code.pdf b/macros/latex-dev/base/ltshipout-code.pdf
index afc4ad7aee..0456d62a50 100644
--- a/macros/latex-dev/base/ltshipout-code.pdf
+++ b/macros/latex-dev/base/ltshipout-code.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltshipout-code.tex b/macros/latex-dev/base/ltshipout-code.tex
index a22dd75fb9..cc6a777ea7 100644
--- a/macros/latex-dev/base/ltshipout-code.tex
+++ b/macros/latex-dev/base/ltshipout-code.tex
@@ -1,10 +1,5 @@
% This will typeset documentation + code
%
-% However, you may first have to unpack the .sty file via
-%
-% latex ltshipout.ins
-%
-% as it is used when processing the doumentation.
\AtBeginDocument{\AlsoImplementation}
\input{ltshipout.dtx}
diff --git a/macros/latex-dev/base/ltshipout-doc.pdf b/macros/latex-dev/base/ltshipout-doc.pdf
index 95c0d8345e..da5dfd5080 100644
--- a/macros/latex-dev/base/ltshipout-doc.pdf
+++ b/macros/latex-dev/base/ltshipout-doc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltshipout-doc.tex b/macros/latex-dev/base/ltshipout-doc.tex
index de7f3e30a7..33f87d8862 100644
--- a/macros/latex-dev/base/ltshipout-doc.tex
+++ b/macros/latex-dev/base/ltshipout-doc.tex
@@ -1,10 +1,5 @@
% This will typeset only documentation but not the code
%
-% However, you may first have to unpack the .sty file via
-%
-% latex ltshipout.ins
-%
-% as it is used when processing the doumentation.
\AtBeginDocument{\OnlyDescription
% \let\tableofcontents\relax
diff --git a/macros/latex-dev/base/ltshipout.dtx b/macros/latex-dev/base/ltshipout.dtx
index 8d6150b593..650c46866e 100644
--- a/macros/latex-dev/base/ltshipout.dtx
+++ b/macros/latex-dev/base/ltshipout.dtx
@@ -1,24 +1,38 @@
% \iffalse meta-comment
-%
+%%
%% File: ltshipout.dtx (C) Copyright 2020 Frank Mittelbach, LaTeX Team
+%%
%
-% It may be distributed and/or modified under the conditions of the
-% LaTeX Project Public License (LPPL), either version 1.3c of this
-% license or (at your option) any later version. The latest version
-% of this license is in the file
+% This file is part of the LaTeX base system.
+% -------------------------------------------
%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3c
+% of this license or (at your option) any later version.
+% The latest version of this license is in
% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+%
+% This file has the LPPL maintenance status "maintained".
%
+% The list of all files belonging to the LaTeX base distribution is
+% given in the file `manifest.txt'. See also `legal.txt' for additional
+% information.
%
-% The development version of the bundle can be found below
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+%
+% \fi
%
-% https://github.com/FrankMittelbach/...
+% \iffalse
%
-% for those people who are interested or want to report an issue.
+%%% From File: ltshipout.dtx
%
% \begin{macrocode}
-\providecommand\ltshipoutversion{v0.9a}
-\providecommand\ltshipoutdate{2020/07/15}
+\providecommand\ltshipoutversion{v1.0a}
+\providecommand\ltshipoutdate{2020/08/31}
% \end{macrocode}
%
%<*driver>
@@ -53,7 +67,8 @@
%
% \long\def\fmi#1{\begin{quote}\itshape Todo: #1\end{quote}}
%
-% \newcommand\hook[1]{\texttt{#1}}
+% \providecommand\hook[1]{\texttt{#1}}
+% \providecommand\pkg[1]{\texttt{#1}}
%
%
% \title{The \texttt{ltshipout} package\thanks{This package has version
@@ -94,13 +109,13 @@
% manipulated through a set of hooks after which it is shipped out
% for real.
% \end{function}
-
+%
% \begin{variable}{\ShipoutBox,\l_shipout_box}
% This box register is called \cs{ShipoutBox} (alternatively available via the
% L3 name \cs{l_shipout_box}).
% \end{variable}
%
-
+%
% \begin{variable}{\l_shipout_box_ht_dim,
% \l_shipout_box_dp_dim,\l_shipout_box_wd_dim,
% \l_shipout_box_ht_plus_dp_dim}
@@ -136,7 +151,7 @@
% \item[\hook{shipout/background}]
%
% This hook adds a picture environment into the background of
-% the page (with the \texttt{(0,0)} coordinate in the top-left
+% the page with the \texttt{(0,0)} coordinate in the top-left
% corner using a \cs{unitlength} of \texttt{1pt}.
%
% It should therefore only receive \cs{put} commands or other
@@ -144,10 +159,6 @@
% vertical coordinate values would normally be
% negative.
%
-% \fmi{Again, mainly \pkg{atbegshi} compatibility. Not
-% sure it is best to have to always use negative
-% coordinates.}
-%
% Technically this is implemented by adding a zero-sized
% \cs{hbox} as the very first item into the \cs{ShipoutBox}
% containing that \texttt{picture} environment. Thus the rest of
@@ -157,7 +168,7 @@
% \item[\hook{shipout/foreground}]
%
% This hook adds a picture environment into the foreground of
-% the page (with the \texttt{(0,0)} coordinate in the top-left
+% the page with the \texttt{(0,0)} coordinate in the top-left
% corner using a \cs{unitlength} of \texttt{1pt}.
%
% Technically this is implemented by adding a zero-sized
@@ -171,29 +182,30 @@
% \item[\hook{shipout/firstpage}]
%
% The material from this hook is executed only once at the very
-% beginning of the first output page. It should only contain
-% \cs{special} commands needed to direct post processors
-% handling the \texttt{.dvi} or \texttt{.pdf} output.\fmi{not
-% sure it has to be that restrictive.}
+% beginning of the first output page that is shipped out (i.e.,
+% not discarded at the last minute). It should only contain
+% \cs{special} or similar commands needed to direct post processors
+% handling the \texttt{.dvi} or \texttt{.pdf} output.\footnotemark
%
-% In \LaTeXe{} that was already existing but implemented as a box
-% register \cs{@begindvibox}.
-% \fmi{drop or at least mark the obsolete code in latex.ltx}
+% ^^A \fmi{not sure it has to be that restrictive.}
%
%
% \item[\hook{shipout/lastpage}]
%
% The corresponding hook to add \cs{special}s at the very end of
-% the output file. It is only entered on the very last page.
+% the output file. It is only executed on the very last page ---
+% or rather on the page that \LaTeX{} believes is the last one.
%
-% It may not be possible for \LaTeX{} to correctly determine which page is
-% the last one without several reruns. If this happens and the
-% hook is non-empty then \LaTeX{} will add an extra page to
-% place the material and also request a rerun to get the correct
-% placement sorted out.
+% It may not be possible for \LaTeX{} to correctly determine
+% which page is the last one without several reruns. If this
+% happens and the hook is non-empty then \LaTeX{} will add an
+% extra page to place the material and also request a rerun to
+% get the correct placement sorted out.
%
% \end{description}
-% \end{variable}
+% \end{variable}\footnotetext{In
+% \LaTeXe{} that was already existing, but implemented using a box
+% register with the name \cs{@begindvibox}.}
%
% As mentioned above the hook \hook{shipout/before} is executed
% first and can manipulate the prepared shipout box stored in
@@ -280,7 +292,7 @@
% routine). More precisely, it is incremented only after it is
% clear that a page will be shipped out, i.e., after the
% \hook{shipout/before} hook (because that might discard the page)!
-
+%
% Just like with the \texttt{page} counter its value is
% only accurate within the output routine. In the body of the
% document it may be off by one as the output routine is called
@@ -314,22 +326,33 @@
% reliable inside the output routine!
% \end{variable}
%
-
+% \begin{variable}{\PreviousTotalPages}
+% \begin{syntax}
+% \cs{thetotalpages}/\cs{PreviousTotalPages}
+% \end{syntax}
+% Command that expands to the number of total pages from the
+% previous run. If there was no previous run or if usedin the
+% preamble it expands to
+% \texttt{0}. Note that this is a command to a counter, so in order
+% to display the number in, say, Roman numerals you have to assign
+% its value to a counter and then use \cs{Roman} on that counter.
+% \end{variable}
+%
%
% \subsection{Debugging shipout code}
%
-% \begin{function}{\DebugShipoutOn,\DebugShipoutOff,
+% \begin{function}{\DebugShipoutsOn,\DebugShipoutsOff,
% \shipout_debug_on:,\shipout_debug_off:}
% \begin{syntax}
-% \cs{DebugShipoutOn}
+% \cs{DebugShipoutsOn}
% \end{syntax}
% Turn the debugging of shipout code on or off. This displays
% changes made to the shipout data structures. \fmi{This needs
-% some rationalizing and will probably not stay this way.}
+% some rationalizing and may not stay this way.}
% \end{function}
%
%
-
+%
%
% \section{Emulating commands from other packages}
%
@@ -381,8 +404,8 @@
% just adding it to the hook should be sufficient.
% \end{function}
%
-
-
+%
+%
% \begin{function}{\AtBeginShipoutBox}
% This is the name of the shipout box as \pkg{atbegshi} knows it.
% \end{function}
@@ -406,13 +429,12 @@
% The \pkg{atbegshi} names for \cs{AtBeginDvi} and \cs{DiscardShipoutBox}.
% \end{function}
%
-
-
-
+%
+%
+%
% \subsection{Emulating \pkg{everyshi}}
%
-
-
+%
% \begin{function}{\EveryShipout}
% \begin{syntax}
% \cs{EveryShipout}\Arg{code} $\equiv$ \cs{AddToHook}\texttt{\{shipout/before\}}\Arg{code}
@@ -425,15 +447,15 @@
% \end{syntax}
% \end{function}
%
-
-
+%
+%
% \subsection{Emulating \pkg{atenddvi}}
%
% The \pkg{atenddvi} package implemented only a single command:
% \cs{AtEndDvi} and that is now available out of the box.
-
-
-
+%
+%
+%
% \subsection{Emulating \pkg{everypage}}
%
% This page takes over the original \cs{@begindvi} hook and replaces
@@ -448,8 +470,20 @@
%
% \section{The Implementation}
% \begin{macrocode}
-%<*2ekernel>
%<@@=shipout>
+% \end{macrocode}
+%
+% At the moment the whole module rolls back in one go, but if we
+% make any modifications in later releases this will then need
+% splitting.
+% \begin{macrocode}
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\shipout}{Hook mangement (shipout)}%
+% \end{macrocode}
+%
+%
+% \begin{macrocode}
\ExplSyntaxOn
% \end{macrocode}
%
@@ -489,24 +523,10 @@
% \end{macro}
% \end{macro}
%
-
-% \begin{macro}{shipout/before,
-% shipout/foreground,shipout/background,
-% shipout/firstpage,
-% shipout/lastpage}
-% Declaring all hooks for the shipout code.
-% \begin{macrocode}
-\hook_new:n{shipout/before}
-\hook_new:n{shipout/foreground}
-\hook_new:n{shipout/background}
-\hook_new:n{shipout/firstpage}
-\hook_new:n{shipout/lastpage}
-% \end{macrocode}
-% \end{macro}
-
-
-
-
+%
+%
+%
+%
% \begin{macro}{\ShipoutBox,\l_shipout_box}
% The box filled with the page to be shipped out (both L3 and
% \LaTeXe{} name).
@@ -518,10 +538,10 @@
\cs_set_eq:NN \ShipoutBox \l_shipout_box
% \end{macrocode}
% \end{macro}
-
-
-
-
+%
+%
+%
+%
% \begin{macro}{\@@_execute:}
% This is going to the be the code run by \cs{shipout}. The code
% follows closely the ideas from \pkg{atbegshi}, so not
@@ -535,25 +555,25 @@
}
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\shipout}
% Overloading the \cs{shipout} primitive:
% \begin{macrocode}
\cs_gset_eq:NN \shipout \@@_execute:
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\l_@@_group_level_tl}
% Helper token list to record the group level at which
% \cs{@@_execute:} is encountered. \begin{macrocode}
\tl_new:N \l_@@_group_level_tl
% \end{macrocode}
% \end{macro}
-
+%
-
+%
% \begin{macro}{\@@_execute_test_level:}
% If the group level has changed then we are still constructing
% \cs{l_shipout_box} and to continue we need to wait until the
@@ -567,8 +587,8 @@
}
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\@@_execute_cont:}
% When we have reached this point the shipout box has been
% processed and is available in \cs{l_shipout_box} and ready for
@@ -589,8 +609,10 @@
% Otherwise we assume that we will ship something and prepare for
% final adjustments (in particular setting the state of
% \cs{protect} while we are running the hook code).
+% We also save the current \cs{protect} state to restore it later.
% \begin{macrocode}
\bool_gset_false:N \g_@@_discard_bool
+ \cs_set_eq:NN \@@_saved_protect: \protect
\set@typeset@protect
% \end{macrocode}
% We also store the current shipout box dimension in registers, so that
@@ -675,13 +697,13 @@
%
% \begin{macrocode}
\@@_get_box_size:N \l_shipout_box
- \@kernel@before@shipout@foreground
\hook_if_empty:nF {shipout/foreground}
{ \@@_add_foreground_picture:n
{ \hook_use:n {shipout/foreground} } }
\hook_if_empty:nF {shipout/background}
{ \@@_add_background_picture:n
- { \hook_use:n {shipout/background} } }
+ { \@kernel@before@shipout@background
+ \hook_use:n {shipout/background} } }
% \end{macrocode}
% We then run \cs{@@_execute_firstpage_hook:} that adds
% the content of the hook \hook{shipout/firstpage} to the
@@ -713,22 +735,52 @@
\tex_shipout:D \box_use:N \l_shipout_box
}
}
+% \end{macrocode}
+% Restore the value of \cs{protect} in case \cs{shipout} is called
+% outside of the output routine (where it is automatically restored
+% because of the implicit group).
+% \begin{macrocode}
+ \cs_set_eq:NN \protect \@@_saved_protect:
}
}
% \end{macrocode}
% \end{macro}
-
-
-
-% \begin{macro}{\@kernel@after@shipout@lastpage,\@kernel@before@shipout@foreground}
-%
+%
+%
+% \begin{macro}{\@@_saved_protect:}
+% Remeber the current \cs{protect} state.
+% \begin{macrocode}
+\cs_new_eq:NN \@@_saved_protect: \protect
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{shipout/before,
+% shipout/foreground,shipout/background,
+% shipout/firstpage,
+% shipout/lastpage}
+% Declaring all hooks for the shipout code.
+% \begin{macrocode}
+\hook_new:n{shipout/before}
+\hook_new:n{shipout/foreground}
+\hook_new:n{shipout/background}
+\hook_new:n{shipout/firstpage}
+\hook_new:n{shipout/lastpage}
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macro}{\@kernel@after@shipout@lastpage,
+% \@kernel@before@shipout@background}
+% And here are the internal kernel hooks going before or after the
+% public ones where needed.
% \begin{macrocode}
\let\@kernel@after@shipout@lastpage\@empty
-\let\@kernel@before@shipout@foreground\@empty
+\let\@kernel@before@shipout@background\@empty
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\@@_execute_firstpage_hook: }
% This command adds any specials into a box and adds that to the
% very beginning of the first box shipped out. After that we
@@ -750,15 +802,15 @@
% \begin{macrocode}
\cs_gset_eq:NN \@@_execute_firstpage_hook: \prg_do_nothing:
\cs_gset:Npn \@@_add_firstpage_material:Nn ##1 ##2 {
- \PackageWarning{ltshipout}{
+ \@latex@warning{
First~ page~ is~ already~ shipped~ out,~ ignoring\MessageBreak
\string##1 }
}
}
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\g_@@_lastpage_handled_bool}
% A boolean to signal if we have already handled the
% \hook{shipout/lastpage} hook.
@@ -766,9 +818,9 @@
\bool_new:N \g_@@_lastpage_handled_bool
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
+%
% \begin{macro}{\@@_add_firstpage_material:Nn}
% This command adds material to the
% \hook{shipout/firstpage} hook. It is used in
@@ -782,13 +834,13 @@
}
% \end{macrocode}
% \end{macro}
-
-
-
-
-
-
-
+%
+%
+%
+%
+%
+%
+%
% \begin{macro}{\@@_get_box_size:N}
% Store the box dimensions in dimen registers.
% \fmi{This could/should perhaps be generalized to set height depth and
@@ -803,7 +855,7 @@
}
% \end{macrocode}
% \end{macro}
-
+%
% \begin{macro}{\l_shipout_box_ht_dim,
% \l_shipout_box_dp_dim,\l_shipout_box_wd_dim,
% \l_shipout_box_ht_plus_dp_dim}
@@ -815,20 +867,20 @@
\dim_new:N \l_shipout_box_ht_plus_dp_dim
% \end{macrocode}
% \end{macro}
-
-
-
-
-
+%
+%
+%
+%
+%
% \begin{macro}{\g_@@_discard_bool}
% Indicate whether or not the current page box should be discarded
% \begin{macrocode}
\bool_new:N \g_@@_discard_bool
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
+%
% \begin{macro}{\l_@@_tmp_box,\l_@@_saved_badness_tl}
% We need a box for the background and foreground material and a
% token register to remember badness settings as we disable them
@@ -838,8 +890,8 @@
\tl_new:N \l_@@_saved_badness_tl
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\@@_add_background_box:n}
% In standard \LaTeX{} the shipout box is always a \cs{vbox} but
% here we are allow for other usage as well, in case some package
@@ -930,10 +982,10 @@
}
% \end{macrocode}
% \end{macro}
-
-
-
-
+%
+%
+%
+%
% \begin{macro}{\@@_add_foreground_box:n}
% Foreground boxes are done in the same way, only the order and
% placement of boxes has to be done differently.
@@ -993,17 +1045,21 @@
}
% \end{macrocode}
% \end{macro}
-
-
-
-
-% \begin{macro}{\c_@@_horigin_tl,\c_@@_vorigin_tl}
+%
+%
+%
+%
+% \begin{macro}{\@@_init_page_origins:,\c_@@_horigin_tl,\c_@@_vorigin_tl}
% Two constants holding the offset of the top-left with respect to
% the media box.
%
% Setting the constants this way is courtesy of Bruno.
+%
+% We delay setting the constants to the last possible place as
+% there might be updates in the preamble or even in the
+% \hook{begindocument} hook that affects their setup.
% \begin{macrocode}
-\tl_gput_right:Nn \@kernel@after@begindocument {
+\cs_new:Npn \@@_init_page_origins: {
\tl_const:Nx \c_@@_horigin_tl
{
\cs_if_exist_use:NTF \pdfvariable { horigin }
@@ -1014,11 +1070,17 @@
\cs_if_exist_use:NTF \pdfvariable { vorigin }
{ \cs_if_exist_use:NF \pdfvorigin { 1in } }
}
+% \end{macrocode}
+% After the constants have been set there is no need to execute
+% this command again, in fact it would raise an error, so we
+% redefine it to do nothing.
+% \begin{macrocode}
+ \cs_gset_eq:NN \@@_init_page_origins: \prg_do_nothing:
}
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\@@_picture_overlay:n}
% Put the argument into a \texttt{picture} environment that doesn't take up
% any size and uses \texttt{1pt} for \cs{unitlength}.
@@ -1026,6 +1088,14 @@
% not it is not.}
% \begin{macrocode}
\cs_new:Npn \@@_picture_overlay:n #1 {
+% \end{macrocode}
+% The very first time this is executed we have ot initializes (and
+% freeze) the origins.
+% \begin{macrocode}
+ \@@_init_page_origins:
+% \end{macrocode}
+%
+% \begin{macrocode}
\kern -\c_@@_horigin_tl \scan_stop:
\vbox_to_zero:n {
\kern -\c_@@_vorigin_tl \scan_stop:
@@ -1040,20 +1110,21 @@
}
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\@@_add_background_picture:n}
% Put a \texttt{picture} env in the background of the shipout box
% with its reference point in the top-left corner.
+%
% \begin{macrocode}
\cs_new:Npn \@@_add_background_picture:n #1 {
\@@_add_background_box:n { \@@_picture_overlay:n {#1} }
}
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
+%
% \begin{macro}{\@@_add_foreground_picture:n}
%
% Put a \texttt{picture} env in the foreground of the shipout box
@@ -1064,8 +1135,8 @@
}
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\shipout_discard:}
% Request that the next shipout box should be discarded. At the
% moment this is just setting a boolean, but we may want to augment
@@ -1078,18 +1149,18 @@
}
% \end{macrocode}
% \end{macro}
-
-
-
-
+%
+%
+%
+%
% \subsection{Handling the end of job hook}
-
+%
% At the moment this is partly solved by using the existing hooks.
% But rather than putting the code into these hooks it should be
% moved to the right place directly as we shouldn't prefill hooks
% with material unless it needs to interact with other code.
%
-
+%
%
% \begin{macro}{\g_shipout_readonly_int,\ReadonlyShipoutCounter}
% We count every shipout activity that makes a page (but not those
@@ -1103,7 +1174,7 @@
\cs_new_eq:NN \ReadonlyShipoutCounter \g_shipout_readonly_int
% \end{macrocode}
% \end{macro}
-
+%
% \begin{macro}{\g_shipout_totalpages_int,\c@totalpages}
% We count every shipout attempt (even those that are discarded) in
% tis counter. It is not used in the code but may get used in user
@@ -1120,15 +1191,15 @@
% \end{macrocode}
% \end{macro}
%
-
-
-
+%
+%
+%
% \begin{macro}{\@abspage@last}
% In \cs{@abspage@last} record the number of pages from the last
% run. This is written to the \texttt{.aux} and this way made
% available to the next run. In case there is no \texttt{.aux} file
% or the statement is missing from it we initialize it with the
-% largest possible number in \TeX{}. We use this a s the default
+% largest possible number in \TeX{}. We use this as the default
% because then we are inserting the \hook{shipout/lastpage} on
% the last page (or after the last page but not on page 1 for a
% multipage document.
@@ -1136,8 +1207,8 @@
\xdef\@abspage@last{\number\maxdimen}
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\enddocument}
%
% Instead of using the hooks \hook{enddocument} and
@@ -1188,7 +1259,7 @@
{
% \end{macrocode}
% This ends up in the \texttt{.aux} so we use \LaTeXe{} names here.
-% \fmi{this needs an interface for \cs{nofiles} in expl3, doesn't at the moment!}
+% \fmi{This needs an interface for \cs{nofiles} in expl3, doesn't at the moment!}
% \begin{macrocode}
\if@filesw
\iow_now:Nx \@auxout {
@@ -1202,32 +1273,47 @@
% run but helps to keep pdf viewers happy.
% \begin{macrocode}
\bool_if:NF \g_@@_lastpage_handled_bool
- { \tex_shipout:D\vbox to\textheight{
- \hbox{\UseHook{shipout/lastpage} \@kernel@after@shipout@lastpage }
+ {
+% \end{macrocode}
+% However, making this extra page in case the hook is actually
+% empty would be forcing a rerun without any reason, so we check
+% that condition and also check if
+% \cs{@kernel@after@shipout@lastpage} contains any code. If both
+% are empty we omit the page generation.
+% \begin{macrocode}
+ \bool_lazy_and:nnF
+ { \hook_if_empty_p:n {shipout/lastpage} }
+ { \tl_if_empty_p:N \@kernel@after@shipout@lastpage }
+ {
+ \tex_shipout:D\vbox to\textheight
+ {
+ \hbox:n { \UseHook{shipout/lastpage}
+ \@kernel@after@shipout@lastpage }
% \end{macrocode}
% This extra page could be totally empty except for the hook
% content, but to help the user understanding why it is there we
% put some text into it.
% \begin{macrocode}
- \@@_excuse_extra_page:
- \null
- }
+ \@@_excuse_extra_page:
+ \null
+ }
% \end{macrocode}
-% At this point we should also signal to \LaTeX{} that a rerun is
+% At this point we also signal to \LaTeX{}'s endgame that a rerun is
% necessary so that an appropriate message can be shown on the
-% terminal.
-%
-% \fmi{integrate warning ``Rerun \ldots'' }
+% terminal. We do this by simply defining a command used as a flag and
+% tested \cs{enddocument}.
% \begin{macrocode}
- }
- }
+ \cs_gset_eq:NN \@extra@page@added \relax
+ }
+ }
+ }
}
% \end{macrocode}
% \end{macro}
% \end{macro}
-
-
-
+%
+%
+%
% \begin{macro}{\@@_excuse_extra_page:}
% Say mea culpa \ldots
% \begin{macrocode}
@@ -1248,178 +1334,401 @@
}
% \end{macrocode}
% \end{macro}
-
-
-
-
+%
+%
+% \begin{macro}{\PreviousTotalPages,\@kernel@before@begindocument}
+% In the preamble before the \texttt{aux} file was read
+% \cs{PreviousTotalPages} is always zero.
+% \begin{macrocode}
+\def\PreviousTotalPages{0}
+% \end{macrocode}
+% In the \texttt{aux} file there should be an update for
+% \cs{@abspage@last} recording the number of pages from the
+% previous run. If not that macro holds the value of
+% \cs{maxdimen}. So we test for it and update
+% \cs{PreviousTotalPages} if there was a real value. This should
+% happen just before the \hook{begindocument} hook is executed so
+% that the value can be used inside that hook.
+% \begin{macrocode}
+\g@addto@macro\@kernel@before@begindocument
+ {\ifnum\@abspage@last<\maxdimen
+ \xdef\PreviousTotalPages{\@abspage@last}\fi}
+% \end{macrocode}
+% \end{macro}
+%
+%
% \section{Legacy \LaTeXe{} interfaces}
-
-
-
+%
+%
+%
% \begin{macro}{\DiscardShipoutBox}
% Request that the next shipout box is to be discarded.
% \begin{macrocode}
\cs_new_eq:NN \DiscardShipoutBox \shipout_discard:
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\AtBeginDvi}
%
% \begin{macrocode}
-\renewcommand \AtBeginDvi {\@@_add_firstpage_material:Nn \AtBeginDvi}
+\DeclareRobustCommand \AtBeginDvi {\@@_add_firstpage_material:Nn \AtBeginDvi}
% \end{macrocode}
% \end{macro}
-
-
-% \begin{macro}{\DebugShipoutOn,\DebugShipoutOff}
+%
+%
+% \begin{macro}{\DebugShipoutsOn,\DebugShipoutsOff}
%
% \begin{macrocode}
-\cs_new_eq:NN \DebugShipoutOn \shipout_debug_on:
-\cs_new_eq:NN \DebugShipoutOff \shipout_debug_off:
+\cs_new_eq:NN \DebugShipoutsOn \shipout_debug_on:
+\cs_new_eq:NN \DebugShipoutsOff \shipout_debug_off:
% \end{macrocode}
% \end{macro}
-
-
-
-
-
+%
+%
+% \section{Internal commands needed elsewhere}
+%
+% These internal commands use double and triple \texttt{@} signs so
+% we need to stop getting them translated to the module name.
+% \begin{macrocode}
+%<@@=>
+% \end{macrocode}
+%
+% \begin{macro}{\@expl@@@shipout@add@firstpage@material@@Nn,
+% \@expl@@@shipout@add@background@box@@n,
+% \@expl@@@shipout@add@foreground@box@@n,
+% \@expl@@@shipout@add@background@picture@@n,
+% \@expl@@@shipout@add@foreground@picture@@n}
+% Some internals needed elsewhere.
+%
+% \begin{macrocode}
+\cs_set_eq:NN \@expl@@@shipout@add@firstpage@material@@Nn
+ \__shipout_add_firstpage_material:Nn
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_set_eq:NN \@expl@@@shipout@add@background@box@@n
+ \__shipout_add_background_box:n
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_set_eq:NN \@expl@@@shipout@add@foreground@box@@n
+ \__shipout_add_foreground_box:n
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_set_eq:NN \@expl@@@shipout@add@background@picture@@n
+ \__shipout_add_background_picture:n
+% \end{macrocode}
+%
+% \begin{macrocode}
+\cs_set_eq:NN \@expl@@@shipout@add@foreground@picture@@n
+ \__shipout_add_foreground_picture:n
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+\ExplSyntaxOff
+%</2ekernel|latexrelease>
+%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+%
+% Rolling back here doesn't undefine the interface commands as they
+% may be used in packages without rollback functionality. So we
+% just make them do nothing which may or may not work depending on
+% the code usage.
+%
+% \begin{macrocode}
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\shipout}{The hook management (shipout)}%
+%<latexrelease>\expandafter\let\expandafter\shipout\csname tex_shipout:D\endcsname
+%<latexrelease>
+%<latexrelease>\let \ShipoutBox\@undefined
+%<latexrelease>\let \ReadonlyShipoutCounter \@undefined
+%<latexrelease>\let \c@totalpages \@undefined
+%<latexrelease>\let \thetotalpages \@undefined
+%<latexrelease>
+%<latexrelease>\let \DiscardShipoutBox \@undefined
+%<latexrelease>\let \DebugShipoutsOn \@undefined
+%<latexrelease>\let \DebugShipoutsOff \@undefined
+%<latexrelease>
+%<latexrelease>\DeclareRobustCommand \AtBeginDvi [1]{%
+%<latexrelease> \global \setbox \@begindvibox
+%<latexrelease> \vbox{\unvbox \@begindvibox #1}%
+%<latexrelease>}
+%<latexrelease>
+%<latexrelease>\let \AtBeginShipout \@undefined
+%<latexrelease>\let \AtBeginShipoutNext \@undefined
+%<latexrelease>
+%<latexrelease>\let \AtBeginShipoutFirst \@undefined
+%<latexrelease>
+%<latexrelease>\let \ShipoutBoxHeight \@undefined
+%<latexrelease>\let \ShipoutBoxDepth \@undefined
+%<latexrelease>\let \ShipoutBoxWidth \@undefined
+%<latexrelease>
+%<latexrelease>\let \AtBeginShipoutDiscard \@undefined
+%<latexrelease>
+%<latexrelease>\let \AtBeginShipoutAddToBox \@undefined
+%<latexrelease>\let \AtBeginShipoutAddToBoxForeground \@undefined
+%<latexrelease>\let \AtBeginShipoutUpperLeft \@undefined
+%<latexrelease>\let \AtBeginShipoutUpperLeftForeground \@undefined
+%<latexrelease>
+%<latexrelease>
+% \end{macrocode}
+% We do not undo a substitution when rolling back. As the file
+% support gets undone the underlying data is no longer used (and
+% sufficiently obscure that should not interfer with existing
+% commands) and properly removing it would mean we need to make the
+% \cs{unclare@...} and its support macros available in all earlier
+% kernel releases which is pointless (and actually worse).
+% \begin{macrocode}
+%\undeclare@file@substitution{everyshi.sty}{everyshi-ltx.sty}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>
+%<latexrelease>\let \AtEndDvi \@undefined
+% \end{macrocode}
+% We do not reenable a disabled package load when rolling back. As the file
+% support gets undone the underlying data is no longer checked (and
+% sufficiently obscure that it should not interfer with existing
+% commands) and properly removing it would mean we need to make the
+% \cs{reenable@package@load} command available in all earlier
+% kernel releases which is pointless (and actually worse).
+% \begin{macrocode}
+%\reenable@package@load{atenddvi}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+%
+%
+%
+%
% \section{Package emulation for compatibility}
-
-
+%
+%
+% \subsection{Package \pkg{atenddvi} emulation}
+%
+%
+% \begin{macro}{\AtEndDvi}
+% This package has only one public command to simulating it is easy
+% and actually sensible to provide as part of the kernel.
+% \begin{macrocode}
+%</2ekernel>
+%<*2ekernel|latexrelease>
+%<latexrelease>\IncludeInRelease{2020/10/01}%
+%<latexrelease> {\AtEndDvi}{atenddvi emulation}%
+\ExplSyntaxOn
+\cs_new:Npn \AtEndDvi {\AddToHook{shipout/lastpage}}
+\ExplSyntaxOff
+% \end{macrocode}
+% As the package is integrate we prevent loading (no need to roll that back):
+% \begin{macrocode}
+\disable@package@load{atenddvi}
+ {\PackageWarning{atenddvi}
+ {Functionality of this package is already\MessageBreak
+ provided by LaTeX.\MessageBreak\MessageBreak
+ It is there no longer necessary to load it\MessageBreak
+ and you can safely remove it.\MessageBreak
+ Found on}}
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</2ekernel|latexrelease>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>\IncludeInRelease{0000/00/00}%
+%<latexrelease> {\AtEndDvi}{atenddvi emulation}%
+%<latexrelease>\let \AtEndDvi \@undefined
+%<latexrelease>\EndIncludeInRelease
+%<*2ekernel>
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
+% \begin{macrocode}
+%</2ekernel>
+% \end{macrocode}
+%
+%
% \subsection{Package \pkg{atbegshi} emulation}
-
+%
+%
+%
+%
+%
+% \begin{macrocode}
+%<*atbegshi-ltx>
+\ProvidesPackage{atbegshi}
+ [2020/08/17 v1.0a
+ Emulation of the original atbegshi package^^Jwith kernel methods]
+% \end{macrocode}
+%
+%
% \begin{macro}{\AtBeginShipoutBox}
% \begin{macrocode}
-\cs_new_eq:NN \AtBeginShipoutBox \ShipoutBox
+\let \AtBeginShipoutBox \ShipoutBox
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
% \begin{macro}{\AtBeginShipoutInit}
% Compatibility only, we aren't delaying \ldots
% \begin{macrocode}
-\cs_set_eq:NN\AtBeginShipoutInit\@empty
+\let \AtBeginShipoutInit \@empty
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
% \begin{macro}{\AtBeginShipout,\AtBeginShipoutNext}
% Filling hooks
% \begin{macrocode}
-\newcommand\AtBeginShipout {\AddToHook{shipout/before}}
-\newcommand\AtBeginShipoutNext {\AddToHookNext{shipout/before}}
+\def \AtBeginShipout {\AddToHook{shipout/before}}
+\def \AtBeginShipoutNext {\AddToHookNext{shipout/before}}
% \end{macrocode}
% \end{macro}
-
-
-
+%
+%
% \begin{macro}{\AtBeginShipoutFirst}
% Slightly more complex as we need to know the name of the command under which the
% \hook{shipout/firstpage} hook is filled.
% \begin{macrocode}
-\newcommand\AtBeginShipoutFirst{\@@_add_firstpage_material:Nn \AtBeginShipoutFirst}
+\def \AtBeginShipoutFirst
+ {\@expl@@@shipout@add@firstpage@material@@Nn \AtBeginShipoutFirst}
% \end{macrocode}
% \end{macro}
-
-
-
-% This is somewhat different from the original where
-% \cs{ShipoutBoxHeight} etc.\ only holds the \verb=\the\ht<box>= value. This
-% may has some implications in some use cases and if that is a problem
-% then it might need changing.
-%
-% \begin{macrocode}
-\cs_new:Npn \ShipoutBoxHeight { \dim_use:N \l_shipout_box_ht_dim }
-\cs_new:Npn \ShipoutBoxDepth { \dim_use:N \l_shipout_box_dp_dim }
-\cs_new:Npn \ShipoutBoxWidth { \dim_use:N \l_shipout_box_wd_dim }
-% \end{macrocode}
-
-
+%
+%
% \begin{macro}{\AtBeginShipoutDiscard}
% Just a different name.
% \begin{macrocode}
-\cs_new_eq:NN \AtBeginShipoutDiscard \DiscardShipoutBox
+\let \AtBeginShipoutDiscard \DiscardShipoutBox
% \end{macrocode}
% \end{macro}
-
-
+%
+%
% \begin{macro}{\AtBeginShipoutAddToBox,\AtBeginShipoutAddToBoxForeground,
% \AtBeginShipoutUpperLeft,\AtBeginShipoutUpperLeftForeground}
% We don't expose them.
% \begin{macrocode}
-\cs_new_eq:NN \AtBeginShipoutAddToBox \@@_add_background_box:n
-\cs_new_eq:NN \AtBeginShipoutAddToBoxForeground \@@_add_foreground_box:n
+\let \AtBeginShipoutAddToBox
+ \@expl@@@shipout@add@background@box@@n
+\let \AtBeginShipoutAddToBoxForeground
+ \@expl@@@shipout@add@foreground@box@@n
% \end{macrocode}
%
% \begin{macrocode}
-\cs_new_eq:NN\AtBeginShipoutUpperLeft \@@_add_background_picture:n
-\cs_new_eq:NN\AtBeginShipoutUpperLeftForeground \@@_add_foreground_picture:n
+\let \AtBeginShipoutUpperLeft
+ \@expl@@@shipout@add@background@picture@@n
+\let \AtBeginShipoutUpperLeftForeground
+ \@expl@@@shipout@add@foreground@picture@@n
% \end{macrocode}
% \end{macro}
-
%
%
-% We prevent the package \pkg{atbegshi} from loading:
+%
+% \begin{macro}{\ShipoutBoxHeight,\ShipoutBoxWidth,\ShipoutoBoxDepth}
+% This is somewhat different from the original in \pkg{atbegshi}
+% where \cs{ShipoutBoxHeight} etc.\ only holds the
+% \verb=\the\ht<box>= value. This may has some implications in some
+% use cases and if that is a problem then it might need changing.
% \begin{macrocode}
-\expandafter\cs_set_eq:NN\csname ver@atbegshi.sty\endcsname\fmtversion
+\ExplSyntaxOn
+\cs_new:Npn \ShipoutBoxHeight { \dim_use:N \l_shipout_box_ht_dim }
+\cs_new:Npn \ShipoutBoxDepth { \dim_use:N \l_shipout_box_dp_dim }
+\cs_new:Npn \ShipoutBoxWidth { \dim_use:N \l_shipout_box_wd_dim }
+\ExplSyntaxOff
% \end{macrocode}
-% \pkg{hyperref} code (and \pkg{ltxcmds}) doesn't understand 2020-10-01
-% and thinks it is before 1994, so for now \ldots
+% \end{macro}
+%
+%
% \begin{macrocode}
-\@namedef {ver@atbegshi.sty}{2020/10/01}
+%</atbegshi-ltx>
% \end{macrocode}
-
-
-
-% \subsection{Package \pkg{everyshi} emulation}
%
-% \begin{macro}{\EveryShipout,\AtNextShipout}
-% This package has only two public commands to simulating it is easy:
+% If the package is requested we substitute the one above:
% \begin{macrocode}
-\cs_new_eq:NN\EveryShipout\AtBeginShipout
-\cs_new_eq:NN\AtNextShipout\AtBeginShipoutNext
+%<*2ekernel>
+\declare@file@substitution{atbegshi.sty}{atbegshi-ltx.sty}
+%</2ekernel>
% \end{macrocode}
-% \end{macro}
+%
+%
+%
+%
+%
+%
+% \subsection{Package \pkg{everyshi} emulation}
%
% \begin{macrocode}
-\expandafter\cs_set_eq:NN\csname ver@everyshi.sty\endcsname\fmtversion
-\@namedef {ver@everyshi.sty}{2020/10/01}
+%<*everyshi-ltx>
% \end{macrocode}
-
-
-
-% \subsection{Package \pkg{atenddvi} emulation}
%
-% \begin{macro}{\AtEndDvi}
-% This package has only one public command to simulating it is easy:
% \begin{macrocode}
-\cs_new:Npn \AtEndDvi {\AddToHook{shipout/lastpage}}
+\ProvidesPackage{everyshi}
+ [2020/08/17 v1.0a
+ Emulation of the original everyshi package^^Jwith kernel methods]
+% \end{macrocode}
+%
+% \begin{macro}{\EveryShipout,\AtNextShipout}
+% This package has only two public commands so simulating it is easy:
+% \begin{macrocode}
+\def \EveryShipout {\AddToHook{shipout/before}}
+\def \AtNextShipout {\AddToHookNext{shipout/before}}
% \end{macrocode}
% \end{macro}
%
+% \begin{macrocode}
+% This is one difference between \pkg{everyshi} and the kernel
+% implementation, the latter does not directly use box 255.
+%
+% For usage by ordinary users this makes no difference but of a
+% package use complicated code together with \pkg{everyshi} and
+% directly manipulates box 255 then this package needs updating.
+% In most cases the updates are simple because the kernel offers
+% hooks that makes such complicated code unnecessary.
%
+% We therefore add a little file into the adjusted package
% \begin{macrocode}
-\expandafter\cs_set_eq:NN\csname ver@atenddvi.sty\endcsname\fmtversion
-\@namedef {ver@atenddvi.sty}{2020/10/01}
+%%
+%% In normal circumstances the above emulation is sufficient and in
+%% all known packages (we know of) that use everyshi it either works or
+%% the packages have been adjusted.
+%%
+%% Code that directly manipulates box 255, however, might fail.
+%% If that is the case look at the shipout hooks offered now as
+%% they are normally sufficienct to avoid such minpulations (or
+%% replace box 255 with \ShipoutBox in the code.
+%%
+%</everyshi-ltx>
% \end{macrocode}
-
-
-
-
+%
+%
+% If the package is requested we substitute the one above:
% \begin{macrocode}
-\ExplSyntaxOff
+%<*2ekernel>
+\declare@file@substitution{everyshi.sty}{everyshi-ltx.sty}
%</2ekernel>
% \end{macrocode}
-
+%
+%
+% Rather important :-)
+% \begin{macrocode}
+%<@@=>
+% \end{macrocode}
+%
% \Finale
%
-
-
+%
+%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\endinput
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
diff --git a/macros/latex-dev/base/ltvers.dtx b/macros/latex-dev/base/ltvers.dtx
index ff6c9ef244..f02a9cdc47 100644
--- a/macros/latex-dev/base/ltvers.dtx
+++ b/macros/latex-dev/base/ltvers.dtx
@@ -115,7 +115,7 @@
{2020-10-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{-7}
+\def\patch@level{-8}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
diff --git a/macros/latex-dev/base/ltx3info.pdf b/macros/latex-dev/base/ltx3info.pdf
index 978ee6da26..66f3630d67 100644
--- a/macros/latex-dev/base/ltx3info.pdf
+++ b/macros/latex-dev/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltxdoc.dtx b/macros/latex-dev/base/ltxdoc.dtx
index 3b82ccd759..696af32ab1 100644
--- a/macros/latex-dev/base/ltxdoc.dtx
+++ b/macros/latex-dev/base/ltxdoc.dtx
@@ -30,7 +30,7 @@
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{ltxdoc}
-%<class> [2020/05/17 v2.0z Standard LaTeX documentation class]
+%<class> [2020/08/21 v2.1a Standard LaTeX documentation class]
%
%<*driver>
\documentclass{ltxdoc}
@@ -54,6 +54,7 @@
%
% \changes{v2.0i}{1994/04/29}{Update the documentation.}
% \changes{v2.0s}{1998/08/17}{(RmS) Documentation fixes.}
+% \changes{v2.1a}{2020/08/21}{Integration of new hook management interface}
%
% \section{Documentation of the \LaTeX\ sources}
%
@@ -422,6 +423,8 @@
\def\partname{File}
% \end{macrocode}
%
+%
+%
% \changes{v2.0z}{2020/05/17}{Support spaces \emph{within} filenames
% (gh/218)}
% \begin{macrocode}
@@ -435,7 +438,8 @@
\ifnum\@auxout=\@partaux
\@latexerr{\string\include\space cannot be nested}\@eha
\else
- \set@curr@file@trim@spaces{#1}%
+ \set@curr@file{#1}%
+ \edef\@curr@file{\@strip@tex@ext\@curr@file}%
\expandafter\@docinclude\expandafter{\@curr@file}
\fi}
\def\@docinclude#1 {\clearpage
@@ -445,6 +449,7 @@
\if@tempswa \let\@auxout\@partaux \if@filesw
\immediate\openout\@partaux "#1.aux"
\immediate\write\@partaux{\relax}\fi
+\@filehook@set@CurrentFile
% \end{macrocode}
% We need to save (and later restore) various index-related
% commands which might be changed by the included file.
diff --git a/macros/latex-dev/base/ltxdoc.pdf b/macros/latex-dev/base/ltxdoc.pdf
index f6e9112d73..a366dd9d9e 100644
--- a/macros/latex-dev/base/ltxdoc.pdf
+++ b/macros/latex-dev/base/ltxdoc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/ltxref.dtx b/macros/latex-dev/base/ltxref.dtx
index 9818757149..56ae09c165 100644
--- a/macros/latex-dev/base/ltxref.dtx
+++ b/macros/latex-dev/base/ltxref.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltxref.dtx}
- [2020/05/07 v1.1n LaTeX Kernel (Cross Referencing)]
+ [2020/08/23 v1.1o LaTeX Kernel (Cross Referencing)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltxref.dtx}
@@ -318,7 +318,9 @@
% \begin{macro}{\refstepcounter}
% Step the counter and allow for labels to point to its current value.
% \changes{v1.1n}{2020/05/05}{record the counter name in \cs{@currentcounter}}
+% \changes{v1.1o}{2020/08/23}{add default definition of \cs{@currentcounter}}
% \begin{macrocode}
+\def\@currentcounter{}
\def\refstepcounter#1{\stepcounter{#1}%
\edef\@currentcounter{#1}%
\protected@edef\@currentlabel
@@ -385,6 +387,7 @@
%<latexrelease>\EndIncludeInRelease
%<latexrelease>\IncludeInRelease{2019/10/01}%
%<latexrelease> {\refstepcounter}{Add \labelformat and \Ref}%
+%<latexrelease>\let\@currentcounter\@undefined
%<latexrelease>\def\refstepcounter#1{\stepcounter{#1}%
%<latexrelease> \protected@edef\@currentlabel
%<latexrelease> {\csname p@#1\expandafter\endcsname\csname the#1\endcsname}%
diff --git a/macros/latex-dev/base/makeindx.pdf b/macros/latex-dev/base/makeindx.pdf
index 3b35cf18bf..c95d21b584 100644
--- a/macros/latex-dev/base/makeindx.pdf
+++ b/macros/latex-dev/base/makeindx.pdf
Binary files differ
diff --git a/macros/latex-dev/base/manifest.txt b/macros/latex-dev/base/manifest.txt
index 20866ec2d9..449b250ee8 100644
--- a/macros/latex-dev/base/manifest.txt
+++ b/macros/latex-dev/base/manifest.txt
@@ -129,6 +129,13 @@
% preload.dtx -- Code for preloading fonts.
% tulm.fdd -- Font definitions for TU latin modern fonts.
%
+% L3 Programming layer:
+% -----------------
+%
+% ltexpl.dtx -- Basic support
+% lthooks.dtx -- Hook management
+% ltfilehook.dtx -- Hook management for file loading
+% ltshipout.dtx -- Hook management for \shipout
%
% Standard Classes:
% -----------------
diff --git a/macros/latex-dev/base/manual.pdf b/macros/latex-dev/base/manual.pdf
index c0e6bba420..f18a49e872 100644
--- a/macros/latex-dev/base/manual.pdf
+++ b/macros/latex-dev/base/manual.pdf
Binary files differ
diff --git a/macros/latex-dev/base/modguide.pdf b/macros/latex-dev/base/modguide.pdf
index 1a7d261cd3..f898b44b83 100644
--- a/macros/latex-dev/base/modguide.pdf
+++ b/macros/latex-dev/base/modguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/nfssfont.pdf b/macros/latex-dev/base/nfssfont.pdf
index b1f82eb3eb..cb94d382b9 100644
--- a/macros/latex-dev/base/nfssfont.pdf
+++ b/macros/latex-dev/base/nfssfont.pdf
Binary files differ
diff --git a/macros/latex-dev/base/proc.pdf b/macros/latex-dev/base/proc.pdf
index b86a51575c..a2cf1a4b2e 100644
--- a/macros/latex-dev/base/proc.pdf
+++ b/macros/latex-dev/base/proc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slides.pdf b/macros/latex-dev/base/slides.pdf
index 73f6b017a8..43cd65b902 100644
--- a/macros/latex-dev/base/slides.pdf
+++ b/macros/latex-dev/base/slides.pdf
Binary files differ
diff --git a/macros/latex-dev/base/slifonts.pdf b/macros/latex-dev/base/slifonts.pdf
index 1236827191..5343749f64 100644
--- a/macros/latex-dev/base/slifonts.pdf
+++ b/macros/latex-dev/base/slifonts.pdf
Binary files differ
diff --git a/macros/latex-dev/base/source2e.pdf b/macros/latex-dev/base/source2e.pdf
index 2e8a083187..671b4cf280 100644
--- a/macros/latex-dev/base/source2e.pdf
+++ b/macros/latex-dev/base/source2e.pdf
Binary files differ
diff --git a/macros/latex-dev/base/source2e.tex b/macros/latex-dev/base/source2e.tex
index 3529d43737..e74c424d72 100644
--- a/macros/latex-dev/base/source2e.tex
+++ b/macros/latex-dev/base/source2e.tex
@@ -69,7 +69,7 @@ page_precedence "rnaA"
-\documentclass{ltxdoc}
+\documentclass{source2edoc}
\listfiles
@@ -242,10 +242,14 @@ page_precedence "rnaA"
\DocInclude{ltvers} % Current version date
- \DocInclude{ltluatex} % Luatex support
+ \DocInclude{ltluatex} % luatex support
+
+ \DocInclude{ltexpl} % L3 programming layer integration
\DocInclude{ltdefns} % Initial definitions.
+ \DocInclude{lthooks} % Hook management (L3 module)
+
\DocInclude{ltalloc} % Allocation of counters and others.
\DocInclude{ltcntrl} % Program control macros.
@@ -314,10 +318,14 @@ page_precedence "rnaA"
\DocInclude{ltpage} % \pagestyle \raggedbottom \sloppy
- \DocInclude{ltoutput} % Output routine
-
\DocInclude{ltclass} % Package & Class interface
+ \DocInclude{ltfilehook} % Hook management for files (L3 module)
+
+ \DocInclude{ltshipout}% \shipout redefinition (L3 module)
+
+ \DocInclude{ltoutput} % Output routine
+
\DocInclude{lthyphen} % Hyphenation (hyphen.ltx).
\DocInclude{ltfinal} % Last minute initialisations and dump
diff --git a/macros/latex-dev/base/source2edoc.cls b/macros/latex-dev/base/source2edoc.cls
new file mode 100644
index 0000000000..5b6700039c
--- /dev/null
+++ b/macros/latex-dev/base/source2edoc.cls
@@ -0,0 +1,228 @@
+
+% This class is buggy and needs fixing
+
+\ProvidesClass{source2edoc}
+ [2020/08/16 v0.1 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
+\AddToHook{begindocument}{\MakeShortVerb \|} % but readd | as one
+
+%\ShowHook{begindocument}
+
+
+
+% l3doc's def are buggy (already fixed there but not distributed yet)
+\ExplSyntaxOn
+\RenewDocumentCommand \DocInclude { m }
+ {
+ \relax\clearpage
+ \docincludeaux
+ \IfFileExists{#1.fdd}
+ { \cs_set:Npn \currentfile{#1.fdd} }
+ { \cs_set:Npn \currentfile{#1.dtx} }
+ \int_compare:nNnTF \@auxout = \@partaux
+ { \@latexerr{\string\include\space cannot~be~nested}\@eha }
+ { \@docinclude {#1} } % <--- braces needed!
+ }
+\cs_gset:Npn \@docinclude #1
+ {
+ \clearpage
+ \immediate\write\@mainaux{\string\@input{#1.aux}}
+ \@tempswatrue
+ \if@partsw
+ \@tempswafalse
+ \cs_set:Npx \@tempb {#1}
+ \clist_map_inline:Nn \@partlist
+ {
+ \if_meaning:w \@tempa \@tempb
+ \@tempswatrue
+ \fi:
+ }
+ \fi
+ \if@tempswa
+ \cs_set_eq:NN \@auxout \@partaux
+ \immediate\openout\@partaux #1.aux
+ \immediate\write\@partaux{\relax}
+ \cs_set_eq:NN \@ltxdoc@PrintIndex \PrintIndex
+ \cs_set_eq:NN \PrintIndex \relax
+ \cs_set_eq:NN \@ltxdoc@PrintChanges \PrintChanges
+ \cs_set_eq:NN \PrintChanges \relax
+ \cs_set_eq:NN \@ltxdoc@theglossary \theglossary
+ \cs_set_eq:NN \@ltxdoc@endtheglossary \endtheglossary
+ \part{\currentfile}
+ {
+ \cs_set_eq:NN \ttfamily\relax
+ \cs_gset:Npx \filekey
+ { \filekey,~ \thepart = { \ttfamily \currentfile } } % <-- mising spaces considered harmful
+ }
+ \DocInput{\currentfile}
+ \cs_set_eq:NN \PrintIndex \@ltxdoc@PrintIndex
+ \cs_set_eq:NN \PrintChanges \@ltxdoc@PrintChanges
+ \cs_set_eq:NN \theglossary \@ltxdoc@theglossary
+ \cs_set_eq:NN \endtheglossary \@ltxdoc@endtheglossary
+ \clearpage
+ \@writeckpt{#1}
+ \immediate \closeout \@partaux
+ \else
+ \@nameuse{cp@#1}
+ \fi
+ \cs_set_eq:NN \@auxout \@mainaux
+ }
+\ExplSyntaxOff
+
+\def\partname{File}
+
+
+\gdef\codeline@wrindex#1{\if@filesw
+ \begingroup
+ \let\protect\noexpand
+ \immediate\write\@indexfile
+ {\string\indexentry{#1}%
+ {\filesep\number\c@CodelineNo}}%
+ \endgroup\fi}
+\let\filesep\@empty
+\def\aalph#1{\@aalph{\csname c@#1\endcsname}}
+\def\@aalph#1{%
+ \ifcase#1\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\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}
+\def\docincludeaux{%
+ \def\thepart{\aalph{part}}\def\filesep{\thepart-}%
+ \let\filekey\@gobble
+ \g@addto@macro\index@prologue{%
+ \gdef\@oddfoot{\parbox[t]{\textwidth}{\strut\footnotesize
+ \raggedright{\bfseries File Key:} \filekey}}%
+ \let\@evenfoot\@oddfoot}%
+ \global\let\docincludeaux\relax
+ \gdef\@oddfoot{%
+ \expandafter\ifx\csname ver@\currentfile\endcsname\relax
+ File \thepart: {\ttfamily\currentfile} %
+ \else
+ \GetFileInfo{\currentfile}%
+ File \thepart: {\ttfamily\filename} %
+ Date: \filedate\ %
+ Version \fileversion
+ \fi
+ \hfill\thepage}%
+ \let\@evenfoot\@oddfoot}%
+\def\MaintainedBy#1{\gdef\@maintainedby{#1}}
+\let\@maintainedby\@empty
+\def\MaintainedByLaTeXTeam#1{%
+{\gdef\@maintainedby{%
+This file is maintained by the \LaTeX{} Project team.\\%
+Bug reports can be opened (category \texttt{#1}) at\\%
+\url{https://latex-project.org/bugs.html}.}}}
+\def\@maketitle{%
+ \newpage
+ \null
+ \vskip 2em%
+ \begin{center}%
+ \let \footnote \thanks
+ {\LARGE \@title \par}%
+ \vskip 1.5em%
+ {\large
+ \lineskip .5em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1em%
+ {\large \@date}%
+ \ifx\@maintainedby\@empty
+ \else
+ \vskip 1em%
+ \fbox{\fbox{\begin{tabular}{@{}l@{}}\@maintainedby\end{tabular}}}%
+ \fi
+ \end{center}%
+ \par
+ \vskip 1.5em}
+\providecommand\url{\texttt}
+\def\task#1#2{}
+
+
+\def\oc@scan#1{%
+ \ifx\oc@bslash#1%
+ \egroup\let\next\oc@bslash\else
+ \ifcat a\noexpand#1%
+ #1\let\next\oc@scan\else
+ \ifx\oc@percent#1%
+ \def\next{\char`\%\egroup}%
+ \else
+ #1\let\next\egroup
+ \fi\fi\fi\next}
+\def\oc@bslash{\bgroup\oc@ttf\char`\\\oc@scan}%
+\def\oc@verb#1{%
+ \catcode`#1\active
+ \uccode`\~`#1%
+ \uppercase{\def~{{\oc@ttf\char`#1}}}}
+\begingroup
+ \obeyspaces%
+ \catcode`\/=\catcode`\\
+ /catcode`/\/active
+ /catcode`<=/catcode`{%
+ /catcode`>=/catcode`}%
+ /catcode`/{/active%
+ /catcode`/}/active%
+ /gdef/oldc< \end{oldcomments}>%
+ /gdef/begmac< \begin{macrocode}>%
+ /gdef/obs</def <</oc@ttf/ >>>%
+/endgroup%
+\begingroup
+ \catcode`\/=\catcode`\\
+ \catcode`\\=13
+ /catcode`/|=/catcode`/%
+ /catcode`/%=13
+ /gdef/oldcomments{|
+ /makeatletter
+ /let/do/oc@verb/dospecials
+ /frenchspacing/@vobeyspaces/obs
+ /raggedright
+ /oc@verb/>|
+ /oc@verb/<|
+ /let\/oc@bslash
+ /let%/oc@percent
+ /obeylines
+ /parindent/z@
+ /ttfamily/expandafter/let/expandafter/oc@ttf/the/font
+ /rmfamily
+ /textit{Historical /LaTeX/,2.09 comments (not necessarily accurate any more):}
+ /hfuzz/maxdimen
+ }
+/endgroup
+\begingroup
+ \sloppy%
+ \obeylines%
+ \gdef\oc@percent#1^^M{%
+ \ifvmode%
+ \def\commentline{#1}%
+ \ifx\commentline\oldc%
+ \textit{End of historical \LaTeX\,2.09 comments.}
+ \end{oldcomments}%
+ \else%
+ \ifx\commentline\begmac%
+ \begin{macrocode}%
+ \else%
+ \leavevmode%
+ #1^^M%
+ \fi\fi%
+ \else%
+ {\oc@ttf\char`\%}#1^^M%
+ \fi}%
+\endgroup%
+
+\InputIfFileExists{ltxdoc.cfg}
+ {\typeout{*************************************^^J%
+ * Local config file ltxdoc.cfg used^^J%
+ *************************************}}
+ {}
+
+
+%\errorstopmode
+\batchmode
+
+\endinput
diff --git a/macros/latex-dev/base/syntonly.pdf b/macros/latex-dev/base/syntonly.pdf
index 689a9b868b..7b13311d3e 100644
--- a/macros/latex-dev/base/syntonly.pdf
+++ b/macros/latex-dev/base/syntonly.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tlc2.pdf b/macros/latex-dev/base/tlc2.pdf
index 4ed83c61ba..e8d6d2374a 100644
--- a/macros/latex-dev/base/tlc2.pdf
+++ b/macros/latex-dev/base/tlc2.pdf
Binary files differ
diff --git a/macros/latex-dev/base/tulm.pdf b/macros/latex-dev/base/tulm.pdf
index 858d723cf0..f1d66d765c 100644
--- a/macros/latex-dev/base/tulm.pdf
+++ b/macros/latex-dev/base/tulm.pdf
Binary files differ
diff --git a/macros/latex-dev/base/unpack.ins b/macros/latex-dev/base/unpack.ins
index ed8cb572c7..3264a401d9 100644
--- a/macros/latex-dev/base/unpack.ins
+++ b/macros/latex-dev/base/unpack.ins
@@ -123,8 +123,6 @@
\batchinput{latexrelease.ins}
-\batchinput{lthooks.ins}
-
\Msg{}
\Msg{*********************************************}
\Msg{*}
diff --git a/macros/latex-dev/base/usrguide.pdf b/macros/latex-dev/base/usrguide.pdf
index de2858ad8e..6d5beb8320 100644
--- a/macros/latex-dev/base/usrguide.pdf
+++ b/macros/latex-dev/base/usrguide.pdf
Binary files differ
diff --git a/macros/latex-dev/base/utf8ienc.pdf b/macros/latex-dev/base/utf8ienc.pdf
index 644e2935e3..8e2035df46 100644
--- a/macros/latex-dev/base/utf8ienc.pdf
+++ b/macros/latex-dev/base/utf8ienc.pdf
Binary files differ
diff --git a/macros/latex-dev/base/webcomp.pdf b/macros/latex-dev/base/webcomp.pdf
index 2e8dc80d01..6025350189 100644
--- a/macros/latex-dev/base/webcomp.pdf
+++ b/macros/latex-dev/base/webcomp.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/README.md b/macros/latex-dev/required/amsmath/README.md
index 60947e6717..c3af57bdf0 100644
--- a/macros/latex-dev/required/amsmath/README.md
+++ b/macros/latex-dev/required/amsmath/README.md
@@ -1,7 +1,7 @@
The amsmath bundle for LaTeX
============================
-Release 2020-10-01 pre-release 1
+Release 2020-10-01 pre-release 2
Overview
--------
diff --git a/macros/latex-dev/required/amsmath/amsbsy.pdf b/macros/latex-dev/required/amsmath/amsbsy.pdf
index 7c3449cd04..411cca56a3 100644
--- a/macros/latex-dev/required/amsmath/amsbsy.pdf
+++ b/macros/latex-dev/required/amsmath/amsbsy.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amscd.pdf b/macros/latex-dev/required/amsmath/amscd.pdf
index 2fba393436..6b3bfa24e1 100644
--- a/macros/latex-dev/required/amsmath/amscd.pdf
+++ b/macros/latex-dev/required/amsmath/amscd.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsgen.pdf b/macros/latex-dev/required/amsmath/amsgen.pdf
index 5a66176289..0215e1ca6f 100644
--- a/macros/latex-dev/required/amsmath/amsgen.pdf
+++ b/macros/latex-dev/required/amsmath/amsgen.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsldoc.pdf b/macros/latex-dev/required/amsmath/amsldoc.pdf
index 53ff255a9d..2913ca47dc 100644
--- a/macros/latex-dev/required/amsmath/amsldoc.pdf
+++ b/macros/latex-dev/required/amsmath/amsldoc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsmath.dtx b/macros/latex-dev/required/amsmath/amsmath.dtx
index e3ad7c6042..05b5168349 100644
--- a/macros/latex-dev/required/amsmath/amsmath.dtx
+++ b/macros/latex-dev/required/amsmath/amsmath.dtx
@@ -86,7 +86,7 @@ Bug reports can be opened (category \texttt{#1}) at\\%
% \end{macrocode}
%
% \begin{macrocode}
-\ProvidesPackage{amsmath}[2020/03/17 v2.17g AMS math features]
+\ProvidesPackage{amsmath}[2020/08/24 v2.17h AMS math features]
% \end{macrocode}
%
% \section{Catcode defenses}
@@ -480,7 +480,7 @@ For additional information on amsmath, use the \lq ?\rq\space option.%
\let\negthickspace\@undefined
% \end{macrocode}
%
-%
+%
% \changes{v2.17g}{2020/03/07}{Math/text spacing commands are now in
% the \LaTeX{} kernel and are made robust (gh/303)}
% \begin{macrocode}
@@ -2203,17 +2203,33 @@ Foreign command \@backslashchar#1;\MessageBreak
% The minus sign used in constructing these arrow fills is smashed so
% that superscripts above the arrows won't be too high. This
% primarily affects the \cn{xleftarrow} and \cn{xrightarrow} arrows.
-%
+% \changes{v2.17h}{2020/08/24}{detect unicode engines and use their commands}
% \begin{macrocode}
-\mathchardef\std@minus\mathcode`\-\relax
-\mathchardef\std@equal\mathcode`\=\relax
+\@ifundefined{Umathcode}
+ {%
+ \mathchardef\std@minus\mathcode`\-\relax
+ \mathchardef\std@equal\mathcode`\=\relax
+ }
+ {%
+ \Umathcharnumdef\std@minus\Umathcodenum`\-\relax
+ \Umathcharnumdef\std@equal\Umathcodenum`\=\relax
+ }
% \end{macrocode}
% In case some alternative math fonts are loaded later:
% \begin{macrocode}
-\AtBeginDocument{%
- \mathchardef\std@minus\mathcode`\-\relax
- \mathchardef\std@equal\mathcode`\=\relax
-}
+\@ifundefined{Umathcode}
+ {%
+ \AtBeginDocument{%
+ \mathchardef\std@minus\mathcode`\-\relax
+ \mathchardef\std@equal\mathcode`\=\relax
+ }%
+ }
+ {%
+ \AtBeginDocument{%
+ \Umathcharnumdef\std@minus\Umathcodenum`\-\relax
+ \Umathcharnumdef\std@equal\Umathcodenum`\=\relax
+ }%
+ }
% \end{macrocode}
%
% \begin{macro}{\relbar}
@@ -3725,7 +3741,7 @@ and fix things up.}
\fi
}
% \end{macrocode}
-%
+%
% \begin{macro}{\ams@pos@t}
% \begin{macro}{\ams@pos@b}
% \begin{macro}{\ams@pos@c}
@@ -3817,11 +3833,11 @@ and fix things up.}
\crcr
% \end{macrocode}
% If we picked up a bracket group by mistake here is the place to
-% return it for processing.
+% return it for processing.
% \changes{v2.17g}{2020/03/10}{Explicity test for b/t/c and return
% optional argument is different (gh/5)}
% \begin{macrocode}
- \ams@return@opt@arg
+ \ams@return@opt@arg
}
% \end{macrocode}
% \end{macro}
@@ -3920,7 +3936,7 @@ and fix things up.}
% \changes{v2.17g}{2020/03/10}{Explicity test for b/t/c and return
% optional argument is different (gh/5)}
% \begin{macrocode}
- \ams@return@opt@arg
+ \ams@return@opt@arg
}{%
\endaligned
}
diff --git a/macros/latex-dev/required/amsmath/amsmath.pdf b/macros/latex-dev/required/amsmath/amsmath.pdf
index 8a5dbcd335..03da8f969c 100644
--- a/macros/latex-dev/required/amsmath/amsmath.pdf
+++ b/macros/latex-dev/required/amsmath/amsmath.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsopn.pdf b/macros/latex-dev/required/amsmath/amsopn.pdf
index 8da892be6d..c90ae3acd2 100644
--- a/macros/latex-dev/required/amsmath/amsopn.pdf
+++ b/macros/latex-dev/required/amsmath/amsopn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amstext.pdf b/macros/latex-dev/required/amsmath/amstext.pdf
index c0e854f4c7..c88825835e 100644
--- a/macros/latex-dev/required/amsmath/amstext.pdf
+++ b/macros/latex-dev/required/amsmath/amstext.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/amsxtra.pdf b/macros/latex-dev/required/amsmath/amsxtra.pdf
index 1fb0b379fa..ee78cc1d09 100644
--- a/macros/latex-dev/required/amsmath/amsxtra.pdf
+++ b/macros/latex-dev/required/amsmath/amsxtra.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/changes.txt b/macros/latex-dev/required/amsmath/changes.txt
index bf5bbfe397..708510e19f 100644
--- a/macros/latex-dev/required/amsmath/changes.txt
+++ b/macros/latex-dev/required/amsmath/changes.txt
@@ -1,4 +1,11 @@
-2020-03-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+2020-08-24 Ulrike Fischer <Ulrike.Fischer@latex-project.org>
+
+ * amsmath.dtx (section{Extensible arrows}):
+ Detect unicode engines and use \Umathcharnumdef for
+ \std@minus and \std@equal (acc/135)
+
+
+2020-03-10 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* amsmath.dtx (subsection{Simple aligning environments}):
Explicity test for b,t,c and return optional argument is
@@ -171,4 +178,3 @@
inside indented lists (displaywidth < columnwidth). Changed the
multline/fleqn/leqno indent to match mathmargin when possible
instead of always just using multlinetaggap.
-
diff --git a/macros/latex-dev/required/amsmath/subeqn.pdf b/macros/latex-dev/required/amsmath/subeqn.pdf
index 2653db5fc6..5f25e063b4 100644
--- a/macros/latex-dev/required/amsmath/subeqn.pdf
+++ b/macros/latex-dev/required/amsmath/subeqn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/technote.pdf b/macros/latex-dev/required/amsmath/technote.pdf
index ed9eb2ff83..43850400ca 100644
--- a/macros/latex-dev/required/amsmath/technote.pdf
+++ b/macros/latex-dev/required/amsmath/technote.pdf
Binary files differ
diff --git a/macros/latex-dev/required/amsmath/testmath.pdf b/macros/latex-dev/required/amsmath/testmath.pdf
index c764b160b8..d2855aaf97 100644
--- a/macros/latex-dev/required/amsmath/testmath.pdf
+++ b/macros/latex-dev/required/amsmath/testmath.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/README.md b/macros/latex-dev/required/tools/README.md
index 1cc4996d92..5dbd1cbc9e 100644
--- a/macros/latex-dev/required/tools/README.md
+++ b/macros/latex-dev/required/tools/README.md
@@ -1,7 +1,7 @@
The LaTeX `tools` bundle
========================
-Release 2020-10-01 pre-release 4
+Release 2020-10-01 pre-release 5
Overview
--------
diff --git a/macros/latex-dev/required/tools/afterpage.pdf b/macros/latex-dev/required/tools/afterpage.pdf
index a23f13ee6d..24151928ab 100644
--- a/macros/latex-dev/required/tools/afterpage.pdf
+++ b/macros/latex-dev/required/tools/afterpage.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/array.pdf b/macros/latex-dev/required/tools/array.pdf
index af15a8f1d7..e3968b78a7 100644
--- a/macros/latex-dev/required/tools/array.pdf
+++ b/macros/latex-dev/required/tools/array.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/bm.pdf b/macros/latex-dev/required/tools/bm.pdf
index d6a1d0c8a5..12abb6c79e 100644
--- a/macros/latex-dev/required/tools/bm.pdf
+++ b/macros/latex-dev/required/tools/bm.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/calc.pdf b/macros/latex-dev/required/tools/calc.pdf
index e507bc2536..5c420671f1 100644
--- a/macros/latex-dev/required/tools/calc.pdf
+++ b/macros/latex-dev/required/tools/calc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/changes.txt b/macros/latex-dev/required/tools/changes.txt
index b06956271d..9faebdb680 100644
--- a/macros/latex-dev/required/tools/changes.txt
+++ b/macros/latex-dev/required/tools/changes.txt
@@ -5,6 +5,10 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
=======================================================================
+2020-08-11 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * varioref.dtx: Updated suppor for Japanese (gh/352 and gh/369)
+
2020-07-20 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* array.dtx (subsection{Support for \firsthline ...):
diff --git a/macros/latex-dev/required/tools/dcolumn.pdf b/macros/latex-dev/required/tools/dcolumn.pdf
index c0d24f3df9..b9914e9934 100644
--- a/macros/latex-dev/required/tools/dcolumn.pdf
+++ b/macros/latex-dev/required/tools/dcolumn.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/delarray.pdf b/macros/latex-dev/required/tools/delarray.pdf
index 4d6ad2efcd..e3b1ac1dcd 100644
--- a/macros/latex-dev/required/tools/delarray.pdf
+++ b/macros/latex-dev/required/tools/delarray.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/enumerate.pdf b/macros/latex-dev/required/tools/enumerate.pdf
index e2efd5f4e4..226573e115 100644
--- a/macros/latex-dev/required/tools/enumerate.pdf
+++ b/macros/latex-dev/required/tools/enumerate.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fileerr.pdf b/macros/latex-dev/required/tools/fileerr.pdf
index bf6941329c..b54f73fad6 100644
--- a/macros/latex-dev/required/tools/fileerr.pdf
+++ b/macros/latex-dev/required/tools/fileerr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/fontsmpl.pdf b/macros/latex-dev/required/tools/fontsmpl.pdf
index 1e989bbf8b..08555c5287 100644
--- a/macros/latex-dev/required/tools/fontsmpl.pdf
+++ b/macros/latex-dev/required/tools/fontsmpl.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/ftnright.pdf b/macros/latex-dev/required/tools/ftnright.pdf
index 21f5d84058..6443e3e09d 100644
--- a/macros/latex-dev/required/tools/ftnright.pdf
+++ b/macros/latex-dev/required/tools/ftnright.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/hhline.pdf b/macros/latex-dev/required/tools/hhline.pdf
index e5adddce65..cdd7fa9906 100644
--- a/macros/latex-dev/required/tools/hhline.pdf
+++ b/macros/latex-dev/required/tools/hhline.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/indentfirst.pdf b/macros/latex-dev/required/tools/indentfirst.pdf
index 96c0754ff7..71ca57d8db 100644
--- a/macros/latex-dev/required/tools/indentfirst.pdf
+++ b/macros/latex-dev/required/tools/indentfirst.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/layout.pdf b/macros/latex-dev/required/tools/layout.pdf
index 78737b787b..0ea20defb0 100644
--- a/macros/latex-dev/required/tools/layout.pdf
+++ b/macros/latex-dev/required/tools/layout.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/longtable.pdf b/macros/latex-dev/required/tools/longtable.pdf
index 0d6ec2e8dd..c10d2cb10a 100644
--- a/macros/latex-dev/required/tools/longtable.pdf
+++ b/macros/latex-dev/required/tools/longtable.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/multicol.pdf b/macros/latex-dev/required/tools/multicol.pdf
index 087a089b43..098067f557 100644
--- a/macros/latex-dev/required/tools/multicol.pdf
+++ b/macros/latex-dev/required/tools/multicol.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/rawfonts.pdf b/macros/latex-dev/required/tools/rawfonts.pdf
index 24240a6b22..5113add9b7 100644
--- a/macros/latex-dev/required/tools/rawfonts.pdf
+++ b/macros/latex-dev/required/tools/rawfonts.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/shellesc.pdf b/macros/latex-dev/required/tools/shellesc.pdf
index 363244517d..b38e6f22bd 100644
--- a/macros/latex-dev/required/tools/shellesc.pdf
+++ b/macros/latex-dev/required/tools/shellesc.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/showkeys.pdf b/macros/latex-dev/required/tools/showkeys.pdf
index 2651d5f308..c19eb4efdf 100644
--- a/macros/latex-dev/required/tools/showkeys.pdf
+++ b/macros/latex-dev/required/tools/showkeys.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/somedefs.pdf b/macros/latex-dev/required/tools/somedefs.pdf
index 5a8e6f9981..25c9f732af 100644
--- a/macros/latex-dev/required/tools/somedefs.pdf
+++ b/macros/latex-dev/required/tools/somedefs.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tabularx.pdf b/macros/latex-dev/required/tools/tabularx.pdf
index 29171267e0..def96dbf33 100644
--- a/macros/latex-dev/required/tools/tabularx.pdf
+++ b/macros/latex-dev/required/tools/tabularx.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/theorem.pdf b/macros/latex-dev/required/tools/theorem.pdf
index baa8ebf95e..ea4ed7695b 100644
--- a/macros/latex-dev/required/tools/theorem.pdf
+++ b/macros/latex-dev/required/tools/theorem.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/tools-overview.pdf b/macros/latex-dev/required/tools/tools-overview.pdf
index 16764202ae..201c9123ea 100644
--- a/macros/latex-dev/required/tools/tools-overview.pdf
+++ b/macros/latex-dev/required/tools/tools-overview.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/trace.pdf b/macros/latex-dev/required/tools/trace.pdf
index 4cf9f71bfd..b2bee9e62c 100644
--- a/macros/latex-dev/required/tools/trace.pdf
+++ b/macros/latex-dev/required/tools/trace.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/varioref.dtx b/macros/latex-dev/required/tools/varioref.dtx
index 06af00bc28..2bba60465e 100644
--- a/macros/latex-dev/required/tools/varioref.dtx
+++ b/macros/latex-dev/required/tools/varioref.dtx
@@ -40,7 +40,7 @@
%<package>\DeclareCurrentRelease{}{2019-10-01}
%<package>
%<package>\ProvidesPackage{varioref}
-%<package> [2020/07/20 v1.6d package for extended references (FMi)]
+%<package> [2020/08/11 v1.6e package for extended references (FMi)]
% \fi
%
%%
@@ -70,7 +70,7 @@
% \PackageWarning{inputenc}{Unicode character \expandafter
% \UTFviii@splitcsname\string##1\relax
% \MessageBreak
-% not set up for use with LaTeX}^^A
+% not set up for use with LaTeX -- ignored}^^A
% \raisebox{.8pt}{\fboxsep1pt\kern.1pt\fbox{$\cdot$}\kern.1pt}^^A
% }}
% \makeatother
@@ -230,11 +230,6 @@
% The optional argument the command may take is the text to use in case
% both labels are placed on the current page.
%
-% In some languages (currently only for Japanese) the generated text
-% has to typeset the page range first and the reference range
-% afterwards. To accomodate for this \cs{vrefrangeformat} has been
-% added to allow to alter this on a per language basis.
-%
%
% \DescribeMacro\vpagerefrange This command is similar to |\vpageref|
% but takes two mandatory arguments which are two labels denoting a
@@ -395,6 +390,8 @@
%\end{verbatim}
% textual references can be suppressed.
%
+%
+%
% \section{Multi-lingual usage}
%
% The package works well together with the babel system if it is
@@ -480,6 +477,19 @@
% describes the range of figures, tables, or whatever the labels refer
% to, the default for English is ``|\ref{#1} to~\ref{#2}|''.
%
+%
+% \NewIn{2020}
+% \DescribeMacro\vrefformat
+% \DescribeMacro\Vrefformat
+% \DescribeMacro\vrefrangeformat
+% \DescribeMacro\fullrefformat
+% In some languages (currently only for Japanese) the generated text
+% has to typeset in different word order to most other (Western) languages.
+% To accomodate for this \cs{vrefformat}, etc.\ has been
+% added to allow to alter this on a per language basis.
+% There should be normally no need to alter the setup. For details see
+% the code section.
+%
% \subsection{\ldots\ if Babel is used}
%
% \begin{itshape} If babel is being used then the above commands need to be
@@ -561,6 +571,7 @@
% |\fullref| is also provided. This command can be used whenever you
% know for sure that label and reference can't fall onto nearby pages.
%
+%
% \StopEventually{\PrintIndex\PrintChanges}
%
%
@@ -713,6 +724,9 @@
\def\reftextfaraway#1{op bladsy~\pageref{#1}}%
\def\reftextpagerange#1#2{op bladsye~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} tot~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -729,6 +743,9 @@
\def\reftextfaraway#1{on page~\pageref{#1}}%
\def\reftextpagerange#1#2{on pages~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} to~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -750,6 +767,9 @@
\def\reftextfaraway#1{بالصÙحة رقم~\pageref{#1}}%
\def\reftextpagerange#1#2{بالصÙحات~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} حتى~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -783,6 +803,9 @@
\def\reftextfaraway#1{auf Seite~\pageref{#1}}%
\def\reftextpagerange#1#2{auf Seiten~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} bis~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -801,6 +824,9 @@
\def\reftextfaraway#1{~\pageref{#1}. orrialdean}%
\def\reftextpagerange#1#2{~\pageref{#1}--\pageref{#2} orrialdeetan}%
\def\reftextlabelrange#1#2{\ref{#1}.etik \ref{#2}.eraino}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -826,6 +852,9 @@
\def\reftextfaraway#1{pada muka surat~\pageref{#1}}%
\def\reftextpagerange#1#2{pada muka surat~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1}--\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -849,6 +878,9 @@
\def\reftextfaraway#1{na p\'agina~\pageref{#1}}%
\def\reftextpagerange#1#2{nas p\'aginas~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -871,6 +903,9 @@
on pages~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\vref@stringwarning\reflabelpagerange
\ref{#1} to~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -906,6 +941,9 @@
\cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyri
~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} \cyrd\cyro~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -925,6 +963,9 @@
\def\reftextpagerange#1#2{a les
p\`agines~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -942,6 +983,9 @@
\def\reftextfaraway#1{na stranici~\pageref{#1}}%
\def\reftextpagerange#1#2{na stranicama~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} do~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -960,6 +1004,9 @@
\def\reftextfaraway#1{na stran\v{e}~\pageref{#1}}%
\def\reftextpagerange#1#2{na stran\'ach~\pageref{#1}\--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} a\v{z}~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -983,6 +1030,9 @@
\def\reftextfaraway#1{p\aa{} side~\pageref{#1}}%
\def\reftextpagerange#1#2{p\aa{} side~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} til~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1023,6 +1073,9 @@
% \begin{macrocode}
\def\reftextpagerange#1#2{op pagina's~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1}--\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1041,6 +1094,9 @@
\def\reftextfaraway#1{on page~\pageref{#1}}%
\def\reftextpagerange#1#2{on pages~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} to~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1062,6 +1118,9 @@
\def\reftextfaraway#1{en pa\^go~\pageref{#1}}%
\def\reftextpagerange#1#2{en pa\^goj~\pageref{#1} \^gis \pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} \^gis~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1086,6 +1145,9 @@
% Can't combine numbers with the necessary suffix well.
% \begin{macrocode}
\def\reftextlabelrange#1#2{\ref{#1}--\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1106,6 +1168,9 @@
\def\reftextfaraway#1{page~\pageref{#1}}%
\def\reftextpagerange#1#2{pages~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} \`a~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1128,6 +1193,9 @@
\def\reftextpagerange#1#2{%
nas p\'axinas~\pageref{#1}-\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1163,6 +1231,9 @@
\def\reftextfaraway#1{auf Seite~\pageref{#1}}%
\def\reftextpagerange#1#2{auf den Seiten~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} bis~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1181,6 +1252,9 @@
\def\reftextfaraway#1{auf Seite~\pageref{#1}}%
\def\reftextpagerange#1#2{auf den Seiten~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} bis~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1201,6 +1275,9 @@
\def\reftextpagerange#1#2{stis sel'ides\nobreakspace
\pageref{#1}---\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} ws\nobreakspace\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1222,6 +1299,9 @@
\def\reftextfaraway#1{\'{a} s\'{i}{\dh}u~\pageref{#1}}%
\def\reftextpagerange#1#2{\'{a} s\'{i}{\dh}um~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} til~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1247,29 +1327,41 @@
\def\reftextfaraway#1{a pagina~\pageref{#1}}%
\def\reftextpagerange#1#2{nelle pagine~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{da~\ref{#1} a~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
-% Defaults for Japanese. It needs a special \cs{vrefrangeformat}
+% Defaults for Japanese. It needs a special \cs{vrefformat},
+% \cs{Vrefformat}, \cs{fullrefformat} and \cs{vrefrangeformat}
% for gramatical reasons. As our standard documentation
% workflow uses pdf\TeX{} the Japanese letters can't be displayed
% easily, so you will see missing glyphs below. To see the real
% letters you have to look at the source or package file.
% \changes{v1.6d}{2020/07/20}{Option japanese added (gh/352)}
+% \changes{v1.6e}{2020/07/25}{Option japanese changed (gh/352)}
% \begin{allowtofu}
% \begin{macrocode}
\DeclareOption{japanese}
{\vref@addto\extrasjapanese{%
- \def\reftextfaceafter {\reftextvario{見開ã}{次}é }%
- \def\reftextfacebefore{\reftextvario{見開ã}{å‰}é }%
- \def\reftextafter {\reftextvario{直後ã®}{次}é }%
- \def\reftextbefore {\reftextvario{ç›´å‰ã®}{å‰}é }%
- \def\reftextcurrent {\reftextvario{ã“ã®}{ç¾}é }%
- \def\reftextfaraway#1{\pageref{#1}é }%
- \def\reftextpagerange#1#2{\pageref{#1}é ã‹ã‚‰\pageref{#2}é }%
+ \def\reftextfaceafter {\reftextvario{見開ã}{次}ページ}%
+ \def\reftextfacebefore{\reftextvario{見開ã}{å‰}ページ}%
+ \def\reftextafter {\reftextvario{直後ã®}{次}ページ}%
+ \def\reftextbefore {\reftextvario{ç›´å‰ã®}{å‰}ページ}%
+ \def\reftextcurrent {\reftextvario{ã“ã®}{ç¾}ページ}%
+ \def\reftextfaraway#1{\pageref{#1}ページ}%
+ \def\reftextpagerange#1#2{\pageref{#1}ã‹ã‚‰\pageref{#2}ページ}%
\def\reftextlabelrange#1#2{\ref{#1}ã‹ã‚‰\ref{#2}}%
- \def\vrefrangeformat#1#2#3{\vpagerefrange[{#1}]{#2}{#3}ã®%
- \reftextlabelrange{#2}{#3}}%
+% \end{macrocode}
+% Note that the parentheses beow are not normal ones but full width
+% ones U+FF08 and U+FF09!
+% \begin{macrocode}
+ \def\vrefformat#1#2{\ref{#2}(\vpageref[#1]{#2})}%
+ \def\Vrefformat#1#2{\Ref{#2}(\vpageref[#1]{#2})}%
+ \def\fullrefformat#1{\ref{#1}(\reftextfaraway{#1})}%
+ \def\vrefrangeformat#1#2#3{\reftextlabelrange{#2}{#3}%
+ (\vpagerefrange[{#1}]{#2}{#3})}%
}}
% \end{macrocode}
% \end{allowtofu}
@@ -1317,6 +1409,9 @@
on pages~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\vref@stringwarning\reflabelpagerange
\ref{#1} to~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}%
% \end{macrocode}
@@ -1358,6 +1453,9 @@
\def\reftextfaraway#1{p\aa{} side~\pageref{#1}}%
\def\reftextpagerange#1#2{p\aa{} side~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} til~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
\DeclareOption{nynorsk}
@@ -1370,6 +1468,9 @@
\def\reftextfaraway#1{p\aa{} side~\pageref{#1}}%
\def\reftextpagerange#1#2{p\aa{} side~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} til~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1398,6 +1499,9 @@
\def\reftextfaraway#1{na stronie~\pageref{#1}}%
\def\reftextpagerange#1#2{na stronach~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{od~\ref{#1} do~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1419,6 +1523,9 @@
\def\reftextfaraway#1{na p\'agina~\pageref{#1}}%
\def\reftextpagerange#1#2{nas p\'aginas~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1439,6 +1546,9 @@
\def\reftextfaraway#1{pe pagina~\pageref{#1}}%
\def\reftextpagerange#1#2{pe paginile~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} la~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1473,6 +1583,9 @@
\def\reftextpagerange#1#2{\cyrn\cyra\ \cyrs\cyrt\cyrr\cyra\cyrn
\cyri\cyrc\cyra\cyrh~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\cyrs~\ref{#1}\ \cyrp\cyro~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1494,6 +1607,9 @@
\def\reftextfaraway#1{na strane~\pageref{#1}}%
\def\reftextpagerange#1#2{na stran\'ach~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} a\v z~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1511,6 +1627,9 @@
\def\reftextfaraway#1{na strani~\pageref{#1}}%
\def\reftextpagerange#1#2{na straneh~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{od~\ref{#1} do~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1532,6 +1651,9 @@
\def\reftextpagerange#1#2{en las p\'aginas~\pageref{#1}%
-\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} a~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1555,6 +1677,9 @@
\def\reftextpagerange#1#2{p\aa\
sidorna~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\ref{#1} till~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
\DeclareOption{turkish}
@@ -1597,6 +1722,9 @@
\def\reftextpagerange#1#2{\cyrn\cyra\ \cyrs\cyrt\cyro\cyrr\cyrii
\cyrn\cyrk\cyra\cyrh~\pageref{#1}--\pageref{#2}}%
\def\reftextlabelrange#1#2{\cyrz~\ref{#1}\ \cyrd\cyro~\ref{#2}}%
+ \let\vrefformat\vrefdefaultformat
+ \let\Vrefformat\Vrefdefaultformat
+ \let\fullrefformat\fullrefdefaultformat
\let\vrefrangeformat\vrefrangedefaultformat
}}
% \end{macrocode}
@@ -1651,7 +1779,6 @@
% \pkg{babel} package).
% \begin{macrocode}
\ExecuteOptions{english,final,space}
-\ProcessOptions*
% \end{macrocode}
%
%
@@ -2128,11 +2255,26 @@
% |\vpageref|, it that is needed one has to call both commands
% explicitly
% \changes{v1.6a}{2019/08/25}{Command added to support hyperref better}
+% \changes{v1.6e}{2020/07/25}{Changed for Japanese (gh/352)}
% \begin{macrocode}
-\newcommand\vref@star[2][]{%
+\newcommand\vref@star[1][]{\vrefformat{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\vrefformat,\vrefdefaultformat}
+% Japanese needs a different word order in \cs{vref@star} so this
+% is separated out o that it can be changed on language level.
+% \changes{v1.6e}{2020/07/25}{Macro added (gh/352)}
+% \begin{macrocode}
+\def\vrefdefaultformat#1#2{%
\ref{#2}
\vpageref[#1]{#2}}
% \end{macrocode}
+% Most languages need the above definition.
+% \begin{macrocode}
+\let\vrefformat\vrefdefaultformat
+% \end{macrocode}
% \end{macro}
% \begin{macro}{\vr@f}
@@ -2238,8 +2380,24 @@
% \begin{macro}{\fullref}
% And here is the primitive command that always produces a |\ref|
% and a |\pageref|.
+% \changes{v1.6e}{2020/07/25}{Changed for Japanese (gh/352)}
% \begin{macrocode}
-\def\fullref#1{\ref{#1} \reftextfaraway{#1}}
+\newcommand\fullref{\fullrefformat}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\fullrefformat,\fullrefdefaultformat}
+% Japanese needs a different word order in \cs{fullref} so this
+% is separated out o that it can be changed on language level.
+% \changes{v1.6e}{2020/07/25}{Macro added (gh/352)}
+% \begin{macrocode}
+\def\fullrefdefaultformat#1{%
+ \ref{#1} \reftextfaraway{#1}}
+% \end{macrocode}
+% Most languages need the above definition.
+% \begin{macrocode}
+\let\fullrefformat\fullrefdefaultformat
% \end{macrocode}
% \end{macro}
%
@@ -2362,7 +2520,7 @@
%
%
% \begin{macro}{\vrefrangeformat,\vrefrangedefaultformat}
-% Japanese needs a different word order in \cs{vrefrange} so this
+% Japanese needs a different word order in \cs{vrefrange} so this
% is separated out o that it can be changed on language level.
% \changes{v1.6d}{2020/07/20}{Macro added (gh/352)}
% \begin{macrocode}
@@ -2389,11 +2547,26 @@
%
% \begin{macro}{\Vref@star}
% \changes{v1.6a}{2019/08/25}{Command added to support hyperref better}
+% \changes{v1.6e}{2020/07/25}{Changed for Japanese (gh/352)}
% \begin{macrocode}
-\newcommand\Vref@star[2][]{%
+\newcommand\Vref@star[1][]{\Vrefformat{#1}}
+% \end{macrocode}
+% \end{macro}
+%
+%
+% \begin{macro}{\Vrefformat,\Vrefdefaultformat}
+% Japanese needs a different word order in \cs{Vref} so this
+% is separated out o that it can be changed on language level.
+% \changes{v1.6e}{2020/07/25}{Macro added (gh/352)}
+% \begin{macrocode}
+\def\Vrefdefaultformat#1#2{%
\Ref{#2}
\vpageref[#1]{#2}}
% \end{macrocode}
+% Most languages need the above definition.
+% \begin{macrocode}
+\let\Vrefformat\Vrefdefaultformat
+% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\Vr@f}
@@ -2524,6 +2697,12 @@
% \end{macro}
% \end{macro}
%
+% \changes{v1.6e}{2020/07/25}{Move to handle
+% the language-specific reference formats. (gh/352)}
+% \begin{macrocode}
+\ProcessOptions*
+% \end{macrocode}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/macros/latex-dev/required/tools/varioref.pdf b/macros/latex-dev/required/tools/varioref.pdf
index 4f6e71a2a2..a5fdf4dae6 100644
--- a/macros/latex-dev/required/tools/varioref.pdf
+++ b/macros/latex-dev/required/tools/varioref.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/verbatim.pdf b/macros/latex-dev/required/tools/verbatim.pdf
index 3f3905dbc3..1380b00fab 100644
--- a/macros/latex-dev/required/tools/verbatim.pdf
+++ b/macros/latex-dev/required/tools/verbatim.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xr.dtx b/macros/latex-dev/required/tools/xr.dtx
index a2dbea7c1e..a963886cde 100644
--- a/macros/latex-dev/required/tools/xr.dtx
+++ b/macros/latex-dev/required/tools/xr.dtx
@@ -110,7 +110,7 @@
\def\XR@[#1]#2{{%
\makeatletter
\def\XR@prefix{#1}%
- \set@curr@file@trim@spaces{#2}%
+ \set@curr@file{#2}%
\expandafter\XR@next\@curr@file.aux\relax\\}}
% \end{macrocode}
%
diff --git a/macros/latex-dev/required/tools/xr.pdf b/macros/latex-dev/required/tools/xr.pdf
index 90910f21cc..d24f779f3a 100644
--- a/macros/latex-dev/required/tools/xr.pdf
+++ b/macros/latex-dev/required/tools/xr.pdf
Binary files differ
diff --git a/macros/latex-dev/required/tools/xspace.pdf b/macros/latex-dev/required/tools/xspace.pdf
index 4a4c7f2dde..3fb208ca1e 100644
--- a/macros/latex-dev/required/tools/xspace.pdf
+++ b/macros/latex-dev/required/tools/xspace.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
index 9c68afbe9f..845f7226c8 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
index 7e31b59fec..89e0024acf 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee-alphabetic.tex
@@ -24,8 +24,8 @@
\href{mailto:joseph.wright@morningstar2.co.uk}
{\texttt{joseph.wright@morningstar2.co.uk}}}}
\title{The \pkg{ieee-alphabetic} bibliography style for \pkg{biblatex}%
- \footnote{This file describes v1.3b, last revised 2020/02/26.}}
-\date{Released 2020/02/26}
+ \footnote{This file describes v1.3c, last revised 2020/08/31.}}
+\date{Released 2020/08/31}
\providecommand*{\pkg}[1]{\textsf{#1}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
index 755c602842..e57ebf5c87 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
index 256aa00657..1182cd1fe1 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/biblatex-ieee.tex
@@ -24,8 +24,8 @@
\href{mailto:joseph.wright@morningstar2.co.uk}
{\texttt{joseph.wright@morningstar2.co.uk}}}}
\title{The \pkg{ieee} bibliography style for \pkg{biblatex}%
- \footnote{This file describes v1.3b, last revised 2020/02/26.}}
-\date{Released 2020/02/26}
+ \footnote{This file describes v1.3c, last revised 2020/08/31.}}
+\date{Released 2020/08/31}
\providecommand*{\opt}[1]{\texttt{#1}}
\providecommand*{\pkg}[1]{\textsf{#1}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
index c305a2686a..b2654804e2 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.bbx
@@ -8,7 +8,7 @@
%% ---------------------------------------------------------------
%%
-\ProvidesFile{ieee-alphabetic.bbx}[2020/02/26 v1.3b biblatex bibliography style]
+\ProvidesFile{ieee-alphabetic.bbx}[2020/08/31 v1.3c biblatex bibliography style]
\RequireBibliographyStyle{ieee}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
index ea8ab90488..be1fc4136a 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee-alphabetic.cbx
@@ -8,7 +8,7 @@
%% ---------------------------------------------------------------
%%
-\ProvidesFile{ieee-alphabetic.cbx}[2020/02/26 v1.3b biblatex citation style]
+\ProvidesFile{ieee-alphabetic.cbx}[2020/08/31 v1.3c biblatex citation style]
\RequireCitationStyle{alphabetic}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
index f3a6169de0..faeae9a597 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.bbx
@@ -8,7 +8,7 @@
%% ---------------------------------------------------------------
%%
-\ProvidesFile{ieee.bbx}[2020/02/26 v1.3b biblatex bibliography style]
+\ProvidesFile{ieee.bbx}[2020/08/31 v1.3c biblatex bibliography style]
% Load the standard style to avoid copy-pasting unnecessary material
\RequireBibliographyStyle{numeric-comp}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
index 16ac2f44d4..e4f422b494 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-ieee/ieee.cbx
@@ -1,14 +1,14 @@
%% ---------------------------------------------------------------
-%% biblatex-ieee --- A biblatex implementation of the IEEE
+%% biblatex-ieee --- A biblatex implementation of the IEEE
%% bibliography style
%% Maintained by Joseph Wright
%% E-mail: joseph.wright@morningstar2.co.uk
%% Released under the LaTeX Project Public License v1.3c or later
%% See http://www.latex-project.org/lppl.txt
%% ---------------------------------------------------------------
-%%
+%%
-\ProvidesFile{ieee.cbx}[2020/02/26 v1.3b biblatex citation style]
+\ProvidesFile{ieee.cbx}[2020/08/31 v1.3c biblatex citation style]
\RequireCitationStyle{numeric-comp}
@@ -33,7 +33,9 @@
\bibclosebracket
}
-% The second step is to replace \multicitedelim with a version wrapped in
+
+% The second step is to replace \multicitedelim and
+% \multicitesubentrydelim with a version wrapped in
% the appropriate delimiter.
\renewcommand*{\do}[1]{%
\expandafter\patchcmd\expandafter
@@ -45,35 +47,76 @@
\PackageError{biblatex-ieee}{Failed to update citation style}\@ehc
}%
}
-\docsvlist{cite:comp:comp,cite:comp:end,cite:comp:inset,cite:dump}
+\docsvlist{cite:comp:end,cite:comp:inset,cite:comp:shand,cite:dump}
+
+\renewcommand*{\do}[1]{%
+ \expandafter\patchcmd\expandafter
+ {\csname abx@macro@\detokenize{#1}\endcsname}%
+ {\multicitesubentrydelim}
+ {\bibclosebracket\multicitesubentrydelim\bibopenbracket}
+ {}
+ {%
+ \PackageError{biblatex-ieee}{Failed to update citation style}\@ehc
+ }%
+ }
+\docsvlist{cite:comp:inset,cite:dump:inset}
-% There's also one \bibrangedash to alter.
+
+% There's also one \multiciterangedelim and one
+% \multicitesubentryrangedelimto alter.
\expandafter\patchcmd\expandafter
{\csname abx@macro@\detokenize{cite:dump}\endcsname}%
- {\bibrangedash}
- {\bibclosebracket\bibrangedash\bibopenbracket}
+ {\multiciterangedelim}
+ {\bibclosebracket\multiciterangedelim\bibopenbracket}
{}
{%
\PackageError{biblatex-ieee}{Failed to update citation style}\@ehc
}%
+\expandafter\patchcmd\expandafter
+ {\csname abx@macro@\detokenize{cite:dump:inset}\endcsname}%
+ {\multicitesubentryrangedelim}
+ {\bibclosebracket\multicitesubentryrangedelim\bibopenbracket}
+ {}
+ {%
+ \PackageError{biblatex-ieee}{Failed to update citation style}\@ehc
+ }%
+
+
% More bracket removal required
\DeclareMultiCiteCommand{\cites}{\cite}{\multicitedelim}
-%%
+% print labelnumber for compressed set entries
+\renewbibmacro*{cite:print:subentry:comp}{%
+ \printtext[bibhyperref]{%
+ \printfield{labelprefix}%
+ \printfield{labelnumber}%
+ \printfield{entrysetcount}}}
+
+\renewbibmacro*{cite:print:last:subentry:comp}{%
+ \printtext[bibhyperref:lastkey]{%
+ \ifdef\cbx@lastprefix
+ {\printtext[labelprefix]{\cbx@lastprefix}}
+ {}%
+ \printtext[labelnumber]{\cbx@lastnumber}%
+ \ifdef\cbx@lastentrysetcount
+ {\printtext[entrysetcount]{\cbx@lastentrysetcount}}
+ {}}}
+
+%%
%% Copyright (C) 2011-2013,2015-2020 by
%% Joseph Wright <joseph.wright@morningstar2.co.uk>
-%%
+%%
%% It may be distributed and/or modified under the conditions of
%% the LaTeX Project Public License (LPPL), either version 1.3c of
%% this license or (at your option) any later version. The latest
%% version of this license is in the file:
-%%
+%%
%% http://www.latex-project.org/lppl.txt
-%%
+%%
%% This work is "maintained" (as per LPPL maintenance status) by
%% Joseph Wright.
-%%
+%%
%% This work consists of the files biblatex-ieee.bib,
%% biblatex-ieee.tex,
%% ieee.bbx,
@@ -83,6 +126,6 @@
%% magyar-ieee.lbx,
%% and the derived files biblatex-ieee.pdf and
%% biblatex-ieee-alphabetic.pdf.
-%%
+%%
%%
%% End of file `ieee.cbx'.
diff --git a/macros/latex/contrib/edichokey/edichokey-doc-en.pdf b/macros/latex/contrib/edichokey/edichokey-doc-en.pdf
index a5c89f264d..61f6e26e19 100644
--- a/macros/latex/contrib/edichokey/edichokey-doc-en.pdf
+++ b/macros/latex/contrib/edichokey/edichokey-doc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/edichokey/edichokey-doc-en.tex b/macros/latex/contrib/edichokey/edichokey-doc-en.tex
index 211fbbeb26..c10b961d2d 100644
--- a/macros/latex/contrib/edichokey/edichokey-doc-en.tex
+++ b/macros/latex/contrib/edichokey/edichokey-doc-en.tex
@@ -51,8 +51,8 @@
\ for dichotomous identification keys}
\author{\zh{æ¨å®‡æ˜Œ} (Yuchang \textsc{Yang})%
\footnote{Email address: \url{yang.yc.allium@gmail.com}.}}
-\date{July \nth{14}, 2020\qquad ver.~2.00}
-
+\date{August \nth{31}, 2020\qquad ver.~2.01y}
+\hypersetup{hidelinks}
\frenchspacing
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -127,10 +127,12 @@ Here a simple demo is presented, showing how to use the package \pkgname{edichok
A larger example key containing 107 \textit{Allium} species is provided separatedly in the package as file \texttt{edichokey-ex.tex}, which was taken almost verbatim from \textit{Flora of North America} (see the file for full citation; reusable under CC BY license\footnote{Re-use terms of FNA: \url{http://beta.floranorthamerica.org/Copyright}.}), except that the two branches at the base (led by alternatives with number 1) were exchanged (but its meaning stayed the same). This example, in the given order, cannot be constructed with \pkgname{dichokey}.
-Apart from the modification on the algorithm, \pkgname{edichokey} behaves differently from \pkgname{dichokey} in two more aspects:
+The package option $hyperref$ (type $\string\usepackage[hyperref]\{edichokey\}$ instead of $\string\usepackage\{edichokey\}$) can make the output key in PDF file easier to use on electronic devices: conjugated alternatives in a key will be hyperlinked to each other, so a reader can jump quickly by clicking their numbers. However, to apply this feature, the source file is required to be compiled twice.
+
+Apart from the mentioned modifications, \pkgname{edichokey} behaves differently from \pkgname{dichokey} in two more aspects:
{\parskip-5pt
\begin{itemize}
- \parskip0pt\itemsep2pt
+ \parskip0pt\itemsep0pt
\item Dots connecting an alternative and a taxon can be wrapped into two lines;
\item All alternatives (maybe with following dots) are wrapped at $\string\righttaxonskip$ length (by default $2em$) from the right margin, leaving only the keyed out taxa reaching the true right boundary.
\end{itemize}}
@@ -141,6 +143,8 @@ Apart from the modification on the algorithm, \pkgname{edichokey} behaves differ
\parskip=0pt
\parindent=0pt
\begin{description}[style=nextline]
+ \item[ver. 2.01y (2020.8.31)]
+ Package option $hyperref$ added.
\item[ver. 2.00 (2020.7.14)]
Package renamed as \pkgname{edichokey}. \\
Documentation in English finished. \\
diff --git a/macros/latex/contrib/edichokey/edichokey-ex.pdf b/macros/latex/contrib/edichokey/edichokey-ex.pdf
index 9711e1c6df..be47d32cb5 100644
--- a/macros/latex/contrib/edichokey/edichokey-ex.pdf
+++ b/macros/latex/contrib/edichokey/edichokey-ex.pdf
Binary files differ
diff --git a/macros/latex/contrib/edichokey/edichokey-ex.tex b/macros/latex/contrib/edichokey/edichokey-ex.tex
index 25d0c8b51e..0e70f152f1 100644
--- a/macros/latex/contrib/edichokey/edichokey-ex.tex
+++ b/macros/latex/contrib/edichokey/edichokey-ex.tex
@@ -34,7 +34,7 @@
\documentclass[a4paper]{article}
\usepackage[margin=25mm]{geometry}
-\usepackage{edichokey}
+\usepackage[hyperref]{edichokey}
\def\var{\textup{var.} }
\frenchspacing
diff --git a/macros/latex/contrib/edichokey/edichokey.sty b/macros/latex/contrib/edichokey/edichokey.sty
index 1b927eadaf..c4dee913c4 100644
--- a/macros/latex/contrib/edichokey/edichokey.sty
+++ b/macros/latex/contrib/edichokey/edichokey.sty
@@ -19,15 +19,20 @@
% - the example files: [edichokey-ex.tex, edichokey-ex.pdf].
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{edichokey}[2020/07/14 v2.00 package edichokey]
+\ProvidesPackage{edichokey}[2020/08/31 v2.01y package edichokey]
\makeatletter
\def\edk@get@array#1{\csname edk@array@#1\endcsname}
\def\edk@set@array#1#2{\expandafter\xdef\csname edk@array@#1\endcsname{#2}}
\newif\if@edk@named@
+\newif\if@edk@hyperref@\@edk@hyperref@false
+\DeclareOption{hyperref}{\@edk@hyperref@true}
+\ProcessOptions
+\RequirePackage{hyperref}
\newdimen\alterindent\alterindent1.2em
\newdimen\taxonrightskip\taxonrightskip2em
\newdimen\edk@leftskip
\newbox\edk@header
+\newcount\edk@key
\newcount\edk@depth
\newcount\edk@couplet
\def\edknamestyle{\bfseries\itshape}
@@ -50,8 +55,12 @@
\def\dot@line{%
\unskip\dot@fill{0pt plus 1fil}\penalty150%
\null\nobreak\dot@fill{12pt plus 1fill}}
-\newenvironment{Key}
- {\edk@depth\z@
+\newenvironment{Key}{%
+ \global\advance\edk@key\@ne
+ \if@edk@hyperref@
+ \hypersetup{hidelinks=true}%
+ \fi
+ \edk@depth\z@
\edk@couplet\z@
\parindent\z@
\advance\rightskip\taxonrightskip
@@ -82,8 +91,17 @@
\xdef\edk@number{\the\edk@couplet}%
\edk@set@array{\the\edk@depth}{\the\edk@couplet}%
\fi
+ \if@edk@hyperref@
+ \def\edk@hyp@prefix{edichokey:\the\edk@key:\edk@number:}
+ \edef\edk@hyp@this{\edk@hyp@prefix\if@edk@named@ b\else a\fi}%
+ \edef\edk@hyp@that{\edk@hyp@prefix\if@edk@named@ a\else b\fi}%
+ \def\edk@hyp@make##1{%
+ \phantomsection\label{\edk@hyp@this}\hyperref[\edk@hyp@that]{##1}}%
+ \else
+ \def\edk@hyp@make##1{##1}%
+ \fi
\@edk@named@false
\sbox\edk@header{\edk@number.~}%
\leftskip\dimexpr\edk@leftskip+\edk@depth\alterindent+\wd\edk@header\relax
- \indent\llap{\box\edk@header}}
+ \indent\edk@hyp@make{\llap{\box\edk@header}}}
\makeatother
diff --git a/macros/xetex/latex/nanicolle/README.md b/macros/xetex/latex/nanicolle/README.md
index 5e3e77c459..adaa0f8e4c 100644
--- a/macros/xetex/latex/nanicolle/README.md
+++ b/macros/xetex/latex/nanicolle/README.md
@@ -33,9 +33,9 @@ Copyright and Licence
The Current Maintainer of this work is Yuchang Yang.
This work consists of:
- - the class file: [nanicolle.cls];
- - the illustration files: [point.pdf, ChinaMainland.pdf, Dongguan.pdf];
- - the manual files: [nanicolle-doc-zh.tex, nanicolle-doc-zh.pdf,
- nanicolle-doc-en.tex, nanicolle-doc-en.pdf, README.md];
- - the example files: [nanicolle-ex-zh.tex, nanicolle-ex-zh.pdf,
- nanicolle-ex-en.tex, nanicolle-ex-en.pdf].
+ - the class file: [nanicolle.cls];
+ - the illustration files: [point.pdf, ChinaMainland.pdf, Dongguan.pdf];
+ - the manual files: [nanicolle-doc-zh.tex, nanicolle-doc-zh.pdf,
+ nanicolle-doc-en.tex, nanicolle-doc-en.pdf, README.md];
+ - the example files: [nanicolle-ex-zh.tex, nanicolle-ex-zh.pdf,
+ nanicolle-ex-en.tex, nanicolle-ex-en.pdf].
diff --git a/macros/xetex/latex/nanicolle/nanicolle-doc-en.pdf b/macros/xetex/latex/nanicolle/nanicolle-doc-en.pdf
index 9b4cebd264..3e8fafe631 100644
--- a/macros/xetex/latex/nanicolle/nanicolle-doc-en.pdf
+++ b/macros/xetex/latex/nanicolle/nanicolle-doc-en.pdf
Binary files differ
diff --git a/macros/xetex/latex/nanicolle/nanicolle-doc-en.tex b/macros/xetex/latex/nanicolle/nanicolle-doc-en.tex
index ffa64b9815..e3f902afd4 100644
--- a/macros/xetex/latex/nanicolle/nanicolle-doc-en.tex
+++ b/macros/xetex/latex/nanicolle/nanicolle-doc-en.tex
@@ -29,6 +29,7 @@
\usepackage[top=32mm,bottom=32mm,textwidth=39em]{geometry}
\usepackage{marvosym}
+\usepackage{fontspec}
\usepackage{metalogo}
\usepackage{rulerbox}
\usepackage{array}
@@ -37,14 +38,14 @@
\newcommand{\rowstyle}[1]{\gdef\currentrowstyle{#1}#1\ignorespaces}
\usepackage{enumitem}
\setlist[description]{font=\color{mikudark}\bfseries,leftmargin=2em}
-\usepackage{multicol}
- \setlength\columnsep{3em}
- \setlength\columnseprule{0.4pt}
-\usepackage{adjustbox}
+% \usepackage{multicol}
+ % \setlength\columnsep{3em}
+ % \setlength\columnseprule{0.4pt}
+% \usepackage{adjustbox}
\usepackage{nth}
\usepackage{tikz}
\usepackage{color}
- \definecolor{mikudark}{RGB}{19, 149, 139}
+ \definecolor{mikudark}{RGB}{19,149,139}
\newbox\mynmy
\sbox\mynmy{%
\smash{\raisebox{-5mm}{\begin{tikzpicture}[x=7mm,y=7mm]
@@ -90,7 +91,7 @@
\author{\zh{æ¨å®‡æ˜Œ} (Yuchang \textsc{Yang})%
\footnote{Email address: \url{yang.yc.allium@gmail.com}\stopurl.}%
\qquad \box\mynmy\kern-1cm}
-\date{July \nth{8}, 2020\qquad ver.~2.02}
+\date{August \nth{31}, 2020\qquad ver.~2.03y}
\frenchspacing
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -149,7 +150,7 @@ The syntax of the macro $\string\collect$ is
\tab\param{altitude}\tab\param{habitat}\tab\param{life form}%
\tab\param{height}\tab\param{diameter at breast height}\tab\param{note}%
\]
-where $\tab$ denotes a horizontal tab (U+0009, the character that the tab key inputs). Each $\string\collect$ macro followed by its parameters must exclusively occupy a single line without comment sign, and the line should begin immediately with the macro.
+where $\tab$ denotes a horizontal tab (U+0009, the character that the tab key inputs). Each $\string\collect$ macro followed by its parameters must exclusively occupy a single line.
Parameters can be left empty (some cannot), but even so the tabs seperating them should never be omitted.
The requirements of each parameter of $\string\collect$ are listed as follows.
@@ -263,7 +264,7 @@ For more details, please refer to the Chinese manual \texttt{nanicolle-zh.PDF}.
\section{A full example using \pkgname{nanicolle}}
-The following is a full example file using document class \pkgname{nanicolle}. It can be found as \texttt{nanicolle-ex-en.tex} in the package. To display it more clearly, the $\uspace$ denotion for space is no longer used in this example. Actual lines correspond with line numbers in the left. An actual line may be so long that it is wrapped here, just as in text editors, but remember, these wrapped parts in fact belong to a single line, as there is no end-of-line character in between.
+The following is a full example file using document class \pkgname{nanicolle}. It can be found as \texttt{nanicolle-ex-en.tex} in the package. To display it more clearly, the $\uspace$ mark for space is no longer used in this example. Actual lines correspond with line numbers in the left. An actual line may be so long that it is wrapped here, just as in text editors, but remember, these wrapped parts in fact belong to a single line, as there is no end-of-line character in between.
\begingroup
\catcode`\^^I\active\let^^I\tab
diff --git a/macros/xetex/latex/nanicolle/nanicolle-doc-zh.pdf b/macros/xetex/latex/nanicolle/nanicolle-doc-zh.pdf
index 8756fabd90..fdb94bcfb7 100644
--- a/macros/xetex/latex/nanicolle/nanicolle-doc-zh.pdf
+++ b/macros/xetex/latex/nanicolle/nanicolle-doc-zh.pdf
Binary files differ
diff --git a/macros/xetex/latex/nanicolle/nanicolle-doc-zh.tex b/macros/xetex/latex/nanicolle/nanicolle-doc-zh.tex
index 1344ac3ff8..725ce6f012 100644
--- a/macros/xetex/latex/nanicolle/nanicolle-doc-zh.tex
+++ b/macros/xetex/latex/nanicolle/nanicolle-doc-zh.tex
@@ -97,12 +97,14 @@
\author{æ¨å®‡æ˜Œ%
\footnote{电å­é‚®ç®±ä¸º\url{yang.yc.allium@gmail.com}\stopurl 。}%
\qquad\box\mynmy\kern-1cm}
-\date{2020年7月8日\qquad ver.~2.02}
+\date{2020年8月31日\qquad ver.~2.03y}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
+\xeCJKsetup{CJKglue={\hskip0pt}}
+
\maketitle
\parskip=1ex\relax
@@ -158,7 +160,7 @@ $\string\Collect$命令的格å¼ä¸º
\tab\param{海拔}\tab\param{生境}\tab\param{生活型}%
\tab\param{体高}\tab\param{胸径}\tab\param{附注}%
\]
-当中$\tab$表示水平制表符(U+0009,å¯æŒ‰é”®ç›˜Tab键输入)。æ¯è¡Œæœ€å¤šèƒ½æœ‰ä¸€ä¸ª$\string\Collect$命令;æ¯ä¸ª$\string\Collect$命令须出现在一行开始处,其所有å‚数必须出现在åŒä¸€è¡Œä¸­ï¼›$\string\Collect$所在的行ä¸èƒ½æœ‰æ³¨é‡Šç¬¦å·ã€‚
+当中$\tab$表示水平制表符(U+0009,å¯æŒ‰é”®ç›˜Tab键输入)。æ¯è¡Œæœ€å¤šèƒ½æœ‰ä¸€ä¸ª$\string\Collect$命令;æ¯ä¸ª$\string\Collect$命令åŠå…¶æ‰€æœ‰å‚数必须出现在åŒä¸€è¡Œä¸­ã€‚
æŸäº›å‚æ•°å¯ä»¥ä¸ºç©ºï¼Œä½†$\tab$都须ä¿ç•™ã€‚
以下分别说明诸å‚数。
@@ -298,6 +300,10 @@ $\string\Collect$与$\string\Identify$之所以ä¸éµç…§\LaTeX{}惯例而用制è
\begin{description}[style=nextline]
\parskip=0pt
\obeylines
+ \item[ver. 2.03y (2020.8.31)]
+ 更精细地控制分类ç ï¼Œå‚数中å…许ä¸åŠ è½¬ä¹‰åœ°ä½¿ç”¨$\%$ã€$\$$ã€$\#$ã€$\string~$等字符,å‚数外å…许$\tab$在行首缩进代ç ã€‚
+ 修正中å¼é‡‡é›†æ ‡ç­¾ä¸­$\param{å­¦å}$æ æ³„æ¼æ®µè½å½¢çŠ¶çš„æ¼æ´žã€‚
+ 修正作者引è¯ä¸­$ex$排æˆ$et$的错误。
\item[ver. 2.02 (2020.7.8)]
修正负ç»çº¬åº¦å€¼ä¸èƒ½è§£æžçš„错误。
中å¼é‡‡é›†æ ‡ç­¾çš„å‚æ•°å–消长度é™åˆ¶ã€‚
diff --git a/macros/xetex/latex/nanicolle/nanicolle.cls b/macros/xetex/latex/nanicolle/nanicolle.cls
index 205cd992ab..e3e35fda07 100644
--- a/macros/xetex/latex/nanicolle/nanicolle.cls
+++ b/macros/xetex/latex/nanicolle/nanicolle.cls
@@ -22,7 +22,7 @@
% nanicolle-ex-en.tex, nanicolle-ex-en.pdf].
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{nanicolle}[2020/07/08 v2.02 class nanicolle]
+\ProvidesClass{nanicolle}[2020/08/31 v2.03y class nanicolle]
% CATCODE PART I
\makeatletter
% CLASS OPTIONS
@@ -51,11 +51,9 @@
\chardef\tw@=2
\chardef\thr@@=3
\chardef\f@ur=4
-\chardef\@other=12
\chardef\Identify@len=8
\chardef\Collect@len=19
% CONSTANT CHARACTER AND STRINGS
-\def\space{ }
\def\@unit{pt}
\def\vb@xt@{\vbox to}
% CATCODE PART II
@@ -87,8 +85,8 @@
% PAGE LAYOUT
\RequirePackage{graphicx}
\RequirePackage{geometry}
- \geometry{paperwidth=297mm, paperheight=210mm,
- left=\NC@margin, right=\NC@margin, top=\z@, bottom=\z@}
+ \geometry{paperwidth=297mm,paperheight=210mm,
+ left=\NC@margin,right=\NC@margin,top=\z@,bottom=\z@}
\RequirePackage{multicol}
\setlength\columnsep{2\NC@margin}
\setlength\columnseprule{\NC@seprule}
@@ -174,7 +172,7 @@
\strsubs{f.}{\handle@f}
\strsubs{sp.}{\upshape sp.\word@cnt\z@}
\strsubs{et}{\penalty-\@ne et\penalty-\@ne}
- \strsubs{ex}{\penalty-\tw@ et\penalty-\tw@}
+ \strsubs{ex}{\penalty-\tw@ ex\penalty-\tw@}
\strsubs{(}{\penalty-\thr@@(}\strsubs{)}{)\penalty-\thr@@}
\strsubs{×}{\ensuremath{\mathsf{\times}}\word@cnt\@ne\ignorespaces}
{\itshape\@tempstring}}
@@ -186,8 +184,9 @@
\latin@parse{#1}}
\RequirePackage{listofitems}
\reademptyitems
- \catcode`\^^I\@other
+ \@makeother\^^I
\setsepchar{^^I}
+ \catcode`\^^I=10\relax
\def\get@argin#1{%
\ifnum#1>\temp@arginlen\relax
\else\temp@argin[#1]\fi}
@@ -261,9 +260,13 @@
% \mapdef{Dongguan}{Dongguan.pdf}{113.5}{114.26667}{22.63333}{23.16667}
% FULL LINE COMMAND TRICK
\begingroup
- \catcode`\^^M\@other%
+ \@makeother\^^M%
\gdef\def@to@eol#1#2{%
- \gdef#1{\begingroup\catcode`\^^M\@other\csname\string#1\endcsname}%
+ \gdef#1{%
+ \begingroup%
+ \def\dospecials{\do\^^M\do\^^I\do\%\do\$\do\#\do\~}%
+ \def\do{\@makeother}\dospecials%
+ \csname\string#1\endcsname}%
\expandafter\gdef\csname\string#1\endcsname##1^^M{#2{##1}\endgroup}}%
\endgroup
% COMPONENTS IN COMMON
@@ -330,7 +333,7 @@
\form@cell{胸径}{\add@cm\DBH}\par
\form@cell{科å}{\Family}%
\form@cell{中文å}{\ChnName}\par
- \form@line{å­¦å}{\col@latin{\LatName}}
+ {\form@line{å­¦å}{\col@latin{\LatName}}\par}%
\form@line{附注}{\Descr}}
\nointerlineskip}
\if@col@barcode
@@ -400,7 +403,7 @@
\filbreak}
\fi}
\def@to@eol\Collect\@Collect
-% COLLECTING LABELS IN WESTERN LANGUAGES
+% COLLECTING LABELS IN WESTERN STYLE
\def\translation@asl{a.s.l.}
\def\translation@dbh{DBH}
\def\translation@tall{tall}
@@ -494,7 +497,7 @@
\fi
\@identifying@false}
\def@to@eol\Identify\@Identify
-% COLLECTING LABELS IN WESTERN LANGUAGES
+% COLLECTING LABELS IN WESTERN STYLE
\def\@Identify@en#1{{%
\let\detchinesestyle\detcommonnamestyle
\@Identify{#1}}}
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 8d3a3ecbc0..f8fc26e0bf 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -9,12 +9,14 @@ $mirrors = {
'South Africa' => {
'http://ftp.sun.ac.za/ftp/CTAN/' => 1,
'http://mirror.ufs.ac.za/ctan/' => 1,
+ 'https://ftp.leg.uct.ac.za/pub/packages/ctan/' => 1,
},
},
'Asia' => {
'China' => {
'https://mirror.bjtu.edu.cn/CTAN/' => 1,
'https://mirror.lzu.edu.cn/CTAN/' => 1,
+ 'https://mirrors.aliyun.com/CTAN/' => 1,
'https://mirrors.bfsu.edu.cn/CTAN/' => 1,
'https://mirrors.cqu.edu.cn/CTAN/' => 1,
'https://mirrors.hit.edu.cn/CTAN/' => 1,
@@ -47,6 +49,7 @@ $mirrors = {
'Korea' => {
'http://ftp.kaist.ac.kr/pub/tex-archive/' => 1,
'http://ftp.ktug.org/tex-archive/' => 1,
+ 'http://mirror.kakao.com/CTAN/' => 1,
'https://cran.asia/tex/' => 1,
'https://ftp.harukasan.org/CTAN/' => 1,
'https://mirror.navercorp.com/CTAN/' => 1,
@@ -85,27 +88,29 @@ $mirrors = {
'https://ctan.gutenberg.eu.org/' => 1,
'https://ctan.tetaneutral.net/' => 1,
'https://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/ctan/' => 1,
+ 'https://mirror.ibcp.fr/pub/CTAN/' => 1,
'https://mirrors.chevalier.io/CTAN/' => 1,
'https://mirrors.ircam.fr/pub/CTAN/' => 1,
},
'Germany' => {
'ftp://ftp.fu-berlin.de/tex/CTAN/' => 1,
'http://ctan.ebinger.cc/tex-archive/' => 1,
+ 'http://mirror.physik-pool.tu-berlin.de/pub/CTAN/' => 1,
'http://vesta.informatik.rwth-aachen.de/ftp/pub/mirror/ctan/' => 1,
'https://ctan.kako-dev.de/' => 1,
'https://ctan.mc1.root.project-creative.net/' => 1,
- 'https://ctan.mirror.norbert-ruehl.de/' => 1,
'https://ctan.net/' => 1,
+ 'https://ctan.space-pro.be/tex-archive/' => 1,
'https://ftp.agdsn.de/pub/mirrors/latex/dante/' => 1,
'https://ftp.fau.de/ctan/' => 1,
'https://ftp.gwdg.de/pub/ctan/' => 1,
'https://ftp.rrze.uni-erlangen.de/ctan/' => 1,
'https://ftp.rrzn.uni-hannover.de/pub/mirror/tex-archive/' => 1,
- 'https://ftp.tu-chemnitz.de/pub/tex/' => 1,
'https://mirror.informatik.hs-fulda.de/tex-archive/' => 1,
+ 'https://packages.oth-regensburg.de/ctan/' => 1,
},
'Greece' => {
- 'https://ftp.cc.uoc.gr/mirrors/CTAN/' => 1,
+ 'http://ftp.ntua.gr/mirror/ctan/' => 1,
},
'Hungary' => {
'https://mirror.szerverem.hu/ctan/' => 1,
@@ -159,6 +164,7 @@ $mirrors = {
'http://ctan.mirror.colo-serv.net/' => 1,
'http://ctan.mirror.globo.tech/' => 1,
'http://ctan.mirror.rafal.ca/' => 1,
+ 'https://ctan.math.ca/tex-archive/' => 1,
'https://mirror.its.dal.ca/ctan/' => 1,
'https://muug.ca/mirror/ctan/' => 1,
},
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index fd54434886..6077685264 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,7 +26,7 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2020
-depend revision/56217
+depend revision/56230
name 00texlive.image
category TLCore
@@ -4251,7 +4251,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 56204
+revision 56219
shortdesc TeX Live standalone installer package
longdesc This package defines the files to go into the installer
longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the
@@ -35926,7 +35926,7 @@ catalogue-version 0.4
name biblatex-ieee
category Package
-revision 53931
+revision 56222
shortdesc IEEE style files for BibLaTeX
relocated 1
longdesc This is a BibLaTeX style that implements the bibliography style
@@ -35937,10 +35937,10 @@ longdesc \usepackage[style=ieee]{biblatex} A demonstration database is
longdesc provided to show how to format input for the style.
longdesc biblatex-ieee requires BibLaTeX 2.7 or later, and works with
longdesc both BibTeX and Biber as the database back-end.
-containersize 5224
-containerchecksum 6a5ef61a577b8fe91bb66b3569fb4082f7a5108a710c8ee6aa533b66603914114ddc09de70e3ba019bca1a744c090f21da8000810746d172924947a3c1e4a7e0
-doccontainersize 557164
-doccontainerchecksum 4c4b8ccdb791ae55e27de07ef4b00793c4461334c7b5f63a564a46738d206cb00441637f6f149842bc04bdbdbdc4a25592bef58601ff9514aad0d9eae1c0c858
+containersize 5404
+containerchecksum 16cf9d5ceb28274a0a33208f4d47fc6c93c70526f4ef4639756ea00c261b6d62503baa3029022bf2bfd1b3ef73fa636cceb2bd3f7c7d63d614890672561e144c
+doccontainersize 557596
+doccontainerchecksum 1fbca2aa8ed98322e4da15c663eadfe401b68d9f7e831817f4267dff31f13d9c45f1ee81ffa5c2f8753b8b059be8adb7e842e8ac320dd02cc7f301cbd97b7d03
docfiles size=174
RELOC/doc/latex/biblatex-ieee/README.md details="Readme"
RELOC/doc/latex/biblatex-ieee/biblatex-ieee-alphabetic.pdf
@@ -35957,7 +35957,7 @@ runfiles size=9
catalogue-ctan /macros/latex/contrib/biblatex-contrib/biblatex-ieee
catalogue-license lppl1.3c
catalogue-topics biblatex journalpub
-catalogue-version 1.3b
+catalogue-version 1.3c
name biblatex-ijsra
category Package
@@ -99391,18 +99391,18 @@ catalogue-version 0.6b
name edichokey
category Package
-revision 55836
+revision 56223
shortdesc Typeset dichotomous identification keys
relocated 1
longdesc This is a LaTeX package for typesetting dichotomous
longdesc identification key in indented style. It can be considered as
longdesc an extended version of package dichokey, as edichokey is more
longdesc capable of dealing with complex keys.
-containersize 1688
-containerchecksum e6704680760b63a683e2550c4412a3895bee1aaa3cd389cd9d13b5986d8fe8c959f4e7b01a1cee4d71d47f0fd9fe508cac426b6a46ea7677d7107ecf5f1a79d7
-doccontainersize 124644
-doccontainerchecksum b6be376d1c4d187c1dcc396c612983c1cae3e5fdb374c53dc5d1b00bfc54f7c835a0f25c7c50342c335f2e706a3c3573c8dcce140540677e87c9fb1f375a7399
-docfiles size=41
+containersize 1868
+containerchecksum c598495449919a67650e7afcc10924cf93f4c29e1dd32305f0581910aaea288d43e6c8c1b91ae9d849b354e343538350ef0d6e78513998a9d2fc6023cd3cf941
+doccontainersize 138132
+doccontainerchecksum 07a8689d20663340d5398a26cd548bbd53c5e6d5c7eac00e9e6478c780e397e765a8cca0e4b41a7b70f09130a1c7fac5326e5f2c46b95f40e11f0ba88b1b3039
+docfiles size=44
RELOC/doc/latex/edichokey/README.md details="Readme"
RELOC/doc/latex/edichokey/edichokey-doc-en.pdf details="Package documentation"
RELOC/doc/latex/edichokey/edichokey-doc-en.tex
@@ -99413,9 +99413,9 @@ runfiles size=1
catalogue-contact-bugs https://github.com/Mikumikunisiteageru/edichokey/issues
catalogue-contact-repository https://github.com/Mikumikunisiteageru/edichokey
catalogue-ctan /macros/latex/contrib/edichokey
-catalogue-license lppl1.3
+catalogue-license lppl1.3c
catalogue-topics biology
-catalogue-version 2.00
+catalogue-version 2.01y
name edmac
category Package
@@ -156562,17 +156562,17 @@ catalogue-version 2020-02-02-PL5
name latex-amsmath-dev
category Package
-revision 55299
+revision 56225
shortdesc Development pre-release of the LaTeX amsmath bundle
relocated 1
longdesc This is a pre-release version of the standard LaTeX amsmath
longdesc bundle. It accompanies the pre-testing kernel code
longdesc (latex-base-dev), and is intended for testing by knowledgeable
longdesc users.
-containersize 30468
-containerchecksum 331161bfe98afdd63056fcb14b9351c30385e6fce6ce44b6a10e96738e9626bd84736244e824e26ceba590e659d11c6af9691526380e9e2e2a79ee15b1ffebfe
-doccontainersize 2350296
-doccontainerchecksum fd362c15b44c74fab3ed46649f852e1b4af4518ed8f4d50159324a2db22a70a339838ce3e395d78d3bab6f1bf19526ccc043bfd3014c50bfc3e6913c8386bb71
+containersize 30524
+containerchecksum 1a157c1c8e74587aa626339aff4f88f25df7bb1ef9c62f95208551e3bf27a6f2ad6bcce62fe050ca2e3e4e7b00d16bbf0d82ca898bfac1654f61a90c74ba5087
+doccontainersize 2351284
+doccontainerchecksum 4c9b25d22d2419a76285ede17c03857b68d43de0a0eb3ea01dab3ca4040f3ebb41964c2e810f0196c4cbdb17d43110dc802e50fafb4b00d4c1c289d23a9d7533
docfiles size=667
RELOC/doc/latex-dev/amsmath/README.md details="Readme"
RELOC/doc/latex-dev/amsmath/ams-external.txt
@@ -156595,8 +156595,8 @@ docfiles size=667
RELOC/doc/latex-dev/amsmath/technote.tex
RELOC/doc/latex-dev/amsmath/testmath.pdf details="Examples paper" language="en"
RELOC/doc/latex-dev/amsmath/testmath.tex
-srccontainersize 65140
-srccontainerchecksum 5ae4a3468228a60ebdbe82fa943a4bf960ce165ad2c5a7fcdac163025d5ec4e97fa8d26e4cb35d9e468cf04fe09dfb37fea5f7d7bd77fd579a8980070283c9c4
+srccontainersize 65212
+srccontainerchecksum 0b84aa145bddc2b6867a9cd5ddee651d4eb86ef0af05e7dbe6c7354ee086868b4af0e853d9d36efa86127c37edc0594cff0e3e24939a43fa8333eb20fc95ef64
srcfiles size=80
RELOC/source/latex-dev/amsmath/amsbsy.dtx
RELOC/source/latex-dev/amsmath/amsbsy.ins
@@ -156625,11 +156625,11 @@ runfiles size=70
catalogue-ctan /macros/latex-dev/required/amsmath
catalogue-license lppl1.3c
catalogue-topics maths
-catalogue-version 2020-10-01 pre-release 1
+catalogue-version 2020-10-01 pre-release 2
name latex-base-dev
category Package
-revision 55898
+revision 56225
shortdesc Development pre-release of the LaTeX kernel
relocated 1
longdesc This package provides a testing release for upcoming LaTeX2e
@@ -156639,11 +156639,11 @@ longdesc users is required by adding these changes to the release LaTeX
longdesc kernel. Typically, the code here will be used by a TeX system
longdesc to create dedicated formats, for example pdflatex-dev, which
longdesc can then be used explicitly for testing.
-containersize 187508
-containerchecksum 94bcab292cfdb9cbce363a7369797fa703315571fa4528c17c0152b424cc84c676ec23df2f9d8c78b68894dd52b05be4d052608b31dd026cc5fd8df5a6252c0e
-doccontainersize 21589084
-doccontainerchecksum a32a5833e1021a3fc20d1269f0d01fff956b00202a240cac7f7547f0b92dc1e442f3c40f526c0cf4ab73e28c80bf641cc061712c9c7c6d86bcd6fcc04e80f213
-docfiles size=6793
+containersize 192976
+containerchecksum d29f32aff7dff839c88541ec4b2a73e3706a0817cd96a8eecabd04a42af2aa6421a2c8bef4e355c1f8710cfd0e2e0f2ecaaa5bc71a09433e05e38aaca7725a91
+doccontainersize 22708664
+doccontainerchecksum 1a40aa2abe01f69e63d2f7a3a4893556b62c1a3792fd212a1f73ba4381bf83035e7b8ec4dbf523b66db0cc9adb58c246b47270663366a89ce60f65467f5aad26
+docfiles size=7088
RELOC/doc/latex-dev/base/README.md details="Readme"
RELOC/doc/latex-dev/base/alltt.pdf
RELOC/doc/latex-dev/base/bugs.txt
@@ -156788,9 +156788,9 @@ docfiles size=6793
RELOC/doc/latex-dev/base/utf8ienc.pdf
RELOC/doc/latex-dev/base/webcomp.err
RELOC/doc/latex-dev/base/webcomp.pdf
-srccontainersize 578624
-srccontainerchecksum 7e2347ecaac959a4cce8cae6b7a9a69b01df5c10f4e104072033798a0e0ecd41a6af7b1632737aff3dc72971331a903c6a8788e13f5e6e3c8a2d9568f17ca835
-srcfiles size=852
+srccontainersize 595668
+srccontainerchecksum c19ebb89eb3b18eb6dc426b6ae061f3f65c891ca65590cd4873675131b7ff8289d403a7c420fdfe224ee3d88c8362a04c04eccad085054ef69527b7d85a8da27
+srcfiles size=879
RELOC/source/latex-dev/base/alltt.dtx
RELOC/source/latex-dev/base/alltt.ins
RELOC/source/latex-dev/base/classes.dtx
@@ -156844,7 +156844,6 @@ srcfiles size=852
RELOC/source/latex-dev/base/ltfssini.dtx
RELOC/source/latex-dev/base/ltfsstrc.dtx
RELOC/source/latex-dev/base/lthooks.dtx
- RELOC/source/latex-dev/base/lthooks.ins
RELOC/source/latex-dev/base/lthyphen.dtx
RELOC/source/latex-dev/base/ltidxglo.dtx
RELOC/source/latex-dev/base/ltlength.dtx
@@ -156890,13 +156889,15 @@ srcfiles size=852
RELOC/source/latex-dev/base/tulm.ins
RELOC/source/latex-dev/base/unpack.ins
RELOC/source/latex-dev/base/utf8ienc.dtx
-runfiles size=495
+runfiles size=523
RELOC/tex/latex-dev/base/alltt.sty
RELOC/tex/latex-dev/base/ansinew.def
RELOC/tex/latex-dev/base/applemac.def
RELOC/tex/latex-dev/base/article.cls
RELOC/tex/latex-dev/base/article.sty
RELOC/tex/latex-dev/base/ascii.def
+ RELOC/tex/latex-dev/base/atbegshi-ltx.sty
+ RELOC/tex/latex-dev/base/atveryend-ltx.sty
RELOC/tex/latex-dev/base/bezier.sty
RELOC/tex/latex-dev/base/bk10.clo
RELOC/tex/latex-dev/base/bk11.clo
@@ -156915,6 +156916,7 @@ runfiles size=495
RELOC/tex/latex-dev/base/decmulti.def
RELOC/tex/latex-dev/base/doc.sty
RELOC/tex/latex-dev/base/docstrip.tex
+ RELOC/tex/latex-dev/base/everyshi-ltx.sty
RELOC/tex/latex-dev/base/exscale.sty
RELOC/tex/latex-dev/base/filehook-ltx.sty
RELOC/tex/latex-dev/base/fix-cm.sty
@@ -156951,14 +156953,9 @@ runfiles size=495
RELOC/tex/latex-dev/base/letter.cls
RELOC/tex/latex-dev/base/letter.sty
RELOC/tex/latex-dev/base/lppl.tex
- RELOC/tex/latex-dev/base/ltexpl.ltx
- RELOC/tex/latex-dev/base/ltfilehook.ltx
- RELOC/tex/latex-dev/base/lthooks.ltx
- RELOC/tex/latex-dev/base/lthooks.sty
RELOC/tex/latex-dev/base/ltluatex.lua
RELOC/tex/latex-dev/base/ltluatex.tex
RELOC/tex/latex-dev/base/ltnews.cls
- RELOC/tex/latex-dev/base/ltshipout.ltx
RELOC/tex/latex-dev/base/ltxcheck.tex
RELOC/tex/latex-dev/base/ltxdoc.cls
RELOC/tex/latex-dev/base/ltxguide.cls
@@ -157012,6 +157009,7 @@ runfiles size=495
RELOC/tex/latex-dev/base/slides.def
RELOC/tex/latex-dev/base/slides.sty
RELOC/tex/latex-dev/base/small2e.tex
+ RELOC/tex/latex-dev/base/source2edoc.cls
RELOC/tex/latex-dev/base/srclfile-ltx.sty
RELOC/tex/latex-dev/base/structuredlog.sty
RELOC/tex/latex-dev/base/syntonly.sty
@@ -157061,7 +157059,7 @@ catalogue-also latex-base
catalogue-ctan /macros/latex-dev/base
catalogue-license lppl1.3c
catalogue-topics format class
-catalogue-version 2020-10-01 pre-release 7
+catalogue-version 2020-10-01 pre-release 8
name latex-bin
category TLCore
@@ -158840,18 +158838,18 @@ catalogue-topics obsolete
name latex-tools-dev
category Package
-revision 55898
+revision 56225
shortdesc Development pre-release of the LaTeX tools bundle
relocated 1
longdesc This is a pre-release version of the standard LaTeX tools
longdesc bundle. It accompanies the pre-testing kernel code
longdesc (latex-base-dev), and is intended for testing by knowledgeable
longdesc users.
-containersize 41776
-containerchecksum 11db8011c04dfabf478efab4011e0a9bb5c8aebd2aa46d574c6ce6a055bad2d3a975bb597a3a84cf62d85bff0a4e1280f71550d62d75a247f4619c8c54776cb5
-doccontainersize 5220404
-doccontainerchecksum 6c2fb390ce5934fb0ff89cc463c984495bb961a3aad547400f31fd65b9f49399a97af43b14ab49540298cfed0a11b63b0b3a5efe2acd5bf6faa875c763a87385
-docfiles size=1641
+containersize 41888
+containerchecksum 37235091ed24b683b1a396508c793eaa8390fedd65efe50467f5462c97a07dc6520c279bd35b121033ec0d6dc1abb8bf24b0da13c40d640800c010ebeb5a339f
+doccontainersize 5216140
+doccontainerchecksum adb0a407f6914c54c2a11f99e71e53c446439bcdae6bc373197a6dc381925d7b89fd7874998079eebedd69ecb74be25c0cf3443a524638f2b06999a23764b93d
+docfiles size=1644
RELOC/doc/latex-dev/tools/README.md details="Readme"
RELOC/doc/latex-dev/tools/afterpage.pdf
RELOC/doc/latex-dev/tools/array.pdf
@@ -158883,9 +158881,9 @@ docfiles size=1641
RELOC/doc/latex-dev/tools/verbatim.pdf
RELOC/doc/latex-dev/tools/xr.pdf
RELOC/doc/latex-dev/tools/xspace.pdf
-srccontainersize 225476
-srccontainerchecksum 274350292351934e29278347487b97ed66caba211fa6a2330fd7439920305e95c2a27e9565fcc0dabe461e6869c2347165ee1dee9d9f709d127e4ac63384d321
-srcfiles size=265
+srccontainersize 225824
+srccontainerchecksum abe9f049767020d20af6850937779a17da1cf0a09ca46150f45161f8d91a4cad467bea4034bfa661e66c888bfc9ea9182f4a9e4732f0980dff3b322672122151
+srcfiles size=266
RELOC/source/latex-dev/tools/afterpage.dtx
RELOC/source/latex-dev/tools/afterpage.ins
RELOC/source/latex-dev/tools/array.dtx
@@ -158919,7 +158917,7 @@ srcfiles size=265
RELOC/source/latex-dev/tools/verbatim.dtx
RELOC/source/latex-dev/tools/xr.dtx
RELOC/source/latex-dev/tools/xspace.dtx
-runfiles size=104
+runfiles size=105
RELOC/tex/latex-dev/tools/.tex
RELOC/tex/latex-dev/tools/afterpage.sty
RELOC/tex/latex-dev/tools/array-2016-10-06.sty
@@ -158967,7 +158965,7 @@ runfiles size=104
catalogue-ctan /macros/latex-dev/required/tools
catalogue-license lppl1.3c
catalogue-topics collection
-catalogue-version 2020-10-01 pre-release 4
+catalogue-version 2020-10-01 pre-release 5
name latex-uni8
category Package
@@ -185692,7 +185690,7 @@ catalogue-version 1.02
name merriweather
category Package
-revision 56004
+revision 56220
shortdesc Merriweather and MerriweatherSans fonts, with LaTeX support
relocated 1
longdesc This package provides the Merriweather and MerriweatherSans
@@ -185703,80 +185701,545 @@ longdesc diagonal stress, sturdy serifs and open forms. The Sans family
longdesc closely harmonizes with the weights and styles of the serif
longdesc family. There are four weights and italics for each.
execute addMap merriweather.map
-containersize 2281492
-containerchecksum 135120f893392da26b2e290a41bf61be1232a761d3d695f158f0c668c06f55d4ccd7c1a24e40fbf70070fdce9a2ba7d31314b593d8cfddea60a9d292a8ad9a33
-doccontainersize 114420
-doccontainerchecksum d7077f3b6c3e01722a7c4fa90eb26f79da656b0040213902b16f8ccd38cc1c535c5dbb20fa1ac413c061cfe620bbf09e0139baebe99991188109f9ea5229ef59
-docfiles size=32
+containersize 5423692
+containerchecksum 4d308ad5a2383ebab55f7f38af857ecb1e11d76a38738488dd857c4e938fb8a227f25ca27419f6193f629b69419462d5cb8407df13d6201a500e0a6f2aded768
+doccontainersize 98108
+doccontainerchecksum 3de70a8bc56b9bebbadd01e5cd0208576e4074b03a97bd348ec4026fb20aa29312e5d5b9a4f3ea3ec26eaefbd35422f67a7df5013a704a2c6edb3afeb1c7eb65
+docfiles size=31
RELOC/doc/fonts/merriweather/OFL.txt
RELOC/doc/fonts/merriweather/README details="Readme"
RELOC/doc/fonts/merriweather/merriweather-samples.pdf details="Font samples"
RELOC/doc/fonts/merriweather/merriweather-samples.tex
-runfiles size=1141
- RELOC/fonts/enc/dvips/merriweather/mwthr_3g4t7f.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_44qg5v.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_6upxhe.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_7ytifx.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_clyrx2.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_czxicq.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_hzrl5s.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_iuohxq.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_n7ujmb.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_tvbl63.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_u54ue6.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_vi456v.enc
- RELOC/fonts/enc/dvips/merriweather/mwthr_zwbe7j.enc
+runfiles size=5171
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_27vehb.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_2hyv6t.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_2j7grf.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_2r7lb2.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_4ylisx.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_5lck5z.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_5xld5w.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_6qeh6o.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_7bivwm.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_7jdyhk.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_7npxgm.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_7t3tp2.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_7tayun.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_abao47.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_adz5lu.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_afua2j.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_ags7qn.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_ah5y5a.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_b6rchs.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_btdrxl.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_c4h6ot.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_cc6s4l.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_ckyw6q.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_cqy4t2.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_cvdnuw.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_cy3ufi.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_diijaa.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_dl4a4c.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_dx3n55.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_e2idhw.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_e5zf5y.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_f5n6m3.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_fs3efe.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_gbcczm.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_gdbfjs.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_gldhmf.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_gmchnq.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_h6z4fc.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_h7gtfv.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_hwcxwn.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_hz3jhh.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_ibepov.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_igdvgb.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_jjwbah.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_k4bbiq.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_lkhefy.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_lm56sz.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_mb4bqm.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_me3dx7.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_mgprdv.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_mr3nck.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_mx2b4h.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_nszfm3.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_o43b2q.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_ob5vn4.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_okb76x.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_owzwzj.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_p242jx.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_posqbl.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_qfmkcs.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_qndjqi.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_rzflsg.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_s56ilq.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_stxeas.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_ttjzpe.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_u2frii.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_uduhhn.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_urus45.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_vvhkhe.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_w4rwtq.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_wlsyn3.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_wppmfi.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_x754fd.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_xfdjpz.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_xys2i2.enc
+ RELOC/fonts/enc/dvips/merriweather/merriwthr_ynquvw.enc
RELOC/fonts/map/dvips/merriweather/merriweather.map
+ RELOC/fonts/opentype/sorkin/merriweather/Merriweather-Black.otf
+ RELOC/fonts/opentype/sorkin/merriweather/Merriweather-BlackItalic.otf
+ RELOC/fonts/opentype/sorkin/merriweather/Merriweather-Bold.otf
+ RELOC/fonts/opentype/sorkin/merriweather/Merriweather-BoldItalic.otf
+ RELOC/fonts/opentype/sorkin/merriweather/Merriweather-Italic.otf
+ RELOC/fonts/opentype/sorkin/merriweather/Merriweather-Light.otf
+ RELOC/fonts/opentype/sorkin/merriweather/Merriweather-LightItalic.otf
+ RELOC/fonts/opentype/sorkin/merriweather/Merriweather-Regular.otf
+ RELOC/fonts/opentype/sorkin/merriweather/MerriweatherSans-Bold.otf
+ RELOC/fonts/opentype/sorkin/merriweather/MerriweatherSans-BoldItalic.otf
+ RELOC/fonts/opentype/sorkin/merriweather/MerriweatherSans-ExtraBold.otf
+ RELOC/fonts/opentype/sorkin/merriweather/MerriweatherSans-ExtraBoldItalic.otf
+ RELOC/fonts/opentype/sorkin/merriweather/MerriweatherSans-Italic.otf
+ RELOC/fonts/opentype/sorkin/merriweather/MerriweatherSans-Light.otf
+ RELOC/fonts/opentype/sorkin/merriweather/MerriweatherSans-LightItalic.otf
+ RELOC/fonts/opentype/sorkin/merriweather/MerriweatherSans-Regular.otf
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-lf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-osf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-sup-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-sup-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-sup-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Black-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-lf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-osf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-sup-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-sup-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-sup-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BlackItalic-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-ts1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-osf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-sup-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-sup-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-sup-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Bold-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-ts1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-osf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-sup-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-sup-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-sup-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-BoldItalic-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-ts1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-osf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-sup-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-sup-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-sup-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Italic-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-ts1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-osf-ts1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightIt-osf-ly1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightIt-osf-ot1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightIt-osf-t1--base.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightIt-osf-t1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightIt-osf-ts1--base.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightIt-osf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-sup-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-sup-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-sup-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Light-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-lf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-osf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-sup-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-sup-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-sup-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-LightItalic-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-ts1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-osf-ts1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBdIt-osf-ly1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBdIt-osf-ot1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBdIt-osf-t1--base.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBdIt-osf-t1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBdIt-osf-ts1--base.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBdIt-osf-ts1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBold-osf-ly1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBold-osf-ot1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBold-osf-t1--base.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBold-osf-t1.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBold-osf-ts1--base.tfm
- RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-UltraBold-osf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-sup-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-sup-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-sup-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/Merriwthr-Regular-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-osf-ts1--base.tfm
@@ -185785,8 +186248,50 @@ runfiles size=1141
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-sup-ot1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-sup-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Bold-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-ts1--base.tfm
@@ -185795,8 +186300,50 @@ runfiles size=1141
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-sup-ot1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-sup-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-ts1--base.tfm
@@ -185805,8 +186352,50 @@ runfiles size=1141
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-sup-ot1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-sup-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-ts1--base.tfm
@@ -185815,8 +186404,50 @@ runfiles size=1141
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-sup-ot1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-sup-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-osf-ts1--base.tfm
@@ -185825,8 +186456,50 @@ runfiles size=1141
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-sup-ot1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-sup-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Italic-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-osf-ts1--base.tfm
@@ -185835,8 +186508,50 @@ runfiles size=1141
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-sup-ot1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-sup-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Light-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-osf-ts1--base.tfm
@@ -185845,8 +186560,50 @@ runfiles size=1141
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-sup-ot1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-sup-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-sup-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-lf-ts1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-osf-ly1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-osf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-osf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-osf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-osf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-osf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-osf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-osf-sc-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-osf-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-osf-t1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-osf-ts1--base.tfm
@@ -185855,89 +186612,420 @@ runfiles size=1141
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-sup-ot1.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-sup-t1--base.tfm
RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-sup-t1.tfm
- RELOC/fonts/truetype/sorkin/merriweather/Merriweather-Bold.ttf
- RELOC/fonts/truetype/sorkin/merriweather/Merriweather-BoldIt.ttf
- RELOC/fonts/truetype/sorkin/merriweather/Merriweather-Italic.ttf
- RELOC/fonts/truetype/sorkin/merriweather/Merriweather-Light.ttf
- RELOC/fonts/truetype/sorkin/merriweather/Merriweather-LightIt.ttf
- RELOC/fonts/truetype/sorkin/merriweather/Merriweather-Regular.ttf
- RELOC/fonts/truetype/sorkin/merriweather/Merriweather-UltraBdIt.ttf
- RELOC/fonts/truetype/sorkin/merriweather/Merriweather-UltraBold.ttf
- RELOC/fonts/truetype/sorkin/merriweather/MerriweatherSans-Bold.ttf
- RELOC/fonts/truetype/sorkin/merriweather/MerriweatherSans-BoldItalic.ttf
- RELOC/fonts/truetype/sorkin/merriweather/MerriweatherSans-ExBoldIt.ttf
- RELOC/fonts/truetype/sorkin/merriweather/MerriweatherSans-ExtraBold.ttf
- RELOC/fonts/truetype/sorkin/merriweather/MerriweatherSans-Italic.ttf
- RELOC/fonts/truetype/sorkin/merriweather/MerriweatherSans-Light.ttf
- RELOC/fonts/truetype/sorkin/merriweather/MerriweatherSans-LightItalic.ttf
- RELOC/fonts/truetype/sorkin/merriweather/MerriweatherSans-Regular.ttf
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tlf-ts1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-sc-ly1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-sc-ly1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-sc-ot1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-sc-ot1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-sc-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-sc-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-t1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-t1.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-ts1--base.tfm
+ RELOC/fonts/tfm/sorkin/merriweather/MerriwthrSans-Regular-tosf-ts1.tfm
+ RELOC/fonts/type1/sorkin/merriweather/Merriwthr-Black.pfb
+ RELOC/fonts/type1/sorkin/merriweather/Merriwthr-BlackItalic.pfb
RELOC/fonts/type1/sorkin/merriweather/Merriwthr-Bold.pfb
- RELOC/fonts/type1/sorkin/merriweather/Merriwthr-BoldIt.pfb
+ RELOC/fonts/type1/sorkin/merriweather/Merriwthr-BoldItalic.pfb
RELOC/fonts/type1/sorkin/merriweather/Merriwthr-Italic.pfb
RELOC/fonts/type1/sorkin/merriweather/Merriwthr-Light.pfb
- RELOC/fonts/type1/sorkin/merriweather/Merriwthr-LightIt.pfb
+ RELOC/fonts/type1/sorkin/merriweather/Merriwthr-LightItalic.pfb
RELOC/fonts/type1/sorkin/merriweather/Merriwthr-Regular.pfb
- RELOC/fonts/type1/sorkin/merriweather/Merriwthr-UltraBdIt.pfb
- RELOC/fonts/type1/sorkin/merriweather/Merriwthr-UltraBold.pfb
RELOC/fonts/type1/sorkin/merriweather/MerriwthrSans-Bold.pfb
RELOC/fonts/type1/sorkin/merriweather/MerriwthrSans-BoldItalic.pfb
- RELOC/fonts/type1/sorkin/merriweather/MerriwthrSans-ExBoldIt.pfb
RELOC/fonts/type1/sorkin/merriweather/MerriwthrSans-ExtraBold.pfb
+ RELOC/fonts/type1/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic.pfb
RELOC/fonts/type1/sorkin/merriweather/MerriwthrSans-Italic.pfb
RELOC/fonts/type1/sorkin/merriweather/MerriwthrSans-Light.pfb
RELOC/fonts/type1/sorkin/merriweather/MerriwthrSans-LightItalic.pfb
RELOC/fonts/type1/sorkin/merriweather/MerriwthrSans-Regular.pfb
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-osf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-osf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-osf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Black-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-osf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-osf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-osf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BlackItalic-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-osf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Bold-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-osf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-BoldItalic-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-osf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Italic-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-osf-ts1.vf
- RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightIt-osf-t1.vf
- RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightIt-osf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Light-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-osf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-osf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-osf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-LightItalic-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-osf-ts1.vf
- RELOC/fonts/vf/sorkin/merriweather/Merriwthr-UltraBdIt-osf-t1.vf
- RELOC/fonts/vf/sorkin/merriweather/Merriwthr-UltraBdIt-osf-ts1.vf
- RELOC/fonts/vf/sorkin/merriweather/Merriwthr-UltraBold-osf-t1.vf
- RELOC/fonts/vf/sorkin/merriweather/Merriwthr-UltraBold-osf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/Merriwthr-Regular-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-osf-ts1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Bold-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-osf-ts1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-BoldItalic-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-osf-ts1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBold-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-osf-ts1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-ExtraBoldItalic-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-osf-ts1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Italic-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-osf-ts1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Light-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-osf-ts1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-LightItalic-tosf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-lf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-lf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-lf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-lf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-lf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-osf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-osf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-osf-sc-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-osf-t1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-osf-ts1.vf
RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-sup-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-tlf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-tlf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-tlf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-tlf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-tlf-ts1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-tosf-sc-ly1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-tosf-sc-ot1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-tosf-sc-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-tosf-t1.vf
+ RELOC/fonts/vf/sorkin/merriweather/MerriwthrSans-Regular-tosf-ts1.vf
+ RELOC/tex/latex/merriweather/LY1Merriwthr-LF.fd
RELOC/tex/latex/merriweather/LY1Merriwthr-OsF.fd
+ RELOC/tex/latex/merriweather/LY1Merriwthr-Sup.fd
+ RELOC/tex/latex/merriweather/LY1Merriwthr-TLF.fd
+ RELOC/tex/latex/merriweather/LY1Merriwthr-TOsF.fd
+ RELOC/tex/latex/merriweather/LY1MerriwthrSans-LF.fd
RELOC/tex/latex/merriweather/LY1MerriwthrSans-OsF.fd
RELOC/tex/latex/merriweather/LY1MerriwthrSans-Sup.fd
+ RELOC/tex/latex/merriweather/LY1MerriwthrSans-TLF.fd
+ RELOC/tex/latex/merriweather/LY1MerriwthrSans-TOsF.fd
+ RELOC/tex/latex/merriweather/OT1Merriwthr-LF.fd
RELOC/tex/latex/merriweather/OT1Merriwthr-OsF.fd
+ RELOC/tex/latex/merriweather/OT1Merriwthr-Sup.fd
+ RELOC/tex/latex/merriweather/OT1Merriwthr-TLF.fd
+ RELOC/tex/latex/merriweather/OT1Merriwthr-TOsF.fd
+ RELOC/tex/latex/merriweather/OT1MerriwthrSans-LF.fd
RELOC/tex/latex/merriweather/OT1MerriwthrSans-OsF.fd
RELOC/tex/latex/merriweather/OT1MerriwthrSans-Sup.fd
+ RELOC/tex/latex/merriweather/OT1MerriwthrSans-TLF.fd
+ RELOC/tex/latex/merriweather/OT1MerriwthrSans-TOsF.fd
+ RELOC/tex/latex/merriweather/T1Merriwthr-LF.fd
RELOC/tex/latex/merriweather/T1Merriwthr-OsF.fd
+ RELOC/tex/latex/merriweather/T1Merriwthr-Sup.fd
+ RELOC/tex/latex/merriweather/T1Merriwthr-TLF.fd
+ RELOC/tex/latex/merriweather/T1Merriwthr-TOsF.fd
+ RELOC/tex/latex/merriweather/T1MerriwthrSans-LF.fd
RELOC/tex/latex/merriweather/T1MerriwthrSans-OsF.fd
RELOC/tex/latex/merriweather/T1MerriwthrSans-Sup.fd
+ RELOC/tex/latex/merriweather/T1MerriwthrSans-TLF.fd
+ RELOC/tex/latex/merriweather/T1MerriwthrSans-TOsF.fd
+ RELOC/tex/latex/merriweather/TS1Merriwthr-LF.fd
RELOC/tex/latex/merriweather/TS1Merriwthr-OsF.fd
+ RELOC/tex/latex/merriweather/TS1Merriwthr-TLF.fd
+ RELOC/tex/latex/merriweather/TS1Merriwthr-TOsF.fd
+ RELOC/tex/latex/merriweather/TS1MerriwthrSans-LF.fd
RELOC/tex/latex/merriweather/TS1MerriwthrSans-OsF.fd
+ RELOC/tex/latex/merriweather/TS1MerriwthrSans-TLF.fd
+ RELOC/tex/latex/merriweather/TS1MerriwthrSans-TOsF.fd
RELOC/tex/latex/merriweather/merriweather.sty
catalogue-contact-home http://www.google.com/webfonts
catalogue-ctan /fonts/merriweather
@@ -199811,7 +200899,7 @@ catalogue-topics latex-devel
name nanicolle
category Package
-revision 55784
+revision 56224
shortdesc Typesetting herbarium specimen labels
relocated 1
longdesc This package provides a LaTeX class nanicolle.cls for
@@ -199823,10 +200911,10 @@ longdesc compound of the Japanese "nani" (meaning "what") and a
longdesc truncated form of the English "collect", thus expressing the
longdesc ideas of identification/classification (taxonomy) and
longdesc collection.
-containersize 5448
-containerchecksum 65a60e48fd879775e732cd74d46305666a2e1a73f9576412a30bd35f88b16e99d8cb980551877cd3a6e939bb8bff0fd07542e34ca41fef43227dd6d193c7e8ce
-doccontainersize 571764
-doccontainerchecksum f13baf69951e0c021e7bcd53292add5da1cb7b526d82c9b797fb77c0040baffde3f64df79009aee9aa9d34a7df19ba0e71c44474a62ffd30c8fe602ef963d1f8
+containersize 5484
+containerchecksum e9f90cb21730e34fe03961281527cfdea0f7c15e349b9d441747be7ba591c40ac876ebed92f884bd502c3cf7a99f2f6f6328bce515680100c2f9a3d7e04a4aa4
+doccontainersize 573728
+doccontainerchecksum 3d159eb9fd84aa8bc6c183ae6a42aefc331b9bd606abbc1b2c3c53776d5b8f1554a4ad304d0555b8d2c95be2e8000eab0a3ec6a167e089292099bac6751782d2
docfiles size=300
RELOC/doc/xelatex/nanicolle/ChinaMainland.pdf
RELOC/doc/xelatex/nanicolle/Dongguan.pdf
@@ -199835,9 +200923,9 @@ docfiles size=300
RELOC/doc/xelatex/nanicolle/nanicolle-doc-en.tex
RELOC/doc/xelatex/nanicolle/nanicolle-doc-zh.pdf details="Package documentation (Chinese)" language="zh"
RELOC/doc/xelatex/nanicolle/nanicolle-doc-zh.tex
- RELOC/doc/xelatex/nanicolle/nanicolle-ex-en.pdf details="Example of use English)"
+ RELOC/doc/xelatex/nanicolle/nanicolle-ex-en.pdf details="Example of use (English)"
RELOC/doc/xelatex/nanicolle/nanicolle-ex-en.tex
- RELOC/doc/xelatex/nanicolle/nanicolle-ex-zh.pdf details="Example of use Chinese)" language="zh"
+ RELOC/doc/xelatex/nanicolle/nanicolle-ex-zh.pdf details="Example of use (Chinese)" language="zh"
RELOC/doc/xelatex/nanicolle/nanicolle-ex-zh.tex
RELOC/doc/xelatex/nanicolle/point.pdf
runfiles size=4
@@ -199847,7 +200935,7 @@ catalogue-contact-repository https://github.com/Mikumikunisiteageru/nanicolle
catalogue-ctan /macros/xetex/latex/nanicolle
catalogue-license lppl1.3c
catalogue-topics class biology covers labels chinese xetex
-catalogue-version 2.02
+catalogue-version 2.03y
name nanumtype1
category Package
@@ -280271,7 +281359,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 56197
+revision 56227
shortdesc Convert (La)TeX to HTML/XML
longdesc A converter from TeX and LaTeX to SGML-based formats such as
longdesc (X)HTML, MathML, OpenDocument, and DocBook, providing a
@@ -280286,10 +281374,10 @@ longdesc restricted-syntax systems such as hyperlatex and gellmu. Note
longdesc that CTAN no longer holds the definitive sources of the
longdesc package: see the 'Readme' file.
depend tex4ht.ARCH
-containersize 879976
-containerchecksum 0939bdfb511372b40116746460bf758f8fdc0352cea7677082571c27898a467f6ece4b20888f151b37d535405d422c67f52f4ac1e40bd7ebdf75a4338d914fec
-doccontainersize 136160
-doccontainerchecksum 76c650cd3b6919bdeccce012400b1bc8530c53997fcd1aa983e003883083f29ecb96b0ba3f52bc9e866899eae7083a659cf5be7411825944b1b89a53d9c38258
+containersize 891044
+containerchecksum 871fc93388e049856a18774d6944d83d69283a832ebd5060a1879cbaa8abffcb4659a6b608e233ced574ace02e117529cc1d41522239a59468f60b0984ee99a2
+doccontainersize 136156
+doccontainerchecksum facb6a95d961cfe47cf8f6f70f7d3268f16d376919b3c4636da3c1b2168dbfb26e887da9ca9b36080ab4375587b2f9dab888304e5a705075b9ff3cdb1db3a0fe
docfiles size=259
texmf-dist/doc/generic/tex4ht/Makefile
texmf-dist/doc/generic/tex4ht/TeX4ht-doc.tex
@@ -280360,7 +281448,7 @@ docfiles size=259
texmf-dist/doc/generic/tex4ht/mn56.html
texmf-dist/doc/generic/tex4ht/mn5x.png
texmf-dist/doc/generic/tex4ht/mn6x.png
-runfiles size=9556
+runfiles size=9658
texmf-dist/scripts/tex4ht/ht.sh
texmf-dist/scripts/tex4ht/htcontext.sh
texmf-dist/scripts/tex4ht/htcopy.pl
@@ -280780,6 +281868,17 @@ runfiles size=9556
texmf-dist/tex4ht/base/unix/tex4ht.env
texmf-dist/tex4ht/base/win32/tex4ht.env
texmf-dist/tex4ht/bin/tex4ht.jar
+ texmf-dist/tex4ht/ht-fonts/alias/Century_Schoolbook_L/pncb8c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Century_Schoolbook_L/pncb8t.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Century_Schoolbook_L/pncbc8t.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Century_Schoolbook_L/pncbi8c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Century_Schoolbook_L/pncbi8t.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Century_Schoolbook_L/pncbo8c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Century_Schoolbook_L/pncbo8t.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Century_Schoolbook_L/pncri8c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Century_Schoolbook_L/pncri8t.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Century_Schoolbook_L/pncro8c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Century_Schoolbook_L/pncro8t.htf
texmf-dist/tex4ht/ht-fonts/alias/EB_Garamond/EBGaramond-Bold-inf-ly1.htf
texmf-dist/tex4ht/ht-fonts/alias/EB_Garamond/EBGaramond-Bold-inf-ot1.htf
texmf-dist/tex4ht/ht-fonts/alias/EB_Garamond/EBGaramond-Bold-inf-t1.htf
@@ -281283,6 +282382,12 @@ runfiles size=9556
texmf-dist/tex4ht/ht-fonts/alias/EB_Garamond/EBGaramond-SemiBoldItalic-tosf-ts1.htf
texmf-dist/tex4ht/ht-fonts/alias/EB_Garamond/EBGaramondInitials-tlf-ot1.htf
texmf-dist/tex4ht/ht-fonts/alias/EB_Garamond/EBGaramondInitials-tlf-t1.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Fourier-Math-Letters/fncmib.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Fourier-Math-Letters/fncmii.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Fourier-Math-Letters/fncmiib.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Fourier-Math-Letters/futmib.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Fourier-Math-Letters/futmii.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Fourier-Math-Letters/futmiib.htf
texmf-dist/tex4ht/ht-fonts/alias/LibertineMath/nxlbmi.htf
texmf-dist/tex4ht/ht-fonts/alias/LibertineMath/nxlbmi0.htf
texmf-dist/tex4ht/ht-fonts/alias/LibertineMath/nxlbmi01.htf
@@ -281684,6 +282789,33 @@ runfiles size=9556
texmf-dist/tex4ht/ht-fonts/alias/TeXGyreTermesX/ntx-Regular-tlf-t1.htf
texmf-dist/tex4ht/ht-fonts/alias/TeXGyreTermesX/ntx-Regular-tosf-ly1.htf
texmf-dist/tex4ht/ht-fonts/alias/TeXGyreTermesX/ntx-Regular-tosf-t1.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futb8c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futb8t.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futb9c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futb9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futb9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futbc8t.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futbi8c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futbi8t.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futbi9c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futbi9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futbi9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futbo8c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futbo8t.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futbo9c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futbo9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futbo9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futr9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futri8c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futri8t.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futri9c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futri9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futri9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futro8c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futro8t.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futro9c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futro9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/Utopia/futro9e.htf
texmf-dist/tex4ht/ht-fonts/alias/XCharterMath/zchbmia.htf
texmf-dist/tex4ht/ht-fonts/alias/XCharterMath/zchmia.htf
texmf-dist/tex4ht/ht-fonts/alias/adobe/avantgar/pagd.htf
@@ -282438,6 +283570,37 @@ runfiles size=9556
texmf-dist/tex4ht/ht-fonts/alias/euro/zpeurit.htf
texmf-dist/tex4ht/ht-fonts/alias/euro/zpeurs.htf
texmf-dist/tex4ht/ht-fonts/alias/euro/zpeurt.htf
+ texmf-dist/tex4ht/ht-fonts/alias/fourier-orns/futboorn.htf
+ texmf-dist/tex4ht/ht-fonts/alias/fourier-orns/futborn.htf
+ texmf-dist/tex4ht/ht-fonts/alias/fourier-orns/futcorn.htf
+ texmf-dist/tex4ht/ht-fonts/alias/fourier-orns/futroorn.htf
+ texmf-dist/tex4ht/ht-fonts/alias/fourier-orns/futsoorn.htf
+ texmf-dist/tex4ht/ht-fonts/alias/fourier-orns/futsorn.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futb-sup/futb-sup.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futbi-sup/futbi-sup.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futc-sup/futc-sup.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futc9c/futc9c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futc9d/futc9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futc9e/futc9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futrc9e/futrc9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futrci9d/futrci9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futrci9e/futrci9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futri-sup/futri-sup.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futs-sup/futs-sup.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futs9c/futs9c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futs9d/futs9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futs9e/futs9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futsc9d/futsc9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futsc9e/futsc9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futsci9d/futsci9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futsci9e/futsci9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futsi-sup/futsi-sup.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futsi9c/futsi9c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futsi9d/futsi9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futsi9e/futsi9e.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futso9c/futso9c.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futso9d/futso9d.htf
+ texmf-dist/tex4ht/ht-fonts/alias/futso9e/futso9e.htf
texmf-dist/tex4ht/ht-fonts/alias/gbk/gbkcy/gbkcy01.htf
texmf-dist/tex4ht/ht-fonts/alias/gbk/gbkcy/gbkcy02.htf
texmf-dist/tex4ht/ht-fonts/alias/gbk/gbkcy/gbkcy03.htf
@@ -285904,6 +287067,9 @@ runfiles size=9556
texmf-dist/tex4ht/ht-fonts/symbol/mathtime/mtsyn-bs.htf
texmf-dist/tex4ht/ht-fonts/unicode/Baskervaldx/zbvbmi.htf
texmf-dist/tex4ht/ht-fonts/unicode/Baskervaldx/zbvmi.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Century_Schoolbook_L/pncr8c.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Century_Schoolbook_L/pncr8t.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Century_Schoolbook_L/pncrc8t.htf
texmf-dist/tex4ht/ht-fonts/unicode/EB_Garamond/EBGaramond-Italic-lf-swash-ly1.htf
texmf-dist/tex4ht/ht-fonts/unicode/EB_Garamond/EBGaramond-Italic-lf-swash-ot1.htf
texmf-dist/tex4ht/ht-fonts/unicode/EB_Garamond/EBGaramond-Italic-lf-swash-t1.htf
@@ -285924,6 +287090,11 @@ runfiles size=9556
texmf-dist/tex4ht/ht-fonts/unicode/EB_Garamond/EBGaramond-Regular-sup-ot1.htf
texmf-dist/tex4ht/ht-fonts/unicode/EB_Garamond/EBGaramond-Regular-sup-t1.htf
texmf-dist/tex4ht/ht-fonts/unicode/EB_Garamond/EBGaramondInitials-tlf-ly1.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Fourier-Math-Extension/fourier-mex.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Fourier-Math-Letters/fncmi.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Fourier-Math-Letters/futmi.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Fourier-Math-Symbols/fncsy.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Fourier-Math-Symbols/futsy.htf
texmf-dist/tex4ht/ht-fonts/unicode/LibertineMath/nxlbmi02.htf
texmf-dist/tex4ht/ht-fonts/unicode/LibertineMath/nxlbmia.htf
texmf-dist/tex4ht/ht-fonts/unicode/LibertineMath/nxlmia.htf
@@ -286026,6 +287197,11 @@ runfiles size=9556
texmf-dist/tex4ht/ht-fonts/unicode/URW_Chancery_L/pzcmi8c.htf
texmf-dist/tex4ht/ht-fonts/unicode/URW_Chancery_L/pzcmi8r.htf
texmf-dist/tex4ht/ht-fonts/unicode/URW_Chancery_L/pzcmi8t.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Utopia/futr8c.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Utopia/futr8t.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Utopia/futr9c.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Utopia/futr9d.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/Utopia/futrc8t.htf
texmf-dist/tex4ht/ht-fonts/unicode/adobe/courier/pcrr7t.htf
texmf-dist/tex4ht/ht-fonts/unicode/adobe/courier/pcrrc7t.htf
texmf-dist/tex4ht/ht-fonts/unicode/adobe/courier/pcrro8r.htf
@@ -286513,6 +287689,10 @@ runfiles size=9556
texmf-dist/tex4ht/ht-fonts/unicode/ebg/ntxebgmia.htf
texmf-dist/tex4ht/ht-fonts/unicode/ec/eccc-uni.htf
texmf-dist/tex4ht/ht-fonts/unicode/erewMath/zutmia.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/fourier-orns/futrorn.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/futr-sup/futr-sup.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/futrc9d/futrc9d.htf
+ texmf-dist/tex4ht/ht-fonts/unicode/futrd8t/futrd8t.htf
texmf-dist/tex4ht/ht-fonts/unicode/greek/ibygrk/fibr.htf
texmf-dist/tex4ht/ht-fonts/unicode/hebrew/cjhebltx.htf
texmf-dist/tex4ht/ht-fonts/unicode/hebrew/crml.htf
@@ -286717,7 +287897,7 @@ runfiles size=9556
catalogue-contact-bugs https://puszcza.gnu.org.ua/bugs/?group=tex4ht
catalogue-contact-home http://tug.org/tex4ht
catalogue-contact-repository https://puszcza.gnu.org.ua/projects/tex4ht/
-catalogue-contact-support http://lists.tug.org/tex4ht
+catalogue-contact-support https://lists.tug.org/tex4ht
catalogue-ctan /support/TeX4ht
catalogue-license lppl
catalogue-topics cvt-html
@@ -288607,15 +289787,15 @@ docfiles size=592
name texlive-docindex
category TLCore
-revision 56212
+revision 56219
shortdesc top-level TeX Live doc.html, etc.
longdesc These files are regenerated as needed, which is often, so we
longdesc make them a separate package. See the tl-update-auto script for
longdesc the process.
-containersize 388
-containerchecksum 25fa2212e697611d87cd91a9de166108d351ce9576d17ff536a20afa683bd698410741a3cd33f2e13cba2e8b13716d957e0c33dd116515af1c389c1107c39fad
-doccontainersize 168528
-doccontainerchecksum a14854197a057ee2b37ede100eee487d08c92e0732ec07748799704548cfe9a3f72af9a1e4165a469eaf4fb422775eea16bf6ba948d697a26d638f4644eef323
+containersize 392
+containerchecksum 00106798d0cc87c33fbb9c390872cef73fa64876f949ecf8c93c6e6be1bbeb2626b023bb6b177c85efc65bf8fe104d671ca411a889ed9f8b37f2e5db99828c9f
+doccontainersize 168708
+doccontainerchecksum eb66329ec7af86be8d91e63bee45b4fdfb7eb2251c1c04fd437ff59be34933a039ce71dd4d0479f81f2dff038d3d977ef38e90560e811182136ec571a351cb1f
docfiles size=334
doc.html
@@ -288837,7 +290017,7 @@ docfiles size=368
name texlive-scripts
category TLCore
-revision 56204
+revision 56219
shortdesc TeX Live infrastructure programs
longdesc Includes install-tl, tl-portable, rungs, etc.; not needed for
longdesc tlmgr to run but still ours. Not included in tlcritical.
@@ -288845,10 +290025,10 @@ depend texlive-scripts.ARCH
depend texlive.infra
execute addMap mathpple.map
postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat
-containersize 131936
-containerchecksum 2ae6f40b0eb89814eabe937817a73de000df4acd3d4881552aa20b2fbdaefb2bfc7362a0e6a0acd3f9dcff04a90be20eec7093f3bf1fbbd03c7beeae002c7573
+containersize 132004
+containerchecksum 730e622747694eb9d69eed82e1ca0df4d6efd0f3f0844b4fa4ad965a7d08321cb214d64ab1b8a7e4bb3ef79017a2b56286130d37761306beb6b88122a4d15f50
doccontainersize 218656
-doccontainerchecksum f414c91731055824bb2f18e2614b32f234076988608c505af1f2b3aa94830b66386e41ed052a3ee7316de4981355fc06f0edb6b75f8c9c53dc036e7bd99f065b
+doccontainerchecksum a700dff19236b2b6b5306f9cd64e47ce5dda931300ea32cb006e57beccebd6edfcf121adbbb0dd413a47698300c3bc175fea40c9919730c8f62c9bd756774d8f
docfiles size=141
texmf-dist/doc/man/man1/fmtutil-sys.1
texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf
@@ -298714,19 +299894,19 @@ catalogue-topics graphics-prep
name tlmgrbasics
category Package
-revision 55930
+revision 56221
shortdesc A simplified documentation for tlmgr
relocated 1
longdesc This package provides simplified documentation for tlmgr, the
longdesc TeX Live Manager. It describes the most commonly-used actions
longdesc and options in a convenient format.
containersize 424
-containerchecksum 09ad5596cb18a9b26d54b8feaeaceade41ef386928054ae413096386fd70d7d3f7e2303660c100dbd96095bff8bb8e29e863be5c131c72bfc728eaf03aab9524
-doccontainersize 151116
-doccontainerchecksum f9358c05b5d8142f727db3dfc247a89ead2b1aad687ef3b8a2ca0d7ae64aa9e14558331c23ebbd433ad7f8bb7e6bd62a3c0b1e5bfab0dd05c41d25086fe379ef
+containerchecksum d75c3eda16591cd7c6f3ba2e7e615a854d019ca850fa4d9428df9efe792764d885df642b65eb538b0bf6ecd9e4b5f4e41d82292647e24980b65987dfe7332ce0
+doccontainersize 150972
+doccontainerchecksum 4f9eb5189bdc3599e3b691ae69a5bb89894b9b60c7838772a41b9784a6a33323a634ac6892f88234762219fa99665a2079df5b0127d98bb396a66844ccf8cb11
docfiles size=43
RELOC/doc/latex/tlmgrbasics/README details="Readme"
- RELOC/doc/latex/tlmgrbasics/tlmgr.pdf
+ RELOC/doc/latex/tlmgrbasics/tlmgr.pdf details="The document itself"
RELOC/doc/latex/tlmgrbasics/tlmgr.tex
catalogue-ctan /info/tlmgrbasics
catalogue-license gpl2+
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 6aae1e3b79..1e15188e86 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-7ad9d48833138db3d71346d5bc3ebb24 texlive.tlpdb
+e0540798d1273fd8ac8422f21ee2d266 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 74e43ba401..7ea7354d63 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-86d8735a6d1d53384ce9ccc1f5b4b3fc5c0dfc51b430d1fd0d1014a66c5b79a111e51475f9b0cabc9a1eceee1dc0c9cd16e2e44b3e145d54e7b02eb0adf4f1da texlive.tlpdb
+dfd12f201bb301bde799c962d07eab8bb3df493fa37c16d8b9b4653c76369153291c43847156ebc3978d3bd0d139950c72752fc982d3a8095ac7571673a09394 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index dbe9dafc02..b74707bb9b 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBCgAGBQJfTDyrAAoJEEzhh34ZQ4xwigwH/j0+UHC0Ez5AagpxGDF9zOK9
-rBel0hXLuWXNSMXhX/KpdlK2GnP3NfDLdGGj9sbinVyfI02xNYZJQmlM2zaGLzyi
-QK9Q3AT/uR+o2qDMJaEoYSU8gAxBDGpiZwVucCzSSgQA7daw0WmjhHdqPUh+0QKh
-BKCfj7Wle7S3O8z1aLKsTY27gvRs0hQy1qMHkuIny7CkDqo55RXVMmeRbIH3SDo2
-QmJ6K4byqIZ79YLWVhOJbFGg/PgJdbDLNLhv30seWOh2rR6qqVJOjb/JS4IlRqJH
-aZ/1ZxhF/7FSVFar/fWSvMRA4W/SnV5SpeBzcH0cXJHYFU2JxI64xZ4Chb8zYDQ=
-=ogK6
+iQEcBAEBCgAGBQJfTZElAAoJEEzhh34ZQ4xwtwUIAJdhVUVwC8fjvnRFFZ0Ysstk
+w1kJal1fQ/gZna58k2qQJcZmTJP8Opyxgn1q5WvfFVE6OzAyWhYzRrQYRmJzOXMn
+LAVwyeP2axchiLg83+hhbVOd8UlHY7vAn2zoAbcgRoFy9fy80IDmXrRYM9sw5rOU
+8MtLrJt5mt57wUTzJb5yAwrS8sdxYJFGZJDkEIzDyF7sPPFkMF63R8v276FlvCEq
+xH346dZz2wRuxV2/vtdZAcnu/4fgnRxt3IlIKHF8e9Bw0GDUdSwB0HIxku0k34zv
+xXGKS2z9uk9rw9MNOUSWUR/pbBcDhSJ+oNJJ6i4v9RbxHZyGyjW4shhK33+I5EM=
+=els4
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 8c845ae1fe..b7391c8726 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma
index c27a7c7161..0c5992d425 100644
--- a/systems/win32/miktex/tm/packages/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/files.csv.lzma
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index befd3b0d04..bc9c29537e 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1598818840
+date=1598904948
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=d37a2f968fd010313fbf8d7ba0a70724
+lstdigest=e22caef4527bcc6e837e01a57e7a71b8
numpkg=3970
relstate=next
-version=7547
+version=7548
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: b2IkzmOX0rqrZ5k/9/dKxQNRwx3AT3CRtQnz32HHPFOR/OuTA80TbUa5GHQNFMVEaMTpwMo1Z7HrJc+altM7aeqkmZ84IBh7WmDbVVjeLoj4uMlmI4Gw98yKK70Z6UY2pMX98CZwy2Et7yH7IenOTps4yrfAd+Qklmz0nPnOEL/eVmf0ART6OL8uDxnKuKQOHkzmgCrw7lSp1Uit0KS9c9xuWhXjMgmFYP4iYncoS5nRh02DfqGXHept4OeiZAKByrPfPYgPx0+XA55RRWaq+BiCY3gWwJcfyM6StY3+kgceEcOESemJcGUgqehK6q4KZ4tUyhvlbIU8ern1gYl84g==
+;;;; signature/miktex: Qomum6lpr8zUxmyIujQuaPtduysk8E1zm+NfzGRP/ZKlPniCqnDeU1xrMAG8KHL68UamC5LWAGNPSA8PrxZdlvO+zE/FFB4zoFqFLdWU3gf+ypCwvgT8djoTiC2ieEfCJqIoXZKzpaP69dHrNKuYnKMUNnUxdJM86yDs2byB04BtzVYvu1Cu0+2c3lw8NrtLVZd8vJRr7ehLQ7LDJgSJXDVWrdPo5tgri4pho7Lu2ejxUIMo4jY/np3ynKGwKnr2oXboNpqg+kM1kKKiabzeuFS1xVgaFtSm6d7I+vqmLRH4otWuiLLdidH8dM/3LuXUvMdq9FBYDAMRf/A33Rw4Lw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 370d22a18c..3c2016629c 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1598818315
+date=1598904706
lastupd=adjustbox animate beamer-rl beamerthemenord beilstein biber-darwin-x86_64 biber-doc biber-linux-x86_64 biber-windows-x64 biber-windows-x86 biblatex biblatex-apa biblatex-apa6 biblatex-ext biblatex-jura2 biblatex-publist changelog ctex decision-table ebproof
-lstdigest=b40569e0bb7ff73dc146df5fc619eea3
+lstdigest=3550cb407febaba46c3cece4e864a174
numpkg=3970
relstate=stable
-version=7547
+version=7548
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: nL6sb5J/69YZfs73mjQr/VlJ7H0peb9m4IQTnFZMLh01zlSEROACZRGiLGTxNj4IL3csXAdI7jn3K6db51i3+/6VNX3UKQJFtKac/bVaJ7tA4E0i3HyM7lu2wANr7bbWTJpNeSYeIexfsc0hFxFbp5uJj+6ZTnvMBKA1wnEkOu7epMZE+UBItrOp3Vnq4XsVuPRR5DqtMPAlOqBxmOJzz9n5RAYNft1ejICd3kHy1hcmLZaAENfDp6uaaIMwVbLc8hsZnRqOBUue9LnriPIaVpF28ZKw11xEtoVQXSWUKMfqUIQUh9jYpqukaBrG4dXICa+A3tz1ONs/b7zTpmH4tQ==
+;;;; signature/miktex: OvHOXMrEpXQNmUMAkgMV3ACeyypxlAe6zsyIg/Zj6Ez4hnPT37utWh26T1JxkOtlj5Tag1S4B2oI8bVr7K9u7ouh7TDgbGLdrdPXKwBC7UUNIhaGQJMxPL+IMy7eA5ueV8WfcmBmbQHM3oU3KAaPqnQQdrmVRpZDkj/DjkxChCE51z5rtDS6Xc9ITe+x6uUHLR/NJ7dc/YOpyxVs2mjR4Uo5mkP6YgWk2hbekB03uDdT6xY56l6ZZRXCSGmSVreCmG9QvtzgwFxRAoWFFZQiA5+BJGCpx9hv+UjePgxGZlZWkr19zfWrhdj/gmTirlGesD4LgAP7ynm9DYmzVeTZOA==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/w32tex/ChangeLog b/systems/win32/w32tex/ChangeLog
index fac4d82f71..48bbfed25d 100644
--- a/systems/win32/w32tex/ChangeLog
+++ b/systems/win32/w32tex/ChangeLog
@@ -1,5 +1,10 @@
W32TeX (x86 & x64) ChangeLog
+[2020/08/31]
+(01) ltxpkgs.tar.xz
+ Update caption. Add totalcount (moved from caption).
+ Please remove $TEXMFDIST/tex/latex/caption/totalcount.sty.
+
[2020/08/30]
(01) biblatex-biber.tar.xz
Update biblatex-apa and biblatex-apa6.
diff --git a/timestamp b/timestamp
index 2e8667cfad..f46aa547ad 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2020-08-31-02-02
+2020-09-01-02-02