summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname1321
-rw-r--r--FILES.byname.gzbin2258162 -> 2257206 bytes
-rw-r--r--FILES.last07days943
-rw-r--r--fonts/libertinus-fonts/CONTRIBUTING.md6
-rw-r--r--fonts/libertinus-fonts/FONTLOG.txt11
-rw-r--r--fonts/libertinus-fonts/README.md26
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusKeyboard-Regular.otfbin53964 -> 53928 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusMath-Regular.otfbin512784 -> 512748 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusMono-Regular.otfbin58300 -> 59028 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusSans-Bold.otfbin272832 -> 274900 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusSans-Italic.otfbin286140 -> 288564 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusSans-Regular.otfbin254436 -> 256760 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusSerif-Bold.otfbin279824 -> 279280 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusSerif-BoldItalic.otfbin237268 -> 237604 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusSerif-Italic.otfbin315904 -> 317688 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusSerif-Regular.otfbin298236 -> 297912 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusSerif-Semibold.otfbin274696 -> 276492 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusSerif-SemiboldItalic.otfbin328128 -> 328808 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusSerifDisplay-Regular.otfbin254748 -> 255360 bytes
-rw-r--r--fonts/libertinus-fonts/otf/LibertinusSerifInitials-Regular.otfbin84320 -> 84284 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusKeyboard-Regular.woff2bin0 -> 35264 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusMath-Regular.woff2bin0 -> 327192 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusMono-Regular.woff2bin0 -> 40440 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusSans-Bold.woff2bin0 -> 171048 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusSans-Italic.woff2bin0 -> 181144 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusSans-Regular.woff2bin0 -> 160172 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusSerif-Bold.woff2bin0 -> 174620 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusSerif-BoldItalic.woff2bin0 -> 150540 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusSerif-Italic.woff2bin0 -> 201400 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusSerif-Regular.woff2bin0 -> 187700 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusSerif-Semibold.woff2bin0 -> 176604 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusSerif-SemiboldItalic.woff2bin0 -> 209512 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusSerifDisplay-Regular.woff2bin0 -> 160012 bytes
-rw-r--r--fonts/libertinus-fonts/woff2/LibertinusSerifInitials-Regular.woff2bin0 -> 59428 bytes
-rw-r--r--fonts/plimsoll/LICENSE674
-rw-r--r--fonts/plimsoll/README29
-rw-r--r--fonts/plimsoll/plimsoll-sans.afm19
-rw-r--r--fonts/plimsoll/plimsoll-sans.pfbbin0 -> 2735 bytes
-rw-r--r--fonts/plimsoll/plimsoll-sans.sfd92
-rw-r--r--fonts/plimsoll/plimsoll-sans.tfmbin0 -> 152 bytes
-rw-r--r--fonts/plimsoll/plimsoll.afm19
-rw-r--r--fonts/plimsoll/plimsoll.enc258
-rw-r--r--fonts/plimsoll/plimsoll.map2
-rw-r--r--fonts/plimsoll/plimsoll.pdfbin0 -> 206491 bytes
-rw-r--r--fonts/plimsoll/plimsoll.pfbbin0 -> 2670 bytes
-rw-r--r--fonts/plimsoll/plimsoll.sfd86
-rw-r--r--fonts/plimsoll/plimsoll.sty33
-rw-r--r--fonts/plimsoll/plimsoll.tex114
-rw-r--r--fonts/plimsoll/plimsoll.tfmbin0 -> 152 bytes
-rw-r--r--language/japanese/BX/bxjscls/README-ja.md5
-rw-r--r--language/japanese/BX/bxjscls/README.md2
-rw-r--r--language/japanese/BX/bxjscls/bxjscls-manual.pdfbin374721 -> 374709 bytes
-rw-r--r--language/japanese/BX/bxjscls/bxjscls-manual.tex4
-rw-r--r--language/japanese/BX/bxjscls/bxjscls.dtx134
-rw-r--r--language/japanese/BX/bxjscls/bxjscls.ins8
-rw-r--r--language/japanese/BX/bxjscls/bxjscls.pdfbin1165227 -> 1168525 bytes
-rw-r--r--macros/latex/base/README.md2
-rw-r--r--macros/latex/base/alltt.pdfbin173079 -> 173079 bytes
-rw-r--r--macros/latex/base/cfgguide.pdfbin220217 -> 220217 bytes
-rw-r--r--macros/latex/base/changes.txt44
-rw-r--r--macros/latex/base/classes.pdfbin520851 -> 520851 bytes
-rw-r--r--macros/latex/base/clsguide.pdfbin372555 -> 372555 bytes
-rw-r--r--macros/latex/base/cmfonts.pdfbin264505 -> 264505 bytes
-rw-r--r--macros/latex/base/cyrguide.pdfbin216997 -> 216997 bytes
-rw-r--r--macros/latex/base/doc.pdfbin630882 -> 630928 bytes
-rw-r--r--macros/latex/base/docstrip.pdfbin479493 -> 479545 bytes
-rw-r--r--macros/latex/base/encguide.pdfbin1532144 -> 1532144 bytes
-rw-r--r--macros/latex/base/exscale.pdfbin195877 -> 195877 bytes
-rw-r--r--macros/latex/base/fix-cm.pdfbin262059 -> 262059 bytes
-rw-r--r--macros/latex/base/fntguide.pdfbin417861 -> 417861 bytes
-rw-r--r--macros/latex/base/graphpap.pdfbin156277 -> 156277 bytes
-rw-r--r--macros/latex/base/ifthen.pdfbin205213 -> 205213 bytes
-rw-r--r--macros/latex/base/inputenc.pdfbin294900 -> 294900 bytes
-rw-r--r--macros/latex/base/latexchanges.pdfbin232390 -> 232390 bytes
-rw-r--r--macros/latex/base/latexrelease.pdfbin246195 -> 246195 bytes
-rw-r--r--macros/latex/base/latexsym.pdfbin192297 -> 192297 bytes
-rw-r--r--macros/latex/base/lb2.pdfbin138219 -> 138219 bytes
-rw-r--r--macros/latex/base/letter.pdfbin305650 -> 305701 bytes
-rw-r--r--macros/latex/base/lgc2.pdfbin101343 -> 101343 bytes
-rw-r--r--macros/latex/base/lppl.pdfbin125830 -> 125830 bytes
-rw-r--r--macros/latex/base/ltclass.dtx30
-rw-r--r--macros/latex/base/ltfilehook-code.pdfbin735666 -> 735762 bytes
-rw-r--r--macros/latex/base/ltfilehook-doc.pdfbin516541 -> 516631 bytes
-rw-r--r--macros/latex/base/ltfiles.dtx6
-rw-r--r--macros/latex/base/ltfssini.dtx17
-rw-r--r--macros/latex/base/lthooks-code.pdfbin896384 -> 900409 bytes
-rw-r--r--macros/latex/base/lthooks-doc.pdfbin602781 -> 619426 bytes
-rw-r--r--macros/latex/base/lthooks.dtx93
-rw-r--r--macros/latex/base/ltluatex.pdfbin305339 -> 305339 bytes
-rw-r--r--macros/latex/base/ltnews.pdfbin989351 -> 989398 bytes
-rw-r--r--macros/latex/base/ltnews01.pdfbin150020 -> 150020 bytes
-rw-r--r--macros/latex/base/ltnews02.pdfbin134751 -> 134751 bytes
-rw-r--r--macros/latex/base/ltnews03.pdfbin134742 -> 134742 bytes
-rw-r--r--macros/latex/base/ltnews04.pdfbin128772 -> 128772 bytes
-rw-r--r--macros/latex/base/ltnews05.pdfbin157181 -> 157181 bytes
-rw-r--r--macros/latex/base/ltnews06.pdfbin133138 -> 133138 bytes
-rw-r--r--macros/latex/base/ltnews07.pdfbin124029 -> 124029 bytes
-rw-r--r--macros/latex/base/ltnews08.pdfbin144482 -> 144482 bytes
-rw-r--r--macros/latex/base/ltnews09.pdfbin120222 -> 120222 bytes
-rw-r--r--macros/latex/base/ltnews10.pdfbin147946 -> 147946 bytes
-rw-r--r--macros/latex/base/ltnews11.pdfbin104936 -> 104936 bytes
-rw-r--r--macros/latex/base/ltnews12.pdfbin137919 -> 137919 bytes
-rw-r--r--macros/latex/base/ltnews13.pdfbin161065 -> 161065 bytes
-rw-r--r--macros/latex/base/ltnews14.pdfbin150907 -> 150907 bytes
-rw-r--r--macros/latex/base/ltnews15.pdfbin122092 -> 122092 bytes
-rw-r--r--macros/latex/base/ltnews16.pdfbin130687 -> 130687 bytes
-rw-r--r--macros/latex/base/ltnews17.pdfbin149838 -> 149838 bytes
-rw-r--r--macros/latex/base/ltnews18.pdfbin36005 -> 36005 bytes
-rw-r--r--macros/latex/base/ltnews19.pdfbin235073 -> 235073 bytes
-rw-r--r--macros/latex/base/ltnews20.pdfbin283318 -> 283318 bytes
-rw-r--r--macros/latex/base/ltnews21.pdfbin233492 -> 233492 bytes
-rw-r--r--macros/latex/base/ltnews22.pdfbin302836 -> 302836 bytes
-rw-r--r--macros/latex/base/ltnews23.pdfbin274459 -> 274459 bytes
-rw-r--r--macros/latex/base/ltnews24.pdfbin252645 -> 252645 bytes
-rw-r--r--macros/latex/base/ltnews25.pdfbin196326 -> 196326 bytes
-rw-r--r--macros/latex/base/ltnews26.pdfbin362839 -> 362839 bytes
-rw-r--r--macros/latex/base/ltnews27.pdfbin239758 -> 239758 bytes
-rw-r--r--macros/latex/base/ltnews28.pdfbin368226 -> 368226 bytes
-rw-r--r--macros/latex/base/ltnews29.pdfbin433004 -> 433004 bytes
-rw-r--r--macros/latex/base/ltnews30.pdfbin491246 -> 491246 bytes
-rw-r--r--macros/latex/base/ltnews31.pdfbin500919 -> 500919 bytes
-rw-r--r--macros/latex/base/ltnews32.pdfbin521204 -> 520923 bytes
-rw-r--r--macros/latex/base/ltnews32.tex36
-rw-r--r--macros/latex/base/ltshipout-code.pdfbin749323 -> 749397 bytes
-rw-r--r--macros/latex/base/ltshipout-doc.pdfbin503825 -> 503916 bytes
-rw-r--r--macros/latex/base/ltvers.dtx2
-rw-r--r--macros/latex/base/ltx3info.pdfbin191527 -> 191527 bytes
-rw-r--r--macros/latex/base/ltxdoc.dtx9
-rw-r--r--macros/latex/base/ltxdoc.pdfbin215134 -> 215102 bytes
-rw-r--r--macros/latex/base/makeindx.pdfbin160667 -> 160667 bytes
-rw-r--r--macros/latex/base/manifest.txt1
-rw-r--r--macros/latex/base/manual.pdfbin151347 -> 151347 bytes
-rw-r--r--macros/latex/base/modguide.pdfbin220388 -> 220388 bytes
-rw-r--r--macros/latex/base/nfssfont.pdfbin202451 -> 202451 bytes
-rw-r--r--macros/latex/base/proc.pdfbin216877 -> 216877 bytes
-rw-r--r--macros/latex/base/slides.pdfbin351586 -> 351586 bytes
-rw-r--r--macros/latex/base/slifonts.pdfbin214710 -> 214710 bytes
-rw-r--r--macros/latex/base/source2e.pdfbin4342817 -> 4347415 bytes
-rw-r--r--macros/latex/base/syntonly.pdfbin181346 -> 181388 bytes
-rw-r--r--macros/latex/base/tlc2.pdfbin164947 -> 164947 bytes
-rw-r--r--macros/latex/base/tulm.pdfbin156546 -> 156546 bytes
-rw-r--r--macros/latex/base/usrguide.pdfbin399035 -> 399035 bytes
-rw-r--r--macros/latex/base/utf8ienc.pdfbin330675 -> 330675 bytes
-rw-r--r--macros/latex/base/webcomp.pdfbin136159 -> 136159 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb-doc.pdfbin154900 -> 154799 bytes
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb-doc.tex9
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb.dtx40
-rw-r--r--macros/latex/contrib/babel-contrib/french/frenchb.pdfbin327379 -> 328108 bytes
-rw-r--r--macros/latex/contrib/jsclasses/README.md2
-rw-r--r--macros/latex/contrib/jsclasses/jsclasses.dtx6
-rw-r--r--macros/latex/contrib/jsclasses/jsclasses.pdfbin412093 -> 412399 bytes
-rw-r--r--macros/latex/contrib/kvoptions/README.md10
-rw-r--r--macros/latex/contrib/kvoptions/kvoptions.dtx308
-rw-r--r--macros/latex/contrib/kvoptions/kvoptions.pdfbin488653 -> 480927 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/CHANGES10
-rw-r--r--macros/latex/contrib/tcolorbox/README2
-rw-r--r--macros/latex/contrib/tcolorbox/tcbbreakable.code.tex45
-rw-r--r--macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbexternal.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbfitting.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbhooks.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistings.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistingscore.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbmagazine.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbminted.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbposter.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbprocessing.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbraster.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbskins.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbtheorems.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbvignette.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcbxparse.code.tex4
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdfbin273842 -> 273812 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example.pdfbin457487 -> 457359 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-example.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdfbin442492 -> 442139 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex2
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex76
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.pdfbin7184574 -> 7174046 bytes
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.sty54
-rw-r--r--macros/latex/contrib/tcolorbox/tcolorbox.tex8
-rw-r--r--macros/latex/contrib/xmuthesis/LICENSE416
-rw-r--r--macros/latex/contrib/xmuthesis/README.md45
-rw-r--r--macros/latex/contrib/xmuthesis/xmuthesis.dtx4722
-rw-r--r--macros/latex/contrib/xmuthesis/xmuthesis.pdfbin0 -> 426423 bytes
-rw-r--r--macros/latex/contrib/zref/README.md11
-rw-r--r--macros/latex/contrib/zref/zref.dtx75
-rw-r--r--macros/latex/contrib/zref/zref.pdfbin673694 -> 674089 bytes
-rw-r--r--macros/latex/required/firstaid/changes.txt5
-rw-r--r--macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx54
-rw-r--r--macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdfbin225073 -> 208937 bytes
-rw-r--r--macros/unicodetex/latex/polyglossia/README.md9
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.dtx6507
-rw-r--r--macros/unicodetex/latex/polyglossia/polyglossia.pdfbin269164 -> 279264 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl3
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb326
-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.xzbin2235464 -> 2235600 bytes
-rw-r--r--systems/win32/miktex/tm/packages/files.csv.lzmabin552926 -> 551348 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/files.csv.lzmabin552893 -> 551150 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini10
-rw-r--r--systems/win32/w32tex/ChangeLog9
-rw-r--r--timestamp2
209 files changed, 14838 insertions, 2052 deletions
diff --git a/FILES.byname b/FILES.byname
index 52c8cf0a7a..c7f11f9f89 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5019,7 +5019,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/10/08 | 201396 | FILES.last07days
+2020/10/09 | 95456 | 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
@@ -62212,31 +62212,45 @@
2020/05/06 | 82 | fonts/libertinus/Changes
2020/05/06 | 15920 | fonts/libertinus/doc/libertinus-doc.pdf
2019/11/25 | 851 | fonts/libertinus/doc/libertinus-doc.tex
-2020/08/18 | 732 | fonts/libertinus-fonts/AUTHORS.txt
-2020/08/18 | 1167 | fonts/libertinus-fonts/CONTRIBUTING.md
-2020/08/18 | 878 | fonts/libertinus-fonts/CONTRIBUTORS.txt
-2020/08/18 | 160836 | fonts/libertinus-fonts/documentation/Math-Sample.pdf
-2020/08/18 | 91660 | fonts/libertinus-fonts/documentation/Opentype-Features.pdf
-2020/08/18 | 202681 | fonts/libertinus-fonts/documentation/Sample.pdf
-2020/08/18 | 14003 | fonts/libertinus-fonts/FONTLOG.txt
-2020/08/18 | 4426 | fonts/libertinus-fonts/OFL.txt
-2020/08/18 | 53964 | fonts/libertinus-fonts/otf/LibertinusKeyboard-Regular.otf
-2020/08/18 | 512784 | fonts/libertinus-fonts/otf/LibertinusMath-Regular.otf
-2020/08/18 | 58300 | fonts/libertinus-fonts/otf/LibertinusMono-Regular.otf
-2020/08/18 | 272832 | fonts/libertinus-fonts/otf/LibertinusSans-Bold.otf
-2020/08/18 | 286140 | fonts/libertinus-fonts/otf/LibertinusSans-Italic.otf
-2020/08/18 | 254436 | fonts/libertinus-fonts/otf/LibertinusSans-Regular.otf
-2020/08/18 | 237268 | fonts/libertinus-fonts/otf/LibertinusSerif-BoldItalic.otf
-2020/08/18 | 279824 | fonts/libertinus-fonts/otf/LibertinusSerif-Bold.otf
-2020/08/18 | 254748 | fonts/libertinus-fonts/otf/LibertinusSerifDisplay-Regular.otf
-2020/08/18 | 84320 | fonts/libertinus-fonts/otf/LibertinusSerifInitials-Regular.otf
-2020/08/18 | 315904 | fonts/libertinus-fonts/otf/LibertinusSerif-Italic.otf
-2020/08/18 | 298236 | fonts/libertinus-fonts/otf/LibertinusSerif-Regular.otf
-2020/08/18 | 328128 | fonts/libertinus-fonts/otf/LibertinusSerif-SemiboldItalic.otf
-2020/08/18 | 274696 | fonts/libertinus-fonts/otf/LibertinusSerif-Semibold.otf
-2020/08/18 | 510180 | fonts/libertinus-fonts/preview.svg
-2020/08/18 | 2457 | fonts/libertinus-fonts/README.md
-2020/08/21 | 3201915 | fonts/libertinus-fonts.zip
+2020/10/08 | 732 | fonts/libertinus-fonts/AUTHORS.txt
+2020/10/08 | 1402 | fonts/libertinus-fonts/CONTRIBUTING.md
+2020/10/08 | 878 | fonts/libertinus-fonts/CONTRIBUTORS.txt
+2020/10/08 | 160836 | fonts/libertinus-fonts/documentation/Math-Sample.pdf
+2020/10/08 | 91660 | fonts/libertinus-fonts/documentation/Opentype-Features.pdf
+2020/10/08 | 202681 | fonts/libertinus-fonts/documentation/Sample.pdf
+2020/10/08 | 14702 | fonts/libertinus-fonts/FONTLOG.txt
+2020/10/08 | 4426 | fonts/libertinus-fonts/OFL.txt
+2020/10/08 | 53928 | fonts/libertinus-fonts/otf/LibertinusKeyboard-Regular.otf
+2020/10/08 | 512748 | fonts/libertinus-fonts/otf/LibertinusMath-Regular.otf
+2020/10/08 | 59028 | fonts/libertinus-fonts/otf/LibertinusMono-Regular.otf
+2020/10/08 | 274900 | fonts/libertinus-fonts/otf/LibertinusSans-Bold.otf
+2020/10/08 | 288564 | fonts/libertinus-fonts/otf/LibertinusSans-Italic.otf
+2020/10/08 | 256760 | fonts/libertinus-fonts/otf/LibertinusSans-Regular.otf
+2020/10/08 | 237604 | fonts/libertinus-fonts/otf/LibertinusSerif-BoldItalic.otf
+2020/10/08 | 279280 | fonts/libertinus-fonts/otf/LibertinusSerif-Bold.otf
+2020/10/08 | 255360 | fonts/libertinus-fonts/otf/LibertinusSerifDisplay-Regular.otf
+2020/10/08 | 84284 | fonts/libertinus-fonts/otf/LibertinusSerifInitials-Regular.otf
+2020/10/08 | 317688 | fonts/libertinus-fonts/otf/LibertinusSerif-Italic.otf
+2020/10/08 | 297912 | fonts/libertinus-fonts/otf/LibertinusSerif-Regular.otf
+2020/10/08 | 328808 | fonts/libertinus-fonts/otf/LibertinusSerif-SemiboldItalic.otf
+2020/10/08 | 276492 | fonts/libertinus-fonts/otf/LibertinusSerif-Semibold.otf
+2020/10/08 | 510180 | fonts/libertinus-fonts/preview.svg
+2020/10/08 | 5595 | fonts/libertinus-fonts/README.md
+2020/10/08 | 35264 | fonts/libertinus-fonts/woff2/LibertinusKeyboard-Regular.woff2
+2020/10/08 | 327192 | fonts/libertinus-fonts/woff2/LibertinusMath-Regular.woff2
+2020/10/08 | 40440 | fonts/libertinus-fonts/woff2/LibertinusMono-Regular.woff2
+2020/10/08 | 171048 | fonts/libertinus-fonts/woff2/LibertinusSans-Bold.woff2
+2020/10/08 | 181144 | fonts/libertinus-fonts/woff2/LibertinusSans-Italic.woff2
+2020/10/08 | 160172 | fonts/libertinus-fonts/woff2/LibertinusSans-Regular.woff2
+2020/10/08 | 150540 | fonts/libertinus-fonts/woff2/LibertinusSerif-BoldItalic.woff2
+2020/10/08 | 174620 | fonts/libertinus-fonts/woff2/LibertinusSerif-Bold.woff2
+2020/10/08 | 160012 | fonts/libertinus-fonts/woff2/LibertinusSerifDisplay-Regular.woff2
+2020/10/08 | 59428 | fonts/libertinus-fonts/woff2/LibertinusSerifInitials-Regular.woff2
+2020/10/08 | 201400 | fonts/libertinus-fonts/woff2/LibertinusSerif-Italic.woff2
+2020/10/08 | 187700 | fonts/libertinus-fonts/woff2/LibertinusSerif-Regular.woff2
+2020/10/08 | 209512 | fonts/libertinus-fonts/woff2/LibertinusSerif-SemiboldItalic.woff2
+2020/10/08 | 176604 | fonts/libertinus-fonts/woff2/LibertinusSerif-Semibold.woff2
+2020/10/09 | 5446574 | fonts/libertinus-fonts.zip
2020/05/06 | 847 | fonts/libertinus/latex/libertinus.sty
2020/07/31 | 1742 | fonts/libertinus-otf/Changes
2020/07/31 | 626028 | fonts/libertinus-otf/doc/libertinus-otf-doc.pdf
@@ -96771,6 +96785,22 @@
2019/12/06 | 1704 | fonts/plex/vf/IBMPlexSerif-tlf-t1.vf
2019/12/06 | 600 | fonts/plex/vf/IBMPlexSerif-tlf-ts1.vf
2019/12/06 | 14251357 | fonts/plex.zip
+2020/10/08 | 35149 | fonts/plimsoll/LICENSE
+2020/10/07 | 482 | fonts/plimsoll/plimsoll.afm
+2020/10/07 | 2729 | fonts/plimsoll/plimsoll.enc
+2020/10/07 | 88 | fonts/plimsoll/plimsoll.map
+2020/10/09 | 206491 | fonts/plimsoll/plimsoll.pdf
+2020/10/07 | 2670 | fonts/plimsoll/plimsoll.pfb
+2020/10/07 | 492 | fonts/plimsoll/plimsoll-sans.afm
+2020/10/07 | 2735 | fonts/plimsoll/plimsoll-sans.pfb
+2020/10/08 | 3288 | fonts/plimsoll/plimsoll-sans.sfd
+2020/10/07 | 152 | fonts/plimsoll/plimsoll-sans.tfm
+2020/10/08 | 2875 | fonts/plimsoll/plimsoll.sfd
+2020/10/09 | 1374 | fonts/plimsoll/plimsoll.sty
+2020/10/09 | 3813 | fonts/plimsoll/plimsoll.tex
+2020/10/07 | 152 | fonts/plimsoll/plimsoll.tfm
+2020/10/09 | 1177 | fonts/plimsoll/README
+2020/10/09 | 230090 | fonts/plimsoll.zip
1995/08/07 | 994 | fonts/poetica/doc/beauty.tex
1995/12/12 | 2920 | fonts/poetica/doc/install
1995/12/12 | 1067 | fonts/poetica/doc/poetica.map
@@ -166360,11 +166390,11 @@
2019/12/15 | 441325 | install/macros/latex/contrib/intcalc.tds.zip
2008/07/31 | 81728 | install/macros/latex/contrib/inversepath.tds.zip
2020/09/21 | 2097399 | install/macros/latex/contrib/jmlr.tds.zip
-2020/10/05 | 943952 | install/macros/latex/contrib/jsclasses.tds.zip
+2020/10/09 | 944267 | install/macros/latex/contrib/jsclasses.tds.zip
2020/09/27 | 14725742 | install/macros/latex/contrib/koma-script.tds.zip
2015/12/09 | 171418 | install/macros/latex/contrib/ksp-thesis.tds.zip
2019/12/19 | 302191 | install/macros/latex/contrib/kvdefinekeys.tds.zip
-2019/11/29 | 509662 | install/macros/latex/contrib/kvoptions.tds.zip
+2020/10/09 | 503116 | install/macros/latex/contrib/kvoptions.tds.zip
2019/12/15 | 385518 | install/macros/latex/contrib/kvsetkeys.tds.zip
2020/09/24 | 826670 | install/macros/latex/contrib/l3backend.tds.zip
2020/06/04 | 790724 | install/macros/latex/contrib/l3build.tds.zip
@@ -166489,7 +166519,7 @@
2014/05/20 | 721827 | install/macros/latex/contrib/sympytexpackage.tds.zip
2014/01/26 | 526292 | install/macros/latex/contrib/tablefootnote.tds.zip
2013/01/22 | 615461 | install/macros/latex/contrib/tabvar.tds.zip
-2020/09/29 | 6131471 | install/macros/latex/contrib/tcolorbox.tds.zip
+2020/10/09 | 6135973 | install/macros/latex/contrib/tcolorbox.tds.zip
2009/06/22 | 771373 | install/macros/latex/contrib/tdsfrmath.tds.zip
2019/09/29 | 5325410 | install/macros/latex/contrib/testidx.tds.zip
2020/08/30 | 4957201 | install/macros/latex/contrib/texnegar.tds.zip
@@ -166529,18 +166559,18 @@
2012/05/03 | 352839 | install/macros/latex/contrib/ydoc.tds.zip
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/10/09 | 728226 | install/macros/latex/contrib/zref.tds.zip
2020/09/11 | 28343060 | install/macros/latex-dev/latex-base-dev.tds.zip
2020/08/31 | 2643039 | install/macros/latex-dev/required/latex-amsmath-dev.tds.zip
2020/08/31 | 2534064 | install/macros/latex-dev/required/latex-graphics-dev.tds.zip
2020/08/31 | 6968251 | install/macros/latex-dev/required/latex-tools-dev.tds.zip
-2020/10/01 | 28308513 | install/macros/latex/latex-base.tds.zip
+2020/10/09 | 28336066 | install/macros/latex/latex-base.tds.zip
2020/06/01 | 1578753 | install/macros/latex/required/amscls.tds.zip
2020/10/06 | 2752530 | install/macros/latex/required/babel-base.tds.zip
2020/10/01 | 2643064 | install/macros/latex/required/latex-amsmath.tds.zip
2020/09/25 | 200192 | install/macros/latex/required/latexbug.tds.zip
2018/04/06 | 1324669 | install/macros/latex/required/latex-cyrillic.tds.zip
-2020/10/04 | 232993 | install/macros/latex/required/latex-firstaid.tds.zip
+2020/10/09 | 216218 | install/macros/latex/required/latex-firstaid.tds.zip
2020/10/01 | 2533230 | install/macros/latex/required/latex-graphics.tds.zip
2020/10/01 | 6964612 | install/macros/latex/required/latex-tools.tds.zip
2016/09/02 | 108688 | install/macros/luatex/generic/cstypo.tds.zip
@@ -166562,7 +166592,7 @@
2013/07/02 | 153964 | install/macros/plain/contrib/plstmary.tds.zip
2008/05/18 | 22279 | install/macros/plain/plnfss.tds.zip
2020/02/21 | 1370731 | install/macros/unicodetex/latex/fontspec.tds.zip
-2020/04/08 | 978136 | install/macros/unicodetex/latex/polyglossia.tds.zip
+2020/10/09 | 1017227 | install/macros/unicodetex/latex/polyglossia.tds.zip
2016/02/13 | 111305 | install/macros/unicodetex/latex/realscripts.tds.zip
2020/01/31 | 1873940 | install/macros/unicodetex/latex/unicode-math.tds.zip
2016/05/14 | 185871 | install/macros/xetex/generic/zhspacing.tds.zip
@@ -171010,15 +171040,15 @@
2019/10/20 | 1086 | language/japanese/BX/bxjatoucs/LICENSE
2019/10/20 | 2776 | language/japanese/BX/bxjatoucs/README.md
2019/10/22 | 69213 | language/japanese/BX/bxjatoucs.zip
-2020/10/05 | 394690 | language/japanese/BX/bxjscls/bxjscls.dtx
-2017/11/01 | 847 | language/japanese/BX/bxjscls/bxjscls.ins
-2020/10/05 | 374721 | language/japanese/BX/bxjscls/bxjscls-manual.pdf
-2020/10/05 | 84262 | language/japanese/BX/bxjscls/bxjscls-manual.tex
-2020/10/05 | 1165227 | language/japanese/BX/bxjscls/bxjscls.pdf
+2020/10/09 | 396662 | language/japanese/BX/bxjscls/bxjscls.dtx
+2020/10/07 | 855 | language/japanese/BX/bxjscls/bxjscls.ins
+2020/10/09 | 374709 | language/japanese/BX/bxjscls/bxjscls-manual.pdf
+2020/10/09 | 84261 | language/japanese/BX/bxjscls/bxjscls-manual.tex
+2020/10/09 | 1168525 | language/japanese/BX/bxjscls/bxjscls.pdf
2020/02/05 | 1461 | language/japanese/BX/bxjscls/LICENSE
-2020/10/05 | 14953 | language/japanese/BX/bxjscls/README-ja.md
-2020/10/05 | 5817 | language/japanese/BX/bxjscls/README.md
-2020/10/05 | 1649646 | language/japanese/BX/bxjscls.zip
+2020/10/09 | 15275 | language/japanese/BX/bxjscls/README-ja.md
+2020/10/09 | 5891 | language/japanese/BX/bxjscls/README.md
+2020/10/09 | 1653552 | language/japanese/BX/bxjscls.zip
2019/04/01 | 44 | language/japanese/BX/bxwareki/bxwareki2019.def
2019/05/27 | 3941 | language/japanese/BX/bxwareki/bxwareki-cd.def
2019/05/28 | 182364 | language/japanese/BX/bxwareki/bxwareki.pdf
@@ -182125,260 +182155,260 @@
1993/11/08 | 1691 | macros/latex209/contrib/zero/zero-test.tex
2006/09/21 | 3505 | macros/latex209/contrib/zero.zip
1997/01/22 | 274 | macros/latex209/distribs/README.obsolete
-2020/10/01 | 6654 | macros/latex/base/alltt.dtx
-2020/10/01 | 2892 | macros/latex/base/alltt.ins
-2020/10/01 | 173079 | macros/latex/base/alltt.pdf
-2020/10/01 | 3294 | macros/latex/base/bugs.txt
-2020/10/01 | 220217 | macros/latex/base/cfgguide.pdf
-2020/10/01 | 22457 | macros/latex/base/cfgguide.tex
-2020/10/01 | 42708 | macros/latex/base/changes.old.txt
-2020/10/01 | 357935 | macros/latex/base/changes.txt
-2020/10/01 | 155735 | macros/latex/base/classes.dtx
-2020/10/01 | 4089 | macros/latex/base/classes.ins
-2020/10/01 | 520851 | macros/latex/base/classes.pdf
-2020/10/01 | 372555 | macros/latex/base/clsguide.pdf
-2020/10/01 | 69051 | macros/latex/base/clsguide.tex
-2020/10/01 | 5275 | macros/latex/base/cmextra.ins
-2020/10/01 | 43637 | macros/latex/base/cmfonts.fdd
-2020/10/01 | 4326 | macros/latex/base/cmfonts.ins
-2020/10/01 | 264505 | macros/latex/base/cmfonts.pdf
-2020/10/01 | 216997 | macros/latex/base/cyrguide.pdf
-2020/10/01 | 17496 | macros/latex/base/cyrguide.tex
-2020/10/01 | 204016 | macros/latex/base/doc.dtx
-2020/10/01 | 630882 | macros/latex/base/doc.pdf
-2020/10/01 | 170214 | macros/latex/base/docstrip.dtx
-2020/10/01 | 4223 | macros/latex/base/docstrip.ins
-2020/10/01 | 479493 | macros/latex/base/docstrip.pdf
-2020/10/01 | 4392 | macros/latex/base/ec.ins
-2020/10/01 | 1532144 | macros/latex/base/encguide.pdf
-2020/10/01 | 52814 | macros/latex/base/encguide.tex
-2020/10/01 | 7222 | macros/latex/base/exscale.dtx
-2020/10/01 | 3340 | macros/latex/base/exscale.ins
-2020/10/01 | 195877 | macros/latex/base/exscale.pdf
-2020/10/01 | 23521 | macros/latex/base/fix-cm.dtx
-2020/10/01 | 2894 | macros/latex/base/fix-cm.ins
-2020/10/01 | 262059 | macros/latex/base/fix-cm.pdf
-2020/10/01 | 417861 | macros/latex/base/fntguide.pdf
-2020/10/01 | 90413 | macros/latex/base/fntguide.tex
-2020/10/01 | 60334 | macros/latex/base/fontdef.dtx
-2020/10/01 | 9460 | macros/latex/base/format.ins
-2020/10/01 | 5515 | macros/latex/base/graphpap.dtx
-2020/10/01 | 2894 | macros/latex/base/graphpap.ins
-2020/10/01 | 156277 | macros/latex/base/graphpap.pdf
-2020/10/01 | 2706 | macros/latex/base/idx.tex
-2020/10/01 | 18305 | macros/latex/base/ifthen.dtx
-2020/10/01 | 2890 | macros/latex/base/ifthen.ins
-2020/10/01 | 205213 | macros/latex/base/ifthen.pdf
-2020/10/01 | 106914 | macros/latex/base/inputenc.dtx
-2020/10/01 | 5716 | macros/latex/base/inputenc.ins
-2020/10/01 | 294900 | macros/latex/base/inputenc.pdf
-2020/10/01 | 4080 | macros/latex/base/lablst.tex
-2020/10/01 | 38735 | macros/latex/base/latex209.dtx
-2020/10/01 | 4221 | macros/latex/base/latex209.ins
-2020/10/01 | 232390 | macros/latex/base/latexchanges.pdf
-2020/10/01 | 37980 | macros/latex/base/latexchanges.tex
-2020/10/01 | 32164 | macros/latex/base/latexrelease.dtx
-2020/10/01 | 5600 | macros/latex/base/latexrelease.ins
-2020/10/01 | 246195 | macros/latex/base/latexrelease.pdf
-2020/10/01 | 6715 | macros/latex/base/latexsym.dtx
-2020/10/01 | 5044 | macros/latex/base/latexsym.ins
-2020/10/01 | 192297 | macros/latex/base/latexsym.pdf
-2020/10/01 | 52532 | macros/latex/base/lb2.err
-2020/10/01 | 138219 | macros/latex/base/lb2.pdf
-2020/10/01 | 1381 | macros/latex/base/legal.txt
-2020/10/01 | 62436 | macros/latex/base/letter.dtx
-2020/10/01 | 3374 | macros/latex/base/letter.ins
-2020/10/01 | 305650 | macros/latex/base/letter.pdf
-2020/10/01 | 20434 | macros/latex/base/lgc2.err
-2020/10/01 | 101343 | macros/latex/base/lgc2.pdf
-2020/10/01 | 9068 | macros/latex/base/lppl-1-0.txt
-2020/10/01 | 14341 | macros/latex/base/lppl-1-1.txt
-2020/10/01 | 14421 | macros/latex/base/lppl-1-2.txt
-2020/10/01 | 125830 | macros/latex/base/lppl.pdf
-2020/10/01 | 23386 | macros/latex/base/lppl.tex
-2020/10/01 | 19040 | macros/latex/base/lppl.txt
-2020/10/01 | 4304 | macros/latex/base/ltalloc.dtx
-2020/10/01 | 14440 | macros/latex/base/ltbibl.dtx
-2020/10/01 | 41587 | macros/latex/base/ltboxes.dtx
-2020/10/01 | 120615 | macros/latex/base/ltclass.dtx
-2020/10/01 | 9562 | macros/latex/base/ltcntrl.dtx
-2020/10/01 | 22676 | macros/latex/base/ltcounts.dtx
-2020/10/01 | 85316 | macros/latex/base/ltdefns.dtx
-2020/10/01 | 35221 | macros/latex/base/ltdirchk.dtx
-2020/10/01 | 24016 | macros/latex/base/lterror.dtx
-2020/10/01 | 10045 | macros/latex/base/ltexpl.dtx
-2020/10/01 | 735666 | macros/latex/base/ltfilehook-code.pdf
-2020/10/01 | 105 | macros/latex/base/ltfilehook-code.tex
-2020/10/01 | 516541 | macros/latex/base/ltfilehook-doc.pdf
-2020/10/01 | 180 | macros/latex/base/ltfilehook-doc.tex
-2020/10/01 | 54543 | macros/latex/base/ltfilehook.dtx
-2020/10/01 | 52508 | macros/latex/base/ltfiles.dtx
-2020/10/01 | 40877 | macros/latex/base/ltfinal.dtx
-2020/10/01 | 51314 | macros/latex/base/ltfloat.dtx
-2020/10/01 | 29194 | macros/latex/base/ltfntcmd.dtx
-2020/10/01 | 49967 | macros/latex/base/ltfssaxes.dtx
-2020/10/01 | 79110 | macros/latex/base/ltfssbas.dtx
-2020/10/01 | 10376 | macros/latex/base/ltfsscmp.dtx
-2020/10/01 | 61221 | macros/latex/base/ltfssdcl.dtx
-2020/10/01 | 74161 | macros/latex/base/ltfssini.dtx
-2020/10/01 | 67333 | macros/latex/base/ltfsstrc.dtx
-2020/10/01 | 896384 | macros/latex/base/lthooks-code.pdf
-2020/10/01 | 102 | macros/latex/base/lthooks-code.tex
-2020/10/01 | 602781 | macros/latex/base/lthooks-doc.pdf
-2020/10/01 | 177 | macros/latex/base/lthooks-doc.tex
-2020/10/01 | 147035 | macros/latex/base/lthooks.dtx
-2020/10/01 | 4952 | macros/latex/base/lthyphen.dtx
-2020/10/01 | 5865 | macros/latex/base/ltidxglo.dtx
-2020/10/01 | 4762 | macros/latex/base/ltlength.dtx
-2020/10/01 | 36154 | macros/latex/base/ltlists.dtx
-2020/10/01 | 3731 | macros/latex/base/ltlogos.dtx
-2020/10/01 | 64482 | macros/latex/base/ltluatex.dtx
-2020/10/01 | 305339 | macros/latex/base/ltluatex.pdf
-2020/10/01 | 38948 | macros/latex/base/ltmath.dtx
-2020/10/01 | 57583 | macros/latex/base/ltmiscen.dtx
-2020/10/01 | 150020 | macros/latex/base/ltnews01.pdf
-2020/10/01 | 5239 | macros/latex/base/ltnews01.tex
-2020/10/01 | 134751 | macros/latex/base/ltnews02.pdf
-2020/10/01 | 5284 | macros/latex/base/ltnews02.tex
-2020/10/01 | 134742 | macros/latex/base/ltnews03.pdf
-2020/10/01 | 5201 | macros/latex/base/ltnews03.tex
-2020/10/01 | 128772 | macros/latex/base/ltnews04.pdf
-2020/10/01 | 5507 | macros/latex/base/ltnews04.tex
-2020/10/01 | 157181 | macros/latex/base/ltnews05.pdf
-2020/10/01 | 5609 | macros/latex/base/ltnews05.tex
-2020/10/01 | 133138 | macros/latex/base/ltnews06.pdf
-2020/10/01 | 5391 | macros/latex/base/ltnews06.tex
-2020/10/01 | 124029 | macros/latex/base/ltnews07.pdf
-2020/10/01 | 5426 | macros/latex/base/ltnews07.tex
-2020/10/01 | 144482 | macros/latex/base/ltnews08.pdf
-2020/10/01 | 5696 | macros/latex/base/ltnews08.tex
-2020/10/01 | 120222 | macros/latex/base/ltnews09.pdf
-2020/10/01 | 5294 | macros/latex/base/ltnews09.tex
-2020/10/01 | 147946 | macros/latex/base/ltnews10.pdf
-2020/10/01 | 5660 | macros/latex/base/ltnews10.tex
-2020/10/01 | 104936 | macros/latex/base/ltnews11.pdf
-2020/10/01 | 5530 | macros/latex/base/ltnews11.tex
-2020/10/01 | 137919 | macros/latex/base/ltnews12.pdf
-2020/10/01 | 5418 | macros/latex/base/ltnews12.tex
-2020/10/01 | 161065 | macros/latex/base/ltnews13.pdf
-2020/10/01 | 6872 | macros/latex/base/ltnews13.tex
-2020/10/01 | 150907 | macros/latex/base/ltnews14.pdf
-2020/10/01 | 6274 | macros/latex/base/ltnews14.tex
-2020/10/01 | 122092 | macros/latex/base/ltnews15.pdf
-2020/10/01 | 5840 | macros/latex/base/ltnews15.tex
-2020/10/01 | 130687 | macros/latex/base/ltnews16.pdf
-2020/10/01 | 5777 | macros/latex/base/ltnews16.tex
-2020/10/01 | 149838 | macros/latex/base/ltnews17.pdf
-2020/10/01 | 8864 | macros/latex/base/ltnews17.tex
-2020/10/01 | 36005 | macros/latex/base/ltnews18.pdf
-2020/10/01 | 1342 | macros/latex/base/ltnews18.tex
-2020/10/01 | 235073 | macros/latex/base/ltnews19.pdf
-2020/10/01 | 4171 | macros/latex/base/ltnews19.tex
-2020/10/01 | 283318 | macros/latex/base/ltnews20.pdf
-2020/10/01 | 7326 | macros/latex/base/ltnews20.tex
-2020/10/01 | 233492 | macros/latex/base/ltnews21.pdf
-2020/10/01 | 9810 | macros/latex/base/ltnews21.tex
-2020/10/01 | 302836 | macros/latex/base/ltnews22.pdf
-2020/10/01 | 10669 | macros/latex/base/ltnews22.tex
-2020/10/01 | 274459 | macros/latex/base/ltnews23.pdf
-2020/10/01 | 10688 | macros/latex/base/ltnews23.tex
-2020/10/01 | 252645 | macros/latex/base/ltnews24.pdf
-2020/10/01 | 12225 | macros/latex/base/ltnews24.tex
-2020/10/01 | 196326 | macros/latex/base/ltnews25.pdf
-2020/10/01 | 5474 | macros/latex/base/ltnews25.tex
-2020/10/01 | 362839 | macros/latex/base/ltnews26.pdf
-2020/10/01 | 10698 | macros/latex/base/ltnews26.tex
-2020/10/01 | 239758 | macros/latex/base/ltnews27.pdf
-2020/10/01 | 5507 | macros/latex/base/ltnews27.tex
-2020/10/01 | 368226 | macros/latex/base/ltnews28.pdf
-2020/10/01 | 14892 | macros/latex/base/ltnews28.tex
-2020/10/01 | 433004 | macros/latex/base/ltnews29.pdf
-2020/10/01 | 18941 | macros/latex/base/ltnews29.tex
-2020/10/01 | 491246 | macros/latex/base/ltnews30.pdf
-2020/10/01 | 23652 | macros/latex/base/ltnews30.tex
-2020/10/01 | 500919 | macros/latex/base/ltnews31.pdf
-2020/10/01 | 30457 | macros/latex/base/ltnews31.tex
-2020/10/01 | 521204 | macros/latex/base/ltnews32.pdf
-2020/10/01 | 33202 | macros/latex/base/ltnews32.tex
-2020/10/01 | 20471 | macros/latex/base/ltnews.cls
-2020/10/01 | 989351 | macros/latex/base/ltnews.pdf
-2020/10/01 | 8100 | macros/latex/base/ltnews.tex
-2020/10/01 | 145163 | macros/latex/base/ltoutenc.dtx
-2020/10/01 | 3369 | macros/latex/base/ltoutenc.ins
-2020/10/01 | 175629 | macros/latex/base/ltoutput.dtx
-2020/10/01 | 11591 | macros/latex/base/ltpage.dtx
-2020/10/01 | 2733 | macros/latex/base/ltpageno.dtx
-2020/10/01 | 5854 | macros/latex/base/ltpar.dtx
-2020/10/01 | 68914 | macros/latex/base/ltpictur.dtx
-2020/10/01 | 48645 | macros/latex/base/ltplain.dtx
-2020/10/01 | 32647 | macros/latex/base/ltsect.dtx
-2020/10/01 | 749323 | macros/latex/base/ltshipout-code.pdf
-2020/10/01 | 104 | macros/latex/base/ltshipout-code.tex
-2020/10/01 | 503825 | macros/latex/base/ltshipout-doc.pdf
-2020/10/01 | 179 | macros/latex/base/ltshipout-doc.tex
-2020/10/01 | 60816 | macros/latex/base/ltshipout.dtx
-2020/10/01 | 45246 | macros/latex/base/ltspace.dtx
-2020/10/01 | 47704 | macros/latex/base/lttab.dtx
-2020/10/01 | 88411 | macros/latex/base/lttextcomp.dtx
-2020/10/01 | 8737 | macros/latex/base/ltthm.dtx
-2020/10/01 | 10327 | macros/latex/base/ltvers.dtx
-2020/10/01 | 191527 | macros/latex/base/ltx3info.pdf
-2020/10/01 | 18300 | macros/latex/base/ltx3info.tex
-2020/10/01 | 27124 | macros/latex/base/ltxcheck.tex
-2020/10/01 | 18867 | macros/latex/base/ltxdoc.dtx
-2020/10/01 | 215134 | macros/latex/base/ltxdoc.pdf
-2020/10/01 | 7526 | macros/latex/base/ltxguide.cls
-2020/10/01 | 15623 | macros/latex/base/ltxref.dtx
-2020/10/01 | 10606 | macros/latex/base/makeindx.dtx
-2020/10/01 | 3436 | macros/latex/base/makeindx.ins
-2020/10/01 | 160667 | macros/latex/base/makeindx.pdf
-2020/10/01 | 10640 | macros/latex/base/manifest.txt
-2020/10/01 | 12946 | macros/latex/base/manual.err
-2020/10/01 | 151347 | macros/latex/base/manual.pdf
-2020/10/01 | 1938 | macros/latex/base/minimal.cls
-2020/10/01 | 220388 | macros/latex/base/modguide.pdf
-2020/10/01 | 16234 | macros/latex/base/modguide.tex
-2020/10/01 | 4256 | macros/latex/base/newdc.ins
-2020/10/01 | 6363 | macros/latex/base/newlfont.dtx
-2020/10/01 | 18407 | macros/latex/base/nfssfont.dtx
-2020/10/01 | 2895 | macros/latex/base/nfssfont.ins
-2020/10/01 | 202451 | macros/latex/base/nfssfont.pdf
-2020/10/01 | 3962 | macros/latex/base/olddc.ins
-2020/10/01 | 8632 | macros/latex/base/oldlfont.dtx
-2020/10/01 | 9374 | macros/latex/base/preload.dtx
-2020/10/01 | 13305 | macros/latex/base/proc.dtx
-2020/10/01 | 3403 | macros/latex/base/proc.ins
-2020/10/01 | 216877 | macros/latex/base/proc.pdf
-2020/10/01 | 3500 | macros/latex/base/README.md
-2020/10/01 | 7200 | macros/latex/base/sample2e.tex
-2020/10/01 | 89720 | macros/latex/base/slides.dtx
-2020/10/01 | 6764 | macros/latex/base/slides.ins
-2020/10/01 | 351586 | macros/latex/base/slides.pdf
-2020/10/01 | 15701 | macros/latex/base/slifonts.fdd
-2020/10/01 | 214710 | macros/latex/base/slifonts.pdf
-2020/10/01 | 1694 | macros/latex/base/small2e.tex
-2020/10/01 | 6367 | macros/latex/base/source2edoc.cls
-2020/10/01 | 4342817 | macros/latex/base/source2e.pdf
-2020/10/01 | 14918 | macros/latex/base/source2e.tex
-2020/10/01 | 9401 | macros/latex/base/syntonly.dtx
-2020/10/01 | 2898 | macros/latex/base/syntonly.ins
-2020/10/01 | 181346 | macros/latex/base/syntonly.pdf
-2020/10/01 | 12521 | macros/latex/base/testpage.tex
-2020/10/01 | 2738 | macros/latex/base/tex2.txt
-2020/10/01 | 8493 | macros/latex/base/texpert.txt
-2020/10/01 | 172216 | macros/latex/base/tlc2.err
-2020/10/01 | 164947 | macros/latex/base/tlc2.pdf
-2020/10/01 | 12120 | macros/latex/base/tulm.fdd
-2020/10/01 | 3783 | macros/latex/base/tulm.ins
-2020/10/01 | 156546 | macros/latex/base/tulm.pdf
-2020/10/01 | 3182 | macros/latex/base/unpack.ins
-2020/10/01 | 399035 | macros/latex/base/usrguide.pdf
-2020/10/01 | 68428 | macros/latex/base/usrguide.tex
-2020/10/01 | 89386 | macros/latex/base/utf8ienc.dtx
-2020/10/01 | 330675 | macros/latex/base/utf8ienc.pdf
-2020/10/01 | 10053 | macros/latex/base/webcomp.err
-2020/10/01 | 136159 | macros/latex/base/webcomp.pdf
-2020/10/02 | 27857731 | macros/latex/base.zip
+2020/10/09 | 6654 | macros/latex/base/alltt.dtx
+2020/10/09 | 2892 | macros/latex/base/alltt.ins
+2020/10/09 | 173079 | macros/latex/base/alltt.pdf
+2020/10/09 | 3294 | macros/latex/base/bugs.txt
+2020/10/09 | 220217 | macros/latex/base/cfgguide.pdf
+2020/10/09 | 22457 | macros/latex/base/cfgguide.tex
+2020/10/09 | 42708 | macros/latex/base/changes.old.txt
+2020/10/09 | 359032 | macros/latex/base/changes.txt
+2020/10/09 | 155735 | macros/latex/base/classes.dtx
+2020/10/09 | 4089 | macros/latex/base/classes.ins
+2020/10/09 | 520851 | macros/latex/base/classes.pdf
+2020/10/09 | 372555 | macros/latex/base/clsguide.pdf
+2020/10/09 | 69051 | macros/latex/base/clsguide.tex
+2020/10/09 | 5275 | macros/latex/base/cmextra.ins
+2020/10/09 | 43637 | macros/latex/base/cmfonts.fdd
+2020/10/09 | 4326 | macros/latex/base/cmfonts.ins
+2020/10/09 | 264505 | macros/latex/base/cmfonts.pdf
+2020/10/09 | 216997 | macros/latex/base/cyrguide.pdf
+2020/10/09 | 17496 | macros/latex/base/cyrguide.tex
+2020/10/09 | 204016 | macros/latex/base/doc.dtx
+2020/10/09 | 630928 | macros/latex/base/doc.pdf
+2020/10/09 | 170214 | macros/latex/base/docstrip.dtx
+2020/10/09 | 4223 | macros/latex/base/docstrip.ins
+2020/10/09 | 479545 | macros/latex/base/docstrip.pdf
+2020/10/09 | 4392 | macros/latex/base/ec.ins
+2020/10/09 | 1532144 | macros/latex/base/encguide.pdf
+2020/10/09 | 52814 | macros/latex/base/encguide.tex
+2020/10/09 | 7222 | macros/latex/base/exscale.dtx
+2020/10/09 | 3340 | macros/latex/base/exscale.ins
+2020/10/09 | 195877 | macros/latex/base/exscale.pdf
+2020/10/09 | 23521 | macros/latex/base/fix-cm.dtx
+2020/10/09 | 2894 | macros/latex/base/fix-cm.ins
+2020/10/09 | 262059 | macros/latex/base/fix-cm.pdf
+2020/10/09 | 417861 | macros/latex/base/fntguide.pdf
+2020/10/09 | 90413 | macros/latex/base/fntguide.tex
+2020/10/09 | 60334 | macros/latex/base/fontdef.dtx
+2020/10/09 | 9460 | macros/latex/base/format.ins
+2020/10/09 | 5515 | macros/latex/base/graphpap.dtx
+2020/10/09 | 2894 | macros/latex/base/graphpap.ins
+2020/10/09 | 156277 | macros/latex/base/graphpap.pdf
+2020/10/09 | 2706 | macros/latex/base/idx.tex
+2020/10/09 | 18305 | macros/latex/base/ifthen.dtx
+2020/10/09 | 2890 | macros/latex/base/ifthen.ins
+2020/10/09 | 205213 | macros/latex/base/ifthen.pdf
+2020/10/09 | 106914 | macros/latex/base/inputenc.dtx
+2020/10/09 | 5716 | macros/latex/base/inputenc.ins
+2020/10/09 | 294900 | macros/latex/base/inputenc.pdf
+2020/10/09 | 4080 | macros/latex/base/lablst.tex
+2020/10/09 | 38735 | macros/latex/base/latex209.dtx
+2020/10/09 | 4221 | macros/latex/base/latex209.ins
+2020/10/09 | 232390 | macros/latex/base/latexchanges.pdf
+2020/10/09 | 37980 | macros/latex/base/latexchanges.tex
+2020/10/09 | 32164 | macros/latex/base/latexrelease.dtx
+2020/10/09 | 5600 | macros/latex/base/latexrelease.ins
+2020/10/09 | 246195 | macros/latex/base/latexrelease.pdf
+2020/10/09 | 6715 | macros/latex/base/latexsym.dtx
+2020/10/09 | 5044 | macros/latex/base/latexsym.ins
+2020/10/09 | 192297 | macros/latex/base/latexsym.pdf
+2020/10/09 | 52532 | macros/latex/base/lb2.err
+2020/10/09 | 138219 | macros/latex/base/lb2.pdf
+2020/10/09 | 1381 | macros/latex/base/legal.txt
+2020/10/09 | 62436 | macros/latex/base/letter.dtx
+2020/10/09 | 3374 | macros/latex/base/letter.ins
+2020/10/09 | 305701 | macros/latex/base/letter.pdf
+2020/10/09 | 20434 | macros/latex/base/lgc2.err
+2020/10/09 | 101343 | macros/latex/base/lgc2.pdf
+2020/10/09 | 9068 | macros/latex/base/lppl-1-0.txt
+2020/10/09 | 14341 | macros/latex/base/lppl-1-1.txt
+2020/10/09 | 14421 | macros/latex/base/lppl-1-2.txt
+2020/10/09 | 125830 | macros/latex/base/lppl.pdf
+2020/10/09 | 23386 | macros/latex/base/lppl.tex
+2020/10/09 | 19040 | macros/latex/base/lppl.txt
+2020/10/09 | 4304 | macros/latex/base/ltalloc.dtx
+2020/10/09 | 14440 | macros/latex/base/ltbibl.dtx
+2020/10/09 | 41587 | macros/latex/base/ltboxes.dtx
+2020/10/09 | 121899 | macros/latex/base/ltclass.dtx
+2020/10/09 | 9562 | macros/latex/base/ltcntrl.dtx
+2020/10/09 | 22676 | macros/latex/base/ltcounts.dtx
+2020/10/09 | 85316 | macros/latex/base/ltdefns.dtx
+2020/10/09 | 35221 | macros/latex/base/ltdirchk.dtx
+2020/10/09 | 24016 | macros/latex/base/lterror.dtx
+2020/10/09 | 10045 | macros/latex/base/ltexpl.dtx
+2020/10/09 | 735762 | macros/latex/base/ltfilehook-code.pdf
+2020/10/09 | 105 | macros/latex/base/ltfilehook-code.tex
+2020/10/09 | 516631 | macros/latex/base/ltfilehook-doc.pdf
+2020/10/09 | 180 | macros/latex/base/ltfilehook-doc.tex
+2020/10/09 | 54543 | macros/latex/base/ltfilehook.dtx
+2020/10/09 | 52648 | macros/latex/base/ltfiles.dtx
+2020/10/09 | 40877 | macros/latex/base/ltfinal.dtx
+2020/10/09 | 51314 | macros/latex/base/ltfloat.dtx
+2020/10/09 | 29194 | macros/latex/base/ltfntcmd.dtx
+2020/10/09 | 49967 | macros/latex/base/ltfssaxes.dtx
+2020/10/09 | 79110 | macros/latex/base/ltfssbas.dtx
+2020/10/09 | 10376 | macros/latex/base/ltfsscmp.dtx
+2020/10/09 | 61221 | macros/latex/base/ltfssdcl.dtx
+2020/10/09 | 74092 | macros/latex/base/ltfssini.dtx
+2020/10/09 | 67333 | macros/latex/base/ltfsstrc.dtx
+2020/10/09 | 900409 | macros/latex/base/lthooks-code.pdf
+2020/10/09 | 102 | macros/latex/base/lthooks-code.tex
+2020/10/09 | 619426 | macros/latex/base/lthooks-doc.pdf
+2020/10/09 | 177 | macros/latex/base/lthooks-doc.tex
+2020/10/09 | 149836 | macros/latex/base/lthooks.dtx
+2020/10/09 | 4952 | macros/latex/base/lthyphen.dtx
+2020/10/09 | 5865 | macros/latex/base/ltidxglo.dtx
+2020/10/09 | 4762 | macros/latex/base/ltlength.dtx
+2020/10/09 | 36154 | macros/latex/base/ltlists.dtx
+2020/10/09 | 3731 | macros/latex/base/ltlogos.dtx
+2020/10/09 | 64482 | macros/latex/base/ltluatex.dtx
+2020/10/09 | 305339 | macros/latex/base/ltluatex.pdf
+2020/10/09 | 38948 | macros/latex/base/ltmath.dtx
+2020/10/09 | 57583 | macros/latex/base/ltmiscen.dtx
+2020/10/09 | 150020 | macros/latex/base/ltnews01.pdf
+2020/10/09 | 5239 | macros/latex/base/ltnews01.tex
+2020/10/09 | 134751 | macros/latex/base/ltnews02.pdf
+2020/10/09 | 5284 | macros/latex/base/ltnews02.tex
+2020/10/09 | 134742 | macros/latex/base/ltnews03.pdf
+2020/10/09 | 5201 | macros/latex/base/ltnews03.tex
+2020/10/09 | 128772 | macros/latex/base/ltnews04.pdf
+2020/10/09 | 5507 | macros/latex/base/ltnews04.tex
+2020/10/09 | 157181 | macros/latex/base/ltnews05.pdf
+2020/10/09 | 5609 | macros/latex/base/ltnews05.tex
+2020/10/09 | 133138 | macros/latex/base/ltnews06.pdf
+2020/10/09 | 5391 | macros/latex/base/ltnews06.tex
+2020/10/09 | 124029 | macros/latex/base/ltnews07.pdf
+2020/10/09 | 5426 | macros/latex/base/ltnews07.tex
+2020/10/09 | 144482 | macros/latex/base/ltnews08.pdf
+2020/10/09 | 5696 | macros/latex/base/ltnews08.tex
+2020/10/09 | 120222 | macros/latex/base/ltnews09.pdf
+2020/10/09 | 5294 | macros/latex/base/ltnews09.tex
+2020/10/09 | 147946 | macros/latex/base/ltnews10.pdf
+2020/10/09 | 5660 | macros/latex/base/ltnews10.tex
+2020/10/09 | 104936 | macros/latex/base/ltnews11.pdf
+2020/10/09 | 5530 | macros/latex/base/ltnews11.tex
+2020/10/09 | 137919 | macros/latex/base/ltnews12.pdf
+2020/10/09 | 5418 | macros/latex/base/ltnews12.tex
+2020/10/09 | 161065 | macros/latex/base/ltnews13.pdf
+2020/10/09 | 6872 | macros/latex/base/ltnews13.tex
+2020/10/09 | 150907 | macros/latex/base/ltnews14.pdf
+2020/10/09 | 6274 | macros/latex/base/ltnews14.tex
+2020/10/09 | 122092 | macros/latex/base/ltnews15.pdf
+2020/10/09 | 5840 | macros/latex/base/ltnews15.tex
+2020/10/09 | 130687 | macros/latex/base/ltnews16.pdf
+2020/10/09 | 5777 | macros/latex/base/ltnews16.tex
+2020/10/09 | 149838 | macros/latex/base/ltnews17.pdf
+2020/10/09 | 8864 | macros/latex/base/ltnews17.tex
+2020/10/09 | 36005 | macros/latex/base/ltnews18.pdf
+2020/10/09 | 1342 | macros/latex/base/ltnews18.tex
+2020/10/09 | 235073 | macros/latex/base/ltnews19.pdf
+2020/10/09 | 4171 | macros/latex/base/ltnews19.tex
+2020/10/09 | 283318 | macros/latex/base/ltnews20.pdf
+2020/10/09 | 7326 | macros/latex/base/ltnews20.tex
+2020/10/09 | 233492 | macros/latex/base/ltnews21.pdf
+2020/10/09 | 9810 | macros/latex/base/ltnews21.tex
+2020/10/09 | 302836 | macros/latex/base/ltnews22.pdf
+2020/10/09 | 10669 | macros/latex/base/ltnews22.tex
+2020/10/09 | 274459 | macros/latex/base/ltnews23.pdf
+2020/10/09 | 10688 | macros/latex/base/ltnews23.tex
+2020/10/09 | 252645 | macros/latex/base/ltnews24.pdf
+2020/10/09 | 12225 | macros/latex/base/ltnews24.tex
+2020/10/09 | 196326 | macros/latex/base/ltnews25.pdf
+2020/10/09 | 5474 | macros/latex/base/ltnews25.tex
+2020/10/09 | 362839 | macros/latex/base/ltnews26.pdf
+2020/10/09 | 10698 | macros/latex/base/ltnews26.tex
+2020/10/09 | 239758 | macros/latex/base/ltnews27.pdf
+2020/10/09 | 5507 | macros/latex/base/ltnews27.tex
+2020/10/09 | 368226 | macros/latex/base/ltnews28.pdf
+2020/10/09 | 14892 | macros/latex/base/ltnews28.tex
+2020/10/09 | 433004 | macros/latex/base/ltnews29.pdf
+2020/10/09 | 18941 | macros/latex/base/ltnews29.tex
+2020/10/09 | 491246 | macros/latex/base/ltnews30.pdf
+2020/10/09 | 23652 | macros/latex/base/ltnews30.tex
+2020/10/09 | 500919 | macros/latex/base/ltnews31.pdf
+2020/10/09 | 30457 | macros/latex/base/ltnews31.tex
+2020/10/09 | 520923 | macros/latex/base/ltnews32.pdf
+2020/10/09 | 33256 | macros/latex/base/ltnews32.tex
+2020/10/09 | 20471 | macros/latex/base/ltnews.cls
+2020/10/09 | 989398 | macros/latex/base/ltnews.pdf
+2020/10/09 | 8100 | macros/latex/base/ltnews.tex
+2020/10/09 | 145163 | macros/latex/base/ltoutenc.dtx
+2020/10/09 | 3369 | macros/latex/base/ltoutenc.ins
+2020/10/09 | 175629 | macros/latex/base/ltoutput.dtx
+2020/10/09 | 11591 | macros/latex/base/ltpage.dtx
+2020/10/09 | 2733 | macros/latex/base/ltpageno.dtx
+2020/10/09 | 5854 | macros/latex/base/ltpar.dtx
+2020/10/09 | 68914 | macros/latex/base/ltpictur.dtx
+2020/10/09 | 48645 | macros/latex/base/ltplain.dtx
+2020/10/09 | 32647 | macros/latex/base/ltsect.dtx
+2020/10/09 | 749397 | macros/latex/base/ltshipout-code.pdf
+2020/10/09 | 104 | macros/latex/base/ltshipout-code.tex
+2020/10/09 | 503916 | macros/latex/base/ltshipout-doc.pdf
+2020/10/09 | 179 | macros/latex/base/ltshipout-doc.tex
+2020/10/09 | 60816 | macros/latex/base/ltshipout.dtx
+2020/10/09 | 45246 | macros/latex/base/ltspace.dtx
+2020/10/09 | 47704 | macros/latex/base/lttab.dtx
+2020/10/09 | 88411 | macros/latex/base/lttextcomp.dtx
+2020/10/09 | 8737 | macros/latex/base/ltthm.dtx
+2020/10/09 | 10327 | macros/latex/base/ltvers.dtx
+2020/10/09 | 191527 | macros/latex/base/ltx3info.pdf
+2020/10/09 | 18300 | macros/latex/base/ltx3info.tex
+2020/10/09 | 27124 | macros/latex/base/ltxcheck.tex
+2020/10/09 | 19064 | macros/latex/base/ltxdoc.dtx
+2020/10/09 | 215102 | macros/latex/base/ltxdoc.pdf
+2020/10/09 | 7526 | macros/latex/base/ltxguide.cls
+2020/10/09 | 15623 | macros/latex/base/ltxref.dtx
+2020/10/09 | 10606 | macros/latex/base/makeindx.dtx
+2020/10/09 | 3436 | macros/latex/base/makeindx.ins
+2020/10/09 | 160667 | macros/latex/base/makeindx.pdf
+2020/10/09 | 10690 | macros/latex/base/manifest.txt
+2020/10/09 | 12946 | macros/latex/base/manual.err
+2020/10/09 | 151347 | macros/latex/base/manual.pdf
+2020/10/09 | 1938 | macros/latex/base/minimal.cls
+2020/10/09 | 220388 | macros/latex/base/modguide.pdf
+2020/10/09 | 16234 | macros/latex/base/modguide.tex
+2020/10/09 | 4256 | macros/latex/base/newdc.ins
+2020/10/09 | 6363 | macros/latex/base/newlfont.dtx
+2020/10/09 | 18407 | macros/latex/base/nfssfont.dtx
+2020/10/09 | 2895 | macros/latex/base/nfssfont.ins
+2020/10/09 | 202451 | macros/latex/base/nfssfont.pdf
+2020/10/09 | 3962 | macros/latex/base/olddc.ins
+2020/10/09 | 8632 | macros/latex/base/oldlfont.dtx
+2020/10/09 | 9374 | macros/latex/base/preload.dtx
+2020/10/09 | 13305 | macros/latex/base/proc.dtx
+2020/10/09 | 3403 | macros/latex/base/proc.ins
+2020/10/09 | 216877 | macros/latex/base/proc.pdf
+2020/10/09 | 3514 | macros/latex/base/README.md
+2020/10/09 | 7200 | macros/latex/base/sample2e.tex
+2020/10/09 | 89720 | macros/latex/base/slides.dtx
+2020/10/09 | 6764 | macros/latex/base/slides.ins
+2020/10/09 | 351586 | macros/latex/base/slides.pdf
+2020/10/09 | 15701 | macros/latex/base/slifonts.fdd
+2020/10/09 | 214710 | macros/latex/base/slifonts.pdf
+2020/10/09 | 1694 | macros/latex/base/small2e.tex
+2020/10/09 | 6367 | macros/latex/base/source2edoc.cls
+2020/10/09 | 4347415 | macros/latex/base/source2e.pdf
+2020/10/09 | 14918 | macros/latex/base/source2e.tex
+2020/10/09 | 9401 | macros/latex/base/syntonly.dtx
+2020/10/09 | 2898 | macros/latex/base/syntonly.ins
+2020/10/09 | 181388 | macros/latex/base/syntonly.pdf
+2020/10/09 | 12521 | macros/latex/base/testpage.tex
+2020/10/09 | 2738 | macros/latex/base/tex2.txt
+2020/10/09 | 8493 | macros/latex/base/texpert.txt
+2020/10/09 | 172216 | macros/latex/base/tlc2.err
+2020/10/09 | 164947 | macros/latex/base/tlc2.pdf
+2020/10/09 | 12120 | macros/latex/base/tulm.fdd
+2020/10/09 | 3783 | macros/latex/base/tulm.ins
+2020/10/09 | 156546 | macros/latex/base/tulm.pdf
+2020/10/09 | 3182 | macros/latex/base/unpack.ins
+2020/10/09 | 399035 | macros/latex/base/usrguide.pdf
+2020/10/09 | 68428 | macros/latex/base/usrguide.tex
+2020/10/09 | 89386 | macros/latex/base/utf8ienc.dtx
+2020/10/09 | 330675 | macros/latex/base/utf8ienc.pdf
+2020/10/09 | 10053 | macros/latex/base/webcomp.err
+2020/10/09 | 136159 | macros/latex/base/webcomp.pdf
+2020/10/09 | 27885276 | macros/latex/base.zip
2005/04/09 | 16501 | macros/latex/contrib/12many/12many.dtx
2005/04/09 | 1219 | macros/latex/contrib/12many/12many.ins
2005/04/09 | 393999 | macros/latex/contrib/12many/12many.pdf
@@ -183775,13 +183805,13 @@
2020/04/16 | 139230 | macros/latex/contrib/babel-contrib/finnish/finnish.pdf
2020/04/16 | 361 | macros/latex/contrib/babel-contrib/finnish/README.md
2020/04/16 | 145245 | macros/latex/contrib/babel-contrib/finnish.zip
-2020/09/12 | 154900 | macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
-2020/09/12 | 94535 | macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
-2020/09/12 | 239031 | macros/latex/contrib/babel-contrib/french/frenchb.dtx
-2020/09/12 | 3029 | macros/latex/contrib/babel-contrib/french/frenchb.ins
-2020/09/12 | 327379 | macros/latex/contrib/babel-contrib/french/frenchb.pdf
-2020/09/12 | 1591 | macros/latex/contrib/babel-contrib/french/README.md
-2020/09/12 | 566798 | macros/latex/contrib/babel-contrib/french.zip
+2020/10/09 | 154799 | macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
+2020/10/09 | 94668 | macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
+2020/10/09 | 239792 | macros/latex/contrib/babel-contrib/french/frenchb.dtx
+2020/10/09 | 3029 | macros/latex/contrib/babel-contrib/french/frenchb.ins
+2020/10/09 | 328108 | macros/latex/contrib/babel-contrib/french/frenchb.pdf
+2020/10/09 | 1591 | macros/latex/contrib/babel-contrib/french/README.md
+2020/10/09 | 567610 | macros/latex/contrib/babel-contrib/french.zip
2016/02/24 | 8230 | macros/latex/contrib/babel-contrib/friulan/friulan.dtx
2016/02/24 | 137834 | macros/latex/contrib/babel-contrib/friulan/friulan.pdf
2016/02/23 | 706 | macros/latex/contrib/babel-contrib/friulan/README.txt
@@ -195730,25 +195760,25 @@
2007/03/01 | 31037 | macros/latex/contrib/jpsj/jpsj2.cls
2003/04/22 | 3667 | macros/latex/contrib/jpsj/template.tex
2007/03/09 | 162970 | macros/latex/contrib/jpsj.zip
-2020/10/05 | 197287 | macros/latex/contrib/jsclasses/jsclasses.dtx
-2020/10/05 | 561 | macros/latex/contrib/jsclasses/jsclasses.ins
-2020/10/05 | 412093 | macros/latex/contrib/jsclasses/jsclasses.pdf
-2020/10/05 | 11305 | macros/latex/contrib/jsclasses/jslogo.dtx
-2020/10/05 | 233 | macros/latex/contrib/jsclasses/jslogo.ins
-2020/10/05 | 76779 | macros/latex/contrib/jsclasses/jslogo.pdf
-2020/10/05 | 8623 | macros/latex/contrib/jsclasses/jsverb.dtx
-2020/10/05 | 232 | macros/latex/contrib/jsclasses/jsverb.ins
-2020/10/05 | 75649 | macros/latex/contrib/jsclasses/jsverb.pdf
-2020/10/05 | 1392 | macros/latex/contrib/jsclasses/LICENSE
-2020/10/05 | 2811 | macros/latex/contrib/jsclasses/Makefile
-2020/10/05 | 40423 | macros/latex/contrib/jsclasses/okumacro.dtx
-2020/10/05 | 240 | macros/latex/contrib/jsclasses/okumacro.ins
-2020/10/05 | 173352 | macros/latex/contrib/jsclasses/okumacro.pdf
-2020/10/05 | 6087 | macros/latex/contrib/jsclasses/okuverb.dtx
-2020/10/05 | 236 | macros/latex/contrib/jsclasses/okuverb.ins
-2020/10/05 | 59902 | macros/latex/contrib/jsclasses/okuverb.pdf
-2020/10/05 | 1432 | macros/latex/contrib/jsclasses/README.md
-2020/10/05 | 857894 | macros/latex/contrib/jsclasses.zip
+2020/10/09 | 197341 | macros/latex/contrib/jsclasses/jsclasses.dtx
+2020/10/09 | 561 | macros/latex/contrib/jsclasses/jsclasses.ins
+2020/10/09 | 412399 | macros/latex/contrib/jsclasses/jsclasses.pdf
+2020/10/09 | 11305 | macros/latex/contrib/jsclasses/jslogo.dtx
+2020/10/09 | 233 | macros/latex/contrib/jsclasses/jslogo.ins
+2020/10/09 | 76779 | macros/latex/contrib/jsclasses/jslogo.pdf
+2020/10/09 | 8623 | macros/latex/contrib/jsclasses/jsverb.dtx
+2020/10/09 | 232 | macros/latex/contrib/jsclasses/jsverb.ins
+2020/10/09 | 75649 | macros/latex/contrib/jsclasses/jsverb.pdf
+2020/10/09 | 1392 | macros/latex/contrib/jsclasses/LICENSE
+2020/10/09 | 2811 | macros/latex/contrib/jsclasses/Makefile
+2020/10/09 | 40423 | macros/latex/contrib/jsclasses/okumacro.dtx
+2020/10/09 | 240 | macros/latex/contrib/jsclasses/okumacro.ins
+2020/10/09 | 173352 | macros/latex/contrib/jsclasses/okumacro.pdf
+2020/10/09 | 6087 | macros/latex/contrib/jsclasses/okuverb.dtx
+2020/10/09 | 236 | macros/latex/contrib/jsclasses/okuverb.ins
+2020/10/09 | 59902 | macros/latex/contrib/jsclasses/okuverb.pdf
+2020/10/09 | 1432 | macros/latex/contrib/jsclasses/README.md
+2020/10/09 | 858196 | macros/latex/contrib/jsclasses.zip
2015/07/09 | 1361 | macros/latex/contrib/jslectureplanner/cologne.lps
2018/09/26 | 2829 | macros/latex/contrib/jslectureplanner/english.lps
2017/03/12 | 710 | macros/latex/contrib/jslectureplanner/examples/English/lecpresbody-english.tex
@@ -196260,10 +196290,10 @@
2020/09/16 | 96808 | macros/latex/contrib/kvmap/kvmap.pdf
2020/09/16 | 695 | macros/latex/contrib/kvmap/README.md
2020/09/16 | 102512 | macros/latex/contrib/kvmap.zip
-2019/11/29 | 100132 | macros/latex/contrib/kvoptions/kvoptions.dtx
-2019/11/29 | 488653 | macros/latex/contrib/kvoptions/kvoptions.pdf
-2019/11/29 | 159 | macros/latex/contrib/kvoptions/README.md
-2019/11/30 | 498124 | macros/latex/contrib/kvoptions.zip
+2020/10/09 | 95051 | macros/latex/contrib/kvoptions/kvoptions.dtx
+2020/10/09 | 480927 | macros/latex/contrib/kvoptions/kvoptions.pdf
+2020/10/09 | 341 | macros/latex/contrib/kvoptions/README.md
+2020/10/09 | 491053 | macros/latex/contrib/kvoptions.zip
2019/12/15 | 47237 | macros/latex/contrib/kvsetkeys/kvsetkeys.dtx
2019/12/15 | 374946 | macros/latex/contrib/kvsetkeys/kvsetkeys.pdf
2019/12/15 | 325 | macros/latex/contrib/kvsetkeys/README.md
@@ -207461,74 +207491,74 @@
2003/07/20 | 8323 | macros/latex/contrib/tclldoc/tools/sourcedtx.dtx
2003/07/20 | 759 | macros/latex/contrib/tclldoc/tools/sourcedtx.ins
2005/07/26 | 525675 | macros/latex/contrib/tclldoc.zip
-2020/09/29 | 22407 | macros/latex/contrib/tcolorbox/Basilica_5.png
-2020/09/29 | 62882 | macros/latex/contrib/tcolorbox/blueshade.png
-2020/09/29 | 55634 | macros/latex/contrib/tcolorbox/CHANGES
-2020/09/29 | 21663 | macros/latex/contrib/tcolorbox/crinklepaper.png
-2020/09/29 | 76829 | macros/latex/contrib/tcolorbox/goldshade.png
-2020/09/29 | 35224 | macros/latex/contrib/tcolorbox/lichtspiel.jpg
-2020/09/29 | 15166 | macros/latex/contrib/tcolorbox/pink_marble.png
-2020/09/29 | 5277 | macros/latex/contrib/tcolorbox/README
-2020/09/29 | 33913 | macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
-2020/09/29 | 27736 | macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
-2020/09/29 | 9008 | macros/latex/contrib/tcolorbox/tcbexternal.code.tex
-2020/09/29 | 14533 | macros/latex/contrib/tcolorbox/tcbfitting.code.tex
-2020/09/29 | 8118 | macros/latex/contrib/tcolorbox/tcbhooks.code.tex
-2020/09/29 | 3412 | macros/latex/contrib/tcolorbox/tcblistings.code.tex
-2020/09/29 | 13911 | macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
-2020/09/29 | 1412 | macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
-2020/09/29 | 5630 | macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
-2020/09/29 | 2670 | macros/latex/contrib/tcolorbox/tcbminted.code.tex
-2020/09/29 | 12451 | macros/latex/contrib/tcolorbox/tcbposter.code.tex
-2020/09/29 | 2564 | macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
-2020/09/29 | 8926 | macros/latex/contrib/tcolorbox/tcbraster.code.tex
-2020/09/29 | 85235 | macros/latex/contrib/tcolorbox/tcbskins.code.tex
-2020/09/29 | 9020 | macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
-2020/09/29 | 8515 | macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
-2020/09/29 | 12745 | macros/latex/contrib/tcolorbox/tcbvignette.code.tex
-2020/09/29 | 10266 | macros/latex/contrib/tcolorbox/tcbxparse.code.tex
-2020/09/29 | 5404 | macros/latex/contrib/tcolorbox/tcolorbox.doc.abstract.tex
-2020/09/29 | 6424 | macros/latex/contrib/tcolorbox/tcolorbox.doc.beamer.tex
-2020/09/29 | 6102 | macros/latex/contrib/tcolorbox/tcolorbox.doc.bib
-2020/09/29 | 36912 | macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
-2020/09/29 | 9899 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
-2020/09/29 | 169051 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
-2020/09/29 | 56362 | macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex
-2020/09/29 | 25816 | macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex
-2020/09/29 | 20201 | macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex
-2020/09/29 | 19952 | macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
-2020/09/29 | 7928 | macros/latex/contrib/tcolorbox/tcolorbox.doc.graphics.tex
-2020/09/29 | 24549 | macros/latex/contrib/tcolorbox/tcolorbox.doc.hooks.tex
-2020/09/29 | 112 | macros/latex/contrib/tcolorbox/tcolorbox.doc.index.tex
-2020/09/29 | 14415 | macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex
-2020/09/29 | 8722 | macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex
-2020/09/29 | 57160 | macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
-2020/09/29 | 20274 | macros/latex/contrib/tcolorbox/tcolorbox.doc.magazine.tex
-2020/09/29 | 1106 | macros/latex/contrib/tcolorbox/tcolorbox.doc.picturecredits.tex
-2020/09/29 | 25557 | macros/latex/contrib/tcolorbox/tcolorbox.doc.poster.tex
-2020/09/29 | 5577 | macros/latex/contrib/tcolorbox/tcolorbox.doc.quickref.tex
-2020/09/29 | 32893 | macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex
-2020/09/29 | 6386 | macros/latex/contrib/tcolorbox/tcolorbox.doc.recording.tex
-2020/09/29 | 148 | macros/latex/contrib/tcolorbox/tcolorbox.doc.references.tex
-2020/09/29 | 13613 | macros/latex/contrib/tcolorbox/tcolorbox.doc.sidebyside.tex
-2020/09/29 | 175422 | macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
-2020/09/29 | 11637 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
-2020/09/29 | 6691 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_snippet.sty
-2020/09/29 | 29849 | macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex
-2020/09/29 | 38690 | macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
-2020/09/29 | 3448 | macros/latex/contrib/tcolorbox/tcolorbox.doc.verbatim.tex
-2020/09/29 | 27222 | macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
-2020/09/29 | 27084 | macros/latex/contrib/tcolorbox/tcolorbox.doc.xparse.tex
-2020/09/29 | 457487 | macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
-2020/09/29 | 273842 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
-2020/09/29 | 5989 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
-2020/09/29 | 8354 | macros/latex/contrib/tcolorbox/tcolorbox-example.tex
-2020/09/29 | 7184574 | macros/latex/contrib/tcolorbox/tcolorbox.pdf
-2020/09/29 | 87050 | macros/latex/contrib/tcolorbox/tcolorbox.sty
-2020/09/29 | 3278 | macros/latex/contrib/tcolorbox/tcolorbox.tex
-2020/09/29 | 442492 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
-2020/09/29 | 44097 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
-2020/09/29 | 6161158 | macros/latex/contrib/tcolorbox.zip
+2020/10/09 | 22407 | macros/latex/contrib/tcolorbox/Basilica_5.png
+2020/10/09 | 62882 | macros/latex/contrib/tcolorbox/blueshade.png
+2020/10/09 | 56026 | macros/latex/contrib/tcolorbox/CHANGES
+2020/10/09 | 21663 | macros/latex/contrib/tcolorbox/crinklepaper.png
+2020/10/09 | 76829 | macros/latex/contrib/tcolorbox/goldshade.png
+2020/10/09 | 35224 | macros/latex/contrib/tcolorbox/lichtspiel.jpg
+2020/10/09 | 15166 | macros/latex/contrib/tcolorbox/pink_marble.png
+2020/10/09 | 5277 | macros/latex/contrib/tcolorbox/README
+2020/10/09 | 34121 | macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
+2020/10/09 | 27736 | macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
+2020/10/09 | 9008 | macros/latex/contrib/tcolorbox/tcbexternal.code.tex
+2020/10/09 | 14533 | macros/latex/contrib/tcolorbox/tcbfitting.code.tex
+2020/10/09 | 8118 | macros/latex/contrib/tcolorbox/tcbhooks.code.tex
+2020/10/09 | 3412 | macros/latex/contrib/tcolorbox/tcblistings.code.tex
+2020/10/09 | 13911 | macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
+2020/10/09 | 1412 | macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
+2020/10/09 | 5630 | macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
+2020/10/09 | 2670 | macros/latex/contrib/tcolorbox/tcbminted.code.tex
+2020/10/09 | 12451 | macros/latex/contrib/tcolorbox/tcbposter.code.tex
+2020/10/09 | 2564 | macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
+2020/10/09 | 8926 | macros/latex/contrib/tcolorbox/tcbraster.code.tex
+2020/10/09 | 85235 | macros/latex/contrib/tcolorbox/tcbskins.code.tex
+2020/10/09 | 9020 | macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
+2020/10/09 | 8515 | macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
+2020/10/09 | 12745 | macros/latex/contrib/tcolorbox/tcbvignette.code.tex
+2020/10/09 | 10266 | macros/latex/contrib/tcolorbox/tcbxparse.code.tex
+2020/10/09 | 5404 | macros/latex/contrib/tcolorbox/tcolorbox.doc.abstract.tex
+2020/10/09 | 6424 | macros/latex/contrib/tcolorbox/tcolorbox.doc.beamer.tex
+2020/10/09 | 6102 | macros/latex/contrib/tcolorbox/tcolorbox.doc.bib
+2020/10/09 | 39375 | macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
+2020/10/09 | 9899 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
+2020/10/09 | 169051 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
+2020/10/09 | 56362 | macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex
+2020/10/09 | 25816 | macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex
+2020/10/09 | 20201 | macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex
+2020/10/09 | 19952 | macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
+2020/10/09 | 7928 | macros/latex/contrib/tcolorbox/tcolorbox.doc.graphics.tex
+2020/10/09 | 24549 | macros/latex/contrib/tcolorbox/tcolorbox.doc.hooks.tex
+2020/10/09 | 112 | macros/latex/contrib/tcolorbox/tcolorbox.doc.index.tex
+2020/10/09 | 14415 | macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex
+2020/10/09 | 8722 | macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex
+2020/10/09 | 57160 | macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
+2020/10/09 | 20274 | macros/latex/contrib/tcolorbox/tcolorbox.doc.magazine.tex
+2020/10/09 | 1106 | macros/latex/contrib/tcolorbox/tcolorbox.doc.picturecredits.tex
+2020/10/09 | 25557 | macros/latex/contrib/tcolorbox/tcolorbox.doc.poster.tex
+2020/10/09 | 5577 | macros/latex/contrib/tcolorbox/tcolorbox.doc.quickref.tex
+2020/10/09 | 32893 | macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex
+2020/10/09 | 6386 | macros/latex/contrib/tcolorbox/tcolorbox.doc.recording.tex
+2020/10/09 | 148 | macros/latex/contrib/tcolorbox/tcolorbox.doc.references.tex
+2020/10/09 | 13613 | macros/latex/contrib/tcolorbox/tcolorbox.doc.sidebyside.tex
+2020/10/09 | 175422 | macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
+2020/10/09 | 11637 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
+2020/10/09 | 6691 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_snippet.sty
+2020/10/09 | 29849 | macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex
+2020/10/09 | 38690 | macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
+2020/10/09 | 3448 | macros/latex/contrib/tcolorbox/tcolorbox.doc.verbatim.tex
+2020/10/09 | 27222 | macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
+2020/10/09 | 27084 | macros/latex/contrib/tcolorbox/tcolorbox.doc.xparse.tex
+2020/10/09 | 457359 | macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
+2020/10/09 | 273812 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
+2020/10/09 | 5989 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
+2020/10/09 | 8354 | macros/latex/contrib/tcolorbox/tcolorbox-example.tex
+2020/10/09 | 7174046 | macros/latex/contrib/tcolorbox/tcolorbox.pdf
+2020/10/09 | 87902 | macros/latex/contrib/tcolorbox/tcolorbox.sty
+2020/10/09 | 3234 | macros/latex/contrib/tcolorbox/tcolorbox.tex
+2020/10/09 | 442139 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
+2020/10/09 | 44097 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
+2020/10/09 | 6165739 | macros/latex/contrib/tcolorbox.zip
2014/02/24 | 399 | macros/latex/contrib/tdclock/Changelog
2014/02/24 | 421 | macros/latex/contrib/tdclock/README
2014/02/24 | 87447 | macros/latex/contrib/tdclock/tdclock-beamer-example.pdf
@@ -211336,6 +211366,11 @@
2007/01/01 | 1679 | macros/latex/contrib/xmpincl/xmpincl.ins
2008/05/10 | 116609 | macros/latex/contrib/xmpincl/xmpincl.pdf
2008/05/10 | 107091 | macros/latex/contrib/xmpincl.zip
+2020/10/09 | 19106 | macros/latex/contrib/xmuthesis/LICENSE
+2020/10/09 | 2183 | macros/latex/contrib/xmuthesis/README.md
+2020/10/09 | 200818 | macros/latex/contrib/xmuthesis/xmuthesis.dtx
+2020/10/09 | 426423 | macros/latex/contrib/xmuthesis/xmuthesis.pdf
+2020/10/09 | 504421 | macros/latex/contrib/xmuthesis.zip
2007/04/23 | 539 | macros/latex/contrib/xnewcommand/README
2007/04/23 | 275079 | macros/latex/contrib/xnewcommand/xnewcommand.pdf
2007/04/23 | 470 | macros/latex/contrib/xnewcommand/xnewcommand.sty
@@ -211790,10 +211825,10 @@
2013/11/26 | 524 | macros/latex/contrib/ziffer/README
2013/11/26 | 3959 | macros/latex/contrib/ziffer/ziffer.sty
2013/11/30 | 2049 | macros/latex/contrib/ziffer.zip
-2020/03/01 | 393 | macros/latex/contrib/zref/README.md
-2020/05/28 | 689568 | macros/latex/contrib/zref.zip
-2020/05/28 | 195336 | macros/latex/contrib/zref/zref.dtx
-2020/05/28 | 673694 | macros/latex/contrib/zref/zref.pdf
+2020/10/09 | 581 | macros/latex/contrib/zref/README.md
+2020/10/09 | 690321 | macros/latex/contrib/zref.zip
+2020/10/09 | 195694 | macros/latex/contrib/zref/zref.dtx
+2020/10/09 | 674089 | macros/latex/contrib/zref/zref.pdf
2008/02/10 | 19110 | macros/latex/contrib/zwgetfdate/doc/latex/zwgetfdate/License.txt
2008/06/15 | 248047 | macros/latex/contrib/zwgetfdate/doc/latex/zwgetfdate/zwgetfdate.pdf
2008/06/15 | 3902 | macros/latex/contrib/zwgetfdate/doc/latex/zwgetfdate/zwgetfdate.tex
@@ -212476,12 +212511,12 @@
2018/04/06 | 27640 | macros/latex/required/cyrillic/t2lhfnt.fdd
2018/04/06 | 135567 | macros/latex/required/cyrillic/t2lhfnt.pdf
2018/04/06 | 1179110 | macros/latex/required/cyrillic.zip
-2020/10/04 | 559 | macros/latex/required/firstaid/changes.txt
-2020/09/30 | 2619 | macros/latex/required/firstaid/firstaid.ins
-2020/10/04 | 12563 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
-2020/10/04 | 225073 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
-2020/09/30 | 474 | macros/latex/required/firstaid/README.md
-2020/10/04 | 228779 | macros/latex/required/firstaid.zip
+2020/10/09 | 741 | macros/latex/required/firstaid/changes.txt
+2020/10/09 | 2619 | macros/latex/required/firstaid/firstaid.ins
+2020/10/09 | 11239 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
+2020/10/09 | 208937 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
+2020/10/09 | 474 | macros/latex/required/firstaid/README.md
+2020/10/09 | 212780 | macros/latex/required/firstaid.zip
2020/10/01 | 15737 | macros/latex/required/graphics/cat.eps
2020/10/01 | 32793 | macros/latex/required/graphics/changes.txt
2020/10/01 | 31608 | macros/latex/required/graphics/color.dtx
@@ -221393,10 +221428,10 @@
2020/09/29 | 211 | macros/unicodetex/latex/lilyglyphs/tex/README-tex
2020/09/29 | 49 | macros/unicodetex/latex/lilyglyphs/VERSION
2020/09/29 | 2283370 | macros/unicodetex/latex/lilyglyphs.zip
-2020/04/08 | 692052 | macros/unicodetex/latex/polyglossia/polyglossia.dtx
-2020/04/08 | 269164 | macros/unicodetex/latex/polyglossia/polyglossia.pdf
-2020/04/08 | 2003 | macros/unicodetex/latex/polyglossia/README.md
-2020/04/08 | 423856 | macros/unicodetex/latex/polyglossia.zip
+2020/10/09 | 891060 | macros/unicodetex/latex/polyglossia/polyglossia.dtx
+2020/10/09 | 279264 | macros/unicodetex/latex/polyglossia/polyglossia.pdf
+2020/10/09 | 1942 | macros/unicodetex/latex/polyglossia/README.md
+2020/10/09 | 477944 | macros/unicodetex/latex/polyglossia.zip
2016/02/13 | 2038 | macros/unicodetex/latex/realscripts/README.md
2016/02/13 | 13529 | macros/unicodetex/latex/realscripts/realscripts.dtx
2016/02/13 | 1755 | macros/unicodetex/latex/realscripts/realscripts.ins
@@ -259030,11 +259065,11 @@
2019/02/28 | 229084 | systems/texlive/tlnet/archive/autopdf.doc.r32377.tar.xz
2019/02/28 | 4936 | systems/texlive/tlnet/archive/autopdf.r32377.tar.xz
2019/02/28 | 8256 | systems/texlive/tlnet/archive/autopdf.source.r32377.tar.xz
-2019/11/18 | 318760 | systems/texlive/tlnet/archive/auto-pst-pdf.doc.r52849.tar.xz
+2020/10/09 | 211044 | systems/texlive/tlnet/archive/auto-pst-pdf.doc.r56596.tar.xz
2020/04/19 | 69040 | systems/texlive/tlnet/archive/auto-pst-pdf-lua.doc.r54779.tar.xz
2020/04/19 | 2496 | systems/texlive/tlnet/archive/auto-pst-pdf-lua.r54779.tar.xz
-2019/11/18 | 2616 | systems/texlive/tlnet/archive/auto-pst-pdf.r52849.tar.xz
-2019/11/18 | 7656 | systems/texlive/tlnet/archive/auto-pst-pdf.source.r52849.tar.xz
+2020/10/09 | 2636 | systems/texlive/tlnet/archive/auto-pst-pdf.r56596.tar.xz
+2020/10/09 | 7256 | systems/texlive/tlnet/archive/auto-pst-pdf.source.r56596.tar.xz
2020/03/13 | 21068 | systems/texlive/tlnet/archive/autosp.aarch64-linux.r54269.tar.xz
2020/03/13 | 21724 | systems/texlive/tlnet/archive/autosp.amd64-freebsd.r54263.tar.xz
2020/03/14 | 18332 | systems/texlive/tlnet/archive/autosp.amd64-netbsd.r54273.tar.xz
@@ -259215,9 +259250,9 @@
2019/02/28 | 111840 | systems/texlive/tlnet/archive/babel-romansh.doc.r30286.tar.xz
2019/02/28 | 1132 | systems/texlive/tlnet/archive/babel-romansh.r30286.tar.xz
2019/02/28 | 3200 | systems/texlive/tlnet/archive/babel-romansh.source.r30286.tar.xz
-2019/02/28 | 138068 | systems/texlive/tlnet/archive/babel-russian.doc.r45007.tar.xz
-2019/02/28 | 6180 | systems/texlive/tlnet/archive/babel-russian.r45007.tar.xz
-2019/02/28 | 23808 | systems/texlive/tlnet/archive/babel-russian.source.r45007.tar.xz
+2020/10/09 | 496192 | systems/texlive/tlnet/archive/babel-russian.doc.r56597.tar.xz
+2020/10/09 | 6296 | systems/texlive/tlnet/archive/babel-russian.r56597.tar.xz
+2020/10/09 | 24240 | systems/texlive/tlnet/archive/babel-russian.source.r56597.tar.xz
2019/02/28 | 125092 | systems/texlive/tlnet/archive/babel-samin.doc.r30288.tar.xz
2019/02/28 | 2324 | systems/texlive/tlnet/archive/babel-samin.r30288.tar.xz
2019/02/28 | 4384 | systems/texlive/tlnet/archive/babel-samin.source.r30288.tar.xz
@@ -263585,9 +263620,9 @@
2020/05/17 | 98036 | systems/texlive/tlnet/archive/hyperref.r55161.tar.xz
2020/05/17 | 446768 | systems/texlive/tlnet/archive/hyperref.source.r55161.tar.xz
2019/02/28 | 32960 | systems/texlive/tlnet/archive/hyper.source.r17357.tar.xz
-2020/09/26 | 1128180 | systems/texlive/tlnet/archive/hyperxmp.doc.r56432.tar.xz
-2020/09/26 | 12684 | systems/texlive/tlnet/archive/hyperxmp.r56432.tar.xz
-2020/09/26 | 153884 | systems/texlive/tlnet/archive/hyperxmp.source.r56432.tar.xz
+2020/10/09 | 1131080 | systems/texlive/tlnet/archive/hyperxmp.doc.r56599.tar.xz
+2020/10/09 | 12776 | systems/texlive/tlnet/archive/hyperxmp.r56599.tar.xz
+2020/10/09 | 154548 | systems/texlive/tlnet/archive/hyperxmp.source.r56599.tar.xz
2020/03/26 | 36480 | systems/texlive/tlnet/archive/hyphen-afrikaans.r54568.tar.xz
2020/03/26 | 38192 | systems/texlive/tlnet/archive/hyphen-ancientgreek.r54568.tar.xz
2020/03/26 | 368 | systems/texlive/tlnet/archive/hyphen-arabic.r54568.tar.xz
@@ -266537,9 +266572,9 @@
2019/02/28 | 11060 | systems/texlive/tlnet/archive/parallel.source.r15878.tar.xz
2019/02/28 | 906420 | systems/texlive/tlnet/archive/paratype.doc.r32859.tar.xz
2019/02/28 | 4164732 | systems/texlive/tlnet/archive/paratype.r32859.tar.xz
-2019/02/28 | 1412304 | systems/texlive/tlnet/archive/paresse.doc.r29803.tar.xz
-2019/02/28 | 3408 | systems/texlive/tlnet/archive/paresse.r29803.tar.xz
-2019/02/28 | 23384 | systems/texlive/tlnet/archive/paresse.source.r29803.tar.xz
+2020/10/09 | 1308800 | systems/texlive/tlnet/archive/paresse.doc.r56598.tar.xz
+2020/10/09 | 3624 | systems/texlive/tlnet/archive/paresse.r56598.tar.xz
+2020/10/09 | 13952 | systems/texlive/tlnet/archive/paresse.source.r56598.tar.xz
2019/07/25 | 62388 | systems/texlive/tlnet/archive/parnotes.doc.r51720.tar.xz
2019/07/25 | 3784 | systems/texlive/tlnet/archive/parnotes.r51720.tar.xz
2019/02/28 | 105064 | systems/texlive/tlnet/archive/parrun.doc.r15878.tar.xz
@@ -268370,9 +268405,9 @@
2019/02/28 | 3668 | systems/texlive/tlnet/archive/showcharinbox.source.r29803.tar.xz
2019/02/28 | 928 | systems/texlive/tlnet/archive/showdim.doc.r28918.tar.xz
2019/02/28 | 1652 | systems/texlive/tlnet/archive/showdim.r28918.tar.xz
-2020/05/29 | 605072 | systems/texlive/tlnet/archive/showexpl.doc.r55324.tar.xz
-2020/05/29 | 4128 | systems/texlive/tlnet/archive/showexpl.r55324.tar.xz
-2020/05/29 | 9128 | systems/texlive/tlnet/archive/showexpl.source.r55324.tar.xz
+2020/10/09 | 604732 | systems/texlive/tlnet/archive/showexpl.doc.r56600.tar.xz
+2020/10/09 | 4132 | systems/texlive/tlnet/archive/showexpl.r56600.tar.xz
+2020/10/09 | 9144 | systems/texlive/tlnet/archive/showexpl.source.r56600.tar.xz
2019/02/28 | 86248 | systems/texlive/tlnet/archive/showhyphens.doc.r39787.tar.xz
2019/02/28 | 1784 | systems/texlive/tlnet/archive/showhyphens.r39787.tar.xz
2019/02/28 | 169108 | systems/texlive/tlnet/archive/showlabels.doc.r41322.tar.xz
@@ -269035,13 +269070,13 @@
2020/03/02 | 109508 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r53999.tar.xz
2020/03/02 | 87376 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r53995.tar.xz
2020/03/04 | 72564 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r54033.tar.xz
-2020/10/06 | 136156 | systems/texlive/tlnet/archive/tex4ht.doc.r56561.tar.xz
+2020/10/09 | 136160 | systems/texlive/tlnet/archive/tex4ht.doc.r56601.tar.xz
2020/06/02 | 51092 | systems/texlive/tlnet/archive/tex4ht.i386-cygwin.r55384.tar.xz
2020/03/02 | 90676 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r53999.tar.xz
2020/03/02 | 89232 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r53999.tar.xz
2020/03/06 | 76276 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r54104.tar.xz
2020/03/02 | 83968 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r53999.tar.xz
-2020/10/06 | 900280 | systems/texlive/tlnet/archive/tex4ht.r56561.tar.xz
+2020/10/09 | 900484 | systems/texlive/tlnet/archive/tex4ht.r56601.tar.xz
2020/03/02 | 57708 | systems/texlive/tlnet/archive/tex4ht.win32.r53994.tar.xz
2020/06/02 | 57936 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r55384.tar.xz
2020/03/02 | 85024 | systems/texlive/tlnet/archive/tex4ht.x86_64-darwinlegacy.r53999.tar.xz
@@ -270952,16 +270987,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/10/08 | 5500163 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2020/10/08 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2020/10/08 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2020/10/09 | 5500143 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2020/10/09 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2020/10/09 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2020/08/23 | 4889 | systems/texlive/tlnet/install-tl-windows.bat
-2020/10/08 | 19382984 | systems/texlive/tlnet/install-tl-windows.exe
-2020/10/08 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2020/10/08 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2020/10/08 | 24270043 | systems/texlive/tlnet/install-tl.zip
-2020/10/08 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2020/10/08 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2020/10/09 | 19382891 | systems/texlive/tlnet/install-tl-windows.exe
+2020/10/09 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2020/10/09 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2020/10/09 | 24270043 | systems/texlive/tlnet/install-tl.zip
+2020/10/09 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2020/10/09 | 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
@@ -271017,12 +271052,12 @@
2020/05/17 | 20322 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2020/05/03 | 4786 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2020/09/22 | 27563 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2020/10/08 | 16622752 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2020/10/08 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2020/10/09 | 16622764 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2020/10/09 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2020/05/13 | 86417 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2020/10/08 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2020/10/08 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2020/10/08 | 2235028 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2020/10/09 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2020/10/09 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2020/10/09 | 2235464 | 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
@@ -274442,7 +274477,7 @@
2015/01/24 | 421704 | systems/win32/miktex/tm/packages/autonum.tar.lzma
2013/12/23 | 242283 | systems/win32/miktex/tm/packages/autopdf.tar.lzma
2018/12/18 | 71586 | systems/win32/miktex/tm/packages/auto-pst-pdf-lua.tar.lzma
-2011/08/28 | 327852 | systems/win32/miktex/tm/packages/auto-pst-pdf.tar.lzma
+2020/10/09 | 221257 | systems/win32/miktex/tm/packages/auto-pst-pdf.tar.lzma
2020/03/12 | 271445 | systems/win32/miktex/tm/packages/autosp.tar.lzma
2019/12/21 | 292852 | systems/win32/miktex/tm/packages/auxhook.tar.lzma
2006/09/28 | 276931 | systems/win32/miktex/tm/packages/avantgar.cab
@@ -274493,7 +274528,7 @@
2020/05/06 | 155299 | systems/win32/miktex/tm/packages/babel-portuges.tar.lzma
2014/05/21 | 119972 | systems/win32/miktex/tm/packages/babel-romanian.tar.lzma
2014/05/21 | 116296 | systems/win32/miktex/tm/packages/babel-romansh.tar.lzma
-2017/08/12 | 167729 | systems/win32/miktex/tm/packages/babel-russian.tar.lzma
+2020/10/09 | 526506 | systems/win32/miktex/tm/packages/babel-russian.tar.lzma
2014/05/21 | 132285 | systems/win32/miktex/tm/packages/babel-samin.tar.lzma
2014/05/21 | 120570 | systems/win32/miktex/tm/packages/babel-scottish.tar.lzma
2019/12/20 | 293241 | systems/win32/miktex/tm/packages/babel-serbianc.tar.lzma
@@ -275514,7 +275549,7 @@
2020/10/03 | 318630 | 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/10/08 | 552926 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/10/09 | 551348 | 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
@@ -275693,7 +275728,7 @@
2007/12/11 | 158415 | systems/win32/miktex/tm/packages/gfsporson.tar.lzma
2007/12/11 | 154026 | systems/win32/miktex/tm/packages/gfssolomos.tar.lzma
2013/04/08 | 29672 | systems/win32/miktex/tm/packages/ghab.tar.lzma
-2019/12/15 | 273185 | systems/win32/miktex/tm/packages/ghostscript.tar.lzma
+2020/10/09 | 273679 | systems/win32/miktex/tm/packages/ghostscript.tar.lzma
2020/02/18 | 2388069 | systems/win32/miktex/tm/packages/ghsystem.tar.lzma
2010/08/09 | 208499 | systems/win32/miktex/tm/packages/gillcm.tar.lzma
2013/11/08 | 1157242 | systems/win32/miktex/tm/packages/gillius.tar.lzma
@@ -275882,7 +275917,7 @@
2020/01/03 | 188886 | systems/win32/miktex/tm/packages/hypernat.tar.lzma
2020/05/17 | 3855824 | systems/win32/miktex/tm/packages/hyperref.tar.lzma
2016/07/16 | 326320 | systems/win32/miktex/tm/packages/hyper.tar.lzma
-2020/10/03 | 1292835 | systems/win32/miktex/tm/packages/hyperxmp.tar.lzma
+2020/10/09 | 1296666 | systems/win32/miktex/tm/packages/hyperxmp.tar.lzma
2009/09/03 | 163943 | systems/win32/miktex/tm/packages/hyphenat.tar.lzma
2020/03/30 | 1797358 | systems/win32/miktex/tm/packages/hyph-utf8.tar.lzma
2020/07/19 | 1323235 | systems/win32/miktex/tm/packages/ibarra.tar.lzma
@@ -276686,9 +276721,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/10/08 | 203561 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2020/10/08 | 1227044 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2020/10/08 | 1143120 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/10/09 | 203581 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/10/09 | 1226250 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/10/09 | 1144212 | 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
@@ -276842,187 +276877,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
2020/09/06 | 231669 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2020/10/08 | 552893 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2020/10/08 | 59401 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2020/10/08 | 67470 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2020/10/08 | 956600 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2020/10/08 | 1058653 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2020/10/08 | 28636 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2020/10/08 | 30896 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2020/10/08 | 29392 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2020/10/08 | 34783 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2020/10/08 | 49705 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2020/10/08 | 57433 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2020/10/08 | 84890 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2020/10/08 | 93679 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/10/08 | 65785 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2020/10/08 | 73431 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2020/10/08 | 27031 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2020/10/08 | 30865 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2020/10/08 | 329642 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2020/10/08 | 392239 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2020/10/08 | 32399 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2020/10/08 | 36298 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2020/10/08 | 71990 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2020/10/08 | 79530 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2020/10/08 | 204251 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2020/10/08 | 224178 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2020/10/08 | 169701 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2020/10/08 | 184474 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2020/10/08 | 52112 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2020/10/08 | 58631 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2020/10/08 | 20840 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2020/10/08 | 22987 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2020/10/08 | 460771 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2020/10/08 | 45296 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2020/10/08 | 51099 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2020/10/08 | 273418 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2020/10/08 | 311220 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2020/10/08 | 40863 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2020/10/08 | 44893 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2020/10/08 | 116092 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2020/10/08 | 130413 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2020/10/08 | 1264619 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2020/10/08 | 1397690 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2020/10/08 | 95416 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2020/10/08 | 109881 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2020/10/08 | 43281 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2020/10/08 | 48085 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2020/10/08 | 46352 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2020/10/08 | 51526 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2020/10/08 | 57069 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2020/10/08 | 63335 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2020/10/08 | 133508 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2020/10/08 | 151817 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2020/10/08 | 72703 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2020/10/08 | 77331 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2020/10/08 | 68901 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2020/10/08 | 77288 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2020/10/08 | 246837 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2020/10/08 | 281676 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2020/10/08 | 25490 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2020/10/08 | 29035 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2020/10/08 | 100963 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2020/10/08 | 117064 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2020/10/08 | 63495 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2020/10/08 | 72538 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2020/10/08 | 94582 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2020/10/08 | 113858 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2020/10/08 | 59048 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2020/10/08 | 65820 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2020/10/08 | 461558 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2020/10/08 | 550262 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2020/10/08 | 141528 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2020/10/08 | 154189 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2020/10/08 | 94534 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2020/10/08 | 109019 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2020/10/08 | 16003 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2020/10/08 | 17629 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2020/10/08 | 27973 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2020/10/08 | 29712 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2020/10/08 | 623360 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2020/10/08 | 677751 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2020/10/08 | 500188 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2020/10/08 | 562028 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2020/10/08 | 543563 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2020/10/08 | 584463 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2020/10/08 | 93611 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2020/10/08 | 102657 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2020/10/08 | 1757872 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2020/10/08 | 2029211 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2020/10/08 | 67440 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2020/10/08 | 73661 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2020/10/08 | 27109 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2020/10/08 | 31202 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2020/10/08 | 7564 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2020/10/08 | 8583 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2020/10/08 | 192826 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2020/10/08 | 211882 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2020/10/08 | 269700 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2020/10/08 | 305378 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2020/10/08 | 96399 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2020/10/08 | 101717 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2020/10/08 | 79716 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
-2020/10/08 | 88949 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2020/10/08 | 171292 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2020/10/08 | 190104 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2020/10/08 | 159936 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2020/10/08 | 180780 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2020/10/08 | 196620 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2020/10/08 | 177456 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2020/10/08 | 85272 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2020/10/08 | 97050 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2020/10/08 | 31231 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2020/10/08 | 35076 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2020/10/08 | 57603 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2020/10/08 | 64601 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2020/10/08 | 63558 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2020/10/08 | 70047 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2020/10/08 | 45803 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2020/10/08 | 52219 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2020/10/08 | 192520 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2020/10/08 | 209835 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2020/10/08 | 35164 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2020/10/08 | 39352 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2020/10/08 | 326402 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2020/10/08 | 360821 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2020/10/08 | 187675 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2020/10/08 | 193810 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2020/10/08 | 207390 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2020/10/08 | 243074 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2020/10/08 | 78485 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2020/10/08 | 87369 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2020/10/08 | 922938 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2020/10/08 | 1022330 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2020/10/08 | 19984 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2020/10/08 | 23572 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2020/10/08 | 31222 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2020/10/08 | 36938 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2020/10/08 | 63499 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2020/10/08 | 71603 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2020/10/08 | 42631 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2020/10/08 | 50925 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2020/10/08 | 1196954 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2020/10/08 | 1330152 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2020/10/08 | 42113 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2020/10/08 | 51488 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2020/10/08 | 76939 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2020/10/08 | 83100 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2020/10/08 | 26846 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2020/10/08 | 28996 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2020/10/08 | 16067 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2020/10/08 | 17761 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2020/10/08 | 63221 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2020/10/08 | 69642 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2020/10/08 | 152021 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2020/10/08 | 165447 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2020/10/08 | 77661 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2020/10/08 | 88261 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2020/10/08 | 97407 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2020/10/08 | 104537 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2020/10/08 | 2533839 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2020/10/08 | 2656853 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2020/10/08 | 54981 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2020/10/08 | 61939 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2020/10/08 | 33104 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2020/10/08 | 36910 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2020/10/08 | 26636 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2020/10/08 | 32415 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2020/10/08 | 65940 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2020/10/08 | 70046 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2020/10/08 | 250299 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2020/10/08 | 279949 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2020/10/08 | 598023 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2020/10/08 | 638780 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2020/10/08 | 39363 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2020/10/08 | 43081 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2020/10/08 | 203589 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2020/10/08 | 1226509 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2020/10/08 | 1145608 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2020/10/08 | 13122 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2020/10/08 | 14123 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2020/10/09 | 551150 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/10/09 | 59403 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/10/09 | 67474 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/10/09 | 956602 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/10/09 | 1058655 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/10/09 | 28641 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/10/09 | 30897 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/10/09 | 29392 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/10/09 | 34787 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/10/09 | 49707 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/10/09 | 57435 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/10/09 | 84890 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/10/09 | 93682 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/10/09 | 65787 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/10/09 | 73434 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/10/09 | 27032 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/10/09 | 30867 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/10/09 | 329645 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/10/09 | 392241 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/10/09 | 32400 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/10/09 | 36299 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/10/09 | 71992 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/10/09 | 79532 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/10/09 | 204252 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/10/09 | 224179 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/10/09 | 169703 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/10/09 | 184477 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/10/09 | 52115 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/10/09 | 58631 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/10/09 | 20842 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/10/09 | 22988 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/10/09 | 460771 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2020/10/09 | 45295 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/10/09 | 51100 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/10/09 | 273420 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/10/09 | 311222 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/10/09 | 40864 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/10/09 | 44897 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/10/09 | 116096 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/10/09 | 130417 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/10/09 | 1264625 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/10/09 | 1397692 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/10/09 | 95417 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/10/09 | 109883 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/10/09 | 43282 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/10/09 | 48087 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/10/09 | 46354 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/10/09 | 51528 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/10/09 | 57070 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/10/09 | 63337 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/10/09 | 133511 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/10/09 | 151817 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/10/09 | 72706 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/10/09 | 77333 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/10/09 | 68900 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/10/09 | 77291 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/10/09 | 246837 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/10/09 | 281677 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/10/09 | 25491 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/10/09 | 29038 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/10/09 | 100966 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2020/10/09 | 117067 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/10/09 | 63497 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/10/09 | 72541 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/10/09 | 94584 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/10/09 | 113860 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/10/09 | 59050 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/10/09 | 65822 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/10/09 | 461564 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/10/09 | 550263 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/10/09 | 141530 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/10/09 | 154192 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/10/09 | 94536 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/10/09 | 109022 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/10/09 | 16005 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/10/09 | 17630 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/10/09 | 27973 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/10/09 | 29714 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/10/09 | 623362 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2020/10/09 | 677752 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2020/10/09 | 500191 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/10/09 | 562030 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/10/09 | 543567 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/10/09 | 584464 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/10/09 | 93610 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/10/09 | 102662 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/10/09 | 1757874 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/10/09 | 2029210 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/10/09 | 67441 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/10/09 | 73662 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/10/09 | 27109 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/10/09 | 31202 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/10/09 | 7566 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/10/09 | 8586 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/10/09 | 192828 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/10/09 | 211883 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/10/09 | 269705 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/10/09 | 305381 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/10/09 | 96402 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/10/09 | 101719 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/10/09 | 79718 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/10/09 | 88952 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/10/09 | 171293 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/10/09 | 190106 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/10/09 | 159938 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/10/09 | 180782 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/10/09 | 196620 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/10/09 | 177459 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/10/09 | 85273 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/10/09 | 97053 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/10/09 | 31232 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/10/09 | 35078 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/10/09 | 57605 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/10/09 | 64601 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/10/09 | 63563 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/10/09 | 70049 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/10/09 | 45805 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/10/09 | 52220 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/10/09 | 192520 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2020/10/09 | 209836 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2020/10/09 | 35167 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2020/10/09 | 39353 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2020/10/09 | 326405 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/10/09 | 360825 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/10/09 | 187679 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/10/09 | 193813 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/10/09 | 207394 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/10/09 | 243078 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/10/09 | 78490 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/10/09 | 87373 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/10/09 | 922947 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/10/09 | 1022334 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/10/09 | 19986 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/10/09 | 23573 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/10/09 | 31227 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/10/09 | 36940 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/10/09 | 63500 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/10/09 | 71604 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/10/09 | 42635 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/10/09 | 50928 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/10/09 | 1196951 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/10/09 | 1330154 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/10/09 | 42112 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/10/09 | 51489 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/10/09 | 76943 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2020/10/09 | 83100 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2020/10/09 | 26848 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/10/09 | 28998 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/10/09 | 16067 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/10/09 | 17763 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/10/09 | 63224 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/10/09 | 69644 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/10/09 | 152023 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/10/09 | 165449 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/10/09 | 77663 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/10/09 | 88263 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/10/09 | 97408 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/10/09 | 104539 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/10/09 | 2533841 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/10/09 | 2656856 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/10/09 | 54981 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/10/09 | 61941 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/10/09 | 33106 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2020/10/09 | 36911 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2020/10/09 | 26638 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/10/09 | 32417 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/10/09 | 65942 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/10/09 | 70048 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/10/09 | 250302 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/10/09 | 279951 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/10/09 | 598028 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/10/09 | 638783 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/10/09 | 39364 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/10/09 | 43081 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/10/09 | 203615 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/10/09 | 1225718 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/10/09 | 1144901 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/10/09 | 13122 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/10/09 | 14125 | 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/10/08 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/10/09 | 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
@@ -277155,7 +277190,7 @@
2017/01/23 | 227358 | systems/win32/miktex/tm/packages/paralist.tar.lzma
2016/07/29 | 129982 | systems/win32/miktex/tm/packages/parallel.tar.lzma
2014/02/07 | 5055391 | systems/win32/miktex/tm/packages/paratype.tar.lzma
-2013/02/19 | 1442839 | systems/win32/miktex/tm/packages/paresse.tar.lzma
+2020/10/09 | 1318312 | systems/win32/miktex/tm/packages/paresse.tar.lzma
2014/09/29 | 4307681 | systems/win32/miktex/tm/packages/parisa.tar.lzma
2019/07/27 | 66259 | systems/win32/miktex/tm/packages/parnotes.tar.lzma
2004/02/22 | 122536 | systems/win32/miktex/tm/packages/parrun.cab
@@ -277343,7 +277378,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/10/08 | 846 | systems/win32/miktex/tm/packages/pr.ini
+2020/10/09 | 848 | 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
@@ -277733,7 +277768,7 @@
2008/03/15 | 37596 | systems/win32/miktex/tm/packages/show2e.tar.lzma
2013/04/08 | 77777 | systems/win32/miktex/tm/packages/showcharinbox.tar.lzma
2013/01/24 | 2349 | systems/win32/miktex/tm/packages/showdim.tar.lzma
-2020/05/30 | 619566 | systems/win32/miktex/tm/packages/showexpl.tar.lzma
+2020/10/09 | 619213 | systems/win32/miktex/tm/packages/showexpl.tar.lzma
2004/01/11 | 1359 | systems/win32/miktex/tm/packages/showframe.cab
2016/02/23 | 88396 | systems/win32/miktex/tm/packages/showhyphens.tar.lzma
2015/12/10 | 183478 | systems/win32/miktex/tm/packages/showlabels.tar.lzma
@@ -278501,7 +278536,7 @@
2020/10/07 | 5178984 | systems/win32/w32tex/aleph-w32.tar.xz
2020/10/02 | 66084440 | systems/win32/w32tex/biblatex-biber.tar.xz
2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz
-2020/10/07 | 720833 | systems/win32/w32tex/ChangeLog
+2020/10/08 | 721454 | 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
@@ -278514,18 +278549,18 @@
2020/09/21 | 6434128 | systems/win32/w32tex/datetime2.tar.xz
2020/06/13 | 845760 | systems/win32/w32tex/dvi2ps-w32.tar.xz
2020/06/13 | 483880 | systems/win32/w32tex/dvi2tty-w32.tar.xz
-2020/10/06 | 4659224 | systems/win32/w32tex/dvipdfm-w32.tar.xz
+2020/10/07 | 4659500 | systems/win32/w32tex/dvipdfm-w32.tar.xz
2020/09/21 | 4549100 | systems/win32/w32tex/dvipsk-w32.tar.xz
2020/09/22 | 2652792 | systems/win32/w32tex/dvitools-w32.tar.xz
2020/10/02 | 1177736 | systems/win32/w32tex/extractpdfmark-w32.tar.xz
2020/06/13 | 17351036 | systems/win32/w32tex/gregorio-w32.tar.xz
2009/08/03 | 1072620 | systems/win32/w32tex/gtftex.zip
2020/10/07 | 1830044 | systems/win32/w32tex/jtex-w32.tar.xz
-2020/10/07 | 46900696 | systems/win32/w32tex/latex-dev.tar.xz
+2020/10/08 | 46889056 | systems/win32/w32tex/latex-dev.tar.xz
2020/10/06 | 34546000 | systems/win32/w32tex/latex.tar.xz
2020/06/13 | 996116 | systems/win32/w32tex/lcdf-typetools-w32.tar.xz
2020/09/11 | 399342000 | systems/win32/w32tex/ltxpkgdocs.tar.xz
-2020/10/07 | 33920732 | systems/win32/w32tex/ltxpkgs.tar.xz
+2020/10/08 | 33927724 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/10/05 | 3837980 | systems/win32/w32tex/luajittex-dev-w32.tar.xz
2020/10/05 | 3835924 | systems/win32/w32tex/luajittex-exp-w32.tar.xz
2020/10/05 | 3827288 | systems/win32/w32tex/luajittex-w32.tar.xz
@@ -278546,13 +278581,13 @@
2020/10/07 | 21062460 | systems/win32/w32tex/pdftex-w32.tar.xz
2020/10/05 | 81711688 | systems/win32/w32tex/pgfcontrib.tar.xz
2015/01/26 | 189072 | systems/win32/w32tex/plain2-2.54-w32.tar.xz
-2020/10/01 | 2877868 | systems/win32/w32tex/platex.tar.xz
+2020/10/08 | 2883136 | systems/win32/w32tex/platex.tar.xz
2020/03/20 | 1598792 | systems/win32/w32tex/pmx.tar.xz
2020/06/13 | 1169008 | systems/win32/w32tex/pstoedit-w32.tar.xz
2020/09/30 | 274211716 | systems/win32/w32tex/pstricks.tar.xz
2020/06/13 | 517656 | systems/win32/w32tex/psutils-w32.tar.xz
-2020/10/07 | 6587380 | systems/win32/w32tex/ptex-ng-w32.tar.xz
-2020/10/07 | 10626908 | systems/win32/w32tex/ptex-w32.tar.xz
+2020/10/08 | 6587956 | systems/win32/w32tex/ptex-ng-w32.tar.xz
+2020/10/08 | 10626808 | 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/10/04 | 23662280 | systems/win32/w32tex/t1fonts.tar.xz
@@ -278566,7 +278601,7 @@
2020/06/06 | 2168 | systems/win32/w32tex/TLTEXINFO/00README-TEXINFO.TL
2020/09/12 | 4291660 | systems/win32/w32tex/TLTEXINFO/tl-texinfo.zip
2020/08/28 | 2060 | systems/win32/w32tex/TLW64/00README.TLW64
-2020/10/06 | 93960642 | systems/win32/w32tex/TLW64/tl-win64.zip
+2020/10/07 | 93960883 | systems/win32/w32tex/TLW64/tl-win64.zip
2020/06/13 | 825284 | systems/win32/w32tex/ttf2pk-w32.tar.xz
2020/06/13 | 838096 | systems/win32/w32tex/ttf2pt1-w32.tar.xz
2017/10/13 | 1773368 | systems/win32/w32tex/tuftelatex.tar.xz
@@ -278574,7 +278609,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/10/07 | 8371644 | systems/win32/w32tex/uptex-w32.tar.xz
+2020/10/08 | 8372256 | 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
@@ -278586,7 +278621,7 @@
2020/06/13 | 82884 | systems/win32/w32tex/win64/cweb-w64.tar.xz
2020/06/13 | 758152 | systems/win32/w32tex/win64/dvi2ps-w64.tar.xz
2020/06/13 | 447760 | systems/win32/w32tex/win64/dvi2tty-w64.tar.xz
-2020/10/06 | 805168 | systems/win32/w32tex/win64/dvipdfm-w64.tar.xz
+2020/10/07 | 804748 | systems/win32/w32tex/win64/dvipdfm-w64.tar.xz
2020/06/13 | 759644 | systems/win32/w32tex/win64/dvipsk-w64.tar.xz
2020/09/22 | 2365672 | systems/win32/w32tex/win64/dvitools-w64.tar.xz
2020/10/02 | 1079944 | systems/win32/w32tex/win64/extractpdfmark-w64.tar.xz
@@ -278611,7 +278646,7 @@
2020/03/20 | 557532 | systems/win32/w32tex/win64/pmx-w64.tar.xz
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/10/06 | 1710412 | systems/win32/w32tex/win64/ptex-ng-w64.tar.xz
+2020/10/07 | 1710416 | systems/win32/w32tex/win64/ptex-ng-w64.tar.xz
2020/09/24 | 1881112 | 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
@@ -278621,8 +278656,8 @@
2020/01/18 | 42768 | systems/win32/w32tex/win64/txtutil-w64.tar.xz
2020/09/24 | 1811164 | systems/win32/w32tex/win64/uptex-w64.tar.xz
2020/10/05 | 3379968 | systems/win32/w32tex/win64/web2c-w64.tar.xz
-2020/10/07 | 10988220 | systems/win32/w32tex/win64/xetex-w64.tar.xz
-2020/10/07 | 48950772 | systems/win32/w32tex/xetex-w32.tar.xz
+2020/10/07 | 11019336 | systems/win32/w32tex/win64/xetex-w64.tar.xz
+2020/10/07 | 48952996 | systems/win32/w32tex/xetex-w32.tar.xz
2020/05/29 | 2936068 | systems/win32/w32tex/xindy-w32.tar.xz
2013/11/19 | 11356248 | systems/win32/w32tex/xymtex.tar.xz
2016/09/09 | 4334636 | systems/win32/w32tex/xypic.tar.xz
@@ -278719,7 +278754,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2020/10/09 | 186 | timestamp
+2020/10/10 | 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 0c3b22baa7..7db54324a3 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 8162009a32..8d69e92aed 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,328 +1,791 @@
-2020/10/08 | 97407 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2020/10/08 | 97050 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2020/10/08 | 96399 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2020/10/08 | 956600 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2020/10/08 | 95416 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2020/10/08 | 94582 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2020/10/08 | 94534 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2020/10/08 | 93679 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2020/10/08 | 93611 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2020/10/08 | 922938 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2020/10/08 | 88949 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
-2020/10/08 | 88261 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2020/10/08 | 87369 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2020/10/08 | 8583 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2020/10/08 | 85272 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2020/10/08 | 84890 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2020/10/08 | 846 | systems/win32/miktex/tm/packages/pr.ini
+2020/10/09 | 9899 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex
+2020/10/09 | 989398 | macros/latex/base/ltnews.pdf
+2020/10/09 | 9810 | macros/latex/base/ltnews21.tex
+2020/10/09 | 97408 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2020/10/09 | 97053 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2020/10/09 | 96402 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2020/10/09 | 956602 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2020/10/09 | 9562 | macros/latex/base/ltcntrl.dtx
+2020/10/09 | 95417 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2020/10/09 | 95051 | macros/latex/contrib/kvoptions/kvoptions.dtx
+2020/10/09 | 94668 | macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
+2020/10/09 | 9460 | macros/latex/base/format.ins
+2020/10/09 | 94584 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2020/10/09 | 94536 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2020/10/09 | 944267 | install/macros/latex/contrib/jsclasses.tds.zip
+2020/10/09 | 9401 | macros/latex/base/syntonly.dtx
+2020/10/09 | 9374 | macros/latex/base/preload.dtx
+2020/10/09 | 93682 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2020/10/09 | 93610 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2020/10/09 | 922947 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2020/10/09 | 9144 | systems/texlive/tlnet/archive/showexpl.source.r56600.tar.xz
+2020/10/09 | 9068 | macros/latex/base/lppl-1-0.txt
+2020/10/09 | 90413 | macros/latex/base/fntguide.tex
+2020/10/09 | 9020 | macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
+2020/10/09 | 9008 | macros/latex/contrib/tcolorbox/tcbexternal.code.tex
+2020/10/09 | 900484 | systems/texlive/tlnet/archive/tex4ht.r56601.tar.xz
+2020/10/09 | 900409 | macros/latex/base/lthooks-code.pdf
+2020/10/09 | 89720 | macros/latex/base/slides.dtx
+2020/10/09 | 89386 | macros/latex/base/utf8ienc.dtx
+2020/10/09 | 8926 | macros/latex/contrib/tcolorbox/tcbraster.code.tex
+2020/10/09 | 891060 | macros/unicodetex/latex/polyglossia/polyglossia.dtx
+2020/10/09 | 88952 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma
+2020/10/09 | 8864 | macros/latex/base/ltnews17.tex
+2020/10/09 | 88411 | macros/latex/base/lttextcomp.dtx
+2020/10/09 | 88263 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2020/10/09 | 87902 | macros/latex/contrib/tcolorbox/tcolorbox.sty
+2020/10/09 | 8737 | macros/latex/base/ltthm.dtx
+2020/10/09 | 87373 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2020/10/09 | 8722 | macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex
+2020/10/09 | 8632 | macros/latex/base/oldlfont.dtx
+2020/10/09 | 8623 | macros/latex/contrib/jsclasses/jsverb.dtx
+2020/10/09 | 8586 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2020/10/09 | 858196 | macros/latex/contrib/jsclasses.zip
+2020/10/09 | 85316 | macros/latex/base/ltdefns.dtx
+2020/10/09 | 85273 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2020/10/09 | 85235 | macros/latex/contrib/tcolorbox/tcbskins.code.tex
+2020/10/09 | 8515 | macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
+2020/10/09 | 8493 | macros/latex/base/texpert.txt
+2020/10/09 | 848 | systems/win32/miktex/tm/packages/pr.ini
+2020/10/09 | 84890 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2020/10/09 | 84261 | language/japanese/BX/bxjscls/bxjscls-manual.tex
+2020/10/09 | 8354 | macros/latex/contrib/tcolorbox/tcolorbox-example.tex
+2020/10/09 | 83100 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2020/10/09 | 8118 | macros/latex/contrib/tcolorbox/tcbhooks.code.tex
+2020/10/09 | 8100 | macros/latex/base/ltnews.tex
+2020/10/09 | 79718 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
+2020/10/09 | 79532 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2020/10/09 | 7928 | macros/latex/contrib/tcolorbox/tcolorbox.doc.graphics.tex
+2020/10/09 | 79110 | macros/latex/base/ltfssbas.dtx
+2020/10/09 | 78490 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2020/10/09 | 77663 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2020/10/09 | 77333 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2020/10/09 | 77291 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2020/10/09 | 76943 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2020/10/09 | 76829 | macros/latex/contrib/tcolorbox/goldshade.png
+2020/10/09 | 76779 | macros/latex/contrib/jsclasses/jslogo.pdf
+2020/10/09 | 7566 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2020/10/09 | 75649 | macros/latex/contrib/jsclasses/jsverb.pdf
+2020/10/09 | 7526 | macros/latex/base/ltxguide.cls
+2020/10/09 | 749397 | macros/latex/base/ltshipout-code.pdf
+2020/10/09 | 741 | macros/latex/required/firstaid/changes.txt
+2020/10/09 | 74092 | macros/latex/base/ltfssini.dtx
+2020/10/09 | 73662 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2020/10/09 | 735762 | macros/latex/base/ltfilehook-code.pdf
+2020/10/09 | 73434 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2020/10/09 | 7326 | macros/latex/base/ltnews20.tex
+2020/10/09 | 728226 | install/macros/latex/contrib/zref.tds.zip
+2020/10/09 | 72706 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2020/10/09 | 7256 | systems/texlive/tlnet/archive/auto-pst-pdf.source.r56596.tar.xz
+2020/10/09 | 72541 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2020/10/09 | 7222 | macros/latex/base/exscale.dtx
+2020/10/09 | 7200 | macros/latex/base/sample2e.tex
+2020/10/09 | 71992 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2020/10/09 | 7174046 | macros/latex/contrib/tcolorbox/tcolorbox.pdf
+2020/10/09 | 71604 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/10/09 | 70049 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2020/10/09 | 70048 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2020/10/09 | 69644 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2020/10/09 | 69051 | macros/latex/base/clsguide.tex
+2020/10/09 | 690321 | macros/latex/contrib/zref.zip
+2020/10/09 | 68914 | macros/latex/base/ltpictur.dtx
+2020/10/09 | 68900 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2020/10/09 | 6872 | macros/latex/base/ltnews13.tex
+2020/10/09 | 68428 | macros/latex/base/usrguide.tex
+2020/10/09 | 677752 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2020/10/09 | 6764 | macros/latex/base/slides.ins
+2020/10/09 | 67474 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2020/10/09 | 67441 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2020/10/09 | 674089 | macros/latex/contrib/zref/zref.pdf
+2020/10/09 | 67333 | macros/latex/base/ltfsstrc.dtx
+2020/10/09 | 6715 | macros/latex/base/latexsym.dtx
+2020/10/09 | 6691 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_snippet.sty
+2020/10/09 | 6654 | macros/latex/base/alltt.dtx
+2020/10/09 | 65942 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2020/10/09 | 65822 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2020/10/09 | 65787 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2020/10/09 | 64601 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2020/10/09 | 64482 | macros/latex/base/ltluatex.dtx
+2020/10/09 | 6424 | macros/latex/contrib/tcolorbox/tcolorbox.doc.beamer.tex
+2020/10/09 | 638783 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2020/10/09 | 6386 | macros/latex/contrib/tcolorbox/tcolorbox.doc.recording.tex
+2020/10/09 | 6367 | macros/latex/base/source2edoc.cls
+2020/10/09 | 6363 | macros/latex/base/newlfont.dtx
+2020/10/09 | 63563 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2020/10/09 | 63500 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2020/10/09 | 63497 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2020/10/09 | 63337 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2020/10/09 | 63224 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/10/09 | 630928 | macros/latex/base/doc.pdf
+2020/10/09 | 6296 | systems/texlive/tlnet/archive/babel-russian.r56597.tar.xz
+2020/10/09 | 62882 | macros/latex/contrib/tcolorbox/blueshade.png
+2020/10/09 | 6274 | macros/latex/base/ltnews14.tex
+2020/10/09 | 62436 | macros/latex/base/letter.dtx
+2020/10/09 | 623362 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2020/10/09 | 619426 | macros/latex/base/lthooks-doc.pdf
+2020/10/09 | 61941 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2020/10/09 | 619213 | systems/win32/miktex/tm/packages/showexpl.tar.lzma
+2020/10/09 | 6165739 | macros/latex/contrib/tcolorbox.zip
+2020/10/09 | 6135973 | install/macros/latex/contrib/tcolorbox.tds.zip
+2020/10/09 | 61221 | macros/latex/base/ltfssdcl.dtx
+2020/10/09 | 6102 | macros/latex/contrib/tcolorbox/tcolorbox.doc.bib
+2020/10/09 | 6087 | macros/latex/contrib/jsclasses/okuverb.dtx
+2020/10/09 | 60816 | macros/latex/base/ltshipout.dtx
+2020/10/09 | 604732 | systems/texlive/tlnet/archive/showexpl.doc.r56600.tar.xz
+2020/10/09 | 60334 | macros/latex/base/fontdef.dtx
+2020/10/09 | 59902 | macros/latex/contrib/jsclasses/okuverb.pdf
+2020/10/09 | 5989 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
+2020/10/09 | 598028 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2020/10/09 | 59403 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2020/10/09 | 59050 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2020/10/09 | 5891 | language/japanese/BX/bxjscls/README.md
+2020/10/09 | 5865 | macros/latex/base/ltidxglo.dtx
+2020/10/09 | 58631 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2020/10/09 | 5854 | macros/latex/base/ltpar.dtx
+2020/10/09 | 584464 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/10/09 | 5840 | macros/latex/base/ltnews15.tex
+2020/10/09 | 581 | macros/latex/contrib/zref/README.md
+2020/10/09 | 5777 | macros/latex/base/ltnews16.tex
+2020/10/09 | 57605 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2020/10/09 | 57583 | macros/latex/base/ltmiscen.dtx
+2020/10/09 | 57435 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2020/10/09 | 5716 | macros/latex/base/inputenc.ins
+2020/10/09 | 57160 | macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex
+2020/10/09 | 57070 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2020/10/09 | 5696 | macros/latex/base/ltnews08.tex
+2020/10/09 | 567610 | macros/latex/contrib/babel-contrib/french.zip
+2020/10/09 | 5660 | macros/latex/base/ltnews10.tex
+2020/10/09 | 56362 | macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex
+2020/10/09 | 5630 | macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
+2020/10/09 | 562030 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2020/10/09 | 561 | macros/latex/contrib/jsclasses/jsclasses.ins
+2020/10/09 | 5609 | macros/latex/base/ltnews05.tex
+2020/10/09 | 56026 | macros/latex/contrib/tcolorbox/CHANGES
+2020/10/09 | 5600 | macros/latex/base/latexrelease.ins
+2020/10/09 | 5577 | macros/latex/contrib/tcolorbox/tcolorbox.doc.quickref.tex
+2020/10/09 | 5530 | macros/latex/base/ltnews11.tex
+2020/10/09 | 5515 | macros/latex/base/graphpap.dtx
+2020/10/09 | 551348 | systems/win32/miktex/tm/packages/files.csv.lzma
+2020/10/09 | 551150 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2020/10/09 | 5507 | macros/latex/base/ltnews27.tex
+2020/10/09 | 5507 | macros/latex/base/ltnews04.tex
+2020/10/09 | 550263 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2020/10/09 | 5500143 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2020/10/09 | 54981 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/10/09 | 5474 | macros/latex/base/ltnews25.tex
+2020/10/09 | 54543 | macros/latex/base/ltfilehook.dtx
+2020/10/09 | 5446574 | fonts/libertinus-fonts.zip
+2020/10/09 | 543567 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2020/10/09 | 5426 | macros/latex/base/ltnews07.tex
+2020/10/09 | 5418 | macros/latex/base/ltnews12.tex
+2020/10/09 | 5404 | macros/latex/contrib/tcolorbox/tcolorbox.doc.abstract.tex
+2020/10/09 | 5391 | macros/latex/base/ltnews06.tex
+2020/10/09 | 5294 | macros/latex/base/ltnews09.tex
+2020/10/09 | 5284 | macros/latex/base/ltnews02.tex
+2020/10/09 | 52814 | macros/latex/base/encguide.tex
+2020/10/09 | 5277 | macros/latex/contrib/tcolorbox/README
+2020/10/09 | 5275 | macros/latex/base/cmextra.ins
+2020/10/09 | 526506 | systems/win32/miktex/tm/packages/babel-russian.tar.lzma
+2020/10/09 | 52648 | macros/latex/base/ltfiles.dtx
+2020/10/09 | 52532 | macros/latex/base/lb2.err
+2020/10/09 | 5239 | macros/latex/base/ltnews01.tex
+2020/10/09 | 52220 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2020/10/09 | 52115 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2020/10/09 | 520923 | macros/latex/base/ltnews32.pdf
+2020/10/09 | 520851 | macros/latex/base/classes.pdf
+2020/10/09 | 5201 | macros/latex/base/ltnews03.tex
+2020/10/09 | 516631 | macros/latex/base/ltfilehook-doc.pdf
+2020/10/09 | 51528 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2020/10/09 | 51489 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2020/10/09 | 51314 | macros/latex/base/ltfloat.dtx
+2020/10/09 | 51100 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2020/10/09 | 50928 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2020/10/09 | 5044 | macros/latex/base/latexsym.ins
+2020/10/09 | 504421 | macros/latex/contrib/xmuthesis.zip
+2020/10/09 | 503916 | macros/latex/base/ltshipout-doc.pdf
+2020/10/09 | 503116 | install/macros/latex/contrib/kvoptions.tds.zip
+2020/10/09 | 500919 | macros/latex/base/ltnews31.pdf
+2020/10/09 | 500191 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2020/10/09 | 49967 | macros/latex/base/ltfssaxes.dtx
+2020/10/09 | 49707 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2020/10/09 | 496192 | systems/texlive/tlnet/archive/babel-russian.doc.r56597.tar.xz
+2020/10/09 | 4952 | macros/latex/base/lthyphen.dtx
+2020/10/09 | 491246 | macros/latex/base/ltnews30.pdf
+2020/10/09 | 491053 | macros/latex/contrib/kvoptions.zip
+2020/10/09 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2020/10/09 | 48645 | macros/latex/base/ltplain.dtx
+2020/10/09 | 480927 | macros/latex/contrib/kvoptions/kvoptions.pdf
+2020/10/09 | 48087 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/10/09 | 479545 | macros/latex/base/docstrip.pdf
+2020/10/09 | 477944 | macros/unicodetex/latex/polyglossia.zip
+2020/10/09 | 47704 | macros/latex/base/lttab.dtx
+2020/10/09 | 4762 | macros/latex/base/ltlength.dtx
+2020/10/09 | 474 | macros/latex/required/firstaid/README.md
+2020/10/09 | 46354 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2020/10/09 | 461564 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2020/10/09 | 460771 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2020/10/09 | 45805 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/10/09 | 457359 | macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
+2020/10/09 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2020/10/09 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2020/10/09 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2020/10/09 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2020/10/09 | 45295 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2020/10/09 | 45246 | macros/latex/base/ltspace.dtx
+2020/10/09 | 44897 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2020/10/09 | 442139 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
+2020/10/09 | 44097 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
+2020/10/09 | 4392 | macros/latex/base/ec.ins
+2020/10/09 | 43637 | macros/latex/base/cmfonts.fdd
+2020/10/09 | 4347415 | macros/latex/base/source2e.pdf
+2020/10/09 | 433004 | macros/latex/base/ltnews29.pdf
+2020/10/09 | 43282 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2020/10/09 | 4326 | macros/latex/base/cmfonts.ins
+2020/10/09 | 43081 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/10/09 | 4304 | macros/latex/base/ltalloc.dtx
+2020/10/09 | 42708 | macros/latex/base/changes.old.txt
+2020/10/09 | 426423 | macros/latex/contrib/xmuthesis/xmuthesis.pdf
+2020/10/09 | 42635 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2020/10/09 | 4256 | macros/latex/base/newdc.ins
+2020/10/09 | 4223 | macros/latex/base/docstrip.ins
+2020/10/09 | 4221 | macros/latex/base/latex209.ins
+2020/10/09 | 42112 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2020/10/09 | 417861 | macros/latex/base/fntguide.pdf
+2020/10/09 | 4171 | macros/latex/base/ltnews19.tex
+2020/10/09 | 41587 | macros/latex/base/ltboxes.dtx
+2020/10/09 | 4132 | systems/texlive/tlnet/archive/showexpl.r56600.tar.xz
+2020/10/09 | 412399 | macros/latex/contrib/jsclasses/jsclasses.pdf
+2020/10/09 | 4089 | macros/latex/base/classes.ins
+2020/10/09 | 40877 | macros/latex/base/ltfinal.dtx
+2020/10/09 | 40864 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2020/10/09 | 4080 | macros/latex/base/lablst.tex
+2020/10/09 | 40423 | macros/latex/contrib/jsclasses/okumacro.dtx
+2020/10/09 | 399035 | macros/latex/base/usrguide.pdf
+2020/10/09 | 396662 | language/japanese/BX/bxjscls/bxjscls.dtx
+2020/10/09 | 3962 | macros/latex/base/olddc.ins
+2020/10/09 | 39375 | macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
+2020/10/09 | 39364 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2020/10/09 | 39353 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2020/10/09 | 392241 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2020/10/09 | 38948 | macros/latex/base/ltmath.dtx
+2020/10/09 | 38735 | macros/latex/base/latex209.dtx
+2020/10/09 | 38690 | macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex
+2020/10/09 | 3813 | fonts/plimsoll/plimsoll.tex
+2020/10/09 | 37980 | macros/latex/base/latexchanges.tex
+2020/10/09 | 3783 | macros/latex/base/tulm.ins
+2020/10/09 | 374709 | language/japanese/BX/bxjscls/bxjscls-manual.pdf
+2020/10/09 | 3731 | macros/latex/base/ltlogos.dtx
+2020/10/09 | 372555 | macros/latex/base/clsguide.pdf
+2020/10/09 | 36940 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2020/10/09 | 36911 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2020/10/09 | 368226 | macros/latex/base/ltnews28.pdf
+2020/10/09 | 36299 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2020/10/09 | 362839 | macros/latex/base/ltnews26.pdf
+2020/10/09 | 3624 | systems/texlive/tlnet/archive/paresse.r56598.tar.xz
+2020/10/09 | 36154 | macros/latex/base/ltlists.dtx
+2020/10/09 | 360825 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2020/10/09 | 36005 | macros/latex/base/ltnews18.pdf
+2020/10/09 | 359032 | macros/latex/base/changes.txt
+2020/10/09 | 35224 | macros/latex/contrib/tcolorbox/lichtspiel.jpg
+2020/10/09 | 35221 | macros/latex/base/ltdirchk.dtx
+2020/10/09 | 35167 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2020/10/09 | 351586 | macros/latex/base/slides.pdf
+2020/10/09 | 3514 | macros/latex/base/README.md
+2020/10/09 | 35078 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2020/10/09 | 34787 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2020/10/09 | 3448 | macros/latex/contrib/tcolorbox/tcolorbox.doc.verbatim.tex
+2020/10/09 | 3436 | macros/latex/base/makeindx.ins
+2020/10/09 | 341 | macros/latex/contrib/kvoptions/README.md
+2020/10/09 | 3412 | macros/latex/contrib/tcolorbox/tcblistings.code.tex
+2020/10/09 | 34121 | macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
+2020/10/09 | 3403 | macros/latex/base/proc.ins
+2020/10/09 | 3374 | macros/latex/base/letter.ins
+2020/10/09 | 3369 | macros/latex/base/ltoutenc.ins
+2020/10/09 | 3340 | macros/latex/base/exscale.ins
+2020/10/09 | 33256 | macros/latex/base/ltnews32.tex
+2020/10/09 | 33106 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2020/10/09 | 330675 | macros/latex/base/utf8ienc.pdf
+2020/10/09 | 329645 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2020/10/09 | 3294 | macros/latex/base/bugs.txt
+2020/10/09 | 32893 | macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex
+2020/10/09 | 328108 | macros/latex/contrib/babel-contrib/french/frenchb.pdf
+2020/10/09 | 32647 | macros/latex/base/ltsect.dtx
+2020/10/09 | 326405 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/10/09 | 32417 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2020/10/09 | 32400 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2020/10/09 | 3234 | macros/latex/contrib/tcolorbox/tcolorbox.tex
+2020/10/09 | 32164 | macros/latex/base/latexrelease.dtx
+2020/10/09 | 3182 | macros/latex/base/unpack.ins
+2020/10/09 | 31232 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2020/10/09 | 31227 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2020/10/09 | 31202 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2020/10/09 | 311222 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2020/10/09 | 30897 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2020/10/09 | 30867 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2020/10/09 | 305701 | macros/latex/base/letter.pdf
+2020/10/09 | 305381 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2020/10/09 | 305339 | macros/latex/base/ltluatex.pdf
+2020/10/09 | 30457 | macros/latex/base/ltnews31.tex
+2020/10/09 | 3029 | macros/latex/contrib/babel-contrib/french/frenchb.ins
+2020/10/09 | 302836 | macros/latex/base/ltnews22.pdf
+2020/10/09 | 29849 | macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex
+2020/10/09 | 29714 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/10/09 | 294900 | macros/latex/base/inputenc.pdf
+2020/10/09 | 29392 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2020/10/09 | 29194 | macros/latex/base/ltfntcmd.dtx
+2020/10/09 | 29038 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2020/10/09 | 28998 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2020/10/09 | 2898 | macros/latex/base/syntonly.ins
+2020/10/09 | 2895 | macros/latex/base/nfssfont.ins
+2020/10/09 | 2894 | macros/latex/base/graphpap.ins
+2020/10/09 | 2894 | macros/latex/base/fix-cm.ins
+2020/10/09 | 2892 | macros/latex/base/alltt.ins
+2020/10/09 | 2890 | macros/latex/base/ifthen.ins
+2020/10/09 | 28641 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/10/09 | 28336066 | install/macros/latex/latex-base.tds.zip
+2020/10/09 | 283318 | macros/latex/base/ltnews20.pdf
+2020/10/09 | 281677 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2020/10/09 | 2811 | macros/latex/contrib/jsclasses/Makefile
+2020/10/09 | 279951 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2020/10/09 | 27973 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2020/10/09 | 279264 | macros/unicodetex/latex/polyglossia/polyglossia.pdf
+2020/10/09 | 27885276 | macros/latex/base.zip
+2020/10/09 | 27736 | macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
+2020/10/09 | 274459 | macros/latex/base/ltnews23.pdf
+2020/10/09 | 2738 | macros/latex/base/tex2.txt
+2020/10/09 | 273812 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
+2020/10/09 | 273679 | systems/win32/miktex/tm/packages/ghostscript.tar.lzma
+2020/10/09 | 273420 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2020/10/09 | 2733 | macros/latex/base/ltpageno.dtx
+2020/10/09 | 27222 | macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex
+2020/10/09 | 27124 | macros/latex/base/ltxcheck.tex
+2020/10/09 | 27109 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2020/10/09 | 27084 | macros/latex/contrib/tcolorbox/tcolorbox.doc.xparse.tex
+2020/10/09 | 2706 | macros/latex/base/idx.tex
+2020/10/09 | 27032 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2020/10/09 | 269705 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2020/10/09 | 26848 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/10/09 | 2670 | macros/latex/contrib/tcolorbox/tcbminted.code.tex
+2020/10/09 | 26638 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2020/10/09 | 2656856 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2020/10/09 | 264505 | macros/latex/base/cmfonts.pdf
+2020/10/09 | 2636 | systems/texlive/tlnet/archive/auto-pst-pdf.r56596.tar.xz
+2020/10/09 | 262059 | macros/latex/base/fix-cm.pdf
+2020/10/09 | 2619 | macros/latex/required/firstaid/firstaid.ins
+2020/10/09 | 25816 | macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex
+2020/10/09 | 2564 | macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
+2020/10/09 | 25557 | macros/latex/contrib/tcolorbox/tcolorbox.doc.poster.tex
+2020/10/09 | 25491 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2020/10/09 | 2533841 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/10/09 | 252645 | macros/latex/base/ltnews24.pdf
+2020/10/09 | 250302 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2020/10/09 | 246837 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2020/10/09 | 246195 | macros/latex/base/latexrelease.pdf
+2020/10/09 | 24549 | macros/latex/contrib/tcolorbox/tcolorbox.doc.hooks.tex
+2020/10/09 | 243078 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2020/10/09 | 24270043 | systems/texlive/tlnet/install-tl.zip
+2020/10/09 | 24240 | systems/texlive/tlnet/archive/babel-russian.source.r56597.tar.xz
+2020/10/09 | 240 | macros/latex/contrib/jsclasses/okumacro.ins
+2020/10/09 | 24016 | macros/latex/base/lterror.dtx
+2020/10/09 | 239792 | macros/latex/contrib/babel-contrib/french/frenchb.dtx
+2020/10/09 | 239758 | macros/latex/base/ltnews27.pdf
+2020/10/09 | 236 | macros/latex/contrib/jsclasses/okuverb.ins
+2020/10/09 | 23652 | macros/latex/base/ltnews30.tex
+2020/10/09 | 23573 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/10/09 | 23521 | macros/latex/base/fix-cm.dtx
+2020/10/09 | 235073 | macros/latex/base/ltnews19.pdf
+2020/10/09 | 233 | macros/latex/contrib/jsclasses/jslogo.ins
+2020/10/09 | 23386 | macros/latex/base/lppl.tex
+2020/10/09 | 233492 | macros/latex/base/ltnews21.pdf
+2020/10/09 | 232 | macros/latex/contrib/jsclasses/jsverb.ins
+2020/10/09 | 232390 | macros/latex/base/latexchanges.pdf
+2020/10/09 | 230090 | fonts/plimsoll.zip
+2020/10/09 | 22988 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2020/10/09 | 22676 | macros/latex/base/ltcounts.dtx
+2020/10/09 | 22457 | macros/latex/base/cfgguide.tex
+2020/10/09 | 224179 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2020/10/09 | 22407 | macros/latex/contrib/tcolorbox/Basilica_5.png
+2020/10/09 | 2235464 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2020/10/09 | 221257 | systems/win32/miktex/tm/packages/auto-pst-pdf.tar.lzma
+2020/10/09 | 220388 | macros/latex/base/modguide.pdf
+2020/10/09 | 220217 | macros/latex/base/cfgguide.pdf
+2020/10/09 | 2183 | macros/latex/contrib/xmuthesis/README.md
+2020/10/09 | 216997 | macros/latex/base/cyrguide.pdf
+2020/10/09 | 216877 | macros/latex/base/proc.pdf
+2020/10/09 | 21663 | macros/latex/contrib/tcolorbox/crinklepaper.png
+2020/10/09 | 216218 | install/macros/latex/required/latex-firstaid.tds.zip
+2020/10/09 | 215102 | macros/latex/base/ltxdoc.pdf
+2020/10/09 | 214710 | macros/latex/base/slifonts.pdf
+2020/10/09 | 212780 | macros/latex/required/firstaid.zip
+2020/10/09 | 211883 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2020/10/09 | 211044 | systems/texlive/tlnet/archive/auto-pst-pdf.doc.r56596.tar.xz
+2020/10/09 | 209836 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2020/10/09 | 208937 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
+2020/10/09 | 20842 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2020/10/09 | 207394 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/10/09 | 206491 | fonts/plimsoll/plimsoll.pdf
+2020/10/09 | 205213 | macros/latex/base/ifthen.pdf
+2020/10/09 | 20471 | macros/latex/base/ltnews.cls
+2020/10/09 | 20434 | macros/latex/base/lgc2.err
+2020/10/09 | 204252 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2020/10/09 | 204016 | macros/latex/base/doc.dtx
+2020/10/09 | 203615 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2020/10/09 | 203581 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2020/10/09 | 2029210 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/10/09 | 20274 | macros/latex/contrib/tcolorbox/tcolorbox.doc.magazine.tex
+2020/10/09 | 202451 | macros/latex/base/nfssfont.pdf
+2020/10/09 | 20201 | macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex
+2020/10/09 | 200818 | macros/latex/contrib/xmuthesis/xmuthesis.dtx
+2020/10/09 | 19986 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/10/09 | 19952 | macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex
+2020/10/09 | 197341 | macros/latex/contrib/jsclasses/jsclasses.dtx
+2020/10/09 | 196620 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2020/10/09 | 196326 | macros/latex/base/ltnews25.pdf
+2020/10/09 | 195877 | macros/latex/base/exscale.pdf
+2020/10/09 | 195694 | macros/latex/contrib/zref/zref.dtx
+2020/10/09 | 1942 | macros/unicodetex/latex/polyglossia/README.md
+2020/10/09 | 1938 | macros/latex/base/minimal.cls
+2020/10/09 | 19382891 | systems/texlive/tlnet/install-tl-windows.exe
+2020/10/09 | 193813 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2020/10/09 | 192828 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2020/10/09 | 192520 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2020/10/09 | 192297 | macros/latex/base/latexsym.pdf
+2020/10/09 | 191527 | macros/latex/base/ltx3info.pdf
+2020/10/09 | 19106 | macros/latex/contrib/xmuthesis/LICENSE
+2020/10/09 | 19064 | macros/latex/base/ltxdoc.dtx
+2020/10/09 | 19040 | macros/latex/base/lppl.txt
+2020/10/09 | 190106 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2020/10/09 | 18941 | macros/latex/base/ltnews29.tex
+2020/10/09 | 187679 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/10/09 | 184477 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2020/10/09 | 18407 | macros/latex/base/nfssfont.dtx
+2020/10/09 | 18305 | macros/latex/base/ifthen.dtx
+2020/10/09 | 18300 | macros/latex/base/ltx3info.tex
+2020/10/09 | 181388 | macros/latex/base/syntonly.pdf
+2020/10/09 | 180 | macros/latex/base/ltfilehook-doc.tex
+2020/10/09 | 180782 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/10/09 | 179 | macros/latex/base/ltshipout-doc.tex
+2020/10/09 | 177 | macros/latex/base/lthooks-doc.tex
+2020/10/09 | 17763 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2020/10/09 | 177459 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2020/10/09 | 17630 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2020/10/09 | 1757874 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/10/09 | 175629 | macros/latex/base/ltoutput.dtx
+2020/10/09 | 175422 | macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex
+2020/10/09 | 17496 | macros/latex/base/cyrguide.tex
+2020/10/09 | 173352 | macros/latex/contrib/jsclasses/okumacro.pdf
+2020/10/09 | 173079 | macros/latex/base/alltt.pdf
+2020/10/09 | 172216 | macros/latex/base/tlc2.err
+2020/10/09 | 171293 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2020/10/09 | 170214 | macros/latex/base/docstrip.dtx
+2020/10/09 | 169703 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/10/09 | 1694 | macros/latex/base/small2e.tex
+2020/10/09 | 169051 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex
+2020/10/09 | 16622764 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2020/10/09 | 165449 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2020/10/09 | 1653552 | language/japanese/BX/bxjscls.zip
+2020/10/09 | 164947 | macros/latex/base/tlc2.pdf
+2020/10/09 | 16234 | macros/latex/base/modguide.tex
+2020/10/09 | 161065 | macros/latex/base/ltnews13.pdf
+2020/10/09 | 16067 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2020/10/09 | 160667 | macros/latex/base/makeindx.pdf
+2020/10/09 | 16005 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2020/10/09 | 159938 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/10/09 | 1591 | macros/latex/contrib/babel-contrib/french/README.md
+2020/10/09 | 157181 | macros/latex/base/ltnews05.pdf
+2020/10/09 | 15701 | macros/latex/base/slifonts.fdd
+2020/10/09 | 156546 | macros/latex/base/tulm.pdf
+2020/10/09 | 156277 | macros/latex/base/graphpap.pdf
+2020/10/09 | 15623 | macros/latex/base/ltxref.dtx
+2020/10/09 | 155735 | macros/latex/base/classes.dtx
+2020/10/09 | 154799 | macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
+2020/10/09 | 154548 | systems/texlive/tlnet/archive/hyperxmp.source.r56599.tar.xz
+2020/10/09 | 154192 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2020/10/09 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2020/10/09 | 1532144 | macros/latex/base/encguide.pdf
+2020/10/09 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2020/10/09 | 15275 | language/japanese/BX/bxjscls/README-ja.md
+2020/10/09 | 152023 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2020/10/09 | 151817 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2020/10/09 | 15166 | macros/latex/contrib/tcolorbox/pink_marble.png
+2020/10/09 | 151347 | macros/latex/base/manual.pdf
+2020/10/09 | 150907 | macros/latex/base/ltnews14.pdf
+2020/10/09 | 150020 | macros/latex/base/ltnews01.pdf
+2020/10/09 | 149838 | macros/latex/base/ltnews17.pdf
+2020/10/09 | 149836 | macros/latex/base/lthooks.dtx
+2020/10/09 | 14918 | macros/latex/base/source2e.tex
+2020/10/09 | 148 | macros/latex/contrib/tcolorbox/tcolorbox.doc.references.tex
+2020/10/09 | 14892 | macros/latex/base/ltnews28.tex
+2020/10/09 | 147946 | macros/latex/base/ltnews10.pdf
+2020/10/09 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2020/10/09 | 14533 | macros/latex/contrib/tcolorbox/tcbfitting.code.tex
+2020/10/09 | 145163 | macros/latex/base/ltoutenc.dtx
+2020/10/09 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2020/10/09 | 144482 | macros/latex/base/ltnews08.pdf
+2020/10/09 | 14440 | macros/latex/base/ltbibl.dtx
+2020/10/09 | 14421 | macros/latex/base/lppl-1-2.txt
+2020/10/09 | 14415 | macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex
+2020/10/09 | 14341 | macros/latex/base/lppl-1-1.txt
+2020/10/09 | 1432 | macros/latex/contrib/jsclasses/README.md
+2020/10/09 | 141530 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2020/10/09 | 1412 | macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
+2020/10/09 | 14125 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2020/10/09 | 1397692 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/10/09 | 13952 | systems/texlive/tlnet/archive/paresse.source.r56598.tar.xz
+2020/10/09 | 1392 | macros/latex/contrib/jsclasses/LICENSE
+2020/10/09 | 13911 | macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
+2020/10/09 | 138219 | macros/latex/base/lb2.pdf
+2020/10/09 | 1381 | macros/latex/base/legal.txt
+2020/10/09 | 137919 | macros/latex/base/ltnews12.pdf
+2020/10/09 | 1374 | fonts/plimsoll/plimsoll.sty
+2020/10/09 | 136160 | systems/texlive/tlnet/archive/tex4ht.doc.r56601.tar.xz
+2020/10/09 | 136159 | macros/latex/base/webcomp.pdf
+2020/10/09 | 13613 | macros/latex/contrib/tcolorbox/tcolorbox.doc.sidebyside.tex
+2020/10/09 | 134751 | macros/latex/base/ltnews02.pdf
+2020/10/09 | 134742 | macros/latex/base/ltnews03.pdf
+2020/10/09 | 1342 | macros/latex/base/ltnews18.tex
+2020/10/09 | 133511 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2020/10/09 | 133138 | macros/latex/base/ltnews06.pdf
+2020/10/09 | 13305 | macros/latex/base/proc.dtx
+2020/10/09 | 1330154 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2020/10/09 | 1318312 | systems/win32/miktex/tm/packages/paresse.tar.lzma
+2020/10/09 | 13122 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2020/10/09 | 1308800 | systems/texlive/tlnet/archive/paresse.doc.r56598.tar.xz
+2020/10/09 | 130687 | macros/latex/base/ltnews16.pdf
+2020/10/09 | 130417 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2020/10/09 | 1296666 | systems/win32/miktex/tm/packages/hyperxmp.tar.lzma
+2020/10/09 | 12946 | macros/latex/base/manual.err
+2020/10/09 | 128772 | macros/latex/base/ltnews04.pdf
+2020/10/09 | 12776 | systems/texlive/tlnet/archive/hyperxmp.r56599.tar.xz
+2020/10/09 | 12745 | macros/latex/contrib/tcolorbox/tcbvignette.code.tex
+2020/10/09 | 1264625 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2020/10/09 | 125830 | macros/latex/base/lppl.pdf
+2020/10/09 | 12521 | macros/latex/base/testpage.tex
+2020/10/09 | 12451 | macros/latex/contrib/tcolorbox/tcbposter.code.tex
+2020/10/09 | 124029 | macros/latex/base/ltnews07.pdf
+2020/10/09 | 1226250 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2020/10/09 | 1225718 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2020/10/09 | 12225 | macros/latex/base/ltnews24.tex
+2020/10/09 | 122092 | macros/latex/base/ltnews15.pdf
+2020/10/09 | 121899 | macros/latex/base/ltclass.dtx
+2020/10/09 | 12120 | macros/latex/base/tulm.fdd
+2020/10/09 | 120222 | macros/latex/base/ltnews09.pdf
+2020/10/09 | 1196951 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2020/10/09 | 1177 | fonts/plimsoll/README
+2020/10/09 | 117067 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2020/10/09 | 1168525 | language/japanese/BX/bxjscls/bxjscls.pdf
+2020/10/09 | 11637 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty
+2020/10/09 | 116096 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2020/10/09 | 11591 | macros/latex/base/ltpage.dtx
+2020/10/09 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2020/10/09 | 1144901 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2020/10/09 | 1144212 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2020/10/09 | 113860 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2020/10/09 | 1131080 | systems/texlive/tlnet/archive/hyperxmp.doc.r56599.tar.xz
+2020/10/09 | 11305 | macros/latex/contrib/jsclasses/jslogo.dtx
+2020/10/09 | 112 | macros/latex/contrib/tcolorbox/tcolorbox.doc.index.tex
+2020/10/09 | 11239 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
+2020/10/09 | 1106 | macros/latex/contrib/tcolorbox/tcolorbox.doc.picturecredits.tex
+2020/10/09 | 109883 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2020/10/09 | 109022 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2020/10/09 | 10698 | macros/latex/base/ltnews26.tex
+2020/10/09 | 106914 | macros/latex/base/inputenc.dtx
+2020/10/09 | 10690 | macros/latex/base/manifest.txt
+2020/10/09 | 10688 | macros/latex/base/ltnews23.tex
+2020/10/09 | 10669 | macros/latex/base/ltnews22.tex
+2020/10/09 | 10606 | macros/latex/base/makeindx.dtx
+2020/10/09 | 105 | macros/latex/base/ltfilehook-code.tex
+2020/10/09 | 1058655 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/10/09 | 104 | macros/latex/base/ltshipout-code.tex
+2020/10/09 | 104936 | macros/latex/base/ltnews11.pdf
+2020/10/09 | 104539 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2020/10/09 | 10376 | macros/latex/base/ltfsscmp.dtx
+2020/10/09 | 10327 | macros/latex/base/ltvers.dtx
+2020/10/09 | 102 | macros/latex/base/lthooks-code.tex
+2020/10/09 | 10266 | macros/latex/contrib/tcolorbox/tcbxparse.code.tex
+2020/10/09 | 102662 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2020/10/09 | 1022334 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2020/10/09 | 1017227 | install/macros/unicodetex/latex/polyglossia.tds.zip
+2020/10/09 | 101719 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2020/10/09 | 101343 | macros/latex/base/lgc2.pdf
+2020/10/09 | 100966 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2020/10/09 | 10053 | macros/latex/base/webcomp.err
+2020/10/09 | 10045 | macros/latex/base/ltexpl.dtx
+2020/10/08 | 91660 | fonts/libertinus-fonts/documentation/Opentype-Features.pdf
+2020/10/08 | 878 | fonts/libertinus-fonts/CONTRIBUTORS.txt
+2020/10/08 | 84284 | fonts/libertinus-fonts/otf/LibertinusSerifInitials-Regular.otf
+2020/10/08 | 8372256 | systems/win32/w32tex/uptex-w32.tar.xz
2020/10/08 | 83300 | systems/texlive/tlnet/archive/luatexja.source.r56594.tar.xz
-2020/10/08 | 83100 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
2020/10/08 | 83048 | systems/texlive/tlnet/archive/fontspec.source.r56594.tar.xz
2020/10/08 | 8064 | systems/texlive/tlnet/archive/docutils.doc.r56594.tar.xz
2020/10/08 | 801052 | systems/texlive/tlnet/archive/babel.doc.r56581.tar.xz
2020/10/08 | 79740 | systems/texlive/tlnet/archive/revtex4-1.source.r56590.tar.xz
-2020/10/08 | 79716 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma
2020/10/08 | 7959538 | systems/texlive/tlnet/update-tlmgr-r56587.sh
-2020/10/08 | 79530 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2020/10/08 | 78485 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
2020/10/08 | 77679 | macros/latex/contrib/hyperxmp/einstein2.pdf
-2020/10/08 | 77661 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2020/10/08 | 77331 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2020/10/08 | 77288 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2020/10/08 | 76939 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
2020/10/08 | 758 | macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.ins
-2020/10/08 | 7564 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2020/10/08 | 73661 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2020/10/08 | 73431 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2020/10/08 | 72703 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2020/10/08 | 72538 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2020/10/08 | 71990 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2020/10/08 | 71603 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2020/10/08 | 732 | fonts/libertinus-fonts/AUTHORS.txt
+2020/10/08 | 721454 | systems/win32/w32tex/ChangeLog
2020/10/08 | 70830 | macros/latex/contrib/hyperxmp/einstein1.pdf
-2020/10/08 | 70047 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2020/10/08 | 70046 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2020/10/08 | 69642 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
2020/10/08 | 69356 | systems/texlive/tlnet/archive/revtex.r56591.tar.xz
-2020/10/08 | 68901 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2020/10/08 | 677751 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2020/10/08 | 67470 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2020/10/08 | 67440 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
2020/10/08 | 671700 | systems/texlive/tlnet/archive/babel.source.r56581.tar.xz
-2020/10/08 | 65940 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2020/10/08 | 65820 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2020/10/08 | 65785 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2020/10/08 | 64601 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2020/10/08 | 638780 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2020/10/08 | 63558 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2020/10/08 | 63499 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2020/10/08 | 63495 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2020/10/08 | 63335 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2020/10/08 | 63221 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2020/10/08 | 6587956 | systems/win32/w32tex/ptex-ng-w32.tar.xz
2020/10/08 | 627557 | macros/latex/contrib/showexpl.zip
-2020/10/08 | 623360 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2020/10/08 | 61939 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2020/10/08 | 61308 | systems/texlive/tlnet/archive/revtex4-1.r56590.tar.xz
2020/10/08 | 6096 | systems/texlive/tlnet/archive/xltxtra.source.r56594.tar.xz
-2020/10/08 | 598023 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2020/10/08 | 59401 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2020/10/08 | 59048 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2020/10/08 | 58631 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2020/10/08 | 584463 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2020/10/08 | 59428 | fonts/libertinus-fonts/woff2/LibertinusSerifInitials-Regular.woff2
+2020/10/08 | 59028 | fonts/libertinus-fonts/otf/LibertinusMono-Regular.otf
2020/10/08 | 578 | macros/latex/contrib/auto-pst-pdf/example.tex
-2020/10/08 | 57603 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2020/10/08 | 57433 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2020/10/08 | 57069 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
2020/10/08 | 569048 | systems/texlive/tlnet/archive/polyglossia.doc.r56594.tar.xz
-2020/10/08 | 562028 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2020/10/08 | 552926 | systems/win32/miktex/tm/packages/files.csv.lzma
-2020/10/08 | 552893 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2020/10/08 | 550262 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2020/10/08 | 5500163 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2020/10/08 | 54981 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2020/10/08 | 5595 | fonts/libertinus-fonts/README.md
2020/10/08 | 547 | macros/latex/contrib/auto-pst-pdf/README.txt
-2020/10/08 | 543563 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2020/10/08 | 5428696 | systems/texlive/tlnet/archive/revtex4-1.doc.r56590.tar.xz
+2020/10/08 | 53928 | fonts/libertinus-fonts/otf/LibertinusKeyboard-Regular.otf
2020/10/08 | 528375 | macros/latex/contrib/babel-contrib/russian.zip
-2020/10/08 | 52219 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2020/10/08 | 52112 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2020/10/08 | 51526 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2020/10/08 | 51488 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
2020/10/08 | 513440 | systems/texlive/tlnet/archive/biblatex-swiss-legal.doc.r56594.tar.xz
+2020/10/08 | 512748 | fonts/libertinus-fonts/otf/LibertinusMath-Regular.otf
2020/10/08 | 511088 | systems/texlive/tlnet/archive/oup-authoring-template.doc.r56594.tar.xz
-2020/10/08 | 51099 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2020/10/08 | 50925 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2020/10/08 | 500188 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2020/10/08 | 49705 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2020/10/08 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2020/10/08 | 48085 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2020/10/08 | 510180 | fonts/libertinus-fonts/preview.svg
2020/10/08 | 47488 | systems/texlive/tlnet/archive/revtex4.r56589.tar.xz
-2020/10/08 | 46352 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2020/10/08 | 461558 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2020/10/08 | 460771 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2020/10/08 | 45803 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2020/10/08 | 46889056 | systems/win32/w32tex/latex-dev.tar.xz
2020/10/08 | 455 | systems/texlive/tlnet/update-tlmgr-r56587.sh.sha512.asc
2020/10/08 | 455 | systems/texlive/tlnet/update-tlmgr-r56587.exe.sha512.asc
-2020/10/08 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2020/10/08 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2020/10/08 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2020/10/08 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
-2020/10/08 | 45296 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2020/10/08 | 44893 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2020/10/08 | 4487388 | systems/texlive/tlnet/archive/revtex.doc.r56591.tar.xz
2020/10/08 | 4468 | systems/texlive/tlnet/archive/realscripts.source.r56594.tar.xz
2020/10/08 | 44636 | macros/latex/contrib/auto-pst-pdf/example.eps
-2020/10/08 | 43281 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2020/10/08 | 43081 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2020/10/08 | 4426 | fonts/libertinus-fonts/OFL.txt
2020/10/08 | 42816 | systems/texlive/tlnet/archive/unicode-math.r56594.tar.xz
-2020/10/08 | 42631 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2020/10/08 | 42113 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2020/10/08 | 417668 | systems/texlive/tlnet/archive/lwarp.source.r56584.tar.xz
2020/10/08 | 411066 | systems/win32/miktex/tm/packages/semantex.tar.lzma
-2020/10/08 | 40863 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
2020/10/08 | 40816 | systems/texlive/tlnet/archive/platex.r56582.tar.xz
+2020/10/08 | 40440 | fonts/libertinus-fonts/woff2/LibertinusMono-Regular.woff2
2020/10/08 | 3996699 | systems/texlive/tlnet/update-tlmgr-r56587.exe
2020/10/08 | 39880 | systems/texlive/tlnet/archive/tuda-ci.r56594.tar.xz
-2020/10/08 | 39363 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2020/10/08 | 39352 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2020/10/08 | 392239 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2020/10/08 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r56593.tar.xz
2020/10/08 | 387784 | systems/texlive/tlnet/archive/semantex.doc.r56585.tar.xz
2020/10/08 | 37860 | systems/texlive/tlnet/archive/unicode-math.source.r56594.tar.xz
2020/10/08 | 3748 | systems/texlive/tlnet/archive/fltpoint.r56594.tar.xz
-2020/10/08 | 36938 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2020/10/08 | 36910 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2020/10/08 | 36298 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2020/10/08 | 360821 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2020/10/08 | 35164 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2020/10/08 | 35264 | fonts/libertinus-fonts/woff2/LibertinusKeyboard-Regular.woff2
+2020/10/08 | 35149 | fonts/plimsoll/LICENSE
2020/10/08 | 350869 | macros/latex/contrib/showexpl/doc/showexpl-test.pdf
-2020/10/08 | 35076 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2020/10/08 | 34783 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
2020/10/08 | 3472010 | systems/win32/miktex/tm/packages/lwarp.tar.lzma
2020/10/08 | 3466 | macros/latex/contrib/hyperxmp/gglo-hyxmp.ist
2020/10/08 | 3442 | macros/latex/contrib/hyperxmp/gind-hyxmp.ist
-2020/10/08 | 33104 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2020/10/08 | 33927724 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/10/08 | 3309392 | systems/texlive/tlnet/archive/luatexja.doc.r56594.tar.xz
-2020/10/08 | 329642 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
2020/10/08 | 329260 | systems/texlive/tlnet/archive/dvipdfmx.win32.r56588.tar.xz
-2020/10/08 | 326402 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2020/10/08 | 3288 | fonts/plimsoll/plimsoll-sans.sfd
+2020/10/08 | 328808 | fonts/libertinus-fonts/otf/LibertinusSerif-SemiboldItalic.otf
+2020/10/08 | 327192 | fonts/libertinus-fonts/woff2/LibertinusMath-Regular.woff2
2020/10/08 | 3256 | systems/texlive/tlnet/archive/runcode.r56594.tar.xz
-2020/10/08 | 32415 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2020/10/08 | 32399 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2020/10/08 | 3200561 | systems/win32/miktex/tm/packages/animate.tar.lzma
+2020/10/08 | 317688 | fonts/libertinus-fonts/otf/LibertinusSerif-Italic.otf
2020/10/08 | 3145132 | systems/texlive/tlnet/archive/animate.doc.r56583.tar.xz
-2020/10/08 | 31231 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2020/10/08 | 31222 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2020/10/08 | 31202 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2020/10/08 | 311220 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2020/10/08 | 30896 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2020/10/08 | 30865 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2020/10/08 | 305378 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
2020/10/08 | 30296 | systems/texlive/tlnet/archive/animate.source.r56583.tar.xz
2020/10/08 | 3008 | systems/texlive/tlnet/archive/iftex.r56594.tar.xz
-2020/10/08 | 29712 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2020/10/08 | 297912 | fonts/libertinus-fonts/otf/LibertinusSerif-Regular.otf
2020/10/08 | 29479 | macros/latex/contrib/showexpl/showexpl.dtx
-2020/10/08 | 29392 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2020/10/08 | 29035 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2020/10/08 | 28996 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2020/10/08 | 28636 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2020/10/08 | 288564 | fonts/libertinus-fonts/otf/LibertinusSans-Italic.otf
+2020/10/08 | 2883136 | systems/win32/w32tex/platex.tar.xz
+2020/10/08 | 2875 | fonts/plimsoll/plimsoll.sfd
2020/10/08 | 2857624 | systems/texlive/tlnet/archive/lwarp.doc.r56584.tar.xz
-2020/10/08 | 281676 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2020/10/08 | 279949 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2020/10/08 | 27973 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2020/10/08 | 273418 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2020/10/08 | 27109 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2020/10/08 | 27031 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2020/10/08 | 269700 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2020/10/08 | 26846 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2020/10/08 | 279280 | fonts/libertinus-fonts/otf/LibertinusSerif-Bold.otf
+2020/10/08 | 276492 | fonts/libertinus-fonts/otf/LibertinusSerif-Semibold.otf
+2020/10/08 | 274900 | fonts/libertinus-fonts/otf/LibertinusSans-Bold.otf
2020/10/08 | 26788 | systems/texlive/tlnet/archive/fontspec.r56594.tar.xz
-2020/10/08 | 26636 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2020/10/08 | 2656853 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
2020/10/08 | 260895 | macros/latex/contrib/hyperxmp/hyperxmp.dtx
+2020/10/08 | 256760 | fonts/libertinus-fonts/otf/LibertinusSans-Regular.otf
2020/10/08 | 2556 | systems/texlive/tlnet/archive/docutils.r56594.tar.xz
-2020/10/08 | 25490 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2020/10/08 | 2533839 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2020/10/08 | 255360 | fonts/libertinus-fonts/otf/LibertinusSerifDisplay-Regular.otf
2020/10/08 | 2516 | systems/texlive/tlnet/archive/xltxtra.r56594.tar.xz
2020/10/08 | 250715 | macros/latex/contrib/showexpl/doc/showexpl.pdf
-2020/10/08 | 250299 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2020/10/08 | 246837 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2020/10/08 | 243074 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2020/10/08 | 24270043 | systems/texlive/tlnet/install-tl.zip
-2020/10/08 | 23572 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2020/10/08 | 237604 | fonts/libertinus-fonts/otf/LibertinusSerif-BoldItalic.otf
2020/10/08 | 23388 | systems/texlive/tlnet/archive/animate.r56583.tar.xz
-2020/10/08 | 22987 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
2020/10/08 | 22980 | systems/texlive/tlnet/archive/semantex.r56585.tar.xz
2020/10/08 | 227600 | systems/texlive/tlnet/archive/texlive.infra.r56587.tar.xz
2020/10/08 | 2252 | macros/latex/contrib/hyperxmp/README
-2020/10/08 | 224178 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2020/10/08 | 2235028 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2020/10/08 | 222 | macros/latex/contrib/auto-pst-pdf/example-psfrag.tex
2020/10/08 | 220023 | macros/latex/contrib/auto-pst-pdf.zip
2020/10/08 | 218656 | systems/texlive/tlnet/archive/texlive-scripts.doc.r56579.tar.xz
2020/10/08 | 218576 | systems/texlive/tlnet/archive/iftex.doc.r56594.tar.xz
-2020/10/08 | 211882 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2020/10/08 | 209835 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2020/10/08 | 20840 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2020/10/08 | 207390 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2020/10/08 | 209512 | fonts/libertinus-fonts/woff2/LibertinusSerif-SemiboldItalic.woff2
2020/10/08 | 204656 | systems/texlive/tlnet/archive/texlive.infra.doc.r56587.tar.xz
-2020/10/08 | 204251 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2020/10/08 | 203589 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2020/10/08 | 203561 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
2020/10/08 | 2034 | macros/latex/contrib/hyperxmp/hyperxmp.ins
-2020/10/08 | 2029211 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2020/10/08 | 202681 | fonts/libertinus-fonts/documentation/Sample.pdf
2020/10/08 | 20208 | macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.dtx
-2020/10/08 | 19984 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2020/10/08 | 201400 | fonts/libertinus-fonts/woff2/LibertinusSerif-Italic.woff2
2020/10/08 | 197032 | macros/latex/contrib/auto-pst-pdf/auto-pst-pdf.pdf
-2020/10/08 | 196620 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
2020/10/08 | 195788 | systems/texlive/tlnet/archive/revtex.source.r56591.tar.xz
-2020/10/08 | 19382984 | systems/texlive/tlnet/install-tl-windows.exe
-2020/10/08 | 193810 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2020/10/08 | 192826 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2020/10/08 | 192520 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
2020/10/08 | 190800 | systems/texlive/tlnet/archive/lwarp.r56584.tar.xz
-2020/10/08 | 190104 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2020/10/08 | 1880 | systems/texlive/tlnet/archive/realscripts.r56594.tar.xz
-2020/10/08 | 187675 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2020/10/08 | 187700 | fonts/libertinus-fonts/woff2/LibertinusSerif-Regular.woff2
2020/10/08 | 187356 | systems/texlive/tlnet/archive/luatexja.r56594.tar.xz
-2020/10/08 | 184474 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2020/10/08 | 18148 | systems/texlive/tlnet/archive/biblatex-swiss-legal.r56594.tar.xz
-2020/10/08 | 180780 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2020/10/08 | 181144 | fonts/libertinus-fonts/woff2/LibertinusSans-Italic.woff2
2020/10/08 | 177668 | systems/texlive/tlnet/archive/fltpoint.doc.r56594.tar.xz
-2020/10/08 | 17761 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2020/10/08 | 177456 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2020/10/08 | 17629 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2020/10/08 | 1757872 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2020/10/08 | 176604 | fonts/libertinus-fonts/woff2/LibertinusSerif-Semibold.woff2
+2020/10/08 | 174620 | fonts/libertinus-fonts/woff2/LibertinusSerif-Bold.woff2
2020/10/08 | 1725064 | systems/texlive/tlnet/archive/unicode-math.doc.r56594.tar.xz
2020/10/08 | 172436 | systems/texlive/tlnet/archive/runcode.doc.r56594.tar.xz
-2020/10/08 | 171292 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
2020/10/08 | 171088 | systems/texlive/tlnet/archive/babel.r56581.tar.xz
-2020/10/08 | 169701 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2020/10/08 | 171048 | fonts/libertinus-fonts/woff2/LibertinusSans-Bold.woff2
2020/10/08 | 169484 | systems/texlive/tlnet/archive/texlive-docindex.doc.r56593.tar.xz
-2020/10/08 | 16622752 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2020/10/08 | 165447 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
2020/10/08 | 1639464 | systems/win32/miktex/tm/packages/platex.tar.lzma
-2020/10/08 | 16067 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2020/10/08 | 16003 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2020/10/08 | 159936 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2020/10/08 | 160836 | fonts/libertinus-fonts/documentation/Math-Sample.pdf
+2020/10/08 | 160172 | fonts/libertinus-fonts/woff2/LibertinusSans-Regular.woff2
+2020/10/08 | 160012 | fonts/libertinus-fonts/woff2/LibertinusSerifDisplay-Regular.woff2
2020/10/08 | 1587196 | macros/latex/contrib/paresse.zip
2020/10/08 | 154 | systems/texlive/tlnet/update-tlmgr-r56587.exe.sha512
-2020/10/08 | 154189 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2020/10/08 | 153 | systems/texlive/tlnet/update-tlmgr-r56587.sh.sha512
-2020/10/08 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2020/10/08 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2020/10/08 | 1525551 | macros/latex/contrib/hyperxmp/hyperxmp.pdf
2020/10/08 | 1520 | systems/texlive/tlnet/archive/collection-publishers.r56590.tar.xz
-2020/10/08 | 152021 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2020/10/08 | 151817 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2020/10/08 | 15152 | systems/texlive/tlnet/archive/fltpoint.source.r56594.tar.xz
2020/10/08 | 15128 | systems/texlive/tlnet/archive/oup-authoring-template.r56594.tar.xz
+2020/10/08 | 150540 | fonts/libertinus-fonts/woff2/LibertinusSerif-BoldItalic.woff2
2020/10/08 | 1485440 | systems/texlive/tlnet/archive/revtex4.doc.r56589.tar.xz
2020/10/08 | 1478256 | systems/texlive/tlnet/archive/platex.doc.r56582.tar.xz
-2020/10/08 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2020/10/08 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2020/10/08 | 141528 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2020/10/08 | 14123 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2020/10/08 | 1397690 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2020/10/08 | 14702 | fonts/libertinus-fonts/FONTLOG.txt
+2020/10/08 | 1402 | fonts/libertinus-fonts/CONTRIBUTING.md
2020/10/08 | 136108 | systems/texlive/tlnet/archive/revtex4.source.r56589.tar.xz
2020/10/08 | 135880 | systems/texlive/tlnet/archive/platex.source.r56582.tar.xz
2020/10/08 | 1356328 | install/macros/latex/contrib/hyperxmp.tds.zip
2020/10/08 | 134752 | systems/texlive/tlnet/archive/circuitikz.r56594.tar.xz
2020/10/08 | 1343403 | macros/latex/contrib/hyperxmp.zip
-2020/10/08 | 133508 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2020/10/08 | 1330152 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
2020/10/08 | 132048 | systems/texlive/tlnet/archive/texlive-scripts.r56579.tar.xz
-2020/10/08 | 13122 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2020/10/08 | 130413 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2020/10/08 | 1264619 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
2020/10/08 | 123076 | systems/texlive/tlnet/archive/polyglossia.source.r56594.tar.xz
-2020/10/08 | 1227044 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2020/10/08 | 1226509 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2020/10/08 | 1196954 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
2020/10/08 | 1189088 | systems/texlive/tlnet/archive/fontspec.doc.r56594.tar.xz
2020/10/08 | 1176960 | systems/texlive/tlnet/archive/circuitikz.doc.r56594.tar.xz
-2020/10/08 | 117064 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2020/10/08 | 116092 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2020/10/08 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
-2020/10/08 | 1145608 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2020/10/08 | 1143120 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2020/10/08 | 11394 | macros/latex/contrib/hyperxmp/einstein-xmp.tex
-2020/10/08 | 113858 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
2020/10/08 | 112816 | systems/texlive/tlnet/archive/polyglossia.r56594.tar.xz
-2020/10/08 | 109881 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2020/10/08 | 109019 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
2020/10/08 | 1075428 | systems/texlive/tlnet/archive/tuda-ci.doc.r56594.tar.xz
-2020/10/08 | 1058653 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2020/10/08 | 10626808 | systems/win32/w32tex/ptex-w32.tar.xz
2020/10/08 | 104544 | systems/texlive/tlnet/archive/realscripts.doc.r56594.tar.xz
-2020/10/08 | 104537 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2020/10/08 | 102657 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2020/10/08 | 1022330 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2020/10/08 | 101717 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2020/10/08 | 100963 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
2020/10/08 | 100928 | systems/texlive/tlnet/archive/xltxtra.doc.r56594.tar.xz
2020/10/07 | 99319780 | systems/win32/w32tex/web2c-lib.tar.xz
2020/10/07 | 9888 | language/japanese/platex/kinsoku.dtx
2020/10/07 | 954 | macros/latex/contrib/paresse/LISEZMOI.md
+2020/10/07 | 93960883 | systems/win32/w32tex/TLW64/tl-win64.zip
2020/10/07 | 923 | macros/latex/contrib/paresse/README.md
2020/10/07 | 89 | macros/latex/contrib/lwarp/lwarp_baseline_marker.png
+2020/10/07 | 88 | fonts/plimsoll/plimsoll.map
2020/10/07 | 885 | macros/latex/contrib/paresse/paresse.ins
2020/10/07 | 883 | fonts/utilities/t1subset/README
2020/10/07 | 862133 | systems/win32/miktex/tm/packages/jsclasses.tar.lzma
2020/10/07 | 861 | language/japanese/platex/pl209.ins
2020/10/07 | 856411 | language/japanese/platex/pldoc.pdf
-2020/10/07 | 8371644 | systems/win32/w32tex/uptex-w32.tar.xz
+2020/10/07 | 855 | language/japanese/BX/bxjscls/bxjscls.ins
2020/10/07 | 8363 | language/japanese/platex/plnewsc14.tex
2020/10/07 | 8150 | fonts/utilities/t1subset/src/t1-encoding.h
2020/10/07 | 81184 | systems/texlive/tlnet/archive/nicematrix.source.r56574.tar.xz
+2020/10/07 | 804748 | systems/win32/w32tex/win64/dvipdfm-w64.tar.xz
2020/10/07 | 7818 | language/japanese/platex/plnewsc01.tex
2020/10/07 | 7614 | language/japanese/platex/pl209.dtx
2020/10/07 | 75512 | systems/texlive/tlnet/archive/memoir.r56572.tar.xz
2020/10/07 | 724 | fonts/utilities/t1subset/src/test.cpp
-2020/10/07 | 720833 | systems/win32/w32tex/ChangeLog
2020/10/07 | 719 | macros/latex/contrib/lwarp/lwarp_baseline_marker.eps
2020/10/07 | 70238 | language/japanese/platex/platex.dtx
2020/10/07 | 6995 | language/japanese/platex/jltxdoc.dtx
2020/10/07 | 697 | language/japanese/platex/platexrelease.ins
2020/10/07 | 6717 | language/japanese/platex/plnewsc06.tex
-2020/10/07 | 6587380 | systems/win32/w32tex/ptex-ng-w32.tar.xz
2020/10/07 | 6513 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2020/10/07 | 6340 | systems/texlive/tlnet/archive/nnext.source.r56575.tar.xz
2020/10/07 | 6069 | language/japanese/platex/plnews06.tex
@@ -336,11 +799,13 @@
2020/10/07 | 532200 | systems/texlive/tlnet/archive/regexpatch.doc.r56576.tar.xz
2020/10/07 | 5178984 | systems/win32/w32tex/aleph-w32.tar.xz
2020/10/07 | 5163 | language/japanese/platex/plnewsc04.tex
-2020/10/07 | 48950772 | systems/win32/w32tex/xetex-w32.tar.xz
+2020/10/07 | 492 | fonts/plimsoll/plimsoll-sans.afm
+2020/10/07 | 48952996 | systems/win32/w32tex/xetex-w32.tar.xz
+2020/10/07 | 482 | fonts/plimsoll/plimsoll.afm
2020/10/07 | 47667 | macros/latex/contrib/paresse/paresse.dtx
2020/10/07 | 4730 | macros/latex/contrib/semantex/stripsemantex.sty
-2020/10/07 | 46900696 | systems/win32/w32tex/latex-dev.tar.xz
2020/10/07 | 4685 | language/japanese/platex/plnews02.tex
+2020/10/07 | 4659500 | systems/win32/w32tex/dvipdfm-w32.tar.xz
2020/10/07 | 4606 | language/japanese/platex/plnewsc15.tex
2020/10/07 | 422473 | macros/latex/contrib/paresse/paresse.pdf
2020/10/07 | 417011 | macros/latex/contrib/semantex.zip
@@ -358,7 +823,6 @@
2020/10/07 | 3484 | language/japanese/platex/plnewsc11.tex
2020/10/07 | 3456327 | systems/win32/miktex/tm/packages/luatexja.tar.lzma
2020/10/07 | 3413085 | macros/latex/contrib/lwarp.zip
-2020/10/07 | 33920732 | systems/win32/w32tex/ltxpkgs.tar.xz
2020/10/07 | 3321 | language/japanese/platex/plnewsc03.tex
2020/10/07 | 3235161 | install/macros/latex/contrib/animate.tds.zip
2020/10/07 | 3232888 | macros/latex/contrib/animate.zip
@@ -373,6 +837,9 @@
2020/10/07 | 2931 | language/japanese/platex/plnews04.tex
2020/10/07 | 29001 | macros/latex/contrib/lwarp/lwarpmk.lua
2020/10/07 | 2763 | language/japanese/platex/plnews03.tex
+2020/10/07 | 2735 | fonts/plimsoll/plimsoll-sans.pfb
+2020/10/07 | 2729 | fonts/plimsoll/plimsoll.enc
+2020/10/07 | 2670 | fonts/plimsoll/plimsoll.pfb
2020/10/07 | 2566374 | macros/latex/contrib/lwarp/lwarp.dtx
2020/10/07 | 253 | language/japanese/platex/platex.ini
2020/10/07 | 251862 | language/japanese/platex/platex.pdf
@@ -396,6 +863,7 @@
2020/10/07 | 1805 | macros/latex/contrib/paresse/MANIFEST.md
2020/10/07 | 1798798 | install/language/japanese/platex.tds.zip
2020/10/07 | 172046 | macros/latex/contrib/semantex/semantex.tex
+2020/10/07 | 1710416 | systems/win32/w32tex/win64/ptex-ng-w64.tar.xz
2020/10/07 | 17083 | language/japanese/platex/platexrelease.dtx
2020/10/07 | 1676659 | language/japanese/platex.zip
2020/10/07 | 1653322 | systems/win32/miktex/tm/packages/babel.tar.lzma
@@ -405,6 +873,8 @@
2020/10/07 | 15802 | fonts/utilities/t1subset/src/t1subset.h
2020/10/07 | 1553 | language/japanese/platex/LICENSE
2020/10/07 | 1552709 | systems/win32/miktex/tm/packages/nicematrix.tar.lzma
+2020/10/07 | 152 | fonts/plimsoll/plimsoll.tfm
+2020/10/07 | 152 | fonts/plimsoll/plimsoll-sans.tfm
2020/10/07 | 15076 | systems/texlive/tlnet/archive/pxjahyper.r56573.tar.xz
2020/10/07 | 149765 | systems/win32/miktex/tm/packages/nnext.tar.lzma
2020/10/07 | 1488 | language/japanese/platex/plcls.ins
@@ -422,22 +892,18 @@
2020/10/07 | 1191 | language/japanese/platex/plfmt.ins
2020/10/07 | 114028 | language/japanese/platex/plcore.dtx
2020/10/07 | 1117421 | systems/win32/miktex/tm/packages/tuda-ci.tar.lzma
-2020/10/07 | 10988220 | systems/win32/w32tex/win64/xetex-w64.tar.xz
+2020/10/07 | 11019336 | systems/win32/w32tex/win64/xetex-w64.tar.xz
2020/10/07 | 10810 | systems/win32/miktex/tm/packages/graphics-def.tar.lzma
2020/10/07 | 107343 | language/japanese/platex/platexrelease.pdf
2020/10/07 | 10671578 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma
-2020/10/07 | 10626908 | systems/win32/w32tex/ptex-w32.tar.xz
2020/10/07 | 10430 | language/japanese/platex/plnewsc07.tex
2020/10/07 | 10426 | language/japanese/platex/plnews01.tex
2020/10/06 | 9897 | language/japanese/pxjahyper/pxjahyper.tex
-2020/10/06 | 93960642 | systems/win32/w32tex/TLW64/tl-win64.zip
2020/10/06 | 91145 | macros/latex/contrib/babel-contrib/russian/russianb.dtx
-2020/10/06 | 900280 | systems/texlive/tlnet/archive/tex4ht.r56561.tar.xz
2020/10/06 | 8932 | macros/latex/required/babel/base/README.md
2020/10/06 | 8752 | systems/texlive/tlnet/archive/etoolbox.r56554.tar.xz
2020/10/06 | 852 | macros/latex/contrib/regexpatch/regexpatch.ins
2020/10/06 | 811006 | macros/latex/required/babel/base/babel.pdf
-2020/10/06 | 805168 | systems/win32/w32tex/win64/dvipdfm-w64.tar.xz
2020/10/06 | 80508 | systems/texlive/tlnet/archive/bxjscls.source.r56552.tar.xz
2020/10/06 | 782044 | systems/texlive/tlnet/archive/jsclasses.doc.r56551.tar.xz
2020/10/06 | 777675 | macros/latex/required/babel/base/locale.zip
@@ -455,7 +921,6 @@
2020/10/06 | 542954 | macros/latex/contrib/regexpatch.zip
2020/10/06 | 536001 | macros/latex/contrib/regexpatch/regexpatch.pdf
2020/10/06 | 490825 | macros/latex/contrib/nicematrix/nicematrix.dtx
-2020/10/06 | 4659224 | systems/win32/w32tex/dvipdfm-w32.tar.xz
2020/10/06 | 4612 | macros/latex/contrib/babel-contrib/russian/russianb.ins
2020/10/06 | 4366 | language/japanese/pxjahyper/README-ja.md
2020/10/06 | 423480 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
@@ -477,7 +942,6 @@
2020/10/06 | 1826 | macros/latex/contrib/nnext/README.md
2020/10/06 | 1768004 | macros/latex/required/babel/base.zip
2020/10/06 | 1753484 | systems/texlive/tlnet/archive/l3packages.doc.r56556.tar.xz
-2020/10/06 | 1710412 | systems/win32/w32tex/win64/ptex-ng-w64.tar.xz
2020/10/06 | 1558874 | macros/latex/contrib/nicematrix.zip
2020/10/06 | 154524 | systems/texlive/tlnet/archive/l3kernel.r56556.tar.xz
2020/10/06 | 1531 | macros/latex/contrib/nnext/nnext.ins
@@ -487,7 +951,6 @@
2020/10/06 | 142682 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm
2020/10/06 | 141396 | macros/latex/contrib/nnext/nnext.pdf
2020/10/06 | 140247 | language/japanese/pxjahyper.zip
-2020/10/06 | 136156 | systems/texlive/tlnet/archive/tex4ht.doc.r56561.tar.xz
2020/10/06 | 1245 | macros/latex/contrib/regexpatch/README
2020/10/06 | 116641 | language/japanese/pxjahyper/pxjahyper.pdf
2020/10/06 | 1048234 | macros/latex/contrib/nicematrix/nicematrix.pdf
@@ -500,7 +963,6 @@
2020/10/05 | 9465 | macros/latex/contrib/l3kernel/l3news08.tex
2020/10/05 | 945 | macros/luatex/generic/luatexja/tool/table_ivd_aj1.lua
2020/10/05 | 945 | macros/luatex/generic/luatexja/doc/jfm-testf.lua
-2020/10/05 | 943952 | install/macros/latex/contrib/jsclasses.tds.zip
2020/10/05 | 9436 | macros/latex/contrib/l3kernel/l3flag.dtx
2020/10/05 | 9383 | macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
2020/10/05 | 933 | macros/luatex/generic/luatexja/src/patches/lltjp-stfloats.sty
@@ -515,14 +977,11 @@
2020/10/05 | 872920 | systems/win32/miktex/tm/packages/tex4ht.tar.lzma
2020/10/05 | 868716 | systems/texlive/tlnet/archive/beebe.r56534.tar.xz
2020/10/05 | 8680 | systems/texlive/tlnet/archive/mltex.doc.r56548.tar.xz
-2020/10/05 | 8623 | macros/latex/contrib/jsclasses/jsverb.dtx
2020/10/05 | 8612 | macros/luatex/generic/luatexja/src/ltj-otf.lua
2020/10/05 | 8607 | macros/luatex/generic/luatexja/src/ltjltxdoc.dtx
2020/10/05 | 85887 | macros/latex/contrib/l3kernel/l3coffins.dtx
-2020/10/05 | 857894 | macros/latex/contrib/jsclasses.zip
2020/10/05 | 8481 | macros/latex/contrib/l3kernel/l3news11.tex
2020/10/05 | 84816 | macros/latex/contrib/l3kernel/l3fp-basics.dtx
-2020/10/05 | 84262 | language/japanese/BX/bxjscls/bxjscls-manual.tex
2020/10/05 | 825 | macros/luatex/generic/luatexja/src/patches/lltjp-collcell.sty
2020/10/05 | 8237 | macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
2020/10/05 | 81711688 | systems/win32/w32tex/pgfcontrib.tar.xz
@@ -533,12 +992,10 @@
2020/10/05 | 77528 | macros/latex/contrib/l3kernel/l3box.dtx
2020/10/05 | 77434 | macros/latex/contrib/l3kernel/l3msg.dtx
2020/10/05 | 7710 | macros/luatex/generic/luatexja/tool/jfm-convert.lua
-2020/10/05 | 76779 | macros/latex/contrib/jsclasses/jslogo.pdf
2020/10/05 | 76639 | language/japanese/pxchfon/pxchfon.sty
2020/10/05 | 7661 | macros/luatex/generic/luatexja/src/ltj-unicode-ccfix.lua
2020/10/05 | 76428 | macros/latex/contrib/l3kernel/l3skip.dtx
2020/10/05 | 75933 | macros/latex/contrib/l3kernel/l3prefixes.pdf
-2020/10/05 | 75649 | macros/latex/contrib/jsclasses/jsverb.pdf
2020/10/05 | 75536 | macros/latex/contrib/l3kernel/l3clist.dtx
2020/10/05 | 74422 | macros/latex/contrib/etoolbox/etoolbox.tex
2020/10/05 | 73845 | macros/latex/contrib/l3kernel/l3fp-trig.dtx
@@ -580,9 +1037,7 @@
2020/10/05 | 61738 | macros/latex/contrib/l3kernel/l3candidates.dtx
2020/10/05 | 617016 | systems/texlive/tlnet/archive/xetex.doc.r56548.tar.xz
2020/10/05 | 616 | systems/texlive/tlnet/archive/latex-bin.r56548.tar.xz
-2020/10/05 | 6087 | macros/latex/contrib/jsclasses/okuverb.dtx
2020/10/05 | 6060 | macros/luatex/generic/luatexja/tool/kyoikukanjiChars.tex
-2020/10/05 | 59902 | macros/latex/contrib/jsclasses/okuverb.pdf
2020/10/05 | 5940 | macros/luatex/generic/luatexja/src/ltj-lotf_aux.lua
2020/10/05 | 5895 | macros/latex/contrib/graphics-def/dvips.def
2020/10/05 | 589226 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
@@ -593,14 +1048,12 @@
2020/10/05 | 5850 | macros/luatex/generic/luatexja/src/patches/lltjp-fontspec.sty
2020/10/05 | 583236 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
2020/10/05 | 5817 | macros/latex/contrib/tuda-ci/tex/tudacolors.sty
-2020/10/05 | 5817 | language/japanese/BX/bxjscls/README.md
2020/10/05 | 580 | macros/luatex/generic/luatexja/tool/blocks2defcharrange.rb
2020/10/05 | 5789 | macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
2020/10/05 | 578291 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
2020/10/05 | 574097 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
2020/10/05 | 5681 | macros/luatex/generic/luatexja/src/patches/lltjp-tascmac.sty
2020/10/05 | 5653 | macros/latex/contrib/l3kernel/l3color-base.dtx
-2020/10/05 | 561 | macros/latex/contrib/jsclasses/jsclasses.ins
2020/10/05 | 558962 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
2020/10/05 | 551 | macros/luatex/generic/luatexja/tool/jfm-readable.rb
2020/10/05 | 550788 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
@@ -644,18 +1097,15 @@
2020/10/05 | 41869 | macros/luatex/generic/luatexja/doc/luatexja-ruby.tex
2020/10/05 | 416501 | macros/latex/contrib/l3packages/xtemplate.pdf
2020/10/05 | 41440 | macros/luatex/generic/luatexja/src/patches/lltjfont.sty
-2020/10/05 | 412093 | macros/latex/contrib/jsclasses/jsclasses.pdf
2020/10/05 | 40695 | macros/latex/contrib/l3kernel/l3tl-analysis.dtx
2020/10/05 | 40663 | macros/latex/contrib/l3kernel/l3sort.dtx
2020/10/05 | 405 | macros/luatex/generic/luatexja/src/patches/lltjp-everyshi.sty
-2020/10/05 | 40423 | macros/latex/contrib/jsclasses/okumacro.dtx
2020/10/05 | 400713 | macros/luatex/generic/luatexja/doc/ltjclasses.pdf
2020/10/05 | 3998 | macros/luatex/generic/luatexja/src/ltj-plain.sty
2020/10/05 | 39902 | macros/luatex/generic/luatexja/src/ltj-direction.lua
2020/10/05 | 396576 | systems/texlive/tlnet/archive/eplain.source.r56548.tar.xz
2020/10/05 | 3961 | macros/luatex/generic/luatexja/src/ltj-charrange.lua
2020/10/05 | 39516 | macros/latex/contrib/tuda-ci/tex/tudapub.cls
-2020/10/05 | 394690 | language/japanese/BX/bxjscls/bxjscls.dtx
2020/10/05 | 39276 | macros/latex/contrib/l3packages/xfrac.dtx
2020/10/05 | 3883 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
2020/10/05 | 385 | macros/luatex/generic/luatexja/src/ltjsclasses.ins
@@ -668,7 +1118,6 @@
2020/10/05 | 3757115 | macros/luatex/generic/luatexja.zip
2020/10/05 | 3755 | macros/luatex/generic/luatexja/src/ltj-lineskip.lua
2020/10/05 | 3748 | macros/luatex/generic/luatexja/src/ltj-compat.lua
-2020/10/05 | 374721 | language/japanese/BX/bxjscls/bxjscls-manual.pdf
2020/10/05 | 3726 | macros/latex/contrib/l3packages/CHANGELOG.md
2020/10/05 | 35831 | macros/latex/contrib/l3kernel/l3quark.dtx
2020/10/05 | 355 | macros/luatex/generic/luatexja/tool/otf-AdobeMingStd-Light.txt
@@ -713,7 +1162,6 @@
2020/10/05 | 29181 | macros/luatex/generic/luatexja/src/addons/luatexja-preset.sty
2020/10/05 | 28323 | macros/luatex/generic/luatexja/src/luatexja-core.sty
2020/10/05 | 2817 | macros/latex/contrib/l3kernel/l3prefixes.tex
-2020/10/05 | 2811 | macros/latex/contrib/jsclasses/Makefile
2020/10/05 | 280099 | macros/latex/contrib/l3kernel/l3styleguide.pdf
2020/10/05 | 27656 | macros/latex/contrib/l3kernel/l3kernel-functions.dtx
2020/10/05 | 26765 | macros/luatex/generic/luatexja/src/lltjext.sty
@@ -732,18 +1180,14 @@
2020/10/05 | 248068 | install/macros/latex/contrib/etoolbox.tds.zip
2020/10/05 | 24789 | macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
2020/10/05 | 247197 | macros/latex/contrib/etoolbox.zip
-2020/10/05 | 240 | macros/latex/contrib/jsclasses/okumacro.ins
2020/10/05 | 24036 | systems/texlive/tlnet/archive/cslatex.source.r56548.tar.xz
2020/10/05 | 23995 | language/japanese/pxjahyper/pxjahyper-ajm.def
2020/10/05 | 2379 | macros/latex/contrib/etoolbox/etoolbox.def
2020/10/05 | 2374 | macros/luatex/generic/luatexja/src/patches/lltjp-unicode-math.sty
-2020/10/05 | 236 | macros/latex/contrib/jsclasses/okuverb.ins
2020/10/05 | 23637 | macros/latex/contrib/graphics-def.zip
2020/10/05 | 2362 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
2020/10/05 | 235322 | macros/latex/contrib/l3kernel/l3news09.pdf
2020/10/05 | 2342 | macros/luatex/generic/luatexja/src/jfm-jis.lua
-2020/10/05 | 233 | macros/latex/contrib/jsclasses/jslogo.ins
-2020/10/05 | 232 | macros/latex/contrib/jsclasses/jsverb.ins
2020/10/05 | 23248 | systems/texlive/tlnet/archive/latex-bin-dev.doc.r56548.tar.xz
2020/10/05 | 232368 | systems/win32/miktex/tm/packages/latex-firstaid.tar.lzma
2020/10/05 | 23107 | macros/latex/contrib/l3kernel/l3fp-logic.dtx
@@ -770,7 +1214,6 @@
2020/10/05 | 200 | macros/luatex/generic/luatexja/src/jfm-prop.lua
2020/10/05 | 199139 | macros/latex/contrib/l3kernel/l3news12.pdf
2020/10/05 | 198344 | systems/texlive/tlnet/archive/lualatex-math.doc.r56541.tar.xz
-2020/10/05 | 197287 | macros/latex/contrib/jsclasses/jsclasses.dtx
2020/10/05 | 196 | macros/luatex/generic/luatexja/src/jfm-propw.lua
2020/10/05 | 196 | macros/luatex/generic/luatexja/src/jfm-propv.lua
2020/10/05 | 19680 | macros/latex/contrib/l3kernel/l3intarray.dtx
@@ -795,7 +1238,6 @@
2020/10/05 | 177581 | macros/luatex/generic/luatexja/src/ltjclasses.dtx
2020/10/05 | 176314 | systems/win32/miktex/tm/packages/runcode.tar.lzma
2020/10/05 | 17395 | macros/latex/contrib/tuda-ci/tex/tudaposter.cls
-2020/10/05 | 173352 | macros/latex/contrib/jsclasses/okumacro.pdf
2020/10/05 | 17049 | fonts/utilities/woff2ot.zip
2020/10/05 | 17004 | fonts/utilities/ot2woff.zip
2020/10/05 | 1686 | macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -807,7 +1249,6 @@
2020/10/05 | 16688 | macros/latex/contrib/tuda-ci/tex/tudaletter.cls
2020/10/05 | 166557 | macros/luatex/generic/luatexja/doc/lltjp-geometry.pdf
2020/10/05 | 165946 | macros/latex/contrib/l3kernel/l3news11.pdf
-2020/10/05 | 1649646 | language/japanese/BX/bxjscls.zip
2020/10/05 | 1637 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec.sty
2020/10/05 | 15839 | macros/luatex/generic/luatexja/src/addons/luatexja-fontspec-27c.sty
2020/10/05 | 1567 | macros/latex/contrib/l3packages/xtemplate.ins
@@ -815,7 +1256,6 @@
2020/10/05 | 154828 | macros/luatex/generic/luatexja/src/ltj-ivd_aj1.lua
2020/10/05 | 1536 | macros/luatex/generic/luatexja/COPYING
2020/10/05 | 152413 | macros/latex/contrib/l3kernel/l3news08.pdf
-2020/10/05 | 14953 | language/japanese/BX/bxjscls/README-ja.md
2020/10/05 | 149242 | macros/latex/contrib/l3kernel/l3doc.dtx
2020/10/05 | 14913 | macros/latex/contrib/l3kernel/l3news12.tex
2020/10/05 | 14740 | systems/texlive/tlnet/archive/uplatex.r56548.tar.xz
@@ -825,12 +1265,10 @@
2020/10/05 | 14517 | macros/luatex/generic/luatexja/src/ltj-rmlgbm.lua
2020/10/05 | 144785 | macros/latex/contrib/l3kernel/l3news03.pdf
2020/10/05 | 1444 | macros/latex/contrib/l3packages/l3keys2e-demo.tex
-2020/10/05 | 1432 | macros/latex/contrib/jsclasses/README.md
2020/10/05 | 140795 | macros/latex/contrib/l3kernel/l3news06.pdf
2020/10/05 | 140776 | macros/latex/contrib/l3kernel/l3news02.pdf
2020/10/05 | 1406 | macros/luatex/generic/luatexja/src/patches/lltjp-footmisc.sty
2020/10/05 | 1397 | macros/luatex/generic/luatexja/tool/ivslist.tex
-2020/10/05 | 1392 | macros/latex/contrib/jsclasses/LICENSE
2020/10/05 | 13726 | macros/luatex/generic/luatexja/doc/lltjp-geometry.tex
2020/10/05 | 13710 | macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
2020/10/05 | 135177 | macros/latex/contrib/l3kernel/l3tl.dtx
@@ -860,7 +1298,6 @@
2020/10/05 | 11812 | macros/latex/contrib/l3kernel/l3fparray.dtx
2020/10/05 | 1175 | fonts/utilities/woff2ot/README
2020/10/05 | 11696067 | macros/latex/contrib/l3kernel.zip
-2020/10/05 | 1165227 | language/japanese/BX/bxjscls/bxjscls.pdf
2020/10/05 | 11613 | macros/latex/contrib/l3packages/l3keys2e.dtx
2020/10/05 | 1161292 | systems/texlive/tlnet/archive/curve2e.doc.r56538.tar.xz
2020/10/05 | 113900 | macros/latex/contrib/l3kernel/l3str-convert.dtx
@@ -870,7 +1307,6 @@
2020/10/05 | 11335 | macros/luatex/generic/luatexja/tool/unicodeBlocks.tex
2020/10/05 | 113235 | macros/latex/contrib/l3kernel/l3token.dtx
2020/10/05 | 1130 | macros/luatex/generic/luatexja/tool/function_uax50.lua
-2020/10/05 | 11305 | macros/latex/contrib/jsclasses/jslogo.dtx
2020/10/05 | 112616 | macros/latex/contrib/l3kernel/l3keys.dtx
2020/10/05 | 10950 | macros/latex/contrib/tuda-ci/README.md
2020/10/05 | 107921 | macros/latex/contrib/l3kernel/l3expan.dtx
@@ -915,7 +1351,6 @@
2020/10/04 | 586 | macros/latex/contrib/memoir/doc-src/trims-example.tex
2020/10/04 | 5833342 | macros/latex/contrib/revtex.zip
2020/10/04 | 568145 | macros/latex/contrib/curve2e/curve2e-manual.pdf
-2020/10/04 | 559 | macros/latex/required/firstaid/changes.txt
2020/10/04 | 5519 | macros/latex/contrib/memoir/doc-src/memfonts.sty
2020/10/04 | 5159 | language/japanese/BX/bxbase/bxtoolbox-ja.def
2020/10/04 | 51357 | graphics/pgf/contrib/circuitikz/tex/pgfcircquadpoles.tex
@@ -966,11 +1401,8 @@
2020/10/04 | 2425103 | fonts/garamondx.zip
2020/10/04 | 23662280 | systems/win32/w32tex/t1fonts.tar.xz
2020/10/04 | 23660 | language/japanese/BX/bxbase/bxbase.def
-2020/10/04 | 232993 | install/macros/latex/required/latex-firstaid.tds.zip
-2020/10/04 | 228779 | macros/latex/required/firstaid.zip
2020/10/04 | 228583 | graphics/pgf/contrib/circuitikz/tex/pgfcircbipoles.tex
2020/10/04 | 22704 | systems/texlive/tlnet/archive/bxbase.r56528.tar.xz
-2020/10/04 | 225073 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
2020/10/04 | 2169789 | install/graphics/pgf/contrib/circuitikz.tds.zip
2020/10/04 | 2155708 | graphics/pgf/contrib/circuitikz.zip
2020/10/04 | 211400 | install/macros/luatex/latex/lualatex-math.tds.zip
@@ -995,7 +1427,6 @@
2020/10/04 | 14029 | graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex
2020/10/04 | 1286124 | macros/latex/contrib/curve2e.zip
2020/10/04 | 1261475 | macros/latex/contrib/memoir/memoir.dtx
-2020/10/04 | 12563 | macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
2020/10/04 | 1226 | macros/latex/contrib/runcode/README
2020/10/04 | 12264 | systems/texlive/tlnet/archive/nodetree.r56532.tar.xz
2020/10/04 | 1196 | systems/texlive/tlnet/archive/semtex.r56530.tar.xz
@@ -1188,7 +1619,6 @@
2020/10/03 | 13145 | macros/latex/contrib/revtex/sample/aip/aipsamp.bib
2020/10/03 | 13050 | macros/latex/contrib/revtex/sample/aps/apssamp.bib
2020/10/03 | 1303 | macros/latex/contrib/semtex/semtex.sty
-2020/10/03 | 1292835 | systems/win32/miktex/tm/packages/hyperxmp.tar.lzma
2020/10/03 | 12848409 | systems/win32/miktex/tm/packages/koma-script.tar.lzma
2020/10/03 | 127843 | systems/win32/miktex/tm/packages/lua-uca.tar.lzma
2020/10/03 | 12519 | macros/luatex/generic/nodetree/nodetree.dtx
@@ -1208,24 +1638,3 @@
2020/10/03 | 105109 | systems/win32/miktex/tm/packages/tex4ebook.tar.lzma
2020/10/03 | 105075 | systems/win32/miktex/tm/packages/kvmap.tar.lzma
2020/10/03 | 10432 | systems/texlive/tlnet/archive/light-latex-make.r56513.tar.xz
-2020/10/02 | 93443 | support/light-latex-make/llmk.pdf
-2020/10/02 | 8860 | support/light-latex-make/README.md
-2020/10/02 | 8161 | support/light-latex-make/llmk-doc.cls
-2020/10/02 | 77263 | support/light-latex-make/llmk-logo.png
-2020/10/02 | 6883805 | macros/latex/required/tools.zip
-2020/10/02 | 6689058 | obsolete/macros/latex/contrib/revtex4-1.zip
-2020/10/02 | 6324952 | systems/win32/w32tex/win64/pdftex-w64.tar.xz
-2020/10/02 | 38989 | systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm
-2020/10/02 | 38620 | support/light-latex-make/llmk.lua
-2020/10/02 | 36341 | support/light-latex-make/llmk.tex
-2020/10/02 | 27857731 | macros/latex/base.zip
-2020/10/02 | 2613282 | macros/latex/required/amsmath.zip
-2020/10/02 | 2500404 | macros/latex/required/graphics.zip
-2020/10/02 | 2342 | support/light-latex-make/llmk.1
-2020/10/02 | 1848874 | obsolete/macros/latex/contrib/revtex4-0.zip
-2020/10/02 | 174059 | support/light-latex-make.zip
-2020/10/02 | 1433 | support/light-latex-make/llmk-logo-code.tex
-2020/10/02 | 13116275 | graphics/pgf/base.zip
-2020/10/02 | 1177736 | systems/win32/w32tex/extractpdfmark-w32.tar.xz
-2020/10/02 | 1091 | support/light-latex-make/LICENSE
-2020/10/02 | 1079944 | systems/win32/w32tex/win64/extractpdfmark-w64.tar.xz
diff --git a/fonts/libertinus-fonts/CONTRIBUTING.md b/fonts/libertinus-fonts/CONTRIBUTING.md
index 5a61d8c11b..17ae82c3b8 100644
--- a/fonts/libertinus-fonts/CONTRIBUTING.md
+++ b/fonts/libertinus-fonts/CONTRIBUTING.md
@@ -4,8 +4,9 @@ The source files are under the `sources` subdirectory.
The `.sfd` files are FontForge source font format and should be edited with [FontForge][fontforge].
The `.fea` files are [OpenType feature files][fea] and should be edited by a plain text editor.
-To build the fonts locally, you will need to install [Fontship][fontship].
-Regenerate the fonts at any time using:
+To build the fonts locally, you will need to setup [Fontship][fontship].
+Several methods are available for installation including a simple one-liner with no installation [using Docker][fontship-docker-setup].
+One Fontship is setup, regenerate the fonts at any time using:
fontship make
@@ -21,3 +22,4 @@ After modifying the `.sfd` files, and before committing the changes, you can aut
[fontship]: https://github.com/theleagueof/fontship
[fontforge]: https://fontforge.org
[fea]: https://adobe-type-tools.github.io/afdko/OpenTypeFeatureFileSpecification.html
+[fontship-docker-setup]: https://github.com/theleagueof/fontship#docker-setup
diff --git a/fonts/libertinus-fonts/FONTLOG.txt b/fonts/libertinus-fonts/FONTLOG.txt
index 9b3c3ef319..240d757981 100644
--- a/fonts/libertinus-fonts/FONTLOG.txt
+++ b/fonts/libertinus-fonts/FONTLOG.txt
@@ -45,6 +45,17 @@ https://github.com/alerque/libertinus
ChangeLog
---------
+8 October 2020 (Caleb Maclennan) <Libertinus> Version 7.010
+- Build WOFF2 static font files suitable for use as self-hosted webfonts
+- Add ‘ð„†â€™ [U+1D106] and ‘ð„‡â€™ [U+1D107] MUSICAL SYMBOL REPEAT SIGN glyphs
+- Add ‘꞉’ [U+A789] MODIFIER LETTER COLON glyph
+- Fix weight of period (and derivatives such as colon) in Serif Semibold
+- Fix side bearings for +dlig ‘tz’
+- Fix vertical alignment of dots in colon to not shift between weights
+- Fix kerning of ‘f\’ and substitute an alternate ‘f’ glyph used in ‘f)’
+- Cleanup encoding used in source files and build rules for easier maintenance
+- Update font meta data fields, documentation for downloads, and build process
+
16 August 2020 (Caleb Maclennan) <Libertinus> Version 7.000
- Adopt maintenance of project and update foundry, docs, URLs, etc.
- Change version scheme to be OpenFV compatible with 3 digit minor version.
diff --git a/fonts/libertinus-fonts/README.md b/fonts/libertinus-fonts/README.md
index feb3988cee..91b8572256 100644
--- a/fonts/libertinus-fonts/README.md
+++ b/fonts/libertinus-fonts/README.md
@@ -1,6 +1,8 @@
# Libertinus Font Family
-[![Fontship Build Status](https://img.shields.io/github/workflow/status/alerque/libertinus/Fontship?label=Fontship&logo=Github)](https://github.com/alerque/libertinus/actions?workflow=Fontship)
+[![Latest Release](https://img.shields.io/github/v/release/alerque/libertinus?label=Download%20Release&logo=Github)](https://github.com/alerque/libertinus/releases/latest)
+[![All Releases](https://img.shields.io/github/downloads/alerque/libertinus/total)](https://github.com/alerque/libertinus/releases)
+[![Fontship Build Status](https://img.shields.io/github/workflow/status/alerque/libertinus/Fontship?label=Fontship&logo=data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQyLjgiIGhlaWdodD0iMTA2LjgiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEwLjEzIDBhMy4wOTQgMy4wOTQgMCAwMC0zLjA4MyAyLjgyNEwuMDE0IDgzLjIzNGEzLjA5MyAzLjA5MyAwIDAwMy4wODIgMy4zNjNoOS43MjZjLS4xMzYuNjc1LS4yNSAxLjM1Ni0uMzEgMi4wNTMtLjg2NCA5Ljg3MyA2LjcxMyAxOC4xOCAxNi42IDE4LjE4IDkuODg4IDAgMTguNDQtNy44NzUgMTkuMzEtMTcuNzUuMDc0LS44NDIuMDcxLTEuNjcuMDMtMi40ODhoNDUuNDNhMTguMDM5IDE4LjAzOSAwIDAwLS4zMTUgMi4wNTNjLS44NjUgOS44OCA2LjcxMyAxOC4xOSAxNi42MSAxOC4xOSA5Ljg5NSAwIDE4LjQ1LTcuODczIDE5LjMxLTE3Ljc1YTE3LjI4IDE3LjI4IDAgMDAtLjAyNC0zLjA3OGg2Ljk1N3YuMDAyYy41NTQuMDEyLjc5NC4wMSAxLjQ4NC4wMjcgMi4wMjcuMTA3IDMuMzMzLjE2IDMuOTIuMTYuMzIgMCAuNTM0LS4wNTMuNjQxLS4xNi4xNi0uMTA2LjI0LS4yNC4yNC0uNC4wNTMtLjIxMy4wOC0uNTU5LjA4LTEuMDM5IDAtLjUzMy0uMDUzLS44ODEtLjE2LTEuMDQxLS4xMDctLjE2LS4zNzQtLjI0LS44LS4yNGgtLjExbC44Ni05LjgxNGMxLjIxNy0xMy45Mi0zLjE1NS0yNy4zNS0xMi4xOS0zNy4yNmwtMy41NzUtMy45MTZhMi41MDYgMi41MDYgMCAwMC0xLjg1LS44MTdoLTIxLjQybDIuNDYzLTI4LjE1YTMuMDkzIDMuMDkzIDAgMDAtMy4wOC0zLjM2M3oiIGNsaXAtcnVsZT0ibm9uemVybyIgY29sb3I9IiMwMDAiIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0ibm9uemVybyIgc3Ryb2tlPSIjRkZGIiBzdHlsZT0iZm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhbnQtYWx0ZXJuYXRlczpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQtdmFyaWFudC1lYXN0LWFzaWFuOm5vcm1hbDtmb250LXZhcmlhbnQtbGlnYXR1cmVzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LXBvc2l0aW9uOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7aW5saW5lLXNpemU6MDtpc29sYXRpb246YXV0bzttaXgtYmxlbmQtbW9kZTpub3JtYWw7c2hhcGUtbWFyZ2luOjA7c2hhcGUtcGFkZGluZzowO3RleHQtZGVjb3JhdGlvbi1jb2xvcjojMDAwO3RleHQtZGVjb3JhdGlvbi1saW5lOm5vbmU7dGV4dC1kZWNvcmF0aW9uLXN0eWxlOnNvbGlkO3RleHQtaW5kZW50OjA7dGV4dC1vcmllbnRhdGlvbjptaXhlZDt0ZXh0LXRyYW5zZm9ybTpub25lO3doaXRlLXNwYWNlOm5vcm1hbCIvPjxwYXRoIGQ9Ik0xMi45NiA2LjE4NmwtNi40OTQgNzQuMjNoODYuNThsNi40OTQtNzQuMjN6IiBmaWxsPSIjRkZGIiBzdHJva2U9IiNGRkYiLz48L3N2Zz4=)](https://github.com/alerque/libertinus/actions?workflow=Fontship)
![Sample of Libertinus Font Family](preview.svg)
@@ -13,10 +15,22 @@ The Libertinus family consists of:
## Download
-Downloads containing all the font files and documentation can be found on the [Releases][3] page of the project on GitHub.
+Downloads containing all the ready to use font files and documentation can be found on the [Releases][3] page of the project on GitHub.
-*Note*: This repository's default branch has been filtered after the v6.12 release to remove all of the binary OTF and other generated files from the commit history.
-If you are cloning this repository just for the sources and don't wish to download ~300MB worth of every font version released, please add `--single-branch` to your Git clone command.
+To preview changes in between tagged releases, the fonts resulting from each change can be downloaded as artifacts attached to each commit under the [Fontship workflow in the Actions tab](https://github.com/alerque/libertinus/actions?query=workflow%3AFontship).
+
+## Building
+
+Font files for this project are generated using [Fontship][fontship].
+Several methods are available for installation including a simple one-liner with no installation [using Docker][fontship-docker-setup].
+Once equipped with Fontship, to build your own copy of this font project from scratch or to modify the sources and generate your own fonts, simply clone this repository, then run:
+
+```console
+$ fontship make
+```
+
+*Note*: This repository’s default branch was filtered after the v6.12 release to remove all of the binary OTF and other generated files from the commit history.
+If you are cloning this repository just for the sources and don’t wish to download ~300MB worth of every font change ever built, please add `--single-branch` to your Git clone command.
## Contributing
@@ -30,7 +44,7 @@ Libertinus was forked from the [5.3.0 (2012-07-02) release][2] of Linux Libertin
The original impetus was to add an OpenType math companion to the Libertine font family.
Over time it grew into to a full-fledged fork addressing many of the bugs in the Libertine fonts.
-Hat-tip to [Frédéric Wang][fred-wang] for coming up with the name "Libertinus".
+Hat-tip to [Frédéric Wang][fred-wang] for coming up with the name “Libertinusâ€.
Thanks to [Khaled Hosny][khaledhosny] who was the primary contributor and maintainer from 2012–2020.
If you like this font please thank and even consider sponsoring him!
@@ -48,3 +62,5 @@ See the file [OFL.txt](OFL.txt) for details.
[khaledhosny]: https://github.com/khaledhosny
[alerque]: https://github.com/alerque
[fred-wang]: https://github.com/fred-wang
+[fontship]: https://github.com/theleagueof/fontship
+[fontship-docker-setup]: https://github.com/theleagueof/fontship#docker-setup
diff --git a/fonts/libertinus-fonts/otf/LibertinusKeyboard-Regular.otf b/fonts/libertinus-fonts/otf/LibertinusKeyboard-Regular.otf
index a06fccf6a9..1af2c2e10b 100644
--- a/fonts/libertinus-fonts/otf/LibertinusKeyboard-Regular.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusKeyboard-Regular.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusMath-Regular.otf b/fonts/libertinus-fonts/otf/LibertinusMath-Regular.otf
index 8d67dd17f2..697f3d4901 100644
--- a/fonts/libertinus-fonts/otf/LibertinusMath-Regular.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusMath-Regular.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusMono-Regular.otf b/fonts/libertinus-fonts/otf/LibertinusMono-Regular.otf
index df4b5fe035..d2462fde0b 100644
--- a/fonts/libertinus-fonts/otf/LibertinusMono-Regular.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusMono-Regular.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusSans-Bold.otf b/fonts/libertinus-fonts/otf/LibertinusSans-Bold.otf
index 3231d48dff..f62d35c984 100644
--- a/fonts/libertinus-fonts/otf/LibertinusSans-Bold.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusSans-Bold.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusSans-Italic.otf b/fonts/libertinus-fonts/otf/LibertinusSans-Italic.otf
index 0ee098c9a3..9d9f75954d 100644
--- a/fonts/libertinus-fonts/otf/LibertinusSans-Italic.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusSans-Italic.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusSans-Regular.otf b/fonts/libertinus-fonts/otf/LibertinusSans-Regular.otf
index be5f578856..da8073abc3 100644
--- a/fonts/libertinus-fonts/otf/LibertinusSans-Regular.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusSans-Regular.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusSerif-Bold.otf b/fonts/libertinus-fonts/otf/LibertinusSerif-Bold.otf
index 412f60c18c..1d7a8ac22d 100644
--- a/fonts/libertinus-fonts/otf/LibertinusSerif-Bold.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusSerif-Bold.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusSerif-BoldItalic.otf b/fonts/libertinus-fonts/otf/LibertinusSerif-BoldItalic.otf
index 68769f4ef2..66980cc10e 100644
--- a/fonts/libertinus-fonts/otf/LibertinusSerif-BoldItalic.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusSerif-BoldItalic.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusSerif-Italic.otf b/fonts/libertinus-fonts/otf/LibertinusSerif-Italic.otf
index ff0566a81a..7d0a9b9409 100644
--- a/fonts/libertinus-fonts/otf/LibertinusSerif-Italic.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusSerif-Italic.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusSerif-Regular.otf b/fonts/libertinus-fonts/otf/LibertinusSerif-Regular.otf
index 154f958add..80d23253f3 100644
--- a/fonts/libertinus-fonts/otf/LibertinusSerif-Regular.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusSerif-Regular.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusSerif-Semibold.otf b/fonts/libertinus-fonts/otf/LibertinusSerif-Semibold.otf
index 9ae7b2f6cd..d5f639a7b1 100644
--- a/fonts/libertinus-fonts/otf/LibertinusSerif-Semibold.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusSerif-Semibold.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusSerif-SemiboldItalic.otf b/fonts/libertinus-fonts/otf/LibertinusSerif-SemiboldItalic.otf
index 8045fc9c25..3f0bde7af6 100644
--- a/fonts/libertinus-fonts/otf/LibertinusSerif-SemiboldItalic.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusSerif-SemiboldItalic.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusSerifDisplay-Regular.otf b/fonts/libertinus-fonts/otf/LibertinusSerifDisplay-Regular.otf
index 3b239eba9c..f480af4305 100644
--- a/fonts/libertinus-fonts/otf/LibertinusSerifDisplay-Regular.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusSerifDisplay-Regular.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/otf/LibertinusSerifInitials-Regular.otf b/fonts/libertinus-fonts/otf/LibertinusSerifInitials-Regular.otf
index daab1cb352..175f0dbbbe 100644
--- a/fonts/libertinus-fonts/otf/LibertinusSerifInitials-Regular.otf
+++ b/fonts/libertinus-fonts/otf/LibertinusSerifInitials-Regular.otf
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusKeyboard-Regular.woff2 b/fonts/libertinus-fonts/woff2/LibertinusKeyboard-Regular.woff2
new file mode 100644
index 0000000000..3ca6308249
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusKeyboard-Regular.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusMath-Regular.woff2 b/fonts/libertinus-fonts/woff2/LibertinusMath-Regular.woff2
new file mode 100644
index 0000000000..5fa5ed1a89
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusMath-Regular.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusMono-Regular.woff2 b/fonts/libertinus-fonts/woff2/LibertinusMono-Regular.woff2
new file mode 100644
index 0000000000..591dc33c02
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusMono-Regular.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusSans-Bold.woff2 b/fonts/libertinus-fonts/woff2/LibertinusSans-Bold.woff2
new file mode 100644
index 0000000000..b48846bcd0
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusSans-Bold.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusSans-Italic.woff2 b/fonts/libertinus-fonts/woff2/LibertinusSans-Italic.woff2
new file mode 100644
index 0000000000..f5c1f26eeb
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusSans-Italic.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusSans-Regular.woff2 b/fonts/libertinus-fonts/woff2/LibertinusSans-Regular.woff2
new file mode 100644
index 0000000000..3984b0842e
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusSans-Regular.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusSerif-Bold.woff2 b/fonts/libertinus-fonts/woff2/LibertinusSerif-Bold.woff2
new file mode 100644
index 0000000000..f1b7a29820
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusSerif-Bold.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusSerif-BoldItalic.woff2 b/fonts/libertinus-fonts/woff2/LibertinusSerif-BoldItalic.woff2
new file mode 100644
index 0000000000..909e391751
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusSerif-BoldItalic.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusSerif-Italic.woff2 b/fonts/libertinus-fonts/woff2/LibertinusSerif-Italic.woff2
new file mode 100644
index 0000000000..c607e65ca6
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusSerif-Italic.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusSerif-Regular.woff2 b/fonts/libertinus-fonts/woff2/LibertinusSerif-Regular.woff2
new file mode 100644
index 0000000000..a1f209c8ff
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusSerif-Regular.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusSerif-Semibold.woff2 b/fonts/libertinus-fonts/woff2/LibertinusSerif-Semibold.woff2
new file mode 100644
index 0000000000..f1645090e5
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusSerif-Semibold.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusSerif-SemiboldItalic.woff2 b/fonts/libertinus-fonts/woff2/LibertinusSerif-SemiboldItalic.woff2
new file mode 100644
index 0000000000..096615c609
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusSerif-SemiboldItalic.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusSerifDisplay-Regular.woff2 b/fonts/libertinus-fonts/woff2/LibertinusSerifDisplay-Regular.woff2
new file mode 100644
index 0000000000..ab537d98be
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusSerifDisplay-Regular.woff2
Binary files differ
diff --git a/fonts/libertinus-fonts/woff2/LibertinusSerifInitials-Regular.woff2 b/fonts/libertinus-fonts/woff2/LibertinusSerifInitials-Regular.woff2
new file mode 100644
index 0000000000..c111b2670e
--- /dev/null
+++ b/fonts/libertinus-fonts/woff2/LibertinusSerifInitials-Regular.woff2
Binary files differ
diff --git a/fonts/plimsoll/LICENSE b/fonts/plimsoll/LICENSE
new file mode 100644
index 0000000000..f288702d2f
--- /dev/null
+++ b/fonts/plimsoll/LICENSE
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+ To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ <program> Copyright (C) <year> <name of author>
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<https://www.gnu.org/licenses/>.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+<https://www.gnu.org/licenses/why-not-lgpl.html>.
diff --git a/fonts/plimsoll/README b/fonts/plimsoll/README
new file mode 100644
index 0000000000..c96793b7b2
--- /dev/null
+++ b/fonts/plimsoll/README
@@ -0,0 +1,29 @@
+The plimsoll package and fonts.
+
+Copyright 2020 Palle Jørgensen.
+
+This package provides access to the Plimsoll symbol for use with
+LaTeX. The Plimsoll symbol is sometimes used in chemistry for denoting
+standard states and values. The LaTeX package provides access to this
+notation as well. The syntax for denoting the standard state is the
+same as suggested in the Comprehensive LaTeX Symbol List for emulating
+the Plimsoll mark.
+
+View documentation for further details.
+
+This file is part of the LaTeX plimsoll package.
+
+The LaTeX plimsoll package is free software: you can redistribute it
+and/or modify it under the terms of the GNU General Public License as
+published by the Free Software Foundation, either version 3 of the
+License, or (at your option) any later version.
+
+The LaTeX plimsoll package is distributed in the hope that it will be
+useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the LaTeX plimsoll package. If not, see
+<https://www.gnu.org/licenses/>.
+
diff --git a/fonts/plimsoll/plimsoll-sans.afm b/fonts/plimsoll/plimsoll-sans.afm
new file mode 100644
index 0000000000..f040376385
--- /dev/null
+++ b/fonts/plimsoll/plimsoll-sans.afm
@@ -0,0 +1,19 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20190801
+Comment Creation Date: Wed Oct 7 20:43:40 2020
+FontName Plimsoll-Sans
+FullName Plimsoll Sans
+FamilyName Plimsoll
+Weight Regular
+Notice (Copyright (c) 2020, Palle Jorgensen)
+ItalicAngle 0
+IsFixedPitch true
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox 66 64 692 528
+StartCharMetrics 1
+C 1 ; WX 757 ; N CIRCLE_WITH_HORIZONTAL_BAR ; B 66 64 692 528 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/plimsoll/plimsoll-sans.pfb b/fonts/plimsoll/plimsoll-sans.pfb
new file mode 100644
index 0000000000..77383bf4ab
--- /dev/null
+++ b/fonts/plimsoll/plimsoll-sans.pfb
Binary files differ
diff --git a/fonts/plimsoll/plimsoll-sans.sfd b/fonts/plimsoll/plimsoll-sans.sfd
new file mode 100644
index 0000000000..c3311a81b2
--- /dev/null
+++ b/fonts/plimsoll/plimsoll-sans.sfd
@@ -0,0 +1,92 @@
+SplineFontDB: 3.2
+FontName: Plimsoll-Sans
+FullName: Plimsoll Sans
+FamilyName: Plimsoll
+Weight: Regular
+Copyright: Copyright (c) 2020, Palle Jorgensen\n\nThis file is part of the LaTeX plimsoll package.\n\nthe LaTeX plimsoll package is free software: you can redistribute it\nand/or modify it under the terms of the GNU General Public License\nas published by the Free Software Foundation, either version 3 of\nthe License, or (at your option) any later version.\n\nThe LaTeX plimsoll package is distributed in the hope that it will\nbe useful, but WITHOUT ANY WARRANTY; without even the implied\nwarranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See\nthe GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with the LaTeX plimsoll package. If not, see\n<https://www.gnu.org/licenses/>.\n
+UComments: "2020-10-7: Created with FontForge (http://fontforge.org)"
+Version: 001.000
+DefaultBaseFilename: plimsoll-sans
+ItalicAngle: 0
+UnderlinePosition: -100
+UnderlineWidth: 50
+Ascent: 800
+Descent: 200
+InvalidEm: 0
+LayerCount: 2
+Layer: 0 0 "Back" 1
+Layer: 1 0 "Fore" 0
+XUID: [1021 259 529409426 15502714]
+OS2Version: 0
+OS2_WeightWidthSlopeOnly: 0
+OS2_UseTypoMetrics: 1
+CreationTime: 1602061044
+ModificationTime: 1602182764
+OS2TypoAscent: 0
+OS2TypoAOffset: 1
+OS2TypoDescent: 0
+OS2TypoDOffset: 1
+OS2TypoLinegap: 0
+OS2WinAscent: 0
+OS2WinAOffset: 1
+OS2WinDescent: 0
+OS2WinDOffset: 1
+HheadAscent: 0
+HheadAOffset: 1
+HheadDescent: 0
+HheadDOffset: 1
+OS2Vendor: 'PfEd'
+MarkAttachClasses: 1
+DEI: 91125
+Encoding: Custom
+UnicodeInterp: none
+NameList: AGL For New Fonts
+DisplaySize: -48
+AntiAlias: 1
+FitToEm: 0
+WinInfo: 0 37 14
+BeginPrivate: 0
+EndPrivate
+TeXData: 1 0 0 346030 173015 115343 0 1048576 115343 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144
+BeginChars: 256 1
+
+StartChar: CIRCLE_WITH_HORIZONTAL_BAR
+Encoding: 1 10677 0
+Width: 757
+Flags: W
+HStem: 64 73<299.723 457.686> 265 63<66 153.929 225.023 532.767 604.025 692> 455 73<297.756 457.976>
+VStem: 150.342 74.4678<212.551 265 328 380.989> 532.997 74.6611<213.502 265 328 380.117>
+LayerCount: 2
+Fore
+SplineSet
+379 455 m 0
+ 302.97265625 455 257.014648438 409.809570312 232 357 c 0
+ 229.157226562 349.28515625 226.809570312 336.240234375 225.0234375 328 c 1
+ 532.766601562 328 l 1
+ 520.237304688 381.51171875 486.756835938 422.532226562 439 443 c 0
+ 422 451 402 455 379 455 c 0
+379 528 m 0
+ 451.481445312 528 503.498046875 498.501953125 542 460 c 0
+ 576.713867188 425.286132812 599.5390625 382.317382812 607.391601562 328 c 1
+ 692 328 l 1
+ 692 265 l 1
+ 607.658203125 265 l 1
+ 595.736328125 179.940429688 537.084960938 111.036132812 467 81 c 0
+ 440 70 411 64 379 64 c 0
+ 306.518554688 64 254.501953125 93.498046875 216 132 c 0
+ 181.233398438 166.766601562 157.977539062 210.5234375 150.341796875 265 c 1
+ 66 265 l 1
+ 66 328 l 1
+ 150.608398438 328 l 1
+ 162.848632812 412.665039062 221.037109375 481.015625 291 511 c 0
+ 318 522 347 528 379 528 c 0
+224.809570312 265 m 1
+ 236.28125 210.58984375 271.596679688 169.881835938 318 149 c 0
+ 336 141 356 137 379 137 c 0
+ 462.091796875 137 517.556640625 197.05078125 532.997070312 265 c 1
+ 224.809570312 265 l 1
+EndSplineSet
+Validated: 1
+EndChar
+EndChars
+EndSplineFont
diff --git a/fonts/plimsoll/plimsoll-sans.tfm b/fonts/plimsoll/plimsoll-sans.tfm
new file mode 100644
index 0000000000..e1dd4419a6
--- /dev/null
+++ b/fonts/plimsoll/plimsoll-sans.tfm
Binary files differ
diff --git a/fonts/plimsoll/plimsoll.afm b/fonts/plimsoll/plimsoll.afm
new file mode 100644
index 0000000000..9798256e37
--- /dev/null
+++ b/fonts/plimsoll/plimsoll.afm
@@ -0,0 +1,19 @@
+StartFontMetrics 2.0
+Comment Generated by FontForge 20190801
+Comment Creation Date: Wed Oct 7 20:10:07 2020
+FontName Plimsoll
+FullName Plimsoll
+FamilyName Plimsoll
+Weight Regular
+Notice (Copyright (c) 2020, Palle Jorgensen)
+ItalicAngle 0
+IsFixedPitch true
+UnderlinePosition -100
+UnderlineThickness 50
+Version 001.000
+EncodingScheme FontSpecific
+FontBBox 63 56 594 444
+StartCharMetrics 1
+C 1 ; WX 657 ; N CIRCLE_WITH_HORIZONTAL_BAR ; B 63 56 594 444 ;
+EndCharMetrics
+EndFontMetrics
diff --git a/fonts/plimsoll/plimsoll.enc b/fonts/plimsoll/plimsoll.enc
new file mode 100644
index 0000000000..2722a4fd99
--- /dev/null
+++ b/fonts/plimsoll/plimsoll.enc
@@ -0,0 +1,258 @@
+/Plimsoll-Enc [
+ /.notdef % 0x00
+ /CIRCLE_WITH_HORIZONTAL_BAR
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0x10
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0x20
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0x30
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0x40
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0x50
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0x60
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0x70
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0x80
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0x90
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0xa0
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0xb0
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0xc0
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0xd0
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0xe0
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef % 0xf0
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+ /.notdef
+] def
diff --git a/fonts/plimsoll/plimsoll.map b/fonts/plimsoll/plimsoll.map
new file mode 100644
index 0000000000..63dce4dc0f
--- /dev/null
+++ b/fonts/plimsoll/plimsoll.map
@@ -0,0 +1,2 @@
+plimsoll < plimsoll.enc < plimsoll.pfb
+plimsoll-sans < plimsoll.enc < plimsoll-sans.pfb
diff --git a/fonts/plimsoll/plimsoll.pdf b/fonts/plimsoll/plimsoll.pdf
new file mode 100644
index 0000000000..a11c7746e1
--- /dev/null
+++ b/fonts/plimsoll/plimsoll.pdf
Binary files differ
diff --git a/fonts/plimsoll/plimsoll.pfb b/fonts/plimsoll/plimsoll.pfb
new file mode 100644
index 0000000000..76605bb135
--- /dev/null
+++ b/fonts/plimsoll/plimsoll.pfb
Binary files differ
diff --git a/fonts/plimsoll/plimsoll.sfd b/fonts/plimsoll/plimsoll.sfd
new file mode 100644
index 0000000000..3e16ad13cb
--- /dev/null
+++ b/fonts/plimsoll/plimsoll.sfd
@@ -0,0 +1,86 @@
+SplineFontDB: 3.2
+FontName: Plimsoll
+FullName: Plimsoll
+FamilyName: Plimsoll
+Weight: Regular
+Copyright: Copyright (c) 2020, Palle Jorgensen\n\nThis file is part of the LaTeX plimsoll package.\n\nthe LaTeX plimsoll package is free software: you can redistribute it\nand/or modify it under the terms of the GNU General Public License\nas published by the Free Software Foundation, either version 3 of\nthe License, or (at your option) any later version.\n\nThe LaTeX plimsoll package is distributed in the hope that it will\nbe useful, but WITHOUT ANY WARRANTY; without even the implied\nwarranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See\nthe GNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with the LaTeX plimsoll package. If not, see\n<https://www.gnu.org/licenses/>.\n
+UComments: "2020-10-7: Created with FontForge (http://fontforge.org)"
+Version: 001.000
+DefaultBaseFilename: plimsoll
+ItalicAngle: 0
+UnderlinePosition: -100
+UnderlineWidth: 50
+Ascent: 800
+Descent: 200
+InvalidEm: 0
+LayerCount: 2
+Layer: 0 0 "Back" 1
+Layer: 1 0 "Fore" 0
+XUID: [1021 259 529409426 15502714]
+OS2Version: 0
+OS2_WeightWidthSlopeOnly: 0
+OS2_UseTypoMetrics: 1
+CreationTime: 1602061044
+ModificationTime: 1602094091
+OS2TypoAscent: 0
+OS2TypoAOffset: 1
+OS2TypoDescent: 0
+OS2TypoDOffset: 1
+OS2TypoLinegap: 0
+OS2WinAscent: 0
+OS2WinAOffset: 1
+OS2WinDescent: 0
+OS2WinDOffset: 1
+HheadAscent: 0
+HheadAOffset: 1
+HheadDescent: 0
+HheadDOffset: 1
+OS2Vendor: 'PfEd'
+MarkAttachClasses: 1
+DEI: 91125
+Encoding: Custom
+UnicodeInterp: none
+NameList: AGL For New Fonts
+DisplaySize: -48
+AntiAlias: 1
+FitToEm: 0
+WinInfo: 0 37 14
+BeginPrivate: 0
+EndPrivate
+BeginChars: 256 1
+
+StartChar: CIRCLE_WITH_HORIZONTAL_BAR
+Encoding: 1 10677 0
+Width: 657
+Flags: W
+HStem: 56 40<250.75 399.357> 230 40<63.0131 134.775 172.316 478.702 516.18 593.987> 404 40<250.781 399.826>
+VStem: 132.04 40.2584<174.502 230 270 325.498> 478.702 40.2528<173.864 230 270 326.136>
+LayerCount: 2
+Fore
+SplineSet
+172.298419873 230 m 1
+ 182.079886841 155.175506586 246.008981813 96 326 96 c 0
+ 402.449790637 96 468.718880757 153.690636263 478.70241799 230 c 1
+ 172.298419873 230 l 1
+172.31632241 270 m 1
+ 478.70241799 270 l 1
+ 468.718880757 346.309363737 402.449790637 404 326 404 c 0
+ 246.928418803 404 182.228032063 344.824493414 172.31632241 270 c 1
+518.955184511 270 m 1
+ 559 270 l 2
+ 576 270 594 270 594 250 c 0
+ 594 230 576 230 559 230 c 2
+ 518.955184511 230 l 1
+ 508.704131669 132.366671736 424.374288523 56 326 56 c 0
+ 224.872850185 56 142.157969662 133.156176082 132.039970777 230 c 1
+ 98 230 l 2
+ 81 230 63 230 63 250 c 0
+ 63 270 81 270 98 270 c 2
+ 132.05766332 270 l 1
+ 142.254000641 366.057612361 224.931550094 444 326 444 c 0
+ 424.374288523 444 508.704131669 367.633328264 518.955184511 270 c 1
+EndSplineSet
+Validated: 1
+EndChar
+EndChars
+EndSplineFont
diff --git a/fonts/plimsoll/plimsoll.sty b/fonts/plimsoll/plimsoll.sty
new file mode 100644
index 0000000000..59ba70cbcf
--- /dev/null
+++ b/fonts/plimsoll/plimsoll.sty
@@ -0,0 +1,33 @@
+% This file is part of the LaTeX plimsoll package.
+
+% The LaTeX plimsoll package is free software: you can redistribute it
+% and/or modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation, either version 3 of
+% the License, or (at your option) any later version.
+
+% The LaTeX plimsoll package is distributed in the hope that it will
+% be useful, but WITHOUT ANY WARRANTY; without even the implied
+% warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+% the GNU General Public License for more details.
+
+% You should have received a copy of the GNU General Public License
+% along with the LaTeX plimsoll package. If not, see
+% <https://www.gnu.org/licenses/>.
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{plimsoll}[2020/10/09 Plimsoll symbol LaTeX Support,
+Palle Jorgensen. Version 1.]
+\DeclareFontFamily{U}{plimsoll}{}
+\DeclareFontShape{U}{plimsoll}{m}{n}{<->plimsoll}{}
+\DeclareFontShape{U}{plimsoll}{m}{s}{<->plimsoll-sans}{}
+\DeclareSymbolFont{plimsoll}{U}{plimsoll}{m}{n}
+\DeclareSymbolFont{plimsoll-sans}{U}{plimsoll}{m}{s}
+\DeclareMathSymbol\plimsollroman{0}{plimsoll}{"001}
+\DeclareMathSymbol\plimsollsans{0}{plimsoll-sans}{"001}
+\let\plimsoll\plimsollroman
+\def\stst{^{\plimsoll}}
+
+\DeclareOption{sans}{\let\plimsoll\plimsollsans}
+\DeclareOption{circ}{\def\stst{^{\circ}}}
+\ProcessOptions*
+
+\endinput
diff --git a/fonts/plimsoll/plimsoll.tex b/fonts/plimsoll/plimsoll.tex
new file mode 100644
index 0000000000..614d7067e0
--- /dev/null
+++ b/fonts/plimsoll/plimsoll.tex
@@ -0,0 +1,114 @@
+% This file is part of the LaTeX plimsoll package.
+
+% The LaTeX plimsoll package is free software: you can redistribute it
+% and/or modify it under the terms of the GNU General Public License
+% as published by the Free Software Foundation, either version 3 of
+% the License, or (at your option) any later version.
+
+% The LaTeX plimsoll package is distributed in the hope that it will
+% be useful, but WITHOUT ANY WARRANTY; without even the implied
+% warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+% the GNU General Public License for more details.
+
+% You should have received a copy of the GNU General Public License
+% along with the LaTeX plimsoll package. If not, see
+% <https://www.gnu.org/licenses/>.
+\documentclass[11pt,english,fleqn,parskip=half]{scrartcl}
+\usepackage[utf8]{inputenc}
+\usepackage{mathpazo,tgpagella,classico,luximono}
+\usepackage[T1]{fontenc}
+\usepackage{babel} %
+\usepackage{plimsoll} %
+\pdfmapfile{=plimsoll}
+\usepackage{listings}
+\title{The \texttt{plimsoll} package $\plimsollsans$}
+\subtitle{Version 1}
+\author{Palle Jørgensen}
+
+\begin{document}
+\maketitle
+
+\section{Introduction}
+\label{sec:introduction}
+
+This package provides support for the use of the Plimsoll symbol
+``$\plimsoll$'' in \LaTeX.
+
+\section{Loading the package}
+\label{sec:loading-package}
+\begin{lstlisting}[language={[latex]tex}]
+\usepackage{plimsoll}
+\end{lstlisting}
+In math mode the Plimsoll symbol is available with the command
+\lstinline{\plimsoll} command.
+
+\subsection{Options}
+\label{sec:options}
+\begin{description}
+\item[sans] Provides the use of a sans serif version of the Plimsoll
+ symbol: $\plimsollsans$.
+
+ This version of the symbol is available with
+ \lstinline|\plimsollsans| as well.
+\item[circ] Make use of \lstinline{\circ} for denoting the standard
+ state instead of the Plimsoll symbol. See
+ section~\ref{sec:standard-mark}.
+\end{description}
+
+\section{The standard mark}
+\label{sec:standard-mark}
+
+In chemistry the Plimsoll symbol is sometimes used for denoting values
+of funtions of state in the standard state of a chemical agent. This
+could be the standard Gibbs energy $G\stst$.
+
+Denoting the standard state is avaiable in math mode with
+\lstinline{\stst}. This is compatible with the command name suggested
+in the \emph{The Comprehensive \LaTeX\ Symbol List}. An example of
+using the symbol is
+\begin{lstlisting}[language={[latex]tex}]
+\Delta G\stst = \Delta H\stst - T \cdot \Delta S\stst
+\end{lstlisting}
+yielding
+\begin{equation}
+ \label{eq:1}
+ \Delta G \stst = \Delta H\stst - T \cdot \Delta S\stst
+\end{equation}
+The package option \lstinline{circ} redefines the \lstinline{\stst} to
+use the \lstinline{\circ} command instead of the \lstinline{\plimsoll}
+command. This is officially recommended by IUPAC but is not used
+conequently. It appears to be a matter of taste. This package provides
+easy interchange between the two different choices.
+
+\section{License}
+\label{sec:license}
+
+%This file is part of the LaTeX plimsoll package.
+
+The LaTeX plimsoll package is free software: you can redistribute it
+and/or modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation, either version 3 of
+the License, or (at your option) any later version.
+
+The LaTeX plimsoll package is distributed in the hope that it will
+be useful, but WITHOUT ANY WARRANTY; without even the implied
+warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the LaTeX plimsoll package. If not, see
+<https://www.gnu.org/licenses/>.
+
+\clearpage
+\section{Source}
+\label{sec:source}
+
+\lstinputlisting{plimsoll.sty}
+
+
+\end{document}
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: t
+%%% End:
diff --git a/fonts/plimsoll/plimsoll.tfm b/fonts/plimsoll/plimsoll.tfm
new file mode 100644
index 0000000000..395989dcbb
--- /dev/null
+++ b/fonts/plimsoll/plimsoll.tfm
Binary files differ
diff --git a/language/japanese/BX/bxjscls/README-ja.md b/language/japanese/BX/bxjscls/README-ja.md
index 3a71f43a4c..a52f63f2df 100644
--- a/language/japanese/BX/bxjscls/README-ja.md
+++ b/language/japanese/BX/bxjscls/README-ja.md
@@ -99,6 +99,11 @@ XeLaTeX / LuaLaTeX ã®ä¸Šã§ã‚‚日本語処ç†ãƒ‘ッケージã¨é€£æºã—ã¦ä½¿ç
更新履歴
--------
+ * Version 2.3 〈2020/10/10〉
+ - jsclasses ã® 2020/10/05 ã¨åŒæœŸã€‚
+ - minijs パッケージã®èª­è¾¼ã‚’ブロックã™ã‚‹ã€‚
+ - `jafont=auto` 指定ã§ã€updmap 㧠`jaVariant` ㌠`-04` ã«æŒ‡å®šã•ã‚Œã¦
+ ã„ã‚‹å ´åˆã¯ `jis2004` 和文パラメタ指定時ã¨åŒç­‰ã®å‹•ä½œã‚’ã™ã‚‹ã€‚
* Version 2.2c 〈2020/10/04〉
- ãƒã‚°ä¿®æ­£ã€‚
* Version 2.2b 〈2020/09/29〉
diff --git a/language/japanese/BX/bxjscls/README.md b/language/japanese/BX/bxjscls/README.md
index 87f717d1d5..acd69b1d05 100644
--- a/language/japanese/BX/bxjscls/README.md
+++ b/language/japanese/BX/bxjscls/README.md
@@ -89,6 +89,8 @@ This package is distributed under the BSD 2-Clause License.
Revision History
----------------
+ * Version 2.3 〈2020/10/10〉
+ - Sync with jsclasses 2020/10/05.
* Version 2.2c 〈2020/10/04〉
* Version 2.2b 〈2020/09/29〉
- Support LaTeX kernel 2020/10/01.
diff --git a/language/japanese/BX/bxjscls/bxjscls-manual.pdf b/language/japanese/BX/bxjscls/bxjscls-manual.pdf
index 1522dd685f..250272dadb 100644
--- a/language/japanese/BX/bxjscls/bxjscls-manual.pdf
+++ b/language/japanese/BX/bxjscls/bxjscls-manual.pdf
Binary files differ
diff --git a/language/japanese/BX/bxjscls/bxjscls-manual.tex b/language/japanese/BX/bxjscls/bxjscls-manual.tex
index a93aeede27..cec1bf665d 100644
--- a/language/japanese/BX/bxjscls/bxjscls-manual.tex
+++ b/language/japanese/BX/bxjscls/bxjscls-manual.tex
@@ -11,8 +11,8 @@
\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{2.2c}
-\newcommand{\PkgDate}{2020/10/04}
+\newcommand{\PkgVersion}{2.3}
+\newcommand{\PkgDate}{2020/10/10}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}\nobr#1\nobr\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
diff --git a/language/japanese/BX/bxjscls/bxjscls.dtx b/language/japanese/BX/bxjscls/bxjscls.dtx
index 9d44ced949..e3e7a21d00 100644
--- a/language/japanese/BX/bxjscls/bxjscls.dtx
+++ b/language/japanese/BX/bxjscls/bxjscls.dtx
@@ -25,7 +25,7 @@
%
%---------------------------------------
%
-% Copyright 1993-2019
+% Copyright 1993-2020
% The LaTeX3 Project and any individual authors listed elsewhere
% in this file.
%
@@ -41,7 +41,7 @@
% \iffalse
%
% \begin{macrocode}
-%<article|report|book|slide>\NeedsTeXFormat{LaTeX2e}
+%<class|anc>\NeedsTeXFormat{LaTeX2e}
%<article>\ProvidesClass{bxjsarticle}
%<report>\ProvidesClass{bxjsreport}
%<book>\ProvidesClass{bxjsbook}
@@ -56,7 +56,9 @@
%<*driver>
\ProvidesFile{bxjscls.dtx}
%</driver>
- [2020/10/04 v2.2c BXJS document classes]
+ [2020/10/10 v2.3 BXJS document classes]
+% based on jsclasses [2020/10/05]
+% [2020/10/04 v2.2c BXJS document classes]
% [2020/09/29 v2.2b BXJS document classes]
% [2020/09/22 v2.2a BXJS document classes]
% [2020/09/04 v2.2 BXJS document classes]
@@ -273,9 +275,19 @@
% \StopEventually{}
%
% 以下ã§ã¯å®Ÿéš›ã®ã‚³ãƒ¼ãƒ‰ã«å³ã—ã¦èª¬æ˜Žã—ã¾ã™ã€‚
+%
+% \texttt{minijs}ã¯ï¼Œ\texttt{jsclasses}ã«ä¼¼ãŸè¨­å®šã‚’è¡Œã†ãƒ‘ッケージã§ã™ã€‚
+%
% \begin{macrocode}
-%<*cls>
-%% ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ—¥æœ¬èªžæ–‡å­—ã‚’å«ã¿ã¾ã™.
+%<*minijs>
+%% if jsclasses loaded, abort loading this package
+\ifx\@jsc@uplatextrue\@undefined\else
+ \PackageInfo{minijs}{jsclasses does not need minijs, exiting}
+ \expandafter\endinput
+\fi
+%% "fake" jsarticle
+\expandafter\def\csname ver@jsarticle.cls\endcsname{}
+%</minijs>
% \end{macrocode}
%
% \begin{macro}{\bxjs@clsname}
@@ -283,6 +295,8 @@
% 文書クラスã®åå‰ã§ã™ã€‚エラーメッセージ表示ãªã©ã§ä½¿ã‚ã‚Œã¾ã™ã€‚
%
% \begin{macrocode}
+%<*class>
+%% ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯æ—¥æœ¬èªžæ–‡å­—ã‚’å«ã¿ã¾ã™.
%<article>\def\bxjs@clsname{bxjsarticle}
%<book>\def\bxjs@clsname{bxjsbook}
%<report>\def\bxjs@clsname{bxjsreport}
@@ -2427,6 +2441,11 @@
% [2017-01-11] トンボオプションãŒæŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã¨ã「ã ã‘ã€|\stockwidth|,
% |\stockheight|を定義ã™ã‚‹ã‚ˆã†ã«ã—ã¾ã—ãŸã€‚
%
+% [2020-10-04] \LaTeXe~2020-10-01ã§ã‚«ãƒ¼ãƒãƒ«ã® |\shipout| コードãŒæ‹¡å¼µã•ã‚Œ
+% |\AtBeginDvi| ã®å®Ÿè¡Œã‚¿ã‚¤ãƒŸãƒ³ã‚°ãŒå¤‰åŒ–ã—ãŸã®ã§ï¼Œã“ã®æ™‚点ã§
+% 発行ã™ã‚‹ |\special| ã®ä¸­èº«ã‚’展開ã—ã¦ãŠãよã†ã«ã—ã¾ã—ãŸã€‚
+% ã“ã†ã—ãªã„ã¨ï¼Œç”¨ç´™ã‚µã‚¤ã‚ºè¨­å®šã‚’é–“é•ã£ã¦ã—ã¾ã„ã¾ã™(Issue \#72)。
+%
% \begin{ZRnote}
% BXJSã§ã¯å‡ºåŠ›ç”¨ç´™ã‚µã‚¤ã‚ºè¨˜éŒ²ã¯ |geometry| パッケージãŒè¡Œã†ã€‚
%
@@ -2953,7 +2972,12 @@
% ã“ã“ã§å®Ÿéš›ã«æ¨™æº–フォントサイズã§åˆæœŸåŒ–ã—ã¾ã™ã€‚
%
% \begin{macrocode}
+%</class>
+%<*class|minijs>
+%% initialize
\normalsize
+%</class|minijs>
+%<*class>
% \end{macrocode}
%
% \end{macro}
@@ -8112,12 +8136,11 @@
% \end{macrocode}
%
% ãŠã—ã¾ã„。
+% \end{ZRnote}
% \begin{macrocode}
-%</cls>
+%</class>
% \end{macrocode}
%
-% \end{ZRnote}
-%
% 以上ã§ã™ã€‚
%
%^^A////////////////////////////////////////////////////////
@@ -8533,6 +8556,9 @@
% \Note 2020-02-02ã®NFSSã®æ”¹ä¿®ã«å¯¾ã™ã‚‹ |jsclasses| ã®å¯¾ç­–ã‚’
% å–り入れãŸã€‚
% \begin{macrocode}
+\@ifl@t@r\fmtversion{2020/10/01}
+ {\jsc@needsp@tchfalse}{\jsc@needsp@tchtrue}
+\ifjsc@needsp@tch % --- for 2020-02-02 or older BEGIN
\ifx\@rmfamilyhook\@undefined % old
\DeclareRobustCommand\rmfamily
{\not@math@alphabet\rmfamily\mathrm
@@ -8562,6 +8588,14 @@
\g@addto@macro\@ttfamilyhook
{\prepare@family@series@update@kanji{gt}\gtdefault}
\fi
+\else % --- for 2020-02-02 or older END & for 2020-10-01 BEGIN
+\AddToHook{rmfamily}%
+ {\prepare@family@series@update@kanji{mc}\mcdefault}
+\AddToHook{sffamily}%
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\AddToHook{ttfamily}%
+ {\prepare@family@series@update@kanji{gt}\gtdefault}
+\fi % --- for 2020-10-01 END
\ifx\DeclareFixJFMCJKTextFontCommand\@undefined
\DeclareJaTextFontCommand{\textmc}{\mcfamily}
\DeclareJaTextFontCommand{\textgt}{\gtfamily}
@@ -8645,11 +8679,18 @@
!else\hbox{\yoko\@textsuperscript{\normalfont\@thefnmark}}!fi}
\fi
% \end{macrocode}
-%
+% エスケープ文字ã®å¤‰æ›´ã¯ã“ã“ã¾ã§ã€‚
% \begin{macrocode}
\endgroup
% \end{macrocode}
%
+% \paragraph{minijsパッケージã®ãƒ–ロック}
+%
+% ã‚„ã£ã¦ãŠã。
+% \begin{macrocode}
+\@namedef{ver@minijs.sty}{}
+% \end{macrocode}
+%
%^^A----------------
% \subsection{pdf{\TeX}用ã®å‡¦ç†}
%
@@ -9056,11 +9097,13 @@
% \Note |otf| ã‚„ |luatexja-preset| ç­‰ã®ãƒ‘ッケージãŒã“ã®ã‚ªãƒ—ションを
% 利用ã™ã‚‹ã€‚
% \begin{macrocode}
-\ifbxjs@jp@jismmiv
+\@onlypreamble\bxjs@apply@mmiv
+\def\bxjs@apply@mmiv{%
\g@addto@macro\@classoptionslist{,jis2004}
% \@ifpackagewith 判定ã¸ã®å¯¾ç­–
\PassOptionsToPackage{jis2004}{otf}
-\fi
+ \global\let\bxjs@apply@mmiv\relax}
+\ifbxjs@jp@jismmiv \bxjs@apply@mmiv \fi
% \end{macrocode}
%
% \paragraph{和文用å˜ä½ã®ã‚µãƒãƒ¼ãƒˆ}
@@ -9354,10 +9397,13 @@
\def\bxjs@adjust@jafont#1{%
\ifx\jsJaFont\bxjs@@auto
\bxjs@get@kanjiEmbed
- \ifx\bxjs@kanjiEmbed\relax
+ \ifx\bxjs@jaEmbed\relax
\let\bxjs@tmpa\@empty
\else
- \let\bxjs@tmpa\bxjs@kanjiEmbed
+ \let\bxjs@tmpa\bxjs@jaEmbed
+ \ifx\bxjs@jaVariant\bxjs@@hziv
+ \bxjs@apply@mmiv
+ \fi
\fi
\else
\let\bxjs@tmpa\jsJaFont
@@ -9371,24 +9417,41 @@
}
\def\bxjs@@auto{auto}
\def\bxjs@@noEmbed{noEmbed}
+\def\bxjs@@hziv{-04}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\bxjs@kanjiEmbed}
-% ç¾åœ¨ã® |updmap| ã® |kanjiEmbed| パラメタã®å€¤ã€‚
+% \begin{macro}{\bxjs@jaEmbed}
+% \begin{macro}{\bxjs@jaVariant}
+% ç¾åœ¨ã® |updmap| ã® |jaEmbed|・|jaVariant| パラメタã®å€¤ã€‚
% |\bxjs@get@kanjiEmbed| ã«ã‚ˆã‚Šå®Ÿéš›ã®è¨­å®šå€¤ãŒå–å¾—ã•ã‚Œã¦ã“ã“ã«è¨­å®šã•ã‚Œã‚‹ã€‚
+% \Note å¤ã„版㮠|updmap| ã§ã¯ |kanjiEmbed|・|kanjiVariant| ã§ã‚ã£ãŸã€‚
% \begin{macrocode}
-\let\bxjs@kanjiEmbed\relax
+\let\bxjs@jaEmbed\relax
+\let\bxjs@jaVariant\relax
% \end{macrocode}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\bxjs@get@kanjiEmbed}
-% ç¾åœ¨ã® |updmap| ã® |kanjiEmbed| パラメタã®å€¤ã‚’å–å¾—ã™ã‚‹ã€‚
+% ç¾åœ¨ã® |updmap| ã® |jaEmbed|・|jaVariant| パラメタã®å€¤ã‚’å–å¾—ã™ã‚‹ã€‚
% \begin{macrocode}
\@onlypreamble\bxjs@get@kanjiEmbed
\def\bxjs@get@kanjiEmbed{%
\begingroup\setbox\z@=\hbox{%
+ \global\let\bxjs@do\@empty
+ \def\bxjs@next##1##2##3{%
+ \def##1####1##3 ####2\@nil####3\@nnil{%
+ \ifx$####1$\gdef##2{####2}\fi}%
+ \g@addto@macro\bxjs@do{%
+ \expandafter##1\bxjs@tmpa\@nil##3 \@nil\@nnil}}%
+ \bxjs@next\bxjs@do@a\bxjs@g@tmpa{kanjiEmbed}%
+ \bxjs@next\bxjs@do@b\bxjs@g@tmpa{jaEmbed}%
+ \bxjs@next\bxjs@do@c\bxjs@g@tmpb{kanjiVariant}%
+ \bxjs@next\bxjs@do@d\bxjs@g@tmpb{jaVariant}%
+%
\global\let\bxjs@g@tmpa\relax
+ \global\let\bxjs@g@tmpb\relax
\endlinechar\m@ne
\let\do\@makeother\dospecials
\catcode32=10 \catcode12=10 %form-feed
@@ -9403,32 +9466,14 @@
\@tempswatrue
\loop\if@tempswa
\read\@inputcheck to\bxjs@tmpa
- \expandafter\bxjs@get@ke@a\bxjs@tmpa\@nil kanjiEmbed \@nil\@nnil
- \ifx\bxjs@tmpb\relax\else
- \global\let\bxjs@g@tmpa\bxjs@tmpb
- \@tempswafalse
- \fi
- \expandafter\bxjs@get@ke@b\bxjs@tmpa\@nil jaEmbed \@nil\@nnil
- \ifx\bxjs@tmpb\relax\else
- \global\let\bxjs@g@tmpa\bxjs@tmpb
- \@tempswafalse
- \fi
+ \bxjs@do
\ifeof\@inputcheck \@tempswafalse \fi
\repeat
\fi
}\endgroup
- \let\bxjs@kanjiEmbed\bxjs@g@tmpa
+ \let\bxjs@jaEmbed\bxjs@g@tmpa
+ \let\bxjs@jaVariant\bxjs@g@tmpb
}
-\@onlypreamble\bxjs@get@ke@a
-\def\bxjs@get@ke@a#1kanjiEmbed #2\@nil#3\@nnil{%
- \ifx$#1$\def\bxjs@tmpb{#2}%
- \else \let\bxjs@tmpb\relax
- \fi}
-\@onlypreamble\bxjs@get@ke@b
-\def\bxjs@get@ke@b#1jaEmbed #2\@nil#3\@nnil{%
- \ifx$#1$\def\bxjs@tmpb{#2}%
- \else \let\bxjs@tmpb\relax
- \fi}
% \end{macrocode}
% \end{macro}
%
@@ -9440,10 +9485,10 @@
\@onlypreamble\bxjs@resolve@jafont@paren
\def\bxjs@resolve@jafont@paren#1{%
\def\bxjs@tmpb{\let#1}%
- \expandafter\bxjs@resolve@jafont@paren@a#1\@nil()\@nil\relax}
+ \expandafter\bxjs@resolve@jafont@paren@a#1\@nil()\@nil\@nnil#1}
\@onlypreamble\bxjs@resolve@jafont@paren@a
-\def\bxjs@resolve@jafont@paren@a#1(#2)#3\@nil#4\relax{%
- \ifx\relax#4\relax \bxjs@tmpb\jsJaFont
+\def\bxjs@resolve@jafont@paren@a#1(#2)#3\@nil#4\@nnil#5{%
+ \ifx\relax#4\relax \bxjs@tmpb#5%
\else
\edef\bxjs@tmpa{#1\bxjs@jafont@paren{#2}#3}%
\bxjs@tmpb\bxjs@tmpa
@@ -9738,6 +9783,11 @@
% \begin{macrocode}
\if \ifx\bxjs@driver@given\bxjs@driver@@dvipdfmx T%
\else\ifjsWithpTeXng T\else F\fi\fi T%
+ \IfFileExists{pxjahyper-enc.sty}{\@tempswatrue}{\@tempswafalse}
+ \if@tempswa
+ \RequirePackage{pxjahyper-enc}[2020/10/05]%v0.6
+ \ifbxjs@bigcode\else \suppressbigcode \fi
+ \else
\ifnum\jis"2121="A1A1 %euc
\bxjs@urgent@special{pdf:tounicode EUC-UCS2}
\else\ifnum\jis"2121="8140 %sjis
@@ -9748,9 +9798,11 @@
\PassOptionsToPackage{bigcode}{pxjahyper}
\else
\bxjs@urgent@special{pdf:tounicode UTF8-UCS2}
+ \PassOptionsToPackage{nobigcode}{pxjahyper}
\fi
\fi\fi\fi
\let\bxToUnicodeSpecialDone=t
+ \fi
\fi
% \end{macrocode}
%
diff --git a/language/japanese/BX/bxjscls/bxjscls.ins b/language/japanese/BX/bxjscls/bxjscls.ins
index 0e533ebe34..d763620d12 100644
--- a/language/japanese/BX/bxjscls/bxjscls.ins
+++ b/language/japanese/BX/bxjscls/bxjscls.ins
@@ -2,10 +2,10 @@
\def\batchfile{bxjscls.ins}
\input docstrip.tex
\keepsilent
-\generateFile{bxjsarticle.cls}{f}{\from{bxjscls.dtx}{cls,article}}
-\generateFile{bxjsreport.cls}{f}{\from{bxjscls.dtx}{cls,report}}
-\generateFile{bxjsbook.cls}{f}{\from{bxjscls.dtx}{cls,book}}
-\generateFile{bxjsslide.cls}{f}{\from{bxjscls.dtx}{cls,slide}}
+\generateFile{bxjsarticle.cls}{f}{\from{bxjscls.dtx}{class,article}}
+\generateFile{bxjsreport.cls}{f}{\from{bxjscls.dtx}{class,report}}
+\generateFile{bxjsbook.cls}{f}{\from{bxjscls.dtx}{class,book}}
+\generateFile{bxjsslide.cls}{f}{\from{bxjscls.dtx}{class,slide}}
\generateFile{bxjsja-minimal.def}{f}{\from{bxjscls.dtx}{drv,minimal}}
\generateFile{bxjsja-standard.def}{f}{\from{bxjscls.dtx}{drv,standard}}
\generateFile{bxjsja-modern.def}{f}{\from{bxjscls.dtx}{drv,modern}}
diff --git a/language/japanese/BX/bxjscls/bxjscls.pdf b/language/japanese/BX/bxjscls/bxjscls.pdf
index 8a3abf0ea6..dceb12a49f 100644
--- a/language/japanese/BX/bxjscls/bxjscls.pdf
+++ b/language/japanese/BX/bxjscls/bxjscls.pdf
Binary files differ
diff --git a/macros/latex/base/README.md b/macros/latex/base/README.md
index 36decd0156..f10a94deee 100644
--- a/macros/latex/base/README.md
+++ b/macros/latex/base/README.md
@@ -1,7 +1,7 @@
The LaTeX kernel
================
-Release 2020-10-01
+Release 2020-10-01 patch level 1
Overview
--------
diff --git a/macros/latex/base/alltt.pdf b/macros/latex/base/alltt.pdf
index 0b9fe6d7db..3e1905c11e 100644
--- a/macros/latex/base/alltt.pdf
+++ b/macros/latex/base/alltt.pdf
Binary files differ
diff --git a/macros/latex/base/cfgguide.pdf b/macros/latex/base/cfgguide.pdf
index 5a47682b94..570ac543f2 100644
--- a/macros/latex/base/cfgguide.pdf
+++ b/macros/latex/base/cfgguide.pdf
Binary files differ
diff --git a/macros/latex/base/changes.txt b/macros/latex/base/changes.txt
index 00407db4bb..36a22af10e 100644
--- a/macros/latex/base/changes.txt
+++ b/macros/latex/base/changes.txt
@@ -6,6 +6,45 @@ completeness or accuracy and it contains some references to files that
are not part of the distribution.
================================================================================
+================================================================================
+All changes above are only part of the development branch for the next release.
+================================================================================
+
+#########################
+# 2020-10-01 PL 1 Release
+#########################
+
+2020-10-08 Phelype Oleinik <phelype.oleinik@latex-project.org>
+
+ * ltclass.dtx:
+ Fix loading expl3-based package after rollback to 2020-02-02 (gh/406).
+
+2020-10-08 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfssini.dtx: removed redundant code and fixed a misspelling
+ in a csname - no functional change (gh/405)
+
+2020-10-04 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltxdoc.dtx (section{DocInclude}):
+ Quotes around the aux file name removed,
+ they are not needed and upset BibTeX (gh/400)
+
+2020-10-04 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * ltfiles.dtx (section{File Handling}):
+ Quotes around the aux file name removed,
+ they are not needed and upset BibTeX (gh/400)
+
+2020-10-04 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * lthooks.dtx (subsection{Internal commands needed elsewhere}):
+ Definition \AddToHookNext was supposed to be for \AddToHook (gh/401)
+
+#########################
+# 2020-10-01 Release
+#########################
+
2020-10-01 Joseph Wright <Joseph.Wright@latex-project.org>
* ltclass.dtx:
@@ -419,11 +458,6 @@ are not part of the distribution.
XeTeX-specific definition for \symbol to avoid bug in maths mode (gh/124)
-================================================================================
-All changes above are only part of the development branch for the next release.
-================================================================================
-
-
#########################
# 2020-02-02 PL 5 Release
#########################
diff --git a/macros/latex/base/classes.pdf b/macros/latex/base/classes.pdf
index dc3eb1a664..4cc983e297 100644
--- a/macros/latex/base/classes.pdf
+++ b/macros/latex/base/classes.pdf
Binary files differ
diff --git a/macros/latex/base/clsguide.pdf b/macros/latex/base/clsguide.pdf
index 8f9cf9477b..49b8cc76a4 100644
--- a/macros/latex/base/clsguide.pdf
+++ b/macros/latex/base/clsguide.pdf
Binary files differ
diff --git a/macros/latex/base/cmfonts.pdf b/macros/latex/base/cmfonts.pdf
index 62ca1c1041..ff673d73bd 100644
--- a/macros/latex/base/cmfonts.pdf
+++ b/macros/latex/base/cmfonts.pdf
Binary files differ
diff --git a/macros/latex/base/cyrguide.pdf b/macros/latex/base/cyrguide.pdf
index a7e2562d98..ee3a39c730 100644
--- a/macros/latex/base/cyrguide.pdf
+++ b/macros/latex/base/cyrguide.pdf
Binary files differ
diff --git a/macros/latex/base/doc.pdf b/macros/latex/base/doc.pdf
index d911f9e920..dc66e7df02 100644
--- a/macros/latex/base/doc.pdf
+++ b/macros/latex/base/doc.pdf
Binary files differ
diff --git a/macros/latex/base/docstrip.pdf b/macros/latex/base/docstrip.pdf
index 84684a2c6b..766592f1f9 100644
--- a/macros/latex/base/docstrip.pdf
+++ b/macros/latex/base/docstrip.pdf
Binary files differ
diff --git a/macros/latex/base/encguide.pdf b/macros/latex/base/encguide.pdf
index 5c5526b11d..6ca1541239 100644
--- a/macros/latex/base/encguide.pdf
+++ b/macros/latex/base/encguide.pdf
Binary files differ
diff --git a/macros/latex/base/exscale.pdf b/macros/latex/base/exscale.pdf
index ad34bdf912..69727ba012 100644
--- a/macros/latex/base/exscale.pdf
+++ b/macros/latex/base/exscale.pdf
Binary files differ
diff --git a/macros/latex/base/fix-cm.pdf b/macros/latex/base/fix-cm.pdf
index 7249ef595d..bc778e9a23 100644
--- a/macros/latex/base/fix-cm.pdf
+++ b/macros/latex/base/fix-cm.pdf
Binary files differ
diff --git a/macros/latex/base/fntguide.pdf b/macros/latex/base/fntguide.pdf
index 5d8ec2d612..c89713ed12 100644
--- a/macros/latex/base/fntguide.pdf
+++ b/macros/latex/base/fntguide.pdf
Binary files differ
diff --git a/macros/latex/base/graphpap.pdf b/macros/latex/base/graphpap.pdf
index 79f77e32cb..e417f74dde 100644
--- a/macros/latex/base/graphpap.pdf
+++ b/macros/latex/base/graphpap.pdf
Binary files differ
diff --git a/macros/latex/base/ifthen.pdf b/macros/latex/base/ifthen.pdf
index 8b15d8eb47..a6be5d449d 100644
--- a/macros/latex/base/ifthen.pdf
+++ b/macros/latex/base/ifthen.pdf
Binary files differ
diff --git a/macros/latex/base/inputenc.pdf b/macros/latex/base/inputenc.pdf
index 16246b70fd..76ed961588 100644
--- a/macros/latex/base/inputenc.pdf
+++ b/macros/latex/base/inputenc.pdf
Binary files differ
diff --git a/macros/latex/base/latexchanges.pdf b/macros/latex/base/latexchanges.pdf
index 27269b2541..d5c1ff3e85 100644
--- a/macros/latex/base/latexchanges.pdf
+++ b/macros/latex/base/latexchanges.pdf
Binary files differ
diff --git a/macros/latex/base/latexrelease.pdf b/macros/latex/base/latexrelease.pdf
index 26e1feff1f..5b8221881f 100644
--- a/macros/latex/base/latexrelease.pdf
+++ b/macros/latex/base/latexrelease.pdf
Binary files differ
diff --git a/macros/latex/base/latexsym.pdf b/macros/latex/base/latexsym.pdf
index b273c4d148..82bad4ba5c 100644
--- a/macros/latex/base/latexsym.pdf
+++ b/macros/latex/base/latexsym.pdf
Binary files differ
diff --git a/macros/latex/base/lb2.pdf b/macros/latex/base/lb2.pdf
index 98f058af57..a5f2bd43f0 100644
--- a/macros/latex/base/lb2.pdf
+++ b/macros/latex/base/lb2.pdf
Binary files differ
diff --git a/macros/latex/base/letter.pdf b/macros/latex/base/letter.pdf
index a142d55a1f..ae5549b6d5 100644
--- a/macros/latex/base/letter.pdf
+++ b/macros/latex/base/letter.pdf
Binary files differ
diff --git a/macros/latex/base/lgc2.pdf b/macros/latex/base/lgc2.pdf
index 17aa4f909c..5cb60acbbd 100644
--- a/macros/latex/base/lgc2.pdf
+++ b/macros/latex/base/lgc2.pdf
Binary files differ
diff --git a/macros/latex/base/lppl.pdf b/macros/latex/base/lppl.pdf
index 2bf460dc7d..5c60effa01 100644
--- a/macros/latex/base/lppl.pdf
+++ b/macros/latex/base/lppl.pdf
Binary files differ
diff --git a/macros/latex/base/ltclass.dtx b/macros/latex/base/ltclass.dtx
index bc6500541e..e771044e66 100644
--- a/macros/latex/base/ltclass.dtx
+++ b/macros/latex/base/ltclass.dtx
@@ -33,7 +33,7 @@
%<*driver>
% \fi
\ProvidesFile{ltclass.dtx}
- [2020/10/01 v1.3r LaTeX Kernel (Class & Package Interface)]
+ [2020/10/08 v1.3s LaTeX Kernel (Class & Package Interface)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltclass.dtx}
@@ -561,6 +561,7 @@
% |#4| Rest of the stack.
% \changes{v1.3l}{2020/06/05}{Added \cs{@expl@push@filename@@}
% and \cs{@expl@push@filename@aux@@}}
+% \changes{v1.3s}{2020/10/08}{Added missing 2020/02/02 \cs{IncludeInRelease}}
% \begin{macrocode}
%</2ekernel>
%<*2ekernel|latexrelease>
@@ -586,6 +587,27 @@
\@currnamestack}%
\@expl@push@filename@aux@@}
%<latexrelease>\EndIncludeInRelease
+% \end{macrocode}
+%
+% The following version of \cs{@pushfilename} didn't formally exist in
+% this file, but in the 2020/02/02 release, \pkg{expl3} was preloaded
+% and it patched \cs{@pushfilename} (and \cs{@popfilename}) by adding
+% some hooks in there. But rolling back to 2020/02/02, \pkg{expl3}
+% doesn't patch these macros again, so rolling back has to take those
+% hooks into account. Same goes for \cs{@popfilename}.
+% \begin{macrocode}
+%<latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}{\@pushfilename}%
+%<latexrelease> {Add \@expl@push@filename@@}%
+%<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>\EndIncludeInRelease
%<latexrelease>
%<latexrelease>\IncludeInRelease{0000/00/00}{\@pushfilename}%
%<latexrelease> {Add \@expl@push@filename@@ and \@expl@push@filename@aux@@}%
@@ -613,6 +635,12 @@
\@expl@pop@filename@@}
%<latexrelease>\EndIncludeInRelease
%<latexrelease>
+%<latexrelease>\IncludeInRelease{2020/02/02}{\@popfilename}%
+%<latexrelease> {Add \@expl@push@filename@@}%
+%<latexrelease>\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil
+%<latexrelease> \@expl@pop@filename@@}
+%<latexrelease>\EndIncludeInRelease
+%<latexrelease>
%<latexrelease>\IncludeInRelease{0000/00/00}{\@popfilename}%
%<latexrelease> {Add \@expl@push@filename@@ and \@expl@push@filename@aux@@}%
%<latexrelease>\def\@popfilename{\expandafter\@p@pfilename\@currnamestack\@nil}
diff --git a/macros/latex/base/ltfilehook-code.pdf b/macros/latex/base/ltfilehook-code.pdf
index 7b2ab3e4aa..695028ba23 100644
--- a/macros/latex/base/ltfilehook-code.pdf
+++ b/macros/latex/base/ltfilehook-code.pdf
Binary files differ
diff --git a/macros/latex/base/ltfilehook-doc.pdf b/macros/latex/base/ltfilehook-doc.pdf
index c8fa06d91d..cd3cf7d46e 100644
--- a/macros/latex/base/ltfilehook-doc.pdf
+++ b/macros/latex/base/ltfilehook-doc.pdf
Binary files differ
diff --git a/macros/latex/base/ltfiles.dtx b/macros/latex/base/ltfiles.dtx
index 835f600e32..99be77c844 100644
--- a/macros/latex/base/ltfiles.dtx
+++ b/macros/latex/base/ltfiles.dtx
@@ -32,7 +32,7 @@
%<*driver>
% \fi
\ProvidesFile{ltfiles.dtx}
- [2020/08/21 v1.2i LaTeX Kernel (File Handling)]
+ [2020/10/04 v1.2j LaTeX Kernel (File Handling)]
% \iffalse
\documentclass{ltxdoc}
\GetFileInfo{ltfiles.dtx}
@@ -824,11 +824,13 @@
%<latexrelease> {\@include}{Spaces in file names and hooks}%
% \end{macrocode}
%
+% \changes{v1.2j}{2020/10/04}{Quotes around the aux file name removed,
+% they are not needed and upset BibTeX (gh/400)}
% \begin{macrocode}
\def\@include#1 {%
\clearpage
\if@filesw
- \immediate\write\@mainaux{\string\@input{"#1.aux"}}%
+ \immediate\write\@mainaux{\string\@input{#1.aux}}%
\fi
\@tempswatrue
\if@partsw
diff --git a/macros/latex/base/ltfssini.dtx b/macros/latex/base/ltfssini.dtx
index 10f3dc5863..fbea725c1d 100644
--- a/macros/latex/base/ltfssini.dtx
+++ b/macros/latex/base/ltfssini.dtx
@@ -36,7 +36,7 @@
%
%
\ProvidesFile{ltfssini.dtx}
- [2020/09/30 v3.2d LaTeX Kernel (NFSS Initialisation)]
+ [2020/10/08 v3.2e LaTeX Kernel (NFSS Initialisation)]
% \iffalse
\documentclass{ltxdoc}
\begin{document}
@@ -1070,17 +1070,23 @@
% \begin{macro}{\@rmfamilyhook}
% \begin{macro}{\@sffamilyhook}
% \begin{macro}{\@ttfamilyhook}
+% \begin{macro}{\@defaultfamilyhook}
+% \changes{v3.1h}{2020/02/10}{Add \cs{@defaultfamilyhook} to \cs{normalfont} (gh/269)}
% These four hooks have legacy versions used in 2020/02/02 so we
% should support them until they aren't any longer used.
+%
+% By default the hooks do nothing.
% \begin{macrocode}
\let\@rmfamilyhook\@empty
\let\@sffamilyhook\@empty
\let\@ttfamilyhook\@empty
-\let\@defaulfamilyhook\@empty
+\let\@defaultfamilyhook\@empty %FMi sort out
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+%
%
% \begin{macrocode}
%</2ekernel|latexrelease>
@@ -1787,13 +1793,6 @@
% \end{macro}
%
%
-% \begin{macro}{\@defaultfamilyhook}
-% 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 %FMi sort out
-% \end{macrocode}
-% \end{macro}
%
% \begin{macrocode}
%</2ekernel|latexrelease>
diff --git a/macros/latex/base/lthooks-code.pdf b/macros/latex/base/lthooks-code.pdf
index e93647bf1b..b0b5f66939 100644
--- a/macros/latex/base/lthooks-code.pdf
+++ b/macros/latex/base/lthooks-code.pdf
Binary files differ
diff --git a/macros/latex/base/lthooks-doc.pdf b/macros/latex/base/lthooks-doc.pdf
index c3be9771c9..b547c414a1 100644
--- a/macros/latex/base/lthooks-doc.pdf
+++ b/macros/latex/base/lthooks-doc.pdf
Binary files differ
diff --git a/macros/latex/base/lthooks.dtx b/macros/latex/base/lthooks.dtx
index cb48570a0d..a5953cc25d 100644
--- a/macros/latex/base/lthooks.dtx
+++ b/macros/latex/base/lthooks.dtx
@@ -31,8 +31,8 @@
%%% From File: lthooks.dtx
%
% \begin{macrocode}
-\def\lthooksversion{v1.0b}
-\def\lthooksdate{2020/09/21}
+\def\lthooksversion{v1.0d}
+\def\lthooksdate{2020/10/09}
% \end{macrocode}
%
%<*driver>
@@ -256,6 +256,11 @@
% is used in a package/class, then the current
% package/class name is used, otherwise \hook{top-level} is used.
%
+% If the code for that \meta{label} wasn't yet added to the
+% \meta{hook}, an order is set so that when some code attempts to add
+% that label, the removal order takes action and the code is not
+% added.
+%
% If the optional argument is \texttt{*}, then all code chunks are
% removed. This is rather dangerous as it drops code from other
% packages one may not know about!
@@ -648,10 +653,72 @@
%
% \cs{LogHook} prints the information to the |.log| file, and
% \cs{ShowHook} prints them to the terminal/command window and starts
-% \TeX's prompt (only if \cs{errorstopmode}) to wait for user action.
+% \TeX's prompt (only in \cs{errorstopmode}) to wait for user action.
%
% The \meta{hook} can be specified using the dot-syntax to denote
% the current package name. See section~\ref{sec:default-label}.
+%
+%^^A % Code for the listing below:
+%^^A \NewHook{example-hook}
+%^^A \AddToHook{example-hook}[foo]{[code from package 'foo']}
+%^^A \AddToHook{example-hook}[bar]{[from package 'bar']}
+%^^A \AddToHook{example-hook}[baz]{[package 'baz' is here]}
+%^^A \AddToHookNext{example-hook}{[one-time code]}
+%^^A \DeclareHookRule{example-hook}{baz}{before}{foo}
+%^^A \DeclareDefaultHookRule{bar}{after}{baz}
+%^^A \ShowHook{example-hook}
+%
+% \def\theFancyVerbLine{\textcolor[gray]{0.5}{%^^A
+% \sffamily\tiny\arabic{FancyVerbLine}}}
+%
+% \bigskip
+% Suppose a hook \texttt{example-hook} whose output of
+% \cs{ShowHook}|{example-hook}| is:
+% \begin{verbatim}[numbers=left]
+% -> The hook 'example-hook':
+% > Code chunks:
+% > foo -> [code from package 'foo']
+% > bar -> [from package 'bar']
+% > baz -> [package 'baz' is here]
+% > Extra code for next invocation:
+% > -> [one-time code]
+% > Rules:
+% > foo|baz with relation >
+% > baz|bar with default relation <
+% > Execution order (after applying rules):
+% > bar, baz, foo.
+% \end{verbatim}
+%
+% In the listing above, lines~3 to~5 show the three code chunks added
+% to the hook and their respective labels in the format
+% \begin{quote}
+% \quad \meta{label}\verb| -> |\meta{code}
+% \end{quote}
+%
+% Line~7 shows the code chunk for the next execution of the hook in
+% the format
+% \begin{quote}
+% \quad \verb|-> |\meta{next-code}
+% \end{quote}
+% This code will be used and disappear at the next
+% \verb|\UseHook{example-hook}|, in contrast to the chunks mentioned
+% earlier, which can only be removed from that hook by doing
+% \verb|\RemoveFromHook{|\meta{label}|}[example-hook]|.
+%
+% Lines~9 and~10 show the rules declared that affect this hook in the
+% format
+% \begin{quote}
+% \quad \meta{label-1}\verb+|+\meta{label-2}| with |%^^A
+% \meta{\texttt{default}?}| relation |\meta{relation}
+% \end{quote}
+% which means that the \meta{relation} applies to \meta{label-1} and
+% \meta{label-2}, in that order, as detailed in \cs{DeclareHookRule}.
+% If the relation is \texttt{default} it means that that rule applies
+% to \meta{label-1} and \meta{label-2} in \emph{all} hooks, (unless
+% overrided by a non-default relation).
+%
+% Finally, line~12 lists the labels in the hook after sorting;
+% that is, in the order they will be executed when the hook is used.
% \end{function}
%
%
@@ -3964,19 +4031,21 @@
% 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.
+% \changes{v1.0d}{2020/10/04}{Definition \cs{AddToHookNext} was supposed
+% to be for \cs{AddToHook} vize versa (gh/401)}
% \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>\def\NewHook#1{}
+%<latexrelease>\def\NewReversedHook#1{}
+%<latexrelease>\def\NewMirroredHookPair#1#2{}
%<latexrelease>
-%<latexrelease>\long\def \AddToHook#1#2{}
+%<latexrelease>\long\def\AddToHookNext#1#2{}
%<latexrelease>
-%<latexrelease>\def \AddToHookNext#1{\@gobble@AddToHook@args}
+%<latexrelease>\def\AddToHook#1{\@gobble@AddToHook@args}
%<latexrelease>\providecommand\@gobble@AddToHook@args[2][]{}
%<latexrelease>
%<latexrelease>\def\RemoveFromHook#1{\@gobble@RemoveFromHook@arg}
@@ -3988,17 +4057,17 @@
%<latexrelease>\let \DebugHooksOn \@empty
%<latexrelease>\let \DebugHooksOff\@empty
%<latexrelease>
-%<latexrelease>\def \DeclareHookRul#1#2#3#4{}
+%<latexrelease>\def \DeclareHookRule #1#2#3#4{}
%<latexrelease>\def \DeclareDefaultHookRule #1#2#3{}
-%<latexrelease>\def \ClearHookRule#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>\long\def \IfHookExistsTF #1#2#3{#3}
+%<latexrelease>\long\def \IfHookEmptyTF #1#2#3{#2}
%<latexrelease>
%<latexrelease>\EndIncludeInRelease
% \end{macrocode}
diff --git a/macros/latex/base/ltluatex.pdf b/macros/latex/base/ltluatex.pdf
index c7d795cbc7..57762988e5 100644
--- a/macros/latex/base/ltluatex.pdf
+++ b/macros/latex/base/ltluatex.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews.pdf b/macros/latex/base/ltnews.pdf
index 06048f8c70..23c0dd26c1 100644
--- a/macros/latex/base/ltnews.pdf
+++ b/macros/latex/base/ltnews.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews01.pdf b/macros/latex/base/ltnews01.pdf
index dc2f7ea8df..bfbea06e7f 100644
--- a/macros/latex/base/ltnews01.pdf
+++ b/macros/latex/base/ltnews01.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews02.pdf b/macros/latex/base/ltnews02.pdf
index ebcd2d2354..cf688058cb 100644
--- a/macros/latex/base/ltnews02.pdf
+++ b/macros/latex/base/ltnews02.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews03.pdf b/macros/latex/base/ltnews03.pdf
index 289cbe4d2b..bc23990d0b 100644
--- a/macros/latex/base/ltnews03.pdf
+++ b/macros/latex/base/ltnews03.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews04.pdf b/macros/latex/base/ltnews04.pdf
index f7baebfb3b..e15bb561d1 100644
--- a/macros/latex/base/ltnews04.pdf
+++ b/macros/latex/base/ltnews04.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews05.pdf b/macros/latex/base/ltnews05.pdf
index ee5c4d9266..e9341e9aca 100644
--- a/macros/latex/base/ltnews05.pdf
+++ b/macros/latex/base/ltnews05.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews06.pdf b/macros/latex/base/ltnews06.pdf
index 319a1d8e43..baa3c67c49 100644
--- a/macros/latex/base/ltnews06.pdf
+++ b/macros/latex/base/ltnews06.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews07.pdf b/macros/latex/base/ltnews07.pdf
index 5f222309f3..758f0d9331 100644
--- a/macros/latex/base/ltnews07.pdf
+++ b/macros/latex/base/ltnews07.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews08.pdf b/macros/latex/base/ltnews08.pdf
index 7f716710f2..e3b73cf681 100644
--- a/macros/latex/base/ltnews08.pdf
+++ b/macros/latex/base/ltnews08.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews09.pdf b/macros/latex/base/ltnews09.pdf
index dbd989c4c5..b4356f35b8 100644
--- a/macros/latex/base/ltnews09.pdf
+++ b/macros/latex/base/ltnews09.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews10.pdf b/macros/latex/base/ltnews10.pdf
index c0f06cc42a..2de518f198 100644
--- a/macros/latex/base/ltnews10.pdf
+++ b/macros/latex/base/ltnews10.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews11.pdf b/macros/latex/base/ltnews11.pdf
index 9ee38fb373..c374a53349 100644
--- a/macros/latex/base/ltnews11.pdf
+++ b/macros/latex/base/ltnews11.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews12.pdf b/macros/latex/base/ltnews12.pdf
index 4650093733..386d78e184 100644
--- a/macros/latex/base/ltnews12.pdf
+++ b/macros/latex/base/ltnews12.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews13.pdf b/macros/latex/base/ltnews13.pdf
index 675df98f90..8385a22c65 100644
--- a/macros/latex/base/ltnews13.pdf
+++ b/macros/latex/base/ltnews13.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews14.pdf b/macros/latex/base/ltnews14.pdf
index 2ff8832b42..569ded2002 100644
--- a/macros/latex/base/ltnews14.pdf
+++ b/macros/latex/base/ltnews14.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews15.pdf b/macros/latex/base/ltnews15.pdf
index d600f64199..583e931323 100644
--- a/macros/latex/base/ltnews15.pdf
+++ b/macros/latex/base/ltnews15.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews16.pdf b/macros/latex/base/ltnews16.pdf
index 5ecdfca848..60005231b7 100644
--- a/macros/latex/base/ltnews16.pdf
+++ b/macros/latex/base/ltnews16.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews17.pdf b/macros/latex/base/ltnews17.pdf
index 025dc9e090..b59c29cd94 100644
--- a/macros/latex/base/ltnews17.pdf
+++ b/macros/latex/base/ltnews17.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews18.pdf b/macros/latex/base/ltnews18.pdf
index 85b69c2db3..ca3a515a2a 100644
--- a/macros/latex/base/ltnews18.pdf
+++ b/macros/latex/base/ltnews18.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews19.pdf b/macros/latex/base/ltnews19.pdf
index 0dd540fc4a..3f099b4a9e 100644
--- a/macros/latex/base/ltnews19.pdf
+++ b/macros/latex/base/ltnews19.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews20.pdf b/macros/latex/base/ltnews20.pdf
index 2b64a285cb..419a89a8b7 100644
--- a/macros/latex/base/ltnews20.pdf
+++ b/macros/latex/base/ltnews20.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews21.pdf b/macros/latex/base/ltnews21.pdf
index 00e4604478..3e2441d77d 100644
--- a/macros/latex/base/ltnews21.pdf
+++ b/macros/latex/base/ltnews21.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews22.pdf b/macros/latex/base/ltnews22.pdf
index 616b4526ce..5d38155d83 100644
--- a/macros/latex/base/ltnews22.pdf
+++ b/macros/latex/base/ltnews22.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews23.pdf b/macros/latex/base/ltnews23.pdf
index fa5042a08b..aa38c11c14 100644
--- a/macros/latex/base/ltnews23.pdf
+++ b/macros/latex/base/ltnews23.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews24.pdf b/macros/latex/base/ltnews24.pdf
index dd92d6173b..91a8d86ba6 100644
--- a/macros/latex/base/ltnews24.pdf
+++ b/macros/latex/base/ltnews24.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews25.pdf b/macros/latex/base/ltnews25.pdf
index c5e573d4ce..add99bcdf0 100644
--- a/macros/latex/base/ltnews25.pdf
+++ b/macros/latex/base/ltnews25.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews26.pdf b/macros/latex/base/ltnews26.pdf
index eea1677407..de17bfda82 100644
--- a/macros/latex/base/ltnews26.pdf
+++ b/macros/latex/base/ltnews26.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews27.pdf b/macros/latex/base/ltnews27.pdf
index c26de3e974..72c1d5587d 100644
--- a/macros/latex/base/ltnews27.pdf
+++ b/macros/latex/base/ltnews27.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews28.pdf b/macros/latex/base/ltnews28.pdf
index 7dfdd43ccd..3575e10cd4 100644
--- a/macros/latex/base/ltnews28.pdf
+++ b/macros/latex/base/ltnews28.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews29.pdf b/macros/latex/base/ltnews29.pdf
index fe4ec53989..bcff75a9d6 100644
--- a/macros/latex/base/ltnews29.pdf
+++ b/macros/latex/base/ltnews29.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews30.pdf b/macros/latex/base/ltnews30.pdf
index ae005b2ab5..8e96ec9962 100644
--- a/macros/latex/base/ltnews30.pdf
+++ b/macros/latex/base/ltnews30.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews31.pdf b/macros/latex/base/ltnews31.pdf
index 0b99ad35cd..efebbb5b94 100644
--- a/macros/latex/base/ltnews31.pdf
+++ b/macros/latex/base/ltnews31.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews32.pdf b/macros/latex/base/ltnews32.pdf
index a61dffb1ef..7e18de6fe5 100644
--- a/macros/latex/base/ltnews32.pdf
+++ b/macros/latex/base/ltnews32.pdf
Binary files differ
diff --git a/macros/latex/base/ltnews32.tex b/macros/latex/base/ltnews32.tex
index f26449af6b..85283a86a9 100644
--- a/macros/latex/base/ltnews32.tex
+++ b/macros/latex/base/ltnews32.tex
@@ -241,7 +241,7 @@ soft hyphen character (U+00AD) an alias for the \LaTeX\ soft hyphen
\cs{-}. The Unicode engines \XeTeX{} and \LuaTeX{} behaved
differently though: They either ignored U+00AD or interpreted it as an
unconditional hyphen. This inconsistency is fixed now and \LaTeX{}
-always treats \texttt{U+00AD} as \cs{-}.
+always treats U+00AD as \cs{-}.
%
\githubissue{323}
@@ -308,8 +308,6 @@ by setting \cs{finalhyphendemerits} to zero in unjustified settings.
%
\githubissue{274}
-\def\negskip{\tubcommand{\vspace*{-.2pt}}}
-\negskip
\subsection{Set a non-zero \cs{baselineskip} in text scripts}
As \cs{textsuperscript} and \cs{textsubscript} usually contain only a
@@ -320,7 +318,6 @@ been adjusted.
%
\githubissue{249}
-\negskip
\subsection{Spacing issues when using \cs{linethickness}}
In some circumstances the use of \cs{linethickness} introduced a
@@ -330,7 +327,6 @@ to the right. This has been corrected.
\githubissue{274}
-\negskip
\subsection{Better support for the legacy series default interface}
In the initial implementation of \LaTeX's font selection scheme (NFSS)
@@ -342,10 +338,9 @@ now through \cs{DeclareFontSeriesDefault}~\cite{32:ltnews31}. In this
release we improved the support for legacy documents using the old
method to cover additional edge cases.
%
-\githubissue[s]{306,315}
+\githubissue[s]{306 and 315}
-\negskip
\subsection{Support for uncommon font series defaults}
If a font family was set up with fairly unusual font series defaults,
@@ -363,6 +358,8 @@ been corrected.
%
\githubissue{291}
+\tubcommand{\vspace*{-6pt}\break}
+
\subsection{Checking the current font series context}
Sometimes it is necessary to define commands that act differently when
@@ -605,13 +602,11 @@ now allowed.
\subsection{Spacing commands moved from \pkg{amsmath} to the kernel}
Originally \LaTeX{} only provided a small set of spacing commands
-for use in text and math, some of the commands like \cs{;} were
+for use in text and math; some of the commands like \cs{;} were
only supported in math mode. \texttt{amsmath} normalized and
provided all of them in text and math. This code has now been
moved to the kernel so that it is generally available.
-%
-\githubissue{303}
-
+\begin{center}
\begin{tabular}{lll}
command name(s) & math & text\\\hline
\cs{,} \cs{thinspace} & $x\,x$ & x\,x\\
@@ -621,7 +616,9 @@ command name(s) & math & text\\\hline
\cs{;} \cs{thickspace} & $x\;x$ & x\;x\\
\cs{negthickspace} & $x\negthickspace x$ & x\negthickspace x\\
\end{tabular}
-
+\end{center}
+%
+\githubissue{303}
\subsection{Access raw glyphs in \LuaTeX\ without reloading fonts}
@@ -645,7 +642,8 @@ 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.
-
+%
+\githubissue{370}
\subsection{Lua\TeX\ callback \texttt{new\_graf} made \texttt{exclusive}}
@@ -795,15 +793,15 @@ processed as part of the formula.
%
\githubissue{5}
-\tubcommand\newpage
\subsection{Detect Unicode engines when setting \cs{std@minus} and \cs{std@equal}}
\pkg{amsmath} now detects the Unicode engines and uses their extended
-commands to define \cs{std@minus} and \cs{std@equal}. This avoids a
-package like \pkg{unicode-math} having to patch the code in the begin
-document hook to change the commands.
+commands to define \cs{std@minus} and
+\tubcommand{\parfillskip=0pt\par\newpage\noindent}%
+\cs{std@equal}. This avoids a package like
+\pkg{unicode-math} having to patch the code in the begin document hook to change the commands.
-\subsection{Use lua\TeX{} primitives}
+\subsection{Use Lua\TeX{} primitives where applicable}
For a number of years \pkg{lualatex-math} patched \cs{frac},
\cs{genfrac} and the \texttt{subarray} environment to make use of new
@@ -842,7 +840,7 @@ serve as a source for other packages.
For further details take a look at the \pkg{babel} package
documentation~\cite{32:babel}.
-
+\medskip
\begin{thebibliography}{9}
\fontsize{9.3}{11.3}\selectfont
diff --git a/macros/latex/base/ltshipout-code.pdf b/macros/latex/base/ltshipout-code.pdf
index a0de61ff55..2798161f94 100644
--- a/macros/latex/base/ltshipout-code.pdf
+++ b/macros/latex/base/ltshipout-code.pdf
Binary files differ
diff --git a/macros/latex/base/ltshipout-doc.pdf b/macros/latex/base/ltshipout-doc.pdf
index 0e1295f1fe..36bf7eaddc 100644
--- a/macros/latex/base/ltshipout-doc.pdf
+++ b/macros/latex/base/ltshipout-doc.pdf
Binary files differ
diff --git a/macros/latex/base/ltvers.dtx b/macros/latex/base/ltvers.dtx
index 2813670115..fcd722b0e8 100644
--- a/macros/latex/base/ltvers.dtx
+++ b/macros/latex/base/ltvers.dtx
@@ -115,7 +115,7 @@
{2020-10-01}
%</2ekernel|latexrelease>
%<*2ekernel>
-\def\patch@level{0}
+\def\patch@level{1}
% \end{macrocode}
%
% \begin{macro}{\development@branch@name}
diff --git a/macros/latex/base/ltx3info.pdf b/macros/latex/base/ltx3info.pdf
index c752adf37e..df2407717f 100644
--- a/macros/latex/base/ltx3info.pdf
+++ b/macros/latex/base/ltx3info.pdf
Binary files differ
diff --git a/macros/latex/base/ltxdoc.dtx b/macros/latex/base/ltxdoc.dtx
index 696af32ab1..0c7130c371 100644
--- a/macros/latex/base/ltxdoc.dtx
+++ b/macros/latex/base/ltxdoc.dtx
@@ -30,7 +30,7 @@
%
%<class>\NeedsTeXFormat{LaTeX2e}
%<class>\ProvidesClass{ltxdoc}
-%<class> [2020/08/21 v2.1a Standard LaTeX documentation class]
+%<class> [2020/10/04 v2.1b Standard LaTeX documentation class]
%
%<*driver>
\documentclass{ltxdoc}
@@ -443,7 +443,12 @@
\expandafter\@docinclude\expandafter{\@curr@file}
\fi}
\def\@docinclude#1 {\clearpage
-\if@filesw \immediate\write\@mainaux{\string\@input{"#1.aux"}}\fi
+% \end{macrocode}
+%
+% \changes{v2.1bj}{2020/10/04}{Quotes around the aux file name removed,
+% they are no longer needed and upset BibTeX (gh/400)}
+% \begin{macrocode}
+\if@filesw \immediate\write\@mainaux{\string\@input{#1.aux}}\fi
\@tempswatrue\if@partsw \@tempswafalse\edef\@tempb{#1}\@for
\@tempa:=\@partlist\do{\ifx\@tempa\@tempb\@tempswatrue\fi}\fi
\if@tempswa \let\@auxout\@partaux \if@filesw
diff --git a/macros/latex/base/ltxdoc.pdf b/macros/latex/base/ltxdoc.pdf
index 20f8a87783..e71726bb93 100644
--- a/macros/latex/base/ltxdoc.pdf
+++ b/macros/latex/base/ltxdoc.pdf
Binary files differ
diff --git a/macros/latex/base/makeindx.pdf b/macros/latex/base/makeindx.pdf
index a816222f02..45c46bc9ea 100644
--- a/macros/latex/base/makeindx.pdf
+++ b/macros/latex/base/makeindx.pdf
Binary files differ
diff --git a/macros/latex/base/manifest.txt b/macros/latex/base/manifest.txt
index 449b250ee8..f3c8f2b216 100644
--- a/macros/latex/base/manifest.txt
+++ b/macros/latex/base/manifest.txt
@@ -114,6 +114,7 @@
% ltspace.dtx -- Spacing, line and page breaking.
% ltlogos.dtx -- Logos.
% ltlists.dtx -- Code for lists and related environments.
+% ltluatex.dtx -- LuaTeX engine related code.
% ltmath.dtx -- Code for math.
% ltmiscen.dtx -- Code for miscellaneous environments.
% ltoutenc.dtx -- Code for output encoding commands.
diff --git a/macros/latex/base/manual.pdf b/macros/latex/base/manual.pdf
index 1de8969b16..431b6c3c45 100644
--- a/macros/latex/base/manual.pdf
+++ b/macros/latex/base/manual.pdf
Binary files differ
diff --git a/macros/latex/base/modguide.pdf b/macros/latex/base/modguide.pdf
index 048da21603..046822176f 100644
--- a/macros/latex/base/modguide.pdf
+++ b/macros/latex/base/modguide.pdf
Binary files differ
diff --git a/macros/latex/base/nfssfont.pdf b/macros/latex/base/nfssfont.pdf
index 303128883a..7de676f4ce 100644
--- a/macros/latex/base/nfssfont.pdf
+++ b/macros/latex/base/nfssfont.pdf
Binary files differ
diff --git a/macros/latex/base/proc.pdf b/macros/latex/base/proc.pdf
index 4eae184b71..e7d82693a1 100644
--- a/macros/latex/base/proc.pdf
+++ b/macros/latex/base/proc.pdf
Binary files differ
diff --git a/macros/latex/base/slides.pdf b/macros/latex/base/slides.pdf
index 69e08c34cb..7081d4f442 100644
--- a/macros/latex/base/slides.pdf
+++ b/macros/latex/base/slides.pdf
Binary files differ
diff --git a/macros/latex/base/slifonts.pdf b/macros/latex/base/slifonts.pdf
index 4f6bb23e59..dc704d9b86 100644
--- a/macros/latex/base/slifonts.pdf
+++ b/macros/latex/base/slifonts.pdf
Binary files differ
diff --git a/macros/latex/base/source2e.pdf b/macros/latex/base/source2e.pdf
index d3fb51b8a9..3726b124d1 100644
--- a/macros/latex/base/source2e.pdf
+++ b/macros/latex/base/source2e.pdf
Binary files differ
diff --git a/macros/latex/base/syntonly.pdf b/macros/latex/base/syntonly.pdf
index 21af8af2d8..486c6597fd 100644
--- a/macros/latex/base/syntonly.pdf
+++ b/macros/latex/base/syntonly.pdf
Binary files differ
diff --git a/macros/latex/base/tlc2.pdf b/macros/latex/base/tlc2.pdf
index 9b632fc3ba..ba77288259 100644
--- a/macros/latex/base/tlc2.pdf
+++ b/macros/latex/base/tlc2.pdf
Binary files differ
diff --git a/macros/latex/base/tulm.pdf b/macros/latex/base/tulm.pdf
index b9e88f0cdd..93c492ea0c 100644
--- a/macros/latex/base/tulm.pdf
+++ b/macros/latex/base/tulm.pdf
Binary files differ
diff --git a/macros/latex/base/usrguide.pdf b/macros/latex/base/usrguide.pdf
index 423ad9fb05..ce13d76976 100644
--- a/macros/latex/base/usrguide.pdf
+++ b/macros/latex/base/usrguide.pdf
Binary files differ
diff --git a/macros/latex/base/utf8ienc.pdf b/macros/latex/base/utf8ienc.pdf
index 8d92fe05ee..ee4c898fbb 100644
--- a/macros/latex/base/utf8ienc.pdf
+++ b/macros/latex/base/utf8ienc.pdf
Binary files differ
diff --git a/macros/latex/base/webcomp.pdf b/macros/latex/base/webcomp.pdf
index fafa0b8b00..754b111b1d 100644
--- a/macros/latex/base/webcomp.pdf
+++ b/macros/latex/base/webcomp.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf b/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
index 26bb961678..d55eccfeee 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
+++ b/macros/latex/contrib/babel-contrib/french/frenchb-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex b/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
index 850f59aec5..2ff7f14307 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
+++ b/macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
@@ -125,7 +125,7 @@
%
\title{Documentation sur le module \ext{babel-french}}
\author{\href{mailto:daniel.flipo@free.fr}{Daniel \textsc{Flipo}}}
-\newcommand*{\latestversion}{3.5k}
+\newcommand*{\latestversion}{3.5l}
\date{Version {\latestversion} -- \today}
\begin{document}
@@ -1080,8 +1080,9 @@ La liste étant longue, les options sont regroupées par thèmes.
\item [SmallCapsFigTabcaptions=false (true*)]; si cette option est mise
à \fbo{false}, le recours aux petites capitales dans les intitulés des
légendes de figures et tables est supprimé, on obtient « Figure » et
- « Table » au lieu de « \textsc{Figure} » et « \textsc{Table} ».%
- \hlabel{scfigtab}
+ « Table » au lieu de « \textsc{Figure} » et « \textsc{Table} ».
+ Noter que le même résultat peut être obtenu en définissant |\FBfigtabshape|
+ comme |\relax| avant le chargement de \ext{babel}.%\hlabel{scfigtab}
\item [CustomiseFigTabcaptions=false (true*)] ; si cette option est mise
à \fbo{false}, le séparateur défini par |\CaptionSeparator| est remplacé par
@@ -1479,7 +1480,7 @@ préambule :\hlabel{enumitem-cfg}
|\settowidth{\mylabelwidth}{\mylabel}|\\
|\setlist[itemize]{label=\mylabel, nosep}|\\ % nosep ou noitemsep
|\setlist[1]{labelindent=\parindent}|\\
-|\setlist{labelwidth=\mylabelwidth, leftmargin=!|\\
+|\setlist{labelwidth=\mylabelwidth, leftmargin=!,|\\
| itemsep=0.4ex plus 0.2ex minus 0.2ex,|\\ % enumitem ne redéfinit pas
| parsep=0.4ex plus 0.2ex minus 0.2ex,|\\ % \list, on peut s’en passer
| topsep=0.8ex plus 0.4ex minus 0.4ex,|\\ % sauf option StandardLists,
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb.dtx b/macros/latex/contrib/babel-contrib/french/frenchb.dtx
index c30847224f..161833dd13 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb.dtx
+++ b/macros/latex/contrib/babel-contrib/french/frenchb.dtx
@@ -1,4 +1,4 @@
-%\CheckSum{3748}
+%\CheckSum{3759}
%
%\iffalse
% Tell the LaTeX system who we are and write an entry on the
@@ -13,7 +13,7 @@
%<frenchb>\ProvidesLanguage{frenchb}
%<lua>--[[
%<lua> File `frenchb.lua’ generated from frenchb.dtx
- [2020/09/09 v3.5k French support from the babel system]
+ [2020/10/10 v3.5l French support from the babel system]
%<*internal>
\iffalse
%</internal>
@@ -646,7 +646,9 @@
% \item [SmallCapsFigTabCaptions=false (true*)]; when set to
% \fbo{false}, |\figurename| and |\tablename| will be printed in
% French captions as ``Figure’’ and ``Table’’ instead of being
-% printed in small caps (the default).
+% printed in small caps (the default). The same result can be
+% achieved by defining |\FBfigtabshape| as |\relax| before
+% loading \frenchb{} (in a document class f.i.).
%
% \item [CustomiseFigTabCaptions=false (true*)]; when \fbo{false}
% the default separator (colon) is used instead of
@@ -3778,6 +3780,9 @@ return french_punctuation
% \changes{v3.5k}{2020/09/09}{Small caps removed in \cs{figurename} and
% \cs{tablename}, use \cs{fnum@figure} and \cs{fnum@table} instead.}
%
+% \changes{v3.5l}{2020/10/08}{Redefine \cs{fnum@figure} and
+% \cs{fnum@table} separately.}
+%
% |\figurename| and |\tablename| are printed in small caps in French,
% unless either \fbo{SmallCapsFigTabCaptions} is set to \fbo{false}
% or a class or package loaded before \frenchb{} defines
@@ -3863,9 +3868,11 @@ return french_punctuation
\else
\ifdefined\fnum@figure
\let\fnum@figureORI\fnum@figure
- \let\fnum@tableORI\fnum@table
\renewcommand{\fnum@figure}{{\ifFBfrench\FBfigtabshape\fi
\fnum@figureORI}}%
+ \fi
+ \ifdefined\fnum@table
+ \let\fnum@tableORI\fnum@table
\renewcommand{\fnum@table}{{\ifFBfrench\FBfigtabshape\fi
\fnum@tableORI}}%
\fi
@@ -3946,7 +3953,7 @@ return french_punctuation
\egroup
% \end{macrocode}
%
-% No warning is issued for SMF, AMS and ACM classes as their layout
+% No warning is issued for SMF and AMS classes as their layout
% of captions is compatible with French typographic standards.
%
% With \cls{memoir} and koma-script classes, \frenchb{} customises
@@ -3982,9 +3989,8 @@ return french_punctuation
% \changes{v3.0a}{2014/02/20}{No warning about \cs{@makecaption} for
% SMF classes.}
%
-% Disable the standard warning with ACM, AMS and SMF classes.
+% Disable the standard warning with AMS and SMF classes.
% \begin{macrocode}
-\@ifclassloaded{acmart}{\@FBwarning@capsepfalse}{}
\@ifclassloaded{amsart}{\@FBwarning@capsepfalse}{}
\@ifclassloaded{amsbook}{\@FBwarning@capsepfalse}{}
\@ifclassloaded{amsdtx}{\@FBwarning@capsepfalse}{}
@@ -3994,6 +4000,18 @@ return french_punctuation
\@ifclassloaded{smfbook}{\@FBwarning@capsepfalse}{}
% \end{macrocode}
%
+% \changes{v3.5l}{2020/10/01}{No warning about \cs{@makecaption} for
+% more classes.}
+%
+% Disable the standard warning for some classes that do not use
+% `:’ as caption separator.
+% \begin{macrocode}
+\@ifclassloaded{IEEEconf}{\@FBwarning@capsepfalse}{}
+\@ifclassloaded{IEEEtran}{\@FBwarning@capsepfalse}{}
+\@ifclassloaded{revtex4-2}{\@FBwarning@capsepfalse}{}
+\@ifclassloaded{svjour3}{\@FBwarning@capsepfalse}{}
+% \end{macrocode}
+%
% \changes{v2.6c}{2013/05/18}{No warning about \cs{@makecaption} for
% koma-script classes. \cs{captionformat} customised in French.}
%
@@ -4063,9 +4081,11 @@ return french_punctuation
\@FBwarning@capsepfalse
\fi
% \end{macrocode}
-% No Warning if \file{caption.sty} has been loaded.
+% No Warning if \file{caption.sty} or \file{caption-light.sty}
+% has been loaded.
% \begin{macrocode}
- \@ifpackageloaded{caption}{\@FBwarning@capsepfalse}{}%
+ \@ifpackageloaded{caption}{\@FBwarning@capsepfalse}{}%
+ \@ifpackageloaded{caption-light}{\@FBwarning@capsepfalse}{}%
% \end{macrocode}
% Final warning if relevant:
% \begin{macrocode}
@@ -4074,8 +4094,8 @@ return french_punctuation
{Figures' and tables' captions might look like\MessageBreak
`Figure 1:' in French instead of `Figure 1 :'.\MessageBreak
If this happens, to fix this issue\MessageBreak
- just add \protect\usepackage{caption} or\MessageBreak
switch to LuaLaTeX or XeLaTeX or\MessageBreak
+ try to add \protect\usepackage{caption} or\MessageBreak
... leave it as it is; reported}%
\fi
\let\FB@makecaption\relax
diff --git a/macros/latex/contrib/babel-contrib/french/frenchb.pdf b/macros/latex/contrib/babel-contrib/french/frenchb.pdf
index f8d5e00fbe..56a5c87b0d 100644
--- a/macros/latex/contrib/babel-contrib/french/frenchb.pdf
+++ b/macros/latex/contrib/babel-contrib/french/frenchb.pdf
Binary files differ
diff --git a/macros/latex/contrib/jsclasses/README.md b/macros/latex/contrib/jsclasses/README.md
index f860393a45..3d2e2b2b22 100644
--- a/macros/latex/contrib/jsclasses/README.md
+++ b/macros/latex/contrib/jsclasses/README.md
@@ -37,7 +37,7 @@ distributed separately.
## Release Date
-2020-10-05
+2020-10-09
Haruhiko Okumura,
Japanese TeX Development Community
diff --git a/macros/latex/contrib/jsclasses/jsclasses.dtx b/macros/latex/contrib/jsclasses/jsclasses.dtx
index 941b08c4f3..08d6bd4486 100644
--- a/macros/latex/contrib/jsclasses/jsclasses.dtx
+++ b/macros/latex/contrib/jsclasses/jsclasses.dtx
@@ -32,7 +32,7 @@
%<*driver>
\ProvidesFile{jsclasses.dtx}
%</driver>
- [2020/10/05 jsclasses (okumura, texjporg)]
+ [2020/10/09 jsclasses (okumura, texjporg)]
%<*driver>
\documentclass{jsarticle}
\usepackage{doc}
@@ -163,8 +163,12 @@
% ã‚’ã‚ã¦ã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚ã“ã®å‡¦ç†ã«ä½¿ç”¨ã™ã‚‹ãƒ•ãƒ©ã‚°ã‚’定義ã—ã¾ã™ã€‚
%
% \begin{macrocode}
+%</class>
+%<*class|minijs>
\newif\ifjsc@needsp@tch
\jsc@needsp@tchfalse
+%</class|minijs>
+%<*class>
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/jsclasses/jsclasses.pdf b/macros/latex/contrib/jsclasses/jsclasses.pdf
index 6288f723c2..b1783be1fb 100644
--- a/macros/latex/contrib/jsclasses/jsclasses.pdf
+++ b/macros/latex/contrib/jsclasses/jsclasses.pdf
Binary files differ
diff --git a/macros/latex/contrib/kvoptions/README.md b/macros/latex/contrib/kvoptions/README.md
index b307ffc87f..ecaccfa494 100644
--- a/macros/latex/contrib/kvoptions/README.md
+++ b/macros/latex/contrib/kvoptions/README.md
@@ -1,7 +1,13 @@
-# kvoptions
+# kvoptions package for LaTeX
-kvoptions package for LaTeX
+Version: 2020-10-07 v3.14
This package is intended for package authors who want to
use options in key value format for their package options.
+## Copyright (C)
+* 2007, 2009-2011 Heiko Oberdiek
+* 2016-2020 Oberdiek Package Support Group
+
+## License
+LATEX Project Public License, version 1.3c or later.
diff --git a/macros/latex/contrib/kvoptions/kvoptions.dtx b/macros/latex/contrib/kvoptions/kvoptions.dtx
index 8dd9701d47..38dfa18586 100644
--- a/macros/latex/contrib/kvoptions/kvoptions.dtx
+++ b/macros/latex/contrib/kvoptions/kvoptions.dtx
@@ -1,12 +1,12 @@
% \iffalse meta-comment
%
% File: kvoptions.dtx
-% Version: 2019/11/29 v3.13
+% Version: 2020-10-07 v3.14
% Info: Key value format for package options
%
% Copyright (C)
% 2004, 2006, 2007, 2009-2011 Heiko Oberdiek
-% 2016-2019 Oberdiek Package Support Group
+% 2016-2020 Oberdiek Package Support Group
% https://github.com/ho-tex/kvoptions/issues
%
% This work may be distributed and/or modified under the
@@ -85,7 +85,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: kvoptions 2019/11/29 v3.13 Key value format for package options (HO)}
+\Msg{* Package: kvoptions 2020-10-07 v3.14 Key value format for package options (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -97,11 +97,11 @@
This is a generated file.
Project: kvoptions
-Version: 2019/11/29 v3.13
+Version: 2020-10-07 v3.14
Copyright (C)
2004, 2006, 2007, 2009-2011 Heiko Oberdiek
- 2016-2019 Oberdiek Package Support Group
+ 2016-2020 Oberdiek Package Support Group
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either
@@ -145,10 +145,6 @@ and the derived files
% \file{kvoptions-test3.tex}{\from{kvoptions.dtx}{test3}}%
% \file{kvoptions-test4.tex}{\from{kvoptions.dtx}{test4}}%
% \file{kvoptions-test4.sty}{\from{kvoptions.dtx}{test4pkg}}%
- \nopreamble
- \nopostamble
-% \usedir{source/latex/kvoptions/catalogue}%
-% \file{kvoptions.xml}{\from{kvoptions.dtx}{catalogue}}%
}
\catcode32=13\relax% active space
@@ -175,7 +171,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{kvoptions.drv}%
- [2019/11/29 v3.13 Key value format for package options (HO)]%
+ [2020-10-07 v3.14 Key value format for package options (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\begin{document}
@@ -185,26 +181,11 @@ and the derived files
% \fi
%
%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
%
% \GetFileInfo{kvoptions.drv}
%
% \title{The \xpackage{kvoptions} package}
-% \date{2019/11/29 v3.13}
+% \date{2020-10-07 v3.14}
% \author{Heiko Oberdiek\thanks
% {Please report any issues at \url{https://github.com/ho-tex/kvoptions/issues}}}
%
@@ -883,6 +864,11 @@ and the derived files
%
% \subsection{Package \xpackage{kvoptions-patch}}
%
+% \begin{description}
+% \item[Change in version v3.14:] \xpackage{kvoptions-patch} is not compatible with a
+% \LaTeX\ 2020-10-01 or newer and will abort loading if it detects it!
+% \end{description}
+%
% \LaTeX's system of package/class options has some severe limitations
% that especially affects the value part if options are used as
% pair of key and value.
@@ -1075,7 +1061,19 @@ and the derived files
% }
%
% \section{Implementation}
-%
+% \subsection{Disabling the patches for newer LaTeX}
+% \xpackage{kvoptions-patch} is not compatible with \LaTeX{} 2020-10-01 and newer
+% so it is disabled and issues a warning.
+% \begin{macrocode}
+%<*patch>
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+\IfFormatAtLeastTF{2020/10/01}{\PackageWarning{kvoptions-patch}%
+ {kvoptions-patch is not compatible with \MessageBreak
+ LaTeX \fmtversion\MessageBreak Loading is aborted}{}}{}
+\IfFormatAtLeastTF{2020/10/01}{\endinput}{}
+%</patch>
+% \end{macrocode}
+
% \subsection{Preamble}
%
% \begin{macrocode}
@@ -1154,7 +1152,7 @@ and the derived files
\fi
\expandafter\x\csname ver@kvoptions.sty\endcsname
\ProvidesPackage{kvoptions}%
- [2019/11/29 v3.13 Key value format for package options (HO)]%
+ [2020-10-07 v3.14 Key value format for package options (HO)]%
% \end{macrocode}
%
% \paragraph{Catcodes}
@@ -2288,7 +2286,7 @@ and the derived files
\TMP@EnsureCode{124}{12}% |
\edef\KVO@AtEnd{\KVO@AtEnd\noexpand\endinput}
\ProvidesPackage{kvoptions-patch}%
- [2019/11/29 v3.13 LaTeX patch for keyval options (HO)]%
+ [2020-10-07 v3.14 LaTeX patch for keyval options (HO)]%
% \end{macrocode}
%
% Check for \eTeX.
@@ -2789,253 +2787,6 @@ and the derived files
\KVO@AtEnd%
%</patch>
% \end{macrocode}
-%
-% \section{Test}
-%
-% \subsection{Preface for standard catcode check}
-%
-% \begin{macrocode}
-%<*test1>
-\input miniltx.tex\relax
-%</test1>
-% \end{macrocode}
-%
-% \subsection{Catcode checks for loading}
-%
-% \begin{macrocode}
-%<*test1>
-% \end{macrocode}
-% \begin{macrocode}
-\catcode`\{=1 %
-\catcode`\}=2 %
-\catcode`\#=6 %
-\catcode`\@=11 %
-\expandafter\ifx\csname count@\endcsname\relax
- \countdef\count@=255 %
-\fi
-\expandafter\ifx\csname @gobble\endcsname\relax
- \long\def\@gobble#1{}%
-\fi
-\expandafter\ifx\csname @firstofone\endcsname\relax
- \long\def\@firstofone#1{#1}%
-\fi
-\expandafter\ifx\csname loop\endcsname\relax
- \expandafter\@firstofone
-\else
- \expandafter\@gobble
-\fi
-{%
- \def\loop#1\repeat{%
- \def\body{#1}%
- \iterate
- }%
- \def\iterate{%
- \body
- \let\next\iterate
- \else
- \let\next\relax
- \fi
- \next
- }%
- \let\repeat=\fi
-}%
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@ 1 %
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\RangeCatcodeCheck#1#2#3{%
- \count@=#1\relax
- \loop
- \ifnum#3=\catcode\count@
- \else
- \errmessage{%
- Character \the\count@\space
- with wrong catcode \the\catcode\count@\space
- instead of \number#3%
- }%
- \fi
- \ifnum\count@<#2\relax
- \advance\count@ 1 %
- \repeat
-}
-\def\space{ }
-\expandafter\ifx\csname LoadCommand\endcsname\relax
- \def\LoadCommand{\input kvoptions.sty\relax}%
-\fi
-\def\Test{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\%=14 %
- \LoadCommand
- \RangeCatcodeCheck{0}{36}{15}%
- \RangeCatcodeCheck{37}{37}{14}%
- \RangeCatcodeCheck{38}{47}{15}%
- \RangeCatcodeCheck{48}{57}{12}%
- \RangeCatcodeCheck{58}{63}{15}%
- \RangeCatcodeCheck{64}{64}{12}%
- \RangeCatcodeCheck{65}{90}{11}%
- \RangeCatcodeCheck{91}{91}{15}%
- \RangeCatcodeCheck{92}{92}{0}%
- \RangeCatcodeCheck{93}{96}{15}%
- \RangeCatcodeCheck{97}{122}{11}%
- \RangeCatcodeCheck{123}{255}{15}%
- \RestoreCatcodes
-}
-\Test
-\csname @@end\endcsname
-\end
-% \end{macrocode}
-% \begin{macrocode}
-%</test1>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test2>
-\NeedsTeXFormat{LaTeX2e}
-\makeatletter
-\catcode`\@=11 %
-\def\RestoreCatcodes{}
-\count@=0 %
-\loop
- \edef\RestoreCatcodes{%
- \RestoreCatcodes
- \catcode\the\count@=\the\catcode\count@\relax
- }%
-\ifnum\count@<255 %
- \advance\count@\@ne
-\repeat
-
-\def\RangeCatcodeInvalid#1#2{%
- \count@=#1\relax
- \loop
- \catcode\count@=15 %
- \ifnum\count@<#2\relax
- \advance\count@\@ne
- \repeat
-}
-\def\Test#1{%
- \RangeCatcodeInvalid{0}{47}%
- \RangeCatcodeInvalid{58}{64}%
- \RangeCatcodeInvalid{91}{96}%
- \RangeCatcodeInvalid{123}{255}%
- \catcode`\@=12 %
- \catcode`\\=0 %
- \catcode`\{=1 %
- \catcode`\}=2 %
- \catcode`\#=6 %
- \catcode`\[=12 %
- \catcode`\]=12 %
- \catcode`\%=14 %
- \catcode`\ =10 %
- \catcode13=5 %
- #1\relax
- \RestoreCatcodes
-}
-\Test{\RequirePackage{kvoptions-patch}}%
-\Test{\RequirePackage{kvoptions}}%
-\csname @@end\endcsname
-%</test2>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test3>
-\NeedsTeXFormat{LaTeX2e}
-\makeatletter
-\RequirePackage{kvoptions}[2019/11/29]
-\def\msg#{\immediate\write16}
-\define@key{testfamily}{testkey}{%
- \msg{[testfamily/testkey/#1]}%
-}
-\define@key{testfamily}{testdefaultkey}[testdefault]{%
- \msg{[testfamily/testdefaultkey/#1]}%
-}
-\AddToKeyvalOption{testfamily}{testkey}{%
- \msg{[addition/#1]}%
-}
-\AddToKeyvalOption{testfamily}{testdefaultkey}{%
- \msg{[addition/#1]}%
-}
-\setkeys{testfamily}{%
- testkey=testA,%
- testdefaultkey=testB,%
- testdefaultkey,%
-}
-\SetupKeyvalOptions{%
- family=testfamily%
-}
-\AddToKeyvalOption*{testkey}{%
- \msg{[star addition/#1]}%
-}
-\AddToKeyvalOption*{testdefaultkey}{%
- \msg{[star addition/#1]}%
-}
-\setkeys{testfamily}{%
- testkey=testA,%
- testdefaultkey=testB,%
- testdefaultkey,%
-}
-\@@end
-%</test3>
-% \end{macrocode}
-%
-% \begin{macrocode}
-%<*test4pkg>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{kvoptions-test4}[2019/11/29 package for testing]
-\RequirePackage{kvoptions}[2019/11/29]
-\SetupKeyvalOptions{%
- family=FOO,%
- prefix=foo,%
- setkeys=\kvsetkeys,%
-}
-\DeclareStringOption{str}
-\define@key{FOO}{set}{%
- \setkeys{BAR}{strbar={#1}}%
-}
-\define@key{BAR}{strbar}{%
- \def\foostr{[BAR:#1]}%
-}
-\ProcessKeyvalOptions*
-%</test4pkg>
-% \end{macrocode}
-% \begin{macrocode}
-%<*test4>
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesFile{kvoptions-test4.tex}[2019/11/29 test file]
-\RequirePackage[%
- str=A,set=B,str=C,%
-]{kvoptions-test4}[2019/11/29]
-\def\TestExpected{C}
-\ifx\foostr\TestExpected
- \typeout{* Test ok.}%
-\else
- \typeout{* Result: [\foostr]}%
- \typeout{* Expected: [\TestExpected]}%
- \errmessage{Test failed!}%
-\fi
-\csname @@end\endcsname\end
-%</test4>
-% \end{macrocode}
-%
% \section{Installation}
%
% \subsection{Download}
@@ -3368,6 +3119,11 @@ and the derived files
% \item
% Documentation updates.
% \end{Version}
+% \begin{Version}{2020-10-07 v3.14}
+% \item \xpackage{kvoptions-patch} is not compatible with a
+% \LaTeX\ 2020-10-01 or newer and so it will abort loading if it detects it.
+% This fixes github issue \#5.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/kvoptions/kvoptions.pdf b/macros/latex/contrib/kvoptions/kvoptions.pdf
index d3c53e3096..fd9e72e93a 100644
--- a/macros/latex/contrib/kvoptions/kvoptions.pdf
+++ b/macros/latex/contrib/kvoptions/kvoptions.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/CHANGES b/macros/latex/contrib/tcolorbox/CHANGES
index f78792d54a..0b75eb6406 100644
--- a/macros/latex/contrib/tcolorbox/CHANGES
+++ b/macros/latex/contrib/tcolorbox/CHANGES
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
@@ -1184,3 +1184,11 @@ version 4.40 (2020/09/25)
version 4.41 (2020/09/29)
- bug fix (#120): color bleeding for xelatex and breakable boxes (since 4.32)
+
+version 4.42 (2020/10/09)
+- due to several problems with the color algorithm introduced with version 4.32,
+ essentially reversion to the proven pre 4.32 method.
+ * support of luacolor persists (since 4.32)
+ * color stacks (by pdfcol) are not mandatory any more,
+ but are optional now with 'use color stack'. Note that effects of whatsits
+ on the vertical space have to be expected.
diff --git a/macros/latex/contrib/tcolorbox/README b/macros/latex/contrib/tcolorbox/README
index 219c0ae662..55edf61ca4 100644
--- a/macros/latex/contrib/tcolorbox/README
+++ b/macros/latex/contrib/tcolorbox/README
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%%
%% -------------------------------------------------------------------------------------------
%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
diff --git a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
index 44669727e6..d77ecad60b 100644
--- a/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbbreakable.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbbreakable.code.tex: Code for breakable colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -17,11 +17,13 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{pdfcol}
\pdfcolInitStack{tcb@breakable}
+\newif\iftcb@usecolorstack
+
\let\tcb@parboxrestore@true=\tcb@parboxrestore
\let\tcb@parboxrestore@false\tcb@parbox@false@settings
@@ -66,6 +68,7 @@
\def\tcb@@break{\par\xleaders\vbox{\rule{0pt}{2\textheight}}\vskip 2\textheight\par}
+
\def\tcb@vbox#1#2{%
\edef\reserved@a{%
\endgroup%
@@ -76,7 +79,10 @@
\reserved@a%
\@endpefalse%
\let\tcbbreak\tcb@@break%
- \pdfcolSwitchStack{tcb@breakable}%
+ \iftcb@usecolorstack%
+ \pdfcolSwitchStack{tcb@breakable}%
+ \pdfcolSetCurrentColor%
+ \fi%
\color@begingroup%
\textwidth\hsize%
\columnwidth\hsize%
@@ -274,7 +280,7 @@
\tcb@multicolfalse%
\fi}%
\ifx\kvtcb@float\@empty\relax%
- \iftcb@nobreak
+ \iftcb@nobreak%
\let\tcb@nobreak@warning\tcb@do@nobreak@warning%
\iftcb@ignorenobreak%
\kvtcb@beforebox%
@@ -308,14 +314,7 @@
\def\tcb@height@fill@unbroken@normal{\tcb@height@fill@unbroken{none}}
\def\tcb@height@fill@unbroken@compressed{\tcb@height@fill@unbroken{all}}
-\pdfcolIfStackExists{tcb@breakable}{%
- \def\tcb@use@after@lastbox{\bgroup\tcb@after@lastbox\egroup}
-}{%
- \def\tcb@use@after@lastbox{%
- \everypar=\expandafter{\the\everypar\everypar{}\color{.}}%
- \bgroup\tcb@after@lastbox\egroup%
- }%
-}
+\def\tcb@use@after@lastbox{\bgroup\tcb@after@lastbox\egroup}
\def\tcb@drawcolorbox@breakable{%
\tcbdimto\kvtcb@topsep{\kvtcb@topsep}%
@@ -330,6 +329,7 @@
\tcb@parfillskip@check%
\tcb@split@start%
\endgroup%
+ \color{.}% hack for some special cases
\ifx\kvtcb@float\@empty\relax%
\aftergroup\tcb@use@after@lastbox%
\fi%
@@ -916,13 +916,13 @@
\let\tcb@savebox=\tcb@vbox%
\let\endtcb@savebox=\endtcb@vbox%
\let\tcb@drawcolorbox=\tcb@drawcolorbox@breakable%
- \pdfcolIfStackExists{tcb@breakable}{%
- \appto\tcb@upperdraw@begin@hook{\pdfcolSetCurrent{tcb@breakable}}%
- \appto\tcb@lowerdraw@begin@hook{\pdfcolSetCurrent{tcb@breakable}}%
- }{%
- \appto\tcb@upperdraw@begin@hook{\color{tcbcolupper}}%
- \appto\tcb@lowerdraw@begin@hook{\color{tcbcollower}}%
- }%
+ \iftcb@usecolorstack%
+ \def\tcb@upperdraw@begin@hook{\pdfcolSetCurrent{tcb@breakable}}%
+ \def\tcb@lowerdraw@begin@hook{\pdfcolSetCurrent{tcb@breakable}}%
+ \else%
+ \def\tcb@upperdraw@begin@hook{\color{tcbcolupper}}%
+ \def\tcb@lowerdraw@begin@hook{\color{tcbcollower}}%
+ \fi%
}
\tcbset{%
@@ -1027,12 +1027,19 @@
segmentation at break/true/.code={\let\tcb@split@SL\tcb@split@SL@displayed},
segmentation at break/false/.code={\let\tcb@split@SL\tcb@split@L},
segmentation at break/.default=true,
+ use color stack/.is choice,%
+ use color stack/true/.code={%
+ \pdfcolIfStackExists{tcb@breakable}{\tcb@usecolorstacktrue}{\tcb@usecolorstackfalse}%
+ },%
+ use color stack/false/.code={\tcb@usecolorstackfalse},%
+ use color stack/.default=true,%
}
\tcbset{%
reset@breakable/.style={%
unbreakable,notitle after break,
+ use color stack=false,
shrink break goal=0pt,
lines before break=2,
topsep at break=0pt,
diff --git a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
index 0b9e7058b9..569308b3b5 100644
--- a/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbdocumentation.code.tex: Code for LaTeX documentations
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{listings,skins,xparse,external,raster}
diff --git a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
index 26664a4ab5..776a5694ec 100644
--- a/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbexternal.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbexternal.code.tex: Code for externalization
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{pro@cessing}
diff --git a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
index 62b718efe6..31e0b37980 100644
--- a/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbfitting.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbfitting.code.tex: Code for fit boxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\newdimen\tcbfitdim
\newdimen\tcb@lowerfitdim
diff --git a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
index 4e82c8ecd1..9e3be34df0 100644
--- a/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbhooks.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbhooks.code.tex: Code for adding hooks
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbset{%
before upper app/.code={\appto\kvtcb@before@upper{#1}},%
diff --git a/macros/latex/contrib/tcolorbox/tcblistings.code.tex b/macros/latex/contrib/tcolorbox/tcblistings.code.tex
index 84acc3bc18..f44cbe9a4e 100644
--- a/macros/latex/contrib/tcolorbox/tcblistings.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistings.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcblistings.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{listings}[2007/02/22]
diff --git a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
index 42f48c655b..b070c4e727 100644
--- a/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistingscore.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcblistingscode.code.tex: Auxiliary code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{pro@cessing}
diff --git a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
index b656e6722f..b4fb28f987 100644
--- a/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcblistingsutf8.code.tex: Code for colorboxes with listings in UTF-8
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{listings}
diff --git a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
index e85f6143da..0e29cfe97d 100644
--- a/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbmagazine.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbmagazine.code.tex: Code for box sets and magazine styles
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{breakable}
diff --git a/macros/latex/contrib/tcolorbox/tcbminted.code.tex b/macros/latex/contrib/tcolorbox/tcbminted.code.tex
index de83f6f154..20b548f0ae 100644
--- a/macros/latex/contrib/tcolorbox/tcbminted.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbminted.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbminted.code.tex: Code for colorboxes with listings
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{minted}[2011/09/17]
diff --git a/macros/latex/contrib/tcolorbox/tcbposter.code.tex b/macros/latex/contrib/tcolorbox/tcbposter.code.tex
index ab7704e1ae..591806e8e5 100644
--- a/macros/latex/contrib/tcolorbox/tcbposter.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbposter.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbposter.code.tex: Code for posters
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{breakable,magazine,skins,fitting}
diff --git a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
index 535d393e2c..14e7c8d430 100644
--- a/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbprocessing.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbprocessing.code.tex: Code for conditional processing
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{pdftexcmds}
\RequirePackage{shellesc}
diff --git a/macros/latex/contrib/tcolorbox/tcbraster.code.tex b/macros/latex/contrib/tcolorbox/tcbraster.code.tex
index fe8da9dceb..2cdfbfcd7b 100644
--- a/macros/latex/contrib/tcolorbox/tcbraster.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbraster.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\newcounter{tcbrastercolumn}
\newcounter{tcbrasterrow}
diff --git a/macros/latex/contrib/tcolorbox/tcbskins.code.tex b/macros/latex/contrib/tcolorbox/tcbskins.code.tex
index 14c70a87c6..0df4c6b0c6 100644
--- a/macros/latex/contrib/tcolorbox/tcbskins.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbskins.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbskins.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{tikz}[2010/10/13]
diff --git a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
index 03a9bf1eda..ca0940971a 100644
--- a/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbskinsjigsaw.code.tex: Code for colorboxes with different skins
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{skins}
diff --git a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
index 897f1a9737..334f51dea9 100644
--- a/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbtheorems.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbtheorems.code.tex: Code for theorems in colorboxes
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{amsmath}
diff --git a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
index 1d76bf65dd..cd02d69ff3 100644
--- a/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbvignette.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbvignette.code.tex: Code for ornamental frames
%%
%% -------------------------------------------------------------------------------------------
@@ -17,7 +17,7 @@
%%
%% This work consists of all files listed in README
%%
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\tcbuselibrary{skins}
diff --git a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
index 83713823f4..8fbf7fb8a1 100644
--- a/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
+++ b/macros/latex/contrib/tcolorbox/tcbxparse.code.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcbxparse.code.tex: Code for xparse features
%%
%% -------------------------------------------------------------------------------------------
@@ -18,7 +18,7 @@
%% This work consists of all files listed in README
%%
%\makeatletter
-\tcb@set@library@version{4.41}
+\tcb@set@library@version{4.42}
\RequirePackage{xparse}[2013/12/31]
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
index 05ef9686bd..8df5f0fb63 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
index 219b331661..7561a6fa3d 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcolorbox-example-poster.tex: a poster example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
index 3506915b03..8d7e1b9e17 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
index 3849a1c223..0d1cb965bd 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-example.tex
@@ -1,4 +1,4 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcolorbox-example.tex: an example for tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
index 71cfb4f99b..71727a970e 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
index b54b5585b2..de4c7d17b9 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex
@@ -1,5 +1,5 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcolorbox-tutorial-poster.tex: a tutorial for poster creation with tcolorbox
%%
%% -------------------------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex b/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
index b8d678d8d2..9720be99f0 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex
@@ -110,13 +110,9 @@ parameters. The differences are:
box\footnote{\refKey{/tcb/enforce breakable} acts like \refKey{/tcb/breakable} until |tcolorbox| 3.04.}.
\textbf{But, a breakable box inside a breakable box will usually give a mess.}
\item\tcbdocmarginnote{\tcbdocnew{2020-09-17}}
- Depending on the \LaTeX\ compiler, if your text content contains some text
+ Depending on the \LaTeX\ engine, if your text content contains some text
color changing commands, your color may not survive the break to the next box.
- Since |tcolorbox|~4.32, |pdflatex| and |lualatex| should not have that
- problem. For |xelatex|, with the |fontspec| package,
- you can use
- |\addfontfeatures{Color=mycolor}|
- to add a font color which survives the break.
+ See the documentation for \refKey{/tcb/use color stack} for more information.
\item\tcbdocmarginnote{\tcbdocnew{2014-10-30}}
The |perpage| option of the |footmisc| package is deliberately deactivated
inside a breakable box since all footnotes are placed at the end
@@ -222,7 +218,7 @@ parameters. The differences are:
\item Setting a \meta{length} to a negative value means that
the sum of this negative value and the naturally available space is used
for breaking (boxes will shrink in height).
- That that before version 4.10 negative values were treated like |0pt|.
+ Note that before version 4.10 negative values were treated like |0pt|.
\end{itemize}
\begin{dispExample}
% \usepackage{multicol,lipsum}
@@ -313,6 +309,72 @@ The |break at| option can be used to insert better break points by hand.
\end{docTcbKey}
+
+\begin{docTcbKey}[][doc new=2020-10-09]{use color stack}{\colOpt{=true\textbar false}}{default |true|, initially |false|}
+ Depending on the \LaTeX\ engine and loaded packages, if your text contains some
+ color changing commands, your color may not survive the break to the next box.
+ For some engines, there is support for additional color stacks which
+ allow colors to survive breaks. Such an color stack can be activated
+ by \refKey{/tcb/use color stack} with help of the |pdfcol| package.
+ This can be done globally or per box.
+ \begin{marker}
+ Note that activating \refKey{/tcb/use color stack} inserts a color command with a \emph{whatsit}
+ at the begin of the upper part and of the lower part of a \refEnv{tcolorbox}.
+ This \emph{may} add additional vertical space, e.g. if your box text starts
+ with a list like \emph{enumerate}!
+ \end{marker}
+ \begin{itemize}
+ \item pdf\TeX: color stacks supported.
+ \item Lua\TeX: color stacks supported, but you should consider loading the
+ |luacolor| package \emph{instead} which avoids the spacing problem.
+ \item Xe\TeX: color stacks not supported (yet?). From hearsay,
+ with the |fontspec| package, you may use |\addfontfeatures{Color=mycolor}|
+ to add a font color which survives the break.
+ \end{itemize}
+ If |pdfcol| cannot initialize an additional color stack for the used engine,
+ \refKey{/tcb/use color stack} is silently ignored.
+
+\clearpage
+\begin{dispExample}
+% \usepackage{multicol,lipsum}
+\begin{multicols}{2}\footnotesize
+Breakable box without color stack.
+\begin{tcolorbox}[enhanced jigsaw,
+ size=small, colframe=gray, colback=yellow!10!white, colupper=blue,
+ enforce breakable,% use only breakable in the real world!
+ vfill before first, pad at break=1mm, break at=3.3cm ]
+ \begin{itemize}\item Some blue text.\end{itemize}
+ {\color{red}\itshape\lipsum[2]}\par
+ More blue text.
+\end{tcolorbox}
+Text after box.
+\end{multicols}
+\end{dispExample}
+
+We do again with \refKey{/tcb/use color stack}. Observe the additional spacing
+at the begin of the box:
+
+\begin{dispExample}
+% \usepackage{multicol,lipsum}
+\begin{multicols}{2}\footnotesize
+Breakable box with color stack.
+\begin{tcolorbox}[enhanced jigsaw, use color stack,
+ size=small, colframe=gray, colback=yellow!10!white, colupper=blue,
+ enforce breakable,% use only breakable in the real world!
+ vfill before first, pad at break=1mm, break at=3.3cm ]
+ \begin{itemize}\item Some blue text.\end{itemize}
+ {\color{red}\itshape\lipsum[2]}\par
+ More blue text.
+\end{tcolorbox}
+Text after box.
+\end{multicols}
+\end{dispExample}
+
+\end{docTcbKey}
+
+
+
+
\clearpage
\subsection{Option Keys for the Break Appearance}
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.pdf b/macros/latex/contrib/tcolorbox/tcolorbox.pdf
index 312bc849e1..f4d99c53ae 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.pdf
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.sty b/macros/latex/contrib/tcolorbox/tcolorbox.sty
index 58d6d15e23..a5f9d23397 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.sty
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.sty
@@ -1,8 +1,8 @@
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcolorbox.sty: Text color boxes
%%
%% -------------------------------------------------------------------------------------------
-%% Copyright (c) 2006-2019 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
+%% Copyright (c) 2006-2020 by Prof. Dr. Dr. Thomas F. Sturm <thomas dot sturm at unibw dot de>
%% -------------------------------------------------------------------------------------------
%%
%% This work may be distributed and/or modified under the
@@ -18,8 +18,8 @@
%% This work consists of all files listed in README
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tcolorbox}[2020/09/29 version 4.41 text color boxes]
-\def\tcb@version{4.41}
+\ProvidesPackage{tcolorbox}[2020/10/09 version 4.42 text color boxes]
+\def\tcb@version{4.42}
\RequirePackage{pgf}[2008/01/15]
\RequirePackage{verbatim}[2003/08/22]
@@ -711,7 +711,10 @@
\let\tcb@savebox=\tcb@lrbox%
\let\endtcb@savebox=\endtcb@lrbox%
\let\tcb@defToTotalHeight=\tcb@defToTotalHeightStandard%
- \let\tcb@drawcolorbox=\tcb@drawcolorbox@standalone},
+ \let\tcb@drawcolorbox=\tcb@drawcolorbox@standalone%
+ \def\tcb@upperdraw@begin@hook{\color{tcbcolupper}}%
+ \def\tcb@lowerdraw@begin@hook{\color{tcbcollower}}%
+ },
code/.code={#1},
capture/.store in=\kvtcb@capture,%
hbox/.style={capture=hbox},%
@@ -868,10 +871,10 @@
\let\endtcb@savebox=\endtcb@lrbox
\def\tcb@saveupperbox{%
-\begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper}
+\begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\tcb@lua@color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper}
\def\tcb@savelowerbox{%
-\begin{tcb@savebox}{\tcb@lowerbox}{\tcb@w@lower}\color{tcbcollower}\kvtcb@fontlower\kvtcb@halignlower\tcb@insert@before@lower}
+\begin{tcb@savebox}{\tcb@lowerbox}{\tcb@w@lower}\tcb@lua@color{tcbcollower}\kvtcb@fontlower\kvtcb@halignlower\tcb@insert@before@lower}
% counter for float
@@ -887,6 +890,11 @@
\tcbset{autoparskip/.style=noparskip}%
\fi%
\tcb@use@autoparskip%
+\ifx\luacolorProcessBox\@undefined%
+ \def\tcb@lua@color#1{}%
+\else%
+ \def\tcb@lua@color#1{\color{#1}}%
+\fi%
}
\long\def\tcb@colorbox{%
@@ -964,12 +972,24 @@
\fi%
}
+\def\tcb@set@color#1{%
+ \edef\current@color{\@nameuse{\string\color@#1}}%
+ \colorlet{.}{#1}%
+}
+
+\def\tcb@reset@color{%
+ \colorlet{.}{tcbcol@origin}%
+ \edef\current@color{\@nameuse{\string\color@tcbcol@origin}}%
+}
+
\def\tcb@set@@upper@and@lower{%
+ \colorlet{tcbcol@origin}{.}%
\let\tcb@insert@after@part=\tcb@insert@after@upper%
% switch for lower box
\def\tcblower{%
\tcb@insert@after@part%
\end{tcb@savebox}%
+ \tcb@set@color{tcbcollower}%
\unless\iftcb@sidebyside%
\tcbdimto\tcb@w@lower{\tcb@innerwidth-\kvtcb@boxsep*2-\kvtcb@leftlower-\kvtcb@rightlower}%
\fi%
@@ -984,6 +1004,7 @@
\fi%
\tcb@startbox}%
% start of upper box
+ \tcb@set@color{tcbcolupper}%
\ifx\kvtcb@saveupperto\@empty%
\let\tcb@startbox\tcb@saveupperbox%
\let\endtcolorbox\tcb@endboxanddraw%
@@ -1167,6 +1188,7 @@
\def\tcb@endboxanddraw{%
\tcb@insert@after@part%
\end{tcb@savebox}%
+ \tcb@reset@color%
\tcb@draw@color@box%
\tcb@finalize@environment%
}
@@ -1602,7 +1624,7 @@
\pgfsetfillopacity{\kvtcb@opacitytitle}%
\pgftext[x=\the\dimexpr\kvtcb@left@rule+\kvtcb@boxsep+\kvtcb@lefttitle\relax,
y=\the\dimexpr\tcb@height-\kvtcb@top@rule-\kvtcb@boxsep-\kvtcb@toptitle\relax,
- left,top]{\box\tcb@titlebox}%
+ left,top]{\color@begingroup\color{tcbcoltitle}\box\tcb@titlebox\color@endgroup}%
\end{pgfscope}%
\fi\fi%
}
@@ -1661,7 +1683,7 @@
\fi%
\iftcb@hasLower%
\tcb@box@align{\tcb@lowerbox}%
- \iftcb@lowervisible\leavevmode\unhbox\tcb@lowerbox%
+ \iftcb@lowervisible\leavevmode\color{tcbcollower}\unhbox\tcb@lowerbox%
\else%
\iftcb@lowerignored\else\rule[-\dp\tcb@lowerbox]{\z@}{\the\dimexpr\ht\tcb@lowerbox+\dp\tcb@lowerbox\relax}\fi%
\fi%
@@ -1803,10 +1825,13 @@
\long\def\tcbox@inner@hbox#1{%
\tcbset{breakable@false,sidebyside=false}%
\tcb@set@@phantom%
+ \colorlet{tcbcol@origin}{.}%
+ \tcb@set@color{tcbcolupper}%
\sbox\tcb@upperbox{\tcb@embed@tcbox{%
\csname tcb@parbox@use@\kvtcb@parbox\endcsname%
\@parboxrestore%
- \color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper}}%
+ \tcb@lua@color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper}}%
+ \tcb@reset@color%
\tcbdimto\tcb@val@raisebase{\the\dimexpr\dp\tcb@upperbox+\kvtcb@bottom+\kvtcb@boxsep+\kvtcb@bottom@rule@stand+\kvtcb@bbbottom@stand\relax}%
\tcbdimto\kvtcb@width{\wd\tcb@upperbox+\kvtcb@left@rule+\kvtcb@leftupper+\kvtcb@boxsep*2+\kvtcb@rightupper+\kvtcb@right@rule}%
\tcb@hasLowerfalse%
@@ -1821,7 +1846,10 @@
\tcb@set@@phantom%
\tcb@set@@title%
\tcb@set@@dimensions%
- \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper\end{tcb@savebox}%
+ \colorlet{tcbcol@origin}{.}%
+ \tcb@set@color{tcbcolupper}%
+ \begin{tcb@savebox}{\tcb@upperbox}{\tcb@w@upper}\tcb@lua@color{tcbcolupper}\kvtcb@fontupper\kvtcb@halignupper\tcb@insert@before@upper#1\tcb@insert@after@upper\end{tcb@savebox}%
+ \tcb@reset@color%
\tcb@hasLowerfalse%
\tcb@draw@color@box%
}
@@ -2199,7 +2227,8 @@
\tcbset{%
initialize@reset/.code={\tcbset{#1}\appto\tcb@reset{\tcbset{#1}}},%
reset/.code={\tcb@reset},%
- reset@core/.style={code={%
+ reset@core/.style={%
+ code={%
\let\tcbtitletext\@empty%
\tcb@attach@title@code@%
\let\tcb@lateoptions@hook\@empty%
@@ -2208,6 +2237,7 @@
\let\tcb@lowerdraw@begin@hook\@empty%
\let\tcb@lowerdraw@end@hook\@empty%
},
+ breakable@false,
width=\linewidth,beforeafter skip balanced=0.5\baselineskip plus 2pt,arc is curved,
natural height,height plus=0pt,space to lower,valign=top,valign lower=top,
size=normal,rounded corners,parfillskip restore,
diff --git a/macros/latex/contrib/tcolorbox/tcolorbox.tex b/macros/latex/contrib/tcolorbox/tcolorbox.tex
index 95be857149..39dcde9f3b 100644
--- a/macros/latex/contrib/tcolorbox/tcolorbox.tex
+++ b/macros/latex/contrib/tcolorbox/tcolorbox.tex
@@ -1,5 +1,5 @@
% \LaTeX-Main\
-%% The LaTeX package tcolorbox - version 4.41 (2020/09/29)
+%% The LaTeX package tcolorbox - version 4.42 (2020/10/09)
%% tcolorbox.tex: Manual
%%
%% -------------------------------------------------------------------------------------------
@@ -43,8 +43,8 @@
\setlength{\bibitemsep}{\smallskipamount}
\addbibresource{tcolorbox.doc.bib}
-\def\version{4.41}%
-\def\datum{2020/09/29}%
+\def\version{4.42}%
+\def\datum{2020/10/09}%
\makeindex
\hypersetup{
@@ -62,7 +62,7 @@
%\geometry{showframe}
%\tcbset{draftmode}
\tcbset{/tcb/external/-}% for final run
-%\includeonly{tcolorbox.doc.intro,tcolorbox.doc.quickref,tcolorbox.doc.coremacros}
+%\includeonly{tcolorbox.doc.breakable}
%\hypersetup{colorlinks=false}
diff --git a/macros/latex/contrib/xmuthesis/LICENSE b/macros/latex/contrib/xmuthesis/LICENSE
new file mode 100644
index 0000000000..2244313901
--- /dev/null
+++ b/macros/latex/contrib/xmuthesis/LICENSE
@@ -0,0 +1,416 @@
+The LaTeX Project Public License
+=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
+
+LPPL Version 1.3c 2008-05-04
+
+Copyright 1999 2002-2008 LaTeX3 Project
+ Everyone is allowed to distribute verbatim copies of this
+ license document, but modification of it is not allowed.
+
+
+PREAMBLE
+========
+
+The LaTeX Project Public License (LPPL) is the primary license under
+which the LaTeX kernel and the base LaTeX packages are distributed.
+
+You may use this license for any work of which you hold the copyright
+and which you wish to distribute. This license may be particularly
+suitable if your work is TeX-related (such as a LaTeX package), but
+it is written in such a way that you can use it even if your work is
+unrelated to TeX.
+
+The section `WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE',
+below, gives instructions, examples, and recommendations for authors
+who are considering distributing their works under this license.
+
+This license gives conditions under which a work may be distributed
+and modified, as well as conditions under which modified versions of
+that work may be distributed.
+
+We, the LaTeX3 Project, believe that the conditions below give you
+the freedom to make and distribute modified versions of your work
+that conform with whatever technical specifications you wish while
+maintaining the availability, integrity, and reliability of
+that work. If you do not see how to achieve your goal while
+meeting these conditions, then read the document `cfgguide.tex'
+and `modguide.tex' in the base LaTeX distribution for suggestions.
+
+
+DEFINITIONS
+===========
+
+In this license document the following terms are used:
+
+ `Work'
+ Any work being distributed under this License.
+
+ `Derived Work'
+ Any work that under any applicable law is derived from the Work.
+
+ `Modification'
+ Any procedure that produces a Derived Work under any applicable
+ law -- for example, the production of a file containing an
+ original file associated with the Work or a significant portion of
+ such a file, either verbatim or with modifications and/or
+ translated into another language.
+
+ `Modify'
+ To apply any procedure that produces a Derived Work under any
+ applicable law.
+
+ `Distribution'
+ Making copies of the Work available from one person to another, in
+ whole or in part. Distribution includes (but is not limited to)
+ making any electronic components of the Work accessible by
+ file transfer protocols such as FTP or HTTP or by shared file
+ systems such as Sun's Network File System (NFS).
+
+ `Compiled Work'
+ A version of the Work that has been processed into a form where it
+ is directly usable on a computer system. This processing may
+ include using installation facilities provided by the Work,
+ transformations of the Work, copying of components of the Work, or
+ other activities. Note that modification of any installation
+ facilities provided by the Work constitutes modification of the Work.
+
+ `Current Maintainer'
+ A person or persons nominated as such within the Work. If there is
+ no such explicit nomination then it is the `Copyright Holder' under
+ any applicable law.
+
+ `Base Interpreter'
+ A program or process that is normally needed for running or
+ interpreting a part or the whole of the Work.
+
+ A Base Interpreter may depend on external components but these
+ are not considered part of the Base Interpreter provided that each
+ external component clearly identifies itself whenever it is used
+ interactively. Unless explicitly specified when applying the
+ license to the Work, the only applicable Base Interpreter is a
+ `LaTeX-Format' or in the case of files belonging to the
+ `LaTeX-format' a program implementing the `TeX language'.
+
+
+
+CONDITIONS ON DISTRIBUTION AND MODIFICATION
+===========================================
+
+1. Activities other than distribution and/or modification of the Work
+are not covered by this license; they are outside its scope. In
+particular, the act of running the Work is not restricted and no
+requirements are made concerning any offers of support for the Work.
+
+2. You may distribute a complete, unmodified copy of the Work as you
+received it. Distribution of only part of the Work is considered
+modification of the Work, and no right to distribute such a Derived
+Work may be assumed under the terms of this clause.
+
+3. You may distribute a Compiled Work that has been generated from a
+complete, unmodified copy of the Work as distributed under Clause 2
+above, as long as that Compiled Work is distributed in such a way that
+the recipients may install the Compiled Work on their system exactly
+as it would have been installed if they generated a Compiled Work
+directly from the Work.
+
+4. If you are the Current Maintainer of the Work, you may, without
+restriction, modify the Work, thus creating a Derived Work. You may
+also distribute the Derived Work without restriction, including
+Compiled Works generated from the Derived Work. Derived Works
+distributed in this manner by the Current Maintainer are considered to
+be updated versions of the Work.
+
+5. If you are not the Current Maintainer of the Work, you may modify
+your copy of the Work, thus creating a Derived Work based on the Work,
+and compile this Derived Work, thus creating a Compiled Work based on
+the Derived Work.
+
+6. If you are not the Current Maintainer of the Work, you may
+distribute a Derived Work provided the following conditions are met
+for every component of the Work unless that component clearly states
+in the copyright notice that it is exempt from that condition. Only
+the Current Maintainer is allowed to add such statements of exemption
+to a component of the Work.
+
+ a. If a component of this Derived Work can be a direct replacement
+ for a component of the Work when that component is used with the
+ Base Interpreter, then, wherever this component of the Work
+ identifies itself to the user when used interactively with that
+ Base Interpreter, the replacement component of this Derived Work
+ clearly and unambiguously identifies itself as a modified version
+ of this component to the user when used interactively with that
+ Base Interpreter.
+
+ b. Every component of the Derived Work contains prominent notices
+ detailing the nature of the changes to that component, or a
+ prominent reference to another file that is distributed as part
+ of the Derived Work and that contains a complete and accurate log
+ of the changes.
+
+ c. No information in the Derived Work implies that any persons,
+ including (but not limited to) the authors of the original version
+ of the Work, provide any support, including (but not limited to)
+ the reporting and handling of errors, to recipients of the
+ Derived Work unless those persons have stated explicitly that
+ they do provide such support for the Derived Work.
+
+ d. You distribute at least one of the following with the Derived Work:
+
+ 1. A complete, unmodified copy of the Work;
+ if your distribution of a modified component is made by
+ offering access to copy the modified component from a
+ designated place, then offering equivalent access to copy
+ the Work from the same or some similar place meets this
+ condition, even though third parties are not compelled to
+ copy the Work along with the modified component;
+
+ 2. Information that is sufficient to obtain a complete,
+ unmodified copy of the Work.
+
+7. If you are not the Current Maintainer of the Work, you may
+distribute a Compiled Work generated from a Derived Work, as long as
+the Derived Work is distributed to all recipients of the Compiled
+Work, and as long as the conditions of Clause 6, above, are met with
+regard to the Derived Work.
+
+8. The conditions above are not intended to prohibit, and hence do not
+apply to, the modification, by any method, of any component so that it
+becomes identical to an updated version of that component of the Work as
+it is distributed by the Current Maintainer under Clause 4, above.
+
+9. Distribution of the Work or any Derived Work in an alternative
+format, where the Work or that Derived Work (in whole or in part) is
+then produced by applying some process to that format, does not relax or
+nullify any sections of this license as they pertain to the results of
+applying that process.
+
+10. a. A Derived Work may be distributed under a different license
+ provided that license itself honors the conditions listed in
+ Clause 6 above, in regard to the Work, though it does not have
+ to honor the rest of the conditions in this license.
+
+ b. If a Derived Work is distributed under a different license, that
+ Derived Work must provide sufficient documentation as part of
+ itself to allow each recipient of that Derived Work to honor the
+ restrictions in Clause 6 above, concerning changes from the Work.
+
+11. This license places no restrictions on works that are unrelated to
+the Work, nor does this license place any restrictions on aggregating
+such works with the Work by any means.
+
+12. Nothing in this license is intended to, or may be used to, prevent
+complete compliance by all parties with all applicable laws.
+
+
+NO WARRANTY
+===========
+
+There is no warranty for the Work. Except when otherwise stated in
+writing, the Copyright Holder provides the Work `as is', without
+warranty of any kind, either expressed or implied, including, but not
+limited to, the implied warranties of merchantability and fitness for a
+particular purpose. The entire risk as to the quality and performance
+of the Work is with you. Should the Work prove defective, you assume
+the cost of all necessary servicing, repair, or correction.
+
+In no event unless required by applicable law or agreed to in writing
+will The Copyright Holder, or any author named in the components of the
+Work, or any other party who may distribute and/or modify the Work as
+permitted above, be liable to you for damages, including any general,
+special, incidental or consequential damages arising out of any use of
+the Work or out of inability to use the Work (including, but not limited
+to, loss of data, data being rendered inaccurate, or losses sustained by
+anyone as a result of any failure of the Work to operate with any other
+programs), even if the Copyright Holder or said author or said other
+party has been advised of the possibility of such damages.
+
+
+MAINTENANCE OF THE WORK
+=======================
+
+The Work has the status `author-maintained' if the Copyright Holder
+explicitly and prominently states near the primary copyright notice in
+the Work that the Work can only be maintained by the Copyright Holder
+or simply that it is `author-maintained'.
+
+The Work has the status `maintained' if there is a Current Maintainer
+who has indicated in the Work that they are willing to receive error
+reports for the Work (for example, by supplying a valid e-mail
+address). It is not required for the Current Maintainer to acknowledge
+or act upon these error reports.
+
+The Work changes from status `maintained' to `unmaintained' if there
+is no Current Maintainer, or the person stated to be Current
+Maintainer of the work cannot be reached through the indicated means
+of communication for a period of six months, and there are no other
+significant signs of active maintenance.
+
+You can become the Current Maintainer of the Work by agreement with
+any existing Current Maintainer to take over this role.
+
+If the Work is unmaintained, you can become the Current Maintainer of
+the Work through the following steps:
+
+ 1. Make a reasonable attempt to trace the Current Maintainer (and
+ the Copyright Holder, if the two differ) through the means of
+ an Internet or similar search.
+
+ 2. If this search is successful, then enquire whether the Work
+ is still maintained.
+
+ a. If it is being maintained, then ask the Current Maintainer
+ to update their communication data within one month.
+
+ b. If the search is unsuccessful or no action to resume active
+ maintenance is taken by the Current Maintainer, then announce
+ within the pertinent community your intention to take over
+ maintenance. (If the Work is a LaTeX work, this could be
+ done, for example, by posting to comp.text.tex.)
+
+ 3a. If the Current Maintainer is reachable and agrees to pass
+ maintenance of the Work to you, then this takes effect
+ immediately upon announcement.
+
+ b. If the Current Maintainer is not reachable and the Copyright
+ Holder agrees that maintenance of the Work be passed to you,
+ then this takes effect immediately upon announcement.
+
+ 4. If you make an `intention announcement' as described in 2b. above
+ and after three months your intention is challenged neither by
+ the Current Maintainer nor by the Copyright Holder nor by other
+ people, then you may arrange for the Work to be changed so as
+ to name you as the (new) Current Maintainer.
+
+ 5. If the previously unreachable Current Maintainer becomes
+ reachable once more within three months of a change completed
+ under the terms of 3b) or 4), then that Current Maintainer must
+ become or remain the Current Maintainer upon request provided
+ they then update their communication data within one month.
+
+A change in the Current Maintainer does not, of itself, alter the fact
+that the Work is distributed under the LPPL license.
+
+If you become the Current Maintainer of the Work, you should
+immediately provide, within the Work, a prominent and unambiguous
+statement of your status as Current Maintainer. You should also
+announce your new status to the same pertinent community as
+in 2b) above.
+
+
+WHETHER AND HOW TO DISTRIBUTE WORKS UNDER THIS LICENSE
+======================================================
+
+This section contains important instructions, examples, and
+recommendations for authors who are considering distributing their
+works under this license. These authors are addressed as `you' in
+this section.
+
+Choosing This License or Another License
+----------------------------------------
+
+If for any part of your work you want or need to use *distribution*
+conditions that differ significantly from those in this license, then
+do not refer to this license anywhere in your work but, instead,
+distribute your work under a different license. You may use the text
+of this license as a model for your own license, but your license
+should not refer to the LPPL or otherwise give the impression that
+your work is distributed under the LPPL.
+
+The document `modguide.tex' in the base LaTeX distribution explains
+the motivation behind the conditions of this license. It explains,
+for example, why distributing LaTeX under the GNU General Public
+License (GPL) was considered inappropriate. Even if your work is
+unrelated to LaTeX, the discussion in `modguide.tex' may still be
+relevant, and authors intending to distribute their works under any
+license are encouraged to read it.
+
+A Recommendation on Modification Without Distribution
+-----------------------------------------------------
+
+It is wise never to modify a component of the Work, even for your own
+personal use, without also meeting the above conditions for
+distributing the modified component. While you might intend that such
+modifications will never be distributed, often this will happen by
+accident -- you may forget that you have modified that component; or
+it may not occur to you when allowing others to access the modified
+version that you are thus distributing it and violating the conditions
+of this license in ways that could have legal implications and, worse,
+cause problems for the community. It is therefore usually in your
+best interest to keep your copy of the Work identical with the public
+one. Many works provide ways to control the behavior of that work
+without altering any of its licensed components.
+
+How to Use This License
+-----------------------
+
+To use this license, place in each of the components of your work both
+an explicit copyright notice including your name and the year the work
+was authored and/or last substantially modified. Include also a
+statement that the distribution and/or modification of that
+component is constrained by the conditions in this license.
+
+Here is an example of such a notice and statement:
+
+ %% pig.dtx
+ %% Copyright 2005 M. Y. Name
+ %
+ % This work may be distributed and/or modified under the
+ % conditions of the LaTeX Project Public License, either version 1.3
+ % 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.3 or later is part of all distributions of LaTeX
+ % version 2005/12/01 or later.
+ %
+ % This work has the LPPL maintenance status `maintained'.
+ %
+ % The Current Maintainer of this work is M. Y. Name.
+ %
+ % This work consists of the files pig.dtx and pig.ins
+ % and the derived file pig.sty.
+
+Given such a notice and statement in a file, the conditions
+given in this license document would apply, with the `Work' referring
+to the three files `pig.dtx', `pig.ins', and `pig.sty' (the last being
+generated from `pig.dtx' using `pig.ins'), the `Base Interpreter'
+referring to any `LaTeX-Format', and both `Copyright Holder' and
+`Current Maintainer' referring to the person `M. Y. Name'.
+
+If you do not want the Maintenance section of LPPL to apply to your
+Work, change `maintained' above into `author-maintained'.
+However, we recommend that you use `maintained', as the Maintenance
+section was added in order to ensure that your Work remains useful to
+the community even when you can no longer maintain and support it
+yourself.
+
+Derived Works That Are Not Replacements
+---------------------------------------
+
+Several clauses of the LPPL specify means to provide reliability and
+stability for the user community. They therefore concern themselves
+with the case that a Derived Work is intended to be used as a
+(compatible or incompatible) replacement of the original Work. If
+this is not the case (e.g., if a few lines of code are reused for a
+completely different task), then clauses 6b and 6d shall not apply.
+
+
+Important Recommendations
+-------------------------
+
+ Defining What Constitutes the Work
+
+ The LPPL requires that distributions of the Work contain all the
+ files of the Work. It is therefore important that you provide a
+ way for the licensee to determine which files constitute the Work.
+ This could, for example, be achieved by explicitly listing all the
+ files of the Work near the copyright notice of each file or by
+ using a line such as:
+
+ % This work consists of all files listed in manifest.txt.
+
+ in that place. In the absence of an unequivocal list it might be
+ impossible for the licensee to determine what is considered by you
+ to comprise the Work and, in such a case, the licensee would be
+ entitled to make reasonable conjectures as to which files comprise
+ the Work.
+
diff --git a/macros/latex/contrib/xmuthesis/README.md b/macros/latex/contrib/xmuthesis/README.md
new file mode 100644
index 0000000000..444fbc35dd
--- /dev/null
+++ b/macros/latex/contrib/xmuthesis/README.md
@@ -0,0 +1,45 @@
+![](https://img.shields.io/badge/Language-TeX-red.svg) ![](https://img.shields.io/github/stars/CamuseCao/XMU-thesis.svg?style=social) ![](https://img.shields.io/github/release/CamuseCao/XMU-thesis.svg?label=version) ![](https://img.shields.io/github/last-commit/CamuseCao/XMU-thesis.svg?style=social&logo=Tinder) ![](https://img.shields.io/github/repo-size/CamuseCao/XMU-thesis.svg) ![](https://img.shields.io/github/languages/code-size/CamuseCao/XMU-thesis.svg) ![](https://img.shields.io/github/followers/CamuseCao.svg?label=Followers) ![](https://img.shields.io/github/downloads/CamuseCao/XMU-thesis/v0.4/total.svg?style=plastic)
+
+---
+
+[TOC]
+
+# xmuthesis 厦门大学毕业论文模æ¿
+
+xmuthesis 是为厦门大学毕业论文设计的模æ¿ï¼Œç”± [CamuseCao](https://camusecao.top) å¼€å‘和维护。
+
+Github 项目的地å€æ˜¯ : [XMU-thesis](https://github.com/CamuseCao/XMU-thesis)
+
+Overleaf 项目地å€æ˜¯ï¼š [XMU-thesis](https://www.overleaf.com/read/ptthxfctspxh)
+
+邮箱: [camusecao@gmail.com](mailto:camusecao@gmail.com)
+
+---
+
+## 几点申明
+
+本模æ¿ä¸ºä¸ªäººå¼€å‘,éžå­¦æ ¡å®˜æ–¹æ¨¡æ¿ï¼Œä½†æ˜¯åŸºæœ¬æŒ‰ç…§å­¦æ ¡çš„è¦æ±‚定制的。如果在æ交论文或查é‡é‡åˆ°é—®é¢˜è‡ªè¡Œè´Ÿè´£ã€‚学校æ¯å¹´çš„è¦æ±‚å¯èƒ½ä¼šæ”¹å˜ï¼Œå¸Œæœ›åˆ°æ—¶å€™å­¦å¼Ÿå­¦å¦¹ä»¬å¯ä»¥æ供最新的è¦æ±‚文档给我。期待 2020 年会有人å‘给我。目å‰æœ¬é¡¹ç›®è¿˜å¤„于æŒç»­å¼€å‘维护中。在使用该模æ¿ä¹‹å‰ï¼Œè¯·æŠŠåŽŸå§‹ç¼–译出æ¥çš„文档读一下,对于你的使用是很有帮助的。
+
+## 致谢
+
+感谢曾ç»ä¸ºè¯¥æ¨¡æ¿æ出建议和改进的所有人。
+
+## åè®®
+
+本模æ¿å‘布éµå¾ª LaTeX 项目公共许å¯è¯ 1.3 c 或更高版本。如果是è¡ç”Ÿä½œå“,请务必加入å议声明和模æ¿ä¿¡æ¯ï¼ˆgithubã€CTAN 地å€ï¼‰ã€‚
+
+---
+
+# xmuthesis A LaTeX template for XMU
+
+xmuthesis is designed for XMU thesis's writing, created and maintained by CamuseCao.
+
+Github: [XMU-thesis](https://github.com/CamuseCao/XMU-thesis)
+
+Overleaf: [XMU-thesis](https://www.overleaf.com/read/ptthxfctspxh)
+
+Email: [camusecao@gmail.com](mailto:camusecao@gmail.com)
+
+## License
+
+This work is released under the LaTeX Project Public License, v1.3c or later. \ No newline at end of file
diff --git a/macros/latex/contrib/xmuthesis/xmuthesis.dtx b/macros/latex/contrib/xmuthesis/xmuthesis.dtx
new file mode 100644
index 0000000000..b2363ad523
--- /dev/null
+++ b/macros/latex/contrib/xmuthesis/xmuthesis.dtx
@@ -0,0 +1,4722 @@
+% \iffalse meta-comment
+% !TEX root = xmuthesis.tex
+% !TEX program = xelatex
+%
+% !TeX encoding = UTF-8
+%
+%% File: xmuthesis.dtx
+%
+% Copyright (C) 2019-2020 CamuseCao
+%
+% 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
+%
+% https://www.latex-project.org/lppl.txt
+%
+%
+%
+%
+%<*driver>
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+%<*install>
+% \input l3docstrip.tex
+\input ctxdocstrip %
+\keepsilent
+\askforoverwritefalse
+\preamble
+<!--
+----------------------------------------------------------------
+xmuthesis --- A LaTeX template for XMU thesis writing
+E-mail: camusecao@gmail.com
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+----------------------------------------------------------------
+-->
+\endpreamble
+% stop docstrip adding \endinput
+\postamble
+<!--
+Copyright (C) 2019 by CamuseCao <https://camusecao.top>
+
+This work 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
+CamuseCao.
+
+This work consists of the file xmuthesis.dtx
+and the derived files xmuthesis.cls,
+ xmuthesis.pdf and
+ xmulogo.sty.
+
+-->
+\endpostamble
+
+\generate{
+ \usedir{tex/latex/\jobname}
+ \file{\jobname.cls}{\from{\jobname.dtx}{class}}
+ \file{xmulogo.sty}{\from{\jobname.dtx}{logo}}
+}
+% \generate{\file{l3doc.ist}{\from{l3doc.dtx}{docist}}}
+\Msg{---------------------}
+\Msg{| End of extracting |}
+\Msg{---------------------}
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%</install>
+%</driver>
+%
+%<*driver|class>
+% !TEX root = ./xmu.tex
+\NeedsTeXFormat{LaTeX2e}
+
+\RequirePackage{ expl3, xparse, xtemplate, l3keys2e, scrlfile }
+
+\RequirePackage[l2tabu, orthodox]{nag}
+%</driver|class>
+%
+%<*driver>
+\ProvidesFile{\jobname.dtx}[2020/10/09 v0.4.1 XMU thesis]
+\documentclass{ctxdoc}% l3doc ctxdoc
+\OnlyDescription
+\begin{document}
+ \DocInput{\jobname.dtx}
+ \IndexLayout
+ \PrintChanges
+ \PrintIndex
+\end{document}
+%</driver>
+% \fi
+% \changes{v0.4}{2020/10/06}{引入 \LaTeX{3} 添加 overleaf 支æŒä»¥åŠä½¿ç”¨ lppl 许å¯è¯ç­‰}
+% \changes{v0.3}{2020/08/09}{较少å®åŒ…çš„ä¾èµ–以åŠä¿®å¤éƒ¨åˆ†é—®é¢˜}
+% \changes{v0.2}{2019/07/02}{增加平å°æ”¯æŒä»¥åŠå‘布 xmulogo å®åŒ…ç­‰}
+% \changes{v0.1.1}{2019/02/19}{添加 a3 å°é¢ä»¥åŠç¼–译脚本等}
+% \changes{v0.1}{2019/01/30}{第一版}
+% \CheckSum{0}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \GetFileInfo{\jobname.dtx}
+% \DoNotIndex{\xmulineto, \vspace, \par, \draw, \begin, \end, \\, } %
+%
+% \title{\bfseries 厦大论文模æ¿ä½¿ç”¨è¯´æ˜Ž}
+% \author{\href{https://camusecao.top}{酸奶}}
+% \date{\filedate\quad\fileversion}
+% \maketitle
+% \begin{abstract}
+% xmuthesis 是é¢å‘厦大毕业论文写作的 \LaTeX{} 模æ¿ï¼Œå®ƒèƒ½å¤ŸèŠ‚约你在排版上é¢æ‰€èŠ±çš„时间。但是它ä¸æ˜¯å®˜æ–¹æ¨¡æ¿ï¼Œæ˜¯ç”±æˆ‘ç§äººç»´æŠ¤çš„,格å¼åŸºæœ¬ç¬¦åˆå­¦æ ¡çš„è¦æ±‚。虽然在我之å‰å·²ç»æœ‰ç±»ä¼¼çš„模æ¿ï¼Œä½†æ˜¯å¤§å¤šæ•°ç¼ºä¹ç»´æŠ¤ï¼Œå·²ç»è¿‡æ—¶ï¼Œå› æ­¤æœ‰äº†è¯¥æ¨¡æ¿ã€‚现在模æ¿å·²ç»æ”¯æŒæœ¬ç§‘ã€ç¡•å£«å’Œåšå£«ã€‚
+% \end{abstract}
+% \tableofcontents
+% \begin{documentation}
+% \section{介ç»}
+%
+% \subsection{历å²}
+% 厦大论文模æ¿æ˜¯ 2018 年开始开å‘的, 2019 å¹´å‘布于 Github 上。起åˆè¿˜æ²¡æœ‰å†™æˆ cls 模æ¿ï¼Œåœ¨åŽæ¥é€æ¸è§„范,还é¢å¤–å¼€å‘了 xmulogo å®åŒ…,用于生æˆé«˜è´¨é‡çš„校徽和校å图片。在 2020 å¹´åˆç»Ÿä¸€ç”¨ dtx æ¥å®žçŽ°ã€‚
+%
+% \subsection{å‘现模æ¿çš„问题}
+%
+% 如果å‘现模æ¿ç”¨ä¸å¯¹çš„地方或者有建议欢迎在 Github 上å馈或者å‘邮件给我。
+%
+% è”系方å¼ï¼š
+% 邮箱: \href{mailto:camusecao@gmail.com}{camusecao@gmail.com}
+%
+% Github é¡¹ç›®çš„åœ°å€ : \href{https://github.com/CamuseCao/XMU-thesis}{XMU-thesis}
+% \section{使用示例}
+% \subsection{最å°ç¤ºä¾‹}
+% \begin{ctexexam}
+% \documentclass[degree=undergraduate,bibstyle=numerical,font=empty]{xmuthesis}
+% \xmusetup{
+% author = 酸奶 ,
+% title = 你的论文题目 ,
+% date = \today , % 二〇一ä¹å¹´äºŒæœˆäºŒåå…«æ—¥
+% class = 2015级 ,
+% studentnumber = 1972015xxxxxx ,
+% department = 物ç†ç§‘学与技术学院 ,
+% major = 微电å­ç§‘学与工程 ,
+% advisor = 校内指导è€å¸ˆ \quad èŒç§° ,
+% otheradvisor = 校外指导è€å¸ˆ \quad èŒç§° ,
+% team = 物ç†ç§‘学与技术学院~ç†è®ºç‰©ç† ,
+% fundteam = 物ç†ç§‘学与技术学院~ç†è®ºç‰©ç† ,
+% degree = 本\quad 科 ,
+% englishtitle = Your English Title ,
+% majorordouble = 主修 , % 辅修
+% lab = 实验室 ,
+% % 以下几项本科生无需填写,也ä¸ç”¨åˆ é™¤
+% classified_code = 1234 , % 分类å·
+% security_classification = 公开 , % 内部 秘密 机密 公开 等
+% UDC = 5 , % 国际å进分类法
+% submit_date = 2020 å¹´ 8 月 10 æ—¥ , % 论文æ交日期
+% defense_date = 2020 年 8 月 11 日 , % 论文答辩日期
+% conferred_date = 2020 å¹´ 8 月 21 æ—¥ , % å­¦ä½æŽˆäºˆæ—¥æœŸ
+% chairman = 张三 , % 答辩委员会主席
+% referee = æŽå›› , % 评阅人
+% }
+% \usepackage{xmulogo}
+% \begin{document}
+% \maketitle
+% \chapter*{致谢}
+% 这里致谢
+% \begin{abstract}*
+% 中文摘è¦
+% \keywords*{关键è¯1;关键è¯2;关键è¯3}
+% \end{abstract}
+% \begin{abstract}
+% English abstract.
+% \keywords{keyword1; keyword2; keyword3}
+% \end{abstract}
+% \xmutableofcontents % åŒè¯­ç›®å½•
+% \chapter{正文}{main body}
+% 正文内容
+% % \nocite{*}
+% % \bibliography{Reference}
+% \appendix
+% 附录
+% \backmatter
+% åŽè®°
+% \end{document}
+% \end{ctexexam}
+%
+% \subsection{编译}
+%
+% 本模æ¿éœ€è¦ä½¿ç”¨ \verb|xelatex| 编译æ‰èƒ½å¾—到正确的结果。
+%
+% 对于 \verb|latexmk| 用户,å¯ä»¥ç”¨
+% \begin{frameverb}
+% latexmk -xelatex main
+% \end{frameverb}
+% 一步到ä½ç¼–译好。
+%
+% ä¸ç”¨ \verb|latexmk| 的用户å¯ä»¥ç”¨
+% \begin{frameverb}
+% xelatex main
+% \end{frameverb}
+% 编译。
+%
+% 如果用了有å‚考文献需è¦ç¼–译,使用 \verb|latexmk| 编译的方法ä»ç„¶å¯è¡Œã€‚对于ä¸ç”¨ \verb|latexmk| 的情况,则较为å¤æ‚,需è¦å››æ­¥
+% \begin{frameverb}
+% xelatex main
+% bibtex main
+% xelatex main
+% xelatex main
+% \end{frameverb}
+%
+% \section{文档选项}
+%
+% \begin{function}[]{degree}
+% \begin{syntax}
+% degree = \Arg{å­¦ä½}
+% \end{syntax}
+% 是 xmuthesis 声明学ä½çš„选项,根æ®å­¦ä½çš„ä¸åŒï¼Œæ–‡æ¡£é£Žæ ¼ç•¥æœ‰ä¸åŒï¼Œè¿™æ˜¯ç”±äºŽä¸åŒå­¦ä½çš„毕业论文è¦æ±‚ä¸åŒå¯¼è‡´çš„。
+% \end{function}
+%
+% \begin{optdesc}
+% \item[undergraduate] 这是该选项的默认值,本科生选用该选项
+% \item[master] 硕士生使用该选项
+% \item[doctor] åšå£«ç”Ÿä½¿ç”¨è¯¥é€‰é¡¹
+% \end{optdesc}
+% 以硕士生为例,他应该使用
+% \begin{frameverb}
+% \documentclass[degree=master]{xmuthesis}
+% \end{frameverb}
+%
+% \begin{function}[]{bibstyle}
+% \begin{syntax}
+% bibstyle = \Arg{å‚考文献样å¼}
+% \end{syntax}
+% 是控制å‚考文献样å¼çš„选项。模æ¿é»˜è®¤åŠ è½½ \verb|gbt7714| å®åŒ…,需é…åˆ \verb|bibtex| 编译得到最终结果。
+% \end{function}
+%
+% \begin{optdesc}
+% \item[numerical] 这是该选项的默认值,顺åºç¼–ç åˆ¶ä¸‹ï¼Œå‚考文献根æ®å¼•ç”¨çš„顺åºæŽ’åºã€‚引用样å¼æ˜¯è§’æ ‡å¼ã€‚
+% \item[numbers] 与 \verb|numerical| 一样是顺åºç¼–ç åˆ¶ï¼Œä½†æ˜¯å¼•ç”¨ä½¿ç”¨æ­£æ–‡æ¨¡å¼,如“文献 [3] 中说明â€
+% \item[authoryear] 使用著者-出版年制
+% \end{optdesc}
+% 以著者-出版年制为例,应该使用
+% \begin{frameverb}
+% \documentclass[bibstyle=authoryear]{xmuthesis}
+% \end{frameverb}
+%
+% 对于著者-出版年制,è¦èŽ·å¾—正确的å‚考文献排åºï¼Œéœ€è¦ç”¨ \verb|key=| \Arg{拼音} 对 \verb|bib| 文件的中文作者注音,且用 \verb|&| 分隔作者。如
+% \begin{ctexexam}
+% @article{zhangsan,
+% title={高等数学教学改é©ç ”究进展},
+% author={张三 and æŽå››},
+% key={zhang1 san1 & li3 si4},
+% journal={大學數學},
+% volume={23},
+% number={4},
+% pages={20--26},
+% year={2007},
+% publisher={大學數學編輯部}
+% }
+% \end{ctexexam}
+%
+%
+% \begin{function}[]{font}
+% \begin{syntax}
+% bibstyle = \Arg{字体选项}
+% \end{syntax}
+% 是控制模æ¿ä½¿ç”¨å­—体的命令。
+% \end{function}
+%
+% \begin{optdesc}
+% \item[empty] 这是该选项的默认值,采用 \CTeX{} å®é›†çš„自动判断功能,自动根æ®ç³»ç»Ÿé…置字体
+% \item[adobe] 采用 \CTeX{} å®é›†é…置的 adobe 字体,详情用 \verb|texdoc ctex| 查看
+% \item[fandol] åŒä¸Š
+% \item[founder] åŒä¸Š
+% \item[mac] åŒä¸Š
+% \item[macnew] åŒä¸Š
+% \item[macold] åŒä¸Š
+% \item[ubuntu] åŒä¸Š
+% \item[windows] åŒä¸Š
+% \item[overleaf] 当模æ¿åœ¨ overleaf å¹³å°è¿è¡Œæ—¶ï¼Œè¯·ä½¿ç”¨è¯¥é€‰é¡¹ã€‚这将调用 noto 中文字体
+% \end{optdesc}
+% 以 fandol 为例,应该使用
+% \begin{frameverb}
+% \documentclass[font=fandol]{xmuthesis}
+% \end{frameverb}
+%
+% 由于学校è¦æ±‚英文使用 Times New Roman å’Œ Arial 字体,对于 Linux 用户,它们常常ä¸æ˜¯é»˜è®¤å®‰è£…在系统中的字体,因此需è¦ç”¨æˆ·è‡ªè¡Œå®‰è£…这两个字体。
+%
+%
+% \begin{function}[]{nottoc, notabs, notbib}
+% 是控制目录中出现的内容。
+% \end{function}
+% \begin{optdesc}
+% \item[nottoc] 目录中ä¸å‡ºçŽ°â€œç›®å½•â€
+% \item[nottabs] 目录中ä¸å‡ºçŽ°â€œæ‘˜è¦â€
+% \item[notbib] 目录中ä¸å‡ºçŽ°â€œå‚考文献â€
+% \end{optdesc}
+% 以目录中ä¸å‡ºçŽ°â€œæ‘˜è¦â€å’Œâ€œå‚考文献†为例,应该使用
+% \begin{frameverb}
+% \documentclass[nottabs,notbib]{xmuthesis}
+% \end{frameverb}
+%
+% \section{ä¿¡æ¯å½•å…¥}
+%
+% \begin{function}[]{\xmusetup}
+% \begin{syntax}
+% \tn{xmusetup} \Arg{键值列表}
+% \end{syntax}
+% 是 xmuthesis çš„ä¿¡æ¯å½•å…¥å‘½ä»¤ï¼Œå…¶å‚数是一个键值列表,以通用的接å£å®Œæˆä¿¡æ¯å½•å…¥ã€‚
+% \end{function}
+% \begin{table}[htbp]
+% \centering
+% \caption{xmusetup 里的å¥å€¼}
+% \label{tab:xmusetup}
+% \begin{tabular}{*3l}
+% \toprule \\
+% 值 & 解释 & 示例 \\
+% \midrule
+% author & 作者 & 酸奶 \\
+% title & 题目 & 你的论文题目 \\
+% date & 日期 & \verb|\today| 或~二〇一ä¹å¹´äºŒæœˆäºŒåå…«æ—¥ \\
+% class & 年级 & 2015级 \\
+% studentnumber & å­¦å· & 1972015xxxxxx \\
+% department & 学院 & 物ç†ç§‘学与技术学院 \\
+% major & 专业 & 微电å­ç§‘学与工程 \\
+% advisor & 校内指导è€å¸ˆ & 张三 \verb|\quad| èŒç§° \\
+% otheradvisor & 校外指导è€å¸ˆ & æŽå›› \verb|\quad| èŒç§° \\
+% team & 所在课题组 & 物ç†ç§‘学与技术学院~ç†è®ºç‰©ç† \\
+% fundteam & 资助课题组 & 物ç†ç§‘学与技术学院~ç†è®ºç‰©ç† \\
+% degree & å­¦ä½ & 本\quad 科 \\
+% englishtitle & 英文标题 & Your English Title \\
+% majorordouble & å­¦ä½æ€§è´¨ & 主修 或 è¾…ä¿® \\
+% lab & 所在实验室 & æžç«¯æ¡ä»¶å®žéªŒå®¤ \\
+% \midrule % \\
+% \midrule % \\
+% classified_code $^*$ & åˆ†ç±»å· & 1234 \\
+% security_classification $^*$ & 安全等级 & 公开 内部 秘密 机密 公开 等 \\
+% UDC $^*$ & 国际å进分类法 & 5 \\
+% submit_date $^*$ & 论文æ交日期 & 2020 å¹´ 8 月 10 æ—¥ \\
+% defense_date $^*$ & 论文答辩日期 & 2020 年 8 月 11 日 \\
+% conferred_date $^*$ & å­¦ä½æŽˆäºˆæ—¥æœŸ & 2020 å¹´ 8 月 21 æ—¥ \\
+% chairman $^*$ & 答辩委员会主席 & 张三 \\
+% refere $^*$ & 评阅人 & æŽå›› \\
+% \bottomrule
+% \end{tabular}
+% \end{table}
+% 表~\ref{tab:xmusetup}中是有的值,其中加 \( ^* \) 的值本科生无需填写,也无需删除。对于åšå£«ç”Ÿå’Œç¡•å£«ç”Ÿåˆ™éœ€è¦å¡«å†™ã€‚
+%
+% 例如对于毕业论文题目是“我的毕业论文â€çš„张三,他需è¦åœ¨å¯¼æ¼”区填入的是
+% \begin{frameverb}
+% \xmusetup{
+% author = 张三 ,
+% title = 我的毕业论文 ,
+% }
+% \end{frameverb}
+%
+% \section{模æ¿æ供或修改过的命令和环境}
+%
+% \begin{function}{\maketitle}
+% 该命令ä¸ä»…仅是用于产生标题,还包括了承诺书等。在正确填写好 \verb|\xmusetup| åŽï¼Œè‡ªåŠ¨å¾—到符åˆè¦æ±‚çš„çš„ title 。å¦å¤–该命令与普通文档类一样,在 \verb|document| 环境的开头使用。例如
+% \begin{ctexexam}
+% \begin{document}
+% \maketitle
+% 其余内容
+% \end{document}
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{function}{\chapter, \section, \subsection}
+% 这三个命令都ä¸åŒäºŽæ ‡å‡†ç±»æ–‡æ¡£ï¼Œå®ƒä»¬éœ€è¦ä¸¤ä¸ªå‚数。第一个å‚数是中文的标题,第二个å‚数是英文的标题。在 \verb|\xmutableofcontents| 使用使用时需è¦åŠ  * ,而之åŽçš„无需添加。如
+% \begin{ctexexam}
+% \chapter*{中文的章}{English Chapter}
+% \xmutableofcontents
+% \section{正文的节}{English section in main part}
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{function}{abstract, \keywords}
+% \verb|abstract| 环境和 \verb|keywords| 命令都有带 * 版和ä¸å¸¦ * 版,分别对应中英文。一个简å•ä½†æ˜¯å®Œæ•´çš„摘è¦åº”该是如下的样å­
+% \begin{ctexexam}
+% \begin{abstract}*
+% 中文摘è¦
+% \keywords*{关键è¯1;关键è¯2;关键è¯3}
+% \end{abstract}
+% \begin{abstract}
+% English abstract.
+% \keywords{keyword1; keyword2; keyword3}
+% \end{abstract}
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{function}{\xmutableofcontents}
+% 用于生æˆä¸­è‹±åŒè¯­ç›®å½•ï¼Œä¸€èˆ¬åœ¨æ‘˜è¦ç»“æŸåŽä½¿ç”¨ã€‚ \verb|\tableofcontents| ä¸è¦åœ¨ xmuthesis 中使用。
+% \end{function}
+%
+%
+% \begin{function}{\cref}
+% ç”± \verb|cleveref| å®åŒ…æ供,并且在 xmuthesis ç»è¿‡è®¾ç½®çš„智能引用命令,用于图片表格的交å‰å¼•ç”¨ã€‚使用例å­
+% \begin{ctexexam}
+% \begin{equation}
+% 1+1=2 \label{eq:1}
+% \end{equation}
+% \begin{equation}
+% 2+2=4 \label{eq:2}
+% \end{equation}
+% \begin{equation}
+% 3+3=6 \label{eq:3}
+% \end{equation}
+% \begin{equation}
+% 4+4=8 \label{eq:4}
+% \end{equation}
+% å•å¼•ç”¨ï¼š\cref{eq:1}
+% 范围引用:\crefrange{eq:1}{eq:2}
+% 连续多引用:\cref{eq:1,eq:3,eq:2} , åŒäºŽ \crefrange{eq:1}{eq:3}
+% ä¸è¿žç»­å¤šå¼•ç”¨ï¼š\cref{eq:1,eq:2,eq:4}
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{function}{proof, law, theoty}
+% ç”± \verb|amsthm| å®åŒ…æ供或定制,分别对应于è¯æ˜Žï¼Œå®šå¾‹å’Œå®šç†ã€‚æ³¨æ„ \verb|proof| 环境是没有编å·çš„,å¦å¤–两个是有的。简å•çš„使用例å­
+% \begin{ctexexam}
+% \begin{theory}[Energy–momentum relation]
+% The relationship of energy, momentum and mass is
+% \[E^2 = m_0^2 c^4 + p^2 c^2\]
+% where $ c $ is the light speed.
+% \end{theory}
+% \begin{law}\label{law:box}
+% Don't hide in the witness box.
+% \end{law}
+% \begin{proof}
+% For simplicity, we use
+% \[
+% E=mc^2
+% \]
+% That's it.
+% \end{proof}
+% \end{ctexexam}
+% \end{function}
+%
+% \begin{function}{\circled}
+% 用于产生带圈的数字,产生带圈的数字用 \verb|\circled{1}| 。
+% \end{function}
+%
+% \section{xmulogo å®åŒ…}
+%
+% 为了方便输出高质é‡çš„校徽和校å图片,特æ„å¼€å‘了 xmulogo å®åŒ…。主è¦æ供了两个命令。
+% \begin{function}{\xmulogo, \xmulogon}
+% \verb|\xmulogo| , \verb|\xmulogon| 分别用于产生校徽和校å。两者的用法完全一样。一下以 \verb|\xmulogo| 为例介ç»å…¶ç”¨æ³•ã€‚用法为 \verb|\xmulogo[scale]{r,g,b}| ,其中 \verb|scale| 控制图片的尺寸,填入 $0\sim 1$ 之间的数。花括å·çš„ \verb|{r,g,b}| 是用与控制颜色的,采用 rgb 的颜色控制方法。它是一个å¯é€‰å‚数,ä¸å¡«åˆ™é‡‡ç”¨é»˜è®¤çš„颜色。以下用法å‡ä¸ºæ­£ç¡®ç”¨æ³•ã€‚
+% \begin{ctexexam}
+% \xmulogo
+% \xmulogo[0.5]
+% \xmulogo{0.1,0.15,0.9}
+% \xmulogo[0.4]{0.1,0.1,0.9}
+% \end{ctexexam}
+% \end{function}
+%
+% 模æ¿å°é¢é¡µåœ¨ \verb|figs/xmu-flag.pdf| ä¸å­˜åœ¨æ˜¯ä¼šè°ƒç”¨ \verb|xmulogo| å®åŒ…生æˆç›¸åº”çš„å›¾ç‰‡ã€‚å»ºè®®åƒ Github 项目地å€ä¸€æ ·åˆ›å»º \verb|figs| 文件,并且放入 \verb|xmu-flag.pdf| 。这样å¯ä»¥èŠ‚约编译的时间。
+% \section{一些建议}
+%
+%\subsection{致谢}
+%
+%致谢语应以简短的文字对课题研究与论文撰写过程中曾直接给予帮助的人员(例如指导教师ã€ç­”疑教师åŠå…¶ä»–人员)表示自己的谢æ„。
+%
+%作为毕业论文æ交时,应注æ„事项:致谢内容用å°å››å·å®‹ä½“。根æ®2016å¹´2月施行的《厦门大学本科毕业论文(设计)规范》,致谢被放在论文起首。致谢结构一般分为三个部分:1,回顾;2,感谢; 3,承担责任以åŠçŒ®è¾žã€‚第一部分å¯ä»¥ç®€è¿°è®ºæ–‡å†™ä½œçš„ç»åŽ†ï¼Œæ‰€é¢å¯¹çš„挑战以åŠä½ å¦‚何应对。第二部分具体感谢在论文过程中给与你帮助的人。第三部分指出你将为自己的论文承担责任,如果你希望将此论文献给è°ï¼Œå¯ä»¥åœ¨æœ€åŽæŒ‡å‡ºã€‚致谢内容请亲自撰写,使其具备你个人的特色。抄袭任何模æ¿å†…容是æžå…¶æ‡’惰ã€æ²¡æœ‰æ„义ã€ä¸è´Ÿè´£ä»»å’Œé”™è¯¯çš„行为。
+%
+%
+%\subsection{摘è¦}
+% 本科生中文摘è¦åº”具有独立性和自å«æ€§ï¼Œè¯­è¨€ç²¾ç‚¼ã€æ˜Žç¡®ï¼Œé«˜åº¦æ¦‚括论文内容,以 400 å­—å·¦å³ä¸ºå®œã€‚关键è¯åº”体现论文特色,具有语义性,在论文中有明确出处,以 3—5 个为宜。关键è¯å¦èµ·ä¸€è¡ŒæŽ’在摘è¦çš„下方,æ¯ä¸ªå…³é”®è¯ä¹‹é—´ç”¨ä¸­æ–‡åˆ†å·â€œï¼›â€åˆ†å¼€ï¼Œæœ€åŽä¸€ä¸ªå…³é”®è¯ä¸æ‰“标点符å·ã€‚
+%
+% 硕士与åšå£«çš„中文摘è¦ä¸­æ–‡ 600 å­—å·¦å³ï¼›é‡ç‚¹æ¦‚述本文研究的问题ã€æ„义ã€åˆ›æ–°ä¹‹å¤„和主è¦è§‚点ã€ç»“论。关键è¯æ•°é‡ï¼šä¸è¶…过3个,能体现论文的主è¦å†…容,è¯ç»„符åˆå­¦æœ¯è§„范;æ¯ä¸ªå…³é”®è¯å­—数:ä¸è¶…过5个字;æ¯ä¸ªå…³é”®è¯å­—数:ä¸è¶…过5个字;
+%
+% 英文摘è¦ã€å…³é”®è¯å†…容与中文相åŒï¼Œæ¯ä¸ªå…³é”®è¯ä¹‹é—´ç”¨è‹±æ–‡
+% 分å·â€œ;â€åŠ ä¸€ç©ºæ ¼åˆ†å¼€ï¼Œæœ€åŽä¸€ä¸ªå…³é”®è¯ä¸æ‰“标点符å·ã€‚中ã€
+% 英文摘è¦åŠå…¶å…³é”®è¯å„置一页内。
+%
+%
+
+% \subsection{正文的基本è¦æ±‚}
+%
+% 正文从å¦å³é¡µå¼€å§‹ã€‚æ¯ä¸€ç« åº”å¦èµ·é¡µï¼Œå¹¶ä»Žå¥‡æ•°é¡µå¼€å§‹ã€‚正文一般从引言(绪论)开始,以结论或讨论结æŸã€‚引言(绪论)应包括论文的研究目的ã€æµç¨‹å’Œæ–¹æ³•ç­‰ã€‚研究领域的历å²å›žé¡¾ã€æ–‡çŒ®å›žæº¯ã€ç†è®ºåˆ†æžç­‰å†…容应独立æˆç« ï¼Œç”¨è¶³å¤Ÿçš„文字å™è¿°ã€‚结论应包å«è®ºæ–‡çš„核心观点,é˜è¿°è‡ªå·±çš„创造性æˆæžœåŠå…¶åœ¨æœ¬ç ”究领域中的æ„义ã€ä½œç”¨ï¼Œäº¤ä»£ç ”究工作的局é™ï¼Œæ出未æ¥å·¥ä½œçš„æ„è§å’Œå»ºè®®ã€‚
+%
+% 正文由于涉åŠçš„学科ã€é€‰é¢˜ã€ç ”究方法ã€ç»“果表达方å¼ç­‰æœ‰å¾ˆå¤§çš„差异,ä¸ä½œç»Ÿä¸€çš„规定,但è¦æ±‚自然科学论文应æ供实验数æ®å’Œå›¾ç‰‡èµ„料真实,推ç†æ­£ç¡®ã€ç»“论清晰;人文和社会学科的论文应把æ¡è®ºç‚¹æ­£ç¡®ã€è®ºè¯å……分ã€è®ºæ®å¯é ï¼Œæ°å½“è¿ç”¨ç³»ç»Ÿåˆ†æžå’Œæ¯”较研究的方法进行模型或方案设计,注é‡å®žè¯ç ”究和案例分æžã€‚
+%
+% 正文一般ä¸å°‘于 6000 字(ä¸å«å›¾è¡¨ã€ç¨‹åºå’Œè®¡ç®—数字)。用外国语言撰写的,字数å‚ç…§ 4 个英文å•è¯æŠ˜ç®— 1 个中文字数进行计数。\footnote{以上内容仅供å‚考,详è§ã€ŠåŽ¦é—¨å¤§å­¦æœ¬ç§‘毕业论文(设计)规范》}
+%
+%
+% \subsection{学术åè¯}
+%
+% \begin{itemize}
+% \item 科学技术åè¯æœ¯è¯­é‡‡ç”¨å…¨å›½è‡ªç„¶ç§‘å­¦åè¯å®¡å®šå§”员会公布的规范è¯æˆ–国家标准ã€éƒ¨æ ‡å‡†ä¸­è§„定的å称,尚未统一规定或有争议的åè¯æœ¯è¯­ï¼Œå¯é‡‡ç”¨æƒ¯ç”¨çš„å称。
+% \item 特定å«ä¹‰çš„åè¯æœ¯è¯­æˆ–æ–°åè¯ã€ä»¥åŠä½¿ç”¨å¤–文缩写代替æŸä¸€åè¯æœ¯è¯­æ—¶ï¼Œé¦–次出现时应在括å·å†…注明其å«ä¹‰ï¼Œå¦‚:OECD(Organization for Economic Co-operation and Development)
+%代替ç»æµŽåˆä½œå‘展组织。
+% \item 外国人å一般采用英文原å,å¯ä¸è¯‘æˆä¸­æ–‡ï¼Œè‹±æ–‡äººå按åå‰å§“åŽçš„原则书写。一般很熟知的外国人å(如牛顿ã€çˆ±å› æ–¯å¦ã€è¾¾å°”æ–‡ã€é©¬å…‹æ€ç­‰)å¯æŒ‰é€šå¸¸æ ‡å‡†è¯‘法写译å。
+% \end{itemize}
+%
+%
+%
+%\subsection{物ç†é‡å称ã€ç¬¦å·ä¸Žè®¡é‡}
+%
+%
+%\begin{itemize}
+% \item 论文中æŸä¸€ç‰©ç†é‡çš„å称和符å·åº”统一,一律采用国务院å‘布的《中åŽäººæ°‘共和国法定计é‡å•ä½ã€‹æˆ–者国际公认的计é‡å•ä½ã€‚å•ä½å称和符å·çš„书写方å¼ï¼Œåº”采用国际通用符å·ã€‚
+% \item 在ä¸æ¶‰åŠå…·ä½“æ•°æ®è¡¨è¾¾æ—¶å…许使用中文计é‡å•ä½å¦‚“åƒå…‹â€ã€‚
+% \item 表达时间使用“2014 å¹´ 6 月â€ï¼Œä¸èƒ½ä½¿ç”¨â€œ14 å¹´ 6 月â€æˆ–“2014.6â€ã€‚ä¸èƒ½ä½¿ç”¨ 80 年代,而应为上世纪 80 年代或 20 世纪80 年代。表达时刻应采用中文计é‡å•ä½ï¼Œå¦‚â€œä¸‹åˆ 3 点 10 分â€ï¼Œä¸èƒ½å†™æˆâ€œ3h10minâ€ï¼Œåœ¨è¡¨æ ¼ä¸­å¯ä»¥ç”¨â€œ3:10PMâ€è¡¨ç¤ºã€‚
+% \item 物ç†é‡ç¬¦å·ã€ç‰©ç†é‡å¸¸é‡ã€å˜é‡ç¬¦å·ç”¨æ–œä½“,计é‡å•ä½ç¬¦å·å‡ç”¨æ­£ä½“。
+%\end{itemize}
+%
+% å•ä½ä¹¦å†™æŽ¨è用 \verb|siunitx| å®åŒ…。
+%
+% 数学和物ç†çš„学生强烈推è学习使用 \verb|physics| å®åŒ…。
+%
+% \subsection{æ•°å­—}
+%
+% \begin{enumerate}
+% \item 无特别约定情况下,一般å‡é‡‡ç”¨é˜¿æ‹‰ä¼¯æ•°å­—表示。
+% \item å°æ•°çš„表示方法:一般情形下,å°äºŽ 1 的数,需在å°æ•°ç‚¹ä¹‹å‰åŠ  0。但当æŸäº›ç‰¹æ®Šæ•°å­—ä¸å¯èƒ½å¤§äºŽ 1 时(如相关系数ã€æ¯”率ã€æ¦‚率值),å°æ•°ç‚¹ä¹‹å‰çš„ 0 å¯åŽ»æŽ‰ï¼Œå¦‚ $ r=.26,p<.05 $ 。
+% \item 统计符å·çš„æ ¼å¼ï¼šä¸€èˆ¬é™¤ $ \alpha , \beta , \lambda , \epsilon \text{以åŠ} V $ 等符å·å¤–,其余统计符å·ä¸€å¾‹ä»¥æ–œä½“字呈现,如\textit{ANCOVA,ANOVA,MANOVA,N,nl,M,SD,F,p,r } 等。
+% \end{enumerate}
+%
+%
+% \subsection{å…¬å¼}
+%
+% \begin{enumerate}
+% \item å…¬å¼åº”å¦èµ·ä¸€è¡Œç¼©ç•¥ä¹¦å†™ï¼Œå±…于中央(注æ„行首无缩进),与周围文字留足够的空间区分开。
+% \item å…¬å¼çš„ç¼–å·ç”¨è‹±æ–‡åœ†æ‹¬å·æ‹¬èµ·ï¼Œæ”¾åœ¨å…¬å¼å³è¾¹è¡Œæœ«ï¼Œåœ¨å…¬å¼å’Œç¼–å·ä¹‹é—´ä¸åŠ è™šçº¿ã€‚å­å…¬å¼å¯ä¸ç¼–åºå·ï¼Œéœ€è¦å¼•ç”¨æ—¶å¯åŠ ç¼– aã€bã€c……,é‡å¤å¼•ç”¨çš„å…¬å¼ä¸å¾—å¦ç¼–æ–°åºå·ã€‚å…¬å¼è¾ƒå¤šæ—¶ï¼Œå¯åˆ†ç« ç¼–å·ï¼Œä½†åº”与表格ã€å›¾çš„ç¼–åºæ–¹å¼ç»Ÿä¸€ã€‚
+% \item 较长的公å¼æœ€å¥½åœ¨ç­‰å·å¤„转行,或在è¿ç®—符å·ï¼ˆå¦‚“+â€ã€â€œ-â€å·ï¼‰å¤„转行,等å·æˆ–è¿ç®—符å·åº”在转行åŽçš„行首。公å¼ä¸­åˆ†æ•°çº¿çš„横线,其长度应等于或略大于分å­å’Œåˆ†æ¯ä¸­è¾ƒé•¿çš„一方。
+% \end{enumerate}
+%
+% \subsection{表格}
+%
+% \begin{enumerate}
+% \item 表格è¦æœ‰ï¼šè¡¨å·ï¼Œè¡¨å,å•ä½ã€‚表å·å’Œè¡¨å居表上方正中(注æ„行首无缩进);表格åªæœ‰ä¸€ä¸ªå•ä½æ—¶ï¼Œå•ä½åœ¨è¡¨å³ä¸Šæ–¹ã€‚表较多时,å¯åˆ†ç« ç¼–å·ï¼Œä½†é¡»ä¸Žæ’图ã€å…¬å¼çš„ç¼–åºæ–¹å¼ç»Ÿä¸€ã€‚
+% \item 表格应优先采用三线表,三线表头尾两æ¡çº¿å®½ 1 磅,中间线宽 0.75 磅。也å¯æ ¹æ®éœ€è¦ä½¿ç”¨å…¶ä»–æ ¼å¼ã€‚
+% \item 表格如å‚考其他资料,应标明“作者ã€æ¥æºå称ã€æ—¶é—´â€ï¼Œç½®è¡¨æ ¼å·¦ä¸‹æ–¹ã€‚
+% \item 表格å…许下页接写,接写时应é‡å¤è¡¨å·ï¼Œè¡¨å·åŽè·Ÿè¡¨å(å¯çœç•¥ï¼‰å’Œâ€œï¼ˆç»­ï¼‰â€ï¼Œç½®äºŽè¡¨ä¸Šæ–¹ã€‚续表应é‡å¤è¡¨å¤´ã€‚
+% \item 表格应放在离正文首次出现处最近的地方,ä¸åº”超å‰å’Œè¿‡åˆ†æ‹–åŽã€‚表与上下正文之间å„空一行。
+% \end{enumerate}
+%
+% 三段表的示例为
+% \begin{ctexexam}
+% \begin{table}[!ht]
+% \centering
+% \begin{threeparttable}[b]
+% \zihao{5}
+% \caption{表格示例}
+% \begin{tabular}{ccc}
+% \toprule
+% & ABS & CB \\
+% \midrule
+% (Intercept) & 5.482 & 3.4871 \\
+% ABC & 1.1173 & 1.1933 \\
+% DEF & 8.1752* & 2.6836 \\
+% \bottomrule
+% \multicolumn{3}{c}{*p<0.1; **p<0.05; ***p<0.01} \\
+% \bottomrule
+% \end{tabular}%
+% \label{tab:mlogit}%
+% \begin{tablenotes}
+% \zihao{5}\item Note: These are estimates of multinomial logit model.
+% \end{tablenotes}
+% \end{threeparttable}
+% \end{table}%
+% \end{ctexexam}
+%
+%
+% \subsection{æ’图}
+%
+% \begin{enumerate}
+% \item 图包括曲线图ã€æž„造图ã€ç¤ºæ„图ã€æ¡†å›¾ã€æµç¨‹å›¾ã€è®°å½•å›¾ã€åœ°å›¾ã€ç…§ç‰‡ç­‰ã€‚图应与文字内容相符,技术内容正确。所有制图应符åˆå›½å®¶æ ‡å‡†å’Œä¸“业标准,对无规定符å·çš„图形应采用该行业的常用画法。
+% \item 图è¦æœ‰ï¼šå›¾å·ï¼Œå›¾å,å•ä½ã€‚图å·å’Œå›¾åè¦å±…图下方的正中(注æ„行首无缩进)。图较多时,å¯åˆ†ç« ç¼–å·ï¼Œä½†é¡»ä¸Žè¡¨æ ¼ã€å…¬å¼çš„ç¼–åºæ–¹å¼ç»Ÿä¸€ã€‚
+% \item 图如å‚考其他资料,è¦ç¤ºæ˜Žâ€œä½œè€…ã€æ¥æºå称ã€æ—¶é—´â€ï¼Œç½®å›¾å·¦ä¸‹æ–¹ã€‚
+% \item 由若干分图组æˆçš„æ’图,分图用 aã€bã€c……标åºã€‚分图的图å以åŠå›¾ä¸­å„ç§ä»£å·çš„æ„义,以图注形å¼å†™åœ¨å›¾é¢˜ä¸‹æ–¹ï¼Œå…ˆå†™åˆ†å›¾å,å¦èµ·è¡Œå†™ä»£å·çš„æ„义。
+% \item 图与图标题ã€å›¾åºå·ä¸ºä¸€ä¸ªæ•´ä½“,ä¸å¾—拆开排版为两页。当页空白ä¸å¤ŸæŽ’版该图整体时,å¯å°†å…¶åŽæ–‡å­—部分æå‰ï¼Œå°†å›¾ç§»è‡³æ¬¡é¡µæœ€å‰é¢ã€‚
+% \end{enumerate}
+%
+%
+%
+% \subsection{注释}
+%
+% 当文中的字ã€è¯æˆ–短语需è¦è¿›ä¸€æ­¥åŠ ä»¥è¯´æ˜Žï¼Œè€Œåˆæ²¡æœ‰å…·ä½“的文献æ¥æºæ—¶ï¼Œç”¨æ³¨é‡Šã€‚注释ä¸å®œè¿‡å¤šã€‚
+% 篇åã€ä½œè€…注置于当页地脚。对文内有关特定内容的注释å¯å¤¹åœ¨æ–‡å†…(加圆括å·ï¼‰ï¼Œä¹Ÿå¯æŽ’在当页地脚,注释åºå·ä»¥å¸¦åœˆçš„æ•°å­—å½¢å¼æ ‡ç¤ºåœ¨è¢«æ³¨é‡Šè¯æ¡çš„å³ä¸Šè§’。注脚的命令如下\verb|\footnote{注脚内容}|。
+%
+%\subsection{å‚考文献与引用}
+%
+% 本模æ¿é»˜è®¤å¼•ç”¨ \verb|gbt7714| å®åŒ…,å¯ä»¥ä½¿ç”¨å®ƒå¤„ç†å‚考文献。
+%
+% 以下是一些å‚考文献的引用。应该能有åˆé€‚的。ä¸åˆé€‚å¯ä»¥ä¿®æ”¹ã€‚
+%
+% \begin{ctexexam}
+% \cite{label1}
+% \cite{label,label2}
+% \citet{label3}
+% \citep{label3}
+% \citealt{label3}
+% \citeauthor{label3}
+% \citeyearpar{label3}
+% \end{ctexexam}
+%
+%
+% \section{代ç æ’å…¥}
+%
+% 模æ¿å·²åŠ è½½ \verb|listings| å®åŒ…,并且简å•è®¾ç½®è¿‡ã€‚
+% å¯ä»¥ä½¿ç”¨ \verb|lstlisting| 环境æ¥å±•ç¤ºä»£ç ã€‚
+% 下é¢æ˜¯ä¸€ä¸ªMatlab的代ç çš„æ’入示例,还å¯ä»¥æ’入其它类型的代ç ã€‚有é¢å¤–需求å¯ä»¥æ·»åŠ ã€‚
+%
+% \begin{frameverb}
+% \lstinputlisting[language=Matlab]{Plot.m}
+% \end{frameverb}
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+%
+% \end{documentation}
+%
+% \StopEventually{}
+%
+%
+%\begin{implementation}
+% \clearpage
+% \section{代ç å®žçŽ°}
+%<*class>
+% \begin{macrocode}
+\ExplSyntaxOn
+\def\IfXeTeXTF#1#2{\csname sys_if_engine_xetex:TF\endcsname{#1}{#2}}
+
+\IfXeTeXTF{
+ % \PassOptionsToClass{fontset=none}{ctexbook}
+ \PassOptionsToPackage{no-math}{fontspec}
+ \PassOptionsToPackage{utf8}{inputenc}
+}{}
+
+\sys_if_engine_pdftex:T {
+ \PassOptionsToClass{UTF8}{ctexbook}
+ \msg_new:nnn { engine } { msg } {
+ Don't~use~pdfLaTeX~to~compile~the~final~TeX~files.
+ }
+ \msg_warning:nn { engine } { msg }
+}
+
+
+
+
+\ProvidesClass{ xmuthesis }[2020/10/04 v0.4.1 XMU thesis]
+
+\PassOptionsToPackage{subfigure}{tocloft}
+\PassOptionsToPackage{noend}{algpseudocode}
+\PassOptionsToPackage{para}{threeparttable}
+\PassOptionsToPackage{sort&compress}{natbib}
+
+\bool_set_false:N \l__xmu_advanced_font_bool
+\bool_set_false:N \l__xmu_overleaf_font_bool
+\bool_set_false:N \l__xmu_undergraduate_bool
+\bool_set_false:N \l__xmu_master_bool
+\bool_set_false:N \l__xmu_doctor_bool
+
+\bool_set_true:N \l__xmu_toc_toc_bool
+\bool_set_true:N \l__xmu_toc_abs_bool
+\bool_set_true:N \l__xmu_toc_ref_bool
+
+\keys_define:nn { xmuthesis }{
+ degree .choice: ,
+ degree .default:n = undergraduate ,
+ degree / undergraduate .code:n = \bool_set_true:N \l__xmu_undergraduate_bool ,
+ degree / master .code:n = \bool_set_true:N \l__xmu_master_bool ,
+ degree / doctor .code:n = \bool_set_true:N \l__xmu_doctor_bool ,
+
+ nottoc .code:n = \bool_set_false:N \l__xmu_toc_toc_bool ,
+ notabs .code:n = \bool_set_false:N \l__xmu_toc_abs_bool ,
+ notbib .code:n = \bool_set_false:N \l__xmu_toc_ref_bool ,
+
+ bibstyle .choice: ,
+ bibstyle .default:n = numerical ,
+ bibstyle / numerical .code:n = ,
+ bibstyle / numbers .code:n =
+ \AfterPackage{gbt7714}{\citestyle{numbers}} ,
+ bibstyle / authoryear .code:n =
+ \AfterPackage{gbt7714}{\bibliographystyle{gbt7714-author-year}} ,
+ bibstyle / unknown .code:n =
+ \msg_error:nnxxx { xmuthesis } { unknown-choice } { bibstyle }
+ { numerical, numbers, authoryear }
+ { The~choice~' #1 '~is~invalid~for~bibstyle} ,
+
+ font .choice: ,
+ font .default:n = empty ,
+ font / adobe .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / fandol .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / founder .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / mac .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / macnew .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / macold .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / windows .code:n = \PassOptionsToClass{fontset = #1}{ctexbook} ,
+ font / ubuntu .code:n = \PassOptionsToClass{fontset = #1}{ctexbook}
+ \msg_new:nnn { ubuntu font } { msg } {
+ You~are~using~the~default~fonts,~so~you~better~change~it~by~font=adobe,
+ ~or~advance.~If~you~choose~them,
+ ~you~should~download~the~necessary~font~and~put~them~in~the~right~place.
+ }
+ \msg_warning:nn { ubuntu font } { msg } ,
+ font / overleaf .code:n = \PassOptionsToClass{fontset =none}{ctexbook}
+ \bool_set_true:N \l__xmu_overleaf_font_bool ,
+ font / advance .code:n = \PassOptionsToClass{fontset =none}{ctexbook}
+ \bool_set_true:N \l__xmu_advanced_font_bool ,
+ font / empty .code:n = \msg_new:nnn { font } { msg } {
+ You~are~using~the~default~fonts,~you~can~change~it~by~font=adobe,
+ ~windows,~mac,~advance~and~so~on.
+ }
+ \msg_warning:nn { font } { msg },
+ font / unknown .code:n = \msg_error:nnxxx { xmuthesis } { unknown-choice }{ font }{
+ empty, adobe, fandol, founder, mac, macnew, macold, ubuntu, windows, advance
+ }{
+ The~choice~' #1 '~is~invalid~for~font
+ },
+}
+
+\ProcessKeysOptions { xmuthesis }
+
+
+\LoadClass [ zihao=-4 , openright, ] {ctexbook}
+
+\sys_if_engine_pdftex:T {
+ \RequirePackage{microtype,amsfonts}
+}
+
+\NewDocumentCommand\degree{ m m m }{
+ \IfBooleanTF{\l__xmu_undergraduate_bool}{
+ #1
+ }{
+ \IfBooleanTF{\l__xmu_master_bool}{
+ #2
+ }{
+ #3
+ }
+ }
+}
+
+\NewDocumentCommand\undergratuateTF{ m m }{
+ \IfBooleanTF{\l__xmu_undergraduate_bool}{
+ #1
+ }{
+ #2
+ }
+}
+
+\undergratuateTF{
+
+}{
+ \RequirePackage{xeCJKfntef}
+}
+\RequirePackage[UseMSWordMultipleLineSpacing,MSWordLineSpacingMultiple=1.5]
+{zhlineskip}
+
+\RequirePackage{
+ amsthm ,
+ physics ,
+ siunitx ,
+ verbatim ,
+ multirow ,
+ geometry ,
+ fancyhdr ,
+ graphicx ,
+ % longtable ,
+ booktabs ,
+ tabularx ,
+ caption ,
+ threeparttable ,
+ subfig ,
+ tocloft ,
+ % tocbibind ,
+ xcolor ,
+ listings ,
+ gbt7714 ,
+ % float ,
+ hyperref ,
+ algorithm ,
+ algpseudocode ,
+ cleveref ,
+}
+
+\IfXeTeXTF{
+\RequirePackage{unicode-math}
+\setmainfont{Times~New~Roman} % Times~New~Roman Source~Serif~Pro
+\setsansfont{Arial} % Arial Source~Sans~Pro
+
+\unimathsetup{
+ math-style = ISO ,
+ bold-style = ISO ,
+ nabla = upright ,
+ partial = upright ,
+ }
+}{}
+
+\geometry{
+ left = 2cm ,
+ right = 2cm ,
+ top = 4cm ,
+ bottom = 3cm ,
+}
+\bool_if:NTF \l__xmu_undergraduate_bool{
+ \captionsetup{font={small,bf}}
+}{
+ \captionsetup{font={normalsize,bf}}
+}
+
+\hypersetup{
+% bookmarks=true ,
+ bookmarksnumbered = false ,
+ linkcolor = black ,
+ citecolor = blue ,
+ urlcolor = green ,
+ colorlinks ,
+}
+
+
+\bool_if:NT \l__xmu_advanced_font_bool{
+ \setmonofont[
+ Extension = .otf ,
+ Path = fonts/ ,
+ UprightFont = *-regular ,
+ BoldFont = *-bold ,
+ ItalicFont = *-it ,
+ BoldItalicFont = *-boldit] {SourceCodePro}
+ \setCJKmonofont[
+ Extension = .otf ,
+ Path = fonts/ ,
+ UprightFont = *-Regular ,
+ BoldFont = *-Bold ,
+ ItalicFont = *-Regular ,
+ BoldItalicFont = *-Bold ,
+ ItalicFeatures = FakeSlant ,
+ BoldItalicFeatures = FakeSlant] {NotoSansMonoCJKsc}
+ \setCJKmainfont[
+ Extension = .otf ,
+ Path = fonts/ ,
+ UprightFont = *-Regular ,
+ BoldFont = *-Bold ,
+ ItalicFont = *-Regular ,
+ BoldItalicFont = *-Bold ,
+ ItalicFeatures = FakeSlant ,
+ BoldItalicFeatures = FakeSlant] {NotoSerifCJKsc}
+ \setCJKsansfont[
+ Extension = .otf ,
+ Path = fonts/ ,
+ UprightFont = *-Regular ,
+ BoldFont = *-Bold ,
+ ItalicFont = *-Regular ,
+ BoldItalicFont = *-Bold ,
+ ItalicFeatures = FakeSlant ,
+ BoldItalicFeatures = FakeSlant] {NotoSansCJKsc}
+ \setmathfont[
+ Extension = .otf ,
+ Path = fonts/ ,
+ BoldFont = XITSMath-Bold ,
+ StylisticSet = 8] {XITSMath-Regular}
+}
+
+\bool_if:NT \l__xmu_overleaf_font_bool{
+ % \setmainfont{Noto~Serif}
+ % \setsansfont{Noto~Sans}
+ % \setmonofont{Noto~Mono}
+ \setCJKmainfont{Noto~Serif~CJK~SC}
+ \setCJKsansfont{Noto~Sans~CJK~SC}
+ \setCJKmonofont{Noto~Sans~Mono~CJK~SC}
+ % \setmathfont{XITSMath}
+}
+
+
+\RenewDocumentCommand\chaptermark{m}{\markboth{#1}{#1}}
+
+\fancyhf{} % cleans original header&footer
+\fancyhead[CE]{\zihao{-5} \l__xmu_title_tl}
+\fancyhead[CO]{\zihao{-5} \leftmark} %\leftmark \chaptermark
+\fancyfoot[C]{\thepage}
+
+\RenewDocumentCommand\headrulewidth{}{0pt}
+
+
+\ctexset{
+ today = big, % format date
+ chapter = {
+ format = \centering\zihao{-3}\sffamily,
+ beforeskip = -15pt,
+ afterskip = 30pt,
+ pagestyle = fancy,},%
+ section = {
+ format = \zihao{4}\sffamily,
+ beforeskip = 10pt,
+ afterskip = 10pt,
+ },
+ subsection = {
+ format = \zihao{4}\sffamily,
+ },
+}
+
+
+\newlistof{indice}{tce}{Table~of~Contents}
+
+\setlength{\cftbeforetcetitleskip}{-30pt}
+\setlength{\cftbeforechapskip}{8pt}
+\setlength{\cftbeforesecskip}{6pt}
+\setlength{\cftbeforesubsecskip}{4pt}
+\setlength{\cftbeforetoctitleskip}{-30pt}
+\setlength{\cftsecnumwidth}{3.2em}
+\setlength{\cftsubsecindent}{4.5em}
+\RenewDocumentCommand\cftchapleader{}{\cftdotfill{\cftdotsep}} % for chapters
+% Add \thispagestyle{plain} to the font setting
+% to force the pagestyle in toc always be plain,
+% or it maybe influence by my slfe-define \cleanrdoublepage
+\bool_if:NTF \l__xmu_undergraduate_bool{
+ \RenewDocumentCommand\cftchapfont{}{
+ \thispagestyle{plain}\zihao{4}\sffamily
+ }% Chapter font
+ \RenewDocumentCommand\cftsecfont{}{
+ \thispagestyle{plain}\zihao{-3}\sffamily
+ }% Section font
+ \RenewDocumentCommand\cftsubsecfont{}{
+ \thispagestyle{plain}\zihao{-3}\rmfamily
+ }%subsection font
+}{
+ \RenewDocumentCommand\cftchapfont{}{
+ \thispagestyle{plain}\zihao{4}\sffamily\bfseries
+ }% Chapter font
+ \RenewDocumentCommand\cftsecfont{}{
+ \thispagestyle{plain}\zihao{-4}\sffamily\bfseries
+ }% Section font
+ \RenewDocumentCommand\cftsubsecfont{}{
+ \thispagestyle{plain}\zihao{-4}\rmfamily
+ }%subsection font
+}
+
+% \RenewDocumentCommand\cfttoctitlefont{}
+% {\hfill\zihao{-3}\sffamily 目\quad 录\hfill}%\phantom{mmmmmmmmm}
+% \RenewDocumentCommand\cftaftertoctitle{}{\hfill}
+\RenewDocumentCommand\cfttoctitlefont{}{\hspace*{\fill}\zihao{-3}\sffamily}
+\RenewDocumentCommand\cftaftertoctitle{}{\hspace*{\fill}}
+% \RenewDocumentCommand\cfttcetitlefont{}{
+% \hfill\zihao{-3}\rmfamily\bfseries Table~of~Contents\hfill}%\phantom{mmmmmmm}
+% \RenewDocumentCommand\cftaftertcetitle{}{\hfill}
+\RenewDocumentCommand\cfttcetitlefont{}{\hspace*{\fill}\zihao{-3}\rmfamily\bfseries}
+\RenewDocumentCommand\cftaftertcetitle{}{\hspace*{\fill}}
+
+\let\oldappendix\appendix
+\bool_set_false:N \l__xmu_appendix_bool
+\RenewDocumentCommand\appendix{}{
+ \oldappendix
+ \bool_set_true:N \l__xmu_appendix_bool
+}
+
+\makeatletter
+\NewDocumentCommand\captce { m } {
+ \if@mainmatter
+ \bool_if:NTF \l__xmu_appendix_bool{
+ \addcontentsline{tce}{chapter}{
+ \rmfamily\bfseries \protect\makebox[5em][l]{Appendix~\thechapter}~\;\;#1}
+ }{
+ \addcontentsline{tce}{chapter}{
+ \rmfamily\bfseries \protect\makebox[5em][l]{Chapter~\thechapter}#1}
+ }
+ \else
+ \addcontentsline{tce}{chapter}{
+ \rmfamily\bfseries\protect\makebox[0em][l]{}#1}
+\fi
+}
+\makeatother
+
+\NewDocumentCommand\sectce { m } {
+ \addcontentsline{tce}{section}{
+ \rmfamily\bfseries\protect\makebox[2.3em][l]{\thesection}#1
+ }
+}
+
+\NewDocumentCommand\ssectce { m } {
+ \addcontentsline{tce}{subsection}{
+ \protect\makebox[2.3em][l]{\thesubsection}#1
+ }
+}
+
+
+\let\oldchapter\chapter
+\RenewDocumentCommand\chapter{ s m g }{
+ \IfBooleanTF {#1} {
+ \oldchapter*{#2}
+ \IfNoValueF {#3} {#3}
+ }{
+ \oldchapter{#2}
+ \IfNoValueF {#3} {
+ \captce{#3}
+ }
+ }
+}
+
+\let\oldsection\section
+\RenewDocumentCommand\section{ s m g }{
+ \IfBooleanTF {#1}{
+ \oldsection*{#2}
+ \IfNoValueF {#3} {#3}
+ }{
+ \oldsection{#2}
+ \IfNoValueF {#3} {
+ \sectce{#3}
+ }
+ }
+}
+
+\let\oldsubsection\subsection
+\RenewDocumentCommand\subsection{ s m g }{
+ \IfBooleanTF {#1}{
+ \oldsubsection*{#2}
+ \IfNoValueF {#3} {#3}
+ }{
+ \oldsubsection{#2}
+ \IfNoValueF {#3} {
+ \ssectce{#3}
+ }
+ }
+}
+
+\let\oldcleardoublepage\cleardoublepage
+\NewDocumentCommand\clearemptydoublepage{}{
+ \clearpage % don't delete it, even it's follewed by \cleardoublepage
+ % {\pagestyle{empty}\origdoublepage}
+ \thispagestyle{empty}\oldcleardoublepage
+}
+
+\let\cleardoublepage\clearemptydoublepage
+
+
+\NewDocumentCommand\xmutableofcontents{}{
+ \cleardoublepage
+ \bool_if:NTF \l__xmu_toc_toc_bool{
+ \addcontentsline{toc}{chapter}{\protect 目录}\captce{目录}
+ \tableofcontents
+ % \pagestyle{plain}
+ \cleardoublepage
+ \addcontentsline{toc}{chapter}{\protect Table~of~Contents}
+ \captce{Table~of~Contents}
+ \listofindice
+ % \pagestyle{plain}
+ }{
+ \tableofcontents
+ % \pagestyle{plain}
+ \cleardoublepage
+ \listofindice
+ % \pagestyle{plain}
+ }
+ \cleardoublepage
+ \mainmatter
+ \RenewDocumentCommand\headrulewidth{}{1pt}
+}
+
+\makeatother
+
+
+% --------------------------- resources settings ----------------------
+\graphicspath{{figs}{Figures/}{../Figures/}} %设定图片的存放路径
+
+% --------------------------- circled text settings ----------------------
+\NewDocumentCommand\circled { m } {
+ \raisebox{.5pt}{
+ \textcircled{\raisebox{-.9pt}{#1}}
+ }
+} % define a new command for circled text since \textcircled is very sloppy
+
+% --------------------------- endnotes settings ----------------------
+\RenewDocumentCommand\thefootnote{}{\protect\circled{\arabic{footnote}}}
+
+\NewDocumentCommand\somewords{}{
+ ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxuy
+ \par
+ 中文字体
+ \par
+}
+
+\NewDocumentCommand\showfont{}{
+ {
+ \begin{center}
+ \textbf{字体展示}
+ \end{center}
+ \par
+ \( \hbar ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxuy \)
+ \par
+ % $ \symbf{\hbar ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxuy} $
+
+ \somewords
+
+ {\bfseries \somewords}
+
+ \itshape \somewords
+
+ \sffamily \somewords
+
+ \bfseries \somewords
+ % \newpage
+
+ \itshape \somewords
+
+ \ttfamily \somewords
+
+ \bfseries \somewords
+
+ \itshape \somewords
+ }
+}
+
+% --------------------------- code inserting settings ----------------------
+% required package(s):
+% - listings
+\def\lstbasicfont{\fontfamily{pcr}\selectfont\footnotesize}
+\lstset{%
+ numbers=left,
+ numberstyle=\tiny,
+ basicstyle=\small,
+ backgroundcolor=\color{white}, % choose the background color
+ basicstyle=\footnotesize\ttfamily, % size of fonts used for the code
+ columns=fullflexible,
+ tabsize=4,
+ breaklines=true, % automatic line breaking only at whitespace
+ captionpos=b, % sets the caption-position to bottom
+ commentstyle=\color{green}, % comment style
+ escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
+ keywordstyle=\color{blue}, % keyword style
+ stringstyle=\color{purple}\ttfamily, % string literal style
+ frame=single,
+ rulesepcolor=\color{red!20!green!20!blue!20},
+}
+\lstloadlanguages{C,C++,Java,Matlab,Mathematica} % supported languages
+
+% --------------------------- algorithm inserting settings ----------------------
+% required packages:
+% - algorithm
+% - algpseudocode[noend]
+\makeatletter
+\def\algbackskip{\hskip-\ALG@thistlm}
+%\def\BState{\State\hskip-\ALG@thistlm}
+% both works fine, but latter one redefines \BState
+\makeatother
+
+\DeclareDocumentCommand\maketitle{}{
+\frontmatter
+\pagestyle{empty}
+ \bool_if:NTF \l__xmu_undergraduate_bool{
+% \input{Settings/Contents/undergraduate-titlepage.tex}
+\begin{center}
+ \IfFileExists{figs/xmu-flag.pdf}{
+ \includegraphics[width=8cm]{xmu-flag}
+ }{\xmulogo[0.32]}
+ \par
+ \vspace{1ex}
+
+ {
+ \rmfamily\zihao{-2}\l__xmu_degree_tl
+ \quad 毕\quad 业\quad 论\quad 文\quad
+ (~设\quad 计~)\par\vspace{1ex}
+ }
+
+ {
+ \rmfamily\zihao{3}(\l__xmu_majorordouble_tl)\par
+ }
+
+ {
+ \sffamily\zihao{2}\l__xmu_title_tl \par\vspace{1ex}
+ }
+
+ {
+ \rmfamily\bfseries\zihao{3} \l__xmu_englishtitle_tl\par\vspace{3ex}
+ }
+
+
+ { \rmfamily \zihao{4}
+ \begin{tabular}{rl}
+ 姓 \qquad å:& \l__xmu_author_tl \\
+ å­¦ \qquad å·ï¼š& \l__xmu_studentnumber_tl \\
+ 学 \qquad 院:& \l__xmu_department_tl \\
+ 专 \qquad 业:& \l__xmu_major_tl \\
+ 年 \qquad 级:& \l__xmu_class_tl \\
+ 校内指导教师:& \l__xmu_advisor_tl \\
+ 校外指导教师:& \l__xmu_otheradvisor_tl \\
+ \end{tabular}%
+ }
+ \vspace{2ex}
+ \rmfamily\zihao{4}
+ \par\vspace{4ex}
+ \l__xmu_date_tl
+ \vspace{2ex}
+\end{center}
+
+% \input{Settings/Contents/undergraduate-commitment.tex}
+\chapter*{厦门大学本科学ä½è®ºæ–‡è¯šä¿¡æ‰¿è¯ºä¹¦}
+\setcounter{page}{1}
+
+{\fontsize{14pt}{21pt}\selectfont
+
+ 本人呈交的学ä½è®ºæ–‡æ˜¯åœ¨å¯¼å¸ˆæŒ‡å¯¼ä¸‹ç‹¬ç«‹å®Œæˆçš„研究æˆæžœã€‚
+ 本人在论文写作中å‚考其他个人或集体已ç»å‘表的研究æˆæžœï¼Œå‡åœ¨æ–‡ä¸­ä»¥é€‚当方å¼æ˜Žç¡®æ ‡æ˜Žï¼Œ
+ 并符åˆç›¸å…³æ³•å¾‹è§„范åŠã€ŠåŽ¦é—¨å¤§å­¦æœ¬ç§‘毕业论文(设计)规范》。
+ \par
+ 该学ä½è®ºæ–‡ä¸ºï¼ˆ\l__xmu_team_tl)课题(组)的研究æˆæžœï¼Œ
+ 获得(\l__xmu_fundteam_tl)课题(组)ç»è´¹æˆ–实验室的资助,
+ 在(\l__xmu_lab_tl)实验室完æˆã€‚
+ (请在以上括å·å†…填写课题或课题组负责人或
+ 实验室å称,未有此项声明内容的,å¯ä»¥ä¸ä½œç‰¹åˆ«å£°æ˜Žã€‚)
+ \par
+ å¦å¤–,本人承诺辅修专业毕业论文(设计)
+ (如有)的内容与主修专业ä¸å­˜åœ¨ç›¸åŒä¸Žç›¸è¿‘情况。
+ \par
+ \vspace{30pt}
+
+ \hfill 学生声明(签å):\hspace*{4cm}
+ \par\vspace{2ex}
+ \hfill 年\hspace{26pt}月\hspace{26pt}日\hspace*{2cm}
+}
+
+ }{
+% \input{Settings/Contents/master-or-doctor-titlepage.tex}
+\begin{center}
+ {
+ \vspace*{-5ex}
+ % \raggedright
+ \rmfamily\bfseries\zihao{-4}
+ 学校编ç ï¼š10384\hfill 分类å·\CJKunderline{\l__xmu_classified_code_tl}
+ \quad 密级 \CJKunderline{\l__xmu_security_classification_tl}\par
+ å­¦å·ï¼š\l__xmu_studentnumber_tl\hfill UDC\;
+ \CJKunderline{\l__xmu_UDC_tl}\par\vspace{6ex}
+ \centering\IfFileExists{figs/xmu-flag.pdf}{
+ \includegraphics[width=5cm]{xmu-flag}
+ }{\xmulogon[0.65]}\par\vspace{4ex}
+ }
+ {
+ \rmfamily\bfseries\zihao{-2}
+ \bool_if:NTF \l__xmu_master_bool{
+ ç¡•\quad 士\quad å­¦\quad ä½\quad 论\quad æ–‡
+ }{
+ åš\quad 士\quad å­¦\quad ä½\quad 论\quad æ–‡
+ }
+ \par\vspace{2ex}
+ }
+ {
+ \sffamily\bfseries\zihao{2}\l__xmu_title_tl\par\vspace{2ex}
+ }
+ {
+ \rmfamily\bfseries\zihao{3}\l__xmu_englishtitle_tl\par\vspace{2ex}
+ }
+ {
+ \ttfamily\zihao{-2}\l__xmu_author_tl\par\vspace{2ex}
+ }
+ {
+ \ttfamily\zihao{4}
+ \begin{tabular}{rl}
+ 指导教师姓å:& \l__xmu_advisor_tl \\
+ 专\hspace{0.66\ccwd} 业\hspace{0.66\ccwd} å\hspace{0.66\ccwd} 称:
+ & \l__xmu_major_tl \\
+ 论文æ交日期:& \l__xmu_submit_date_tl \\
+ 论文答辩时间:& \l__xmu_defense_date_tl \\
+ å­¦ä½æŽˆäºˆæ—¥æœŸï¼š& \l__xmu_conferred_date_tl\\
+ \end{tabular}%
+ \par\vspace{1cm}
+ }
+ {
+ \zihao{4}
+ 答辩委员会主席:\l__xmu_chairman_tl\par
+ 评阅人:\l__xmu_referee_tl\par
+ \l__xmu_date_tl\par
+ }
+\end{center}
+
+% \input{Settings/Contents/Certification-statement.tex}
+\chapter*{厦门大学学ä½è®ºæ–‡åŽŸåˆ›æ€§å£°æ˜Ž}
+\setcounter{page}{1}
+% \fontsize{14pt}{21pt}\selectfont
+{
+\zihao{4}
+本人呈交的学ä½è®ºæ–‡æ˜¯æœ¬äººåœ¨å¯¼å¸ˆæŒ‡å¯¼ä¸‹,独立完æˆçš„研究æˆæžœã€‚
+本人在论文写作中å‚考其他个人或集体已ç»å‘表的研究æˆæžœï¼Œ
+å‡åœ¨æ–‡ä¸­ä»¥é€‚当方å¼æ˜Žç¡®æ ‡æ˜Žï¼Œå¹¶ç¬¦åˆæ³•å¾‹è§„范和《厦门大学研究生学术活动规范(试行)》。
+\par
+
+å¦å¤–,该学ä½è®ºæ–‡ä¸ºï¼ˆ\l__xmu_team_tl)课题(组)的研究æˆæžœï¼Œ
+获得(\l__xmu_fundteam_tl)课题(组)ç»è´¹æˆ–实验室的资助,
+在(\l__xmu_lab_tl)实验室完æˆã€‚
+(请在以上括å·å†…填写课题或课题组负责人或实验室å称,
+未有此项声明内容的,å¯ä»¥ä¸ä½œç‰¹åˆ«å£°æ˜Žã€‚)
+\par
+
+本人声明该学ä½è®ºæ–‡ä¸å­˜åœ¨å‰½çªƒã€æŠ„袭等学术ä¸ç«¯è¡Œä¸ºï¼Œ
+并愿æ„承担因学术ä¸ç«¯è¡Œä¸ºæ‰€å¸¦æ¥çš„一切åŽæžœå’Œæ³•å¾‹è´£ä»»ã€‚
+\par
+
+\vspace{5ex}
+{
+ \raggedleft
+ 声明人\quad (签å):\phantom{六个字的空白}\par
+ 指导教师(签å):\phantom{六个字的空白}\par\vspace{5ex}
+
+ 年\qquad 月\qquad 日\phantom{这七个字的空白}\par
+}
+}
+% \input{Settings/Contents/Copyright-declaration.tex}
+\chapter*{厦门大学学ä½è®ºæ–‡è‘—作æƒä½¿ç”¨å£°æ˜Ž}{}
+%
+{
+\zihao{4}
+% \fontsize{14pt}{21pt}\selectfont
+本人åŒæ„厦门大学根æ®ã€Šä¸­åŽäººæ°‘共和国学ä½æ¡ä¾‹æš‚行实施办法》
+等规定ä¿ç•™å’Œä½¿ç”¨æ­¤å­¦ä½è®ºæ–‡ï¼Œ
+并å‘主管部门或其指定机构é€äº¤å­¦ä½è®ºæ–‡ï¼ˆåŒ…括纸质版和电å­ç‰ˆï¼‰ï¼Œ
+å…许学ä½è®ºæ–‡è¿›å…¥åŽ¦é—¨å¤§å­¦å›¾ä¹¦é¦†åŠå…¶æ•°æ®åº“被查阅ã€å€Ÿé˜…。
+本人åŒæ„厦门大学将学ä½è®ºæ–‡åŠ å…¥å…¨å›½åšå£«ã€ç¡•å£«å­¦ä½è®ºæ–‡å…±å»ºå•ä½æ•°æ®åº“进行检索,
+将学ä½è®ºæ–‡çš„标题和摘è¦æ±‡ç¼–出版,采用影å°ã€ç¼©å°æˆ–者其它方å¼åˆç†å¤åˆ¶å­¦ä½è®ºæ–‡ã€‚
+\par
+
+本学ä½è®ºæ–‡å±žäºŽï¼š\par
+
+(\qquad )1.ç»åŽ¦é—¨å¤§å­¦ä¿å¯†å§”员会审查核定的涉密学ä½è®ºæ–‡ï¼Œ
+于\qquad å¹´\qquad 月\qquad 日解密,解密åŽé€‚用上述授æƒã€‚\par
+
+(\qquad )2.ä¸ä¿å¯†ï¼Œé€‚用上述授æƒã€‚\par
+
+(请在以上相应括å·å†…打“√â€æˆ–填上相应内容。
+涉密学ä½è®ºæ–‡åº”是已ç»åŽ¦é—¨å¤§å­¦ä¿å¯†å§”员会审定过的学ä½è®ºæ–‡ï¼Œ
+未ç»åŽ¦é—¨å¤§å­¦ä¿å¯†å§”员会审定的学ä½è®ºæ–‡å‡ä¸ºå…¬å¼€å­¦ä½è®ºæ–‡ã€‚
+此声明æ ä¸å¡«å†™çš„,默认为公开学ä½è®ºæ–‡ï¼Œå‡é€‚用上述授æƒã€‚)\par
+
+\vspace{12ex}
+{
+ \raggedleft
+ 声明人(签å):\phantom{六个字的空白}\par
+ 年\qquad 月\qquad 日\phantom{这七个字的空白}\par
+}
+}
+ }
+\cleardoublepage
+}
+
+% --------------------------- reference settings ------------------------
+% required packages:
+% - cleveref
+% \crefname params:
+% first: type
+% second: singular cross reference
+% third: plural cross reference
+\RenewDocumentCommand\citep{m}{{\color{blue}\citeauthor{#1}(\citeyearpar{#1})}}
+\crefformat{figure}{#2图~#1#3}
+\crefrangeformat{figure}{图~(#3#1#4)\;$\sim$\;(#5#2#6)}
+\crefmultiformat{figure}{图~(#2#1#3)}{和~(#2#1#3)}{,(#2#1#3)}{和~(#2#1#3)}
+
+\crefformat{table}{#2表#1#3}
+\crefrangeformat{table}{表(#3#1#4)\;$\sim$\;(#5#2#6)}
+\crefmultiformat{table}{表~(#2#1#3)}{和~(#2#1#3)}{,(#2#1#3)}{和~(#2#1#3)}
+
+\crefformat{equation}{~(#2#1#3)}
+\crefrangeformat{equation}{~(#3#1#4)\;$\sim$\;(#5#2#6)}
+\crefmultiformat{equation}{~(#2#1#3)}{ 和~(#2#1#3)}{,(#2#1#3)}{ 和~(#2#1#3)}
+% equation, chapter, section, etc.
+% \creflabelformat{htypei}{hformati}
+
+\bool_if:NT \l__xmu_toc_ref_bool{
+ \AddToHook{env/thebibliography/begin}{
+ \cleardoublepage % with \cleardoublepage will get the right page number
+ \addcontentsline{toc}{chapter}{\protect å‚考文献}
+ % \captce{Reference}
+ \addcontentsline{tce}{chapter}{
+ \rmfamily\bfseries\protect\makebox[0em][l]{}Reference}
+ }
+}
+
+\AddToHook{env/thebibliography/end}{
+ \cleardoublepage
+}
+% --------------------------- equations&principles settings ------------------------
+% required packages:
+% - amsthm
+\newtheorem{theory}{定ç†}[section]
+\newtheorem{law}{定律}[section]
+\theoremstyle{definition}
+
+
+\NewDocumentEnvironment {abstract} { s }{
+ \bool_if:NTF \l__xmu_toc_abs_bool{
+ \IfBooleanTF {#1}{
+ \chapter*{摘è¦}
+ \addcontentsline{toc}{chapter}{\protect 摘è¦}
+ \captce{\bfseries 摘è¦}
+ }{
+ \chapter*{\bfseries Abstract}
+ \addcontentsline{toc}{chapter}{\protect Abstract}
+ \captce{\bfseries Abstract}
+ }
+ }{
+ \IfBooleanTF {#1}{
+ \chapter*{摘è¦}
+ }{
+ \chapter*{\bfseries Abstract}
+ }
+ }
+}{
+}
+
+%%============================关键è¯===========================%%
+
+%%关键è¯ã€‚
+
+\NewDocumentCommand\keywords { s m } {
+ \par\vspace{2ex}\noindent{\sffamily \bfseries
+ \IfBooleanTF {#1} {
+ 关键è¯ï¼š
+ }{
+ Keywords:~
+ }
+ } #2
+}
+
+
+\tl_new:N \l__xmu_author_tl
+\tl_new:N \l__xmu_title_tl
+\tl_new:N \l__xmu_date_tl
+\tl_new:N \l__xmu_class_tl
+\tl_new:N \l__xmu_studentnumber_tl
+\tl_new:N \l__xmu_department_tl
+\tl_new:N \l__xmu_major_tl
+\tl_new:N \l__xmu_advisor_tl
+\tl_new:N \l__xmu_otheradvisor_tl
+\tl_new:N \l__xmu_team_tl
+\tl_new:N \l__xmu_fundteam_tl
+\tl_new:N \l__xmu_degree_tl
+\tl_new:N \l__xmu_englishtitle_tl
+\tl_new:N \l__xmu_majorordouble_tl
+\tl_new:N \l__xmu_lab_tl
+\tl_new:N \l__xmu_classified_code_tl
+\tl_new:N \l__xmu_security_classification_tl
+\tl_new:N \l__xmu_UDC_tl
+\tl_new:N \l__xmu_submit_date_tl
+\tl_new:N \l__xmu_defense_date_tl
+\tl_new:N \l__xmu_conferred_date_tl
+\tl_new:N \l__xmu_chairman_tl
+\tl_new:N \l__xmu_referee_tl
+
+\keys_define:nn { xmu }{
+ author .tl_set:N = \l__xmu_author_tl ,
+ title .tl_set:N = \l__xmu_title_tl ,
+ date .tl_set:N = \l__xmu_date_tl ,
+ class .tl_set:N = \l__xmu_class_tl ,
+ studentnumber .tl_set:N = \l__xmu_studentnumber_tl ,
+ department .tl_set:N = \l__xmu_department_tl ,
+ major .tl_set:N = \l__xmu_major_tl ,
+ advisor .tl_set:N = \l__xmu_advisor_tl ,
+ otheradvisor .tl_set:N = \l__xmu_otheradvisor_tl ,
+ team .tl_set:N = \l__xmu_team_tl ,
+ fundteam .tl_set:N = \l__xmu_fundteam_tl ,
+ degree .tl_set:N = \l__xmu_degree_tl ,
+ englishtitle .tl_set:N = \l__xmu_englishtitle_tl ,
+ majorordouble .tl_set:N = \l__xmu_majorordouble_tl ,
+ lab .tl_set:N = \l__xmu_lab_tl ,
+ classified_code .tl_set:N = \l__xmu_classified_code_tl ,
+ security_classification .tl_set:N = \l__xmu_security_classification_tl ,
+ UDC .tl_set:N = \l__xmu_UDC_tl ,
+ submit_date .tl_set:N = \l__xmu_submit_date_tl ,
+ defense_date .tl_set:N = \l__xmu_defense_date_tl ,
+ conferred_date .tl_set:N = \l__xmu_conferred_date_tl ,
+ chairman .tl_set:N = \l__xmu_chairman_tl ,
+ referee .tl_set:N = \l__xmu_referee_tl ,
+}
+
+\NewDocumentCommand \xmusetup { m }{
+\keys_set:nn { xmu } { #1 }}
+
+% \end{macrocode}
+%</class>
+%<*logo>
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{xmulogo}[2019/06/07 v0.4.1 xmulogo]
+
+\RequirePackage{xparse,tikz,xcolor}
+\usetikzlibrary{shapes,decorations.pathmorphing}%snakes
+
+\NewDocumentCommand\xmulogon{og}{%
+ \IfNoValueTF {#1}{
+ \IfNoValueTF {#2}{
+ \definecolor{xmucolor}{rgb}{0.09411765,0.15294118,0.30980393}
+ \begin{tikzpicture}[x=.5pt, y=.5pt]
+ \xmuxiamendaxue
+ \end{tikzpicture}
+ }{
+ \definecolor{xmucolor}{rgb}{#2}
+ \begin{tikzpicture}[x=.5pt, y=.5pt]
+ \xmuxiamendaxue
+ \end{tikzpicture}
+ }
+ }{
+ \IfNoValueTF {#2}{
+ \definecolor{xmucolor}{rgb}{0.09411765,0.15294118,0.30980393}
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=#1]
+ \xmuxiamendaxue
+ \end{tikzpicture}
+ }{
+ \definecolor{xmucolor}{rgb}{#2}
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=#1]
+ \xmuxiamendaxue
+ \end{tikzpicture}
+ }
+ }
+}
+
+\NewDocumentCommand\xmulogo{og}{%
+ \IfNoValueTF {#1}{
+ \IfNoValueTF {#2}{
+ \definecolor{xmucolor}{rgb}{0.09411765,0.15294118,0.30980393}
+ \resizebox{\textwidth}{!}{%
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=0.85]
+ \begin{scope}
+ \xmumainpart
+ \end{scope}
+ \begin{scope}[xshift=4.6cm,yshift=5.1cm]
+ \begin{scope}[x=.5pt,y=.5pt,xscale=-1,xshift=-9.5cm]
+ \xmuleftpart
+ \end{scope}
+ \begin{scope}[x=.5pt, y=.5pt,xscale=1]
+ \xmuleftpart
+ \end{scope}
+ \end{scope}
+ \end{tikzpicture}}
+ }{
+ \definecolor{xmucolor}{rgb}{#2}
+ \resizebox{\textwidth}{!}{%
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=0.85]
+ \begin{scope}
+ \xmumainpart
+ \end{scope}
+ \begin{scope}[xshift=4.6cm,yshift=5.1cm]
+ \begin{scope}[x=.5pt,y=.5pt,xscale=-1,xshift=-9.5cm]
+ \xmuleftpart
+ \end{scope}
+ \begin{scope}[x=.5pt, y=.5pt,xscale=1]
+ \xmuleftpart
+ \end{scope}
+ \end{scope}
+ \end{tikzpicture}}
+ }
+ }{
+ \IfNoValueTF {#2}{
+ \definecolor{xmucolor}{rgb}{0.09411765,0.15294118,0.30980393}
+ \resizebox{#1\textwidth}{!}{%
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=0.85]
+ \begin{scope}
+ \xmumainpart
+ \end{scope}
+ \begin{scope}[xshift=4.6cm,yshift=5.1cm]
+ \begin{scope}[x=.5pt,y=.5pt,xscale=-1,xshift=-9.5cm]
+ \xmuleftpart
+ \end{scope}
+ \begin{scope}[x=.5pt, y=.5pt,xscale=1]
+ \xmuleftpart
+ \end{scope}
+ \end{scope}
+ \end{tikzpicture}}
+ }{
+ \definecolor{xmucolor}{rgb}{#2}
+ \resizebox{#1\textwidth}{!}{%
+ \begin{tikzpicture}[x=.5pt, y=.5pt,scale=0.85]
+ \begin{scope}
+ \xmumainpart
+ \end{scope}
+ \begin{scope}[xshift=4.6cm,yshift=5.1cm]
+ \begin{scope}[x=.5pt,y=.5pt,xscale=-1,xshift=-9.5cm]
+ \xmuleftpart
+ \end{scope}
+ \begin{scope}[x=.5pt, y=.5pt,xscale=1]
+ \xmuleftpart
+ \end{scope}
+ \end{scope}
+ \end{tikzpicture}}
+ }
+ }
+}
+
+
+
+\def \xmulineto(#1,#2)
+(#3,#4)(#5,#6){%
+.. controls (#1,#2) and (#3,#4) .. (#5,#6)}
+
+\def\xmuleftpart{\fill[xmucolor]
+(-198.87168726,580.82143114)
+--(-198.87168726,574.47209795)
+(291.27710014,259.09130201)
+--(291.27710014,252.74196881)
+(420.60109729,87.27663913)
+--(420.60109729,87.27663913)
+(420.32509729,8.74074753)
+--cycle
+(420.59576396,87.27663913)
+--(420.59576396,87.27663913)
+--(428.85176377,85.6511725)
+--(420.60109729,87.27663913)
+--cycle
+(420.32509729,8.74074753)
+ \xmulineto(420.32509729,8.74074753)
+(424.27309721,28.74597375)(423.22109723,40.49544016)
+ \xmulineto(422.13843059,52.61517323)
+(420.1490973,64.76570629)(421.77309726,73.11517277)
+ \xmulineto(422.89843057,78.94850598)
+(425.67976384,81.1203726)(428.85176377,85.6511725)
+--(420.60109729,87.27663913)
+--(420.32509729,8.74074753)
+--cycle
+(53.62270538,252.91263548)
+ \xmulineto(56.10657199,256.54196873)
+(58.5492386,260.18863532)(60.94510522,263.8753019)
+ \xmulineto(60.0653719,271.4899684)
+(48.24763883,277.57396827)(34.97163912,277.57396827)
+ \xmulineto(21.16910609,277.57396827)
+(8.92946636,271.00063508)(8.92946636,262.95930192)
+ \xmulineto(8.92946636,259.15130201)
+(11.6851863,255.68330208)(16.04403954,253.06863547)
+ \xmulineto(17.63310617,252.40730215)
+(19.21070614,252.0166355)(20.78937277,251.8806355)
+--(51.27323876,251.8806355)
+ \xmulineto(52.23723874,251.8806355)
+(52.76283873,252.42730215)(53.62270538,252.91263548)
+--cycle
+(20.78937277,213.09930302)
+ \xmulineto(27.47163929,220.41663619)
+(34.55443913,227.48996937)(40.456039,234.97930254)
+ \xmulineto(43.29977227,238.59396913)
+(46.04923888,242.25530238)(48.72110549,245.9593023)
+--(20.78937277,245.9593023)
+--cycle
+(19.82523946,146.78197115)
+ \xmulineto(33.26803916,131.44330482)
+(50.47163878,116.62037181)(52.20083874,95.11517229)
+ \xmulineto(52.24243874,91.41263904)
+(51.20083877,66.39650626)(53.42523872,64.12610631)
+ \xmulineto(54.44510536,63.09383966)
+(56.39870532,62.00583969)(59.51857192,63.67823965)
+ \xmulineto(59.51857192,63.67823965)
+(65.15337179,67.74077289)(71.29977166,70.85530616)
+ \xmulineto(71.14350499,76.00583938)
+(70.76803833,87.85530578)(70.16377168,100.67823883)
+ \xmulineto(69.68523836,110.83397194)
+(65.73723845,123.07410501)(59.46643858,132.21943814)
+ \xmulineto(53.81590538,140.45930462)
+(52.19563874,151.74997104)(53.21590539,161.33930416)
+ \xmulineto(53.21590539,161.33930416)
+(36.62270575,149.64597109)(19.82523946,146.78197115)
+--cycle
+(56.84097198,174.67797053)
+ \xmulineto(56.87737197,177.77663713)
+(57.07057197,193.69263678)(57.4503053,201.95396993)
+ \xmulineto(57.83577195,210.16196975)
+(62.90910517,217.86996958)(66.37217177,225.88596941)
+ \xmulineto(68.89297171,231.73530261)
+(70.00243835,237.78196914)(70.61177167,244.28730233)
+ \xmulineto(71.32523832,252.0366355)
+(71.10137166,260.37530198)(71.10137166,269.43263511)
+ \xmulineto(71.10137166,269.43263511)
+(59.10657193,249.45930222)(41.74763897,227.54196937)
+ \xmulineto(32.8409725,216.29263628)
+(19.12270614,204.34996988)(11.85185297,192.63130347)
+ \xmulineto(7.57061306,185.71397029)
+(2.64821317,172.95397057)(8.60654637,162.05797081)
+ \xmulineto(10.33570633,158.91263755)
+(12.42529295,155.88063762)(14.74763957,152.89663768)
+--(14.59617291,153.19797101)
+ \xmulineto(14.59617291,153.19797101)
+(40.08617234,152.96463768)(56.84097198,174.67797053)
+--cycle
+(120.80497056,8.74074753)
+ \xmulineto(116.66377066,17.00584068)
+(116.86230399,28.74597375)(117.91430396,40.49544016)
+ \xmulineto(118.99710394,52.61517323)
+(120.98150389,64.76570629)(119.36230393,73.11517277)
+ \xmulineto(118.23203729,78.94850598)
+(115.45603735,81.1203726)(112.28363742,85.6511725)
+ \xmulineto(104.60657092,96.64077226)
+(100.10657102,111.1886386)(108.87737083,122.37517169)
+ \xmulineto(114.5861707,129.66730486)
+(122.55443719,135.97930472)(122.60657053,143.38597122)
+ \xmulineto(122.66910386,151.78730437)
+(120.42523724,169.09397066)(101.42523766,173.05263724)
+--(61.01857188,173.24997057)
+ \xmulineto(59.36750525,165.95930406)
+(57.68003862,147.75530446)(61.50243854,141.22463794)
+ \xmulineto(67.60657174,130.7927715)
+(75.3675049,117.82357179)(76.22630488,102.3178388)
+--(76.9664382,73.31783944)
+ \xmulineto(77.36230486,73.4537061)
+(77.75857151,73.5793061)(78.14923817,73.69277276)
+ \xmulineto(78.14923817,73.69277276)
+(89.55443792,78.02983933)(95.27323779,66.21423959)
+ \xmulineto(99.09150438,58.31783977)
+(99.23723771,48.08863999)(102.03417098,39.47930685)
+ \xmulineto(104.47683759,31.94330701)
+(108.49190417,23.7553072)(113.3148374,17.43810733)
+ \xmulineto(114.8877707,15.37517405)
+(119.1533706,9.44334751)(120.80497056,8.74074753)
+--cycle
+(407.39309758,7.93814754)
+ \xmulineto(410.39843085,6.9537609)
+(413.60643078,6.7980409)(414.95576408,11.60481413)
+ \xmulineto(421.16376394,28.91677375)
+(413.78909744,50.59903994)(414.43976409,67.93237289)
+ \xmulineto(414.61709742,72.56317279)
+(415.37176407,76.88610602)(417.11176403,80.71943927)
+ \xmulineto(316.64376625,103.43810544)
+(224.81576827,103.42197211)(124.02377049,80.71943927)
+ \xmulineto(125.75817046,76.88610602)
+(126.51857044,72.56317279)(126.6904371,67.93237289)
+ \xmulineto(127.34670375,50.59903994)
+(119.97163725,28.91677375)(126.18003711,11.60481413)
+ \xmulineto(127.52897042,6.7980409)
+(130.73723701,6.9537609)(133.74243695,7.93814754)
+ \xmulineto(220.88243503,31.76050702)
+(320.28376617,31.75010702)(407.39309758,7.93814754)
+--cycle
+(420.60109729,87.27663913)
+ \xmulineto(428.85176377,85.6511725)
+(420.60109729,87.27663913)(420.60109729,87.27663913)
+--(420.60109729,87.27663913)
+--(420.32509729,8.74074753)
+ \xmulineto(420.32509729,8.74074753)
+(412.60109746,-0.36342161)(408.22643089,0.89126637)
+ \xmulineto(321.15843281,25.75530715)
+(219.94510171,25.74597382)(132.90910363,0.89126637)
+ \xmulineto(128.53417039,-0.36342161)
+(125.10657047,-0.18217094)(122.15857054,0.74595304)
+ \xmulineto(119.20550393,1.66730768)
+(116.72630399,3.33918765)(113.93470405,6.52200091)
+ \xmulineto(110.0237708,10.96470748)
+(105.28937091,17.36464067)(101.16910433,25.81784048)
+ \xmulineto(96.84150443,34.68344029)
+(94.23203782,44.04184008)(92.61177119,53.49543987)
+ \xmulineto(91.53883788,59.7553064)
+(89.57577125,66.0886396)(83.1065714,67.80330622)
+ \xmulineto(75.71590489,69.74597285)
+(65.01337179,58.41263976)(56.98670531,56.74077313)
+ \xmulineto(53.17430539,55.94330649)
+(49.44510547,56.69650647)(47.52377218,60.45943972)
+ \xmulineto(46.5133722,62.43237301)
+(46.55963887,65.86050627)(46.33577221,69.86050618)
+ \xmulineto(45.82523888,78.67250598)
+(46.12270554,90.26050573)(46.02377221,95.27143895)
+ \xmulineto(45.55963889,120.2298384)
+(4.97685312,143.90197121)(0.54404388,167.95397068)
+ \xmulineto(-1.20543475,177.46463714)
+(1.40914653,186.7553036)(6.31018642,194.70330343)
+ \xmulineto(8.59195971,198.40730334)
+(11.23727965,201.95930327)(14.07577292,205.41263652)
+--(14.08097292,205.47396986)
+--(14.08097292,247.66196893)
+ \xmulineto(7.2107064,251.36996884)
+(2.8305065,256.84996872)(2.8305065,262.95930192)
+ \xmulineto(2.8305065,274.07396834)
+(17.26283951,283.14596814)(34.97163912,283.14596814)
+ \xmulineto(48.64350549,283.14596814)
+(60.3721719,277.74063493)(64.99710513,270.1566351)
+ \xmulineto(68.69563838,275.9539683)
+(72.36750497,281.82330151)(76.06537155,287.74596804)
+--(76.34150488,287.74596804)
+--(77.01337153,247.2926356)
+ \xmulineto(77.13830486,239.7139691)
+(75.4919049,232.43796926)(72.66377163,225.62063608)
+ \xmulineto(68.76803838,216.27130295)
+(63.3252385,207.48996981)(63.57057183,197.33397004)
+--(63.73723849,180.44330374)
+--(96.19043777,180.44330374)
+ \xmulineto(109.23723749,180.44330374)
+(123.00763718,171.01130395)(127.34670375,157.02197092)
+ \xmulineto(129.52377037,149.98997108)
+(130.22110369,142.98997123)(128.54923706,138.69797133)
+ \xmulineto(126.34150378,133.04183812)
+(122.56537053,128.17823823)(118.70083728,123.58863833)
+ \xmulineto(115.06537069,119.27143842)
+(111.26283744,115.30330518)(111.32003744,107.93237201)
+ \xmulineto(111.36230411,101.72463881)
+(113.58617072,94.83917229)(120.6279039,87.11517247)
+ \xmulineto(228.1637682,110.40743862)
+(311.89843302,110.50583862)(420.59576396,87.27663913)
+--(420.60109729,87.27663913);}
+
+\def\xmumainpart{\fill[xmucolor]
+(619.15065115,982.09336173)
+ \xmulineto(618.69731782,982.04669506)
+(618.1879845,981.79736174)(617.70798451,981.41602841)
+ \xmulineto(617.18265119,980.96402842)
+(617.17198452,980.06269511)(617.62531785,978.79736181)
+ \xmulineto(618.10931784,975.17202857)
+(618.1039845,971.66669532)(617.62531785,968.29736207)
+ \xmulineto(617.52131785,965.45336214)
+(616.89598453,961.71336223)(615.67731789,957.12536234)
+ \xmulineto(611.49465132,941.1880294)
+(607.5466514,928.94269637)(603.91198482,920.29736325)
+ \xmulineto(600.82798488,911.81203013)
+(596.78665164,903.754697)(591.63598509,896.25469718)
+ \xmulineto(589.91731846,893.87469724)
+(588.96931848,891.5466973)(588.84398515,889.31203069)
+ \xmulineto(588.78665182,885.53069745)
+(589.12531848,882.77069751)(589.85998513,881.10403089)
+ \xmulineto(590.68798511,879.33336427)
+(591.79731842,879.03603094)(593.16131839,880.17203091)
+ \xmulineto(595.01598501,881.19736422)
+(596.68798498,883.19736417)(598.15598494,886.18269743)
+ \xmulineto(601.4893182,892.32269728)
+(604.24531814,898.93203045)(606.45331809,905.82269694)
+ \xmulineto(609.0519847,914.44803006)
+(611.68265131,922.96402985)(614.32265125,931.47336298)
+ \xmulineto(615.02131791,933.86002959)
+(615.69731789,936.22936286)(616.35465121,938.50002947)
+ \xmulineto(616.74531787,938.38536281)
+(617.13065119,938.27602948)(617.62531785,938.24536281)
+ \xmulineto(621.10931777,938.16136281)
+(626.55731765,937.40669616)(633.96398415,935.8746962)
+ \xmulineto(633.95331749,935.48402955)
+(634.20265082,934.72402956)(634.63998414,933.67202959)
+ \xmulineto(635.88531745,930.12002968)
+(637.83865074,929.35469636)(640.48398401,931.39069631)
+ \xmulineto(642.51598397,932.74936295)
+(643.86931727,934.41202957)(644.54665059,936.38002952)
+ \xmulineto(646.27065055,941.25069607)
+(648.13065051,946.33336261)(650.13065046,951.53602915)
+ \xmulineto(651.86931709,956.0826957)
+(654.09331704,959.60936228)(656.90665031,962.20269555)
+ \xmulineto(658.64531694,963.57869552)
+(659.09331693,965.20802881)(658.17198362,967.02669543)
+ \xmulineto(656.78131698,968.96402872)
+(654.83331703,971.13069533)(652.41598375,973.46402861)
+ \xmulineto(651.05198378,974.48936192)
+(649.56265048,974.82802857)(647.93198385,974.56269525)
+ \xmulineto(641.27598399,974.02669526)
+(634.37998414,974.08802859)(627.2759843,974.81736191)
+ \xmulineto(627.19731764,974.92136191)
+(627.06265097,975.13602857)(626.85465098,975.40669523)
+ \xmulineto(625.04131768,978.09869516)
+(622.8599844,980.23469511)(620.41598445,981.75469507)
+ \xmulineto(619.9893178,982.04136173)
+(619.60398447,982.14536173)(619.15065115,982.09336173)
+-- cycle
+(674.59864992,973.54669527)
+ \xmulineto(674.32798326,973.59869527)
+(674.04664994,973.57336194)(673.74931661,973.46402861)
+ \xmulineto(672.98398329,973.26536195)
+(672.7759833,972.43736197)(673.07331663,971.005362)
+ \xmulineto(673.67198328,967.32269543)
+(673.55198328,963.37469552)(672.73464997,959.06802896)
+ \xmulineto(671.33865,952.86936245)
+(669.5933167,946.65069594)(667.48398342,940.44802942)
+ \xmulineto(666.5626501,937.5160295)
+(666.25998344,934.41602957)(666.55731677,931.13602965)
+ \xmulineto(666.8026501,928.78669638)
+(667.29198342,927.22402975)(668.07865007,926.39602977)
+ \xmulineto(669.42665004,925.2920298)
+(670.63998335,926.03069645)(671.80264999,928.67736305)
+ \xmulineto(671.88531665,928.96936304)
+(671.99998332,929.16136304)(672.05731665,929.35469636)
+ \xmulineto(672.7079833,929.0680297)
+(673.59331661,928.83336304)(674.76531659,928.59336305)
+ \xmulineto(679.37464982,928.19336306)
+(686.53064966,926.74536309)(696.09864945,924.19336316)
+ \xmulineto(689.94264959,901.41203039)
+(684.15598305,882.38003086)(678.7453165,867.2186979)
+ \xmulineto(677.90664985,864.66136463)
+(676.96398321,862.91736467)(675.95331656,861.96936469)
+ \xmulineto(675.22931658,861.5733647)
+(673.98398327,861.9213647)(672.31198331,862.90136467)
+ \xmulineto(669.89598336,864.22936464)
+(667.58398341,865.54136461)(665.1973168,866.96403124)
+ \xmulineto(663.39065017,868.20269787)
+(662.32798353,868.36936454)(662.1506502,867.39069789)
+ \xmulineto(666.16131678,860.86936472)
+(669.20265004,855.37469819)(671.20798333,850.88003163)
+ \xmulineto(671.84931665,848.53603169)
+(672.93198329,846.91203173)(674.42664993,846.05736509)
+ \xmulineto(675.27064991,845.41203177)
+(676.18798322,845.40669844)(677.21864987,846.14003175)
+ \xmulineto(678.87998316,847.21869839)
+(681.04131645,849.01069835)(683.65598306,851.55736495)
+ \xmulineto(685.63998301,853.86403156)
+(687.00531632,856.65069816)(687.71864964,859.85469808)
+ \xmulineto(692.44264953,880.89069756)
+(699.56264937,908.13603022)(709.0519825,941.71336273)
+ \xmulineto(710.63064913,947.55202925)
+(712.46398242,951.60402915)(714.55198238,953.90669576)
+ \xmulineto(716.31731567,955.35469572)
+(716.734649,956.89069568)(715.82264902,958.39069565)
+ \xmulineto(714.24531572,960.80669559)
+(711.82798244,963.31736219)(708.45864918,965.92669546)
+ \xmulineto(706.85464921,967.13069543)
+(705.16664925,967.60936209)(703.46398262,967.36402876)
+ \xmulineto(699.08264939,966.46402878)
+(695.63064946,966.03069546)(693.13598285,966.01069546)
+ \xmulineto(690.29198291,966.12002879)
+(686.21864967,966.51602878)(680.94798312,967.1973621)
+ \xmulineto(679.37998315,969.63069537)
+(677.49998319,971.57869532)(675.35998324,973.12536195)
+ \xmulineto(675.10931658,973.35469528)
+(674.86398325,973.49469527)(674.59864992,973.54669527)
+-- cycle
+(629.13998426,970.58402868)
+ \xmulineto(632.92131751,970.41202868)
+(636.15598411,970.20269536)(638.78665071,970.07336202)
+ \xmulineto(642.5733173,969.90669536)
+(644.96931724,969.26002871)(646.06798389,968.13069541)
+ \xmulineto(646.74931721,967.29736209)
+(646.65065054,965.53069547)(645.72931723,962.70802887)
+ \xmulineto(642.99998395,954.72402907)
+(640.39598401,947.37469592)(637.85998407,940.78669608)
+ \xmulineto(637.51065074,939.86002944)
+(637.07865075,939.13069612)(636.50531743,938.58402947)
+ \xmulineto(636.03065078,939.43202945)
+(635.18798413,940.45336276)(633.96398415,941.63069606)
+ \xmulineto(632.73998418,942.6933627)
+(630.68798423,943.21869602)(627.78665096,943.24002935)
+ \xmulineto(624.29198437,943.21869602)
+(620.92131777,943.17202936)(617.79731784,943.15602936)
+ \xmulineto(618.89065115,946.95869593)
+(620.03598446,950.36936251)(621.1826511,953.22936244)
+ \xmulineto(626.11998433,952.83869578)
+(630.4586509,952.3226958)(634.13598415,951.79202914)
+ \xmulineto(636.39065077,951.74936248)
+(637.15065075,952.41202913)(636.50531743,953.74002909)
+ \xmulineto(635.91198411,955.25469572)
+(634.49465081,956.47869569)(632.18798419,957.464029)
+ \xmulineto(630.11465091,958.16669565)
+(627.1199843,958.42136231)(623.13065106,958.22402898)
+ \xmulineto(623.02665106,958.15069565)
+(622.91731773,958.12536232)(622.7919844,958.05202899)
+ \xmulineto(624.91198435,964.04136217)
+(626.52131765,968.16669541)(627.69731763,970.50002868)
+ \xmulineto(628.11998428,970.47869535)
+(628.61998427,970.52136201)(629.13998426,970.58402868)
+-- cycle
+(364.2599901,964.1506955)
+ \xmulineto(362.45332347,963.97869551)
+(360.92132351,963.36002886)(359.6879902,962.36936222)
+ \xmulineto(357.71865691,960.74936226)
+(358.01599024,959.36936229)(360.53599018,958.14002899)
+ \xmulineto(364.82799009,956.06802904)
+(367.57865669,953.31202911)(368.74532333,949.92669586)
+ \xmulineto(372.82265658,938.30669614)
+(375.97865651,927.96402973)(378.14532313,918.94269662)
+ \xmulineto(368.90665666,913.74536342)
+(359.08799021,908.30669688)(348.68265711,902.52136369)
+ \xmulineto(346.54665716,901.38536372)
+(346.65599049,900.22936375)(349.02132377,899.13603044)
+ \xmulineto(350.93199039,898.44803046)
+(352.95865702,898.13603047)(355.03065697,898.20269713)
+ \xmulineto(357.40132358,898.59336379)
+(359.28665688,899.29203044)(360.70265685,900.31736375)
+ \xmulineto(366.29199006,904.55736364)
+(372.63065658,908.63603021)(379.58398976,912.51069678)
+ \xmulineto(379.77598976,911.63603013)
+(379.96398975,910.71869682)(380.08798975,909.71869685)
+ \xmulineto(382.20265637,899.60403043)
+(382.4999897,890.40669733)(381.02132306,882.12003086)
+ \xmulineto(380.26532308,876.10403101)
+(378.34932312,870.03603116)(375.18265653,863.91736465)
+ \xmulineto(372.43732325,857.91203146)
+(367.25999003,850.31203165)(359.6039902,841.06269854)
+ \xmulineto(358.4426569,839.90669857)
+(357.75465691,839.01069859)(357.65599025,838.43736527)
+ \xmulineto(357.30265692,837.5933653)
+(358.0826569,837.3853653)(360.02665686,837.84403196)
+ \xmulineto(361.51599016,838.35469861)
+(364.86399009,840.89069855)(369.93198998,845.38003177)
+ \xmulineto(373.56265656,848.51069836)
+(377.62532314,853.4893649)(382.11998971,860.2760314)
+ \xmulineto(385.46932297,865.54669794)
+(387.79732291,871.0266978)(389.14532288,876.86936433)
+ \xmulineto(390.73998952,883.50003083)
+(391.18798951,891.2706973)(390.41598952,900.15069708)
+ \xmulineto(390.1826562,901.76003038)
+(389.99998953,903.406697)(389.8226562,905.14536363)
+ \xmulineto(393.06798947,902.1453637)
+(399.91198931,896.58403051)(410.47865575,888.46936404)
+ \xmulineto(422.08798883,879.74003092)
+(431.93198861,873.26003108)(439.8546551,868.82803119)
+ \xmulineto(443.56798835,866.55736458)
+(446.71332162,865.80669793)(449.33865489,866.71336458)
+ \xmulineto(456.82798806,869.94269783)
+(463.93732124,872.88003109)(470.58398776,875.59869769)
+ \xmulineto(473.46398769,876.69336433)
+(474.817321,877.65069764)(474.56265434,878.39603096)
+ \xmulineto(474.35998767,879.29736427)
+(472.43198772,879.90136425)(468.80665446,880.33869757)
+ \xmulineto(464.15065456,880.73469756)
+(459.24532134,881.12536422)(454.07865479,881.44269755)
+ \xmulineto(447.92665492,881.63603088)
+(442.8693217,882.43203086)(438.92132179,883.81203082)
+ \xmulineto(433.61998857,885.45336411)
+(425.89065541,889.14536402)(415.7293223,894.90136388)
+
+ \xmulineto(404.32265588,901.16136373)
+(395.34932275,906.64003026)(388.80665623,911.32269681)
+ \xmulineto(388.5573229,913.22936343)
+(388.23465624,915.10936338)(387.87998958,917.08269667)
+ \xmulineto(396.44798939,921.72936322)
+(408.06798913,927.05202975)(422.67198881,932.91202961)
+ \xmulineto(424.91198876,933.68269626)
+(427.06798872,934.4733629)(429.10398867,935.28136288)
+ \xmulineto(431.13998863,936.09336286)
+(432.1879886,936.97869618)(432.32265527,938.07869615)
+ \xmulineto(432.28665527,939.43736278)
+(431.19732196,940.57336275)(429.02132201,941.37469607)
+ \xmulineto(425.20265542,942.38002938)
+(422.00532216,942.80269603)(419.45332222,942.6453627)
+ \xmulineto(417.28132226,942.54669604)
+(415.31198897,941.81736272)(413.44265568,940.53069609)
+ \xmulineto(406.91732249,936.29736286)
+(397.90665603,930.70802966)(386.52665628,923.8546965)
+ \xmulineto(385.4946563,927.69736307)
+(384.46932299,931.53602964)(383.39065635,935.28136288)
+ \xmulineto(382.38532303,938.51602947)
+(381.57865639,941.45869606)(380.93732307,944.17202933)
+ \xmulineto(379.5413231,948.52669589)
+(378.77598978,953.57869577)(378.73465645,959.24002896)
+ \xmulineto(378.86398978,960.65602892)
+(378.31198979,961.6200289)(376.95865649,962.20269555)
+ \xmulineto(374.30265655,963.28136219)
+(370.72932329,963.90669551)(366.20799006,964.1506955)
+ \xmulineto(365.54132341,964.1826955)
+(364.86399009,964.2026955)(364.2599901,964.1506955)
+-- cycle
+(681.45331644,962.12002889)
+ \xmulineto(682.16131642,962.02136222)
+(683.05198307,961.95336223)(684.07864972,961.94802889)
+ \xmulineto(689.3066496,961.46936224)
+(694.50531615,961.18269558)(699.7399827,961.01602892)
+ \xmulineto(701.94798266,960.80269559)
+(703.10398263,960.09336227)(703.29198263,958.9013623)
+ \xmulineto(703.48398262,956.36402903)
+(703.32798262,953.29202911)(702.70264931,949.6720292)
+ \xmulineto(700.90131601,942.34402938)
+(699.00531605,935.24536288)(697.11464943,928.33869639)
+ \xmulineto(696.66664944,928.89602971)
+(696.12531612,929.58402969)(695.50531613,930.36936301)
+ \xmulineto(694.27064949,931.76536297)
+(692.13064954,932.54669628)(688.98931627,932.74536295)
+ \xmulineto(683.3853164,933.01069627)
+(678.23998318,933.46936293)(673.58398328,934.18269624)
+ \xmulineto(673.84931661,935.45336288)
+(674.13064994,936.86002951)(674.34398326,938.32802948)
+ \xmulineto(675.00531658,940.62002942)
+(675.69331657,943.12002936)(676.45864988,945.78136262)
+ \xmulineto(676.55731655,945.74936263)
+(676.81198321,945.66136263)(677.30664987,945.52669596)
+ \xmulineto(683.1973164,944.54136266)
+(688.28664962,943.69336268)(692.5413162,943.07336269)
+ \xmulineto(694.74931615,942.85469603)
+(695.70264946,943.47336268)(695.25064947,944.84936265)
+ \xmulineto(694.66131615,946.36936261)
+(693.28131618,947.60402925)(691.10398289,948.65602922)
+ \xmulineto(689.08264961,949.53069587)
+(686.05198301,949.98936252)(682.04664976,950.01069585)
+ \xmulineto(680.4426498,949.84936252)
+(678.9733165,949.64536253)(677.55731653,949.42136253)
+ \xmulineto(678.91198316,954.09869575)
+(680.17731647,958.36402898)(681.45331644,962.12002889)
+-- cycle
+(870.56797894,836.57336532)
+ \xmulineto(869.73997896,836.63603199)
+(869.0413123,836.16136533)(868.45331232,835.13603202)
+ \xmulineto(867.23464568,831.75469877)
+(864.29197908,828.53069885)(859.56264585,825.48403226)
+ \xmulineto(840.73464626,813.92669921)
+(825.73997993,806.43736606)(814.61464684,803.05203282)
+-- (813.42664686,802.71336616)
+ \xmulineto(802.8066471,799.70269956)
+(789.85998072,797.80669961)(774.65598105,797.0413663)
+ \xmulineto(773.82264774,797.09869963)
+(773.07331442,797.0213663)(772.45331443,796.78669964)
+ \xmulineto(771.42131446,796.36003298)
+(771.33864779,795.71869966)(772.20264777,795.01069968)
+ \xmulineto(774.57864772,792.70803307)
+(782.83331421,792.01603309)(797.00531389,792.80669973)
+ \xmulineto(800.23464715,793.16669973)
+(803.68798041,793.60936638)(807.33331367,794.16136637)
+ \xmulineto(823.24531331,797.47869962)
+(839.56264629,804.10403279)(856.25997925,813.97336588)
+ \xmulineto(861.17197914,816.92669914)
+(866.55197903,819.55736574)(872.3439789,821.92669902)
+ \xmulineto(873.28664554,819.13069908)
+(876.8119788,814.59336586)(882.92664533,808.30269935)
+ \xmulineto(890.10931184,801.32803286)
+(897.42131168,794.08803304)(904.85464485,786.63069989)
+ \xmulineto(909.17197809,782.61469999)
+(911.85997803,780.48936671)(912.97864467,780.19336671)
+ \xmulineto(913.97331131,779.91736672)
+(914.63997797,780.15070005)(915.01064462,780.8693667)
+ \xmulineto(915.56264461,781.95336667)
+(915.39064462,783.59336663)(914.5053113,785.86403324)
+ \xmulineto(913.50531132,788.28136651)
+(909.36397808,792.31203308)(901.97331158,797.88536628)
+ \xmulineto(890.25064517,808.25469935)
+(881.20264537,817.22403247)(874.96931217,824.89069894)
+ \xmulineto(874.75464551,825.18269894)
+(874.48397885,825.4693656)(874.12531219,825.65603226)
+ \xmulineto(874.37997885,831.25069879)
+(873.53597887,834.7866987)(871.49997892,836.32269866)
+ \xmulineto(871.19731226,836.46403199)
+(870.84397893,836.55203199)(870.56797894,836.57336532)
+-- cycle
+(182.42666078,835.30269869)
+ \xmulineto(180.81732748,835.55736535)
+(177.54666088,834.21869871)(172.52132766,831.32803212)
+ \xmulineto(171.14532769,830.39069881)
+(170.21332771,829.36003217)(169.81199439,828.10936553)
+ \xmulineto(168.16666109,823.48403231)
+(166.09866114,818.41603244)(163.63599452,813.0413659)
+ \xmulineto(162.63066121,811.40136594)
+(162.86399454,810.60936596)(164.22399451,810.58403263)
+ \xmulineto(165.61999448,810.90669929)
+(167.03066112,811.59869927)(168.45866108,812.61469925)
+ \xmulineto(170.03066105,813.87469921)
+(170.99999436,815.33869918)(171.33866102,817.0213658)
+ \xmulineto(172.130661,819.10936575)
+(172.90666099,821.32803236)(173.7079943,823.62003231)
+ \xmulineto(173.9319943,824.19736563)
+(174.19332762,824.48403229)(174.46932762,824.55203228)
+ \xmulineto(175.4373276,825.01069894)
+(176.84399423,824.57336562)(178.70266086,823.19736565)
+ \xmulineto(180.29199416,821.77603235)
+(181.94799412,820.15603239)(183.60932742,818.4586991)
+ \xmulineto(182.68266077,818.30669911)
+(181.76532746,817.71869912)(180.81732748,816.76536581)
+ \xmulineto(179.51066084,815.34936584)
+(178.18266087,813.0213659)(176.92132756,809.56803265)
+ \xmulineto(176.43732757,807.64536604)
+(175.98399425,805.70803275)(175.4013276,803.8120328)
+ \xmulineto(174.82266094,802.67203282)
+(175.52666093,802.2866995)(177.59866088,802.79736615)
+ \xmulineto(178.16132754,802.93203282)
+(178.63999419,803.46403281)(179.20799418,804.40669945)
+ \xmulineto(181.81732746,808.89069934)
+(184.10399407,812.80269924)(185.98399403,816.08803249)
+ \xmulineto(187.74532733,814.20803254)
+(189.81199395,812.13069926)(192.07866056,809.90669931)
+ \xmulineto(191.36932725,809.53069932)
+(190.71866059,808.973366)(190.04666061,808.21336602)
+ \xmulineto(188.78666064,806.74003272)
+(187.63599399,804.30669945)(186.57332735,800.8493662)
+ \xmulineto(186.07332736,798.69736626)
+(185.62532737,796.65603297)(185.30266071,794.75469969)
+ \xmulineto(184.89066072,793.48403305)
+(185.57332737,793.26536639)(187.42132733,793.99469971)
+ \xmulineto(187.96399399,794.14003304)
+(188.57866064,794.77603302)(189.11466063,795.85469966)
+ \xmulineto(191.28666058,800.16136622)
+(193.09866054,803.90136613)(194.70266051,807.11469938)
+ \xmulineto(197.08266045,804.49469945)
+(199.77066039,801.74536618)(202.65599366,798.81736625)
+ \xmulineto(201.60399369,796.8853663)
+(200.68799371,794.80269969)(199.86399372,792.72403307)
+ \xmulineto(195.26532716,783.25069997)
+(189.63066062,770.94803361)(182.9319941,755.72936732)
+ \xmulineto(182.72932744,755.39603399)
+(182.60399411,755.07336733)(182.59332744,754.71336734)
+ \xmulineto(178.1719942,756.2453673)
+(174.18799429,757.63603394)(170.5733277,759.03070057)
+ \xmulineto(170.61999437,759.09870057)
+(170.6613277,759.19736723)(170.6613277,759.19736723)
+ \xmulineto(172.46399433,763.48936713)
+(174.02666096,767.33336703)(175.4013276,770.71336695)
+ \xmulineto(176.03066092,772.5413669)
+(175.66132759,773.38003355)(174.30266096,773.25070022)
+ \xmulineto(172.92666099,772.92136689)
+(171.50532768,771.95870025)(170.06799438,770.37470029)
+ \xmulineto(168.99466107,768.81736699)
+(168.09866109,766.28136706)(167.35999444,762.75470048)
+ \xmulineto(167.21332778,761.79203383)
+(167.21866111,760.93736719)(167.27599444,760.30270054)
+ \xmulineto(165.46399448,760.95336719)
+(163.84399452,761.64003384)(162.44799455,762.24536716)
+ \xmulineto(161.17199458,762.66670048)
+(160.12532793,763.09336714)(159.14532796,763.60403379)
+ \xmulineto(160.73466125,768.70803366)
+(162.15599456,773.05736689)(163.46399453,776.72403347)
+ \xmulineto(164.04666118,778.46403342)
+(163.72932785,779.27070007)(162.44799455,779.09336674)
+ \xmulineto(161.10932791,778.86003341)
+(159.84932794,777.89603344)(158.63999463,776.30270014)
+ \xmulineto(157.55199466,774.71870018)
+(156.80666134,772.36003357)(156.35466135,769.10403365)
+ \xmulineto(156.19332802,767.70803369)
+(156.03066136,766.30270039)(155.93199469,764.95870042)
+ \xmulineto(154.25999473,765.8547004)
+(153.12532809,766.45336705)(152.45866144,766.73470038)
+ \xmulineto(151.45866146,767.34936703)
+(150.50532815,767.59870036)(149.74932816,767.49470036)
+ \xmulineto(149.7026615,769.7347003)
+(149.6826615,771.69336692)(149.58399483,773.25070022)
+ \xmulineto(149.4946615,774.82803351)
+(149.44799484,776.41203347)(149.41199484,778.0787001)
+ \xmulineto(148.96932818,779.84936672)
+(148.83866152,781.70803334)(149.07332818,783.66669996)
+ \xmulineto(149.32266151,785.39603325)
+(148.65599485,786.31736656)(147.04132822,786.37469989)
+ \xmulineto(145.43199492,786.18803323)
+(143.65066163,785.44803325)(141.70799501,784.17203328)
+ \xmulineto(139.85999505,783.05736664)
+(138.79199507,782.06803333)(138.57866174,781.12536669)
+
+ \xmulineto(138.14532842,780.21870005)
+(138.45332841,779.71336672)(139.50532839,779.5160334)
+ \xmulineto(140.78132836,779.10403341)
+(141.859995,777.97336677)(142.63999499,776.21336681)
+ \xmulineto(143.65599496,774.78670018)
+(144.46399495,773.28670022)(145.17732826,771.55736693)
+ \xmulineto(145.74532825,770.0467003)
+(146.3639949,768.48403367)(147.04132822,766.90136704)
+ \xmulineto(144.78666161,765.7027004)
+(142.96399498,764.14003378)(141.45332835,762.24536716)
+ \xmulineto(140.5106617,761.29736718)
+(140.18799504,760.32803387)(140.43732837,759.36936723)
+ \xmulineto(140.6666617,758.42136725)
+(141.47866168,757.9587006)(142.97866165,758.09870059)
+ \xmulineto(146.7599949,758.36936725)
+(150.56799481,758.25070059)(154.40666139,757.67736727)
+ \xmulineto(157.91732798,756.91736729)
+(166.53599446,754.23470069)(180.22399416,749.63603413)
+ \xmulineto(178.32266087,745.76003423)
+(176.45332757,742.02670099)(174.63999428,738.45870108)
+ \xmulineto(174.42666095,738.10936775)
+(174.39599429,737.81203443)(174.46932762,737.5267011)
+ \xmulineto(174.32799429,737.4947011)
+(174.13599429,737.54136777)(173.87466096,737.69736776)
+ \xmulineto(171.48399435,737.99470109)
+(169.61466106,737.87470109)(168.29199442,737.27603444)
+ \xmulineto(166.37466113,736.58803446)
+(166.41599446,735.54136782)(168.37466109,734.14003452)
+ \xmulineto(168.93199441,733.92136786)
+(169.55732773,733.54136786)(170.23466104,733.12536787)
+ \xmulineto(171.80266101,732.0573679)
+(172.91199432,730.8280346)(173.53599431,729.40136797)
+ \xmulineto(174.75466095,726.7760347)
+(175.83332759,723.68803477)(176.8386609,720.17203486)
+ \xmulineto(177.22932756,718.88536823)
+(178.40666086,717.82803492)(180.31199416,717.12536827)
+ \xmulineto(182.81732743,716.07870163)
+(184.89066072,715.60403497)(186.66132735,715.60403497)
+ \xmulineto(189.46399395,715.39070165)
+(190.27599394,716.78136828)(189.03066063,719.74936821)
+ \xmulineto(187.93732732,722.18803481)
+(186.19732736,724.69336808)(183.78132741,727.45336802)
+ \xmulineto(180.87999414,730.74936793)
+(178.65599419,733.56803453)(177.17732756,735.74936781)
+ \xmulineto(180.50532748,736.98403445)
+(182.72932744,739.16670106)(183.78132741,742.27070098)
+ \xmulineto(186.03599403,749.99470079)
+(188.7293273,757.6307006)(191.82266057,765.20803375)
+ \xmulineto(195.44266049,773.66136687)
+(200.45332705,784.37469994)(206.72399357,797.38003296)
+ \xmulineto(210.53599349,805.35469943)
+(213.1826601,810.16669931)(214.76532673,811.77069927)
+ \xmulineto(216.35466003,812.66136591)
+(217.44799334,812.89603257)(217.97865999,812.44803258)
+ \xmulineto(218.38532665,812.32269925)
+(218.87999331,811.65069927)(219.58799329,810.50003263)
+ \xmulineto(221.09865992,808.17203269)
+(222.69732655,805.86003275)(224.24532652,803.39069947)
+ \xmulineto(224.99999317,802.12536617)
+(225.63999316,801.64536618)(226.27599314,801.94803284)
+ \xmulineto(226.98399313,802.32803283)
+(227.33865979,803.44269947)(227.37465978,805.42136609)
+ \xmulineto(227.53599311,811.6400326)
+(228.3959931,816.86403247)(229.9173264,821.08269904)
+ \xmulineto(231.01599304,824.60936562)
+(231.25999303,826.58403223)(230.51065972,826.92136556)
+ \xmulineto(229.60399307,827.36003222)
+(224.93199317,826.01069892)(216.54132669,822.94269899)
+ \xmulineto(214.18266008,822.16669901)
+(212.41599345,820.70269905)(211.29199347,818.4586991)
+ \xmulineto(209.43199351,814.67736586)
+(207.63066022,810.63603263)(205.87466026,806.43736606)
+ \xmulineto(194.51599384,817.70269912)
+(187.379994,826.48936557)(184.45866073,832.84936541)
+ \xmulineto(184.20799407,834.16136538)
+(183.51066075,834.96936536)(182.42666078,835.30269869)
+-- cycle
+(865.99464571,812.53069925)
+ \xmulineto(865.66664571,812.36936592)
+(865.44264572,811.83336593)(865.31731239,811.01069929)
+ \xmulineto(865.17197906,807.8600327)
+(866.53597903,805.22403276)(869.37997896,803.05203282)
+ \xmulineto(871.38531225,801.71336618)
+(873.50531221,799.93736623)(875.64531216,797.80269961)
+ \xmulineto(874.06264553,796.29203298)
+(870.46397894,794.80669969)(864.97864573,793.22936639)
+ \xmulineto(863.40131243,795.21869968)
+(861.85997913,797.00003296)(860.23997917,798.73469959)
+ \xmulineto(860.27064583,800.21869955)
+(859.96397917,801.67203285)(859.39597918,803.05203282)
+ \xmulineto(859.08797919,803.61469947)
+(858.60931253,803.92669946)(857.95331255,803.89603279)
+ \xmulineto(857.60931256,803.75469946)
+(857.2186459,803.26536614)(856.85464591,802.54136616)
+ \xmulineto(852.49997934,795.94269966)
+(845.95864615,790.90669978)(837.13064634,787.30669987)
+ \xmulineto(835.42131305,786.71869989)
+(834.12531307,785.89603324)(833.32264643,784.8493666)
+ \xmulineto(831.94797979,783.04669998)
+(831.20264647,781.50536668)(831.03597981,780.36403338)
+ \xmulineto(830.68264648,779.3120334)
+(831.06264648,778.79736675)(832.21864645,778.75470008)
+ \xmulineto(832.72931311,778.67736675)
+(833.39064642,778.80670008)(834.08264641,779.09336674)
+ \xmulineto(834.48931307,777.93203344)
+(835.15597972,776.70803347)(836.19731303,775.45336683)
+ \xmulineto(830.44264649,771.19736694)
+(819.99998005,770.69336695)(804.87464705,773.9267002)
+ \xmulineto(804.63998039,774.09336686)
+(804.3599804,774.19736686)(804.03064707,774.18270019)
+ \xmulineto(799.6359805,775.09870017)
+(792.75464732,777.32803345)(783.37464753,780.8693667)
+ \xmulineto(782.70798087,781.16670002)
+(782.48398088,780.93736669)(782.69731421,780.19336671)
+ \xmulineto(786.14531413,775.53070016)
+(794.88531394,771.46936693)(808.94264696,768.00536701)
+ \xmulineto(809.28664696,768.14536701)
+(809.70798028,768.08803368)(810.1253136,767.83336702)
+ \xmulineto(813.97864685,767.19336703)
+(819.03064674,766.47870038)(825.27597994,765.8027004)
+ \xmulineto(825.08797994,764.53603377)
+(824.52131329,758.70803391)(823.67197997,748.2813675)
+ \xmulineto(812.64531355,749.93203413)
+(802.58798044,754.18803402)(793.44798064,761.06270052)
+ \xmulineto(792.89064732,761.66136717)
+(792.45864733,761.8387005)(792.093314,761.56803384)
+ \xmulineto(791.80264734,761.35470051)
+(791.78131401,760.91736719)(792.01064734,760.30270054)
+ \xmulineto(797.70264721,750.31736745)
+(808.14531365,744.16670094)(823.33331331,741.76003433)
+ \xmulineto(822.29198,724.43203476)
+(822.46398,714.29736834)(823.83864663,711.36936841)
+ \xmulineto(826.40131324,706.83870186)
+(831.54664646,701.58403532)(839.33331296,695.6253688)
+ \xmulineto(840.59331293,694.52670216)
+(841.35464625,694.04136884)(841.70264624,694.18270217)
+ \xmulineto(842.26531289,694.48936883)
+(842.30264623,695.33336881)(841.78664624,696.64003544)
+ \xmulineto(839.82797962,701.72403532)
+(837.76531299,707.11470185)(835.52131304,712.89603504)
+ \xmulineto(832.95864643,719.55736821)
+(831.24531314,725.74936806)(830.35997982,731.51603458)
+ \xmulineto(829.8546465,734.6360345)
+(829.37997985,737.81203443)(829.00531319,740.91203435)
+ \xmulineto(832.53597978,740.70803435)
+(836.60931302,740.51070103)(841.19331292,740.40670103)
+ \xmulineto(843.91197953,740.3853677)
+(846.44797947,739.86403438)(848.81197942,738.79736773)
+ \xmulineto(849.91197939,737.92136776)
+(850.82264604,737.74003443)(851.60397936,738.20270108)
+ \xmulineto(852.530646,738.7760344)
+(852.99464599,740.41203436)(852.95864599,743.19736763)
+ \xmulineto(853.16664599,746.72936754)
+(852.91197933,748.97336748)(852.28131267,749.97336746)
+ \xmulineto(851.74531269,750.70270077)
+(851.03597937,751.38536742)(850.08264606,751.91736741)
+ \xmulineto(849.14531274,752.57870073)
+(844.63064618,756.5213673)(836.45331302,763.77070045)
+ \xmulineto(836.13064636,764.20803377)
+(835.82264637,764.57870043)(835.60397971,764.86936709)
+ \xmulineto(837.08264634,763.93736711)
+(838.25997965,764.89070042)(839.0786463,767.74936702)
+ \xmulineto(839.63597962,770.19336696)
+(839.55197962,771.86936692)(838.9066463,772.7453669)
+ \xmulineto(845.61997949,766.10403373)
+(851.42131269,759.96936721)(856.34397925,754.37470068)
+ \xmulineto(856.32797925,754.25070069)
+(856.28664592,754.00536736)(856.17731259,753.69736737)
+ \xmulineto(854.96931261,751.67736742)
+(854.62531262,750.42670078)(855.07864595,749.97336746)
+ \xmulineto(855.72397926,749.09870081)
+(857.3386459,748.91736749)(859.98397917,749.29736748)
+ \xmulineto(862.06797913,749.36936747)
+(863.72397909,749.86003413)(864.97864573,750.90136744)
+ \xmulineto(873.51064554,758.56270058)
+(879.81197873,762.34936715)(883.94264531,762.24536716)
+ \xmulineto(885.42664528,762.21870049)
+(886.38531192,762.72403381)(886.73464525,763.77070045)
+ \xmulineto(886.98931191,766.77603371)
+(886.68264525,770.35470029)(885.80664527,774.43736686)
+ \xmulineto(885.54131194,775.70803349)
+(884.56797863,776.92670013)(882.92664533,778.0787001)
+ \xmulineto(879.06797875,780.40670004)
+(875.04664551,783.5520333)(870.9066456,787.47336653)
+ \xmulineto(869.97331228,788.58403317)
+(868.97864564,789.51603315)(867.859979,790.26536646)
+ \xmulineto(868.20264566,790.41203313)
+(868.60931231,790.39603313)(869.0413123,790.26536646)
+ \xmulineto(870.25464561,790.1506998)
+(871.67731225,790.09336647)(873.35997888,790.0986998)
+ \xmulineto(874.01597886,790.1306998)
+(874.87464551,790.05203314)(875.81731216,789.84403314)
+ \xmulineto(877.11997879,789.45336648)
+(877.81197878,789.74936648)(878.01597877,790.69336645)
+ \xmulineto(878.4213121,791.66669976)
+(878.72397876,793.04669973)(878.86397875,794.83869968)
+ \xmulineto(882.02131202,793.0053664)
+(888.47331188,785.9946999)(898.25064499,773.84403354)
+ \xmulineto(900.67197827,770.56803362)
+(902.31731157,768.98403366)(903.24531155,769.10403365)
+ \xmulineto(904.1879782,769.35470031)
+(904.70797818,770.25470029)(904.68264485,771.81203359)
+ \xmulineto(904.49997819,777.08803346)
+(902.06797824,781.28136669)(897.48931168,784.42669994)
+
+ \xmulineto(894.35464508,787.2920332)
+(890.34931183,790.84403312)(885.46931194,795.01069968)
+ \xmulineto(879.88531207,800.12003289)
+(873.86397886,805.71869942)(867.34931234,811.93736593)
+ \xmulineto(866.81197902,812.44269925)
+(866.32797903,812.69336591)(865.99464571,812.53069925)
+-- cycle
+(159.48399462,811.01069929)
+ \xmulineto(158.75999463,811.01603262)
+(157.82266132,810.97336595)(156.69332801,810.83869929)
+ \xmulineto(154.80266138,810.22936597)
+(153.45332808,809.47869932)(152.63066143,808.72403268)
+ \xmulineto(151.91732812,807.74936603)
+(152.20266144,807.07336605)(153.55732808,806.60403273)
+ \xmulineto(154.72932805,806.2186994)
+(155.59866137,805.56269942)(156.09866136,804.66136611)
+ \xmulineto(157.65599466,801.86003284)
+(158.94799463,798.94803292)(159.99466127,795.85469966)
+ \xmulineto(159.76532794,795.66669966)
+(159.44799462,795.42136634)(159.06266129,795.17736634)
+ \xmulineto(155.71332803,792.18803308)
+(153.21332809,789.87469981)(151.52666146,788.23469985)
+ \xmulineto(151.1199948,787.76536653)
+(151.14532813,787.35469987)(151.69732812,787.13603321)
+ \xmulineto(152.34399477,786.86403321)
+(153.03599476,786.91736655)(153.72932808,787.30669987)
+ \xmulineto(156.08799469,788.68269984)
+(158.65599463,790.07336647)(161.34932791,791.45336643)
+ \xmulineto(162.07866122,789.15069983)
+(162.68266121,786.60936655)(163.20799453,783.83336662)
+ \xmulineto(163.2026612,783.03069998)
+(163.29732786,782.50536666)(163.54666119,782.14003333)
+ \xmulineto(163.92666118,781.43736668)
+(164.35466117,781.46403335)(164.81732783,782.22403333)
+ \xmulineto(165.17732782,782.81736665)
+(165.41599448,784.10403328)(165.41199448,786.2026999)
+ \xmulineto(165.45866115,788.05736652)
+(165.33332782,790.37469979)(165.07332783,793.22936639)
+ \xmulineto(167.07866111,794.2186997)
+(169.3799944,795.30669967)(171.92666101,796.44803298)
+ \xmulineto(173.05732765,796.92669963)
+(173.9119943,797.48403295)(174.55199428,798.14003294)
+ \xmulineto(174.76532761,798.48403293)
+(174.68799428,799.06803291)(174.30266096,799.74936623)
+ \xmulineto(173.92132763,800.45869955)
+(172.43199433,800.93203287)(169.89599439,801.18803286)
+ \xmulineto(168.56266108,801.31203286)
+(167.32266111,801.03069953)(166.25466113,800.42669955)
+ \xmulineto(165.59332781,800.11469955)
+(164.99999449,799.7600329)(164.47866117,799.24003291)
+ \xmulineto(164.07866118,800.89069954)
+(163.67732786,802.60936616)(163.29732786,804.48936611)
+ \xmulineto(162.69732788,806.34936607)
+(162.45866122,807.8600327)(162.53066121,808.97869934)
+ \xmulineto(162.41199455,809.89603265)
+(161.87466123,810.55203263)(161.01066125,810.83869929)
+ \xmulineto(160.68799459,810.97336595)
+(160.21332793,811.00536595)(159.48399462,811.01069929)
+-- cycle
+(253.9586592,804.91203277)
+ \xmulineto(253.49465921,804.8493661)
+(252.98399255,804.76536611)(252.43199257,804.57336611)
+ \xmulineto(248.99999264,803.16669948)
+(246.25465937,801.68269952)(244.22399275,800.25469955)
+ \xmulineto(242.54132612,798.82803292)
+(241.29732614,797.09869963)(240.49999283,795.01069968)
+ \xmulineto(237.43732623,786.93736655)
+(233.13065966,776.42670014)(227.63065978,763.51603379)
+ \xmulineto(227.22932645,763.64003379)
+(226.78132646,763.74936712)(226.27599314,763.85470045)
+ \xmulineto(224.61465985,764.02670045)
+(223.02132655,763.88536712)(221.45332658,763.43203379)
+ \xmulineto(221.18799325,767.21870037)
+(220.92132659,771.21336693)(220.68799327,775.45336683)
+ \xmulineto(220.31199327,779.99470005)
+(220.5933266,783.5880333)(221.45332658,786.12003323)
+ \xmulineto(221.91199324,788.05736652)
+(221.36932658,789.17203316)(219.84399328,789.50536648)
+ \xmulineto(218.30265998,790.0826998)
+(214.36932674,788.71869984)(207.98932688,785.36003325)
+ \xmulineto(206.20799358,784.35469994)
+(205.02666028,782.76536665)(204.52132696,780.62003337)
+ \xmulineto(202.97866032,774.40136686)
+(200.8119937,766.77070038)(197.99999377,757.59336727)
+ \xmulineto(197.32266045,755.104034)
+(195.31199383,751.52670075)(191.90666057,746.92670087)
+ \xmulineto(190.67732726,745.09336758)
+(191.09332725,744.03070094)(193.09332721,743.62536762)
+ \xmulineto(194.54132718,743.55203428)
+(196.17199381,743.92136761)(197.99999377,744.80670092)
+ \xmulineto(201.11466036,746.42136755)
+(202.71866033,749.09336748)(202.82799366,752.76536739)
+ \xmulineto(203.37999365,755.00536733)
+(205.08266028,762.02670049)(207.98932688,773.9267002)
+ \xmulineto(208.34932687,775.24536684)
+(209.11999352,776.23470014)(210.2759935,776.80670013)
+ \xmulineto(211.4893268,777.47336678)
+(212.53066011,777.16670012)(213.32266009,775.96403348)
+ \xmulineto(215.00532672,771.79736692)
+(216.87999335,767.2600337)(219.08265997,762.41603382)
+ \xmulineto(217.97332666,761.92136716)
+(216.84399335,761.26536718)(215.78132671,760.30270054)
+ \xmulineto(214.08799341,758.84403391)
+(213.33866009,757.53070061)(213.41199343,756.32270064)
+ \xmulineto(213.33866009,754.82803401)
+(214.19332674,754.36003402)(216.03066004,754.880034)
+ \xmulineto(218.53065998,755.93203398)
+(221.28665992,756.30670064)(224.24532652,756.15070064)
+ \xmulineto(217.64532667,742.27070098)
+(210.54666016,727.29736802)(202.91199366,711.11470175)
+ \xmulineto(201.85466035,709.18803513)
+(202.58799366,708.37470182)(205.03066028,708.74536848)
+ \xmulineto(207.09866023,709.2507018)
+(208.87466019,710.14003511)(210.35999349,711.45336841)
+ \xmulineto(212.09332679,712.96936837)
+(213.19332676,714.64536833)(213.66132675,716.36403496)
+ \xmulineto(216.85999335,726.8120347)
+(221.17732659,737.43736777)(226.6146598,748.2813675)
+ \xmulineto(227.49999312,750.31203412)
+(228.49465976,752.48403406)(229.6613264,754.79736734)
+ \xmulineto(233.68799298,753.15603405)
+(237.4479929,751.14536743)(240.92132615,748.78670082)
+ \xmulineto(244.6826594,746.16670089)
+(247.40665934,743.51070095)(248.96399264,740.91736768)
+ \xmulineto(250.42665928,738.49470108)
+(249.99999262,735.92670114)(247.77599267,733.20803454)
+ \xmulineto(245.80665938,730.76536793)
+(243.87999275,728.50003466)(241.85465947,726.35470138)
+ \xmulineto(240.96399282,725.48403473)
+(241.09865948,724.95870141)(242.35999279,724.91736808)
+ \xmulineto(243.15065944,724.88536808)
+(244.56799274,725.4267014)(246.59332603,726.43736804)
+ \xmulineto(251.59332592,728.30270133)
+(255.48932583,729.17203464)(258.35999244,729.06270131)
+ \xmulineto(260.40665906,728.98403464)
+(261.77599236,729.67203463)(262.33865901,731.17736792)
+ \xmulineto(262.926659,732.34936789)
+(262.72932567,734.80270117)(261.74532569,738.54136774)
+ \xmulineto(260.91199238,741.98403432)
+(258.97332575,745.18270091)(255.98932582,748.1933675)
+ \xmulineto(252.48399256,751.82803408)
+(247.73465934,755.26536733)(241.68265947,758.35470059)
+ \xmulineto(238.63065954,759.88003388)
+(235.86399293,761.04670052)(233.38532632,761.9947005)
+ \xmulineto(237.97865955,770.86403361)
+(243.98932609,781.11470002)(251.41599259,792.72403307)
+ \xmulineto(253.06799255,795.22403301)
+(254.56265919,797.62536628)(255.90665916,799.83336623)
+ \xmulineto(257.08265913,801.57336619)
+(257.41599246,802.91203282)(256.9213258,803.8120328)
+ \xmulineto(256.35999248,804.76536611)
+(255.3439925,805.10403276)(253.9586592,804.91203277)
+-- cycle
+(178.19332754,796.10936632)
+ \xmulineto(177.50532755,796.08803299)
+(176.6146609,796.02669966)(175.56799426,795.85469966)
+ \xmulineto(173.8599943,795.36936634)
+(172.67732766,794.63069969)(172.01599434,793.74003305)
+ \xmulineto(171.40666102,792.9373664)
+(171.71866101,792.29736641)(172.94799432,791.79203309)
+ \xmulineto(174.18799429,791.5160331)
+(175.06799427,790.91736645)(175.56799426,790.01603314)
+ \xmulineto(176.42666091,788.32803318)
+(177.31732756,786.52669989)(178.3639942,784.5933666)
+ \xmulineto(175.1453276,782.36403333)
+(172.78666099,780.47870004)(171.16666102,779.01070008)
+ \xmulineto(170.9013277,778.72403342)
+(170.94799436,778.40136676)(171.42132769,777.9947001)
+ \xmulineto(172.01066101,777.63603344)
+(172.67732766,777.65603344)(173.45332764,777.9947001)
+ \xmulineto(175.46399426,778.97870008)
+(177.65066088,779.92136672)(179.9733275,780.8693667)
+ \xmulineto(180.0053275,780.7293667)
+(180.10399416,780.5573667)(180.22399416,780.36403338)
+ \xmulineto(181.3746608,777.08803346)
+(182.36399411,773.41203355)(183.27066076,769.36003365)
+ \xmulineto(183.26532742,768.55203367)
+(183.40132742,767.96403368)(183.69732741,767.66670036)
+ \xmulineto(184.05199407,767.11470037)
+(184.4533274,767.21870037)(184.87999406,767.91736702)
+ \xmulineto(185.23999405,768.51070033)
+(185.39066071,769.7187003)(185.21866071,771.55736693)
+ \xmulineto(185.31199405,773.62536688)
+(185.05199405,776.09336681)(184.5413274,779.09336674)
+ \xmulineto(184.29199407,780.05203338)
+(184.10932741,781.21336669)(183.94799408,782.47869999)
+ \xmulineto(186.22399403,783.30669997)
+(188.68799397,784.26536661)(191.40132724,785.27069992)
+ \xmulineto(192.68266055,785.66136658)
+(193.63599386,786.2546999)(194.19332718,786.96936655)
+ \xmulineto(194.39066051,787.2920332)
+(194.31732718,787.74936653)(194.02666052,788.40669984)
+ \xmulineto(193.71866053,789.27603316)
+(192.32799389,789.84403314)(189.79199395,790.0986998)
+ \xmulineto(188.56799397,790.39603313)
+(187.31732733,790.29203313)(186.06799403,789.76003314)
+ \xmulineto(185.09332738,789.54669982)
+(184.00532741,788.86003317)(182.68266077,787.81203319)
+ \xmulineto(182.35466078,788.45869984)
+(182.13599412,789.16136649)(182.00532745,789.92669981)
+ \xmulineto(181.36399413,791.72936643)
+(181.07866081,793.24536639)(181.07332747,794.41603303)
+ \xmulineto(180.88532748,795.25069967)
+(180.40132749,795.73469966)(179.71866084,795.93736632)
+ \xmulineto(179.39599418,796.07336632)
+(178.87999419,796.13069965)(178.19332754,796.10936632)
+-- cycle
+(858.37997921,794.58403302)
+ \xmulineto(858.70264587,794.1506997)
+(859.11464586,793.68803305)(859.56264585,793.22936639)
+
+ \xmulineto(866.85997902,787.02136654)
+(872.95331222,781.41203335)(877.84931211,776.4693668)
+ \xmulineto(879.73997874,774.82803351)
+(880.36931205,773.37470021)(879.70797874,771.98403358)
+ \xmulineto(878.96931209,769.63070031)
+(872.84931222,764.86003376)(861.42664581,757.76003393)
+ \xmulineto(860.82797915,757.65603394)
+(860.18797917,757.41203394)(859.47864585,757.00003395)
+ \xmulineto(859.47864585,757.45336727)
+(859.39064585,757.94803393)(859.13997919,758.43736725)
+ \xmulineto(858.71331253,759.47336722)
+(851.33864603,766.74003371)(837.04664634,780.28136671)
+ \xmulineto(839.55197962,781.45870002)
+(841.75464624,782.77069998)(843.64531286,784.17203328)
+ \xmulineto(843.69731286,783.19336664)
+(845.08264617,781.14003336)(847.79731277,778.0787001)
+ \xmulineto(852.67731267,773.46403355)
+(856.98931257,769.24536698)(860.74931249,765.38003375)
+ \xmulineto(861.98931246,764.15603378)
+(862.80664578,764.01070045)(863.28664576,765.04136709)
+ \xmulineto(863.67731242,766.34403372)
+(863.44797909,767.86936702)(862.60931245,769.61470031)
+ \xmulineto(861.85997913,771.08270027)
+(856.06264592,776.29203348)(845.0879795,785.18803326)
+ \xmulineto(847.05197946,786.64003322)
+(849.05731275,788.16669985)(851.09864603,789.67736648)
+ \xmulineto(850.98397937,788.9173665)
+(851.91731268,787.07869988)(853.89064597,784.25469995)
+ \xmulineto(859.07864586,779.53070006)
+(863.62531242,775.34936683)(867.603979,771.64536692)
+ \xmulineto(868.84931231,770.42136695)
+(869.71864562,770.37470029)(870.14531228,771.47336693)
+ \xmulineto(870.53064561,772.77603356)
+(870.20797895,774.27070019)(869.2973123,775.96403348)
+ \xmulineto(868.48931232,777.05203346)
+(862.79197911,781.79736667)(852.19731268,790.1826998)
+ \xmulineto(852.14531268,790.2546998)
+(852.07331268,790.2506998)(851.94264601,790.26536646)
+ \xmulineto(855.00531261,792.53069974)
+(857.12531257,793.99469971)(858.37997921,794.58403302)
+-- cycle
+(828.15597987,765.54670041)
+ \xmulineto(829.25997985,765.57870041)
+(830.53064649,765.52136708)(832.05197979,765.29736708)
+ \xmulineto(831.93197979,764.08270044)
+(832.43197978,762.42136715)(833.48931309,760.3853672)
+ \xmulineto(834.92664639,758.29203392)
+(837.73464633,755.81203398)(841.9533129,752.84936739)
+ \xmulineto(843.27064621,751.68270075)
+(843.86397953,750.60403411)(843.7346462,749.7187008)
+ \xmulineto(843.65597953,749.21336748)
+(841.58397958,748.62003416)(837.469313,747.94270084)
+ \xmulineto(834.69331306,747.57870085)
+(831.69731313,747.55203419)(828.49464653,747.77070085)
+ \xmulineto(828.41597987,749.8547008)
+(828.3173132,751.95336741)(828.23997987,754.03603403)
+ \xmulineto(828.3853132,759.32270056)
+(828.37464653,763.1200338)(828.15597987,765.54670041)
+
+(892.79197845,264.8640461)
+-- (832.44264644,308.79204502)
+-- (843.56797953,324.13604464)
+-- (873.16131221,313.3960449)
+ \xmulineto(876.45331214,312.2507116)
+(879.79731207,310.98404496)(883.18264533,309.62537833)
+ \xmulineto(886.58397858,308.26004503)
+(890.14531184,306.76004507)(893.87997842,305.14004511)
+ \xmulineto(890.57331183,306.9213784)
+(887.32264523,308.81737835)(884.15597864,310.8333783)
+ \xmulineto(880.98931204,312.84937825)
+(877.42664545,315.31204486)(873.44264554,318.20804479)
+-- (851.07864603,334.48937772)
+-- (860.70264582,347.76537739)
+-- (921.05197782,303.83871181)
+-- (910.33331139,289.05204551)
+-- (878.68797876,300.09337857)
+ \xmulineto(875.3746455,301.23471187)
+(872.00531224,302.51071184)(868.58797898,303.91737847)
+ \xmulineto(865.19331239,305.31737844)
+(861.6826458,306.89071173)(858.06797921,308.62004502)
+ \xmulineto(862.86931244,305.74004509)
+(867.33864568,302.93204516)(871.49997892,300.22937856)
+ \xmulineto(875.64531216,297.5360453)
+(879.43731208,294.92671203)(882.86397867,292.43204542)
+-- (902.44797823,278.18271244)
+-- cycle
+(945.74531061,433.78137527)
+-- (948.64531055,450.25070819)
+-- (954.60397708,449.19737488)
+ \xmulineto(957.0826437,448.76004156)
+(958.99464365,448.87470823)(960.35997696,449.55737488)
+ \xmulineto(961.72397693,450.21870819)
+(962.57331024,451.47337483)(962.89064357,453.29204145)
+ \xmulineto(963.1879769,454.97870808)
+(962.87464357,456.41204137)(961.95331026,457.61470801)
+ \xmulineto(961.01064361,458.80670798)
+(959.67731031,459.56270796)(957.90131035,459.87470795)
+ \xmulineto(956.35997705,460.15070795)
+(954.72931042,459.94804129)(953.05731045,459.28137464)
+ \xmulineto(951.35997716,458.59870799)
+(949.57864386,457.44804135)(947.7346439,455.79737472)
+ \xmulineto(946.89064392,455.07870807)
+(945.67197728,453.9947081)(944.10931065,452.55204147)
+ \xmulineto(939.00531076,447.89604158)
+(935.20264418,444.72404166)(932.68797757,443.04670837)
+ \xmulineto(930.40664428,441.46937508)
+(927.88531101,440.42670843)(925.1146444,439.90670845)
+ \xmulineto(922.3439778,439.40670846)
+(919.43197786,439.41204179)(916.34397793,439.95870845)
+ \xmulineto(910.1973114,441.04670842)
+(905.7493115,443.78670835)(902.97331156,448.18270824)
+ \xmulineto(900.19731162,452.5733748)
+(899.42131163,458.17204133)(900.61997828,464.98937449)
+ \xmulineto(901.81731158,471.79204099)
+(904.27064486,476.61470754)(907.99997811,479.51070747)
+ \xmulineto(911.72397803,482.4067074)
+(916.70264459,483.29737404)(922.95864445,482.19337407)
+-- (928.99464432,481.1253741)
+-- (926.22397771,465.38004115)
+-- (921.16131116,466.2707078)
+ \xmulineto(918.80664454,466.68804112)
+(917.01597791,466.57870779)(915.74531127,465.93737447)
+ \xmulineto(914.49464464,465.28670782)
+(913.71331132,464.06804118)(913.40131133,462.27604123)
+ \xmulineto(913.139978,460.8173746)
+(913.42131133,459.5360413)(914.25464464,458.46937466)
+ \xmulineto(915.07864462,457.39604135)
+(916.31197793,456.71870803)(917.95331123,456.43204137)
+ \xmulineto(920.69731117,455.94804138)
+(925.70264439,458.82270798)(932.96397756,465.07337449)
+-- (933.44264422,465.44804115)
+-- (934.68797752,466.52137446)
+ \xmulineto(941.16664405,472.01070765)
+(945.68797728,475.17204091)(948.22931056,476.01604089)
+ \xmulineto(949.93731052,476.58804088)
+(951.75464381,476.91204087)(953.70264377,477.02670753)
+ \xmulineto(955.6453104,477.13070753)
+(957.66664368,476.9893742)(959.79197697,476.61470754)
+ \xmulineto(966.12531016,475.49470757)
+(970.7026434,472.67204097)(973.55197667,468.10404108)
+ \xmulineto(976.3959766,463.54137453)
+(977.19730992,457.71337467)(975.94797661,450.62537485)
+ \xmulineto(974.71330997,443.59337502)
+(971.97864337,438.56270848)(967.77597679,435.54670856)
+ \xmulineto(963.56797689,432.51604196)
+(958.05197701,431.60937532)(951.25064383,432.81204196)
+-- cycle
+(959.62531031,389.17737637)
+-- (888.6826452,412.27070913)
+-- (893.89597842,428.34404207)
+-- (964.83864353,405.2507093)
+-- cycle
+(910.1933114,337.56271097)
+-- (916.98397791,352.8387106)
+-- (922.51064446,350.36937732)
+ \xmulineto(924.81197774,349.34404402)
+(926.69731103,348.99471069)(928.18797767,349.32271068)
+ \xmulineto(929.66131097,349.63604401)
+(930.79197761,350.64537732)(931.54131093,352.33337728)
+ \xmulineto(932.23464424,353.90137724)
+(932.27597758,355.36404387)(931.67197759,356.7547105)
+ \xmulineto(931.04664427,358.1400438)
+(929.93731096,359.19737711)(928.297311,359.93204376)
+ \xmulineto(926.8599777,360.56804374)
+(925.2346444,360.7707104)(923.44264444,360.53071041)
+ \xmulineto(921.63597781,360.28137708)
+(919.62531119,359.5933771)(917.4319779,358.43737713)
+ \xmulineto(916.44797793,357.9480438)
+(915.01064462,357.18804382)(913.139978,356.16671052)
+ \xmulineto(907.0626448,352.88537726)
+(902.60931156,350.73471065)(899.75464496,349.71337734)
+ \xmulineto(897.16131168,348.7347107)
+(894.47331174,348.33871071)(891.65597847,348.50537737)
+ \xmulineto(888.84931187,348.68804403)
+(886.02131193,349.40137735)(883.15064533,350.67737732)
+ \xmulineto(877.45331212,353.22404392)
+(873.7973122,356.9587105)(872.16664557,361.89604371)
+ \xmulineto(870.53597894,366.83337692)
+(871.13064559,372.45871011)(873.94264553,378.77604329)
+ \xmulineto(876.74531213,385.08804313)
+(880.29731206,389.17204303)(884.60931196,391.07870965)
+ \xmulineto(888.92131187,392.98404294)
+(893.96931176,392.64004295)(899.77597829,390.05737634)
+-- (905.3693115,387.55737641)
+-- (898.87997831,372.94804343)
+-- (894.18797842,375.04137672)
+ \xmulineto(892.0053118,376.01604336)
+(890.23464517,376.34937668)(888.84931187,376.02671002)
+ \xmulineto(887.47864523,375.6973767)
+(886.42131192,374.70804339)(885.6879786,373.04137677)
+ \xmulineto(885.08264528,371.6933768)
+(885.05197862,370.3800435)(885.60397861,369.14537686)
+ \xmulineto(886.13597859,367.90671023)
+(887.17197857,366.94804358)(888.69331187,366.2760436)
+ \xmulineto(891.24531182,365.13604363)
+(896.79197836,366.71337692)(905.34397817,371.01604348)
+-- (905.90131149,371.26537681)
+-- (907.36931146,372.00537679)
+ \xmulineto(914.97864463,375.76004336)
+(920.13064451,377.73470998)(922.80264445,377.94270998)
+ \xmulineto(924.59864441,378.07870997)
+(926.44264437,377.94804331)(928.35997766,377.59337665)
+ \xmulineto(930.26531095,377.21871)
+(932.19731091,376.59337668)(934.1666442,375.7133767)
+ \xmulineto(940.03597741,373.09337676)
+(943.80264399,369.24004353)(945.46397729,364.12004365)
+ \xmulineto(947.11997725,359.01071044)
+(946.4893106,353.16137726)(943.56797733,346.57871075)
+ \xmulineto(940.67197739,340.05737758)
+(936.80264414,335.83871102)(931.99464425,333.9320444)
+ \xmulineto(927.18264436,332.01071111)
+(921.61464448,332.47337777)(915.30264462,335.2813777)
+-- cycle
+(851.91197935,217.18271395)
+-- (798.2506472,269.09337933)
+-- (824.47864662,296.30671199)
+-- (834.85464639,286.27071224)
+-- (820.34398004,271.21871261)
+-- (831.01597981,260.90671287)
+-- (843.81197953,274.18271254)
+-- (854.0519793,264.27604612)
+-- (841.25064625,250.99471311)
+-- (853.25464599,239.38004673)
+-- (868.20264566,254.88537968)
+-- (878.57864543,244.84937993)
+-- cycle
+(820.25064671,188.55204799)
+-- (770.33864781,244.08804662)
+-- (782.87998087,255.40137967)
+-- (832.79197977,199.86404771)
+-- cycle
+(744.33864839,201.95338099)
+-- (764.56798127,171.91738173)
+ \xmulineto(765.92131458,169.90138178)
+(767.23998122,168.67204848)(768.54131452,168.21871516)
+ \xmulineto(769.83331449,167.7760485)
+(771.20798113,168.05738183)(772.71864776,169.0733818)
+ \xmulineto(774.2133144,170.07871511)
+(774.97864771,171.25471508)(775.05198104,172.62004838)
+ \xmulineto(775.11464771,173.99471501)
+(774.46931439,175.67738164)(773.11464775,177.69338159)
+-- (752.8906482,207.73471418)
+ \xmulineto(751.53598156,209.7453808)
+(750.19731492,210.98404743)(748.89598162,211.43738075)
+ \xmulineto(747.58798165,211.88004741)
+(746.18264835,211.60938075)(744.67731505,210.59338078)
+ \xmulineto(743.21864841,209.60404747)
+(742.46398176,208.42138083)(742.39598176,207.0467142)
+ \xmulineto(742.3333151,205.67204756)
+(742.98398175,203.97338094)(744.33864839,201.95338099)
+-- cycle
+(731.723982,190.13604795)
+ \xmulineto(727.45864876,196.47871446)
+(725.7866488,202.29204765)(726.72398211,207.57871418)
+ \xmulineto(727.67198209,212.86938072)
+(731.19331534,217.57871394)(737.29198188,221.6933805)
+ \xmulineto(743.45331507,225.86404707)
+(749.13064828,227.39071369)(754.31731483,226.28138039)
+ \xmulineto(759.49998139,225.17204708)
+(764.25464795,221.41604718)(768.56264785,215.026714)
+-- (785.70798081,189.5573813)
+ \xmulineto(789.99464738,183.18804812)
+(791.69731401,177.36004826)(790.7919807,172.07338173)
+ \xmulineto(789.87998072,166.78671519)
+(786.35998079,162.08271531)(780.21331426,157.93204874)
+ \xmulineto(774.13998106,153.82804884)
+(768.46398119,152.33338221)(763.19331464,153.45871552)
+ \xmulineto(757.92131475,154.58804883)
+(753.13998153,158.3227154)(748.86931495,164.66671524)
+-- cycle
+(678.05731652,108.21364997)
+-- (649.49998381,177.25071493)
+-- (673.44798328,187.19738135)
+-- (685.66131635,166.61471519)
+ \xmulineto(687.18264965,164.02671526)
+(688.70798295,161.28138199)(690.25064958,158.36404873)
+ \xmulineto(691.77598288,155.4480488)
+(693.37998284,152.26004888)(695.04664947,148.80671563)
+ \xmulineto(693.63998284,152.9733822)
+(692.44798286,156.67204877)(691.43731622,159.88538203)
+ \xmulineto(690.43731624,163.12538195)
+(689.70264959,165.61471522)(689.2706496,167.38538184)
+-- (683.48398306,191.36404792)
+-- (707.31198254,201.26004767)
+-- (735.86931524,132.22924938)
+-- (720.91198224,126.01098286)
+-- (710.46398247,151.27071557)
+ \xmulineto(708.28131585,156.54671544)
+(706.0573159,162.00004864)(703.80664928,167.64538184)
+ \xmulineto(701.557316,173.2813817)
+(699.29198271,179.08804822)(696.98398276,185.03604807)
+ \xmulineto(698.54131606,178.67738156)
+(699.81731604,173.33871503)(700.84398268,169.03071514)
+ \xmulineto(701.87464932,164.72404857)
+(702.53598264,161.95338198)(702.8066493,160.71871534)
+-- (711.79198244,122.22404962)
+-- (702.01064932,118.16151639)
+-- (681.8639831,150.2027156)
+ \xmulineto(679.02131649,154.75471549)
+(676.51064988,158.88538205)(674.31198326,162.55738196)
+ \xmulineto(672.13598331,166.21338187)
+(670.06798336,169.72938178)(668.15065007,173.1093817)
+ \xmulineto(670.52131668,167.9480485)
+(672.84931663,162.69338196)(675.17198325,157.32804876)
+ \xmulineto(677.48398319,151.96938222)
+(679.93198314,146.1827157)(682.50531642,139.96404919)
+-- (693.06264952,114.44271648)
+-- cycle
+(604.6399848,92.43178369)
+-- (606.81731809,168.40138182)
+-- (629.20265093,171.89071506)
+-- (654.08265038,100.13605017)
+-- (636.33331744,97.36938357)
+-- (632.59865085,110.39071658)
+-- (621.0986511,108.59324996)
+-- (621.4946511,95.05738363)
+-- cycle
+(620.95331777,122.26511629)
+-- (628.9693176,123.51618293)
+-- (622.9119844,145.67738238)
+ \xmulineto(622.48931774,147.15604901)
+(622.07331775,148.74004897)(621.63998443,150.43738226)
+ \xmulineto(621.2026511,152.13071555)
+(620.56798445,154.70804882)(619.73465113,158.1507154)
+ \xmulineto(619.85998447,156.14004879)
+(619.95865113,154.04671551)(620.06265113,151.87471556)
+ \xmulineto(620.15065113,149.69738228)
+(620.22398446,147.47871567)(620.31198446,145.17738239)
+-- cycle
+(518.45865337,112.20271654)
+-- (535.12531967,111.32818323)
+-- (534.80665301,105.27605004)
+ \xmulineto(534.67198634,102.75471677)
+(535.026653,100.86405015)(535.85998632,99.59325018)
+ \xmulineto(536.68265297,98.31725021)
+(538.03065294,97.6255169)(539.86931956,97.5307169)
+ \xmulineto(541.57865286,97.4375169)
+(542.95331949,97.92658356)(544.03598614,98.9948502)
+ \xmulineto(545.10931945,100.07871684)
+(545.69331943,101.49485014)(545.78665276,103.29218342)
+ \xmulineto(545.86931943,104.85991672)
+(545.46931944,106.45365001)(544.60398612,108.04124997)
+ \xmulineto(543.72398614,109.64538327)
+(542.36931951,111.28124989)(540.50531955,112.91724985)
+ \xmulineto(539.69331957,113.6615165)
+(538.47331959,114.74018314)(536.84931963,116.11458311)
+ \xmulineto(531.61465308,120.62551633)
+(528.01065316,124.02138291)(526.03598653,126.32298286)
+ \xmulineto(524.19731991,128.39591614)
+(522.86931994,130.77084941)(522.00531996,133.46404935)
+
+ \xmulineto(521.17731997,136.15604928)
+(520.82265332,139.05738254)(520.98931998,142.19338246)
+ \xmulineto(521.31731997,148.43738231)
+(523.48931992,153.19738219)(527.51065317,156.49471544)
+ \xmulineto(531.51598641,159.78671536)
+(536.97331963,161.24538199)(543.86931947,160.88004867)
+ \xmulineto(550.75465266,160.52138201)
+(555.83865254,158.66671539)(559.16131914,155.31204881)
+ \xmulineto(562.4786524,151.95871556)
+(563.97331903,147.11471568)(563.6359857,140.7653825)
+-- (563.31731904,134.63071598)
+-- (547.37998606,135.46938263)
+-- (547.64531939,140.60404917)
+ \xmulineto(547.77065272,143.00004911)
+(547.44798606,144.7813824)(546.65065275,145.95338237)
+ \xmulineto(545.8599861,147.11471568)
+(544.55198613,147.74538233)(542.73998617,147.84404899)
+ \xmulineto(541.26531953,147.92138232)
+(540.03065289,147.484049)(539.07865291,146.52138236)
+ \xmulineto(538.1093196,145.57871571)
+(537.59331961,144.26538241)(537.49998628,142.60404912)
+ \xmulineto(537.35998628,139.80671586)
+(540.81731954,135.1880493)(547.89598605,128.72404946)
+-- (548.32265271,128.29738281)
+-- (549.54131935,127.1880495)
+ \xmulineto(555.76531921,121.41204964)
+(559.45331913,117.30684975)(560.59865244,114.88031647)
+ \xmulineto(561.36931909,113.25471651)
+(561.91198574,111.47871656)(562.26531907,109.56258327)
+ \xmulineto(562.60398573,107.64538332)
+(562.71331906,105.61458337)(562.60398573,103.45365009)
+ \xmulineto(562.26531907,97.02658358)
+(560.02131912,92.12551703)(555.84931921,88.73498378)
+ \xmulineto(551.67198597,85.3495172)
+(545.99998609,83.84431724)(538.81731959,84.21885056)
+ \xmulineto(531.70265308,84.59325055)
+(526.38531986,86.6932505)(522.89065327,90.51098374)
+ \xmulineto(519.37465335,94.32298365)
+(517.80265338,99.70271685)(518.16132004,106.60938334)
+-- cycle
+(450.59332153,91.86405037)
+-- (470.55198776,165.1773819)
+-- (493.11998726,163.27071528)
+-- (500.45332043,87.66151714)
+-- (482.55198749,89.16671711)
+-- (481.9839875,102.70271677)
+-- (470.38532109,103.68285008)
+-- (467.59332116,90.43178374)
+-- cycle
+(473.45865436,116.99484975)
+-- (481.53065418,116.3229831)
+-- (480.8546542,139.28671587)
+ \xmulineto(480.79198753,140.82271583)
+(480.7546542,142.46404912)(480.72932087,144.21338241)
+ \xmulineto(480.70798753,145.96404904)
+(480.69332087,148.62004897)(480.69732087,152.16138222)
+ \xmulineto(480.34398754,150.1827156)
+(479.95332088,148.12538232)(479.54665423,145.98404904)
+ \xmulineto(479.11465423,143.84938242)
+(478.66665424,141.67204914)(478.21332092,139.4160492)
+-- cycle
+(406.96398916,102.82298344)
+-- (419.42132222,161.80271531)
+-- (408.65065579,164.09338192)
+-- (411.63065572,178.21871491)
+-- (449.63998822,170.14538177)
+-- (446.65065495,156.01604879)
+-- (435.87998852,158.3067154)
+-- (423.42132213,99.32818352)
+-- cycle
+(356.08265695,121.12551632)
+-- (384.53065632,190.20804795)
+-- (400.13065598,183.75471477)
+-- (371.6826566,114.67191648)
+-- cycle
+(308.49999133,175.71871497)
+-- (322.65599102,166.86404852)
+-- (319.44799109,161.71871532)
+ \xmulineto(318.11465778,159.57871537)
+(317.5106578,157.76004875)(317.62532446,156.24004878)
+ \xmulineto(317.72399113,154.72404882)
+(318.56799111,153.46938219)(320.13599107,152.48938221)
+ \xmulineto(321.58399104,151.57871557)
+(323.02665768,151.33871557)(324.48399098,151.74538223)
+ \xmulineto(325.93732428,152.17204888)
+(327.13999092,153.12538219)(328.09332423,154.65604882)
+ \xmulineto(328.92665755,155.98404879)
+(329.3493242,157.57871542)(329.35999087,159.38004871)
+ \xmulineto(329.3693242,161.21338199)
+(328.96399088,163.30271528)(328.13065756,165.63604855)
+ \xmulineto(327.78132424,166.68271519)
+(327.23465758,168.21871516)(326.4786576,170.21338177)
+ \xmulineto(324.08265765,176.69738161)
+(322.57865769,181.41604816)(321.96399103,184.39071476)
+ \xmulineto(321.35999105,187.09338136)
+(321.34399105,189.82271462)(321.90132437,192.59338122)
+ \xmulineto(322.46932436,195.35471449)
+(323.567991,198.05738109)(325.23465763,200.72404769)
+ \xmulineto(328.53599089,206.02671422)
+(332.74532413,209.13071415)(337.84932402,210.06271412)
+ \xmulineto(342.94799057,210.9947141)
+(348.43199045,209.62004747)(354.28665699,205.95338089)
+ \xmulineto(360.13065686,202.29738098)
+(363.67732345,198.20271442)(364.96399008,193.65604786)
+ \xmulineto(366.25065672,189.11471464)
+(365.20265675,184.15071476)(361.83865682,178.76004823)
+-- (358.58799023,173.54671502)
+-- (345.05732386,182.02138148)
+-- (347.77599046,186.38538137)
+ \xmulineto(349.04132377,188.41604799)
+(349.61999042,190.13604795)(349.49465709,191.54671458)
+ \xmulineto(349.35999043,192.95338121)
+(348.53065711,194.13604785)(346.98932381,195.09871449)
+ \xmulineto(345.73465718,195.88004781)
+(344.4426572,196.1040478)(343.13999057,195.72404781)
+ \xmulineto(341.84399059,195.36938115)
+(340.75999062,194.47338117)(339.86932397,193.05738121)
+ \xmulineto(338.39599067,190.68804793)
+(339.18265732,184.96938141)(342.24532392,175.87471497)
+-- (342.41199058,175.29204831)
+-- (342.9373239,173.73471502)
+ \xmulineto(345.59332385,165.65604855)
+(346.82799048,160.27604868)(346.66132382,157.59338208)
+ \xmulineto(346.54665716,155.79738213)
+(346.16132383,153.98404884)(345.54132385,152.13071555)
+ \xmulineto(344.90665719,150.29204893)
+(344.02132388,148.45871564)(342.87999057,146.63071569)
+ \xmulineto(339.47332398,141.16671582)
+(335.13599074,137.97338257)(329.84932419,137.03604926)
+ \xmulineto(324.56265764,136.10404928)
+(318.8639911,137.54138258)(312.7706579,141.35471582)
+ \xmulineto(306.7293247,145.14004906)
+(303.09865812,149.56271562)(301.88532481,154.59338216)
+ \xmulineto(300.64532484,159.6400487)
+(301.87999148,165.10404857)(305.54132473,170.97338175)
+-- cycle
+(280.27065862,217.74004727)
+ \xmulineto(283.25465855,215.47338066)
+(285.55732517,214.29204735)(287.1879918,214.18804735)
+ \xmulineto(288.81199176,214.06804736)
+(290.37999173,214.942714)(291.89065836,216.81738062)
+-- (294.54132497,220.10404721)
+ \xmulineto(296.10932494,222.04138049)
+(296.69732492,223.78138045)(296.3279916,225.32271375)
+ \xmulineto(295.94799161,226.85471371)
+(294.41599164,228.71871366)(291.72932503,230.89604694)
+-- (291.23465838,231.3027136)
+-- cycle
+(239.27065952,193.58404786)
+-- (286.21865849,251.66137976)
+-- (304.98932474,236.4320468)
+ \xmulineto(309.83865797,232.49471357)
+(312.6666579,228.500047)(313.43199122,224.45871377)
+ \xmulineto(314.19732454,220.4120472)
+(312.91732457,216.33338063)(309.57332464,212.19738074)
+-- (309.10932465,211.63071408)
+-- (306.42665804,208.30671417)
+ \xmulineto(303.98399143,205.28671424)
+(301.50532482,203.34938095)(298.97332487,202.52138098)
+ \xmulineto(296.45865826,201.70804766)
+(293.53599166,201.82804766)(290.2346584,202.9067143)
+ \xmulineto(292.13599169,200.0880477)
+(292.93732501,197.36004777)(292.68265835,194.74004783)
+ \xmulineto(292.42132502,192.10938123)
+(291.01065838,189.2293813)(288.47865844,186.09871471)
+-- (277.62532534,172.67204838)
+ \xmulineto(276.36399204,171.11471508)
+(275.45332539,169.79204845)(274.91199207,168.69338181)
+ \xmulineto(274.35999208,167.59338184)
+(274.00532542,166.54138186)(273.87999209,165.50004856)
+-- (260.62532572,176.25471496)
+ \xmulineto(260.80265905,177.13604827)
+(261.20265904,178.13071491)(261.85999236,179.21338155)
+ \xmulineto(262.51065901,180.31204819)
+(263.58799232,181.80271482)(265.09332562,183.66138144)
+-- (274.13599209,194.8547145)
+ \xmulineto(276.69732536,198.02138109)
+(277.85465867,200.46938103)(277.61465868,202.19738098)
+ \xmulineto(277.39065868,203.94271427)
+(275.77599205,206.05204755)(272.82799212,208.52671416)
+-- (252.23999257,183.05738146)
+-- cycle
+(194.26532718,238.76538008)
+-- (248.35465932,290.20804548)
+-- (274.35999208,262.77071282)
+-- (263.89599231,252.8280464)
+-- (249.52132596,268.00004603)
+-- (238.7653262,257.77604628)
+-- (251.45332592,244.38537994)
+-- (241.13065948,234.56804685)
+-- (228.44265976,247.95871319)
+-- (216.33866003,236.4480468)
+-- (231.15599303,220.81204719)
+-- (220.6973266,210.86404744)
+-- cycle
+(158.91199463,287.11471222)
+-- (214.11466008,338.75471094)
+-- (224.06799319,323.99471131)
+-- (200.29732705,304.44804513)
+ \xmulineto(199.11466041,303.50004515)
+(196.69332713,301.59871186)(193.02666054,298.75471193)
+ \xmulineto(189.35999396,295.906712)
+(185.10932738,292.65071208)(180.27599416,288.96937884)
+ \xmulineto(185.7346607,292.04137876)
+(192.25066056,295.60404534)(199.79732706,299.66137858)
+ \xmulineto(201.09332703,300.34937856)
+(202.02666034,300.85471188)(202.61466033,301.17737854)
+-- (229.6933264,315.64004485)
+-- (239.43732619,301.17737854)
+-- (170.8493277,269.40671266)
+-- cycle
+(131.52652856,334.63604438)
+-- (198.57866042,367.4013769)
+-- (205.97332692,352.20271061)
+-- (138.92666173,319.44271142)
+-- cycle
+(104.53599583,402.45337604)
+-- (175.04132761,426.8640421)
+-- (181.22399414,408.93737588)
+-- (155.4839947,390.78137633)
+ \xmulineto(152.66666143,388.74004304)
+(149.71332816,386.71337643)(146.66132823,384.71337648)
+ \xmulineto(143.5933283,382.69737653)
+(140.32799504,380.63070991)(136.85999511,378.49470996)
+ \xmulineto(140.21866171,380.19737659)
+(143.63599496,381.77604322)(147.09332822,383.22404318)
+ \xmulineto(150.55199481,384.66670981)
+(154.61466139,386.18804311)(159.25999462,387.7973764)
+-- (185.39599404,396.84404284)
+-- (190.74532726,381.32804323)
+-- (120.24012881,356.92137716)
+-- (114.28119561,374.19737674)
+-- (141.43199501,393.86937625)
+ \xmulineto(144.26532828,395.93204287)
+(147.24532822,397.96404282)(150.34932815,399.96404277)
+ \xmulineto(153.43732808,401.95337605)
+(156.73999468,403.937376)(160.2239946,405.91204262)
+ \xmulineto(155.11999471,403.62004268)
+(150.25466149,401.56270939)(145.66666159,399.68804277)
+ \xmulineto(141.08799502,397.82804282)
+(136.78132845,396.20804286)(132.7811952,394.81737623)
+-- (109.90159571,386.89604309)
+-- cycle
+(165.88532781,465.76537448)
+-- (110.82812902,459.5680413)
+ \xmulineto(108.39066241,459.2920413)
+(106.67186245,458.70270798)(105.69732913,457.80270801)
+ \xmulineto(104.71879582,456.89604136)
+(104.32292916,455.56270806)(104.52132916,453.81737477)
+ \xmulineto(104.71359582,452.04137481)
+(105.41612914,450.80270818)(106.60412911,450.10937486)
+ \xmulineto(107.79212909,449.41204155)
+(109.58386238,449.20270822)(111.95306233,449.47337488)
+-- (167.01599445,455.67204139)
+-- (168.89599441,438.86937514)
+-- (116.59839556,432.97870862)
+ \xmulineto(108.9734624,432.12537531)
+(103.03066253,433.30270861)(98.78119595,436.5213752)
+ \xmulineto(94.53066271,439.74937512)
+(92.0051961,445.00004166)(91.18799612,452.31204147)
+ \xmulineto(90.38026281,459.5360413)
+(91.69732944,465.17737449)(95.15052937,469.27604106)
+ \xmulineto(98.59839596,473.36004095)
+(104.11452917,475.82270756)(111.70786234,476.68270754)
+-- (164.00532785,482.56270739)
+%盾牌
+(415.70265563,791.96403309)
+-- (330.45332418,717.80270159)
+ \xmulineto(354.11999032,715.06803499)
+(369.92665664,689.29736896)(369.98932331,667.01070284)
+-- (370.15598997,615.54137078)
+ \xmulineto(370.27065663,569.55737191)
+(371.91732326,488.10937392)(422.05198883,467.90137442)
+ \xmulineto(431.06798863,464.27070785)
+(477.52132094,453.36004145)(499.93198711,442.33870839)
+ \xmulineto(526.53598652,428.2813754)
+(529.42665313,416.90670902)(533.28131971,414.7400424)
+ \xmulineto(537.13998629,416.90670902)
+(539.94798623,428.2813754)(566.55198564,442.33870839)
+ \xmulineto(588.96398515,453.36004145)
+(635.41198412,464.27070785)(644.43198392,467.90137442)
+ \xmulineto(694.56798282,488.10937392)
+(696.21331611,569.55737191)(696.32264945,615.54137078)
+-- (696.49464944,667.01070284)
+ \xmulineto(696.55198277,689.29736896)
+(712.35998243,715.06803499)(736.02664857,717.80270159)
+-- (650.78131712,791.96403309)
+ \xmulineto(610.29198468,766.80670038)
+(582.98398528,755.21870066)(533.28131971,755.21870066)
+ \xmulineto(483.57865414,755.21870066)
+(456.19332141,766.80670038)(415.70265563,791.96403309)
+-- cycle
+(416.96932227,780.78670003)
+ \xmulineto(454.8959881,757.23470061)
+(486.74932073,747.26536753)(533.28131971,747.26536753)
+ \xmulineto(579.81731868,747.26536753)
+(611.58398465,757.23470061)(649.51065048,780.78670003)
+-- (719.5213156,721.27603483)
+ \xmulineto(717.92131564,721.54136816)
+(700.08264936,712.21870172)(691.66664955,686.3120357)
+ \xmulineto(688.28664962,675.88536929)
+(688.02664963,662.94803627)(688.19731629,649.9120366)
+ \xmulineto(688.35464962,637.66137023)
+(687.9173163,625.3120372)(688.02664963,614.86403746)
+ \xmulineto(687.36931631,572.06803852)
+(687.11998298,496.02670706)(641.13065066,475.6880409)
+ \xmulineto(632.63065085,472.27070765)
+(588.34398516,462.19737456)(567.22931896,451.81737482)
+ \xmulineto(541.73998619,439.28670846)
+(537.9693196,431.96937531)(533.28131971,428.95870872)
+
+ \xmulineto(528.59865314,431.96937531)
+(524.73998656,439.28670846)(499.25465379,451.81737482)
+ \xmulineto(478.13598759,462.19737456)
+(433.85465523,472.27070765)(425.34932209,475.6880409)
+ \xmulineto(379.35998977,496.02670706)
+(379.11465644,572.06803852)(378.45332312,614.86403746)
+ \xmulineto(378.56265645,625.3120372)
+(378.12532313,637.66137023)(378.28665646,649.9120366)
+ \xmulineto(378.45332312,662.94803627)
+(378.19732313,675.88536929)(374.81198987,686.3120357)
+ \xmulineto(366.40132339,712.21870172)
+(348.55732378,721.54136816)(346.96399048,721.27603483)
+%xmu 止于至善
+(434.93732188,370.32271017)
+ \xmulineto(434.01598856,370.24537683)
+(433.66665524,369.74537685)(433.90665523,368.8387102)
+ \xmulineto(433.98398856,367.91204356)
+(433.8853219,367.20804358)(433.61998857,366.71871025)
+ \xmulineto(433.48398857,366.54671026)
+(433.20265525,366.1360436)(432.78665526,365.47871029)
+ \xmulineto(431.36932195,363.95337699)
+(430.37465531,362.86004368)(429.80665532,362.19337703)
+ \xmulineto(429.10398867,361.35471039)
+(428.82798868,360.9427104)(428.98932201,360.9587104)
+ \xmulineto(429.15065534,360.81204373)
+(429.81732199,361.09871039)(430.99998863,361.82271038)
+ \xmulineto(431.43732195,362.1720437)
+(432.70265526,362.90671035)(434.78665521,364.01071032)
+ \xmulineto(436.12532185,364.74937697)
+(437.00532183,365.29737696)(437.44265515,365.64004361)
+ \xmulineto(437.73465515,365.82804361)
+(438.3333218,366.1040436)(439.23998845,366.49471026)
+ \xmulineto(440.43732175,367.06271025)
+(440.85998841,367.56804357)(440.50532175,368.00004356)
+ \xmulineto(438.66132179,369.55204352)
+(436.80665517,370.3280435)(434.93732188,370.32271017)
+-- cycle
+(508.55198692,374.04137674)
+ \xmulineto(508.38532026,374.03071007)
+(508.15598693,373.93737674)(507.84398693,373.75471008)
+ \xmulineto(503.5466537,372.07337679)
+(496.06798719,370.70804349)(485.41598743,369.66137685)
+ \xmulineto(482.52132083,369.34404352)
+(482.2919875,368.8387102)(484.77065411,368.16137689)
+ \xmulineto(487.38532072,367.81204356)
+(489.978654,367.87471023)(492.54665394,368.33337688)
+ \xmulineto(493.42665392,367.07871025)
+(493.18798726,365.19737696)(491.86932062,362.69737702)
+ \xmulineto(489.33332068,358.34937713)
+(486.56265407,355.6093772)(483.53598747,354.47337722)
+ \xmulineto(483.05732081,354.28137723)
+(482.74532082,354.10937723)(482.58798749,353.93737724)
+ \xmulineto(482.14532083,353.10404392)
+(482.04665417,351.95871062)(482.28132083,350.51604399)
+ \xmulineto(482.49465416,349.54671068)
+(482.92132082,349.07871069)(483.57865414,349.12004402)
+ \xmulineto(483.57865414,349.12004402)
+(484.29732079,349.32271068)(485.73465409,349.72404401)
+ \xmulineto(487.81198738,350.31737733)
+(495.24532055,352.41204394)(508.0306536,356.00004385)
+ \xmulineto(508.20798693,355.84937719)
+(508.36932026,355.69737719)(508.54665359,355.53604386)
+ \xmulineto(510.61465354,353.38004392)
+(512.03065351,352.47871061)(512.83332016,352.84404393)
+ \xmulineto(514.51598679,354.54671056)
+(514.32798679,356.7347105)(512.23998684,359.3853771)
+ \xmulineto(510.86398687,360.77604373)
+(508.53065359,361.95337704)(505.24532033,362.91204368)
+ \xmulineto(502.11465373,363.72404366)
+(501.14532042,363.51071033)(502.35998706,362.27071036)
+ \xmulineto(503.55732036,361.03604373)
+(505.02132033,359.41204377)(506.74532029,357.39071048)
+ \xmulineto(498.55198714,355.83337719)
+(492.11998728,354.67737722)(487.45865405,353.95337724)
+ \xmulineto(489.77598733,356.01604385)
+(492.86398726,359.17737711)(496.69732051,363.437377)
+ \xmulineto(496.99998717,363.77604366)
+(497.39065383,364.12004365)(497.85998715,364.46937698)
+ \xmulineto(500.21332044,365.89071027)
+(499.81732044,367.33337691)(496.66132051,368.7867102)
+ \xmulineto(503.58398703,369.80271018)
+(508.48398692,370.63071016)(511.37998686,371.25471014)
+ \xmulineto(512.97332015,371.6773768)
+(513.42665348,372.34404345)(512.72398683,373.28137676)
+ \xmulineto(512.04665351,373.89071008)
+(510.65598687,374.15071007)(508.55198692,374.04137674)
+-- cycle
+(579.06265203,374.78137672)
+ \xmulineto(578.24531872,374.67737672)
+(578.13598538,374.19337674)(578.7493187,373.34937676)
+ \xmulineto(579.51598535,372.48404345)
+(579.41598536,370.63071016)(578.45865204,367.76004356)
+ \xmulineto(575.8066521,357.51071048)
+(572.43198551,350.31737733)(568.32265227,346.14537743)
+ \xmulineto(566.93731897,344.59337747)
+(567.16665229,344.34404414)(569.00531892,345.38004411)
+ \xmulineto(573.89065215,348.86004403)
+(577.77598539,354.74004388)(580.63998533,363.02137701)
+ \xmulineto(581.69731864,361.51604372)
+(583.4733186,358.33337713)(585.98398521,353.50004391)
+ \xmulineto(587.17198519,351.4893773)
+(587.99465183,350.06271067)(588.44265182,349.22937735)
+ \xmulineto(588.95331848,346.77604408)
+(591.66665175,345.82271077)(596.55731831,346.37471076)
+ \xmulineto(597.0413183,346.34937742)
+(597.44265163,346.32804409)(597.77598495,346.30671076)
+ \xmulineto(599.39598492,346.38004409)
+(600.45865156,346.57337742)(600.96398488,346.87471074)
+ \xmulineto(601.4693182,347.16671074)
+(601.24531821,347.51071073)(600.28665156,347.88004405)
+ \xmulineto(592.5733184,352.50004394)
+(587.54131851,356.82804383)(585.1506519,360.84404373)
+ \xmulineto(583.4733186,362.86937702)
+(582.24531863,364.24004365)(581.47331864,364.93204363)
+ \xmulineto(582.0679853,367.16137691)
+(582.82265195,369.0787102)(583.7133186,370.65071016)
+ \xmulineto(583.91198526,371.12537681)
+(583.99998526,371.52671014)(584.01065192,371.84937679)
+ \xmulineto(583.42665193,372.8547101)
+(581.7759853,373.83337675)(579.06265203,374.78137672)
+-- cycle
+(641.53598399,343.54137749)
+ \xmulineto(642.97331729,343.2133775)
+(645.40665057,343.08804417)(648.83865049,343.18271084)
+ \xmulineto(651.11465044,343.08804417)
+(652.57865041,342.98937751)(653.21331706,342.91737751)
+ \xmulineto(655.15065035,342.68804418)
+(656.17198366,343.06271084)(656.281317,344.02671081)
+ \xmulineto(656.27065033,345.33871078)
+(655.38531702,346.1720441)(653.63065039,346.54137742)
+ \xmulineto(652.51065041,346.67204408)
+(650.46398379,346.58404408)(647.47865052,346.27604409)
+ \xmulineto(644.99998391,345.9120441)
+(643.09865062,345.72937744)(641.79198398,345.70804411)
+ \xmulineto(642.42665063,351.18271064)
+(643.13998395,355.17737721)(643.92131727,357.69737714)
+ \xmulineto(644.19331726,358.64537712)
+(644.45865059,359.51604377)(644.70265058,360.30271041)
+ \xmulineto(644.94265058,360.92137706)
+(645.08265058,361.39604372)(645.11998391,361.71337704)
+ \xmulineto(644.50531726,363.42671034)
+(642.19331731,364.66671031)(638.21331739,365.45871029)
+ \xmulineto(637.21331742,365.24004362)
+(637.10931742,364.34937698)(637.90665073,362.80271035)
+ \xmulineto(638.41198406,361.59337705)
+(638.70265072,360.58804374)(638.77598405,359.76004376)
+ \xmulineto(639.16665071,354.65604389)
+(637.9693174,342.96937751)(635.20265079,324.69737796)
+-- (625.942651,325.03604462)
+ \xmulineto(625.958651,326.50004458)
+(626.01598433,328.4587112)(626.12531766,330.89071114)
+ \xmulineto(626.37465099,337.22937765)
+(626.66665098,341.10937755)(626.98931764,342.53071085)
+ \xmulineto(627.06265097,343.1773775)
+(627.2399843,343.97337748)(627.5159843,344.92137746)
+ \xmulineto(627.75465096,345.54137744)
+(627.80665096,346.02671077)(627.68265096,346.36404409)
+ \xmulineto(626.54131765,347.80271072)
+(624.55198436,348.93204403)(621.71331776,349.74937734)
+ \xmulineto(620.58398445,349.88537734)
+(620.48931778,349.07871069)(621.43731776,347.33871073)
+ \xmulineto(622.10931775,346.11471076)
+(622.48931774,345.17204412)(622.57331774,344.51604414)
+ \xmulineto(622.9999844,341.19737755)
+(622.9119844,334.76537771)(622.29731774,325.21337795)
+ \xmulineto(618.51598449,325.00537795)
+(614.78131791,325.10937795)(611.08265133,325.54137794)
+ \xmulineto(609.12531804,325.59871127)
+(608.36931805,325.36937794)(608.80265138,324.82804462)
+ \xmulineto(609.69731802,324.22937797)
+(611.33865132,323.63071132)(613.7239846,323.03071133)
+ \xmulineto(621.41598443,323.28137799)
+(629.47865092,323.161378)(637.9013174,322.67737801)
+ \xmulineto(641.78131732,322.39071135)
+(645.64531723,321.94271136)(649.48931715,321.33337804)
+ \xmulineto(653.1826504,320.90671139)
+(656.70798365,320.32804473)(660.05731691,319.61471142)
+ \xmulineto(662.77598352,319.1453781)
+(663.90665016,319.74537808)(663.44265017,321.42671137)
+ \xmulineto(662.36398353,323.34404466)
+(660.55198357,324.53604463)(657.99465029,324.98937795)
+ \xmulineto(657.18265031,325.08271128)
+(654.81198369,325.03604462)(650.87465045,324.84404462)
+ \xmulineto(645.6559839,324.79204462)
+(641.65065065,324.76537796)(638.87465071,324.76537796)
+-- cycle
+(558.21865249,371.7453768)
+ \xmulineto(560.7973191,368.20804355)
+(563.03598572,366.21871027)(564.96931901,365.79204361)
+ \xmulineto(567.43198562,366.47871026)
+(567.75998561,368.00004356)(565.93198565,370.36937683)
+ \xmulineto(560.39598578,373.0827101)
+(557.82798583,373.55204342)(558.21865249,371.7453768)
+-- cycle
+(567.16131896,361.29737706)
+ \xmulineto(566.8386523,361.31737705)
+(565.69731899,361.12537706)(563.7239857,360.74004374)
+ \xmulineto(556.51065253,359.17737711)
+(549.81731934,358.47337712)(543.65598615,358.63604379)
+ \xmulineto(542.52665284,358.53071046)
+(542.41598617,358.13071047)(543.35998615,357.43737715)
+ \xmulineto(544.59331946,356.22937718)
+(545.93198609,355.43204387)(547.36398606,355.03604388)
+ \xmulineto(547.85465272,355.01071054)
+(550.72398599,355.66671053)(555.98398587,357.01604383)
+ \xmulineto(556.4533192,350.33337733)
+(551.75998597,342.79204418)(541.90131952,334.38537772)
+ \xmulineto(540.55731955,333.48404441)
+(540.53598621,333.16137775)(541.84931952,333.41604441)
+ \xmulineto(543.00531949,333.68271107)
+(544.3386528,334.34404439)(545.8439861,335.40137769)
+ \xmulineto(551.56798597,339.15604427)
+(555.54131922,343.82271082)(557.7706525,349.37471068)
+ \xmulineto(557.93731916,349.36404402)
+(558.25998582,349.27071069)(558.73465248,349.07871069)
+
+ \xmulineto(560.79198577,348.16671071)
+(561.90131908,347.53071073)(562.04131907,347.20804407)
+ \xmulineto(562.31198573,346.05737743)
+(561.77598575,343.73471082)(560.45865244,340.22937758)
+ \xmulineto(559.15065247,336.89071099)
+(558.07865249,335.0053777)(557.24531918,334.56271105)
+ \xmulineto(557.07865252,334.57337771)
+(556.36398586,334.76537771)(555.08798589,335.1613777)
+ \xmulineto(552.70798595,336.09871101)
+(551.8173193,336.22937767)(552.42665262,335.54137769)
+ \xmulineto(553.80265259,333.84937773)
+(554.67731924,332.10404444)(555.07331923,330.29204449)
+
+ \xmulineto(555.05198589,329.97337783)
+(555.12531923,329.80271117)(555.29198589,329.79737783)
+ \xmulineto(556.56265253,329.24004451)
+(558.04131916,329.73471117)(559.74931912,331.2653778)
+ \xmulineto(561.13065243,332.80671109)
+(562.29731907,335.10404437)(563.27065238,338.13604429)
+ \xmulineto(564.44265235,341.96937753)
+(565.56798566,344.74937746)(566.63598564,346.47871075)
+ \xmulineto(566.81198563,346.95871074)
+(566.91731897,347.27071073)(566.92131897,347.4373774)
+ \xmulineto(566.34931898,348.76537736)
+(565.34398567,349.79737734)(563.91731903,350.51604399)
+ \xmulineto(563.59331904,350.53071065)
+(563.19731905,350.63604398)(562.71865239,350.82271065)
+ \xmulineto(561.42665242,350.89071065)
+(560.21865245,351.03071064)(559.09865247,351.25471064)
+ \xmulineto(559.2759858,351.73471062)
+(559.63065246,352.28671061)(560.15065245,352.9067106)
+ \xmulineto(560.6773191,353.68271058)
+(560.87465243,354.24537723)(560.72398577,354.57871055)
+ \xmulineto(560.90665243,354.88537721)
+(559.81198579,355.75471053)(557.45865251,357.17737716)
+ \xmulineto(561.87465241,357.92137714)
+(565.62531899,358.29737713)(568.70798559,358.29737713)
+ \xmulineto(570.32265222,358.21337713)
+(570.99998554,358.65604379)(570.73465221,359.65071043)
+ \xmulineto(570.13065223,360.6507104)
+(568.94265225,361.20271039)(567.16131896,361.29737706)
+-- cycle
+(576.0786521,345.49471078)
+ \xmulineto(576.22398543,345.33337745)
+(576.45331876,344.98937746)(576.74931875,344.48404414)
+ \xmulineto(579.48398536,341.09871089)
+(581.27065198,339.46937759)(582.08265196,339.58404426)
+ \xmulineto(584.41198525,340.60404423)
+(584.81731857,342.20271086)(583.31198527,344.39071081)
+ \xmulineto(578.07331872,346.60404408)
+(575.66131877,346.97871074)(576.0786521,345.49471078)
+-- cycle
+(574.06798547,335.13071103)
+ \xmulineto(577.54131873,330.25071115)
+(580.46398533,327.25471123)(582.84398528,326.15604459)
+ \xmulineto(585.32798523,327.1613779)
+(585.59865189,329.09871118)(583.63998526,331.96404445)
+ \xmulineto(582.22931863,333.00537775)
+(579.86398535,334.18804439)(576.51598542,335.49471103)
+ \xmulineto(574.2813188,336.09871101)
+(573.46931882,335.98404435)(574.06798547,335.13071103)
+-- cycle
+(501.75465374,341.31204422)
+ \xmulineto(504.17198702,341.59871087)
+(506.73998696,342.05737753)(509.47332023,342.68804418)
+ \xmulineto(511.88532018,342.97871084)
+(513.06798682,343.53071083)(513.02665349,344.33871081)
+ \xmulineto(512.80665349,345.30671078)
+(511.57865352,345.71871077)(509.31732024,345.59871078)
+ \xmulineto(508.82798691,345.57337744)
+(508.0986536,345.45871078)(507.13998695,345.24537745)
+ \xmulineto(506.17198697,345.19737745)
+(504.40665368,344.86404413)(501.83865373,344.24537748)
+ \xmulineto(501.77065374,345.53071078)
+(501.9373204,346.84404408)(502.35998706,348.16137738)
+ \xmulineto(502.49998705,348.65604403)
+(502.47865372,349.06271069)(502.29732039,349.36937735)
+ \xmulineto(499.46932045,350.84937731)
+(497.32265383,351.5413773)(495.8599872,351.46404396)
+ \xmulineto(495.20798721,351.43204397)
+(495.24532055,350.79204398)(495.9639872,349.53071068)
+ \xmulineto(497.04665384,347.4733774)
+(497.64532049,345.40137745)(497.75465382,343.28671083)
+ \xmulineto(496.30265386,343.05737751)
+(494.36932057,342.70804418)(491.96398728,342.26004419)
+ \xmulineto(489.22932068,341.7920442)
+(487.78132071,341.55204421)(487.61998738,341.54671088)
+ \xmulineto(485.22398743,340.93204422)
+(485.65065409,340.3907109)(488.92132069,339.90671092)
+ \xmulineto(491.52665396,339.72404425)
+(494.51598723,339.96937758)(497.89598715,340.6307109)
+-- (498.56798714,332.38537777)
+ \xmulineto(491.96398728,331.39071113)
+(485.67732076,330.56804448)(479.71332089,329.93737783)
+ \xmulineto(478.74532091,329.71871117)
+(478.02665426,329.60937784)(477.54132094,329.57871117)
+ \xmulineto(475.28132099,329.30271118)
+(474.40665434,328.93204452)(474.92132099,328.46937787)
+ \xmulineto(475.74532098,328.19337787)
+(477.4639876,327.87471121)(480.07865421,327.52671122)
+ \xmulineto(480.24532088,327.53071122)
+(480.81198753,327.64537789)(481.76532084,327.85471121)
+ \xmulineto(495.25065388,330.66137781)
+(509.14532024,331.79737778)(523.45331992,331.25471113)
+ \xmulineto(526.2026532,331.24004446)
+(527.13998651,332.02137778)(526.2506532,333.58804441)
+ \xmulineto(525.02131989,335.15604437)
+(522.86931994,336.00537768)(519.77598667,336.18271101)
+ \xmulineto(519.30265335,336.15071101)
+(518.4159867,336.02671101)(517.1306534,335.79204435)
+ \xmulineto(512.94798682,334.92671104)
+(507.96932027,334.01071106)(502.18798706,333.06804442)
+-- cycle
+(417.14532227,365.77604361)
+ \xmulineto(416.35998895,365.85471028)
+(416.16665562,365.45337695)(416.55198895,364.55204364)
+ \xmulineto(417.10932227,363.51071033)
+(418.06265558,362.43204369)(419.40132222,361.30271039)
+ \xmulineto(420.25065553,360.43737708)
+(421.04132218,360.19737708)(421.7866555,360.57337707)
+ \xmulineto(422.53598882,360.9427104)
+(422.85465548,361.67737705)(422.76532214,362.75471035)
+ \xmulineto(422.13065549,364.7187103)
+(420.25998887,365.72404361)(417.14532227,365.77604361)
+-- cycle
+(429.84398865,351.00004398)
+ \xmulineto(433.83865523,351.49471063)
+(436.50532184,352.04137728)(437.85998848,352.6307106)
+ \xmulineto(439.16665512,353.66137724)
+(438.27598847,354.1360439)(435.17198854,354.02671057)
+ \xmulineto(434.71332188,353.98937724)
+(433.78665523,353.82804391)(432.4159886,353.55204391)
+ \xmulineto(431.35998862,353.15604392)
+(430.52132197,352.92137726)(429.90665532,352.86404393)
+ \xmulineto(429.88532199,353.18271059)
+(429.99998865,353.65604391)(430.25465531,354.30271056)
+ \xmulineto(430.35998864,354.78137722)
+(430.41198864,355.16671054)(430.38532198,355.47871053)
+ \xmulineto(430.34398864,355.93737719)
+(429.91198865,356.45337717)(429.093322,357.00004383)
+ \xmulineto(434.59332188,358.09337713)
+(438.18265514,358.86937711)(439.8546551,359.32271044)
+ \xmulineto(440.74932175,359.70804376)
+(440.93732174,360.27071041)(440.40665509,361.00537706)
+ \xmulineto(439.74532177,361.41204372)
+(438.72932179,361.55204372)(437.33865516,361.43204372)
+ \xmulineto(437.18798849,361.42137705)
+(436.64532184,361.29204372)(435.73465519,361.06804373)
+ \xmulineto(429.96932198,359.32804377)
+(423.4119888,357.98937714)(416.03065563,357.04137716)
+ \xmulineto(414.65065566,356.77604383)
+(414.52665566,356.37471051)(415.66665563,355.84937719)
+ \xmulineto(416.62532228,355.46404387)
+(418.03598891,355.35471054)(419.89598887,355.51071053)
+ \xmulineto(421.13065551,355.62004386)
+(422.42132215,355.81204386)(423.80265545,356.07871052)
+ \xmulineto(424.6453221,355.3693772)
+(425.30265542,354.0360439)(425.78665541,352.04671062)
+ \xmulineto(423.63998879,351.5573773)
+(421.35465551,351.13071064)(418.90132223,350.76004398)
+ \xmulineto(418.01065558,350.21871066)
+(418.5159889,349.79737734)(420.40665553,349.49471068)
+ \xmulineto(421.8066555,349.45871068)
+(423.73465546,349.70271067)(426.17732207,350.21871066)
+-- (426.51598873,346.28671076)
+ \xmulineto(421.30265551,345.37471078)
+(417.46932226,344.8067108)(414.99998898,344.5987108)
+ \xmulineto(413.79198901,344.18804414)
+(413.83332234,343.72404416)(415.11465565,343.2133775)
+ \xmulineto(416.06265562,342.97337751)
+(417.69332226,342.96937751)(420.01598887,343.16671084)
+ \xmulineto(421.85998883,343.32271083)
+(423.47332213,343.54671083)(424.85465543,343.80671082)
+ \xmulineto(425.60932208,344.03604415)
+(426.22932207,344.16671081)(426.69732206,344.20271081)
+-- (427.18798871,335.61471102)
+ \xmulineto(426.72398872,335.56804436)
+(426.03598874,335.44271103)(425.11998876,335.20271103)
+ \xmulineto(413.45332235,333.57871107)
+(406.4533225,332.74937776)(404.11998922,332.71337776)
+ \xmulineto(403.04132258,332.62004443)
+(402.83865592,332.28137777)(403.50532257,331.72937779)
+ \xmulineto(404.67732254,330.74004448)
+(405.97332251,330.06271116)(407.40665582,329.7240445)
+ \xmulineto(407.56798915,329.7400445)
+(408.17198913,329.8600445)(409.24532244,330.11471116)
+ \xmulineto(413.44265568,331.88004445)
+(423.4639888,333.74537774)(439.30665511,335.72937769)
+ \xmulineto(443.31732169,336.06804434)
+(448.20265492,336.16671101)(453.96932146,336.04671101)
+ \xmulineto(454.43198811,336.08804434)
+(454.66665477,336.10937768)(454.66665477,336.10937768)
+ \xmulineto(456.3493214,336.41204434)
+(456.42665473,337.26004432)(454.9119881,338.69737761)
+ \xmulineto(453.41598813,339.80671092)
+(451.66132151,340.27604424)(449.66132155,340.10404424)
+ \xmulineto(448.8906549,340.04137758)
+(446.82265495,339.63604426)(443.46932169,338.87471094)
+ \xmulineto(440.72932175,338.17204429)
+(438.89065512,337.78671097)(437.96932181,337.7080443)
+ \xmulineto(440.13065509,339.76004425)
+(441.63065506,341.28137755)(442.47865504,342.28671086)
+ \xmulineto(443.03598836,342.96404417)
+(442.83865503,343.48937749)(441.86932172,343.87471082)
+ \xmulineto(440.41598842,344.5267108)
+(439.00532179,344.71337746)(437.63065515,344.43737747)
+ \xmulineto(437.0159885,344.38004414)
+(436.89065517,343.98404415)(437.25998849,343.24004417)
+ \xmulineto(437.64532182,342.33871086)
+(437.78132181,341.65071087)(437.67732181,341.18271088)
+ \xmulineto(437.0359885,339.57337759)
+(436.30665518,338.18804429)(435.46398853,337.02671099)
+-- (430.40665531,336.13071101)
+-- (430.16132198,344.50537747)
+ \xmulineto(431.38532195,344.7547108)
+(433.22398858,345.07871079)(435.67732186,345.43204411)
+ \xmulineto(439.19732178,346.05737743)
+(441.49465506,346.47871075)(442.56265504,346.72937741)
+ \xmulineto(443.77598835,347.14004407)
+(444.03598834,347.63604406)(443.36398836,348.19337738)
+ \xmulineto(442.55732171,348.58804404)
+(441.22932174,348.7187107)(439.37465511,348.55737737)
+ \xmulineto(439.06798845,348.5267107)
+(438.06798847,348.36404404)(436.37998851,348.05737738)
+ \xmulineto(434.08265523,347.71337739)
+(431.93198861,347.37471073)(429.94265532,347.04137741)
+-- cycle
+(422.16132216,339.84937758)
+ \xmulineto(421.31198884,340.70804423)
+(419.80265554,341.19737755)(417.60932226,341.32804421)
+ \xmulineto(416.83332227,341.26004422)
+(416.90132227,340.48937757)(417.80265559,339.00537761)
+
+ \xmulineto(419.05198889,337.09337765)
+(420.07865554,336.09337768)(420.85998885,336.00537768)
+ \xmulineto(422.49998882,336.77604433)
+(422.94265547,338.0520443)(422.16132216,339.84937758)
+-- cycle
+(438.4693218,331.92137778)
+ \xmulineto(438.00532181,331.88537778)
+(436.32798851,331.50004446)(433.43198858,330.78137781)
+ \xmulineto(428.71865535,329.6040445)
+(424.68265543,328.64004453)(421.32798884,327.89071121)
+ \xmulineto(420.16665553,328.72404453)
+(419.05198889,329.01604452)(417.98398892,328.76537786)
+ \xmulineto(417.22932227,328.54137786)
+(417.27598893,328.00537788)(418.11998891,327.14004457)
+ \xmulineto(418.66132223,326.41604458)
+(419.25065555,324.83337796)(419.92665554,322.40671135)
+ \xmulineto(420.3853222,320.73471139)
+(420.81732219,319.28671143)(421.22932218,318.07871146)
+ \xmulineto(421.81198883,316.74004482)
+(422.48932215,316.02137817)(423.28665547,315.92671151)
+ \xmulineto(423.88532212,316.14004484)
+(424.05732212,316.92671148)(423.77598879,318.29737812)
+ \xmulineto(424.23998878,318.33871145)
+(426.0826554,318.57871144)(429.30665533,319.01071143)
+ \xmulineto(436.21865518,320.07337807)
+(440.74932175,320.68271139)(442.91198837,320.86937805)
+ \xmulineto(443.52132169,321.08804471)
+(443.57332168,321.39604471)(443.06798836,321.82271136)
+ \xmulineto(442.55198837,322.39604468)
+(441.80665506,322.80271134)(440.86398841,323.03604467)
+ \xmulineto(441.90132172,325.45337794)
+(443.22932169,327.12004457)(444.86398832,328.03071121)
+ \xmulineto(445.59332164,328.5627112)
+(445.21865498,329.30671118)(443.73465501,330.27604449)
+ \xmulineto(441.78665506,331.35471113)
+(440.0266551,331.89604445)(438.4693218,331.92137778)
+-- cycle
+(421.91198883,326.53071125)
+ \xmulineto(422.21865549,326.56271125)
+(423.21865547,326.72937791)(424.89598876,327.02671123)
+ \xmulineto(429.32265533,328.02671121)
+(433.45332191,328.68804453)(437.31732182,329.02137785)
+ \xmulineto(437.93732181,329.07337785)
+(438.23465514,328.3227112)(438.20798847,326.76537791)
+ \xmulineto(438.05732181,324.89071129)
+(437.63598848,323.45871132)(436.94265516,322.45871135)
+-- (423.42132213,319.67204475)
+;
+%三个圆
+\path [draw=xmucolor,line width=3mm] (540,535) circle (9cm);
+\path [draw=xmucolor,line width=1mm] (540,535) circle (8.5cm);
+\path [draw=xmucolor,line width=1mm] (537,535) circle (5.7cm);
+%两颗八角星
+\node[star,star points=8,star point height=.3cm,minimum size=1.65cm,
+star point ratio=1.7,fill=xmucolor]at (140,595) { } ;
+\node[star,star points=8,star point height=.3cm,minimum size=1.65cm,
+star point ratio=1.7,fill=xmucolor]at (934,595) { } ;
+%%三颗五角星
+\path [draw=xmucolor,line width=1mm] (537,535) circle (5.7cm);
+%三颗五角星
+\node [star, star point height=.2cm, minimum size=0.6cm,
+line width=0.5mm, draw=xmucolor]
+at (533,474) { };
+\node [star, star point height=.2cm, minimum size=0.6cm,
+line width=0.5mm, draw=xmucolor]
+at (418,730) { };
+\node [star, star point height=.2cm, minimum size=0.6cm,
+line width=0.5mm, draw=xmucolor]
+at (648,730) { };
+%横线
+%真正的
+\draw [line width=1mm, xmucolor ](390,510) -- (680,510);
+\draw [line width=1mm, xmucolor ](470,510) -- (500,539);
+\draw [line width=1mm, xmucolor ](600,510) -- (567,539);
+\draw [line width=1mm, xmucolor ](376,568) -- (452,568);
+\draw [line width=1mm, xmucolor ](615,568) -- (694,568);
+\draw [line width=1mm, xmucolor ](502,568) -- (562,568);
+\draw [line width=1mm, xmucolor ](645,623) -- (693,623);
+\draw [line width=1mm, xmucolor ](373,623) -- (422,623);
+\draw [line width=1mm, xmucolor ](373,691) -- (483,691);
+\draw [line width=1mm, xmucolor ](582,691) -- (697,691);
+
+%城堡
+\draw [line width=1mm, xmucolor ](482,713)--(483,679)
+ --(582,679)--(582,710)--(567.8,710)--(567.8,691)
+ --(553.6,691)--(553,710)--(539.4,710)--(539.4,691)
+ --(525.2,691)--(525.2,710)--(511,710)--(511,691)
+ --(496.8,691)--(496.8,710)--(482.6,710);
+
+\draw [line width=1mm, xmucolor ](483,659)--(483,679) ;
+
+% 城堡左顶
+\draw [line width=0.75mm, xmucolor ](422,641)--(422,672)--(434,672)
+ --(434,656)--(446,656)--(446,672)--(458,672)--(458,656)
+ --(470,656)--(470,672)--(482,672);
+
+% 城堡å³é¡¶
+\draw [line width=0.75mm, xmucolor ](645,641)--(645,672)
+ --(633,672)--(633,656)--(621,656)--
+(621,672)--(609,672)--(609,656)--(597,656)--(597,672)--(585,672);
+
+\draw [line width=1mm, draw=xmucolor] (582,679) rectangle (483,659);
+\draw [line width=1mm, draw=xmucolor] (508,679)--(508,659);
+\draw [line width=1mm, draw=xmucolor] (533,679)--(533,659);
+\draw [line width=1mm, draw=xmucolor] (558,679)--(558,659);
+
+\draw [line width=1mm, draw=xmucolor] (575,641) rectangle (490,659);
+\draw [line width=1mm, draw=xmucolor] (518,641) rectangle (546,659);
+
+\draw [line width=1mm, draw=xmucolor] (422,641) rectangle (645,625);
+\draw [line width=0.75mm, draw=xmucolor] (438,641) rectangle (460,625);
+\draw [line width=0.75mm, draw=xmucolor] (607,641) rectangle (629,625);
+\draw [line width=0.75mm, draw=xmucolor] (485.6,641) rectangle (511.3,625);
+\draw [line width=0.75mm, draw=xmucolor] (562.7,641) rectangle (588.4,625);
+\draw [line width=0.75mm, draw=xmucolor] (534,641) -- (534,625);
+
+\draw [line width=0.75mm, draw=xmucolor] (422,606) rectangle (492.4,625);
+\draw [line width=0.75mm, draw=xmucolor] (442,606) rectangle (467,625);
+\draw [line width=0.75mm, draw=xmucolor] (575,606) rectangle (645.4,625);
+\draw [line width=0.75mm, draw=xmucolor] (600,606) rectangle (625.4,625);
+
+\draw [line width=0.75mm, draw=xmucolor]
+ (450,606) --(450,539)--(615.4,539)--(615.4,606);
+
+\draw [line width=0.75mm, draw=xmucolor] (450,539) rectangle (490,595);
+\draw [line width=0.75mm, draw=xmucolor] (450,578) rectangle (465,595);
+\draw [line width=0.75mm, draw=xmucolor] (490,578) rectangle (475,558);
+\draw [line width=0.75mm, draw=xmucolor] (450,578) rectangle (475,558);
+\draw [line width=0.75mm, draw=xmucolor] (475,605) --(475,595);
+\draw [line width=0.75mm, draw=xmucolor] (465,539) --(465,558);
+
+\draw [line width=0.75mm, draw=xmucolor] (575.4,539) rectangle (615.4,595);
+\draw [line width=0.75mm, draw=xmucolor] (603,578) rectangle (615.4,595);
+\draw [line width=0.75mm, draw=xmucolor] (575.4,578) rectangle (595,558);
+\draw [line width=0.75mm, draw=xmucolor] (575.4,578) rectangle (615.4,558);
+\draw [line width=0.75mm, draw=xmucolor] (590,605) --(590,595);
+\draw [line width=0.75mm, draw=xmucolor] (603,539) --(603,558);
+
+\draw [line width=0.75mm, draw=xmucolor] (504,539) rectangle (490,595);
+\draw [line width=0.75mm, draw=xmucolor] (504,553) --(490,553);
+\draw [line width=0.75mm, draw=xmucolor] (504,567) --(490,567);
+\draw [line width=0.75mm, draw=xmucolor] (504,581) --(490,581);
+
+
+\draw [line width=0.75mm, draw=xmucolor] (561.4,539) rectangle (575.4,595);
+\draw [line width=0.75mm, draw=xmucolor] (561.4,553) --(575.4,553);
+\draw [line width=0.75mm, draw=xmucolor] (561.4,567) --(575.4,567);
+\draw [line width=0.75mm, draw=xmucolor] (561.4,581) --(575.4,581);
+
+\draw [xmucolor,line width=0.75mm] (562,595)
+ arc [start angle=25, end angle=155, radius=0.55cm];
+\draw [xmucolor,line width=0.75mm] (575,592)
+ arc [start angle=13, end angle=165, radius=0.75cm];
+
+\draw [line width=0.5mm, draw=xmucolor] (534.5,611) --(534.5,622);
+\draw [line width=0.5mm, draw=xmucolor] (525,609) --(519,621);
+\draw [line width=0.5mm, draw=xmucolor] (517,605.5) --(506,615);
+\draw [line width=0.5mm, draw=xmucolor] (509,598) --(495,607);
+
+%\draw [line width=0.5mm, draw=xmucolor] (534.5,606) --(534.5,620);
+\draw [line width=0.5mm, draw=xmucolor] (542,610) --(550,620);
+\draw [line width=0.5mm, draw=xmucolor] (552,605) --(562,615);
+\draw [line width=0.5mm, draw=xmucolor] (558.5,596) --(573,607);
+}
+
+\def\xmuxiamendaxue{
+\fill[xmucolor]
+(2.54164114,5.90998736)
+ \xmulineto(6.23538773,12.32717387)
+(9.70830765,19.47877369)(13.08852091,25.31730688)
+ \xmulineto(18.02757413,34.29130666)
+(22.33957404,43.55690643)(26.02237396,51.98397289)
+ \xmulineto(31.85570716,66.47357253)
+(36.52757372,79.23970555)(40.24117364,92.63917188)
+ \xmulineto(40.99064029,95.35423848)
+(41.02237363,97.1913051)(40.88117363,97.44743843)
+ \xmulineto(40.09370698,98.84277173)
+(40.39170697,103.63557161)(41.49584028,108.17090483)
+ -- (42.44837359,112.09223807)
+ -- (43.91304023,112.09223807)
+ \xmulineto(45.60984019,112.09223807)
+(45.84477352,111.89023808)(48.67810679,107.92037151)
+ \xmulineto(51.58490673,103.84903827)
+(52.36450671,103.50943828)(57.59943993,104.04130494)
+ \xmulineto(67.79317304,104.98917158)
+(76.68383951,108.26463816)(86.53637262,111.0730381)
+ \xmulineto(91.63170584,112.46357139)
+(95.91303908,116.07303797)(101.46503896,116.16050464)
+ \xmulineto(106.13170552,116.11930464)
+(107.52757216,115.71317131)(109.48437212,113.83237136)
+ \xmulineto(111.75517207,111.64957141)
+(112.13690539,110.33237145)(111.03637208,108.45263816)
+ \xmulineto(109.50103878,105.81623823)
+(107.47397216,105.18757157)(100.36090565,105.12503824)
+ \xmulineto(92.58490582,105.05690491)
+(91.90783917,104.77557158)(89.38637256,100.52463836)
+ \xmulineto(86.90783928,96.85797178)
+(87.08850594,96.86837178)(89.2817059,93.04650521)
+ -- (94.36450578,93.04650521)
+ \xmulineto(99.27130567,93.04130521)
+(99.55837234,92.98290521)(102.5885056,91.47250525)
+ \xmulineto(106.27650552,89.63557196)
+(106.55303885,89.04650531)(104.85050555,84.91517207)
+ \xmulineto(103.48437225,81.59797216)
+(103.72503891,72.13917239)(104.52757223,68.62463914)
+ \xmulineto(105.13690555,65.95263921)
+(104.57970556,63.15583928)(102.97023893,60.869306)
+ \xmulineto(101.88117228,59.32250604)
+(101.15103897,58.85370605)(98.2145057,57.82250608)
+ \xmulineto(93.48437247,56.16570612)
+(88.24637258,53.23917286)(88.24637258,52.25943955)
+ \xmulineto(88.24637258,51.07250624)
+(92.15730583,49.71837294)(96.59943907,49.36930629)
+ \xmulineto(100.14063899,49.09277296)
+(100.56877231,48.95797296)(101.62650562,47.75423966)
+ \xmulineto(103.05303892,46.11930637)
+(105.50103887,41.63503981)(105.50103887,40.64543983)
+ \xmulineto(105.50103887,39.62463986)
+(103.90783891,36.48917327)(102.29317227,34.07250666)
+ \xmulineto(101.35570563,32.68704003)
+(100.45410565,31.2339734)(98.91303902,29.7646401)
+ \xmulineto(96.35570574,27.24904016)
+(98.83437235,26.72877351)(103.24637225,24.26464024)
+ \xmulineto(105.17810554,23.12464027)
+(107.0417055,22.17610696)(112.38117205,20.24384034)
+ \xmulineto(116.18903864,18.86410704)
+(120.01717188,17.79650706)(122.12077184,17.09797375)
+ \xmulineto(126.50623841,15.65584045)
+(130.94837164,15.39024046)(134.61997156,12.96312052)
+ -- (135.59330487,12.05686721)
+ -- (134.55863823,10.95842723)
+ \xmulineto(129.42183834,7.10374733)
+(124.20303846,6.07665402)(119.00103857,4.00998741)
+ \xmulineto(116.22503863,3.06780076)
+(114.03637202,3.00998743)(111.08850541,2.7704141)
+ -- (107.0745055,6.16102735)
+ \xmulineto(101.39170563,10.55165391)
+(96.31770574,14.05690716)(92.3035725,17.04650708)
+ \xmulineto(90.25517254,18.35744038)
+(87.89690593,20.96317365)(85.49583931,21.01464032)
+ \xmulineto(83.51143936,21.01464032)
+(77.73023948,17.31210708)(74.68903955,15.2079738)
+ \xmulineto(72.71450626,13.84277383)
+(71.68903962,13.37464051)(69.536373,12.41572053)
+ \xmulineto(65.91303974,10.96208057)
+(62.56357315,9.54645394)(58.19783991,9.09280061)
+ \xmulineto(55.90210663,9.28082728)
+(55.53637331,10.67665391)(57.40783993,12.11416054)
+ \xmulineto(58.09943992,12.64541386)
+(59.77650655,13.94744049)(61.13170652,15.00424047)
+ \xmulineto(62.48437315,16.06210711)
+(65.26610642,18.06730706)(67.30357305,19.46317369)
+ \xmulineto(72.47397293,22.9891736)
+(75.15103954,25.03077355)(74.70303955,27.26464016)
+ \xmulineto(74.40210622,28.74904013)
+(74.40210622,28.84277346)(73.14063958,30.71317341)
+ \xmulineto(71.33957296,33.39544001)
+(70.59943964,33.89024)(68.98437301,33.48397334)
+ \xmulineto(67.76037304,33.17610669)
+(67.30730638,32.77557336)(63.47397313,28.63504013)
+ \xmulineto(61.21450651,26.18704019)
+(55.9431733,23.0203736)(53.47024002,22.62464028)
+ \xmulineto(51.84477339,22.36410695)
+(51.71970672,22.42090695)(51.71970672,23.42090693)
+ \xmulineto(51.71970672,24.00944024)
+(52.47397337,25.43704021)(53.40210669,26.59277351)
+ \xmulineto(54.32397333,27.74384015)
+(56.29317329,30.34797342)(57.77130659,32.37984004)
+ \xmulineto(59.25157322,34.40583999)
+(61.30357318,37.06730659)(62.33957316,38.28597323)
+ \xmulineto(65.37503976,41.86410647)
+(65.37503976,43.95263975)(62.34477316,43.96837309)
+ \xmulineto(60.65103986,43.97877309)
+(56.40210662,47.15063967)(56.01143996,48.69077297)
+ \xmulineto(55.48437331,50.78597292)
+(56.10463996,51.5203729)(60.00103987,53.40583952)
+ \xmulineto(62.05837316,54.40063949)
+(63.88117312,55.56210613)(64.05303978,55.97877279)
+ \xmulineto(64.22503978,56.40063945)
+(64.42703978,63.36410594)(64.50623977,71.44743907)
+ \xmulineto(64.66250644,87.99903867)
+(64.57450644,87.56730534)(68.06357303,89.34903863)
+ \xmulineto(70.56357297,90.6250386)
+(75.5849062,95.46357181)(76.57970618,97.5621051)
+ \xmulineto(77.35570616,99.01570506)
+(76.9130395,101.26463834)(75.06357288,101.33757167)
+ \xmulineto(71.99583961,101.05690501)
+(57.85050659,95.05170516)(57.63170659,94.13557185)
+ \xmulineto(54.57450666,87.36837201)
+(49.89690676,73.44743902)(46.64064017,61.91570598)
+ \xmulineto(43.39170691,50.38503959)
+(41.09370696,41.50943981)(34.01717378,29.68130677)
+ \xmulineto(30.45410719,23.77037358)
+(28.7603739,20.69744033)(24.50624066,14.18130715)
+ \xmulineto(21.93797405,10.25426725)
+(15.25157419,3.97821407)(12.76664092,2.7704141)
+ \xmulineto(10.28226764,1.5678008)
+(7.18904104,0.37978216)(4.3176811,0.1141575)
+ \xmulineto(-1.8630521,-0.46969648)
+(-0.42033746,1.14488614)(2.54164114,5.90998736)
+ -- cycle
+(87.35570594,33.95264)
+ \xmulineto(90.21970587,35.85370662)
+(91.21450585,36.90063993)(92.10983917,38.96837321)
+ \xmulineto(94.16770579,43.71837309)
+(92.32917249,46.62983969)(86.79317262,47.36410633)
+ \xmulineto(85.01143932,47.597973)
+(84.23023934,47.483973)(83.13690603,46.84277301)
+ \xmulineto(81.3750394,45.50423971)
+(80.31250609,43.44223977)(79.05837279,42.06730647)
+ \xmulineto(77.57970615,40.45263984)
+(76.36970618,38.84797321)(76.36970618,38.49903989)
+ \xmulineto(76.36970618,37.41570658)
+(83.07450603,32.79130669)(84.667706,32.77557336)
+ \xmulineto(85.16770599,32.77037336)
+(86.37503929,33.30170668)(87.35570594,33.95264)
+ -- cycle
+(83.98437268,60.17610602)
+ \xmulineto(92.31250583,62.42610596)
+(92.42183916,62.28597263)(92.59370582,64.11930592)
+ \xmulineto(92.89690582,67.25943918)
+(91.95983917,67.46317251)(88.38637258,66.80690585)
+ \xmulineto(86.78743928,66.5094392)
+(84.631706,65.76463921)(83.04170603,65.29130589)
+ \xmulineto(81.94837272,64.96837257)
+(80.39170609,64.14543925)(79.74997277,64.01463926)
+ \xmulineto(77.02757283,63.45263927)
+(74.82917288,61.33757266)(77.36450616,59.28597271)
+ \xmulineto(78.03637281,58.74383939)
+(78.88637279,58.79650605)(83.98437268,60.17610602)
+ -- cycle
+(89.35570589,71.80583906)
+ \xmulineto(92.74997249,71.59223907)
+(93.31250581,72.08183906)(93.5937058,72.36837238)
+ \xmulineto(94.56877245,73.33757236)
+(94.07450579,75.69650564)(94.07970579,78.41517224)
+ \xmulineto(94.08330579,79.60890554)
+(93.53117247,81.0209055)(93.38117247,81.92037215)
+ \xmulineto(93.22503914,82.81623879)
+(92.75517249,84.62503875)(92.39690583,84.92037207)
+ \xmulineto(91.41303918,85.73970539)
+(80.76610608,86.19650538)(77.62077282,86.06210538)
+ \xmulineto(74.73023955,85.99903871)
+(74.93277288,85.57823872)(74.92703954,84.00423876)
+ \xmulineto(74.91823955,82.12503881)
+(74.62650622,81.80583882)(77.46503949,81.71317215)
+ -- (82.17290605,81.68237215)
+ \xmulineto(89.46503922,81.63023882)
+(91.15730585,81.58703882)(91.15730585,79.66050554)
+ \xmulineto(91.15730585,77.59223892)
+(88.81250591,76.73970561)(82.09370605,75.67090564)
+ \xmulineto(77.01717283,74.86317232)
+(76.08330619,75.05690565)(76.20837285,72.52983905)
+ \xmulineto(76.28743951,70.90637242)
+(77.32397283,70.42090577)(81.62650606,70.94223909)
+ \xmulineto(84.317706,71.17090575)
+(86.62077262,71.66050574)(89.35570589,71.80583906)
+ -- cycle
+(464.61063095,7.22353399)
+ \xmulineto(461.22929769,10.93708057)
+(459.74529773,12.17665387)(457.44396444,14.69077381)
+ \xmulineto(455.71463115,16.57717376)
+(453.44396453,20.59277366)(451.23996458,24.34797357)
+ \xmulineto(455.40663116,21.97877363)
+(462.23463101,18.89544037)(467.92796421,18.11410706)
+ \xmulineto(473.84929742,17.80690706)
+(475.51063071,25.9938402)(475.9386307,31.30170673)
+ \xmulineto(476.76129735,41.10370649)
+(476.47463069,41.8574398)(474.93329739,43.10370644)
+ \xmulineto(472.01063079,45.82717304)
+(470.33463083,46.20797303)(463.65729764,43.84797309)
+ \xmulineto(458.99063108,42.2026398)
+(453.90663119,40.75423983)(449.47996462,38.47357322)
+ \xmulineto(447.93863132,37.68130657)
+(443.64129808,37.75943991)(442.54796477,38.81730655)
+ \xmulineto(438.1412982,43.05170644)
+(434.01596496,46.0146397)(434.01596496,46.50423969)
+ \xmulineto(434.01596496,47.468373)
+(435.96929825,48.44743964)(437.84929821,48.43130631)
+ \xmulineto(443.22529809,48.37983964)
+(458.87596441,49.39543962)(461.50663102,49.96837294)
+ \xmulineto(466.55329758,50.69077292)
+(471.71996413,50.80170625)(476.45863069,52.52410621)
+ \xmulineto(478.03196399,53.11930619)
+(478.9332973,55.32717281)(478.57329731,57.72877275)
+
+ \xmulineto(478.70929731,60.10370602)
+(477.90129733,60.920906)(476.02129737,61.50423932)
+ \xmulineto(475.39596405,61.89023931)
+(475.35463072,62.64023929)(475.69863071,65.91050588)
+ \xmulineto(475.9746307,68.51463915)
+(475.94929737,69.88503911)(475.61996404,70.28077244)
+ \xmulineto(472.41196411,73.0517057)
+(468.13596421,67.89023916)(466.96396423,66.59277253)
+ \xmulineto(465.5012976,64.96317257)
+(465.38663094,64.34277258)(463.43329765,64.63503924)
+ \xmulineto(460.66796437,65.72877255)
+(455.35463116,69.1193058)(454.77729784,72.39023905)
+ \xmulineto(454.90663117,72.73397238)
+(456.23996447,73.1965057)(457.84396444,73.45837236)
+ \xmulineto(465.57863093,75.47250564)
+(470.23463083,76.73970561)(477.72529733,78.23397224)
+ \xmulineto(479.61596396,78.5870389)
+(479.67729729,78.89543889)(481.78263057,78.22877224)
+ \xmulineto(484.77196384,77.28597226)
+(485.85463049,76.92557227)(487.45863045,75.43130564)
+ \xmulineto(489.23996374,73.77037235)
+(489.05863041,72.51570571)(486.81863046,71.00423908)
+ \xmulineto(483.43863054,68.72877247)
+(479.1052973,64.34277258)(479.42263063,63.51463927)
+ \xmulineto(479.58396396,63.10370595)
+(481.05863059,62.16050597)(482.70396389,61.42090599)
+ \xmulineto(485.99596382,59.94743936)
+(487.18263046,59.29130604)(487.11063046,57.08757276)
+ \xmulineto(487.01063046,53.94223951)
+(487.74529711,54.65063949)(492.46929701,55.14023948)
+ \xmulineto(498.7506302,55.96837279)
+(504.19329675,58.22357273)(510.63062994,56.75423944)
+ \xmulineto(513.58929654,54.34797283)
+(514.09462986,50.85743958)(516.16262982,47.94743965)
+ \xmulineto(517.33462979,46.32717303)
+(516.84929647,44.96837306)(514.99596318,44.6657064)
+ \xmulineto(508.07863,43.65063976)
+(502.40129679,45.12463972)(495.7719636,45.86410637)
+ \xmulineto(493.60529698,46.09797303)
+(492.26129701,46.0146397)(490.18796372,44.49383974)
+ \xmulineto(488.76129709,43.44743976)
+(487.96929711,42.42090646)(487.67729711,41.49903981)
+ \xmulineto(486.94929713,39.15063987)
+(486.15729715,33.39024001)(485.96396382,28.47357347)
+ \xmulineto(485.81863049,25.05690689)
+(485.44396383,22.58237361)(485.06796384,20.09277367)
+ \xmulineto(484.46929718,16.08757377)
+(481.83463057,10.9730139)(478.67729731,7.69697398)
+ \xmulineto(476.62529736,5.80113403)
+(473.19863076,3.25946742)(470.82396415,3.18602743)
+ \xmulineto(468.7199642,3.18602743)
+(468.59463087,3.27041409)(464.61063095,7.22353399)
+ -- cycle
+(237.41330263,16.66570709)
+ \xmulineto(235.39596934,16.85744042)
+(233.02263606,17.32717374)(232.40130274,17.6558404)
+ \xmulineto(231.78263609,17.97877373)
+(230.07996946,19.56730702)(228.35063616,21.22877365)
+ \xmulineto(226.7026362,22.92090694)
+(224.82930291,23.88504025)(223.46530294,25.14544022)
+ \xmulineto(219.70930302,27.75944015)
+(215.89596977,30.70264008)(213.0626365,33.73397334)
+ \xmulineto(210.33996989,37.12463992)
+(212.44930318,36.6089066)(215.21996979,35.75423995)
+ \xmulineto(216.13196977,35.13503997)
+(217.7826364,34.40583999)(218.8919697,34.12464)
+ \xmulineto(220.00130301,33.84797334)
+(222.31730296,33.12464002)(224.04263626,32.52037337)
+ \xmulineto(225.75996955,32.17610671)
+(230.63196945,31.50424006)(232.86130273,31.2183734)
+ \xmulineto(233.22530272,31.58237339)
+(233.16796939,34.87983998)(233.16796939,34.87983998)
+ \xmulineto(233.43863605,39.67090652)
+(233.83463604,44.24383975)(233.86130271,48.19077298)
+ \xmulineto(233.88130271,53.11930619)
+(233.77196938,59.15063938)(233.86130271,61.00423933)
+ \xmulineto(234.29863603,70.62983909)
+(233.81730271,75.33237231)(227.62530285,74.14957234)
+ \xmulineto(221.66263631,73.00943904)
+(219.65063635,71.29170574)(215.16796979,72.83757237)
+ \xmulineto(213.29863649,73.44743902)
+(211.28663654,74.25890567)(210.70263655,74.64437233)
+ \xmulineto(209.13730325,75.67090564)
+(207.34396996,79.6495722)(207.31730329,82.25370547)
+ \xmulineto(207.27730329,87.14437202)
+(207.62530329,91.13023859)(207.04796997,96.1875718)
+ \xmulineto(206.73463664,98.92557173)
+(206.46530331,101.11410501)(205.66797,103.57823828)
+ \xmulineto(205.31197,104.19650493)
+(205.02263668,105.72357156)(205.01063668,106.97250486)
+ \xmulineto(205.00130334,108.78597149)
+(205.20930334,109.44743814)(206.03196999,110.22357145)
+ \xmulineto(207.58530329,111.68237141)
+(210.64530322,111.56730475)(212.74663651,109.96890479)
+ \xmulineto(214.68930313,108.48917149)
+(215.30396978,106.97250486)(215.30796978,103.62503828)
+ \xmulineto(215.31196978,102.24490498)
+(215.49063645,100.84277168)(215.70263644,100.50943836)
+ \xmulineto(216.88130308,98.64957174)
+(223.72530293,99.60890505)(226.5746362,99.97770504)
+ \xmulineto(229.8693028,100.40637169)
+(229.5853028,101.84903832)(229.50663614,107.89543817)
+ \xmulineto(229.4653028,111.22357142)
+(229.15730281,114.60890467)(228.91330282,114.874638)
+ \xmulineto(228.67730282,115.125038)
+(226.28663621,115.19130466)(223.40130294,114.77557134)
+ \xmulineto(218.10530305,114.00943802)
+(217.4386364,114.31103802)(217.4386364,115.14437133)
+ \xmulineto(217.4386364,115.82717131)
+(221.66796964,117.5465046)(223.13730294,118.09797126)
+ \xmulineto(227.62530285,120.3579712)
+(228.00130284,122.49903781)(233.91330271,124.23970444)
+ \xmulineto(234.30396936,124.2859711)
+(236.54263598,123.0870378)(238.56796927,121.73397117)
+ \xmulineto(240.59330256,120.37463787)
+(243.2413025,118.83757124)(244.45330247,118.31623792)
+ \xmulineto(246.36930243,117.49383794)
+(246.81196909,117.04130461)(247.85596907,114.849038)
+ \xmulineto(247.85596907,114.849038)
+(248.47863572,113.12503804)(248.48396905,111.98290474)
+ \xmulineto(248.49063572,110.84277143)
+(247.6773024,108.15583817)(247.6773024,108.15583817)
+ \xmulineto(246.71996909,100.74850502)
+(246.67330243,95.01570516)(246.68930242,89.63917196)
+ \xmulineto(246.72530242,78.56730556)
+(246.98396908,68.48397248)(247.32396908,65.25943923)
+ \xmulineto(247.69463574,53.64543951)
+(247.79196907,42.07717313)(247.35596908,30.53077342)
+ \xmulineto(247.5853024,26.85744017)
+(246.86130242,23.37984026)(245.52263578,20.45797367)
+ \xmulineto(244.04796915,17.27557374)
+(243.58930249,16.97877375)(241.96530253,16.50424043)
+ \xmulineto(241.64130254,16.5413071)
+(239.42663592,16.46837376)(237.41330263,16.66570709)
+ -- cycle
+(225.76663622,81.60890549)
+ \xmulineto(229.76663613,81.77557215)
+(232.16796941,79.9115722)(232.09996941,82.45837214)
+ \xmulineto(232.00663608,84.82250541)
+(231.91863608,87.85423867)(231.72930275,90.35797194)
+ \xmulineto(231.47063609,93.87983852)
+(229.99596946,92.48917189)(228.66796949,92.63557188)
+ \xmulineto(227.59996951,92.74850521)
+(225.21996956,92.28077189)(223.36930294,92.16050523)
+ \xmulineto(218.22530305,91.8271719)
+(216.31196976,91.45263858)(215.61063644,90.64957193)
+ \xmulineto(213.96530315,88.77037198)
+(214.14530314,83.06730545)(215.88663644,81.84277215)
+ \xmulineto(216.80796975,81.1965055)
+(219.91330302,80.91517217)(225.76663622,81.60890549)
+ -- cycle
+(375.75063291,18.20264039)
+ \xmulineto(365.9532998,26.08757353)
+(357.56796665,36.83757326)(350.08396681,46.38503969)
+ \xmulineto(346.44930023,51.02037291)
+(340.32396703,59.84797269)(336.94930043,62.97357262)
+ \xmulineto(334.96930048,63.7287726)
+(331.49063389,62.27557263)(329.45863393,59.84277269)
+ \xmulineto(326.266634,55.36930614)
+(323.31863407,50.47357292)(320.18263414,46.29130636)
+ \xmulineto(317.78663419,43.04130644)
+(308.56796773,33.47877334)(304.85463448,30.55690675)
+ \xmulineto(302.91196785,29.03077345)
+(297.5533013,26.58237351)(294.18263471,25.68130687)
+ \xmulineto(289.09996816,24.47877357)
+(279.85996836,24.24384024)(276.70396843,27.31730683)
+ \xmulineto(280.94396834,30.75424008)
+(287.38130153,32.71837336)(291.81330143,37.00423992)
+ \xmulineto(297.61996797,42.47357312)
+(304.00663449,47.98917299)(308.54796773,54.05690617)
+ \xmulineto(310.57863435,57.12983943)
+(315.96396756,61.75943931)(316.14130089,64.42610591)
+ \xmulineto(316.32930089,67.20263918)
+(311.53730099,68.48397248)(306.38663444,68.47877248)
+ \xmulineto(304.18796782,68.49383915)
+(301.26130122,68.45263915)(300.32930124,68.68703914)
+ \xmulineto(297.59463464,69.37463912)
+(294.74530137,71.65583907)(293.91863472,73.81623902)
+ \xmulineto(289.61596814,81.91157215)
+(290.07330147,82.5870388)(298.99596794,81.79690548)
+ \xmulineto(305.56263446,82.42037214)
+(319.62530082,84.50943875)(325.1253007,87.23397202)
+ \xmulineto(325.84930068,87.68237201)
+(326.75596733,89.75370529)(327.49063398,92.62503855)
+ \xmulineto(328.01063397,98.41157174)
+(327.53730064,102.95837163)(327.42796731,108.29170483)
+ \xmulineto(327.67330064,116.2859713)
+(322.25596743,120.4635712)(319.0479675,120.88503785)
+ \xmulineto(319.05330083,121.10370451)
+(322.22530076,122.63917114)(322.85996741,124.68757109)
+ \xmulineto(324.13063405,128.73970433)
+(324.44396738,130.69130428)(328.55863395,130.30223762)
+ \xmulineto(336.7919671,129.08183765)
+(337.58530042,128.97770432)(340.05330037,128.31103767)
+ \xmulineto(343.60530029,127.35797103)
+(344.85463359,118.13917125)(344.67730026,114.811038)
+ \xmulineto(344.28263361,107.45837152)
+(343.90130028,102.51570497)(343.68263362,101.86317166)
+ \xmulineto(343.34930029,100.86317168)
+(344.12530028,94.74850517)(344.76130026,94.22357184)
+ \xmulineto(350.30796681,94.24850518)
+(355.61063336,96.98290511)(361.52129989,97.31103844)
+ \xmulineto(365.02129982,98.11930508)
+(370.57329969,94.64437183)(373.33463297,93.18757187)
+ \xmulineto(376.89596622,91.46357191)
+(376.58929956,91.8427719)(376.54796623,88.10370533)
+ \xmulineto(376.51596623,84.89543874)
+(376.45329956,84.71317208)(374.9012996,83.15583878)
+
+ \xmulineto(372.20929966,80.45263885)
+(370.49063303,80.21837219)(367.1626331,80.79690551)
+ \xmulineto(361.84929989,81.59223882)
+(357.12529999,82.30223881)(351.54263345,80.17610552)
+ \xmulineto(348.78663351,79.10370555)
+(347.20930021,78.15583891)(346.76663355,77.2917056)
+ \xmulineto(343.18796696,73.47770569)
+(345.14130025,71.7859724)(347.13063354,69.20263913)
+ \xmulineto(351.77196677,63.35370594)
+(354.58930005,60.77037267)(359.60529994,56.32250611)
+ \xmulineto(367.64129976,49.19077296)
+(371.19329968,46.1350397)(379.18263284,41.06730649)
+ \xmulineto(385.10529937,37.30690658)
+(391.77729923,33.39544001)(398.38129908,28.98397346)
+ \xmulineto(399.46929906,28.14024014)
+(400.3079657,27.2859735)(400.46929903,26.75944018)
+ \xmulineto(396.64129912,23.53597359)
+(391.20396591,22.95264027)(388.58396596,21.73397363)
+ \xmulineto(384.35996606,19.77557368)
+(381.18796613,18.92610704)(377.28663288,17.7542404)
+ \xmulineto(376.69329956,17.57250707)
+(376.14129957,17.73397373)(375.75063291,18.20264039)
+ -- cycle
+(157.67330439,23.58237359)
+ \xmulineto(153.74663781,25.7594402)
+(154.06797113,30.93704007)(154.13197113,35.65063996)
+ \xmulineto(154.29330446,37.39543991)
+(154.46530446,44.16570641)(154.51063779,50.69743959)
+ \xmulineto(154.58930446,62.07250597)
+(156.08397109,75.55690564)(156.13730442,77.13917227)
+ \xmulineto(156.36130442,83.61410544)
+(156.63197108,88.79170531)(156.99063774,95.06730516)
+ \xmulineto(157.75597105,101.42037167)
+(155.7719711,104.51570492)(152.25597117,109.26463814)
+ \xmulineto(151.05330453,110.79170477)
+(151.42663786,112.16570474)(152.75597116,113.41517137)
+ \xmulineto(156.50663775,114.86837134)
+(160.115971,117.4689046)(163.44397093,115.18237133)
+ \xmulineto(165.54797088,113.6761047)
+(165.60530421,113.63557137)(167.38130417,112.45837139)
+ \xmulineto(168.28663749,111.85423808)
+(169.54797079,110.43130478)(170.18397078,110.43130478)
+ \xmulineto(173.19463738,110.7646381)
+(175.69863732,112.66570472)(178.15730394,113.92557136)
+ \xmulineto(179.36530391,114.56730468)
+(180.77730388,115.35423799)(181.65730386,116.02463797)
+ \xmulineto(184.29863713,118.04650459)
+(186.18397043,119.26463789)(186.67730375,119.26463789)
+ \xmulineto(186.93330374,119.26463789)
+(188.18397038,118.58183791)(189.45863702,117.7537046)
+ \xmulineto(190.72930366,116.92037128)
+(191.97463696,116.16050464)(192.22530363,116.06730464)
+ \xmulineto(193.97463692,115.38503799)
+(196.06797021,113.59223803)(196.71463686,112.2287714)
+ \xmulineto(197.35597018,110.8798381)
+(197.39597018,110.34277145)(196.96530352,108.99903815)
+ \xmulineto(196.67730353,108.11410484)
+(195.94930354,104.46357159)(195.34397022,100.89023835)
+ \xmulineto(194.74130357,97.31623844)
+(194.01730359,93.38503853)(193.72930359,92.1495719)
+ \xmulineto(193.4333036,90.84277193)
+(193.2293036,86.27557204)(193.25197027,81.1965055)
+ \xmulineto(193.28663694,71.6823724)
+(192.92663694,69.77037245)(191.01730365,69.29130579)
+ \xmulineto(190.40797033,69.13503913)
+(189.10530369,69.41050579)(187.90797039,69.93703911)
+ \xmulineto(185.54797044,70.98290575)
+(182.50663717,71.19650575)(180.61997055,70.45797243)
+ \xmulineto(178.2199706,69.80690578)
+(175.99597065,69.02037247)(173.7599707,67.97357249)
+ \xmulineto(170.00130412,66.22357254)
+(170.07463745,67.67090583)(170.19463744,62.22877263)
+ \xmulineto(169.99597078,58.64543939)
+(169.83463745,53.29130619)(170.08397078,50.2490396)
+ \xmulineto(171.16263742,37.56730658)
+(171.01063743,34.87983998)(170.8653041,33.97877333)
+ \xmulineto(170.11997078,29.52410678)
+(167.5746375,21.59277364)(163.2466376,21.81730697)
+ \xmulineto(160.75597099,21.9422403)
+(159.40797102,22.61930695)(157.67330439,23.58237359)
+ -- cycle
+(177.06797063,75.82250563)
+ \xmulineto(179.44397057,76.72877228)
+(182.93863716,79.35797221)(183.88130381,80.96357217)
+ \xmulineto(184.5013038,82.00943881)
+(184.82930379,83.33237211)(184.82930379,84.77037208)
+ \xmulineto(184.82930379,86.63557203)
+(184.65063713,87.09223869)(183.69863715,87.71837201)
+ \xmulineto(182.64530384,88.40637199)
+(181.87597052,88.66050532)(179.99063723,87.94223867)
+ \xmulineto(178.87597059,87.51570534)
+(176.7026373,87.37463868)(174.77730401,87.05170536)
+ \xmulineto(170.06263745,86.24850537)
+(169.58930412,85.32717206)(169.58930412,82.23397214)
+ \xmulineto(169.58930412,80.13557219)
+(171.36130409,76.81103894)(172.87597072,76.06730563)
+ \xmulineto(174.56797068,75.23397231)
+(175.38663733,75.18757231)(177.06797063,75.82250563)
+ -- cycle
+(180.74663721,94.99383849)
+ \xmulineto(181.80397052,95.46890515)
+(183.28663716,96.71317178)(184.21463714,97.90637175)
+ \xmulineto(185.67730377,99.78077171)
+(185.81730377,100.19650503)(185.6106371,102.03503832)
+ \xmulineto(185.03197045,103.94743827)
+(184.16263714,107.0042382)(183.30797049,107.96357151)
+ \xmulineto(182.14130385,109.27037147)
+(182.27730384,109.91157146)(175.89597065,108.54130482)
+ \xmulineto(174.14130402,108.16570483)
+(172.75997072,107.97250484)(170.85597076,107.73397151)
+ \xmulineto(169.56263746,107.57823818)
+(169.75597079,107.18757152)(169.75063745,104.78077158)
+ \xmulineto(169.75063745,103.37463829)
+(169.57997079,101.20170501)(169.59330412,99.81623837)
+ \xmulineto(169.61997079,97.34903843)
+(170.10530411,96.85797178)(173.06797071,95.31623848)
+ \xmulineto(175.63197066,93.97770518)
+(178.24130393,93.86837185)(180.74663721,94.99383849)
+ -- cycle
+(427.64129844,64.04130592)
+ \xmulineto(426.07329847,65.33757256)
+(424.40663184,68.09277249)(423.55863186,69.41050579)
+ \xmulineto(421.93329856,71.94223906)
+(421.11596525,79.31103888)(421.21996524,80.97770551)
+ \xmulineto(421.34929857,83.09223879)
+(422.12529856,85.55170539)(423.77729852,86.5094387)
+ \xmulineto(424.9012985,87.15583869)
+(425.27729849,87.31103868)(426.56796513,85.45263873)
+ \xmulineto(429.1052984,81.81103882)
+(432.37063166,78.91157222)(434.62529828,76.83757227)
+ \xmulineto(437.82396488,73.98290568)
+(437.75063155,72.16050572)(436.21463158,69.15063913)
+ \xmulineto(435.3186316,67.10890585)
+(435.92263159,65.0517059)(434.22929829,64.33237258)
+ \xmulineto(431.71463168,63.28077261)
+(429.0372984,63.16570594)(427.64129844,64.04130592)
+ -- cycle
+(521.57329636,76.27557229)
+ \xmulineto(520.43329639,77.18237227)
+(517.87062978,77.23397226)(515.35996317,77.00943894)
+ \xmulineto(511.94396324,76.70170561)
+(510.25062995,76.20797229)(512.74529656,78.43130557)
+ \xmulineto(513.31862988,78.94743889)
+(514.64662985,80.39023885)(514.90662984,81.33757216)
+ \xmulineto(515.3652965,82.99903879)
+(514.71996318,83.20797212)(513.22529655,84.51570542)
+ \xmulineto(509.94929662,87.37983868)
+(507.03196335,88.79170531)(504.37596341,88.79170531)
+ \xmulineto(493.80263031,88.86317198)
+(484.17329719,88.68757198)(473.99063075,86.69650536)
+ \xmulineto(467.43863089,85.86317205)
+(461.30796436,84.14957209)(458.68796442,83.40063878)
+ \xmulineto(454.85463117,82.31103881)
+(452.59996455,79.54130554)(449.46929795,79.13557222)
+ \xmulineto(445.49596471,78.63917223)
+(443.22929809,79.08183889)(440.49596482,80.90063884)
+ \xmulineto(437.83996488,82.66050546)
+(437.41729822,83.64957211)(439.05863152,84.17090543)
+ \xmulineto(442.28263145,85.1913054)
+(442.03196478,85.1089054)(444.58929806,86.10890538)
+ \xmulineto(448.8186313,88.097972)
+(447.68263133,91.68757191)(447.53196466,93.85423852)
+ \xmulineto(446.85996468,99.03503839)
+(446.76663135,104.13023827)(446.19329803,109.00423815)
+ \xmulineto(445.60529804,114.00423802)
+(445.6879647,118.8490379)(444.13596474,122.22877115)
+ \xmulineto(443.59463142,123.27037113)
+(442.97996476,124.49903776)(442.97996476,124.91157109)
+ \xmulineto(442.97996476,126.10370439)
+(444.83996472,128.05170434)(445.6679647,129.12503765)
+ \xmulineto(447.51063133,131.52090426)
+(448.17729798,132.55170423)(450.3079646,135.27557083)
+ \xmulineto(451.14129792,136.3435708)
+(452.89596455,138.11957076)(454.20396452,139.92623738)
+ \xmulineto(455.72529782,142.024904)
+(456.65196446,140.33823737)(461.29729769,140.6355707)
+ \xmulineto(462.03729768,140.79690403)
+(463.93863097,141.07823735)(464.62529762,140.81157069)
+ \xmulineto(465.77729759,140.37423737)
+(465.85463093,140.20223738)(465.58396427,138.65023741)
+ \xmulineto(465.20396427,136.52090413)
+(465.6412976,136.4475708)(462.01596434,135.03557084)
+ \xmulineto(460.01596439,134.25957086)
+(457.34396445,132.58703756)(456.18796447,131.71317092)
+ \xmulineto(454.33463118,130.30223762)
+(450.76129793,127.99903768)(451.15196458,125.40637107)
+ \xmulineto(452.40129789,121.90637116)
+(454.50663118,121.64957117)(459.36529774,121.45263784)
+ \xmulineto(465.30796427,121.21317118)
+(466.50663091,120.06210454)(465.23996427,117.62503793)
+ \xmulineto(464.72929762,116.63917129)
+(463.46929765,116.49383796)(461.71463102,116.07823797)
+ \xmulineto(459.01063108,115.36317132)
+(457.09463112,114.23397135)(454.59463117,113.02463805)
+ -- (454.58929784,110.06730479)
+ \xmulineto(454.57863117,107.04130486)
+(455.38129782,106.13557155)(456.51596447,105.07823824)
+ \xmulineto(457.66796444,104.00943827)
+(459.85463106,104.20170493)(462.458631,105.09223824)
+ \xmulineto(467.73463088,106.8902382)
+(467.66796422,106.8798382)(468.62529753,105.92037156)
+ \xmulineto(469.42796418,105.11930491)
+(469.15196419,104.77557158)(468.60529753,103.63557161)
+ \xmulineto(466.70929757,101.93130499)
+(463.64129764,100.42037169)(461.73463102,99.40637172)
+ \xmulineto(460.40663105,98.73397173)
+(459.26663107,97.96890509)(457.64129777,97.01570511)
+ \xmulineto(456.25063114,96.87983845)
+(456.64663113,96.58183845)(456.5212978,94.11930518)
+ \xmulineto(456.4532978,92.73397188)
+(456.61063113,91.05170526)(456.86529779,90.37983861)
+ \xmulineto(457.31863111,89.18757197)
+(457.04796445,88.90637198)(459.78263106,89.1605053)
+
+ \xmulineto(463.46396431,89.48917196)
+(473.1159641,90.91517193)(478.43863065,91.73397191)
+ \xmulineto(486.04796381,92.90637188)
+(489.27196374,93.2449052)(498.10529688,93.71837186)
+ \xmulineto(503.75596342,93.39543853)
+(504.37596341,93.78077186)(504.81863007,98.11930508)
+ \xmulineto(505.60529672,103.42557162)
+(503.78263009,103.15583829)(501.20929681,104.02463827)
+ \xmulineto(500.31329683,104.2755716)
+(498.8346302,104.80583825)(498.50663021,105.20170491)
+ \xmulineto(497.99596355,105.81623823)
+(498.05863022,106.04650489)(498.95329686,106.77037153)
+ \xmulineto(501.57329681,108.43130483)
+(503.96396342,106.73970487)(506.90129669,107.73397151)
+ \xmulineto(507.56796334,107.94223817)
+(507.78663,109.13557148)(508.05329666,110.49903811)
+ \xmulineto(508.53196332,112.99903805)
+(508.71996331,113.52983803)(508.17329666,114.67610467)
+ \xmulineto(507.66796334,115.73397131)
+(507.51063001,116.43703796)(504.46929674,117.63557127)
+ \xmulineto(501.15196348,118.9474379)
+(500.72529682,119.45837122)(501.11063015,120.46890453)
+ \xmulineto(501.29196348,120.94223785)
+(502.14129679,121.01570452)(505.0159634,120.80583786)
+ \xmulineto(509.35462997,120.48290453)
+(509.43329663,120.54130453)(510.40662994,124.67090443)
+ \xmulineto(511.81862991,130.64957095)
+(510.9852966,133.55157087)(507.83463,133.65557087)
+ \xmulineto(506.33463003,133.9369042)
+(501.24529681,133.06730422)(500.88663015,134.59823751)
+ \xmulineto(500.78263016,135.1302375)
+(501.12529682,135.46357083)(501.99596346,135.67157082)
+ \xmulineto(504.72529674,136.83823746)
+(507.83996333,137.82757077)(510.13596328,139.43157073)
+ \xmulineto(512.78262989,141.35423735)
+(514.99596318,141.26490402)(519.23462975,139.0782374)
+ \xmulineto(525.22929628,135.98357081)
+(525.46396295,135.61957082)(523.42796299,132.61410423)
+ \xmulineto(517.90662978,122.25370449)
+(513.8239632,107.79170484)(512.44929657,95.96890513)
+ \xmulineto(511.53196325,90.86317193)
+(517.55862979,90.21317194)(520.1572964,89.52983863)
+ \xmulineto(522.69329634,88.87463864)
+(525.68796294,87.88503867)(526.87062958,88.31623866)
+ \xmulineto(530.7346295,89.78077195)
+(529.40129619,84.60370542)(532.40129613,80.85797217)
+ \xmulineto(534.8706294,77.77557225)
+(531.8759628,76.31103895)(529.90662951,75.70170564)
+ \xmulineto(526.73462958,75.17090565)
+(524.33462964,74.56730566)(521.57329636,76.27557229)
+ -- cycle
+(471.69329746,96.55170512)
+ \xmulineto(471.77729746,97.4689051)
+(472.18796412,98.86837173)(472.90129744,99.9063717)
+ \xmulineto(473.50129742,100.77037168)
+(474.08929741,102.39023831)(474.57863073,103.29690495)
+ \xmulineto(475.89196404,105.71317156)
+(474.99063072,106.37463821)(474.04263075,108.32250483)
+ \xmulineto(471.93863079,112.63023806)
+(469.84396417,109.04130481)(467.99596421,113.6657047)
+ \xmulineto(467.48529756,115.61930465)
+(467.90129755,116.43703796)(470.0532975,117.6965046)
+ \xmulineto(472.71463077,119.25890456)
+(474.15196408,118.9422379)(475.35996405,116.57823796)
+ \xmulineto(476.57863069,114.18757135)
+(481.53196391,111.0782381)(483.4852972,110.74850477)
+ \xmulineto(484.31329719,110.74850477)
+(486.90129713,113.84277136)(486.90129713,114.83237134)
+ \xmulineto(486.90129713,116.07823797)
+(487.99596377,116.57823796)(490.42263038,116.4255713)
+ \xmulineto(493.06263033,116.26463797)
+(493.50663032,115.96890464)(493.84929698,114.09797135)
+ \xmulineto(494.13596364,112.54130473)
+(493.87063031,112.11410474)(492.05329702,111.18237143)
+ \xmulineto(490.83463038,110.56210477)
+(490.02663039,110.14437145)(489.9066304,107.85797151)
+ \xmulineto(489.77196373,105.36317157)
+(490.46929705,105.42557157)(493.15196366,102.22357165)
+ \xmulineto(495.72529693,99.15583839)
+(495.7919636,97.61930509)(495.7919636,97.61930509)
+ \xmulineto(493.15196366,97.69130509)
+(490.55863038,97.79170509)(488.31863043,98.8058384)
+ \xmulineto(479.25063063,103.74850494)
+(478.03196399,97.05170511)(471.69329746,96.55170512)
+ -- cycle
+(44.21450689,119.26463789)
+ \xmulineto(41.44317362,120.19650454)
+(42.0583736,121.91157116)(41.18904029,124.04130444)
+ \xmulineto(40.26037364,126.25890439)
+(40.33437364,128.80223766)(41.36090695,130.07303763)
+ \xmulineto(42.13170693,131.02090427)
+(42.66770692,131.13917093)(47.29837349,131.37463759)
+ \xmulineto(51.81250672,131.89023758)
+(57.1573066,132.83810422)(61.13170652,133.8329042)
+ \xmulineto(65.89690641,134.20757086)
+(69.76610633,136.63023746)(74.12650623,137.18223745)
+ \xmulineto(79.10463945,138.59290408)
+(84.27130601,138.65023741)(88.91823924,140.27557071)
+ \xmulineto(93.83957246,141.23423735)
+(97.92703904,141.70757067)(103.03637226,139.84890405)
+ \xmulineto(104.26610556,139.37957073)
+(106.11503886,138.79157074)(107.14063883,138.54090408)
+ \xmulineto(110.31250543,137.71823744)
+(111.7661054,135.13957083)(111.7765054,132.96357089)
+ \xmulineto(111.33437208,125.98917106)
+(109.97917211,127.29690436)(104.82917222,125.98917106)
+ \xmulineto(101.07970563,125.03503775)
+(98.47397236,124.64437109)(95.88117242,124.64437109)
+ \xmulineto(91.91823917,124.68757109)
+(87.91823926,123.41517112)(84.21450601,123.11930446)
+ \xmulineto(79.21970612,122.73970447)
+(73.51143958,121.28597118)(70.56357297,119.64437122)
+ \xmulineto(60.99583985,116.05690464)
+(52.97024003,115.48863799)(44.21450689,119.26463789)
+ -- cycle
+(479.39196396,120.90637119)
+ \xmulineto(478.49063065,121.27037118)
+(478.97996397,122.67610448)(480.60529727,125.26463775)
+ \xmulineto(482.96929722,129.03503765)
+(481.86529724,129.72357097)(479.37063063,130.85423761)
+ \xmulineto(476.69863069,132.06730424)
+(475.11596406,132.89023756)(474.92263073,133.46357088)
+ \xmulineto(474.69863073,134.13023753)
+(476.03196403,135.40090416)(476.94929735,135.40090416)
+ \xmulineto(477.35996401,135.40090416)
+(478.61063064,134.66623751)(479.88129728,134.13557086)
+ \xmulineto(482.55863056,133.02983755)
+(484.43863052,133.55690421)(484.91729717,135.05690417)
+ \xmulineto(486.28663048,140.09290405)
+(484.46929718,140.19157071)(486.02663048,142.10357066)
+ \xmulineto(488.93863042,146.32757056)
+(489.40663041,146.36890389)(491.94396368,144.37957061)
+ \xmulineto(493.61063031,143.07290397)
+(493.90663031,141.20757068)(494.23996363,139.66623739)
+ \xmulineto(494.73996362,137.33823745)
+(493.65196365,135.78090415)(492.34396368,133.42090421)
+ \xmulineto(490.83463038,130.69130428)
+(490.52663038,130.72357094)(492.40663034,129.14957098)
+ \xmulineto(493.69863031,127.84277101)
+(494.0786303,127.36837103)(494.44929696,125.49903774)
+ \xmulineto(494.44929696,125.49903774)
+(492.19863035,125.32717108)(491.65196369,125.49903774)
+ \xmulineto(489.7506304,126.10370439)
+(489.79729706,126.69130438)(488.53729709,125.80583773)
+ \xmulineto(487.21996379,124.87463775)
+(485.81863049,123.86317111)(482.83996388,122.07303782)
+ \xmulineto(481.31329725,121.15530451)
+(480.29729727,120.54130453)(479.39196396,120.90637119)
+ -- cycle
+;
+}
+% \end{macrocode}
+
+%</logo>
+% \end{implementation}
+% \Finale
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/xmuthesis/xmuthesis.pdf b/macros/latex/contrib/xmuthesis/xmuthesis.pdf
new file mode 100644
index 0000000000..0ccb3a1e9e
--- /dev/null
+++ b/macros/latex/contrib/xmuthesis/xmuthesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/zref/README.md b/macros/latex/contrib/zref/README.md
index cc622b0ae3..f2d0325508 100644
--- a/macros/latex/contrib/zref/README.md
+++ b/macros/latex/contrib/zref/README.md
@@ -1,6 +1,6 @@
-# zref
+# zref packages for LaTeX
-zref packages for LaTeX
+Version: 2020-07-03 v2.32
Package zref tries to get rid of the restriction
@@ -10,3 +10,10 @@ system, where properties are handled in a more flexible way.
It offers an interface for macro programmers for the access
to the system and some applications that uses the new
reference scheme.
+
+## Copyright (C)
+* 2007, 2009-2011 Heiko Oberdiek
+* 2016-2020 Oberdiek Package Support Group
+
+## License
+LATEX Project Public License, version 1.3c or later.
diff --git a/macros/latex/contrib/zref/zref.dtx b/macros/latex/contrib/zref/zref.dtx
index ea33ef2e88..a74626aa7d 100644
--- a/macros/latex/contrib/zref/zref.dtx
+++ b/macros/latex/contrib/zref/zref.dtx
@@ -1,7 +1,7 @@
% \iffalse meta-comment
%
% File: zref.dtx
-% Version: 2020-05-28 v2.31
+% Version: 2020-07-03 v2.32
% Info: A new reference scheme for LaTeX
%
% Copyright (C)
@@ -112,7 +112,7 @@
\input docstrip.tex
\Msg{************************************************************************}
\Msg{* Installation}
-\Msg{* Package: zref 2020-05-28 v2.31 A new reference scheme for LaTeX (HO)}
+\Msg{* Package: zref 2020-07-03 v2.32 A new reference scheme for LaTeX (HO)}
\Msg{************************************************************************}
\keepsilent
@@ -124,7 +124,7 @@
This is a generated file.
Project: zref
-Version: 2020-05-28 v2.31
+Version: 2020-07-03 v2.32
Copyright (C)
2006-2012 Heiko Oberdiek
@@ -230,7 +230,7 @@ and the derived files
%<*driver>
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{zref.drv}%
- [2020-05-28 v2.31 A new reference scheme for LaTeX (HO)]%
+ [2020-07-03 v2.32 A new reference scheme for LaTeX (HO)]%
\documentclass{ltxdoc}
\usepackage{holtxdoc}[2011/11/22]
\setlength{\emergencystretch}{1em}
@@ -245,7 +245,7 @@ and the derived files
% \GetFileInfo{zref.drv}
%
% \title{The \xpackage{zref} package}
-% \date{2020-05-28 v2.31}
+% \date{2020-07-03 v2.32}
% \author{Heiko Oberdiek\thanks
% {Please report any issues at \url{https://github.com/ho-tex/zref/issues}}}
%
@@ -1663,7 +1663,7 @@ the height difference of the two baselines is
%<*package>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref}
- [2020-05-28 v2.31 A new reference scheme for LaTeX (HO)]%
+ [2020-07-03 v2.32 A new reference scheme for LaTeX (HO)]%
% \end{macrocode}
%
% \subsubsection{Load basic module}
@@ -1750,12 +1750,13 @@ the height difference of the two baselines is
%<*base>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-base}%
- [2020-05-28 v2.31 Module base for zref (HO)]%
+ [2020-07-03 v2.32 Module base for zref (HO)]%
% \end{macrocode}
%
% \subsubsection{Utilities}
%
% \begin{macrocode}
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\RequirePackage{ltxcmds}[2010/12/02]
\RequirePackage{infwarerr}[2010/04/08]
\RequirePackage{kvsetkeys}[2010/03/01]
@@ -3057,7 +3058,7 @@ the height difference of the two baselines is
%<*user>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-user}%
- [2020-05-28 v2.31 Module user for zref (HO)]%
+ [2020-07-03 v2.32 Module user for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3148,7 +3149,7 @@ the height difference of the two baselines is
%<*abspage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-abspage}%
- [2020-05-28 v2.31 Module abspage for zref (HO)]%
+ [2020-07-03 v2.32 Module abspage for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3196,7 +3197,7 @@ the height difference of the two baselines is
%<*counter>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-counter}%
- [2020-05-28 v2.31 Module counter for zref (HO)]%
+ [2020-07-03 v2.32 Module counter for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3241,7 +3242,7 @@ the height difference of the two baselines is
%<*lastpage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-lastpage}%
- [2020-05-28 v2.31 Module lastpage for zref (HO)]%
+ [2020-07-03 v2.32 Module lastpage for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\RequirePackage{zref-abspage}[2019/11/29]
\RequirePackage{atveryend}[2009/12/07]
@@ -3313,7 +3314,7 @@ the height difference of the two baselines is
%<*thepage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-thepage}%
- [2020-05-28 v2.31 Module thepage for zref (HO)]%
+ [2020-07-03 v2.32 Module thepage for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3388,7 +3389,7 @@ the height difference of the two baselines is
%<*nextpage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-nextpage}%
- [2020-05-28 v2.31 Module nextpage for zref (HO)]%
+ [2020-07-03 v2.32 Module nextpage for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3492,7 +3493,7 @@ the height difference of the two baselines is
%<*totpages>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-totpages}%
- [2020-05-28 v2.31 Module totpages for zref (HO)]%
+ [2020-07-03 v2.32 Module totpages for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3534,7 +3535,7 @@ the height difference of the two baselines is
%<*pagelayout>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-pagelayout}%
- [2020-05-28 v2.31 Module pagelayout for zref (HO)]%
+ [2020-07-03 v2.32 Module pagelayout for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3619,13 +3620,17 @@ the height difference of the two baselines is
% \end{macrocode}
%
% \begin{macrocode}
-\zref@newprop*{outputboxwd}[0pt]{\AtBeginShipoutBoxWidth}
-% \end{macrocode}
-% \begin{macrocode}
-\zref@newprop*{outputboxht}[0pt]{\AtBeginShipoutBoxHeight}
-% \end{macrocode}
-% \begin{macrocode}
-\zref@newprop*{outputboxdp}[0pt]{\AtBeginShipoutBoxDepth}
+\IfFormatAtLeastTF{2020/10/01}
+ {
+ \zref@newprop*{outputboxwd}[0pt]{\ShipoutBoxWidth}
+ \zref@newprop*{outputboxht}[0pt]{\ShipoutBoxHeight}
+ \zref@newprop*{outputboxdp}[0pt]{\ShipoutBoxDepth}
+ }
+ {
+ \zref@newprop*{outputboxwd}[0pt]{\AtBeginShipoutBoxWidth}
+ \zref@newprop*{outputboxht}[0pt]{\AtBeginShipoutBoxHeight}
+ \zref@newprop*{outputboxdp}[0pt]{\AtBeginShipoutBoxDepth}
+ }
% \end{macrocode}
% \begin{macrocode}
\zref@addprops{thepage}{outputboxwd,outputboxht,outputboxdp}
@@ -3762,7 +3767,7 @@ the height difference of the two baselines is
%<*pageattr>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-pageattr}%
- [2020-05-28 v2.31 Module pageattr for zref (HO)]%
+ [2020-07-03 v2.32 Module pageattr for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -3994,7 +3999,7 @@ the height difference of the two baselines is
%<*marks>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-marks}%
- [2020-05-28 v2.31 Module marks for zref (HO)]%
+ [2020-07-03 v2.32 Module marks for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -4100,7 +4105,7 @@ the height difference of the two baselines is
%<*runs>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-runs}%
- [2020-05-28 v2.31 Module runs for zref (HO)]%
+ [2020-07-03 v2.32 Module runs for zref (HO)]%
% \end{macrocode}
%
% \begin{macro}{\zruns}
@@ -4132,7 +4137,7 @@ the height difference of the two baselines is
%<*perpage>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-perpage}%
- [2020-05-28 v2.31 Module perpage for zref (HO)]%
+ [2020-07-03 v2.32 Module perpage for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -4314,7 +4319,7 @@ the height difference of the two baselines is
%<*titleref>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-titleref}%
- [2020-05-28 v2.31 Module titleref for zref (HO)]%
+ [2020-07-03 v2.32 Module titleref for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -4727,7 +4732,7 @@ the height difference of the two baselines is
%<*xr>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-xr}%
- [2020-05-28 v2.31 Module xr for zref (HO)]%
+ [2020-07-03 v2.32 Module xr for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -5263,7 +5268,7 @@ the height difference of the two baselines is
%<*hyperref>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-hyperref}%
- [2020-05-28 v2.31 Module hyperref for zref (HO)]%
+ [2020-07-03 v2.32 Module hyperref for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -5293,7 +5298,7 @@ the height difference of the two baselines is
%<*savepos>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-savepos}%
- [2020-05-28 v2.31 Module savepos for zref (HO)]%
+ [2020-07-03 v2.32 Module savepos for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -5466,7 +5471,7 @@ the height difference of the two baselines is
%<*abspos>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-abspos}%
- [2020-05-28 v2.31 Module abspos for zref (HO)]%
+ [2020-07-03 v2.32 Module abspos for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -6120,7 +6125,7 @@ the height difference of the two baselines is
%<*dotfill>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-dotfill}%
- [2020-05-28 v2.31 Module dotfill for zref (HO)]%
+ [2020-07-03 v2.32 Module dotfill for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -6220,7 +6225,7 @@ the height difference of the two baselines is
%<*env>
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{zref-env}%
- [2020-05-28 v2.31 Module env for zref (HO)]%
+ [2020-07-03 v2.32 Module env for zref (HO)]%
\RequirePackage{zref-base}[2019/11/29]
\ifx\ZREF@base@ok Y%
\else
@@ -6749,6 +6754,10 @@ the height difference of the two baselines is
% \item Adapted module zref-counter to use \cs{@currentcounter} in the next
% \LaTeX version (issue 5)
% \end{Version}
+% \begin{Version}{2020-07-03 v2.32}
+% \item Changed in zref-pagelayout the names of the shipout box dimensions
+% to adapt to the new hook management.
+% \end{Version}
% \end{History}
%
% \PrintIndex
diff --git a/macros/latex/contrib/zref/zref.pdf b/macros/latex/contrib/zref/zref.pdf
index 1a7415cc28..cd49923f05 100644
--- a/macros/latex/contrib/zref/zref.pdf
+++ b/macros/latex/contrib/zref/zref.pdf
Binary files differ
diff --git a/macros/latex/required/firstaid/changes.txt b/macros/latex/required/firstaid/changes.txt
index 1b3472c88f..ef734a335a 100644
--- a/macros/latex/required/firstaid/changes.txt
+++ b/macros/latex/required/firstaid/changes.txt
@@ -1,3 +1,8 @@
+2020-10-04 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
+
+ * latex2e-first-aid-for-external-files.dtx:
+ Fix for gh400 taken out and moved into the kernel instead for PL1.
+
2020-10-03 Frank Mittelbach <Frank.Mittelbach@latex-project.org>
* latex2e-first-aid-for-external-files.dtx:
diff --git a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
index 03f962904e..78f52ca78a 100644
--- a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
+++ b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.dtx
@@ -99,8 +99,8 @@
% \end{macrocode}
%
% \begin{macrocode}
-\def\LaTeXFirstAidDate{2020/10/03}
-\def\LaTeXFirstAidVersion{v1.0d}
+\def\LaTeXFirstAidDate{2020/10/04}
+\def\LaTeXFirstAidVersion{v1.0e}
% \end{macrocode}
%
% \begin{macrocode}
@@ -342,56 +342,6 @@
%
%
%
-% \subsection{Fixing a problem with \BibTeX{}}
-%
-% This will become a patch release for the kernel but for the moment
-% we put it here in case some other issues show up. \BibTeX{}
-% expects \texttt{.aux} files to contain lines
-% \verb=\@input{filename.aux}= but the new new \LaTeX{}
-% unnecessarily writes \verb=\@input{"filename.aux"}= and this
-% upsets \BibTeX{} greatly. As it isn't necessary we take it out.
-%
-% \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
- \@filehook@set@CurrentFile
- \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}
-% \end{macrocode}
-%
-%
%
% \begin{macrocode}
%</kernel>
diff --git a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
index ece887663a..7e9157f792 100644
--- a/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
+++ b/macros/latex/required/firstaid/latex2e-first-aid-for-external-files.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/polyglossia/README.md b/macros/unicodetex/latex/polyglossia/README.md
index 79b922ef93..780c3929cc 100644
--- a/macros/unicodetex/latex/polyglossia/README.md
+++ b/macros/unicodetex/latex/polyglossia/README.md
@@ -1,10 +1,9 @@
-# THE POLYGLOSSIA PACKAGE v1.49
+# THE POLYGLOSSIA PACKAGE v1.50
## Multilingual typesetting with XeLaTeX and LuaLaTeX
-This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX
-(with a few languages incompletely supported for the latter). This version
-includes support for over 70 different languages, some of which in different
-regional or national varieties, or using a different writing system.
+This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
+This version includes support for over 70 different languages, some of which in
+different regional or national varieties, or using a different writing system.
Polyglossia makes it possible to automate the following tasks:
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.dtx b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
index 246c37edb0..d8c35b3242 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.dtx
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.dtx
@@ -8,13 +8,12 @@
\iffalse
%</internal>
%<*README>
-# THE POLYGLOSSIA PACKAGE v1.49
+# THE POLYGLOSSIA PACKAGE v1.50
## Multilingual typesetting with XeLaTeX and LuaLaTeX
-This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX
-(with a few languages incompletely supported for the latter). This version
-includes support for over 70 different languages, some of which in different
-regional or national varieties, or using a different writing system.
+This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX.
+This version includes support for over 70 different languages, some of which in
+different regional or national varieties, or using a different writing system.
Polyglossia makes it possible to automate the following tasks:
@@ -95,6 +94,21 @@ to track the issues and follow progress.
\endpostamble
\let\MetaPrefix\DoubleperCent
\askforoverwritefalse
+\generate{\file{polyglossia.sty}{\from{polyglossia.dtx}{polyglossia.sty}}}
+\generate{\file{farsical.sty}{\from{polyglossia.dtx}{farsical.sty}}}
+\generate{\file{hebrewcal.sty}{\from{polyglossia.dtx}{hebrewcal.sty}}}
+\generate{\file{hijrical.sty}{\from{polyglossia.dtx}{hijrical.sty}}}
+\generate{\file{polyglossia-french.lua}{\from{polyglossia.dtx}{polyglossia-french.lua}}}
+\generate{\file{polyglossia-korean.lua}{\from{polyglossia.dtx}{polyglossia-korean.lua}}}
+\generate{\file{polyglossia-latin.lua}{\from{polyglossia.dtx}{polyglossia-latin.lua}}}
+\generate{\file{polyglossia-punct.lua}{\from{polyglossia.dtx}{polyglossia-punct.lua}}}
+\generate{\file{polyglossia-sanskrit.lua}{\from{polyglossia.dtx}{polyglossia-sanskrit.lua}}}
+\generate{\file{polyglossia-tibt.lua}{\from{polyglossia.dtx}{polyglossia-tibt.lua}}}
+\generate{\file{polyglossia.lua}{\from{polyglossia.dtx}{polyglossia.lua}}}
+\generate{\file{babel-hebrewalph.def}{\from{polyglossia.dtx}{babel-hebrewalph.def}}}
+\generate{\file{babelsh.def}{\from{polyglossia.dtx}{babelsh.def}}}
+\generate{\file{cal-util.def}{\from{polyglossia.dtx}{cal-util.def}}}
+\generate{\file{xgreek-fixes.def}{\from{polyglossia.dtx}{xgreek-fixes.def}}}
\generate{\file{gloss-acadien.ldf}{\from{polyglossia.dtx}{gloss-acadien.ldf}}}
\generate{\file{gloss-aeb.ldf}{\from{polyglossia.dtx}{gloss-aeb.ldf}}}
\generate{\file{gloss-af.ldf}{\from{polyglossia.dtx}{gloss-af.ldf}}}
@@ -346,11 +360,11 @@ to track the issues and follow progress.
%<*internal>
\generate{\file{polyglossia.ins}{\from{polyglossia.dtx}{batchfile}}}
\nopreamble\nopostamble
-\generate{\file{../README.md}{\from{polyglossia.dtx}{../README.md}}}
\generate{\file{Changelog}{\from{polyglossia.dtx}{Changelog}}}
\generate{\file{examples.tex}{\from{polyglossia.dtx}{examples.tex}}}
\generate{\file{example-arabic.tex}{\from{polyglossia.dtx}{example-arabic.tex}}}
\generate{\file{example-thai.tex}{\from{polyglossia.dtx}{example-thai.tex}}}
+\generate{\file{README.md}{\from{polyglossia.dtx}{README}}}
\endgroup
%</internal>
%
@@ -424,6 +438,12 @@ to track the issues and follow progress.
\xpgvalue{=} \meta{code} (default value: \texttt{#3})\par%
}
+% arguments: #1 version number, #2 key name, #3 value type, #4 default value
+\NewDocumentCommand\xpgoptkey{ommo}{%
+ \xpgoption{#2}\IfValueT{#1}{\new{#1}}
+ \xpgvalue{=} \meta{#3} (default value: \texttt{#4})\par%
+}
+
%% Sidenotes << copied from fontspec.dtx
\newcommand\new[1]{%
\edef\thisversion{v#1}%
@@ -509,7 +529,7 @@ to track the issues and follow progress.
% \section{Introduction}
%
% \pkg{Polyglossia} is a package for facilitating multilingual typesetting with
-% \XeLaTeX\ and (with some exceptions) \LuaLaTeX. Basically, it
+% \XeLaTeX\ and \LuaLaTeX. Basically, it
% can be used as an alternative to \pkg{babel} for performing the following
% tasks automatically:
%
@@ -908,11 +928,19 @@ to track the issues and follow progress.
% option \xpgoption{nolocalmarks} which used to switch off the previous default, and
% now equals the default, is still available.
%
-% \item \xpgoption{quiet} turns off most info messages and some of the warnings issued
-% by \LaTeX, \pkg{fontspec} and \pkg{polyglossia}.
+% \item \xpgoptkey[1.50]{luatexrenderer}{renderer}[Harfbuzz] determines which font renderer is used
+% with \LuaTeX\ output. The correct font renderer is essential particularly for non-Latin scripts.
+% By default, \pkg{polyglossia} uses the \xpgvalue{Harfbuzz} renderer that has been introduced to
+% \LuaTeX\ in 2019 (\TeX Live 2020), as this gives the best results generally. If you want to use
+% a different renderer, you can specify this here (or individually for specific fonts via the optional
+% argument of the font selection commands). Please refer to the \pkg{fontspec} manual for supported
+% values and for details on how to change the renderer for individual fonts.\\
+% \xpgoption{luatexrenderer=none} disables \pkg{polyglossia}'s automatic renderer setting.
+%
+% \item \xpgboolkeytrue{verbose} determines whether info messages and (some of the) warnings issued
+% by \LaTeX, \pkg{fontspec} and \pkg{polyglossia} are output.
% \end{itemize}
%
-% \pagebreak
% \section{Language-switching commands}\label{languageswitching}
%
% \subsection{Recommended commands}\label{sec:langcmds}
@@ -977,17 +1005,22 @@ to track the issues and follow progress.
% \item \DescribeMacro{\foreignlanguage}\cmd{\foreignlanguage\oarg{options}\marg{lang}\marg{…}}
% \item \DescribeEnv{otherlanguage}\cmd{\begin\{otherlanguage\}\oarg{options}\marg{lang}} \dots{} \cmd{\end\{otherlanguage\}}
% \item \DescribeEnv{otherlanguage*}\cmd{\begin\{otherlanguage*\}\oarg{options}\marg{lang}} \dots{} \cmd{\end\{otherlanguage*\}}
+% \item \DescribeEnv{hyphenrules}\cmd{\begin\{hyphenrules\}\oarg{options}\marg{lang}} \dots{} \cmd{\end\{hyphenrules\}}\new{1.50}
% \end{itemize}
% ^^A
% \cmd\selectlanguage\marg{lang} and the ¦otherlanguage¦ environment are identical to the
-% the \meta{lang} environment, except that \cmd\selectlanguage\marg{lang}
+% \meta{lang} environment, except that \cmd\selectlanguage\marg{lang}
% does not need to be explicitly closed. The command \cmd\foreinlanguage\marg{lang}\marg{…} and the ¦otherlanguage*¦
% environment are identical with the use of the \cmd\text\meta{lang} or \cmd\textlang\ command, with the one
% notable exception that they do not translate the date with \cmd\today.
%
+% The \meta{hyphenrules} environment only switches the hyphenation patterns to the one associated with the language \meta{lang}
+% (or the language variety as specified via \meta{options}). It does no further language-specific change.
+%
% Since the \XeLaTeX\ and \LuaLaTeX\ format incorporate \pkg{babel}’s \file{hyphen.cfg},
-% the low-level commands for hyphenation and language switching
-% defined there are also accessible.
+% the low-level commands for hyphenation and language switching defined there are in principal also accessible.
+% Note, however, that the availability of such low-level commands is not guaranteed, as \file{hyphen.cfg}, which is
+% out of \pkg{polyglossia}'s control, is (or at least has been) subject to regular change.
%
% \subsection{Other commands}
% The following commands are probably of lesser interest to the end user, but
@@ -1075,25 +1108,49 @@ to track the issues and follow progress.
% which override the hyphenation patterns for specified words. The command takes as argument a space-separated
% list of words where hyphenation points are marked by a dash (if no dash is used, the respective word is not
% hyphenated at all):
-% \begin{Verbatim}
+% \begin{quote}
+% \begin{minipage}{\textwidth}
+% \begin{verbatim}
% \hyphenation{%
% po-ly-glos-sia
% LaTeX
% }
-% \end{Verbatim}
+% \end{verbatim}
+% \end{minipage}
+% \end{quote}
% ^^A
% These exceptions, however, apply to all languages. In addition to this, \pkg{polyglossia} provides
% the command\new{1.45}
-% \displaycmd{\xpghyphenation\oarg{options}\marg{lang}\marg{exceptions}}{\xpghyphenation}
+% \displaycmd{\pghyphenation\oarg{options}\marg{lang}\marg{exceptions}}{\pghyphenation}
% which can be used to define exceptions that only apply to a specific language or language variant,
% respectively.
%
+% \subsection{Hyphenation thresholds}
+%
+% \pkg{Polyglossia} sets reasonable defaults for the hyphenation thresholds of each language,
+% \ie the number of characters that must at least be there at the beginning or end of a
+% word before it is hyphenated (\cmd\lefthyphenmin\ and \cmd\righthyphenmin\ in \TeX).
+% For instance, with English, this threshold is 2 at the beginning (`left') and 3 at the end (`right'),
+% so a word will not be hyphenated within the first two characters at the beginning and the last three
+% characters at the end.
+%
+% To change this value, \pkg{polyglossia} provides the command\new{1.50}
+% \displaycmd{\setlanghyphenmins\oarg{options}\marg{lang}\marg{l}\marg{r}}{\setlanghyphenmins}
+% ^^A
+% where \meta{lang} is to be replaced with the respective language name or alias, \meta{options}
+% can be used to delimit the modification to a particular variety (\eg via \texttt{variant} or \texttt{spelling}),
+% \meta{l} with the left threshold value (\eg \texttt{3}), and \meta{r} with the right
+% threshold value (\eg \verb|\setlanghyphenmins[spelling=old]{german}{4}{4}|).
+% This setting can be changed repeatedly in the preamble and the document body.
+% It applies to all subsequent text in the respective language (variety), but only after the
+% next language switch.
+%
% \subsection{Hyphenation disabling}
%
-% In some very specific contexts (such as music score creation), \TeX{} hyphenation
-% is something to avoid as it may cause troubles. \pkg{polyglossia} provides two
-% functions: \Cmd\disablehyphenation\ and \Cmd\enablehyphenation. Note that if
-% you select a new language while hyphenation is disabled, it will remain disabled.
+% In some very specific contexts (such as music score creation), \TeX\ hyphenation
+% is something to avoid completely as it may cause troubles.
+% \pkg{Polyglossia} provides two functions: \Cmd\disablehyphenation\ and \Cmd\enablehyphenation.
+% Note that if you select a new language while hyphenation is disabled, it will remain disabled.
% If you re-enable it, the hyphenation patterns of the currently selected language
% will be activated.
%
@@ -1143,15 +1200,23 @@ to track the issues and follow progress.
% as well as the form of the numerals (unless overriden by the following option).
% \item \xpgchoicekey{numerals}{\xpgpresetvalue{mashriq} or \xpgvalue{maghrib}}
% The latter is the default when \xpgvalue{locale=algeria}, \xpgvalue{tunisia}, or \xpgvalue{morocco}.
+% \item \xpgboolkeyfalse[1.50]{abjadalph}
+% Set this to true if you want the alphabetic counters to be output using \cmd\abjadalph\ rather than \cmd\abjad.
+% Note that this limits the counter scope to 28 (see \cmd\abjadalph\ below).
% \item \xpgboolkeyfalse[1.0.3]{abjadjimnotail}
% Set this to true if you want the \textit{abjad} form of the number three to be \textarabic{جâ€} – as in the manuscript tradition – instead of the modern usage \textarabic{ج}.
% \end{itemize}
% \paragraph*{Commands:}
% \begin{itemize}
-% \item \Cmd\abjad and \Cmd\abjadmaghribi (see section \ref{abjad})
-% \item \Cmd\aemph to emphasize text with \cmd\overline.\new{1.2.0}
-% ¦\textarabic{\aemph{اب}}¦ yields \textarabic{\aemph{اب}}.
-% This command is also available for Farsi, Urdu, etc.
+% \item \Cmd\abjad outputs Arabic \textit{abjad} numbers according to the Mashriq varieties.
+% Example: ¦\abjad{1863}¦ yields \textarabic{\abjad{1863}}.
+% \item \Cmd\abjadmaghribi outputs Arabic \textit{abjad} numbers according to the Maghrib varieties.
+% Example: ¦\abjadmaghribi{1863}¦ yields \textarabic{\abjadmaghribi{1863}}.
+% \item \Cmd\abjadalph\new{1.50} steps through the Arabic alphabet, thus it can only be used up to 28.
+% Example: ¦\textarabic{\abjadalph{18}}¦ yields \textarabic{\abjadalph{18}}.
+% \item \Cmd\aemph to emphasize text with \cmd\overline.\new{1.2.0}
+% ¦\textarabic{\aemph{اب}}¦ yields \textarabic{\aemph{اب}}.
+% This command is also available for Farsi, Urdu, etc.
% \end{itemize}
%
% \subsection{armenian}\label{armenian}
@@ -1169,20 +1234,32 @@ to track the issues and follow progress.
% If this is turned on, the following shorthands are activated:
% \begin{shorthands}
% \item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset
-% in the hyphenation patterns (as opposed to \cmd\-).
+% in the hyphenation patterns (as opposed to \cmd\-).
+% \item[¦"=¦] adds an explicit hyphen with a breakpoint, allowing for hyphenation at the
+% other points preset in the hyphenation patterns (as opposed to plain ¦-¦).
% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
-% cases where the hyphen should stick at the following syllable.
+% cases where the hyphen should stick at the following syllable.
% \item[¦"|¦] disables a ligature at this position.
% \item[¦""¦] allows for a line break at this position (without hyphenation sign).
-% \item[¦"---¦] Cyrillic emdash in plain text.
-% \item[¦"--~¦] Cyrillic emdash in compound names (surnames).
-% \item[¦"--*¦] Cyrillic emdash for denoting direct speech.
% \item[¦",¦] thinspace for initials with a breakpoint in following surname.
% \item[¦"‘¦] for German left double quotes (looks like ,,).
% \item[¦"’¦] for German right double quotes (looks like “).
% \item[¦"<¦] for French left double quotes (looks like <<).
% \item[¦">¦] for French right double quotes (looks like >>).
% \end{shorthands}
+%
+% There are also three shorthands for the Cyrillic dash (\textrussian{тире}), which is shorter than the
+% emdash but longer than the endash (namely 0.8\,em).
+% Note that, since it is not covered by unicode, this character is faked by telescoping two endashes:
+% \begin{shorthands}
+% \item[¦"---¦] Cyrillic dash for the use in normal text. This requires preceding space
+% in input (trailing space is optional) and prints with a non-breakable thin space before
+% and after the dash.
+% \item[¦"--\textasciitilde¦] Cyrillic dash for the use in compound names (surnames).
+% As opposed to ¦"---¦ this removes any space before and after the dash.
+% \item[¦"--*¦] Cyrillic dash for denoting direct speech. This adds a larger space after
+% the dash. Space before the dash is output as is.
+% \end{shorthands}
% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
% Uses either Arabic numerals or Cyrillic alphanumerical numbering. The two Cyrillic variants differ as follows:
% \begin{itemize}
@@ -1195,7 +1272,8 @@ to track the issues and follow progress.
% With ¦spelling=classic¦, captions and dates adhere to the Taraškievica (or
% Belarusian classical) orthography rather than the standard orthography.
% \end{itemize}
-% ^^A
+%
+% \condbreak{\baselineskip}
% \paragraph*{Commands:}
% \begin{itemize}
% \item \Cmd\Asbuk: produces uppercased Cyrillic alphanumerals, for environments such as ¦enumerate¦.
@@ -1437,20 +1515,31 @@ to track the issues and follow progress.
% If this is turned on, the following shorthands are activated:
% \begin{shorthands}
% \item[¦"-¦] adds a hyphenation point that does still allow for
-% hyphenation at the points preset in the hyphenation patterns (as opposed
-% to \cmd\-).
+% hyphenation at the points preset in the hyphenation patterns (as opposed to \cmd\-).
+% \item[¦"=¦] adds an explicit hyphen with a breakpoint, allowing for hyphenation at the
+% other points preset in the hyphenation patterns (as opposed to plain ¦-¦).
% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
% cases where the hyphen should stick at the following syllable.
% \item[¦"|¦] disables a ligature at this position.
% \item[¦""¦] allows for a line break at this position (without hyphenation sign).
-% \item[¦"---¦] Cyrillic emdash in plain text.
-% \item[¦"--~¦] Cyrillic emdash in compound names (surnames).
-% \item[¦"--*¦] Cyrillic emdash for denoting direct speech.
% \item[¦",¦] thinspace for initials with a breakpoint in following surname.
-% \item[¦"‘¦] for German left double quotes (looks like ,,).
-% \item[¦"’¦] for German right double quotes (looks like “).
-% \item[¦"<¦] for French left double quotes (looks like <<).
-% \item[¦">¦] for French right double quotes (looks like >>).
+% \item[¦"‘¦] for German-style left double quotes (looks like ,,).
+% \item[¦"’¦] for German-style right double quotes (looks like “).
+% \item[¦"<¦] for French-style left double quotes (looks like <<).
+% \item[¦">¦] for French-style right double quotes (looks like >>).
+% \end{shorthands}
+%
+% There are also three shorthands for the Cyrillic dash (\textrussian{тире}), which is shorter than the
+% emdash but longer than the endash (namely 0.8\,em).
+% Note that, since it is not covered by unicode, this character is faked by telescoping two endashes:
+% \begin{shorthands}
+% \item[¦"---¦] Cyrillic dash for the use in normal text. This requires preceding space
+% in input (trailing space is optional) and prints with a non-breakable thin space before
+% and after the dash.
+% \item[¦"--\textasciitilde¦] Cyrillic dash for the use in compound names (surnames).
+% As opposed to ¦"---¦ this removes any space before and after the dash.
+% \item[¦"--*¦] Cyrillic dash for denoting direct speech. This adds a larger space after
+% the dash. Space before the dash is output as is.
% \end{shorthands}
% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic} or \xpgvalue{georgian}}
% Uses either Arabic numerals or Georgian alphanumerical numbering.
@@ -1490,10 +1579,10 @@ to track the issues and follow progress.
%
% There are also four shorthands for quotation signs:
% \begin{shorthands}
-% \item[¦"`¦] for German left double quotes („)
-% \item[¦"'¦] for German right double quotes (“)
-% \item[¦"<¦] for French left double quotes («)
-% \item[¦">¦] for French right double quotes (»).
+% \item[¦"`¦] for German-style left double quotes („)
+% \item[¦"'¦] for German-style right double quotes (“)
+% \item[¦"<¦] for French-style left double quotes («)
+% \item[¦">¦] for French-style right double quotes (»).
% \end{shorthands}
% \item \xpgchoicekey[1.2.0]{script}{\xpgpresetvalue{latin} or \xpgvalue{blackletter}\new{1.46} (= \xpgvalue{fraktur})}
% Setting ¦script=blackletter¦ adapts the captions for typesetting German in blackletter type (using the long s (ſ)
@@ -1809,18 +1898,30 @@ to track the issues and follow progress.
% \begin{shorthands}
% \item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset
% in the hyphenation patterns (as opposed to \cmd\-).
+% \item[¦"=¦] adds an explicit hyphen with a breakpoint, allowing for hyphenation at the
+% other points preset in the hyphenation patterns (as opposed to plain ¦-¦).
% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
% cases where the hyphen should stick at the following syllable.
% \item[¦"|¦] disables a ligature at this position.
% \item[¦""¦] allows for a line break at this position (without hyphenation sign).
-% \item[¦"---¦] Cyrillic emdash in plain text.
-% \item[¦"--~¦] Cyrillic emdash in compound names (surnames).
-% \item[¦"--*¦] Cyrillic emdash for denoting direct speech.
% \item[¦",¦] thinspace for initials with a breakpoint in following surname.
-% \item[¦"‘¦] for German left double quotes (looks like ,,).
-% \item[¦"’¦] for German right double quotes (looks like “).
-% \item[¦"<¦] for French left double quotes (looks like <<).
-% \item[¦">¦] for French right double quotes (looks like >>).
+% \item[¦"‘¦] for German-style left double quotes (looks like ,,).
+% \item[¦"’¦] for German-style right double quotes (looks like “).
+% \item[¦"<¦] for French-style left double quotes (looks like <<).
+% \item[¦">¦] for French-style right double quotes (looks like >>).
+% \end{shorthands}
+%
+% There are also three shorthands for the Cyrillic dash (\textrussian{тире}), which is shorter than the
+% emdash but longer than the endash (namely 0.8\,em).
+% Note that, since it is not covered by unicode, this character is faked by telescoping two endashes:
+% \begin{shorthands}
+% \item[¦"---¦] Cyrillic dash for the use in normal text. This requires preceding space
+% in input (trailing space is optional) and prints with a non-breakable thin space before
+% and after the dash.
+% \item[¦"--\textasciitilde¦] Cyrillic dash for the use in compound names (surnames).
+% As opposed to ¦"---¦ this removes any space before and after the dash.
+% \item[¦"--*¦] Cyrillic dash for denoting direct speech. This adds a larger space after
+% the dash. Space before the dash is output as is.
% \end{shorthands}
% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
% Uses either Arabic numerals or Cyrillic alphanumerical numbering. The two Cyrillic variants differ as follows:
@@ -1881,13 +1982,25 @@ to track the issues and follow progress.
% \begin{shorthands}
% \item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset
% in the hyphenation patterns (as opposed to \cmd\-).
-% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
+% \item[¦"=¦] adds an explicit hyphen with a breakpoint, allowing for hyphenation at the
+% other points preset in the hyphenation patterns (as opposed to plain ¦-¦).
+% \item[\texttt{"\textasciitilde}] adds an explicit hyphen without a breakpoint. Useful for
% cases where the hyphen should stick at the following syllable.
% \item[¦"|¦] disables a ligature at this position.
% \item[¦""¦] allows for a line break at this position (without hyphenation sign).
-% \item[¦"---¦] Cyrillic emdash in plain text.
-% \item[¦"--~¦] Cyrillic emdash in compound names (surnames).
-% \item[¦"--*¦] Cyrillic emdash for denoting direct speech.
+% \end{shorthands}
+%
+% There are also three shorthands for the Cyrillic dash (\textrussian{тире}), which is shorter than the
+% emdash but longer than the endash (namely 0.8\,em).
+% Note that, since it is not covered by unicode, this character is faked by telescoping two endashes:
+% \begin{shorthands}
+% \item[¦"---¦] Cyrillic dash for the use in normal text. This requires preceding space
+% in input (trailing space is optional) and prints with a non-breakable thin space before
+% and after the dash.
+% \item[¦"--\textasciitilde¦] Cyrillic dash for the use in compound names (surnames).
+% As opposed to ¦"---¦ this removes any space before and after the dash.
+% \item[¦"--*¦] Cyrillic dash for denoting direct speech. This adds a larger space after
+% the dash. Space before the dash is output as is.
% ^^A These are commented out in gloss-russian
% ^^A \item[¦",¦] thinspace for initials with a breakpoint in following surname.
% ^^A \item[¦"‘¦] for German left double quotes (looks like ,,).
@@ -1895,6 +2008,10 @@ to track the issues and follow progress.
% ^^A \item[¦"<¦] for French left double quotes (looks like <<).
% ^^A \item[¦">¦] for French right double quotes (looks like >>).
% \end{shorthands}
+% \item \xpgboolkeytrue[1.50]{forceheadingpunctuation}
+% By default, chapter and section numbers always have a trailing punctuation in Russian
+% (as in \emph{1.1.} as opposed to \emph{1.1}). If this option is set to false, \textsf{polyglossia}
+% will not touch heading punctuation, so this will be whatever the class or a package determines.
% \item \xpgboolkeytrue[1.46]{indentfirst}
% By default, all paragraphs are indented in Russian, also those after a
% chapter or section heading. If this option is false, the latter paragraphs
@@ -2091,14 +2208,13 @@ to track the issues and follow progress.
% If this is turned on, the following shorthands are activated:
% \begin{shorthands}
% \item[¦"-¦] adds a hyphenation point that does still allow for hyphenation at the points preset
-% in the hyphenation patterns (as opposed to \cmd\-).
+% in the hyphenation patterns (as opposed to \cmd\-).
+% \item[¦"=¦] adds an explicit hyphen with a breakpoint, allowing for hyphenation at the
+% other points preset in the hyphenation patterns (as opposed to plain ¦-¦).
% \item[\texttt{"\textasciitilde}] for a hyphen sign without a breakpoint. Useful for
-% cases where the hyphen should stick at the following syllable.
+% cases where the hyphen should stick at the following syllable.
% \item[¦"|¦] disables a ligature at this position.
% \item[¦""¦] allows for a line break at this position (without hyphenation sign).
-% \item[¦"---¦] Cyrillic emdash in plain text.
-% \item[¦"--~¦] Cyrillic emdash in compound names (surnames).
-% \item[¦"--*¦] Cyrillic emdash for denoting direct speech.
% ^^A These are commented out in gloss-ukrainian
% ^^A \item[¦",¦] thinspace for initials with a breakpoint in following surname.
% ^^A \item[¦"‘¦] for German left double quotes (looks like ,,).
@@ -2106,6 +2222,19 @@ to track the issues and follow progress.
% ^^A \item[¦"<¦] for French left double quotes (looks like <<).
% ^^A \item[¦">¦] for French right double quotes (looks like >>).
% \end{shorthands}
+%
+% There are also three shorthands for the Cyrillic dash (\textrussian{тире}), which is shorter than the
+% emdash but longer than the endash (namely 0.8\,em).
+% Note that, since it is not covered by unicode, this character is faked by telescoping two endashes:
+% \begin{shorthands}
+% \item[¦"---¦] Cyrillic dash for the use in normal text. This requires preceding space
+% in input (trailing space is optional) and prints with a non-breakable thin space before
+% and after the dash.
+% \item[¦"--\textasciitilde¦] Cyrillic dash for the use in compound names (surnames).
+% As opposed to ¦"---¦ this removes any space before and after the dash.
+% \item[¦"--*¦] Cyrillic dash for denoting direct speech. This adds a larger space after
+% the dash. Space before the dash is output as is.
+% \end{shorthands}
% \item \xpgchoicekey{numerals}{\xpgpresetvalue{arabic}, \xpgvalue{cyrillic-alph} or \xpgvalue{cyrillic-trad}}
% Uses either Arabic numerals or Cyrillic alphanumerical numbering. The two Cyrillic variants differ as follows:
% \begin{itemize}
@@ -2391,7 +2520,7 @@ to track the issues and follow progress.
% Note also that the rule switches might interfere in bad ways with packages or classes that redefine footnotes themselves. This is also the reason
% why \cmd\autofootnoterule\ is not used by default.
%
-% \condbreak{5\baselineskip}
+%
% \section{Calendars}
%
% \subsection{Hebrew calendar (hebrewcal.sty)}
@@ -2529,9 +2658,9 @@ to track the issues and follow progress.
% In alphabetical order: \TA{Ignas Anikevicius}, \TA{Sina Ahmadi}, \TA{Wouter Bolsterlee}, \TA{Christian Buhtz},
% \TA{Zgarbul Andrey}, \TA{Oleg Domanov}, \TA{Philipp Gesang}, \TA{Kevin Godby}, \TA{Enrico Gregorio},
% \TA{Khaled Hosny}, \TA{Najib Idrissi}, user \TA{julroy67}, \TA{Dohyun Kim}, \TA{Phil Kime}, \TA{Mike Kroutikov},
-% \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{José Mancera}, \TA{Yevgen Pogribnyi}, \TA{Will Robertson}, \TA{Maïeul Rouquette},
-% \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg}, \TA{Philipp Stephani}, \TA{Niranjan Tambe}, \TA{Keno Wehr},
-% \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
+% \TA{Ivan Kokan}, \TA{Caleb Maclennan}, \TA{José Mancera}, \TA{Miquel Ortega}, \TA{Yevgen Pogribnyi}, \TA{Will Robertson},
+% \TA{Maïeul Rouquette}, \TA{Elie Roux}, \TA{Hugo Roy}, \TA{Guy Rutenberg}, \TA{Philipp Stephani}, \TA{Niranjan Tambe},
+% \TA{Keno Wehr}, \TA{Dominik Wujastyk}, \TA{Sertaç Ö. Yıldız}, \TA{Maksim Zholudev}, \TA{Yan Zhou}, and \TA{Stefan Zlatinov}.
% Their respective contributions can be identified from the contributor statistics on
% \href{https://github.com/reutenauer/polyglossia/graphs/contributors}{GitHub}.
%
@@ -2550,6 +2679,5547 @@ to track the issues and follow progress.
% \StopEventually{}
% \section{Implementation}
% \iffalse
+%<*polyglossia.sty>
+% \fi
+% \clearpage
+%
+% \subsection{polyglossia.sty}
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{polyglossia}[2020/10/09 v1.50
+ Modern multilingual typesetting with XeLaTeX and LuaLaTeX]
+\RequirePackage{etoolbox}
+\RequirePackage{makecmds}
+\RequirePackage{xkeyval}[2008/08/13]
+% Will raise error if used with anything else than XeTeX or LuaTeX
+\RequirePackage{fontspec}[2010/06/08]% v2.0
+\RequirePackage{iftex}
+\RequirePackage{expl3}
+\RequirePackage{l3keys2e}
+\RequirePackage{xparse}
+\RequirePackage{filehook}
+
+% correct a bug in tracklang
+\AtBeginOfPackageFile*{tracklang}{
+ \@ifpackagelater{tracklang}{2019/08/30}{}{\global\def\AddTrackedLangage{\AddTrackedLanguage}}
+}
+
+
+% fontspec now uses LaTeX3 packages such as expl3, so we need this:
+\ExplSyntaxOn
+
+%% This is for compatibility with Babel-aware package:
+\cslet{ver@babel.sty}{\@empty} % this "fakes" babel
+\def\languageshorthands#1{\relax} %this is for scrlttr2 class
+\def\bbl@cs#1{\csname bbl@#1\endcsname}%
+\AtEndPreamble{\let\bbl@set@language\xpg@set@language@aux} %for biblatex
+\AtEndPreamble{\let\bbl@main@language\xpg@main@language} %for biblatex
+\providecommand\texorpdfstring[2]{#1}% dummy command if hyperref is not loaded
+
+\ifluatex
+ \RequirePackage{luatexbase} % already included by fontspec, but needed here
+ \RequireLuaModule{polyglossia}
+\fi
+
+% Which version of XeTeX do we use? What is the boudary class? 4095 or 255
+\@ifundefined{e@alloc@intercharclass@top}
+ {\chardef\xpg@boundaryclass=\@cclv}
+ {\let\xpg@boundaryclass=\e@alloc@intercharclass@top}
+
+% Useful for getting list of loaded languages and variants. Like babel's bbl@loaded
+\let\xpg@loaded\@empty% list of loaded languages (polyglossia name)
+\let\xpg@vloaded\@empty% list of loaded variants
+\let\xpg@bloaded\@empty% list of loaded languages (babel name)
+\let\xpg@bcp@loaded\@empty% list of loaded languages (bcp-47 id)
+
+% counter in latin
+\def\latinalph#1{\expandafter\latin@alph\csname c@#1\endcsname}
+\def\latinAlph#1{\expandafter\latin@Alph\csname c@#1\endcsname}
+
+% select language hook
+\cs_new_nopar:Nn \polyglossia@AtBeginDocument@selectlanguage: {}
+% \disablehyphenation hook
+\cs_new_nopar:Nn \polyglossia@AtBeginDocument@hyphenation: {}
+
+% hook to be executed at begin of document
+\cs_new_nopar:Nn \polyglossia@AtBeginDocument: {
+ % save various command
+ \let\latin@alph\@alph % TODO rename when we have the C locale
+ \let\latin@Alph\@Alph % TODO rename when we have the C locale
+ % push to C language gloss
+ \let\polyglossia@Clang@@arabic\@arabic
+ \let\polyglossia@Clang@arabic\arabic
+
+ \xpg@initial@setup
+ % apply \familydefault changes
+ \xpg@set@familydefault
+}
+
+\AtBeginDocument{
+ \polyglossia@AtBeginDocument:
+}
+
+% The following needs to go after any \AtBeginDocument (also of packages
+% loaded after \set[main|other]language
+\AfterEndPreamble{
+ % now we have the C locale definition: select the language
+ \polyglossia@AtBeginDocument@selectlanguage:
+ % If hyphenation disabling has been requested in preamble, do it now
+ \polyglossia@AtBeginDocument@hyphenation:
+}
+
+%% custom message macros
+\providecommand*{\xpg@error}[1]{%
+ \PackageError{polyglossia}{#1}{}%
+}
+
+\providecommand*{\xpg@warning}[1]{%
+ \PackageWarning{polyglossia}{#1}%
+}
+
+\providecommand*{\xpg@info}[1]{%
+ \PackageInfo{polyglossia}%
+ {#1\@gobble}%
+} %% the \@gobble is to prevent displaying the line nr
+
+%TODO change all instances of \xpg@nopatterns in gloss-*.ldf files
+\providecommand*{\xpg@nopatterns@fallback}[2][nohyphenation]{%
+ \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#2'\MessageBreak
+ I~ will~ use~ \string\language=\string\l@ #1\space instead}%
+ \expandafter\adddialect\csname l@#2\expandafter\endcsname\csname l@#1\endcsname\relax}
+
+\providecommand*{\xpg@nopatterns}[1]{%
+ \xpg@warning{No~ hyphenation~ patterns~ were~ loaded~ for~ `#1'\MessageBreak
+ I~ will~ use~ \string\language=\string\l@nohyphenation\space instead}%
+ %%TODO? \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax
+ }
+
+\def\xpg@ill@value#1#2{%
+ \xpg@warning{Illegal~ value~ (#1)~ for~ #2}}
+
+% error out if lang is not loaded
+\cs_new_nopar:Nn \polyglossia@error@iflangnotloaded:n
+{
+ \cs_if_exist:cF{#1@loaded}
+ {
+ \xpg@error{language~ #1~ is~ not~ loaded.~ Please~ load~ it~ before~ using~ it.}
+ }
+}
+
+
+% error do not use directly the gloss file
+\msg_new:nnn { polyglossia } { directloadgloss }
+{
+ You~ should~ not~ load~ directly~ the~ gloss~ file~ using~ `\string\usepackage'.
+ You~ must~ use~ `\string\setotherlanguage\{#1\}' or `\string\setmainlanguage\{#1\}'.
+}
+\msg_redirect_name:nnn { polyglossia } { directloadgloss } { critical }
+
+%% use macro if defined, else warn that it is not
+\def\csuse@warn#1{%
+ \ifcsundef{#1}{\xpg@warning{ \expandafter\string\csname #1\endcsname\space is~ not~ defined}}%
+ {\csname #1\endcsname}}
+
+%% ensure directionality if bidi is loaded, else ignore
+\def\@@ensure@dir#1{\ifcsundef{@ensure@dir}{#1}{\@ensure@dir{#1}}}
+\def\@@ensure@maindir#1{\ifcsundef{@ensure@maindir}{#1}{\@ensure@maindir{#1}}}
+
+%% Used by the language definitions files for right-to-left languages
+\def\RequireBidi{%
+ \str_case_e:nnF{\c_sys_engine_str}{
+ {luatex}{\ifx\@onlypreamble\@notprerr\else\RequirePackage{luabidi}\fi}
+ {xetex}{\ifx\@onlypreamble\@notprerr\else\RequirePackage{bidi}\fi}
+ }
+ {
+ \xpg@warning{You’re running a TeX engine that is not LuaTeX or XeTeX.\MessageBreak
+ That is almost guaranteed to cause problems.}
+ }
+}
+
+% (lua)bidi commands to change directionality for paragraphs
+% and inline text.
+% overwritten with correct package
+\cs_new_nopar:Nn{\polyglossia@setpardirection:n}{%
+ \str_case_e:nnTF{#1}{%
+ {LR}{\relax}%
+ {RL}{\xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!}}%
+ }%
+ {}%
+ {\xpg@error{Unknown~ language~ direction~ #1 ~(base~ wrapper)}}%
+}
+\cs_new_nopar:Nn{\polyglossia@settextdirection:n}{%
+ \str_case_e:nnTF{#1}{%
+ {LR}{\relax}%
+ {RL}{\xpg@error{right-to-left,~ but~ (lua)bidi~ package~ was~ not~ loaded!}}%
+ }%
+ {}%
+ {\xpg@error{Unknown~ language~ direction~ #1 ~(base~ wrapper)}}%
+}
+\AtEndOfPackageFile*{bidi}{%
+ \ExplSyntaxOn%
+ \cs_gset_nopar:Nn{\polyglossia@setpardirection:n}{%
+ \str_case_e:nnTF{#1}{%
+ {LR}{\setLR}%
+ {RL}{\setRL}%
+ }%
+ {}%
+ {\xpg@error{Unknown~ language~ direction~ #1 ~(bidi~ wrapper)}}%
+ }%
+ \cs_gset_nopar:Nn{\polyglossia@settextdirection:n}{%
+ \str_case_e:nnTF{#1}{%
+ {LR}{\LRE}%
+ {RL}{\RLE}%
+ }%
+ {}%
+ {\xpg@error{Unknown~ language~ direction~ #1 ~(bidi~ wrapper)}}%
+ }%
+ \ExplSyntaxOff%
+}
+\AtEndOfPackageFile*{luabidi}{%
+ \ExplSyntaxOn%
+ \cs_gset_nopar:Nn{\polyglossia@setpardirection:n}{%
+ \str_case_e:nnTF{#1}{%
+ {LR}{\setLR}%
+ {RL}{\setRL}%
+ }
+ {}%
+ {\xpg@error{Unknown~ language~ direction~ #1 ~(luabidi~ wrapper)}}%
+ }%
+ \cs_gset_nopar:Nn{\polyglossia@settextdirection:n}{%
+ \str_case_e:nnTF{#1}{%
+ {LR}{\LRE}%
+ {RL}{\RLE}%
+ }
+ {}%
+ {\xpg@error{Unknown~ language~ direction~ #1 ~(luabidi~ wrapper)}}%
+ }%
+ \ExplSyntaxOff%
+}
+
+%% compatibility with babel
+\let\addto\gappto% gappto is defined in etoolbox
+
+%% NEW EXPERIMENTAL SETUP INTERFACE FOR GLOSS FILES
+%% options currently available:
+%% language : the name of the language (as understood by fontspec)
+%% hyphennames : the different hyphenation patterns to try (comma separated list)
+%%% TODO: if pattern is prefixed by !, then it should be loaded as a fallback, with \xpg@nopatterns@fallback - i.e. with a warning: e.g. sanskrit for hindi, or catalan for asturian. – Also for languages with variants! (English and German, etc.)
+%% script : the name of the script (as understood by fontspec) – default is Latin
+%% scripttag : the OpenType tag for the script
+%% langtag : the OpenType tag for the language
+%% hyphenmins : the hyphenmins for this language (comma-sep list of two integers)
+%% frenchspacing : boolean
+%% indentfirst : boolean
+%% fontsetup : boolean
+%% TODO: nouppercase : boolean (for scripts like Arabic, Devanagari, etc which have no concept of uppercase/lowercase)
+%% TODO: localalph = {<alph_csname>,<Alph_csname>}
+%% TODO: localnumeral = <csname>
+%% or even better localdigits = {0123456789} for fully automatic setup
+\newif\if@xpg@language@really@defined@
+\newcommand*\PolyglossiaSetup[2]{%
+ \polyglossia@keys_define_lang:n{#1}%
+ \keys_set:nn { polyglossia / #1 } { #2 }%
+ \prop_log:N{\polyglossia@langsetup}
+ \polyglossia_setup_hyphen:n {#1}
+ %define booleans etoolbox style and set defaults
+ %% TODO ? \providetoggle{#1@setup@done}%
+ % we initialize these so that we can use \gappto below
+ \csgdef{init@extras@#1}{}%
+ \csgdef{init@noextras@#1}{}% we don't use this yet: remove?
+ % here we do the fontsetup:
+ \polyglossia@lang@autosetupfont:n{#1}
+ %% TODO? \toggletrue{#1@setup@done}%
+ % reinit \do
+ \def\do##1{\setotherlanguage{##1}}%
+}
+
+% Adjust language key setting after initial setup
+% This is needed, e.g., for languages with varying script
+\DeclareDocumentCommand \SetLanguageKeys { m m }
+{
+ \clist_map_inline:nn { #1 } { \keys_set:nn { polyglossia / ##1 } { #2 } }
+}
+
+
+% setup hyphennames from a str list of hyphen
+\cs_new:Nn \polyglossia_setup_hyphen:n {
+ \exp_args:Nne \clist_set:Nn{\l_tmpa_clist}{\prop_item:Nn \polyglossia@langsetup {#1 / hyphennames}}
+ \providebool{havehyphen}
+ \boolfalse{havehyphen}
+ % for each hyphen in the set until we find one that works
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \ifbool{havehyphen}{}{%
+ % check if language hyphenname is defined
+ \polyglossia@check@ifdefined:NF{#1}{%
+ % if not, first consider nohyphenation
+ \str_if_eq:nnTF{##1}{nohyphenation}
+ {%
+ \cs_gset_eq:cc{l@#1}{l@##1}
+ \global\booltrue{havehyphen}
+ }{%
+ % then test if hyphenation is defined
+ \xpg@ifdefined{##1}{
+ % test if language hyphenation is nohyphenation
+ \cs_if_eq:cNF{l@#1}{\l@nohyphenation}{\global\booltrue{havehyphen}}{%
+ % if false define language to hyphenation if it is not equal...
+ \str_if_eq:nnF{#1}{##1}{\cs_gset_eq:cc{l@#1}{l@##1}}
+ % ...and load
+ \xpg@set@hyphenation@patterns{##1}
+ \global\booltrue{havehyphen}
+ }%
+ }{}%
+ }%
+ }%
+ }%
+ }%
+ % if l@#1 does not yet exist,
+ % we assign it to nohyphenation
+ % we do this here in case and if the hyphennames key was omitted
+ \ifbool{havehyphen}{}{%
+ \xpg@ifdefined{#1}{}%
+ {
+ \xpg@nopatterns{#1}
+ \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax
+ }%
+ }%
+ \csdef{#1@language}{%
+ \polyglossia@setup@language@patterns{#1}%
+ }%
+ % setup hyphenmins
+ \exp_args:NNe \clist_set:Nn \l_tmpa_clist
+ { \prop_item:Nn \polyglossia@langsetup {#1 / hyphenmins} }
+ \cs_if_eq:cNF {l@#1} \l@nohyphenation
+ {
+ \use:x
+ {
+ \exp_not:N \setlocalhyphenmins {#1}
+ { \clist_item:Nn \l_tmpa_clist {1} }
+ { \clist_item:Nn \l_tmpa_clist {2} }
+ }
+ }
+}
+
+\newcommand*\polyglossia@setup@language@patterns[1]{%
+ \ifbool{xpg@hyphenation@disabled}{%
+ \xdef\xpg@lastlanguage{\the\csname l@#1\endcsname}%
+ }{%
+ % first, test if \l@#1 exists
+ % without that, \csname l@#1\endcsname will be defined as \relax
+ \cs_if_exist:cTF {l@#1}
+ {
+ \cs_if_eq:cNTF {l@#1} \l@nohyphenation
+ {
+ \language=\l@nohyphenation
+ }
+ {
+ \xpg@set@hyphenation@patterns{#1}
+ }
+ }
+ {%
+ % Since this function is sometimes called from the gloss files
+ % directly, we need to check whether the requested hyphenname exists.
+ \xpg@ifdefined{#1}{}%
+ {%
+ \xpg@nopatterns{#1}
+ \expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax%
+ }%
+ \xpg@set@hyphenation@patterns{#1}
+ }
+ }
+}
+
+\prop_new:N \polyglossia@langsetup
+
+\cs_new_protected:Npn \polyglossia@keys_define_lang:n #1 {
+ \keys_define:nn {polyglossia}{
+ % the script font
+ #1 / script
+ .code:n = {
+ \prop_gput:Nnn{\polyglossia@langsetup}{#1/script}{##1}
+ \prop_gput:Nnx{\polyglossia@langsetup}{#1/lcscript}
+ {\tl_if_empty:nF{##1}{\str_lowercase:n##1}}
+ },
+ #1 / script
+ .value_required:n = true,
+ #1 / script
+ .initial:n = latin,
+ % the opentype script tag
+ #1 / scripttag
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/scripttag}{##1}},
+ #1 / scripttag
+ .default:n = {},
+ #1 / scripttag
+ .initial:n = {},
+ % the language full name
+ #1 / language
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/language}{##1}},
+ #1 / language
+ .value_required:n = true,
+ #1 / language
+ .initial:x = {\str_upper_case:n#1},
+ % the language tag
+ #1 / langtag
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/langtag}{##1}},
+ #1 / langtag
+ .value_required:n = true,
+ #1 / langtag
+ .initial:n = {},
+ % the BCP-47 tag
+ #1 / bcp47
+ .code:n = {\prop_gput:Nnn{\polyglossia@langsetup}{#1/bcp47}{##1}},
+ #1 / bcp47
+ .value_required:n = true,
+ #1 / bcp47
+ .initial:n = {},
+ % hyphennames
+ #1 / hyphennames
+ .code:n = {
+ \clist_set:Nn{\l_tmpa_clist}{##1}
+ \prop_gput:Nnx{\polyglossia@langsetup}{#1/hyphennames}{\clist_use:Nn \l_tmpa_clist {,}}
+ },
+ #1 / hyphennames
+ .value_required:n = true,
+ #1 / hyphennames
+ .initial:x = {\c_empty_clist},
+ % direction
+ #1 / direction
+ . code:n = {
+ \str_case_e:nnTF{##1}{
+ {LR}{}
+ {RL}{\RequireBidi}
+ }
+ {\prop_gput:Nnn{\polyglossia@langsetup}{#1/direction}{##1}}
+ {\xpg@error{Unknown~ direction~ "##1"~ for~ language~ "#1"}}
+ },
+ #1 / direction
+ .value_required:n = true,
+ #1 / direction
+ .initial:n = {LR},
+ % minimal left and right hyphenation minima using
+ #1 / hyphenmins
+ .code:n = {
+ % check syntax
+ \int_compare:nNnF { \clist_count:n {##1} } = {2}
+ {\xpg@error{hypenmins~should~be~a~list~of~two~entries,~got~"##1"}}
+ % set prop
+ \prop_gput:Nnn \polyglossia@langsetup {#1/hyphenmins} {##1}
+ },
+ #1 / hyphenmins
+ .value_required:n = true,
+ #1 / hyphenmins
+ .initial:n = {2,3},
+ % minimal length for hyphenation (LuaTeX only)
+ #1 / totalhyphenmin
+ .code:n = {
+ % check syntax
+ \int_compare:nNnF { \clist_count:n {##1} } = {1}
+ {\xpg@error{totalhyphenhypenmin~should~be~a~single~entry,~got~"##1"}}
+ % set prop
+ \prop_gput:Nnn \polyglossia@langsetup {#1/totalhyphenmin} {##1}
+ },
+ #1 / totalhyphenmin
+ .value_required:n = false,
+ % frenchspacing
+ #1 / frenchspacing
+ .code:n = {
+ \str_case_e:nnTF{##1}{
+ {true}{}
+ {false}{}
+ }
+ {}
+ {\xpg@error{frenchspacing~should~be~true~or~false. Is~ "##1"~ for~ language~ "#1"}}
+ \prop_gput:Nnn{\polyglossia@langsetup}{#1/frenchspacing}{##1}
+ },
+ #1 / frenchspacing
+ .default:n = true,
+ #1 / frenchspacing
+ .initial:n = false,
+ % indent first line
+ #1 / indentfirst
+ .code:n = {
+ \str_case_e:nnTF{##1}{
+ {true}{}
+ {false}{}
+ }
+ {}
+ {\xpg@error{indentfirst~should~be~true~or~false. Is~ "##1"~ for~ language "#1"}}
+ \prop_gput:Nnn{\polyglossia@langsetup}{#1/indentfirst}{##1}
+ },
+ #1 / indentfirst
+ .default:n = true,
+ #1 / indentfirst
+ .initial:n = false,
+ % fontsetup
+ #1 / fontsetup
+ .code:n = {
+ \str_case_e:nnTF{##1}{
+ {true}{}
+ {false}{}
+ }
+ {}
+ {\xpg@error{fontsetup~should~be~true~or~false. Is "##1"~ for~ language~ "#1"}}
+ \prop_gput:Nnn{\polyglossia@langsetup}{#1/fontsetup}{##1}
+ },
+ #1 / fontsetup
+ .default:n = true,
+ #1 / fontsetup
+ .initial:n = false,
+ % environment name
+ #1 / envname
+ .code:n = {
+ \prop_gput:Nnn{\polyglossia@langsetup}{#1/envname}{##1}
+ },
+ #1/ envname.value_required:n = true,
+ #1/ envname.initial:n = {#1},
+ % babel name
+ #1 / babelname
+ .code:n = {
+ \prop_gput:Nnn{\polyglossia@langsetup}{#1/babelname}{##1}
+ },
+ #1/ babelname.value_required:n = true,
+ #1/ babelname.initial:n = {#1},
+ % default numerals
+ #1 / localnumeral
+ . code:n = {
+ \prop_gput:Nnn{\polyglossia@langsetup}{#1/localnumeral}{##1}
+ \prop_gput:Nnn{\polyglossia@langsetup}{#1/Localnumeral}{##1}
+ },
+ #1 / localnumeral.value_required:n = true,
+ #1 / localnumeral.initial:n = {polyglossia@C@localnumeral},
+ % uppercased
+ #1 / Localnumeral
+ . code:n = {
+ \prop_gput:Nnn{\polyglossia@langsetup}{#1/Localnumeral}{##1}
+ },
+ #1 / Localnumeral.value_required:n = true,
+ #1 / Localnumeral.initial:n = {polyglossia@C@localnumeral}
+ }
+}
+
+% TODO move to C module
+\newcommand*{\polyglossia@C@localnumeral}[2]{
+ \polyglossia@Clang@@arabic{#2}
+}
+
+% print using main language
+% #2 is the numeral to print
+% #3 is the mainlanguage (should be expanded)
+% #4 is the current language (should be expanded)
+% #1 is the option list (should be expanded)
+% #5 is the name of the field to use
+\cs_new:Nn \polyglossia_localnumeral_mainlang:nnnnn {
+ \foreignlanguage{#3}{\use:c {\prop_item:Nn \polyglossia@langsetup {#3/#5}} {#1} {#2}}
+}
+
+
+% print using local language
+% #2 is the numeral to print
+% #3 is the mainlanguage (should be expanded)
+% #4 is the current language (should be expanded)
+% #1 is the option list (should be expanded)
+% #5 is the name of the field to use
+\cs_new:Nn \polyglossia_localnumeral_locallang:nnnnn {
+ \use:c {\prop_item:Nn \polyglossia@langsetup {#4/#5}} {#1} {#2}
+}
+
+% this function try to resolve some simple parameter about lang
+% call #2 then branching if found
+% call parameter #3 if not found
+% (use curing)
+\cs_new:Npn \polyglossia_localnumeral_callshortcutorlong:nF #1#2 {
+ \str_case:nnF{#1}{
+ {lang=local}{\polyglossia_localnumeral_locallang:nnnnn}
+ }
+ {#2}
+}
+
+\cs_new:Npn \polyglossia_iii_map_csv_field_split_kv_iii_localnumeral:w #1 = #2 \q_stop {
+ \str_case:nnF{#2}{
+ {local} {\clist_map_break:n{\use_i:nn \polyglossia_localnumeral_locallang:nnnnn }}
+ {default}{\clist_map_break:n{\use_i:nn \polyglossia_localnumeral_locallang:nnnnn }}
+ {*} {\clist_map_break:n{\use_i:nn\polyglossia_localnumeral_mainlang:nnnnn }}
+ {main} {\clist_map_break:n{\use_i:nn\polyglossia_localnumeral_mainlang:nnnnn }}
+ }{
+ \clist_map_break:n{ \use_i_ii:nnn \polyglossia_localnumeral_langlang:nnnnnn {{#2}} }
+ }
+}
+
+
+% call the language
+% #3 is the numeral to print
+% #4 is the mainlanguage (should be expanded)
+% #5 is the current language (should be expanded)
+% #2 is the option list (should be expanded)
+% #6 is the name of the field to use
+% #1 is the language used
+\cs_new:Nn \polyglossia_localnumeral_langlang:nnnnnn {
+ \foreignlanguage{#1}{\use:c {\prop_item:Nn \polyglossia@langsetup {#1/#6}} {#2} {#3}}
+}
+
+
+% check if empty value
+\cs_new:Npn \polyglossia_iii_map_csv_field_split_kv_ii_localnumeral:w #1 #2 = #3 \q_stop {
+ \quark_if_no_value:NTF {#3}
+ {
+ \clist_map_break:n{\use_i:nn \polyglossia_localnumeral_locallang:nnnnn}
+ }
+ {
+ \polyglossia_iii_map_csv_field_split_kv_iii_localnumeral:w #1 \q_stop
+ }
+}
+
+\cs_new:Npn \polyglossia_iii_map_csv_field_split_kv_i_localnumeral:nw #1 #2 = #3 \q_stop {
+ % parse only lang tag
+ \tl_trim_spaces_apply:nN {#2} \str_if_eq:nnT {lang}
+ {
+ % if empty value
+ \quark_if_nil:nTF{#3}
+ {
+ \clist_map_break:n{\use_i:nn \polyglossia_localnumeral_locallang:nnnn}
+ }
+ {
+ % here we know what we have an equal sign
+ \polyglossia_iii_map_csv_field_split_kv_ii_localnumeral:w {#1} #1 \q_no_value \q_stop
+ }
+ }
+}
+
+% map function
+\cs_new:Nn \polyglossia_iii_map_csv_localnumeral:n {
+ % fast case is do nothing is empty
+ \tl_if_empty:nF{#1}
+ {
+ \polyglossia_iii_map_csv_field_split_kv_i_localnumeral:nw {#1} #1 = \q_nil \q_stop
+ }
+}
+
+
+% treat option is empty and option is lang=local
+% #2 number
+% #3 mainlanguage
+% #4 locallanguage
+% #5 field to call
+% #1 option
+% strip space to option
+\cs_new:Nn \polyglossia_iii_localnumeral:nnnnn {
+ \tl_if_blank:nTF{#1}
+ {
+ \polyglossia_localnumeral_mainlang:nnnnn
+ }
+ {
+ \str_if_eq:nnTF{#1}{lang=local}
+ {
+ \polyglossia_localnumeral_locallang:nnnnn
+ }
+ {
+ % use postscript like trick push to stack {#1} {#2} {#3} {#4}
+ \polyglossia_localnumeral_callshortcutorlong:nF {#1}
+ {
+ % same trick here if found we emit \use_i:nn
+ % thus discarding the default choice that is not lang specified thus local
+ \clist_map_function:nN {#1} {\polyglossia_iii_map_csv_localnumeral:n}
+ \polyglossia_localnumeral_locallang:nnnnn
+ }
+ }
+ {#1} {#2} {#3} {#4} {#5}
+ }
+}
+
+
+% internal helper useful for oeee and onnn
+% #1 number
+% #2 mainlanguage
+% #3 locallanguage
+% #4 option
+% #5 field to call
+% strip space to option
+\cs_new:Nn \polyglossia_ii_localnumeral:nnnnn {
+ \tl_trim_spaces_apply:nN {#4} \polyglossia_iii_localnumeral:nnnnn {#1}{#2}{#3}{#5}
+}
+\cs_generate_variant:Nn \polyglossia_ii_localnumeral:nnnnn {
+ eeenn, eeeon, eeeen
+}
+
+% convert the counter to value
+% #1 counter
+% #2 mainlanguage
+% #3 locallanguage
+% #4 option
+\cs_new:Nn \polyglossia_i_localnumeral:nnnnn
+{
+ \polyglossia_ii_localnumeral:eeeen {\int_value:w #1} {#2} {#3} {#4} {#5}
+}
+
+% print number usage \localnumeral[option]{numeral}
+% or \localnumeral*[option]{counter}
+% \Localnumeral[]{numeral} use main language
+% \localnumeral{numeral} use local language
+\NewExpandableDocumentCommand{\localnumeral}{som}
+{
+ \IfBooleanTF{#1}%
+ {% starred: take counter
+ \exp_args:Nc \polyglossia_i_localnumeral:nnnnn {c@#3}
+ {\mainlanguagename} {\languagename} {\IfNoValueTF {#2}{lang=local}{#2}} {localnumeral}
+ }{% unstarred: take number
+ \polyglossia_ii_localnumeral:eeeen {\int_eval:n{#3}}
+ {\mainlanguagename} {\languagename} {\IfNoValueTF {#2}{lang=local}{#2}} {localnumeral}
+ }
+}
+
+% print number usage \Localnumeral[option]{numeral}
+% or \Localnumeral*[option]{counter}
+% \Localnumeral[]{numeral} use main language
+% \localnumeral{numeral} use local language
+\NewExpandableDocumentCommand{\Localnumeral}{som}
+{
+ \IfBooleanTF{#1}%
+ {% starred: take counter
+ \exp_args:Nc \polyglossia_i_localnumeral:nnnnn {c@#3}
+ {\mainlanguagename} {\languagename} {\IfNoValueTF {#2}{lang=local}{#2}} {Localnumeral}
+ }{% unstarred: take number
+ \polyglossia_ii_localnumeral:eeeon {\int_eval:n{#3}}
+ {\mainlanguagename} {\languagename} {\IfNoValueTF {#2}{lang=local}{#2}} {Localnumeral}
+ }
+}
+
+\cs_new_nopar:Nn{\polyglossia@lang@frenchspacing:n}{
+ \prop_get:NxNTF \polyglossia@langsetup {#1/frenchspacing} \l_tmpa_tl
+ {
+ \str_case_e:nnF{\l_tmpa_tl}{
+ {true}{\frenchspacing}
+ {false}{\nonfrenchspacing}
+ }
+ {\xpg@error{frenchspacing~should~be~true~or~false. Is~"\l_tmpa_ttl"~ for~ language~ "#1"}}
+ }
+ {
+ \xpg@error{Could~ not~ retrieve~ key~ frenchspacing~ for~ language~ "#1"}
+ \prop_show:N{\polyglossia@langsetup}
+ }
+}
+
+\cs_new_nopar:Nn{\polyglossia@lang@indentfirst:n}{
+ \prop_get:NxNTF \polyglossia@langsetup {#1/indentfirst} \l_tmpa_tl
+ {
+ \str_case_e:nnF{\l_tmpa_tl}{
+ {true}{\french@indent}
+ {false}{\nofrench@indent}
+ }
+ {\xpg@error{indentfirst~should~be~true~or~false. Is~"\l_tmpa_ttl"~ for~ language~ "#1"}}
+ }
+ {
+ \xpg@error{Could~ not~ retrieve~ key~ indentfirst~ for~ language~ "#1"}
+ \prop_show:N{\polyglossia@langsetup}
+ }
+}
+
+
+\cs_new:Nn{\polyglossia@lang@setpardirection:n}{
+ \prop_get:NxNTF \polyglossia@langsetup {#1/direction} \l_tmpa_tl
+ {
+ \polyglossia@setpardirection:n{\l_tmpa_tl}
+ }
+ {
+ \xpg@error{Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"}
+ \prop_show:N{\polyglossia@langsetup}
+ }
+}
+
+
+\cs_new:Nn{\polyglossia@lang@settextdirection:nn}{
+ \prop_get:NxNTF \polyglossia@langsetup {#1/direction} \l_tmpa_tl
+ {
+ \polyglossia@settextdirection:n{\l_tmpa_tl}{#2}
+ }
+ {
+ \xpg@error{Could~ not~ retrieve~ key~ direction~ for~ language~ "#1"}
+ \prop_show:N{\polyglossia@langsetup}
+ }
+}
+
+\AtEndDocument{\prop_log:N{\polyglossia@langsetup}}
+\def\xpg@lastlanguage{0}%
+
+\providebool{xpg@hyphenation@disabled}%
+\boolfalse{xpg@hyphenation@disabled}
+
+\def\xpg@disablehyphenation{%
+ \ifx\@onlypreamble\@notprerr%
+ \xpg@@disablehyphenation%
+ \else%
+ % if this is used in the preamble, we have to postpone
+ % the execution until the main language has been set (#125).
+ \cs_gset_nopar:Nn \polyglossia@AtBeginDocument@hyphenation: {
+ \xpg@@disablehyphenation%
+ }%
+ \fi%
+}
+
+\def\xpg@@disablehyphenation{%
+ \ifbool{xpg@hyphenation@disabled}{}{%
+ \booltrue{xpg@hyphenation@disabled}%
+ \xdef\xpg@lastlanguage{\the\language}%
+ % We do not call \xpg@set@hyphenation@patterns here to avoid a warning message.
+ % "nohyphenation" is not listed in language.dat.lua.
+ \language=\l@nohyphenation%
+ }%
+}
+
+\def\xpg@enablehyphenation{%
+ \ifbool{xpg@hyphenation@disabled}{%
+ \boolfalse{xpg@hyphenation@disabled}%
+ \language=\csname xpg@lastlanguage\endcsname%
+ }{}%
+}
+
+\let\disablehyphenation\xpg@disablehyphenation
+\let\enablehyphenation\xpg@enablehyphenation
+
+%\def\xpg@fontsetup#1{\xpg@csifdef@warn{xpg@fontsetup@#1}}
+%\def\xpg@fontsetup@none#1{\csgdef{#1@font}{\ifcsdef{#1font}{\csname #1font\endcsname}{}}} %<-- simplistic
+%\def\xpg@fontsetup@custom#1{\csuse{#1@font}}
+
+\cs_new:Nn \polyglossia@lang@autosetupfont:n {
+ \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/fontsetup}}{true}
+ {
+ \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript}}{latin}%
+ {\xpg@fontsetup@latin{#1}}
+ {\xpg@fontsetup@nonlatin{#1}}
+ }
+ {
+ \xpg@info{Skipping~ automatic~ font~ setup~ for~ language~ #1}
+ }
+}
+
+
+% add fontfeature Language=#2 to langtag #1
+% do nothing if #1 or #2 is empty
+\cs_new:Nn \polyglossia@addfontfeature@language:nn {
+ \bool_if:nTF{\tl_if_empty_p:n{#1} || \tl_if_empty_p:n{#2}}
+ {
+ % maybe an error ?
+ \xpg@warning{Asking~ to~ add~ empty~ feature~to~ latin~ font~
+ (Language="#2"~ to~ langtag~ "#1")}
+ }
+ {
+ \str_if_eq:nnTF{#2}{Turkish}{
+ \fontspec_if_language:nTF {TRK}%
+ {
+ \addfontfeature{Language=Turkish}
+ }
+ {
+ \fontspec_if_language:nTF {TUR}%
+ {
+ \addfontfeature{Language=Turkish}
+ }{}
+ }
+ }{
+ \fontspec_if_language:nTF{#1}
+ {
+ \addfontfeature{Language=#2}
+ }
+ {}
+ }
+ }
+}
+\cs_generate_variant:Nn \polyglossia@addfontfeature@language:nn { on , no, oo , Vn, nV, VV , xn, nx, xx}
+
+% add fontfeature Script=#2 to scripttag #1
+% do nothing if #1 or #2 is empty
+\cs_new:Nn \polyglossia@addfontfeature@script:nn {
+ \bool_if:nTF{\tl_if_empty_p:n{#1} || \tl_if_empty_p:n{#2}}
+ {
+ % maybe an error ?
+ \xpg@warning{Asking~ to~ add~ empty~ feature~to~ latin~ font
+ (Script="#2"~ to~ scripttag~ "#1")}
+ }
+ {
+ \fontspec_if_script:nTF{#1}
+ {\addfontfeature{Script=#2}}
+ {\xpg@error{
+ The~ current~ latin ~ font~ \l_fontspec_family_tl\space does~ not~ contain~ the~"#2"~ script!\MessageBreak
+ Please~ define~\csname\tl_if_empty:nF{#2}{\str_lowercase:n#2}font\endcsname~
+ with~ \string\newfontfamily\space command
+ }
+ }
+ }
+}
+\cs_generate_variant:Nn \polyglossia@addfontfeature@script:nn { on , no, oo , Vn, nV, VV , xn, nx, xx}
+
+\def\xpg@fontsetup@latin#1{%
+ \begingroup
+ \csgdef{#1@font@rm}{%
+ \cs_if_exist_use:cF{#1font}{
+ \rmfamilylatin
+ \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}}
+ {\prop_item:Nn{\polyglossia@langsetup}{#1/language}}
+ }
+ }
+ \csgdef{#1@font@sf}{%
+ \cs_if_exist_use:cF{#1fontsf}{
+ \sffamilylatin
+ \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}}
+ {\prop_item:Nn{\polyglossia@langsetup}{#1/language}}
+ }%
+ }%
+ \csgdef{#1@font@tt}{%
+ \cs_if_exist_use:cF{#1fonttt}{
+ \ttfamilylatin
+ \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}}
+ {\prop_item:Nn{\polyglossia@langsetup}{#1/language}}
+ }%
+ }%
+ \endgroup
+}
+
+\def\xpg@fontsetup@nonlatin#1{%
+ \begingroup
+ \csgdef{#1@font@rm}{%
+ \cs_if_exist_use:cF{#1font}
+ {
+ \providetoggle{#1@use@script@font}%
+ \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}}
+ {\rmfamilylatin}%
+ {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} font}
+ {
+ \toggletrue{#1@use@script@font}%
+ }
+ {
+ \rmfamilylatin
+ }
+ }
+ \iftoggle{#1@use@script@font}{}{%
+ \polyglossia@addfontfeature@script:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}}
+ {\prop_item:Nn{\polyglossia@langsetup}{#1/script}}
+ }%
+ \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}}
+ {\prop_item:Nn{\polyglossia@langsetup}{#1/language}}
+ }}%
+ \csgdef{#1@font@sf}{%
+ \cs_if_exist_use:cF{#1fontsf}%
+ {
+ \providetoggle{#1@use@script@fontsf}%
+ \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}}
+ {\sffamilylatin}%
+ {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} fontsf}
+ {
+ \toggletrue{#1@use@script@fontsf}%
+ }
+ {
+ \sffamilylatin
+ }
+ }
+ \iftoggle{#1@use@script@fontsf}{}{%
+ \polyglossia@addfontfeature@script:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}}
+ {\prop_item:Nn{\polyglossia@langsetup}{#1/script}}
+ }%
+ \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}}
+ {\prop_item:Nn{\polyglossia@langsetup}{#1/language}}
+ }}%
+ \csgdef{#1@font@tt}{%
+ \cs_if_exist_use:cF{#1fonttt}%
+ {
+ \providetoggle{#1@use@script@fonttt}%
+ \str_if_eq:nnTF{\prop_item:Nn{\polyglossia@langsetup}{#1/script}}{\prop_item:Nn{\polyglossia@langsetup}{#1/language}}
+ {\ttfamilylatin}%
+ {\cs_if_exist_use:cTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript} fonttt}
+ {
+ \toggletrue{#1@use@script@fonttt}%
+ }
+ {
+ \ttfamilylatin
+ }
+ }
+ \iftoggle{#1@use@script@fonttt}{}{%
+ \polyglossia@addfontfeature@script:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/scripttag}}
+ {\prop_item:Nn{\polyglossia@langsetup}{#1/script}}
+ }%
+ \polyglossia@addfontfeature@language:xx{\prop_item:Nn{\polyglossia@langsetup}{#1/langtag}}
+ {\prop_item:Nn{\polyglossia@langsetup}{#1/language}}
+ }}%
+ \endgroup
+}
+
+%%% END OF PolyglossiaSetup
+
+%% ensure localization of \markright and \markboth commands
+%%% THIS IS NOW DISABLED BY DEFAULT
+\cs_new_nopar:Nn {\polyglossia@local@marks:n} {}
+\cs_new_nopar:Nn {\polyglossia@enable@local@marks:}
+{
+ \xpg@info{Option:~ localmarks}%
+ \cs_gset_nopar:Nn \polyglossia@local@marks:n
+ {%
+ \def\xpg@tmp@lang{##1}%
+ \DeclareRobustCommand\markboth[2]{%
+ \begingroup
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \unrestored@protected@xdef\@themark
+ {%
+ {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}}%
+ {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####2}}}%
+ }%
+ \@temptokena \expandafter{\@themark}%
+ \mark{\the\@temptokena}%
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi%
+ }%
+ \DeclareRobustCommand\markright[1]{%
+ \begingroup
+ \let\label\relax \let\index\relax \let\glossary\relax
+ \expandafter\@markright\@themark
+ {\lowercase{\foreignlanguage{\xpg@tmp@lang}}{\protect\@@ensure@maindir{####1}}}%
+ \@temptokena \expandafter{\@themark}%
+ \mark{\the\@temptokena}%
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi%
+ }%
+% This part seems wrong (see #396 for explanation). Remove after a while.
+% \def\@markright####1####2####3{%
+% \@temptokena{\protect\@@ensure@maindir{####1}}%
+% \unrestored@protected@xdef\@themark{%
+% {\the\@temptokena}%
+% {\protect\@@ensure@maindir{####3}}%
+% }%
+% }%
+ }%
+}
+
+
+% Easy way out – Arthur, 2012-08-01
+\ifcsdef{newXeTeXintercharclass}{%
+% to reset the intercharclass of a character to "normal"
+\newXeTeXintercharclass\xpg@normalclass %TODO
+}{}
+
+\ifxetex
+%% when no patterns are available, we use \l@nohyphenation, assigned to 255
+%% (suggestion by Enrico Gregorio)
+ \@ifundefined{l@nohyphenation}{\chardef\l@nohyphenation=255 }{}
+\else\ifluatex
+ \@ifundefined{l@nohyphenation}{\chardef\l@nohyphenation=\directlua{
+ tex.sprint(polyglossia.newloader_loaded_languages.nohyphenation)}\relax
+ }{}
+\fi\fi
+
+%we call this macro when a gloss file is not found for a given language
+\def\xpg@nogloss#1{%
+ \xpg@warning{File~ gloss-#1.ldf~ does~ not~ exist!\MessageBreak
+ I~ will~ nevertheless~ try~ to~ use~ hyphenation~ patterns~ for~ #1.}%
+ \PolyglossiaSetup{#1}{hyphenmins,hyphennames={#1},fontsetup=true}%
+ % the above amounts to:
+ %\ifcsundef{l@#1}%
+ % {\expandafter\adddialect\csname l@#1\endcsname\l@nohyphenation\relax}%
+ % {\setlocalhyphenmins{#1}{2}{3}}%
+ %\csdef{#1@language}{\language=\csname l@#1\endcsname}%
+}
+
+\newcommand{\xpg@input}[1]{%
+ % Store catcode of @ before making at letter
+ \chardef\xpg@saved@at@catcode\catcode`\@
+ \makeatletter
+ \input{#1}%
+ % restore former @ catcode
+ \catcode`\@=\xpg@saved@at@catcode%
+}
+
+% try to load a language file
+\cs_new:Nn \polyglossia_load_lang_definition:nn {
+ \file_if_exist:nTF{gloss-#2.ldf}
+ {
+ % Temporarily force catcode of ~ to 13 since babelsh.def
+ % requires it. This is needed particularly with LaTeX3
+ % packages which force \ExplSyntaxOn (#425)
+ \protected\edef\xpg@restore@tilde@catcode{\catcode 126 = \the\catcode 126\relax}
+ \catcode 126 = 13
+ \xpg@input{gloss-#2.ldf}
+ \setkeys{#2}{#1}
+ % restore former ~ catcode
+ \xpg@restore@tilde@catcode
+ }
+ {
+ \xpg@nogloss{#2}
+ }
+}
+
+% load a master language from an alias file
+\newcommand*\xpg@load@master@language[1] {
+ \xpg@input{gloss-#1.ldf}
+ \ifcsundef{#1@loaded}%
+ {
+ \exp_args:Nx\polyglossia@define@language@cmd:n{#1}%
+ }{}
+ \polyglossia@register@language:nn{}{#1}%
+ \csgdef{#1@loaded}{}%
+}
+
+
+% define environment and command
+\cs_new:Nn \polyglossia@define@language@cmd:n {
+ \ifcsundef{#1@alias@lang}{%
+ \exp_args:Ne
+ \newenvironment {\prop_item:Nn{\polyglossia@langsetup}{#1/envname}} [1] []
+ {
+ \begin{otherlanguage}[##1]{#1}
+ }%
+ {
+ \end{otherlanguage}
+ }%
+ \exp_args:Nc \newcommand {text#1} [2][]
+ {%
+ \xpg@textlanguage[##1]{#1}{##2}%
+ }%
+ }{}
+}
+
+% provide way to define alias environment and command
+% \setlanguagealias[<options>]{<language>}{<alias>}
+\DeclareDocumentCommand \setlanguagealias {s O{} m m}
+{
+ % The starred version does not define commands and environments
+ \IfBooleanF {#1}
+ {
+ \ifcsundef{#4@alias@lang}{%
+ \exp_args:Ne
+ \newenvironment {#4}
+ {
+ \begin{otherlanguage}[#2]{#3}
+ }%
+ {
+ \end{otherlanguage}
+ }%
+ \exp_args:Nc \newcommand {text#4} [2][]
+ {%
+ \xpg@textlanguage[#2,##1]{#3}{##2}%
+ }%
+ }{%
+ \exp_args:Ne
+ \renewenvironment {#4}
+ {
+ \begin{otherlanguage}[#2]{#3}
+ }%
+ {
+ \end{otherlanguage}
+ }%
+ \exp_args:Nc \renewcommand {text#4} [2][]
+ {%
+ \xpg@textlanguage[#2,##1]{#3}{##2}%
+ }%
+ }%
+ }%
+ \csgdef{#4@alias@lang}{#3}%
+ \tl_if_blank:nF {#2} {\csgdef{#4@alias@opts}{#2}}%
+}
+
+\cs_new:Nn \polyglossia@register@language:nn {
+ % register polyglossia language name
+ \ifcsundef{#2@registered}{%
+ \global\edef\xpg@loaded{%
+ \ifx\xpg@loaded\@empty\else\xpg@loaded,\fi #2%
+ }%
+ }{}
+ \csgdef{#2@registered}{}%
+ \tl_if_blank:nF {#1}{%
+ % Register the language options
+ \polyglossia@set@lang@options:nn {#2} {#1}%
+ }%
+ % register babelname
+ \def\xpg@tmp@babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}%
+ \ifcsundef{\csname xpg@tmp@babelname\endcsname @bbl@registered}{%
+ \global\edef\xpg@bloaded{%
+ \ifx\xpg@bloaded\@empty\else\xpg@bloaded,\fi\xpg@tmp@babelname}%
+ }{}%
+ \csgdef{\csname xpg@tmp@babelname\endcsname @bbl@registered}{}%
+ % register BCP-47 ID
+ \def\xpg@tmp@bcpname{\prop_item:Nn{\polyglossia@langsetup}{#2/bcp47}}%
+ \ifcsundef{\csname xpg@tmp@bcpname\endcsname @bcp@registered}{%
+ \global\edef\xpg@bcp@loaded{%
+ \ifx\xpg@bcp@loaded\@empty\else\xpg@bcp@loaded,\fi\xpg@tmp@bcpname}%
+ }{}%
+ \csgdef{\csname xpg@tmp@bcpname\endcsname @bcp@registered}{}%
+}
+
+
+\newcommand{\setdefaultlanguage}[2][]{%
+ \ifcsundef{#2@loaded}%
+ {
+ \polyglossia_load_lang_definition:nn{#1}{#2}
+ % define environment and command (except for internal latex language)
+ \ifstrequal{#2}{latex}{}{%
+ \exp_args:Nx\polyglossia@define@language@cmd:n{#2}
+ }%
+ \csgdef{#2@loaded}{}%
+ }
+ {
+ \relax
+ }
+ \ifcsdef{#2@alias@lang}{%
+ \ifcsdef{#2@alias@opts}{%
+ \exp_args:Nxx \polyglossia_load_lang_definition:nn {\csuse{#2@alias@opts},#1} {\csuse{#2@alias@lang}}%
+ \exp_args:Nxx \polyglossia@set@default@language:nn {\csuse{#2@alias@opts},#1} {\csuse{#2@alias@lang}}%
+ }{%
+ \polyglossia@set@default@language:nn {#1} {\csuse{#2@alias@lang}}%
+ }%
+ }{%
+ \polyglossia@set@default@language:nn {#1} {#2}%
+ }%
+}
+
+\cs_new:Nn \polyglossia@set@default@language:nn
+{
+ \gdef\xpg@main@language{#2}%
+ \tl_if_blank:nTF {#1}{\gdef\mainlanguagevariant{}}{%
+ % Register the language options
+ \polyglossia@set@lang@options:nn {#2} {#1}%
+ }%
+ \csgdef{#2@gvar}{\mainlanguagevariant}%
+ %% The following settings are for the default language and script
+ % this tells bidi.sty or luabidi.sty that the document is RTL
+ \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}}{RL}{%
+ \str_case_e:nnF{\c_sys_engine_str}{%
+ {luatex}{\setRTLmain}
+ {xetex}{\@RTLmaintrue\setnonlatin}
+ }{}%
+ }{}%
+ \cs_gset_nopar:Nn \polyglossia@AtBeginDocument@selectlanguage: {
+ \selectbackgroundlanguage{#2}
+ \selectlanguage[#1]{#2}%
+ }
+ \xpg@info{Default~ language~ is~ #2}%
+ \polyglossia@set@language@name[#1]{#2}%
+ \def\mainlanguagename{#2}
+ % Store babelname of main language (for external packages such as biblatex)
+ \prop_get:NxNT \polyglossia@langsetup {#2/babelname} \l_tmpa_tl
+ { \edef\mainbabelname{\l_tmpa_tl} }
+ % Store babelname of current language (for external packages such as biblatex)
+ \prop_get:NxNT \polyglossia@langsetup {#2/babelname} \l_tmpa_tl
+ { \edef\babelname{\l_tmpa_tl}%
+ \cs_gset_eq:cc{#2@gbabelname}{babelname}%
+ }
+ % Store BCP-47 id of main language
+ \prop_get:NxNT \polyglossia@langsetup {#2/bcp47} \l_tmpa_tl
+ { \csedef{mainbcp47id}{\l_tmpa_tl} }
+ % Store BCP-47 id of current language
+ \prop_get:NxNT \polyglossia@langsetup {#2/bcp47} \l_tmpa_tl
+ { \csedef{bcp47id}{\l_tmpa_tl}%
+ \cs_gset_eq:cc{#2@gbcp47id}{bcp47id}%
+ }
+ \ifluatex %
+ \directlua{polyglossia.set_default_language('\luatexluaescapestring{\string#2}')}%
+ \fi %
+}
+
+\let\setmainlanguage=\setdefaultlanguage
+
+% Returns the language ID of the current language
+% Currently supported: bcp-47
+\DeclareDocumentCommand \languageid {m}
+{
+ \str_case:nnTF {#1}
+ {
+ {bcp-47} { \csuse{bcp47id} }
+ {bcp47} { \csuse{bcp47id} }
+ }
+ {}
+ {
+ \xpg@error{Invalid~ \string\languageid\space argument:~ #1}
+ }
+}
+
+% Returns the language ID of the main language
+% Currently supported: bcp-47
+\DeclareDocumentCommand \mainlanguageid {m}
+{
+ \str_case:nnTF {#1}
+ {
+ {bcp-47} { \csuse{mainbcp47id} }
+ {bcp47} { \csuse{mainbcp47id} }
+ }
+ {}
+ {
+ \xpg@error{Invalid~ \string\mainlanguageid\space argument:~ #1}
+ }
+}
+
+\def\mainbabelname{}%
+\def\mainlanguagevariant{}%
+% Store main language variant for external packages
+\define@key{xpg@main@langvariant}{variant}{%
+ \gdef\mainlanguagevariant{#1}%
+}
+
+\def\babelname{}%
+\def\languagevariant{}%
+% Store current language variant for external packages
+\define@key{xpg@set@langvariant}{variant}{%
+ \def\languagevariant{#1}%
+}
+
+\newcommand*\polyglossia@set@language@name[2][]{
+ \def\languagename{#2}%
+ \tl_if_blank:nTF {#1}{%
+ \ifcsundef{#2@gvar}{\def\languagevariant{}}{\def\languagevariant{\csuse{#2@gvar}}}
+ }{%
+ % Register the language options
+ \polyglossia@set@lang@options:nn {#2} {#1}%
+ }%
+}
+
+
+\newcommand*{\resetdefaultlanguage}[2][]{%
+ \ifcsdef{#2@alias@lang}{%
+ \ifcsdef{#2@alias@opts}{%
+ \exp_args:Nxx \polyglossia@reset@default@language:nn {\csuse{#2@alias@opts},#1} {\csuse{#2@alias@lang}}%
+ }{%
+ polyglossia@reset@default@language:nn {#1} {\csuse{#2@alias@lang}}%
+ }%
+ }{%
+ polyglossia@reset@default@language:nn {#1} {#2}%
+ }%
+}
+
+\cs_new:Nn \polyglossia@reset@default@language:nn
+{
+ \polyglossia@error@iflangnotloaded:n{#2}
+ % disable globalnumbers of previously defined default language
+ \csuse{no\xpg@main@language @globalnumbers}
+ \csuse{noextras@\xpg@main@language}%
+ % This is a hook for external packages which want to access variants
+ % via babelname (such as biblatex)
+ \cs_if_exist_use:c{noextras@bbl@\mainbabelname}%
+ \csuse{init@noextras@\xpg@main@language}%
+ \polyglossia@set@language@name[#1]{#2}%
+ \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}}{RL}{\@rlmaintrue\@rl@footnotetrue}{}%
+ \selectlanguage[#1]{#2}%
+ \selectbackgroundlanguage{#2}%
+ % Store babelname of current language (for external packages such as biblatex)
+ \tl_if_blank:nTF {#1}{%
+ \ifcsundef{#2@gbabelname}{%
+ \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}%
+ }{%
+ \edef\babelname{\csuse{#2@gbabelname}}%
+ }%
+ }{%
+ \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}%
+ }%
+ % Store BCP-47 id of current language
+ \tl_if_blank:nTF {#1}{%
+ \ifcsundef{#2@gbcp47id}{%
+ \csedef{bcp47id}{\prop_item:Nn{\polyglossia@langsetup}{#2/bcp47}}%
+ }{%
+ \csedef{bcp47id}{\csuse{#2@gbcp47id}}%
+ }%
+ }{%
+ \csedef{bcp47id}{\prop_item:Nn{\polyglossia@langsetup}{#2/bcp47}}%
+ }%
+}
+
+% This saves the normalfont for the latin script since we may change normalfont in other scripts
+\let\normalfontlatin=\normalfont%
+
+% Provide default fonts (as set with \setmainfont, \setsansfont and \setmonofont)
+% for Latin scripts and as a fallback for non-Latin scripts.
+\DeclareRobustCommand\xpg@defaultfont@rm{%
+ \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
+ \fontfamily\rmdefault%
+ \selectfont%
+}
+\DeclareRobustCommand\xpg@defaultfont@sf{%
+ \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
+ \fontfamily\sfdefault%
+ \selectfont%
+}
+\DeclareRobustCommand\xpg@defaultfont@tt{%
+ \tl_if_empty:NF{\g__fontspec_nfss_enc_tl}{\fontencoding{\g__fontspec_nfss_enc_tl}}%
+ \fontfamily\ttdefault%
+ \selectfont%
+}
+
+\def\xpg@patch@fontfamilies{%
+ % This robustifies the redefinitions of \<xx>family (suggestion by Enrico Gregorio)
+ % e.g. to prevent expansion of the \familytype redefinition in auxiliary files
+ \csgappto{rmfamily~}{\def\familytype{rm}}
+ \csgappto{sffamily~}{\def\familytype{sf}}
+ \csgappto{ttfamily~}{\def\familytype{tt}}
+}
+
+% These switches activate the default fonts
+% Note that a simple \let\rmfamilylatin=\rmfamily
+% does not work reliably (see #24)
+\cs_gset_eq:cc{rmfamilylatin}{xpg@defaultfont@rm}%
+\cs_gset_eq:cc{sffamilylatin}{xpg@defaultfont@sf}%
+\cs_gset_eq:cc{ttfamilylatin}{xpg@defaultfont@tt}%
+
+\def\xpg@set@familydefault{%
+ % We need the \edef route here in order
+ % to detect both \renewcommand and \let
+ % changes.
+ \edef\tempa{\familydefault}%
+ \edef\tempb{\sfdefault}%
+ \ifcsequal{tempa}{tempb}%
+ {\def\familytype{sf}}
+ {\edef\tempb{\ttdefault}%
+ \ifcsequal{tempa}{tempb}%
+ {\def\familytype{tt}}
+ {\def\familytype{rm}}}
+ \xpg@patch@fontfamilies%
+ % This (re-)saves the normalfont for the latin script since we may
+ % change normalfont in other scripts
+ \let\normalfontlatin=\normalfont%
+ % And for all cases, we also reset \<xx>familylatin
+ \cs_gset_eq:cc{rmfamilylatin}{xpg@defaultfont@rm}%
+ \cs_gset_eq:cc{sffamilylatin}{xpg@defaultfont@sf}%
+ \cs_gset_eq:cc{ttfamilylatin}{xpg@defaultfont@tt}%
+}
+
+\def\resetfontlatin{%
+ \DeclareRobustCommand\rmfamily{\xpg@defaultfont@rm}%
+ \DeclareRobustCommand\sffamily{\xpg@defaultfont@sf}%
+ \DeclareRobustCommand\ttfamily{\xpg@defaultfont@tt}%
+ \xpg@patch@fontfamilies%
+ \global\let\normalfont=\normalfontlatin%
+}
+
+\def\selectfontfamilylatin{%
+ \def\tmp@tt{tt}\def\tmp@sf{sf}%
+ \ifx\familytype\tmp@tt%
+ \ttfamilylatin%
+ \else\ifx\familytype\tmp@sf%
+ \sffamilylatin%
+ \else\rmfamilylatin\fi\fi}
+
+\def\xpg@select@fontfamily#1{%
+ \def\tmp@tt{tt}\def\tmp@sf{sf}%
+ \ifx\familytype\tmp@tt
+ \csuse@warn{#1@font@tt}%
+ \else\ifx\familytype\tmp@sf
+ \csuse@warn{#1@font@sf}%
+ \else\csuse@warn{#1@font@rm}\fi\fi}
+
+\def\xpg@set@normalfont#1{%
+ \DeclareRobustCommand\rmfamily{\csuse{#1@font@rm}}%
+ \DeclareRobustCommand\sffamily{\csuse{#1@font@sf}}%
+ \DeclareRobustCommand\ttfamily{\csuse{#1@font@tt}}%
+ \gdef\normalfont{\protect\xpg@select@fontfamily{#1}%
+ \fontseries{\seriesdefault}\selectfont%
+ \fontshape{\shapedefault}\selectfont}%
+ \gdef\reset@font{\protect\normalfont}%
+}
+
+\let\@@fterindentfalse\@afterindentfalse
+\def\french@indent{%
+ \let\@afterindentfalse\@afterindenttrue
+ \@afterindenttrue%
+}
+\def\nofrench@indent{%
+ \let\@afterindentfalse\@@fterindentfalse
+ \@afterindentfalse%
+}
+
+\newcommand*{\selectbackgroundlanguage}[1]{%
+ \ifcsdef{#1@alias@lang}{%
+ \polyglossia@select@background@language:n {\csuse{#1@alias@lang}}%
+ }{%
+ \polyglossia@select@background@language:n {#1}%
+ }%
+}
+
+\cs_new:Nn \polyglossia@select@background@language:n
+{
+ \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/lcscript}}{latin}
+ {}
+ {\xpg@set@normalfont{#1}}%
+ \csuse{#1@globalnumbers}%
+}
+
+\newcommand{\setotherlanguage}[2][]{%
+ \ifcsundef{#2@loaded}
+ {
+ \polyglossia_load_lang_definition:nn{#1}{#2}
+ % define environment and command
+ \exp_args:Nx\polyglossia@define@language@cmd:n{#2}
+ \ifcsdef{#2@alias@lang}{%
+ \ifcsdef{#2@alias@opts}{%
+ \exp_args:Nxx \polyglossia_load_lang_definition:nn {\csuse{#2@alias@opts},#1} {\csuse{#2@alias@lang}}%
+ \exp_args:Nxx \polyglossia@set@other@language:nn {\csuse{#2@alias@opts},#1} {\csuse{#2@alias@lang}}%
+ }{%
+ \polyglossia@set@other@language:nn {#1} {\csuse{#2@alias@lang}}%
+ }%
+ }{%
+ \polyglossia@set@other@language:nn {#1} {#2}%
+ }%
+ \csgdef{#2@loaded}{}%
+ }
+ {}
+}
+
+\cs_new:Nn \polyglossia@set@other@language:nn
+{
+ \polyglossia@register@language:nn{#1}{#2}%
+ % If a variant is set, store it.
+ \gdef\otherlanguagevariant{}
+ \tl_if_blank:nTF {#1}{}{%
+ % Register the language options
+ \polyglossia@set@lang@options:nn {#2} {#1}%
+ }%
+ \csgdef{#2@gvar}{\otherlanguagevariant}%
+ \prop_get:NxNT \polyglossia@langsetup {#2/babelname} \l_tmpa_tl
+ { \xdef\otherlanguagebabelname{\l_tmpa_tl} }
+ \cs_gset_eq:cc{#2@gbabelname}{otherlanguagebabelname}%
+}
+
+% Store main language variant for external packages
+\define@key{xpg@other@langvariant}{variant}{%
+ \gdef\otherlanguagevariant{#1}%
+}
+
+\newcommand\setotherlanguages[1]{%
+ \def\do##1{\setotherlanguage{##1}}%
+ \exp_args:Nx\docsvlist{#1}}%
+
+\def\common@language{% FIXME is this really needed???
+ \ifbool{xpg@hyphenation@disabled}{%
+ \xdef\xpg@lastlanguage{\z@}%
+ }{%
+ \language=\z@
+ }%
+ \lefthyphenmin=\tw@
+ \righthyphenmin=\thr@@}
+
+\def\xpg@initial@setup{%
+ \common@language%
+}
+
+
+% Alias to \text<lang>, but more suitable
+% for specific (esp. tag-based) aliases
+% where \text<alias> would cause clashes
+% (e.g., \textit)
+\newcommand\textlang[3][]{%
+ \ifcsdef{#2@alias@lang}{%
+ \ifcsdef{#2@alias@opts}{%
+ \exp_args:Nxx \xpg@textlanguage[\csuse{#2@alias@opts},#1]{\csuse{#2@alias@lang}}{#3}%
+ }{%
+ \xpg@textlanguage[#1]{\csuse{#2@alias@lang}}{#3}%
+ }%
+ }{%
+ \xpg@textlanguage[#1]{#2}{#3}%
+ }%
+}%
+
+% Alias to {<lang>}, but more suitable
+% for specific (esp. tag-based) aliases
+% where {<alias>} would cause clashes
+% (e.g., \fi)
+\newenvironment{lang}[2][]{%
+ \begin{otherlanguage}[#1]{#2}%
+}{%
+ \end{otherlanguage}
+}%
+
+\providecommand{\foreignlanguage}{}
+
+% wrapper for foreignlanguage and otherlanguage*
+\newcommand*\polyglossia@setforeignlanguage[2][]{
+ \select@@language[#1]{#2}
+ \polyglossia@register@language:nn{#1}{#2}%
+ % Store babelname of current language (for external packages such as biblatex)
+ \tl_if_blank:nTF {#1}{%
+ \ifcsundef{#2@gbabelname}{%
+ \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}%
+ }{%
+ \edef\babelname{\csuse{#2@gbabelname}}%
+ }%
+ }{%
+ \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}%
+ }%
+ % Store BCP-47 id of current language
+ \tl_if_blank:nTF {#1}{%
+ \ifcsundef{#2@gbcp47id}{%
+ \csedef{bcp47id}{\prop_item:Nn{\polyglossia@langsetup}{#2/bcp47}}%
+ }{%
+ \csedef{bcp47id}{\csuse{#2@gbcp47id}}%
+ }%
+ }{%
+ \csedef{bcp47id}{\prop_item:Nn{\polyglossia@langsetup}{#2/bcp47}}%
+ }%
+}
+
+% joint code of \foreignlanguage, otherlanguage*
+% and \text<lang>
+\newcommand{\xpg@otherlanguage}[2][]
+{%
+ \polyglossia@error@iflangnotloaded:n{#2}
+ \exp_args:Nne \setkeys{#2}{#1}%
+ \polyglossia@setforeignlanguage[#1]{#2}
+ % Hook for external packages such as biblatex
+ \polyglossia@language@switched%
+ % buggy restoration heure
+ \csuse{inlineextras@#2}%
+ % This is a hook for external packages which want to access variants
+ % via babelname (such as biblatex)
+ \cs_if_exist_use:c{inlineextras@bbl@\babelname}%
+}
+
+\renewcommand{\foreignlanguage}[3][]
+{%
+ \ifcsdef{#2@alias@lang}{%
+ \ifcsdef{#2@alias@opts}{%
+ \exp_args:Nxx \polyglossia@foreignlanguage:nnn {\csuse{#2@alias@opts},#1} {\csuse{#2@alias@lang}} {#3}%
+ }{%
+ \polyglossia@foreignlanguage:nnn {#1} {\csuse{#2@alias@lang}} {#3}%
+ }%
+ }{%
+ \polyglossia@foreignlanguage:nnn {#1} {#2} {#3}%
+ }%
+}
+
+\cs_new:Nn \polyglossia@foreignlanguage:nnn
+{
+ \polyglossia@error@iflangnotloaded:n{#2}
+ \bgroup
+ \xpg@otherlanguage[#1]{#2}%
+ \polyglossia@lang@settextdirection:nn{#2}{#3}%
+ \egroup
+}
+
+% otherlanguage* is the environment equivalent of \foreignlanguage
+\expandafter\providecommand\csname otherlanguage*\endcsname{}
+
+\renewenvironment{otherlanguage*}[2][]
+{%
+ \ifcsdef{#2@alias@lang}{%
+ \ifcsdef{#2@alias@opts}{%
+ \exp_args:Nxx \polyglossia@otherlanguage:nn {\csuse{#2@alias@opts},#1} {\csuse{#2@alias@lang}}%
+ }{%
+ \polyglossia@otherlanguage:nn {#1} {\csuse{#2@alias@lang}}%
+ }%
+ }{%
+ \polyglossia@otherlanguage:nn {#1} {#2}%
+ }%
+}
+{\egroup}
+
+\cs_new:Nn \polyglossia@otherlanguage:nn
+{
+ \xpg@otherlanguage[#1]{#2}%
+ \polyglossia@lang@settextdirection:nn{#2}\bgroup%
+}
+
+% use by \text<lang> and \textlang. Equivalent to \foreignlanguage,
+% except that dates are localized.
+\newcommand\xpg@textlanguage[3][]{%
+ \polyglossia@error@iflangnotloaded:n{#2}
+ \bgroup
+ \xpg@otherlanguage[#1]{#2}%
+ \csuse{date#2}%
+ % This is a hook for external packages which want to access variants
+ % via babelname (such as biblatex)
+ \cs_if_exist_use:c{date@bbl@\babelname}%
+ \polyglossia@lang@settextdirection:nn{#2}{#3}%
+ \egroup
+ % Reset the language's/script's font families
+ \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#2/lcscript}}{latin}{}{\resetfontlatin}%
+}
+
+
+% Define language-specific hyphenation exceptions
+\newcommand\pghyphenation[3][]{
+ \bgroup
+ \polyglossia@error@iflangnotloaded:n{#2}
+ \setkeys{#2}{#1}%
+ \select@@language[#1]{#2}%
+ \hyphenation{#3}%
+ \egroup
+}
+
+
+% Hook that other package authors can use
+% (for instance biblatex):
+\newcommand*{\xpg@hook@setlanguage}{}
+
+\def\xpg@pop@language@i#1#2{%
+ \xpg@set@language@aux[#1]{#2}%
+ \xpg@hook@setlanguage
+ \let\emp@langname\@undefined}
+
+\DeclareDocumentCommand \selectlanguage {s O{} m}
+{%
+ \ifcsdef{#3@alias@lang}{%
+ \ifcsdef{#3@alias@opts}{%
+ \exp_args:Nxx \polyglossia@select@language:nnn {#1} {\csuse{#3@alias@opts},#2} {\csuse{#3@alias@lang}}%
+ }{%
+ \polyglossia@select@language:nnn {#1} {#2} {\csuse{#3@alias@lang}}%
+ }%
+ }{%
+ \polyglossia@error@iflangnotloaded:n{#3}%
+ \polyglossia@select@language:nnn {#1} {#2} {#3}%
+ }
+}
+
+\cs_new:Nn \polyglossia@select@language:nnn
+{
+ \IfBooleanF {#1}
+ {
+ \cs_set_nopar:Npx \xpg@pop@language { \exp_not:N \xpg@pop@language@i {#2} {#3} }
+ \group_insert_after:N \xpg@pop@language
+ }
+ \tl_if_blank:nTF {#2}{}{%
+ % Register the language options
+ \polyglossia@set@lang@options:nn {#3} {#2}%
+ }%
+ % The starred variant does not write to the aux
+ \IfBooleanTF#1{%
+ \xpg@set@language@nonaux[#2]{#3}%
+ }{%
+ \xpg@set@language@aux[#2]{#3}%
+ }%
+ \ifluatex%
+ \directlua{polyglossia.select_language('\luatexluaescapestring{\string#3}',
+ \the\csname l@#3\endcsname)}%
+ \fi%
+ \polyglossia@register@language:nn{#2}{#3}%
+}
+
+
+\cs_new:Nn \polyglossia@set@lang@options:nn
+{
+ % If the optional argument sets a value for the key “variantâ€, copy it to xpg@langvariant
+ \clist_map_inline:nn { #2 } {%
+ \xpg@parsevariantkeyvalue##1=@xpg@langvariant:#1\relax
+ }%
+ \exp_args:Nne \setkeys{#1}{#2}%
+}
+
+% Initialize default language options, so that
+% \iflanguageoption has the info it needs also
+% for default settings
+\newcommand*\xpg@initialize@gloss@options[2]{%
+ \polyglossia@set@lang@options:nn {#1} {#2}%
+}
+
+% Record synonymous keyvals such as variant=us and variant=american
+% Syntax: \xpg@set@alias@values{<lang>}{<key>}{<val>}{<alias vals, comma-separated>}
+\newcommand*\xpg@set@alias@values[4]{%
+ \prop_if_exist:cF { xpg@alias@keyvals@#1@#3 }
+ { \prop_new:c {xpg@alias@keyvals@#1@#3} }
+ \prop_put:cnn { xpg@alias@keyvals@#1@#3 }
+ {#2}{#4}
+ \prop_put:cnn { xpg@alias@keyvals@#1@#4 }
+ {#2}{#3}
+}
+
+% Patch xkeyval to record default values of keys
+\pretocmd{\XKV@define@default}{%
+ \csgdef{xpg@default@opt@\XKV@header #1}{#2}%
+}{}{\xpg@warning{Patching xkeyval failed!}}
+
+% Helper to get and register option keyvals
+\def\xpg@parsevariantkeyvalue#1=#2@#3:#4\relax{%
+ \def\@tmpa{#1}
+ \def\@tmpb{variant}
+ % variant values are stored in specific macros
+ % (\xpg@main@langvariant, \xpg@other@langvariant
+ % and \xpg@set@langvariant)
+ \ifx\@tmpa\@tmpb\setkeys{#3}{#1=#2}\fi
+ \tl_if_empty:nTF{#2}
+ {
+ \ifcsdef{xpg@default@opt@KV@#4@#1}%
+ {\xpg@store@opt@keyval#1:\csuse{xpg@default@opt@KV@#4@#1}=:#4\relax}%
+ {}%
+ }
+ { \xpg@store@opt@keyval#1:#2:#4\relax }
+}%
+
+% Store option keys and values
+% This strips trailing '=' from values.
+\def\xpg@store@opt@keyval#1:#2=:#3\relax{%
+ \prop_if_exist:cF { xpg@current@options@#3 }
+ { \prop_new:c {xpg@current@options@#3} }
+ \prop_put:cnn { xpg@current@options@#3 }
+ {#1}{#2}
+}
+
+
+\prg_set_conditional:Npnn \polyglossia@check@option@value:NNN #1#2#3 { p , T , F , TF }
+{
+ \prop_get:cnNTF {xpg@current@options@#1} {#2} \l_tmpa_tl
+ {
+ \exp_args:Nee \str_if_eq:NNTF{\l_tmpa_tl}{#3}
+ {\prg_return_true:}
+ {
+ \prop_get:cnNTF {xpg@alias@keyvals@#1@#3} {#2} \l_tmpb_tl
+ {
+ \exp_args:Nne \clist_set:Nn{\l_tmpa_clist}{\l_tmpb_tl}
+ \providetoggle{xpgvalfound}
+ \togglefalse{xpgvalfound}
+ \clist_map_inline:Nn \l_tmpa_clist {
+ \exp_args:Nee \str_if_eq:NNT{##1}{\l_tmpa_tl}
+ { \toggletrue{xpgvalfound} }
+ }
+ \iftoggle{xpgvalfound}{\prg_return_true:}{\prg_return_false:}
+ }
+ {
+ \prg_return_false:
+ }
+ }
+ }
+ {
+ \prg_return_false:
+ }
+}
+
+% Test if option value is set
+\newcommand*\iflanguageoption[5]{%
+ \polyglossia@check@option@value:NNNTF{#1}{#2}{#3}{#4}{#5}%
+}
+
+
+% Append any variant to csv list of variants
+\define@key{xpg@langvariant}{variant}{%
+ \edef\xpg@vloaded{#1\ifx\xpg@vloaded\@empty\else,\xpg@vloaded\fi}%
+}
+
+\prg_set_conditional:Npnn \polyglossia@check@if@lang@loaded:N #1 { p , T , F , TF }{
+ \cs_if_exist:cTF{#1}{
+ \prg_return_true:
+ }{
+ \prg_return_false:
+ }
+}
+
+% Test if language is loaded
+\newcommand*\iflanguageloaded[3]{%
+ \polyglossia@check@if@lang@loaded:NTF{#1@loaded}{#2}{#3}%
+}
+
+% Same for babellanguage is loaded
+\newcommand*\ifbabellanguageloaded[3]{%
+ \polyglossia@check@if@lang@loaded:NTF{#1@bbl@loaded}{#2}{#3}%
+}
+
+% Same for languageid
+\DeclareDocumentCommand \iflanguageidloaded {mmmm}
+{
+ \str_case:nnTF {#1}
+ {
+ {bcp-47} { \polyglossia@check@if@lang@loaded:NTF{#2@bcp@loaded}{#3}{#4} }
+ {bcp47} { \polyglossia@check@if@lang@loaded:NTF{#2@bcp@loaded}{#3}{#4} }
+ }
+ {}
+ {
+ \xpg@error{Invalid~ \string\iflanguageidloaded\space argument:~ #1}
+ }
+}
+
+% Check if the current font has a given glyph
+\prg_set_conditional:Npnn \polyglossia@check@if@char@available:N #1 { p , T , F , TF }
+{
+ \str_case_e:nnF{\c_sys_engine_str}{
+ {luatex}{
+ \int_compare:nNnTF { \directlua{polyglossia.check_char(0x#1)} } > { 0 }
+ {\prg_return_true:}
+ {\prg_return_false:}
+ }
+ {xetex}{
+ \int_compare:nNnTF { \the\XeTeXcharglyph"#1 } > { 0 }
+ {\prg_return_true:}
+ {\prg_return_false:}
+ }
+ }
+ {
+ \xpg@warning{You’re running a TeX engine that is not LuaTeX or XeTeX.\MessageBreak
+ That is almost guaranteed to cause problems.}
+ }
+}
+
+% Test if a char (by char code) is available in the current font
+\newcommand*\xpg@if@char@available[3]{%
+ \polyglossia@check@if@char@available:NTF{#1}{#2}{#3}%
+}
+
+\newcommand*\charifavailable[2]{%
+ \xpg@if@char@available{#1}{\char"#1}{#2}%
+}
+
+
+\newcommand*{\xpg@set@language@nonaux}[2][]{%
+ \@select@language[#1]{#2}%
+}
+
+
+\newcommand*{\xpg@set@language@aux}[2][]{%
+ % Store babelname of current language (for external packages such as biblatex)
+ \tl_if_blank:nTF {#1}{%
+ \ifcsundef{#2@gbabelname}{%
+ \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}%
+ }{%
+ \edef\babelname{\csuse{#2@gbabelname}}%
+ }%
+ }{%
+ \edef\babelname{\prop_item:Nn{\polyglossia@langsetup}{#2/babelname}}%
+ }%
+ % Store BCP-47 id of current language
+ \tl_if_blank:nTF {#1}{%
+ \ifcsundef{#2@gbcp47id}{%
+ \csedef{bcp47id}{\prop_item:Nn{\polyglossia@langsetup}{#2/bcp47}}%
+ }{%
+ \csedef{bcp47id}{\csuse{#2@gbcp47id}}%
+ }%
+ }{%
+ \csedef{bcp47id}{\prop_item:Nn{\polyglossia@langsetup}{#2/bcp47}}%
+ }%
+ \@select@language[#1]{#2}%
+ % Write to the aux
+ \if@filesw%
+ \ifx#1\\\\%
+ \protected@write\@auxout{}{\protect\selectlanguage*{#2}}%
+ \addtocontents{toc}{\protect\selectlanguage*{#2}}%
+ \addtocontents{lof}{\protect\selectlanguage*{#2}}%
+ \addtocontents{lot}{\protect\selectlanguage*{#2}}%
+ \else
+ \protected@write\@auxout{}{\protect\selectlanguage*[#1]{#2}}%
+ \addtocontents{toc}{\protect\selectlanguage*[#1]{#2}}%
+ \addtocontents{lof}{\protect\selectlanguage*[#1]{#2}}%
+ \addtocontents{lot}{\protect\selectlanguage*[#1]{#2}}%
+ \fi
+ \fi
+}
+
+% The bidi package swaps the output stream within RTL tables
+% (to get the column order right). This also swaps group
+% delimiters inserted to the aux files via otherlanguage (see #354).
+% We therefore patch bidi and insert a bool that tells us
+% whether we are in such a table.
+\newbool{xpg@inbiditable}
+\AtBeginDocument{%
+ \@ifpackageloaded{bidi}{%
+ \patchcmd{\@tabular}%
+ {\if@RTLtab}%
+ {\if@RTLtab\booltrue{xpg@inbiditable}}%
+ {}% success
+ {\xpg@warning{Patching bidi table failed!}}%
+ }{}%
+}
+
+% Open a group in the aux file. This is to keep
+% nested language options local (see #320).
+% In bidi tables, the opening/closing needs to be swapped (see #354)
+\newcommand*{\xpg@set@group@aux}{%
+ \if@filesw%
+ \ifbool{xpg@inbiditable}{%
+ \protected@write\@auxout{}{\egroup}%
+ \addtocontents{toc}{\egroup}%
+ \addtocontents{lof}{\egroup}%
+ \addtocontents{lot}{\egroup}%
+ }{%
+ \protected@write\@auxout{}{\bgroup}%
+ \addtocontents{toc}{\bgroup}%
+ \addtocontents{lof}{\bgroup}%
+ \addtocontents{lot}{\bgroup}%
+ }%
+ \fi
+}
+
+% Close the group in the aux file.
+% In bidi RTL tables, the opening/closing needs
+% to be swapped (see #354).
+\newcommand*{\xpg@unset@group@aux}{%
+ \if@filesw%
+ \ifbool{xpg@inbiditable}{%
+ \protected@write\@auxout{}{\bgroup}%
+ \addtocontents{toc}{\bgroup}%
+ \addtocontents{lof}{\bgroup}%
+ \addtocontents{lot}{\bgroup}%
+ }{%
+ \protected@write\@auxout{}{\egroup}%
+ \addtocontents{toc}{\egroup}%
+ \addtocontents{lof}{\egroup}%
+ \addtocontents{lot}{\egroup}%
+ }%
+ \fi
+}
+
+\prg_set_conditional:Npnn \polyglossia@check@ifdefined:N #1 { p , T , F , TF }{
+ \cs_if_exist:cTF {l@#1}
+ {
+ \cs_if_eq:cNTF {l@#1} \l@nohyphenation
+ {
+ \prg_return_false:
+ }
+ {
+ % it's possible that sometimes \csname l@#1\endcsname becomes \relax
+ \cs_if_eq:cNTF {l@#1} \relax
+ { \prg_return_false: }
+ { \prg_return_true: }
+ }
+ }
+ {
+ \prg_return_false:
+ }
+}
+
+\def\polyglossia@luatex@load@lang#1{%
+ % if \l@#1 is not properly defined, call lua function newloader(#1),
+ % and assign the returned number to \l@#1
+ \polyglossia@check@ifdefined:NF {#1}
+ {
+ \expandafter\chardef\csname l@#1\endcsname=
+ \directlua{ tex.sprint(polyglossia.newloader'#1') }\relax
+ }
+}
+
+% This check is also used by biblatex, so don't
+% rename silently.
+\newcommand\xpg@ifdefined[3]{%
+ % With luatex, we first need to define \l@#1.
+ \ifluatex
+ \polyglossia@luatex@load@lang{#1}%
+ \fi
+ \polyglossia@check@ifdefined:NTF{#1}{#2}{#3}%
+}%
+
+% Set \bbl@hyphendata@\the\language, which is (lua)babel's
+% hyphenation pattern hook
+% FIXME Clarifiy why/when this is needed.
+\newcommand*\xpg@set@bbl@hyphendata[1]{%
+ \ifluatex%
+ \ifcsdef{bbl@hyphendata@#1}{}{%
+ \global\@namedef{bbl@hyphendata@\the\language}{}%
+ }%
+ \fi%
+}
+
+% Set hyphenation patterns for a given language. This does the right
+% thing both for XeTeX and LuaTeX
+\newcommand*\xpg@set@hyphenation@patterns[1]{%
+ \ifluatex
+ \polyglossia@luatex@load@lang{#1}%
+ \language=\csname l@#1\endcsname
+ \else
+ \ifxetex
+ \language=\csname l@#1\endcsname
+ \else
+ \xpg@warning{You’re~running~a~TeX~engine~that~is~not~LuaTeX~or~XeTeX.\MessageBreak
+ That~is~almost~guaranteed~to~cause~problems.}%
+ \fi
+ \fi
+}
+
+
+\newcommand*\@select@language[2][]{
+ % hook for compatibility with biblatex
+ \select@language{#2}
+ \xpg@set@bbl@hyphendata{\the\language}
+ \xpg@initial@setup%
+ \select@@language[#1]{#2}%
+ % Hook for external packages such as biblatex
+ \polyglossia@language@switched%
+ \polyglossia@lang@setpardirection:n{#2}%
+ \csuse{captions#2}%
+ \csuse{date#2}%
+ % These are hooks for external packages which want to access variants
+ % via babelname (such as biblatex)
+ \cs_if_exist_use:c{captions@bbl@\babelname}%
+ \cs_if_exist_use:c{date@bbl@\babelname}%
+ \polyglossia@local@marks:n{#2}%
+ \csuse{init@extras@#2}%
+ \polyglossia@lang@indentfirst:n{#2}%
+ \csuse{blockextras@#2}%
+ % This is a hook for external packages which want to access variants
+ % via babelname (such as biblatex)
+ \cs_if_exist_use:c{blockextras@bbl@\babelname}%
+ }
+
+% hook for compatibility with biblatex
+% (probably no longer used due to the
+% more general hook that follows, but
+% we keep it for backwards comp.)
+\def\select@language#1{}
+
+% Hook for external packages such as biblatex
+\def\polyglossia@language@switched{}
+
+\def\noextrascurrent#1{%
+ \csuse{noextras@#1}%
+ % This is a hook for external packages which want to access variants
+ % via babelname (such as biblatex)
+ \cs_if_exist_use:c{noextras@bbl@\babelname}
+}
+
+% Common code for `\select@language' and `\foreignlanguage'.
+\newcommand{\select@@language}[2][]{%
+ % disable the extras and number settings of the previous language
+ \ifcsundef{languagename}{}{%
+ \noextrascurrent{\languagename}%
+ \csuse{no\languagename @numbers}%
+ \ifxetex
+ \str_if_eq:eeTF{\exp_args:Nne\prop_item:Nn{\polyglossia@langsetup}{\languagename/direction}}{RL}%
+ {%
+ \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}}{RL}%
+ {}% RTL -> RTL
+ {\setlatin}% RTL -> LTR
+ }{%
+ \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#2/direction}}{RL}%
+ {\setnonlatin}% LTR -> RTL
+ {}% LTR -> LTR
+ }%
+ \fi
+ }%
+ \polyglossia@set@language@name[#1]{#2}%
+ % Set the language's/script's font families
+ \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#2/lcscript}}{latin}{\resetfontlatin}{\xpg@set@normalfont{#2}}%
+ \xpg@select@fontfamily{#2}%
+ \csuse@warn{#2@language}%
+ \csuse{#2@numbers}%
+ \use@localhyphenmins[#1]{#2}%
+ \polyglossia@lang@frenchspacing:n{#2}
+}
+
+
+\let\xpg@pop@language\relax
+
+\provideenvironment{otherlanguage}{}{}
+
+\newbool{xpg@noset@groups}
+\renewenvironment{otherlanguage}[2][]
+{%
+ % We usually embrace the switch in groups to keep the changes local.
+ % We cannot do this if an LTR environmet starts in an RTL paragraph,
+ % as bidi interferes here badly with its directionality smartness.
+ \ifxetex
+ \str_if_eq:eeT{\exp_args:Nne\prop_item:Nn{\polyglossia@langsetup}{\languagename/direction}}{RL}%
+ {%
+ \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/direction}}{RL}%
+ {}% RTL -> RTL
+ {\ifvmode\else\booltrue{xpg@noset@groups}\fi}% RTL -> LTR
+ }%
+ \fi%
+ \ifbool{xpg@noset@groups}{}{\xpg@set@group@aux}%
+ \selectlanguage[#1]{#2}%
+}
+{\ifbool{xpg@noset@groups}{}{\xpg@unset@group@aux}}
+
+\newcommand{\setlocalhyphenmins}[3]{%
+ \xpg@ifdefined{#1}{%
+ \expandafter\ifx\csname l@#1\endcsname\l@nohyphenation%
+ \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unhyphenated~ language~ #1}%
+ \else
+ \providehyphenmins{#1}{#2#3}%
+ \fi
+ }{%
+ \xpg@warning{\string\setlocalhyphenmin\space~ useless~ for~ unknown~ language~ #1}%
+ }%
+}%
+
+% \setlanghyphenmins[options]{lang}{l}{r}
+\newcommand*\setlanghyphenmins[4][]{%
+ % Check for real language name and options
+ \edef\xpg@tmp@lang{#2}%
+ \edef\xpg@tmp@opts{#1}%
+ \ifcsdef{#2@alias@lang}{%
+ \edef\xpg@tmp@lang{\csuse{#2@alias@lang}}%
+ \ifcsdef{#2@alias@opts}{%
+ \edef\xpg@tmp@opts{\csuse{#2@alias@opts},#1}%
+ }{}%
+ }{}%
+ \bgroup
+ \polyglossia@error@iflangnotloaded:n{\xpg@tmp@lang}
+ \exp_args:Nne \setkeys{\xpg@tmp@lang}{\xpg@tmp@opts}%
+ % Store BCP-47 id of language
+ \tl_if_blank:nTF {\xpg@tmp@opts}{%
+ \ifcsundef{\csname xpg@tmp@lang\endcsname @gbcp47id}{%
+ \csedef{tmp@bcp47id}{\exp_args:Nne\prop_item:Nn{\polyglossia@langsetup}{\xpg@tmp@lang /bcp47}}%
+ }{%
+ \csedef{tmp@bcp47id}{\csuse{#2@gbcp47id}}%
+ }%
+ }{%
+ \csedef{tmp@bcp47id}{\exp_args:Nne \prop_item:Nn{\polyglossia@langsetup}{\xpg@tmp@lang /bcp47}}%
+ }%
+ \xpg@warning{id: \csuse{tmp@bcp47id}}%
+ \csgdef{\csname tmp@bcp47id\endcsname @hyphenmins}{{#3}{#4}}%
+ \egroup
+}
+
+% \use@localhypenmins[options]{lang}
+\newcommand*\use@localhyphenmins[2][]{%
+ \bgroup
+ \polyglossia@error@iflangnotloaded:n{#2}
+ \setkeys{#2}{#1}%
+ % Store BCP-47 id of language
+ \tl_if_blank:nTF {#1}{%
+ \ifcsundef{#2@gbcp47id}{%
+ \csxdef{tmp@bcp47id}{\prop_item:Nn{\polyglossia@langsetup}{#2/bcp47}}%
+ }{%
+ \csxdef{tmp@bcp47id}{\csuse{#2@gbcp47id}}%
+ }%
+ }{%
+ \csxdef{tmp@bcp47id}{\prop_item:Nn{\polyglossia@langsetup}{#2/bcp47}}%
+ }%
+ \egroup
+ \ifcsundef{\csname tmp@bcp47id\endcsname @hyphenmins}{%
+ \ifcsundef{#2hyphenmins}{}%
+ {%
+ \expandafter\expandafter\expandafter\set@hyphenmins\csname #2hyphenmins\endcsname\relax%
+ }
+ }{%
+ \edef\tmpa{\csuse{\csname tmp@bcp47id\endcsname @hyphenmins}}%
+ \expandafter\expandafter\expandafter\set@hyphenmins\tmpa\relax%
+ }
+ \ifluatex
+ % Set \totalhyphenmin if specified
+ \prop_get:NxNTF \polyglossia@langsetup {#2/totalhyphenmin} \l_tmpa_tl
+ {
+ \xpg@warning{totalhyphenmin: '\l_tmpa_tl'}
+ \expandafter\hyphenationmin \l_tmpa_tl%
+ }%
+ {}%
+ \fi
+}
+
+% Babel previously compiled in hyphenrules into the kernel (via hyphen.cfg)
+% but this is no longer the case. In any case, we roll our own one now
+% and possibly overwrite babel's.
+\provideenvironment{hyphenrules}{}{}
+
+% As opposed to the one inherited from switch.def/babel, our environment
+% supports language options and aliases.
+\renewenvironment{hyphenrules}[2][]
+{%
+ % We usually embrace the switch in groups to keep the changes local.
+ % We cannot do this if an LTR environmet starts in an RTL paragraph,
+ % as bidi interferes here badly with its directionality smartness.
+ \ifxetex
+ \str_if_eq:eeT{\exp_args:Nne\prop_item:Nn{\polyglossia@langsetup}{\languagename/direction}}{RL}%
+ {%
+ \str_if_eq:eeTF{\prop_item:Nn{\polyglossia@langsetup}{#1/direction}}{RL}%
+ {}% RTL -> RTL
+ {\ifvmode\else\booltrue{xpg@noset@groups}\fi}% RTL -> LTR
+ }%
+ \fi%
+ \ifbool{xpg@noset@groups}{}{\xpg@set@group@aux}%
+ % Check for real language name and options
+ \edef\xpg@tmp@lang{#2}%
+ \edef\xpg@tmp@opts{#1}%
+ \ifcsdef{#2@alias@lang}{%
+ \edef\xpg@tmp@lang{\csuse{#2@alias@lang}}%
+ \ifcsdef{#2@alias@opts}{%
+ \edef\xpg@tmp@opts{\csuse{#2@alias@opts},#1}%
+ }{}%
+ }{}%
+ \tl_if_blank:nF {\xpg@tmp@opts}{%
+ % Register the language options
+ \polyglossia@set@lang@options:nn {\xpg@tmp@lang} {\xpg@tmp@opts}%
+ }%
+ % Now switch patterns
+ \csuse@warn{\csuse{xpg@tmp@lang}@language}%
+ % And activate hyphenmins
+ \use@localhyphenmins[\xpg@tmp@opts]{\xpg@tmp@lang}%
+}
+{\ifbool{xpg@noset@groups}{}{\xpg@unset@group@aux}}
+
+\AtEndPreamble{%
+ \@ifpackageloaded{bidi}{%
+ \providecommand*{\aemph}[1]{$\overline{\hboxR{#1}}$}%
+ }{}%
+ \@ifpackageloaded{luabidi}{%
+ \providecommand*{\aemph}[1]{$\overline{\hbox{\RL{#1}}}$}%
+ }{}%
+}
+
+
+% keys for main package
+\keys_define:nn { polyglossia } {
+ verbose
+ .bool_set:N = \l_polyglossia_verbose_bool,
+ verbose
+ .default:n = true,
+ % compatibility
+ quiet
+ .meta:n = { verbose = false },
+
+ localmarks
+ .bool_set:N = \l_polyglossia_localmarks_bool,
+ localmarks
+ .default:n = true,
+ % compatibility
+ nolocalmarks
+ .meta:n = { localmarks = false },
+
+ babelshorthands
+ .bool_set:N = \l_polyglossia_babelshorthands_bool,
+ babelshorthands
+ .default:n = true,
+
+ luatexrenderer
+ .cs_set:Np = \l_polyglossia_luatex_renderer,
+ luatexrenderer
+ .value_required:n = true,
+}
+
+\keys_set:nn { polyglossia } {
+ localmarks = false,
+ verbose = true,
+ babelshorthands = false,
+ luatexrenderer = Harfbuzz
+}
+
+% load by default latex
+\setmainlanguage{latex}
+% then process key in order to overwrite
+\ProcessKeysOptions{polyglossia}
+
+% Set the LuaTeX renderer. As opposed to fontspec, we use Harfbuzz by default.
+% This can be changed via the luatexrenderer package option.
+\ifluatex
+ \exp_args:Nee \str_if_eq:nnF{\l_polyglossia_luatex_renderer}{none}
+ {
+ \xpg@info{Setting~ LuaTeX~ font~ renderer~ to~ \l_polyglossia_luatex_renderer}
+ \exp_args:Nee \defaultfontfeatures{Renderer=\l_polyglossia_luatex_renderer}
+ }
+\fi
+
+\bool_if:nTF \l_polyglossia_verbose_bool {} {
+ \gdef\@latex@info#1{\relax}% no latex info
+ \gdef\@font@info#1{\relax}% no latex font info
+ \gdef\@font@warning#1{\relax}% no latex font warnings
+ \gdef\zf@PackageInfo#1{\relax}% no fontspec info
+ \gdef\xpg@info#1{\relax}% no polyglossia info
+}
+
+\bool_if:nTF \l_polyglossia_localmarks_bool {
+ \polyglossia@enable@local@marks:
+}{}
+
+% compatibility
+\newif\ifsystem@babelshorthands
+\bool_if:nTF \l_polyglossia_babelshorthands_bool {
+ \system@babelshorthandstrue
+}{
+ \system@babelshorthandsfalse
+}
+
+%
+% FIXME these should also be loaded \AtEndOfPackage !!!
+\def\xpg@option#1#2{%
+ \ifcsundef{xpg@main@language}{\setdefaultlanguage}{\setotherlanguage}%
+ [#1]{#2}}
+\ExplSyntaxOff
+
+% \end{macrocode}
+% \iffalse
+%</polyglossia.sty>
+%<*farsical.sty>
+% \fi
+% \clearpage
+%
+% \subsection{farsical.sty}
+% \begin{macrocode}
+\ProvidesPackage{farsical}
+ [2019/12/12 v0.2 %
+ Farsi (jalali) calendar]
+\ifluatex\RequirePackage{luabidi}\else\RequirePackage{bidi}\fi
+\RequirePackage{calc,arabicnumbers}
+
+%TODO - rewrite completely using calc
+%% - use Reingold & Dershowitz ME
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%% Modified from Arabiftoday.sty which is part of the Arabi package:
+%%% Copyright (C) 2006 Youssef Jabri
+%%% itself a modification of the code in the FarsiTeX system:
+%%% Copyright (C) 1996 Hassan Abolhassani
+%%% Copyright (C) 1996-2001 Roozbeh Pournader <roozbeh@sharif.edu>
+%%% Copyright (C) 2000-2001 Behdad Esfahbod <behdad@bamdad.org>
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newif\ifJALALI@leap \newif\ifJALALI@kabiseh
+\newcount\JALALI@i \newcount\JALALI@y \newcount\JALALI@m \newcount\JALALI@d
+\newcount\JALALI@latini \newcount\JALALI@farsii
+\newcount\JALALI@latinii \newcount\JALALI@farsiii
+\newcount\JALALI@latiniii \newcount\JALALI@farsiiii
+\newcount\JALALI@latiniv \newcount\JALALI@farsiiv
+\newcount\JALALI@latinv \newcount\JALALI@farsiv
+\newcount\JALALI@latinvi \newcount\JALALI@farsivi
+\newcount\JALALI@latinvii \newcount\JALALI@farsivii
+\newcount\JALALI@latinviii \newcount\JALALI@farsiviii
+\newcount\JALALI@latinix \newcount\JALALI@farsiix
+\newcount\JALALI@latinx \newcount\JALALI@farsix
+\newcount\JALALI@latinxi \newcount\JALALI@farsixi
+\newcount\JALALI@latinxii \newcount\JALALI@farsixii
+ \newcount\JALALI@farsixiii
+
+\newcount\JALALI@temp
+\newcount\JALALI@temptwo
+\newcount\JALALI@tempthree
+\newcount\JALALI@yModHundred
+\newcount\JALALI@thirtytwo
+\newcount\JALALI@dn
+\newcount\JALALI@sn
+\newcount\JALALI@mminusone
+
+% \ftoday renamed to \Jalalitoday - FC
+\def\Jalalitoday{%
+\JALALI@y=\year \JALALI@m=\month \JALALI@d=\day
+%
+\JALALI@temp=\JALALI@y
+\divide\JALALI@temp by 100\relax
+\multiply\JALALI@temp by 100\relax
+\JALALI@yModHundred=\JALALI@y
+\advance\JALALI@yModHundred by -\JALALI@temp\relax
+%
+\ifodd\JALALI@yModHundred
+ \JALALI@leapfalse
+\else
+ \JALALI@temp=\JALALI@yModHundred
+ \divide\JALALI@temp by 2\relax
+ \ifodd\JALALI@temp\JALALI@leapfalse
+ \else
+ \ifnum\JALALI@yModHundred=0%
+ \JALALI@temp=\JALALI@y
+ \divide\JALALI@temp by 400\relax
+ \multiply\JALALI@temp by 400\relax
+ \ifnum\JALALI@y=\JALALI@temp\JALALI@leaptrue\else\JALALI@leapfalse\fi
+ \else\JALALI@leaptrue
+ \fi
+ \fi
+\fi
+%
+\JALALI@latini=31\relax
+\ifJALALI@leap
+ \JALALI@latinii = 29\relax
+\else
+ \JALALI@latinii = 28\relax
+\fi
+\JALALI@latiniii = 31\relax
+\JALALI@latiniv = 30\relax
+\JALALI@latinv = 31\relax
+\JALALI@latinvi = 30\relax
+\JALALI@latinvii = 31\relax
+\JALALI@latinviii = 31\relax
+\JALALI@latinix = 30\relax
+\JALALI@latinx = 31\relax
+\JALALI@latinxi = 30\relax
+\JALALI@latinxii = 31\relax
+%
+\JALALI@thirtytwo=32\relax
+%
+\JALALI@temp=\JALALI@y
+\advance\JALALI@temp by -17\relax
+\JALALI@temptwo=\JALALI@temp
+\divide\JALALI@temptwo by 33\relax
+\multiply\JALALI@temptwo by 33\relax
+\advance\JALALI@temp by -\JALALI@temptwo
+\ifnum\JALALI@temp=\JALALI@thirtytwo\JALALI@kabisehfalse
+\else
+ \JALALI@temptwo=\JALALI@temp
+ \divide\JALALI@temptwo by 4\relax
+ \multiply\JALALI@temptwo by 4\relax
+ \advance\JALALI@temp by -\JALALI@temptwo
+ \ifnum\JALALI@temp=\z@\JALALI@kabisehtrue\else\JALALI@kabisehfalse\fi
+\fi
+%
+% --BE
+% In fact farsii is equal to the Leap years from a fixed year to the last
+% year minus the Kabise years from a fixed year to the last year plus a const.
+%
+\JALALI@tempthree=\JALALI@y % Number of Leap years
+\advance\JALALI@tempthree by -1
+\JALALI@temp=\JALALI@tempthree % T := (MY-1) div 4
+\divide\JALALI@temp by 4\relax
+\JALALI@temptwo=\JALALI@tempthree % T := T - ((MY-1) div 100)
+\divide\JALALI@temptwo by 100\relax
+\advance\JALALI@temp by -\JALALI@temptwo
+\JALALI@temptwo=\JALALI@tempthree % T := T + ((MY-1) div 400)
+\divide\JALALI@temptwo by 400\relax
+\advance\JALALI@temp by \JALALI@temptwo
+\advance\JALALI@tempthree by -611 % Number of Kabise years
+\JALALI@temptwo=\JALALI@tempthree % T := T - ((SY+10) div 33) * 8
+\divide\JALALI@temptwo by 33\relax
+\multiply\JALALI@temptwo by 8\relax
+\advance\JALALI@temp by -\JALALI@temptwo
+\JALALI@temptwo=\JALALI@tempthree %
+\divide\JALALI@temptwo by 33\relax
+\multiply\JALALI@temptwo by 33\relax
+\advance\JALALI@tempthree by -\JALALI@temptwo
+\ifnum\JALALI@tempthree=32\advance\JALALI@temp by 1\fi % if (SY+10) mod 33=32 then Inc(T);
+\divide\JALALI@tempthree by 4\relax % T := T - ((SY+10) mod 33) div 4
+\advance\JALALI@temp by -\JALALI@tempthree
+\advance\JALALI@temp by -137 % T := T - 137 Adjust the value
+\JALALI@farsii=31
+\advance\JALALI@farsii by -\JALALI@temp % now 31 - T is the farsii
+%
+\JALALI@farsiii = 30\relax
+\ifJALALI@kabiseh
+ \JALALI@farsiiii = 30\relax
+\else
+ \JALALI@farsiiii = 29\relax
+\fi
+\JALALI@farsiiv = 31\relax
+\JALALI@farsiv = 31\relax
+\JALALI@farsivi = 31\relax
+\JALALI@farsivii = 31\relax
+\JALALI@farsiviii= 31\relax
+\JALALI@farsiix = 31\relax
+\JALALI@farsix = 30\relax
+\JALALI@farsixi = 30\relax
+\JALALI@farsixii = 30\relax
+\JALALI@farsixiii= 30\relax
+%
+\JALALI@dn= 0\relax
+\JALALI@sn= 0\relax
+\JALALI@mminusone=\JALALI@m
+\advance\JALALI@mminusone by -1\relax
+%
+\JALALI@i=0\relax
+\ifnum\JALALI@i < \JALALI@mminusone
+\loop
+\advance \JALALI@i by 1\relax
+\advance\JALALI@dn by \csname JALALI@latin\romannumeral\the\JALALI@i\endcsname
+\ifnum\JALALI@i<\JALALI@mminusone \repeat
+\fi
+\advance \JALALI@dn by \JALALI@d
+%
+\JALALI@i=1\relax
+\JALALI@sn = \JALALI@farsii
+\ifnum \JALALI@sn<\JALALI@dn
+\loop
+\advance \JALALI@i by 1\relax
+\advance\JALALI@sn by \csname JALALI@farsi\romannumeral\the\JALALI@i\endcsname
+\ifnum \JALALI@sn<\JALALI@dn \repeat
+\fi
+\ifnum \JALALI@i < 4
+ \JALALI@m = 9 \advance\JALALI@m by \JALALI@i
+ \advance \JALALI@y by -622\relax
+\else
+ \JALALI@m = \JALALI@i \advance \JALALI@m by -3\relax
+ \advance \JALALI@y by -621\relax
+\fi
+\advance\JALALI@sn by -\csname JALALI@farsi\romannumeral\the\JALALI@i%
+\endcsname
+\ifnum\JALALI@i = 1
+ \JALALI@d = \JALALI@dn \advance \JALALI@d by 30 \advance\JALALI@d by -\JALALI@farsii
+\else
+ \JALALI@d = \JALALI@dn \advance \JALALI@d by -\JALALI@sn
+\fi
+%% DATE FORMATTING
+\if@RTL{\farsidigits{\number\JALALI@d}\space%
+\Jalalimonth{\JALALI@m}\space\farsidigits{\number\JALALI@y}}%
+\else
+\number\JALALI@d\space\JalalimonthEnglish{\JALALI@m}%
+\space\number\JALALI@y%
+\fi}
+%%%
+\def\Jalalimonth#1{\ifcase#1\or Ùروردین\or
+اردیبهشت\or خرداد\or تیر\or مرداد\or شهریور%
+\or مهر\or آبان\or آذر\or دی\or بهمن\or اسÙند%
+\fi}
+\def\JalalimonthEnglish#1{\ifcase#1%
+\or FarvardÄ«n\or OrdÄ«behesht\or KhordÄd\or TÄ«r%
+\or MordÄd\or ShahrÄ«var\or Mihr\or Ä€bÄn\or Ä€zar%
+\or Dai\or Bahman\or Esfand\fi}
+% \end{macrocode}
+% \iffalse
+%</farsical.sty>
+%<*hebrewcal.sty>
+% \fi
+% \clearpage
+%
+% \subsection{hebrewcal.sty}
+% \begin{macrocode}
+\ProvidesPackage{hebrewcal}
+ [2019/12/03 v2.7 %
+ Hebrew calendar for polyglossia (adapted from hebcal.sty in Babel)]
+\RequirePackage{xkeyval}
+\ifluatex\RequirePackage{luabidi}\else\RequirePackage{bidi}\fi
+
+\newif\if@xpg@hebrewcal@marcheshvan
+\@xpg@hebrewcal@marcheshvanfalse
+
+\DeclareOption{marcheshvan}{\@xpg@hebrewcal@marcheshvantrue}
+
+\@ifundefined{if@xpg@hebrew@marcheshvan}{}{%
+ \if@xpg@hebrew@marcheshvan
+ \@xpg@hebrewcal@marcheshvantrue
+ \fi
+}
+
+%% TODO rewrite this on the basis of Reingold & Dershowitz
+%% on the model of hijrical (using calc)
+
+\@ifundefined{@Remainder}{\input{cal-util.def}}{}
+
+\define@boolkey{hebrew}[@hebrew@]{fullyear}[true]{}
+\setkeys{hebrew}{fullyear=false}
+
+\newcount\hebrewday \newcount\hebrewmonth \newcount\hebrewyear
+\def\hebrewdate#1#2#3{%
+ \HebrewFromGregorian{#1}{#2}{#3}%
+ {\hebrewday}{\hebrewmonth}{\hebrewyear}%
+ \if@RTL%
+ \@FormatForHebrew{\hebrewday}{\hebrewmonth}{\hebrewyear}%
+ \else%
+ \@FormatForEnglish{\hebrewday}{\hebrewmonth}{\hebrewyear}%
+ \fi}
+\def\hebrewtoday{\hebrewdate{\day}{\month}{\year}}
+% The command name is capitalised in the doc, and this is consistent
+% with other names such as \Hijritoday and \Jalalitoday.
+\let\Hebrewtoday=\hebrewtoday
+\def\hebrewsetreg{%
+ \HebrewFromGregorian{\day}{\month}{\year}%
+ {\hebrewday}{\hebrewmonth}{\hebrewyear}}
+\def\HebrewYearName#1{{%
+ \@tempcnta=#1\divide\@tempcnta by 1000\multiply\@tempcnta by 1000
+ \ifnum#1=\@tempcnta\relax % divisible by 1000: disambiguate
+ \Hebrewnumeral{#1}\ (לפ"ג)%
+ \else % not divisible by 1000
+ \ifnum#1<1000\relax % first millennium: disambiguate
+ \Hebrewnumeral{#1}\ (לפ"ג)%
+ \else
+ \ifnum#1<5000
+ \Hebrewnumeral{#1}%
+ \else
+ \ifnum#1<6000 % current millenium, print without thousands
+ \@tempcnta=#1\relax
+ \if@hebrew@fullyear\else\advance\@tempcnta by -5000\fi
+ \Hebrewnumeral{\@tempcnta}%
+ \else % #1>6000
+ \Hebrewnumeral{#1}%
+ \fi
+ \fi
+ \fi
+ \fi}}
+\def\HebrewMonthName#1#2{%
+ \ifnum #1 = 7 %
+ \@CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap ×דר\ ב'%
+ \else ×דר%
+ \fi%
+ \else%
+ \ifcase#1%
+ % nothing for 0
+ \or תשרי%
+ \or\if@xpg@hebrewcal@marcheshvan מרחשון\else חשון\fi%
+ \or כסלו%
+ \or טבת%
+ \or שבט%
+ \or ×דר\ ×'%
+ \or ×דר\ ב'%
+ \or ניסן%
+ \or ×ייר%
+ \or סיון%
+ \or תמוז%
+ \or ×ב%
+ \or ×לול%
+ \fi%
+ \fi}
+\def\@FormatForHebrew#1#2#3{%
+ \Hebrewnumeral{#1}~ב\HebrewMonthName{#2}{#3}~%
+ \HebrewYearName{#3}}
+\def\HebrewMonthNameInEnglish#1#2{%
+ \ifnum #1 = 7%
+ \@CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap Adar II\else Adar\fi%
+ \else%
+ \ifcase #1%
+ % nothing for 0
+ \or Tishrei%
+ \or\if@xpg@hebrewcal@marcheshvan Marcheshvan\else Heshvan\fi%
+ \or Kislev%
+ \or Tebeth%
+ \or Shebat%
+ \or Adar I%
+ \or Adar II%
+ \or Nisan%
+ \or Iyar%
+ \or Sivan%
+ \or Tammuz%
+ \or Av%
+ \or Elul%
+ \fi
+ \fi}
+\def\@FormatForEnglish#1#2#3{%
+ \HebrewMonthNameInEnglish{#2}{#3} \number#1,\ \number#3}
+\newcount\@common
+\newif\if@HebrewLeap
+\def\@CheckLeapHebrewYear#1{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \tmpa = #1%
+ \multiply \tmpa by 7%
+ \advance \tmpa by 1%
+ \@Remainder{\tmpa}{19}{\tmpb}%
+ \ifnum \tmpb < 7% % \tmpb = (7*year+1)%19
+ \global\@HebrewLeaptrue%
+ \else%
+ \global\@HebrewLeapfalse%
+ \fi}}
+\def\@HebrewElapsedMonths#1#2{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \countdef\tmpc = 2% % \tmpc==\count2
+ \tmpa = #1% %
+ \advance \tmpa by -1% %
+ #2 = \tmpa% % #2 = \tmpa = year-1
+ \divide #2 by 19% % Number of complete Meton cycles
+ \multiply #2 by 235% % #2 = 235*((year-1)/19)
+ \@Remainder{\tmpa}{19}{\tmpb}% \tmpa = years%19-years this cycle
+ \tmpc = \tmpb% %
+ \multiply \tmpb by 12% %
+ \advance #2 by \tmpb% % add regular months this cycle
+ \multiply \tmpc by 7% %
+ \advance \tmpc by 1% %
+ \divide \tmpc by 19% % \tmpc = (1+7*((year-1)%19))/19 -
+ \advance #2 by \tmpc% % add leap months
+ \global\@common = #2}%
+ #2 = \@common}
+\def\@HebrewElapsedDays#1#2{%
+ {%
+ \countdef\tmpa = 0% % \tmpa==\count0
+ \countdef\tmpb = 1% % \tmpb==\count1
+ \countdef\tmpc = 2% % \tmpc==\count2
+ \@HebrewElapsedMonths{#1}{#2}%
+ \tmpa = #2% %
+ \multiply \tmpa by 13753% %
+ \advance \tmpa by 5604% % \tmpa=MonthsElapsed*13758 + 5604
+ \@Remainder{\tmpa}{25920}{\tmpc}% \tmpc == ConjunctionParts
+ \divide \tmpa by 25920%
+ \multiply #2 by 29%
+ \advance #2 by 1%
+ \advance #2 by \tmpa% % #2 = 1 + MonthsElapsed*29 +
+ \@Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpc < 19440%
+ \ifnum \tmpc < 9924%
+ \else% % New moon at 9 h. 204 p. or later
+ \ifnum \tmpa = 2% % on Tuesday ...
+ \@CheckLeapHebrewYear{#1}% of a common year
+ \if@HebrewLeap%
+ \else%
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \ifnum \tmpc < 16789%
+ \else% % New moon at 15 h. 589 p. or later
+ \ifnum \tmpa = 1% % on Monday ...
+ \advance #1 by -1%
+ \@CheckLeapHebrewYear{#1}% at the end of leap year
+ \if@HebrewLeap%
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \else%
+ \advance #2 by 1% % new moon at or after midday
+ \fi%
+ \@Remainder{#2}{7}{\tmpa}% % \tmpa == DayOfWeek
+ \ifnum \tmpa = 0% % if Sunday ...
+ \advance #2 by 1%
+ \else% %
+ \ifnum \tmpa = 3% % Wednesday ...
+ \advance #2 by 1%
+ \else%
+ \ifnum \tmpa = 5% % or Friday
+ \advance #2 by 1%
+ \fi%
+ \fi%
+ \fi%
+ \global\@common = #2}%
+ #2 = \@common}
+\def\@DaysInHebrewYear#1#2{%
+ {%
+ \countdef\tmpe = 12% % \tmpe==\count12
+ \@HebrewElapsedDays{#1}{\tmpe}%
+ \advance #1 by 1%
+ \@HebrewElapsedDays{#1}{#2}%
+ \advance #2 by -\tmpe%
+ \global\@common = #2}%
+ #2 = \@common}
+\def\@HebrewDaysInPriorMonths#1#2#3{%
+ {%
+ \countdef\tmpf= 14% % \tmpf==\count14
+ #3 = \ifcase #1% % Days in prior month of regular year
+ 0 \or% % no month number 0
+ 0 \or% % Tishri
+ 30 \or% % Heshvan
+ 59 \or% % Kislev
+ 89 \or% % Tebeth
+ 118 \or% % Shebat
+ 148 \or% % Adar I
+ 148 \or% % Adar II
+ 177 \or% % Nisan
+ 207 \or% % Iyar
+ 236 \or% % Sivan
+ 266 \or% % Tammuz
+ 295 \or% % Av
+ 325 \or% % Elul
+ 400% % Dummy
+ \fi%
+ \@CheckLeapHebrewYear{#2}%
+ \if@HebrewLeap% % in leap year
+ \ifnum #1 > 6% % if month after Adar I
+ \advance #3 by 30% % add 30 days
+ \fi%
+ \fi%
+ \@DaysInHebrewYear{#2}{\tmpf}%
+ \ifnum #1 > 3%
+ \ifnum \tmpf = 353% %
+ \advance #3 by -1% %
+ \fi% % Short Kislev
+ \ifnum \tmpf = 383% %
+ \advance #3 by -1% %
+ \fi% %
+ \fi%
+ \ifnum #1 > 2%
+ \ifnum \tmpf = 355% %
+ \advance #3 by 1% %
+ \fi% % Long Heshvan
+ \ifnum \tmpf = 385% %
+ \advance #3 by 1% %
+ \fi% %
+ \fi%
+ \global\@common = #3}%
+ #3 = \@common}
+\def\@FixedFromHebrew#1#2#3#4{%
+ {%
+ #4 = #1%
+ \@HebrewDaysInPriorMonths{#2}{#3}{#1}%
+ \advance #4 by #1% % Add days in prior months this year
+ \@HebrewElapsedDays{#3}{#1}%
+ \advance #4 by #1% % Add days in prior years
+ \advance #4 by -1373429% % Subtract days before Gregorian
+ \global\@common = #4}% % 01.01.0001
+ #4 = \@common}
+\def\@GregorianDaysInPriorMonths#1#2#3{%
+ {%
+ #3 = \ifcase #1%
+ 0 \or% % no month number 0
+ 0 \or%
+ 31 \or%
+ 59 \or%
+ 90 \or%
+ 120 \or%
+ 151 \or%
+ 181 \or%
+ 212 \or%
+ 243 \or%
+ 273 \or%
+ 304 \or%
+ 334%
+ \fi%
+ \@CheckIfGregorianLeap{#2}%
+ \if@GregorianLeap%
+ \ifnum #1 > 2% % if month after February
+ \advance #3 by 1% % add leap day
+ \fi%
+ \fi%
+ \global\@common = #3}%
+ #3 = \@common}
+\def\@GregorianDaysInPriorYears#1#2{%
+ {%
+ \countdef\tmpc = 4% % \tmpc==\count4
+ \countdef\tmpb = 2% % \tmpb==\count2
+ \tmpb = #1% %
+ \advance \tmpb by -1% %
+ \tmpc = \tmpb% % \tmpc = \tmpb = year-1
+ \multiply \tmpc by 365% % Days in prior years =
+ #2 = \tmpc% % = 365*(year-1) ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 4% % \tmpc = (year-1)/4
+ \advance #2 by \tmpc% % ... plus Julian leap days ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 100% % \tmpc = (year-1)/100
+ \advance #2 by -\tmpc% % ... minus century years ...
+ \tmpc = \tmpb% %
+ \divide \tmpc by 400% % \tmpc = (year-1)/400
+ \advance #2 by \tmpc% % ... plus 4-century years.
+ \global\@common = #2}%
+ #2 = \@common}
+\def\@AbsoluteFromGregorian#1#2#3#4{%
+ {%
+ \countdef\tmpd = 0% % \tmpd==\count0
+ #4 = #1% % days so far this month
+ \@GregorianDaysInPriorMonths{#2}{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior months
+ \@GregorianDaysInPriorYears{#3}{\tmpd}%
+ \advance #4 by \tmpd% % add days in prior years
+ \global\@common = #4}%
+ #4 = \@common}
+\def\HebrewFromGregorian#1#2#3#4#5#6{%
+ {%
+ \countdef\tmpx= 17% % \tmpx==\count17
+ \countdef\tmpy= 18% % \tmpy==\count18
+ \countdef\tmpz= 19% % \tmpz==\count19
+ #6 = #3% %
+ \global\advance #6 by 3761% approximation from above
+ \@AbsoluteFromGregorian{#1}{#2}{#3}{#4}%
+ \tmpz = 1 \tmpy = 1%
+ \@FixedFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \ifnum \tmpx > #4% %
+ \global\advance #6 by -1% Hyear = Gyear + 3760
+ \@FixedFromHebrew{\tmpz}{\tmpy}{#6}{\tmpx}%
+ \fi% %
+ \advance #4 by -\tmpx% % Days in this year
+ \advance #4 by 1% %
+ #5 = #4% %
+ \divide #5 by 30% % Approximation for month from below
+ \loop% % Search for month
+ \@HebrewDaysInPriorMonths{#5}{#6}{\tmpx}%
+ \ifnum \tmpx < #4%
+ \advance #5 by 1%
+ \tmpy = \tmpx%
+ \repeat%
+ \global\advance #5 by -1%
+ \global\advance #4 by -\tmpy}}
+\ProcessOptions*
+% \end{macrocode}
+% \iffalse
+%</hebrewcal.sty>
+%<*hijrical.sty>
+% \fi
+% \clearpage
+%
+% \subsection{hijrical.sty}
+% \begin{macrocode}
+\ProvidesPackage{hijrical}
+ [2010/07/12 v0.2 %
+ Islamic calendar]
+\RequirePackage{calc}
+\RequirePackage{arabicnumbers}
+\@ifpackageloaded{bidi}{}{\newif\if@RTL\@RTLfalse}
+\@ifpackageloaded{l3calc}{\PackageError{hijrical}{\MessageBreak
+Package l3calc is loaded, which replaces the functionality of
+calc. Computation of Hijri dates will not work properly with
+% FIXME by Arthur: François couldn’t possibly mean ‘l3calc’ on the
+% following line :-) Find out if he meant ‘calc’.
+l3calc! The latest version of expl3 on CTAN no longer loads
+l3calc. Please update expl3!
+}{}}{}
+
+\@ifundefined{@Remainder}{\input{cal-util.def}}{}
+
+%% The following functions are straightforward implementation
+%% of Reingold & Dershowitz, Calendrical Calculations, The Millenium Edition
+%%
+
+\def\@FixedFromHijri#1#2#3#4{% year,month,day,counter
+\@ifundefined{c@#4}{\newcounter{#4}}{}%
+\setcounter{tmpA}{#2/2}% see errata of Reingold+Dershowitz
+%\message{tmpA is \thetmpA}%
+\setcounter{tmpB}{(3+11*#1)/30}%
+%\message{tmpB is \thetmpB}%
+\setcounter{#4}{227014+(#1-1)*354+\value{tmpB}+(29*(#2-1))+\value{tmpA}+#3}%
+}
+
+\newcounter{Hijriday}\newcounter{Hijrimonth}\newcounter{Hijriyear}
+
+\def\HijriFromGregorian#1#2#3{% year,month,day
+\@FixedFromGregorian{#1}{#2}{#3}{RDdate}%
+\setcounter{Hijriyear}{(30*(\value{RDdate}-227015)+10646)/10631}%
+\@FixedFromHijri{\value{Hijriyear}}{1}{1}{tmpx}%
+%\message{tmpx is \thetmpx}%
+\setcounter{tmpB}{\value{RDdate}-\value{tmpx}}%
+%\message{tmpB is \thetmpB}%
+\setcounter{Hijrimonth}{((11*\value{tmpB})+330)/325}%
+\@FixedFromHijri{\value{Hijriyear}}{\value{Hijrimonth}}{1}{tmpy}%
+%\message{tmpy is \thetmpy}%
+\setcounter{Hijriday}{1+\value{RDdate}-\value{tmpy}}%
+}
+
+%\HijriFromGregorian{\year}{\month}{\day}%
+
+%\def\PlainHijritoday{%
+%\theHijriday.\theHijrimonth.\theHijriyear}
+
+\def\Hijridate#1#2#3{%
+ \HijriFromGregorian{#1}{#2}{#3}%
+ \FormatHijriDate}
+
+% added option \Hijritoday[n] (default 0) for adjusting the date + n days
+\@ifundefined{@hijri@correction}{\gdef\@hijri@correction{0}}{}
+\newcommand\Hijritoday[1][\@hijri@correction]{%
+ \@ifundefined{c@adj@day}{\global\newcounter{adj@day}}{}%
+ \setcounter{adj@day}{\the\day+#1}%
+ \Hijridate{\year}{\month}{\value{adj@day}}}
+%\def\Hijritoday{\Hijridate{\year}{\month}{\day}}
+\let\hijritoday=\Hijritoday
+%FIXME necessary?
+%\def\Hijrisetreg{%
+% \HijriFromGregorian{\year}{\month}{\day}}
+
+\def\HijriMonthTranslit#1{\ifcase#1\or Muḥarram\or Ṣafar\or Rabīʿ I\or Rabīʿ II\or%
+JumÄdÄ I\or JumÄdÄ II\or Rajab\or ShaÊ¿bÄn\or Ramaá¸Än\or%
+ShawwÄl\or DhÅ« ’l-QaÊ¿da\or DhÅ« ’l-Ḥijja\fi}
+
+\def\HijriMonthArabic#1{\ifcase#1\or محرم\or صÙر\or ربيع الأول\or ربيع الآخر\or%
+جمادى الأولى\or جمادى الآخرة\or رجب\or شعبان\or رمضان\or%
+شوال\or ذو القعدة\or ذو الحجة\fi}
+
+%% This macro is now locale-aware!
+\def\FormatHijriDate{%
+ \@ifundefined{FormatHijriDate@\languagename}%
+ {\if@RTL\FormatHijriDate@defaultRTL\else\FormatHijriDate@defaultLTR\fi}%
+ {\csname FormatHijriDate@\languagename\endcsname}}
+
+\newcommand\DefineFormatHijriDate[2]{%
+ \@namedef{FormatHijriDate@#1}{#2}}
+
+% we provide this as a reasonable default.
+% Further definitions are in polyglossia’s language definition files.
+\DefineFormatHijriDate{defaultRTL}{\@ensure@RTL{%
+\arabicdigits{\value{Hijriday}}\space\HijriMonthArabic{\value{Hijrimonth}}\space\arabicdigits{\value{Hijriyear}}}}
+
+\DefineFormatHijriDate{defaultLTR}{%
+\number\value{Hijriday}\space\HijriMonthTranslit{\value{Hijrimonth}}\space\number\value{Hijriyear}}
+% \end{macrocode}
+% \iffalse
+%</hijrical.sty>
+%<*polyglossia-french.lua>
+% \fi
+% \clearpage
+%
+% \subsection{polyglossia-french.lua}
+% \begin{macrocode}
+require('polyglossia-punct')
+
+local function set_left_space(lang, char, kern, rubber)
+ polyglossia.add_left_spaced_character(lang, char, kern, "space", rubber)
+end
+
+local function set_right_space(lang, char, kern, rubber)
+ polyglossia.add_right_spaced_character(lang, char, kern, "space", rubber)
+end
+
+local function activate_french_punct(thincolonspace, autospaceguillemets)
+ -- We need different language tags here to make switching of options possible
+ -- within a paragraph.
+ local lang = "french"
+ if thincolonspace then
+ lang = lang.."-thincolon"
+ end
+ if autospaceguillemets then
+ lang = lang.."-autospace"
+ end
+
+ polyglossia.activate_punct(lang)
+ polyglossia.clear_spaced_characters(lang)
+
+ if thincolonspace then
+ set_left_space(lang, ':', 0.5)
+ else
+ set_left_space(lang, ':', 1, true) -- stretchable and shrinkable space
+ end
+
+ set_left_space(lang, '!', 0.5)
+ set_left_space(lang, '?', 0.5)
+ set_left_space(lang, ';', 0.5)
+ set_left_space(lang, '‼', 0.5)
+ set_left_space(lang, 'â‡', 0.5)
+ set_left_space(lang, 'âˆ', 0.5)
+ set_left_space(lang, 'â‰', 0.5)
+ set_left_space(lang, '‽', 0.5) -- U+203D (interrobang)
+
+ if autospaceguillemets then
+ set_left_space(lang, '»', 0.5)
+ set_left_space(lang, '›', 0.5)
+ set_right_space(lang, '«', 0.5)
+ set_right_space(lang, '‹', 0.5)
+ end
+end
+
+local function deactivate_french_punct()
+ polyglossia.deactivate_punct()
+end
+
+polyglossia.activate_french_punct = activate_french_punct
+polyglossia.deactivate_french_punct = deactivate_french_punct
+% \end{macrocode}
+% \iffalse
+%</polyglossia-french.lua>
+%<*polyglossia-korean.lua>
+% \fi
+% \clearpage
+%
+% \subsection{polyglossia-korean.lua}
+% \begin{macrocode}
+--
+-- polyglossia-korean.lua
+--
+
+local glyph_id = node.id"glyph"
+local hbox_id = node.id"hlist"
+local vbox_id = node.id"vlist"
+local glue_id = node.id"glue"
+local penalty_id = node.id"penalty"
+local disc_id = node.id"disc"
+
+--
+-- attr_korean: variant = plain (0), classic (1), modern (2)
+--
+local attr_korean = luatexbase.attributes["xpg@attr@korean"]
+local attr_josa = luatexbase.attributes["xpg@attr@autojosa"]
+
+--
+-- characters after which linebreak is not allowed
+--
+local nobr_after = {
+ [0x28] = 1, -- ( LEFT PARENTHESIS
+ [0x3C] = 1, -- < LESS-THAN SIGN
+ [0x5B] = 1, -- [ LEFT SQUARE BRACKET
+ [0x60] = 1, -- ` GRAVE ACCENT
+ [0x7B] = 1, -- { LEFT CURLY BRACKET
+ [0xAB] = 1, -- « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ [0x2018] = 1, -- ‘ LEFT SINGLE QUOTATION MARK
+ [0x201C] = 1, -- “ LEFT DOUBLE QUOTATION MARK
+ [0x2329] = 1, -- 〈 LEFT-POINTING ANGLE BRACKET
+ [0x3008] = 1, -- 〈 LEFT ANGLE BRACKET
+ [0x300A] = 1, -- 《 LEFT DOUBLE ANGLE BRACKET
+ [0x300C] = 1, -- 「 LEFT CORNER BRACKET
+ [0x300E] = 1, -- 『 LEFT WHITE CORNER BRACKET
+ [0x3010] = 1, -- 〠LEFT BLACK LENTICULAR BRACKET
+ [0x3014] = 1, -- 〔 LEFT TORTOISE SHELL BRACKET
+ [0x3016] = 1, -- 〖 LEFT WHITE LENTICULAR BRACKET
+ [0x3018] = 1, -- 〘 LEFT WHITE TORTOISE SHELL BRACKET
+ [0x301A] = 1, -- 〚 LEFT WHITE SQUARE BRACKET
+ [0x301D] = 1, -- 〠REVERSED DOUBLE PRIME QUOTATION MARK
+ [0xFE17] = 1, -- ︗ PRESENTATION FORM FOR VERTICAL LEFT WHITE LENTICULAR BRACKET
+ [0xFE35] = 1, -- ︵ PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS
+ [0xFE37] = 1, -- ︷ PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET
+ [0xFE39] = 1, -- ︹ PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET
+ [0xFE3B] = 1, -- ︻ PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET
+ [0xFE3D] = 1, -- ︽ PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET
+ [0xFE3F] = 1, -- ︿ PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET
+ [0xFE41] = 1, -- ï¹ PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET
+ [0xFE43] = 1, -- ﹃ PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET
+ [0xFE47] = 1, -- ﹇ PRESENTATION FORM FOR VERTICAL LEFT SQUARE BRACKET
+ [0xFE59] = 1, -- ï¹™ SMALL LEFT PARENTHESIS
+ [0xFE5B] = 1, -- ï¹› SMALL LEFT CURLY BRACKET
+ [0xFE5D] = 1, -- ï¹ SMALL LEFT TORTOISE SHELL BRACKET
+ [0xFF08] = 1, -- ( FULLWIDTH LEFT PARENTHESIS
+ [0xFF3B] = 1, -- ï¼» FULLWIDTH LEFT SQUARE BRACKET
+ [0xFF5B] = 1, -- ï½› FULLWIDTH LEFT CURLY BRACKET
+ [0xFF5F] = 1, -- ⦅ FULLWIDTH LEFT WHITE PARENTHESIS
+ [0xFF62] = 1, -- ï½¢ HALFWIDTH LEFT CORNER BRACKET
+}
+
+--
+-- characters before which linebreak is not allowed
+-- (currently, not much differences among the followings)
+-- 1: normal chars
+-- 2: hangul jamo vowels and trailing consonants
+-- 3: kana small letters
+-- 0: dashes (supress visible spacing)
+--
+local nobr_before = setmetatable({
+ [0x21] = 1, -- ! EXCLAMATION MARK
+ [0x22] = 1, -- " QUOTATION MARK
+ [0x27] = 1, -- ' APOSTROPHE
+ [0x29] = 1, -- ) RIGHT PARENTHESIS
+ [0x2C] = 1, -- , COMMA
+ [0x2D] = 0, -- - HYPHEN-MINUS
+ [0x2E] = 1, -- . FULL STOP
+ [0x2F] = 0, -- / SOLIDUS
+ [0x3A] = 0, -- : COLON
+ [0x3B] = 1, -- ; SEMICOLON
+ [0x3E] = 1, -- > GREATER-THAN SIGN
+ [0x3F] = 1, -- ? QUESTION MARK
+ [0x5C] = 0, -- \ REVERSE SOLIDUS
+ [0x5D] = 1, -- ] RIGHT SQUARE BRACKET
+ [0x7D] = 1, -- } RIGHT CURLY BRACKET
+ [0x7E] = 0, -- ~ TILDE
+ [0xB7] = 1, -- · MIDDLE DOT
+ [0xBB] = 1, -- » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+ [0x2013] = 0, -- – EN DASH
+ [0x2014] = 0, -- — EM DASH
+ [0x2015] = 1, -- ― HORIZONTAL BAR
+ [0x2019] = 1, -- ’ RIGHT SINGLE QUOTATION MARK
+ [0x201D] = 1, -- †RIGHT DOUBLE QUOTATION MARK
+ [0x2025] = 1, -- ‥ TWO DOT LEADER
+ [0x2026] = 1, -- … HORIZONTAL ELLIPSIS
+ [0x232A] = 1, -- 〉 RIGHT-POINTING ANGLE BRACKET
+ [0x3001] = 1, -- 〠IDEOGRAPHIC COMMA
+ [0x3002] = 1, -- 。 IDEOGRAPHIC FULL STOP
+ [0x3005] = 1, -- 々 IDEOGRAPHIC ITERATION MARK
+ [0x3009] = 1, -- 〉 RIGHT ANGLE BRACKET
+ [0x300B] = 1, -- 》 RIGHT DOUBLE ANGLE BRACKET
+ [0x300D] = 1, -- 〠RIGHT CORNER BRACKET
+ [0x300F] = 1, -- 〠RIGHT WHITE CORNER BRACKET
+ [0x3011] = 1, -- 】 RIGHT BLACK LENTICULAR BRACKET
+ [0x3015] = 1, -- 〕 RIGHT TORTOISE SHELL BRACKET
+ [0x3017] = 1, -- 〗 RIGHT WHITE LENTICULAR BRACKET
+ [0x3019] = 1, -- 〙 RIGHT WHITE TORTOISE SHELL BRACKET
+ [0x301B] = 1, -- 〛 RIGHT WHITE SQUARE BRACKET
+ [0x301C] = 1, -- 〜 WAVE DASH
+ [0x301E] = 1, -- 〞 DOUBLE PRIME QUOTATION MARK
+ [0x301F] = 1, -- 〟 LOW DOUBLE PRIME QUOTATION MARK
+ [0x3035] = 1, -- 〵 VERTICAL KANA REPEAT MARK LOWER HALF
+ [0x303B] = 1, -- 〻 VERTICAL IDEOGRAPHIC ITERATION MARK
+ [0x303C] = 1, -- 〼 MASU MARK
+ [0x3041] = 3, -- ã HIRAGANA LETTER SMALL A
+ [0x3043] = 3, -- ムHIRAGANA LETTER SMALL I
+ [0x3045] = 3, -- ã… HIRAGANA LETTER SMALL U
+ [0x3047] = 3, -- ㇠HIRAGANA LETTER SMALL E
+ [0x3049] = 3, -- ㉠HIRAGANA LETTER SMALL O
+ [0x3063] = 3, -- 㣠HIRAGANA LETTER SMALL TU
+ [0x3083] = 3, -- ゃ HIRAGANA LETTER SMALL YA
+ [0x3085] = 3, -- ã‚… HIRAGANA LETTER SMALL YU
+ [0x3087] = 3, -- ょ HIRAGANA LETTER SMALL YO
+ [0x308E] = 3, -- ã‚Ž HIRAGANA LETTER SMALL WA
+ [0x3095] = 3, -- ã‚• HIRAGANA LETTER SMALL KA
+ [0x3096] = 3, -- ã‚– HIRAGANA LETTER SMALL KE
+ [0x3099] = 1, -- COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK
+ [0x309A] = 1, -- COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+ [0x309B] = 1, -- ã‚› KATAKANA-HIRAGANA VOICED SOUND MARK
+ [0x309C] = 1, -- ゜ KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK
+ [0x309D] = 1, -- ã‚ HIRAGANA ITERATION MARK
+ [0x309E] = 1, -- ã‚ž HIRAGANA VOICED ITERATION MARK
+ [0x30A0] = 1, -- ã‚  KATAKANA-HIRAGANA DOUBLE HYPHEN
+ [0x30A1] = 3, -- ã‚¡ KATAKANA LETTER SMALL A
+ [0x30A3] = 3, -- ã‚£ KATAKANA LETTER SMALL I
+ [0x30A5] = 3, -- ã‚¥ KATAKANA LETTER SMALL U
+ [0x30A7] = 3, -- ェ KATAKANA LETTER SMALL E
+ [0x30A9] = 3, -- ã‚© KATAKANA LETTER SMALL O
+ [0x30C3] = 3, -- ッ KATAKANA LETTER SMALL TU
+ [0x30E3] = 3, -- ャ KATAKANA LETTER SMALL YA
+ [0x30E5] = 3, -- ュ KATAKANA LETTER SMALL YU
+ [0x30E7] = 3, -- ョ KATAKANA LETTER SMALL YO
+ [0x30EE] = 3, -- ヮ KATAKANA LETTER SMALL WA
+ [0x30F5] = 3, -- ヵ KATAKANA LETTER SMALL KA
+ [0x30F6] = 3, -- ヶ KATAKANA LETTER SMALL KE
+ [0x30FB] = 1, -- ・ KATAKANA MIDDLE DOT
+ [0x30FC] = 1, -- ー KATAKANA-HIRAGANA PROLONGED SOUND MARK
+ [0x30FD] = 1, -- ヽ KATAKANA ITERATION MARK
+ [0x30FE] = 1, -- ヾ KATAKANA VOICED ITERATION MARK
+ [0xFE30] = 1, -- ︰ PRESENTATION FORM FOR VERTICAL TWO DOT LEADER
+ [0xFE31] = 1, -- ︱ PRESENTATION FORM FOR VERTICAL EM DASH
+ [0xFE32] = 1, -- ︲ PRESENTATION FORM FOR VERTICAL EN DASH
+ [0xFE36] = 1, -- ︶ PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS
+ [0xFE38] = 1, -- ︸ PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET
+ [0xFE3A] = 1, -- ︺ PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET
+ [0xFE3C] = 1, -- ︼ PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET
+ [0xFE3E] = 1, -- ︾ PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET
+ [0xFE40] = 1, -- ï¹€ PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET
+ [0xFE42] = 1, -- ﹂ PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET
+ [0xFE44] = 1, -- ﹄ PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET
+ [0xFE48] = 1, -- ﹈ PRESENTATION FORM FOR VERTICAL RIGHT SQUARE BRACKET
+ [0xFE5A] = 1, -- ﹚ SMALL RIGHT PARENTHESIS
+ [0xFE5C] = 1, -- ﹜ SMALL RIGHT CURLY BRACKET
+ [0xFE5E] = 1, -- ﹞ SMALL RIGHT TORTOISE SHELL BRACKET
+ [0xFF01] = 1, -- ï¼ FULLWIDTH EXCLAMATION MARK
+ [0xFF09] = 1, -- ) FULLWIDTH RIGHT PARENTHESIS
+ [0xFF0C] = 1, -- , FULLWIDTH COMMA
+ [0xFF0E] = 1, -- . FULLWIDTH FULL STOP
+ [0xFF1A] = 1, -- : FULLWIDTH COLON
+ [0xFF1B] = 1, -- ï¼› FULLWIDTH SEMICOLON
+ [0xFF1F] = 1, -- ? FULLWIDTH QUESTION MARK
+ [0xFF3D] = 1, -- ï¼½ FULLWIDTH RIGHT SQUARE BRACKET
+ [0xFF5D] = 1, -- ï½ FULLWIDTH RIGHT CURLY BRACKET
+ [0xFF60] = 1, -- ï½  FULLWIDTH RIGHT WHITE PARENTHESIS
+ [0xFF61] = 1, -- 。 HALFWIDTH IDEOGRAPHIC FULL STOP
+ [0xFF63] = 1, -- ï½£ HALFWIDTH RIGHT CORNER BRACKET
+ [0xFF64] = 1, -- 、 HALFWIDTH IDEOGRAPHIC COMMA
+ [0xFF65] = 1, -- ï½¥ HALFWIDTH KATAKANA MIDDLE DOT
+ [0xFF9E] = 1, -- ゙ HALFWIDTH KATAKANA VOICED SOUND MARK
+ [0xFF9F] = 1, -- ゚ HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK
+}, { __index = function(_,c)
+ if c >= 0x1160 and c <= 0x11FF then return 2 end
+ if c >= 0xD7B0 and c <= 0xD7FF then return 2 end
+ if c >= 0x302A and c <= 0x302F then return 1 end
+ if c >= 0x31F0 and c <= 0x31FF then return 3 end
+ if c >= 0xFF67 and c <= 0xFF70 then return 3 end
+ if c >= 0xFE00 and c <= 0xFE0F then return 1 end
+ if c >= 0xFE10 and c <= 0xFE19 and not (c == 0xFE17) then return 1 end
+ if c >= 0xFE50 and c <= 0xFE58 then return 1 end
+ if c >= 0xE0100 and c <= 0xE01EF then return 1 end
+ end
+})
+
+--
+-- whether 'c' is a cjk character
+--
+local function is_cjk (c)
+ return c >= 0xAC00 and c <= 0xD7FF
+ or c >= 0x1100 and c <= 0x11FF
+ or c >= 0xA960 and c <= 0xA97F
+ or c >= 0x2E80 and c <= 0x9FFF
+ or c >= 0xF900 and c <= 0xFAFF
+ or c >= 0xFE10 and c <= 0xFE1F
+ or c >= 0xFE30 and c <= 0xFE6F
+ or c >= 0xFF00 and c <= 0xFFEF
+ or c >= 0x1F100 and c <= 0x1F2FF
+ or c >= 0x20000 and c <= 0x2FA1F
+ or nobr_after[c] and c > 0x2014
+ or nobr_before[c] and c > 0x2014
+end
+
+--
+-- classify cjk characters
+-- 1: openings
+-- 2: closings
+-- 3: centered chars
+-- 4: full stops
+-- 5: ellipses
+-- 6: exclamation and question marks
+-- 0: all others
+--
+local charclass = setmetatable({
+ [0x2018] = 1, [0x201C] = 1, [0x2329] = 1, [0x3008] = 1,
+ [0x300A] = 1, [0x300C] = 1, [0x300E] = 1, [0x3010] = 1,
+ [0x3014] = 1, [0x3016] = 1, [0x3018] = 1, [0x301A] = 1,
+ [0x301D] = 1, [0xFE17] = 1, [0xFE35] = 1, [0xFE37] = 1,
+ [0xFE39] = 1, [0xFE3B] = 1, [0xFE3D] = 1, [0xFE3F] = 1,
+ [0xFE41] = 1, [0xFE43] = 1, [0xFE47] = 1, [0xFF08] = 1,
+ [0xFF3B] = 1, [0xFF5B] = 1, [0xFF5F] = 1, [0xFF62] = 1,
+ [0x2019] = 2, [0x201D] = 2, [0x232A] = 2, [0x3001] = 2,
+ [0x3009] = 2, [0x300B] = 2, [0x300D] = 2, [0x300F] = 2,
+ [0x3011] = 2, [0x3015] = 2, [0x3017] = 2, [0x3019] = 2,
+ [0x301B] = 2, [0x301E] = 2, [0x301F] = 2, [0xFE10] = 2,
+ [0xFE11] = 2, [0xFE18] = 2, [0xFE36] = 2, [0xFE38] = 2,
+ [0xFE3A] = 2, [0xFE3C] = 2, [0xFE3E] = 2, [0xFE40] = 2,
+ [0xFE42] = 2, [0xFE44] = 2, [0xFE48] = 2, [0xFF09] = 2,
+ [0xFF0C] = 2, [0xFF3D] = 2, [0xFF5D] = 2, [0xFF60] = 2,
+ [0xFF63] = 2, [0xFF64] = 2, [0x00B7] = 3, [0x30FB] = 3,
+ [0xFF1A] = 3, [0xFF1B] = 3, [0xFF65] = 3, [0x3002] = 4,
+ [0xFE12] = 4, [0xFF0E] = 4, [0xFF61] = 4, [0x2015] = 5,
+ [0x2025] = 5, [0x2026] = 5, [0xFE19] = 5, [0xFE30] = 5,
+ [0xFE31] = 5, [0xFE15] = 6, [0xFE16] = 6, [0xFF01] = 6,
+ [0xFF1F] = 6,
+}, { __index = function() return 0 end })
+
+--
+-- table for spacing between char classes
+-- 1 stands for 0.5*fontsize when variant=classic
+--
+local intercharclass = { [0] =
+ { [0] = nil, {1,1}, nil, {.5,.5} },
+ { [0] = nil, nil, nil, {.5,.5} },
+ { [0] = {1,1}, {1,1}, nil, {.5,.5}, nil, {1,1}, {1,1} },
+ { [0] = {.5,.5},{.5,.5},{.5,.5},{1,.5}, {.5,.5},{.5,.5},{.5,.5} },
+ { [0] = {1,0}, {1,0}, nil, {1.5,.5},nil, {1,0}, {1,0} },
+ { [0] = nil, {1,1}, nil, {.5,.5} },
+ { [0] = {1,1}, {1,1}, nil, {.5,.5} },
+}
+
+--
+-- get a new penalty node
+--
+local function get_new_penalty (p)
+ local penalty = node.new("penalty")
+ penalty.penalty = p
+ return penalty
+end
+
+--
+-- get a new glue node
+--
+local function get_new_glue (...)
+ local glue = node.new("glue")
+ node.setglue(glue, ...)
+ return glue
+end
+
+--
+-- return 0.5*fontsize of given fontid
+-- space: true if variant=modern; then 0.5*interword_space
+--
+local function get_font_size (fid, space)
+ local size = font.getparameters(fid)
+ if space then
+ size = size and size.space or 196608
+ else
+ size = size and size.quad or 655360
+ end
+ return size/2
+end
+
+--
+-- charclass 1 thru 4 will be packed in \hbox to 0.5em{\hss? curr \hss?}
+-- when variant=classic/modern
+--
+local function glyph_to_box (head, curr, class)
+ local g, h = curr
+ local size = get_font_size(g.font)
+ head, curr = node.remove(head, curr)
+ g.next, g.prev = nil, nil
+ local hss = get_new_glue(0, 65536, 65536, 2, 2)
+ if class == 1 then
+ h, hss.next, g.prev = hss, g, hss
+ elseif class == 2 or class == 4 then
+ h, g.next, hss.prev = g, hss, g
+ else
+ local hss2 = node.copy(hss)
+ h, hss.next, g.prev, g.next, hss2.prev = hss, g, hss, hss2, g
+ end
+ h = nodes.simple_font_handler(h)
+ local box = node.hpack(h, size, "exactly")
+ if curr then
+ head, curr = node.insert_before(head, curr, box)
+ else
+ head, curr = node.insert_after(head, node.tail(head), box)
+ end
+ return head, curr
+end
+
+--
+-- insert spacing defined as charclass[a][b] between a and b
+-- f: fontid
+-- var: variant = plain, classic, modern
+-- cc: charclass of current char
+-- nc: charclass of next char
+-- nobr: linebreak is not allowed
+--
+local function insert_cjk_penalty_glue (head, curr, f, var, cc, nc, nobr)
+ if nobr or cc == 1 or nc > 1 then
+ local penalty = get_new_penalty(10000)
+ head, curr = node.insert_after(head, curr, penalty)
+ end
+ local factor = get_font_size(f, var == 2)
+ local t = intercharclass[cc][nc]
+ local glue = get_new_glue(t[1]*factor, nil, t[2]*factor)
+ head, curr = node.insert_after(head, curr, glue)
+ return head, curr
+end
+
+--
+-- insert inter-character spacing in other normal cases
+-- f: fontid
+-- var: variant = plain, classic, modern
+-- x: true between cjk and non-cjk (a little more spacing)
+--
+local function insert_penalty_glue (head, curr, f, var, x)
+ if var ~= 1 then
+ local penalty = get_new_penalty(50)
+ head, curr = node.insert_after(head, curr, penalty)
+ end
+ local size, glue = get_font_size(f, x and var == 2)
+ if x then
+ glue = get_new_glue(size/2, size/4, size/8)
+ else
+ glue = get_new_glue(0, size/10, size/50)
+ end
+ head, curr = node.insert_after(head, curr, glue)
+ return head, curr
+end
+
+--
+-- main process for linebreak and inter-character spacing
+-- lb: true if pre_linebreak_filter
+--
+local function korean_break (head, lb)
+ local curr = head
+ while curr do
+ if curr.id == glyph_id then
+ local var = node.has_attribute(curr, attr_korean)
+ if var then
+ local c, f = curr.char or 0, curr.font or 0
+ local cc, cjkc = charclass[c], is_cjk(c)
+
+ -- compress cjk punctuations when charclass is 1 thru 4
+ if var > 0 and cc > 0 and cc < 5 then
+ head, curr = glyph_to_box(head, curr, cc)
+ end
+
+ local next = curr.next
+ if next and next.id == glyph_id then
+ local n = next.char or 0
+ local nc = charclass[n]
+ local nobr = nobr_before[n] or nobr_after[c]
+
+ -- insert spacing as of intercharclass
+ if var > 0 and intercharclass[cc][nc] then
+ head, curr = insert_cjk_penalty_glue(head, curr, f, var, cc, nc, nobr)
+
+ -- or insert spacing when linebreak is allowed
+ elseif not nobr then
+ local cjkn = is_cjk(n)
+
+ -- if curr or next is cjk char
+ if cjkc or cjkn then
+
+ -- if between cjk and non-cjk
+ if var > 0 and not (cjkc and cjkn) and nobr_before[c] ~= 0 then
+ head, curr = insert_penalty_glue(head, curr, f, var, true)
+
+ -- or under pre_linebreak_filter
+ elseif lb then
+ head, curr = insert_penalty_glue(head, curr, f, var)
+ end
+ end
+ end
+ end
+ end
+ end
+ curr = curr.next
+ end
+ return head
+end
+
+--
+-- process for reordering hangul tone marks (U+302E, U+302F)
+-- some hangul fonts (eg. Noto CJK) are so designed that hangul tone marks
+-- should be moved to the first position of a syllable.
+-- Currently, this functionality is not provided by luaotfload.
+--
+local function reorder_tm (head)
+ local curr, tone = node.slide(head)
+ while curr do
+ if curr.id == glyph_id and node.has_attribute(curr, attr_korean) then
+ local f = font.getfont(curr.font) or font.fonts[curr.font]
+ if f and f.hb then -- harfbuzz do the right thing
+ tone = nil
+ else
+ local c, wd = curr.char or 0, curr.width or 0
+ if (c == 0x302E or c == 0x302F) and wd > 0 then
+ tone = curr
+ elseif tone and not nobr_before[c] then
+ head = node.remove(head, tone)
+ tone.next, tone.prev = nil, nil
+ head, curr = node.insert_before(head, curr, tone)
+ tone = nil
+ end
+ end
+ end
+ curr = curr.prev
+ end
+ return head
+end
+
+--
+-- automatic josa selection
+--
+local josa_table = {
+ -- consonant ㄹ, vowel, other consonants
+ [0xAC00] = {0xC774, 0xAC00, 0xC774}, -- ê°€ => ì´, ê°€, ì´
+ [0xC740] = {0xC740, 0xB294, 0xC740}, -- ì€ => ì€, 는, ì€
+ [0xC744] = {0xC744, 0xB97C, 0xC744}, -- ì„ => ì„, 를, ì„
+ [0xC640] = {0xACFC, 0xC640, 0xACFC}, -- 와 => 과, 와, 과
+ [0xC73C] = {nil, nil, 0xC73C}, -- 으(로) => , , 으
+ [0xC774] = {0xC774, nil, 0xC774}, -- ì´(ë¼) => ì´, , ì´
+}
+
+--
+-- helper function for number-like characters
+--
+local function josa_char_num (t, c)
+ c = c % 10 + 0x30
+ return t[c] or 2
+end
+
+--
+-- decide josa selection
+--
+local josa_code = setmetatable({
+ [0x30] = 3, [0x31] = 1, [0x33] = 3, [0x36] = 3, [0x37] = 1,
+ [0x38] = 1, [0x4C] = 1, [0x4D] = 3, [0x4E] = 3, [0x6C] = 1,
+ [0x6D] = 3, [0x6E] = 3, [0xFB02] = 1, [0xFB04] = 1,
+},{ __index = function(t,c)
+ if c >= 0xAC00 and c <= 0xD7A3 then
+ c = (c - 0xAC00) % 28 + 0x11A7
+ end
+ if c >= 0x11A8 and c <= 0x11FF then
+ if c == 0x11AF then return 1 end
+ return 3
+ end
+ if c >= 0xD7CB and c <= 0xD7FB then return 3 end
+ if c >= 0x2170 and c <= 0x217F then c = c - 0x10 end
+ if c >= 0x2160 and c <= 0x216F then
+ if c >= 0x216C then return 3 end
+ return josa_char_num(t, c - 0x215F)
+ end
+ if c >= 0x2460 and c <= 0x2473 then return josa_char_num(t, c - 0x245F) end
+ if c >= 0x2474 and c <= 0x2487 then return josa_char_num(t, c - 0x2473) end
+ if c >= 0x2488 and c <= 0x249B then return josa_char_num(t, c - 0x2487) end
+ if c >= 0x249C and c <= 0x24B5 then return t[c - 0x249C + 0x61] or 2 end
+ if c >= 0x24B6 and c <= 0x24CF then return t[c - 0x24B6 + 0x61] or 2 end
+ if c >= 0x24D0 and c <= 0x24E9 then return t[c - 0x24D0 + 0x61] or 2 end
+ if c >= 0x3131 and c <= 0x318E then
+ if c == 0x3139 then return 1 end
+ if c >= 0x314F and c <= 0x3163 or c >= 0x3187 then return 2 end
+ return 3
+ end
+ if c >= 0x3260 and c <= 0x327E then c = c - 0x60 end
+ if c >= 0x3200 and c <= 0x321E then
+ if c == 0x3203 then return 1 end
+ if c >= 0x320E then return 2 end
+ return 3
+ end
+ if c >= 0xFF10 and c <= 0xFF19 then return josa_char_num(t, c - 0xFF10) end
+ if c >= 0xFF21 and c <= 0xFF3A then return t[c - 0xFF21 + 0x61] or 2 end
+ if c >= 0xFF41 and c <= 0xFF5A then return t[c - 0xFF41 + 0x61] or 2 end
+ return 2
+ end
+})
+
+--
+-- obtain char that comes just before the josa
+--
+local function get_prev_char (p)
+ while p do
+ if p.id == glyph_id then
+ local pc = p.char or 0
+ if not nobr_after[pc] then
+ if not nobr_before[pc] or nobr_before[pc] >= 2 then
+ return pc
+ end
+ end
+ elseif p.id == hbox_id or p.id == vbox_id then
+ local pc = get_prev_char(node.slide(p.head))
+ if pc then return pc end
+ end
+ p = p.prev
+ end
+end
+
+--
+-- main process of josa selection
+--
+local function auto_josa (head)
+ local curr, tofree = head, {}
+ while curr do
+ if curr.id == glyph_id then
+ local josa = node.has_attribute(curr, attr_josa)
+ if josa then
+ local cc = curr.char or 0
+ if josa == 0 then
+ josa = josa_code[get_prev_char(curr.prev) or 0x30]
+ end
+ if cc == 0xC774 then
+ local n = curr.next
+ if n and n.char and n.char >= 0xAC00 and n.char <= 0xD7A3 then
+ else
+ cc = 0xAC00
+ end
+ end
+ local new = josa_table[cc]
+ if new then
+ cc = new[josa]
+ if cc then
+ curr.char = cc
+ else
+ head = node.remove(head, curr)
+ table.insert(tofree, curr)
+ end
+ end
+ node.unset_attribute(curr, attr_josa)
+ end
+ end
+ curr = curr.next
+ end
+ for _,v in ipairs(tofree) do node.free(v) end
+ return head
+end
+
+--
+-- now register to luatex callbacks
+-- As char value of glyphs can be changed by opentype GSUB process,
+-- we have to occupy the first position among callback functions.
+--
+local prepend_to_callback
+if luatexbase.base_add_to_callback then
+ prepend_to_callback = function(name, func, desc)
+ luatexbase.add_to_callback(name, func, desc, 1)
+ end
+else
+ prepend_to_callback = function(name, func, desc)
+ local t = { {func, desc} }
+ for _,v in ipairs(luatexbase.callback_descriptions(name)) do
+ table.insert(t, {luatexbase.remove_from_callback(name, v)})
+ end
+ for _,v in ipairs(t) do
+ luatexbase.add_to_callback(name, v[1], v[2])
+ end
+ end
+end
+
+prepend_to_callback ("pre_linebreak_filter",
+ function(head)
+ head = auto_josa(head)
+ head = korean_break(head, true)
+ head = reorder_tm(head)
+ return head
+ end,
+ "polyglossia.lang_korean")
+
+prepend_to_callback ("hpack_filter",
+ function(head)
+ head = auto_josa(head)
+ head = korean_break(head)
+ head = reorder_tm(head)
+ return head
+ end,
+ "polyglossia.lang_korean")
+
+-- vim:ft=lua:tw=0:sw=4:ts=4:expandtab
+% \end{macrocode}
+% \iffalse
+%</polyglossia-korean.lua>
+%<*polyglossia-latin.lua>
+% \fi
+% \clearpage
+%
+% \subsection{polyglossia-latin.lua}
+% \begin{macrocode}
+require('polyglossia-punct')
+
+-- For ecclesiastic Latin (and sometimes for Italian) a very small space is
+-- used for the punctuation. The ecclesiastic package uses a space of
+-- 0.3\fontdimen2, where \fontdimen2 is a interword space, which is typically
+-- between 1/4 and 1/3 of a quad. We choose a half of a \thinspace here.
+local hairspace = 0.08333 -- 1/12
+
+local function space_left(char)
+ polyglossia.add_left_spaced_character('latin', char, hairspace, 'quad')
+end
+
+local function space_right(char)
+ polyglossia.add_right_spaced_character('latin', char, hairspace, 'quad')
+end
+
+polyglossia.clear_spaced_characters('latin')
+space_left('!')
+space_left('?')
+space_left('‼')
+space_left('â‡')
+space_left('âˆ')
+space_left('â‰')
+space_left('‽') -- U+203D (interrobang)
+space_left(':')
+space_left(';')
+space_left('»')
+space_left('›')
+space_right('«')
+space_right('‹')
+
+local function activate_latin_punct()
+ polyglossia.activate_punct('latin')
+end
+
+local function deactivate_latin_punct()
+ polyglossia.deactivate_punct()
+end
+
+polyglossia.activate_latin_punct = activate_latin_punct
+polyglossia.deactivate_latin_punct = deactivate_latin_punct
+% \end{macrocode}
+% \iffalse
+%</polyglossia-latin.lua>
+%<*polyglossia-punct.lua>
+% \fi
+% \clearpage
+%
+% \subsection{polyglossia-punct.lua}
+% \begin{macrocode}
+require('polyglossia') -- just in case...
+
+local add_to_callback = luatexbase.add_to_callback
+local remove_from_callback = luatexbase.remove_from_callback
+local priority_in_callback = luatexbase.priority_in_callback
+local new_attribute = luatexbase.new_attribute
+
+local node = node
+
+local insert_node_before = node.insert_before
+local insert_node_after = node.insert_after
+local remove_node = node.remove
+local has_attribute = node.has_attribute
+local node_copy = node.copy
+local new_node = node.new
+local end_of_math = node.end_of_math
+local getnext = node.getnext
+local getprev = node.getprev
+
+-- node types according to node.types()
+local glue_code = node.id"glue"
+local glyph_code = node.id"glyph"
+local penalty_code = node.id"penalty"
+local kern_code = node.id"kern"
+local math_code = node.id"math"
+
+-- we need some node subtypes
+local userkern = 1
+local userskip = 0
+local removable_skip = {
+ [0] = true, -- userskip
+ [13] = true, -- spaceskip
+ [14] = true, -- xspaceskip
+}
+
+-- we make a new node, so that we can copy it later on
+local kern_node = new_node(kern_code)
+kern_node.subtype = userkern -- this kern can be removed later on
+
+local function get_kern_node(dim)
+ local n = node_copy(kern_node)
+ n.kern = dim
+ return n
+end
+
+local glue_node = new_node(glue_code)
+glue_node.subtype = userskip
+
+local function get_glue_node(dim, stretch, shrink)
+ local n = node_copy(glue_node)
+ n.width = dim
+ n.stretch = stretch
+ n.shrink = shrink
+ return n
+end
+
+local penalty_node = new_node(penalty_code)
+penalty_node.penalty = 10000
+
+local function get_penalty_node()
+ return node_copy(penalty_node)
+end
+
+-- all possible space characters according to section 6.2 of the Unicode Standard
+-- https://www.unicode.org/versions/Unicode12.0.0/ch06.pdf
+local space_chars = {
+ [0x20] = true, -- space
+ [0xA0] = true, -- no-break space
+ [0x1680] = true, -- ogham space mark
+ [0x2000] = true, -- en quad
+ [0x2001] = true, -- em quad
+ [0x2002] = true, -- en space
+ [0x2003] = true, -- em space
+ [0x2004] = true, -- three-per-em-space
+ [0x2005] = true, -- four-per-em space
+ [0x2006] = true, -- six-per-em space
+ [0x2007] = true, -- figure space
+ [0x2008] = true, -- punctuation space
+ [0x2009] = true, -- thin space
+ [0x200A] = true, -- hair space
+ [0x202F] = true, -- narrow no-break space
+ [0x205F] = true, -- medium mathematical space
+ [0x3000] = true -- ideographic space
+}
+
+-- all left bracket characters, referenced by their Unicode slot
+local left_bracket_chars = {
+ [0x28] = true, -- left parenthesis
+ [0x5B] = true, -- left square bracket
+ [0x7B] = true, -- left curly bracket
+ [0x27E8] = true -- mathematical left angle bracket
+}
+
+-- all right bracket characters, referenced by their Unicode slot
+local right_bracket_chars = {
+ [0x29] = true, -- right parenthesis
+ [0x5D] = true, -- right square bracket
+ [0x7D] = true, -- right curly bracket
+ [0x27E9] = true -- mathematical right angle bracket
+}
+
+-- question and exclamation marks, referenced by their Unicode slot
+local question_exclamation_chars = {
+ [0x21] = true, -- exclamation mark !
+ [0x3F] = true, -- question mark ?
+ [0x203C] = true, -- double exclamation mark ‼
+ [0x203D] = true, -- interrobang ‽
+ [0x2047] = true, -- double question mark â‡
+ [0x2048] = true, -- question exclamation mark âˆ
+ [0x2049] = true -- exclamation question mark â‰
+}
+
+-- from nodes-tst.lua, adapted
+local function somespace(n)
+ if n then
+ local id, subtype = n.id, n.subtype
+ if id == glue_code then
+ -- it is dangerous to remove all the type of glue
+ return removable_skip[subtype]
+ elseif id == kern_code then
+ -- remove only user's kern
+ return subtype == userkern
+ elseif id == glyph_code then
+ return space_chars[n.char]
+ end
+ end
+end
+
+local function someleftbracket(n)
+ if n then
+ local id = n.id
+ if id == glyph_code then
+ return left_bracket_chars[n.char]
+ end
+ end
+end
+
+local function somerightbracket(n)
+ if n then
+ local id = n.id
+ if id == glyph_code then
+ return right_bracket_chars[n.char]
+ end
+ end
+end
+
+local function question_exclamation_sequence(n1, n2)
+ if n1 and n2 then
+ local id1 = n1.id
+ local id2 = n2.id
+ if id1 == glyph_code and id2 == glyph_code then
+ return question_exclamation_chars[n1.char] and question_exclamation_chars[n2.char]
+ end
+ end
+end
+
+-- idem
+local function somepenalty(n, value)
+ if n then
+ local id = n.id
+ if id == penalty_code then
+ if value then
+ return n.penalty == value
+ else
+ return true
+ end
+ end
+ end
+end
+
+local punct_attr = new_attribute("polyglossia_punct")
+
+local lang_id = {}
+local lang_counter = 0
+local left_space = {}
+local right_space = {}
+
+local function ensure_lang_id(lang)
+ if not lang_id[lang] then
+ lang_counter = lang_counter + 1
+ lang_id[lang] = lang_counter
+ end
+ return lang_id[lang]
+end
+
+local function clear_spaced_characters(lang)
+ local id = ensure_lang_id(lang)
+ left_space[id] = {}
+ right_space[id] = {}
+end
+
+local function illegal_unit(unit)
+ if unit then
+ texio.write_nl('Illegal spacing unit "'..unit..'".')
+ else
+ texio.write_nl('Spacing unit is a nil value.')
+ end
+end
+
+local function add_left_spaced_character(lang, char, kern, unit, rubber)
+-- The parameter kern is a number meant as a fraction of the unit.
+-- The unit can be "quad" (1em) or "space" (interword space).
+-- The parameter rubber is a Boolean value indicating if the inserted space is
+-- stretchable and shrinkable (only relevant if the unit is "space").
+ local id = ensure_lang_id(lang)
+ if unit == "quad" or unit == "space" then
+ left_space[id][char] = {}
+ left_space[id][char]["kern"] = kern
+ left_space[id][char]["unit"] = unit
+ left_space[id][char]["rubber"] = rubber
+ else
+ illegal_unit(unit)
+ end
+end
+
+local function add_right_spaced_character(lang, char, kern, unit, rubber)
+ local id = ensure_lang_id(lang)
+ if unit == "quad" or unit == "space" then
+ right_space[id][char] = {}
+ right_space[id][char]["kern"] = kern
+ right_space[id][char]["unit"] = unit
+ right_space[id][char]["rubber"] = rubber
+ else
+ illegal_unit(unit)
+ end
+end
+
+-- from typo-spa.lua, adapted
+local function process(head)
+ local current = head
+ while current do
+ local id = current.id
+ if id == glyph_code then
+ local attr = has_attribute(current, punct_attr)
+ if attr then
+ local char, leftspace, rightspace
+ if current.char <= 0x10FFFF then -- greater values may cause problems with utf8.char
+ char = utf8.char(current.char)
+ leftspace = left_space[attr][char]
+ rightspace = right_space[attr][char]
+ end
+ if leftspace or rightspace then
+ local fontparameters = fonts.hashes.parameters[current.font]
+ local unit, stretch, shrink, spacing_node
+ if leftspace and fontparameters then
+ local prev = getprev(current)
+ local space_exception = false
+ if prev then
+ -- do not add space after left (opening) bracket and between question/exclamation marks
+ space_exception = someleftbracket(prev) or question_exclamation_sequence(prev, current)
+ -- TODO: there is a question here: do we override a preceding space or not?...
+ while somespace(prev) do
+ head = remove_node(head, prev)
+ prev = getprev(current)
+ end
+ if somepenalty(prev, 10000) then
+ head = remove_node(head, prev)
+ end
+ end
+ if leftspace.unit == "quad" then
+ unit = fontparameters.quad
+ spacing_node = get_kern_node(leftspace.kern*unit)
+ elseif leftspace.unit == "space" then
+ unit = fontparameters.space
+ if leftspace.rubber then
+ stretch = leftspace.kern*fontparameters.space_stretch
+ shrink = leftspace.kern*fontparameters.space_shrink
+ spacing_node = get_glue_node(leftspace.kern*unit, stretch, shrink)
+ head = insert_node_before(head, current, get_penalty_node())
+ else
+ spacing_node = get_kern_node(leftspace.kern*unit)
+ end
+ end
+ if not space_exception then
+ head = insert_node_before(head, current, spacing_node)
+ end
+ end
+ if rightspace and fontparameters then
+ local next = getnext(current)
+ local space_exception = false
+ if next then
+ -- do not add space before right (closing) bracket
+ space_exception = somerightbracket(next)
+ local nextnext = getnext(next)
+ if somepenalty(next, 10000) and somespace(nextnext) then
+ head, next = remove_node(head, next)
+ end
+ while somespace(next) do
+ head, next = remove_node(head, next)
+ end
+ end
+ if rightspace.unit == "quad" then
+ unit = fontparameters.quad
+ spacing_node = get_kern_node(rightspace.kern*unit)
+ elseif rightspace.unit == "space" then
+ unit = fontparameters.space
+ if rightspace.rubber then
+ stretch = rightspace.kern*fontparameters.space_stretch
+ shrink = rightspace.kern*fontparameters.space_shrink
+ spacing_node = get_glue_node(rightspace.kern*unit, stretch, shrink)
+ if not space_exception then
+ head, current = insert_node_after(head, current, get_penalty_node())
+ end
+ else
+ spacing_node = get_kern_node(rightspace.kern*unit)
+ end
+ end
+ if not space_exception then
+ head, current = insert_node_after(head, current, spacing_node)
+ end
+ end
+ end
+ end
+ elseif id == math_code then
+ -- warning: this is a feature of luatex > 0.76
+ current = end_of_math(current) -- weird, can return nil .. no math end?
+ end
+ current = getnext(current) -- no error even if current is nil
+ end
+ return head
+end
+
+local function activate(lang)
+ local id = ensure_lang_id(lang)
+ -- We set the punctuation attribute to a language id here. This is
+ -- important to be able to intermix languages with different spacings
+ -- in one paragraph.
+ tex.setattribute(punct_attr, id)
+ for _, callback_name in ipairs{ "pre_linebreak_filter", "hpack_filter" } do
+ if not priority_in_callback(callback_name, "polyglossia-punct.process") then
+ add_to_callback(callback_name, process, "polyglossia-punct.process", 1)
+ end
+ end
+end
+
+local function deactivate()
+ tex.setattribute(punct_attr, -0x7FFFFFFF) -- this value means "unset"
+ -- Though it would make compilation slightly faster, it is not possible to
+ -- safely uncomment the following lines. Imagine the following case: you
+ -- start a paragraph by some spaced punctuation text, then, in the same
+ -- paragraph, you change the language to something else, and thus call the
+ -- following lines. This means that, at the end of the paragraph, the
+ -- function won't be in the callback, so the beginning of the paragraph
+ -- won't be processed by it.
+ -- if priority_in_callback(callback_name, "polyglossia-punct.process") then
+ -- remove_from_callback(callback_name, "polyglossia-punct.process")
+ -- end
+end
+
+polyglossia.activate_punct = activate
+polyglossia.deactivate_punct = deactivate
+polyglossia.add_left_spaced_character = add_left_spaced_character
+polyglossia.add_right_spaced_character = add_right_spaced_character
+polyglossia.clear_spaced_characters = clear_spaced_characters
+% \end{macrocode}
+% \iffalse
+%</polyglossia-punct.lua>
+%<*polyglossia-sanskrit.lua>
+% \fi
+% \clearpage
+%
+% \subsection{polyglossia-sanskrit.lua}
+% \begin{macrocode}
+require('polyglossia-punct')
+
+-- How do we now, in Lua, what a \thinspace is? In the LaTeX source (latex.ltx)
+-- it is defined as:
+-- \def\thinspace{\leavevmode@ifvmode\kern .16667em }
+-- I see no way of seeing if it has been overriden or not. So we stick to this
+-- value.
+local thinspace = 0.16667 -- 1/6
+
+local function space_left(char)
+ polyglossia.add_left_spaced_character('sanskrit', char, thinspace, 'quad')
+end
+
+polyglossia.clear_spaced_characters('sanskrit')
+space_left('!')
+space_left('?')
+space_left('‼')
+space_left('â‡')
+space_left('âˆ')
+space_left('â‰')
+space_left('‽') -- U+203D (interrobang)
+space_left(':')
+space_left(';')
+space_left('।') -- danda, U+0964
+space_left('॥') -- double danda, U+0965
+
+local function activate_sanskrit_punct()
+ polyglossia.activate_punct('sanskrit')
+end
+
+local function deactivate_sanskrit_punct()
+ polyglossia.deactivate_punct()
+end
+
+polyglossia.activate_sanskrit_punct = activate_sanskrit_punct
+polyglossia.deactivate_sanskrit_punct = deactivate_sanskrit_punct
+% \end{macrocode}
+% \iffalse
+%</polyglossia-sanskrit.lua>
+%<*polyglossia-tibt.lua>
+% \fi
+% \clearpage
+%
+% \subsection{polyglossia-tibt.lua}
+% \begin{macrocode}
+require('polyglossia') -- just in case...
+
+local add_to_callback = luatexbase.add_to_callback
+local remove_from_callback = luatexbase.remove_from_callback
+local priority_in_callback = luatexbase.priority_in_callback
+
+local next, type = next, type
+
+local nodes, fonts, node = nodes, fonts, node
+
+local nodecodes = nodes.nodecodes --- <= preloaded node.types()
+
+local insert_node_before = node.insert_before
+local insert_node_after = node.insert_after
+local remove_node = nodes.remove
+local copy_node = node.copy
+local has_attribute = node.has_attribute
+
+local end_of_math = node.end_of_math
+if not end_of_math then -- luatex < .76
+ local traverse_nodes = node.traverse_id
+ local math_code = nodecodes.math
+ local end_of_math = function (n)
+ for n in traverse_nodes(math_code, n.next) do
+ return n
+ end
+ end
+end
+
+-- node types as of April 2013
+local glyph_code = nodecodes.glyph
+local penalty_code = nodecodes.penalty
+local kern_code = nodecodes.kern
+
+-- we make a new node, so that we can copy it later on
+local penalty_node = node.new(penalty_code)
+penalty_node.penalty = 50 -- corresponds to the penalty LaTeX sets at explicit hyphens
+
+local function get_penalty_node()
+ return copy_node(penalty_node)
+end
+
+local xpgtibtattr = luatexbase.attributes['xpg@tibteol']
+
+local tsheg = unicode.utf8.byte('་')
+
+-- from typo-spa.lua
+local function process(head)
+ local start = head
+ -- head is always begin of par (whatsit), so we have at least two prev nodes
+ -- penalty followed by glue
+ while start do
+ local id = start.id
+ if id == glyph_code then
+ local attr = has_attribute(start, xpgtibtattr)
+ if attr and attr > 0 then
+ if start.char == tsheg then
+ if start.next then
+ insert_node_after(head,start,get_penalty_node())
+ end
+ end
+ end
+ elseif id == math_code then
+ -- warning: this is a feature of luatex > 0.76
+ start = end_of_math(start) -- weird, can return nil .. no math end?
+ end
+ if start then
+ start = start.next
+ end
+ end
+ return head
+end
+
+local callback_name = "pre_linebreak_filter"
+
+local function activate()
+ if not priority_in_callback (callback_name, "polyglossia-tibt.process") then
+ add_to_callback(callback_name, process, "polyglossia-tibt.process", 1)
+ end
+end
+
+local function desactivate()
+ if priority_in_callback (callback_name, "polyglossia-tibt.process") then
+ remove_from_callback(callback_name, "polyglossia-tibt.process")
+ end
+end
+
+polyglossia.activate_tibt_eol = activate
+polyglossia.desactivate_tibt_eol = desactivate
+% \end{macrocode}
+% \iffalse
+%</polyglossia-tibt.lua>
+%<*polyglossia.lua>
+% \fi
+% \clearpage
+%
+% \subsection{polyglossia.lua}
+% \begin{macrocode}
+
+local module_name = "polyglossia"
+local polyglossia_module = {
+ name = module_name,
+ version = 1.3,
+ date = "2013/05/11",
+ description = "Polyglossia",
+ author = "Elie Roux",
+ copyright = "Elie Roux",
+ license = "CC0"
+}
+
+luatexbase.provides_module(polyglossia_module)
+
+local log_info = function(message, ...)
+ luatexbase.module_info(module_name, message:format(...))
+end
+local log_warn = function(message, ...)
+ luatexbase.module_warning(module_name, message:format(...))
+end
+
+polyglossia = polyglossia or {}
+local polyglossia = polyglossia
+
+local function select_language(lang, id)
+ polyglossia.current_language = lang
+end
+
+local function set_default_language(lang, id)
+ polyglossia.default_language = lang
+end
+
+local byte = utf8.codepoint -- use standard module of lua 5.3
+
+local check_char
+
+if luaotfload and luaotfload.aux and luaotfload.aux.font_has_glyph then
+ local font_has_glyph = luaotfload.aux.font_has_glyph
+ function check_char(chr)
+ local codepoint = tonumber(chr) or byte(chr)
+ if font_has_glyph(font.current(), codepoint) then
+ tex.sprint('1')
+ else
+ tex.sprint('0')
+ end
+ end
+else
+ function check_char(chr) -- always in current font
+ local fontid = font.current()
+ local fontdata = font.getfont(fontid) or font.fonts[fontid]
+ local chardata = fontdata.characters
+ local codepoint = tonumber(chr) or byte(chr)
+ if chardata and chardata[codepoint] then
+ tex.sprint('1')
+ else
+ tex.sprint('0')
+ end
+ end
+end
+
+local function load_tibt_eol()
+ require('polyglossia-tibt')
+end
+
+-- predefined l@nohyphenation or LuaTeX's maximum value for \language
+local nohyphid = luatexbase.registernumber'l@nohyphenation' or 16383
+
+-- key `nohyphenation` is for .sty file when possibly undefined l@nohyphenation
+local newloader_loaded_languages = { nohyphenation = nohyphid }
+
+local newloader_available_languages = require'language.dat.lua'
+-- Suggestion by Dohyun Kim on #129
+local t = { }
+for k, v in pairs(newloader_available_languages) do
+ t[k] = v
+ for _, vv in pairs(v.synonyms) do
+ t[vv] = v
+ end
+end
+newloader_available_languages = t
+
+-- LaTeX's language register is \count19
+local lang_register = 19
+
+-- New hyphenation pattern loader: use language.dat.lua directly and the language identifiers
+local function newloader(langentry)
+ local loaded_language = newloader_loaded_languages[langentry]
+ if loaded_language then
+ local langid = lang.id(loaded_language)
+ log_info('Language %s already loaded; id is %i', langentry, langid)
+ return langid
+ else
+ local langdata = newloader_available_languages[langentry]
+ if langdata then
+
+ local special = langdata.special
+ if special then
+ -- language0 (USenglish) is already included in the format
+ if special == 'language0' then
+ return 0
+
+ -- disabled language should not be used for utf-8 text
+ elseif special:find'^disabled:' then
+ log_warn('Hyphenation of language %s %s', langentry, special)
+ return nohyphid
+ end
+ end
+
+ -- language info will be written into the .log file
+ local s = { "Language data for " .. langentry }
+ for k, v in pairs(langdata) do
+ if type(v) == 'table' then -- for 'synonyms'
+ s[#s+1] = k .. "\t" .. table.concat(v,',')
+ else
+ s[#s+1] = k .. "\t" .. tostring(v)
+ end
+ end
+ log_info(table.concat(s,"\n"))
+
+ --
+ -- LaTeX's \newlanguage increases language register (count19),
+ -- whereas LuaTeX's lang.new() increases its own language id.
+ -- So when a user has declared, say, \newlanguage\lang@xyz, then
+ -- these two numbers do not match each other. If we do not consider
+ -- this possible situation, our newloader() function will
+ -- unfortunately overwrite the language \lang@xyz.
+ --
+ -- Threfore here we will compare LaTeX's \newlanguage number with
+ -- LuaTeX's lang.new() id and select the bigger one for our new
+ -- language object. Also we will update LaTeX's language register
+ -- by this new id, so that another possible \newlanguage should not
+ -- overwrite our language object.
+ --
+ -- get next \newlanguage allocation number
+ local langcnt = tex.count[lang_register] + 1
+ -- get new lang object
+ local langobject = lang.new()
+ local langid = lang.id(langobject)
+ -- get bigger one between \newlanguage and new lang obj id
+ local newlangid = math.max(langcnt, langid)
+ -- set language register for possible \newlanguage
+ tex.setcount('global', lang_register, newlangid)
+ -- get new lang object if needeed
+ if langid ~= newlangid then
+ langobject = lang.new(newlangid)
+ end
+
+ -- load hyphenation patterns and exceptions
+ for _,v in ipairs{ 'patterns', 'hyphenation' } do
+ local data = langdata[v]
+ if data and data ~= '' then
+ -- cope with comma separated list, such as serbian
+ for _,vv in ipairs(data:explode',+') do
+ local filepath = kpse.find_file(vv)
+ if filepath then
+ local fh = io.open(filepath)
+ lang[v](langobject, fh:read'a')
+ fh:close()
+ else
+ log_warn('Hyphenation file %s not found', vv)
+ end
+ end
+ end
+ end
+
+ newloader_loaded_languages[langentry] = langobject
+
+ log_info('Language %s was not yet loaded; created with id %i',
+ langentry, newlangid)
+ return newlangid
+ else
+ log_warn('Language %s not found in language.dat.lua', langentry)
+ return nohyphid
+ end
+ end
+end
+
+polyglossia.select_language = select_language
+polyglossia.set_default_language = set_default_language
+polyglossia.check_char = check_char
+polyglossia.load_tibt_eol = load_tibt_eol
+polyglossia.newloader = newloader
+polyglossia.newloader_loaded_languages = newloader_loaded_languages
+-- global variables:
+-- polyglossia.default_language
+-- polyglossia.current_language
+% \end{macrocode}
+% \iffalse
+%</polyglossia.lua>
+%<*babel-hebrewalph.def>
+% \fi
+% \clearpage
+%
+% \subsection{babel-hebrewalph.def}
+% \begin{macrocode}
+\ProvidesFile{babel-hebrewalph.def}
+ [2010/03/02 %
+ Babel definitions for Hebrew numerals^^J
+ Adapted from hebrew.ldf (2005/03/30 v2.3h)]
+\newif\if@gim@apost % whether we print apostrophes (gereshayim)
+\newif\if@gim@final % whether we use final or initial letters
+\newcommand*\hebrewnumeral[1]{%
+ \expandafter\@hebrew@numeral\expandafter{\the\numexpr#1}%
+}
+\newcommand*\Hebrewnumeral[1]{%
+ \expandafter\@Hebrew@numeral\expandafter{\the\numexpr#1}%
+}
+\newcommand*\Hebrewnumeralfinal[1]{%
+ \expandafter\@Hebrew@numeralfinal\expandafter{\the\numexpr#1}%
+}
+\newrobustcmd*{\@hebrew@numeral}[1] % no apostrophe, no final letters
+ {{\@gim@finalfalse\@gim@apostfalse\@hebrew@@numeral{#1}}}
+\newrobustcmd*{\@Hebrew@numeral}[1] % apostrophe, no final letters
+ {{\@gim@finalfalse\@gim@aposttrue\@hebrew@@numeral{#1}}}
+\newrobustcmd*{\@Hebrew@numeralfinal}[1] % apostrophe, final letters
+ {{\@gim@finaltrue\@gim@aposttrue\@hebrew@@numeral{#1}}}
+\newcommand*{\@hebrew@@numeral}[1]{%
+ \ifnum#1<\z@\space\xpg@warning{Illegal value (#1) for Hebrew numeral}%
+ \else
+ \@tempcnta=#1\@tempcntb=#1\relax
+ \divide\@tempcntb by 1000
+ \ifnum\@tempcntb=0\gim@nomil\@tempcnta\relax
+ \else{\@gim@apostfalse\@gim@finalfalse\@hebrew@numeral\@tempcntb}׳%
+ \multiply\@tempcntb by 1000\relax
+ \advance\@tempcnta by -\@tempcntb\relax
+ \gim@nomil\@tempcnta\relax
+ \fi
+ \fi
+}
+\def\hebrew@alph@zero{}
+\newcommand*{\gim@nomil}[1]{\@tempcnta=#1\@gim@prevfalse
+ \@tempcntb=\@tempcnta\divide\@tempcntb by 100\relax % hundreds digit
+ \ifcase\@tempcntb % print nothing if no hundreds
+ \or\gim@print{100}{ק}%
+ \or\gim@print{200}{ר}%
+ \or\gim@print{300}{ש}%
+ \or\gim@print{400}{ת}%
+ \or ת\@gim@prevtrue\gim@print{500}{ק}%
+ \or ת\@gim@prevtrue\gim@print{600}{ר}%
+ \or ת\@gim@prevtrue\gim@print{700}{ש}%
+ \or ת\@gim@prevtrue\gim@print{800}{ת}%
+ \or ת\@gim@prevtrue ת\gim@print{900}{ק}%
+ \fi
+ \@tempcntb=\@tempcnta\divide\@tempcntb by 10\relax % tens digit
+ \ifcase\@tempcntb % print nothing if no tens
+ \or % number between 10 and 19
+ \ifnum\@tempcnta = 16 \gim@print {9}{ט}% tet-zayin
+ \else\ifnum\@tempcnta = 15 \gim@print {9}{ט}% tet-vav
+ \else \gim@print{10}{×™}%
+ \fi % \@tempcnta = 15
+ \fi % \@tempcnta = 16
+ \or\gim@print{20}{\if@gim@final ך\else כ\fi}%
+ \or\gim@print{30}{ל}%
+ \or\gim@print{40}{\if@gim@final ×\else מ\fi}%
+ \or\gim@print{50}{\if@gim@final ן\else נ\fi}%
+ \or\gim@print{60}{ס}%
+ \or\gim@print{70}{×¢}%
+ \or\gim@print{80}{\if@gim@final ף\else פ\fi}%
+ \or\gim@print{90}{\if@gim@final ץ\else צ\fi}%
+ \fi
+ \ifcase\@tempcnta
+ \hebrew@alph@zero% empty but can be defined if desired
+ \or\gim@print{1}{×}%
+ \or\gim@print{2}{ב}%
+ \or\gim@print{3}{×’}%
+ \or\gim@print{4}{ד}%
+ \or\gim@print{5}{×”}%
+ \or\gim@print{6}{ו}%
+ \or\gim@print{7}{×–}%
+ \or\gim@print{8}{×—}%
+ \or\gim@print{9}{ט}%
+ \fi
+}
+\newif\if@gim@prev % flag if a previous letter has been typeset
+\newcommand*{\gim@print}[2]{% #2 is a letter, #1 is its value.
+ \advance\@tempcnta by -#1\relax% deduct the value from the remainder
+ \ifnum\@tempcnta=0% if this is the last letter
+ \if@gim@prev\if@gim@apost ×´\fi#2%
+ \else#2\if@gim@apost ׳\fi\fi%
+ \else{\@gim@finalfalse#2}\@gim@prevtrue\fi}
+\def\Alphfinal#1{\expandafter\@Alphfinal\csname c@#1\endcsname}%
+\providecommand*{\@Alphfinal}[1]{\Hebrewnumeralfinal{#1}}
+% \end{macrocode}
+% \iffalse
+%</babel-hebrewalph.def>
+%<*babelsh.def>
+% \fi
+% \clearpage
+%
+% \subsection{babelsh.def}
+% \begin{macrocode}
+\ifx\initiate@active@char\@undefined
+\else
+ \bbl@afterfi\endinput
+\fi
+\ProvidesFile{babelsh.def}
+ [2019/09/30 %
+ Babel common definitions for shorthands^^J
+ Taken verbatim from babel files (2019/09/27 v3.34)]
+%
+% ------------------------------------------------------------------------------
+%
+% lines 52 to 56 from babel.sty
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@stripslash{\expandafter\@gobble\string}
+\def\bbl@add#1#2{%
+ \bbl@ifunset{\bbl@stripslash#1}%
+ {\def#1{#2}}%
+ {\expandafter\def\expandafter#1\expandafter{#1#2}}}
+%
+% ------------------------------------------------------------------------------
+%
+% line 73 to 74 from babel.sty
+%
+% ------------------------------------------------------------------------------
+%
+\long\def\bbl@afterelse#1\else#2\fi{\fi#1}
+\long\def\bbl@afterfi#1\fi{\fi#1}
+%
+% ------------------------------------------------------------------------------
+%
+% line 399 from babel.sty
+%
+% ------------------------------------------------------------------------------
+%
+\let\bbl@opt@shorthands\@nnil
+%
+% ------------------------------------------------------------------------------
+%
+% lines 432 to 445 from babel.sty
+%
+% ------------------------------------------------------------------------------
+%
+\ifx\bbl@opt@shorthands\@nnil
+ \def\bbl@ifshorthand#1#2#3{#2}%
+\else\ifx\bbl@opt@shorthands\@empty
+ \def\bbl@ifshorthand#1#2#3{#3}%
+\else
+ \def\bbl@ifshorthand#1{%
+ \bbl@xin@{\string#1}{\bbl@opt@shorthands}%
+ \ifin@
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+ \edef\bbl@opt@shorthands{%
+ \expandafter\bbl@sh@string\bbl@opt@shorthands\@empty}%
+%
+% ------------------------------------------------------------------------------
+%
+% line 450 from babel.sty
+%
+% ------------------------------------------------------------------------------
+%
+\fi\fi
+%
+% ------------------------------------------------------------------------------
+%
+% lines 389 to 424 from switch.def
+%
+% ------------------------------------------------------------------------------
+%
+\ifx\PackageError\@undefined
+ \def\bbl@error#1#2{%
+ \begingroup
+ \newlinechar=`\^^J
+ \def\\{^^J(babel) }%
+ \errhelp{#2}\errmessage{\\#1}%
+ \endgroup}
+ \def\bbl@warning#1{%
+ \begingroup
+ \newlinechar=`\^^J
+ \def\\{^^J(polyglossia) }%
+ \message{\\#1}%
+ \endgroup}
+ \def\bbl@info#1{%
+ \begingroup
+ \newlinechar=`\^^J
+ \def\\{^^J}%
+ \wlog{#1}%
+ \endgroup}
+\else
+ \def\bbl@error#1#2{%
+ \begingroup
+ \def\\{\MessageBreak}%
+ \PackageError{polyglossia}{#1}{#2}%
+ \endgroup}
+ \def\bbl@warning#1{%
+ \begingroup
+ \def\\{\MessageBreak}%
+ \PackageWarning{polyglossia}{#1}%
+ \endgroup}
+ \def\bbl@info#1{%
+ \begingroup
+ \def\\{\MessageBreak}%
+ \PackageInfo{polyglossia}{#1}%
+ \endgroup}
+\fi
+%
+% ------------------------------------------------------------------------------
+%
+% lines 48 to 69 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
+\ifx\bbl@ifshorthand\@undefined
+ \let\bbl@opt@shorthands\@nnil
+ \def\bbl@ifshorthand#1#2#3{#2}%
+ \let\bbl@language@opts\@empty
+ \ifx\babeloptionstrings\@undefined
+ \let\bbl@opt@strings\@nnil
+ \else
+ \let\bbl@opt@strings\babeloptionstrings
+ \fi
+ \def\BabelStringsDefault{generic}
+ \def\bbl@tempa{normal}
+ \ifx\babeloptionmath\bbl@tempa
+ \def\bbl@mathnormal{\noexpand\textormath}
+ \fi
+ \def\AfterBabelLanguage#1#2{}
+ \ifx\BabelModifiers\@undefined\let\BabelModifiers\relax\fi
+ \let\bbl@afterlang\relax
+ \def\bbl@opt@safe{BR}
+ \ifx\@uclclist\@undefined\let\@uclclist\@empty\fi
+ \ifx\bbl@trace\@undefined\def\bbl@trace#1{}\fi
+ \expandafter\newif\csname ifbbl@single\endcsname
+\fi
+%
+% ------------------------------------------------------------------------------
+%
+% line 108 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@csarg#1#2{\expandafter#1\csname bbl@#2\endcsname}%
+
+% ------------------------------------------------------------------------------
+%
+% lines 110 to 116 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
+
+\def\bbl@loop#1#2#3{\bbl@@loop#1{#3}#2,\@nnil,}
+\def\bbl@loopx#1#2{\expandafter\bbl@loop\expandafter#1\expandafter{#2}}
+\def\bbl@@loop#1#2#3,{%
+ \ifx\@nnil#3\relax\else
+ \def#1{#3}#2\bbl@afterfi\bbl@@loop#1{#2}%
+ \fi}
+\def\bbl@for#1#2#3{\bbl@loopx#1{#2}{\ifx#1\@empty\else#3\fi}}
+
+% ------------------------------------------------------------------------------
+%
+% lines 125 to 130 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@exp#1{%
+ \begingroup
+ \let\\\noexpand
+ \def\<##1>{\expandafter\noexpand\csname##1\endcsname}%
+ \edef\bbl@exp@aux{\endgroup#1}%
+ \bbl@exp@aux}
+%
+% ------------------------------------------------------------------------------
+%
+% lines 144 to 149 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@ifunset#1{%
+ \expandafter\ifx\csname#1\endcsname\relax
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi}
+%
+% ------------------------------------------------------------------------------
+%
+% lines 234 to 243 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
+\chardef\bbl@engine=%
+ \ifx\directlua\@undefined
+ \ifx\XeTeXinputencoding\@undefined
+ \z@
+ \else
+ \tw@
+ \fi
+ \else
+ \@ne
+ \fi
+%
+% ------------------------------------------------------------------------------
+%
+% lines 255 to 258 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@withactive#1#2{%
+ \begingroup
+ \lccode`~=`#2\relax
+ \lowercase{\endgroup#1~}}
+%
+% ------------------------------------------------------------------------------
+%
+% lines 293 to 301 from babel.def
+%
+% NOTE: In order to avoid importing more unneeded definitions, this macro
+% does nothing for us.
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@usehooks#1#2{}
+%
+% ------------------------------------------------------------------------------
+%
+% lines 443 to 558 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@add@special#1{% 1:a macro like \", \?, etc.
+ \bbl@add\dospecials{\do#1}% test @sanitize = \relax, for back. compat.
+ \bbl@ifunset{@sanitize}{}{\bbl@add\@sanitize{\@makeother#1}}%
+ \ifx\nfss@catcodes\@undefined\else % TODO - same for above
+ \begingroup
+ \catcode`#1\active
+ \nfss@catcodes
+ \ifnum\catcode`#1=\active
+ \endgroup
+ \bbl@add\nfss@catcodes{\@makeother#1}%
+ \else
+ \endgroup
+ \fi
+ \fi}
+\def\bbl@remove@special#1{%
+ \begingroup
+ \def\x##1##2{\ifnum`#1=`##2\noexpand\@empty
+ \else\noexpand##1\noexpand##2\fi}%
+ \def\do{\x\do}%
+ \def\@makeother{\x\@makeother}%
+ \edef\x{\endgroup
+ \def\noexpand\dospecials{\dospecials}%
+ \expandafter\ifx\csname @sanitize\endcsname\relax\else
+ \def\noexpand\@sanitize{\@sanitize}%
+ \fi}%
+ \x}
+\def\bbl@active@def#1#2#3#4{%
+ \@namedef{#3#1}{%
+ \expandafter\ifx\csname#2@sh@#1@\endcsname\relax
+ \bbl@afterelse\bbl@sh@select#2#1{#3@arg#1}{#4#1}%
+ \else
+ \bbl@afterfi\csname#2@sh@#1@\endcsname
+ \fi}%
+ \long\@namedef{#3@arg#1}##1{%
+ \expandafter\ifx\csname#2@sh@#1@\string##1@\endcsname\relax
+ \bbl@afterelse\csname#4#1\endcsname##1%
+ \else
+ \bbl@afterfi\csname#2@sh@#1@\string##1@\endcsname
+ \fi}}%
+\def\initiate@active@char#1{%
+ \bbl@ifunset{active@char\string#1}%
+ {\bbl@withactive
+ {\expandafter\@initiate@active@char\expandafter}#1\string#1#1}%
+ {}}
+\def\@initiate@active@char#1#2#3{%
+ \bbl@csarg\edef{oricat@#2}{\catcode`#2=\the\catcode`#2\relax}%
+ \ifx#1\@undefined
+ \bbl@csarg\edef{oridef@#2}{\let\noexpand#1\noexpand\@undefined}%
+ \else
+ \bbl@csarg\let{oridef@@#2}#1%
+ \bbl@csarg\edef{oridef@#2}{%
+ \let\noexpand#1%
+ \expandafter\noexpand\csname bbl@oridef@@#2\endcsname}%
+ \fi
+ \ifx#1#3\relax
+ \expandafter\let\csname normal@char#2\endcsname#3%
+ \else
+ \bbl@info{Making #2 an active character}%
+ \ifnum\mathcode`#2=\ifodd\bbl@engine"1000000 \else"8000 \fi
+ \@namedef{normal@char#2}{%
+ \textormath{#3}{\csname bbl@oridef@@#2\endcsname}}%
+ \else
+ \@namedef{normal@char#2}{#3}%
+ \fi
+ \bbl@restoreactive{#2}%
+ \AtBeginDocument{%
+ \catcode`#2\active
+ \if@filesw
+ \immediate\write\@mainaux{\catcode`\string#2\active}%
+ \fi}%
+ \expandafter\bbl@add@special\csname#2\endcsname
+ \catcode`#2\active
+ \fi
+ \let\bbl@tempa\@firstoftwo
+ \if\string^#2%
+ \def\bbl@tempa{\noexpand\textormath}%
+ \else
+ \ifx\bbl@mathnormal\@undefined\else
+ \let\bbl@tempa\bbl@mathnormal
+ \fi
+ \fi
+ \expandafter\edef\csname active@char#2\endcsname{%
+ \bbl@tempa
+ {\noexpand\if@safe@actives
+ \noexpand\expandafter
+ \expandafter\noexpand\csname normal@char#2\endcsname
+ \noexpand\else
+ \noexpand\expandafter
+ \expandafter\noexpand\csname bbl@doactive#2\endcsname
+ \noexpand\fi}%
+ {\expandafter\noexpand\csname normal@char#2\endcsname}}%
+ \bbl@csarg\edef{doactive#2}{%
+ \expandafter\noexpand\csname user@active#2\endcsname}%
+ \bbl@csarg\edef{active@#2}{%
+ \noexpand\active@prefix\noexpand#1%
+ \expandafter\noexpand\csname active@char#2\endcsname}%
+ \bbl@csarg\edef{normal@#2}{%
+ \noexpand\active@prefix\noexpand#1%
+ \expandafter\noexpand\csname normal@char#2\endcsname}%
+ \expandafter\let\expandafter#1\csname bbl@normal@#2\endcsname
+ \bbl@active@def#2\user@group{user@active}{language@active}%
+ \bbl@active@def#2\language@group{language@active}{system@active}%
+ \bbl@active@def#2\system@group{system@active}{normal@char}%
+ \expandafter\edef\csname\user@group @sh@#2@@\endcsname
+ {\expandafter\noexpand\csname normal@char#2\endcsname}%
+ \expandafter\edef\csname\user@group @sh@#2@\string\protect@\endcsname
+ {\expandafter\noexpand\csname user@active#2\endcsname}%
+ \if\string'#2%
+ \let\prim@s\bbl@prim@s
+ \let\active@math@prime#1%
+ \fi
+ \bbl@usehooks{initiateactive}{{#1}{#2}{#3}}}
+\@ifpackagewith{babel}{KeepShorthandsActive}%
+ {\let\bbl@restoreactive\@gobble}%
+ {\def\bbl@restoreactive#1{%
+ \bbl@exp{%
+%
+% ------------------------------------------------------------------------------
+%
+% lines 561 to 755 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
+ \\\AtEndOfPackage
+ {\catcode`#1=\the\catcode`#1\relax}}}%
+ \AtEndOfPackage{\let\bbl@restoreactive\@gobble}}
+\def\bbl@sh@select#1#2{%
+ \expandafter\ifx\csname#1@sh@#2@sel\endcsname\relax
+ \bbl@afterelse\bbl@scndcs
+ \else
+ \bbl@afterfi\csname#1@sh@#2@sel\endcsname
+ \fi}
+\def\active@prefix#1{%
+ \ifx\protect\@typeset@protect
+ \else
+ \ifx\protect\@unexpandable@protect
+ \noexpand#1%
+ \else
+ \protect#1%
+ \fi
+ \expandafter\@gobble
+ \fi}
+\newif\if@safe@actives
+\@safe@activesfalse
+\def\bbl@restore@actives{\if@safe@actives\@safe@activesfalse\fi}
+\def\bbl@activate#1{%
+ \bbl@withactive{\expandafter\let\expandafter}#1%
+ \csname bbl@active@\string#1\endcsname}
+\def\bbl@deactivate#1{%
+ \bbl@withactive{\expandafter\let\expandafter}#1%
+ \csname bbl@normal@\string#1\endcsname}
+\def\bbl@firstcs#1#2{\csname#1\endcsname}
+\def\bbl@scndcs#1#2{\csname#2\endcsname}
+\def\declare@shorthand#1#2{\@decl@short{#1}#2\@nil}
+\def\@decl@short#1#2#3\@nil#4{%
+ \def\bbl@tempa{#3}%
+ \ifx\bbl@tempa\@empty
+ \expandafter\let\csname #1@sh@\string#2@sel\endcsname\bbl@scndcs
+ \bbl@ifunset{#1@sh@\string#2@}{}%
+ {\def\bbl@tempa{#4}%
+ \expandafter\ifx\csname#1@sh@\string#2@\endcsname\bbl@tempa
+ \else
+ \bbl@info
+ {Redefining #1 shorthand \string#2\\%
+ in language \CurrentOption}%
+ \fi}%
+ \@namedef{#1@sh@\string#2@}{#4}%
+ \else
+ \expandafter\let\csname #1@sh@\string#2@sel\endcsname\bbl@firstcs
+ \bbl@ifunset{#1@sh@\string#2@\string#3@}{}%
+ {\def\bbl@tempa{#4}%
+ \expandafter\ifx\csname#1@sh@\string#2@\string#3@\endcsname\bbl@tempa
+ \else
+ \bbl@info
+ {Redefining #1 shorthand \string#2\string#3\\%
+ in language \CurrentOption}%
+ \fi}%
+ \@namedef{#1@sh@\string#2@\string#3@}{#4}%
+ \fi}
+\def\textormath{%
+ \ifmmode
+ \expandafter\@secondoftwo
+ \else
+ \expandafter\@firstoftwo
+ \fi}
+\def\user@group{user}
+\def\language@group{english}
+\def\system@group{system}
+\def\useshorthands{%
+ \@ifstar\bbl@usesh@s{\bbl@usesh@x{}}}
+\def\bbl@usesh@s#1{%
+ \bbl@usesh@x
+ {\AddBabelHook{babel-sh-\string#1}{afterextras}{\bbl@activate{#1}}}%
+ {#1}}
+\def\bbl@usesh@x#1#2{%
+ \bbl@ifshorthand{#2}%
+ {\def\user@group{user}%
+ \initiate@active@char{#2}%
+ #1%
+ \bbl@activate{#2}}%
+ {\bbl@error
+ {Cannot declare a shorthand turned off (\string#2)}
+ {Sorry, but you cannot use shorthands which have been\\%
+ turned off in the package options}}}
+\def\user@language@group{user@\language@group}
+\def\bbl@set@user@generic#1#2{%
+ \bbl@ifunset{user@generic@active#1}%
+ {\bbl@active@def#1\user@language@group{user@active}{user@generic@active}%
+ \bbl@active@def#1\user@group{user@generic@active}{language@active}%
+ \expandafter\edef\csname#2@sh@#1@@\endcsname{%
+ \expandafter\noexpand\csname normal@char#1\endcsname}%
+ \expandafter\edef\csname#2@sh@#1@\string\protect@\endcsname{%
+ \expandafter\noexpand\csname user@active#1\endcsname}}%
+ \@empty}
+\newcommand\defineshorthand[3][user]{%
+ \edef\bbl@tempa{\zap@space#1 \@empty}%
+ \bbl@for\bbl@tempb\bbl@tempa{%
+ \if*\expandafter\@car\bbl@tempb\@nil
+ \edef\bbl@tempb{user@\expandafter\@gobble\bbl@tempb}%
+ \@expandtwoargs
+ \bbl@set@user@generic{\expandafter\string\@car#2\@nil}\bbl@tempb
+ \fi
+ \declare@shorthand{\bbl@tempb}{#2}{#3}}}
+\def\languageshorthands#1{\def\language@group{#1}}
+\def\aliasshorthand#1#2{%
+ \bbl@ifshorthand{#2}%
+ {\expandafter\ifx\csname active@char\string#2\endcsname\relax
+ \ifx\document\@notprerr
+ \@notshorthand{#2}%
+ \else
+ \initiate@active@char{#2}%
+ \expandafter\let\csname active@char\string#2\expandafter\endcsname
+ \csname active@char\string#1\endcsname
+ \expandafter\let\csname normal@char\string#2\expandafter\endcsname
+ \csname normal@char\string#1\endcsname
+ \bbl@activate{#2}%
+ \fi
+ \fi}%
+ {\bbl@error
+ {Cannot declare a shorthand turned off (\string#2)}
+ {Sorry, but you cannot use shorthands which have been\\%
+ turned off in the package options}}}
+\def\@notshorthand#1{%
+ \bbl@error{%
+ The character `\string #1' should be made a shorthand character;\\%
+ add the command \string\useshorthands\string{#1\string} to
+ the preamble.\\%
+ I will ignore your instruction}%
+ {You may proceed, but expect unexpected results}}
+\newcommand*\shorthandon[1]{\bbl@switch@sh\@ne#1\@nnil}
+\DeclareRobustCommand*\shorthandoff{%
+ \@ifstar{\bbl@shorthandoff\tw@}{\bbl@shorthandoff\z@}}
+\def\bbl@shorthandoff#1#2{\bbl@switch@sh#1#2\@nnil}
+\def\bbl@switch@sh#1#2{%
+ \ifx#2\@nnil\else
+ \bbl@ifunset{bbl@active@\string#2}%
+ {\bbl@error
+ {I cannot switch `\string#2' on or off--not a shorthand}%
+ {This character is not a shorthand. Maybe you made\\%
+ a typing mistake? I will ignore your instruction}}%
+ {\ifcase#1%
+ \catcode`#212\relax
+ \or
+ \catcode`#2\active
+ \or
+ \csname bbl@oricat@\string#2\endcsname
+ \csname bbl@oridef@\string#2\endcsname
+ \fi}%
+ \bbl@afterfi\bbl@switch@sh#1%
+ \fi}
+\def\babelshorthand{\active@prefix\babelshorthand\bbl@putsh}
+\def\bbl@putsh#1{%
+ \bbl@ifunset{bbl@active@\string#1}%
+ {\bbl@putsh@i#1\@empty\@nnil}%
+ {\csname bbl@active@\string#1\endcsname}}
+\def\bbl@putsh@i#1#2\@nnil{%
+ \csname\languagename @sh@\string#1@%
+ \ifx\@empty#2\else\string#2@\fi\endcsname}
+\ifx\bbl@opt@shorthands\@nnil\else
+ \let\bbl@s@initiate@active@char\initiate@active@char
+ \def\initiate@active@char#1{%
+ \bbl@ifshorthand{#1}{\bbl@s@initiate@active@char{#1}}{}}
+ \let\bbl@s@switch@sh\bbl@switch@sh
+ \def\bbl@switch@sh#1#2{%
+ \ifx#2\@nnil\else
+ \bbl@afterfi
+ \bbl@ifshorthand{#2}{\bbl@s@switch@sh#1{#2}}{\bbl@switch@sh#1}%
+ \fi}
+ \let\bbl@s@activate\bbl@activate
+ \def\bbl@activate#1{%
+ \bbl@ifshorthand{#1}{\bbl@s@activate{#1}}{}}
+ \let\bbl@s@deactivate\bbl@deactivate
+ \def\bbl@deactivate#1{%
+ \bbl@ifshorthand{#1}{\bbl@s@deactivate{#1}}{}}
+\fi
+\newcommand\ifbabelshorthand[3]{\bbl@ifunset{bbl@active@\string#1}{#3}{#2}}
+\def\bbl@prim@s{%
+ \prime\futurelet\@let@token\bbl@pr@m@s}
+\def\bbl@if@primes#1#2{%
+ \ifx#1\@let@token
+ \expandafter\@firstoftwo
+ \else\ifx#2\@let@token
+ \bbl@afterelse\expandafter\@firstoftwo
+ \else
+ \bbl@afterfi\expandafter\@secondoftwo
+ \fi\fi}
+\begingroup
+ \catcode`\^=7 \catcode`\*=\active \lccode`\*=`\^
+ \catcode`\'=12 \catcode`\"=\active \lccode`\"=`\'
+ \lowercase{%
+ \gdef\bbl@pr@m@s{%
+ \bbl@if@primes"'%
+ \pr@@@s
+ {\bbl@if@primes*^\pr@@@t\egroup}}}
+\endgroup
+\initiate@active@char{~}
+\declare@shorthand{system}{~}{\leavevmode\nobreak\ }
+\bbl@activate{~}
+%
+% ------------------------------------------------------------------------------
+%
+% lines 890 to 927 from babel.def
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@allowhyphens{\ifvmode\else\nobreak\hskip\z@skip\fi}
+\def\bbl@t@one{T1}
+\def\allowhyphens{\ifx\cf@encoding\bbl@t@one\else\bbl@allowhyphens\fi}
+\newcommand\babelnullhyphen{\char\hyphenchar\font}
+\def\babelhyphen{\active@prefix\babelhyphen\bbl@hyphen}
+\def\bbl@hyphen{%
+ \@ifstar{\bbl@hyphen@i @}{\bbl@hyphen@i\@empty}}
+\def\bbl@hyphen@i#1#2{%
+ \bbl@ifunset{bbl@hy@#1#2\@empty}%
+ {\csname bbl@#1usehyphen\endcsname{\discretionary{#2}{}{#2}}}%
+ {\csname bbl@hy@#1#2\@empty\endcsname}}
+\def\bbl@usehyphen#1{%
+ \leavevmode
+ \ifdim\lastskip>\z@\mbox{#1}\else\nobreak#1\fi
+ \nobreak\hskip\z@skip}
+\def\bbl@@usehyphen#1{%
+ \leavevmode\ifdim\lastskip>\z@\mbox{#1}\else#1\fi}
+\def\bbl@hyphenchar{%
+ \ifnum\hyphenchar\font=\m@ne
+ \babelnullhyphen
+ \else
+ \char\hyphenchar\font
+ \fi}
+\def\bbl@hy@soft{\bbl@usehyphen{\discretionary{\bbl@hyphenchar}{}{}}}
+\def\bbl@hy@@soft{\bbl@@usehyphen{\discretionary{\bbl@hyphenchar}{}{}}}
+\def\bbl@hy@hard{\bbl@usehyphen\bbl@hyphenchar}
+\def\bbl@hy@@hard{\bbl@@usehyphen\bbl@hyphenchar}
+\def\bbl@hy@nobreak{\bbl@usehyphen{\mbox{\bbl@hyphenchar}}}
+\def\bbl@hy@@nobreak{\mbox{\bbl@hyphenchar}}
+\def\bbl@hy@repeat{%
+ \bbl@usehyphen{%
+ \discretionary{\bbl@hyphenchar}{\bbl@hyphenchar}{\bbl@hyphenchar}}}
+\def\bbl@hy@@repeat{%
+ \bbl@@usehyphen{%
+ \discretionary{\bbl@hyphenchar}{\bbl@hyphenchar}{\bbl@hyphenchar}}}
+\def\bbl@hy@empty{\hskip\z@skip}
+\def\bbl@hy@@empty{\discretionary{}{}{}}
+\def\bbl@disc#1#2{\nobreak\discretionary{#2-}{}{#1}\bbl@allowhyphens}
+%
+% ------------------------------------------------------------------------------
+%
+% end of the code copied from babel files
+%
+% ------------------------------------------------------------------------------
+%
+\def\bbl@disc@german#1#2{%
+ \nobreak\discretionary{#2-}{}{#1}}
+% \end{macrocode}
+% \iffalse
+%</babelsh.def>
+%<*cal-util.def>
+% \fi
+% \clearpage
+%
+% \subsection{cal-util.def}
+% \begin{macrocode}
+%%%%%%%%%%%%% cal-util.def %%%%%%%%%%%%%%%%
+% Macros shared by hijrical and hebrewcal %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% the following is adapted from hebcal.sty in babel
+\def\@Remainder#1#2#3{%
+ #3 = #1% % c = a
+ \divide #3 by #2% % c = a/b
+ \multiply #3 by -#2% % c = -b(a/b)
+ \advance #3 by #1}% % c = a - b(a/b)
+\newif\if@Divisible
+\def\@CheckIfDivisible#1#2{%
+ {%
+ \countdef\tmpx=0% % temporary variable
+ \@Remainder{#1}{#2}{\tmpx}%
+ \ifnum\tmpx=0%
+ \global\@Divisibletrue%
+ \else%
+ \global\@Divisiblefalse%
+ \fi}}
+\newif\if@GregorianLeap
+\def\@CheckIfGregorianLeap#1{%
+ {%
+ \@CheckIfDivisible{#1}{4}%
+ \if@Divisible%
+ \@CheckIfDivisible{#1}{100}%
+ \if@Divisible%
+ \@CheckIfDivisible{#1}{400}%
+ \if@Divisible%
+ \global\@GregorianLeaptrue%
+ \else%
+ \global\@GregorianLeapfalse%
+ \fi%
+ \else%
+ \global\@GregorianLeaptrue%
+ \fi%
+ \else%
+ \global\@GregorianLeapfalse%
+ \fi%
+ }}
+%%
+
+\newcounter{tmpA}\newcounter{tmpB}
+\newcounter{tmpC}\newcounter{tmpD}
+\newcounter{tmpE}\newcounter{tmpF}
+
+
+%% This is an algorithm from Reingold & Dershowitz,
+%% Calendrical Calculations, The Millenium Edition
+%%
+\def\@FixedFromGregorian#1#2#3#4{%
+ \setcounter{tmpA}{(#1-1)*365}%
+ \setcounter{tmpB}{(#1-1)/4}%
+ \setcounter{tmpC}{(#1-1)/100}%
+ \setcounter{tmpD}{(#1-1)/400}%
+ \setcounter{tmpE}{(367*#2-362)/12}%
+ \ifnum#2<3%
+ \setcounter{tmpF}{0}%
+ \else%
+ \@CheckIfGregorianLeap{#1}%
+ \if@GregorianLeap%
+ \setcounter{tmpF}{-1}%
+ \else%
+ \setcounter{tmpF}{-2}%
+ \fi%
+ \fi%
+ \@ifundefined{c@#4}{\global\newcounter{#4}}{}%
+ \setcounter{#4}{\value{tmpA}+\value{tmpB}-\value{tmpC}+\value{tmpD}+\value{tmpE}+\value{tmpF}+#3}%
+}
+% \end{macrocode}
+% \iffalse
+%</cal-util.def>
+%<*xgreek-fixes.def>
+% \fi
+% \clearpage
+%
+% \subsection{xgreek-fixes.def}
+% \begin{macrocode}
+% the following fixes are taken verbatim from xgreek.sty:
+% \message{Package `xgreek' version 3.0.1 by Apostolos Syropoulos}
+\global\lccode"0370="0371 \global\uccode"0370="0370
+\global\lccode"0371="0371 \global\uccode"0371="0370
+\global\lccode"0372="0373 \global\uccode"0372="0372
+\global\lccode"0373="0373 \global\uccode"0373="0372
+\global\lccode"0376="0377 \global\uccode"0376="0376
+\global\lccode"0377="0377 \global\uccode"0377="0376
+\global\lccode"03FD="037B \global\uccode"03FD="03FD
+\global\lccode"037B="037B \global\uccode"037B="03FD
+\global\lccode"03FE="037C \global\uccode"03FE="03FE
+\global\lccode"037C="037C \global\uccode"037C="03FE
+\global\lccode"03FF="037D \global\uccode"03FF="03FF
+\global\lccode"037D="037D \global\uccode"037D="03FF
+\global\lccode"0386="03AC \global\uccode"0386="0391
+\global\lccode"0388="03AD \global\uccode"0388="0395
+\global\lccode"0389="03AC \global\uccode"0389="0397
+\global\lccode"038A="03AF \global\uccode"038A="0399
+\global\lccode"038C="03CC \global\uccode"038C="039F
+\global\lccode"038E="03CD \global\uccode"038E="03A5
+\global\lccode"038F="03CE \global\uccode"038F="03A9
+\global\lccode"0390="0390 \global\uccode"0390="03AA
+\global\lccode"0391="03B1 \global\uccode"0391="0391
+\global\lccode"0392="03B2 \global\uccode"0392="0392
+\global\lccode"0393="03B3 \global\uccode"0393="0393
+\global\lccode"0394="03B4 \global\uccode"0394="0394
+\global\lccode"0395="03B5 \global\uccode"0395="0395
+\global\lccode"0396="03B6 \global\uccode"0396="0396
+\global\lccode"0397="03B7 \global\uccode"0397="0397
+\global\lccode"0398="03B8 \global\uccode"0398="0398
+\global\lccode"0399="03B9 \global\uccode"0399="0399
+\global\lccode"039A="03BA \global\uccode"039A="039A
+\global\lccode"039B="03BB \global\uccode"039B="039B
+\global\lccode"039C="03BC \global\uccode"039C="039C
+\global\lccode"039D="03BD \global\uccode"039D="039D
+\global\lccode"039E="03BE \global\uccode"039E="039E
+\global\lccode"039F="03BF \global\uccode"039F="039F
+\global\lccode"03A0="03C0 \global\uccode"03A0="03A0
+\global\lccode"03A1="03C1 \global\uccode"03A1="03A1
+\global\lccode"03A3="03C3 \global\uccode"03A3="03A3
+\global\lccode"03A4="03C4 \global\uccode"03A4="03A4
+\global\lccode"03A5="03C5 \global\uccode"03A5="03A5
+\global\lccode"03A6="03C6 \global\uccode"03A6="03A6
+\global\lccode"03A7="03C7 \global\uccode"03A7="03A7
+\global\lccode"03A8="03C8 \global\uccode"03A8="03A8
+\global\lccode"03A9="03C9 \global\uccode"03A9="03A9
+\global\lccode"03AA="03CA \global\uccode"03AA="03AA
+\global\lccode"03AB="03CB \global\uccode"03AB="03AB
+\global\lccode"03AC="03AC \global\uccode"03AC="0391
+\global\lccode"03AD="03AD \global\uccode"03AD="0395
+\global\lccode"03AE="03AE \global\uccode"03AE="0397
+\global\lccode"03AF="03AF \global\uccode"03AF="0399
+\global\lccode"03B0="03B0 \global\uccode"03B0="03AB
+\global\lccode"03B1="03B1 \global\uccode"03B1="0391
+\global\lccode"03B2="03B2 \global\uccode"03B2="0392
+\global\lccode"03B3="03B3 \global\uccode"03B3="0393
+\global\lccode"03B4="03B4 \global\uccode"03B4="0394
+\global\lccode"03B5="03B5 \global\uccode"03B5="0395
+\global\lccode"03B6="03B6 \global\uccode"03B6="0396
+\global\lccode"03B7="03B7 \global\uccode"03B7="0397
+\global\lccode"03B8="03B8 \global\uccode"03B8="0398
+\global\lccode"03B9="03B9 \global\uccode"03B9="0399
+\global\lccode"03BA="03BA \global\uccode"03BA="039A
+\global\lccode"03BB="03BB \global\uccode"03BB="039B
+\global\lccode"03BC="03BC \global\uccode"03BC="039C
+\global\lccode"03BD="03BD \global\uccode"03BD="039D
+\global\lccode"03BE="03BE \global\uccode"03BE="039E
+\global\lccode"03BF="03BF \global\uccode"03BF="039F
+\global\lccode"03C0="03C0 \global\uccode"03C0="03A0
+\global\lccode"03C1="03C1 \global\uccode"03C1="03A1
+\global\lccode"03C2="03C2 \global\uccode"03C2="03A3
+\global\lccode"03C3="03C3 \global\uccode"03C3="03A3
+\global\lccode"03C4="03C4 \global\uccode"03C4="03A4
+\global\lccode"03C5="03C5 \global\uccode"03C5="03A5
+\global\lccode"03C6="03C6 \global\uccode"03C6="03A6
+\global\lccode"03C7="03C7 \global\uccode"03C7="03A7
+\global\lccode"03C8="03C8 \global\uccode"03C8="03A8
+\global\lccode"03C9="03C9 \global\uccode"03C9="03A9
+\global\lccode"03CA="03CA \global\uccode"03CA="03AA
+\global\lccode"03CB="03CB \global\uccode"03CB="03AB
+\global\lccode"03CC="03CC \global\uccode"03CC="039F
+\global\lccode"03CD="03CD \global\uccode"03CD="03A5
+\global\lccode"03CE="03CE \global\uccode"03CE="03A9
+\global\lccode"03D0="03D0 \global\uccode"03D0="0392
+\global\lccode"03D1="03D1 \global\uccode"03D1="0398
+\global\lccode"03D2="03C5 \global\uccode"03D2="03A5
+\global\lccode"03D3="03CD \global\uccode"03D3="03A5
+\global\lccode"03D4="03CB \global\uccode"03D4="03AB
+\global\lccode"03D5="03C6 \global\uccode"03D5="03A6
+\global\lccode"03D6="03C0 \global\uccode"03D6="03A0
+\global\lccode"03DA="03DB \global\uccode"03DA="03DA
+\global\lccode"03DB="03DB \global\uccode"03DB="03DA
+\global\lccode"03DC="03DD \global\uccode"03DC="03DC
+\global\lccode"03DD="03DD \global\uccode"03DD="03DC
+\global\lccode"03DE="03DF \global\uccode"03DE="03DE
+\global\lccode"03DF="03DF \global\uccode"03DF="03DE
+\global\lccode"03E0="03E1 \global\uccode"03E0="03E0
+\global\lccode"03E1="03E1 \global\uccode"03E1="03E0
+\global\lccode"03F0="03BA \global\uccode"03F0="039A
+\global\lccode"03F1="03C1 \global\uccode"03F1="03A1
+\global\lccode"03F2="03F2 \global\uccode"03F2="03F9
+\global\lccode"03F9="03F2 \global\uccode"03F9="03F9
+\global\lccode"1F00="1F00 \global\uccode"1F00="0391
+\global\lccode"1F01="1F01 \global\uccode"1F01="0391
+\global\lccode"1F02="1F02 \global\uccode"1F02="0391
+\global\lccode"1F03="1F03 \global\uccode"1F03="0391
+\global\lccode"1F04="1F04 \global\uccode"1F04="0391
+\global\lccode"1F05="1F05 \global\uccode"1F05="0391
+\global\lccode"1F06="1F06 \global\uccode"1F06="0391
+\global\lccode"1F07="1F07 \global\uccode"1F07="0391
+\global\lccode"1F08="1F00 \global\uccode"1F08="0391
+\global\lccode"1F09="1F01 \global\uccode"1F09="0391
+\global\lccode"1F0A="1F02 \global\uccode"1F0A="0391
+\global\lccode"1F0B="1F03 \global\uccode"1F0B="0391
+\global\lccode"1F0C="1F04 \global\uccode"1F0C="0391
+\global\lccode"1F0D="1F05 \global\uccode"1F0D="0391
+\global\lccode"1F0E="1F06 \global\uccode"1F0E="0391
+\global\lccode"1F0F="1F07 \global\uccode"1F0F="0391
+\global\lccode"1F10="1F10 \global\uccode"1F10="0395
+\global\lccode"1F11="1F11 \global\uccode"1F11="0395
+\global\lccode"1F12="1F12 \global\uccode"1F12="0395
+\global\lccode"1F13="1F13 \global\uccode"1F13="0395
+\global\lccode"1F14="1F14 \global\uccode"1F14="0395
+\global\lccode"1F15="1F15 \global\uccode"1F15="0395
+\global\lccode"1F18="1F10 \global\uccode"1F18="0395
+\global\lccode"1F19="1F11 \global\uccode"1F19="0395
+\global\lccode"1F1A="1F12 \global\uccode"1F1A="0395
+\global\lccode"1F1B="1F13 \global\uccode"1F1B="0395
+\global\lccode"1F1C="1F14 \global\uccode"1F1C="0395
+\global\lccode"1F1D="1F15 \global\uccode"1F1D="0395
+\global\lccode"1F20="1F20 \global\uccode"1F20="0397
+\global\lccode"1F21="1F21 \global\uccode"1F21="0397
+\global\lccode"1F22="1F22 \global\uccode"1F22="0397
+\global\lccode"1F23="1F23 \global\uccode"1F23="0397
+\global\lccode"1F24="1F24 \global\uccode"1F24="0397
+\global\lccode"1F25="1F25 \global\uccode"1F25="0397
+\global\lccode"1F26="1F26 \global\uccode"1F26="0397
+\global\lccode"1F27="1F27 \global\uccode"1F27="0397
+\global\lccode"1F28="1F20 \global\uccode"1F28="0397
+\global\lccode"1F29="1F21 \global\uccode"1F29="0397
+\global\lccode"1F2A="1F22 \global\uccode"1F2A="0397
+\global\lccode"1F2B="1F23 \global\uccode"1F2B="0397
+\global\lccode"1F2C="1F24 \global\uccode"1F2C="0397
+\global\lccode"1F2D="1F25 \global\uccode"1F2D="0397
+\global\lccode"1F2E="1F26 \global\uccode"1F2E="0397
+\global\lccode"1F2F="1F27 \global\uccode"1F2F="0397
+\global\lccode"1F30="1F30 \global\uccode"1F30="0399
+\global\lccode"1F31="1F31 \global\uccode"1F31="0399
+\global\lccode"1F32="1F32 \global\uccode"1F32="0399
+\global\lccode"1F33="1F33 \global\uccode"1F33="0399
+\global\lccode"1F34="1F34 \global\uccode"1F34="0399
+\global\lccode"1F35="1F35 \global\uccode"1F35="0399
+\global\lccode"1F36="1F36 \global\uccode"1F36="0399
+\global\lccode"1F37="1F37 \global\uccode"1F37="0399
+\global\lccode"1F38="1F30 \global\uccode"1F38="0399
+\global\lccode"1F39="1F31 \global\uccode"1F39="0399
+\global\lccode"1F3A="1F32 \global\uccode"1F3A="0399
+\global\lccode"1F3B="1F33 \global\uccode"1F3B="0399
+\global\lccode"1F3C="1F34 \global\uccode"1F3C="0399
+\global\lccode"1F3D="1F35 \global\uccode"1F3D="0399
+\global\lccode"1F3E="1F36 \global\uccode"1F3E="0399
+\global\lccode"1F3F="1F37 \global\uccode"1F3F="0399
+\global\lccode"1F40="1F40 \global\uccode"1F40="039F
+\global\lccode"1F41="1F41 \global\uccode"1F41="039F
+\global\lccode"1F42="1F42 \global\uccode"1F42="039F
+\global\lccode"1F43="1F43 \global\uccode"1F43="039F
+\global\lccode"1F44="1F44 \global\uccode"1F44="039F
+\global\lccode"1F45="1F45 \global\uccode"1F45="039F
+\global\lccode"1F48="1F40 \global\uccode"1F48="039F
+\global\lccode"1F49="1F41 \global\uccode"1F49="039F
+\global\lccode"1F4A="1F42 \global\uccode"1F4A="039F
+\global\lccode"1F4B="1F43 \global\uccode"1F4B="039F
+\global\lccode"1F4C="1F44 \global\uccode"1F4C="039F
+\global\lccode"1F4D="1F45 \global\uccode"1F4D="039F
+\global\lccode"1F50="1F50 \global\uccode"1F50="03A5
+\global\lccode"1F51="1F51 \global\uccode"1F51="03A5
+\global\lccode"1F52="1F52 \global\uccode"1F52="03A5
+\global\lccode"1F53="1F53 \global\uccode"1F53="03A5
+\global\lccode"1F54="1F54 \global\uccode"1F54="03A5
+\global\lccode"1F55="1F55 \global\uccode"1F55="03A5
+\global\lccode"1F56="1F56 \global\uccode"1F56="03A5
+\global\lccode"1F57="1F57 \global\uccode"1F57="03A5
+\global\lccode"1F59="1F51 \global\uccode"1F59="03A5
+\global\lccode"1F5B="1F53 \global\uccode"1F5B="03A5
+\global\lccode"1F5D="1F55 \global\uccode"1F5D="03A5
+\global\lccode"1F5F="1F57 \global\uccode"1F5F="03A5
+\global\lccode"1F60="1F60 \global\uccode"1F60="03A9
+\global\lccode"1F61="1F61 \global\uccode"1F61="03A9
+\global\lccode"1F62="1F62 \global\uccode"1F62="03A9
+\global\lccode"1F63="1F63 \global\uccode"1F63="03A9
+\global\lccode"1F64="1F64 \global\uccode"1F64="03A9
+\global\lccode"1F65="1F65 \global\uccode"1F65="03A9
+\global\lccode"1F66="1F66 \global\uccode"1F66="03A9
+\global\lccode"1F67="1F67 \global\uccode"1F67="03A9
+\global\lccode"1F68="1F60 \global\uccode"1F68="03A9
+\global\lccode"1F69="1F61 \global\uccode"1F69="03A9
+\global\lccode"1F6A="1F62 \global\uccode"1F6A="03A9
+\global\lccode"1F6B="1F63 \global\uccode"1F6B="03A9
+\global\lccode"1F6C="1F64 \global\uccode"1F6C="03A9
+\global\lccode"1F6D="1F65 \global\uccode"1F6D="03A9
+\global\lccode"1F6E="1F66 \global\uccode"1F6E="03A9
+\global\lccode"1F6F="1F67 \global\uccode"1F6F="03A9
+\global\lccode"1F70="1F70 \global\uccode"1F70="0391
+\global\lccode"1F71="1F71 \global\uccode"1F71="0391
+\global\lccode"1F72="1F72 \global\uccode"1F72="0395
+\global\lccode"1F73="1F73 \global\uccode"1F73="0395
+\global\lccode"1F74="1F74 \global\uccode"1F74="0397
+\global\lccode"1F75="1F75 \global\uccode"1F75="0397
+\global\lccode"1F76="1F76 \global\uccode"1F76="0399
+\global\lccode"1F77="1F77 \global\uccode"1F77="0399
+\global\lccode"1F78="1F78 \global\uccode"1F78="039F
+\global\lccode"1F79="1F79 \global\uccode"1F79="039F
+\global\lccode"1F7A="1F7A \global\uccode"1F7A="03A5
+\global\lccode"1F7B="1F7B \global\uccode"1F7B="03A5
+\global\lccode"1F7C="1F7C \global\uccode"1F7C="03A9
+\global\lccode"1F7D="1F7D \global\uccode"1F7D="03A9
+\global\lccode"1F80="1F80 \global\uccode"1F80="1FBC
+\global\lccode"1F81="1F81 \global\uccode"1F81="1FBC
+\global\lccode"1F82="1F82 \global\uccode"1F82="1FBC
+\global\lccode"1F83="1F83 \global\uccode"1F83="1FBC
+\global\lccode"1F84="1F84 \global\uccode"1F84="1FBC
+\global\lccode"1F85="1F85 \global\uccode"1F85="1FBC
+\global\lccode"1F86="1F86 \global\uccode"1F86="1FBC
+\global\lccode"1F87="1F87 \global\uccode"1F87="1FBC
+\global\lccode"1F88="1F80 \global\uccode"1F88="1FBC
+\global\lccode"1F89="1F81 \global\uccode"1F89="1FBC
+\global\lccode"1F8A="1F82 \global\uccode"1F8A="1FBC
+\global\lccode"1F8B="1F83 \global\uccode"1F8B="1FBC
+\global\lccode"1F8C="1F84 \global\uccode"1F8C="1FBC
+\global\lccode"1F8D="1F85 \global\uccode"1F8D="1FBC
+\global\lccode"1F8E="1F86 \global\uccode"1F8E="1FBC
+\global\lccode"1F8F="1F87 \global\uccode"1F8F="1FBC
+\global\lccode"1F90="1F90 \global\uccode"1F90="1FCC
+\global\lccode"1F91="1F91 \global\uccode"1F91="1FCC
+\global\lccode"1F92="1F92 \global\uccode"1F92="1FCC
+\global\lccode"1F93="1F93 \global\uccode"1F93="1FCC
+\global\lccode"1F94="1F94 \global\uccode"1F94="1FCC
+\global\lccode"1F95="1F95 \global\uccode"1F95="1FCC
+\global\lccode"1F96="1F96 \global\uccode"1F96="1FCC
+\global\lccode"1F97="1F97 \global\uccode"1F97="1FCC
+\global\lccode"1F98="1F90 \global\uccode"1F98="1FCC
+\global\lccode"1F99="1F91 \global\uccode"1F99="1FCC
+\global\lccode"1F9A="1F92 \global\uccode"1F9A="1FCC
+\global\lccode"1F9B="1F93 \global\uccode"1F9B="1FCC
+\global\lccode"1F9C="1F94 \global\uccode"1F9C="1FCC
+\global\lccode"1F9D="1F95 \global\uccode"1F9D="1FCC
+\global\lccode"1F9E="1F96 \global\uccode"1F9E="1FCC
+\global\lccode"1F9F="1F97 \global\uccode"1F9F="1FCC
+\global\lccode"1FA0="1FA0 \global\uccode"1FA0="1FFC
+\global\lccode"1FA1="1FA1 \global\uccode"1FA1="1FFC
+\global\lccode"1FA2="1FA2 \global\uccode"1FA2="1FFC
+\global\lccode"1FA3="1FA3 \global\uccode"1FA3="1FFC
+\global\lccode"1FA4="1FA4 \global\uccode"1FA4="1FFC
+\global\lccode"1FA5="1FA5 \global\uccode"1FA5="1FFC
+\global\lccode"1FA6="1FA6 \global\uccode"1FA6="1FFC
+\global\lccode"1FA7="1FA7 \global\uccode"1FA7="1FFC
+\global\lccode"1FA8="1FA0 \global\uccode"1FA8="1FFC
+\global\lccode"1FA9="1FA1 \global\uccode"1FA9="1FFC
+\global\lccode"1FAA="1FA2 \global\uccode"1FAA="1FFC
+\global\lccode"1FAB="1FA3 \global\uccode"1FAB="1FFC
+\global\lccode"1FAC="1FA4 \global\uccode"1FAC="1FFC
+\global\lccode"1FAD="1FA5 \global\uccode"1FAD="1FFC
+\global\lccode"1FAE="1FA6 \global\uccode"1FAE="1FFC
+\global\lccode"1FAF="1FA7 \global\uccode"1FAF="1FFC
+\global\lccode"1FB0="1FB0 \global\uccode"1FB0="1FB8
+\global\lccode"1FB1="1FB1 \global\uccode"1FB1="1FB9
+\global\lccode"1FB2="1FB2 \global\uccode"1FB2="1FBC
+\global\lccode"1FB3="1FB3 \global\uccode"1FB3="1FBC
+\global\lccode"1FB4="1FB4 \global\uccode"1FB4="1FBC
+\global\lccode"1FB6="1FB6 \global\uccode"1FB6="0391
+\global\lccode"1FB7="1FB7 \global\uccode"1FB7="1FBC
+\global\lccode"1FB8="1FB0 \global\uccode"1FB8="1FB8
+\global\lccode"1FB9="1FB1 \global\uccode"1FB9="1FB9
+\global\lccode"1FBA="1F70 \global\uccode"1FBA="0391
+\global\lccode"1FBB="1F71 \global\uccode"1FBB="0391
+\global\lccode"1FBC="1FB3 \global\uccode"1FBC="1FBC
+\global\lccode"1FBD="1FBD \global\uccode"1FBD="1FBD
+\global\lccode"1FC2="1FC2 \global\uccode"1FC2="1FCC
+\global\lccode"1FC3="1FC3 \global\uccode"1FC3="1FCC
+\global\lccode"1FC4="1FC4 \global\uccode"1FC4="1FCC
+\global\lccode"1FC6="1FC6 \global\uccode"1FC6="0397
+\global\lccode"1FC7="1FC7 \global\uccode"1FC7="1FCC
+\global\lccode"1FC8="1F72 \global\uccode"1FC8="0395
+\global\lccode"1FC9="1F73 \global\uccode"1FC9="0395
+\global\lccode"1FCA="1F74 \global\uccode"1FCA="0397
+\global\lccode"1FCB="1F75 \global\uccode"1FCB="0397
+\global\lccode"1FCC="1FC3 \global\uccode"1FCC="1FCC
+\global\lccode"1FD0="1FD0 \global\uccode"1FD0="1FD8
+\global\lccode"1FD1="1FD1 \global\uccode"1FD1="1FD9
+\global\lccode"1FD2="1FD2 \global\uccode"1FD2="03AA
+\global\lccode"1FD3="1FD3 \global\uccode"1FD3="03AA
+\global\lccode"1FD6="1FD6 \global\uccode"1FD6="0399
+\global\lccode"1FD7="1FD7 \global\uccode"1FD7="03AA
+\global\lccode"1FD8="1FD0 \global\uccode"1FD8="1FD8
+\global\lccode"1FD9="1FD1 \global\uccode"1FD9="1FD9
+\global\lccode"1FDA="1F76 \global\uccode"1FDA="0399
+\global\lccode"1FDB="1F77 \global\uccode"1FDB="0399
+\global\lccode"1FE0="1FE0 \global\uccode"1FE0="1FE8
+\global\lccode"1FE1="1FE1 \global\uccode"1FE1="1FE9
+\global\lccode"1FE2="1FE2 \global\uccode"1FE2="03AB
+\global\lccode"1FE3="1FE3 \global\uccode"1FE3="03AB
+\global\lccode"1FE4="1FE4 \global\uccode"1FE4="03A1
+\global\lccode"1FE5="1FE5 \global\uccode"1FE5="03A1
+\global\lccode"1FE6="1FE6 \global\uccode"1FE6="03A5
+\global\lccode"1FE7="1FE7 \global\uccode"1FE7="03AB
+\global\lccode"1FE8="1FE0 \global\uccode"1FE8="1FE8
+\global\lccode"1FE9="1FE1 \global\uccode"1FE9="1FE9
+\global\lccode"1FEA="1F7A \global\uccode"1FEA="03A5
+\global\lccode"1FEB="1F7B \global\uccode"1FEB="03A5
+\global\lccode"1FEC="1FE5 \global\uccode"1FEC="1FEC
+\global\lccode"1FF2="1FF2 \global\uccode"1FF2="1FFC
+\global\lccode"1FF3="1FF3 \global\uccode"1FF3="1FFC
+\global\lccode"1FF4="1FF4 \global\uccode"1FF4="1FFC
+\global\lccode"1FF6="1FF6 \global\uccode"1FF6="03A9
+\global\lccode"1FF7="1FF7 \global\uccode"1FF7="1FFC
+\global\lccode"1FF8="1F78 \global\uccode"1FF8="039F
+\global\lccode"1FF9="1F79 \global\uccode"1FF9="039F
+\global\lccode"1FFA="1F7C \global\uccode"1FFA="03A9
+\global\lccode"1FFB="1F7D \global\uccode"1FFB="03A9
+\global\lccode"1FFC="1FF3 \global\uccode"1FFC="1FFC
+% \end{macrocode}
+% \iffalse
+%</xgreek-fixes.def>
%<*gloss-acadien.ldf>
% \fi
% \clearpage
@@ -2697,7 +8367,7 @@ to track the issues and follow progress.
}
\def\noextras@afrikaans{%
- \noafrikaans@shorthands%
+ \ifafrikaans@babelshorthands\noafrikaans@shorthands\fi%
}
\def\blockextras@afrikaans{%
@@ -3152,12 +8822,6 @@ to track the issues and follow progress.
% \subsection{gloss-arabic.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-arabic.ldf}[polyglossia: module for arabic]
-\ifluatex
- \xpg@warning{Arabic is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
\RequireBidi
\RequirePackage{arabicnumbers}
\RequirePackage{hijrical}
@@ -3192,6 +8856,8 @@ and may look very wrong.}
\setlanguagealias*[locale=default]{arabic}{apd}
\setlanguagealias*[locale=mashriq]{arabic}{ar-PS}
+\define@boolkey{arabic}[arabic@]{abjadalph}[true]{}
+
\newif\ifeastern@numerals
\def\tmp@mashriq{mashriq}
\def\tmp@maghrib{maghrib}
@@ -3326,6 +8992,19 @@ and may look very wrong.}
\def\@ornatebracearabic#1{\RL{\char"FD3F\@arabic#1\char"FD3E}}
\def\@ornatebracealph#1{\RL{\char"FD3F\@alph#1\char"FD3E}}
+\def\abjadalph#1{\expandafter\arabic@abjad@alph{\number#1}}
+
+% This is a poor man's Arabic alphanumeric. It just uses the alphabet and
+% thus ends at 28.
+\def\arabic@abjad@alph#1{\ifcase#1%
+ \or ا\or ب\or\abjad@three\or د\or Ùˆ\or Ù‡â€\or ز%
+ \or Ø­\or Ø·\or ÙŠ\or Ùƒ\or Ù„\or Ù…\or Ù†%
+ \or س\or ع\or Ù\or ص\or Ù‚\or ر\or Ø´%
+ \or ت\or ث\or خ\or ذ\or ض\or ظ\or غ%
+ \else\xpg@ill@value{#1}{arabic@abjad@alph}\fi%
+}
+
+
\def\abjadmaghribi#1{%
\ifnum#1>1999\xpg@ill@value{#1}{abjad}%
\else
@@ -3360,8 +9039,13 @@ and may look very wrong.}
\ifnum#1=\z@\fi\abj@maghribi@num@iii}
\def\arabic@numbers{%
+ \ifarabic@abjadalph
+ \let\@alph\abjadalph%
+ \let\@Alph\abjadalph%
+ \else
\let\@alph\abjad%
\let\@Alph\abjad%
+ \fi
}
\def\noarabic@numbers{%
@@ -3994,7 +9678,7 @@ and may look very wrong.}
\def\@Ccdash{\leavevmode
\nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
\ifx\cyrdash\undefined
- \def\cyrdash{\hbox to.8em{--\hss--}}%
+ \def\cyrdash{\hbox to.8em{\textendash\hss\textendash}}%
\fi
\declare@shorthand{belarusian}{",}{\nobreak\hskip.2em\ignorespaces}%
}
@@ -4179,7 +9863,7 @@ and may look very wrong.}
\def\noextras@belarusian{%
\ifcyrillic@numerals\nobelarusian@numbers\fi%
- \nobelarusian@shorthands%
+ \ifbelarusian@babelshorthands\nobelarusian@shorthands\fi%
}
\def\blockextras@belarusian{%
@@ -4205,13 +9889,6 @@ and may look very wrong.}
\ProvidesFile{gloss-bengali.ldf}[polyglossia: module for bengali]
-\ifluatex
- \xpg@warning{Bengali is not supported with LuaTeX.\MessageBreak
- I will proceed with the compilation, but\MessageBreak
- the output is not guaranteed to be correct\MessageBreak
- and may look very wrong.}
-\fi
-
\RequirePackage{devanagaridigits}
\RequirePackage{bengalidigits}
@@ -4796,18 +10473,23 @@ and may look very wrong.}
\csname normal@char\string"\endcsname l%
\else
\leftllkern=0pt\rightllkern=0pt\raiselldim=0pt%
- \setbox0\hbox{l}\setbox1\hbox{l\/}%
+ \setbox0\hbox{l}%
\xpg@if@char@available{00B7}%
- {\setbox2\hbox{\char"00B7}}%
- {\setbox2\hbox{.}}%
- \advance\raiselldim by \the\fontdimen5\the\font
+ {\setbox2\hbox{\char"00B7}\setbox1\hbox{l}}%
+ {\setbox2\hbox{.}\setbox1\hbox{l\/}}%
+ \setbox3\hbox{.}%
+ \advance\raiselldim by \the\fontdimen5\the\font%
\advance\raiselldim by -\ht2%
\leftllkern=-.25\wd0%
\advance\leftllkern by \wd1%
\advance\leftllkern by -\wd0%
+ \advance\leftllkern by -0.5\wd2%
+ \advance\leftllkern by 0.5\wd3%
\rightllkern=-.25\wd0%
\advance\rightllkern by -\wd1%
\advance\rightllkern by \wd0%
+ \advance\rightllkern by -0.5\wd2%
+ \advance\rightllkern by 0.5\wd3%
\allowhyphens\discretionary{l-}{l}%
{\hbox{l}\kern\leftllkern\xpg@raiseddot%
\kern\rightllkern\hbox{l}}\allowhyphens
@@ -4819,19 +10501,24 @@ and may look very wrong.}
\csname normal@char\string"\endcsname L%
\else
\leftllkern=0pt\rightllkern=0pt\raiselldim=0pt%
- \setbox0\hbox{L}\setbox1\hbox{L\/}%
+ \setbox0\hbox{L}%
\xpg@if@char@available{00B7}%
- {\setbox2\hbox{\char"00B7}}%
- {\setbox2\hbox{.}}%
+ {\setbox2\hbox{\char"00B7}\setbox1\hbox{L}}%
+ {\setbox2\hbox{.}\setbox1\hbox{L\/}}%
+ \setbox3\hbox{.}%
\advance\raiselldim by .5\ht0%
\advance\raiselldim by -.5\ht2%
\leftllkern=-.125\wd0%
\advance\leftllkern by \wd1%
\advance\leftllkern by -\wd0%
+ \advance\leftllkern by -0.5\wd2%
+ \advance\leftllkern by 0.5\wd3%
\rightllkern=-\wd0%
\divide\rightllkern by 6%
\advance\rightllkern by -\wd1%
\advance\rightllkern by \wd0%
+ \advance\rightllkern by -0.5\wd2%
+ \advance\rightllkern by 0.5\wd3%
\allowhyphens\discretionary{L-}{L}%
{\hbox{L}\kern\leftllkern\xpg@raiseddot%
\kern\rightllkern\hbox{L}}\allowhyphens
@@ -4889,7 +10576,7 @@ and may look very wrong.}
\space de~\number\year}}
\def\noextras@catalan{%
- \nocatalan@shorthands%
+ \ifcatalan@babelshorthands\nocatalan@shorthands\fi%
}
\def\blockextras@catalan{%
@@ -5184,7 +10871,7 @@ and may look very wrong.}
}
\def\noextras@croatian{%
- \nocroatian@shorthands%
+ \ifcroatian@babelshorthands\nocroatian@shorthands\fi%
}
\def\blockextras@croatian{%
@@ -5313,7 +11000,7 @@ and may look very wrong.}
\chardef\czech@boundary=4095 %
\def\newXeTeXintercharclass{%
\e@alloc\XeTeXcharclass\chardef
- \xe@alloc@intercharclass\m@ne\@ucharclass@boundary}
+ \xe@alloc@intercharclass\m@ne\@ucharclass@boundary}%
\else
\chardef\czech@boundary=255
\fi
@@ -5342,6 +11029,24 @@ and may look very wrong.}
% Add nonbreakable space after single-letter word to
% prevent them to land at the end of a line
+% vlna code taken and adapted from xevlna.sty
+\ifxetex
+ \def\czech@nointerchartoks{\let\czech@interchartoks\czech@PreCSpreposition}%
+ \def\czech@PreCSpreposition{%
+ \def\next{}%
+ \ifnum\catcode`\ =10 % nothing will be done in verbatim
+ \ifmmode % nothing in math
+ \else
+ \let\czech@interchartoks\czech@nointerchartoks
+ \let\next\czech@ExamineCSpreposition
+ \fi\fi
+ \next%
+ }%
+ \def\czech@ExamineCSpreposition #1{#1\futurelet\next\czech@ProcessCSpreposition}%
+ \def\czech@ProcessCSpreposition{\ifx\next\czech@XeTeXspace\nobreak\fi}%
+ \futurelet\czech@XeTeXspace{ }\czech@nointerchartoks
+\fi
+
\def\czech@vlna{%
\ifluatex
\preventsingleon
@@ -5368,21 +11073,8 @@ and may look very wrong.}
\XeTeXcharclass `\a \czech@nonsyllabicpreposition
\XeTeXcharclass `\I \czech@nonsyllabicpreposition
\XeTeXcharclass `\i \czech@nonsyllabicpreposition
- \XeTeXinterchartoks \czech@boundary \czech@nonsyllabicpreposition {\czech@interchartoks}
- \XeTeXinterchartoks \czech@openpunctuation \czech@nonsyllabicpreposition {\czech@interchartoks}
- \def\czech@nointerchartoks{\let\czech@interchartoks\czech@PreCSpreposition}
- \def\czech@PreCSpreposition{\def\next{}%
- \ifnum\catcode`\ =10 % nothing will be done in verbatim
- \ifmmode % nothing in math
- \else
- \let\czech@interchartoks\czech@nointerchartoks
- \let\next\czech@ExamineCSpreposition
- \fi \fi
- \next%
- }
- \def\czech@ExamineCSpreposition ##1{##1\futurelet\next\czech@ProcessCSpreposition}
- \def\czech@ProcessCSpreposition{\ifx\next\czech@XeTeXspace\nobreak\fi}
- \futurelet\czech@XeTeXspace{ }\czech@nointerchartoks
+ \XeTeXinterchartoks \czech@boundary \czech@nonsyllabicpreposition {\czech@interchartoks}%
+ \XeTeXinterchartoks \czech@openpunctuation \czech@nonsyllabicpreposition {\czech@interchartoks}%
\fi
}
@@ -5448,7 +11140,7 @@ and may look very wrong.}
}
\def\noextras@czech{%
- \noczech@shorthands%
+ \ifczech@babelshorthands\noczech@shorthands\fi%
\noczech@hyphens%
\noczech@vlna%
\ifxetex\XeTeXinterchartokenstate=0\fi%
@@ -5526,11 +11218,12 @@ and may look very wrong.}
\def\proofname{Bevis}%
\def\glossaryname{Gloseliste}%
}
+
\def\datedanish{%
\def\today{\number\day.~\ifcase\month\or
januar\or februar\or marts\or april\or maj\or juni\or
juli\or august\or september\or oktober\or november\or december\fi
- \space\number\year}
+ \space\number\year}%
}
% \end{macrocode}
@@ -5843,12 +11536,7 @@ and may look very wrong.}
% \subsection{gloss-divehi.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-divehi.ldf}[polyglossia: module for divehi]
-\ifluatex
- \xpg@warning{Divehi is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
+
\RequireBidi
\PolyglossiaSetup{divehi}{
bcp47=dv,
@@ -6006,7 +11694,7 @@ and may look very wrong.}
}
\def\noextras@dutch{%
- \nodutch@shorthands%
+ \ifdutch@babelshorthands\nodutch@shorthands\fi%
}
\def\blockextras@dutch{%
@@ -6721,7 +12409,7 @@ and may look very wrong.}
\space\number\year}}
\def\noextras@finnish{%
- \nofinnish@shorthands%
+ \iffinnish@babelshorthands\nofinnish@shorthands\fi%
}
\def\blockextras@finnish{%
@@ -7604,7 +13292,7 @@ and may look very wrong.}
\def\@Ccdash{\leavevmode
\nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
\ifx\cyrdash\undefined
- \def\cyrdash{\hbox to.8em{--\hss--}}%
+ \def\cyrdash{\hbox to.8em{\textendash\hss\textendash}}%
\fi
\declare@shorthand{georgian}{",}{\nobreak\hskip.2em\ignorespaces}%
}
@@ -7749,7 +13437,7 @@ and may look very wrong.}
\def\noextras@georgian{%
\ifgeorgian@numerals\nogeorgian@numbers\fi%
- \nogeorgian@shorthands%
+ \ifgeorgian@babelshorthands\nogeorgian@shorthands\fi%
}
\def\blockextras@georgian{%
@@ -7970,14 +13658,14 @@ and may look very wrong.}
\declare@shorthand{german}{"R}{\textormath{\bbl@disc@german R{RR}}{R}}%
\declare@shorthand{german}{"t}{\textormath{\bbl@disc@german t{tt}}{t}}%
\declare@shorthand{german}{"T}{\textormath{\bbl@disc@german T{TT}}{T}}%
- \declare@shorthand{german}{"f}{\textormath{\bbl@discff}{f}}%
+ \declare@shorthand{german}{"f}{\texorpdfstring{\textormath{\bbl@discff}{f}}{f}}%
\def\bbl@discff{\penalty\@M
- \afterassignment\bbl@insertff \let\bbl@nextff= }%
+ \afterassignment\bbl@insertff \cslet{bbl@nextff}{ }}%
\def\bbl@insertff{%
\if f\bbl@nextff
\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
{\relax\discretionary{ff-}{f}{ff}\allowhyphens}{f\bbl@nextff}}%
- \let\bbl@nextff=f%
+ \cslet{bbl@nextff}{f}%
\declare@shorthand{german}{"-}{\nobreak\-\nobreak\hskip\z@skip}%
\declare@shorthand{german}{"|}{\textormath{\penalty\@M\discretionary{-}{}{\kern.03em}}{}}%
\declare@shorthand{german}{""}{\hskip\z@skip}%
@@ -8082,15 +13770,15 @@ and may look very wrong.}
}
\def\noextras@german{%
- \nogerman@shorthands%
+ \ifgerman@babelshorthands\nogerman@shorthands\fi%
}
\def\blockextras@german{%
- \ifgerman@babelshorthands\german@shorthands\fi
+ \ifgerman@babelshorthands\german@shorthands\fi%
}
\def\inlineextras@german{%
- \ifgerman@babelshorthands\german@shorthands\fi
+ \ifgerman@babelshorthands\german@shorthands\fi%
}
% \end{macrocode}
@@ -8579,12 +14267,7 @@ and may look very wrong.}
% \subsection{gloss-hebrew.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-hebrew.ldf}[polyglossia: module for hebrew]
-\ifluatex
- \xpg@warning{Hebrew is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
+
\RequireBidi
\RequirePackage{hebrewcal}
@@ -8691,23 +14374,23 @@ and may look very wrong.}
\fi
}
-% Bidi inserts an RTL mark (0x200f) before any number, forcing numbers to
-% RTL. Hebrew uses LTR numbers, though. So we insert an LTR mark to revert
-% the directionality
\ifxetex
- \newcommand\xpg@hebrew@DigitsDotDashInterCharToks{\ifbool{@nonlatin}{\char"200E }{}}
+ \let\xpg@orig@DigitsDotDashInterCharToks\DigitsDotDashInterCharToks%
\fi
\def\hebrew@ltr@numbers{%
\ifxetex
- \XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\xpg@hebrew@DigitsDotDashInterCharToks}%
+ % Bidi inserts an RTL mark (0x200f) between number and number separator (- .),
+ % forcing numbers to RTL. This is wrong for Hebrew.
+ % So we defunc the respective command.
+ \renewcommand*{\DigitsDotDashInterCharToks}{}
\fi%
}
\def\nohebrew@ltr@numbers{%
\ifxetex
- % This is bidi's original intervention
- \XeTeXinterchartoks \bidi@sepmark@charclass \bidi@digits@charclass = {\DigitsDotDashInterCharToks}%
+ % Restore bidi's \DigitsDotDashInterCharToks
+ \let\DigitsDotDashInterCharToks\xpg@orig@DigitsDotDashInterCharToks%
\fi%
}
@@ -8852,7 +14535,7 @@ and may look very wrong.}
\def\listfigurename{चितà¥à¤°à¥‹à¤‚ की सूची}%
\def\listtablename{तालिकाओं की सूची}%
\def\pagename{पृषà¥à¤ }%
- \def\partname{खणड}%
+ \def\partname{खणà¥à¤¡}%
\def\prefacename{पà¥à¤°à¤¸à¥à¤¤à¤¾à¤µà¤¨à¤¾}% पà¥à¤°à¤¾à¤•à¥à¤•à¤¥à¤¨
\def\refname{हवाले}%
\def\tablename{तालिका}%
@@ -9572,21 +15255,21 @@ and may look very wrong.}
\def\noextras@italian{%
- \lccode\string"2019=\z@
- \noitalian@shorthands
- \xpgit@savedvalues
+ \lccode\string"2019=\z@%
+ \ifitalian@babelshorthands\noitalian@shorthands\fi%
+ \xpgit@savedvalues%
}
\def\blockextras@italian{%
- \lccode\string"2019=\string"2019
- \clubpenalty=3000 \@clubpenalty=3000 \widowpenalty=3000
- \finalhyphendemerits=50000000
- \ifitalian@babelshorthands\italian@shorthands\fi
+ \lccode\string"2019=\string"2019%
+ \clubpenalty=3000 \@clubpenalty=3000 \widowpenalty=3000%
+ \finalhyphendemerits=50000000%
+ \ifitalian@babelshorthands\italian@shorthands\fi%
}
\def\inlineextras@italian{%
- \lccode\string"2019=\string"2019
- \ifitalian@babelshorthands\italian@shorthands\fi
+ \lccode\string"2019=\string"2019%
+ \ifitalian@babelshorthands\italian@shorthands\fi%
}
%%% CHANGES END %%%
% \end{macrocode}
@@ -9880,12 +15563,7 @@ and may look very wrong.}
%
% This work consists of the file gloss-kannada.ldf
\ProvidesFile{gloss-kannada.ldf}[polyglossia: module for kannada]
-\ifluatex
- \xpg@warning{Kannada is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
+
\PolyglossiaSetup{kannada}{
bcp47=kn,
script=Kannada,
@@ -10720,7 +16398,9 @@ and may look very wrong.}
% \subsection{gloss-kurdish.ldf}
% \begin{macrocode}
% Created on September 1, 2019
-% Sina Ahmadi (https://sinaahmadi.github.io/)
+% Last updated on May 17, 2020
+% Sina Ahmadi (ahmadi.sina@outlook.com)
+% For more information, visit the Kurdish XeLaTeX Users Group at https://github.com/KurdishXeLaTeX
\ProvidesFile{gloss-kurdish.ldf}[polyglossia: module for Kurdish]
\RequireBidi
@@ -10848,7 +16528,6 @@ and may look very wrong.}
\define@key{kurdish}{locale}[default]{%
\def\@kurdish@locale{#1}}
-
%TODO add option for CALENDAR
% Register default options
@@ -10859,9 +16538,9 @@ and may look very wrong.}
}%
\def\kurdishNativemonth#1{\ifcase#1%
- \or رێبه‌ندان\or ره‌شه‌مێ\or خاكه‌لێوه‌\or گوڵان\or جۆزه‌ردان\or پووشپه‌ڕ\or خه‌رمانان\or گه‌لاوێژ\or ره‌زبه‌ر\or گه‌ڵارێزان\or سه‌رماوه‌ز\or به‌Ùرانبار\fi}
+ \or رێبەندان\or رەشەمێ\or خاكەلێوە\or گوڵان\or جۆزەردان\or پووشپەڕ\or خەرمانان\or گەلاوێژ\or رەزبەر\or گەڵارێزان\or سەرماوەز\or بەÙرانبار\fi}
\def\kurdishmonth#1{\ifcase#1%
- \or کانونی دووەم\or شوبات\or ئازار\or نیسان\or ئایار\or حوزه‌یران\or ته‌ممووز\or ئاب\or ئه‌یلوول\or تشرینی یه‌كه‌م\or تشرینی دووهه‌م\or كانوونی یه‌كه‌م\fi}
+ \or كانوونی دووهەم\or شوبات\or ئازار\or نیسان\or ئایار\or حوزەیران\or تەممووز\or ئاب\or ئەیلوول\or تشرینی یەكەم\or تشرینی دووهەم\or كانوونی یەكەم\fi}
%\Hijritoday is now locale-aware and will format the date with this macro:
\DefineFormatHijriDate{kurdish}{%
@@ -10871,27 +16550,27 @@ and may look very wrong.}
}
\def\captionskurdish@sorani@arabic{%
- \def\prefacename{\@ensure@RTL{پێشه‌كی}}%
- \def\refname{\@ensure@RTL{سه‌رچاوه‌کان}}%
- \def\abstractname{\@ensure@RTL{پوخته‌}}%
- \def\bibname{\@ensure@RTL{کتێبنامه‌}}%
- \def\chaptername{\@ensure@RTL{به‌ندی}}%
+ \def\prefacename{\@ensure@RTL{پێشەكی}}%
+ \def\refname{\@ensure@RTL{سەرچاوەکان}}%
+ \def\abstractname{\@ensure@RTL{پوختە}}%
+ \def\bibname{\@ensure@RTL{کتێبنامە}}%
+ \def\chaptername{\@ensure@RTL{بەندی}}%
\def\appendixname{\@ensure@RTL{پاشکۆ}}%
- \def\contentsname{\@ensure@RTL{نێوه‌ڕۆک}}%
- \def\listfigurename{\@ensure@RTL{لیستی وێنه‌کان}}%
- \def\listtablename{\@ensure@RTL{لیستی خشته‌کان}}%
+ \def\contentsname{\@ensure@RTL{Ù†ÛŽÙˆÛ•Ú•Û†Ú©}}%
+ \def\listfigurename{\@ensure@RTL{لیستی وێنەکان}}%
+ \def\listtablename{\@ensure@RTL{لیستی خشتەکان}}%
\def\indexname{\@ensure@RTL{پێنوێن}}%
- \def\figurename{\@ensure@RTL{وێنه‌}}%
- \def\tablename{\@ensure@RTL{خشتە}}%
- \def\partname{\@ensure@RTL{به‌شی}}%
+ \def\figurename{\@ensure@RTL{وێنەی}}%
+ \def\tablename{\@ensure@RTL{خشتەی}}%
+ \def\partname{\@ensure@RTL{بەشی}}%
\def\enclname{\@ensure@RTL{هاوپێچ}}%
- \def\ccname{\@ensure@RTL{روونووس}}%
+ \def\ccname{\@ensure@RTL{ڕوونووس}}%
\def\headtoname{\@ensure@RTL{بۆ}}%
- \def\pagename{\@ensure@RTL{لاپه‌ڕه‌}}%
- \def\seename{\@ensure@RTL{چاو لێکه‌ن}}%
- \def\alsoname{\@ensure@RTL{هه‌روه‌ها چاو لێکه‌ن}}%
+ \def\pagename{\@ensure@RTL{لاپەڕە}}%
+ \def\seename{\@ensure@RTL{چاو لێکەن}}%
+ \def\alsoname{\@ensure@RTL{هەروەها چاو لێکەن}}%
\def\proofname{\@ensure@RTL{سەلماندن}}%
- \def\glossaryname{\@ensure@RTL{Ùه‌رهه‌نگۆک}}%
+ \def\glossaryname{\@ensure@RTL{Ùەرهەنگۆک}}%
}
\def\captionskurdish@sorani@latin{%
@@ -10901,17 +16580,17 @@ and may look very wrong.}
\def\bibname{Kitêbname}%
\def\chaptername{Bendî}%
\def\appendixname{PaÅŸko}%
- \def\contentsname{Nêwerrok}%
+ \def\contentsname{Nêweřok}%
\def\listfigurename{Lîstî Wênekan}%
\def\listtablename{Lîstî Xiştekan}%
- \def\indexname{Pêrrist}%
+ \def\indexname{Pêřist}%
\def\figurename{Wêney}%
\def\tablename{XiÅŸtey}%
\def\partname{Beşî}%
\def\enclname{Hawpêç}%
- \def\ccname{Rûnûs}%
+ \def\ccname{Řûnûs}%
\def\headtoname{Bo}%
- \def\pagename{Laperre}%
+ \def\pagename{Lapeře}%
\def\seename{Çaw lêken}%
\def\alsoname{Herweha çaw lêken}%
\def\proofname{Selmandin}%
@@ -10920,7 +16599,7 @@ and may look very wrong.}
\def\captionskurdish@kurmanji@latin{%
\def\prefacename{PeÅŸgotin}%
- \def\refname{Pirtuken bijartî}%
+ \def\refname{Jêder}%
\def\abstractname{Kurtebîr}%
\def\bibname{Çavkanîya Pirtukan}%
\def\chaptername{Serê}%
@@ -10937,14 +16616,14 @@ and may look very wrong.}
\def\headtoname{Ji bo}%
\def\pagename{Rûpelê}%
\def\seename{binêra}%
- \def\alsoname{le vêya ji binêra}%
+ \def\alsoname{li vêya jî binêra}%
\def\proofname{Delîl}%
\def\glossaryname{Çavkanîya lêkolînê}%
}
\def\captionskurdish@kurmanji@arabic{%
\def\prefacename{\@ensure@RTL{پێشگۆتن}}%
- \def\refname{\@ensure@RTL{پرتووکێن بژارتی}}%
+ \def\refname{\@ensure@RTL{ژێدەر}}%
\def\abstractname{\@ensure@RTL{کورتەبیر}}%
\def\bibname{\@ensure@RTL{چاڤکانییا پرتووکان}}%
\def\chaptername{\@ensure@RTL{سەرێ}}%
@@ -10976,17 +16655,17 @@ and may look very wrong.}
\def\datekurdish@sorani@latin{%
\def\today{%
- \number\day.~\ifcase\month\or
+ \number\day ~\ifcase\month\or
\januaryname\or \februaryname\or \marchname\or \aprilname\or
\mayname\or \junename\or \julyname\or \augustname\or
\septembername\or \octobername\or \novembername\or
\decembername\or \@ctrerr\fi~\number\year}%
\def\ontoday{%
- \number\day’ê~\ifcase\month\or
+ \number\day î~\ifcase\month\or
\januaryname\or \februaryname\or \marchname\or \aprilname\or
\mayname\or \junename\or \julyname\or \augustname\or
\septembername\or \octobername\or \novembername\or
- \decembername\or \@ctrerr\fi ê~\number\year}%
+ \decembername\or \@ctrerr\fi î~\number\year}%
\def\januaryname{Kanûnî Yekem}%
\def\februaryname{Åžubat}%
\def\marchname{Azar}%
@@ -11003,13 +16682,13 @@ and may look very wrong.}
\def\datekurdish@kurmanji@latin{%
\def\today{%
- \number\day.~\ifcase\month\or
+ \number\day ~\ifcase\month\or
\januaryname\or \februaryname\or \marchname\or \aprilname\or
\mayname\or \junename\or \julyname\or \augustname\or
\septembername\or \octobername\or \novembername\or
\decembername\or \@ctrerr\fi~\number\year}%
\def\ontoday{%
- \number\day’ê~\ifcase\month\or
+ \number\day ê~\ifcase\month\or
\januaryname\or \februaryname\or \marchname\or \aprilname\or
\mayname\or \junename\or \julyname\or \augustname\or
\septembername\or \octobername\or \novembername\or
@@ -11028,8 +16707,11 @@ and may look very wrong.}
\def\decembername{Çileya Pêşîn}%
}
+\def\kurdishmonthkurmanji#1{\ifcase#1%
+ چلەیا پاشین \or شبات \or ئادار \or نیسان \or گولان \or حەزیران \or تیرمەهـ \or تەباخ \or ئیلۆن \or چریا پێشین \or چریا پاشین \or چلەیا پێشین\fi}
+
\def\datekurdish@kurmanji@arabic{%
- \datekurdish@sorani@arabic% FIXME: correct?
+ \def\today{\@ensure@RTL{\kurdishnumber\day\space\kurdishmonthkurmanji{\month}\space\kurdishnumber\year}}%
}
% TODO: babel-kurmanji has these "alternative" month names
@@ -11193,12 +16875,7 @@ and may look very wrong.}
% \subsection{gloss-lao.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-lao.ldf}[polyglossia: module for Lao]
-\ifluatex
- \xpg@warning{Lao is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
+
\PolyglossiaSetup{lao}{
bcp47=lo,
script=Lao,
@@ -11972,7 +17649,7 @@ and may look very wrong.}
% prosodic shorthand environment.
% The active ' character may cause problems with the unicode-math package
% (in case Latin is used as a secondary language, see #394). We have to
-% turn it of if Latin is not the main language.
+% turn it off if Latin is not the main language.
\protected@write \@auxout { } { \shorthandoff {=} } % for the aux file
@@ -12932,12 +18609,7 @@ and may look very wrong.}
% \subsection{gloss-malayalam.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-malayalam.ldf}[polyglossia: module for malayalam]
-\ifluatex
- \xpg@warning{Malayalam is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
+
% Translations provided by Kevin & Siji, 01-11-2009
\PolyglossiaSetup{malayalam}{
@@ -13007,12 +18679,7 @@ and may look very wrong.}
% TODO implement Hindu calendar (not used in day-to-day practice)
\ProvidesFile{gloss-marathi.ldf}[polyglossia: module for marathi]
-\ifluatex
- \xpg@warning{Marathi is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
+
\RequirePackage{devanagaridigits}
\PolyglossiaSetup{marathi}{
@@ -13066,7 +18733,7 @@ and may look very wrong.}
\def\appendixname{परिशिषà¥à¤Ÿ}%
\def\contentsname{अनà¥à¤•à¥à¤°à¤®à¤£à¤¿à¤•à¤¾}%
\def\listfigurename{आकृतà¥à¤¯à¤¾à¤‚ची सूची}%
- \def\listtablename{कोषà¥à¤Ÿà¤• सूची}%
+ \def\listtablename{कोषà¥à¤Ÿà¤•à¤¸à¥‚ची}%
\def\indexname{सूची}%
\def\figurename{आकृती}%
\def\tablename{कोषà¥à¤Ÿà¤•}%
@@ -13075,10 +18742,10 @@ and may look very wrong.}
\def\seename{पाहा}%
\def\alsoname{हेदेखील पाहा}%
\def\enclname{समाविषà¥à¤Ÿ}%
- \def\ccname{सी.सी.}%
+ \def\ccname{पà¥à¤°à¤¤}%
\def\headtoname{पà¥à¤°à¤¤à¤¿}%
\def\proofname{सिदà¥à¤§à¤¤à¤¾}%
- \def\glossaryname{संकà¥à¤·à¥‡à¤ªà¤¸à¥‚ची}%
+ \def\glossaryname{संजà¥à¤žà¤¾à¤‚ची सूची}%
\def\authorsand{आणि}%
}
@@ -13104,23 +18771,23 @@ and may look very wrong.}
}%
}
-\def\devanagari@akshar#1{\ifcase#1\or अ\or आ\or इ\or ई\or उ\or ऊ\or à¤\or à¤\or ओ\or औ\or अं\or अः\else\@ctrerr\fi}
+\def\devanagari@akshar#1{\ifcase#1\or अ\or आ\or इ\or ई\or उ\or ऊ\or ऋ\or ऌ\or à¤\or ॲ\or à¤\or ओ\or ऑ\or औ\or अं\or अः\else\@ctrerr\fi}
\def\devanagari@alph#1{%
\ifcase#1\or क\or ख\or ग\or घ\or ङ\or च\or छ\or ज\or à¤\or ञ\or ट\or ठ\or ड\or ढ\or ण\or त\or थ\or द%
- \or ध\or न\or प\or फ\or ब\or भ\or म\or य\or र\or ल\or व\or श\or ष\or स\or ह\or ळ\else\@ctrerr%
+ \or ध\or न\or प\or फ\or ब\or भ\or म\or य\or र\or ल\or व\or श\or ष\or स\or ह\or ळ\or कà¥à¤· \or जà¥à¤ž \else\@ctrerr%
\fi%
}
\def\devanagari@letter#1{%
\ifcase#1\or à¤à¤•\or दोन\or तीन\or चार\or पाच\or सहा\or सात\or आठ\or नऊ\or दहा\or अकरा\or बारा\or तेरा\or चौदा%
- \or पंधरा\or सोळा\or सतरा\or अठरा\or à¤à¤•à¥‹à¤£à¥€à¤¸\or वीसà¤à¤•à¤µà¥€à¤¸\or बावीस\or तेवीस\or चोवीस\or पंचवीस\or सवà¥à¤µà¥€à¤¸\or सतà¥à¤¤à¤¾à¤µà¥€à¤¸\or अठावà¥à¤µà¥€à¤¸%
- \or à¤à¤•à¥‹à¤£à¤¤à¥€à¤¸\or तीस\or à¤à¤•à¤¤à¥€à¤¸\or बतà¥à¤¤à¥€à¤¸\or तेहेतà¥à¤¤à¥€à¤¸ \or चौतीस \or पसà¥à¤¤à¥€à¤¸ \or छतà¥à¤¤à¥€à¤¸ \or सतदिस \or अडतीस \or à¤à¤•à¥‹à¤£à¤šà¤¾à¤³à¥€à¤¸ \or चाळीस %
- \or à¤à¤•à¥à¤•à¥‡à¤šà¤¾à¤³à¥€à¤¸ \or बेचाळीस \or तà¥à¤°à¥‡à¤šà¤¾à¤³à¥€à¤¸ \or चौवेचाळीस\or पंचेचाळीस \or सेहेचाळीस \or सतà¥à¤¤à¥‡à¤šà¤¾à¤³à¥€à¤¸ \or अठà¥à¤ à¥‡à¤šà¤¾à¤³à¥€à¤¸ \or à¤à¤•à¥‹à¤£à¤ªà¤¨à¥à¤¨à¤¾à¤¸ \or पनà¥à¤¨à¤¾à¤¸ %
- \or à¤à¤•à¥à¤•à¤¾à¤µà¤¨à¥à¤¨ \or बावनà¥à¤¨ \or तà¥à¤°à¥‡à¤ªà¤¨à¥à¤¨ \or चोपनà¥à¤¨ \or पंचावनà¥à¤¨ \or छपनà¥à¤¨\or सतà¥à¤¤à¤¾à¤µà¤¨à¥à¤¨ \or अठà¥à¤ à¤¾à¤µà¤¨à¥à¤¨ \or à¤à¤•à¥‹à¤£à¤¸à¤¾à¤  \or साठ \or à¤à¤•à¤¸à¤·à¥à¤  \or बासषà¥à¤  \or तà¥à¤°à¥‡à¤¸à¤·à¥à¤Ÿ %
- \or चौसषà¥à¤  \or पासषà¥à¤  \or सहासषà¥à¤  \or सदà¥à¤·à¥à¤  \or अडà¥à¤¸à¤·à¥à¤  \or à¤à¤•à¥‹à¤£à¤¸à¤¤à¥à¤¤à¤°\or सतà¥à¤¤à¤° \or à¤à¤•à¤¾à¤¹à¤¤à¥à¤¤à¤° \or बहातà¥à¤¤à¤° \or तà¥à¤°à¥à¤¯à¤¾à¤¹à¤¤à¥à¤¤à¤° \or चौऱà¥à¤¯à¤¾à¤¹à¤¤à¥à¤¤à¤° \or पंचà¥à¤¯à¤¾à¤¹à¤¤à¥à¤¤à¤° %
- \or शहातà¥à¤¤à¤° \or सतà¥à¤¯à¤¾à¤¹à¤¤à¥à¤¤à¤° \or अठà¥à¤¯à¤¾à¤¹à¤¤à¥à¤¤à¤° \or à¤à¤•à¥‹à¤£à¤à¤¶à¥€ \or à¤à¤‚शी\or à¤à¤•à¥à¤¯à¤¾à¤à¤‚शी \or बà¥à¤¯à¤¾à¤à¤‚शी \or तà¥à¤°à¥à¤¯à¤¾à¤à¤‚शी \or चौऱà¥à¤¯à¤¾à¤à¤‚शी \or पंचà¥à¤¯à¤¾à¤à¤‚शी \or शहà¥à¤¯à¤¾à¤‚शी \or सतà¥à¤¯à¤¾à¤‚à¤à¤‚शी %
- \or अठà¥à¤ à¥à¤¯à¤¾à¤à¤‚शी \or à¤à¤•à¥‹à¤£à¤¨à¤µà¥à¤µà¤¦ \or नवà¥à¤µà¤¦ \or à¤à¤•à¥à¤¯à¤¾à¤£à¥à¤£à¤µ\or बà¥à¤¯à¤¾à¤£à¥à¤£à¤µ \or तà¥à¤°à¥à¤¯à¤¾à¤£à¥à¤£à¤µ \or चौऱà¥à¤¯à¤¾à¤£à¥à¤£à¤µ \or पंचà¥à¤¯à¤¾à¤£à¥à¤£à¤µ \or शहाणà¥à¤£à¤µ \or सतà¥à¤¯à¤¾à¤£à¥à¤£à¤µ \or अठà¥à¤¯à¤¾à¤£à¥à¤£à¤µ %
+ \or पंधरा\or सोळा\or सतरा\or अठरा\or à¤à¤•à¥‹à¤£à¥€à¤¸\or वीस\or à¤à¤•à¤µà¥€à¤¸\or बावीस\or तेवीस\or चोवीस\or पंचवीस\or सवà¥à¤µà¥€à¤¸\or सतà¥à¤¤à¤¾à¤µà¥€à¤¸\or अठà¥à¤ à¤¾à¤µà¥€à¤¸%
+ \or à¤à¤•à¥‹à¤£à¤¤à¥€à¤¸\or तीस\or à¤à¤•à¤¤à¥€à¤¸\or बतà¥à¤¤à¥€à¤¸\or तेहतीस \or चौतीस \or पसà¥à¤¤à¥€à¤¸ \or छतà¥à¤¤à¥€à¤¸ \or सदतीस \or अडतीस \or à¤à¤•à¥‹à¤£à¤šà¤¾à¤³à¥€à¤¸ \or चाळीस %
+ \or à¤à¤•à¥‡à¤šà¤¾à¤³à¥€à¤¸ \or बेचाळीस \or तà¥à¤°à¥‡à¤šà¤¾à¤³à¥€à¤¸ \or चवà¥à¤µà¥‡à¤šà¤¾à¤³à¥€à¤¸ \or पंचेचाळीस \or शेहेचाळीस \or सतà¥à¤¤à¥‡à¤šà¤¾à¤³à¥€à¤¸ \or अठà¥à¤ à¥‡à¤šà¤¾à¤³à¥€à¤¸ \or à¤à¤•à¥‹à¤£à¤ªà¤¨à¥à¤¨à¤¾à¤¸ \or पनà¥à¤¨à¤¾à¤¸ %
+ \or à¤à¤•à¤¾à¤µà¤¨à¥à¤¨ \or बावनà¥à¤¨ \or तà¥à¤°à¥‡à¤ªà¤¨à¥à¤¨ \or चौपनà¥à¤¨ \or पंचावनà¥à¤¨ \or छपà¥à¤ªà¤¨à¥à¤¨\or सतà¥à¤¤à¤¾à¤µà¤¨à¥à¤¨ \or अठà¥à¤ à¤¾à¤µà¤¨à¥à¤¨ \or à¤à¤•à¥‹à¤£à¤¸à¤¾à¤  \or साठ \or à¤à¤•à¤¸à¤·à¥à¤Ÿ \or बासषà¥à¤Ÿ \or तà¥à¤°à¥‡à¤¸à¤·à¥à¤Ÿ %
+ \or चौसषà¥à¤Ÿ \or पासषà¥à¤Ÿ \or सहासषà¥à¤Ÿ \or सदà¥à¤·à¥à¤Ÿ \or अडà¥à¤¸à¤·à¥à¤Ÿ \or à¤à¤•à¥‹à¤£à¤¸à¤¤à¥à¤¤à¤°\or सतà¥à¤¤à¤° \or à¤à¤•à¤¾à¤¹à¤¤à¥à¤¤à¤° \or बाहतà¥à¤¤à¤° \or तà¥à¤°à¥à¤¯à¤¾à¤¹à¤¤à¥à¤¤à¤° \or चौऱà¥à¤¯à¤¾à¤¹à¤¤à¥à¤¤à¤° \or पंचाहतà¥à¤¤à¤° %
+ \or शाहतà¥à¤¤à¤° \or सतà¥à¤¤à¥à¤¯à¤¾à¤¹à¤¤à¥à¤¤à¤° \or अठà¥à¤ à¥à¤¯à¤¾à¤¹à¤¤à¥à¤¤à¤° \or à¤à¤•à¥‹à¤£à¤à¤‚शी \or à¤à¤‚शी\or à¤à¤•à¥à¤¯à¤¾à¤à¤‚शी \or बà¥à¤¯à¤¾à¤à¤‚शी \or तà¥à¤°à¥à¤¯à¤¾à¤à¤‚शी \or चौऱà¥à¤¯à¤¾à¤à¤‚शी \or पंचà¥à¤¯à¤¾à¤à¤‚शी \or शà¥à¤¯à¤¾à¤à¤‚शी \or सतà¥à¤¤à¥à¤¯à¤¾à¤à¤‚शी %
+ \or अठà¥à¤ à¥à¤¯à¤¾à¤à¤‚शी \or à¤à¤•à¥‹à¤£à¤¨à¤µà¥à¤µà¤¦ \or नवà¥à¤µà¤¦ \or à¤à¤•à¥à¤¯à¤¾à¤£à¥à¤£à¤µ\or बà¥à¤¯à¤¾à¤£à¥à¤£à¤µ \or तà¥à¤°à¥à¤¯à¤¾à¤£à¥à¤£à¤µ \or चौऱà¥à¤¯à¤¾à¤£à¥à¤£à¤µ \or पंचाणà¥à¤£à¤µ \or शहाणà¥à¤£à¤µ \or सतà¥à¤¤à¥à¤¯à¤¾à¤£à¥à¤£à¤µ \or अठà¥à¤¯à¤¾à¤£à¥à¤£à¤µ %
\or नवà¥à¤¯à¤¾à¤£à¥à¤£à¤µ \or शंभर\else\@ctrerr%
\fi%
}
@@ -13142,19 +18809,6 @@ and may look very wrong.}
\let\@Roman\xpg@save@Roman
}
-\def\blockextras@marathi{%
- \let\xpg@orig@baselinestretch\baselinestrech%
- \renewcommand{\baselinestretch}{1.2}%
- \renewcommand{\labelitemii}{$\rightarrow$}%
-}
-
-\let\xpg@orig@labelitemii\labelitemii
-
-\def\noextras@marathi{%
- \let\baselinestrech\xpg@orig@baselinestretch%
- \let\labelitemii\xpg@orig@labelitemii%
-}
-
% \end{macrocode}
% \iffalse
%</gloss-marathi.ldf>
@@ -13309,7 +18963,7 @@ and may look very wrong.}
\def\@Ccdash{\leavevmode
\nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
\ifx\cyrdash\undefined
- \def\cyrdash{\hbox to.8em{--\hss--}}%
+ \def\cyrdash{\hbox to.8em{\textendash\hss\textendash}}%
\fi
\declare@shorthand{mongolian}{",}{\nobreak\hskip.2em\ignorespaces}%
}
@@ -13423,7 +19077,7 @@ and may look very wrong.}
\def\noextras@mongolian{%
\ifcyrillic@numerals\nomongolian@numbers\fi%
- \nomongolian@shorthands%
+ \ifmongolian@babelshorthands\nomongolian@shorthands\fi%
}
\def\blockextras@mongolian{%
@@ -13925,20 +19579,20 @@ and may look very wrong.}
\finalhyphendemerits=\the\finalhyphendemerits}
}
\def\noextras@occitan{%
- \lccode\string"2019=\z@
- \nooccitan@shorthands
- \xpgoc@savedvalues
+ \lccode\string"2019=\z@%
+ \ifoccitan@babelshorthands\nooccitan@shorthands\fi%
+ \xpgoc@savedvalues%
}
\def\blockextras@occitan{%
- \lccode\string"2019=\string"2019
- \clubpenalty=3000 \@clubpenalty=3000 \widowpenalty=3000
- \finalhyphendemerits=50000000
- \ifoccitan@babelshorthands\occitan@shorthands\fi
+ \lccode\string"2019=\string"2019%
+ \clubpenalty=3000 \@clubpenalty=3000 \widowpenalty=3000%
+ \finalhyphendemerits=50000000%
+ \ifoccitan@babelshorthands\occitan@shorthands\fi%
}
\def\inlineextras@occitan{%
- \lccode\string"2019=\string"2019
- \ifoccitan@babelshorthands\occitan@shorthands\fi
+ \lccode\string"2019=\string"2019%
+ \ifoccitan@babelshorthands\occitan@shorthands\fi%
}
%% Distributable under the LaTeX Project Public License,
%% version 1.3c or higher (your choice). The latest version of
@@ -13959,12 +19613,7 @@ and may look very wrong.}
% \subsection{gloss-persian.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-persian.ldf}[polyglossia: module for persian]
-\ifluatex
- \xpg@warning{Persian is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
+
\RequireBidi
\RequirePackage{arabicnumbers}
\RequirePackage{farsical}
@@ -14211,21 +19860,21 @@ and may look very wrong.}
\def\noextras@piedmontese{%
- \lccode\string"2019=\z@
- \nopiedmontese@shorthands
- \xpgpms@savedvalues
+ \lccode\string"2019=\z@%
+ \ifpiedmontese@babelshorthands\nopiedmontese@shorthands\fi%
+ \xpgpms@savedvalues%
}
\def\blockextras@piedmontese{%
- \lccode\string"2019=\string"2019
- \clubpenalty=3000 \@clubpenalty=3000 \widowpenalty=3000
- \finalhyphendemerits=50000000
- \ifpiedmontese@babelshorthands\piedmontese@shorthands\fi
+ \lccode\string"2019=\string"2019%
+ \clubpenalty=3000 \@clubpenalty=3000 \widowpenalty=3000%
+ \finalhyphendemerits=50000000%
+ \ifpiedmontese@babelshorthands\piedmontese@shorthands\fi%
}
\def\inlineextras@piedmontese{%
- \lccode\string"2019=\string"2019
- \ifpiedmontese@babelshorthands\piedmontese@shorthands\fi
+ \lccode\string"2019=\string"2019%
+ \ifpiedmontese@babelshorthands\piedmontese@shorthands\fi%
}
%%% CHANGES END %%%
% \end{macrocode}
@@ -14354,10 +20003,8 @@ and may look very wrong.}
% brazilian:
\def\portuguese@variant{brazil}%
\SetLanguageKeys{portuguese}{babelname=brazil,bcp47=pt-BR}%
- \xpg@ifdefined{brazil}{}%
- {\xpg@warning{No hyphenation patterns were loaded for "Portuguese (Brazil)"\MessageBreak
- I will use the standard patterns for Portuguese instead}%
- \adddialect\l@brazil\l@portuges\relax}%
+ % There are no specific brazil patterns
+ \adddialect\l@brazil\l@portuges\relax%
\fi
\xpg@info{Option: portuguese, variant=\xpg@val}%
}{\xpg@warning{Unknown portuguese variant `#1'}}
@@ -14621,19 +20268,26 @@ and may look very wrong.}
\xpg@info{Option: Russian, numerals=\xpg@val}%
}{\xpg@warning{Unknown Russian numerals value `#1'}}
-\define@boolkey{russian}[russian@]{indentfirst}[true]{
- \ifrussian@indentfirst
- \SetLanguageKeys{russian}{indentfirst=true}
- \else
- \SetLanguageKeys{russian}{indentfirst=false}
- \fi
+\define@boolkey{russian}[russian@]{indentfirst}[true]{%
+ \ifrussian@indentfirst
+ \SetLanguageKeys{russian}{indentfirst=true}%
+ \else
+ \SetLanguageKeys{russian}{indentfirst=false}%
+ \fi%
}
\define@boolkey{russian}[russian@]{babelshorthands}[true]{}
+% Force punctuation after heading number
+\define@boolkey{russian}[russian@]{forceheadingpunctuation}[true]{}
+
% Register default options
-\xpg@initialize@gloss@options{russian}{babelshorthands=false,spelling=modern,numerals=arabic,indentfirst=false}
+\xpg@initialize@gloss@options{russian}{babelshorthands=false,
+ spelling=modern,
+ numerals=arabic,
+ indentfirst=true,
+ forceheadingpunctuation=true}
\ifsystem@babelshorthands
@@ -14681,7 +20335,7 @@ and may look very wrong.}
\def\@Ccdash{\leavevmode
\nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
\ifx\cyrdash\undefined
- \def\cyrdash{\hbox to.8em{--\hss--}}%
+ \def\cyrdash{\hbox to.8em{\textendash\hss\textendash}}%
\fi
\declare@shorthand{russian}{",}{\nobreak\hskip.2em\ignorespaces}%
}
@@ -14778,39 +20432,46 @@ and may look very wrong.}
\space \number\year\space г.}%
}
-% The following is based on some ideas from ruscor.sty
+% Russian needs trailing dots in all headings
+\def\xpg@save@autodot{}
+\ifdef{\KOMAScript}{%
+ \let\xpg@save@autodot\autodot%
+}
+
\def\russian@capsformat{%
+ \ifrussian@forceheadingpunctuation%
\ifdef{\KOMAScript}{%
- \ifdef{\chapterformat}{%
- \renewcommand{\chapterformat}{\prechapter\thechapter\postchapter}}{}%
- \ifdef{\sectionformat}{%
- \renewcommand{\sectionformat}{\presection\thesection\postsection}}{}%
- \ifdef{\subsectionformat}{%
- \renewcommand{\subsectionformat}{\presubsection\thesubsection\postsubsection}}{}%
- \ifdef{\subsubsectionformat}{%
- \renewcommand{\subsubsectionformat}{\presubsubsection\thesubsubsection\postsubsubsection}}{}%
- \ifdef{\paragraphformat}{%
- \renewcommand{\paragraphformat}{\preparagraph\theparagraph\postparagraph}}{}%
- \ifdef{\subparagraphformat}{%
- \renewcommand{\subparagraphformat}{\presubparagraph\thesubparagraph\postsubparagraph}}{}%
+ \renewcommand*\autodot{.}%
}{%
+ % The following is based on some ideas from ruscor.sty
\def\@seccntformat##1{\csname pre##1\endcsname%
\csname the##1\endcsname%
\csname post##1\endcsname}%
- }%
- \def\@aftersepkern{\hspace{0.5em}}%
- \def\postchapter{.\@aftersepkern}%
- \def\postsection{.\@aftersepkern}%
- \def\postsubsection{.\@aftersepkern}%
- \def\postsubsubsection{.\@aftersepkern}%
- \def\postparagraph{.\@aftersepkern}%
- \def\postsubparagraph{.\@aftersepkern}%
- \def\prechapter{}%
- \def\presection{}%
- \def\presubsection{}%
- \def\presubsubsection{}%
- \def\preparagraph{}%
- \def\presubparagraph{}%
+ \def\@aftersepkern{\hspace{0.5em}}%
+ \def\postchapter{.\@aftersepkern}%
+ \def\postsection{.\@aftersepkern}%
+ \def\postsubsection{.\@aftersepkern}%
+ \def\postsubsubsection{.\@aftersepkern}%
+ \def\postparagraph{.\@aftersepkern}%
+ \def\postsubparagraph{.\@aftersepkern}%
+ \def\prechapter{}%
+ \def\presection{}%
+ \def\presubsection{}%
+ \def\presubsubsection{}%
+ \def\preparagraph{}%
+ \def\presubparagraph{}%
+ }%
+ \fi%
+}
+
+\def\norussian@capsformat{%
+ \ifrussian@forceheadingpunctuation%
+ \ifdef{\KOMAScript}{%
+ \let\autodot\xpg@save@autodot%
+ }{%
+ \def\@seccntformat##1{\csname the##1\endcsname\quad}% = LaTeX kernel
+ }%
+ \fi%
}
\newcommand{\russiannumerals}[2]{\russiannumber{#2}}
@@ -14885,24 +20546,9 @@ and may look very wrong.}
}
\def\noextras@russian{%
- \ifdef{\KOMAScript}{%
- \ifdef{\chapterformat}{%
- \renewcommand{\chapterformat}{\thechapter\autodot\enskip}}{}%
- \ifdef{\sectionformat}{%
- \renewcommand{\sectionformat}{\thesection\autodot\enskip}}{}%
- \ifdef{\subsectionformat}{%
- \renewcommand{\subsectionformat}{\thesubsection\autodot\enskip}}{}%
- \ifdef{\subsubsectionformat}{%
- \renewcommand{\subsubsectionformat}{\thesubsubsection\autodot\enskip}}{}%
- \ifdef{\paragraphformat}{%
- \renewcommand{\paragraphformat}{\theparagraph\autodot\enskip}}{}%
- \ifdef{\subparagraphformat}{%
- \renewcommand{\subparagraphformat}{\thesubparagraph\autodot\enskip}}{}%
- }{%
- \def\@seccntformat##1{\csname the##1\endcsname\quad}% = LaTeX kernel
- }%
+ \norussian@capsformat%
\ifcyrillic@numerals\norussian@numbers\fi%
- \norussian@shorthands%
+ \ifrussian@babelshorthands\norussian@shorthands\fi%
}
\def\blockextras@russian{%
@@ -15061,12 +20707,6 @@ and may look very wrong.}
% \subsection{gloss-sanskrit.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-sanskrit.ldf}[polyglossia: module for sanskrit]
-\ifluatex
- \xpg@warning{Sanskrit is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
\RequirePackage{devanagaridigits}
@@ -15249,7 +20889,8 @@ and may look very wrong.}
indentfirst=true,
fontsetup=false,
localnumeral=serbiannumerals,
- Localnumeral=Serbiannumerals
+ Localnumeral=Serbiannumerals,
+ babelname=serbian
%TODO localalph
}
@@ -15271,7 +20912,7 @@ and may look very wrong.}
\or
% latin:
\@serbian@cyrfalse
- \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,bcp47=sr-Latn}
+ \SetLanguageKeys{serbian}{scripttag=latn,script=Latin,babelname=serbian,bcp47=sr-Latn}
\xpg@fontsetup@latin{serbian}%
%TODO \def\serbian@language{\language=\l@serbianlat}%
% or should we use Croatian patterns as a fallback for the time being???
@@ -15579,7 +21220,7 @@ and may look very wrong.}
\chardef\slovak@boundary=4095 %
\def\newXeTeXintercharclass{%
\e@alloc\XeTeXcharclass\chardef
- \xe@alloc@intercharclass\m@ne\@ucharclass@boundary}
+ \xe@alloc@intercharclass\m@ne\@ucharclass@boundary}%
\else
\chardef\slovak@boundary=255
\fi
@@ -15608,6 +21249,24 @@ and may look very wrong.}
% Add nonbreakable space after single-letter word to
% prevent them to land at the end of a line
+% vlna code taken and adapted from xevlna.sty
+\ifxetex
+ \def\slovak@nointerchartoks{\let\slovak@interchartoks\slovak@PreCSpreposition}%
+ \def\slovak@PreCSpreposition{%
+ \def\next{}%
+ \ifnum\catcode`\ =10 % nothing will be done in verbatim
+ \ifmmode % nothing in math
+ \else
+ \let\slovak@interchartoks\slovak@nointerchartoks
+ \let\next\slovak@ExamineCSpreposition
+ \fi\fi
+ \next%
+ }%
+ \def\slovak@ExamineCSpreposition #1{#1\futurelet\next\slovak@ProcessCSpreposition}%
+ \def\slovak@ProcessCSpreposition{\ifx\next\slovak@XeTeXspace\nobreak\fi}%
+ \futurelet\slovak@XeTeXspace{ }\slovak@nointerchartoks
+\fi
+
\def\slovak@vlna{%
\ifluatex
\preventsingleon
@@ -15634,21 +21293,8 @@ and may look very wrong.}
\XeTeXcharclass `\a \slovak@nonsyllabicpreposition
\XeTeXcharclass `\I \slovak@nonsyllabicpreposition
\XeTeXcharclass `\i \slovak@nonsyllabicpreposition
- \XeTeXinterchartoks \slovak@boundary \slovak@nonsyllabicpreposition {\slovak@interchartoks}
- \XeTeXinterchartoks \slovak@openpunctuation \slovak@nonsyllabicpreposition {\slovak@interchartoks}
- \def\slovak@nointerchartoks{\let\slovak@interchartoks\slovak@PreCSpreposition}
- \def\slovak@PreCSpreposition{\def\next{}%
- \ifnum\catcode`\ =10 % nothing will be done in verbatim
- \ifmmode % nothing in math
- \else
- \let\slovak@interchartoks\slovak@nointerchartoks
- \let\next\slovak@ExamineCSpreposition
- \fi \fi
- \next%
- }
- \def\slovak@ExamineCSpreposition ##1{##1\futurelet\next\slovak@ProcessCSpreposition}
- \def\slovak@ProcessCSpreposition{\ifx\next\slovak@XeTeXspace\nobreak\fi}
- \futurelet\slovak@XeTeXspace{ }\slovak@nointerchartoks
+ \XeTeXinterchartoks \slovak@boundary \slovak@nonsyllabicpreposition {\slovak@interchartoks}%
+ \XeTeXinterchartoks \slovak@openpunctuation \slovak@nonsyllabicpreposition {\slovak@interchartoks}%
\fi
}
@@ -15714,7 +21360,7 @@ and may look very wrong.}
}
\def\noextras@slovak{%
- \noslovak@shorthands%
+ \ifslovak@babelshorthands\noslovak@shorthands\fi%
\noslovak@hyphens%
\noslovak@vlna%
\ifxetex\XeTeXinterchartokenstate=0\fi%
@@ -16354,12 +22000,7 @@ and may look very wrong.}
% \subsection{gloss-syriac.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-syriac.ldf}[polyglossia: module for syriac]
-\ifluatex
- \xpg@warning{Syriac is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
+
\RequireBidi
\RequirePackage{arabicnumbers}
@@ -16543,12 +22184,7 @@ and may look very wrong.}
% \subsection{gloss-tamil.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-tamil.ldf}[polyglossia: module for tamil]
-\ifluatex
- \xpg@warning{Tamil is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
+
% Translations provided by Kevin & Siji, 01-11-2009
\PolyglossiaSetup{tamil}{
@@ -16614,12 +22250,7 @@ and may look very wrong.}
% \subsection{gloss-telugu.ldf}
% \begin{macrocode}
\ProvidesFile{gloss-telugu.ldf}[polyglossia: module for telugu]
-\ifluatex
- \xpg@warning{Telugu is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
+
% Translations provided by Anmol Sharma <unmole.in@gmail.com>
\PolyglossiaSetup{telugu}{
@@ -16697,12 +22328,6 @@ and may look very wrong.}
%%%% Thai Linux Working Group
%%%% http://linux.thai.net/
%%%%
-\ifluatex
- \xpg@warning{Thai is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
\PolyglossiaSetup{thai}{
bcp47=th,
script=Thai,
@@ -17292,7 +22917,7 @@ and may look very wrong.}
\def\@Ccdash{\leavevmode
\nobreak\cyrdash\nobreak\hskip.35em\ignorespaces}%
\ifx\cyrdash\undefined
- \def\cyrdash{\hbox to.8em{--\hss--}}
+ \def\cyrdash{\hbox to.8em{\textendash\hss\textendash}}%
\fi
\declare@shorthand{ukrainian}{",}{\nobreak\hskip.2em\ignorespaces}%
}
@@ -17370,7 +22995,7 @@ and may look very wrong.}
\def\ukrainiannumber#1{%
\ifcyrillic@numerals
\ifcyrillic@asbuk@numerals
- \serbian@asbuk@alph{#1}%
+ \ukrainian@asbuk@alph{#1}%
\else
\cyr@alph{#1}%
\fi
@@ -17382,7 +23007,7 @@ and may look very wrong.}
\def\Ukrainiannumber#1{%
\ifcyrillic@numerals
\ifcyrillic@asbuk@numerals
- \serbian@asbuk@Alph{#1}%
+ \ukrainian@asbuk@Alph{#1}%
\else
\cyr@Alph{#1}%
\fi
@@ -17402,25 +23027,29 @@ and may look very wrong.}
% This is a poor man's cyrillic alphanumeric. It just uses the alphabet and
% thus ends at 30.
-\def\ukranian@asbuk@Alph#1{\ifcase#1\or
+\def\ukrainian@asbuk@Alph#1{\ifcase#1\or
Ð\or Б\or Ð’\or Г\or Д\or Е\or Ж\or
З\or И\or К\or Л\or Ðœ\or Ð\or О\or
П\or Р\or С\or Т\or У\or Ф\or Х\or
Ц\or Ч\or Ш\or Щ\or Э\or Ю\or Я%
- \else\xpg@ill@value{#1}{ukranian@asbuk@Alph}\fi%
+ \else\xpg@ill@value{#1}{ukrainian@asbuk@Alph}\fi%
}
-\def\ukranian@asbuk@alph#1{\ifcase#1\or
+\def\ukrainian@asbuk@alph#1{\ifcase#1\or
а\or б\or в\or г\or д\or е\or ж\or
з\or и\or к\or л\or м\or н\or о\or
п\or Ñ€\or Ñ\or Ñ‚\or у\or Ñ„\or Ñ…\or
ц\or ч\or ш\or щ\or Ñ\or ÑŽ\or Ñ%
- \else\xpg@ill@value{#1}{ukranian@asbuk@alph}\fi%
+ \else\xpg@ill@value{#1}{ukrainian@asbuk@alph}\fi%
}
\def\ukrainian@numbers{%
- \let\@Alph\ukrainian@Alph%
- \let\@alph\ukrainian@alph%
+ \ifcyrillic@numerals
+ \def\ukrainian@alph##1{\expandafter\ukrainiannumeral\expandafter{\the##1}}%
+ \def\ukrainian@Alph##1{\expandafter\Ukrainiannumeral\expandafter{\the##1}}%
+ \let\@Alph\ukrainian@Alph%
+ \let\@alph\ukrainian@alph%
+ \fi
}
\def\noukrainian@numbers{%
@@ -17431,13 +23060,13 @@ and may look very wrong.}
\def\noextras@ukrainian{%
\def\@seccntformat##1{\csname the##1\endcsname\quad}% = LaTeX kernel
\ifcyrillic@numerals\noukrainian@numbers\fi
- \noukrainian@shorthands%
+ \ifukrainian@babelshorthands\noukrainian@shorthands\fi%
}
\def\blockextras@ukrainian{%
\ukrainian@capsformat%
- \ifcyrillic@numerals\ukrainian@numbers\fi
- \ifukrainian@babelshorthands\ukrainian@shorthands\fi
+ \ifcyrillic@numerals\ukrainian@numbers\fi%
+ \ifukrainian@babelshorthands\ukrainian@shorthands\fi%
}
\def\inlineextras@ukrainian{%
@@ -17492,12 +23121,7 @@ and may look very wrong.}
% \begin{macrocode}
%%% Adapted from a file contributed by Kamal Abdali
\ProvidesFile{gloss-urdu.ldf}[polyglossia: module for Urdu]
-\ifluatex
- \xpg@warning{Urdu is not supported with LuaTeX.\MessageBreak
-I will proceed with the compilation, but\MessageBreak
-the output is not guaranteed to be correct\MessageBreak
-and may look very wrong.}
-\fi
+
\RequireBidi
\RequirePackage{arabicnumbers}
\RequirePackage{hijrical}
@@ -18765,21 +24389,21 @@ local left_bracket_chars = {
-- all right bracket characters, referenced by their Unicode slot
local right_bracket_chars = {
- [0x29] = true, -- right parenthesis
- [0x5D] = true, -- right square bracket
- [0x7D] = true, -- right curly bracket
+ [0x29] = true, -- right parenthesis
+ [0x5D] = true, -- right square bracket
+ [0x7D] = true, -- right curly bracket
[0x27E9] = true -- mathematical right angle bracket
}
-- question and exclamation marks, referenced by their Unicode slot
local question_exclamation_chars = {
- [0x21] = true, -- exclamation mark !
- [0x3F] = true, -- question mark ?
+ [0x21] = true, -- exclamation mark !
+ [0x3F] = true, -- question mark ?
[0x203C] = true, -- double exclamation mark ‼
[0x203D] = true, -- interrobang ‽
[0x2047] = true, -- double question mark â‡
[0x2048] = true, -- question exclamation mark âˆ
- [0x2049] = true, -- exclamation question mark â‰
+ [0x2049] = true -- exclamation question mark â‰
}
-- from nodes-tst.lua, adapted
@@ -18905,9 +24529,12 @@ local function process(head)
if id == glyph_code then
local attr = has_attribute(current, punct_attr)
if attr then
- local char = utf8.char(current.char) -- requires Lua 5.3
- local leftspace = left_space[attr][char]
- local rightspace = right_space[attr][char]
+ local char, leftspace, rightspace
+ if current.char <= 0x10FFFF then -- greater values may cause problems with utf8.char
+ char = utf8.char(current.char)
+ leftspace = left_space[attr][char]
+ rightspace = right_space[attr][char]
+ end
if leftspace or rightspace then
local fontparameters = fonts.hashes.parameters[current.font]
local unit, stretch, shrink, spacing_node
@@ -18915,14 +24542,14 @@ local function process(head)
local prev = getprev(current)
local space_exception = false
if prev then
- local prevprev = getprev(prev)
-- do not add space after left (opening) bracket and between question/exclamation marks
space_exception = someleftbracket(prev) or question_exclamation_sequence(prev, current)
- if somespace(prev) then
-- TODO: there is a question here: do we override a preceding space or not?...
- if somepenalty(prevprev, 10000) then
- head = remove_node(head, prevprev)
- end
+ while somespace(prev) do
+ head = remove_node(head, prev)
+ prev = getprev(current)
+ end
+ if somepenalty(prev, 10000) then
head = remove_node(head, prev)
end
end
@@ -18952,10 +24579,10 @@ local function process(head)
space_exception = somerightbracket(next)
local nextnext = getnext(next)
if somepenalty(next, 10000) and somespace(nextnext) then
- head = remove_node(head, next)
- head = remove_node(head, nextnext)
- elseif somespace(next) then
- head = remove_node(head, next)
+ head, next = remove_node(head, next)
+ end
+ while somespace(next) do
+ head, next = remove_node(head, next)
end
end
if rightspace.unit == "quad" then
@@ -19368,52 +24995,68 @@ polyglossia.newloader_loaded_languages = newloader_loaded_languages
% \Finale
%
% \iffalse
-%<*../README.md>
-# THE POLYGLOSSIA PACKAGE v1.49
-## Multilingual typesetting with XeLaTeX and LuaLaTeX
+%<*Changelog>
+1.50 (09-10-2020)
-This package provides an alternative to Babel for users of XeLaTeX and LuaLaTeX
-(with a few languages incompletely supported for the latter). This version
-includes support for over 70 different languages, some of which in different
-regional or national varieties, or using a different writing system.
+New features:
-Polyglossia makes it possible to automate the following tasks:
+ * Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
+ output. This brings LuaTeX on par with XeTeX for all scripts (#337).
+ The renderer can be changed via the new global luatexrenderer option.
+ * The (previously inadvertently working) hyphenrules environment that ceased
+ to work after a recent babel update is back and now officially supported.
+ The environment now also supports language options and aliases (#427).
+ * New command \setlanghyphenmins to adapt hyphenation thresholds of languages
+ and varieties.
+ * New command \abjadalph for Arabic with corresponding option (#431).
+ * Replace consecutive glues around punctuation by the correct amount of space
+ with LuaLaTeX for French, ecclesiastic Latin, and Sanskrit (#437).
-* Loading the appropriate hyphenation patterns.
-* Setting the script and language tags of the current font (if possible and
- available), using the package fontspec.
-* Switching to a font assigned by the user to a particular script or language.
-* Adjusting some typographical conventions in function of the current language
- (such as afterindent, frenchindent, spaces before or after punctuation marks,
- etc.).
-* Redefining the document strings (like “chapterâ€, “figureâ€, “bibliographyâ€).
-* Adapting the formatting of dates (for non-gregorian calendars via external
- packages bundled with polyglossia: currently the Hebrew, Islamic and Farsi
- calendars are supported).
-* For languages that have their own numeration system, modifying the formatting
- of numbers appropriately.
-* Ensuring the proper directionality if the document contains languages
- written from right to left (via the packages bidi and luabidi, available
- separately).
+Bug fixes:
-# LICENCE
+ * Remove warning about missing Brazil patterns (#404).
+ * Fix incompatibility with recent babel release (#408).
+ * Fixed some spellings in Marathi (#409).
+ * Fix spacing of geminating dot in Catalan (#410).
+ * Fix incompatibility of Marathi with Beamer.
+ * Correct \partname in Hindi (#416).
+ * Updates and improvements to Kurdish (#418).
+ * Only activate shorthand character if babelshorthands is true (#421).
+ * Fix whitespace issue in Czech and Slovak with vlna=true (#423).
+ * Fix whitespace issue in Danish (#424).
+ * Fix catcode conflicts that might occur in language definition files
+ f. ex. when loaded from a LaTeX3 class (#67, #425).
+ * Robustify font family switches (#428).
+ * Fix whitespace issue in Russian indentfirst option (#433).
+ * In Russian, indentfirst is now again default (#434).
+ * Fix LaTeX error with arabic numbering in Ukrainian (#440).
+ * Fix directionality after Hebrew decimal numbers (#441).
+ * Fix babelname of Latin Serbian (#442).
+ * Fix recording of secondary languages in \xpg@bloaded and \xpg@bcp@loaded
+ lists (#443).
+ * Simplify and robustify section heading modification in Russian
+ and introduce option forceheadingpunctuation (#444).
+ * Fix Cyrillic dash (via babelshorthand "---) when TeX ligatures
+ are disabled (#445)
+ * Fix problem with large character indices in Lua module for punctuation
+ spacing
-Copyright (c) 2008-2010 François Charette, 2013 Élie Roux, 2011-2020 Arthur Reutenauer,
-Copyright (c) 2019-2020 Bastien Roucariès, 2019-2020 Jürgen Spitzmüller
+Interface and defaults changes:
-Except where otherwise noted, Polyglossia is placed under the terms of the MIT licence
-(https://opensource.org/licenses/MIT).
+ * Polyglossia now uses the Harfbuzz renderer by default with LuaTeX
+ output. See new features section.
-# BUGS
+Build fixes:
-If you run into a bug, or suspect you do, or you have a request or comment, please
-use the GitHub issue tracker: http://github.com/reutenauer/polyglossia/issues
+ * Fix a bug in the dtx build script which was the reason for an utterly
+ incomplete polyglossia.dtx file (#420).
-This is more efficient than contacting the maintainer by email as it allows me
-to track the issues and follow progress.
-%</../README.md>
-%<*Changelog>
-1.49 (???)
+Documentation improvements:
+ * Document how to change \lefthyphenmin and \righthyphenmin for a language
+ (#435).
+
+
+1.49 (08-04-2020)
New features:
diff --git a/macros/unicodetex/latex/polyglossia/polyglossia.pdf b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
index 6c1979411b..64a81bfe41 100644
--- a/macros/unicodetex/latex/polyglossia/polyglossia.pdf
+++ b/macros/unicodetex/latex/polyglossia/polyglossia.pdf
Binary files differ
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index fbb352be0e..39bc45560b 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -14,6 +14,7 @@ $mirrors = {
},
'Asia' => {
'China' => {
+ 'https://mirror.bjtu.edu.cn/CTAN/' => 1,
'https://mirrors.aliyun.com/CTAN/' => 1,
'https://mirrors.bfsu.edu.cn/CTAN/' => 1,
'https://mirrors.hit.edu.cn/CTAN/' => 1,
@@ -40,7 +41,6 @@ $mirrors = {
'Japan' => {
'ftp://ftp.u-aizu.ac.jp/pub/tex/CTAN/' => 1,
'http://ftp.jaist.ac.jp/pub/CTAN/' => 1,
- 'https://ftp.kddilabs.jp/CTAN/' => 1,
'https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/' => 1,
},
'Korea' => {
@@ -164,7 +164,6 @@ $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 ca69c0f2b3..175aec5912 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2020
-depend revision/56601
+depend revision/56615
name 00texlive.image
category TLCore
-revision 56594
+revision 56615
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -40,7 +40,7 @@ longdesc IgnorePatterns in the check_files routine in tlmgr.pl augment
longdesc this list. Those are not included in the source/ tarball. For
longdesc information on the 00texlive prefix see
longdesc 00texlive.installation(.tlpsrc)
-runfiles size=13562
+runfiles size=13567
.mkisofsrc
autorun.inf
texmf-dist/README
@@ -3063,6 +3063,7 @@ runfiles size=13562
tlpkg/tlpsrc/playfair.tlpsrc
tlpkg/tlpsrc/plex-otf.tlpsrc
tlpkg/tlpsrc/plex.tlpsrc
+ tlpkg/tlpsrc/plimsoll.tlpsrc
tlpkg/tlpsrc/plipsum.tlpsrc
tlpkg/tlpsrc/plnfss.tlpsrc
tlpkg/tlpsrc/plstmary.tlpsrc
@@ -4167,6 +4168,7 @@ runfiles size=13562
tlpkg/tlpsrc/xmltex.tlpsrc
tlpkg/tlpsrc/xmltexconfig.tlpsrc
tlpkg/tlpsrc/xmpincl.tlpsrc
+ tlpkg/tlpsrc/xmuthesis.tlpsrc
tlpkg/tlpsrc/xnewcommand.tlpsrc
tlpkg/tlpsrc/xoptarg.tlpsrc
tlpkg/tlpsrc/xpatch.tlpsrc
@@ -4273,7 +4275,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 56579
+revision 56603
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
@@ -27403,23 +27405,23 @@ catalogue-version 1.3r
name babel-french
category Package
-revision 56333
+revision 56607
shortdesc Babel contributed support for French
relocated 1
longdesc The package, formerly known as frenchb, establishes French
longdesc conventions in a document (or a subset of the conventions, if
longdesc French is not the main language of the document).
-containersize 15876
-containerchecksum 387008584ad1b71c10573aef439f36838e6cea0d23e39b9c58804cfd9eb43297e64a3efc2c10a72324e89a91b0ccfc93114ff2e49a3e44433fc8bddb00e87faf
-doccontainersize 501872
-doccontainerchecksum 1a5068f911e3925685c746b49c670665000ad633dd3b9551d06ec5682c89151f66984240dfe1f7ec2278df02423533206b01725422e3f8bc21e5fac21d6ccb8c
-docfiles size=143
+containersize 15924
+containerchecksum eaf680b5828b069907c0edf2b62c49475648f973f1ed220e47f6c05907e4b813021b0b18f66b3926ddea4266654dc91055913f3d6be1a799ef0bb2ac8241b9e3
+doccontainersize 502492
+doccontainerchecksum 67c54e55985a756ad52c6c904271a0b54b95e36f2da793d8804771c1606a354c075c8cb547d261c291fb70996fa818573f9f4e0e2c6f0e4a72be0ce71b65b724
+docfiles size=144
RELOC/doc/generic/babel-french/README.md details="Readme"
RELOC/doc/generic/babel-french/frenchb-doc.pdf details="User manual" language="fr"
RELOC/doc/generic/babel-french/frenchb-doc.tex
RELOC/doc/generic/babel-french/frenchb.pdf details="Package documentation"
-srccontainersize 55984
-srccontainerchecksum bce67137956b9f2f261e15951bd0c5a23064308421b4d4713690603a75eba1ee0c4aec50a334c9d9d993f45027b7a98b379ac2ca739ce55e595c73ed3194152a
+srccontainersize 56156
+srccontainerchecksum 676c38f93a87b0fde0d7527f5a4e7db38744cd72e069dfa093e1bc91e365a219fe00a2d523ba06522f31aa106df1f391c669215bc4617a59df606f1cf3df179c
srcfiles size=60
RELOC/source/generic/babel-french/frenchb.dtx
RELOC/source/generic/babel-french/frenchb.ins
@@ -27434,7 +27436,7 @@ catalogue-contact-home http://daniel.flipo.free.fr/babel-french
catalogue-ctan /macros/latex/contrib/babel-contrib/french
catalogue-license lppl1.3
catalogue-topics french multilingual-addon
-catalogue-version 3.5k
+catalogue-version 3.5l
name babel-friulan
category Package
@@ -63433,7 +63435,7 @@ containerchecksum 5bd74e1a434549cf31ce31777e9a32f90baa14148e6658633945508a46dbf6
name collection-fontsextra
category Collection
-revision 56407
+revision 56605
shortdesc Additional fonts
relocated 1
depend Asana-Math
@@ -63686,6 +63688,7 @@ depend pigpen
depend playfair
depend plex
depend plex-otf
+depend plimsoll
depend poiretone
depend poltawski
depend prodint
@@ -63750,8 +63753,8 @@ depend yfonts
depend yfonts-t1
depend yinit-otf
depend zlmtt
-containersize 1840
-containerchecksum d0bec50d85039bc9e619f0ead1426869591a0163069a1391620ae63ddaa121ce9506eac06a441a73981f95860506be680c45e31fa499558c9c712de881b0140e
+containersize 1844
+containerchecksum 5ac185ef553aa29f6a2fb95e02b090765f7677a7a60c48d8faf1868845da2a030f60a49b393b789a3228d9e0af1d479c7988e57a9863db8b93e2115fb115300a
name collection-fontsrecommended
category Collection
@@ -102102,7 +102105,7 @@ catalogue-topics letter
name environ
category Package
-revision 54080
+revision 56615
shortdesc A new interface for environments in LaTeX
relocated 1
longdesc The package provides the \collect@body command (as in amsmath),
@@ -102112,15 +102115,16 @@ longdesc a new author interface to creating new environments. For
longdesc example, \NewEnviron{test}, wraps the entire environment body
longdesc in square brackets, doing the right thing in ignoring leading
longdesc and trailing spaces.
-containersize 1872
-containerchecksum 60df3a032acd64221167090c853b4a330a2cc072561a981a70be29736fa871f0bbecdfe6b2cdfdebfd448d8946c4d0bfceb252ea0693194d184bed3c4fffc747
+depend trimspaces
+containersize 1884
+containerchecksum c8dec70e56651a89ae8da15abc0ad81cc2edb4487837469238e2adc0e7c58cae4c5da82b637a3336839b50103e3d846c5cee8c73141488f644469a0f3e9d363f
doccontainersize 156300
-doccontainerchecksum 8d30310ae317193925c81eece58a3d3109c1396c7e486510826fd72cb8489234867583f438873affae766a32498e375eb46db51fd0d7f9989cd61ae2109e13d6
+doccontainerchecksum 78d4d3f570470619c938687a6c9a6925aad901d781e3e893bd731a49bb8eca62bf1870e68d84f7125e10d91d7bec02a323ae42278ff59c04d7e33eefa2261496
docfiles size=40
RELOC/doc/latex/environ/README details="Readme"
RELOC/doc/latex/environ/environ.pdf details="Package documentation"
-srccontainersize 6416
-srccontainerchecksum 17531d5bcb727e94f7def5f49afd103cd6c280aff943dfdbdaed28f6cdb0a16db918ab21201447f069489f442aae93edbe77f1b4a80734d7f6e4fb6a5ebd3ee8
+srccontainersize 6420
+srccontainerchecksum b30607d21bbf5ddf1c7d36bd9173a16d91bdfcfa004782be50e50f17bf54d94e943d5e524e2331b75f3ce65e81193ba98e69ab56c38959d632007f5b0a87bd6a
srcfiles size=6
RELOC/source/latex/environ/environ.dtx
RELOC/source/latex/environ/environ.ins
@@ -115787,7 +115791,7 @@ catalogue-topics tut-latex
name firstaid
category Package
-revision 56540
+revision 56612
catalogue latex-firstaid
shortdesc First aid for external LaTeX files and packages that need updating
relocated 1
@@ -115797,17 +115801,17 @@ longdesc LaTeX kernel that are not yet reflected in the package's or
longdesc class's code. The file latex2e-first-aid-for-external-files.ltx
longdesc provided by this package is meant to be loaded during format
longdesc generation and not by the user.
-containersize 2216
-containerchecksum 942020f0757742290ab01004dbbba27f5c6338df29fb088b2003ee4d65f11f9707c0dd30b140fe837308825404118372911ec63c7b576166573759488b8356c8
-doccontainersize 224976
-doccontainerchecksum 3e63cf34a4c62a583b3f7a7147c3ee817ea2c382603da13e41fa2aab24f6da3a19a4c937c58903f49fa948955cd8cfcda2263ad75e9536d4105675dd0c420300
-docfiles size=57
+containersize 1944
+containerchecksum c82a47a918f075eb2fcbe4f842665980e2832b44d7bdc6e4af4914e591d5c70b73795447ffe56bced9411152f1d9d5759efc255fe2ece45c1812c0a77186cbe9
+doccontainersize 209220
+doccontainerchecksum 3457555bb895795759e9251e58bc2c5fe4fbaa3ec85be31a8d34fb0fc15ffd6341591938f1edc2c4287d9e7cfa17834d9b754701271d102386e9eed7898f012b
+docfiles size=54
RELOC/doc/latex/firstaid/README.md details="Readme"
RELOC/doc/latex/firstaid/changes.txt
RELOC/doc/latex/firstaid/latex2e-first-aid-for-external-files.pdf details="Package documentation"
-srccontainersize 5068
-srccontainerchecksum 0c6a66c28fa54a7ef596bdc1b1c347847b844751407f89b8549a4ad06f2e1661566dad93ac2c0515da4e424d6685a8a8fefdded54e4fd36dd565b9cc0835a337
-srcfiles size=5
+srccontainersize 4636
+srccontainerchecksum e65760b094e6751268356843427675338248eecaa278289a06f7817280b3700f46e902f8a8db6c8fba28515647782d2643cec813c4dafcc56e233ed612775a29
+srcfiles size=4
RELOC/source/latex/firstaid/firstaid.ins
RELOC/source/latex/firstaid/latex2e-first-aid-for-external-files.dtx
runfiles size=2
@@ -115817,7 +115821,7 @@ catalogue-contact-home https://www.latex-project.org
catalogue-ctan /macros/latex/required/firstaid
catalogue-license lppl1.3c
catalogue-topics format bugfix
-catalogue-version 1.0d
+catalogue-version 1.0e
name fitbox
category Package
@@ -148057,16 +148061,16 @@ catalogue-topics collection
name jsclasses
category Package
-revision 56551
+revision 56608
shortdesc Classes tailored for use with Japanese
relocated 1
longdesc Classes jsarticle and jsbook are provided, together with
longdesc packages okumacro and okuverb. These classes are designed to
longdesc work under ASCII Corporation's Japanese TeX system ptex.
-containersize 21748
-containerchecksum 0b5c8198118e948edca1f997572a5e7669885bfe293a2f81864f203827dbc614a2cafa0b666c84f23921bd9d3710c69c42974698895829bf9bb6e9eda053ad7f
-doccontainersize 782044
-doccontainerchecksum d263ac273320245d8b60025da2381002ef0d689527d314f4f1158370099add8286c13101c979fd713a77c34f362aa5748020f53838df2047994721082dd06ff2
+containersize 21760
+containerchecksum 18c5cd1e63e4fedbf1ec0faf069d40d34dd72ca18af0d634eab16b5c7ce92139cf4892492782f816c0c0deab4706ee1c5a83d052cd122f7d5df35f1d5d2ff4dc
+doccontainersize 782112
+doccontainerchecksum f9d477ca10dfa4fe83e2f5a981f7584555e06968417c542cd09e223a0ef30074540890b3f5b28de12b9d77e9a45e3bae19590cfec31d3232528db1d854514083
docfiles size=199
RELOC/doc/platex/jsclasses/LICENSE
RELOC/doc/platex/jsclasses/README.md details="Readme"
@@ -148075,8 +148079,8 @@ docfiles size=199
RELOC/doc/platex/jsclasses/jsverb.pdf details="Jsverb package documentation (Japanese)" language="ja"
RELOC/doc/platex/jsclasses/okumacro.pdf details="Okumacro package documentation (Japanese)" language="ja"
RELOC/doc/platex/jsclasses/okuverb.pdf details="Okuverb package documentation (Japanese)" language="ja"
-srccontainersize 56516
-srccontainerchecksum 07742680715d6cd8a8db48b58c922c1904e85bdf378a888d637b33db3bafe94a602369ac0dc4d77f8e611390a6dfdad47ca6f2a74489bd9460bead02483acc2b
+srccontainersize 56528
+srccontainerchecksum c4b4d11b3684122e47cb3b1ef59001e0163297768743b570f4c64c3eb0ab95f41a6660b44f6048acf4e9d1f4b949eae9883ee97cadec53798d363f3630cc4fca
srcfiles size=73
RELOC/source/platex/jsclasses/Makefile
RELOC/source/platex/jsclasses/jsclasses.dtx
@@ -155160,22 +155164,22 @@ catalogue-version 0.3.5
name kvoptions
category Package
-revision 52985
+revision 56609
shortdesc Key value format for package options
relocated 1
longdesc This package offers support for package authors who want to use
longdesc options in key-value format for their package options.
-containersize 7072
-containerchecksum af26d9fcf6f3afbd4e4dc105aa84e77bd737649864b3a8b4ba822e1dc62f4fc95e916df704249757d1ba4ec3b8281b510a6c5278b1f82b1a3af558b67790a781
-doccontainersize 478292
-doccontainerchecksum 6f567a5310250dff8d15de8d0fcda8c6eaf392fd9e221b5ea50c0de0bab44324ffcc42902a9d3b6f13cf6090f5e8ca513b5abb218b0f1827e953d76d377ff1ab
-docfiles size=123
+containersize 7136
+containerchecksum 47d2d386a418ffd07810589061d13e625b691fe65522ccf5efb514750314933aeafa75f1e2a56df9851b2cabf3bd54be9bd1200df59c671f0f7c92e90d9aa9b9
+doccontainersize 472508
+doccontainerchecksum dc8fa31afcb9c86d5a94ffa4bfd7e02fd186b27d1f645a5317c718d8079e4b003426e9202c49f6cf3017cd49a59100d8c2a6a553d16012856e340da0e9ede0ef
+docfiles size=121
RELOC/doc/latex/kvoptions/README.md details="Readme"
RELOC/doc/latex/kvoptions/example-mycolorsetup.sty
RELOC/doc/latex/kvoptions/kvoptions.pdf details="Package documentation" language="en"
-srccontainersize 22516
-srccontainerchecksum ccb433710f2337e3663cf295b951e7d83e1fd46420a7dab127ff3f0c78f0f8e82ec064639f9c071f2a1e4ccb454776560bc25399e22fb6621c53c984c75f34bb
-srcfiles size=25
+srccontainersize 21336
+srccontainerchecksum 90a0c6d2b03855dfa7716eb9a18d3c412e51a5bc592650677298eff8040acff81e3c2cda492daa0790372034f33e93763f4ac02821587d095f77dc0810a52b25
+srcfiles size=24
RELOC/source/latex/kvoptions/kvoptions.dtx
runfiles size=10
RELOC/tex/latex/kvoptions/kvoptions-patch.sty
@@ -155185,7 +155189,7 @@ catalogue-contact-repository https://github.com/ho-tex/kvoptions
catalogue-ctan /macros/latex/contrib/kvoptions
catalogue-license lppl1.3
catalogue-topics keyval
-catalogue-version 3.13
+catalogue-version 3.14
name kvsetkeys
category Package
@@ -156644,7 +156648,7 @@ catalogue-version 1.2m
name latex
category Package
-revision 56514
+revision 56606
shortdesc A TeX macro package that defines LaTeX
relocated 1
longdesc LaTeX is a widely-used macro package for TeX, providing many
@@ -156666,11 +156670,11 @@ depend latex-fonts
depend latexconfig
depend luatex
depend pdftex
-containersize 193784
-containerchecksum ce14f150ebcdb0c2ca9ccf2163c2a86020dd185155f551ce2a81d5f4c877b979df920fe1c1792069d3a44e549b3fd6a138eddf0ceb306c641574c47f079f6fa8
-doccontainersize 22732068
-doccontainerchecksum 7e4e261fecf8a4ef3321ba7ab11c7f4a76d4dd0d52dc419e0e85a0963b25ee41c08b9b94244d68308181192ac4b3f51194d0b08741ff1f67af15c3e888bf89e1
-docfiles size=7094
+containersize 193848
+containerchecksum 7c519799120ef9c1fc37d307a1da277e095d3d94e962ec19c69c4bbe282a9db4b3aa4918c5329a50d2591565ecf0c862dcb3d4f305966b287a982bd8db571526
+doccontainersize 22774464
+doccontainerchecksum 7a932dddd3a49fc1a0af773c99b4908614215bc14a3739effef8bc34ed5f20c8f5d3a4f62ca8383fd5dab95a94ffa4b0439fc6b715dfed7e46d335b9f915c28f
+docfiles size=7100
RELOC/doc/latex/base/README.md
RELOC/doc/latex/base/alltt.pdf
RELOC/doc/latex/base/bugs.txt
@@ -156815,9 +156819,9 @@ docfiles size=7094
RELOC/doc/latex/base/utf8ienc.pdf
RELOC/doc/latex/base/webcomp.err
RELOC/doc/latex/base/webcomp.pdf
-srccontainersize 597256
-srccontainerchecksum 66f48098883348f390ec6462484f7a0c46498d2157811e08f410be6d7277f298a822a8be9ed0811b7932071169ecd8a1fb3f1f8da81579252802f8a505562190
-srcfiles size=880
+srccontainersize 598148
+srccontainerchecksum d5087a288d6d00769f50a98a49061568e625be5d5dfd78c026b20d36ae737b65c03fa67b8a5770900723eac01d7f37de08667a62a16dba1872c41af64e35ee2e
+srcfiles size=881
RELOC/source/latex/base/alltt.dtx
RELOC/source/latex/base/alltt.ins
RELOC/source/latex/base/classes.dtx
@@ -157085,6 +157089,7 @@ runfiles size=526
catalogue-contact-home http://www.latex-project.org/
catalogue-license lppl1.3c
catalogue-topics format
+catalogue-version 2020-10-01-PL1
name latex-amsmath-dev
category Package
@@ -168523,7 +168528,7 @@ catalogue-version 0.02
name libertinus-fonts
category Package
-revision 56148
+revision 56604
shortdesc The Libertinus font family
relocated 1
longdesc This is a fork of the Linux Libertine and Linux Biolinum fonts
@@ -168534,11 +168539,11 @@ longdesc forked from Linux Libertine. Libertinus Sans: forked from Linux
longdesc Biolinum. Libertinus Mono: forked from Linux Libertine Mono.
longdesc Libertinus Math: an OpenType math font for use in OpenType
longdesc math-capable applications like LuaTeX, XeTeX or MS Word 2007+.
-containersize 1666848
-containerchecksum d48b4185c711150cc0b72fc9c446a2d1d60141d1a2cdf76b16a279a6c6e17ed52a6183c52fe2809d6df040a700f4273c341e28903b3493ea03caf7856c0cd000
-doccontainersize 470412
-doccontainerchecksum fbd777f3f6bc9eb1e557b28779957607ed48bfe87bd61567535e31755dc0a50b7da05e115c8ff4a8f69fb2aae72cce9663cc7a3d8e075dbbf665c3dd7043e4d4
-docfiles size=248
+containersize 3919660
+containerchecksum 194bd016afb12d4398f9ddf97e0f735f8817322c837cd15d2ec2c121b560dfbffc360bd355172f68387a7fc0abac4d9c5c7989fb24b05c49055d7ab262dfd869
+doccontainersize 472196
+doccontainerchecksum a518c59ff99b2a8286c06e9a826e6f74c3028aa37c6b4064cd656a97c34897d4050a9720511f059b210d38c74742b22a4fc30a6198d1745a188da46a29fe90ab
+docfiles size=249
RELOC/doc/fonts/libertinus-fonts/AUTHORS.txt
RELOC/doc/fonts/libertinus-fonts/CONTRIBUTING.md
RELOC/doc/fonts/libertinus-fonts/CONTRIBUTORS.txt
@@ -168549,21 +168554,35 @@ docfiles size=248
RELOC/doc/fonts/libertinus-fonts/README.md details="Readme"
RELOC/doc/fonts/libertinus-fonts/Sample.pdf details="Font samples"
RELOC/doc/fonts/libertinus-fonts/preview.svg
-runfiles size=866
+runfiles size=1422
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusKeyboard-Regular.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusKeyboard-Regular.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusMath-Regular.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusMath-Regular.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusMono-Regular.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusMono-Regular.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSans-Bold.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSans-Bold.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSans-Italic.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSans-Italic.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSans-Regular.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSans-Regular.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-Bold.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-Bold.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-BoldItalic.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-BoldItalic.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-Italic.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-Italic.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-Regular.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-Regular.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-Semibold.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-Semibold.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-SemiboldItalic.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerif-SemiboldItalic.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerifDisplay-Regular.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerifDisplay-Regular.woff2
RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerifInitials-Regular.otf
+ RELOC/fonts/opentype/public/libertinus-fonts/LibertinusSerifInitials-Regular.woff2
catalogue-also libertinus-otf libertinus-type1
catalogue-contact-announce https://github.com/alerque/libertinus/releases
catalogue-contact-bugs https://github.com/alerque/libertinus/issues
@@ -168571,7 +168590,7 @@ catalogue-contact-repository https://github.com/alerque/libertinus
catalogue-ctan /fonts/libertinus-fonts
catalogue-license ofl
catalogue-topics font font-body font-proportional font-mono font-serif font-sans font-multilingual font-maths font-otf
-catalogue-version 7.000
+catalogue-version 7.010
name libertinus-otf
category Package
@@ -232872,7 +232891,7 @@ catalogue-version 1.20
name pgfopts
category Package
-revision 34573
+revision 56615
shortdesc LaTeX package options with pgfkeys
relocated 1
longdesc The pgfkeys package (part of the pgf distribution) is a
@@ -232882,16 +232901,17 @@ longdesc means of handling LaTeX class and package options. This package
longdesc adds such option handling to pgfkeys, in the same way that
longdesc kvoptions adds the same facility to the LaTeX standard keyval
longdesc package.
-containersize 1944
-containerchecksum 39b29273305a894c37bbb8f2edc899eb69cabed78623ec5ac66d6a75fd7d6b344c1fe4813f56383acd1c51acdd099fcaf3e97af294c5fd63ffe47e25e9cb9caa
-doccontainersize 175604
-doccontainerchecksum 8c5df446fe33e40503caeb8740becb28b3328490fb6aac2cf858645a5d896681d6448e5160cd32e7220c164838fb65dcfd85a22a6c6b9205511f6055f23dcabf
+depend pgf
+containersize 1928
+containerchecksum 7d672d626428c37fa749a810c57be43c6102e1325a6d3e16c57bc560b6d65a57bae94e619a73f3e0efb46ce7b4783d05a6e98c64b1e90c6e0f94f1dd9acd676f
+doccontainersize 175608
+doccontainerchecksum ff82e0502fdeefe6afe90aad4e7615de9be4ef8e2e6a69e7a537202af77aed00c0895269ceed3d38e0f34345efbdd771d22b0c8759fcb46ff8e91ce639dcd21d
docfiles size=45
RELOC/doc/latex/pgfopts/LICENSE
RELOC/doc/latex/pgfopts/README details="Readme"
RELOC/doc/latex/pgfopts/pgfopts.pdf details="Package documentation"
srccontainersize 6008
-srccontainerchecksum ba4043a5ecaf21c1afc3328160c6832b67103a9b9c278665f0ebd91f21d842f85eb70e7a2d7385d66f9910006205d59042aafc994a2eb62762f3dfb5917c10f6
+srccontainerchecksum 758da1f3daa0ef888b484ea657fdd4384102868e4eee543bc97e73f103b67c367277f5c00efd06a2080f9ac3fb82c909cd30f641363120e70357450179dab6c5
srcfiles size=5
RELOC/source/latex/pgfopts/pgfopts.dtx
runfiles size=2
@@ -238100,6 +238120,48 @@ catalogue-license lppl1.3
catalogue-topics font-serif font-sans font-proportional font-mono font-otf
catalogue-version 0.07a
+name plimsoll
+category Package
+revision 56605
+shortdesc Fonts with the Plimsoll symbol and LaTeX support
+relocated 1
+longdesc This package provides access to the Plimsoll symbol for use
+longdesc with LaTeX. The Plimsoll symbol is sometimes used in chemistry
+longdesc for denoting standard states and values. The LaTeX package
+longdesc provides access to this notation as well. The syntax for
+longdesc denoting the standard state is the same as suggested in the
+longdesc Comprehensive LaTeX Symbol List for emulating the Plimsoll
+longdesc mark.
+execute addMap plimsoll.map
+containersize 4692
+containerchecksum c0b44cf022ca470767d296af1ad80b2d5ede92adb22635f7ef34b9fa81ec523f769dfbfa6a78005a46bd9a4886507fa7b3a4f761bcb8f686dbf736e3ad92676e
+doccontainersize 219292
+doccontainerchecksum 9ee880e89387986e228f357f59981b18fa8565d60e88d6f1b15c4109f9f7f20108c447fb995f0edaf64723ac37635b56cb5d097e93e0374a0f64adda4215eed5
+docfiles size=62
+ RELOC/doc/fonts/plimsoll/LICENSE
+ RELOC/doc/fonts/plimsoll/README details="Readme"
+ RELOC/doc/fonts/plimsoll/plimsoll.pdf details="Package documentation"
+ RELOC/doc/fonts/plimsoll/plimsoll.tex
+srccontainersize 2364
+srccontainerchecksum 2967c9b53daaeba02405da837050a53c69b725da8daeba1d6a9c58dbef0387628aa6dceb07815c5bb0d2cc37c6a1b66f5c64037ad33d74e1179dc3fc0f0431a5
+srcfiles size=2
+ RELOC/source/fonts/plimsoll/plimsoll-sans.sfd
+ RELOC/source/fonts/plimsoll/plimsoll.sfd
+runfiles size=9
+ RELOC/fonts/afm/public/plimsoll/plimsoll-sans.afm
+ RELOC/fonts/afm/public/plimsoll/plimsoll.afm
+ RELOC/fonts/enc/dvips/plimsoll/plimsoll.enc
+ RELOC/fonts/map/dvips/plimsoll/plimsoll.map
+ RELOC/fonts/tfm/public/plimsoll/plimsoll-sans.tfm
+ RELOC/fonts/tfm/public/plimsoll/plimsoll.tfm
+ RELOC/fonts/type1/public/plimsoll/plimsoll-sans.pfb
+ RELOC/fonts/type1/public/plimsoll/plimsoll.pfb
+ RELOC/tex/latex/plimsoll/plimsoll.sty
+catalogue-ctan /fonts/plimsoll
+catalogue-license gpl3+
+catalogue-topics font font-symbol font-type1 font-sfd font-supp chemistry
+catalogue-version 1
+
name plipsum
category Package
revision 30353
@@ -239906,7 +239968,7 @@ catalogue-version 1.101
name polyglossia
category Package
-revision 56594
+revision 56613
shortdesc An alternative to babel for XeLaTeX and LuaLaTeX
relocated 1
longdesc This package provides a complete Babel replacement for users of
@@ -239918,11 +239980,11 @@ depend fontspec
depend iftex
depend makecmds
depend xkeyval
-containersize 112816
-containerchecksum e1b5bfa9db72d2109d1efcc5b8252b820df187377e04984fc8f537b018efc16b89f98f982031d431a81681cbba76e02e725452342578c766219af4c70e9eb3e7
-doccontainersize 569048
-doccontainerchecksum b0087ddf99e1c8134ed9529f5b5fb511aaae51ffe5f84ec2252dc5e56276591fec9d460864039dd0520a28b37a89f4bad5625e056b10e435754e8b31e1f7de4d
-docfiles size=176
+containersize 113484
+containerchecksum 640cbea016de7aa1922f7d48ec959b19525fddf0d0fb4105cee47f06e05bc63b71ea229a17f6ff021c9ffaf02618690ae203e04677c1b5b858274eaab54306fb
+doccontainersize 564396
+doccontainerchecksum 2881ceb897f725ada1c026426bf65cd6856ffcbf7e9a3aad0cd79e15d07b4d95753294e1a7018e6d811f2ceab5c596e8c4943be001522e12a112a12ba34276b6
+docfiles size=177
RELOC/doc/latex/polyglossia/README.md details="Readme"
RELOC/doc/latex/polyglossia/example-arabic.pdf
RELOC/doc/latex/polyglossia/example-arabic.tex
@@ -239936,11 +239998,11 @@ docfiles size=176
RELOC/doc/latex/polyglossia/polyglossia.tex
RELOC/doc/latex/polyglossia/test-welsh.pdf
RELOC/doc/latex/polyglossia/test-welsh.tex
-srccontainersize 123076
-srccontainerchecksum 38f8e00dd65248f90cf63877b75ba664695911fc2209088bd035b18afe3e0f677b3c4bdc530260619c9796d0d6d04f2aa8f6903bb0ba7f6450521de851c82dca
-srcfiles size=169
+srccontainersize 148856
+srccontainerchecksum 2b24bba7b5cad42e338d77b504e4f82ecb05886c1aece2101fb9feefed53c95a54b5b1d2b81908747b524204dc5749f2f2b37b7175bbc18dacfcbe0f9e23878d
+srcfiles size=218
RELOC/source/latex/polyglossia/polyglossia.dtx
-runfiles size=359
+runfiles size=362
RELOC/fonts/misc/xetex/fontmapping/polyglossia/arabicdigits.map
RELOC/fonts/misc/xetex/fontmapping/polyglossia/arabicdigits.tec
RELOC/fonts/misc/xetex/fontmapping/polyglossia/bengalidigits.map
@@ -240209,7 +240271,7 @@ catalogue-contact-repository https://github.com/reutenauer/polyglossia
catalogue-ctan /macros/unicodetex/latex/polyglossia
catalogue-license mit lppl1.3 cc0
catalogue-topics multilingual use-xetex use-luatex
-catalogue-version 1.49
+catalogue-version 1.50
name polynom
category Package
@@ -278604,7 +278666,7 @@ catalogue-version 1.4
name tabu
category Package
-revision 49707
+revision 56615
shortdesc Flexible LaTeX tabulars
relocated 1
longdesc The package provides an environment, tabu, which will make any
@@ -278627,15 +278689,16 @@ longdesc allowing a width specification, alignment (l, r, c and j) and
longdesc column type indication (p, m and b). \begin{tabu} to <dimen>
longdesc specifies a target width, and \begin{tabu} spread <dimen>
longdesc enlarges the environment's "natural" width.
-containersize 23904
-containerchecksum b5ee526ac9f68edba34784ed646557b8b1b28a0192c5acefa81dab5a637050798c4a7410589ff98549b2a29e30686c518d2f319144c7e4fb2ab1464d56d2fac6
-doccontainersize 1458864
-doccontainerchecksum b7cb976e6908f219d50bb3e30dc7874b3c9843c8c36bc59cfb909fd54472c4767e914889cb4f50b4ad426176764a09633254e05d271daaaefe0b0beef80161e9
+depend varwidth
+containersize 23896
+containerchecksum cee6894fac19a98293402b714cc52eaf8ec0b9965a8e9ab9f5125388a2e4709e5d33063286eac9e45a3470f551d1aeeb41d09623b5dddd6563c1c462c2582ba3
+doccontainersize 1458872
+doccontainerchecksum 9e10613a8ca8b29d61ab5a394ece8e25e0e8abea4b7a70b01382935650c86e9554712635c78f3b097afc5f9560cef2fceb984b383826e206233c28144f332c2f
docfiles size=618
RELOC/doc/latex/tabu/README.md details="Readme"
RELOC/doc/latex/tabu/tabu.pdf details="Package documentation"
srccontainersize 76076
-srccontainerchecksum 0684c272a9dabb794a0dbb3900006abe2b0997b6e3335668d058bd9195a6661ee523bb7324ec2e98a7cbfa88416310ec2427c1abcf01986ad1e07a1008bd506b
+srccontainerchecksum 7b88f0fee52dead2555b4dcc11699ff167207f210f663faccccc1f951e40a53a5a572840c43070d4f86bd183c5e0d9e456c548013160a39264bcda10e71ca49d
srcfiles size=86
RELOC/source/latex/tabu/tabu.dtx
runfiles size=29
@@ -279181,7 +279244,7 @@ catalogue-version 2.40
name tcolorbox
category Package
-revision 56480
+revision 56610
shortdesc Coloured boxes, for LaTeX examples and theorems, etc
relocated 1
longdesc This package provides an environment for coloured and framed
@@ -279193,11 +279256,11 @@ longdesc output. Another common use case is the setting of theorems. The
longdesc package supports saving and reuse of source code and text
longdesc parts. The package depends on the pgf, verbatim, environ, and
longdesc etoolbox packages.
-containersize 230352
-containerchecksum 316879b98b72f6de49a754eb06e45811d543f2a666d97710d67cdd7b5e700b3994651ddd486d0f661ba6b6851569421c7d75295ce04717f59980096f8f69a4dd
-doccontainersize 4713776
-doccontainerchecksum b52d85403473020b20ff44d5ade3c2325f629ff0fd947082dc93c796e1deff82449532c059583d6f5444ffba98e809cd6d452ce22e6e7db61702798428dfd483
-docfiles size=2325
+containersize 230544
+containerchecksum 70647656ee420fcb3c832e8552c2340229b0586a638f7c55404f96f20dcb3e8fd2c561a44ece09e6f507a3c4e2be189aa4cb3a3c4d8bc338ca4396e5d4b9416d
+doccontainersize 4716812
+doccontainerchecksum 5ec6c748b48b0166555437e0f75203e616e43a8b15787890b00d36df7c86de1971d2a876c5e7228f60f9ccd2e14c7b30ec061f35127a76f6194722c7103c9c0f
+docfiles size=2321
RELOC/doc/latex/tcolorbox/Basilica_5.png
RELOC/doc/latex/tcolorbox/CHANGES
RELOC/doc/latex/tcolorbox/README details="Readme"
@@ -279270,7 +279333,7 @@ catalogue-contact-bugs https://github.com/T-F-S/tcolorbox/issues
catalogue-ctan /macros/latex/contrib/tcolorbox
catalogue-license lppl1.3
catalogue-topics boxing colour verbatim listing macro-demo
-catalogue-version 4.41
+catalogue-version 4.42
name tdclock
category Package
@@ -290803,15 +290866,15 @@ docfiles size=592
name texlive-docindex
category TLCore
-revision 56593
+revision 56603
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 173e31439332ea688b0ae817dbc5160fa355bc6c5049e78aa1666847a868dc2bc111652f0dcb7f4a64a00c252f8ffc0274b731713af4c763b92eee3cb3d6004b
-doccontainersize 169484
-doccontainerchecksum 46c8eeade7d0a51bf75b21711bdddb7de815f29c82195d479e934696ef596282b0a1e2a36d5f1169b28f9b49f4e3a78ef00f17ca4d6906cca28daae6000516a2
+containerchecksum f74f8acad352f74ce08cd4c50d6034b55048e4b3e4fa34e9e80f7ba02d4a5524fb2d9cb52469309ae4e94c229a5b6ec4515e007f7b4e1e5f4b49ab9ec73c517e
+doccontainersize 169372
+doccontainerchecksum 158e4152104ce2b191caca7a51c405fa02c40cea8ed03a17bf52de71bb1a742613c5c2c7a80f17b058c1d3d320bb8063a24b9d6da4c502298d46f996561540f4
docfiles size=336
doc.html
@@ -291033,7 +291096,7 @@ docfiles size=368
name texlive-scripts
category TLCore
-revision 56579
+revision 56603
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.
@@ -291041,10 +291104,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 132048
-containerchecksum eac71dbab40aaa375650d15b51c6ce646b418a3c07a3603a5dd02079bdaed0d7cf4926f1bca69dac567c49c3d766da16c7abde200ddc021f3530f75619978df4
+containersize 132060
+containerchecksum 371c4b413925ae479dc3ffa9d06df2600524e845cab5e69ef18a46736524f8a69e806f3ef0185279f312b854c434bc1caa8d160d543203de2a9f3aa60e46cb9e
doccontainersize 218656
-doccontainerchecksum 7d423b4727501048627fa1bf1bf2a558d60e77a03aac1f808cab176ae4fd500029653ca9f09ebcf5f6165af24f4739206217ca25675a5360de8e892aab42c01c
+doccontainerchecksum b00c27421b899a32bc65c7a56978c8ee3ba26f9114e714ab2ab8722e456842c1cf692b56093a6c5694c3c0250bf49514a96185bd66c908fca5e93fba0adb0ba2
docfiles size=141
texmf-dist/doc/man/man1/fmtutil-sys.1
texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf
@@ -296385,7 +296448,7 @@ catalogue-version 1.1.0
name tikz-feynman
category Package
-revision 39582
+revision 56615
shortdesc Feynman diagrams with TikZ
relocated 1
longdesc This is a LaTeX package allowing Feynman diagrams to be easily
@@ -296395,10 +296458,12 @@ longdesc package and leverages the graph placement algorithms from TikZ
longdesc in order to automate the placement of many vertices.
longdesc tikz-feynman allows fine-tuned placement of vertices so that
longdesc even complex diagrams can still be generated with ease.
-containersize 15444
-containerchecksum 1a1ebc5d2f2eca4e5dd16ce744774add9b8f5b4c3124dee46f0366f43a59b188b0873939d2b68ff0d679f3e52f1a6bc387ab81c363912024efd0eb4110e2ba27
+depend iftex
+depend pgfopts
+containersize 15440
+containerchecksum 34c147e6ee16643e99d2c8fa789b39aea6f3b9ae7de93fd5c65d1b0daca1e9514d484b5b38892a0cffa1aeedcd405df0bc6621bf68e587311bc9fe45205c29fc
doccontainersize 322304
-doccontainerchecksum b3e90aa1d8476aed01faef977b75f4e3450cab121d457eca0bb254075c1e2ed58fe15196ab0d923906dcf6af4f78bc76d6053343f6444c8294bf7d5bbceb3cd1
+doccontainerchecksum ae0510a7971538fe458d83d4da4c78f7d607c7a1298344a139c02c49985f9005f6a81ab15f9dc621929d70d634c2cec4189ac4a2955e994611247af0c96986f3
docfiles size=104
RELOC/doc/latex/tikz-feynman/LICENSE
RELOC/doc/latex/tikz-feynman/README.md details="Readme"
@@ -326567,6 +326632,35 @@ catalogue-license gpl
catalogue-topics metadata pdf-feat
catalogue-version 2.2
+name xmuthesis
+category Package
+revision 56614
+shortdesc XMU thesis style
+relocated 1
+longdesc This class is designed for XMU thesis's writing.
+containersize 49692
+containerchecksum 3c9bdbd54cb99bddb9356586a1ba16d8e0ebe10d0120f6d6e7ae1c60375a41ce9ae9c01eded07b122aa323ddcb0e3ed9c68f6da6e716915f523e77bb343ee665
+doccontainersize 433268
+doccontainerchecksum 07e9b8eeaa864efbe6fb8e1c54e183a65f177b81454a2abc049e2efef8fae1d61a208273fd3cecb9d8bb8d601266f1c4897939c52d43fb5dff92ecdd3855c322
+docfiles size=111
+ RELOC/doc/latex/xmuthesis/LICENSE
+ RELOC/doc/latex/xmuthesis/README.md details="Readme"
+ RELOC/doc/latex/xmuthesis/xmuthesis.pdf details="Package documentation"
+srccontainersize 59228
+srccontainerchecksum 9f3eaaac30cc9f396a3e33f6216b56485c27eb2f855b511642204025c27b40a529aa6dd1952c753a1fd50474ee6c5ef020f859dcc71e07ece39df090ed7ef46a
+srcfiles size=50
+ RELOC/source/latex/xmuthesis/xmuthesis.dtx
+runfiles size=43
+ RELOC/tex/latex/xmuthesis/xmulogo.sty
+ RELOC/tex/latex/xmuthesis/xmuthesis.cls
+catalogue-contact-bugs https://github.com/CamuseCao/XMU-thesis/issues
+catalogue-contact-home https://github.com/CamuseCao/XMU-thesis
+catalogue-contact-repository https://github.com/CamuseCao/XMU-thesis/releases
+catalogue-ctan /macros/latex/contrib/xmuthesis
+catalogue-license lppl1.3c
+catalogue-topics class dissertation
+catalogue-version 0.4.1
+
name xnewcommand
category Package
revision 15878
@@ -334195,7 +334289,7 @@ catalogue-version 1.0
name zref
category Package
-revision 55327
+revision 56611
shortdesc A new reference scheme for LaTeX
relocated 1
longdesc This package offers a means to remove the limitation, of only
@@ -334220,15 +334314,15 @@ longdesc zref-savepos, make positions on a page available; zref-dotfill,
longdesc controlled dot-filling; zref-env, record the latest
longdesc environment's name and the line it started on; and zref-xr,
longdesc provide the facilities of the xr and xr-hyper packages.
-containersize 14324
-containerchecksum ab36a4be0c9fd15b9b8c6ec1b726deb6e7a3a3974d4c50fec9712aa34ce5f719a67903807e0781574872d56d62e27ee8bce73a87b4be4393bb9e9ba44e256719
-doccontainersize 650916
-doccontainerchecksum 42f84e5df57b2032a0e6ba3acb1d509f6eae7742ac7e3ad1e8952c60d13e38482b63498e40aa9f1830e023569edc957421b481a84dde697893e914911661d7c7
+containersize 14364
+containerchecksum f64604e9308278b34347bcbcaed39b500371c575082311c1fb28bf6bd7db26fc2d2e3d3e8843e3a195fd22050450bffb18c3e8b64a54f0787c1122ac3901ad2f
+doccontainersize 651440
+doccontainerchecksum 928c54696572694b1fc7712a0f8357851c18d83bf723c6f03a9f784dfbd123b2c886593bc95de0d3b7f8109e1d0b3a52cc6ef1a877c0506130e7c5d96b046a67
docfiles size=166
RELOC/doc/latex/zref/README.md details="Readme"
RELOC/doc/latex/zref/zref.pdf details="Package documentation"
-srccontainersize 36776
-srccontainerchecksum 03d16a0069569f08a6b564c50948ae813ffe56839876e6e05bef2f5aa10703dda88209c34432bbf0913afd95d3437ec71e9288858d60ae9d0ad015f71df5d253
+srccontainersize 36852
+srccontainerchecksum 82e6c4210453e9f7adfd93673aa2e7dfbf2c39e938b9ad0d2309ea59b53259d1d1d9b05924f2f6f9f64ba29ecdbda8e074527923fdfd1551a42b1057450b2fc5
srcfiles size=48
RELOC/source/latex/zref/zref.dtx
runfiles size=37
@@ -334258,7 +334352,7 @@ catalogue-contact-repository https://github.com/ho-tex/zref
catalogue-ctan /macros/latex/contrib/zref
catalogue-license lppl1.3c
catalogue-topics label-ref
-catalogue-version 2.31
+catalogue-version 2.32
name zwgetfdate
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 84fb8605f7..99fb3666c0 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-96d370689cc7eea0aa1e94c79a050e68 texlive.tlpdb
+806469f281e65cddeb2351fe915c6261 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 6104e4cccb..d871be49ef 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-34e79f131f69b933f6d6e3c64c824aaa4d6491077d7386fb60ee8aa7a79bf109899e1d23a11e44f5064c413eefa97152dcaa9a824ced111058afac48064e743e texlive.tlpdb
+9e04a387ba64be9e2e521a0d71d35b503ef2c14d3e074d1d14dd86d54dfee0541cd4c9a57697d9c737d669ba1ce5bdc3879648d69c282c7f86081dc5aa34cbb9 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 1065d24fc0..95aa160d93 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-----
-iQEcBAEBCgAGBQJff6dqAAoJEEzhh34ZQ4xwy+kH/j08M6vlT3DLtNOlbmRdOI2q
-mzlfi/s1dued1dc0wTxI5OR09qjjHUIE3+ag2TbyZjwLBiDT9YBpCty9lkmyPVVH
-lDvgvDMLhuYofGFQHsZFlmh7hwV3tP8JTwMVUlaWNhDnVlTTGzyHl0HSK6p9PIie
-BhbNbwOjJI74y61txJis8yt+87088CKXrObzmNBdcTxAeUTrxejxaO3VGYEqTeDb
-g05R+7UDUo0N1oOgaPsV6IzRleX7kMpI/+reTH6oITqvza4awKutXt2LuZunip3G
-NbtarC4XswUpJ0oCzpTENMLc14QvD8Q8kSGbHi3gfdyOudUV3R254LRUuGM36mE=
-=EHxC
+iQEcBAEBCgAGBQJfgPmNAAoJEEzhh34ZQ4xwLAoIAJCqPKioc08O81TQcp7crbdi
+7cT5RK/ZE9oT3E03/tAOVW8h81OUCfsx3L+FWXS+8gcfNuOYEqYLLb9xcZODnvUJ
+6ZZXa1MOxz+EZSAeJHr/doF0xAf5+B8a3JWTC/CCo+1QqUBluLV1L0hRxVkhYHXL
+EINQl2fvlo+/iez7hXO4JVZxy84W3uV0Vg8lCoUWF1LSoKnZ+sY1Lycmi/aGHriF
+6lHF6NSQQjf2UmSzFkH8amMWc3Me1512NKGScwMU4MtMzrrCnsnQkFaGkNX/LjR5
+gR+IXTHdK3am65Yh8H8aFGWG6gAXcOVXeAVNBba2AQ0DfjpQdjUnf8RSRe/zpCM=
+=+h5e
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 2a6f865e8b..b7833832ea 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 3996b07edc..f02839b969 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/files.csv.lzma b/systems/win32/miktex/tm/packages/next/files.csv.lzma
index 76dbd97333..7d886db438 100644
--- a/systems/win32/miktex/tm/packages/next/files.csv.lzma
+++ b/systems/win32/miktex/tm/packages/next/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 be9f90742b..8ed9aefcab 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=1602188202
+date=1602274546
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=9a07bbe2e501d48d9cb7f3db32195e90
+lstdigest=9bc19595d6c5ab5d1c43aced9ad4a66f
numpkg=3984
relstate=next
-version=7586
+version=7587
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: rJyeXAZuVUU3OLM2a6omwtK5Lf4n/r/rThs8z2ORk9jhObBhnKYqLBjivQTGESgqrlmm+QhpnH6IlJ8ZM179YNDT9bBKMt0t2euqT2z4E6abp7qZzESfOcEINItH8dEOG/nAenSvs/oev0hSJeMgTkzc0M9LMhp8uuPL0J0E4GPKNbxKMp0AYB9iD3eMdQK4/XUtIDy5VWylR3peqITysZrjHhAlu8HvA5d6b5DuUr3Gpy6vsJzErVOTpmaCpUoCjfWVzX8F/G01njYQw+ar3oNAgA+etZxB/T0y6DSU1q/e6XDR9P3CAiY1wOOOor0hFGaPTXVMBKCpUbQD6L1Ozw==
+;;;; signature/miktex: lDhjJQJ7wFnjX6Dc0SnbmIo0IXzpcLM7t6KAmmfjHrmdtzgqU9Jw6ysf/qGx9l+/mLVagtKpVyNtpRVIyWGWxWM8QsxQrb75zSaqpZMmY9JhjNmM/wP+4prE7QULPSD2HZXbjeE2WYugeF3AAEppSsNy0ZpyjFek7s6QJLtLBj9DTqv+Ng+p5ML0OZ6hoNTnNz+mqk6ZB3W5nWLOZIrY88y3oHm0SK6AGjSjct2Dp4F6bp9fuERMKz27juV1R/Z5XbiSJqpaTC9r8UpMa0/umxkeTIjUGr2ZkXARkkx5GeeCiTo+4SIRE0CviZKrFZ8weSyeST+Q49jOluO0q7jmdg==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 5dfc3d3406..86aeef8157 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1602187878
-lastupd=animate lwarp platex semantex babel bxjscls etoolbox graphics-def jsclasses l3kernel l3packages luatexja nicematrix nnext pxjahyper regexpatch tuda-ci circuitikz curve2e latex-firstaid
-lstdigest=9b7cfeec384e0165adb9d28c2e7c0c93
+date=1602274269
+lastupd=auto-pst-pdf babel-russian ghostscript hyperxmp paresse showexpl animate lwarp platex semantex babel bxjscls etoolbox graphics-def jsclasses l3kernel l3packages luatexja nicematrix nnext
+lstdigest=7d179def0c840c2df84313562d5c15c7
numpkg=3984
relstate=stable
-version=7586
+version=7587
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: RXUSj2O1bUB9WEqPJmKPtrJLpY2L/Od+elYu8+m++qPV3+Jx/+8lPHcFFqvHvslZd7mUnEN8zRUnzS2PjAXE4Ew15uK9Wo8z42sUbCRNe9525EZkabpWJuiSf3Mm2xf/hQkOgYlpiiVZE1k7fcUGFOr7F3WNqT+ddE6CmlHxc/K39Bp0jZC2mZMLZhbiwyHuXGF1nNajSy1bewsd7BSWvpAejbQ3E9wT5lHSbyZDhDTKUAW+55fDtxjYd5RwXeCnsKUP8fLthdkPdwsFOO9oqIPS8ctR83oCi35EJLh3euEh0MvV+CuuY4N2Q9w6b/WbrnvN3LMijA+bLUh9gPwyoQ==
+;;;; signature/miktex: sbpR1KvYSC0Mag4fmAKLCpI5LjclMnX1FYDngaUWHcPS/Xu3RS4CiWrW191zoek0ZxEZzl03WjNO38Qh8D7NxJQl8pWNWiD5R9G7aFEEIvyeowtZKnCQcsBI2eQpWodgOoRjzaMc4DzN6mPF5dAKKgsCRj5rkNgGHN93X/+D8b4DtCDEiQTTf8lhuOLSsgohE3Wq4YbcRhEp4YyQyipJZynHlg1QA/GB1jYZYBECVUyknjad9wjFMuOwUDPkmcrfCJyiKC6s+xZltOnLEaxQ5fcragtFx4fc5upLSiXwX0CUQItSknEvcq7GIWXZlWhyeGwTjJYCL79q7mmd1YC75A==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/w32tex/ChangeLog b/systems/win32/w32tex/ChangeLog
index 354b08ea6a..4f0b24abbb 100644
--- a/systems/win32/w32tex/ChangeLog
+++ b/systems/win32/w32tex/ChangeLog
@@ -1,5 +1,14 @@
W32TeX (x86 & x64) ChangeLog
+[2020/10/09]
+(01) ltxpkgs.tar.xz
+ Update auto-pst-pdf, hyperxmp, paresse and showexpl.
+(02) tex4htk-w32.tar.xz
+ Add catchfile-sty-hooks.4ht and minted-sty-hooks.4ht.
+ Update tex4ht.sty and usepackage.4ht.
+(03) web2c-lib.tar.xz
+ Update babel/russian.
+
[2020/10/08]
(01) dvipdfm-w32.tar.xz
Update dvipdfmx.dll (20201008).
diff --git a/timestamp b/timestamp
index 2b475320d6..562d305e09 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-10-09-02-02
+2020-10-10-02-02