summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-04-26 03:02:04 +0000
committerNorbert Preining <norbert@preining.info>2022-04-26 03:02:04 +0000
commit6f7554fc6cab67e3dc397ce7a942889eedbc4967 (patch)
treecd63f9ed43b147e44b3f1981bf7bda23680416b1
parent4688b855bb6f8b817901a7c777e8aecd1a189622 (diff)
CTAN sync 202204260302
-rw-r--r--FILES.byname809
-rw-r--r--FILES.byname.gzbin2418462 -> 2418585 bytes
-rw-r--r--FILES.last07days785
-rw-r--r--macros/latex/contrib/circledtext/README.md60
-rwxr-xr-xmacros/latex/contrib/circledtext/build.sh8
-rw-r--r--macros/latex/contrib/circledtext/circledtext.pdfbin0 -> 209214 bytes
-rw-r--r--macros/latex/contrib/circledtext/circledtext.sty952
-rw-r--r--macros/latex/contrib/circledtext/circledtext.tex749
-rw-r--r--macros/latex/contrib/colorist/colorart.cls24
-rw-r--r--macros/latex/contrib/colorist/colorbook.cls24
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.pdfbin102113 -> 102695 bytes
-rw-r--r--macros/latex/contrib/colorist/colorist-doc.tex2
-rw-r--r--macros/latex/contrib/colorist/colorist-fancy.sty65
-rw-r--r--macros/latex/contrib/colorist/colorist.sty2
-rw-r--r--macros/latex/contrib/crefthe/crefthe-doc.pdfbin116473 -> 115700 bytes
-rw-r--r--macros/latex/contrib/crefthe/crefthe-doc.tex106
-rw-r--r--macros/latex/contrib/crefthe/crefthe.sty4
-rw-r--r--macros/latex/contrib/geradwp/LICENSE.txt416
-rw-r--r--macros/latex/contrib/geradwp/README.md2
-rw-r--r--macros/latex/contrib/geradwp/geradwp-fr.pdfbin503393 -> 552691 bytes
-rw-r--r--macros/latex/contrib/geradwp/geradwp.dtx550
-rw-r--r--macros/latex/contrib/geradwp/geradwp.ins19
-rw-r--r--macros/latex/contrib/geradwp/geradwp.pdfbin460925 -> 520868 bytes
-rw-r--r--macros/latex/contrib/hvlogos/Changes3
-rw-r--r--macros/latex/contrib/hvlogos/README2
-rw-r--r--macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdfbin86065 -> 86119 bytes
-rw-r--r--macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex2
-rw-r--r--macros/latex/contrib/hvlogos/latex/hvlogos.sty8
-rw-r--r--macros/latex/contrib/minimalist/minimalist-classical.sty63
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.pdfbin103724 -> 104110 bytes
-rw-r--r--macros/latex/contrib/minimalist/minimalist-doc.tex2
-rw-r--r--macros/latex/contrib/minimalist/minimalist-plain.sty66
-rw-r--r--macros/latex/contrib/minimalist/minimalist.sty2
-rw-r--r--macros/latex/contrib/minimalist/minimart.cls24
-rw-r--r--macros/latex/contrib/minimalist/minimbook.cls24
-rw-r--r--macros/latex/contrib/projlib/ProjLib.dtx166
-rw-r--r--macros/latex/contrib/projlib/README.md4
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md43
-rw-r--r--macros/latex/contrib/siunitx/siunitx-abbreviation.dtx37
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin608331 -> 617919 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.tex16
-rw-r--r--macros/latex/contrib/siunitx/siunitx-complex.dtx518
-rw-r--r--macros/latex/contrib/siunitx/siunitx-emulation.dtx65
-rw-r--r--macros/latex/contrib/siunitx/siunitx-locale.dtx23
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx1304
-rw-r--r--macros/latex/contrib/siunitx/siunitx-print.dtx94
-rw-r--r--macros/latex/contrib/siunitx/siunitx-quantity.dtx4
-rw-r--r--macros/latex/contrib/siunitx/siunitx-unit.dtx414
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx112
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin640392 -> 663038 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx.tex348
-rw-r--r--macros/latex/contrib/tuda-ci/README.md5
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdfbin551791 -> 551988 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdfbin598742 -> 598742 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdfbin571481 -> 571481 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdfbin559870 -> 559870 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdfbin567048 -> 567048 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdfbin635708 -> 635719 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdfbin536007 -> 536186 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdfbin662266 -> 662283 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdfbin527056 -> 527257 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdfbin563716 -> 574998 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdfbin627482 -> 627487 bytes
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudabeamer.cls14
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.def6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudacolors.sty49
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaexercise.cls13
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudafonts.sty6
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls13
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaletter.cls13
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg8
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudaposter.cls13
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudapub.cls10
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudarules.sty7
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasciposter.cls46
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo2
-rw-r--r--macros/latex/contrib/tuda-ci/tex/tudathesis.cfg6
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdfbin320007 -> 322112 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex2
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdfbin208615 -> 209159 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex2
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdfbin213449 -> 212849 bytes
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex2
-rw-r--r--macros/unicodetex/latex/beaulivre/beaulivre.cls24
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.pdfbin249232 -> 251176 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-cn.tex2
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.pdfbin154559 -> 155072 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-en.tex2
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-fr.pdfbin159934 -> 160385 bytes
-rw-r--r--macros/unicodetex/latex/einfart/einfart-doc-fr.tex2
-rw-r--r--macros/unicodetex/latex/einfart/einfart.cls24
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdfbin266891 -> 269138 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex2
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.pdfbin147325 -> 147743 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-en.tex2
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdfbin150838 -> 151300 bytes
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex2
-rw-r--r--macros/unicodetex/latex/lebhart/lebhart.cls24
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdfbin335280 -> 337254 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex2
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.pdfbin229949 -> 230651 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-en.tex2
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdfbin230162 -> 230716 bytes
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex2
-rw-r--r--macros/unicodetex/latex/simplivre/simplivre.cls24
-rw-r--r--support/TeX4ht/source/ChangeLog9
-rw-r--r--support/TeX4ht/source/mktex4ht-cnf.tex3
-rw-r--r--support/TeX4ht/source/tex4ht-4ht.tex91
-rw-r--r--systems/mac/mactex/ExtrasFolder.pdfbin38147 -> 38148 bytes
-rw-r--r--systems/mac/mactex/Licenses.txt4
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl4
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb319
-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.xzbin2368180 -> 2367920 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini8
-rw-r--r--timestamp2
146 files changed, 6605 insertions, 2219 deletions
diff --git a/FILES.byname b/FILES.byname
index de1b7129a0..5dd0090807 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5228,7 +5228,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
-2022/04/24 | 93930 | FILES.last07days
+2022/04/25 | 100130 | FILES.last07days
2021/07/24 | 1139410 | fonts/aboensis/Aboensis.glyphs
2021/07/24 | 18907382 | fonts/aboensis/aboensis.pdf
2021/07/24 | 137860 | fonts/aboensis/Aboensis-Regular.otf
@@ -186063,7 +186063,7 @@
2012/09/24 | 130991 | install/macros/latex/contrib/scrjrnl.tds.zip
2021/11/10 | 657160 | install/macros/latex/contrib/sdaps.tds.zip
2019/12/10 | 544332 | install/macros/latex/contrib/selinput.tds.zip
-2022/04/04 | 1465134 | install/macros/latex/contrib/siunitx.tds.zip
+2022/04/25 | 1510026 | install/macros/latex/contrib/siunitx.tds.zip
2019/10/15 | 315856 | install/macros/latex/contrib/skmath.tds.zip
2019/10/16 | 345652 | install/macros/latex/contrib/skrapport.tds.zip
2019/12/15 | 357584 | install/macros/latex/contrib/soulutf8.tds.zip
@@ -208065,6 +208065,12 @@
2021/06/16 | 19106 | macros/latex/contrib/circledsteps/lppl-1-3c_license.txt
2021/06/16 | 1345 | macros/latex/contrib/circledsteps/README.md
2021/06/16 | 429984 | macros/latex/contrib/circledsteps.zip
+2022/04/25 | 243 | macros/latex/contrib/circledtext/build.sh
+2022/04/25 | 209214 | macros/latex/contrib/circledtext/circledtext.pdf
+2022/04/25 | 31541 | macros/latex/contrib/circledtext/circledtext.sty
+2022/04/25 | 22476 | macros/latex/contrib/circledtext/circledtext.tex
+2022/04/25 | 2607 | macros/latex/contrib/circledtext/README.md
+2022/04/25 | 215224 | macros/latex/contrib/circledtext.zip
2010/02/22 | 181164 | macros/latex/contrib/circle.zip
2015/03/03 | 11765 | macros/latex/contrib/cite/chapterbib.ltx
2015/03/03 | 147894 | macros/latex/contrib/cite/chapterbib.pdf
@@ -208462,15 +208468,15 @@
2016/05/11 | 3227 | macros/latex/contrib/coloring/coloring.sty
2016/05/11 | 452 | macros/latex/contrib/coloring/README
2016/05/11 | 27406 | macros/latex/contrib/coloring.zip
-2022/04/21 | 5842 | macros/latex/contrib/colorist/colorart.cls
-2022/04/21 | 5839 | macros/latex/contrib/colorist/colorbook.cls
-2022/04/21 | 102113 | macros/latex/contrib/colorist/colorist-doc.pdf
-2022/04/21 | 24343 | macros/latex/contrib/colorist/colorist-doc.tex
-2022/04/21 | 36207 | macros/latex/contrib/colorist/colorist-fancy.sty
-2022/04/21 | 4009 | macros/latex/contrib/colorist/colorist.sty
-2022/04/21 | 19106 | macros/latex/contrib/colorist/LICENSE
-2022/04/21 | 2422 | macros/latex/contrib/colorist/README.md
-2022/04/21 | 125689 | macros/latex/contrib/colorist.zip
+2022/04/25 | 6470 | macros/latex/contrib/colorist/colorart.cls
+2022/04/25 | 6467 | macros/latex/contrib/colorist/colorbook.cls
+2022/04/25 | 102695 | macros/latex/contrib/colorist/colorist-doc.pdf
+2022/04/25 | 24343 | macros/latex/contrib/colorist/colorist-doc.tex
+2022/04/25 | 36696 | macros/latex/contrib/colorist/colorist-fancy.sty
+2022/04/25 | 4009 | macros/latex/contrib/colorist/colorist.sty
+2022/04/25 | 19106 | macros/latex/contrib/colorist/LICENSE
+2022/04/25 | 2422 | macros/latex/contrib/colorist/README.md
+2022/04/25 | 126569 | macros/latex/contrib/colorist.zip
2019/03/25 | 99243 | macros/latex/contrib/colorspace/colorspace.pdf
2016/10/04 | 15861 | macros/latex/contrib/colorspace/colorspaceshade.png
2019/03/25 | 21423 | macros/latex/contrib/colorspace/colorspace.sty
@@ -208940,12 +208946,12 @@
2022/04/24 | 19106 | macros/latex/contrib/create-theorem/LICENSE
2022/04/24 | 676 | macros/latex/contrib/create-theorem/README.md
2022/04/24 | 141562 | macros/latex/contrib/create-theorem.zip
-2022/03/01 | 116473 | macros/latex/contrib/crefthe/crefthe-doc.pdf
-2022/03/01 | 10806 | macros/latex/contrib/crefthe/crefthe-doc.tex
-2022/03/01 | 10206 | macros/latex/contrib/crefthe/crefthe.sty
-2022/03/01 | 19106 | macros/latex/contrib/crefthe/LICENSE
-2022/03/01 | 2796 | macros/latex/contrib/crefthe/README.md
-2022/03/01 | 128576 | macros/latex/contrib/crefthe.zip
+2022/04/25 | 115700 | macros/latex/contrib/crefthe/crefthe-doc.pdf
+2022/04/25 | 11343 | macros/latex/contrib/crefthe/crefthe-doc.tex
+2022/04/25 | 10210 | macros/latex/contrib/crefthe/crefthe.sty
+2022/04/25 | 19106 | macros/latex/contrib/crefthe/LICENSE
+2022/04/25 | 2796 | macros/latex/contrib/crefthe/README.md
+2022/04/25 | 128285 | macros/latex/contrib/crefthe.zip
2020/06/05 | 67341 | macros/latex/contrib/crop/crop.dtx
2020/06/05 | 260 | macros/latex/contrib/crop/crop.ins
2020/06/05 | 327371 | macros/latex/contrib/crop/crop.pdf
@@ -213762,12 +213768,13 @@
2020/01/02 | 440535 | macros/latex/contrib/geometry/geometry.pdf
2020/01/02 | 2481 | macros/latex/contrib/geometry/README.md
2020/01/02 | 978656 | macros/latex/contrib/geometry.zip
-2021/08/11 | 75653 | macros/latex/contrib/geradwp/geradwp.dtx
-2021/08/11 | 503393 | macros/latex/contrib/geradwp/geradwp-fr.pdf
-2021/05/03 | 2167 | macros/latex/contrib/geradwp/geradwp.ins
-2021/08/11 | 460925 | macros/latex/contrib/geradwp/geradwp.pdf
-2021/08/11 | 3104 | macros/latex/contrib/geradwp/README.md
-2021/08/12 | 980833 | macros/latex/contrib/geradwp.zip
+2022/04/25 | 87178 | macros/latex/contrib/geradwp/geradwp.dtx
+2022/04/25 | 552691 | macros/latex/contrib/geradwp/geradwp-fr.pdf
+2022/01/18 | 2103 | macros/latex/contrib/geradwp/geradwp.ins
+2022/04/25 | 520868 | macros/latex/contrib/geradwp/geradwp.pdf
+2021/05/03 | 19106 | macros/latex/contrib/geradwp/LICENSE.txt
+2021/12/07 | 3104 | macros/latex/contrib/geradwp/README.md
+2022/04/25 | 1079161 | macros/latex/contrib/geradwp.zip
1993/11/28 | 17982 | macros/latex/contrib/germkorr/COPYING
2009/07/27 | 172344 | macros/latex/contrib/germkorr/germkorr.pdf
2009/07/26 | 5730 | macros/latex/contrib/germkorr/germkorr.sty
@@ -215524,12 +215531,12 @@
2017/12/12 | 3708 | macros/latex/contrib/hvindex/latex/hvindex.sty
2017/12/12 | 724 | macros/latex/contrib/hvindex/README
2017/12/12 | 77756 | macros/latex/contrib/hvindex.zip
-2022/02/28 | 511 | macros/latex/contrib/hvlogos/Changes
-2022/02/28 | 86065 | macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf
-2022/01/11 | 5289 | macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex
-2022/02/28 | 6705 | macros/latex/contrib/hvlogos/latex/hvlogos.sty
-2022/02/28 | 244 | macros/latex/contrib/hvlogos/README
-2022/02/28 | 88462 | macros/latex/contrib/hvlogos.zip
+2022/04/25 | 523 | macros/latex/contrib/hvlogos/Changes
+2022/04/25 | 86119 | macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf
+2022/04/25 | 5357 | macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex
+2022/04/25 | 6783 | macros/latex/contrib/hvlogos/latex/hvlogos.sty
+2021/07/30 | 244 | macros/latex/contrib/hvlogos/README
+2022/04/25 | 88559 | macros/latex/contrib/hvlogos.zip
2022/03/03 | 37 | macros/latex/contrib/hvpygmentex/Changes
2022/03/03 | 21465 | macros/latex/contrib/hvpygmentex/doc/hvpygmentex.pdf
2022/03/03 | 1820 | macros/latex/contrib/hvpygmentex/doc/hvpygmentex.tex
@@ -219157,16 +219164,16 @@
2017/04/11 | 187597 | macros/latex/contrib/minidocument/minidocument.pdf
2017/04/11 | 698 | macros/latex/contrib/minidocument/README
2017/04/11 | 190869 | macros/latex/contrib/minidocument.zip
-2022/04/21 | 19106 | macros/latex/contrib/minimalist/LICENSE
-2022/04/21 | 38231 | macros/latex/contrib/minimalist/minimalist-classical.sty
-2022/04/21 | 103724 | macros/latex/contrib/minimalist/minimalist-doc.pdf
-2022/04/21 | 24686 | macros/latex/contrib/minimalist/minimalist-doc.tex
-2022/04/21 | 36043 | macros/latex/contrib/minimalist/minimalist-plain.sty
-2022/04/21 | 4893 | macros/latex/contrib/minimalist/minimalist.sty
-2022/04/21 | 6600 | macros/latex/contrib/minimalist/minimart.cls
-2022/04/21 | 6597 | macros/latex/contrib/minimalist/minimbook.cls
-2022/04/21 | 2537 | macros/latex/contrib/minimalist/README.md
-2022/04/21 | 133200 | macros/latex/contrib/minimalist.zip
+2022/04/25 | 19106 | macros/latex/contrib/minimalist/LICENSE
+2022/04/25 | 36895 | macros/latex/contrib/minimalist/minimalist-classical.sty
+2022/04/25 | 104110 | macros/latex/contrib/minimalist/minimalist-doc.pdf
+2022/04/25 | 24686 | macros/latex/contrib/minimalist/minimalist-doc.tex
+2022/04/25 | 34717 | macros/latex/contrib/minimalist/minimalist-plain.sty
+2022/04/25 | 4893 | macros/latex/contrib/minimalist/minimalist.sty
+2022/04/25 | 7228 | macros/latex/contrib/minimalist/minimart.cls
+2022/04/25 | 7225 | macros/latex/contrib/minimalist/minimbook.cls
+2022/04/25 | 2537 | macros/latex/contrib/minimalist/README.md
+2022/04/25 | 133416 | macros/latex/contrib/minimalist.zip
2008/04/07 | 14406 | macros/latex/contrib/minipage-marginpar/minipage-marginpar.dtx
2008/04/07 | 2167 | macros/latex/contrib/minipage-marginpar/minipage-marginpar.ins
2008/04/07 | 197917 | macros/latex/contrib/minipage-marginpar/minipage-marginpar.pdf
@@ -223010,16 +223017,16 @@
2003/07/02 | 9461 | macros/latex/contrib/progress/progress.tex
2003/07/02 | 413 | macros/latex/contrib/progress/README
2006/05/20 | 88703 | macros/latex/contrib/progress.zip
-2022/04/21 | 19106 | macros/latex/contrib/projlib/LICENSE
-2022/04/21 | 322407 | macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
-2022/04/21 | 98208 | macros/latex/contrib/projlib/ProjLib-doc.dtx
-2022/04/21 | 200297 | macros/latex/contrib/projlib/ProjLib-doc-en.pdf
-2022/04/21 | 201834 | macros/latex/contrib/projlib/ProjLib-doc-fr.pdf
-2022/04/21 | 857 | macros/latex/contrib/projlib/ProjLib-doc.ins
-2022/04/21 | 196422 | macros/latex/contrib/projlib/ProjLib.dtx
-2022/04/21 | 3229 | macros/latex/contrib/projlib/ProjLib.ins
-2022/04/21 | 4880 | macros/latex/contrib/projlib/README.md
-2022/04/21 | 777071 | macros/latex/contrib/projlib.zip
+2022/04/25 | 19106 | macros/latex/contrib/projlib/LICENSE
+2022/04/25 | 322407 | macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
+2022/04/25 | 98208 | macros/latex/contrib/projlib/ProjLib-doc.dtx
+2022/04/25 | 200297 | macros/latex/contrib/projlib/ProjLib-doc-en.pdf
+2022/04/25 | 201834 | macros/latex/contrib/projlib/ProjLib-doc-fr.pdf
+2022/04/25 | 857 | macros/latex/contrib/projlib/ProjLib-doc.ins
+2022/04/25 | 203000 | macros/latex/contrib/projlib/ProjLib.dtx
+2022/04/25 | 3229 | macros/latex/contrib/projlib/ProjLib.ins
+2022/04/25 | 4932 | macros/latex/contrib/projlib/README.md
+2022/04/25 | 777717 | macros/latex/contrib/projlib.zip
2022/02/07 | 121559 | macros/latex/contrib/proof-at-the-end/proof-at-the-end_demo.pdf
2022/02/07 | 10484 | macros/latex/contrib/proof-at-the-end/proof-at-the-end_demo.tex
2022/02/07 | 84168 | macros/latex/contrib/proof-at-the-end/proof-at-the-end.dtx
@@ -225602,33 +225609,33 @@
2007/12/02 | 2971 | macros/latex/contrib/SIunits/SIunits.ins
2007/12/02 | 328621 | macros/latex/contrib/SIunits/SIunits.pdf
2007/12/02 | 296391 | macros/latex/contrib/SIunits.zip
-2022/04/04 | 65393 | macros/latex/contrib/siunitx/CHANGELOG.md
-2022/04/04 | 996 | macros/latex/contrib/siunitx/README.md
-2022/04/04 | 10106 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2022/04/04 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
-2022/04/04 | 16709 | macros/latex/contrib/siunitx/siunitx-angle.dtx
-2022/04/04 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
-2022/04/04 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
-2022/04/04 | 608331 | macros/latex/contrib/siunitx/siunitx-code.pdf
-2022/04/04 | 2492 | macros/latex/contrib/siunitx/siunitx-code.tex
-2022/04/04 | 8798 | macros/latex/contrib/siunitx/siunitx-command.dtx
-2022/04/04 | 25985 | macros/latex/contrib/siunitx/siunitx-complex.dtx
-2022/04/04 | 33799 | macros/latex/contrib/siunitx/siunitx-compound.dtx
-2022/04/04 | 19900 | macros/latex/contrib/siunitx/siunitx.dtx
-2022/04/04 | 31735 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
-2022/04/04 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
-2022/04/04 | 5259 | macros/latex/contrib/siunitx/siunitx-locale.dtx
-2022/04/04 | 124008 | macros/latex/contrib/siunitx/siunitx-number.dtx
-2022/04/04 | 640392 | macros/latex/contrib/siunitx/siunitx.pdf
-2022/04/04 | 34543 | macros/latex/contrib/siunitx/siunitx-print.dtx
-2022/04/04 | 15317 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
-2022/04/04 | 9759 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
-2022/04/04 | 50881 | macros/latex/contrib/siunitx/siunitx-table.dtx
-2022/04/04 | 149431 | macros/latex/contrib/siunitx/siunitx.tex
-2022/04/04 | 98548 | macros/latex/contrib/siunitx/siunitx-unit.dtx
-2022/04/04 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
-2022/04/04 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
-2022/04/04 | 1424629 | macros/latex/contrib/siunitx.zip
+2022/04/25 | 67339 | macros/latex/contrib/siunitx/CHANGELOG.md
+2022/04/25 | 996 | macros/latex/contrib/siunitx/README.md
+2022/04/25 | 10812 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+2022/04/25 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
+2022/04/25 | 16709 | macros/latex/contrib/siunitx/siunitx-angle.dtx
+2022/04/25 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
+2022/04/25 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
+2022/04/25 | 617919 | macros/latex/contrib/siunitx/siunitx-code.pdf
+2022/04/25 | 2620 | macros/latex/contrib/siunitx/siunitx-code.tex
+2022/04/25 | 8798 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2022/04/25 | 37954 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2022/04/25 | 33799 | macros/latex/contrib/siunitx/siunitx-compound.dtx
+2022/04/25 | 21683 | macros/latex/contrib/siunitx/siunitx.dtx
+2022/04/25 | 32341 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2022/04/25 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
+2022/04/25 | 5481 | macros/latex/contrib/siunitx/siunitx-locale.dtx
+2022/04/25 | 145363 | macros/latex/contrib/siunitx/siunitx-number.dtx
+2022/04/25 | 663038 | macros/latex/contrib/siunitx/siunitx.pdf
+2022/04/25 | 35916 | macros/latex/contrib/siunitx/siunitx-print.dtx
+2022/04/25 | 15317 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
+2022/04/25 | 9759 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
+2022/04/25 | 50881 | macros/latex/contrib/siunitx/siunitx-table.dtx
+2022/04/25 | 158390 | macros/latex/contrib/siunitx/siunitx.tex
+2022/04/25 | 103458 | macros/latex/contrib/siunitx/siunitx-unit.dtx
+2022/04/25 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
+2022/04/25 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
+2022/04/25 | 1466050 | macros/latex/contrib/siunitx.zip
2011/06/03 | 662398 | macros/latex/contrib/skb/doc/skb.pdf
2011/03/15 | 1485 | macros/latex/contrib/skb/doc/user-guide/database/acronyms.tex
2011/03/15 | 722 | macros/latex/contrib/skb/doc/user-guide/database/bibliography.tex
@@ -229190,60 +229197,60 @@
2010/12/07 | 1604 | macros/latex/contrib/tucv/tucv.ins
2010/12/07 | 180557 | macros/latex/contrib/tucv/tucv.pdf
2010/12/06 | 260987 | macros/latex/contrib/tucv.zip
-2022/04/20 | 551791 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
-2022/04/20 | 598742 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
-2022/04/20 | 571481 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
-2022/04/20 | 559870 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
-2022/04/20 | 567048 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
-2022/04/20 | 635708 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
-2022/04/20 | 536007 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
-2022/04/20 | 662266 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
-2022/04/20 | 527056 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
-2022/04/20 | 563716 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
-2022/04/20 | 627482 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
-2022/04/20 | 3175 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
-2022/04/20 | 7336 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
-2022/04/20 | 2644 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
-2022/04/20 | 16613 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
-2022/04/20 | 3871 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
-2022/04/20 | 6881 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
-2022/04/20 | 5391 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
-2022/04/20 | 28056 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
-2022/04/20 | 5859 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
-2022/04/20 | 29286 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
-2022/04/20 | 2350 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
-2022/04/20 | 8887 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
-2022/04/20 | 28156 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
-2022/04/20 | 16948 | macros/latex/contrib/tuda-ci/README.md
-2022/04/20 | 3815 | macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
-2022/04/20 | 2180 | macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
-2022/04/20 | 8579 | macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
-2022/04/20 | 9383 | macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
-2022/04/20 | 10078 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
-2022/04/20 | 2172 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
-2022/04/20 | 1685 | macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
-2022/04/20 | 1684 | macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
-2022/04/20 | 1680 | macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
-2022/04/20 | 1682 | macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
-2022/04/20 | 1684 | macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
-2022/04/20 | 1686 | macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
-2022/04/20 | 6673 | macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
-2022/04/20 | 4441 | macros/latex/contrib/tuda-ci/tex/tudacolors.def
-2022/04/20 | 5817 | macros/latex/contrib/tuda-ci/tex/tudacolors.sty
-2022/04/20 | 32571 | macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
-2022/04/20 | 3287 | macros/latex/contrib/tuda-ci/tex/tudafonts.sty
-2022/04/20 | 13710 | macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
-2022/04/20 | 16690 | macros/latex/contrib/tuda-ci/tex/tudaletter.cls
-2022/04/20 | 5381 | macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
-2022/04/20 | 9622 | macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
-2022/04/20 | 4328 | macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
-2022/04/20 | 19585 | macros/latex/contrib/tuda-ci/tex/tudaposter.cls
-2022/04/20 | 43014 | macros/latex/contrib/tuda-ci/tex/tudapub.cls
-2022/04/20 | 6365 | macros/latex/contrib/tuda-ci/tex/tudarules.sty
-2022/04/20 | 19113 | macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
-2022/04/20 | 5433 | macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
-2022/04/20 | 31766 | macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
-2022/04/20 | 6442552 | macros/latex/contrib/tuda-ci.zip
+2022/04/25 | 551988 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
+2022/04/25 | 598742 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
+2022/04/25 | 571481 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
+2022/04/25 | 559870 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
+2022/04/25 | 567048 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
+2022/04/25 | 635719 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
+2022/04/25 | 536186 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
+2022/04/25 | 662283 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
+2022/04/25 | 527257 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
+2022/04/25 | 574998 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
+2022/04/25 | 627487 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
+2022/04/25 | 3175 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
+2022/04/25 | 7336 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
+2022/04/25 | 2644 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
+2022/04/25 | 16613 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
+2022/04/25 | 3871 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
+2022/04/25 | 6881 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
+2022/04/25 | 5391 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
+2022/04/25 | 28056 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
+2022/04/25 | 5859 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
+2022/04/25 | 29286 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
+2022/04/25 | 2350 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
+2022/04/25 | 8887 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
+2022/04/25 | 28156 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
+2022/04/25 | 17089 | macros/latex/contrib/tuda-ci/README.md
+2022/04/25 | 3815 | macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
+2022/04/25 | 2180 | macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
+2022/04/25 | 8579 | macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
+2022/04/25 | 9383 | macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
+2022/04/25 | 10078 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
+2022/04/25 | 2172 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
+2022/04/25 | 1685 | macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
+2022/04/25 | 1684 | macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
+2022/04/25 | 1680 | macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
+2022/04/25 | 1682 | macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
+2022/04/25 | 1684 | macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
+2022/04/25 | 1686 | macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
+2022/04/25 | 6928 | macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
+2022/04/25 | 4441 | macros/latex/contrib/tuda-ci/tex/tudacolors.def
+2022/04/25 | 5890 | macros/latex/contrib/tuda-ci/tex/tudacolors.sty
+2022/04/25 | 32797 | macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
+2022/04/25 | 3287 | macros/latex/contrib/tuda-ci/tex/tudafonts.sty
+2022/04/25 | 13936 | macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
+2022/04/25 | 16916 | macros/latex/contrib/tuda-ci/tex/tudaletter.cls
+2022/04/25 | 5381 | macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
+2022/04/25 | 9684 | macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
+2022/04/25 | 4328 | macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
+2022/04/25 | 19811 | macros/latex/contrib/tuda-ci/tex/tudaposter.cls
+2022/04/25 | 43144 | macros/latex/contrib/tuda-ci/tex/tudapub.cls
+2022/04/25 | 6315 | macros/latex/contrib/tuda-ci/tex/tudarules.sty
+2022/04/25 | 19461 | macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
+2022/04/25 | 5433 | macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
+2022/04/25 | 31766 | macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
+2022/04/25 | 6454498 | macros/latex/contrib/tuda-ci.zip
2021/07/15 | 1108 | macros/latex/contrib/tudscr/doc/LICENSE.md
2021/07/15 | 1149093 | macros/latex/contrib/tudscr/doc/tudscr.pdf
2021/07/15 | 1133767 | macros/latex/contrib/tudscr/doc/tudscr_print.pdf
@@ -241892,16 +241899,16 @@
2021/12/09 | 28920 | macros/unicodetex/latex/aalok/LICENSE.md
2021/12/16 | 2370 | macros/unicodetex/latex/aalok/README.txt
2022/01/02 | 188424 | macros/unicodetex/latex/aalok.zip
-2022/04/21 | 28249 | macros/unicodetex/latex/beaulivre/beaulivre.cls
-2022/04/21 | 320007 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
-2022/04/21 | 19024 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
-2022/04/21 | 208615 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
-2022/04/21 | 20474 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
-2022/04/21 | 213449 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
-2022/04/21 | 22200 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
-2022/04/21 | 19106 | macros/unicodetex/latex/beaulivre/LICENSE
-2022/04/21 | 1458 | macros/unicodetex/latex/beaulivre/README.md
-2022/04/21 | 749716 | macros/unicodetex/latex/beaulivre.zip
+2022/04/25 | 28877 | macros/unicodetex/latex/beaulivre/beaulivre.cls
+2022/04/25 | 322112 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
+2022/04/25 | 19024 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
+2022/04/25 | 209159 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
+2022/04/25 | 20474 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
+2022/04/25 | 212849 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
+2022/04/25 | 22200 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
+2022/04/25 | 19106 | macros/unicodetex/latex/beaulivre/LICENSE
+2022/04/25 | 1458 | macros/unicodetex/latex/beaulivre/README.md
+2022/04/25 | 752315 | macros/unicodetex/latex/beaulivre.zip
2022/02/26 | 128251 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.pdf
2022/02/26 | 6771 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.sty
2022/02/26 | 17327 | macros/unicodetex/latex/book-of-common-prayer/book-of-common-prayer.tex
@@ -241917,16 +241924,16 @@
2021/12/09 | 1086 | macros/unicodetex/latex/chhaya/ref.bib
2021/12/09 | 6165 | macros/unicodetex/latex/chhaya/sankshep.tex
2022/01/02 | 134099 | macros/unicodetex/latex/chhaya.zip
-2022/04/21 | 29109 | macros/unicodetex/latex/einfart/einfart.cls
-2022/04/21 | 249232 | macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
-2022/04/21 | 21225 | macros/unicodetex/latex/einfart/einfart-doc-cn.tex
-2022/04/21 | 154559 | macros/unicodetex/latex/einfart/einfart-doc-en.pdf
-2022/04/21 | 22292 | macros/unicodetex/latex/einfart/einfart-doc-en.tex
-2022/04/21 | 159934 | macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
-2022/04/21 | 24178 | macros/unicodetex/latex/einfart/einfart-doc-fr.tex
-2022/04/21 | 19106 | macros/unicodetex/latex/einfart/LICENSE
-2022/04/21 | 1478 | macros/unicodetex/latex/einfart/README.md
-2022/04/21 | 583355 | macros/unicodetex/latex/einfart.zip
+2022/04/25 | 29737 | macros/unicodetex/latex/einfart/einfart.cls
+2022/04/25 | 251176 | macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
+2022/04/25 | 21225 | macros/unicodetex/latex/einfart/einfart-doc-cn.tex
+2022/04/25 | 155072 | macros/unicodetex/latex/einfart/einfart-doc-en.pdf
+2022/04/25 | 22292 | macros/unicodetex/latex/einfart/einfart-doc-en.tex
+2022/04/25 | 160385 | macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
+2022/04/25 | 24178 | macros/unicodetex/latex/einfart/einfart-doc-fr.tex
+2022/04/25 | 19106 | macros/unicodetex/latex/einfart/LICENSE
+2022/04/25 | 1478 | macros/unicodetex/latex/einfart/README.md
+2022/04/25 | 586320 | macros/unicodetex/latex/einfart.zip
2022/03/06 | 566517 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.pdf
2022/03/06 | 19104 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex
2021/12/09 | 27714 | macros/unicodetex/latex/fontsetup/doc/fspsample-cmr.pdf
@@ -242026,16 +242033,16 @@
2022/01/15 | 19106 | macros/unicodetex/latex/fontspec/LICENSE
2022/01/15 | 2835 | macros/unicodetex/latex/fontspec/README.md
2022/01/15 | 1342043 | macros/unicodetex/latex/fontspec.zip
-2022/04/21 | 28245 | macros/unicodetex/latex/lebhart/lebhart.cls
-2022/04/21 | 266891 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
-2022/04/21 | 20571 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
-2022/04/21 | 147325 | macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
-2022/04/21 | 22018 | macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
-2022/04/21 | 150838 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
-2022/04/21 | 23898 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
-2022/04/21 | 19106 | macros/unicodetex/latex/lebhart/LICENSE
-2022/04/21 | 1460 | macros/unicodetex/latex/lebhart/README.md
-2022/04/21 | 586566 | macros/unicodetex/latex/lebhart.zip
+2022/04/25 | 28873 | macros/unicodetex/latex/lebhart/lebhart.cls
+2022/04/25 | 269138 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
+2022/04/25 | 20571 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
+2022/04/25 | 147743 | macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
+2022/04/25 | 22018 | macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
+2022/04/25 | 151300 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
+2022/04/25 | 23898 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
+2022/04/25 | 19106 | macros/unicodetex/latex/lebhart/LICENSE
+2022/04/25 | 1460 | macros/unicodetex/latex/lebhart/README.md
+2022/04/25 | 589849 | macros/unicodetex/latex/lebhart.zip
2020/09/29 | 6586 | macros/unicodetex/latex/lilyglyphs/CHANGES.md
2020/09/29 | 38525 | macros/unicodetex/latex/lilyglyphs/documentation/lilyglyphs-example-400.png
2020/09/29 | 78141 | macros/unicodetex/latex/lilyglyphs/documentation/lilyglyphs-example-600.png
@@ -242289,16 +242296,16 @@
2016/02/13 | 1755 | macros/unicodetex/latex/realscripts/realscripts.ins
2016/02/13 | 106569 | macros/unicodetex/latex/realscripts/realscripts.pdf
2016/02/13 | 108915 | macros/unicodetex/latex/realscripts.zip
-2022/04/21 | 19106 | macros/unicodetex/latex/simplivre/LICENSE
-2022/04/21 | 1475 | macros/unicodetex/latex/simplivre/README.md
-2022/04/21 | 29113 | macros/unicodetex/latex/simplivre/simplivre.cls
-2022/04/21 | 335280 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
-2022/04/21 | 19929 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
-2022/04/21 | 229949 | macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
-2022/04/21 | 20973 | macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
-2022/04/21 | 230162 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
-2022/04/21 | 22788 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
-2022/04/21 | 803210 | macros/unicodetex/latex/simplivre.zip
+2022/04/25 | 19106 | macros/unicodetex/latex/simplivre/LICENSE
+2022/04/25 | 1475 | macros/unicodetex/latex/simplivre/README.md
+2022/04/25 | 29741 | macros/unicodetex/latex/simplivre/simplivre.cls
+2022/04/25 | 337254 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
+2022/04/25 | 19929 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
+2022/04/25 | 230651 | macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
+2022/04/25 | 20973 | macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
+2022/04/25 | 230716 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
+2022/04/25 | 22788 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
+2022/04/25 | 806552 | macros/unicodetex/latex/simplivre.zip
2021/02/09 | 13142 | macros/unicodetex/latex/texnegar/doc-ligature-texnegar.pdf
2021/02/09 | 10117 | macros/unicodetex/latex/texnegar/doc-ligature-xep.pdf
2021/02/09 | 63437 | macros/unicodetex/latex/texnegar/doc-samples-glyph.pdf
@@ -272823,7 +272830,7 @@
2021/05/03 | 629 | support/TeX4ht/doc/README
2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex
2021/05/11 | 262 | support/TeX4ht/README
-2022/04/19 | 189153 | support/TeX4ht/source/ChangeLog
+2022/04/24 | 189313 | support/TeX4ht/source/ChangeLog
2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua
2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex
2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex
@@ -272835,7 +272842,7 @@
2021/05/03 | 1121 | support/TeX4ht/source/README
2021/05/03 | 1744 | support/TeX4ht/source/t1fontmake.lua
2021/05/03 | 297 | support/TeX4ht/source/t1fontsample.tex
-2022/04/17 | 1114392 | support/TeX4ht/source/tex4ht-4ht.tex
+2022/04/24 | 1114593 | support/TeX4ht/source/tex4ht-4ht.tex
2021/05/03 | 7127 | support/TeX4ht/source/tex4ht-auto-script.tex
2021/05/16 | 1539 | support/TeX4ht/source/tex4ht-bibtex2.tex
2021/05/03 | 21247 | support/TeX4ht/source/tex4ht-cond4ht.tex
@@ -274116,10 +274123,10 @@
2007/07/22 | 600 | support/wp2latex/readme.1st
2021/08/01 | 7401 | support/wp2latex/readme.txt
2020/02/11 | 305310 | support/wp2latex/wp2latex-3.87.deb
-2020/05/11 | 3572898 | support/wp2latex/wp2latex-3.90.zip
+2020/07/05 | 3620868 | support/wp2latex/wp2latex-3.91.zip
2018/01/26 | 45297 | support/wp2latex/wp2latex.doc.htm
2018/01/26 | 7259 | support/wp2latex/wp2latex.faq
-2020/05/11 | 1635695 | support/wp2latex/WP2LaTeX_Installer-3.90b.exe
+2020/07/05 | 1638944 | support/wp2latex/WP2LaTeX_Installer-3.91.exe
2021/08/01 | 1241 | support/wp2latex/wp2latex.lsm
2018/01/26 | 35145 | support/wp2latex/wp2latex_pas-2.3.zip
2000/02/22 | 481 | support/wsuipa2tipa/README
@@ -278401,8 +278408,8 @@
2019/02/28 | 676044 | systems/texlive/tlnet/archive/celtic.doc.r39797.tar.xz
2019/02/28 | 3780 | systems/texlive/tlnet/archive/celtic.r39797.tar.xz
2019/02/28 | 8344 | systems/texlive/tlnet/archive/celtic.source.r39797.tar.xz
-2022/04/24 | 211548 | systems/texlive/tlnet/archive/censor.doc.r63116.tar.xz
-2022/04/24 | 2384 | systems/texlive/tlnet/archive/censor.r63116.tar.xz
+2022/04/25 | 234832 | systems/texlive/tlnet/archive/censor.doc.r63126.tar.xz
+2022/04/25 | 3004 | systems/texlive/tlnet/archive/censor.r63126.tar.xz
2019/05/04 | 1288 | systems/texlive/tlnet/archive/centeredline.doc.r50971.tar.xz
2019/05/04 | 1168 | systems/texlive/tlnet/archive/centeredline.r50971.tar.xz
2020/10/13 | 227760 | systems/texlive/tlnet/archive/centerlastline.doc.r56644.tar.xz
@@ -279193,8 +279200,8 @@
2020/06/24 | 31152 | systems/texlive/tlnet/archive/cquthesis.source.r55643.tar.xz
2019/02/28 | 29448 | systems/texlive/tlnet/archive/crbox.doc.r29803.tar.xz
2019/02/28 | 1544 | systems/texlive/tlnet/archive/crbox.r29803.tar.xz
-2022/04/18 | 129976 | systems/texlive/tlnet/archive/create-theorem.doc.r63059.tar.xz
-2022/04/18 | 8880 | systems/texlive/tlnet/archive/create-theorem.r63059.tar.xz
+2022/04/25 | 130688 | systems/texlive/tlnet/archive/create-theorem.doc.r63120.tar.xz
+2022/04/25 | 9320 | systems/texlive/tlnet/archive/create-theorem.r63120.tar.xz
2022/03/03 | 125188 | systems/texlive/tlnet/archive/crefthe.doc.r62349.tar.xz
2022/03/03 | 2896 | systems/texlive/tlnet/archive/crefthe.r62349.tar.xz
2020/03/24 | 34244 | systems/texlive/tlnet/archive/crimson.doc.r54512.tar.xz
@@ -280238,9 +280245,9 @@
2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz
2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz
2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz
-2022/04/24 | 613716 | systems/texlive/tlnet/archive/easybook.doc.r63116.tar.xz
-2022/04/24 | 16536 | systems/texlive/tlnet/archive/easybook.r63116.tar.xz
-2022/04/24 | 16456 | systems/texlive/tlnet/archive/easybook.source.r63116.tar.xz
+2022/04/25 | 613668 | systems/texlive/tlnet/archive/easybook.doc.r63121.tar.xz
+2022/04/25 | 16528 | systems/texlive/tlnet/archive/easybook.r63121.tar.xz
+2022/04/25 | 16440 | systems/texlive/tlnet/archive/easybook.source.r63121.tar.xz
2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz
2020/09/08 | 175976 | systems/texlive/tlnet/archive/easyfig.doc.r56291.tar.xz
2020/09/08 | 1936 | systems/texlive/tlnet/archive/easyfig.r56291.tar.xz
@@ -283772,9 +283779,9 @@
2021/01/08 | 3476 | systems/texlive/tlnet/archive/lua-visual-debug.r57349.tar.xz
2021/03/04 | 95132 | systems/texlive/tlnet/archive/luavlna.doc.r58087.tar.xz
2021/03/04 | 7628 | systems/texlive/tlnet/archive/luavlna.r58087.tar.xz
-2022/04/15 | 352680 | systems/texlive/tlnet/archive/lua-widow-control.doc.r63026.tar.xz
-2022/04/15 | 11016 | systems/texlive/tlnet/archive/lua-widow-control.r63026.tar.xz
-2022/04/15 | 13788 | systems/texlive/tlnet/archive/lua-widow-control.source.r63026.tar.xz
+2022/04/25 | 351268 | systems/texlive/tlnet/archive/lua-widow-control.doc.r63125.tar.xz
+2022/04/25 | 11064 | systems/texlive/tlnet/archive/lua-widow-control.r63125.tar.xz
+2022/04/25 | 13788 | systems/texlive/tlnet/archive/lua-widow-control.source.r63125.tar.xz
2021/10/08 | 123428 | systems/texlive/tlnet/archive/luaxml.doc.r60709.tar.xz
2021/10/08 | 32276 | systems/texlive/tlnet/archive/luaxml.r60709.tar.xz
2022/04/17 | 77724 | systems/texlive/tlnet/archive/lutabulartools.doc.r63043.tar.xz
@@ -286700,8 +286707,8 @@
2019/02/28 | 9372 | systems/texlive/tlnet/archive/recipecard.source.r15878.tar.xz
2020/03/04 | 23600 | systems/texlive/tlnet/archive/recipe.doc.r54080.tar.xz
2020/03/04 | 1956 | systems/texlive/tlnet/archive/recipe.r54080.tar.xz
-2021/04/05 | 122696 | systems/texlive/tlnet/archive/rec-thy.doc.r58732.tar.xz
-2021/04/05 | 15068 | systems/texlive/tlnet/archive/rec-thy.r58732.tar.xz
+2022/04/25 | 122776 | systems/texlive/tlnet/archive/rec-thy.doc.r63122.tar.xz
+2022/04/25 | 15248 | systems/texlive/tlnet/archive/rec-thy.r63122.tar.xz
2019/02/28 | 115552 | systems/texlive/tlnet/archive/rectopma.doc.r19980.tar.xz
2019/02/28 | 1628 | systems/texlive/tlnet/archive/rectopma.r19980.tar.xz
2019/02/28 | 768 | systems/texlive/tlnet/archive/recycle.doc.r15878.tar.xz
@@ -287878,14 +287885,14 @@
2022/02/27 | 108804 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r62206.tar.xz
2022/02/27 | 87364 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r62220.tar.xz
2022/04/21 | 69948 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r63092.tar.xz
-2022/04/20 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r63082.tar.xz
+2022/04/25 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r63127.tar.xz
2022/03/01 | 58328 | systems/texlive/tlnet/archive/tex4ht.i386-cygwin.r62282.tar.xz
2022/02/27 | 93760 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r62206.tar.xz
2022/02/27 | 91280 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r62210.tar.xz
2022/02/27 | 76200 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r62220.tar.xz
2022/02/27 | 83964 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r62206.tar.xz
-2022/04/20 | 950936 | systems/texlive/tlnet/archive/tex4ht.r63082.tar.xz
-2022/04/20 | 1250500 | systems/texlive/tlnet/archive/tex4ht.source.r63082.tar.xz
+2022/04/25 | 951020 | systems/texlive/tlnet/archive/tex4ht.r63127.tar.xz
+2022/04/25 | 1249404 | systems/texlive/tlnet/archive/tex4ht.source.r63127.tar.xz
2022/02/28 | 184748 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r62258.tar.xz
2022/02/27 | 57768 | systems/texlive/tlnet/archive/tex4ht.win32.r62199.tar.xz
2022/03/01 | 58016 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r62279.tar.xz
@@ -288120,7 +288127,7 @@
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz
-2022/04/24 | 406208 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63109.tar.xz
+2022/04/25 | 406212 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63118.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -288144,7 +288151,7 @@
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz
-2022/04/24 | 109724 | systems/texlive/tlnet/archive/texlive-scripts.r63109.tar.xz
+2022/04/25 | 109732 | systems/texlive/tlnet/archive/texlive-scripts.r63118.tar.xz
2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz
2022/04/19 | 36296 | systems/texlive/tlnet/archive/texlive-scripts.win32.r63068.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
@@ -289194,8 +289201,8 @@
2019/02/28 | 69108 | systems/texlive/tlnet/archive/ushort.doc.r32261.tar.xz
2019/02/28 | 1656 | systems/texlive/tlnet/archive/ushort.r32261.tar.xz
2019/02/28 | 9124 | systems/texlive/tlnet/archive/ushort.source.r32261.tar.xz
-2019/02/28 | 268848 | systems/texlive/tlnet/archive/uspace.doc.r42456.tar.xz
-2019/02/28 | 1112 | systems/texlive/tlnet/archive/uspace.r42456.tar.xz
+2022/04/25 | 292136 | systems/texlive/tlnet/archive/uspace.doc.r63123.tar.xz
+2022/04/25 | 1112 | systems/texlive/tlnet/archive/uspace.r63123.tar.xz
2019/02/28 | 2022300 | systems/texlive/tlnet/archive/uspatent.doc.r27744.tar.xz
2019/02/28 | 4824 | systems/texlive/tlnet/archive/uspatent.r27744.tar.xz
2019/02/28 | 2840 | systems/texlive/tlnet/archive/utexasthesis.doc.r48648.tar.xz
@@ -289936,9 +289943,9 @@
2022/04/08 | 668676 | systems/texlive/tlnet/archive/zref.doc.r62977.tar.xz
2022/04/08 | 14476 | systems/texlive/tlnet/archive/zref.r62977.tar.xz
2022/04/08 | 37216 | systems/texlive/tlnet/archive/zref.source.r62977.tar.xz
-2022/02/13 | 700632 | systems/texlive/tlnet/archive/zref-vario.doc.r61995.tar.xz
-2022/02/13 | 4040 | systems/texlive/tlnet/archive/zref-vario.r61995.tar.xz
-2022/02/13 | 6424 | systems/texlive/tlnet/archive/zref-vario.source.r61995.tar.xz
+2022/04/25 | 698604 | systems/texlive/tlnet/archive/zref-vario.doc.r63124.tar.xz
+2022/04/25 | 4028 | systems/texlive/tlnet/archive/zref-vario.r63124.tar.xz
+2022/04/25 | 6532 | systems/texlive/tlnet/archive/zref-vario.source.r63124.tar.xz
2019/02/28 | 246032 | systems/texlive/tlnet/archive/zwgetfdate.doc.r15878.tar.xz
2019/02/28 | 1384 | systems/texlive/tlnet/archive/zwgetfdate.r15878.tar.xz
2022/04/19 | 646716 | systems/texlive/tlnet/archive/zwpagelayout.doc.r63074.tar.xz
@@ -289954,16 +289961,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
2022/04/18 | 108451 | systems/texlive/tlnet/install-tl
-2022/04/24 | 5797743 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2022/04/24 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2022/04/24 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/04/25 | 5797740 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/04/25 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/04/25 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2022/04/24 | 20463949 | systems/texlive/tlnet/install-tl-windows.exe
-2022/04/24 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2022/04/24 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/04/24 | 25481699 | systems/texlive/tlnet/install-tl.zip
-2022/04/24 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/04/24 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/04/25 | 20464116 | systems/texlive/tlnet/install-tl-windows.exe
+2022/04/25 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/04/25 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/04/25 | 25481724 | systems/texlive/tlnet/install-tl.zip
+2022/04/25 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/04/25 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2022/04/03 | 1229 | systems/texlive/tlnet/README.md
2022/04/03 | 0 | systems/texlive/tlnet/TEXLIVE_2022
2022/02/28 | 7791 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -289973,7 +289980,7 @@
2022/02/28 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2022/01/12 | 49482 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2022/04/23 | 7262 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2022/04/24 | 7384 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/04/05 | 211170 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -290015,12 +290022,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2022/04/24 | 17266194 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2022/04/24 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/04/25 | 17266142 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/04/25 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2022/04/24 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2022/04/24 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/04/24 | 2368368 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/04/25 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/04/25 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/04/25 | 2368180 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/12/21 | 58848 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2022/04/18 | 42116 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -295209,7 +295216,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
-2022/04/24 | 645139 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/04/25 | 645139 | 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
@@ -296797,9 +296804,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2022/03/12 | 39680 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2022/03/29 | 43240 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/04/24 | 275573 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/04/24 | 1443219 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/04/24 | 1331689 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/04/25 | 275585 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/04/25 | 1442795 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/04/25 | 1332435 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2022/03/12 | 13516 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2022/03/29 | 14391 | 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
@@ -297023,191 +297030,191 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2022/04/24 | 645392 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/04/24 | 51557 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/04/24 | 57331 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/04/24 | 1021846 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2022/04/24 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/04/24 | 28797 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/04/24 | 31520 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/04/24 | 30146 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2022/04/24 | 35243 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/04/24 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2022/04/24 | 65055 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/04/24 | 86759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2022/04/24 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2022/04/24 | 68872 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2022/04/24 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/04/24 | 27247 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2022/04/24 | 31343 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/04/24 | 332413 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2022/04/24 | 394370 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/04/24 | 32955 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2022/04/24 | 37080 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2022/04/24 | 51484 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2022/04/24 | 57271 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/04/24 | 244961 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2022/04/24 | 270298 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/04/24 | 179878 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2022/04/24 | 196116 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2022/04/24 | 92918 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2022/04/24 | 103094 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2022/04/24 | 21315 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2022/04/24 | 24121 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/04/24 | 481498 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/04/24 | 46065 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/04/24 | 52092 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/04/24 | 285713 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/04/24 | 326661 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/04/24 | 41305 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/04/24 | 45825 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/04/24 | 120616 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2022/04/24 | 135378 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/04/24 | 1302483 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2022/04/24 | 1454765 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/04/24 | 99815 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/04/24 | 113051 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/04/24 | 43645 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2022/04/24 | 48827 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/04/24 | 25106 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/04/24 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/04/24 | 56993 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2022/04/24 | 63309 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/04/24 | 135948 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/04/24 | 155497 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/04/24 | 73478 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2022/04/24 | 78976 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/04/24 | 72014 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2022/04/24 | 81461 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2022/04/24 | 259256 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2022/04/24 | 296040 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2022/04/24 | 22146 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2022/04/24 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2022/04/24 | 97198 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2022/04/24 | 112589 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2022/04/24 | 64540 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/04/24 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/04/24 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2022/04/24 | 115656 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/04/24 | 38424 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2022/04/24 | 43824 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/04/24 | 484371 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2022/04/24 | 565929 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2022/04/24 | 203838 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
-2022/04/24 | 247333 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/04/24 | 152031 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2022/04/24 | 168819 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2022/04/24 | 95432 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/04/24 | 109479 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/04/24 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2022/04/24 | 18367 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/04/24 | 28421 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/04/24 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/04/24 | 631281 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/04/24 | 681941 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2022/04/24 | 532456 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2022/04/24 | 598230 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2022/04/24 | 477848 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2022/04/24 | 528018 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2022/04/24 | 93959 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2022/04/24 | 103337 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/04/24 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2022/04/24 | 1982085 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/04/24 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/04/24 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/04/24 | 27590 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2022/04/24 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2022/04/24 | 7753 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/04/24 | 8784 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/04/24 | 190503 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2022/04/24 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/04/24 | 251128 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/04/24 | 286412 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/04/24 | 99257 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2022/04/24 | 104557 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/04/24 | 126535 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2022/04/24 | 139101 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2022/04/24 | 288198 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/04/24 | 325270 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2022/04/24 | 199831 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2022/04/24 | 181516 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2022/04/24 | 49769 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2022/04/24 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/04/24 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/04/24 | 35168 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/04/24 | 38561 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2022/04/24 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/04/24 | 43361 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/04/24 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/04/24 | 45741 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/04/24 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/04/24 | 197036 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2022/04/24 | 213277 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/04/24 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2022/04/24 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/04/24 | 755742 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2022/04/24 | 824369 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/04/24 | 200397 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/04/24 | 202835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/04/24 | 210274 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2022/04/24 | 245098 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/04/24 | 79024 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2022/04/24 | 88152 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/04/24 | 1181125 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2022/04/24 | 1322743 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2022/04/24 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2022/04/24 | 23944 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/04/24 | 31586 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/04/24 | 37375 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/04/24 | 64708 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2022/04/24 | 72886 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/04/24 | 50800 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2022/04/24 | 58663 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/04/24 | 693065 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2022/04/24 | 758953 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/04/24 | 1357073 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/04/24 | 1501239 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2022/04/24 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2022/04/24 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/04/24 | 57619 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/04/24 | 63740 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/04/24 | 25552 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/04/24 | 27637 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/04/24 | 16560 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/04/24 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2022/04/24 | 64488 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2022/04/24 | 71006 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2022/04/24 | 156964 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2022/04/24 | 173008 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/04/24 | 58665 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/04/24 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/04/24 | 100486 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2022/04/24 | 107706 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2022/04/24 | 2694876 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2022/04/24 | 2820687 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/04/24 | 55286 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2022/04/24 | 62382 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2022/04/24 | 37117 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/04/24 | 41203 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/04/24 | 28688 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/04/24 | 34052 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2022/04/24 | 67706 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2022/04/24 | 73529 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/04/24 | 316242 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2022/04/24 | 351697 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/04/24 | 55756 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2022/04/24 | 57525 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/04/24 | 591572 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2022/04/24 | 629433 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/04/24 | 39728 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2022/04/24 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/04/24 | 275569 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/04/24 | 1443068 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/04/24 | 1331909 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/04/24 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2022/04/24 | 14411 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/04/25 | 645392 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/04/25 | 51557 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/04/25 | 57331 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/04/25 | 1021845 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/04/25 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/04/25 | 28797 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/04/25 | 31521 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/04/25 | 30145 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/04/25 | 35243 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/04/25 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/04/25 | 65057 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/04/25 | 86759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/04/25 | 95284 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/04/25 | 68873 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/04/25 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/04/25 | 27247 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/04/25 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/04/25 | 332413 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/04/25 | 394371 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/04/25 | 32955 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/04/25 | 37081 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/04/25 | 51483 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/04/25 | 57270 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/04/25 | 244959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/04/25 | 270300 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/04/25 | 179877 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/04/25 | 196117 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/04/25 | 92917 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/04/25 | 103093 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/04/25 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/04/25 | 24121 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/04/25 | 481498 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/04/25 | 46066 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/04/25 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/04/25 | 285714 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/04/25 | 326661 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/04/25 | 41305 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/04/25 | 45825 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/04/25 | 120616 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/04/25 | 135379 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/04/25 | 1302483 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/04/25 | 1454764 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/04/25 | 99817 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/04/25 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/04/25 | 43644 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/04/25 | 48825 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/04/25 | 25106 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/04/25 | 28569 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/04/25 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/04/25 | 63310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/04/25 | 135949 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/04/25 | 155496 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/04/25 | 73477 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/04/25 | 78975 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/04/25 | 72015 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/04/25 | 81462 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/04/25 | 259255 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/04/25 | 296039 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/04/25 | 22147 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/04/25 | 25060 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/04/25 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/04/25 | 112589 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/04/25 | 64544 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/04/25 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/04/25 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/04/25 | 115656 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/04/25 | 38426 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/04/25 | 43824 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/04/25 | 484371 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/04/25 | 565929 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/04/25 | 203838 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
+2022/04/25 | 247334 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/04/25 | 152031 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/04/25 | 168820 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/04/25 | 95433 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/04/25 | 109479 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/04/25 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/04/25 | 18368 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/04/25 | 28423 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/04/25 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/04/25 | 631280 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/04/25 | 681940 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/04/25 | 532456 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/04/25 | 598230 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/04/25 | 477847 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/04/25 | 528018 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/04/25 | 93960 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2022/04/25 | 103338 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/04/25 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/04/25 | 1982083 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/04/25 | 68010 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/04/25 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/04/25 | 27590 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/04/25 | 32133 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/04/25 | 7752 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/04/25 | 8784 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/04/25 | 190504 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/04/25 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/04/25 | 251129 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/04/25 | 286413 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/04/25 | 99255 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/04/25 | 104555 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/04/25 | 126534 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/04/25 | 139103 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/04/25 | 288199 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/04/25 | 325269 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/04/25 | 199831 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/04/25 | 181515 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/04/25 | 49769 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/04/25 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/04/25 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/04/25 | 35169 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/04/25 | 38560 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/04/25 | 43917 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/04/25 | 43361 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/04/25 | 47924 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/04/25 | 45742 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/04/25 | 52327 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/04/25 | 197035 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/04/25 | 213279 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/04/25 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/04/25 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/04/25 | 755743 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/04/25 | 824371 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/04/25 | 200396 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/04/25 | 202834 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/04/25 | 210270 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/04/25 | 245098 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/04/25 | 79025 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/04/25 | 88152 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/04/25 | 1181124 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/04/25 | 1322742 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/04/25 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/04/25 | 23944 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/04/25 | 31586 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/04/25 | 37372 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/04/25 | 64708 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/04/25 | 72885 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/04/25 | 50797 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/04/25 | 58662 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/04/25 | 693067 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/04/25 | 758953 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/04/25 | 1357074 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/04/25 | 1501237 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/04/25 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/04/25 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/04/25 | 57619 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/04/25 | 63741 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/04/25 | 25551 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/04/25 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/04/25 | 16560 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/04/25 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/04/25 | 64489 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/04/25 | 71003 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/04/25 | 156965 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/04/25 | 173007 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/04/25 | 58665 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/04/25 | 67252 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/04/25 | 100487 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2022/04/25 | 107706 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/04/25 | 2694877 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/04/25 | 2820687 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/04/25 | 55286 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/04/25 | 62380 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/04/25 | 37116 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/04/25 | 41203 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/04/25 | 28687 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/04/25 | 34051 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/04/25 | 67705 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/04/25 | 73528 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/04/25 | 316242 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/04/25 | 351697 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/04/25 | 55755 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/04/25 | 57525 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/04/25 | 591573 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/04/25 | 629431 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/04/25 | 39728 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/04/25 | 43225 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/04/25 | 275665 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/04/25 | 1443288 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/04/25 | 1331637 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/04/25 | 13513 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/04/25 | 14411 | 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
-2022/04/24 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/04/25 | 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
@@ -297676,7 +297683,7 @@
2022/02/22 | 6917 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2022/04/24 | 994 | systems/win32/miktex/tm/packages/pr.ini
+2022/04/25 | 994 | 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
@@ -299512,7 +299519,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2022/04/25 | 186 | timestamp
+2022/04/26 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 44fe11d942..f159a315c4 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index ee5b4b11b3..5e568b7d49 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,334 +1,524 @@
+2022/04/25 | 99817 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/04/25 | 996 | macros/latex/contrib/siunitx/README.md
+2022/04/25 | 994 | systems/win32/miktex/tm/packages/pr.ini
+2022/04/25 | 99255 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/04/25 | 98208 | macros/latex/contrib/projlib/ProjLib-doc.dtx
+2022/04/25 | 9759 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
+2022/04/25 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/04/25 | 9684 | macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
+2022/04/25 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/04/25 | 95433 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/04/25 | 95284 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/04/25 | 951020 | systems/texlive/tlnet/archive/tex4ht.r63127.tar.xz
+2022/04/25 | 93960 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2022/04/25 | 9383 | macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
+2022/04/25 | 9320 | systems/texlive/tlnet/archive/create-theorem.r63120.tar.xz
+2022/04/25 | 92917 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/04/25 | 8887 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
+2022/04/25 | 88559 | macros/latex/contrib/hvlogos.zip
+2022/04/25 | 88152 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/04/25 | 8798 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2022/04/25 | 8784 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/04/25 | 87178 | macros/latex/contrib/geradwp/geradwp.dtx
+2022/04/25 | 86759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/04/25 | 86119 | macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf
+2022/04/25 | 857 | macros/latex/contrib/projlib/ProjLib-doc.ins
+2022/04/25 | 8579 | macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
+2022/04/25 | 824371 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/04/25 | 81462 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/04/25 | 806552 | macros/unicodetex/latex/simplivre.zip
+2022/04/25 | 79025 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/04/25 | 78975 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/04/25 | 777717 | macros/latex/contrib/projlib.zip
+2022/04/25 | 7752 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/04/25 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/04/25 | 758953 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/04/25 | 755743 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/04/25 | 752315 | macros/unicodetex/latex/beaulivre.zip
+2022/04/25 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/04/25 | 73528 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/04/25 | 73477 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/04/25 | 7336 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
+2022/04/25 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/04/25 | 72885 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/04/25 | 7228 | macros/latex/contrib/minimalist/minimart.cls
+2022/04/25 | 7225 | macros/latex/contrib/minimalist/minimbook.cls
+2022/04/25 | 72015 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/04/25 | 71003 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/04/25 | 698604 | systems/texlive/tlnet/archive/zref-vario.doc.r63124.tar.xz
+2022/04/25 | 693067 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/04/25 | 6928 | macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
+2022/04/25 | 68873 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/04/25 | 6881 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
+2022/04/25 | 681940 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/04/25 | 68010 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/04/25 | 6783 | macros/latex/contrib/hvlogos/latex/hvlogos.sty
+2022/04/25 | 67705 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/04/25 | 67339 | macros/latex/contrib/siunitx/CHANGELOG.md
+2022/04/25 | 67252 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/04/25 | 663038 | macros/latex/contrib/siunitx/siunitx.pdf
+2022/04/25 | 662283 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
+2022/04/25 | 6532 | systems/texlive/tlnet/archive/zref-vario.source.r63124.tar.xz
+2022/04/25 | 65057 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/04/25 | 6470 | macros/latex/contrib/colorist/colorart.cls
+2022/04/25 | 64708 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/04/25 | 6467 | macros/latex/contrib/colorist/colorbook.cls
+2022/04/25 | 64544 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/04/25 | 6454498 | macros/latex/contrib/tuda-ci.zip
+2022/04/25 | 645392 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/04/25 | 645139 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/04/25 | 64489 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/04/25 | 63741 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/04/25 | 635719 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
+2022/04/25 | 63310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/04/25 | 6315 | macros/latex/contrib/tuda-ci/tex/tudarules.sty
+2022/04/25 | 631280 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/04/25 | 629431 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/04/25 | 627487 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
+2022/04/25 | 62380 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/04/25 | 617919 | macros/latex/contrib/siunitx/siunitx-code.pdf
+2022/04/25 | 613668 | systems/texlive/tlnet/archive/easybook.doc.r63121.tar.xz
+2022/04/25 | 598742 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
+2022/04/25 | 598230 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/04/25 | 591573 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/04/25 | 589849 | macros/unicodetex/latex/lebhart.zip
+2022/04/25 | 5890 | macros/latex/contrib/tuda-ci/tex/tudacolors.sty
+2022/04/25 | 58665 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/04/25 | 58662 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/04/25 | 586320 | macros/unicodetex/latex/einfart.zip
+2022/04/25 | 5859 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
+2022/04/25 | 5797740 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/04/25 | 57619 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/04/25 | 57525 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/04/25 | 574998 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
+2022/04/25 | 57331 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/04/25 | 57270 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/04/25 | 571481 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
+2022/04/25 | 56992 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/04/25 | 567048 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
+2022/04/25 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/04/25 | 565929 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/04/25 | 559870 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
+2022/04/25 | 55755 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/04/25 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/04/25 | 55286 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/04/25 | 552691 | macros/latex/contrib/geradwp/geradwp-fr.pdf
+2022/04/25 | 551988 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
+2022/04/25 | 5481 | macros/latex/contrib/siunitx/siunitx-locale.dtx
+2022/04/25 | 5433 | macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
+2022/04/25 | 5391 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
+2022/04/25 | 5381 | macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
+2022/04/25 | 536186 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
+2022/04/25 | 5357 | macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex
+2022/04/25 | 532456 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/04/25 | 528018 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/04/25 | 527257 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
+2022/04/25 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/04/25 | 523 | macros/latex/contrib/hvlogos/Changes
+2022/04/25 | 52327 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/04/25 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/04/25 | 520868 | macros/latex/contrib/geradwp/geradwp.pdf
+2022/04/25 | 51557 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/04/25 | 51483 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/04/25 | 50881 | macros/latex/contrib/siunitx/siunitx-table.dtx
+2022/04/25 | 50797 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/04/25 | 49769 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/04/25 | 4932 | macros/latex/contrib/projlib/README.md
+2022/04/25 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/04/25 | 4893 | macros/latex/contrib/minimalist/minimalist.sty
+2022/04/25 | 48825 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/04/25 | 484371 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/04/25 | 481498 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/04/25 | 47924 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/04/25 | 477847 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/04/25 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
+2022/04/25 | 46066 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/04/25 | 45825 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/04/25 | 45742 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/04/25 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/04/25 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/04/25 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/04/25 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/04/25 | 4441 | macros/latex/contrib/tuda-ci/tex/tudacolors.def
+2022/04/25 | 43917 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/04/25 | 43824 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/04/25 | 43644 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/04/25 | 43361 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/04/25 | 4328 | macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
+2022/04/25 | 43225 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/04/25 | 43144 | macros/latex/contrib/tuda-ci/tex/tudapub.cls
+2022/04/25 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/04/25 | 41305 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/04/25 | 41203 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/04/25 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/04/25 | 406212 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63118.tar.xz
+2022/04/25 | 4028 | systems/texlive/tlnet/archive/zref-vario.r63124.tar.xz
+2022/04/25 | 4009 | macros/latex/contrib/colorist/colorist.sty
+2022/04/25 | 39728 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/04/25 | 394371 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/04/25 | 3871 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
+2022/04/25 | 38560 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/04/25 | 38426 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/04/25 | 3815 | macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
+2022/04/25 | 37954 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2022/04/25 | 37372 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/04/25 | 37116 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/04/25 | 37081 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/04/25 | 36895 | macros/latex/contrib/minimalist/minimalist-classical.sty
+2022/04/25 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
+2022/04/25 | 36696 | macros/latex/contrib/colorist/colorist-fancy.sty
+2022/04/25 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/04/25 | 35916 | macros/latex/contrib/siunitx/siunitx-print.dtx
+2022/04/25 | 35243 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/04/25 | 35169 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/04/25 | 351697 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/04/25 | 351268 | systems/texlive/tlnet/archive/lua-widow-control.doc.r63125.tar.xz
+2022/04/25 | 34717 | macros/latex/contrib/minimalist/minimalist-plain.sty
+2022/04/25 | 34051 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/04/25 | 33799 | macros/latex/contrib/siunitx/siunitx-compound.dtx
+2022/04/25 | 337254 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
+2022/04/25 | 332413 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/04/25 | 32955 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/04/25 | 3287 | macros/latex/contrib/tuda-ci/tex/tudafonts.sty
+2022/04/25 | 32797 | macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
+2022/04/25 | 326661 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/04/25 | 325269 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/04/25 | 32341 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2022/04/25 | 3229 | macros/latex/contrib/projlib/ProjLib.ins
+2022/04/25 | 322407 | macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
+2022/04/25 | 322112 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
+2022/04/25 | 32133 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/04/25 | 31766 | macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
+2022/04/25 | 3175 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
+2022/04/25 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
+2022/04/25 | 316242 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/04/25 | 31586 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/04/25 | 31541 | macros/latex/contrib/circledtext/circledtext.sty
+2022/04/25 | 31521 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/04/25 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/04/25 | 31342 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/04/25 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/04/25 | 30145 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/04/25 | 3004 | systems/texlive/tlnet/archive/censor.r63126.tar.xz
+2022/04/25 | 29741 | macros/unicodetex/latex/simplivre/simplivre.cls
+2022/04/25 | 29737 | macros/unicodetex/latex/einfart/einfart.cls
+2022/04/25 | 296039 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/04/25 | 29286 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
+2022/04/25 | 292136 | systems/texlive/tlnet/archive/uspace.doc.r63123.tar.xz
+2022/04/25 | 28877 | macros/unicodetex/latex/beaulivre/beaulivre.cls
+2022/04/25 | 28873 | macros/unicodetex/latex/lebhart/lebhart.cls
+2022/04/25 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
+2022/04/25 | 288199 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/04/25 | 28797 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/04/25 | 28687 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/04/25 | 286413 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/04/25 | 285714 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/04/25 | 28569 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/04/25 | 28423 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/04/25 | 2820687 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/04/25 | 28156 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
+2022/04/25 | 28056 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
+2022/04/25 | 2796 | macros/latex/contrib/crefthe/README.md
+2022/04/25 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/04/25 | 27590 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/04/25 | 275665 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/04/25 | 275585 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/04/25 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
+2022/04/25 | 27247 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/04/25 | 270300 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/04/25 | 2694877 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/04/25 | 269138 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
+2022/04/25 | 2644 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
+2022/04/25 | 2620 | macros/latex/contrib/siunitx/siunitx-code.tex
+2022/04/25 | 2607 | macros/latex/contrib/circledtext/README.md
+2022/04/25 | 259255 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/04/25 | 25551 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/04/25 | 25481724 | systems/texlive/tlnet/install-tl.zip
+2022/04/25 | 2537 | macros/latex/contrib/minimalist/README.md
+2022/04/25 | 251176 | macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
+2022/04/25 | 251129 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/04/25 | 25106 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/04/25 | 25060 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/04/25 | 247334 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/04/25 | 24686 | macros/latex/contrib/minimalist/minimalist-doc.tex
+2022/04/25 | 245098 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/04/25 | 244959 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/04/25 | 243 | macros/latex/contrib/circledtext/build.sh
+2022/04/25 | 24343 | macros/latex/contrib/colorist/colorist-doc.tex
+2022/04/25 | 2422 | macros/latex/contrib/colorist/README.md
+2022/04/25 | 24178 | macros/unicodetex/latex/einfart/einfart-doc-fr.tex
+2022/04/25 | 24121 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/04/25 | 23944 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/04/25 | 23898 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
+2022/04/25 | 2368180 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/04/25 | 2350 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
+2022/04/25 | 234832 | systems/texlive/tlnet/archive/censor.doc.r63126.tar.xz
+2022/04/25 | 230716 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
+2022/04/25 | 230651 | macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
+2022/04/25 | 22788 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
+2022/04/25 | 22476 | macros/latex/contrib/circledtext/circledtext.tex
+2022/04/25 | 22292 | macros/unicodetex/latex/einfart/einfart-doc-en.tex
+2022/04/25 | 22200 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
+2022/04/25 | 22147 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/04/25 | 22018 | macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
+2022/04/25 | 2180 | macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
+2022/04/25 | 2172 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
+2022/04/25 | 21683 | macros/latex/contrib/siunitx/siunitx.dtx
+2022/04/25 | 215224 | macros/latex/contrib/circledtext.zip
+2022/04/25 | 213279 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/04/25 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/04/25 | 212849 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
+2022/04/25 | 21225 | macros/unicodetex/latex/einfart/einfart-doc-cn.tex
+2022/04/25 | 210270 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/04/25 | 20973 | macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
+2022/04/25 | 209214 | macros/latex/contrib/circledtext/circledtext.pdf
+2022/04/25 | 209159 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
+2022/04/25 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/04/25 | 20571 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
+2022/04/25 | 20474 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
+2022/04/25 | 20464116 | systems/texlive/tlnet/install-tl-windows.exe
+2022/04/25 | 203838 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
+2022/04/25 | 203000 | macros/latex/contrib/projlib/ProjLib.dtx
+2022/04/25 | 202834 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/04/25 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/04/25 | 201834 | macros/latex/contrib/projlib/ProjLib-doc-fr.pdf
+2022/04/25 | 200396 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/04/25 | 200297 | macros/latex/contrib/projlib/ProjLib-doc-en.pdf
+2022/04/25 | 199831 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/04/25 | 19929 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
+2022/04/25 | 1982083 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/04/25 | 19811 | macros/latex/contrib/tuda-ci/tex/tudaposter.cls
+2022/04/25 | 197035 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/04/25 | 196117 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/04/25 | 19461 | macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
+2022/04/25 | 19106 | macros/unicodetex/latex/simplivre/LICENSE
+2022/04/25 | 19106 | macros/unicodetex/latex/lebhart/LICENSE
+2022/04/25 | 19106 | macros/unicodetex/latex/einfart/LICENSE
+2022/04/25 | 19106 | macros/unicodetex/latex/beaulivre/LICENSE
+2022/04/25 | 19106 | macros/latex/contrib/projlib/LICENSE
+2022/04/25 | 19106 | macros/latex/contrib/minimalist/LICENSE
+2022/04/25 | 19106 | macros/latex/contrib/crefthe/LICENSE
+2022/04/25 | 19106 | macros/latex/contrib/colorist/LICENSE
+2022/04/25 | 190504 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/04/25 | 19024 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
+2022/04/25 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/04/25 | 18368 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/04/25 | 181515 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/04/25 | 179877 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/04/25 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/04/25 | 173007 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/04/25 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
+2022/04/25 | 17266142 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/04/25 | 17089 | macros/latex/contrib/tuda-ci/README.md
+2022/04/25 | 16916 | macros/latex/contrib/tuda-ci/tex/tudaletter.cls
+2022/04/25 | 168820 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/04/25 | 1686 | macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
+2022/04/25 | 1685 | macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
+2022/04/25 | 1684 | macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
+2022/04/25 | 1684 | macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
+2022/04/25 | 1682 | macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
+2022/04/25 | 1680 | macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
+2022/04/25 | 16709 | macros/latex/contrib/siunitx/siunitx-angle.dtx
+2022/04/25 | 16613 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
+2022/04/25 | 16560 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/04/25 | 16528 | systems/texlive/tlnet/archive/easybook.r63121.tar.xz
+2022/04/25 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/04/25 | 16440 | systems/texlive/tlnet/archive/easybook.source.r63121.tar.xz
+2022/04/25 | 160385 | macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
+2022/04/25 | 158390 | macros/latex/contrib/siunitx/siunitx.tex
+2022/04/25 | 156965 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/04/25 | 155496 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/04/25 | 155072 | macros/unicodetex/latex/einfart/einfart-doc-en.pdf
+2022/04/25 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/04/25 | 15317 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
+2022/04/25 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/04/25 | 15248 | systems/texlive/tlnet/archive/rec-thy.r63122.tar.xz
+2022/04/25 | 152031 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/04/25 | 151300 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
+2022/04/25 | 1510026 | install/macros/latex/contrib/siunitx.tds.zip
+2022/04/25 | 1501237 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/04/25 | 1478 | macros/unicodetex/latex/einfart/README.md
+2022/04/25 | 147743 | macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
+2022/04/25 | 1475 | macros/unicodetex/latex/simplivre/README.md
+2022/04/25 | 1466050 | macros/latex/contrib/siunitx.zip
+2022/04/25 | 1460 | macros/unicodetex/latex/lebhart/README.md
+2022/04/25 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/04/25 | 1458 | macros/unicodetex/latex/beaulivre/README.md
+2022/04/25 | 1454764 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/04/25 | 145363 | macros/latex/contrib/siunitx/siunitx-number.dtx
+2022/04/25 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/04/25 | 1443288 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/04/25 | 1442795 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/04/25 | 14411 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/04/25 | 13936 | macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
+2022/04/25 | 139103 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/04/25 | 13788 | systems/texlive/tlnet/archive/lua-widow-control.source.r63125.tar.xz
+2022/04/25 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r63127.tar.xz
+2022/04/25 | 135949 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/04/25 | 1357074 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/04/25 | 135379 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/04/25 | 13513 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/04/25 | 133416 | macros/latex/contrib/minimalist.zip
+2022/04/25 | 1332435 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/04/25 | 1331637 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/04/25 | 1322742 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/04/25 | 130688 | systems/texlive/tlnet/archive/create-theorem.doc.r63120.tar.xz
+2022/04/25 | 1302483 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/04/25 | 128285 | macros/latex/contrib/crefthe.zip
+2022/04/25 | 126569 | macros/latex/contrib/colorist.zip
+2022/04/25 | 126534 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/04/25 | 1249404 | systems/texlive/tlnet/archive/tex4ht.source.r63127.tar.xz
+2022/04/25 | 122776 | systems/texlive/tlnet/archive/rec-thy.doc.r63122.tar.xz
+2022/04/25 | 120616 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/04/25 | 1181124 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/04/25 | 115700 | macros/latex/contrib/crefthe/crefthe-doc.pdf
+2022/04/25 | 115656 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/04/25 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/04/25 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/04/25 | 11343 | macros/latex/contrib/crefthe/crefthe-doc.tex
+2022/04/25 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/04/25 | 112589 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/04/25 | 1112 | systems/texlive/tlnet/archive/uspace.r63123.tar.xz
+2022/04/25 | 11064 | systems/texlive/tlnet/archive/lua-widow-control.r63125.tar.xz
+2022/04/25 | 109732 | systems/texlive/tlnet/archive/texlive-scripts.r63118.tar.xz
+2022/04/25 | 109479 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/04/25 | 10812 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+2022/04/25 | 1079161 | macros/latex/contrib/geradwp.zip
+2022/04/25 | 107706 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/04/25 | 104555 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/04/25 | 104110 | macros/latex/contrib/minimalist/minimalist-doc.pdf
+2022/04/25 | 103458 | macros/latex/contrib/siunitx/siunitx-unit.dtx
+2022/04/25 | 103338 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/04/25 | 103093 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/04/25 | 102695 | macros/latex/contrib/colorist/colorist-doc.pdf
+2022/04/25 | 1021845 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/04/25 | 10210 | macros/latex/contrib/crefthe/crefthe.sty
+2022/04/25 | 10078 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
+2022/04/25 | 100487 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2022/04/24 | 998933 | macros/latex/contrib/hvextern.zip
-2022/04/24 | 99815 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/04/24 | 994 | systems/win32/miktex/tm/packages/pr.ini
-2022/04/24 | 99257 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2022/04/24 | 97198 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2022/04/24 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2022/04/24 | 95432 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/04/24 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2022/04/24 | 93959 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2022/04/24 | 92918 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2022/04/24 | 9274 | macros/luatex/generic/lua-widow-control/lua-widow-control.sty
2022/04/24 | 917 | macros/latex/contrib/hvextern/latex/hvextern-py.cfg
2022/04/24 | 910 | macros/latex/contrib/llncsconf/CHANGELOG.md
2022/04/24 | 89361 | macros/latex/contrib/create-theorem/create-theorem.sty
-2022/04/24 | 88152 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/04/24 | 8784 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/04/24 | 86759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
2022/04/24 | 8601 | macros/luatex/generic/lua-widow-control/lwc-documentation.mkxl
2022/04/24 | 8532 | systems/texlive/tlnet/archive/messagepassing.source.r63116.tar.xz
2022/04/24 | 83443 | macros/latex/contrib/easybook/easybook.tex
-2022/04/24 | 824369 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/04/24 | 81461 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2022/04/24 | 79889 | macros/latex/contrib/rec-thy/rec-thy.sty
-2022/04/24 | 79024 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2022/04/24 | 78976 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/04/24 | 7753 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/04/24 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/04/24 | 758953 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/04/24 | 755742 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
2022/04/24 | 75139 | macros/latex/contrib/easybook/easybook.dtx
2022/04/24 | 74129 | macros/latex/contrib/uspace/uspace.pdf
-2022/04/24 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/04/24 | 73529 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/04/24 | 73478 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2022/04/24 | 73147 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/04/24 | 7384 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/04/24 | 729 | macros/latex/contrib/llncsconf/example/example.tex
-2022/04/24 | 72886 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/04/24 | 72014 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2022/04/24 | 71006 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
2022/04/24 | 70 | macros/latex/contrib/hvextern/Changes
2022/04/24 | 706029 | macros/latex/contrib/zref-vario.zip
2022/04/24 | 7051 | macros/latex/contrib/llncsconf/llncsconf.sty
2022/04/24 | 693 | macros/latex/contrib/hvextern/README
2022/04/24 | 693304 | systems/texlive/tlnet/archive/xduthesis.doc.r63116.tar.xz
-2022/04/24 | 693065 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2022/04/24 | 68872 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
2022/04/24 | 6884 | systems/texlive/tlnet/archive/robotarm.source.r63116.tar.xz
-2022/04/24 | 681941 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2022/04/24 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/04/24 | 67706 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
2022/04/24 | 676 | macros/latex/contrib/create-theorem/README.md
-2022/04/24 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
2022/04/24 | 6656 | systems/texlive/tlnet/archive/ut-thesis.source.r63116.tar.xz
2022/04/24 | 6568 | systems/texlive/tlnet/archive/uwa-letterhead.source.r63116.tar.xz
-2022/04/24 | 65055 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/04/24 | 64708 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2022/04/24 | 64540 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/04/24 | 645392 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/04/24 | 645139 | systems/win32/miktex/tm/packages/files.csv.lzma
-2022/04/24 | 64488 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2022/04/24 | 63740 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/04/24 | 63309 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
2022/04/24 | 632821 | macros/latex/contrib/easybook.zip
-2022/04/24 | 631281 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/04/24 | 629433 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
2022/04/24 | 6265 | macros/latex/contrib/rec-thy/README
-2022/04/24 | 62382 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2022/04/24 | 6202 | macros/latex/contrib/uspace/uspace-test.tex
-2022/04/24 | 613716 | systems/texlive/tlnet/archive/easybook.doc.r63116.tar.xz
2022/04/24 | 6060 | systems/texlive/tlnet/archive/uwa-pcf.source.r63116.tar.xz
-2022/04/24 | 598230 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2022/04/24 | 591572 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
2022/04/24 | 591558 | macros/latex/contrib/easybook/easybook.pdf
-2022/04/24 | 58665 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/04/24 | 58663 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/04/24 | 5797743 | systems/texlive/tlnet/install-tl-unx.tar.gz
2022/04/24 | 578 | macros/latex/contrib/zref-vario/README.md
2022/04/24 | 57656 | systems/texlive/tlnet/archive/uwa-letterhead.doc.r63116.tar.xz
-2022/04/24 | 57619 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/04/24 | 57525 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/04/24 | 57331 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/04/24 | 57271 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
2022/04/24 | 570457 | macros/latex/contrib/zref-vario/zref-vario-code.pdf
-2022/04/24 | 56993 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
2022/04/24 | 5692 | systems/texlive/tlnet/archive/uwa-pif.source.r63116.tar.xz
-2022/04/24 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2022/04/24 | 565929 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
2022/04/24 | 5644 | systems/texlive/tlnet/archive/zref-check.r63116.tar.xz
2022/04/24 | 55900 | systems/texlive/tlnet/archive/babel-french.source.r63116.tar.xz
-2022/04/24 | 55756 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2022/04/24 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/04/24 | 55286 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
2022/04/24 | 5428 | systems/texlive/tlnet/archive/luamathalign.source.r63116.tar.xz
2022/04/24 | 5407 | macros/latex/contrib/uspace/uspace.tex
2022/04/24 | 53309 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
-2022/04/24 | 532456 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2022/04/24 | 528018 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
2022/04/24 | 52740 | systems/texlive/tlnet/archive/uwa-pcf.doc.r63116.tar.xz
-2022/04/24 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/04/24 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/04/24 | 52092 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/04/24 | 51557 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/04/24 | 51484 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
2022/04/24 | 513436 | systems/texlive/tlnet/archive/biblatex-swiss-legal.doc.r63116.tar.xz
-2022/04/24 | 50800 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
2022/04/24 | 508004 | systems/texlive/tlnet/archive/babel-french.doc.r63116.tar.xz
2022/04/24 | 50612 | systems/texlive/tlnet/archive/zref-clever.source.r63116.tar.xz
2022/04/24 | 50500 | systems/texlive/tlnet/archive/uwa-pif.doc.r63116.tar.xz
2022/04/24 | 499445 | macros/latex/contrib/proflycee.zip
-2022/04/24 | 49769 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
2022/04/24 | 4916 | systems/texlive/tlnet/archive/graphpaper.r63116.tar.xz
-2022/04/24 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2022/04/24 | 48827 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
2022/04/24 | 487568 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
-2022/04/24 | 484371 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2022/04/24 | 481498 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/04/24 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/04/24 | 477848 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2022/04/24 | 46065 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/04/24 | 45825 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/04/24 | 45741 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/04/24 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/04/24 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2022/04/24 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/04/24 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
-2022/04/24 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/04/24 | 43824 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
2022/04/24 | 43788 | systems/texlive/tlnet/archive/texlogsieve.r63116.tar.xz
-2022/04/24 | 43645 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2022/04/24 | 43361 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/04/24 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/04/24 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2022/04/24 | 426864 | systems/texlive/tlnet/archive/graphpaper.doc.r63116.tar.xz
2022/04/24 | 4244 | systems/texlive/tlnet/archive/luamathalign.r63116.tar.xz
2022/04/24 | 4233 | macros/latex/contrib/llncsconf/README.md
-2022/04/24 | 41305 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/04/24 | 41203 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/04/24 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/04/24 | 406208 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63109.tar.xz
-2022/04/24 | 39728 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2022/04/24 | 394370 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2022/04/24 | 390260 | systems/texlive/tlnet/archive/luamathalign.doc.r63116.tar.xz
2022/04/24 | 3895 | macros/luatex/generic/lua-widow-control/lwc-sample.tex
2022/04/24 | 386431 | install/macros/luatex/generic/lua-widow-control.tds.zip
-2022/04/24 | 38561 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
2022/04/24 | 385495 | macros/luatex/generic/lua-widow-control/lua-widow-control.pdf
-2022/04/24 | 38424 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
2022/04/24 | 382897 | macros/luatex/generic/lua-widow-control.zip
-2022/04/24 | 37375 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/04/24 | 37117 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/04/24 | 37080 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2022/04/24 | 36709 | macros/latex/contrib/hvextern/doc/hvextern.tex
-2022/04/24 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2022/04/24 | 35243 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/04/24 | 351697 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/04/24 | 35168 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
2022/04/24 | 34081 | macros/latex/contrib/uspace/uspace-test-lualatex.pdf
-2022/04/24 | 34052 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
2022/04/24 | 3348 | systems/texlive/tlnet/archive/uwa-letterhead.r63116.tar.xz
-2022/04/24 | 332413 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2022/04/24 | 32955 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2022/04/24 | 326661 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2022/04/24 | 325 | macros/latex/contrib/uspace/README.md
2022/04/24 | 32541 | macros/latex/contrib/uspace/uspace-test-xelatex.pdf
-2022/04/24 | 325270 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
2022/04/24 | 322092 | systems/texlive/tlnet/archive/oup-authoring-template.doc.r63116.tar.xz
-2022/04/24 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
2022/04/24 | 31 | macros/latex/contrib/zref-vario/DEPENDS.txt
-2022/04/24 | 316242 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2022/04/24 | 31586 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/04/24 | 31520 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/04/24 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/04/24 | 31343 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/04/24 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
2022/04/24 | 30465 | macros/latex/contrib/zref-vario/zref-vario.dtx
-2022/04/24 | 30146 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
2022/04/24 | 29719 | macros/luatex/generic/lua-widow-control/lwc-documentation.tex
-2022/04/24 | 296040 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2022/04/24 | 294411 | macros/latex/contrib/uspace.zip
2022/04/24 | 2924 | systems/texlive/tlnet/archive/uwa-pcf.r63116.tar.xz
2022/04/24 | 2924 | systems/texlive/tlnet/archive/robotarm.r63116.tar.xz
-2022/04/24 | 288198 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/04/24 | 28797 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/04/24 | 28688 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/04/24 | 286412 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/04/24 | 285713 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/04/24 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/04/24 | 28421 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/04/24 | 2820687 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/04/24 | 27637 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/04/24 | 27590 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2022/04/24 | 275573 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/04/24 | 275569 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
2022/04/24 | 2724 | macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkxl
2022/04/24 | 2724 | macros/luatex/generic/lua-widow-control/t-lua-widow-control.mkiv
-2022/04/24 | 27247 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2022/04/24 | 270298 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2022/04/24 | 2699 | macros/luatex/generic/lua-widow-control/lua-widow-control-2022-02-22.sty
-2022/04/24 | 2694876 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
2022/04/24 | 268036 | systems/texlive/tlnet/archive/messagepassing.doc.r63116.tar.xz
2022/04/24 | 2644 | systems/texlive/tlnet/archive/messagepassing.r63116.tar.xz
2022/04/24 | 2629 | macros/luatex/generic/lua-widow-control/README.md
2022/04/24 | 2616 | systems/texlive/tlnet/archive/ut-thesis.r63116.tar.xz
-2022/04/24 | 259256 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
2022/04/24 | 2589 | macros/latex/contrib/zref-vario/zref-vario.ins
2022/04/24 | 2588 | systems/texlive/tlnet/archive/uwa-pif.r63116.tar.xz
-2022/04/24 | 25552 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/04/24 | 25481699 | systems/texlive/tlnet/install-tl.zip
-2022/04/24 | 251128 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/04/24 | 25106 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/04/24 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2022/04/24 | 25003 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
-2022/04/24 | 247333 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/04/24 | 245098 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/04/24 | 244961 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2022/04/24 | 24121 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/04/24 | 23944 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/04/24 | 2384 | systems/texlive/tlnet/archive/censor.r63116.tar.xz
-2022/04/24 | 2368368 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2022/04/24 | 23565 | macros/latex/contrib/create-theorem/create-theorem-doc.tex
2022/04/24 | 23148 | systems/texlive/tlnet/archive/zref-clever.r63116.tar.xz
2022/04/24 | 2224 | macros/luatex/generic/lua-widow-control/lua-widow-control.tex
-2022/04/24 | 22146 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2022/04/24 | 213277 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/04/24 | 21315 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2022/04/24 | 211548 | systems/texlive/tlnet/archive/censor.doc.r63116.tar.xz
-2022/04/24 | 210274 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2022/04/24 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
2022/04/24 | 20771 | macros/luatex/generic/lua-widow-control/lua-widow-control.lua
-2022/04/24 | 20463949 | systems/texlive/tlnet/install-tl-windows.exe
-2022/04/24 | 203838 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
-2022/04/24 | 202835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/04/24 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2022/04/24 | 200397 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/04/24 | 199831 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2022/04/24 | 1982085 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/04/24 | 197036 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2022/04/24 | 196116 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2022/04/24 | 19376 | systems/texlive/tlnet/archive/zref-check.source.r63116.tar.xz
2022/04/24 | 19106 | macros/latex/contrib/create-theorem/LICENSE
-2022/04/24 | 190503 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/04/24 | 189313 | support/TeX4ht/source/ChangeLog
2022/04/24 | 1873 | macros/luatex/generic/lua-widow-control/lua-widow-control.opm
2022/04/24 | 1860 | macros/latex/contrib/uspace/uspace-ctanify.sh
-2022/04/24 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2022/04/24 | 184700 | systems/texlive/tlnet/archive/robotarm.doc.r63116.tar.xz
-2022/04/24 | 18367 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/04/24 | 181516 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
2022/04/24 | 18148 | systems/texlive/tlnet/archive/biblatex-swiss-legal.r63116.tar.xz
-2022/04/24 | 179878 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
2022/04/24 | 1795 | macros/latex/contrib/uspace/uspace.sty
-2022/04/24 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
2022/04/24 | 17492 | systems/texlive/tlnet/archive/oup-authoring-template.r63116.tar.xz
-2022/04/24 | 173008 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/04/24 | 17266194 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2022/04/24 | 168819 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2022/04/24 | 16560 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/04/24 | 16536 | systems/texlive/tlnet/archive/easybook.r63116.tar.xz
-2022/04/24 | 16502 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2022/04/24 | 16456 | systems/texlive/tlnet/archive/easybook.source.r63116.tar.xz
2022/04/24 | 1635428 | systems/texlive/tlnet/archive/circuitikz.doc.r63116.tar.xz
2022/04/24 | 163344 | systems/texlive/tlnet/archive/circuitikz.r63116.tar.xz
2022/04/24 | 15976 | systems/texlive/tlnet/archive/xduthesis.source.r63116.tar.xz
2022/04/24 | 15900 | systems/texlive/tlnet/archive/babel-french.r63116.tar.xz
-2022/04/24 | 156964 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2022/04/24 | 155497 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/04/24 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2022/04/24 | 153067 | macros/latex/contrib/uspace/uspace-test-pdflatex.pdf
-2022/04/24 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2022/04/24 | 152031 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
2022/04/24 | 1518088 | systems/texlive/tlnet/archive/zref-clever.doc.r63116.tar.xz
-2022/04/24 | 1501239 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
2022/04/24 | 1492 | macros/luatex/generic/lua-widow-control/lwc-documentation.bib
-2022/04/24 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/04/24 | 1454765 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/04/24 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2022/04/24 | 1443219 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/04/24 | 1443068 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/04/24 | 14411 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2022/04/24 | 143334 | macros/latex/contrib/zref-vario/zref-vario.pdf
2022/04/24 | 142078 | macros/latex/contrib/rec-thy.zip
2022/04/24 | 141562 | macros/latex/contrib/create-theorem.zip
2022/04/24 | 14137 | macros/latex/contrib/hvextern/latex/hvextern.sty
2022/04/24 | 1411 | macros/latex/contrib/zref-vario/zref-vario-code.tex
-2022/04/24 | 139101 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2022/04/24 | 138168 | systems/texlive/tlnet/archive/ut-thesis.doc.r63116.tar.xz
-2022/04/24 | 135948 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/04/24 | 1357073 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/04/24 | 135378 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/04/24 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2022/04/24 | 1331909 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/04/24 | 1331689 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2022/04/24 | 1322743 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
2022/04/24 | 131996 | macros/latex/contrib/llncsconf/example/example_llncs_crop.pdf
2022/04/24 | 131977 | macros/latex/contrib/llncsconf/example/example_llncs_nocrop.pdf
2022/04/24 | 131793 | macros/latex/contrib/llncsconf/example/example_submitted_crop.pdf
2022/04/24 | 131776 | macros/latex/contrib/llncsconf/example/example_submitted_nocrop.pdf
2022/04/24 | 131639 | macros/latex/contrib/llncsconf/example/example_intended_crop.pdf
2022/04/24 | 131626 | macros/latex/contrib/llncsconf/example/example_intended_nocrop.pdf
-2022/04/24 | 1302483 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
2022/04/24 | 1298 | macros/latex/contrib/llncsconf/LICENSE
2022/04/24 | 127698 | macros/latex/contrib/rec-thy/rec-thy.pdf
-2022/04/24 | 126535 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
2022/04/24 | 125447 | macros/latex/contrib/llncsconf/example/example_proceedings_crop.pdf
2022/04/24 | 125428 | macros/latex/contrib/llncsconf/example/example_proceedings_nocrop.pdf
2022/04/24 | 1244680 | macros/latex/contrib/llncsconf.zip
-2022/04/24 | 120616 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
2022/04/24 | 120072 | macros/latex/contrib/create-theorem/create-theorem-doc.pdf
2022/04/24 | 118430 | macros/latex/contrib/llncsconf/example/example_accepted_crop.pdf
2022/04/24 | 118411 | macros/latex/contrib/llncsconf/example/example_accepted_nocrop.pdf
-2022/04/24 | 1181125 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2022/04/24 | 115656 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/04/24 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/04/24 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2022/04/24 | 113392 | systems/texlive/tlnet/archive/xduthesis.r63116.tar.xz
-2022/04/24 | 113051 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/04/24 | 112589 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/04/24 | 1114593 | support/TeX4ht/source/tex4ht-4ht.tex
2022/04/24 | 110876 | systems/texlive/tlnet/archive/texlogsieve.doc.r63116.tar.xz
2022/04/24 | 11052 | macros/latex/contrib/zref-vario/zref-vario.tex
-2022/04/24 | 109724 | systems/texlive/tlnet/archive/texlive-scripts.r63109.tar.xz
2022/04/24 | 10952 | systems/texlive/tlnet/archive/graphpaper.source.r63116.tar.xz
-2022/04/24 | 109479 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/04/24 | 107706 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2022/04/24 | 1072 | macros/latex/contrib/uspace/LICENSE
2022/04/24 | 1049052 | systems/texlive/tlnet/archive/zref-check.doc.r63116.tar.xz
-2022/04/24 | 104557 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
2022/04/24 | 1041665 | macros/latex/contrib/hvextern/doc/hvextern.pdf
-2022/04/24 | 103337 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/04/24 | 103094 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2022/04/24 | 1021846 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
2022/04/24 | 1011 | macros/latex/contrib/zref-vario/CHANGELOG.md
-2022/04/24 | 100486 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2022/04/23 | 9973 | systems/win32/miktex/tm/packages/colorist.tar.lzma
2022/04/23 | 9713 | systems/win32/miktex/tm/packages/minimalist.tar.lzma
2022/04/23 | 952337 | systems/win32/miktex/tm/packages/postnotes__doc.tar.lzma
@@ -353,7 +543,6 @@
2022/04/23 | 73842 | systems/win32/miktex/tm/packages/lutabulartools__doc.tar.lzma
2022/04/23 | 735589 | systems/win32/miktex/tm/packages/l3build__doc.tar.lzma
2022/04/23 | 72896 | systems/win32/miktex/tm/packages/texlogsieve__doc.tar.lzma
-2022/04/23 | 7262 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/04/23 | 725 | macros/latex/contrib/hvextern/latex/hvextern-pl.cfg
2022/04/23 | 72494 | systems/win32/miktex/tm/packages/yamlvars__doc.tar.lzma
2022/04/23 | 7067 | systems/win32/miktex/tm/packages/tikzlings__source.tar.lzma
@@ -663,7 +852,6 @@
2022/04/21 | 9840 | macros/latex/contrib/censor/censor.sty
2022/04/21 | 983380 | macros/latex/contrib/postnotes.zip
2022/04/21 | 9824 | graphics/pgf/contrib/tikzlings/tikzlings-hippos.sty
-2022/04/21 | 98208 | macros/latex/contrib/projlib/ProjLib-doc.dtx
2022/04/21 | 9583 | graphics/pgf/contrib/tikzlings/tikzlings-bees.sty
2022/04/21 | 952260 | systems/texlive/tlnet/archive/witharrows.doc.r63087.tar.xz
2022/04/21 | 9467 | graphics/pgf/contrib/tikzlings/tikzlings-elephants.sty
@@ -674,17 +862,13 @@
2022/04/21 | 881 | macros/latex/contrib/postnotes/README.md
2022/04/21 | 866124 | systems/texlive/tlnet/archive/l3backend.doc.r63089.tar.xz
2022/04/21 | 8582 | graphics/pgf/contrib/tikzlings/tikzlings-bears.sty
-2022/04/21 | 857 | macros/latex/contrib/projlib/ProjLib-doc.ins
2022/04/21 | 8561 | graphics/pgf/contrib/tikzlings/tikzlings-pandas.sty
2022/04/21 | 84970 | macros/latex/contrib/spbmark/spbmark.pdf
2022/04/21 | 804363 | macros/latex/contrib/postnotes/postnotes-code.pdf
-2022/04/21 | 803210 | macros/unicodetex/latex/simplivre.zip
2022/04/21 | 80180 | systems/texlive/tlnet/archive/l3experimental.source.r63089.tar.xz
2022/04/21 | 80100 | systems/texlive/tlnet/archive/fontware.armhf-linux.r63092.tar.xz
-2022/04/21 | 777071 | macros/latex/contrib/projlib.zip
2022/04/21 | 7596 | systems/texlive/tlnet/archive/dvidvi.armhf-linux.r63092.tar.xz
2022/04/21 | 758826 | graphics/pgf/contrib/tikzlings.zip
-2022/04/21 | 749716 | macros/unicodetex/latex/beaulivre.zip
2022/04/21 | 729 | support/texlive/texlive-dummy/openSUSE/README.md
2022/04/21 | 729840 | systems/texlive/tlnet/archive/metapost.armhf-linux.r63092.tar.xz
2022/04/21 | 72496 | support/texlive/texlive-dummy/openSUSE/texlive-dummy-2022.9999-1.src.rpm
@@ -699,8 +883,6 @@
2022/04/21 | 668984 | systems/texlive/tlnet/archive/mflua.armhf-linux.r63092.tar.xz
2022/04/21 | 66864 | systems/texlive/tlnet/archive/bibtex8.armhf-linux.r63092.tar.xz
2022/04/21 | 6636 | systems/texlive/tlnet/archive/xpdfopen.armhf-linux.r63092.tar.xz
-2022/04/21 | 6600 | macros/latex/contrib/minimalist/minimart.cls
-2022/04/21 | 6597 | macros/latex/contrib/minimalist/minimbook.cls
2022/04/21 | 653080 | systems/texlive/tlnet/archive/polyglossia.doc.r63091.tar.xz
2022/04/21 | 64212 | systems/texlive/tlnet/archive/dviljk.armhf-linux.r63092.tar.xz
2022/04/21 | 63152 | systems/texlive/tlnet/archive/web.armhf-linux.r63092.tar.xz
@@ -709,18 +891,12 @@
2022/04/21 | 60232 | systems/texlive/tlnet/archive/bibtex.armhf-linux.r63092.tar.xz
2022/04/21 | 59120 | systems/texlive/tlnet/archive/dvi2tty.armhf-linux.r63092.tar.xz
2022/04/21 | 588912 | systems/texlive/tlnet/archive/l3kernel.source.r63089.tar.xz
-2022/04/21 | 586566 | macros/unicodetex/latex/lebhart.zip
-2022/04/21 | 5842 | macros/latex/contrib/colorist/colorart.cls
-2022/04/21 | 5839 | macros/latex/contrib/colorist/colorbook.cls
-2022/04/21 | 583355 | macros/unicodetex/latex/einfart.zip
2022/04/21 | 5660784 | systems/texlive/tlnet/archive/bibtexu.armhf-linux.r63092.tar.xz
2022/04/21 | 5552 | systems/texlive/tlnet/archive/vlna.armhf-linux.r63092.tar.xz
2022/04/21 | 52884 | systems/texlive/tlnet/archive/witharrows.source.r63087.tar.xz
2022/04/21 | 498056 | systems/texlive/tlnet/archive/lcdftypetools.armhf-linux.r63092.tar.xz
2022/04/21 | 49072 | systems/texlive/tlnet/archive/psutils.armhf-linux.r63092.tar.xz
2022/04/21 | 4904 | systems/texlive/tlnet/archive/musixtnt.armhf-linux.r63092.tar.xz
-2022/04/21 | 4893 | macros/latex/contrib/minimalist/minimalist.sty
-2022/04/21 | 4880 | macros/latex/contrib/projlib/README.md
2022/04/21 | 44968 | systems/texlive/tlnet/archive/xml2pmx.armhf-linux.r63092.tar.xz
2022/04/21 | 446916 | systems/texlive/tlnet/archive/xdvi.armhf-linux.r63092.tar.xz
2022/04/21 | 43760 | systems/texlive/tlnet/archive/dvicopy.armhf-linux.r63092.tar.xz
@@ -731,14 +907,10 @@
2022/04/21 | 40208 | systems/texlive/tlnet/archive/detex.armhf-linux.r63092.tar.xz
2022/04/21 | 40188 | systems/texlive/tlnet/archive/cjkutils.armhf-linux.r63092.tar.xz
2022/04/21 | 40180 | systems/texlive/tlnet/archive/makeindex.armhf-linux.r63092.tar.xz
-2022/04/21 | 4009 | macros/latex/contrib/colorist/colorist.sty
2022/04/21 | 392880 | systems/texlive/tlnet/archive/dvipng.armhf-linux.r63092.tar.xz
2022/04/21 | 3904 | systems/texlive/tlnet/archive/ps2eps.armhf-linux.r63092.tar.xz
2022/04/21 | 38756 | macros/latex/contrib/postnotes/postnotes.tex
-2022/04/21 | 38231 | macros/latex/contrib/minimalist/minimalist-classical.sty
2022/04/21 | 37148 | systems/texlive/tlnet/archive/dvipos.armhf-linux.r63092.tar.xz
-2022/04/21 | 36207 | macros/latex/contrib/colorist/colorist-fancy.sty
-2022/04/21 | 36043 | macros/latex/contrib/minimalist/minimalist-plain.sty
2022/04/21 | 35460 | systems/texlive/tlnet/archive/m-tx.armhf-linux.r63092.tar.xz
2022/04/21 | 3505696 | systems/texlive/tlnet/archive/l3experimental.doc.r63089.tar.xz
2022/04/21 | 347096 | systems/texlive/tlnet/archive/dvipdfmx.armhf-linux.r63092.tar.xz
@@ -750,69 +922,29 @@
2022/04/21 | 336 | macros/unicodetex/latex/unisc/README.txt
2022/04/21 | 336536 | support/texlive/texlive-dummy/openSUSE/texlive-dummy-2022.9999-1.noarch.rpm
2022/04/21 | 33576 | systems/texlive/tlnet/archive/gsftopk.armhf-linux.r63092.tar.xz
-2022/04/21 | 335280 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
2022/04/21 | 32940 | systems/texlive/tlnet/archive/l3backend.source.r63089.tar.xz
2022/04/21 | 32388 | systems/texlive/tlnet/archive/kpathsea.armhf-linux.r63092.tar.xz
-2022/04/21 | 3229 | macros/latex/contrib/projlib/ProjLib.ins
-2022/04/21 | 322407 | macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
2022/04/21 | 32220 | systems/texlive/tlnet/archive/t1utils.armhf-linux.r63092.tar.xz
-2022/04/21 | 320007 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
2022/04/21 | 304424 | systems/texlive/tlnet/archive/pdftosrc.armhf-linux.r63092.tar.xz
2022/04/21 | 29232 | macros/latex/contrib/censor/censor.tex
-2022/04/21 | 29113 | macros/unicodetex/latex/simplivre/simplivre.cls
-2022/04/21 | 29109 | macros/unicodetex/latex/einfart/einfart.cls
2022/04/21 | 28704 | systems/texlive/tlnet/archive/ctie.armhf-linux.r63092.tar.xz
-2022/04/21 | 28249 | macros/unicodetex/latex/beaulivre/beaulivre.cls
-2022/04/21 | 28245 | macros/unicodetex/latex/lebhart/lebhart.cls
2022/04/21 | 27340 | systems/texlive/tlnet/archive/tie.armhf-linux.r63092.tar.xz
2022/04/21 | 27268 | systems/texlive/tlnet/archive/luapstricks.r63086.tar.xz
-2022/04/21 | 266891 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
2022/04/21 | 2574 | macros/latex/contrib/postnotes/postnotes.ins
-2022/04/21 | 2537 | macros/latex/contrib/minimalist/README.md
-2022/04/21 | 249232 | macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
-2022/04/21 | 24686 | macros/latex/contrib/minimalist/minimalist-doc.tex
2022/04/21 | 246320 | macros/latex/contrib/censor/censor.pdf
-2022/04/21 | 24343 | macros/latex/contrib/colorist/colorist-doc.tex
-2022/04/21 | 2422 | macros/latex/contrib/colorist/README.md
-2022/04/21 | 24178 | macros/unicodetex/latex/einfart/einfart-doc-fr.tex
-2022/04/21 | 23898 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
2022/04/21 | 238816 | macros/latex/contrib/censor.zip
2022/04/21 | 23644 | systems/texlive/tlnet/archive/l3experimental.r63089.tar.xz
2022/04/21 | 235244 | systems/texlive/tlnet/archive/hitex.armhf-linux.r63092.tar.xz
-2022/04/21 | 230162 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
-2022/04/21 | 229949 | macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
-2022/04/21 | 22788 | macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
2022/04/21 | 224808 | fonts/concmath-otf/Concrete-Math.otf
-2022/04/21 | 22292 | macros/unicodetex/latex/einfart/einfart-doc-en.tex
-2022/04/21 | 22200 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
-2022/04/21 | 22018 | macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
2022/04/21 | 2162308 | systems/texlive/tlnet/archive/luajittex.armhf-linux.r63092.tar.xz
2022/04/21 | 214660 | systems/texlive/tlnet/archive/pmx.armhf-linux.r63092.tar.xz
-2022/04/21 | 213449 | macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
2022/04/21 | 2131 | fonts/concmath-otf/README.md
2022/04/21 | 21244 | systems/texlive/tlnet/archive/seetexk.armhf-linux.r63092.tar.xz
-2022/04/21 | 21225 | macros/unicodetex/latex/einfart/einfart-doc-cn.tex
-2022/04/21 | 20973 | macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
-2022/04/21 | 208615 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
2022/04/21 | 2081 | macros/latex/contrib/easybook/easybook.ins
2022/04/21 | 20769 | graphics/pgf/contrib/tikzlings/tikzlings-doc.tex
-2022/04/21 | 20571 | macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
2022/04/21 | 205532 | systems/texlive/tlnet/archive/aleph.armhf-linux.r63092.tar.xz
-2022/04/21 | 20474 | macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
-2022/04/21 | 201834 | macros/latex/contrib/projlib/ProjLib-doc-fr.pdf
2022/04/21 | 2009138 | fonts/concmath-otf.zip
-2022/04/21 | 200297 | macros/latex/contrib/projlib/ProjLib-doc-en.pdf
-2022/04/21 | 19929 | macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
2022/04/21 | 198884 | systems/texlive/tlnet/archive/omegaware.armhf-linux.r63092.tar.xz
-2022/04/21 | 196422 | macros/latex/contrib/projlib/ProjLib.dtx
-2022/04/21 | 19106 | macros/unicodetex/latex/simplivre/LICENSE
-2022/04/21 | 19106 | macros/unicodetex/latex/lebhart/LICENSE
-2022/04/21 | 19106 | macros/unicodetex/latex/einfart/LICENSE
-2022/04/21 | 19106 | macros/unicodetex/latex/beaulivre/LICENSE
-2022/04/21 | 19106 | macros/latex/contrib/projlib/LICENSE
-2022/04/21 | 19106 | macros/latex/contrib/minimalist/LICENSE
-2022/04/21 | 19106 | macros/latex/contrib/colorist/LICENSE
-2022/04/21 | 19024 | macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
2022/04/21 | 18804 | systems/texlive/tlnet/archive/lacheck.armhf-linux.r63092.tar.xz
2022/04/21 | 1879784 | systems/texlive/tlnet/archive/luahbtex.armhf-linux.r63092.tar.xz
2022/04/21 | 18582 | fonts/concmath-otf/concmath-otf.ltx
@@ -825,39 +957,29 @@
2022/04/21 | 17294 | graphics/pgf/contrib/tikzlings/tikzlings-cats.sty
2022/04/21 | 171396 | systems/texlive/tlnet/archive/l3kernel.r63089.tar.xz
2022/04/21 | 16886 | fonts/concmath-otf/unimath-concrete.ltx
-2022/04/21 | 159934 | macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
2022/04/21 | 15992 | systems/texlive/tlnet/archive/dtl.armhf-linux.r63092.tar.xz
2022/04/21 | 15948 | macros/unicodetex/latex/unisc/unisc.dtx
2022/04/21 | 1585 | macros/unicodetex/latex/unisc/unisc.ins
2022/04/21 | 15764 | systems/texlive/tlnet/archive/patgen.armhf-linux.r63092.tar.xz
2022/04/21 | 15747 | graphics/pgf/contrib/tikzlings/tikzlings-coatis.sty
2022/04/21 | 157344 | systems/texlive/tlnet/archive/polyglossia.source.r63091.tar.xz
-2022/04/21 | 154559 | macros/unicodetex/latex/einfart/einfart-doc-en.pdf
2022/04/21 | 15400 | systems/texlive/tlnet/archive/l3backend.r63089.tar.xz
2022/04/21 | 1532360 | systems/texlive/tlnet/archive/dvisvgm.armhf-linux.r63092.tar.xz
2022/04/21 | 1520 | systems/texlive/tlnet/archive/luapstricks.doc.r63086.tar.xz
2022/04/21 | 15136 | macros/latex/contrib/spbmark/spbmark.tex
-2022/04/21 | 150838 | macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
2022/04/21 | 14 | macros/latex/contrib/postnotes/DEPENDS.txt
2022/04/21 | 14933 | macros/latex/contrib/spbmark/spbmark.sty
2022/04/21 | 149216 | systems/texlive/tlnet/archive/tex.armhf-linux.r63092.tar.xz
-2022/04/21 | 1478 | macros/unicodetex/latex/einfart/README.md
-2022/04/21 | 1475 | macros/unicodetex/latex/simplivre/README.md
-2022/04/21 | 147325 | macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
2022/04/21 | 1473172 | systems/texlive/tlnet/archive/luatex.armhf-linux.r63092.tar.xz
2022/04/21 | 14712 | systems/texlive/tlnet/archive/witharrows.r63087.tar.xz
2022/04/21 | 146772 | systems/texlive/tlnet/archive/metafont.armhf-linux.r63092.tar.xz
-2022/04/21 | 1460 | macros/unicodetex/latex/lebhart/README.md
-2022/04/21 | 1458 | macros/unicodetex/latex/beaulivre/README.md
2022/04/21 | 1434 | macros/latex/contrib/postnotes/postnotes-code.tex
2022/04/21 | 14308 | graphics/pgf/contrib/tikzlings/tikzlings-marmots.sty
2022/04/21 | 133592 | macros/unicodetex/latex/unisc/unisc.pdf
-2022/04/21 | 133200 | macros/latex/contrib/minimalist.zip
2022/04/21 | 133161 | macros/unicodetex/latex/unisc.zip
2022/04/21 | 13134 | graphics/pgf/contrib/tikzlings/tikzlings-bugs.sty
2022/04/21 | 13115 | graphics/pgf/contrib/tikzlings/tikzlings-sheep.sty
2022/04/21 | 1291 | macros/latex/contrib/hvextern/latex/hvextern-mp.cfg
-2022/04/21 | 125689 | macros/latex/contrib/colorist.zip
2022/04/21 | 12562 | graphics/pgf/contrib/tikzlings/tikzlings-anteaters.sty
2022/04/21 | 123533 | fonts/concmath-otf/concmath-otf.pdf
2022/04/21 | 12219 | graphics/pgf/contrib/tikzlings/tikzlings-wolves.sty
@@ -879,28 +1001,21 @@
2022/04/21 | 10722 | graphics/pgf/contrib/tikzlings/tikzlings-penguins.sty
2022/04/21 | 10506 | graphics/pgf/contrib/tikzlings/tikzlings-rhinos.sty
2022/04/21 | 104016 | systems/texlive/tlnet/archive/gregoriotex.armhf-linux.r63092.tar.xz
-2022/04/21 | 103724 | macros/latex/contrib/minimalist/minimalist-doc.pdf
-2022/04/21 | 102113 | macros/latex/contrib/colorist/colorist-doc.pdf
2022/04/21 | 10086 | graphics/pgf/contrib/tikzlings/tikzlings-snowmen.sty
2022/04/20 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
2022/04/20 | 966307 | macros/unicodetex/latex/polyglossia/polyglossia.dtx
-2022/04/20 | 9622 | macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
2022/04/20 | 96041 | macros/latex/contrib/l3experimental/l3galley.dtx
-2022/04/20 | 950936 | systems/texlive/tlnet/archive/tex4ht.r63082.tar.xz
2022/04/20 | 95026 | macros/latex/contrib/babel-contrib/french/frenchb-doc.tex
2022/04/20 | 948580 | install/macros/latex/contrib/l3backend.tds.zip
2022/04/20 | 9465 | macros/latex/contrib/l3kernel/l3news08.tex
2022/04/20 | 9436 | macros/latex/contrib/l3kernel/l3flag.dtx
-2022/04/20 | 9383 | macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
2022/04/20 | 93342 | macros/generic/witharrows/witharrows-french.tex
2022/04/20 | 9216 | macros/latex/contrib/l3kernel/l3unicode.dtx
2022/04/20 | 911407 | macros/latex/contrib/l3backend.zip
2022/04/20 | 908468 | macros/latex/contrib/l3backend/l3backend-code.pdf
2022/04/20 | 90470 | macros/latex/contrib/l3kernel/l3seq.dtx
2022/04/20 | 90018 | macros/latex/contrib/l3kernel/l3int.dtx
-2022/04/20 | 8887 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
2022/04/20 | 87493 | macros/latex/contrib/l3kernel/l3coffins.dtx
-2022/04/20 | 8579 | macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
2022/04/20 | 8481 | macros/latex/contrib/l3kernel/l3news11.tex
2022/04/20 | 84785 | macros/latex/contrib/l3kernel/l3fp-basics.dtx
2022/04/20 | 82707 | macros/latex/contrib/l3kernel/l3clist.dtx
@@ -918,51 +1033,30 @@
2022/04/20 | 744188 | systems/texlive/tlnet/archive/l3build.doc.r63079.tar.xz
2022/04/20 | 74225 | macros/latex/contrib/l3kernel/l3msg.dtx
2022/04/20 | 73835 | macros/latex/contrib/l3kernel/l3fp-trig.dtx
-2022/04/20 | 7336 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
2022/04/20 | 70685 | macros/latex/contrib/l3kernel/expl3.dtx
2022/04/20 | 70578 | macros/latex/contrib/l3kernel/l3fp.dtx
2022/04/20 | 6953226 | macros/latex/contrib/l3kernel/source3.pdf
2022/04/20 | 69454 | macros/latex/contrib/l3kernel/l3text-case.dtx
2022/04/20 | 69260 | macros/latex/contrib/l3kernel/l3candidates.dtx
-2022/04/20 | 6881 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
2022/04/20 | 686365 | macros/generic/witharrows/witharrows.pdf
2022/04/20 | 6677 | macros/latex/contrib/l3kernel/l3news02.tex
2022/04/20 | 667718 | macros/latex/contrib/l3experimental/l3draw-code.pdf
-2022/04/20 | 6673 | macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
-2022/04/20 | 662266 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
2022/04/20 | 66196 | macros/latex/contrib/l3kernel/l3prg.dtx
2022/04/20 | 6482 | macros/latex/contrib/l3kernel/l3news03.tex
2022/04/20 | 6450 | macros/latex/contrib/l3kernel/l3term-glossary.tex
-2022/04/20 | 6442552 | macros/latex/contrib/tuda-ci.zip
2022/04/20 | 6433 | macros/latex/contrib/l3kernel/l3news06.tex
-2022/04/20 | 6365 | macros/latex/contrib/tuda-ci/tex/tudarules.sty
-2022/04/20 | 635708 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
-2022/04/20 | 627482 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
2022/04/20 | 6267 | macros/latex/contrib/l3kernel/l3syntax-changes.tex
2022/04/20 | 622328 | macros/latex/contrib/l3kernel/expl3.pdf
2022/04/20 | 6182 | macros/latex/contrib/l3kernel/l3.ins
-2022/04/20 | 598742 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
-2022/04/20 | 5859 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
2022/04/20 | 58366 | macros/latex/contrib/l3experimental/xgalley.dtx
-2022/04/20 | 5817 | macros/latex/contrib/tuda-ci/tex/tudacolors.sty
2022/04/20 | 57887 | macros/latex/contrib/l3kernel/l3prop.dtx
2022/04/20 | 575535 | macros/latex/contrib/babel-contrib/french.zip
2022/04/20 | 57181 | macros/latex/contrib/l3kernel/l3tl-analysis.dtx
-2022/04/20 | 571481 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
-2022/04/20 | 567048 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
2022/04/20 | 5653 | macros/latex/contrib/l3experimental/l3draw-layers.dtx
-2022/04/20 | 563716 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
2022/04/20 | 562048 | macros/unicodetex/latex/polyglossia.zip
-2022/04/20 | 559870 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
2022/04/20 | 554292 | macros/latex/contrib/l3kernel/l3doc.pdf
-2022/04/20 | 551791 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
2022/04/20 | 549 | macros/latex/contrib/l3backend/README.md
-2022/04/20 | 5433 | macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
2022/04/20 | 5429 | macros/latex/contrib/l3kernel/l3news04.tex
-2022/04/20 | 5391 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
-2022/04/20 | 5381 | macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
-2022/04/20 | 536007 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
-2022/04/20 | 527056 | macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
2022/04/20 | 517252 | macros/latex/contrib/l3experimental/l3draw.pdf
2022/04/20 | 51059 | macros/latex/contrib/l3kernel/l3fp-extended.dtx
2022/04/20 | 4977 | macros/latex/contrib/l3kernel/l3news07.tex
@@ -976,13 +1070,10 @@
2022/04/20 | 450336 | systems/texlive/tlnet/archive/msu-thesis.doc.r63080.tar.xz
2022/04/20 | 4458126 | install/macros/latex/contrib/l3experimental.tds.zip
2022/04/20 | 4448 | macros/latex/contrib/l3experimental/l3draw-state.dtx
-2022/04/20 | 4441 | macros/latex/contrib/tuda-ci/tex/tudacolors.def
2022/04/20 | 4420859 | macros/latex/contrib/l3experimental.zip
2022/04/20 | 43689 | macros/latex/contrib/l3kernel/l3prefixes.csv
-2022/04/20 | 4328 | macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
2022/04/20 | 4323 | macros/latex/contrib/l3experimental/l3draw-boxes.dtx
2022/04/20 | 43210 | macros/latex/contrib/l3kernel/l3debug.dtx
-2022/04/20 | 43014 | macros/latex/contrib/tuda-ci/tex/tudapub.cls
2022/04/20 | 4284 | macros/latex/contrib/l3experimental/README.md
2022/04/20 | 4265 | macros/latex/contrib/l3backend/l3backend.ins
2022/04/20 | 42558 | macros/latex/contrib/l3experimental/l3draw.dtx
@@ -995,9 +1086,7 @@
2022/04/20 | 394009 | macros/latex/contrib/l3experimental/xcoffins.pdf
2022/04/20 | 3929 | macros/latex/contrib/l3kernel/README.md
2022/04/20 | 39264 | macros/latex/contrib/l3kernel/l3text.dtx
-2022/04/20 | 3871 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
2022/04/20 | 381672 | macros/latex/contrib/l3experimental/l3graphics.pdf
-2022/04/20 | 3815 | macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
2022/04/20 | 367526 | macros/latex/contrib/l3experimental/l3str-format.pdf
2022/04/20 | 36026 | macros/latex/contrib/l3experimental/l3draw-points.dtx
2022/04/20 | 35776 | systems/texlive/tlnet/archive/l3build.r63079.tar.xz
@@ -1012,14 +1101,10 @@
2022/04/20 | 334603 | macros/latex/contrib/l3experimental/l3opacity.pdf
2022/04/20 | 331352 | macros/latex/contrib/babel-contrib/french/frenchb.pdf
2022/04/20 | 33116 | macros/latex/contrib/l3kernel/l3sys.dtx
-2022/04/20 | 3287 | macros/latex/contrib/tuda-ci/tex/tudafonts.sty
-2022/04/20 | 32571 | macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
2022/04/20 | 32508 | macros/latex/contrib/l3experimental/l3draw-paths.dtx
2022/04/20 | 32430 | macros/latex/contrib/l3kernel/l3cctab.dtx
2022/04/20 | 32139 | graphics/pstricks/contrib/luapstricks.zip
2022/04/20 | 31828 | macros/latex/contrib/l3experimental/l3str-format.dtx
-2022/04/20 | 31766 | macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
-2022/04/20 | 3175 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
2022/04/20 | 30900 | systems/texlive/tlnet/archive/l3build.source.r63079.tar.xz
2022/04/20 | 308083 | macros/latex/contrib/l3experimental/l3benchmark.pdf
2022/04/20 | 303561 | macros/latex/contrib/l3kernel/l3regex.dtx
@@ -1027,13 +1112,9 @@
2022/04/20 | 299230 | macros/latex/contrib/l3experimental/xgalley.pdf
2022/04/20 | 295814 | macros/latex/contrib/l3kernel/l3styleguide.pdf
2022/04/20 | 29465 | macros/latex/contrib/l3backend/l3backend-graphics.dtx
-2022/04/20 | 29286 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
2022/04/20 | 2821 | macros/latex/contrib/l3kernel/l3prefixes.tex
2022/04/20 | 281810 | macros/generic/witharrows/witharrows.dtx
-2022/04/20 | 28156 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
-2022/04/20 | 28056 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
2022/04/20 | 269827 | macros/generic/witharrows/witharrows-french.pdf
-2022/04/20 | 2644 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
2022/04/20 | 25753 | macros/latex/contrib/l3experimental/l3graphics.dtx
2022/04/20 | 25650 | macros/latex/contrib/l3kernel/l3fp-random.dtx
2022/04/20 | 250139 | macros/latex/contrib/l3kernel/l3news09.pdf
@@ -1042,21 +1123,16 @@
2022/04/20 | 242479 | macros/latex/contrib/l3kernel/l3syntax-changes.pdf
2022/04/20 | 2390 | macros/latex/contrib/l3kernel/l3docstrip.dtx
2022/04/20 | 238965 | macros/latex/contrib/babel-contrib/french/frenchb.dtx
-2022/04/20 | 2350 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
2022/04/20 | 230878 | macros/latex/contrib/l3kernel/l3term-glossary.pdf
2022/04/20 | 23011 | macros/latex/contrib/l3kernel/l3fp-logic.dtx
2022/04/20 | 2229 | macros/latex/contrib/l3kernel/source3.tex
-2022/04/20 | 2180 | macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
-2022/04/20 | 2172 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
2022/04/20 | 21643 | macros/latex/contrib/l3kernel/l3text-purify.dtx
2022/04/20 | 21142 | macros/latex/contrib/l3kernel/l3deprecation.dtx
2022/04/20 | 204990 | macros/latex/contrib/l3kernel/l3news12.pdf
2022/04/20 | 20451 | macros/latex/contrib/l3experimental/l3draw-softpath.dtx
2022/04/20 | 20165 | macros/latex/contrib/l3kernel/l3luatex.dtx
2022/04/20 | 19641 | macros/latex/contrib/l3kernel/l3fp-convert.dtx
-2022/04/20 | 19585 | macros/latex/contrib/tuda-ci/tex/tudaposter.cls
2022/04/20 | 1942 | macros/unicodetex/latex/polyglossia/README.md
-2022/04/20 | 19113 | macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
2022/04/20 | 1908 | macros/latex/contrib/l3kernel/interface3.tex
2022/04/20 | 1906 | macros/latex/contrib/l3experimental/l3draw.ins
2022/04/20 | 18695 | macros/latex/contrib/l3experimental/l3bitset.dtx
@@ -1064,15 +1140,6 @@
2022/04/20 | 17742 | CTAN.sites
2022/04/20 | 1763854 | macros/latex/contrib/l3kernel/interface3.pdf
2022/04/20 | 170063 | macros/latex/contrib/l3kernel/l3news11.pdf
-2022/04/20 | 16948 | macros/latex/contrib/tuda-ci/README.md
-2022/04/20 | 1686 | macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
-2022/04/20 | 1685 | macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
-2022/04/20 | 1684 | macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
-2022/04/20 | 1684 | macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
-2022/04/20 | 1682 | macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
-2022/04/20 | 1680 | macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
-2022/04/20 | 16690 | macros/latex/contrib/tuda-ci/tex/tudaletter.cls
-2022/04/20 | 16613 | macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
2022/04/20 | 16509 | macros/latex/contrib/l3experimental/l3benchmark.dtx
2022/04/20 | 163454 | macros/latex/contrib/l3kernel/l3news08.pdf
2022/04/20 | 1624 | macros/latex/contrib/l3experimental/xgalley.ins
@@ -1098,9 +1165,7 @@
2022/04/20 | 14669 | macros/latex/contrib/l3backend/l3backend-header.dtx
2022/04/20 | 144661 | macros/latex/contrib/l3kernel/l3tl.dtx
2022/04/20 | 14431 | macros/latex/contrib/l3backend/l3backend-box.dtx
-2022/04/20 | 13710 | macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
2022/04/20 | 13668748 | install/macros/latex/contrib/l3kernel.tds.zip
-2022/04/20 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r63082.tar.xz
2022/04/20 | 136306 | macros/latex/contrib/l3kernel/l3file.dtx
2022/04/20 | 1360 | macros/latex/contrib/l3experimental/l3draw-code.tex
2022/04/20 | 13413397 | macros/latex/contrib/l3kernel.zip
@@ -1110,7 +1175,6 @@
2022/04/20 | 128309 | macros/latex/contrib/l3kernel/l3news07.pdf
2022/04/20 | 12783 | macros/latex/contrib/l3kernel/l3fp-traps.dtx
2022/04/20 | 127089 | macros/latex/contrib/l3kernel/l3keys.dtx
-2022/04/20 | 1250500 | systems/texlive/tlnet/archive/tex4ht.source.r63082.tar.xz
2022/04/20 | 124021 | macros/latex/contrib/l3kernel/l3token.dtx
2022/04/20 | 12361 | macros/latex/contrib/l3experimental/l3sys-shell.dtx
2022/04/20 | 122710 | macros/latex/contrib/l3kernel/l3news01.pdf
@@ -1128,7 +1192,6 @@
2022/04/20 | 105029 | macros/latex/contrib/l3kernel/l3fp-parse.dtx
2022/04/20 | 10136 | macros/latex/contrib/l3experimental/l3draw-transforms.dtx
2022/04/20 | 1007901 | macros/generic/witharrows.zip
-2022/04/20 | 10078 | macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
2022/04/20 | 10018 | macros/latex/contrib/l3experimental/l3draw-scopes.dtx
2022/04/19 | 9510 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
2022/04/19 | 8880 | systems/texlive/tlnet/archive/zwpagelayout.r63074.tar.xz
@@ -1170,7 +1233,6 @@
2022/04/19 | 2149 | macros/latex/contrib/l3build/l3build-clean.lua
2022/04/19 | 19964 | systems/texlive/tlnet/archive/xduts.source.r63075.tar.xz
2022/04/19 | 196098 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf
-2022/04/19 | 189153 | support/TeX4ht/source/ChangeLog
2022/04/19 | 1889696 | systems/texlive/tlnet/archive/utfsym.r63076.tar.xz
2022/04/19 | 1816 | macros/latex/contrib/l3build/l3build.1
2022/04/19 | 1806 | macros/latex/contrib/msu-thesis/README.md
@@ -1184,50 +1246,3 @@
2022/04/19 | 10836 | macros/latex/contrib/l3build/l3build-install.lua
2022/04/19 | 10786 | macros/latex/contrib/l3build/l3build-manifest-setup.lua
2022/04/19 | 1019 | macros/latex/contrib/l3build/README.md
-2022/04/18 | 94215 | systems/texlive/tlnet/tlpkg/translations/fr.po
-2022/04/18 | 91770 | macros/latex/contrib/zwpagelayout/adjustfoot.pdf
-2022/04/18 | 91530 | macros/latex/contrib/zwpagelayout/adjusthead.pdf
-2022/04/18 | 8880 | systems/texlive/tlnet/archive/create-theorem.r63059.tar.xz
-2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2022/04/18 | 775281 | macros/latex/contrib/zwpagelayout.zip
-2022/04/18 | 7492 | systems/texlive/tlnet/archive/hanzibox.r63062.tar.xz
-2022/04/18 | 7464 | systems/texlive/tlnet/archive/jacow.r63060.tar.xz
-2022/04/18 | 699 | macros/luatex/latex/luamathalign/build.lua
-2022/04/18 | 69553 | macros/latex/contrib/zwpagelayout/zwpagelayout.tex
-2022/04/18 | 68722 | macros/latex/contrib/zwpagelayout/coversample.pdf
-2022/04/18 | 683 | macros/luatex/latex/luamathalign/luamathalign-luacmd.lua
-2022/04/18 | 676 | macros/luatex/latex/luamathalign/README.md
-2022/04/18 | 6530598 | graphics/pgf/contrib/utfsym.zip
-2022/04/18 | 593704 | systems/texlive/tlnet/archive/hanzibox.doc.r63062.tar.xz
-2022/04/18 | 501158 | macros/latex/contrib/zwpagelayout/zwpagelayout.pdf
-2022/04/18 | 463660 | macros/xetex/latex/xduts/xidian-logo.pdf
-2022/04/18 | 42116 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
-2022/04/18 | 416455 | macros/xetex/latex/xduts/xidian-text.pdf
-2022/04/18 | 395329 | macros/luatex/latex/luamathalign.zip
-2022/04/18 | 391838 | macros/luatex/latex/luamathalign/luamathalign.pdf
-2022/04/18 | 38007 | systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm
-2022/04/18 | 362418 | macros/xetex/latex/xduts/xduts.pdf
-2022/04/18 | 36154 | macros/latex/contrib/zwpagelayout/zwpagelayout.sty
-2022/04/18 | 34540 | systems/texlive/tlnet/tlpkg/installer/install-menu-text.pl
-2022/04/18 | 320038 | macros/latex/contrib/adjmulticol.zip
-2022/04/18 | 2841 | macros/xetex/latex/xduts/README.md
-2022/04/18 | 264036 | systems/texlive/tlnet/archive/jacow.doc.r63060.tar.xz
-2022/04/18 | 254528 | systems/texlive/tlnet/archive/bxorigcapt.doc.r63058.tar.xz
-2022/04/18 | 2504 | systems/texlive/tlnet/archive/bxorigcapt.r63058.tar.xz
-2022/04/18 | 224040 | systems/texlive/tlnet/archive/xcharter.doc.r63057.tar.xz
-2022/04/18 | 2200760 | systems/texlive/tlnet/archive/xcharter.r63057.tar.xz
-2022/04/18 | 21375 | macros/luatex/latex/luamathalign/luamathalign.dtx
-2022/04/18 | 2058272 | systems/texlive/tlnet/archive/arara.doc.r63054.tar.xz
-2022/04/18 | 19544 | systems/texlive/tlnet/archive/hanzibox.source.r63062.tar.xz
-2022/04/18 | 1715624 | systems/texlive/tlnet/archive/asymptote.amd64-freebsd.r63051.tar.xz
-2022/04/18 | 155646 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm
-2022/04/18 | 129976 | systems/texlive/tlnet/archive/create-theorem.doc.r63059.tar.xz
-2022/04/18 | 1271 | macros/latex/contrib/zwpagelayout/README
-2022/04/18 | 1258572 | macros/xetex/latex/xduts.zip
-2022/04/18 | 12167 | systems/texlive/tlnet/tlpkg/TeXLive/TLConfig.pm
-2022/04/18 | 1122 | macros/luatex/latex/luamathalign/luamathalign-luaprop.lua
-2022/04/18 | 108451 | systems/texlive/tlnet/install-tl
-2022/04/18 | 10626804 | systems/texlive/tlnet/archive/arara.r63054.tar.xz
-2022/04/18 | 1037 | macros/xetex/latex/xduts/xduts.ins
-2022/04/18 | 103366 | macros/xetex/latex/xduts/xduts.dtx
-2022/04/18 | 100224 | systems/texlive/tlnet/archive/arara.source.r63054.tar.xz
diff --git a/macros/latex/contrib/circledtext/README.md b/macros/latex/contrib/circledtext/README.md
new file mode 100644
index 0000000000..6c49b9f7cd
--- /dev/null
+++ b/macros/latex/contrib/circledtext/README.md
@@ -0,0 +1,60 @@
+Create circled text based on l3draw
+=======
+
+`circledtext` is a LaTeX3 package developed based on l3draw, which provides macros `\circledtext`.
+
+You can read the manual (in Chinese/English) for more details and examples.
+
+Contributing
+------------
+
+1. github repository:
+ 1. repository: [circledtext](https://github.com/registor/circledtext)
+ 2. Issues and pull requests are welcome. [issue](https://github.com/registor/circledtext/issues) or [pull request](https://github.com/registor/circledtext/pulls).
+
+2. gitee repository:
+ 1. repository: [circledtext](https://gitee.com/nwafu_nan/circledtext)
+ 2. Issues and pull requests are welcome. [issue](https://gitee.com/nwafu_nan/circledtext/issues) or [pull request](https://gitee.com/nwafu_nan/circledtext/pulls).
+
+基于l3draw的带圈字符(串)生成宏包
+=======
+
+`circledtext`是一个基于l3draw用LaTeX3开发的带圈字符(串)生成宏包,它提供了用于排版带圈字符(串)的命令`\circledtext`用于实现带圈字符(串)排版。
+
+可以通过阅读宏包手册(中文/英文)以了解该宏包更多的使用细节和使用样例。
+
+### 参与贡献
+---------------------
+
+1. github仓库:
+ (1). 仓库地址: [circledtext](https://github.com/registor/circledtext)
+ (2). Issues和PR: [issue](https://github.com/registor/circledtext/issues) or [pull request](https://github.com/registor/circledtext/pulls).
+
+2. gitee仓库:
+ (1). 仓库地址: [circledtext](https://gitee.com/nwafu_nan/circledtext)
+ (2). Issues and PR: [issue](https://gitee.com/nwafu_nan/circledtext/issues) or [pull request](https://gitee.com/nwafu_nan/circledtext/pulls).
+
+Copyright and Licence
+---------------------
+
+ Copyright (C) 2020-2022 by Nan Geng <nangeng@nwafu.edu.cn>
+ ----------------------------------------------------------------------
+
+ This work may be distributed and/or modified under the
+ conditions of the LaTeX Project Public License, either
+ version 1.3c of this license or (at your option) any later
+ version. This version of this license is in
+ http://www.latex-project.org/lppl/lppl-1-3c.txt
+ and 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 Nan Geng.
+
+ This package consists of circledtext.sty, circledtext.tex and README.md(this file),
+ and the derived files circledtext.pdf.
+
+
diff --git a/macros/latex/contrib/circledtext/build.sh b/macros/latex/contrib/circledtext/build.sh
new file mode 100755
index 0000000000..7da6da74cf
--- /dev/null
+++ b/macros/latex/contrib/circledtext/build.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+
+xelatex circledtext.tex &&\
+makeindex -s gind.ist -o circledtext.ind circledtext.idx &&\
+makeindex -s gglo.ist -o circledtext.gls circledtext.glo &&\
+xelatex circledtext.tex &&\
+xelatex circledtext.tex &&\
+xelatex circledtext.tex
diff --git a/macros/latex/contrib/circledtext/circledtext.pdf b/macros/latex/contrib/circledtext/circledtext.pdf
new file mode 100644
index 0000000000..aa7369ad60
--- /dev/null
+++ b/macros/latex/contrib/circledtext/circledtext.pdf
Binary files differ
diff --git a/macros/latex/contrib/circledtext/circledtext.sty b/macros/latex/contrib/circledtext/circledtext.sty
new file mode 100644
index 0000000000..d8f125043f
--- /dev/null
+++ b/macros/latex/contrib/circledtext/circledtext.sty
@@ -0,0 +1,952 @@
+%% Copyright (C) 2020-2022 by Nan Geng <nangeng@nwafu.edu.cn>
+%% --------------------------------------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3c of this license or (at your option) any later
+%% version. This version of this license is in
+%% http://www.latex-project.org/lppl/lppl-1-3c.txt
+%% and 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 Nan Geng.
+%%
+%% --------------------------------------------------------------------------
+%%
+\NeedsTeXFormat{LaTeX2e}[2020/10/01]
+\RequirePackage{expl3}
+\ProvidesExplPackage{circledtext}{2022-04-24}{v1.0.0}
+ {Typeset circled text with l3draw}
+
+\RequirePackage { xtemplate, l3keys2e, l3draw, xparse }
+
+% 保证TeXLive的向下兼容
+\cs_if_free:NT \box_ht_plus_dp:N
+ {
+ \cs_new_protected:Npn \box_ht_plus_dp:N #1
+ { \tex_dimexpr:D \box_ht:N #1 + \box_dp:N #1 \scan_stop: }
+ }
+
+% 带圈文字用户接口
+% #1 *号命令,实现阴文
+% #2 格式选项
+% #3 文字
+\NewDocumentCommand{\circledtext}{ s O{} m }
+ {
+ \group_begin:
+ \IfBooleanTF{ #1 }
+ {
+ \bool_set_true:N \l__circledtext_negative_bool
+ }{
+ \bool_set_false:N \l__circledtext_negative_bool
+ }
+ \__circledtext_handle:nn { #2 } { #3 }
+ \group_end:
+ }
+
+% 是否反白标志
+\bool_new:N \l__circledtext_negative_bool
+
+% 基字符盒子
+\box_new:N \l__circledtext_basebox_box
+
+% 字符盒子类型
+\tl_new:N \l__circledtext_char_box_type_tl
+% 字符盒子类型列表
+\clist_new:N \g__circledtext_char_box_list_clist
+
+% 缩放方式
+\tl_new:N \l__circledtext_resize_method_tl
+% 缩放方式列表
+\clist_new:N \g__circledtext_resize_method_clist
+
+% 基字符盒子正方形连长
+\dim_new:N \l__circledtext_char_box_size_dim
+% 基字符盒子正方形外接圆半径
+\dim_new:N \l__circledtext_char_box_radius_dim
+% 基字符宽度
+\dim_new:N \l__circledtext_char_width_dim
+% 基字符高度
+\dim_new:N \l__circledtext_char_height_dim
+% 字符(串)盒子宽度
+\dim_new:N \l__circledtext_box_width_dim
+% 字符(串)盒子高度
+\dim_new:N \l__circledtext_box_height_dim
+% 字符(串)外框线宽
+\dim_new:N \l__circledtext_box_linewidth_dim
+% 字符(串)内部十字、米字装饰线线宽
+\dim_new:N \l__circledtext_cross_linewidth_dim
+% 字符(串)深度(带格式)
+\dim_new:N \l__circledtext_char_dp_dim
+
+% 字符(串)盒子容器
+\coffin_new:N \l__circledtext_str_box_coffin
+% 字符框盒子容器
+\coffin_new:N \l__circledtext_box_coffin
+% 字符盒子容器
+\coffin_new:N \l__circledtext_char_coffin
+% 临时盒子容器
+\coffin_new:N \l__circledtext_tmpa_coffin
+% 临时盒子容器
+\coffin_new:N \l__circledtext_tmpb_coffin
+
+% 基字符宽度
+\dim_new:N \charboxwd
+% 基字符高度
+\dim_new:N \charboxht
+
+% 待处理字符(串)
+\tl_new:N \l__circledtext_chars_tl
+% 字符(串)排版格式
+\tl_new:N \l__circledtext_character_format_tl
+% 内部十字、米字装饰线颜色点边框颜色比例
+\int_new:N \l__circledtext_cross_color_ratio_int
+\int_set:Nn \l__circledtext_cross_color_ratio_int { 30 }
+% 字符(串)的字形类型(实线、虚线等)
+\int_new:N \l__circledtext_charstroke_type_int
+
+% 填充色辅助函数
+\cs_new_nopar:Nn \__circledtext_aux_color_boxfill:
+ { }
+
+% 颜色命名函数
+% #1 颜色名称
+% #2 颜色表达式
+\cs_set_nopar:Npn \__circledtext_color_select:nn #1#2
+ {
+ \color_set:nn {#1} {#2}
+ }
+\cs_generate_variant:Nn \__circledtext_color_select:nn {nx}
+
+% 颜色命名函数
+% #1 颜色名称
+% #2 颜色空间
+% #3 颜色分量值
+\cs_set_nopar:Npn \__circledtext_color_select:nnn #1#2#3
+ {
+ \color_set:nnn {#1} {#2} {#3}
+ }
+\cs_generate_variant:Nn \__circledtext_color_select:nnn {nnx}
+
+% 计算基字符的宽和高
+\cs_new:Npn \__circledtext_calc_basechar_w_h:
+ {
+ \dim_set:Nn \l__circledtext_char_width_dim
+ {
+ \box_wd:N \l__circledtext_basebox_box
+ }
+ \dim_set:Nn \l__circledtext_char_height_dim
+ {
+ \box_ht_plus_dp:N \l__circledtext_basebox_box
+ }
+ }
+
+% 盒子容器总高度计算函数
+\cs_new_nopar:Npn \__circledtext_coffin_ht_plus_dp:N #1
+ {
+ \coffin_ht:N #1 + \coffin_dp:N #1
+ }
+
+% 计算基字符外框大小(外接正方形边长和外接圆半径)
+\cs_new:Npn \__circledtext_calc_char_box_size:
+ {
+ % 设置基字符格式的基字符盒子
+ \hbox_set:Nn \l_tmpa_box
+ {
+ \tl_use:N \l__circledtext_character_format_tl
+ \tl_use:N \c__circledtext_basechar_tl
+ }
+
+ % 盒子宽度
+ \dim_set:Nn \l_tmpa_dim
+ {
+ \box_wd:N \l_tmpa_box
+ }
+ % 盒子高度
+ \dim_set:Nn \l_tmpb_dim
+ {
+ \box_ht_plus_dp:N \l_tmpa_box
+ }
+
+ % 盒子深度
+ \dim_set:Nn \l__circledtext_char_dp_dim
+ {
+ \box_dp:N \l_tmpa_box
+ }
+
+ % 正方形边长
+ \dim_compare:nNnTF \l_tmpa_dim > \l_tmpb_dim
+ {
+ \dim_gset_eq:NN \l__circledtext_char_box_size_dim \l_tmpa_dim
+ }
+ {
+ \dim_gset_eq:NN \l__circledtext_char_box_size_dim \l_tmpb_dim
+ }
+
+ % 设置基字符盒子正方形宽和高(相等)
+ \dim_gset_eq:NN \charboxwd \l__circledtext_char_box_size_dim
+ \dim_gset_eq:NN \charboxht \l__circledtext_char_box_size_dim
+
+ % 外接圆半径
+ \dim_gset:Nn \l__circledtext_char_box_radius_dim
+ {
+ \fp_to_dim:n
+ {
+ \fp_eval:n { \l__circledtext_char_box_size_dim * sqrt(2)/ 2 }
+ }
+ }
+ }
+
+% 字符盒子构造类型函数名称生成函数
+% 名称中6个参数分别表示:
+% #1 左下角x坐标
+% #2 左下角y坐标
+% #3 右上角x坐标
+% #4 右上角y坐标
+% #5 x方向缩放比例(扩展保留参数)
+% #6 y方向缩放比例(扩展保留参数)
+\cs_new_nopar:Npn \__circledtext_char_box_type:n #1
+ {
+ __circledtext_char_box_construct_type_ #1 :nnnnnn
+ }
+% 字符盒子构造类型函数名称命令生成函数
+% 名称命令中6个参数分别表示:
+% #1 左下角x坐标
+% #2 左下角y坐标
+% #3 右上角x坐标
+% #4 右上角y坐标
+% #5 x方向缩放比例(扩展保留参数)
+% #6 y方向缩放比例(扩展保留参数)
+\cs_new_nopar:Npn \__circledtext_char_box_type_c:n #1
+ {
+ \use:c
+ {
+ __circledtext_char_box_construct_type_ #1 :nnnnnn
+ }
+ }
+
+% 字符盒子构造类型函数生成器函数
+% #1 类型名称
+\cs_new:Npn \__circledtext_new_char_box_construct:nn #1
+ {
+ % 将类型名称记入clist
+ \clist_put_right:Nn \g__circledtext_char_box_list_clist {#1}
+ % 类似\cs_new:cn __circledtext_char_box_construct_type_none:nnnnnn
+ \cs_new:cn { \__circledtext_char_box_type:n {#1} }
+ }
+
+% 定义字符边框盒子类型
+
+% 无边框
+\__circledtext_new_char_box_construct:nn { none } { }
+
+% 实心正方形
+\__circledtext_new_char_box_construct:nn { filledsquare }
+ {
+ \cs_if_eq:NNF \__circledtext_aux_color_boxfill: \c_empty_tl
+ {
+ \__circledtext_aux_color_boxfill:
+ \draw_scope_begin:
+ \bool_if:NTF \l__circledtext_negative_bool
+ {
+ \color_fill:n { circledtextcharcolor }
+ }{
+ \color_fill:n { circledtextboxfill }
+ }
+ % \color_fill:n { circledtextboxfill }
+ \draw_path_rectangle:nn { #1, #2 } { #3, #4 }
+ \draw_path_use_clear:n { fill }
+ \draw_scope_end:
+ }
+ }
+
+% 外框正方形
+\__circledtext_new_char_box_construct:nn { boxsquare }
+ {
+ \draw_scope_begin:
+ \color_stroke:n { circledtextcharboxcolor }
+ \draw_path_rectangle:nn { #1, #2 } { #3, #4 }
+ \draw_path_use_clear:n { stroke }
+ \draw_scope_end:
+ }
+
+% 正方形对角十字线
+\__circledtext_new_char_box_construct:nn { dcrosssquare }
+ {
+ \draw_scope_begin:
+ \tl_if_empty:NF \l__circledtext_dash_pattern_tl
+ {
+ \exp_args:No \draw_dash_pattern:nn { \l__circledtext_dash_pattern_tl } { 0pt }
+ }
+ \draw_linewidth:n{ \l__circledtext_cross_linewidth_dim }
+ \color_stroke:n { circledtextcrosscolor }
+ \draw_path_moveto:n { #1, #2 }
+ \draw_path_lineto:n { #3, #4 }
+ \draw_path_moveto:n { #1, #4 }
+ \draw_path_lineto:n { #3, #2 }
+ \draw_path_use_clear:n { stroke }
+ \draw_scope_end:
+ }
+
+% 对角十字线
+\__circledtext_new_char_box_construct:nn { crosssquare }
+ {
+ \draw_scope_begin:
+ \tl_if_empty:NF \l__circledtext_dash_pattern_tl
+ {
+ \exp_args:No \draw_dash_pattern:nn { \l__circledtext_dash_pattern_tl } { 0pt }
+ }
+ \draw_linewidth:n{ \l__circledtext_cross_linewidth_dim }
+ \color_stroke:n { circledtextcrosscolor }
+ \draw_path_moveto:n { #3/2, #2 }
+ \draw_path_lineto:n { #3/2, #4 }
+ \draw_path_moveto:n { #1, #4/2 }
+ \draw_path_lineto:n { #3, #4/2 }
+ \draw_path_use_clear:n { stroke }
+ \draw_scope_end:
+ }
+
+% 实心圆
+\__circledtext_new_char_box_construct:nn { filledcircle }
+ {
+ \cs_if_eq:NNF \__circledtext_aux_color_boxfill: \c_empty_tl
+ {
+ \__circledtext_aux_color_boxfill:
+ \draw_scope_begin:
+ \bool_if:NTF \l__circledtext_negative_bool
+ {
+ \color_fill:n { circledtextcharcolor }
+ }{
+ \color_fill:n { circledtextboxfill }
+ }
+ % \color_fill:n { circledtextboxfill }
+ \draw_path_circle:nn
+ { \draw_point_interpolate_line:nnn { 0.5 } { #1, #2} { #3, #4} }
+ { \l__circledtext_char_box_radius_dim }
+ \draw_path_use_clear:n { fill }
+ \draw_scope_end:
+ }
+ }
+
+% 外框圆
+\__circledtext_new_char_box_construct:nn { boxcircle }
+ {
+ \draw_scope_begin:
+ \color_stroke:n { circledtextcharboxcolor }
+ \draw_path_circle:nn
+ { \draw_point_interpolate_line:nnn { 0.5 } { #1, #2} { #3, #4} }
+ { \l__circledtext_char_box_radius_dim }
+ \draw_path_use_clear:n { stroke }
+ \draw_scope_end:
+ }
+
+% 十字线
+\__circledtext_new_char_box_construct:nn { cross }
+ {
+ \draw_scope_begin:
+ \tl_if_empty:NF \l__circledtext_dash_pattern_tl
+ {
+ \exp_args:No \draw_dash_pattern:nn { \l__circledtext_dash_pattern_tl } { 0pt }
+ }
+ \draw_linewidth:n{ \l__circledtext_cross_linewidth_dim }
+ \color_stroke:n { circledtextcrosscolor }
+ \draw_path_moveto:n
+ {
+ \draw_point_intersect_line_circle:nnnnn
+ { #3/2, #2 } % line's first point
+ { #3/2, #4 } % line's second point
+ { \draw_point_interpolate_line:nnn { 0.5 } { #1, #2} { #3, #4} }
+ { \l__circledtext_char_box_radius_dim }
+ {1} % index of intersect
+ }
+ \draw_path_lineto:n
+ {
+ \draw_point_intersect_line_circle:nnnnn
+ { #3/2, #2 } % line's first point
+ { #3/2, #4 } % line's second point
+ { \draw_point_interpolate_line:nnn { 0.5 } { #1, #2} { #3, #4} }
+ { \l__circledtext_char_box_radius_dim }
+ {2} % index of intersect
+ }
+ \draw_path_moveto:n
+ {
+ \draw_point_intersect_line_circle:nnnnn
+ { #1, #4/2 } % line's first point
+ { #3, #4/2 } % line's second point
+ { \draw_point_interpolate_line:nnn { 0.5 } { #1, #2} { #3, #4} }
+ { \l__circledtext_char_box_radius_dim }
+ {1} % index of intersect
+ }
+ \draw_path_lineto:n
+ {
+ \draw_point_intersect_line_circle:nnnnn
+ { #1, #4/2 } % line's first point
+ { #3, #4/2 } % line's second point
+ { \draw_point_interpolate_line:nnn { 0.5 } { #1, #2} { #3, #4} }
+ { \l__circledtext_char_box_radius_dim }
+ {2} % index of intersect
+ }
+ \draw_path_use_clear:n { stroke }
+ \draw_scope_end:
+ }
+
+% 对角十字线
+\__circledtext_new_char_box_construct:nn { dcross }
+ {
+ \draw_scope_begin:
+ \tl_if_empty:NF \l__circledtext_dash_pattern_tl
+ {
+ \exp_args:No \draw_dash_pattern:nn { \l__circledtext_dash_pattern_tl } { 0pt }
+ }
+ \draw_linewidth:n{ \l__circledtext_cross_linewidth_dim }
+ \color_stroke:n { circledtextcrosscolor }
+ \draw_path_moveto:n { #1, #2 }
+ \draw_path_lineto:n { #3, #4 }
+ \draw_path_moveto:n { #1, #4 }
+ \draw_path_lineto:n { #3, #2 }
+ \draw_path_use_clear:n { stroke }
+ \draw_scope_end:
+ }
+
+% 米字线
+\__circledtext_new_char_box_construct:nn { x+ }
+ {
+ \__circledtext_char_box_type_c:n { dcross } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { cross } {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+
+% 带边框实心圆
+\__circledtext_new_char_box_construct:nn { o }
+ {
+ \__circledtext_char_box_type_c:n { filledcircle } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { boxcircle } {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+
+% 带边框和内十字线实心圆
+\__circledtext_new_char_box_construct:nn { o+ }
+ {
+ \__circledtext_char_box_type_c:n { filledcircle } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { cross } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { boxcircle } {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+
+% 带边框和内对角十字线实心圆
+\__circledtext_new_char_box_construct:nn { ox }
+ {
+ \__circledtext_char_box_type_c:n { filledcircle } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { dcross } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { boxcircle } {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+
+% 带边框和内米字线实心圆
+\__circledtext_new_char_box_construct:nn { ox+ }
+ {
+ \__circledtext_char_box_type_c:n { filledcircle } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { dcross } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { cross } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { boxcircle } {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+
+% 带边框实心正方形
+\__circledtext_new_char_box_construct:nn { O }
+ {
+ \__circledtext_char_box_type_c:n { filledsquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { boxsquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+
+% 正方形米字线
+\__circledtext_new_char_box_construct:nn { X+ }
+ {
+ \__circledtext_char_box_type_c:n { dcrosssquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { crosssquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+
+% 带边框和内十字线实心正方形
+\__circledtext_new_char_box_construct:nn { O+ }
+ {
+ \__circledtext_char_box_type_c:n { filledsquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { crosssquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { boxsquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+
+% 带边框和内对角十字线实心正方形
+\__circledtext_new_char_box_construct:nn { OX }
+ {
+ \__circledtext_char_box_type_c:n { filledsquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { dcrosssquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { boxsquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+
+% 带边框和内米字线实心正方形
+\__circledtext_new_char_box_construct:nn { OX+ }
+ {
+ \__circledtext_char_box_type_c:n { filledsquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { dcrosssquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { crosssquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ \__circledtext_char_box_type_c:n { boxsquare } {#1} {#2} {#3} {#4} {#5} {#6}
+ }
+
+\msg_new:nnn { circledtext } { box-exists } { The~ box~ type~ `#1~ not~ exists. }
+
+% 缩放类型名称生成函数
+\cs_new_nopar:Npn \__circledtext_resize:n #1
+ {
+ __circledtext_processor_resize_ #1 :w
+ }
+
+% 缩放类型函数名称命令生成函数
+\cs_new_nopar:Npn \__circledtext_resize_c:n #1
+ {
+ \use:c
+ {
+ __circledtext_processor_resize_ #1 :w
+ }
+ }
+
+% 缩放代码生成函数
+% #1 dim长度变量1
+% #2 dim长度变量2
+% #3 缩放代码1
+% #4 缩放代码2
+% #5 缩放代码3
+% 如果 #1 > 0 ,取#3代码
+% 如果 #1 <= 0 且#2 > 0 ,取#4代码
+% 如果 #1 <= 0 且#2 <= 0,取#5代码
+\cs_new:Npn \__circledtext_dim_gezero_dispatch:NNnnn #1#2 #3#4#5
+ {
+ \dim_compare:nNnTF #1 > \c_zero_dim
+ { #3 }
+ {
+ \dim_compare:nNnTF #2 > \c_zero_dim
+ { #4 } { #5 }
+ }
+ }
+
+% 缩放代码生成函数
+% #1 dim长度变量1
+% #2 dim长度变量2
+% #3 缩放代码1
+% #4 缩放代码2
+% #5 缩放代码3
+% #6 缩放代码4
+% 如果 #1 > 0 且 #2 > 0 ,取#3代码
+% 如果 #1 > 0 且 #2 <= 0,取#4代码
+% 如果 #1 <= 0 且 #2 > 0 ,取#5代码
+% 如果 #1 <= 0 且 #2 <= 0,取#6代码
+\cs_new:Npn \__circledtext_dim_gezero_dispatch:NNnnnn #1#2 #3#4#5#6
+ {
+ \dim_compare:nNnTF #1 > \c_zero_dim
+ {
+ \dim_compare:nNnTF #2 > \c_zero_dim
+ { #3 } { #4 }
+ }
+ {
+ \dim_compare:nNnTF #2 > \c_zero_dim
+ { #5 } { #6 }
+ }
+ }
+
+% 缩放代码生成函数(分别按高度、宽度或实际尺寸缩放)
+\cs_new:Npn \__circledtext_force_size_dispatch:nnn % height, width, none
+ {
+ \__circledtext_dim_gezero_dispatch:NNnnn \l__circledtext_height_dim
+ \l__circledtext_width_dim
+ }
+
+% 缩放代码生成函数(分别按高宽、高度、宽度或实际尺寸缩放)
+\cs_new:Npn \__circledtext_force_size_dispatch:nnnn % both, height, width, none
+ {
+ \__circledtext_dim_gezero_dispatch:NNnnnn \l__circledtext_box_height_dim
+ \l__circledtext_box_width_dim
+ }
+
+% 构造缩放类型
+\cs_new:Npn \__circledtext_new_resize_method:nn #1
+ {
+ \clist_put_right:Nn \g__circledtext_resize_method_clist {#1}
+ \cs_new:cpn { \__circledtext_resize:n {#1} }
+ }
+
+% 无缩放
+\__circledtext_new_resize_method:nn { none } { }
+
+% 按实际参数缩放
+\__circledtext_new_resize_method:nn { real }
+ {
+ \__circledtext_force_size_dispatch:nnnn
+ {% 盒子宽高缩放
+ \coffin_resize:Nnn \l__circledtext_box_coffin
+ \l__circledtext_box_width_dim
+ \l__circledtext_box_height_dim
+ }
+ {% 指定高度为比例缩放
+ \coffin_scale:Nnn \l__circledtext_box_coffin
+ {
+ \dim_ratio:nn { \l__circledtext_box_height_dim }
+ { \__circledtext_coffin_ht_plus_dp:N \l__circledtext_box_coffin }
+ }
+ {
+ \dim_ratio:nn { \l__circledtext_box_height_dim }
+ { \__circledtext_coffin_ht_plus_dp:N \l__circledtext_box_coffin }
+ }
+ }
+ {% 指定宽度为比例缩放
+ \coffin_scale:Nnn \l__circledtext_box_coffin
+ {
+ \dim_ratio:nn { \l__circledtext_box_width_dim }
+ { \coffin_wd:N \l__circledtext_box_coffin }
+ }
+ {
+ \dim_ratio:nn { \l__circledtext_box_width_dim }
+ { \coffin_wd:N \l__circledtext_box_coffin }
+ }
+ }
+ {% 实际宽、高比例缩放
+ \coffin_scale:Nnn \l__circledtext_box_coffin
+ { \l__circledtext_x_scale_tl }
+ { \l__circledtext_y_scale_tl }
+ }
+ }
+
+% 按基字符参数缩放
+\__circledtext_new_resize_method:nn { base }
+ {
+ \__circledtext_force_size_dispatch:nnnn
+ {% 按指定盒子宽高缩放
+ \coffin_resize:Nnn \l__circledtext_box_coffin
+ \l__circledtext_box_width_dim
+ \l__circledtext_box_height_dim
+ }
+ {% 基字符宽高乘以高度比例缩放
+ \coffin_resize:Nnn \l__circledtext_box_coffin
+ {
+ \l__circledtext_char_width_dim * \dim_ratio:nn { \l__circledtext_box_height_dim }
+ { \__circledtext_coffin_ht_plus_dp:N \l__circledtext_box_coffin }
+ }
+ {
+ \l__circledtext_box_height_dim
+ }
+ }
+ {% 基字符宽高乘以宽度比例缩放
+ \coffin_resize:Nnn \l__circledtext_box_coffin
+ {
+ \l__circledtext_box_width_dim
+ }
+ {
+ \l__circledtext_char_height_dim * \dim_ratio:nn { \l__circledtext_box_width_dim }
+ { \coffin_wd:N \l__circledtext_box_coffin }
+ }
+ }
+ {% 基字符乘比例系数后缩放
+ \coffin_resize:Nnn \l__circledtext_box_coffin
+ {
+ \l__circledtext_x_scale_tl \l__circledtext_char_width_dim
+ }
+ {
+ \l__circledtext_y_scale_tl \l__circledtext_char_height_dim
+ }
+ }
+ }
+\msg_new:nnn { circledtext } { resize-type } { using~ `#1'~ resize. }
+
+% 笔画设置函数
+\cs_new:Npn \__circledtext_chars_stroke:nn #1#2
+ {
+ \special { pdf:code ~ q ~ #1 } #2 \special { pdf:code ~ Q }
+ }
+% 笔画构造函数
+\cs_new_protected:Npn \__circledtext_chars_stroke_construct:n #1
+ {
+ \int_case:nn {\l__circledtext_charstroke_type_int}
+ {
+ {1}{ #1 }
+ {2}{
+ \__circledtext_chars_stroke:nn { 1 ~ Tr ~ 0.10 ~ w ~ [] ~ 0 ~ d ~ 1 ~ J } {#1}
+ }
+ {3}{
+ \__circledtext_chars_stroke:nn { 1 ~ Tr ~ 0.10 ~ w ~ [1~1] ~ 0 ~ d ~ 1 ~ J } {#1}
+ }
+ {4}{
+ \__circledtext_chars_stroke:nn { 3 ~ Tr } {#1}
+ }
+
+ }
+ }
+\cs_generate_variant:Nn \__circledtext_chars_stroke_construct:n { V }
+\cs_generate_variant:Nn \__circledtext_chars_stroke_construct:n { x }
+
+% key_value选项设计
+\keys_define:nn { circledtext }
+ {
+ % 基字符
+ basechar .code:n = { \tl_gset:Nx \c__circledtext_basechar_tl {#1}
+ \__circledtext_calc_basechar_w_h:
+ },
+ % 字符格式
+ charf .code:n = { \tl_gset:Nn \l__circledtext_character_format_tl {#1}
+ \__circledtext_calc_char_box_size:
+ },
+ % 边框类型
+ boxtype .code:n = { \exp_args:NNx \clist_if_in:NnTF
+ \g__circledtext_char_box_list_clist {#1}
+ { \tl_set:Nx \l__circledtext_char_box_type_tl {#1} }
+ { \msg_error:nnx { circledtext } { box-exists } {#1} }
+ % \__circledtext_calc_char_box_size:
+ },
+ % 缩放方式
+ resize .code:n = { \exp_args:NNx \clist_if_in:NnTF
+ \g__circledtext_resize_method_clist {#1}
+ { \tl_set:Nx \l__circledtext_resize_method_tl {#1} }
+ { \msg_error:nnx { circledtext } { resize-method } {#1} }
+ },
+ % 缩放参数
+ xscale .tl_set:N = \l__circledtext_x_scale_tl ,
+ xscale .initial:n = 1 ,
+ yscale .tl_set:N = \l__circledtext_y_scale_tl ,
+ yscale .initial:n = 1 ,
+ scale .meta:n = { xscale = #1 , yscale = #1 } ,
+ width .dim_set:N = \l__circledtext_box_width_dim ,
+ height .dim_set:N = \l__circledtext_box_height_dim ,
+
+ % 字符边框线宽
+ boxlinewidth .dim_set:N = \l__circledtext_box_linewidth_dim ,
+ boxlinewidth .initial:n = 0.4pt ,
+ % 十字线线宽
+ crosslinewidth .dim_set:N = \l__circledtext_cross_linewidth_dim ,
+ crosslinewidth .initial:n = 0.3pt ,
+
+ % 边框线颜色
+ boxcolor .code:n = { \tl_set:Nx \l_tmpa_tl {
+ #1 ! \int_use:N \l__circledtext_cross_color_ratio_int }
+ \__circledtext_color_select:nn { circledtextcharboxcolor } {#1}
+ \__circledtext_color_select:nx { circledtextcrosscolor }
+ { \l_tmpa_tl }
+ } ,
+ boxcolor .initial:n = black ,
+ boxcolor* .code:n = { \tl_set:Nx \l_tmpa_tl {
+ #1 ! \int_use:N \l__circledtext_cross_color_ratio_int }
+ \__circledtext_color_select:nnn { circledtextcharboxcolor } #1
+ \__circledtext_color_select:nnx { circledtextcrosscolor }
+ \l_tmpa_tl
+ } ,
+ % 十字线颜色点边框颜色的比例(必须在boxcolor后)
+ crosscolorratio .code:n = { \int_set:Nn \l__circledtext_cross_color_ratio_int { #1 }
+ \__circledtext_color_select:nn { circledtextcrosscolor }
+ { circledtextcharboxcolor ! #1 }
+ },
+ crosscolorratio .initial:n = 30,
+
+ % 字符颜色
+ charcolor .code:n = { \__circledtext_color_select:nn { circledtextcharcolor } {#1} } ,
+ charcolor .initial:n = black ,
+ charcolor* .code:n = { \__circledtext_color_select:nnn { circledtextcharcolor } #1 } ,
+ color .meta:n = { boxcolor = #1, crosscolor = #1, charcolor = #1 } ,
+ color* .meta:n = { boxcolor* = #1, crosscolor = #1, charcolor* = #1 } ,
+ % 字符盒子背景填充颜色
+ boxfill .code:n = { \exp_args:Nx \tl_if_empty:nTF {#1}
+ { \__circledtext_color_select:nn { circledtextboxfill }
+ { white }
+ \bool_if:NTF \l__circledtext_negative_bool,
+ {\cs_set_nopar:Npn \__circledtext_aux_color_boxfill:
+ { \color_fill:n { white } }
+ }
+ {\cs_set_nopar:Npn \__circledtext_aux_color_boxfill: { }}
+ }{ \__circledtext_color_select:nn { circledtextboxfill } {#1}
+ \cs_set_nopar:Npn \__circledtext_aux_color_boxfill:
+ { \color_fill:n {#1} }
+ }
+ } ,
+ boxfill .initial:n = {} ,
+ boxfill* .code:n = { \__circledtext_color_select:nnn { circledtextboxfill } #1
+ \cs_set_nopar:Npn \__circledtext_aux_color_boxfill:
+ { \color_fill:nn #1 }
+ } ,
+ % 笔画参数
+ charstroke .choice:,
+ charstroke .value_required:n = true,
+ charstroke .choices:nn =
+ { none, solid, dashed, invisible }
+ { \int_set_eq:NN \l__circledtext_charstroke_type_int \l_keys_choice_int },
+ charstroke .initial:n = none,
+ % 虚线样式
+ dashpattern .tl_set:N = \l__circledtext_dash_pattern_tl ,
+ dashpattern .initial:n = { } ,
+
+ unknown .code:n = { \msg_error:nn { circledtext } { unknown-option } }
+ }
+\msg_new:nnn { circledtext } { unknown-option }
+ { package~ option~ "\l_keys_key_tl"~ is~ unknown. }
+
+% 根据编译引擎设置基字符
+\sys_if_engine_xetex:TF
+ {
+ \keys_set:nn { circledtext }
+ {
+ basechar = 好,
+ }
+ }{
+ \sys_if_engine_luatex:TF
+ {
+ \keys_set:nn { circledtext }
+ {
+ basechar = 好,
+ }
+ }{
+ \keys_set:nn { circledtext }
+ {
+ basechar = x,
+ }
+ }
+ }
+
+\keys_set:nn { circledtext }
+ {
+ charf = \normalsize,
+ boxtype = o,
+ resize = none,
+ }
+
+% 选项设置用户接口
+\NewDocumentCommand \circledtextset { m }
+ { \keys_set:nn { circledtext } {#1} }
+
+% 构建字符盒子,如字符为空,则用基字符构造
+% #1 需要处理的字符(串)
+\cs_new:Npn \__circledtext_single_char_construct:N #1
+ {
+ \tl_if_empty:NTF #1
+ {
+ \hcoffin_set:Nn \l__circledtext_char_coffin
+ {
+ \__circledtext_single_handle:N \c__circledtext_basechar_tl
+ }
+ }{
+ \hcoffin_set:Nn \l__circledtext_char_coffin
+ {
+ \__circledtext_single_handle:N #1
+ }
+ }
+ }
+
+% 构建带圈文字内部函数
+% #1 选项内容
+% #2 需要处理的字符(串)
+\cs_new:Npn \__circledtext_handle:nn #1#2
+ {
+ \group_begin:
+ % 选项设置
+ \keys_set:nn { circledtext } { #1 }
+
+ % 设置字符串
+ \tl_gset:Nx \l__circledtext_chars_tl {#2}
+
+ % 构造盒子
+ \__circledtext_single_char_construct:N \l__circledtext_chars_tl
+
+ % 复制盒子准备缩放与输出
+ \coffin_set_eq:NN \l__circledtext_box_coffin \l__circledtext_char_coffin
+
+ % 测量盒子容器总高度
+ \dim_set:Nn \l_tmpa_dim
+ { \__circledtext_coffin_ht_plus_dp:N \l__circledtext_box_coffin }
+ % 缩放字符盒子容器到字符大小
+ \coffin_scale:Nnn \l__circledtext_box_coffin
+ {
+ \dim_ratio:nn { \charboxht } { \l_tmpa_dim }
+ }
+ {
+ \dim_ratio:nn { \charboxht } { \l_tmpa_dim }
+ }
+
+ % 根据指定的方式缩放盒子
+ \__circledtext_resize_c:n { \l__circledtext_resize_method_tl }
+
+ % 输出盒子(下沉深度距离)
+ \coffin_typeset:Nnnnn \l__circledtext_box_coffin
+ { l } { b } { 0pt } { -\l__circledtext_char_dp_dim }
+ \group_end:
+ }
+
+% 字符处理句柄函数
+% #1 需要处理的字符(串)变量
+\cs_new:Npn \__circledtext_single_handle:N #1
+ {
+ \group_begin:
+ \tl_set:Nf \l__circledtext_curr_char_tl {#1}
+ \__circledtext_single_construct:N \l__circledtext_curr_char_tl
+ \group_end:
+ }
+
+% 构造带圈字符
+% #1 需要处理的字符(串)变量
+\cs_new:Npn \__circledtext_single_construct:N #1
+ {
+ % 按指定的格式和内容构造一个字符盒子容器
+ \hcoffin_set:Nn \l__circledtext_box_coffin
+ {
+ % \cs_if_eq:NNTF \__circledtext_aux_color_boxfill: \c_empty_tl
+ % {
+ % \color_select:n { circledtextcharcolor }
+ % }{
+ \bool_if:NTF \l__circledtext_negative_bool
+ {
+ \color_select:n { circledtextboxfill }
+ }{
+ \color_select:n { circledtextcharcolor }
+ }
+ % }
+ \tl_use:N \l__circledtext_character_format_tl
+ \__circledtext_chars_stroke_construct:n { #1 }
+ }
+
+ % 构造字符盒子容器边框
+ \__circledtext_single_box_construct:
+ }
+
+% 字符盒子及边框组合盒子容器构造函数
+\cs_new:Npn \__circledtext_single_box_construct:
+ {
+ % 根据文字内容计算缩放比例
+ \dim_set:Nn \l_tmpa_dim
+ { \coffin_wd:N \l__circledtext_box_coffin }
+ \dim_set:Nn \l_tmpb_dim
+ { \__circledtext_coffin_ht_plus_dp:N \l__circledtext_box_coffin }
+ \dim_compare:nNnF \l_tmpa_dim > \l_tmpb_dim
+ {
+ \dim_set_eq:NN \l_tmpa_dim \l_tmpb_dim
+ }
+
+ % 缩放字符盒子容器
+ \coffin_scale:Nnn \l__circledtext_box_coffin
+ {
+ \dim_ratio:nn { \charboxwd } { \l_tmpa_dim }
+ }
+ {
+ \dim_ratio:nn { \charboxht } { \l_tmpa_dim }
+ }
+
+ % 如果是矩形外框,则适当缩小文字
+ \clist_if_in:nVT {O,O+,OX,OX+,X+} \l__circledtext_char_box_type_tl
+ {
+ \coffin_scale:Nnn \l__circledtext_box_coffin
+ { 0.75 } { 0.75 }
+ }
+
+ % 绘制外框并拼装结果
+ \draw_begin:
+ \draw_linewidth:n { \l__circledtext_box_linewidth_dim }
+
+ \draw_path_scope_begin:
+ \__circledtext_char_box_type_c:n { \l__circledtext_char_box_type_tl }
+ { 0 } { 0 } { \charboxwd } { \charboxht } { 1.0 } { 1.0 }
+ \draw_transform_shift:n {\charboxwd / 2.0, \charboxht / 2.0 }
+ \draw_coffin_use:Nnn \l__circledtext_box_coffin { hc } { vc }
+ \draw_path_scope_end:
+ \draw_end:
+ }
+
+\endinput
diff --git a/macros/latex/contrib/circledtext/circledtext.tex b/macros/latex/contrib/circledtext/circledtext.tex
new file mode 100644
index 0000000000..ec6201932e
--- /dev/null
+++ b/macros/latex/contrib/circledtext/circledtext.tex
@@ -0,0 +1,749 @@
+\documentclass[full]{l3doc}
+\usepackage[scheme=plain]{ctex}
+\usepackage{enumitem}
+\usepackage{indentfirst}
+\usepackage{titling}
+\usepackage{geometry}
+\usepackage{fancyvrb-ex}
+\usepackage{circledtext}
+
+\IndexPrologue
+ {
+ \section*{Index}
+ \markboth{Index}{Index}
+ \addcontentsline{toc}{section}{Index}
+ The~italic~numbers~denote~the~pages~where~the~
+ corresponding~entry~is~described,~
+ numbers~underlined~point~to~the~definition,~
+ all~others~indicate~the~places~where~it~is~used.
+ }
+
+\newcommand\tikzmark[1]{\tikz \coordinate[overlay, remember picture] (#1);}
+
+\geometry{
+ left=4.5cm,
+ right=2cm,
+ top=2cm,
+ bottom=2cm,
+}
+\hypersetup {
+ CJKbookmarks,
+ bookmarksopen,
+ bookmarksopenlevel=3,
+ pdfstartview=FitH,
+ pdfinfo = {
+ Title = The package circledtext ,
+ Subject = A LaTeX3 package ,
+ Author = Geng Nan
+ }
+}
+
+\DoNotIndex{\begin, \end}
+\setlength{\parskip}{\medskipamount}
+\DeclareDocumentEnvironment { noteen } { +b } {
+ \par\textbf{\textsf{NOTE:~}}#1\par
+} {}
+\DeclareDocumentEnvironment { notezh } { +b } {
+ \par\textbf{\textsf{注意:~}}#1\par
+} {}
+
+\AtEndDocument{
+ \newgeometry{
+ left=2cm,
+ right=2cm,
+ top=2cm,
+ bottom=2cm
+ }
+ \PrintIndex
+}
+
+\ExplSyntaxOn
+\dim_new:N \l__my_syntax_dim
+\box_new:N \g__my_syntax_box
+\NewDocumentEnvironment { Syntax } { s }
+ {
+ \dim_set:Nn \l__my_syntax_dim
+ { \textwidth }
+ \hbox_gset:Nw \g__my_syntax_box
+ \small \ttfamily
+ \begin{minipage}[t]{\l__my_syntax_dim}
+ \raggedright\obeyspaces\obeylines
+ }
+ {
+ \end{minipage}
+ \hbox_gset_end:
+ \IfValueF { #1 } { \smallskip }
+ \box_use_drop:N \g__my_syntax_box
+ \smallskip
+ }
+
+\DeclareDocumentEnvironment { Description } { o +b } {
+ \hbox_set:Nn \l_tmpa_box { #1 }
+ \dim_set:Nn \l_tmpa_dim { \box_wd:N \l_tmpa_box }
+ \begin{itemize}[labelwidth=\l_tmpa_dim, align=left]
+ #2
+ \end{itemize}
+} { }
+
+\keys_define:nn { circled/doc } {
+ opt .tl_set:N = \l_opt_tl,
+ desc .tl_set:N = \l_desc_tl,
+ init .tl_set:N = \l_init_tl,
+ init .initial:n = init-none,
+}
+
+\box_new:N \l__option_box
+\NewDocumentEnvironment { option } { m +b } {
+ \keys_set:nn { circled/doc } { #1 }
+ \hbox_set:Nw \l__option_box
+ \small \ttfamily
+ \begin{minipage}[t]{\textwidth}
+ \obeyspaces\obeylines
+ \textcolor{red}{
+ \l_opt_tl
+ \exp_args:Nx\SpecialOptionIndex{\l_opt_tl}
+ }
+ {~}\l_desc_tl
+ \hfill(
+ \tl_if_eq:NnTF \l_init_tl { init-none } { no~value }
+ { initially~\texttt{\l_init_tl} }
+ )
+ \end{minipage}
+ \hbox_gset_end:
+ \box_use_drop:N \l__option_box
+ #2
+ \medskip
+} { }
+
+\DeclareDocumentCommand \opt { O{} m }
+ { \__codedoc_cmd:no {#1} { #2 } }
+\ExplSyntaxOff
+
+\def\vers{\texttt{v1.0.0} }
+
+\begin{document}
+\title{
+ \circledtext[charf=\LARGE]{带}\circledtext[charf=\LARGE]{圈}%
+ 文字排版\\\pkg{circledtext} 宏包
+ \rlap{\makebox[4cm][r]{
+ \normalsize $\Longrightarrow$ \color{red}
+ \protect\hyperlink{en}{English Version}
+ \protect\hypertarget{zh}{}
+ }}
+}
+\author{\textit{耿楠} \texttt{<nangeng@nwafu.edu.cn>}}
+\date{\the\year 年\the\month 月\the\day 日\qquad \vers
+\thanks{\url{https://github.com/registor/circledtext}}
+\thanks{\url{https://gitee.com/nwafu_nan/circledtext}}
+}
+\maketitle
+
+{\small
+\tableofcontents
+}
+\newpage
+
+\begin{documentation}
+
+\section{引言}
+
+\pkg{circledtext}是一个基于\pkg{l3draw}用\pkg{expl3}开发的
+排版带圈文字的宏包,它提供了唯一的一个排版命令\tn{circledtext}%
+用于对其必选参数中的字符(串)按指定的基字符大小缩放后,再为其添加
+圆形边框,然后排版输出。其带星号``*''命令\tn{circledtext*}用于
+实现反色阴文排版输出。可以通过该命令的命令选项或\tn{circledtextset}%
+命令设置排版输出的不同外观。
+
+\section{用户接口}
+
+\subsection{\cs{circledtext}排版命令}
+
+\begin{function}{\circledtext}
+ \begin{syntax}
+ \cs{circledtext} \oarg{外观选项} \marg{字符(串)}
+ \end{syntax}
+\end{function}
+
+ 按设置的\oarg{外观选项}对指定的\marg{字符(串)}添加圆圈后排版输出。
+
+ 该命令仅有一个必选参数\marg{字符(串)},用于指定需要排版的文本。
+
+ 在\oarg{外观选项}中可以通过key-value的方式设置颜色、字体、字号、线宽等外观。
+
+ 外观也可以通过\cs{circledtextset}命令,以逗号分隔key-value列表进行设置。
+
+ 通过\oarg{外观选项}设置的外观参数仅对当前命令局部有效,
+ 通过\cs{circledtextset}命令设置的外观参数对后续所有命令有效。
+
+ 其星号版本命令用于反色阴文输出。
+
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtext{五}\quad
+ \circledtext{888}\quad
+ \circledtext*{五}\quad
+ \circledtext*{888}
+\end{SideBySideExample}
+
+\subsection{\cs{circledtextset}外观选项设置命令}
+
+\begin{function}{\circledtextset}
+ \begin{syntax}
+ \cs{circledtextset} \marg{外观选项}
+ \end{syntax}
+\end{function}
+
+ 用于设置一个外围圆圈及字符(串)的外观。
+
+ 在\marg{外观选项}中可以通过key-value方式设置颜色、
+ 字体、字号、线宽等外观。
+
+ 通过\cs{circledtextset}命令设置的外观参数对后续所有命令有效。
+
+\section{外观选项}
+
+\begin{option}{ opt = basechar, desc = {= \meta{基字符}}, init=好/x }
+ 设置尺寸测度基字符,如果使用|xetex|或|luatex|引擎编译
+ 则初始值为中文“好”字,否则使用英文``x''。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtext{五}\quad
+ \circledtext{一佰}\quad
+ \circledtext[basechar=m]{999}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = charf, desc = {= \meta{格式命令}}, init=\tn{normalsize} }
+ 设置字符(串)格式,初始值为\tn{normalsize}。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtext{五}\qquad
+ \circledtext[charf=\Huge\sffamily]{九}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = boxtype, desc = {= \meta{外框类型}}, init=o }
+ 设置外框类型,目前支持:
+\end{option}\\
+ \begin{Description}
+ \item |o|---实心填充圆(小写英文字母``o'')。
+ \item |o+|---十字填充圆。
+ \item |ox|---对角十字填充圆(小写英文字母``x'')。
+ \item |ox+|---米字填充圆。
+ \item |x+|---米字填充背景。
+ \item |O|---实心填充正方形(大写英文字母``O'')。
+ \item |O+|---十字填充正方形。
+ \item |OX|---对角十字填充正方形(小写英文字母``X'')。
+ \item |OX+|---米字填充正方形。
+ \item |X+|---米字填充背景。
+ \end{Description}
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.50\linewidth,gobble=2]
+ \centering
+ \circledtext[boxtype=o ]{甲}\quad
+ \circledtext[boxtype=o+ ]{乙}\quad
+ \circledtext[boxtype=ox ]{丙}\quad
+ \circledtext[boxtype=ox+]{丁}\quad
+ \circledtext[boxtype=x+ ]{戊}
+\end{SideBySideExample}
+
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.50\linewidth,gobble=2]
+ \centering
+ \circledtext[boxtype=O ]{甲}\quad
+ \circledtext[boxtype=O+ ]{乙}\quad
+ \circledtext[boxtype=OX ]{丙}\quad
+ \circledtext[boxtype=OX+]{丁}\quad
+ \circledtext[boxtype=X+ ]{戊}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = resize, desc = {= \meta{缩放方式}}, init=none }
+ 设置缩放类型,目前支持:
+\end{option}\\
+\begin{Description}
+ \item |none|---无缩放。
+ \item |real|---使用字符实际宽高缩放。
+ \item |base|---使用基字符缩放。
+\end{Description}
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{width=2cm}
+ \circledtext[resize=none]{10}\quad
+ \circledtext[resize=real]{15}\quad
+ \circledtext[resize=base]{20}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = xscale, desc = {= \meta{x方向缩放系数}}, init=1 }
+ 设置x方向缩放系数。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{resize=real}
+ \circledtext[xscale=0.5]{15}\quad
+ \circledtext[xscale=1.0]{15}\quad
+ \circledtext[xscale=1.5]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = yscale, desc = {= \meta{y方向缩放系数}}, init=1 }
+ 设置y方向缩放系数。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{resize=real}
+ \circledtext[yscale=0.5]{15}\quad
+ \circledtext[yscale=1.0]{15}\quad
+ \circledtext[yscale=1.5]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = width, desc = {= \meta{宽度}}, init=无 }
+ 设置宽度。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{resize=real}
+ \circledtext[width=0.5em]{15}\quad
+ \circledtext[width=1.0em]{15}\quad
+ \circledtext[width=1.5em]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = height, desc = {= \meta{高度}}, init=无 }
+ 设置高度。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{resize=real}
+ \circledtext[height=1.0ex]{15}\quad
+ \circledtext[height=2.0ex]{15}\quad
+ \circledtext[height=3.0ex]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = boxlinewidth, desc = {= \meta{边框线宽}}, init=0.4pt }
+ 设置边框线宽。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.44\linewidth,gobble=2]
+ \centering
+ \circledtext{100}\quad
+ \circledtext[boxlinewidth=1.0pt]{1000}\quad
+ \circledtext[boxlinewidth=2.0pt]{一佰三十}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = crosslinewidth, desc = {= \meta{背景线线宽}}, init=0.3pt }
+ 设置背景线线宽。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.44\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=o+}
+ \circledtext{三}\quad
+ \circledtext[crosslinewidth=1.0pt]{三}\quad
+ \circledtext[crosslinewidth=2.0pt]{三}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = crosscolorratio, desc = {= \meta{背景线颜色比例}}, init=30 }
+ 设置背景线颜色点边框颜色的比例(\%)。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.38\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+,crosslinewidth=2pt}
+ \circledtext[crosscolorratio=10]{15}\quad
+ \circledtext[crosscolorratio=80]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = boxcolor, desc = {= \meta{边框颜色}}, init=black }
+ 设置边框颜色。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.50\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+}
+ \circledtext{15}\quad
+ \circledtext[boxcolor=red]{15}\quad
+ \circledtext[boxcolor=blue]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = charcolor, desc = {= \meta{字符(串)颜色}}, init=black }
+ 设置字符(串)颜色。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+,boxcolor=red}
+ \circledtext{15}\quad
+ \circledtext[charcolor=red]{15}\quad
+ \circledtext[charcolor=blue]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = boxfill, desc = {= \meta{背景颜色}}, init=无 }
+ 设置背景填充颜色。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+,boxcolor=red}
+ \circledtext{15}\quad
+ \circledtext[boxfill=red!30]{15}\quad
+ \circledtext[boxfill=blue!30]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = charstroke, desc = {= \meta{笔画类型}}, init=无 }
+ 设置字符(串)笔画类型。
+\end{option}\\
+\begin{Description}
+ \item |none|---原始笔画轮廓。
+ \item |solid|---实线笔画轮廓。
+ \item |dashed|---虚线笔画轮廓。
+ \item |invisible|---隐藏笔画轮廓。
+\end{Description}
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+,boxcolor=red,
+ charf=\sffamily\bfseries\Huge}
+ \circledtext{五}\quad
+ \circledtext[charstroke=solid]{五}\quad
+ \circledtext[charstroke=dashed]{五}\quad
+ \circledtext[charstroke=invisible]{五}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = dashpattern, desc = {= \meta{背景线线型}}, init=无 }
+ 设置背景线线型。
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.25\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+,boxcolor=red,
+ charstroke=invisible,charf=\Huge}
+ \circledtext{五}\quad
+ \circledtext[dashpattern={1.5mm,1mm,2mm,1.5mm}]{五}
+\end{SideBySideExample}
+
+\title{
+ \circledtext{C}ircled\circledtext{T}ext Package \pkg{circledtext}
+ \rlap{\makebox[4cm][r]{
+ \normalsize $\Longrightarrow$ \color{red}
+ \protect\hyperlink{zh}{中文版本}
+ \protect\hypertarget{en}{}
+ }}
+}
+\author{Nan Geng \texttt{<nangeng@nwafu.edu.cn>}}
+\date{\today\qquad \vers}
+\maketitle
+
+\section{Introduction}
+
+\pkg{circledtext} is a text with circle package based on%
+\pkg{l3draw} by \pkg{expl3}. This package provides a macro
+\tn{circledtext} to create arbitrary ``circled'' text. The
+starred macro can create negative ``circled'' text.
+a macro \tn{circledtextset} to set the format of ``circled''
+text.
+
+\section{Inerface}
+
+\subsection{\cs{circledtext} macro}
+
+\begin{function}{\circledtext}
+ \begin{syntax}
+ \cs{circledtext} \oarg{options} \marg{text}
+ \end{syntax}
+\end{function}
+
+ According to \oarg{options} to create ``circled''
+ \marg{text}.
+
+ \oarg{options} are key-value for color, font, size and so on.。
+
+ Macro's \oarg{options} are local setting.
+
+ If global settings are needed, the \cs{circledtextset} macro is required.
+
+ The starred version can create negative ``circled'' text.
+
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtext{8}\quad
+ \circledtext{888}\quad
+ \circledtext*{8}\quad
+ \circledtext*{888}
+\end{SideBySideExample}
+\subsection{\cs{circledtextset} macro}
+
+\begin{function}{\circledtextset}
+ \begin{syntax}
+ \cs{circledtextset} \marg{options}
+ \end{syntax}
+\end{function}
+
+ Used to set the appearance of ``circled'' text.
+
+ In \marg{options} you can set the appearance of the
+ color, font, size, linewidth, etc. by key-value lists.
+
+ The appearance seted by the \cs{circledtextset} are
+ valid for all subsequent macros.
+
+\section{options}
+
+\begin{option}{ opt = basechar, desc = {= \meta{base char}}, init=好/x }
+ Set size measurement base character. If compiled with xetex or luatex engine,
+ the initial value is ``好'' in Chinese, otherwise the initial value is the
+ letter ``x'' in English.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtext{8}\quad
+ \circledtext{100}\quad
+ \circledtext[basechar=m]{three}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = charf, desc = {= \meta{format macro(s)}}, init=\tn{normalsize} }
+ Set text formats.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtext{8}\qquad
+ \circledtext[charf=\Huge\sffamily]{9}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = boxtype, desc = {= \meta{box type}}, init=o }
+ Set box type, currently as follows:
+\end{option}\\
+ \begin{Description}
+ \item |o|---filled circle(lowercase "o").
+ \item |o+|---filled circle with cross.
+ \item |ox|---filled circle with diagonal cross(lowercase "x").
+ \item |ox+|---filled circle with diagonal cross and cross.
+ \item |x+|---diagonal cross and cross.
+ \item |O|---filled circle(capital "O").
+ \item |O+|---filled circle with cross.
+ \item |OX|---filled circle with diagonal cross(capital "X").
+ \item |OX+|---filled circle with diagonal cross and cross.
+ \item |X+|---diagonal cross and cross.
+ \end{Description}
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.50\linewidth,gobble=2]
+ \centering
+ \circledtext[boxtype=o ]{10}\quad
+ \circledtext[boxtype=o+ ]{11}\quad
+ \circledtext[boxtype=ox ]{12}\quad
+ \circledtext[boxtype=ox+]{13}\quad
+ \circledtext[boxtype=x+ ]{14}
+\end{SideBySideExample}
+
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.50\linewidth,gobble=2]
+ \centering
+ \circledtext[boxtype=O ]{10}\quad
+ \circledtext[boxtype=O+ ]{11}\quad
+ \circledtext[boxtype=OX ]{12}\quad
+ \circledtext[boxtype=OX+]{13}\quad
+ \circledtext[boxtype=X+ ]{14}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = resize, desc = {= \meta{resize type}}, init=none }
+ Set resize type, currently as follows:
+\end{option}\\
+\begin{Description}
+ \item |none|---No scaling.
+ \item |real|---Scaling with real size or ratio.
+ \item |base|---Scaling with base size.
+\end{Description}
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{width=2cm}
+ \circledtext[resize=none]{10}\quad
+ \circledtext[resize=real]{15}\quad
+ \circledtext[resize=base]{20}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = xscale, desc = {= \meta{x factor}}, init=1 }
+ Set x-direction scaling factor.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{resize=real}
+ \circledtext[xscale=0.5]{15}\quad
+ \circledtext[xscale=1.0]{15}\quad
+ \circledtext[xscale=1.5]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = yscale, desc = {= \meta{y factor}}, init=1 }
+ Set y-direction scaling factor.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{resize=real}
+ \circledtext[yscale=0.5]{15}\quad
+ \circledtext[yscale=1.0]{15}\quad
+ \circledtext[yscale=1.5]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = width, desc = {= \meta{width}}, init=null }
+ Set width.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{resize=real}
+ \circledtext[width=0.5em]{15}\quad
+ \circledtext[width=1.0em]{15}\quad
+ \circledtext[width=1.5em]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = height, desc = {= \meta{height}}, init=null }
+ Set height.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{resize=real}
+ \circledtext[height=1.0ex]{15}\quad
+ \circledtext[height=2.0ex]{15}\quad
+ \circledtext[height=3.0ex]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = boxlinewidth, desc = {= \meta{line width}}, init=0.4pt }
+ Set box line width.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.44\linewidth,gobble=2]
+ \centering
+ \circledtext{100}\quad
+ \circledtext[boxlinewidth=1.0pt]{1000}\quad
+ \circledtext[boxlinewidth=2.0pt]{one}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = crosslinewidth, desc = {= \meta{cross width}}, init=0.3pt }
+ Set cross line width.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.44\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=o+}
+ \circledtext{8}\quad
+ \circledtext[crosslinewidth=1.0pt]{8}\quad
+ \circledtext[crosslinewidth=2.0pt]{8}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = crosscolorratio, desc = {= \meta{bg}}, init=30 }
+ Set the ratio of the cross line color to box color(\%).
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.38\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+,crosslinewidth=2pt}
+ \circledtext[crosscolorratio=10]{15}\quad
+ \circledtext[crosscolorratio=80]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = boxcolor, desc = {= \meta{box color}}, init=black }
+ Set box color.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.50\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+}
+ \circledtext{15}\quad
+ \circledtext[boxcolor=red]{15}\quad
+ \circledtext[boxcolor=blue]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = charcolor, desc = {= \meta{text color}}, init=black }
+ Set text color.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+,boxcolor=red}
+ \circledtext{15}\quad
+ \circledtext[charcolor=red]{15}\quad
+ \circledtext[charcolor=blue]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = boxfill, desc = {= \meta{fill color}}, init=null }
+ Set fill color.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+,boxcolor=red}
+ \circledtext{15}\quad
+ \circledtext[boxfill=red!30]{15}\quad
+ \circledtext[boxfill=blue!30]{15}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = charstroke, desc = {= \meta{stroke}}, init=none }
+ Set character stroke type.
+\end{option}\\
+\begin{Description}
+ \item |none|---Original stroke.
+ \item |solid|---Solid stroke.
+ \item |dashed|---dashed stroke.
+ \item |invisible|---Hide stroke.
+\end{Description}
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.45\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+,boxcolor=red,
+ charf=\sffamily\bfseries\Huge}
+ \circledtext{8}\quad
+ \circledtext[charstroke=solid]{8}\quad
+ \circledtext[charstroke=dashed]{8}\quad
+ \circledtext[charstroke=invisible]{8}
+\end{SideBySideExample}
+
+\bigskip
+
+\begin{option}{ opt = dashpattern, desc = {= \meta{cross style}}, init=null }
+ Set cross style.
+\end{option}\\
+\begin{SideBySideExample}[frame=single,numbers=left,xrightmargin=.25\linewidth,gobble=2]
+ \centering
+ \circledtextset{boxtype=ox+,boxcolor=red,
+ charstroke=invisible,charf=\Huge}
+ \circledtext{8}\quad
+ \circledtext[dashpattern={1.5mm,1mm,2mm,1.5mm}]{8}
+\end{SideBySideExample}
+
+\end{documentation}
+
+\end{document}
diff --git a/macros/latex/contrib/colorist/colorart.cls b/macros/latex/contrib/colorist/colorart.cls
index b90308c016..b347658bbb 100644
--- a/macros/latex/contrib/colorist/colorart.cls
+++ b/macros/latex/contrib/colorist/colorart.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{colorart}
- {2022/04/17} {}
+ {2022/04/24} {}
{A colorful article style}
\tl_const:Nn \l__colorclass_base_class_tl { article }
@@ -84,6 +84,7 @@
total = { 6.500in, 9.130in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
\bool_if:NT \l__colorclass_b_five_paper_bool
@@ -94,6 +95,7 @@
total = { 5.535in, 8.160in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -105,6 +107,7 @@
total = { 6.500in, 9.685in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -168,7 +171,24 @@
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { embrac }
+
+\RequirePackage { regexpatch }
+\skip_new:N \g_colorclass_parfillskip_skip
+\xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
+\hook_gput_code:nnn { begindocument } { colorclass }
+ {
+ \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
+ \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ }
+
+\hook_gput_code:nnn { begindocument/before } { colorclass }
+ {
+ \@ifpackageloaded { biblatex }
+ {
+ \PassOptionsToPackage { biblatex } { embrac }
+ } {}
+ \RequirePackage { embrac }
+ }
%%================================
%% Graphics
diff --git a/macros/latex/contrib/colorist/colorbook.cls b/macros/latex/contrib/colorist/colorbook.cls
index 2e5bd693d2..2fe78fc5f3 100644
--- a/macros/latex/contrib/colorist/colorbook.cls
+++ b/macros/latex/contrib/colorist/colorbook.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{colorbook}
- {2022/04/17} {}
+ {2022/04/24} {}
{A colorful book style}
\tl_const:Nn \l__colorclass_base_class_tl { book }
@@ -84,6 +84,7 @@
total = { 6.500in, 9.130in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
\bool_if:NT \l__colorclass_b_five_paper_bool
@@ -94,6 +95,7 @@
total = { 5.535in, 8.160in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -105,6 +107,7 @@
total = { 6.500in, 9.685in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -168,7 +171,24 @@
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { embrac }
+
+\RequirePackage { regexpatch }
+\skip_new:N \g_colorclass_parfillskip_skip
+\xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
+\hook_gput_code:nnn { begindocument } { colorclass }
+ {
+ \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
+ \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ }
+
+\hook_gput_code:nnn { begindocument/before } { colorclass }
+ {
+ \@ifpackageloaded { biblatex }
+ {
+ \PassOptionsToPackage { biblatex } { embrac }
+ } {}
+ \RequirePackage { embrac }
+ }
%%================================
%% Graphics
diff --git a/macros/latex/contrib/colorist/colorist-doc.pdf b/macros/latex/contrib/colorist/colorist-doc.pdf
index 2832b0bf7c..017bc0e7d3 100644
--- a/macros/latex/contrib/colorist/colorist-doc.pdf
+++ b/macros/latex/contrib/colorist/colorist-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/colorist/colorist-doc.tex b/macros/latex/contrib/colorist/colorist-doc.tex
index b6b7f696fa..d52ff27fdc 100644
--- a/macros/latex/contrib/colorist/colorist-doc.tex
+++ b/macros/latex/contrib/colorist/colorist-doc.tex
@@ -93,7 +93,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\title{{\normalfont\bfseries\color{main-text}\colorist{}}\\write your articles or books in a colorful way}
\author{Jinwen XU}
diff --git a/macros/latex/contrib/colorist/colorist-fancy.sty b/macros/latex/contrib/colorist/colorist-fancy.sty
index f604f3ff47..8f0d97307a 100644
--- a/macros/latex/contrib/colorist/colorist-fancy.sty
+++ b/macros/latex/contrib/colorist/colorist-fancy.sty
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{colorist-fancy}
- {2022/04/17} {}
+ {2022/04/24} {}
{The fancy style of colorist}
\@ifpackageloaded { colorist } {}
@@ -211,7 +211,7 @@
%%================================
%% Title format
%%================================
-\RequirePackage [ explicit, newparttoc, nobottomtitles ] { titlesec }
+\RequirePackage [ explicit, newparttoc, nobottomtitles* ] { titlesec }
\PassOptionsToPackage { normalem } { ulem }
\RequirePackage { ulem }
@@ -394,7 +394,7 @@
%% Paragraph
\titleformat{\paragraph}[runin]
- { \g_colorist_title_font_paragraph_tl }{\theparagraph}{1em}{#1}
+ {\color{main-text!50!paper} \g_colorist_title_font_paragraph_tl }{\theparagraph}{1em}{#1}
\titlespacing{\section}{0pt}{\baselineskip}{.6\baselineskip}
\titlespacing{\subsection}{0pt}{.75\baselineskip}{.4\baselineskip}
@@ -653,9 +653,13 @@ heading_suffix "}\n"
{}{}
{\normalfont}{}
{\normalfont}{}
- {\newline}
- {{\thmname{#1}\nobreakspace\thmnumber{#2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}\smallskip}
+ {0pt}
+ {
+ \rlap{\vbox{\hbox{\parbox{\linewidth}{
+ {\thmname{#1}\thmnumber{\nobreakspace #2}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ }}\hbox{\strut}\vspace{-2\parskip}}}
+ }
}
{
\newtheoremstyle{simple}
@@ -674,10 +678,16 @@ heading_suffix "}\n"
\bool_if:NTF \l__colorist_theorem_in_new_line_bool
{
\newtheoremstyle{basic}
- {0pt}{0pt}{\normalfont}{0pt}
- {}{\;}{\newline}
- {{\thmname{#1}\nobreakspace\thmnumber{\textup{#2}}}
- \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace(#3)}\smallskip}
+ {}{}
+ {\normalfont}{}
+ {}{}
+ {0pt}
+ {
+ \rlap{\vbox{\hbox{\parbox{\linewidth}{
+ {\thmname{#1}\nobreakspace\thmnumber{\textup{#2}}}
+ \thmnote{\normalfont\sffamily\color{main-text}\nobreakspace(#3)}
+ }}\hbox{\strut}\vspace{-2\parskip}}}
+ }
}
{
\newtheoremstyle{basic}
@@ -734,7 +744,7 @@ heading_suffix "}\n"
\tl_gset:Nn \g_crthm_combined_name_sep_tl { \textcolor{main-text}{-} }
-\SetTheorem { theorem, lemma, proposition, corollary, property, axiom, definition-theorem, definition-proposition }
+\SetTheorem { theorem, lemma, proposition, corollary, property, axiom, construction, definition-theorem, definition-proposition }
{
name style = {
heading style = { \color{orange}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc }
@@ -748,7 +758,7 @@ heading_suffix "}\n"
}
}
-\SetTheorem { application, fact, example, problem, question, exercise }
+\SetTheorem { application, claim, example, exercise, fact, problem, question, recall }
{
name style = {
heading style = { \color{main-text}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc }
@@ -764,7 +774,7 @@ heading_suffix "}\n"
\bool_if:NF \l__projlib_theorem_complexname_bool
{
- \SetTheorem { theorem, lemma, proposition, corollary, property, axiom, definition-theorem, definition-proposition }
+ \SetTheorem { theorem, lemma, proposition, corollary, property, axiom, construction, definition-theorem, definition-proposition }
{
name style = {
, crefname style = { \color{orange}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc }
@@ -782,7 +792,7 @@ heading_suffix "}\n"
}
}
- \SetTheorem { application, fact, example, problem, question, exercise }
+ \SetTheorem { application, claim, example, exercise, fact, problem, question, recall }
{
name style = {
, crefname style = { \color{main-text}\colorist_bfseries:\g_colorist_title_font_common_tl\textsc }
@@ -803,11 +813,10 @@ heading_suffix "}\n"
\RequirePackage { marginnote }
\RequirePackage { ifoddpage }
-\newcommand{\mparadjust}[1]{\renewcommand*{\marginnotevadjust}{#1}}
-\hook_gput_code:nnn { begindocument/before } { colorist }
-{
- %
-}
+\cs_new_protected:Nn \colorist_mpar_adjust:n
+ {
+ \renewcommand* { \marginnotevadjust } { #1 }
+ }
\hook_gput_code:nnn { env/remark/begin } { colorist }
{
\if@twoside\checkoddpage
@@ -815,7 +824,7 @@ heading_suffix "}\n"
\else
\reversemarginpar
\fi
- \mparadjust{-.25em}
+ \colorist_mpar_adjust:n {-.25em}
\marginnote{
\colorist_icon_ideabulb:w [0.3] {orange}
\bool_if:NTF \l__colorist_is_book_bool
@@ -835,7 +844,14 @@ heading_suffix "}\n"
\else
\reversemarginpar
\fi
- \mparadjust{-.25em}
+ \bool_if:NTF \l__colorist_theorem_in_new_line_bool
+ {
+ \colorist_mpar_adjust:n {-.75em}
+ \null
+ }
+ {
+ \colorist_mpar_adjust:n {-.25em}
+ }
\marginnote{
\colorist_icon_questionmark:w [0.3] {purple}
\bool_if:NTF \l__colorist_is_book_bool
@@ -900,7 +916,7 @@ heading_suffix "}\n"
\tcolorboxenvironment { #1 } { #2 }
}
-\colorist_add_colorbox:nn { theorem, lemma, proposition, corollary, property, axiom, definition-proposition, definition-theorem }
+\colorist_add_colorbox:nn { theorem, lemma, proposition, corollary, property, axiom, construction, definition-proposition, definition-theorem }
{
enhanced~jigsaw, breakable, lines~before~break=3,
left=3.5mm, right=3.5mm,
@@ -916,7 +932,7 @@ heading_suffix "}\n"
borderline~west={1.5mm}{0mm}{forestgreen}, arc=.7mm
}
-\colorist_add_colorbox:nn { application, fact, example }
+\colorist_add_colorbox:nn { application, claim, example, fact, recall }
{
enhanced~jigsaw, breakable, lines~before~break=3,
colback=main-text!5!paper,
@@ -1037,7 +1053,8 @@ heading_suffix "}\n"
% nobeforeafter,
left = 1em, right=0mm, top=.5mm, bottom=0mm, boxrule=0pt,
colback=maintheme!3!paper, frame ~ hidden,
- borderline ~ west = {.3em} {0mm} {maintheme!90!paper}, arc = 0.2mm,
+ borderline ~ west = {.15em} {0mm} {maintheme, double, double ~ distance=.12em},
+ arc = 0.2mm,
]
}
{
diff --git a/macros/latex/contrib/colorist/colorist.sty b/macros/latex/contrib/colorist/colorist.sty
index 2e28c650ad..24f6910e3f 100644
--- a/macros/latex/contrib/colorist/colorist.sty
+++ b/macros/latex/contrib/colorist/colorist.sty
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{colorist}
- {2022/04/17} {}
+ {2022/04/24} {}
{A colorful style for articles and books}
\keys_define:nn { colorist }
diff --git a/macros/latex/contrib/crefthe/crefthe-doc.pdf b/macros/latex/contrib/crefthe/crefthe-doc.pdf
index 2b94169807..16dea32970 100644
--- a/macros/latex/contrib/crefthe/crefthe-doc.pdf
+++ b/macros/latex/contrib/crefthe/crefthe-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/crefthe/crefthe-doc.tex b/macros/latex/contrib/crefthe/crefthe-doc.tex
index bd9ebed23b..e7bb3e0977 100644
--- a/macros/latex/contrib/crefthe/crefthe-doc.tex
+++ b/macros/latex/contrib/crefthe/crefthe-doc.tex
@@ -9,51 +9,66 @@
%% For typesetting code
%%================================
\usepackage{listings}
-\definecolor{maintheme}{RGB}{70,130,180}
-\definecolor{forestgreen}{RGB}{21,122,81}
-\definecolor{lightergray}{gray}{0.99}
-\lstset{language=[LaTeX]TeX,
- keywordstyle=\color{maintheme},
- basicstyle=\ttfamily,
- commentstyle=\color{forestgreen}\ttfamily,
- stringstyle=\rmfamily,
- showstringspaces=false,
- breaklines=true,
- frame=lines,
- backgroundcolor=\color{lightergray},
- flexiblecolumns=true,
- escapeinside={(*}{*)},
- % numbers=left,
- numberstyle=\scriptsize, stepnumber=1, numbersep=5pt,
- % firstnumber=last,
+\usepackage{xcolor}
+\usepackage{setspace}
+\definecolor{code-main}{RGB}{70,130,180}
+\definecolor{code-expl3}{RGB}{240,50,60}
+\definecolor{code-option}{RGB}{40,110,20}
+\definecolor{code-keys}{RGB}{100,130,150}
+\definecolor{code-comment}{RGB}{20,120,80}
+\definecolor{code-background}{gray}{0.99}
+\lstset{
+ language = [LaTeX]TeX,
+ basicstyle = \ttfamily,
+ keywordstyle = \color{code-main},
+ commentstyle = \color{code-comment},
+ showstringspaces = false,
+ breaklines = true,
+ frame = lines,
+ backgroundcolor = \color{code-background},
+ flexiblecolumns = true,
+ escapeinside = {(*}{*)},
+ alsoletter = {_,:},
+ % numbers = left,
+ % firstnumber = last,
+ numberstyle = \scriptsize\ttfamily,
+ stepnumber = 1,
+ numbersep = 5pt,
}
-\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
-\lstset{moretexcs=%
- {
+\newcommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
+\lstset{% LaTeX2 commands
+ classoffset = 0,
+ texcsstyle =* \color{code-main},
+ moretexcs =
+ {
cref,crefname,
Cref,Crefname,
crefformat,
- crefthe,crefthename,crefthemark,
+ crefthe,crefthename,
Crefthe,Crefthename,
+ crefthemark,
selectlanguage,
- }
+ }
}
-\lstnewenvironment{code}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{columns=fullflexible,keepspaces=true}%
+\lstset{% LaTeX3 commands
+ classoffset = 1,
+ texcsstyle =* \color{code-expl3},
+ moretexcs =
+ {
+ }
}
-{\ResumeLineNumbers\vspace{-.5\baselineskip}}
-\lstnewenvironment{code*}%
-{\setstretch{1.07}\LocallyStopLineNumbers%
-\setkeys{lst}{numbers=left,columns=fullflexible,keepspaces=true}%
-}
-{\ResumeLineNumbers}
+\lstnewenvironment{code}{\setstretch{1.05}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+\lstnewenvironment{code*}{\setstretch{1.05}\lstset{numbers=left}\LocallyStopLineNumbers}{\ResumeLineNumbers\vspace{-.3\baselineskip}\vspace{-.5\parskip}}
+
+\newcommand{\packageoption}[1]{\texttt{\textcolor{code-option}{#1}}}
+\newcommand{\commandoption}[1]{\texttt{\textcolor{code-keys}{#1}}}
%%================================
%% tip
%%================================
\usepackage[many]{tcolorbox}
-\newenvironment{tip}[1][Tip]{%
+\newenvironment{tip}[1][Tip]
+ {%
\LocallyStopLineNumbers%
\begin{tcolorbox}[breakable,
enhanced,
@@ -69,32 +84,39 @@
top = 2.5mm,
bottom = 1.5mm,
title={\scshape\sffamily #1}]%
-}{\end{tcolorbox}\ResumeLineNumbers}
+ }
+ {%
+ \end{tcolorbox}%
+ \ResumeLineNumbers%
+ }
%%================================
%% demo
%%================================
-\newenvironment{demo}{%
+\newenvironment{demo}
+ {%
\LocallyStopLineNumbers%
\begin{tcolorbox}[enhanced jigsaw,pad at break*=1mm,breakable,
left=2.5mm,right=3mm,top=0.5mm,bottom=0mm,
colback=gray!5!paper,boxrule=0pt,frame hidden,
borderline west={1.2mm}{0mm}{gray!55!paper},arc=.7mm]%
-}{\end{tcolorbox}\ResumeLineNumbers}
-
-
-\newcommand{\packageoption}[1]{\texttt{\textcolor{black!67!green}{#1}}}
-\newcommand{\commandoption}[1]{\texttt{\textcolor{black!67!cyan}{#1}}}
+ }
+ {%
+ \end{tcolorbox}%
+ \ResumeLineNumbers%
+ }
\newcommand{\crefthepackage}{\textsf{crefthe}}
\begin{document}
+\def\PackageVersion{2022/04/24}
+
\title{\crefthepackage{}\\\smallskip\itshape Cross referencing with proper definite articles}
\author{Jinwen XU}
-\thanks{Corresponding to: \texttt{\crefthepackage{} 2022/03/01}}
-\date{March 2022, in Paris}
+\thanks{Corresponding to: \texttt{\crefthepackage{} \PackageVersion}}
+\date{\TheDate{\PackageVersion}[only-year-month], in Paris}
\maketitle
@@ -165,7 +187,7 @@ Before everything, you need to define the names, which can be done with \lstinli
\end{tip}
Then you can use the command \lstinline|\crefthe| as follows:
-\begin{itemize}
+\begin{itemize}[label=,leftmargin=1.25em,itemindent=-1.25em]
\item \lstinline|\crefthe[|\meta{prep}\lstinline|]{|\meta{labels}\lstinline|}|
\begin{itemize}
\item This will pass the preposition \meta{prep} to the definite articles that follows. Its behavior depends on the current language (for example, in Spanish, \meta{prep} is passed only to the first definite article, while in French it is passed to everyone).
diff --git a/macros/latex/contrib/crefthe/crefthe.sty b/macros/latex/contrib/crefthe/crefthe.sty
index dd3ea31b1d..7c9a58965d 100644
--- a/macros/latex/contrib/crefthe/crefthe.sty
+++ b/macros/latex/contrib/crefthe/crefthe.sty
@@ -13,7 +13,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{crefthe}
- {2022/03/01} {}
+ {2022/04/24} {}
{Cross referencing with proper definite articles}
\keys_define:nn { crefthe }
@@ -57,7 +57,7 @@
}
\cs_new_protected:Nn \__crefthe_cref_general:NNNnnN
{
- \tl_if_blank:eTF #4
+ \tl_if_blank:eTF { #4 }
{
\bool_gset_false:N \g__crefthe_has_prep_bool
}
diff --git a/macros/latex/contrib/geradwp/LICENSE.txt b/macros/latex/contrib/geradwp/LICENSE.txt
new file mode 100644
index 0000000000..2244313901
--- /dev/null
+++ b/macros/latex/contrib/geradwp/LICENSE.txt
@@ -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/geradwp/README.md b/macros/latex/contrib/geradwp/README.md
index fa873fb414..783aa789b7 100644
--- a/macros/latex/contrib/geradwp/README.md
+++ b/macros/latex/contrib/geradwp/README.md
@@ -11,7 +11,7 @@ later version.
## VERSION
-1.0
+1.1
******************************************************************
_La version française de cette description est à la suite de la
diff --git a/macros/latex/contrib/geradwp/geradwp-fr.pdf b/macros/latex/contrib/geradwp/geradwp-fr.pdf
index c64aee442c..439eaadab0 100644
--- a/macros/latex/contrib/geradwp/geradwp-fr.pdf
+++ b/macros/latex/contrib/geradwp/geradwp-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/geradwp/geradwp.dtx b/macros/latex/contrib/geradwp/geradwp.dtx
index 1f5de065b7..cde22df387 100644
--- a/macros/latex/contrib/geradwp/geradwp.dtx
+++ b/macros/latex/contrib/geradwp/geradwp.dtx
@@ -1,6 +1,6 @@
% \iffalse
%
-% Copyright 2021 GERAD, HEC Montreal
+% Copyright 2022 GERAD, HEC Montreal
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either version 1.3c
@@ -25,7 +25,7 @@
\ProvidesFile{geradwp.dtx}
%</dtx>
%<class>\NeedsTeXFormat{LaTeX2e}
-%<class>\ProvidesClass{geradwp}[2021/08/11 v1.0 Class for the Cahiers du GERAD series]
+%<class>\ProvidesClass{geradwp}[2022/04/25 v1.1 Class for the Cahiers du GERAD series]
%<*driver>
\documentclass[10pt,oneside,french,english]{ltxdoc}
\usepackage[utf8]{inputenc}
@@ -63,6 +63,7 @@
\definecolor{shadecolor}{rgb}{0.93,0.97,0.99}
\definecolor{TFFrameColor}{rgb}{0,0.235,0.443}
\definecolor{TFTitleColor}{rgb}{1,1,1}
+\definecolor{rouge}{RGB}{234,0,42}
\hypersetup{
colorlinks=true,
allcolors=liens,
@@ -105,6 +106,12 @@
\href{#1}{\bfseries #2~\faExternalLink}
}
\newcommand{\oui}{\color{green}\faCheck}
+\newenvironment{GDwarning}[1]{%
+ \begin{leftbar}
+ \noindent{\Large {\color{rouge}\faExclamationCircle} \textbf{#1}} \\
+ }{%
+ \end{leftbar}
+}
\makeglossary
@@ -113,7 +120,7 @@
\end{document}
%</driver>
% \fi
-% \CheckSum{922}
+% \CheckSum{1052}
% \changes{1.0}{2021-08-11}{Initial release}
% \ifnum\frenchdoc=1
% \title{Classe de documents \LaTeX\ pour la collection \cahiers}
@@ -140,11 +147,12 @@
% le gabarit initialement distribu\'e par le GERAD.
% \else
% The \gdwp\ document class was designed to allow researchers who are
-% \lien{https://www.gerad.ca/fr}{GERAD} members to write
+% \lien{https://www.gerad.ca/en}{GERAD} members to write
% their working papers, preprints and technical reports in line with the presentation
% standards of \cahiers\ working paper series. This class and the
% associated files replace the template that GERAD initially distributed.
% \fi
+% \changes{1.1}{2021-11-25}{Updated GERAD URLs in abstract.}
% \end{abstract}
%
% \ifnum\frenchdoc=1
@@ -156,11 +164,12 @@
%
% \subsection{Prerequisites}
% \fi
+% \label{subsec:prereq}
%
% \ifnum\frenchdoc=1
% L'utilisation de cette classe suppose que vous avez d\'ej\`a install\'e une distribution \TeX\ et
-% un \'editeur de code int\'egr\'e. Pour la conception de \gdwp, la distribution
-% \lien{https://www.tug.org/texlive/}{TeX Live 2020} et l'\'editeur de code
+% un \'editeur de code int\'egr\'e. Pour la conception de \gdwp, les distributions
+% \lien{https://www.tug.org/texlive/}{TeX Live 2020 et 2021} et l'\'editeur de code
% \lien{https://www.texstudio.org/}{TeXstudio} ont \'et\'e utilis\'es.
%
% Si vous utilisez la distribution TeXLive ou \lien{http://www.tug.org/mactex/}{MacTeX} et que la compilation
@@ -170,10 +179,18 @@
% \emph{packages} indiqu\'es dans le \autoref{tab:pre-loaded-pkgs} avant d'utiliser la classe \gdwp.
%
% Les utilisateurs d'\lien{https://www.overleaf.com/}{Overleaf} peuvent \'egalement utiliser cette classe
-% en r\'ecup\'erant les fichiers sur le \lien{https://www.gerad.ca/fr/cahiers-procedure}{site du GERAD}.
+% en r\'ecup\'erant les fichiers sur le \lien{https://www.gerad.ca/fr/publications/papers/cahiers-procedure}{site du GERAD}.
+% \begin{GDwarning}{\gdwp\ utilise la version 4 de +fancyhdr+}
+% \`A partir de la version 1.1 de \gdwp, la version 4 du \emph{package}
+% \lien{https://www.ctan.org/pkg/fancyhdr}{fancyhdr} est utilis\'ee. Cette version introduit de nouvelles commandes qui
+% ne sont pas compatibles avec la version 3. Elle est disponible sur les \'editions 2021
+% de Tex Live et MacTeX, de m\^eme que sur Overleaf si vous utilisez la version 2021 de TeX Live.
+%
+% Si vous utilisez une autre distribution \TeX, assurez-vous que vous avez la bonne version de +fancyhdr+.
+% \end{GDwarning}
% \else
% Using this class assumes you’ve already installed a \TeX\ distribution with an integrated code editor.
-% In designing \gdwp, the \lien{https://www.tug.org/texlive/}{TeX Live 2020} distribution and the
+% In designing \gdwp, the \lien{https://www.tug.org/texlive/}{TeX Live 2020 and 2021} distributions and the
% \lien{https://www.texstudio.org/}{TeXstudio} editor were used.
%
% If you are using TeXLive or \lien{http://www.tug.org/mactex/}{MacTeX} and your document compilation
@@ -184,8 +201,20 @@
% versions of the packages
% indicated in \autoref{tab:pre-loaded-pkgs} before using the \gdwp\ class.
%
-% Users of \lien{https://www.overleaf.com/}{Overleaf} can also use this class by downloading the necessary files from % the \lien{https://www.gerad.ca/fr/cahiers-procedure}{GERAD website}.
+% Users of \lien{https://www.overleaf.com/}{Overleaf} can also use this class by downloading the necessary files from
+% the \lien{https://www.gerad.ca/en/publications/papers/cahiers-procedure}{GERAD website}.
+% \begin{GDwarning}{\gdwp\ makes use of +fancyhdr+ version 4}
+% Starting at \gdwp\ version 1.1, version 4 of the \lien{https://www.ctan.org/pkg/fancyhdr}{fancyhdr} is
+% used. This version introduces new commands that are not backwards compatible
+% with version 3. It is available with the 2021 editions of
+% Tex Live and MacTeX, as well as on Overleaf if you use the 2021 version of TeX Live.
+%
+% If you are using another \TeX\ distribution, please make sure that you have the right version of
+% +fancyhdr+.
+% \end{GDwarning}
% \fi
+% \changes{1.1}{2021-11-25}{Updated GERAD URLs in Prerequisites subsection.}
+% \changes{1.1}{2021-12-07}{Added a warning concerning fancyhdr 4}
%
% \subsection{Installation}
%
@@ -284,6 +313,7 @@
% \fi
%
% \subsection{Options}
+% \label{subsec:options}
% \ifnum\frenchdoc=1
% Outre les options disponibles via la classe +article+, quelques options sont disponibles pour \gdwp.
% \else
@@ -367,15 +397,31 @@
% \fi
% \end{DescribeMacro}
%
+% \begin{DescribeMacro}{gdsupplement}
+% \ifnum\frenchdoc=1
+% Lorsqu'un auteur souhaite ajouter un suppl\'ement de recherche ou une «annexe» tr\`es importante \`a
+% son cahier de recherche sans l'inclure dans le document principal, il peut ajouter cette partie dans un autre
+% gabarit \gdwp\ vierge et y inclure l'option +gdsupplement+. Jumel\'ee avec la commande +\GDsupplementname+
+% (voir la \autoref{sec:metadonnees}), l'option affichera clairement le nom du suppl\'ement dans les pages titre
+% et les ent\^etes du document suppl\'ementaire.
+% \else
+% When authors want to add extra research data or an important ``appendix'' to their working paper without
+% including it in the main document, they can write that extra material in a blank \gdwp\ template with the
+% +gdsupplement+ option included. Combined with the +\GDsupplementname+ command (see \autoref{sec:metadonnees}), this
+% option will clearly show the supplement name on the title pages and page headers.
+% \fi
+% \end{DescribeMacro}
+%
% \begin{DescribeMacro}{gdminitabs}
% \ifnum\frenchdoc=1
% Il arrive parfois que des auteurs cr\'eent des tableaux si grands que ceux-ci d\'epassent d'une
-% ou plusieurs marges. Dans de tels cas, l'option +gdneedsminitabs+ est utilis\'ee pour mettre les
+% ou plusieurs marges. Dans de tels cas, l'option +gdminitabs+ est utilis\'ee pour mettre les
% tableaux du document en +footnotesize+.
% \else
% Authors sometimes create tables so large that they extend beyond the margins. To solve this issue,
-% the +gdneedsminitabs+ option can be used to set the tables in the document to +footnotesize+.
+% the +gdminitabs+ option can be used to set the tables in the document to +footnotesize+.
% \fi
+% \changes{1.1}{2021-12-06}{Corrected the gdminitabs typo}
% \end{DescribeMacro}
%
% \ifnum\frenchdoc=1
@@ -395,6 +441,7 @@
% can choose to use whichever packages they will need, taking into account their features (see below). Care should
% be taken not to reload any of them or to change any of the default options.
% \fi
+% \changes{1.1}{2022-01-28}{Changed color package for xcolor}
%
% \begin{table}[tbh]
% \begin{tabularx}{\textwidth}{Xccl}
@@ -417,10 +464,11 @@
% multirow & \oui & & \\
% array & \oui & & \\
% caption & \oui & & font=\{footnotesize,bf,sf\} \\
-% color & \oui & & \\
+% xcolor & \oui & & \\
% enumitem & \oui & & \\
% float & \oui & & \\
% algorithm & & \oui & \\
+% algorithmic & & \oui & \\
% algorithm2e & & \oui & \\
% hyperref & & \oui & colorlinks \\
% & & & citecolor=\{blue\} \\
@@ -438,46 +486,68 @@
%
% \subsubsection{babel}
% \ifnum\frenchdoc=1
-% L'auteur de ces lignes ayant \'et\'e inform\'e par la maintenanci\`ere du gabarit originel que l'utilisation de babel
+% L'auteur de ces lignes ayant \'et\'e inform\'e par la maintenanci\`ere du gabarit originel que l'utilisation de
+% babel
% avec ce dernier causait de nombreux probl\`emes, il vous serait gr\'e de \textbf{ne pas utiliser le
-% \emph{package} babel avec ce nouveau gabarit}, et ce, jusqu'\`a ce que lesdits probl\`emes lui soient pr\'esent\'es
+% \emph{package} babel avec ce nouveau gabarit}, et ce, jusqu'\`a ce que lesdits probl\`emes lui soient
+% pr\'esent\'es
% afin d'\^etre corrig\'es. Une version ult\'erieure de la classe vous permettra peut-\^etre de vous en servir.
% \else
-% The person maintaining the original template advised the author of this document class that using babel with the template
-% causes a number of problems,
+% The person maintaining the original template advised the author of this document class that using babel with the
+% template causes a number of problems,
% so \textbf{please do not use the babel package with this new template}, until these issues have been fixed.
% A future release of the class may allow you to use it.
% \fi
%
-% \subsubsection{algorithm, algorithm2e}
+% \subsubsection{algorithm, algorithmic, algorithm2e}
%
% \ifnum\frenchdoc=1
-% \lien{https://www.ctan.org/pkg/algorithms}{algorithm} et \lien{https://www.ctan.org/pkg/algorithm2e}{algorithm2e} sont
-% deux \emph{packages} ayant leurs aficionados respectifs parmi les auteurs de \emph{Cahiers du GERAD}. Tous deux sont
-% accept\'es et charg\'es dans le pr\'eambule du gabarit. Il suffit de mettre en commentaire celui des deux qui ne
-% sera pas utilis\'e.
+% \lien{https://www.ctan.org/pkg/algorithms}{algorithm, algorithmic} et
+% \lien{https://www.ctan.org/pkg/algorithm2e}{algorithm2e} sont
+% trois \emph{packages} ayant leurs aficionados respectifs parmi les auteurs de \emph{Cahiers du GERAD}. Tous trois
+% sont
+% accept\'es et charg\'es dans le pr\'eambule du gabarit. Il suffit de mettre en commentaire ceux des trois qui ne
+% seront pas utilis\'es. \textbf{Notez que +algorithm+ et +algorithmic+ doivent toujours \^etre charg\'es ensemble},
+% l'un ne fonctionnant pas sans l'autre. +algorithm2e+, quant \`a lui, est autosuffisant.
%
-% Les deux \emph{packages} ne peuvent cependant pas \^etre charg\'es ensemble puisqu'ils entrent en conflit et cr\'eent
-% des bogues.
+% +algorithm+ et +algorithm2e+ ne peuvent pas \^etre charg\'es ensemble puisqu'ils entrent en conflit et
+% cr\'eent des bogues.
+%
+% Finalement, lorsque vous utilisez le couple +algorithm+ et +algorithmic+, veuillez s'il vous pla\^it mettre les
+% +\caption+ de vos algorithmes en +\footnotesize+.
% \else
-% \lien{https://www.ctan.org/pkg/algorithms}{algorithm} and \lien{https://www.ctan.org/pkg/algorithm2e}{algorithm2e} are
-% two different packages, each of which has its fans among the \emph{Cahiers du GERAD} authors. Both are accepted and
-% loaded in the preamble of the template. Simply comment out the one that will not be used.
+% \lien{https://www.ctan.org/pkg/algorithms}{algorithm, algorithmic} and \lien{https://www.ctan.org/pkg/algorithm2e}{algorithm2e} are
+% three different packages, each of which has its fans among the \emph{Cahiers du GERAD} authors. All are accepted
+% and loaded in the preamble of the template. Simply comment out those that will not be used.
+% \textbf{Bear in mind that +algorithm+ and +algorithmic+ must be loaded together} as they don't work
+% independently. +algorithm2e+, on the other hand, il self-sufficient.
+%
+% +algorithm+ and +algorithm2e+ are mutually exclusive and cannot be both loaded at once without causing bugs.
%
-% The two packages are mutually exclusive and cannot both be loaded at once without causing bugs.
+% Finally, when using the +algorithm+ and +algorithmic+ duo, please put your algorithms' +\caption+ in
+% +\footnotesize+.
% \fi
+% \changes{1.1}{2021-12-07}{Included algorithmic package in documentation}
+% \changes{1.1}{2021-12-07}{Added the caption footnotesize note}
%
% \subsubsection{float}
%
% \ifnum\frenchdoc=1
% Le \emph{package} +float+ est charg\'e avec la classe \textbf{uniquement lorsque l'option +gdminitabs+ est utilis\'ee}, et ce,
-% afin de transformer les tableaux en +footnotesize+. Si vous avez besoin de ce \emph{package} et que vos tableaux
+% afin de transformer les tableaux en +footnotesize+. Si vous avez besoin de ce \emph{package} même si vos tableaux
% sont raisonnablement petits, chargez-le dans le pr\'eambule de votre document.
+%
+% Si vous utilisez le \emph{package} +algorithm+, +float+ est charg\'e par ce dernier. Il est donc inutile de le
+% charger dans le pr\'ambule.
% \else
% The +float+ package is loaded with the class \textbf{only when the +gdminitabs+ option is enabled}. When loaded, it resizes
-% the tables in +footnotesize+. If you need this package and the tables are reasonably small, you can load it in the preamble
+% the tables in +footnotesize+. If you need this package even if your tables are reasonably small, you can load it in the preamble
% of the document.
+%
+% If you are using the +algorithm+ package, please note that it loads +float+, so there is no need to load it in
+% the preamble.
% \fi
+% \changes{1.1}{2021-12-07}{Added the fact that algorithm loads float package}
%
% \subsubsection{cleveref}
%
@@ -502,9 +572,11 @@
% Les quelques commandes publiques qui ont \'et\'e cr\'e\'ees pour cette classe ont deux fonctions : renseigner les
% m\'etadonn\'ees du cahier de recherche et faire de la mise en page.
% \else
-% The handful of public commands that were created for this class have two purposes: formatting and filling in metadata
+% The handful of public commands that were created for this class have two purposes: document layout and filling in metadata
% for the working paper.
% \fi
+% \changes{1.1}{2021-12-07}{All public commands have been translated in English}
+%
%
% \ifnum\frenchdoc=1
% \subsubsection{M\'etadonn\'ees}
@@ -522,7 +594,7 @@
% data that will be found on the cover and title pages of the paper.
% \fi
%
-% \begin{DescribeMacro}{\GDtitre}
+% \begin{DescribeMacro}{\GDtitle}
% \ifnum\frenchdoc=1
% Le titre du cahier de recherche. Celui-ci se retrouve \`a la fois sur la page couverture et la page titre.
% \else
@@ -530,7 +602,7 @@
% \fi
% \end{DescribeMacro}
%
-% \begin{DescribeMacro}{\GDauteursCourts}
+% \begin{DescribeMacro}{\GDauthorsShort}
% \ifnum\frenchdoc=1
% La liste des auteurs du cahier sous la forme \emph{[Initiale du pr\'enom]. [Nom de famille]}
% (ex. : B. Hamel, K. H\'ebert). Le contenu de cette commande se retrouve sur la page couverture, sous le titre.
@@ -540,7 +612,7 @@
% \fi
% \end{DescribeMacro}
%
-% \begin{DescribeMacro}{\GDauteursCopyright}
+% \begin{DescribeMacro}{\GDauthorsCopyright}
% \ifnum\frenchdoc=1
% La liste des noms de famille des auteurs \`a la mention des droits d'auteurs au bas de la page titre.
% \else
@@ -548,7 +620,7 @@
% \fi
% \end{DescribeMacro}
%
-% \begin{DescribeMacro}{\GDmois}
+% \begin{DescribeMacro}{\GDmonth}
% \ifnum\frenchdoc=1
% Le mois de publication du cahier de recherche dans ses formes fran\c{c}aise et anglaise. Le mois en fran\c{c}ais
% est inscrit entre les premi\`eres accolades, celui en anglais, entre les deuxi\`emes.
@@ -558,7 +630,7 @@
% \fi
% \end{DescribeMacro}
%
-% \begin{DescribeMacro}{\GDannee}
+% \begin{DescribeMacro}{\GDyear}
% \ifnum\frenchdoc=1
% L'ann\'ee de publication du cahier sous la forme \emph{AAAA}.
% \else
@@ -566,7 +638,7 @@
% \fi
% \end{DescribeMacro}
%
-% \begin{DescribeMacro}{\GDnumero}
+% \begin{DescribeMacro}{\GDnumber}
% \ifnum\frenchdoc=1
% Le num\'ero du cahier de recherche. Ce num\'ero est assign\'e par l'\'equipe du GERAD.
% \else
@@ -584,6 +656,19 @@
% \fi
% \end{DescribeMacro}
%
+% \begin{DescribeMacro}{\GDsupplementname}
+% \ifnum\frenchdoc=1
+% Si vous r\'edigez un suppl\'ement de recherche ou une annexe \`a l'aide du gabarit \gdwp\ et que vous
+% l'indiquez avec l'option +gdsupplement+ (voir \autoref{subsec:options}), la commande
+% +\GDsupplementname+ servira \`a nommer ledit suppl\'ement et la classe imprimera ce nom dans les pages
+% titre et les ent\^etes du document.
+% \else
+% If you write extra research data or an appendix using the \gdwp\ template and the +gdsupplement+ option
+% (see \autoref{subsec:options}), the +\GDsupplementname+ command will serve as place holder for the
+% supplement's name and the class will output it on the title pages and on page headers.
+% \fi
+% \end{DescribeMacro}
+%
% \begin{DescribeMacro}{\GDpostpubcitation}
% \ifnum\frenchdoc=1
% Lorsque le contenu du cahier de recherche est publi\'e chez un \'editeur, l'\'equipe du GERAD
@@ -604,22 +689,22 @@
% supprim\'ees par des auteurs, des commandes ont \'et\'e cr\'e\'ees. Celles-ci marquent en m\^eme temps
% les subdivisions du document.
% \else
-% \subsubsection{Formatting}
+% \subsubsection{Document Layout}
%
% To keep the template from getting cluttered and to keep authors from deleting critical formatting commands,
% commands were created to mark each subdivision of the document.
% \fi
%
-% \begin{DescribeMacro}{\GDpageCouverture}
+% \begin{DescribeMacro}{\GDcoverpage}
% \ifnum\frenchdoc=1
% Toute la page couverture d'un cahier de recherche est g\'en\'er\'ee \`a partir de cette commande.
% Elle est entre autres mise en forme avec les m\'etadonn\'ees des commandes cit\'ees \`a la
% \autoref{sec:metadonnees}. La page titre qui suit la page couverture est quant \`a elle g\'en\'er\'ee
-% par l'environnement +GDpagetitre+ d\'ecrit \`a la \autoref{sec:environnements}.
+% par l'environnement +GDtitlepage+ d\'ecrit \`a la \autoref{sec:environnements}.
% \else
% The entire cover page is generated with this command. It is largely formatted with the formatting
% commands listed in \autoref{sec:metadonnees}. The title page that follows the cover is generated
-% by the +GDpagetitre+ environment described in \autoref{sec:environnements}.
+% by the +GDtitlepage+ environment described in \autoref{sec:environnements}.
% \fi
% \end{DescribeMacro}
%
@@ -668,7 +753,7 @@
% \subsubsection{Title page}
% \fi
%
-% \begin{DescribeEnv}{GDpagetitre}
+% \begin{DescribeEnv}{GDtitlepage}
% \ifnum\frenchdoc=1
% Toute la page titre est g\'en\'er\'ee par le biais de cet environnement. Les auteurs n'ont qu'\`a inscrire
% leurs informations personnelles dans les environnements +GDauthlist+, +GDaffillist+ et +GDemaillist+ d\'ecrits
@@ -814,7 +899,7 @@
% \fi
%
% \ifnum\frenchdoc=1
-% \subsection{\emph{Packages} par d\'efaut du cahier (lignes 104-117)}
+% \subsection{\emph{Packages} par d\'efaut du cahier (lignes 92-106)}
%
% Tous les \emph{packages} qui ne sont pas charg\'es par d\'efaut dans le fichier de classe (voir le
% \autoref{tab:pre-loaded-pkgs}) sont charg\'es dans cette section. C'est dans cette section que vous pourrez
@@ -822,7 +907,7 @@
% vous devrez charger les \emph{packages} qui ont tendance \`a ne pas fonctionner ad\'equatement s'ils sont
% charg\'es apr\`es le \emph{package} +hyperref+.
% \else
-% \subsection{Default packages (lines 104-117)}
+% \subsection{Default packages (lines 92-106)}
%
% All the packages that are not loaded by default in the class (see \autoref{tab:pre-loaded-pkgs})
% are loaded in this section. It’s in this section that the choice between the +algorithm+ and +algorithm2e+
@@ -831,7 +916,7 @@
% \fi
%
% \ifnum\frenchdoc=1
-% \subsection{Options par d\'efaut du cahier (lignes 118-132)}
+% \subsection{Options par d\'efaut du cahier (lignes 107-136)}
%
% Si vous nommez le r\'epertoire dans lequel vous compilerez vos figures diff\'eremment que le nom que nous
% lui avons donn\'e par d\'efaut ou si vous avez plus d'un r\'epertoire de figures, vous pourrez inscrire
@@ -842,7 +927,7 @@
%
% Dans tous les autres cas, veuillez ne pas modifier cette section.
% \else
-% \subsection{Default options (lines 118-132)}
+% \subsection{Default options (lines 107-136)}
%
% If the name of your folder containing your paper’s figures is named differently than the default name,
% or if there are multiple folders with figures in them, this is where you can enter that information.
@@ -853,7 +938,7 @@
% \fi
%
% \ifnum\frenchdoc=1
-% \subsection{Commandes de l'auteur (lignes 133-141)}
+% \subsection{Commandes de l'auteur (lignes 137-145)}
%
% Cette section vous appartient enti\`erement. Vous pouvez y charger les \emph{packages} n\'ecessaires \`a
% votre r\'edaction de m\^eme que leurs options.
@@ -861,7 +946,7 @@
% C'est \'egalement dans cette section que vous pouvez inscrire vos commandes, environnements et
% th\'eor\`emes personnalis\'es.
% \else
-% \subsection{Author commands (lines 133-141)}
+% \subsection{Author commands (lines 137-145)}
%
% This section belongs entirely to the author. This is where all the packages needed for the paper can be loaded,
% as well as their options.
@@ -870,26 +955,26 @@
% \fi
%
% \ifnum\frenchdoc=1
-% \subsection{Métadonn\'ees du cahier (lignes 143-155)}
+% \subsection{Métadonn\'ees du cahier (lignes 147-183)}
%
-% Cette section, dont une partie est à la fin du pr\'eambule et l'autre dans l'environnement +GDpagetitre+, au
+% Cette section, dont une partie est à la fin du pr\'eambule et l'autre dans l'environnement +GDtitlepage+, au
% d\'ebut du document, est l'endroit o\`u vous devrez inscrire toutes les m\'etadonn\'ees bibliographiques
% de votre cahier.
% \else
-% \subsection{Metadata (lines 143-155)}
+% \subsection{Metadata (lines 147-183)}
%
-% This section is divided in two: the first is at the end of the preamble, and the second in the +GDpagetitre+
+% This section is divided in two: the first is at the end of the preamble, and the second in the +GDtitlepage+
% environment located at the beginning of the document. This is where all the bibliographical metadata for the
% paper should be.
% \fi
%
% \ifnum\frenchdoc=1
-% \subsection{R\'esum\'es, mots-cl\'es, remerciements, article (lignes 156 et suivantes)}
+% \subsection{R\'esum\'es, mots-cl\'es, remerciements, article (lignes 185 et suivantes)}
%
% Ces deux derni\`eres sections sont, bien entendu, les endroits o\`u vous r\'edigerez votre cahier de
% recherche...
% \else
-% \subsection{Abstracts, keywords, acknowledgements, article (starting at line 156)}
+% \subsection{Abstracts, keywords, acknowledgements, article (starting at line 185)}
%
% These last two sections are, of course, where the body of the article will be.
% \fi
@@ -931,6 +1016,7 @@
% it configures some parts of the formatting. Once the variables have been created, default values
% are set.
% \fi
+% \changes{1.1}{2021-12-03}{Added isSupplement boolean and default value}
%
% \begin{macrocode}
%<*class>
@@ -943,6 +1029,7 @@
\newboolean{GD@needsSmallHeadSep}
\newboolean{GD@isFinalImpression}
\newboolean{GD@isPostPublication}
+\newboolean{GD@isSupplement}
\newboolean{GD@isRevised}
\newboolean{GD@needsminitabs}
@@ -952,6 +1039,7 @@
\setboolean{GD@needsSmallHeadSep}{false}
\setboolean{GD@isFinalImpression}{false}
\setboolean{GD@isPostPublication}{false}
+\setboolean{GD@isSupplement}{false}
\setboolean{GD@isRevised}{false}
\setboolean{GD@needsminitabs}{false}
% \end{macrocode}
@@ -967,6 +1055,7 @@
% The few class options are declared here. They essentially change some boolean values
% and pass some options to the +article+ class.
% \fi
+% \changes{1.1}{2021-12-03}{Added new gdsupplement option}
%
% \begin{macrocode}
@@ -998,6 +1087,9 @@
\DeclareOption{gdpostpub}{%
\setboolean{GD@isPostPublication}{true}
}
+\DeclareOption{gdsupplement}{%
+ \setboolean{GD@isSupplement}{true}
+}
\DeclareOption{gdrevised}{%
\setboolean{GD@isRevised}{true}
}
@@ -1055,14 +1147,13 @@
\RequirePackage{multirow}
\RequirePackage{array}
\RequirePackage[font={footnotesize,bf,sf}]{caption}
-\RequirePackage{color}
+\RequirePackage{xcolor}
\RequirePackage{enumitem}
\ifthenelse{\boolean{GD@needsminitabs}}{%
\RequirePackage{float}
}{}
% Required Packages Setup %
-\definecolor{gris}{rgb}{0.44,0.44,0.44} % color pkg setup
\captionsetup[table]{skip=5pt} % caption pkg setup
% \end{macrocode}
%
@@ -1077,6 +1168,7 @@
% We begin by defining the lengths of the document. These can change from
% one version of the paper to another.
% \fi
+% \changes{1.1}{2021-12-02}{Added new cover page vspace length}
%
% \begin{macrocode}
@@ -1086,6 +1178,7 @@
\newlength{\GD@affilitemsep}
\newlength{\GD@affiltopsep}
\newlength{\GD@titleminipage@hspace}
+\newlength{\GD@coverpage@vspace}
\ifthenelse{\boolean{GD@isPlainVersion}}{%
\setlength{\GD@authitemsep}{0pt}
\setlength{\GD@authtopsep}{12pt}
@@ -1111,7 +1204,7 @@
% \else
% We then set up the geometry of the document, which varies from one version to another.
% \fi
-%
+% \changes{1.1}{2022-01-18}{Removed nofoot option from plain geometry}%
% \begin{macrocode}
% Geometry %
@@ -1129,7 +1222,6 @@
bmargin=2cm,%
lmargin=3cm,%
rmargin=3cm,%
- nofoot,%
headsep=30pt,%
includehead}
}{}
@@ -1274,21 +1366,26 @@
% commands and populate different parts of the paper such as the headers,
% cover page and title page.
% \fi
+% \changes{1.1}{2021-12-03}{Added internal supplement name command}
+% \changes{1.1}{2021-12-07}{Translated all commands to english}
%
% \begin{macrocode}
% Class Private Commands %
% Metadata %
-\newcommand{\gd@annee}{}
-\newcommand{\gd@mois}{}
-\newcommand{\gd@month}{}
-\newcommand{\gd@numero}{}
-\newcommand{\gd@titre}{}
-\newcommand{\gd@auteurs@short}{}
-\newcommand{\gd@auteurs@copyright}{}
+\newcommand{\gd@year}{}
+\newcommand{\gd@month@fr}{}
+\newcommand{\gd@month@en}{}
+\newcommand{\gd@number}{}
+\newcommand{\gd@title}{}
+\newcommand{\gd@authors@short}{}
+\newcommand{\gd@authors@copyright}{}
\newcommand{\gd@postpubcitation}{}
\newcommand{\gd@postpubcitation@url}{}
-\newcommand{\gd@revised}{}
+\newcommand{\gd@supplementname}{}
+\newcommand{\gd@revised@year}{}
+\newcommand{\gd@revised@month@fr}{}
+\newcommand{\gd@revised@month@en}{}
% \end{macrocode}
%
% \ifnum\frenchdoc=1
@@ -1317,6 +1414,11 @@
% The following commands define its appearance. The bottom part of the page
% is different if the +gdpostpub+ option is used.
% \fi
+% \changes{1.1}{2021-12-02}{Added new vspace length for paper version only}
+% \changes{1.1}{2021-12-02}{Added vfill for web version only}
+% \changes{1.1}{2012-12-03}{Added supplement name to web version cover page}
+% \changes{1.1}{2021-12-03}{Added supplement name in paper cover page minipage}
+% \changes{1.1}{2021-12-13}{Fixed GDcover@bottom@postpub}
%
% \begin{macrocode}
@@ -1338,13 +1440,18 @@
\ifthenelse{\boolean{GD@isWebVersion}}{%
\vspace*{54pt}
- {\noindent\LARGE\bfseries \gd@titre\par} %Title
-
+ {\noindent\LARGE\bfseries \gd@title\par} %Title
+ \ifthenelse{\boolean{GD@isSupplement}}%
+ {{\noindent\LARGE\gd@supplementname\par}}{}
\vspace*{18pt}
- {\noindent\Large\gd@auteurs@short\par}
+ {\noindent\Large\gd@authors@short\par}
+
+ \vfill
}{}
- \vfill
+ \ifthenelse{\boolean{GD@isPaperVersion}}{%
+ \vspace*{\GD@coverpage@vspace}
+ }{}
\hspace*{\GD@titleminipage@hspace}
\begin{minipage}[c][5.4cm][c]{7cm}
{\ifthenelse{\boolean{GD@isWebVersion}}%
@@ -1366,14 +1473,14 @@
% Cover page minipage table (web version)
\newcommand{\GDcover@minipagetable@web}{%
\begin{tabular}{p{.5cm}|p{5.5cm}}
- & \normalsize G--\gd@annee--\gd@numero
+ & \normalsize G--\gd@year--\gd@number
\ifthenelse{\boolean{GD@needsminitabs}}%
{\\*[10pt]}%
{\\*[8pt]}
- & \normalsize\gd@month\ \gd@annee
+ & \normalsize\gd@month@en\ \gd@year
\ifthenelse{\boolean{GD@isRevised}}{%
\\
- &\normalsize Revised: \gd@revised
+ &\normalsize Revised: \gd@revised@month@en\ \gd@revised@year
}{}
\end{tabular}
}
@@ -1381,22 +1488,24 @@
% Cover page minipage table (paper version)
\newcommand{\GDcover@minipagetable@paper}{%
\begin{tabular}{p{.5cm}|p{5.5cm}}
- \multicolumn{2}{p{6.5cm}}{\normalsize\bfseries \gd@titre
+ \multicolumn{2}{p{6.5cm}}{\normalsize\bfseries \gd@title
\ifthenelse{\boolean{GD@needsminitabs}}%
{\vspace*{12.5pt}}%
{\vspace*{10pt}}}\\
- & \normalsize\gd@auteurs@short \\ %Initials. Name
+ \ifthenelse{\boolean{GD@isSupplement}}%
+ {& \gd@supplementname\\*[10pt]}{}
+ & \normalsize\gd@authors@short \\ %Initials. Name
& \ifthenelse{\boolean{GD@needsminitabs}}%
{\\*[15pt]}%
{\\*[12pt]}
- & \normalsize G--\gd@annee--\gd@numero
+ & \normalsize G--\gd@year--\gd@number
\ifthenelse{\boolean{GD@needsminitabs}}%
{\\*[10pt]}%
{\\*[8pt]}
- & \normalsize\gd@month\ \gd@annee
+ & \normalsize\gd@month@en\ \gd@year
\ifthenelse{\boolean{GD@isRevised}}{%
\\
- &\normalsize Revised: \gd@revised
+ &\normalsize Revised: \gd@revised@month@en\ \gd@revised@year
}{}
\end{tabular}
}
@@ -1417,12 +1526,16 @@
\medskip
\scriptsize
- \textbf{Citation sugg\'{e}r\'{e}e :} \gd@auteurs@short~(\gd@mois\
- \gd@annee). \gd@titre, Rapport technique, Les Cahiers du GERAD G--
- \gd@annee--\gd@numero, GERAD, HEC Montr\'{e}al, Canada.\\
+ \textbf{Citation sugg\'{e}r\'{e}e :} \gd@authors@short~(\gd@month@fr\
+ \gd@year). \gd@title,
+ \ifthenelse{\boolean{GD@isSupplement}}{\gd@supplementname .}{}
+ Rapport technique, Les Cahiers du GERAD G--
+ \gd@year--\gd@number, GERAD, HEC Montr\'{e}al, Canada.
+ \ifthenelse{\boolean{GD@isRevised}}%
+ { Version r\'evis\'ee: \gd@revised@month@fr\ \gd@revised@year}{}\\
\textbf{Avant de citer ce rapport technique,} veuillez visiter notre
- site Web (\url{https://www.gerad.ca/fr/papers/G-\gd@annee-\gd@numero})
+ site Web (\url{https://www.gerad.ca/fr/papers/G-\gd@year-\gd@number})
afin de mettre \`a jour vos donn\'ees de r\'ef\'erence, s'il a \'et\'e
publi\'e dans une revue scientifique.\par
\end{minipage}
@@ -1436,12 +1549,16 @@
added.\\ \\
\scriptsize
- \textbf{Suggested citation:} \gd@auteurs@short~(\gd@month\ \gd@annee).
- \gd@titre, Technical report, Les Cahiers du GERAD G--\gd@annee--\gd@numero,
- GERAD, HEC Montr\'{e}al, Canada.\\
+ \textbf{Suggested citation:} \gd@authors@short~(\gd@month@en\ \gd@year).
+ \gd@title,
+ \ifthenelse{\boolean{GD@isSupplement}}{\gd@supplementname .}{}
+ Technical report, Les Cahiers du GERAD G--\gd@year--\gd@number,
+ GERAD, HEC Montr\'{e}al, Canada.
+ \ifthenelse{\boolean{GD@isRevised}}%
+ { Revised version: \gd@revised@month@en\ \gd@revised@year}{}\\
\textbf{Before citing this technical report,} please visit our website
- (\url{https://www.gerad.ca/en/papers/G-\gd@annee-\gd@numero}) to update
+ (\url{https://www.gerad.ca/en/papers/G-\gd@year-\gd@number}) to update
your reference data, if it has been published in a scientific journal.
\par
\end{minipage}
@@ -1459,8 +1576,8 @@
\medskip
D\'ep\^ot l\'egal -- Biblioth\`eque et Archives nationales du Qu\'ebec,
- \gd@annee\\
- \phantom{Depot legal} -- Biblioth\`eque et Archives Canada, \gd@annee
+ \gd@year\\
+ \phantom{Depot legal} -- Biblioth\`eque et Archives Canada, \gd@year
\par
\end{minipage}
\hfill
@@ -1473,8 +1590,8 @@
\medskip
Legal deposit -- Biblioth\`eque et Archives nationales du Qu\'ebec,
- \gd@annee\\
- \phantom{Legal deposit} -- Library and Archives Canada, \gd@annee\par
+ \gd@year\\
+ \phantom{Legal deposit} -- Library and Archives Canada, \gd@year\par
\end{minipage}
\hrule
@@ -1546,10 +1663,8 @@
\hrule
\smallskip
- \noindent
- \begin{minipage}[t][2.1cm][l]{7.5cm}
+ \noindent\begin{minipage}[t][2.1cm][l]{7.5cm}
\scriptsize
- \medskip
La publication de ces rapports de recherche est rendue possible gr\^ace
au soutien de HEC Montr\'eal, Polytechnique Montr\'eal, Universit\'e
McGill, Universit\'e du Qu\'ebec \`a Montr\'eal, ainsi que du Fonds de
@@ -1557,13 +1672,13 @@
\medskip
D\'ep\^ot l\'egal -- Biblioth\`eque et Archives nationales du Qu\'ebec,
- 2020\\
- \phantom{Depot legal} -- Biblioth\`eque et Archives Canada, 2020\par
+ \gd@year\\
+ \phantom{Depot legal} -- Biblioth\`eque et Archives Canada, \gd@year
+ \par
\end{minipage}
\hfill
\begin{minipage}[t][2.1cm][l]{7.5cm}
\scriptsize
- \medskip
The publication of these research reports is made possible
thanks to the support of HEC Montr\'eal, Polytechnique Montr\'eal,
McGill University, Universit\'e du Qu\'ebec \`a Montr\'eal, as well as
@@ -1571,8 +1686,8 @@
\medskip
Legal deposit -- Biblioth\`eque et Archives nationales du Qu\'ebec,
- 2020\\
- \phantom{Legal deposit} -- Library and Archives Canada, 2020\par
+ \gd@year\\
+ \phantom{Legal deposit} -- Library and Archives Canada, \gd@year\par
\end{minipage}
\hrule
@@ -1609,14 +1724,17 @@
% \ifnum\frenchdoc=1
% La page titre s'affiche dans toutes les versions du cahier, mais
% diffère en fonction des versions. Étant donné qu'elle est contenue
-% dans l'environnement +GDpagetitre+, les commandes internes pour son
+% dans l'environnement +GDtitlepage+, les commandes internes pour son
% affichage sont divisées en deux parties +@begin+ et +@end+.
% \else
% The title page appears in all versions of the paper, but it varies
-% according to the version. Given that it is contained in the +GDpagetitre+
+% according to the version. Given that it is contained in the +GDtitlepage+
% environment, the internal commands for the title page’s display are
% divided into two parts: +@begin+ and +@end+.
% \fi
+% \changes{1.1}{2021-12-03}{Added supplement name to title page}
+% \changes{1.1}{2021-12-06}{Added the Revised prefix}
+% \changes{1.1}{2021-12-06}{Changed plain title page's month for english}
%
% \begin{macrocode}
@@ -1631,7 +1749,10 @@
}
\parindent=0pt
\sffamily
- {\LARGE\bfseries \gd@titre\par} %Title
+ {\LARGE\bfseries \gd@title\par} %Title
+ \ifthenelse{\boolean{GD@isSupplement}}%
+ {{\LARGE\gd@supplementname\par}
+ }{}
\begin{minipage}[t][10cm][l]{7.5cm}
\vspace*{55pt}
}
@@ -1640,14 +1761,14 @@
\vfill
\end{minipage}
\vfill
-{\bfseries \gd@month\ \gd@annee}\\*
+{\bfseries \gd@month@en\ \gd@year}\\*
\ifthenelse{\boolean{GD@isRevised}}%
- {\\ \gd@revised \\}%
+ {Revised: \gd@revised@month@en\ \gd@revised@year \\}%
{}
{\bfseries Les Cahiers du GERAD}\\
-{\bfseries G--\gd@annee--\gd@numero}\\
-{\footnotesize Copyright \copyright\ \gd@annee\ GERAD,
- \gd@auteurs@copyright}
+{\bfseries G--\gd@year--\gd@number}\\
+{\footnotesize Copyright \copyright\ \gd@year\ GERAD,
+ \gd@authors@copyright}
\vspace*{0.05cm}
\hrule
@@ -1705,12 +1826,16 @@
\newcommand{\GD@plain@titlepage@begin}{%
\thispagestyle{empty}
\sffamily
- {\sffamily\LARGE\bfseries\noindent\gd@titre\par}
+ {\sffamily\LARGE\bfseries\noindent\gd@title\par}
+ \ifthenelse{\boolean{GD@isSupplement}}%
+ {{\noindent\LARGE\gd@supplementname\par}}{}
}
\newcommand{\GD@plain@pagetitle@end}{%
\vspace*{12pt}
- {\noindent\gd@mois\ \gd@annee}
+ {\noindent\gd@month@en\ \gd@year}
+ \ifthenelse{\boolean{GD@isRevised}}%
+ {\\ {\noindent Revised: \gd@revised@month@en\ \gd@revised@year}}{}
\vspace*{30pt}
}
% \end{macrocode}
@@ -1729,6 +1854,32 @@
% cannot be reused or moved.
% \fi
%
+%
+% \ifnum\frenchdoc=1
+% \subsubsection{Mise en forme du document}
+% La quantit\'e de versions possibles d'un gabarit \gdwp\ impose que certaines
+% commandes internes de mise en forme puissent \^etre modifi\'ees simplement par
+% le biais de commandes publiques, disponibles dans le pr\'eambule. Cela facilite
+% le travail des responsables de l'\'edition et emp\^eche la multiplication de
+% versions maison de la classe\footnote{Toute r\'ef\'erence \`a une personne r\'eelle est %
+% totalement fortuite.}.
+% \else
+% \subsubsection{Document layout}
+% The number of a \gdwp\ template's possible versions imply that some internal document
+% layout commands must be easily changed via public commands, available in the template's
+% preamble. This allows more efficient work on the publisher's side and prevents the
+% multiplication of homemade versions of the class\footnote{Any reference to a real-life person %
+% is pure coincidence.}.
+% \fi
+% \changes{1.1}{2021-12-02}{Added new GDcoverpagewhitespace command to change cover page vspace}
+%
+% \begin{macrocode}
+
+% Layout public commands
+\newcommand{\GDcoverpagewhitespace}[1]{%
+ \setlength{\GD@coverpage@vspace}{#1}
+}
+% \end{macrocode}
% \ifnum\frenchdoc=1
% \subsubsection{M\'etadonn\'ees}
% Les commandes suivantes sont celles o\`u l'utilisateur saisit les donn\'ees
@@ -1740,35 +1891,41 @@
% bibliographical data. They modify the values of the corresponding private
% commands (see \autoref{ann:private-meta}).
% \fi
+% \changes{1.1}{2021-12-03}{Added public GDsupplementname command}
%
% \begin{macrocode}
% Metadata public commands
-\newcommand{\GDannee}[1]{%
- \renewcommand{\gd@annee}{#1}
+\newcommand{\GDyear}[1]{%
+ \renewcommand{\gd@year}{#1}
}
-\newcommand{\GDmois}[2]{%
- \renewcommand{\gd@mois}{#1}
- \renewcommand{\gd@month}{#2}
+\newcommand{\GDmonth}[2]{%
+ \renewcommand{\gd@month@fr}{#1}
+ \renewcommand{\gd@month@en}{#2}
}
-\newcommand{\GDnumero}[1]{%
- \renewcommand{\gd@numero}{#1}
+\newcommand{\GDnumber}[1]{%
+ \renewcommand{\gd@number}{#1}
}
-\newcommand{\GDtitre}[1]{%
- \renewcommand{\gd@titre}{#1}
+\newcommand{\GDtitle}[1]{%
+ \renewcommand{\gd@title}{#1}
}
-\newcommand{\GDauteursCourts}[1]{%
- \renewcommand{\gd@auteurs@short}{#1}
+\newcommand{\GDauthorsShort}[1]{%
+ \renewcommand{\gd@authors@short}{#1}
}
-\newcommand{\GDauteursCopyright}[1]{%
- \renewcommand{\gd@auteurs@copyright}{#1}
+\newcommand{\GDauthorsCopyright}[1]{%
+ \renewcommand{\gd@authors@copyright}{#1}
}
\newcommand{\GDpostpubcitation}[2]{%
\renewcommand{\gd@postpubcitation}{#1}
\renewcommand{\gd@postpubcitation@url}{#2}
}
-\newcommand{\GDrevised}[1]{%
- \renewcommand{\gd@revised}{#1}
+\newcommand{\GDsupplementname}[1]{%
+ \renewcommand{\gd@supplementname}{#1}
+}
+\newcommand{\GDrevised}[3]{%
+ \renewcommand{\gd@revised@month@fr}{#1}
+ \renewcommand{\gd@revised@month@en}{#2}
+ \renewcommand{\gd@revised@year}{#3}
}
% \end{macrocode}
%
@@ -1787,16 +1944,18 @@
% multiple lines of code, a few commands and environments were created to group them
% together.
% \fi
+% \changes{1.1}{2021-12-03}{Added supplement name in header}
+% \changes{1.1}{2021-12-03}{Replaced all fancyhdr v3 commands by v4 commands}
%
% \begin{macrocode}
% Cover page
-\newcommand{\GDpageCouverture}{%
+\newcommand{\GDcoverpage}{%
\ifthenelse{\boolean{GD@isPlainVersion}}{}{\GD@cover}
}
% Title page
-\newenvironment{GDpagetitre}{
+\newenvironment{GDtitlepage}{
\ifthenelse{\boolean{GD@isPlainVersion}}%
{\GD@plain@titlepage@begin}%
{\GD@titlepage@begin}
@@ -1841,29 +2000,33 @@
\setcounter{page}{2}
\renewcommand{\thepage}{\roman{page}}
\pagestyle{fancy}
- \lhead[
- \textcolor{gris}{\sffamily{\,}\thepage}\hfill
- \textcolor{gris}{\sffamily G--\gd@annee--\gd@numero}\hfill %
- \ifthenelse{\boolean{GD@isRevised}}%
- {{ -- \itshape Revised}}%
- {}
- \textcolor{gris}{\sffamily Les Cahiers du GERAD}
- {\large\strut}\color{gris}{\hrule}
- ]
- {
- \textcolor{gris}{\sffamily{\,} Les Cahiers du GERAD}\hfill
- \textcolor{gris}{\sffamily G--\gd@annee--\gd@numero}\hfill %
+ \fancyhead[LO]{%
+ \textcolor{gray}{\sffamily{\,} Les Cahiers du GERAD}\hfill
+ \textcolor{gray}{\sffamily G--\gd@year--\gd@number}%
+ \ifthenelse{\boolean{GD@isSupplement}}%
+ {\textcolor{gray}{\sffamily\ -- \itshape \gd@supplementname}}%
+ {} %
\ifthenelse{\boolean{GD@isRevised}}%
- {{ -- \itshape Revised}}%
- {}
- \textcolor{gris}{\sffamily\thepage}
- {\large\strut}\color{gris}{\hrule}
+ {\textcolor{gray}{\sffamily\ -- \itshape Revised}}%
+ {}\hfill
+ \textcolor{gray}{\sffamily\thepage}
+ {\large\strut}\color{gray}{\hrule}
}
- \chead[]{}
- \rhead[]{}
- \lfoot[]{}
- \cfoot[]{}
- \rfoot[]{}
+ \fancyhead[LE]{%
+ \textcolor{gray}{\sffamily{\,}\thepage}\hfill
+ \textcolor{gray}{\sffamily G--\gd@year--\gd@number}%
+ \ifthenelse{\boolean{GD@isSupplement}}%
+ {\textcolor{gray}{\sffamily\ -- \itshape \gd@supplementname}}%
+ {} %
+ \ifthenelse{\boolean{GD@isRevised}}%
+ {\textcolor{gray}{\sffamily\ -- \itshape Revised}}%
+ {}\hfill
+ \textcolor{gray}{\sffamily Les Cahiers du GERAD}
+ {\large\strut}\color{gray}{\hrule}
+ }
+ \fancyhead[C]{}
+ \fancyhead[R]{}
+ \fancyfoot{}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
\rmfamily
@@ -1900,6 +2063,51 @@
\rmfamily
}
}
+% \end{macrocode}
+%
+% \ifnum\frenchdoc=1
+% \subsection{Commandes et environnements obsol\`etes}
+% Dans la version 1.1 de \gdwp, toutes les commandes et environnements qui avaient un nom
+% fran\c{c}ais ont \'et\'e traduits en anglais dans un souci d'uniformit\'e
+% et pour faciliter la compr\'ehension des noms par le plus grand nombre
+% d'utilisateurs.
+%
+% Les commandes et environnements fran\c{c}ais sont maintenus, mais seulement pour permettre
+% la r\'etrocompatibilit\'e du gabarit de la version 1.0 avec la d\'efinition
+% de classe des versions subs\'equentes. Une fois que cette version du gabarit
+% ne sera plus en circulation, tout ce qui est obsol\`ete sera retir\'e
+% de la classe.
+% \else
+% \subsection{Deprecated commands and environments}
+% In \gdwp\ version 1.1, all commands and environments that had French names have been translated
+% in English for consistency reasons and to make sure that the they could
+% be directly understood by most users.
+%
+% The French commands and environments are preserved only to ensure backwards compatibility
+% between version 1.0 of the template and subsequent versions of the class.
+% Once that version of the template stops circulating, everything that is deprecated will be
+% removed from the class.
+% \fi
+%
+% \begin{macrocode}
+
+\newcommand{\GDtitre}[1]{\GDtitle{#1}}
+\newcommand{\GDmois}[2]{\GDmonth{#1}{#2}}
+\newcommand{\GDannee}[1]{\GDyear{#1}}
+\newcommand{\GDnumero}[1]{\GDnumber{#1}}
+\newcommand{\GDauteursCourts}[1]{\GDauthorsShort{#1}}
+\newcommand{\GDauteursCopyright}[1]{\GDauthorsCopyright{#1}}
+\newcommand{\GDpageCouverture}{\GDcoverpage}
+\newenvironment{GDpagetitre}{
+ \ifthenelse{\boolean{GD@isPlainVersion}}%
+ {\GD@plain@titlepage@begin}%
+ {\GD@titlepage@begin}
+}{
+ \ifthenelse{\boolean{GD@isPlainVersion}}%
+ {\GD@plain@pagetitle@end}%
+ {\GD@titlepage@end}
+}
+
%</class>
% \end{macrocode}
%
@@ -1909,6 +2117,8 @@
% \iffalse
% ^^A Code du gabarit
%<*template>
+%% Template version 1.1
+%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%%%%%%%%% Notes pour les auteurs %%%%%%%%%%%%%%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1983,8 +2193,12 @@
\PassOptionsToPackage{hyphens}{url}
%% Choose one of the two following algorithm packages
-%% \usepackage{algorithm}
-\usepackage{algorithm2e}
+%% \usepackage[ruled]{algorithm}
+%% \usepackage{algorithmic}
+% \changes{1.1}{2021-12-07}{Added package algorithmic in preamble}
+\usepackage[ruled,linesnumbered]{algorithm2e}
+% \changes{1.1}{2021-12-06}{Added options to algorithm packages}
+\usepackage[french]{babel}
\usepackage{hyperref}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -1994,6 +2208,8 @@
%% %%% ----- DO NOT MODIFY! -------- %%%%%%%%%%%%%%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\GDcoverpagewhitespace{6.8cm}
+% \changes{1.1}{2021-12-02}{Added new white space command for paper version}
\graphicspath{{Figures/}} % graphicx pkg setup
\hypersetup{colorlinks,%
citecolor={blue}, % Change for "black" with natbib
@@ -2002,6 +2218,21 @@
breaklinks={true}
}
+%% Algorithm caption customizations
+\makeatletter
+\ifthenelse{\isundefined{\ALG@name}}{}%
+{%
+ \renewcommand{\ALG@name}{\sffamily\footnotesize Algorithm}
+}
+\makeatother
+%% Algorithm2e caption customizations
+\ifthenelse{\isundefined{\SetAlCapNameFnt}}{}%
+{%
+ \SetAlCapNameFnt{\footnotesize}
+ \SetAlCapFnt{\sffamily\footnotesize}
+}
+% \changes{1.1}{2021-12-07}{Added algorithm caption customizations}
+
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%%%%% Début - commandes de l'auteur %%%%%%%%%%%%
%% %%%%%%%% Start of author commands %%%%%%%%%%%%%%%
@@ -2016,20 +2247,23 @@
%% %%%%%%%%%% Métadonnées du cahier %%%%%%%%%%%%%%%
%% %%%%%%%%%% Working paper metadata %%%%%%%%%%%%%%%
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\GDtitre{This is a title}
-\GDmois{Mai}{May}
-\GDannee{2021}
-\GDnumero{XX}
-\GDauteursCourts{B. Hamel, K. H\'ebert}
-\GDauteursCopyright{Hamel, H\'ebert}
-\GDpostpubcitation{Hamel, Benoit, Karine H\'ebert (2021). \og Un exemple de citation \fg, \emph{Journal of Journals}, vol. X issue Y, p. n-m}{https://www.gerad.ca/fr}
-\GDrevised{Mai 2021}
+\GDtitle{This is a title}
+\GDmonth{Mai}{May}
+\GDyear{2021}
+\GDnumber{XX}
+\GDauthorsShort{B. Hamel, K. H\'ebert}
+\GDauthorsCopyright{Hamel, H\'ebert}
+\GDpostpubcitation{Hamel, Benoit, Karine H\'ebert (2021). ``Un exemple de citation'', \emph{Journal of Journals}, vol. X issue Y, p. n-m}{https://www.gerad.ca/fr}
+\GDsupplementname{Internet Appendix}
+% \changes{1.1}{2021-12-03}{Added GDsupplementname to template preamble}
+\GDrevised{Mai}{May}{2021}
+% \changes{1.1}{2021-12-15}{Replaced original GDrevised by its bilingual version}
\begin{document}
- \GDpageCouverture
+ \GDcoverpage
- \begin{GDpagetitre}
+ \begin{GDtitlepage}
\begin{GDauthlist}
\GDauthitem{Benoit Hamel \ref{affil:bib}}
@@ -2047,7 +2281,7 @@
\GDemailitem{karine.hebert@gerad.ca}
\end{GDemaillist}
- \end{GDpagetitre}
+ \end{GDtitlepage}
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% %%%%%%%%% Résumés, mots-clés, remerciements %%%%%%%%%%%
diff --git a/macros/latex/contrib/geradwp/geradwp.ins b/macros/latex/contrib/geradwp/geradwp.ins
index 7ef7e7c993..fa55d12649 100644
--- a/macros/latex/contrib/geradwp/geradwp.ins
+++ b/macros/latex/contrib/geradwp/geradwp.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright 2021 GERAD, HEC Montréal
+%% Copyright 2022 GERAD, HEC Montréal
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -19,7 +19,7 @@
This is a stripped version of the original file.
-Copyright 2021 GERAD, HEC Montreal
+Copyright 2022 GERAD, HEC Montreal
This work may be distributed and/or modified under the
conditions of the LaTeX Project Public License, either version 1.3c
@@ -47,16 +47,15 @@ geradwp.pdf and the derived files listed in the README file.
\obeyspaces
\Msg{*********************************************************}
-\Msg{* Classe geradwp v1.0 *}
+\Msg{* Classe geradwp v1.1 *}
\Msg{* *}
-\Msg{* La classe geradwp est installee et prete a l'emploi. *}
-\Msg{* Consultez le document geradwp.pdf afin de prendre *}
-\Msg{* connaissance de toutes ses fonctionnalites. *}
+\Msg{* The geradwp document class is installed and ready to *}
+\Msg{* to be used. Please read the documentation in order to *}
+\Msg{* understand all its features. *}
\Msg{* *}
-\Msg{* Pour tout commentaire, demande de correction de bogue *}
-\Msg{* ou d'amelioration, ou tout simplement pour obtenir de *}
-\Msg{* l'aide sur l'utilisation de la classe pour votre *}
-\Msg{* travail, communiquez avec Benoit Hamel a l'adresse *}
+\Msg{* If you have any comments, bug fix or feature request, *}
+\Msg{* or if you need any assistance on how to use the class *}
+\Msg{* and its template, please contact Benoit Hamel at *}
\Msg{* benoit.2.hamel[a]hec.ca. *}
\Msg{*********************************************************}
diff --git a/macros/latex/contrib/geradwp/geradwp.pdf b/macros/latex/contrib/geradwp/geradwp.pdf
index 3b22f85463..d3dcd248f3 100644
--- a/macros/latex/contrib/geradwp/geradwp.pdf
+++ b/macros/latex/contrib/geradwp/geradwp.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvlogos/Changes b/macros/latex/contrib/hvlogos/Changes
index f206cbb406..9517b17c84 100644
--- a/macros/latex/contrib/hvlogos/Changes
+++ b/macros/latex/contrib/hvlogos/Changes
@@ -1,8 +1,9 @@
hvlogos.sty:
+0.08 2022-04-25 - added \mkII, \mkIV
0.07 2022-02-28 - fix for \dante and \eV
0.06 2022-01-23 - added \BibLaTeXML
0.05 2022-01-08 - added \LuaMetaTeX and \LMTX with alias in lowercase letters
-0.04 2021-10-02 - added new macros to user-defined kernings
+0.04 2021-10-02 - added \tex4ht
0.03 2021-09-25 - \tikz in regular font
- \CTAN is sf font
0.02 2021-08-13 - fix for \tikz which is reserved by package tikz
diff --git a/macros/latex/contrib/hvlogos/README b/macros/latex/contrib/hvlogos/README
index 540ae523e8..5533d66103 100644
--- a/macros/latex/contrib/hvlogos/README
+++ b/macros/latex/contrib/hvlogos/README
@@ -1,5 +1,5 @@
-hvlogos
+hvlogos
Printing TeX related names as a logo
%% This program can be redistributed and/or modified under the terms
diff --git a/macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf b/macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf
index ffcc2d1d71..8b483f54d1 100644
--- a/macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf
+++ b/macros/latex/contrib/hvlogos/doc/hvlogos-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex b/macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex
index aef5ba2655..30ffb01ad5 100644
--- a/macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex
+++ b/macros/latex/contrib/hvlogos/doc/hvlogos-doc.tex
@@ -87,6 +87,8 @@ The package \LPack{hvlogos} loads by default the packages
\Lcs{METAFONT} & \Lcs{MF}& \METAFONT \\
\Lcs{MetaFun} &\Lcs{MFun} & \MetaFun\\
\Lcs{METAPOST} & \Lcs{MetaPost}, \Lcs{MP}& \METAPOST \\
+\Lcs{mkII} &\Lcs{mkii}& \mkII \\
+\Lcs{mkIV} &\Lcs{mkiv}& \mkIV \\
\Lcs{MiKTeX} && \MiKTeX \\[5pt]
\Lcs{NTS} && \NTS \\[5pt]
diff --git a/macros/latex/contrib/hvlogos/latex/hvlogos.sty b/macros/latex/contrib/hvlogos/latex/hvlogos.sty
index 78f8bf3ee0..5a94c04554 100644
--- a/macros/latex/contrib/hvlogos/latex/hvlogos.sty
+++ b/macros/latex/contrib/hvlogos/latex/hvlogos.sty
@@ -10,7 +10,7 @@
%
%
% -------------------------------------
-\ProvidesPackage{hvlogos}[2022/02/28 v. 0.07 Logos (hv)]
+\ProvidesPackage{hvlogos}[2022/04/25 v. 0.08 Logos (hv)]
%
\newif\if@dtk@newengine \@dtk@newenginetrue
%
@@ -150,6 +150,10 @@
\let\MFun\MetaFun
\def\METAPOST{\hologo{METAPOST}}
\def\MetaPost{\hologo{MetaPost}}
+\def\mkII{\textsf{mkII}}
+\let\mkii\mkII
+\def\mkIV{\textsf{mkIV}}
+\let\mkiv\mkIV
\let\MP\METAPOST
\def\MiKTeX{\hologo{MiKTeX}}
\def\NTS{\hologo{NTS}}
@@ -249,6 +253,4 @@
\let\puth = \PuTh
-
-
\endinput
diff --git a/macros/latex/contrib/minimalist/minimalist-classical.sty b/macros/latex/contrib/minimalist/minimalist-classical.sty
index 5851a6b92f..5fd710c03e 100644
--- a/macros/latex/contrib/minimalist/minimalist-classical.sty
+++ b/macros/latex/contrib/minimalist/minimalist-classical.sty
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{minimalist-classical}
- {2022/04/17} {}
+ {2022/04/24} {}
{The classical style of minimalist}
\@ifpackageloaded { minimalist } {}
@@ -264,7 +264,7 @@
%%================================
%% Title format
%%================================
-\RequirePackage [ explicit, newparttoc, nobottomtitles ] { titlesec }
+\RequirePackage [ explicit, newparttoc, nobottomtitles* ] { titlesec }
\PassOptionsToPackage { normalem } { ulem }
\RequirePackage { ulem }
@@ -511,7 +511,7 @@
%% Lists
%%================================
\RequirePackage { enumitem }
-\setlistdepth{9}
+\setlistdepth{10}
\setlist{noitemsep, topsep=.33\topsep}
\setlist[enumerate]{labelsep=*, leftmargin=*}
\setlist[enumerate,1]{label=\arabic*$)$,
@@ -527,17 +527,13 @@
\hspace{\labelsep}\normalfont\desculine{#1}
}
-\setlist[itemize]{leftmargin=*}
+\renewlist{itemize}{itemize}{10}
+\setlist[itemize]{leftmargin=*,label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
\AddLanguageSetting { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\bullet$}} }
\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{---}} }
\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{--}}
\setlist[itemize,3]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\circ$}}
\setlist[itemize,4]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\ast$}}
-\setlist[itemize,5]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
-\setlist[itemize,6]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
-\setlist[itemize,7]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
-
-\renewlist{itemize}{itemize}{9}
%%================================
%% Blank page
@@ -669,9 +665,10 @@ heading_suffix "}\n"
{\normalfont}{}
{\newline}
{ \global\let\qedsymbol\simpleqedsymbol
- {\thmname{#1}\thmnumber{\nobreakspace #2}}
- \thmnote{\hspace{.4em}\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }\hspace{.4em}\color{main-text!50!paper}$($#3$)$}
- \smallskip
+ \rlap{\vbox{\hbox{\parbox{\linewidth}{
+ {\thmname{#1}\thmnumber{\nobreakspace #2}}
+ \thmnote{\hspace{.4em}\textcolor{main-text!27!paper}{ \l_minimalist_sep_bar }\hspace{.4em}\color{main-text!50!paper}$($#3$)$}
+ }}\hbox{\strut}\vspace{-2\parskip}}}
\pushQED{\qed}
}
}
@@ -853,41 +850,6 @@ heading_suffix "}\n"
\RequirePackage { tcolorbox }
\bool_if:NT \l__minimalist_fast_bool { \tcbstartdraftmode }
-\bool_if:NF \l__minimalist_fast_bool
- {
- \bool_if:NT \l__minimalist_theorem_in_new_line_bool
- {
- \cs_new_protected:Nn \minimclass_box_environment:n
- {
- \hook_gput_code:nnn { env/#1/before } { minimalist }
- {
- \LocallyStopLineNumbers
- \begin { tcolorbox }
- [
- enhanced~jigsaw,
- frame~hidden,
- interior~hidden,
- top = 0pt, bottom = 0pt,
- left = 0pt, right = 0pt,
- boxrule = 0pt, boxsep = 0pt,
- before~skip = \parskip+\topsep+.25\baselineskip,
- after~skip = \parskip+\topsep+.25\baselineskip,
- enforce~breakable, lines~before~break=3,
- ]
- }
- \hook_gput_code:nnn { env/#1/after } { minimalist }
- {
- \end { tcolorbox }
- \ResumeLineNumbers
- }
- }
- \exp_args:No \clist_map_inline:nn { \c_projlib_theorem_supported_clist }
- {
- \minimclass_box_environment:n { #1 }
- \minimclass_box_environment:n { #1 * }
- }
- }
- }
\NewDocumentEnvironment { emphasis } { }
{
@@ -895,11 +857,12 @@ heading_suffix "}\n"
\enlargethispage{2mm}
\begin{tcolorbox}
[
- enhanced ~ jigsaw, enforce~breakable, oversize,
+ enhanced ~ jigsaw, breakable, oversize,
% nobeforeafter,
left = .5em, right=0mm, top=0.5mm, bottom=0mm, boxrule=0pt,
- colback=main-text!2!paper, frame ~ hidden,
- borderline ~ west = {.3em} {0mm} {main-text!25!paper}, arc = 0.2mm,
+ colback = paper, frame ~ hidden,
+ borderline ~ west = {.125em} {-.5mm} {main-text!25!paper, double, double ~ distance=.1em},
+ arc = 0.2mm,
]
}
{
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.pdf b/macros/latex/contrib/minimalist/minimalist-doc.pdf
index e79171997e..f890924979 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.pdf
+++ b/macros/latex/contrib/minimalist/minimalist-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/minimalist/minimalist-doc.tex b/macros/latex/contrib/minimalist/minimalist-doc.tex
index abf1a3528a..199f6ca675 100644
--- a/macros/latex/contrib/minimalist/minimalist-doc.tex
+++ b/macros/latex/contrib/minimalist/minimalist-doc.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\title{\minimalist{}, write your articles or books in a simple and clear way}
\author{Jinwen XU}
diff --git a/macros/latex/contrib/minimalist/minimalist-plain.sty b/macros/latex/contrib/minimalist/minimalist-plain.sty
index 5be7970316..28dbd470e8 100644
--- a/macros/latex/contrib/minimalist/minimalist-plain.sty
+++ b/macros/latex/contrib/minimalist/minimalist-plain.sty
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{minimalist-plain}
- {2022/04/17} {}
+ {2022/04/24} {}
{The plain style of minimalist}
\@ifpackageloaded { minimalist } {}
@@ -250,7 +250,7 @@
%%================================
%% Title format
%%================================
-\RequirePackage [ explicit, newparttoc, nobottomtitles ] { titlesec }
+\RequirePackage [ explicit, newparttoc, nobottomtitles* ] { titlesec }
\PassOptionsToPackage { normalem } { ulem }
\RequirePackage { ulem }
@@ -485,7 +485,7 @@
%% Lists
%%================================
\RequirePackage { enumitem }
-\setlistdepth{9}
+\setlistdepth{10}
\setlist{noitemsep, topsep=.33\topsep}
\setlist[enumerate]{labelsep=*, leftmargin=*}
\setlist[enumerate,1]{label=\arabic*$)$,
@@ -496,17 +496,13 @@
ref = \arabic{enumi}.\emph{\roman{enumii}}.\emph{\alph*}$)$}
\setlist[description]{font=\normalfont\minimalist_bfseries:}
-\setlist[itemize]{leftmargin=*}
+\renewlist{itemize}{itemize}{10}
+\setlist[itemize]{leftmargin=*,label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
\AddLanguageSetting { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\bullet$}} }
\AddLanguageSetting [french] { \setlist[itemize,1]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{---}} }
\setlist[itemize,2]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{--}}
\setlist[itemize,3]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\circ$}}
\setlist[itemize,4]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\ast$}}
-\setlist[itemize,5]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
-\setlist[itemize,6]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
-\setlist[itemize,7]{label=\colorlet{currentcolor}{.}\textcolor{currentcolor!27!paper}{$\cdot$}}
-
-\renewlist{itemize}{itemize}{9}
%%================================
%% Blank page
@@ -631,12 +627,16 @@ heading_suffix "}\n"
\bool_if:NTF \l__minimalist_theorem_in_new_line_bool
{
\newtheoremstyle{simple}
- {}{}
+ {.75\baselineskip}{}
{\normalfont}{}
{\normalfont}{}
- {\newline}
- {{\thmname{#1}\thmnumber{\nobreakspace #2}}
- {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}\smallskip}
+ {0pt}
+ {
+ \rlap{\vbox{\hbox{\parbox{\linewidth}{
+ {\thmname{#1}\thmnumber{\nobreakspace #2}}
+ {\color{main-text!50!paper}\thmnote{\hspace{.4em}$($#3$)$}}
+ }}\hbox{\strut}\vspace{-2\parskip}}}
+ }
}
{
\newtheoremstyle{simple}
@@ -809,41 +809,6 @@ heading_suffix "}\n"
\RequirePackage { tcolorbox }
\bool_if:NT \l__minimalist_fast_bool { \tcbstartdraftmode }
-\bool_if:NF \l__minimalist_fast_bool
- {
- \bool_if:NT \l__minimalist_theorem_in_new_line_bool
- {
- \cs_new_protected:Nn \minimclass_box_environment:n
- {
- \hook_gput_code:nnn { env/#1/before } { minimalist }
- {
- \LocallyStopLineNumbers
- \begin { tcolorbox }
- [
- enhanced~jigsaw,
- frame~hidden,
- interior~hidden,
- top = 0pt, bottom = 0pt,
- left = 0pt, right = 0pt,
- boxrule = 0pt, boxsep = 0pt,
- before~skip = \parskip+\topsep+.25\baselineskip,
- after~skip = \parskip+\topsep+.25\baselineskip,
- enforce~breakable, lines~before~break=3,
- ]
- }
- \hook_gput_code:nnn { env/#1/after } { minimalist }
- {
- \end { tcolorbox }
- \ResumeLineNumbers
- }
- }
- \exp_args:No \clist_map_inline:nn { \c_projlib_theorem_supported_clist }
- {
- \minimclass_box_environment:n { #1 }
- \minimclass_box_environment:n { #1 * }
- }
- }
- }
\NewDocumentEnvironment { emphasis } { }
{
@@ -851,11 +816,12 @@ heading_suffix "}\n"
\enlargethispage{2mm}
\begin{tcolorbox}
[
- enhanced ~ jigsaw, enforce~breakable, oversize,
+ enhanced ~ jigsaw, breakable, oversize,
% nobeforeafter,
left = .5em, right=0mm, top=0.5mm, bottom=0mm, boxrule=0pt,
colback=main-text!2!paper, frame ~ hidden,
- borderline ~ west = {.3em} {0mm} {main-text!25!paper}, arc = 0.2mm,
+ borderline ~ west = {.3em} {0mm} {main-text!25!paper},
+ arc = 0.2mm,
]
}
{
diff --git a/macros/latex/contrib/minimalist/minimalist.sty b/macros/latex/contrib/minimalist/minimalist.sty
index cb3875ea42..7dde7289fe 100644
--- a/macros/latex/contrib/minimalist/minimalist.sty
+++ b/macros/latex/contrib/minimalist/minimalist.sty
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplPackage
{minimalist}
- {2022/04/17} {}
+ {2022/04/24} {}
{A simple and clear style for articles and books}
\keys_define:nn { minimalist }
diff --git a/macros/latex/contrib/minimalist/minimart.cls b/macros/latex/contrib/minimalist/minimart.cls
index 547db8a3c5..aaa62d7852 100644
--- a/macros/latex/contrib/minimalist/minimart.cls
+++ b/macros/latex/contrib/minimalist/minimart.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{minimart}
- {2022/04/17} {}
+ {2022/04/24} {}
{A simple and clear article style}
\tl_const:Nn \l__minimclass_base_class_tl { article }
@@ -96,6 +96,7 @@
total = { 5.535in, 8.300in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
\bool_if:NT \l__minimclass_b_five_paper_bool
@@ -106,6 +107,7 @@
total = { 5.535in, 8.160in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -117,6 +119,7 @@
total = { 6.500in, 9.685in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -189,7 +192,24 @@
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { embrac }
+
+\RequirePackage { regexpatch }
+\skip_new:N \g_minimclass_parfillskip_skip
+\xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
+\hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
+ \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ }
+
+\hook_gput_code:nnn { begindocument/before } { minimclass }
+ {
+ \@ifpackageloaded { biblatex }
+ {
+ \PassOptionsToPackage { biblatex } { embrac }
+ } {}
+ \RequirePackage { embrac }
+ }
%%================================
%% Graphics
diff --git a/macros/latex/contrib/minimalist/minimbook.cls b/macros/latex/contrib/minimalist/minimbook.cls
index 03068626d6..61a27b439c 100644
--- a/macros/latex/contrib/minimalist/minimbook.cls
+++ b/macros/latex/contrib/minimalist/minimbook.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{minimbook}
- {2022/04/17} {}
+ {2022/04/24} {}
{A simple and clear book style}
\tl_const:Nn \l__minimclass_base_class_tl { book }
@@ -96,6 +96,7 @@
total = { 5.535in, 8.300in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
\bool_if:NT \l__minimclass_b_five_paper_bool
@@ -106,6 +107,7 @@
total = { 5.535in, 8.160in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -117,6 +119,7 @@
total = { 6.500in, 9.685in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -189,7 +192,24 @@
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { embrac }
+
+\RequirePackage { regexpatch }
+\skip_new:N \g_minimclass_parfillskip_skip
+\xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
+\hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
+ \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ }
+
+\hook_gput_code:nnn { begindocument/before } { minimclass }
+ {
+ \@ifpackageloaded { biblatex }
+ {
+ \PassOptionsToPackage { biblatex } { embrac }
+ } {}
+ \RequirePackage { embrac }
+ }
%%================================
%% Graphics
diff --git a/macros/latex/contrib/projlib/ProjLib.dtx b/macros/latex/contrib/projlib/ProjLib.dtx
index c9d214f9e1..b7e1189fb0 100644
--- a/macros/latex/contrib/projlib/ProjLib.dtx
+++ b/macros/latex/contrib/projlib/ProjLib.dtx
@@ -20,77 +20,77 @@
%<*ProjLib>
\ProvidesExplPackage
{ProjLib}
- {2022/04/18} {}
+ {2022/04/24} {}
{Collective interface of the ProjLib toolkit}
%</ProjLib>
%
%<*projlib-author>
\ProvidesExplPackage
{projlib-author}
- {2022/04/18} {}
+ {2022/04/24} {}
{Enhanced author information block}
%</projlib-author>
%
%<*projlib-datetime>
\ProvidesExplPackage
{projlib-datetime}
- {2022/04/18} {}
+ {2022/04/24} {}
{Convert numeric date-time string to natural language}
%</projlib-datetime>
%
%<*projlib-draft>
\ProvidesExplPackage
{projlib-draft}
- {2022/04/18} {}
+ {2022/04/24} {}
{Useful commands during draft stage}
%</projlib-draft>
%
%<*projlib-font>
\ProvidesExplPackage
{projlib-font}
- {2022/04/18} {}
+ {2022/04/24} {}
{Font selection and configuration}
%</projlib-font>
%
%<*projlib-language>
\ProvidesExplPackage
{projlib-language}
- {2022/04/18} {}
+ {2022/04/24} {}
{Multi-language configuration}
%</projlib-language>
%
%<*projlib-logo>
\ProvidesExplPackage
{projlib-logo}
- {2022/04/18} {}
+ {2022/04/24} {}
{The ProjLib logo}
%</projlib-logo>
%
%<*projlib-math>
\ProvidesExplPackage
{projlib-math}
- {2022/04/18} {}
+ {2022/04/24} {}
{Efficient math setup}
%</projlib-math>
%
%<*projlib-paper>
\ProvidesExplPackage
{projlib-paper}
- {2022/04/18} {}
+ {2022/04/24} {}
{Configuration of the paper style}
%</projlib-paper>
%
%<*projlib-theorem>
\ProvidesExplPackage
{projlib-theorem}
- {2022/04/18} {}
+ {2022/04/24} {}
{Configuration of theorem-like environments}
%</projlib-theorem>
%
%<*projlib-titlepage>
\ProvidesExplPackage
{projlib-titlepage}
- {2022/04/18} {}
+ {2022/04/24} {}
{Commands for rendering the title page}
%</projlib-titlepage>
@@ -2129,6 +2129,7 @@
\RequirePackage { projlib-language }
\RequirePackage { xcolor }
+\PassOptionsToPackage { normalem } { ulem }
\RequirePackage { ulem }
\cs_new_protected:Nn \projlib_draft_plain_box_lines:n
@@ -2254,6 +2255,7 @@
\group_end:
\tl_gput_right:Nn \g__projlib_draft_DNF_report_tl
{
+ \setlength { \parfillskip } { 0pt plus 1fil }
\noindent
\# \,
}
@@ -2787,6 +2789,8 @@
\PassOptionsToPackage { italian, brazilian, spanish, ngerman, french, english } { cleveref }
\RequirePackage { babel }
+\RequirePackage { silence }
+\WarningFilter { biblatex } { Language }
\bool_if:NT \g__projlib_language_enabled_french_bool
{
@@ -3736,8 +3740,10 @@
assertion ,
assumption ,
axiom ,
+ claim ,
conclusion ,
conjecture ,
+ construction ,
convention ,
corollary ,
definition ,
@@ -3753,6 +3759,7 @@
property ,
proposition ,
question ,
+ recall ,
remark ,
theorem ,
definition-proposition ,
@@ -3799,6 +3806,8 @@
\RequirePackage { amsthm }
\RequirePackage { create-theorem }
+\RenewCommandCopy \cref \crefthe
+\RenewCommandCopy \Cref \Crefthe
\bool_if:NF \l__projlib_theorem_no_theorems_bool
{
@@ -4047,7 +4056,7 @@
, spanish = Aserción
, schinese = 断言
, tchinese = 斷言
- , japanese = アサーション
+ , japanese = 断言
, russian = Утверждение
}
, crefname = {
@@ -4060,7 +4069,7 @@
, spanish = [la]{Aserción}[las]{Aserción}
, schinese = {断言}{断言}
, tchinese = {斷言}{斷言}
- , japanese = {アサーション}{アサーション}
+ , japanese = {断言}{断言}
, russian = {Утверждение}{Утверждение}
}
, Crefname = {
@@ -4073,7 +4082,7 @@
, spanish = [La]{Aserción}[Las]{Aserción}
, schinese = {断言}{断言}
, tchinese = {斷言}{斷言}
- , japanese = {アサーション}{アサーション}
+ , japanese = {断言}{断言}
, russian = {Утверждение}{Утверждение}
}
}
@@ -4164,6 +4173,49 @@
}
}
+\NameTheorem { claim }
+ {
+ , heading = {
+ , english = Claim
+ , french = Affirmation
+ , ngerman = Affirmation
+ , italian = Affermazione
+ , portuguese = Afirmação
+ , brazilian = Afirmação
+ , spanish = Afirmación
+ , schinese = 断言
+ , tchinese = 斷言
+ , japanese = 断言
+ , russian = Утверждение
+ }
+ , crefname = {
+ , english = {Claim}{Claim}
+ , french = [l']{Affirmation}[les]{Affirmation}
+ , ngerman = {Affirmation}{Affirmation}
+ , italian = [l']{Affermazione}[le]{Affermazione}
+ , portuguese = [a]{Afirmação}[as]{Afirmação}
+ , brazilian = [a]{Afirmação}[as]{Afirmação}
+ , spanish = [la]{Afirmación}[las]{Afirmación}
+ , schinese = {断言}{断言}
+ , tchinese = {斷言}{斷言}
+ , japanese = {断言}{断言}
+ , russian = {Утверждение}{Утверждение}
+ }
+ , Crefname = {
+ , english = {Claim}{Claim}
+ , french = [L']{Affirmation}[Les]{Affirmation}
+ , ngerman = {Affirmation}{Affirmation}
+ , italian = [L']{Affermazione}[Le]{Affermazione}
+ , portuguese = [A]{Afirmação}[As]{Afirmação}
+ , brazilian = [A]{Afirmação}[As]{Afirmação}
+ , spanish = [La]{Afirmación}[Las]{Afirmación}
+ , schinese = {断言}{断言}
+ , tchinese = {斷言}{斷言}
+ , japanese = {断言}{断言}
+ , russian = {Утверждение}{Утверждение}
+ }
+ }
+
\NameTheorem { conclusion }
{
, heading = {
@@ -4250,6 +4302,49 @@
}
}
+\NameTheorem { construction }
+ {
+ , heading = {
+ , english = Construction
+ , french = Construction
+ , ngerman = Konstruktion
+ , italian = Costruzione
+ , portuguese = Construção
+ , brazilian = Construção
+ , spanish = Construcción
+ , schinese = 构造
+ , tchinese = 構造
+ , japanese = 構造
+ , russian = Конструкция
+ }
+ , crefname = {
+ , english = {Construction}{Construction}
+ , french = [la]{Construction}[les]{Construction}
+ , ngerman = {Konstruktion}{Konstruktion}
+ , italian = [la]{Costruzione}[le]{Costruzione}
+ , portuguese = [a]{Construção}[as]{Construção}
+ , brazilian = [a]{Construção}[as]{Construção}
+ , spanish = [la]{Construcción}[las]{Construcción}
+ , schinese = {构造}{构造}
+ , tchinese = {構造}{構造}
+ , japanese = {構造}{構造}
+ , russian = {Конструкция}{Конструкция}
+ }
+ , Crefname = {
+ , english = {Construction}{Construction}
+ , french = [La]{Construction}[Les]{Construction}
+ , ngerman = {Konstruktion}{Konstruktion}
+ , italian = [La]{Costruzione}[Le]{Costruzione}
+ , portuguese = [A]{Construção}[As]{Construção}
+ , brazilian = [A]{Construção}[As]{Construção}
+ , spanish = [La]{Construcción}[Las]{Construcción}
+ , schinese = {构造}{构造}
+ , tchinese = {構造}{構造}
+ , japanese = {構造}{構造}
+ , russian = {Конструкция}{Конструкция}
+ }
+ }
+
\NameTheorem { convention }
{
, heading = {
@@ -4895,6 +4990,49 @@
}
}
+\NameTheorem { recall }
+ {
+ , heading = {
+ , english = Recall
+ , french = Rappel
+ , ngerman = Rückruf
+ , italian = Richiamo
+ , portuguese = Recordação
+ , brazilian = Recordação
+ , spanish = Recuerdo
+ , schinese = 回顾
+ , tchinese = 回顧
+ , japanese = 回顧
+ , russian = Напоминание
+ }
+ , crefname = {
+ , english = {Recall}{Recall}
+ , french = [le]{Rappel}[les]{Rappel}
+ , ngerman = {Rückruf}{Rückruf}
+ , italian = [il]{Richiamo}[i]{Richiamo}
+ , portuguese = [a]{Recordação}[as]{Recordação}
+ , brazilian = [a]{Recordação}[as]{Recordação}
+ , spanish = [el]{Recuerdo}[los]{Recuerdo}
+ , schinese = {回顾}{回顾}
+ , tchinese = {回顧}{回顧}
+ , japanese = {回顧}{回顧}
+ , russian = {Напоминание}{Напоминание}
+ }
+ , Crefname = {
+ , english = {Recall}{Recall}
+ , french = [Le]{Rappel}[Les]{Rappel}
+ , ngerman = {Rückruf}{Rückruf}
+ , italian = [Il]{Richiamo}[I]{Richiamo}
+ , portuguese = [A]{Recordação}[As]{Recordação}
+ , brazilian = [A]{Recordação}[As]{Recordação}
+ , spanish = [El]{Recuerdo}[Los]{Recuerdo}
+ , schinese = {回顾}{回顾}
+ , tchinese = {回顧}{回顧}
+ , japanese = {回顧}{回顧}
+ , russian = {Напоминание}{Напоминание}
+ }
+ }
+
\NameTheorem { remark }
{
, heading = {
diff --git a/macros/latex/contrib/projlib/README.md b/macros/latex/contrib/projlib/README.md
index 5e01250d23..28af8bc40b 100644
--- a/macros/latex/contrib/projlib/README.md
+++ b/macros/latex/contrib/projlib/README.md
@@ -6,7 +6,7 @@
> **ProjLib** can be interpreted as "***Proj**ect **Lib**rary*" (in English), or as "***Proj**et **Lib**re*" (in French, meaning "*Free Project*").
-**This bundle is dated 2022/04/18. Please note that the documentations are not yet up-to-date.**
+> **This bundle is dated 2022/04/24. Please note that the documentations are not yet up-to-date.**
## Introduction
@@ -55,7 +55,7 @@ The modules include:
- In particular, supporting the modes `name as is` and `name as context` for referencing names.
- Supporting the modes `simple name` and `complex name` for the referencing names.
- `\SwitchTheoremNumbering` and `\DisableTheoremNumbering` for manipulating the numbering.
- - Preset environments include: `assertion`, `assumption`, `axiom`, `conclusion`, `conjecture`, `convention`, `corollary`, `definition`, `definition-proposition`, `definition-theorem`, `example`, `exercise`, `fact`, `hypothesis`, `lemma`, `notation`, `observation`, `postulate`, `problem`, `property`, `proposition`, `question`, `remark`, `theorem`, and the corresponding unnumbered version with an asterisk `*` in the name.
+ - Preset environments include: `application`, `assertion`, `assumption`, `axiom`, `claim`, `conclusion`, `conjecture`, `construction`, `convention`, `corollary`, `definition`, `definition-proposition`, `definition-theorem`, `example`, `exercise`, `fact`, `hypothesis`, `lemma`, `notation`, `observation`, `postulate`, `problem`, `property`, `proposition`, `question`, `recall`, `remark`, `theorem`, and the corresponding unnumbered version with an asterisk `*` in the name.
1. module `titlepage` - *Commands for rendering the title page*
- Currently support two title page styles: `default` and `simple`.
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index cec77aae34..c0810e829b 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,46 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.1.0] - 2022-04-25
+
+### Added
+- Support for complex numbers in polar form both as input and output
+- Support for multiple uncertainty values in both short and long form
+ in input, and supporting options `uncertainty-descriptors`,
+ `uncertainty-descriptor-mode` and `uncertainty-descriptor-separator`
+- Options `text-subscript-command` and `text-superscript-command` to allow
+ customisation of script printing in text mode (see issue
+ [\#595](https://github.com/josephwright/siunitx/issues/595))
+- Options `complex-angle-unit`, `complex-mode`, `complex-symbol-angle`,
+ and `complex-symbol-degree` to support complex numbers in polar form
+- Options `digit-group-size`, `digit-group-first-size` and
+ `digit-group-other-size` to control digit grouping
+- Options `display-per-mode` and `inline-per-mode` to offer additional
+ flexiblity in `per-mode` control
+- Option `per-symbol-script-correction`
+- Option `power-half-as-sqrt`
+- Option `retain-negative-zero`
+- Option `round-zero-positive` to control the outcome of rounding
+ negative values to zero
+- Options `zero-decimal-as-symbol` and `zero-symbol` to support conversion of
+ a zero decimal part to a dash or other symbol
+- Option setting `per-mode = single-symbol` to allow exactly one symbol to be
+ present
+- Unit abbreviations `\C`, `\nC`, `\uC`, `\mC` (see issue
+ [\#575](https://github.com/josephwright/siunitx/issues/575))
+- Unit abbreviations `\fH` and `\pH` (see issue
+ [\#596](https://github.com/josephwright/siunitx/issues/596))
+- Unit abbreviation `\nW` (see issue
+ [\#596](https://github.com/josephwright/siunitx/issues/596))
+- Brazilian and Portuguese translations for lists and ranges (see issue
+ [\#514](https://github.com/josephwright/siunitx/issues/514))
+
+### Changed
+- Issue an error if the `units` package is loaded
+
+### Deprecated
+- Option setting `per-mode = symbol-or-fraction`
+
## [v3.0.50] - 2022-04-04
### Fixed
@@ -1729,7 +1769,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.50...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.1.0...HEAD
+[v3.1.0]: https://github.com/josephwright/siunitx/compare/v3.0.50...v3.1.0
[v3.0.50]: https://github.com/josephwright/siunitx/compare/v3.0.49...v3.0.50
[v3.0.49]: https://github.com/josephwright/siunitx/compare/v3.0.48...v3.0.49
[v3.0.48]: https://github.com/josephwright/siunitx/compare/v3.0.47...v3.0.48
diff --git a/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx b/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
index 9fc5ddb2a5..debc9f2a6b 100644
--- a/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx-abbreviation.dtx Copyright (C) 2018,2019 Joseph Wright
+% File: siunitx-abbreviation.dtx Copyright (C) 2018,2019,2021,2022 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -94,7 +94,7 @@
% Abbreviations for volumes.
% \end{function}
%
-% \begin{function}{\W, \uW, \mW, \kW, \MW, \GW}
+% \begin{function}{\W, \nW, \uW, \mW, \kW, \MW, \GW}
% Abbreviations for powers.
% \end{function}
%
@@ -118,6 +118,14 @@
% Abbreviations for capacitance.
% \end{function}
%
+% \begin{function}{\H, \fH, \pH, \nH, \uH, \mH}
+% Abbreviations for inductance.
+% \end{function}
+%
+% \begin{function}{\C, \nC \uC, \mC}
+% Abbreviations for charge.
+% \end{function}
+%
% \begin{function}{\dB}
% Abbreviation for decibel.
% \end{function}
@@ -214,7 +222,7 @@
% \end{macro}
% \begin{macro}
% {
-% \W, \uW, \mW, \kW, \MW, \GW,
+% \W, \nW, \uW, \mW, \kW, \MW, \GW,
% \kJ, \J, \mJ, \uJ,
% \eV, \meV, \keV, \MeV, \GeV, \TeV,
% \kWh
@@ -222,6 +230,7 @@
% Energies and powers
% \begin{macrocode}
\siunitx_declare_unit:Nn \W { \watt }
+\siunitx_declare_unit:Nn \nW { \nano \watt }
\siunitx_declare_unit:Nn \uW { \micro \watt }
\siunitx_declare_unit:Nn \mW { \milli \watt }
\siunitx_declare_unit:Nn \kW { \kilo \watt }
@@ -275,12 +284,24 @@
\siunitx_declare_unit:Nn \uF { \micro \farad }
% \end{macrocode}
% \end{macro}
-% \begin{macro}{\H, \mH, \uH}
-% Capacitance.
+% \begin{macro}{\H, \fH, \pH, \nH, \uH, \mH}
+% Inductance.
+% \begin{macrocode}
+\siunitx_declare_unit:Nn \H { \henry }
+\siunitx_declare_unit:Nn \fH { \femto \henry }
+\siunitx_declare_unit:Nn \pH { \pico \henry }
+\siunitx_declare_unit:Nn \nH { \nano \henry }
+\siunitx_declare_unit:Nn \uH { \micro \henry }
+\siunitx_declare_unit:Nn \mH { \milli \henry }
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\C, \nC, \uC, \mC}
+% Charge.
% \begin{macrocode}
-\siunitx_declare_unit:Nn \H { \henry }
-\siunitx_declare_unit:Nn \mH { \milli \henry }
-\siunitx_declare_unit:Nn \uH { \micro \henry }
+\siunitx_declare_unit:Nn \C { \coulomb }
+\siunitx_declare_unit:Nn \nC { \nano \coulomb }
+\siunitx_declare_unit:Nn \uC { \micro \coulomb }
+\siunitx_declare_unit:Nn \mC { \milli \coulomb }
% \end{macrocode}
% \end{macro}
% \begin{macro}{\N, \mN, \kN, \MN}
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index 6b05035a14..a91ddf0a36 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-code.tex b/macros/latex/contrib/siunitx/siunitx-code.tex
index bf2bd1b7e9..a4c3978310 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.tex
+++ b/macros/latex/contrib/siunitx/siunitx-code.tex
@@ -1,6 +1,6 @@
\iffalse meta-comment
-File: siunitx-code.tex Copyright (C) 2016-2021 Joseph Wright
+File: siunitx-code.tex Copyright (C) 2016-2022 Joseph Wright
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -34,9 +34,19 @@ for those people who are interested.
% Commands for this document
\ExplSyntaxOn
-\cs_new_eq:NN \LowerCaseText \tl_lower_case:n
+\makeatletter
+\NewDocumentCommand \acro { m }
+ {
+ \textsc
+ {
+ \exp_args:NV \tl_if_head_eq_charcode:nNTF \f@series { m }
+ { \text_lowercase:n }
+ { \use:n }
+ {#1}
+ }
+ }
+\makeatother
\ExplSyntaxOff
-\NewDocumentCommand\acro{m}{\textsc{\LowerCaseText{#1}}}
\NewDocumentCommand\foreign{m}{\textit{#1}}
% Standard settings
diff --git a/macros/latex/contrib/siunitx/siunitx-complex.dtx b/macros/latex/contrib/siunitx/siunitx-complex.dtx
index d81e27f4ac..9cd595d28f 100644
--- a/macros/latex/contrib/siunitx/siunitx-complex.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-complex.dtx
@@ -71,16 +71,59 @@
% \end{syntax}
% Parses the \meta{number} and splits into real and complex parts, which are
% then formatted as described for \cs{siunitx_number_format:nN}. The results
-% are combined and printed using the standard functions in the module.
+% are combined and printed using the standard functions in the module. If
+% the setting \opt{complex-mode} is set to \meta{polar}, the input is
+% parsed, converted to polar form and then passed to
+% \cs{siunitx_complex_number:nn}. This parsing requires that the complex root
+% is given as \texttt{i} at the \emph{end} of the value.
% \end{function}
%
-% \begin{function}{\siunitx_complex_quantity:nn}
+% \begin{function}{\siunitx_complex_number:nn}
% \begin{syntax}
-% \cs{siunitx_complex_quantity:n} \Arg{number} \Arg{units}
+% \cs{siunitx_complex_number:nn} \Arg{magnitude} \Arg{angle}
% \end{syntax}
-% Parses the \meta{number} and splits into real and complex parts, which are
-% then formatted as described for \cs{siunitx_quantity:nn}. The results
-% are combined and printed using the standard functions in the module.
+% Parses the \meta{magnitude} and \meta{angle} and then formats each as
+% described for \cs{siunitx_number_format:nN}. The two are separated by the
+% angle symbol, which is treated as a numerical part. If
+% \opt{complex-angle-unit} is set to \opt{degrees} then the unit symbol is
+% added: this is printed as a unit in the usual way. If
+% the setting \opt{complex-mode} is set to \meta{cartesian}, the input is
+% parsed, converted to Cartesian form and then passed to
+% \cs{siunitx_complex_number:n}.
+% \end{function}
+%
+% \begin{function}{\siunitx_complex_quantity:nn, \siunitx_complex_quantity:nnn}
+% \begin{syntax}
+% \cs{siunitx_complex_quantity:nn} \Arg{number} \Arg{units}
+% \cs{siunitx_complex_quantity:nnn} \Arg{magnitude} \Arg{angle} \Arg{units}
+% \end{syntax}
+% These functions treat their numerical argument(s) as described
+% for the corresponding \texttt{number} functions. They then typeset the
+% entire numerical part and the unit as described for \cs{siunitx_quantity:nn}.
+% \end{function}
+%
+% \begin{function}{complex-angle-unit}
+% \begin{syntax}
+% |complex-angle-unit| = |degrees|\verb"|"|radians|
+% \end{syntax}
+% Sets how the unit for polar complex numbers is treated. This setting
+% is used to determine how polar \emph{input} is interpreted, how
+% conversion to polar form works and how output in polar form is typeset.
+% The standard setting is |degrees|.
+% \end{function}
+%
+% \begin{function}{complex-mode}
+% \begin{syntax}
+% |complex-mode| = |cartesian|\verb"|"|input|\verb"|"|polar|
+% \end{syntax}
+% Selects how complex values are formatted: a choice from the options
+% |cartesian|, |input| and |polar|. The option |cartesian| means that
+% complex values will always be typeset in cartesian ($x + y\mathrm{i}$)
+% format, whilst |polar| means that complex are typeset as a magnitude
+% and angle. Finally, |input| setting means that the input format
+% (\foreign{i.e.}~difference between \cs{siunitx_complex_number:n} and
+% \cs{siunitx_complex_number:nn}) is maintained. The standard setting is
+% |input|.
% \end{function}
%
% \begin{function}{complex-root-position}
@@ -91,6 +134,20 @@
% to the numbers. The standard setting is |after-number|.
% \end{function}
%
+% \begin{function}{complex-symbol-angle}
+% \begin{syntax}
+% |complex-symbol-angle| = \meta{symbol}
+% \end{syntax}
+% Sets the symbol used before the polar angle.
+% \end{function}
+%
+% \begin{function}{complex-symbol-degree}
+% \begin{syntax}
+% |complex-symbol-degree| = \meta{symbol}
+% \end{syntax}
+% Sets the symbol used for polar degrees.
+% \end{function}
+%
% \begin{function}{input-complex-root}
% \begin{syntax}
% |input-complex-root| = \meta{tokens}
@@ -155,13 +212,21 @@
% \end{variable}
%
% \begin{variable}{\l_@@_real_tl, \l_@@_img_tl}
-% The real and imaginary parts of the number, respectively.
+% The real and imaginary parts of cartesian form, respectively.
% \begin{macrocode}
\tl_new:N \l_@@_real_tl
\tl_new:N \l_@@_img_tl
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\l_@@_mag_tl, \l_@@_angle_tl}
+% The magnitude and angle of polar form, respectively.
+% \begin{macrocode}
+\tl_new:N \l_@@_mag_tl
+\tl_new:N \l_@@_angle_tl
+% \end{macrocode}
+% \end{variable}
+%
% \begin{variable}{\l_@@_join_tl, \l_@@_sign_tl}
% Staging posts for a joining and leading sign, respectively.
% \begin{macrocode}
@@ -170,16 +235,54 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{variable}{\l_@@_input_root_tl, \l_@@_output_root_tl}
+% \begin{variable}
+% {
+% \l_@@_root_after_bool ,
+% \l_@@_force_cartesian_bool ,
+% \l_@@_force_polar_bool ,
+% \l_@@_polar_degree_bool ,
+% \l_@@_symbol_angle_tl ,
+% \l_@@_symbol_degree_tl ,
+% \l_@@_input_root_tl ,
+% \l_@@_output_root_tl
+% }
% \begin{macrocode}
\bool_new:N \l_@@_root_after_bool
+\bool_new:N \l_@@_force_cartesian_bool
+\bool_new:N \l_@@_force_polar_bool
+\bool_new:N \l_@@_polar_degree_bool
\keys_define:nn { siunitx }
{
+ complex-mode .choice: ,
+ complex-mode / cartesian .code:n =
+ {
+ \bool_set_true:N \l_@@_force_cartesian_bool
+ \bool_set_false:N \l_@@_force_polar_bool
+ } ,
+ complex-mode / polar .code:n =
+ {
+ \bool_set_false:N \l_@@_force_cartesian_bool
+ \bool_set_true:N \l_@@_force_polar_bool
+ } ,
+ complex-mode / input .code:n =
+ {
+ \bool_set_false:N \l_@@_force_cartesian_bool
+ \bool_set_false:N \l_@@_force_polar_bool
+ } ,
+ complex-angle-unit .choice: ,
+ complex-angle-unit / degrees .code:n =
+ { \bool_set_true:N \l_@@_polar_degree_bool } ,
+ complex-angle-unit / radians .code:n =
+ { \bool_set_false:N \l_@@_polar_degree_bool } ,
complex-root-position .choice: ,
complex-root-position / after-number .code:n =
{ \bool_set_true:N \l_@@_root_after_bool } ,
complex-root-position / before-number .code:n =
{ \bool_set_false:N \l_@@_root_after_bool } ,
+ complex-symbol-angle .tl_set:N =
+ \l_@@_symbol_angle_tl ,
+ complex-symbol-degree .tl_set:N =
+ \l_@@_symbol_degree_tl ,
input-complex-root .tl_set:N =
\l_@@_input_root_tl ,
output-complex-root .tl_set:N =
@@ -232,40 +335,26 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_parse_check:, \@@_parse_finalise:}
-% \begin{macro}{\@@_parse_finalise:N}
+% \begin{macro}{\@@_parse_check:}
+% \begin{macro}{\@@_parse_check:N}
% Now we tidy up and do the main work: passing to the standard formatter for
% final parsing.
% \begin{macrocode}
\cs_new_protected:Npn \@@_parse_check:
{
- \bool_lazy_all:nTF
- {
- { \tl_if_empty_p:N \l_@@_real_tl }
- { \tl_if_empty_p:N \l_@@_img_tl }
- { \tl_if_empty_p:N \l_@@_exp_tl }
- }
- {
- \msg_error:nnx { siunitx } { invalid-complex-number }
- { \exp_not:V \l_@@_input_tl }
- }
- { \@@_parse_finalise: }
- }
-\cs_new_protected:Npn \@@_parse_finalise:
- {
\tl_if_empty:NTF \l_@@_img_tl
- { \@@_parse_finalise:N \l_@@_real_tl }
+ { \@@_parse_check:N \l_@@_real_tl }
{
\tl_if_empty:NTF \l_@@_real_tl
- { \@@_parse_finalise:N \l_@@_img_tl }
+ { \@@_parse_check:N \l_@@_img_tl }
{
- \@@_parse_finalise:N \l_@@_real_tl
+ \@@_parse_check:N \l_@@_real_tl
\tl_set_eq:NN \l_@@_sign_tl \l_@@_join_tl
- \@@_parse_finalise:N \l_@@_img_tl
+ \@@_parse_check:N \l_@@_img_tl
}
}
}
-\cs_new_protected:Npn \@@_parse_finalise:N #1
+\cs_new_protected:Npn \@@_parse_check:N #1
{
\tl_set:Nx #1
{
@@ -545,6 +634,27 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\@@_parse_polar:nn}
+% Almost trivial but repeated in a couple of places so worth an auxiliary.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_parse_polar:nn #1#2
+ {
+ \siunitx_number_parse:nN {#1} \l_@@_mag_tl
+ \group_begin:
+ \keys_set:nn { siunitx }
+ {
+ input-comparators = ,
+ input-exponent-markers = ,
+ input-open-uncertainty = ,
+ input-close-uncertainty =
+ }
+ \siunitx_number_format:nN {#2} \l_@@_angle_tl
+ \exp_args:NNNV \group_end:
+ \tl_set:Nn \l_@@_angle_tl \l_@@_angle_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \section{Formatting}
%
% \begin{variable}{\l_@@_bracket_close_tl, \l_@@_bracket_open_tl}
@@ -564,41 +674,110 @@
% \end{variable}
%
% \begin{macro}{\siunitx_complex_number:n}
+% \begin{macro}{\siunitx_complex_number:nn, \@@_number:nn}
% \begin{macro}{\siunitx_complex_quantity:nn}
-% The work here is pretty trivial.
+% \begin{macro}{\siunitx_complex_quantity:nnn, \@@_quantity:nnn}
+% The work here is pretty trivial: only conversion between forms makes
+% things a bit more intricate.
% \begin{macrocode}
\cs_new_protected:Npn \siunitx_complex_number:n #1
{
- \group_begin:
- \bool_if:NTF \l_siunitx_number_parse_bool
- {
- \@@_parse:nNN {#1} \l_@@_real_tl \l_@@_img_tl
- \@@_format:n { }
- }
- {
- \siunitx_number_format:nN {#1} \l_@@_tmp_tl
- \siunitx_print_number:V \l_@@_tmp_tl
- }
- \group_end:
+ \bool_if:NTF \l_@@_force_polar_bool
+ {
+ \use:e
+ {
+ \siunitx_complex_number:nn
+ \@@_convert_polar:n {#1}
+ }
+ }
+ {
+ \bool_if:NTF \l_siunitx_number_parse_bool
+ {
+ \@@_parse:nNN {#1} \l_@@_real_tl \l_@@_img_tl
+ \@@_format_cartesian:n { }
+ }
+ {
+ \siunitx_number_format:nN {#1} \l_@@_tmp_tl
+ \siunitx_print_number:V \l_@@_tmp_tl
+ }
+ }
+ }
+\cs_new_protected:Npn \siunitx_complex_number:nn #1#2
+ {
+ \bool_lazy_or:nnTF
+ { \tl_if_blank_p:n {#1} }
+ { \tl_if_blank_p:n {#2} }
+ {
+ \msg_error:nnnn { siunitx } { invalid-polar-form }
+ {#1} {#2}
+ }
+ { \@@_number:nn {#1} {#2} }
+ }
+\cs_new_protected:Npn \@@_number:nn #1#2
+ {
+ \bool_if:NTF \l_@@_force_cartesian_bool
+ {
+ \exp_args:Ne \siunitx_complex_number:n
+ { \@@_convert_cartesian:nn {#1} {#2} }
+ }
+ {
+ \@@_parse_polar:nn {#1} {#2}
+ \@@_format_polar:n { }
+ }
}
\cs_new_protected:Npn \siunitx_complex_quantity:nn #1#2
{
- \group_begin:
- \bool_if:NTF \l_siunitx_number_parse_bool
- {
- \@@_parse:nNN {#1} \l_@@_real_tl \l_@@_img_tl
- \@@_format:n {#2}
- }
- { \siunitx_quantity:nn {#1} {#2} }
- \group_end:
+ \bool_if:NTF \l_@@_force_polar_bool
+ {
+ \use:e
+ {
+ \siunitx_complex_quantity:nnn
+ \@@_convert_polar:n {#1}
+ }
+ {#2}
+ }
+ {
+ \bool_if:NTF \l_siunitx_number_parse_bool
+ {
+ \@@_parse:nNN {#1} \l_@@_real_tl \l_@@_img_tl
+ \@@_format_cartesian:n {#2}
+ }
+ { \siunitx_quantity:nn {#1} {#2} }
+ }
+ }
+\cs_new_protected:Npn \siunitx_complex_quantity:nnn #1#2#3
+ {
+ \bool_lazy_or:nnTF
+ { \tl_if_blank_p:n {#1} }
+ { \tl_if_blank_p:n {#2} }
+ {
+ \msg_error:nnnn { siunitx } { invalid-polar-form }
+ {#1} {#2}
+ }
+ { \@@_quantity:nnn {#1} {#2} {#3} }
+ }
+\cs_new_protected:Npn \@@_quantity:nnn #1#2#3
+ {
+ \bool_if:NTF \l_@@_force_cartesian_bool
+ {
+ \exp_args:Ne \siunitx_complex_quantity:nn
+ { \@@_convert_cartesian:nn {#1} {#2} }
+ {#3}
+ }
+ {
+ \@@_parse_polar:nn {#1} {#2}
+ \@@_format_polar:n {#3}
+ }
}
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
%
-% \begin{macro}{\@@_format:n}
-% \begin{macro}{\@@_format_auxi:n}
-% \begin{macro}{\@@_format_auxii:n}
+% \begin{macro}{\@@_format_cartesian:n}
+% \begin{macro}{\@@_format_cartesian_auxi:n}
+% \begin{macro}{\@@_format_cartesian_auxii:n}
% \begin{macro}{\@@_drop_exponent:nnnnnnn}
% \begin{macro}{\@@_format_sign:nnnnnnn}
% \begin{macro}{\@@_extract_exponent:nw}
@@ -606,18 +785,18 @@
% \begin{macro}[EXP]{\@@_format_bracket:n}
% We start here checking that there is something to do.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_format:n #1
+\cs_new_protected:Npn \@@_format_cartesian:n #1
{
\bool_lazy_and:nnF
{ \tl_if_empty_p:N \l_@@_real_tl }
{ \tl_if_empty_p:N \l_@@_img_tl }
- { \@@_format_auxi:n {#1} }
+ { \@@_format_cartesian_auxi:n {#1} }
}
% \end{macrocode}
% We split based on whether the number has a complex part at all,
% then print the result.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_format_auxi:n #1
+\cs_new_protected:Npn \@@_format_cartesian_auxi:n #1
{
\tl_clear:N \l_@@_tmp_tl
\tl_if_empty:NTF \l_@@_img_tl
@@ -626,7 +805,7 @@
\tl_set:Nx \l_@@_tmp_tl
{ \siunitx_number_output:N \l_@@_real_tl }
}
- { \@@_format_auxii:n {#1} }
+ { \@@_format_cartesian_auxii:n {#1} }
\tl_if_blank:nTF {#1}
{ \siunitx_print_number:V \l_@@_tmp_tl }
{ \siunitx_quantity_print:VV \l_@@_tmp_tl \l_@@_unit_tl }
@@ -636,9 +815,9 @@
% need to process both and do some massaging, then it's just a question
% of reassembly with the right parts in the right places.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_format_auxii:n #1
+\cs_new_protected:Npn \@@_format_cartesian_auxii:n #1
{
- \@@_format_units:n {#1}
+ \@@_format_cartesian_units:n {#1}
\tl_if_empty:NF \l_@@_real_tl
{ \exp_after:wN \@@_drop_exponent:nnnnnnn \l_@@_real_tl }
\exp_after:wN \@@_format_sign:nnnnnnn \l_@@_img_tl
@@ -744,12 +923,12 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_format_units:n}
+% \begin{macro}{\@@_format_cartesian_units:n}
% \begin{macro}
% {
-% \@@_format_combine-exponent:n ,
-% \@@_format_extract-exponent:n ,
-% \@@_format_input:n
+% \@@_format_cartesian_combine-exponent:n ,
+% \@@_format_cartesian_extract-exponent:n ,
+% \@@_format_cartesian_input:n
% }
% \begin{macro}{\@@_format_extract-exponent:N}
% \begin{macro}[EXP]{\@@_extract_exp:nnnnnnn}
@@ -759,7 +938,7 @@
% the flow is then much the same as in \pkg{siunitx-compound}. We only
% have to watch the fact there are two numbers to format.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_format_units:n #1
+\cs_new_protected:Npn \@@_format_cartesian_units:n #1
{
\tl_if_blank:nTF {#1}
{
@@ -767,10 +946,11 @@
\siunitx_number_process:NN \l_@@_img_tl \l_@@_img_tl
}
{
- \use:c { @@_format_ \l_siunitx_quantity_prefix_mode_tl :n } {#1}
+ \use:c
+ { @@_format_cartesian_ \l_siunitx_quantity_prefix_mode_tl :n } {#1}
}
}
-\cs_new_protected:cpn { @@_format_combine-exponent:n } #1
+\cs_new_protected:cpn { @@_format_cartesian_combine-exponent:n } #1
{
\tl_if_empty:NF \l_@@_real_tl
{ \siunitx_number_process:NN \l_@@_real_tl \l_@@_real_tl }
@@ -782,7 +962,7 @@
\siunitx_unit_format_combine_exponent:nnN {#1}
\l_@@_tmp_fp \l_@@_unit_tl
}
-\cs_new_protected:cpx { @@_format_extract-exponent:n } #1
+\cs_new_protected:cpx { @@_format_cartesian_extract-exponent:n } #1
{
\exp_not:N \siunitx_unit_format_extract_prefixes:nNN {#1}
\exp_not:N \l_@@_unit_tl \exp_not:N \l_@@_tmp_fp
@@ -794,18 +974,18 @@
\exp_not:N \l_@@_real_tl
}
}
+\cs_new_protected:Npn \@@_format_cartesian_input:n #1
+ {
+ \siunitx_number_process:NN \l_@@_real_tl \l_@@_real_tl
+ \siunitx_number_process:NN \l_@@_img_tl \l_@@_img_tl
+ \siunitx_unit_format:nN {#1} \l_@@_unit_tl
+ }
\cs_new_protected:cpn { @@_format_extract-exponent:N } #1
{
\tl_set:Nx #1
{ \siunitx_number_adjust_exponent:Nn #1 \l_@@_tmp_fp }
\siunitx_number_process:NN #1 #1
}
-\cs_new_protected:Npn \@@_format_input:n #1
- {
- \siunitx_number_process:NN \l_@@_real_tl \l_@@_real_tl
- \siunitx_number_process:NN \l_@@_img_tl \l_@@_img_tl
- \siunitx_unit_format:nN {#1} \l_@@_unit_tl
- }
\cs_new:Npn \@@_extract_exp:nnnnnnn #1#2#3#4#5#6#7 { #6#7 }
\cs_new_protected:Npn \@@_drop_exp:N #1
{ \exp_after:wN \@@_drop_exp:nnnnnnnN #1 #1 }
@@ -819,14 +999,196 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}
+% {
+% \@@_format_polar:n ,
+% \@@_format_combine-exponent:n ,
+% \@@_format_extract-exponent:n ,
+% \@@_format_polar_input:n
+% }
+% We see similar ideas here to the Cartesian versions, but with only
+% the magnitude to adjust, things are rather simpler in the exponent
+% manipulations.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_format_polar:n #1
+ {
+ \tl_if_blank:nTF {#1}
+ { \siunitx_number_process:NN \l_@@_mag_tl \l_@@_mag_tl }
+ {
+ \use:c
+ { @@_format_polar_ \l_siunitx_quantity_prefix_mode_tl :n } {#1}
+ }
+ \tl_set:Nx \l_@@_tmp_tl
+ {
+ \siunitx_number_output:N \l_@@_mag_tl
+ \exp_not:V \l_@@_symbol_angle_tl
+ \mathord % TEMP
+ \exp_not:V \l_@@_angle_tl
+ }
+ \siunitx_print_number:V \l_@@_tmp_tl
+ \bool_if:NT \l_@@_polar_degree_bool
+ {
+ \exp_args:NV \siunitx_unit_format:nN \l_@@_symbol_degree_tl \l_@@_tmp_tl
+ \nobreak
+ \siunitx_print_unit:V \l_@@_tmp_tl
+ }
+ \siunitx_quantity_print:nV { } \l_@@_unit_tl
+ }
+\cs_new_protected:cpn { @@_format_polar_combine-exponent:n } #1
+ {
+ \siunitx_number_process:NN \l_@@_mag_tl \l_@@_mag_tl
+ \fp_set:Nn \l_@@_tmp_fp
+ { \exp_after:wN \@@_extract_exp:nnnnnnn \l_@@_mag_tl }
+ \@@_drop_exp:N \l_@@_mag_tl
+ \siunitx_unit_format_combine_exponent:nnN {#1}
+ \l_@@_tmp_fp \l_@@_unit_tl
+ }
+\cs_new_protected:cpx { @@_format_polar_extract-exponent:n } #1
+ {
+ \exp_not:N \siunitx_unit_format_extract_prefixes:nNN {#1}
+ \exp_not:N \l_@@_unit_tl \exp_not:N \l_@@_tmp_fp
+ \exp_not:c { @@_format_extract-exponent:N }
+ \exp_not:N \l_@@_mag_tl
+ }
+\cs_new_protected:Npn \@@_format_polar_input:n #1
+ {
+ \siunitx_number_process:NN \l_@@_mag_tl \l_@@_mag_tl
+ \siunitx_unit_format:nN {#1} \l_@@_unit_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Conversion}
+%
+% \begin{macro}[EXP]
+% {\@@_convert_cartesian:nn, \@@_convert_cartesian_aux:nn}
+% \begin{macro}[EXP]{\@@_convert_cartesian_aux:w}
+% Conversion to Cartesian form is easy as we have two inputs and need to
+% do no parsing here at all.
+% \begin{macrocode}
+\cs_new:Npn \@@_convert_cartesian:nn #1#2
+ {
+ \exp_args:Nee \@@_convert_cartesian_aux:nn
+ {
+ \fp_to_tl:n
+ { (#1) * cos \bool_if:NT \l_@@_polar_degree_bool { d } (#2) }
+ }
+ {
+ \fp_to_tl:n
+ { (#1) * sin \bool_if:NT \l_@@_polar_degree_bool { d } (#2) }
+ }
+ }
+\cs_new:Npn \@@_convert_cartesian_aux:nn #1#2
+ {
+ \@@_convert_cartesian_aux:w #1 e e \q_mark #2 e e \q_stop
+ }
+\cs_new:Npn \@@_convert_cartesian_aux:w
+ #1 e #2 e #3 \q_mark #4 e #5 e #6 \q_stop
+ {
+ \fp_compare:nNnF {#1} = \c_zero_fp
+ {#1}
+ \fp_compare:nNnF {#4} = \c_zero_fp
+ {
+ \fp_compare:nNnF {#4} < \c_zero_fp { + }
+ #4 i
+ }
+ \tl_if_blank:nF {#2}
+ { e #2 }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}[EXP]{\@@_convert_polar:n}
+% \begin{macro}[EXP]{\@@_convert_polar_auxi:w}
+% \begin{macro}[EXP]{\@@_convert_polar_auxii:nw}
+% \begin{macro}[EXP]{\@@_convert_polar_auxiii:nnw}
+% \begin{macro}[EXP]{\@@_convert_polar_auxiv:nnw}
+% \begin{macro}[EXP]{\@@_convert_polar_auxv:nnw}
+% \begin{macro}[EXP]{\@@_convert_polar_auxvi:nnn}
+% \begin{macro}[EXP]{\@@_convert_polar_auxvii:nnn}
+% \begin{macro}[EXP]{\@@_convert_polar_auxviii:nn}
+% A simplified parser for complex numbers which works by expansion,
+% then converts to polar form.
+% \begin{macrocode}
+\cs_new:Npn \@@_convert_polar:n #1
+ { \@@_convert_polar_auxi:w #1 e e \q_stop }
+\cs_new:Npn \@@_convert_polar_auxi:w #1 e #2 e #3 \q_stop
+ { \@@_convert_polar_auxii:nw {#2} #1 \q_stop }
+\cs_new:Npn \@@_convert_polar_auxii:nw #1#2#3 \q_stop
+ {
+ \bool_lazy_or:nnTF
+ { \str_if_eq_p:nn {#2} { i } }
+ { \str_if_eq_p:nn {#2#3} { +i } }
+ { \@@_convert_polar_auxvi:nnn { } { 1 } {#1} }
+ {
+ \str_if_eq:nnTF {#2#3} { -i }
+ { \@@_convert_polar_auxvi:nnn { } { -1 } {#1} }
+ { \@@_convert_polar_auxiii:nnw {#1} {#2} #3 + + \q_stop }
+ }
+ }
+\cs_new:Npn \@@_convert_polar_auxiii:nnw #1#2#3 + #4 + #5 \q_stop
+ {
+ \tl_if_blank:nTF {#4}
+ { \@@_convert_polar_auxiv:nnw {#1} {#2} #3 - - \q_stop }
+ {
+ \str_if_eq:nnTF {#4} { i }
+ { \@@_convert_polar_auxvi:nnn {#2#3} { 1 } {#1} }
+ { \@@_convert_polar_auxv:nnw {#2#3} {#1} #4 i \q_nil i \q_stop }
+ }
+ }
+\cs_new:Npn \@@_convert_polar_auxiv:nnw #1#2#3 - #4 - #5 \q_stop
+ {
+ \tl_if_blank:nTF {#4}
+ { \@@_convert_polar_auxv:nnw { } {#1} #2#3 i \q_nil i \q_stop }
+ {
+ \str_if_eq:nnTF {#4} { i }
+ { \@@_convert_polar_auxvi:nnn { } { -1 } {#1} }
+ { \@@_convert_polar_auxv:nnw {#2#3} {#1} -#4 i \q_nil i \q_stop }
+ }
+ }
+\cs_new:Npn \@@_convert_polar_auxv:nnw #1#2#3 i #4 i #5 \q_stop
+ {
+ \quark_if_nil:nTF {#4}
+ { { #3 \tl_if_blank:nF {#2} { e#2 } } { 0 } }
+ { \@@_convert_polar_auxvi:nnn {#1} {#3} {#2} }
+ }
+\cs_new:Npn \@@_convert_polar_auxvi:nnn #1#2#3
+ {
+ \exp_args:Neee \@@_convert_polar_auxvii:nnn
+ { \tl_if_blank:nTF {#1} { 0 } {#1} }
+ { \tl_if_blank:nTF {#2} { 0 } {#2} }
+ { \tl_if_blank:nF {#3} { e#3 } }
+ }
+\cs_new:Npn \@@_convert_polar_auxvii:nnn #1#2#3
+ {
+ \exp_args:Nee \@@_format_polar_auxviii:nn
+ { \fp_eval:n { sqrt ( (#1#3)^2 + (#2#3)^2 ) } }
+ {
+ \fp_eval:n
+ { atan \bool_if:NT \l_@@_polar_degree_bool { d } (#2 , #1) }
+ }
+ }
+\cs_new:Npn \@@_format_polar_auxviii:nn #1#2 { {#1} {#2} }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% \subsection{Messages}
%
% \begin{macrocode}
-\msg_new:nnnn { siunitx } { invalid-complex-number }
- { Invalid~complex-number~'#1'. }
+\msg_new:nnnn { siunitx } { invalid-polar-form }
+ { Invalid~polar~form~"#1:#2". }
{
- The~input~'#1'~could~not~be~parsed~as~a~complex|number~following~the~
- format~defined~in~module~documentation.
+ Complex~numbers~in~polar~form~must~have~both~a~magnitude~and~and~
+ angle.
}
% \end{macrocode}
%
@@ -838,7 +1200,11 @@
% \begin{macrocode}
\keys_set:nn { siunitx }
{
+ complex-angle-unit = degrees ,
+ complex-mode = input ,
complex-root-position = after-number ,
+ complex-symbol-angle = \angle ,
+ complex-symbol-degree = \degree ,
input-complex-root = ij ,
output-complex-root = \mathrm { i }
}
diff --git a/macros/latex/contrib/siunitx/siunitx-emulation.dtx b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
index aab7d478f2..1b96dd2b9a 100644
--- a/macros/latex/contrib/siunitx/siunitx-emulation.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
@@ -82,11 +82,6 @@
%
% Some messages.
% \begin{macrocode}
-\msg_new:nnn { siunitx } { option-deprecated }
- {
- Option~"#1"~has~been~deprecated~in~this~release.\\ \\
- Use~"#2"~as~a~replacement.
- }
\msg_new:nnn { siunitx } { option-removed }
{ Option~"#1"~has~been~removed~in~this~release. }
% \end{macrocode}
@@ -97,13 +92,17 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_option_deprecated:nn #1#2
{
- \msg_info:nnnn { siunitx } { option-deprecated } {#1} {#2}
+ \@@_deprecated_info:nn {#1} {#2}
\keys_set:nn { siunitx } {#2}
}
\cs_new_protected:Npn \@@_option_deprecated:nnn #1#2#3
{
- \msg_info:nnnn { siunitx } { option-deprecated } {#1} {#2}
- \keys_set:nn { siunitx } { #2 = #3 }
+ \str_if_eq:nnTF {#3} { true }
+ { \@@_option_deprecated:nn {#1} {#2} }
+ {
+ \@@_deprecated_info:nn {#1} { #2 ~=~ #3 }
+ \keys_set:nn { siunitx } { #2 = #3 }
+ }
}
\cs_generate_variant:Nn \@@_option_deprecated:nnn { nnV }
% \end{macrocode}
@@ -699,18 +698,6 @@
} ,
literal-superscript-as-power .code:n =
{ \@@_option_removed:V \l_keys_key_tl } ,
- per-mode / reciprocal .code:n =
- {
- \@@_option_deprecated:nn
- { per-mode~=~reciprocal }
- { per-mode~=~power }
- } ,
- per-mode / reciprocal-positive-first .code:n =
- {
- \@@_option_deprecated:nn
- { per-mode~=~reciprocal-positive-first }
- { per-mode~=~power-positive-first }
- } ,
power-font .code:n =
{ \@@_option_removed:V \l_keys_key_tl } ,
qualifier-mode / brackets .code:n =
@@ -737,6 +724,38 @@
}
% \end{macrocode}
%
+% The deprecated settings for |per-mode| have to be handled manually as
+% |per-mode| is no longer a choice.
+% \begin{macrocode}
+\keys_define:nn { siunitx }
+ {
+ display-per-mode / reciprocal .code:n =
+ {
+ \@@_option_deprecated:nn
+ { per-mode~=~reciprocal }
+ { per-mode~=~power }
+ } ,
+ inline-per-mode / reciprocal .code:n =
+ {
+ \@@_option_deprecated:nn
+ { per-mode~=~reciprocal }
+ { per-mode~=~power }
+ } ,
+ display-per-mode / reciprocal-positive-first .code:n =
+ {
+ \@@_option_deprecated:nn
+ { per-mode~=~reciprocal-positive-first }
+ { per-mode~=~power-positive-first }
+ } ,
+ inline-per-mode / reciprocal-positive-first .code:n =
+ {
+ \@@_option_deprecated:nn
+ { per-mode~=~reciprocal-positive-first }
+ { per-mode~=~power-positive-first }
+ }
+ }
+% \end{macrocode}
+%
% \subsection{Quantity units}
%
% \begin{macrocode}
@@ -856,10 +875,11 @@
% \begin{macro}{\si}
% A straight copy of \cs{unit}.
% \begin{macrocode}
-\NewDocumentCommand \si { O { } m }
+\NewDocumentCommand \si { O { } > { \TrimSpaces } m }
{
\mode_leave_vertical:
\group_begin:
+ \siunitx_unit_options_apply:n {#2}
\keys_set:nn { siunitx } {#1}
\siunitx_unit_format:nN {#2} \l_@@_tmp_tl
\siunitx_print_unit:V \l_@@_tmp_tl
@@ -871,10 +891,11 @@
% \begin{macro}{\SI}
% Almost the same as \cs{qty}, but with the addition pre-unit.
% \begin{macrocode}
-\NewDocumentCommand \SI { O { } m o m }
+\NewDocumentCommand \SI { O { } m o > { \TrimSpaces } m }
{
\mode_leave_vertical:
\group_begin:
+ \siunitx_unit_options_apply:n {#4}
\keys_set:nn { siunitx } {#1}
\IfNoValueF {#3}
{
diff --git a/macros/latex/contrib/siunitx/siunitx-locale.dtx b/macros/latex/contrib/siunitx/siunitx-locale.dtx
index 36c83e034f..cbf3ec14a0 100644
--- a/macros/latex/contrib/siunitx/siunitx-locale.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-locale.dtx
@@ -142,21 +142,24 @@
%
% \subsection{Localisation}
%
-% Localisation makes use of the \pkg{translator} package. This only happens
+% Localisation makes use of the \pkg{translations} package. This only happens
% if it is available, and is transparent to the user.
% \begin{macrocode}
\file_if_exist:nT { translations.sty }
{
\RequirePackage { translations }
- \DeclareTranslation { Catalan } { and } { i }
- \DeclareTranslation { Slovene } { and } { in }
- \DeclareTranslation { Catalan } { to~(numerical~range) } { a }
- \DeclareTranslation { English } { to~(numerical~range) } { to }
- \DeclareTranslation { French } { to~(numerical~range) } { à }
- \DeclareTranslation { German } { to~(numerical~range) } { bis }
- \DeclareTranslation { Polish } { to~(numerical~range) } { do }
- \DeclareTranslation { Slovene } { to~(numerical~range) } { do }
- \DeclareTranslation { Spanish } { to~(numerical~range) } { a }
+ \DeclareTranslation { Catalan } { and } { i }
+ \DeclareTranslation { Slovene } { and } { in }
+ \DeclareTranslation { Portuguese } { and } { e }
+ \DeclareTranslation { Catalan } { to~(numerical~range) } { a }
+ \DeclareTranslation { English } { to~(numerical~range) } { to }
+ \DeclareTranslation { French } { to~(numerical~range) } { à }
+ \DeclareTranslation { German } { to~(numerical~range) } { bis }
+ \DeclareTranslation { Polish } { to~(numerical~range) } { do }
+ \DeclareTranslation { Slovene } { to~(numerical~range) } { do }
+ \DeclareTranslation { Spanish } { to~(numerical~range) } { a }
+ \DeclareTranslation { Brazilian } { to~(numerical~range) } { a }
+ \DeclareTranslation { Portuguese } { to~(numerical~range) } { a }
\keys_set:nn { siunitx }
{
list-final-separator =
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index 4f3708e706..f64fb85192 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -100,7 +100,14 @@
% Valid uncertainty \meta{identifiers} currently are
% \begin{itemize}
% \item[\texttt{S}] A single symmetrical uncertainty (\foreign{e.g.}~a
-% statistical standard uncertainty)
+% statistical standard uncertainty). The data item here is a single
+% value representing the uncertainty in the least-significant digits
+% \item[\texttt{A}] A single unsymmetrical uncertainty. The data item here
+% contains two brace groups, each using the same least-significant digit
+% approach as the \texttt{S} type. The positive component is given first
+% and the negative second, and neither has a sign.
+% \item A combination of \texttt{S} and \texttt{A} entries, with one data
+% item per entry. These are then iterated over to be output in order.
% \end{itemize}
% If a decimal marker should be explicitly recorded as present for a value
% with no decimal digits, the \meta{decimal} part should contain
@@ -301,22 +308,42 @@
% \end{syntax}
% \end{function}
%
+% \begin{function}
+% {digit-group-size, digit-group-first-size, digit-group-other-size}
+% \begin{syntax}
+% |digit-group-number| = \meta{integer}
+% \end{syntax}
+% Sets the size of the block (the number of digits) used when grouping
+% digits. The option |digit-group-first-size| applies to the first grouping,
+% \foreign{i.e.}~immediately next to the decimal marker, while
+% |digit-group-other-size| applies to all other groups. Both can be set
+% using |digit-group-size|. The standard setting for both options is $3$.
+% \end{function}
+%
% \begin{function}{group-digits}
% \begin{syntax}
% |group-digits| = |all|\verb"|"|decimal|\verb"|"|integer|\verb"|"|none|
% \end{syntax}
+% Choice to specify whether digits in a number are grouped. The option |none|
+% entirely disables this, while |all| means that both the integer and decimal
+% parts are grouped. The settings |integer| and |decimal| activate grouping
+% for the relevant part only. The standard setting is |all|.
% \end{function}
%
% \begin{function}{group-minimum-digits}
% \begin{syntax}
% |group-minimum-digits| = \meta{value}
% \end{syntax}
+% The number of digits that must be present in a numerical part (integer or
+% decimal) before digit grouping is attempted. The standard setting is $4$.
% \end{function}
%
% \begin{function}{group-separator}
% \begin{syntax}
% |group-separator| = \meta{symbol}
% \end{syntax}
+% Sets the symbol inserted between groups of digits. The standard setting is
+% a thin space (\cs{,}).
% \end{function}
%
% \begin{function}{input-close-uncertainty}
@@ -443,48 +470,96 @@
% \begin{syntax}
% |retain-explicit-plus| = |true|\verb"|"|false|
% \end{syntax}
+% Switch which determines if an explicit |+| is retained as a sign when
+% parsing. The standard setting is |false|.
% \end{function}
%
% \begin{function}{retain-explicit-decimal-marker}
% \begin{syntax}
% |retain-explicit-decimal-marker| = |true|\verb"|"|false|
% \end{syntax}
+% Switch which determines if an explicit decimal marker is retained when
+% parsing a number where there is no decimal part to a number
+% (\foreign{i.e.}~whether to differentiate |10| and |10.|). The standard
+% setting is |false|.
+% \end{function}
+%
+% \begin{function}{retain-negative-zero}
+% \begin{syntax}
+% |retain-negative-zero| = |true|\verb"|"|false|
+% \end{syntax}
+% Switch which determines if a negative sign is retained where the value of
+% a parsed number is exactly zero. The standard setting is |false|.
% \end{function}
%
% \begin{function}{retain-zero-uncertainty}
% \begin{syntax}
% |retain-zero-uncertainty| = |true|\verb"|"|false|
% \end{syntax}
+% Switch which determines if an entirely zero uncertainty part is retained
+% on parsing, or whether this is normalised to remove the uncertainty.
+% The standard setting is |false|.
% \end{function}
%
% \begin{function}{round-half}
% \begin{syntax}
% |round-half| = |even|\verb"|"|up|
% \end{syntax}
+% Choice which determines how values of exactly half are rounded. The setting
+% |up| means that the value is always rounded away from zero, whereas the
+% setting |even| means that the value will be rounded to the closes even
+% number. The standard setting is |up|.
% \end{function}
%
% \begin{function}{round-minimum}
% \begin{syntax}
% |round-minimum| = \meta{min}
% \end{syntax}
+% Literal which sets a minimum value below which rounded values will be
+% replaced by this value and a |>| or |<|, as appropriate for the sign of
+% the value. The standard setting is empty, \foreign{i.e.}~there is no
+% minimum.
% \end{function}
%
% \begin{function}{round-mode}
% \begin{syntax}
% |round-mode| = |figures|\verb"|"|none|\verb"|"|places|\verb"|"|uncertainty|
% \end{syntax}
+% Choice which specifies the rounding approach used for numbers. The choice
+% |figures| means that values are rounding to the number of significant
+% figures specified by |round-precision|. The setting |places| rounds to
+% |round-precision| interpreted as a number of decimal places: this may be
+% negative (rounding to an integer). The setting |none| disables rounding.
+% The setting |uncertainty| first rounds the uncertainty to the number of
+% significant figures specified by |round-precision|, then rounds the main
+% value such that its accuracy is correctly specified by this updated
+% uncertainty. The standard setting is |none|.
% \end{function}
%
% \begin{function}{round-pad}
% \begin{syntax}
% |round-pad| = |true|\verb"|"|false|
% \end{syntax}
+% Switch which specifies if values should be padded to the required number
+% length when rounding to a number of decimal places. The standard setting is
+% |true|.
% \end{function}
%
% \begin{function}{round-precision}
% \begin{syntax}
% |round-precision| = \meta{precision}
% \end{syntax}
+% Integer specifying the number of digits used as a target when rounding:
+% this may be interpreted as decimal places or significant figures,
+% depending on active |round-mode|. The standard setting is $2$.
+% \end{function}
+%
+% \begin{function}{round-zero-positive}
+% \begin{syntax}
+% |round-zero-positive| = |true|\verb"|"|false|
+% \end{syntax}
+% Switch to control whether a value rounded to zero is regarded as a positive
+% number if the input was negative. The standard setting is |true|.
% \end{function}
%
% \begin{function}{tight-spacing}
@@ -493,16 +568,74 @@
% \end{syntax}
% \end{function}
%
+% \begin{function}{uncertainty-descriptor-mode}
+% \begin{syntax}
+% |uncertainty-descriptor| = |bracket|\verb"|"|bracket-separator|\verb"|"|separator|\verb"|"|subscript|
+% \end{syntax}
+% Selects how uncertainty descriptors are formatted: a choice from the
+% options |bracket|, |text| and |subscript|. The option |bracket| wraps the
+% descriptor in parenthesis, |bracket-separator| does the same but also
+% includes a separator between the uncertainty and opening bracket,
+% |separator| places the descriptor after the uncertainty and a separator,
+% and |subscript| formats the descriptor as a subscript. The
+% standard setting is |bracket-separator|.
+% \end{function}
+%
+% \begin{function}{uncertainty-descriptor-separator}
+% \begin{syntax}
+% |uncertainty-descriptor-separator| = \meta{separator}
+% \end{syntax}
+% Separateor inserted between the uncertainty and descriptor when one is
+% required by |uncertainty-separator-mode|. The standard setting is
+% \verb*|\ |.
+% \end{function}
+%
+% \begin{function}{uncertainty-descriptors}
+% \begin{syntax}
+% |uncertainty-descriptors| = \meta{clist}
+% \end{syntax}
+% Stores the list of descriptors used when there are multiple uncertainty
+% components given. This is not used when there is only a single uncertainty
+% component present. The standard setting is |empty|.
+% \end{function}
+%
% \begin{function}{uncertainty-mode}
% \begin{syntax}
% |uncertainty-mode| = |compact|\verb"|"|compact-marker|\verb"|"|full|\verb"|"|separate|
% \end{syntax}
+% Switch to determine how single symmetrical uncertainties are formatted.
+% When this is set to |separate|, the uncertainty is printed as an entirely
+% separate number preceded by \cs{pm}. Other settings all place the
+% uncertainty in parentheses directly attached to the main value. The
+% standard setting of |compact| prints digits of uncertainty in the
+% least-significant digits. It does \emph{not} print a decimal marker if the
+% uncertainty crosses the decimal. The setting |full| prints the full value
+% of the uncertainty. The setting |compact-marker| is available to print in the
+% |compact| style except where the uncertainty crosses the decimal, in which case the
+% |full| style is used. The standard setting is |compact|.
% \end{function}
%
% \begin{function}{uncertainty-separator}
% \begin{syntax}
% |uncertainty-separator| = \meta{separator}
% \end{syntax}
+% Stores the separator used between the main value and uncertainty when using
+% the |compact| or |compact-marker| style setting for |uncertainty-mode|.
+% \end{function}
+%
+% \begin{function}{zero-decimal-as-symbol}
+% \begin{syntax}
+% |zero-decimal-as-symbol| = |true|\verb"|"|false|
+% \end{syntax}
+% Switch to determine if an entirely zero decimal part is replaced by a
+% symbol. Does not apply if the decimal part is marked as entirely absent.
+% \end{function}
+%
+% \begin{function}{zero-symbol}
+% \begin{syntax}
+% |zero-symbol| = \meta{symbol}
+% \end{syntax}
+% Material printed when a zero numerical component is replaced by a symbol.
% \end{function}
%
% \end{documentation}
@@ -646,6 +779,7 @@
% \l_@@_input_uncert_sign_tl ,
% \l_@@_explicit_decimal_bool ,
% \l_@@_explicit_plus_bool ,
+% \l_@@_negative_zero_bool ,
% \l_@@_zero_uncert_bool
% }
% \begin{macro}[EXP]{\@@_expression:n}
@@ -688,6 +822,8 @@
\l_@@_explicit_decimal_bool ,
retain-explicit-plus .bool_set:N =
\l_@@_explicit_plus_bool ,
+ retain-negative-zero .bool_set:N =
+ \l_@@_negative_zero_bool ,
retain-zero-uncertainty .bool_set:N =
\l_@@_zero_uncert_bool
}
@@ -753,6 +889,14 @@
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\l_@@_uncert_tl}
+% To allow multiple uncertainties, we want to build this up as possibly
+% multiple entries.
+% \begin{macrocode}
+\tl_new:N \l_@@_uncert_tl
+% \end{macrocode}
+% \end{variable}
+%
% \begin{variable}{\l_@@_validate_bool}
% Used to set up for validation with no error production.
% \begin{macrocode}
@@ -825,6 +969,7 @@
{
\group_begin:
\tl_clear:N \l_@@_parsed_tl
+ \tl_clear:N \l_@@_uncert_tl
\tl_map_inline:Nn \l_@@_input_ignore_tl
{
\token_if_macro:NT ##1
@@ -858,25 +1003,11 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_parse_check:
{
- \tl_if_empty:NF \l_@@_flex_tl
+ \tl_put_right:NV \l_@@_uncert_tl \l_@@_flex_tl
+ \tl_if_empty:NF \l_@@_uncert_tl
{
- \bool_lazy_and:nnTF
- {
- \tl_if_blank_p:f
- { \exp_after:wN \use_iv:nnnn \l_@@_parsed_tl }
- }
- {
- \tl_if_blank_p:f
- { \exp_after:wN \use_iv:nnnn \l_@@_flex_tl }
- }
- {
- \tl_set:Nx \l_@@_tmp_tl
- { \exp_after:wN \use_i:nnnn \l_@@_flex_tl }
- \tl_if_in:NVTF \l_@@_input_uncert_sign_tl
- \l_@@_tmp_tl
- { \@@_parse_combine_uncert: }
- { \tl_clear:N \l_@@_parsed_tl }
- }
+ \tl_if_blank:fTF { \exp_after:wN \use_iv:nnnn \l_@@_parsed_tl }
+ { \@@_parse_combine_uncert: }
{ \tl_clear:N \l_@@_parsed_tl }
}
\tl_if_empty:NTF \l_@@_parsed_tl
@@ -893,111 +1024,159 @@
% \end{macro}
%
% \begin{macro}{\@@_parse_combine_uncert:}
-% \begin{macro}{\@@_parse_combine_uncert_auxi:nnnnnnnn}
-% \begin{macro}
-% {
-% \@@_parse_combine_uncert_auxii:nnnnn,
-% \@@_parse_combine_uncert_auxii:fnnnn
-% }
-% \begin{macro}
-% {
-% \@@_parse_combine_uncert_auxiii:nnnnnn,
-% \@@_parse_combine_uncert_auxiii:fnnnnn
-% }
-% \begin{macro}{\@@_parse_combine_uncert_auxiv:nnnn}
-% \begin{macro}[EXP]{\@@_parse_combine_uncert_auxv:w}
-% \begin{macro}[EXP]{\@@_parse_combine_uncert_auxvi:w}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert:nnnn}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert:nn}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert_loop:nnnnnnn}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert:nnnnnn}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert:nnnnnnn}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert:nnnnn}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert_aux:nnnn}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert:N}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert:w}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert_end:nnn}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert_end:nnnn}
% Conversion of a second numerical part to an uncertainty needs a bit of
% work. The first step is to extract the useful information from the two
-% stores: the sign, integer and decimal parts from the real number and the
-% integer and decimal parts from the second number. That is done using the
-% input stack to avoid lots of assignments.
+% stores: the sign, integer and decimal parts from the real number. Then
+% set up a loop to deal with each uncertainty to combine. Everything is done
+% by expansion to avoid repeated assignments. To allow for the case where
+% there is an error, the setup doesn't insert any tokens until the end of
+% the loop, which means a bit of work on the stack.
% \begin{macrocode}
\cs_new_protected:Npn \@@_parse_combine_uncert:
{
- \exp_after:wN \exp_after:wN \exp_after:wN
- \@@_parse_combine_uncert_auxi:nnnnnnnn
- \exp_after:wN \l_@@_parsed_tl \l_@@_flex_tl
+ \tl_set:Nx \l_@@_parsed_tl
+ {
+ \exp_after:wN \@@_parse_combine_uncert:nnnn
+ \l_@@_parsed_tl
+ }
}
% \end{macrocode}
-% Here, |#4|, |#5| and |#8| are all junk arguments simply there to mop up
-% tokens, while |#1| will be recovered later from \cs{l_@@_parsed_tl} so does
-% not need to be passed about. The difference in places between the two
-% decimal parts is now found: this is done just once to avoid having to
-% parse token lists twice. The value is then used to generate a number of
-% filler |0| tokens, and these are added to the appropriate part of the
-% number. Finally, everything is recombined: the integer part only needs
-% a test to avoid an empty main number.
+% Here, |#1| and |#2| are not required at this stage, while |#4| is junk.
+% Thus |#3| is the only item needed for the rest of the process. After a
+% little argument shuffling, the main loop can begin.
% \begin{macrocode}
-\cs_new_protected:Npn
- \@@_parse_combine_uncert_auxi:nnnnnnnn #1#2#3#4#5#6#7#8
+\cs_new:Npn \@@_parse_combine_uncert:nnnn #1#2#3#4
+ {
+ \exp_after:wN \@@_parse_combine_uncert:nn
+ \exp_after:wN { \l_@@_uncert_tl } {#3}
+ }
+\cs_new:Npn \@@_parse_combine_uncert:nn #1#2
{
- \@@_parse_combine_uncert_auxii:fnnnn
- { \int_eval:n { \tl_count:n {#3} - \tl_count:n {#7} } }
- {#2} {#3} {#6} {#7}
+ \@@_parse_combine_uncert_loop:nnnnnnn {#2} { } { }
+ #1
+ { \q_recursion_tail } { } { } { } \q_recursion_stop
}
-\cs_new_protected:Npn
- \@@_parse_combine_uncert_auxii:nnnnn #1
+% \end{macrocode}
+% Here, |#4| and |#7| are junk arguments simply there to mop up
+% tokens, with the exception that |#4| is also used for the end-of-loop
+% test.
+% \begin{macrocode}
+\cs_new:Npn \@@_parse_combine_uncert_loop:nnnnnnn #1#2#3#4#5#6#7
{
- \@@_parse_combine_uncert_auxiii:fnnnnn
+ \quark_if_recursion_tail_stop_do:nn {#4}
+ { \@@_parse_combine_uncert_end:nnn {#1} {#2} {#3} }
+ \exp_args:Nf \@@_parse_combine_uncert:nnnnnn
+ { \int_eval:n { \tl_count:n {#1} - \tl_count:n {#6} } }
+ {#1} {#2} {#3} {#5} {#6}
+ }
+% \end{macrocode}
+% The difference in places between the two decimal parts is now found: this
+% is done just once to avoid having to parse token lists twice. The value
+% is then used to generate a number of filler |0| tokens, and these are added
+% to the appropriate part of the number.
+% \begin{macrocode}
+\cs_new:Npn \@@_parse_combine_uncert:nnnnnn #1
+ {
+ \exp_args:Nf \@@_parse_combine_uncert:nnnnnnn
{ \prg_replicate:nn { \int_abs:n {#1} } { 0 } }
{#1}
}
-\cs_generate_variant:Nn \@@_parse_combine_uncert_auxii:nnnnn { f }
-\cs_new_protected:Npn
- \@@_parse_combine_uncert_auxiii:nnnnnn #1#2#3#4#5#6
+\cs_new:Npn \@@_parse_combine_uncert:nnnnnnn #1#2#3#4#5#6#7
{
\int_compare:nNnTF {#2} > 0
{
- \@@_parse_combine_uncert_auxiv:nnnn
- {#3} {#4} {#5} { #6 #1 }
+ \@@_parse_combine_uncert:nnnnn
+ {#3} {#4} {#5} {#6} { #7 #1 }
}
{
- \@@_parse_combine_uncert_auxiv:nnnn
- {#3} { #4 #1 } {#5} {#6}
+ \@@_parse_combine_uncert:nnnnn
+ { #3 #1 } {#4} {#5} {#6} {#7}
}
}
-\cs_generate_variant:Nn
- \@@_parse_combine_uncert_auxiii:nnnnnn { f }
-\cs_new_protected:Npn
- \@@_parse_combine_uncert_auxiv:nnnn #1#2#3#4
+% \end{macrocode}
+% We now ensure that the decimal part is never entirely blank \emph{if} there
+% are decimal-part uncertainty digits. There is also a need to handle the
+% possibly of an entirely empty uncertainty, where the value is zero and that
+% is not being retained.
+% \begin{macrocode}
+\cs_new:Npn \@@_parse_combine_uncert:nnnnn #1#2#3#4#5
{
- \tl_set:Nx \l_@@_parsed_tl
+ \exp_args:Nee \@@_parse_combine_uncert_aux:nnnn
{
- { \tl_head:V \l_@@_parsed_tl }
- { \exp_not:n {#1} }
- {
- \bool_lazy_and:nnTF
- { \tl_if_blank_p:n {#2} }
- { ! \tl_if_blank_p:n {#4} }
- { 0 }
- { \exp_not:n {#2} }
- }
- {
- \@@_parse_combine_uncert_auxv:w #3#4
- \q_recursion_tail \q_recursion_stop
- }
+ \bool_lazy_and:nnTF
+ { \tl_if_blank_p:n {#1} }
+ { ! \tl_if_blank_p:n {#5} }
+ { 0 }
+ { \exp_not:n {#1} }
+ }
+ {
+ \@@_parse_combine_uncert:N #4#5
+ \q_recursion_tail \q_recursion_stop
+ }
+ {#2}
+ {#3}
+ }
+\cs_new:Npn \@@_parse_combine_uncert_aux:nnnn #1#2#3#4
+ {
+ \exp_args:Neee \@@_parse_combine_uncert_loop:nnnnnnn
+ { \exp_not:n {#1} }
+ {
+ \exp_not:n {#3}
+ \tl_if_blank:nF {#2} { S }
+ }
+ {
+ \exp_not:n {#4}
+ \tl_if_blank:nF {#2} { { \exp_not:n {#2} } }
}
}
% \end{macrocode}
% A short routine to remove any leading zeros in the uncertainty part,
% which are not needed for the compact representation used by the module.
% \begin{macrocode}
-\cs_new:Npn \@@_parse_combine_uncert_auxv:w #1
+\cs_new:Npn \@@_parse_combine_uncert:N #1
{
\quark_if_recursion_tail_stop_do:Nn #1
- {
- \bool_if:NT \l_@@_zero_uncert_bool
- { { S } { 0 } }
- }
+ { \bool_if:NT \l_@@_zero_uncert_bool { 0 } }
\str_if_eq:nnTF {#1} { 0 }
- { \@@_parse_combine_uncert_auxv:w }
- { \@@_parse_combine_uncert_auxvi:w #1 }
+ { \@@_parse_combine_uncert:N }
+ { \@@_parse_combine_uncert:w #1 }
}
-\cs_new:Npn \@@_parse_combine_uncert_auxvi:w
+\cs_new:Npn \@@_parse_combine_uncert:w
#1 \q_recursion_tail \q_recursion_stop
- { { S } { \exp_not:n {#1} } }
+ { \exp_not:n {#1} }
% \end{macrocode}
+% Recover the sign and integer part, then add in the new decimal and the
+% uncertainties.
+% \begin{macrocode}
+\cs_new:Npn \@@_parse_combine_uncert_end:nnn #1#2#3
+ {
+ \exp_after:wN \@@_parse_combine_uncert_end:nnnn
+ \l_@@_parsed_tl
+ { \exp_not:n {#1} }
+ {
+ \tl_if_blank:nF {#2}
+ { \exp_not:n { {#2} #3 } }
+ }
+ }
+\cs_new:Npn \@@_parse_combine_uncert_end:nnnn #1#2#3#4
+ { \exp_not:n { {#1} {#2} } }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
@@ -1155,9 +1334,10 @@
% \end{macro}
%
% \begin{macro}{\@@_parse_finalise:}
-% \begin{macro}{\@@_parse_finalise:nw}
-% Combine all of the bits of a number together: both the real and
-% imaginary parts contain all of the data.
+% \begin{macro}[EXP]{\@@_parse_finalise:nnnn}
+% \begin{macro}[EXP]{\@@_parse_finalise:nw}
+% Combine all of the bits of a number together, dealing with negative zero
+% if required.
% \begin{macrocode}
\cs_new_protected:Npn \@@_parse_finalise:
{
@@ -1166,12 +1346,28 @@
\tl_set:Nx \l_@@_parsed_tl
{
{ \exp_not:V \l_@@_comparator_tl }
- \exp_not:V \l_@@_parsed_tl
+ \exp_after:wN \@@_parse_finalise:nnnn \l_@@_parsed_tl
\exp_after:wN \@@_parse_finalise:nw
\l_@@_exponent_tl \q_stop
}
}
}
+\cs_new:Npn \@@_parse_finalise:nnnn #1#2#3#4
+ {
+ \bool_lazy_all:nTF
+ {
+ { ! \l_@@_negative_zero_bool }
+ { \str_if_eq_p:nn {#1} { - } }
+ { ! \tl_if_blank_p:n {#2#3} }
+ {
+ \str_if_eq_p:ee
+ { \exp_not:n {#2#3} }
+ { \prg_replicate:nn { \tl_count:n {#2#3} } { 0 } }
+ }
+ }
+ { \exp_not:n { { } {#2} {#3} {#4} } }
+ { \exp_not:n { {#1} {#2} {#3} {#4} } }
+ }
\cs_new:Npn \@@_parse_finalise:nw #1#2 \q_stop
{
{ \exp_not:n {#1} }
@@ -1180,21 +1376,21 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_parse_loop:}
-% \begin{macro}{\@@_parse_loop_first:N}
-% \begin{macro}{\@@_parse_loop_main:NNNNN}
+% \begin{macro}{\@@_parse_loop_first:NNN}
+% \begin{macro}{\@@_parse_loop_main:NNNN}
% \begin{macro}{\@@_parse_loop_main_end:NN}
-% \begin{macro}{\@@_parse_loop_main_digit:NNNNN}
-% \begin{macro}{\@@_parse_loop_main_decimal:NN}
-% \begin{macro}{\@@_parse_loop_main_uncert:NNN}
+% \begin{macro}{\@@_parse_loop_main_digit:NNNN}
+% \begin{macro}{\@@_parse_loop_main_decimal:N}
+% \begin{macro}{\@@_parse_loop_main_uncert:NN}
% \begin{macro}{\@@_parse_loop_main_sign:NNN}
% \begin{macro}{\@@_parse_loop_main_store:NNN}
-% \begin{macro}{\@@_parse_loop_after_decimal:NNN}
-% \begin{macro}{\@@_parse_loop_root_swap:NNwNN}
-% \begin{macro}{\@@_parse_loop_break:wN}
+% \begin{macro}{\@@_parse_loop_after_decimal:NN}
+% \begin{macro}{\@@_parse_loop_break:w}
% At this stage, the partial input \cs{l_@@_arg_tl} will contain any
-% mantissa, which may contain an uncertainty or complex part. Parsing this
+% mantissa, which may contain one or more uncertainties. Parsing this
% and allowing for all of the different formats possible is best done using
% a token-by-token approach. However, as at each stage only a subset of
% tokens are valid, the approach take is to use a set of semi-dedicated
@@ -1229,25 +1425,25 @@
{
\bool_if:NTF #2
{ \tl_put_right:Nn #1 { { } { } { } } }
- { \@@_parse_loop_break:wN \q_recursion_stop }
+ { \@@_parse_loop_break:w \q_recursion_stop }
}
\tl_if_in:NnTF \l_@@_input_digit_tl {#3}
{
- \@@_parse_loop_main:NNNNN
- #1 \c_true_bool \c_false_bool #2 #3
+ \@@_parse_loop_main:NNNN
+ #1 \c_true_bool \c_false_bool #3
}
{
\tl_if_in:NnTF \l_siunitx_number_input_decimal_tl {#3}
{
\tl_put_right:Nn #1 { { 0 } }
- \@@_parse_loop_after_decimal:NNN #1 #2
+ \@@_parse_loop_after_decimal:NN #1
}
- { \@@_parse_loop_break:wN }
+ { \@@_parse_loop_break:w }
}
}
% \end{macrocode}
% A single function is used to cover the \enquote{main} part of numbers:
-% finding real, complex or separated uncertainty parts and covering both
+% finding the main or separated uncertainty parts and covering both
% the integer and decimal components. This works because these elements
% share a lot of concepts: a small number of switches can be used to
% differentiate between them. To keep the code at least somewhat readable,
@@ -1264,37 +1460,33 @@
% there leading to a store-and-switch situation.
% \item An open-uncertainty token: switch to the dedicated collector
% for uncertainties.
-% \item A sign token (if allowed): stop collecting this number and
-% restart collection for the second part.
+% \item A sign token: stop collecting this number and
+% restart collection for the next part.
% \end{itemize}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_loop_main:NNNNN #1#2#3#4#5
+\cs_new_protected:Npn \@@_parse_loop_main:NNNN #1#2#3#4
{
- \quark_if_recursion_tail_stop_do:Nn #5
+ \quark_if_recursion_tail_stop_do:Nn #4
{ \@@_parse_loop_main_end:NN #1#2 }
- \tl_if_in:NnTF \l_@@_input_digit_tl {#5}
- { \@@_parse_loop_main_digit:NNNNN #1#2#3#4#5 }
+ \tl_if_in:NnTF \l_@@_input_digit_tl {#4}
+ { \@@_parse_loop_main_digit:NNNN #1#2#3#4 }
{
- \tl_if_in:NnTF \l_siunitx_number_input_decimal_tl {#5}
+ \tl_if_in:NnTF \l_siunitx_number_input_decimal_tl {#4}
{
\bool_if:NTF #2
- { \@@_parse_loop_main_decimal:NN #1 #4 }
- { \@@_parse_loop_break:wN }
+ { \@@_parse_loop_main_decimal:N #1 }
+ { \@@_parse_loop_break:w }
}
{
- \tl_if_in:NnTF \l_@@_input_uncert_open_tl {#5}
- { \@@_parse_loop_main_uncert:NNN #1#2 #4 }
+ \tl_if_in:NnTF \l_@@_input_uncert_open_tl {#4}
+ { \@@_parse_loop_main_uncert:NN #1 #2 }
{
- \bool_if:NTF #4
+ \tl_if_in:NnTF \l_@@_input_uncert_sign_tl {#4}
{
- \tl_if_in:NnTF \l_siunitx_number_input_sign_tl {#5}
- {
- \@@_parse_loop_main_sign:NNN
- #1#2 #5
- }
- { \@@_parse_loop_break:wN }
+ \@@_parse_loop_main_sign:NNN
+ #1 #2 #4
}
- { \@@_parse_loop_break:wN }
+ { \@@_parse_loop_break:w }
}
}
}
@@ -1333,25 +1525,25 @@
% that is handled using a combination of a switch and a string test. Other
% than that, the situation here is simple: store the input and loop.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_loop_main_digit:NNNNN #1#2#3#4#5
+\cs_new_protected:Npn \@@_parse_loop_main_digit:NNNN #1#2#3#4
{
\bool_lazy_or:nnTF
- {#3} { ! \str_if_eq_p:nn {#5} { 0 } }
+ {#3} { ! \str_if_eq_p:nn {#4} { 0 } }
{
- \tl_put_right:Nn \l_@@_partial_tl {#5}
- \@@_parse_loop_main:NNNNN #1 #2 \c_true_bool #4
+ \tl_put_right:Nn \l_@@_partial_tl {#4}
+ \@@_parse_loop_main:NNNN #1 #2 \c_true_bool
}
- { \@@_parse_loop_main:NNNNN #1 #2 \c_false_bool #4 }
+ { \@@_parse_loop_main:NNNN #1 #2 \c_false_bool }
}
% \end{macrocode}
% When a decimal marker was found, move the integer part to the
% store and then go back to the loop with the flags set correctly.
% There is the case of non-significant zeros to cover before that, of course.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_loop_main_decimal:NN #1#2
+\cs_new_protected:Npn \@@_parse_loop_main_decimal:N #1
{
\@@_parse_loop_main_store:NNN #1 \c_false_bool \c_false_bool
- \@@_parse_loop_after_decimal:NNN #1 #2
+ \@@_parse_loop_after_decimal:NN #1
}
% \end{macrocode}
% Starting an uncertainty part means storing the number to date as in other
@@ -1359,10 +1551,11 @@
% uncertainty itself is collected by a dedicated function as it is extremely
% restricted.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_loop_main_uncert:NNN #1#2#3
+\cs_new_protected:Npn \@@_parse_loop_main_uncert:NN #1#2
{
\@@_parse_loop_main_store:NNN #1 #2 \c_false_bool
- \@@_parse_uncert:NN #1
+ \tl_clear:N \l_@@_uncert_tl
+ \@@_parse_uncert:N
}
% \end{macrocode}
% If a sign is found, terminate the current number, store the sign as the
@@ -1372,6 +1565,7 @@
\cs_new_protected:Npn \@@_parse_loop_main_sign:NNN #1#2#3
{
\@@_parse_loop_main_store:NNN #1 #2 \c_true_bool
+ \tl_put_right:NV \l_@@_uncert_tl \l_@@_flex_tl
\tl_set:Nn \l_@@_flex_tl { {#3} }
\@@_parse_loop_first:NNN
\l_@@_flex_tl \c_false_bool
@@ -1384,11 +1578,13 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_parse_loop_main_store:NNN #1#2#3
{
- \tl_if_empty:NT \l_@@_partial_tl
- { \tl_set:Nn \l_@@_partial_tl { 0 } }
\tl_put_right:Nx #1
{
- { \exp_not:V \l_@@_partial_tl }
+ {
+ \tl_if_empty:NTF \l_@@_partial_tl
+ { 0 }
+ { \exp_not:V \l_@@_partial_tl }
+ }
\bool_if:NT #2 { { } }
\bool_if:NT #3 { { } }
}
@@ -1400,23 +1596,23 @@
% an empty integer part first then either simply hands off or looks for
% a digit.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_loop_after_decimal:NNN #1#2#3
+\cs_new_protected:Npn \@@_parse_loop_after_decimal:NN #1#2
{
\tl_if_blank:fTF { \exp_after:wN \use_none:n #1 }
{
- \quark_if_recursion_tail_stop_do:Nn #3
- { \@@_parse_loop_break:wN \q_recursion_stop }
+ \quark_if_recursion_tail_stop_do:Nn #2
+ { \@@_parse_loop_break:w \q_recursion_stop }
\tl_if_in:NnTF \l_@@_input_digit_tl {#1}
{
- \tl_put_right:Nn \l_@@_partial_tl {#3}
- \@@_parse_loop_main:NNNNN
- #1 \c_false_bool \c_true_bool #2
+ \tl_put_right:Nn \l_@@_partial_tl {#2}
+ \@@_parse_loop_main:NNNN
+ #1 \c_false_bool \c_true_bool
}
- { \@@_parse_loop_break:wN }
+ { \@@_parse_loop_break:w }
}
{
- \@@_parse_loop_main:NNNNN
- #1 \c_false_bool \c_true_bool #2 #3
+ \@@_parse_loop_main:NNNN
+ #1 \c_false_bool \c_true_bool #2
}
}
% \end{macrocode}
@@ -1424,7 +1620,7 @@
% number and clear the storage areas as a signal for the next part of the
% code.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_loop_break:wN
+\cs_new_protected:Npn \@@_parse_loop_break:w
#1 \q_recursion_stop
{
\tl_clear:N \l_@@_flex_tl
@@ -1442,7 +1638,6 @@
% \end{macro}
% \end{macro}
% \end{macro}
-% \end{macro}
%
% \begin{macro}{\@@_parse_sign:}
% \begin{macro}{\@@_parse_sign_aux:Nw}
@@ -1476,11 +1671,11 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\@@_parse_uncert:NN}
-% \begin{macro}{\@@_parse_uncert:NNNN}
-% \begin{macro}{\@@_parse_uncert_auxi:NN, \@@_parse_uncert_auxii:NN}
-% \begin{macro} {\@@_parse_uncert_auxii:N, \@@_parse_uncert_marker:N}
-% \begin{macro}{\@@_parse_uncert_extend:nnnN}
+% \begin{macro}{\@@_parse_uncert:N}
+% \begin{macro}{\@@_parse_uncert:NNN}
+% \begin{macro}{\@@_parse_uncert_auxi:N, \@@_parse_uncert_auxii:N}
+% \begin{macro} {\@@_parse_uncert_auxii:, \@@_parse_uncert_marker:}
+% \begin{macro}{\@@_parse_uncert_extend:nnn}
% \begin{macro}{\@@_parse_uncert_after:N}
% Parsing a combined uncertainty has a very restricted range of allowed
% tokens. A closing uncertainty token in the first place is an error,
@@ -1488,84 +1683,72 @@
% which require checking for significant digits. The non-digit function
% is separate to make the flow clearer.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_uncert:NN #1#2
+\cs_new_protected:Npn \@@_parse_uncert:N #1
{
- \quark_if_recursion_tail_stop_do:Nn #2
- { \@@_parse_loop_break:wN \q_recursion_stop }
- \tl_if_in:NnTF \l_@@_input_uncert_close_tl {#2}
- { \@@_parse_loop_break:wN }
+ \quark_if_recursion_tail_stop_do:Nn #1
+ { \@@_parse_loop_break:w \q_recursion_stop }
+ \tl_if_in:NnTF \l_@@_input_uncert_close_tl {#1}
+ { \@@_parse_loop_break:w }
{
- \@@_parse_uncert:NNNN
- #1 \c_false_bool \@@_parse_uncert_auxi:NN #2
+ \@@_parse_uncert:NNN
+ \c_false_bool \@@_parse_uncert_auxi:N #1
}
}
% \end{macrocode}
% Deal with digits: a simple question of whether they are significant.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_uncert:NNNN #1#2#3#4
+\cs_new_protected:Npn \@@_parse_uncert:NNN #1#2#3
{
- \quark_if_recursion_tail_stop_do:Nn #4
- { \@@_parse_loop_break:wN \q_recursion_stop }
- \tl_if_in:NnTF \l_@@_input_digit_tl {#4}
+ \quark_if_recursion_tail_stop_do:Nn #3
+ { \@@_parse_loop_break:w \q_recursion_stop }
+ \tl_if_in:NnTF \l_@@_input_digit_tl {#3}
{
\bool_lazy_or:nnTF
- {#2} { ! \str_if_eq_p:nn {#4} { 0 } }
+ {#1} { ! \str_if_eq_p:nn {#3} { 0 } }
{
- \tl_put_right:Nn \l_@@_partial_tl {#4}
- \@@_parse_uncert:NNNN #1 \c_true_bool #3
+ \tl_put_right:Nn \l_@@_partial_tl {#3}
+ \@@_parse_uncert:NNN \c_true_bool #2
}
- { \@@_parse_uncert:NNNN #1 \c_false_bool #3 }
+ { \@@_parse_uncert:NNN \c_false_bool #2 }
}
- { #3 #1#4 }
+ { #2 #3 }
}
% \end{macrocode}
% For the two auxiliaries, the difference is the handling of a
% decimal marker: one may be present, but only exactly one.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_uncert_auxi:NN #1#2
+\cs_new_protected:Npn \@@_parse_uncert_auxi:N #1
{
- \tl_if_in:NnTF \l_@@_input_uncert_close_tl {#2}
+ \tl_if_in:NnTF \l_@@_input_uncert_close_tl {#1}
{
- \@@_parse_uncert_auxiii:N #1
+ \@@_parse_uncert_auxiii:
\@@_parse_uncert_after:N
}
{
- \tl_if_in:NnTF \l_siunitx_number_input_decimal_tl {#2}
- { \@@_parse_uncert_marker:N #1 }
- { \@@_parse_loop_break:wN }
+ \tl_if_in:NnTF \l_siunitx_number_input_decimal_tl {#1}
+ { \@@_parse_uncert_marker: }
+ { \@@_parse_loop_break:w }
}
}
-\cs_new_protected:Npn \@@_parse_uncert_auxii:NN #1#2
+\cs_new_protected:Npn \@@_parse_uncert_auxii:N #1
{
- \tl_if_in:NnTF \l_@@_input_uncert_close_tl {#2}
+ \tl_if_in:NnTF \l_@@_input_uncert_close_tl {#1}
{
- \@@_parse_uncert_auxiii:N #1
+ \@@_parse_uncert_auxiii:
\@@_parse_uncert_after:N
}
- { \@@_parse_loop_break:wN }
+ { \@@_parse_loop_break:w }
}
% \end{macrocode}
% Deal with the closing bracket, which might leave us with nothing if there
% were no significant digits.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_uncert_auxiii:N #1
+\cs_new_protected:Npn \@@_parse_uncert_auxiii:
{
- \tl_if_empty:NTF \l_@@_partial_tl
- {
- \tl_put_right:Nx #1
- {
- {
- \bool_if:NT \l_@@_zero_uncert_bool
- { { S } { 0 } }
- }
- }
- }
- {
- \tl_set:Nx \l_@@_partial_tl
- { { S } { \exp_not:V \l_@@_partial_tl } }
- \@@_parse_loop_main_store:NNN #1
- \c_false_bool \c_false_bool
- }
+ \bool_lazy_and:nnT
+ { \l_@@_zero_uncert_bool }
+ { \tl_if_empty_p:N \l_@@_partial_tl }
+ { \tl_set:Nn \l_@@_partial_tl { 0 } }
}
% \end{macrocode}
% Handling a decimal marker in the uncertainty is a bit tricky: we need to make
@@ -1578,50 +1761,76 @@
% digits then a closing marker. So we can use that as a length: if it's
% too long we can stop.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_parse_uncert_marker:N #1
- { \exp_after:wN \@@_parse_uncert_marker:nnnN #1 #1 }
-\cs_new_protected:Npn \@@_parse_uncert_marker:nnnN #1#2#3#4
+\cs_new_protected:Npn \@@_parse_uncert_marker:
+ {
+ \exp_after:wN \@@_parse_uncert_marker:nnn
+ \l_@@_parsed_tl
+ }
+\cs_new_protected:Npn \@@_parse_uncert_marker:nnn #1#2#3
{
\int_compare:nNnTF
{ \tl_count:N \l_@@_partial_tl } > { \tl_count:n {#2} }
- { \@@_parse_loop_break:wN }
- { \@@_parse_uncert_marker:nNw {#3} #4 }
+ { \@@_parse_loop_break:w }
+ { \@@_parse_uncert_marker:nw {#3} }
}
-\cs_new_protected:Npn \@@_parse_uncert_marker:nNw
- #1#2#3 \q_recursion_tail \q_recursion_stop
+\cs_new_protected:Npn \@@_parse_uncert_marker:nw
+ #1#2 \q_recursion_tail \q_recursion_stop
{
\int_compare:nNnTF
- { \tl_count:n {#3} - 1 } = { \tl_count:n {#1} }
+ { \tl_count:n {#2} - 1 } = { \tl_count:n {#1} }
{
\str_if_eq:eeTF
- { \exp_not:V \l_@@_partial_tl }
+ { \exp_not:V \l_@@_uncert_tl }
{ \prg_replicate:nn { \tl_count:N \l_@@_partial_tl } { 0 } }
- {
- \@@_parse_uncert:NNNN
- #2 \c_false_bool
- }
- {
- \@@_parse_uncert:NNNN
- #2 \c_true_bool
- }
- \@@_parse_uncert_auxii:NN
+ { \@@_parse_uncert:NNN \c_false_bool }
+ { \@@_parse_uncert:NNN \c_true_bool }
+ \@@_parse_uncert_auxii:N
}
- { \exp_after:wN \@@_parse_uncert_extend:nnnN #2 #2 }
- #3 \q_recursion_tail \q_recursion_stop
+ { \exp_after:wN \@@_parse_uncert_extend:nnn \l_@@_parsed_tl }
+ #2 \q_recursion_tail \q_recursion_stop
}
-\cs_new_protected:Npn \@@_parse_uncert_extend:nnnN #1#2#3#4
+\cs_new_protected:Npn \@@_parse_uncert_extend:nnn #1#2#3
{
- \tl_set:Nn #4 { {#1} {#2} { #3 0 } }
- \@@_parse_uncert:NNNN #4 \c_true_bool
- \@@_parse_uncert_auxii:NN
+ \tl_set:Nn \l_@@_parsed_tl { {#1} {#2} { #3 0 } }
+ \@@_parse_uncert:NNN \c_true_bool
+ \@@_parse_uncert_auxii:N
}
% \end{macrocode}
-% No further tokens are allowed after an uncertainty in parenthesis.
+% At the end of collection, we can either start another one or be done:
+% either way we move the data around.
% \begin{macrocode}
\cs_new_protected:Npn \@@_parse_uncert_after:N #1
{
- \quark_if_recursion_tail_stop:N #1
- \@@_parse_loop_break:wN
+ \tl_set:Nx \l_@@_uncert_tl
+ {
+ \exp_not:V \l_@@_uncert_tl
+ \tl_if_empty:NF \l_@@_partial_tl
+ { { \exp_not:V \l_@@_partial_tl } }
+ }
+ \tl_clear:N \l_@@_partial_tl
+ \quark_if_recursion_tail_stop_do:Nn #1
+ {
+ \tl_set:Nx \l_@@_parsed_tl
+ {
+ \exp_not:V \l_@@_parsed_tl
+ {
+ \tl_if_empty:NF \l_@@_uncert_tl
+ {
+ {
+ \prg_replicate:nn
+ { \tl_count:N \l_@@_uncert_tl }
+ { S }
+ }
+ \exp_not:V \l_@@_uncert_tl
+ }
+ }
+ }
+ \tl_clear:N \l_@@_partial_tl
+ \tl_clear:N \l_@@_uncert_tl
+ }
+ \tl_if_in:NnTF \l_@@_input_uncert_open_tl {#1}
+ { \@@_parse_uncert:N }
+ { \@@_parse_loop_break:w }
}
% \end{macrocode}
% \end{macro}
@@ -1645,7 +1854,8 @@
% \l_@@_round_half_even_bool ,
% \l_@@_round_mode_tl ,
% \l_@@_round_pad_bool ,
-% \l_@@_round_precision_int
+% \l_@@_round_precision_int ,
+% \l_@@_round_positive_bool
% }
% \begin{macrocode}
\keys_define:nn { siunitx }
@@ -1679,6 +1889,8 @@
\l_@@_round_pad_bool ,
round-precision .int_set:N =
\l_@@_round_precision_int ,
+ round-zero-positive .bool_set:N =
+ \l_@@_round_positive_bool
}
\bool_new:N \l_@@_round_half_even_bool
\tl_new:N \l_@@_exponent_mode_tl
@@ -2113,8 +2325,12 @@
% \begin{macro}{\@@_digits:NN}
% \begin{macro}[EXP]{\@@_digits:nnnnnnn}
% \begin{macro}[EXP]{\@@_digits:nn}
-% \begin{macro}[EXP]{\@@_digits_uncert:nnn}
-% \begin{macro}[EXP]{\@@_digits_uncert_S:nn}
+% \begin{macro}[EXP]{\@@_digits_uncert:nnw}
+% \begin{macro}[EXP]
+% {\@@_digits_uncert_A:nn, \@@_digits_uncert_S:nn, \@@_digits_uncert_aux:nn}
+% \begin{macro}[EXP]{\@@_digits_uncert_A:nnn}
+% \begin{macro}[EXP]{\@@_digits_uncert:nN}
+% \begin{macro}[EXP]{\@@_digits_uncert:nNw}
% Forcing a minimum number of digits in each part is quite easy. As
% the common case is that we don't do anything here, there is no real need
% to optimise the calculation (normally also numbers have only a few digits).
@@ -2135,7 +2351,10 @@
\exp_not:n {#4}
\@@_digits:nn \l_@@_min_decimal_int {#4}
}
- { \tl_if_blank:nF {#5} { \@@_digits_uncert:nnn {#4} #5 } }
+ {
+ \tl_if_blank:nF {#5}
+ { \@@_digits_uncert:nnw {#4} #5 \q_stop }
+ }
\exp_not:n { {#6} {#7} }
}
\cs_new:Npn \@@_digits:nn #1#2
@@ -2144,12 +2363,26 @@
{ #1 - \tl_count:n {#2} } > 0
{ \prg_replicate:nn { #1 - \tl_count:n {#2} } { 0 } }
}
-\cs_new:Npn \@@_digits_uncert:nnn #1#2#3
+\cs_new:Npn \@@_digits_uncert:nnw #1#2#3 \q_stop
{
{ #2 }
- { \use:c { @@_digits_uncert_ #2 :nn } {#1} {#3} }
+ \cs_if_exist:cTF { @@_digits_uncert_ #2 :nn }
+ { { \use:c { @@_digits_uncert_ #2 :nn } {#1} {#3} } }
+ {
+ \@@_digits_uncert:nN {#1} #2 \q_recursion_tail
+ #3 \q_recursion_stop
+ }
+ }
+\cs_new:Npn \@@_digits_uncert_A:nn #1#2
+ { \@@_digits_uncert_A:nnn {#1} #2 }
+\cs_new:Npn \@@_digits_uncert_A:nnn #1#2#3
+ {
+ { \@@_digits_uncert_aux:nn {#1} {#2} }
+ { \@@_digits_uncert_aux:nn {#1} {#3} }
}
\cs_new:Npn \@@_digits_uncert_S:nn #1#2
+ { \@@_digits_uncert_aux:nn {#1} {#2} }
+\cs_new:Npn \@@_digits_uncert_aux:nn #1#2
{
\exp_not:n {#2}
\@@_digits:nn
@@ -2160,12 +2393,25 @@
}
{#2}
}
+\cs_new:Npn \@@_digits_uncert:nN #1#2
+ {
+ \quark_if_recursion_tail_stop:N #2
+ \@@_digits_uncert:nNw {#1} #2
+ }
+\cs_new:Npn \@@_digits_uncert:nNw #1#2#3 \q_recursion_tail #4
+ {
+ { \use:c { @@_digits_uncert_ #2 :nn } {#1} {#4} }
+ \@@_digits_uncert:nN {#1} #3 \q_recursion_tail
+ }
% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_drop_exponent:NN}
% \begin{macro}[EXP]{\@@_drop_exponent:nnnnnnn}
@@ -2255,7 +2501,7 @@
% \@@_round_engineering:nn ,
% \@@_round_fixed:nn ,
% \@@_round_input:nn ,
-% \@@_round_scientifitc:nn
+% \@@_round_scientific:nn
% }
% \begin{macro}[EXP]{\@@_round_engineering:NNNNn}
% \begin{macro}[EXP]{\@@_round_engineering:nnN}
@@ -2763,17 +3009,19 @@
{ \@@_round_places_finalise:nnnnnnn #1 }
\cs_new:Npn \@@_round_places_finalise:nnnnnnn #1#2#3#4#5#6#7
{
- \bool_lazy_and:nnTF
- { \str_if_eq_p:nn {#3} { 0 } }
- {
- \str_if_eq_p:ee
- { \exp_not:n {#4} } { \prg_replicate:nn { \tl_count:n {#4} } { 0 } }
- }
+ \str_if_eq:eeTF
+ { \exp_not:n {#3#4} }
+ { \prg_replicate:nn { \tl_count:n {#3#4} } { 0 } }
{
\tl_if_empty:NTF \l_@@_round_min_tl
{
\exp_not:n { {#1} }
- { \str_if_eq:nnF {#2} { - } { \exp_not:n {#2} } }
+ {
+ \bool_lazy_and:nnF
+ { \l_@@_round_positive_bool }
+ { \str_if_eq_p:nn {#2} { - } }
+ { \exp_not:n {#2} }
+ }
\exp_not:n { {#3} {#4} {#5} {#6} {#7} }
}
{
@@ -3107,23 +3355,28 @@
%
% \begin{variable}
% {
-% \l_@@_bracket_negative_bool ,
-% \l_@@_implicit_plus_bool ,
-% \l_@@_exponent_base_tl ,
-% \l_@@_exponent_product_tl ,
-% \l_@@_group_decimal_bool ,
-% \l_@@_group_integer_bool ,
-% \l_@@_group_minimum_int ,
-% \l_@@_group_separator_tl ,
-% \l_@@_negative_color_tl ,
-% \l_@@_output_exp_marker_tl ,
-% \l_@@_output_uncert_close_tl ,
-% \l_@@_output_uncert_open_tl ,
-% \l_@@_uncert_mode_tl ,
-% \l_@@_uncert_separator_tl ,
-% \l_@@_tight_bool ,
-% \l_@@_unity_mantissa_bool ,
-% \l_@@_zero_exponent_bool ,
+% \l_@@_bracket_negative_bool ,
+% \l_@@_implicit_plus_bool ,
+% \l_@@_exponent_base_tl ,
+% \l_@@_exponent_product_tl ,
+% \l_@@_group_size_int ,
+% \l_@@_group_first_int ,
+% \l_@@_group_decimal_bool ,
+% \l_@@_group_integer_bool ,
+% \l_@@_group_minimum_int ,
+% \l_@@_group_separator_tl ,
+% \l_@@_negative_color_tl ,
+% \l_@@_output_exp_marker_tl ,
+% \l_@@_output_uncert_close_tl ,
+% \l_@@_output_uncert_open_tl ,
+% \l_@@_uncert_desc_mode_tl ,
+% \l_@@_uncert_desc_separator_tl ,
+% \l_@@_uncert_desc_clist ,
+% \l_@@_uncert_mode_tl ,
+% \l_@@_uncert_separator_tl ,
+% \l_@@_tight_bool ,
+% \l_@@_unity_mantissa_bool ,
+% \l_@@_zero_exponent_bool ,
% \l_@@_zero_integer_bool
% }
% Keys producing tokens in the output.
@@ -3138,6 +3391,15 @@
\l_@@_exponent_base_tl ,
exponent-product .tl_set:N =
\l_@@_exponent_product_tl ,
+ digit-group-size .meta:n =
+ {
+ digit-group-first-size = {#1} ,
+ digit-group-other-size = {#1}
+ } ,
+ digit-group-first-size .int_set:N =
+ \l_@@_group_first_int ,
+ digit-group-other-size .int_set:N =
+ \l_@@_group_size_int ,
group-digits .choice: ,
group-digits / all .code:n =
{
@@ -3184,14 +3446,25 @@
\l_@@_zero_integer_bool ,
tight-spacing .bool_set:N =
\l_@@_tight_bool ,
+ uncertainty-descriptor-mode .choices:nn =
+ { bracket , bracket-separator , separator , subscript }
+ { \tl_set_eq:NN \l_@@_uncert_desc_mode_tl \l_keys_choice_tl } ,
+ uncertainty-descriptor-separator .tl_set:N =
+ \l_@@_uncert_desc_separator_tl ,
+ uncertainty-descriptors .clist_set:N =
+ \l_@@_uncert_desc_clist ,
uncertainty-mode .choices:nn =
{ compact , compact-marker , full , separate }
{ \tl_set_eq:NN \l_@@_uncert_mode_tl \l_keys_choice_tl } ,
uncertainty-separator .tl_set:N =
- \l_@@_uncert_separator_tl
+ \l_@@_uncert_separator_tl ,
+ zero-decimal-as-symbol .bool_set:N =
+ \l_@@_zero_symbol_bool ,
+ zero-symbol .tl_set:N = \l_@@_zero_symbol_tl
}
\bool_new:N \l_@@_group_decimal_bool
\bool_new:N \l_@@_group_integer_bool
+\tl_new:N \l_@@_uncert_desc_mode_tl
\tl_new:N \l_@@_uncert_mode_tl
% \end{macrocode}
% \end{variable}
@@ -3213,25 +3486,49 @@
% \begin{macro}[rEXP]{\@@_output_integer:nnn}
% \begin{macro}[rEXP]{\@@_output_decimal:nn, \@@_output_decimal:fn}
% \begin{macro}[rEXP]{\@@_output_digits:nn}
-% \begin{macro}[rEXP]{\@@_output_integer_aux:n}
+% \begin{macro}[rEXP]{\@@_output_digit_separator:N}
+% \begin{macro}[rEXP]{\@@_output_integer_3_3:n}
% \begin{macro}[rEXP]
% {
% \@@_output_integer_aux_0:n,
% \@@_output_integer_aux_1:n,
% \@@_output_integer_aux_2:n
% }
-% \begin{macro}[rEXP]{\@@_output_decimal_aux:n}
-% \begin{macro}[rEXP]{\@@_output_decimal_loop:NNNN}
% \begin{macro}[rEXP]{\@@_output_integer_first:nnNN}
% \begin{macro}[rEXP]{\@@_output_integer_loop:NNNN}
+% \begin{macro}[rEXP]{\@@_output_integer_first:n}
+% \begin{macro}[rEXP]{\@@_output_integer_aux:n}
+% \begin{macro}[rEXP]{\@@_output_integer_loop:NnnN}
+% \begin{macro}[rEXP]{\@@_output_decimal_3_3:n}
+% \begin{macro}[rEXP]{\@@_output_decimal_loop:NNNN}
+% \begin{macro}[rEXP]{\@@_output_decimal_3_2:n}
+% \begin{macro}[rEXP]{\@@_output_decimal:NNNw}
+% \begin{macro}[rEXP]{\@@_output_decimal_loop:NN}
+% \begin{macro}[rEXP]{\@@_output_decimal_first:n}
+% \begin{macro}[rEXP]{\@@_output_decimal_loop:NnnN}
% \begin{macro}[rEXP]{\@@_output_uncertainty:nnn}
% \begin{macro}[rEXP]{\@@_output_uncertainty_unaligned:n}
-% \begin{macro}[rEXP]{\@@_output_uncert_S:nnnw}
+% \begin{macro}[rEXP]{\@@_output_uncert:nnnn}
+% \begin{macro}[rEXP]{\@@_output_uncert:nnnnn}
+% \begin{macro}[rEXP]{\@@_output_uncert_loop:nnN}
+% \begin{macro}[rEXP]{\@@_output_uncert_loop:nnNw}
% \begin{macro}[rEXP]
-% {\@@_output_uncert_S_aux:nnn, \@@_output_uncert_S_aux:fnn}
+% {
+% \@@_output_uncert_desc_bracket:n ,
+% \@@_output_uncert_desc_bracket-separator:n ,
+% \@@_output_uncert_desc_separator:n ,
+% \@@_output_uncert_desc_subscript:n
+% }
+% \begin{macro}[rEXP]{\@@_output_uncert_A_loop:nnn, \@@_output_uncert_S_loop:nnn}
+% \begin{macro}[rEXP]{\@@_output_uncert_S_loop:w}
+% \begin{macro}[rEXP]{\@@_output_uncert_A:nnnn, \@@_output_uncert_A_multi:nnnn}
+% \begin{macro}[rEXP]{\@@_output_uncert_A:nnnnn}
% \begin{macro}[rEXP]
-% {\@@_output_uncert_S:nnnw, \@@_output_uncert_S:fnw}
-% \begin{macro}[rEXP]{\@@_output_uncert_S:nnw}
+% {
+% \@@_output_uncert_S:nnnn ,
+% \@@_output_uncert_S_sep:nnnn ,
+% \@@_output_uncert_S_multi:nnnn
+% }
% \begin{macro}[rEXP]
% {
% \@@_output_uncert_S_compact:nn ,
@@ -3239,6 +3536,13 @@
% \@@_output_uncert_S_full:nn
% }
% \begin{macro}[rEXP]
+% {\@@_output_uncert_augment:nnnn}
+% \begin{macro}[rEXP]
+% {\@@_output_uncert_augment:nnn}
+% \begin{macro}[rEXP]
+% {\@@_output_uncert_augment:nnnw, \@@_output_uncert_augment:fnnw}
+% \begin{macro}[rEXP]{\@@_output_uncert_augment:nnw}
+% \begin{macro}[rEXP]
% {
% \@@_output_exponent:nnnnn ,
% \@@_output_exponent_auxi:nnnnn ,
@@ -3420,7 +3724,17 @@
}
\exp_not:n {#2}
\str_if_eq:nnF {#1} { \empty }
- { \@@_output_digits:nn { decimal } {#1} }
+ {
+ \bool_lazy_and:nnTF
+ { \l_@@_zero_symbol_bool }
+ {
+ \str_if_eq_p:ee
+ {#1}
+ { \prg_replicate:nn { \tl_count:n {#1} } { 0 } }
+ }
+ { \exp_not:V \l_@@_zero_symbol_tl }
+ { \@@_output_digits:nn { decimal } {#1} }
+ }
}
\cs_generate_variant:Nn \@@_output_decimal:nn { f }
\cs_new:Npn \@@_output_digits:nn #1#2
@@ -3430,16 +3744,37 @@
\int_compare:nNnTF
{ \tl_count:n {#2} } < \l_@@_group_minimum_int
{ \exp_not:n {#2} }
- { \use:c { @@_output_ #1 _aux:n } {#2} }
+ {
+ \cs_if_exist_use:cF
+ {
+ @@_output_ #1 _
+ \int_use:N \l_@@_group_first_int
+ _
+ \int_use:N \l_@@_group_size_int
+ :n
+ }
+ { \use:c { @@_output_ #1 _first:n } }
+ {#2}
+ }
}
{ \exp_not:n {#2} }
}
% \end{macrocode}
-% For integers, we need to know how many digits there are to allow for the
-% correct insertion of separators. That is done using a two-part set up such
-% that there is no separator on the first pass.
+% An auxiliary to ensure spacing is correct.
% \begin{macrocode}
-\cs_new:Npn \@@_output_integer_aux:n #1
+\cs_new:Npn \@@_output_digit_separator:N #1
+ {
+ \str_if_eq:VnTF #1 { , }
+ { \exp_not:N \mathord }
+ { \use:n }
+ { \exp_not:V #1 }
+ }
+% \end{macrocode}
+% For standard grouping of integers, we need to know how many digits there
+% are to allow for the correct insertion of separators. That is done using
+% a two-part set up such that there is no separator on the first pass.
+% \begin{macrocode}
+\cs_new:cpn { @@_output_integer_3_3:n } #1
{
\use:c
{
@@ -3462,21 +3797,51 @@
}
\cs_new:Npn \@@_output_integer_loop:NNNN #1#2#3#4
{
- \str_if_eq:VnTF \l_@@_group_separator_tl { , }
- { \exp_not:N \mathord }
- { \use:n }
- { \exp_not:V \l_@@_group_separator_tl }
+ \@@_output_digit_separator:N \l_@@_group_separator_tl
\exp_not:n {#1#2#3}
\quark_if_nil:NF #4
{ \@@_output_integer_loop:NNNN #4 }
}
% \end{macrocode}
-% For decimals, no need to do any counting, just loop using enough markers to
-% find the end of the list. By passing the decimal marker, it is possible not
-% to have to use a check on the content of the rest of the number. The
-% |\use_none:n(n)| mop up the remaining |\q_nil| tokens.
+% There is no clever way of doing an uneven integer grouping, so just provide
+% a slow generic approach. This is more-or-less the same as the generic
+% decimal code, but with the output reversed. The only wrinkle is we need to
+% reverse the entire input again, so it has to be carried as an argument.
% \begin{macrocode}
-\cs_new:Npn \@@_output_decimal_aux:n #1
+\cs_new:Npn \@@_output_integer_first:n #1
+ {
+ \exp_args:Ne \@@_output_integer_aux:n { \tl_reverse:n {#1} }
+ }
+\cs_new:Npn \@@_output_integer_aux:n #1
+ {
+ \@@_output_integer_loop:NnnN \l_@@_group_first_int { 0 } { }
+ #1 \q_recursion_tail \q_recursion_stop
+ }
+\cs_new:Npn \@@_output_integer_loop:NnnN #1#2#3#4
+ {
+ \quark_if_recursion_tail_stop_do:Nn #4 {#3}
+ \int_compare:nNnTF { #2 + 1 } > #1
+ {
+ \@@_output_integer_loop:NnnN
+ \l_@@_group_size_int { 1 }
+ {
+ \exp_not:n {#4}
+ \@@_output_digit_separator:N \l_@@_group_separator_tl
+ #3
+ }
+ }
+ {
+ \@@_output_integer_loop:NnnN #1 { #2 + 1 }
+ { \exp_not:n {#4} #3 }
+ }
+ }
+% \end{macrocode}
+% For standard decimal grouping, no need to do any counting, just loop using
+% enough markers to find the end of the list. By passing the decimal marker,
+% it is possible not to have to use a check on the content of the rest of
+% the number. The |\use_none:n(n)| mop up the remaining |\q_nil| tokens.
+% \begin{macrocode}
+\cs_new:cpn { @@_output_decimal_3_3:n } #1
{
\@@_output_decimal_loop:NNNN \c_empty_tl
#1 \q_nil \q_nil \q_nil
@@ -3485,7 +3850,7 @@
{
\quark_if_nil:NF #2
{
- \exp_not:V #1
+ \@@_output_digit_separator:N #1
\exp_not:n {#2}
\quark_if_nil:NTF #3
{ \use_none:n }
@@ -3502,38 +3867,185 @@
}
}
% \end{macrocode}
-% Uncertainties which are directly attached are easy to deal with. For those
-% that are separated, the first step is to find if they are entirely
-% contained within the decimal part, and to pad if they are. For the case
-% where the boundary is crossed to the integer part, the correct number of
-% digit tokens need to be removed from the start of the uncertainty and
-% the split result sent to the appropriate auxiliaries.
+% The same trick for the group-of-two case, but as the first pass is already
+% done, there is not need to worry about the separator.
+% \begin{macrocode}
+\cs_new:cpn { @@_output_decimal_3_2:n } #1
+ {
+ \int_compare:nNnTF { \tl_count:n {#1} } > 2
+ { \@@_output_decimal:NNNw #1 \q_stop }
+ { \exp_not:n {#1} }
+ }
+\cs_new:Npn \@@_output_decimal:NNNw #1#2#3#4 \q_stop
+ {
+ \exp_not:n {#1#2#3}
+ \@@_output_decimal_loop:NN #4 \q_nil \q_nil
+ }
+\cs_new:Npn \@@_output_decimal_loop:NN #1#2
+ {
+ \quark_if_nil:NF #1
+ {
+ \@@_output_digit_separator:N
+ \l_@@_group_separator_tl
+ \exp_not:n {#1}
+ \quark_if_nil:NTF #2
+ { \use_none:n }
+ {
+ \exp_not:n {#2}
+ \@@_output_decimal_loop:NN
+ }
+ }
+ }
+% \end{macrocode}
+% The generic decimal separator: simply count the digits.
+% \begin{macrocode}
+\cs_new:Npn \@@_output_decimal_first:n #1
+ {
+ \@@_output_decimal_loop:NnnN \l_@@_group_first_int { 0 } { }
+ #1 \q_recursion_tail \q_recursion_stop
+ }
+\cs_new:Npn \@@_output_decimal_loop:NnnN #1#2#3#4
+ {
+ \quark_if_recursion_tail_stop_do:Nn #4 { \exp_not:n {#3} }
+ \int_compare:nNnTF { #2 + 1 } > #1
+ {
+ \exp_not:n {#3}
+ \@@_output_digit_separator:N
+ \l_@@_group_separator_tl
+ \@@_output_decimal_loop:NnnN \l_@@_group_size_int { 1 } {#4}
+ }
+ { \@@_output_decimal_loop:NnnN #1 { #2 + 1 } { #3 #4 } }
+ }
+% \end{macrocode}
+% The lead-off here is to deal with the common cases: no uncertainty at all
+% or a single uncertainty. Otherwise we have to move to a mapping.
% \begin{macrocode}
\cs_new:Npn \@@_output_uncertainty:nnn #1#2#3
{
\tl_if_blank:nTF {#1}
{ \@@_output_uncertainty_unaligned:n {#3} }
{
- \use:c { @@_output_uncert_ \tl_head:n {#1} :nnnw }
- {#2} {#3} #1
+ \cs_if_exist:cTF
+ { @@_output_uncert_ \tl_head:n {#1} :nnnn }
+ {
+ \use:c { @@_output_uncert_ \tl_head:n {#1} :nnnn }
+ {#2} {#3} #1
+ }
+ { \@@_output_uncert:nnnn {#2} {#3} #1 }
}
}
\cs_new:Npn \@@_output_uncertainty_unaligned:n #1
{ \exp_not:n { #1 #1 #1 #1 } }
-\cs_new:Npn \@@_output_uncert_S:nnnw #1#2#3#4
+% \end{macrocode}
+% For handling a list of uncertainties, we also need the descriptors. There
+% is no way to reasonably deal with alignment of an open-ended list, so
+% the treatment is as-for no uncertainty at all.
+% \begin{macrocode}
+\cs_new:Npn \@@_output_uncert:nnnn #1#2#3#4
{
- \str_if_eq:VnTF \l_@@_uncert_mode_tl { separate }
+ \exp_args:NV \@@_output_uncert:nnnnn \l_@@_uncert_desc_clist
+ {#1} {#2} {#3} {#4}
+ }
+\cs_new:Npn \@@_output_uncert:nnnnn #1#2#3#4#5
+ {
+ \@@_output_uncert_loop:nnN {#2} {#3}
+ #4 \q_recursion_tail #1 , \q_recursion_stop {#5}
+ }
+\cs_new:Npn \@@_output_uncert_loop:nnN #1#2#3
+ {
+ \quark_if_recursion_tail_stop:N #3
+ \@@_output_uncert_loop:nnNw {#1} {#2} #3
+ }
+\cs_new:Npn \@@_output_uncert_loop:nnNw
+ #1#2#3#4 \q_recursion_tail #5 , #6 \q_recursion_stop #7
+ {
+ \use:c { @@_output_uncert_ #3 _loop:nnn } {#1} {#2} {#7}
+ \tl_if_blank:nF {#5}
+ { \use:c { @@_output_uncert_desc_ \l_@@_uncert_desc_mode_tl :n } {#5} }
+ \@@_output_uncert_loop:nnN {#1} {#2} #4
+ \q_recursion_tail #6 , \q_recursion_stop
+ }
+\cs_new:Npn \@@_output_uncert_desc_bracket:n #1
+ {
+ \exp_not:V \l_@@_bracket_open_tl
+ \exp_not:V \l_siunitx_unit_font_tl
+ { \exp_not:n {#1} }
+ \exp_not:V \l_@@_bracket_close_tl
+ }
+\cs_new:cpn { @@_output_uncert_desc_bracket-separator:n } #1
+ {
+ \exp_not:V \l_@@_uncert_desc_separator_tl
+ \exp_not:V \l_@@_bracket_open_tl
+ \exp_not:V \l_siunitx_unit_font_tl
+ { \exp_not:n {#1} }
+ \exp_not:V \l_@@_bracket_close_tl
+ }
+\cs_new:Npn \@@_output_uncert_desc_separator:n #1
+ {
+ \exp_not:V \l_@@_uncert_desc_separator_tl
+ \exp_not:V \l_siunitx_unit_font_tl
+ { \exp_not:n {#1} }
+ }
+\cs_new:Npx \@@_output_uncert_desc_subscript:n #1
+ {
+ \char_generate:nn { `\_ } { 8 }
{
- \exp_not:n {#2}
- \bool_if:NTF \l_@@_tight_bool
- { \mathord }
- { \use:n }
- { \exp_not:n { \pm } }
- \exp_not:n {#2}
- \@@_output_uncert_S_aux:nnn
- { \int_eval:n { \tl_count:n {#4} - \tl_count:n {#1} } }
- {#4} {#2}
+ \exp_not:N \exp_not:V \exp_not:N \l_siunitx_unit_font_tl
+ { \exp_not:N \exp_not:n {#1} }
}
+ }
+% \end{macrocode}
+% Here, we have to tidy up so the alignment point only applies to the first
+% |S|-type uncertainty.
+% \begin{macrocode}
+\cs_new:Npn \@@_output_uncert_A_loop:nnn #1#2#3
+ { \@@_output_uncert_A_multi:nnnn {#1} {#2} { A } {#3} }
+\cs_new:Npn \@@_output_uncert_S_loop:nnn #1#2#3
+ {
+ \@@_output_uncert_S_multi:nnnn {#1} {#2} { S } {#3}
+ \@@_output_uncert_S_loop:w
+ }
+\cs_new:Npn \@@_output_uncert_S_loop:w #1 \@@_output_uncert_loop:nnN #2#3
+ {
+ #1
+ \@@_output_uncert_loop:nnN {#2} { }
+ }
+% \end{macrocode}
+% Printing an asymmetrical uncertainty is more straight-forward as they are
+% always given in a single format. The only issue is handling the catcode.
+% \begin{macrocode}
+\cs_new:Npn \@@_output_uncert_A:nnnn #1#2#3#4
+ { \@@_output_uncert_A:nnnnn {#1} {#2} {#3} #4 }
+\cs_new_eq:NN \@@_output_uncert_A_multi:nnnn
+ \@@_output_uncert_A:nnnn
+\cs_new:Npx \@@_output_uncert_A:nnnnn #1#2#3#4#5
+ {
+ ^
+ {
+ +
+ \exp_not:N \@@_output_uncert_augment:nnnn
+ {#4} {#1} {#4} {#2}
+ }
+ \char_generate:nn { `\_ } { 8 }
+ {
+ -
+ \exp_not:N \@@_output_uncert_augment:nnnn
+ {#5} {#1} {#5} {#2}
+ }
+ \exp_not:N \@@_output_uncertainty_unaligned:n {#2}
+ }
+% \end{macrocode}
+% Uncertainties which are directly attached are easy to deal with. For those
+% that are separated, the first step is to find if they are entirely
+% contained within the decimal part, and to pad if they are. For the case
+% where the boundary is crossed to the integer part, the correct number of
+% digit tokens need to be removed from the start of the uncertainty and
+% the split result sent to the appropriate auxiliaries.
+% \begin{macrocode}
+\cs_new:Npn \@@_output_uncert_S:nnnn #1#2#3#4
+ {
+ \str_if_eq:VnTF \l_@@_uncert_mode_tl { separate }
+ { \@@_output_uncert_S_sep:nnnn {#1} {#2} {#3} {#4} }
{
\exp_not:V \l_@@_uncert_separator_tl
\exp_not:V \l_@@_output_uncert_open_tl
@@ -3542,11 +4054,51 @@
\@@_output_uncertainty_unaligned:n {#2}
}
}
-\cs_new:Npn \@@_output_uncert_S_aux:nnn #1#2#3
+\cs_new:Npn \@@_output_uncert_S_sep:nnnn #1#2#3#4
+ {
+ \exp_not:n {#2}
+ \bool_if:NTF \l_@@_tight_bool
+ { \mathord }
+ { \use:n }
+ { \exp_not:n { \pm } }
+ \exp_not:n {#2}
+ \@@_output_uncert_augment:nnnn {#4} {#1} {#4} {#2}
+ }
+\cs_new_eq:NN \@@_output_uncert_S_multi:nnnn
+ \@@_output_uncert_S_sep:nnnn
+% \end{macrocode}
+% Handle the content of brackets: the only complex case is the
+% mixed situation.
+% \begin{macrocode}
+\cs_new:Npn \@@_output_uncert_S_compact:nn #1#2
+ { \exp_not:n {#2} }
+\cs_new:cpn { @@_output_uncert_S_compact-marker:nn } #1#2
+ {
+ \bool_lazy_or:nnTF
+ { \tl_if_blank_p:n {#1} }
+ { ! \int_compare_p:nNn { \tl_count:n {#2} } > { \tl_count:n {#1} } }
+ { \@@_output_uncert_S_compact:nn }
+ { \@@_output_uncert_S_full:nn }
+ {#1} {#2}
+ }
+\cs_new:Npn \@@_output_uncert_S_full:nn #1#2
+ {
+ \@@_output_uncert_augment:nnnn {#2} {#1} {#2} { }
+ }
+% \end{macrocode}
+% Convert the internal (short) form of an uncertainty to the longer form.
+% \begin{macrocode}
+\cs_new:Npn \@@_output_uncert_augment:nnnn #1#2#3#4
+ {
+ \exp_args:Nf \@@_output_uncert_augment:nnn
+ { \int_eval:n { \tl_count:n {#1} - \tl_count:n {#2} } }
+ {#3} {#4}
+ }
+\cs_new:Npn \@@_output_uncert_augment:nnn #1#2#3
{
\int_compare:nNnTF {#1} > 0
{
- \@@_output_uncert_S_aux:fnnw
+ \@@_output_uncert_augment:fnnw
{ \int_eval:n { #1 - 1 } }
{#3}
{ }
@@ -3562,49 +4114,27 @@
{#3}
}
}
-\cs_generate_variant:Nn \@@_output_uncert_S_aux:nnn { f }
-\cs_new:Npn \@@_output_uncert_S_aux:nnnw #1#2#3#4
+\cs_new:Npn \@@_output_uncert_augment:nnnw #1#2#3#4
{
\quark_if_nil:NF #4
{
\int_compare:nNnTF {#1} = 0
- { \@@_output_uncert_S_aux:nnw {#3#4} {#2} }
+ { \@@_output_uncert_augment:nnw {#3#4} {#2} }
{
- \@@_output_uncert_S_aux:fnnw
+ \@@_output_uncert_augment:fnnw
{ \int_eval:n { #1 - 1 } }
{#2}
{#3#4}
}
}
}
-\cs_generate_variant:Nn \@@_output_uncert_S_aux:nnnw { f }
-\cs_new:Npn \@@_output_uncert_S_aux:nnw #1#2#3 \q_nil
+\cs_generate_variant:Nn \@@_output_uncert_augment:nnnw { f }
+\cs_new:Npn \@@_output_uncert_augment:nnw #1#2#3 \q_nil
{
\@@_output_digits:nn { integer } {#1}
\@@_output_decimal:nn {#3} {#2}
}
% \end{macrocode}
-% Handle the content of brackets: the only complex case is the
-% mixed situation.
-% \begin{macrocode}
-\cs_new:Npn \@@_output_uncert_S_compact:nn #1#2
- { \exp_not:n {#2} }
-\cs_new:cpn { @@_output_uncert_S_compact-marker:nn } #1#2
- {
- \bool_lazy_or:nnTF
- { \tl_if_blank_p:n {#1} }
- { ! \int_compare_p:nNn { \tl_count:n {#2} } > { \tl_count:n {#1} } }
- { \@@_output_uncert_S_compact:nn }
- { \@@_output_uncert_S_full:nn }
- {#1} {#2}
- }
-\cs_new:Npn \@@_output_uncert_S_full:nn #1#2
- {
- \@@_output_uncert_S_aux:fnn
- { \int_eval:n { \tl_count:n {#2} - \tl_count:n {#1} } }
- {#2} { }
- }
-% \end{macrocode}
% Setting the exponent part requires some information about the mantissa:
% was it there or not. This means that whilst only the sign and value for
% the exponent are typeset here, there is a need to also have access to the
@@ -3707,6 +4237,24 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
%
% \subsection{Miscellaneous tools}
%
@@ -3820,51 +4368,61 @@
% \begin{macrocode}
\keys_set:nn { siunitx }
{
- bracket-ambiguous-numbers = true ,
- bracket-negative-numbers = false ,
- drop-exponent = false ,
- drop-uncertainty = false ,
- drop-zero-decimal = false ,
- evaluate-expression = false ,
- exponent-base = 10 ,
- exponent-mode = input ,
- exponent-product = \times ,
- expression = #1 ,
- fixed-exponent = 0 ,
- group-digits = all ,
- group-minimum-digits = 5 ,
- group-separator = \, , % (
- input-close-uncertainty = ) ,
- input-comparators = { <=>\approx\ge\geq\gg\le\leq\ll\sim } ,
- input-decimal-markers = { ., } ,
- input-digits = 0123456789 ,
- input-exponent-markers = dDeE ,
- input-ignore = \, ,
- input-open-uncertainty = ( , % )
- input-signs = +-\mp\pm ,
- input-uncertainty-signs = \pm ,
- minimum-decimal-digits = 0 ,
- minimum-integer-digits = 0 ,
- negative-color = , % (
- output-close-uncertainty = ) ,
- output-decimal-marker = . ,
- output-open-uncertainty = ( , % )
- parse-numbers = true ,
- print-implicit-plus = false ,
- print-unity-mantissa = true ,
- print-zero-exponent = false ,
- print-zero-integer = true ,
- retain-explicit-decimal-marker = false ,
- retain-explicit-plus = false ,
- retain-zero-uncertainty = false ,
- round-half = up ,
- round-minimum = 0 ,
- round-mode = none ,
- round-pad = true ,
- round-precision = 2 ,
- tight-spacing = false ,
- uncertainty-mode = compact ,
- uncertainty-separator =
+ bracket-ambiguous-numbers = true ,
+ bracket-negative-numbers = false ,
+ drop-exponent = false ,
+ drop-uncertainty = false ,
+ drop-zero-decimal = false ,
+ evaluate-expression = false ,
+ exponent-base = 10 ,
+ exponent-mode = input ,
+ exponent-product = \times ,
+ expression = #1 ,
+ fixed-exponent = 0 ,
+ digit-group-size = 3 ,
+ digit-group-first-size = 3 ,
+ digit-group-other-size = 3 ,
+ group-digits = all ,
+ group-minimum-digits = 5 ,
+ group-separator = \, , % (
+ input-close-uncertainty = ) ,
+ input-comparators = { <=>\approx\ge\geq\gg\le\leq\ll\sim } ,
+ input-decimal-markers = { ., } ,
+ input-digits = 0123456789 ,
+ input-exponent-markers = dDeE ,
+ input-ignore = \, ,
+ input-open-uncertainty = ( , % )
+ input-signs = +-\mp\pm ,
+ input-uncertainty-signs = \pm ,
+ minimum-decimal-digits = 0 ,
+ minimum-integer-digits = 0 ,
+ negative-color = , % (
+ output-close-uncertainty = ) ,
+ output-decimal-marker = . ,
+ output-open-uncertainty = ( , % )
+ parse-numbers = true ,
+ print-implicit-plus = false ,
+ print-unity-mantissa = true ,
+ print-zero-exponent = false ,
+ print-zero-integer = true ,
+ retain-explicit-decimal-marker = false ,
+ retain-explicit-plus = false ,
+ retain-negative-zero = false ,
+ retain-zero-uncertainty = false ,
+ round-half = up ,
+ round-minimum = 0 ,
+ round-mode = none ,
+ round-pad = true ,
+ round-precision = 2 ,
+ round-zero-positive = true ,
+ tight-spacing = false ,
+ uncertainty-descriptor-mode = bracket-separator ,
+ uncertainty-descriptor-separator = \ ,
+ uncertainty-descriptors = ,
+ uncertainty-mode = compact ,
+ uncertainty-separator = ,
+ zero-decimal-as-symbol = false ,
+ zero-symbol = \mbox { --- }
}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx-print.dtx b/macros/latex/contrib/siunitx/siunitx-print.dtx
index cb63a0e325..0a7348ee66 100644
--- a/macros/latex/contrib/siunitx/siunitx-print.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-print.dtx
@@ -241,6 +241,16 @@
% The mappings between text and math weight are set . The standard setting is |false|.
% \end{function}
%
+% \begin{function}{text-subscript-command, text-superscript-command}
+% \begin{syntax}
+% |text-subscript-command| = \meta{cmd}
+% |text-superscript-command| = \meta{cmd}
+% \end{syntax}
+% Sets the command used when printing material in sub- or superscript
+% positions in text mode. The standard settings are \cs{textsubscript}
+% and \cs{textsuperscript}, respectively.
+% \end{function}
+%
% \begin{function}{unit-color}
% \begin{syntax}
% |unit-color| = \meta{color}
@@ -345,6 +355,8 @@
% \l_@@_math_version_bool ,
% \l_@@_math_family_bool ,
% \l_@@_text_font_tl ,
+% \l_@@_text_sub_tl ,
+% \l_@@_text_super_tl ,
% \l_@@_math_series_bool
% }
% Options which apply to the main formatting routine, and so are not tied
@@ -380,6 +392,10 @@
\l_@@_math_family_bool ,
text-font-command .tl_set:N =
\l_@@_text_font_tl ,
+ text-subscript-command .tl_set:N =
+ \l_@@_text_sub_tl ,
+ text-superscript-command .tl_set:N =
+ \l_@@_text_super_tl ,
text-series-to-math .bool_set:N =
\l_@@_math_series_bool ,
unit-color .tl_set:N =
@@ -797,7 +813,7 @@
% \begin{macro}{\@@_text_replace:Nnnn}
% \begin{macro}{\@@_text_replace_frac:n}
% \begin{macro}{\@@_text_sub:n, \@@_text_super:n}
-% \begin{macro}{\@@_text_scripts:NnN}
+% \begin{macro}{\@@_text_scripts:nnN}
% \begin{macro}{\@@_text_scripts:}
% \begin{macro}{\@@_text_scripts_one:NnN}
% \begin{macro}{\@@_text_scripts_two:NnNn}
@@ -844,18 +860,29 @@
\tl_set:Nn \l_@@_tmp_tl {#1}
\tl_if_empty:NF \l_@@_tmp_tl
{
- \tl_if_empty:NF \l_siunitx_unit_font_tl
- { \exp_after:wN \cs_set_eq:NN \l_siunitx_unit_font_tl \use:n }
- \cs_set:Npn \mathord ##1
- { \@@_text_replace_first:N ##1 }
- \cs_set:Npn \pm { \: \exp_not:N \textpm \: }
- \tl_map_inline:nn
- { \mp \ge \le \gg \ll }
- { \cs_set:Npn ##1 { \exp_not:N \ensuremath { \exp_not:N ##1 } } }
- \cs_set:Npn \cdot { \: \exp_not:N \textperiodcentered \: }
- \cs_set:Npn \times { \: \exp_not:N \texttimes \: }
- \protected@edef \l_@@_tmp_tl
- { \exp_after:wN \@@_text_replace_first:N \l_@@_tmp_tl }
+ \tl_if_empty:NF \l_siunitx_unit_font_tl
+ { \exp_after:wN \cs_set_eq:NN \l_siunitx_unit_font_tl \use:n }
+ \cs_set:Npn \mathord ##1
+ { \@@_text_replace_first:N ##1 }
+ \group_begin:
+ \cs_set:Npn \pm { \: \exp_not:N \textpm \: }
+ \tl_map_inline:nn
+ { \mp \ge \le \gg \ll \angle }
+ {
+ \cs_set:Npn ##1
+ { \exp_not:N \ensuremath { \exp_not:N ##1 } }
+ }
+ \cs_set:Npn \cdot { \: \exp_not:N \textperiodcentered \: }
+ \cs_set:Npn \sqrt ##1
+ {
+ \exp_not:N \ensuremath
+ { \exp_not:N \sqrt { \exp_not:N \text {##1} } }
+ }
+ \cs_set:Npn \times { \: \exp_not:N \texttimes \: }
+ \protected@edef \l_@@_tmp_tl
+ { \exp_after:wN \@@_text_replace_first:N \l_@@_tmp_tl }
+ \exp_args:NNNV \group_end:
+ \tl_set:Nn \l_@@_tmp_tl \l_@@_tmp_tl
\@@_text_replace:N \l_@@_tmp_tl
\@@_text_replace_aux:n { \tl_use:N \l_@@_tmp_tl }
}
@@ -935,15 +962,15 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_text_sub:n #1
{
- \@@_text_scripts:NnN
- \textsubscript {#1} \@@_text_super:n
+ \@@_text_scripts:VnN
+ \l_@@_text_sub_tl {#1} \@@_text_super:n
}
\cs_new_protected:Npn \@@_text_super:n #1
{
- \@@_text_scripts:NnN
- \textsuperscript {#1} \@@_text_sub:n
+ \@@_text_scripts:VnN
+ \l_@@_text_super_tl {#1} \@@_text_sub:n
}
-\cs_new_protected:Npn \@@_text_scripts:NnN #1#2#3
+\cs_new_protected:Npn \@@_text_scripts:nnN #1#2#3
{
\cs_set_protected:Npn \@@_text_scripts:
{
@@ -956,6 +983,7 @@
}
\peek_after:Nw \@@_text_scripts:
}
+\cs_generate_variant:Nn \@@_text_scripts:nnN { V }
\cs_new_protected:Npn \@@_text_scripts: { }
% \end{macrocode}
% In the simple case of one script item, we have to do a search-and-replace
@@ -1039,20 +1067,22 @@
% \begin{macrocode}
\keys_set:nn { siunitx }
{
- color = ,
- mode = math ,
- number-color = ,
- number-mode = math ,
- propagate-math-font = false ,
- reset-math-version = true ,
- reset-text-shape = true ,
- reset-text-series = true ,
- reset-text-family = true ,
- text-family-to-math = false ,
- text-font-command = ,
- text-series-to-math = false ,
- unit-color = ,
- unit-mode = math
+ color = ,
+ mode = math ,
+ number-color = ,
+ number-mode = math ,
+ propagate-math-font = false ,
+ reset-math-version = true ,
+ reset-text-shape = true ,
+ reset-text-series = true ,
+ reset-text-family = true ,
+ text-family-to-math = false ,
+ text-font-command = ,
+ text-subscript-command = \textsubscript ,
+ text-superscript-command = \textsuperscript ,
+ text-series-to-math = false ,
+ unit-color = ,
+ unit-mode = math
}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx-quantity.dtx b/macros/latex/contrib/siunitx/siunitx-quantity.dtx
index e4dc93200e..4c311d5d08 100644
--- a/macros/latex/contrib/siunitx/siunitx-quantity.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-quantity.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% File: siunitx-quantity.dtx Copyright (C) 2018-2021 Joseph Wright
+% File: siunitx-quantity.dtx Copyright (C) 2018-2022 Joseph Wright
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -151,7 +151,7 @@
% \begin{variable}{\l_@@_tmp_fp, \l_@@_tmp_tl}
% Scratch space.
% \begin{macrocode}
-\tl_new:N \l_@@_tmp_fp
+\fp_new:N \l_@@_tmp_fp
\tl_new:N \l_@@_tmp_tl
% \end{macrocode}
% \end{variable}
diff --git a/macros/latex/contrib/siunitx/siunitx-unit.dtx b/macros/latex/contrib/siunitx/siunitx-unit.dtx
index cc3b5a2b41..7147db4275 100644
--- a/macros/latex/contrib/siunitx/siunitx-unit.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-unit.dtx
@@ -33,7 +33,7 @@
\textsc
{
\exp_args:NV \tl_if_head_eq_charcode:nNTF \f@series { m }
- { \tl_lower_case:n }
+ { \text_lowercase:n }
{ \use:n }
{#1}
}
@@ -74,7 +74,7 @@
% \begin{documentation}
%
% This submodule is dedicated to formatting physical units. The main function,
-% \cs{siunitx_unit_format:nN}, takes user input specify physical units and
+% \cs{siunitx_unit_format:nN}, takes user input specifying physical units and
% converts it into a formatted token list suitable for typesetting in math
% mode. While the formatter will deal correctly with \enquote{literal} user
% input, the key strength of the module is providing a method to describe
@@ -84,15 +84,15 @@
%
% A small number of \LaTeXe{} math mode commands are assumed to be available
% as part of the formatted output. The \cs{mathchoice} command
-% (normally the \TeX{} primitive) is needed when using
-% |per-mode = symbol-or-fraction|. The commands \cs{frac}, \cs{mathrm},
+% (normally the \TeX{} primitive) is needed when using different settings
+% for inline and siplay |per-mode|. The commands \cs{frac}, \cs{mathrm},
% \cs{mbox}, \verb*|\ | and \cs{,} are used by the standard module settings.
% For the display of colored (highlighted) and cancelled units, the commands
% \cs{textcolor} and \cs{cancel} are assumed to be available.
%
% \section{Formatting units}
%
-% \begin{function}{\siunitx_unit_format:nN, \siunitx_unit_format:xN}
+% \begin{function}{\siunitx_unit_format:nN}
% \begin{syntax}
% \cs{siunitx_unit_format:nN} \Arg{units} \meta{tl~var}
% \end{syntax}
@@ -552,8 +552,7 @@
% \end{syntax}
% Switch to determine whether brackets are added to the denominator part of
% a unit when printed using inline fractional form (with |per-mode| as
-% |repeated-symbol|, |symbol| or |symbol-or-fraction|). The standard setting
-% is |true|.
+% |repeated-symbol| or |symbol|). The standard setting is |true|.
% \end{function}
%
% \begin{function}{extract-mass-in-kilograms}
@@ -596,14 +595,14 @@
% mode is used directly. The standard setting is |true|.
% \end{function}
%
-% \begin{function}{per-mode}
+% \begin{function}{per-mode, inline-per-mode, display-per-mode}
% \begin{syntax}
-% |per-mode| = |fraction|\verb"|"|power|\verb"|"|power-positive-first|\verb"|"|repeated-symbol|\verb"|"|symbol|\verb"|"|symbol-or-fraction|
+% |per-mode| = |fraction|\verb"|"|power|\verb"|"|power-positive-first|\verb"|"|repeated-symbol|\verb"|"|single-symbol|\verb"|"|symbol|
% \end{syntax}
% Selects how the negative powers (\cs{per}) are formatted: a choice from
% the options |fraction|, |power|, |power-positive-first|, |repeated-symbol|,
-% |symbol| and |symbol-or-fraction|. The option |fraction| generates
-% fractional output when appropriate using the command specified by
+% |single-symbol| and |symbol|. The option |fraction|
+% generates fractional output when appropriate using the command specified by
% the |fraction-command| option. The setting |power| uses reciprocal powers
% leaving the units in the order of input, while |power-positive-first| uses
% the same display format but sorts units such that the positive powers
@@ -611,9 +610,14 @@
% by |per-symbol|) between positive and negative powers, while
% |repeated-symbol| uses the same symbol but places it before \emph{every}
% unit with a negative power (this is mathematically \enquote{wrong} but
-% often seen in real work). Finally, |symbol-or-fraction| acts like
-% |symbol| for inline output and like |fraction| when the output is used
-% in a display math environment. The standard setting is |power|.
+% often seen in real work). The option |single-symbol| will use a symbol if
+% exactly one is required (\foreign{i.e.}~with a single negative power), and
+% will otherwise use powers. The standard setting is |power|.
+%
+% The |inline-...| and |display-...| settings take the same options and work
+% in exactly the same way, but are restricted in where they apply. The
+% |display| version only applies in display math contexts, and the |inline|
+% version applies in all others.
% \end{function}
%
% \begin{function}{per-symbol}
@@ -621,8 +625,25 @@
% |per-symbol| = \meta{symbol}
% \end{syntax}
% Specifies the symbol to be used to denote negative powers when the option
-% |per-mode| is set to |repeated-symbol|, |symbol| or |symbol-or-fraction|.
-% The standard setting is |/|.
+% |per-mode| is set to |repeated-symbol| or |symbol|. The standard setting
+% is |/|.
+% \end{function}
+%
+% \begin{function}{per-symbol-script-correction}
+% \begin{syntax}
+% |per-symbol-script-correction| = \meta{insert}
+% \end{syntax}
+% Specifies the tokens used to correct spacing when the symbol set by
+% |per-symbol| is immediately preceded by a superscript power. The
+% standard setting is |\!|.
+% \end{function}
+%
+% \begin{function}{power-half-as-sqrt}
+% \begin{syntax}
+% |power-half-as-sqrt| = |true|\verb"|"|false|
+% \end{syntax}
+% Used to determine whether a power of exactly half is converted to
+% \cs{sqrt} in the output. The standard setting is |false|
% \end{function}
%
% \begin{function}{qualifier-mode}
@@ -692,11 +713,13 @@
\cs_generate_variant:Nn \tl_replace_all:Nnn { NnV }
% \end{macrocode}
%
+% \begin{variable}{\l_@@_tmp_bool}
% \begin{variable}{\l_@@_tmp_fp}
% \begin{variable}{\l_@@_tmp_int}
% \begin{variable}{\l_@@_tmp_tl}
% Scratch space.
% \begin{macrocode}
+\bool_new:N \l_@@_tmp_bool
\fp_new:N \l_@@_tmp_fp
\int_new:N \l_@@_tmp_int
\tl_new:N \l_@@_tmp_tl
@@ -704,6 +727,7 @@
% \end{variable}
% \end{variable}
% \end{variable}
+% \end{variable}
%
% \begin{variable}{\c_@@_math_subscript_tl}
% Useful tokens with awkward category codes.
@@ -1120,7 +1144,7 @@
}
{
\bool_if:NTF \l_@@_forbid_literal_bool
- { \msg_error:nnn { siunitx } { unit / literal } {#1} }
+ { \msg_error:nnn { siunitx } { literal-unit } {#1} }
{ \@@_format_literal:n {#1} }
}
}
@@ -1482,7 +1506,7 @@
\prop_if_in:NVTF \l_@@_parsed_prop
\l_@@_tmp_tl
{
- \msg_error:nnxx { siunitx } { unit / duplicate-part }
+ \msg_error:nnxx { siunitx } { duplicate-part }
{ \exp_not:n {#1} } { \token_to_str:N #3 }
}
{
@@ -1530,7 +1554,7 @@
}
{
\msg_error:nnxx { siunitx }
- { unit / part-before-unit } { power } { \token_to_str:N #1 }
+ { part-before-unit } { power } { \token_to_str:N #1 }
}
}
\cs_new_protected:Npn \@@_parse_qualifier:nn #1#2
@@ -1544,7 +1568,7 @@
}
{
\msg_error:nnnn { siunitx }
- { unit / part-before-unit } { qualifier } { \token_to_str:N #1 }
+ { part-before-unit } { qualifier } { \token_to_str:N #1 }
}
}
% \end{macrocode}
@@ -1606,7 +1630,7 @@
{
\bool_set_true:N \l_@@_per_bool
\cs_set_protected:Npn \per
- { \msg_error:nn { siunitx } { unit / duplicate-sticky-per } }
+ { \msg_error:nn { siunitx } { duplicate-sticky-per } }
}
{
\@@_parse_add:nnnn
@@ -1670,7 +1694,7 @@
\tl_set:Nx \l_@@_tmp_tl
{ ##1 - \int_eval:n { \l_@@_position_int + 1 } }
\prop_if_in:NVT \l_@@_parsed_prop \l_@@_tmp_tl
- { \msg_error:nnn { siunitx } { unit / dangling-part } { ##1 } }
+ { \msg_error:nnn { siunitx } { dangling-part } { ##1 } }
}
}
% \end{macrocode}
@@ -1685,6 +1709,8 @@
% \l_@@_forbid_literal_bool ,
% \l_@@_parse_bool ,
% \l_@@_per_symbol_tl ,
+% \l_@@_per_script_tl ,
+% \l_@@_half_sqrt_bool ,
% \l_@@_qualifier_mode_tl ,
% \l_@@_qualifier_phrase_tl
% }
@@ -1694,57 +1720,40 @@
{
bracket-unit-denominator .bool_set:N =
\l_@@_denominator_bracket_bool ,
+ display-per-mode .choices:nn =
+ {
+ fraction ,
+ power ,
+ power-positive-first ,
+ repeated-symbol ,
+ symbol ,
+ single-symbol
+ }
+ { \str_set:Nn \l_@@_per_display_str {#1} } ,
forbid-literal-units .bool_set:N =
\l_@@_forbid_literal_bool ,
fraction-command .tl_set:N =
\l_siunitx_unit_fraction_tl ,
parse-units .bool_set:N =
\l_@@_parse_bool ,
- per-mode .choice: ,
- per-mode / fraction .code:n =
+ inline-per-mode .choices:nn =
{
- \bool_set_false:N \l_@@_autofrac_bool
- \bool_set_false:N \l_@@_per_symbol_bool
- \bool_set_true:N \l_@@_powers_positive_bool
- \bool_set_true:N \l_@@_two_part_bool
- } ,
- per-mode / power .code:n =
- {
- \bool_set_false:N \l_@@_autofrac_bool
- \bool_set_false:N \l_@@_per_symbol_bool
- \bool_set_false:N \l_@@_powers_positive_bool
- \bool_set_false:N \l_@@_two_part_bool
- } ,
- per-mode / power-positive-first .code:n =
- {
- \bool_set_false:N \l_@@_autofrac_bool
- \bool_set_false:N \l_@@_per_symbol_bool
- \bool_set_false:N \l_@@_powers_positive_bool
- \bool_set_true:N \l_@@_two_part_bool
- } ,
- per-mode / repeated-symbol .code:n =
- {
- \bool_set_false:N \l_@@_autofrac_bool
- \bool_set_true:N \l_@@_per_symbol_bool
- \bool_set_true:N \l_@@_powers_positive_bool
- \bool_set_false:N \l_@@_two_part_bool
- } ,
- per-mode / symbol .code:n =
- {
- \bool_set_false:N \l_@@_autofrac_bool
- \bool_set_true:N \l_@@_per_symbol_bool
- \bool_set_true:N \l_@@_powers_positive_bool
- \bool_set_true:N \l_@@_two_part_bool
- } ,
- per-mode / symbol-or-fraction .code:n =
- {
- \bool_set_true:N \l_@@_autofrac_bool
- \bool_set_true:N \l_@@_per_symbol_bool
- \bool_set_true:N \l_@@_powers_positive_bool
- \bool_set_true:N \l_@@_two_part_bool
- } ,
+ fraction ,
+ power ,
+ power-positive-first ,
+ repeated-symbol ,
+ symbol ,
+ single-symbol
+ }
+ { \str_set:Nn \l_@@_per_inline_str {#1} } ,
+ per-mode .meta:n =
+ { display-per-mode = {#1} , inline-per-mode = {#1} } ,
per-symbol .tl_set:N =
\l_@@_per_symbol_tl ,
+ per-symbol-script-correction .tl_set:N =
+ \l_@@_per_script_tl ,
+ power-half-as-sqrt .bool_set:N =
+ \l_@@_half_sqrt_bool ,
qualifier-mode .choices:nn =
{ bracket , combine , phrase , subscript }
{ \tl_set_eq:NN \l_@@_qualifier_mode_tl \l_keys_choice_tl } ,
@@ -1779,9 +1788,16 @@
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\l_@@_per_display_str, \l_@@_per_inline_str}
+% The data storage for |per-mode| settings.
+% \begin{macrocode}
+\str_new:N \l_@@_per_display_str
+\str_new:N \l_@@_per_inline_str
+% \end{macrocode}
+% \end{variable}
+%
% \begin{variable}
% {
-% \l_@@_autofrac_bool ,
% \l_@@_powers_positive_bool ,
% \l_@@_per_symbol_bool ,
% \l_@@_two_part_bool
@@ -1789,7 +1805,6 @@
% Dealing with the various ways that reciprocal (\cs{per}) can be handled
% requires a few different switches.
% \begin{macrocode}
-\bool_new:N \l_@@_autofrac_bool
\bool_new:N \l_@@_per_symbol_bool
\bool_new:N \l_@@_powers_positive_bool
\bool_new:N \l_@@_two_part_bool
@@ -1844,6 +1859,17 @@
% \end{macrocode}
% \end{variable}
%
+% \begin{variable}{\l_@@_current_script_bool, \l_@@_script_bool}
+% A pair of flags to track whether the last entry in the numerator has a
+% superscript. This is tracked to deal with spacing immediately before
+% a slash (symbol), if required. Two flags are needed as otherwise the
+% denominator interferes.
+% \begin{macrocode}
+\bool_new:N \l_@@_current_script_bool
+\bool_new:N \l_@@_script_bool
+% \end{macrocode}
+% \end{variable}
+%
% \begin{variable}{\l_@@_current_tl, \l_@@_part_tl}
% Building up the (partial) formatted unit requires some token list storage.
% Each part of the unit combination that is recovered also has to be
@@ -1873,14 +1899,42 @@
% \end{variable}
%
% \begin{macro}{\@@_format_parsed:}
-% \begin{macro}{\@@_format_parsed_aux:n}
+% \begin{macro}
+% {\@@_format_parsed:n, \@@_format_parsed:V, \@@_format_parsed_aux:n}
% The main formatting routine is essentially a loop over each position,
% reading the various parts of the unit to build up complete unit
-% combination.
+% combination. When the two types of output need to be different, the
+% formatter has to be run twice.
% \begin{macrocode}
\cs_new_protected:Npn \@@_format_parsed:
{
+ \str_if_eq:NNTF
+ \l_@@_per_inline_str
+ \l_@@_per_display_str
+ { \@@_format_parsed:V \l_@@_per_inline_str }
+ {
+ \group_begin:
+ \@@_format_parsed:V \l_@@_per_inline_str
+ \exp_args:NNNV \group_end:
+ \tl_set:Nn \l_@@_tmp_tl \l_@@_formatted_tl
+ \group_begin:
+ \@@_format_parsed:V \l_@@_per_display_str
+ \exp_args:NNNV \group_end:
+ \tl_set:Nn \l_@@_formatted_tl \l_@@_formatted_tl
+ \tl_set:Nx \l_@@_formatted_tl
+ {
+ \mathchoice
+ { \exp_not:V \l_@@_formatted_tl }
+ { \exp_not:V \l_@@_tmp_tl }
+ { \exp_not:V \l_@@_tmp_tl }
+ { \exp_not:V \l_@@_tmp_tl }
+ }
+ }
+ }
+\cs_new_protected:Npn \@@_format_parsed:n #1
+ {
\int_set_eq:NN \l_@@_total_int \l_@@_position_int
+ \use:c { @@_format_init_ #1 : }
\tl_clear:N \l_@@_denominator_tl
\tl_clear:N \l_@@_formatted_tl
\fp_zero:N \l_@@_prefix_fp
@@ -1897,6 +1951,7 @@
\l_@@_position_int < \l_@@_total_int
{
\bool_set_false:N \l_@@_bracket_bool
+ \bool_set_false:N \l_@@_current_script_bool
\tl_clear:N \l_@@_current_tl
\bool_set_false:N \l_@@_font_bool
\bool_set_true:N \l_@@_numerator_bool
@@ -1907,6 +1962,7 @@
}
\@@_format_finalise:
}
+\cs_generate_variant:Nn \@@_format_parsed:n { V }
\cs_new_protected:Npn \@@_format_parsed_aux:n #1
{
\tl_set:Nx \l_@@_tmp_tl
@@ -1919,6 +1975,55 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}
+% {
+% \@@_format_init_fracton: ,
+% \@@_format_init_power: ,
+% \@@_format_init_power-positive-first: ,
+% \@@_format_init_repeated-symbol: ,
+% \@@_format_init_symbol: ,
+% \@@_format_init_single-symbol: ,
+% }
+% To set up the various versions of |per-mode|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_format_init_fraction:
+ {
+ \bool_set_false:N \l_@@_per_symbol_bool
+ \bool_set_true:N \l_@@_powers_positive_bool
+ \bool_set_true:N \l_@@_two_part_bool
+ }
+\cs_new_protected:Npn \@@_format_init_power:
+ {
+ \bool_set_false:N \l_@@_per_symbol_bool
+ \bool_set_false:N \l_@@_powers_positive_bool
+ \bool_set_false:N \l_@@_two_part_bool
+ }
+\cs_new_protected:cpn { @@_format_init_power-positive-first: }
+ {
+ \bool_set_false:N \l_@@_per_symbol_bool
+ \bool_set_false:N \l_@@_powers_positive_bool
+ \bool_set_true:N \l_@@_two_part_bool
+ }
+\cs_new_protected:cpn { @@_format_init_repeated-symbol: }
+ {
+ \bool_set_true:N \l_@@_per_symbol_bool
+ \bool_set_true:N \l_@@_powers_positive_bool
+ \bool_set_false:N \l_@@_two_part_bool
+ }
+\cs_new_protected:Npn \@@_format_init_symbol:
+ {
+ \bool_set_true:N \l_@@_per_symbol_bool
+ \bool_set_true:N \l_@@_powers_positive_bool
+ \bool_set_true:N \l_@@_two_part_bool
+ }
+\cs_new_protected:cpn { @@_format_init_single-symbol: }
+ {
+ \@@_format_init_power:
+ \@@_format_symbol_or_power:
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\@@_format_combine_exp:}
% To combine an exponent into the first prefix, we first adjust for any
% power, then deal with any existing prefix, before looking up the
@@ -1936,7 +2041,7 @@
\l_@@_tmp_tl \l_@@_tmp_tl
{
\prop_get:NnN \l_@@_parsed_prop { prefix-1 } \l_@@_tmp_tl
- \msg_error:nnx { siunitx } { unit / non-numeric-exponent }
+ \msg_error:nnx { siunitx } { non-numeric-exponent }
{ \l_@@_tmp_tl }
\tl_set:Nn \l_@@_tmp_tl { 0 }
}
@@ -1951,7 +2056,7 @@
\l_@@_tmp_tl \l_@@_tmp_tl
{ \prop_put:NnV \l_@@_parsed_prop { prefix-1 } \l_@@_tmp_tl }
{
- \msg_error:nnx { siunitx } { unit / non-convertible-exponent }
+ \msg_error:nnx { siunitx } { non-convertible-exponent }
{ \l_@@_tmp_tl }
}
}
@@ -2015,6 +2120,36 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_format_symbol_or_power:}
+% Check if there is exactly one negative power align with at least one
+% positive one. Assuming there is, flip from (effectively) |power| to
+% |symbol|.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_format_symbol_or_power:
+ {
+ \int_compare:nNnT \l_@@_total_int > 1
+ {
+ \bool_set_false:N \l_@@_tmp_bool
+ \int_step_inline:nn \l_@@_total_int
+ {
+ \prop_get:NnNT \l_@@_parsed_prop { power- ##1 }
+ \l_@@_tmp_tl
+ {
+ \int_compare:nNnT \l_@@_tmp_tl < 0
+ {
+ \bool_if:NTF \l_@@_tmp_bool
+ { \bool_set_false:N \l_@@_tmp_bool }
+ { \bool_set_true:N \l_@@_tmp_bool }
+ }
+ }
+ }
+ \bool_if:NT \l_@@_tmp_bool
+ { \@@_format_init_symbol: }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}[EXP]{\@@_format_bracket:N}
% A quick utility function which wraps up a token list variable in brackets
% if they are required.
@@ -2033,7 +2168,7 @@
% \end{macro}
%
% \begin{macro}{\@@_format_power:}
-% \begin{macro}[EXP]{\@@_format_power_aux:wTF}
+% \begin{macro}[EXP]{\@@_format_power_aux:w}
% \begin{macro}
% {
% \@@_format_power_positive: ,
@@ -2049,16 +2184,17 @@
\cs_new_protected:Npn \@@_format_power:
{
\@@_format_font:
- \exp_after:wN \@@_format_power_aux:wTF
+ \exp_after:wN \@@_format_power_aux:w
\l_@@_part_tl - \q_stop
{ \@@_format_power_negative: }
{ \@@_format_power_positive: }
}
-\cs_new:Npn \@@_format_power_aux:wTF #1 - #2 \q_stop
+\cs_new:Npn \@@_format_power_aux:w #1 - #2 \q_stop
{ \tl_if_empty:nTF {#1} }
% \end{macrocode}
% In the case of positive powers, there is little to do: add the power
-% as a subscript (must be required as the parser ensures it's $\neq 1$).
+% as a superscript (the parser ensures that this is $\neq 1$, so we do not
+% need a test here).
% \begin{macrocode}
\cs_new_protected:Npn \@@_format_power_positive:
{ \@@_format_power_superscript: }
@@ -2088,14 +2224,24 @@
{ \exp_not:n {#1} }
% \end{macrocode}
% Adding the power as a superscript has the slight complication that there
-% is the possibility of needing some brackets. The superscript itself uses
-% \cs{sp} as that avoids any category code issues and also allows redirection
-% at a higher level more readily.
+% is the possibility of needing some brackets.
% \begin{macrocode}
\cs_new_protected:Npn \@@_format_power_superscript:
{
- \exp_after:wN \@@_format_power_superscipt:w
- \l_@@_part_tl . . \q_stop
+ \bool_lazy_and:nnTF
+ { \l_@@_half_sqrt_bool }
+ { \str_if_eq_p:Vn \l_@@_part_tl { 0.5 } }
+ {
+ \tl_set:Nx \l_@@_current_tl
+ {
+ \exp_not:N \sqrt
+ { \exp_not:V \l_@@_current_tl }
+ }
+ }
+ {
+ \exp_after:wN \@@_format_power_superscipt:w
+ \l_@@_part_tl . . \q_stop
+ }
}
\cs_new_protected:Npn \@@_format_power_superscipt:w #1 . #2 . #3 \q_stop
{
@@ -2123,8 +2269,9 @@
{
\@@_format_bracket:N \l_@@_current_tl
^ { \siunitx_number_output:N \l_@@_tmp_tl }
- }
+ }
}
+ \bool_set_true:N \l_@@_current_script_bool
\bool_set_false:N \l_@@_bracket_bool
}
% \end{macrocode}
@@ -2210,6 +2357,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_format_qualifier:
{
+ \bool_set_false:N \l_@@_current_script_bool
\use:c
{
@@_format_qualifier_
@@ -2318,6 +2466,8 @@
}
\cs_new_protected:Npn \@@_format_output_aux:
{
+ \bool_set_eq:NN \l_@@_script_bool
+ \l_@@_current_script_bool
\@@_format_output_aux:nV { formatted }
\l_@@_product_tl
}
@@ -2427,36 +2577,9 @@
{
\tl_if_empty:NT \l_@@_formatted_tl
{ \tl_set:Nn \l_@@_formatted_tl { 1 } }
- \bool_if:NTF \l_@@_autofrac_bool
- { \@@_format_finalise_autofrac: }
- {
- \bool_if:NTF \l_@@_per_symbol_bool
- { \@@_format_finalise_symbol: }
- { \@@_format_finalise_fraction: }
- }
- }
-% \end{macrocode}
-% For the \enquote{auto-selected} fraction method, the two other auxiliary
-% functions are used to do both forms of formatting. So that everything
-% required is available, this needs one group so that the second auxiliary
-% receives the correct input. After that it is just a case of applying
-% \cs{mathchoice} to the formatted output.
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_format_finalise_autofrac:
- {
- \group_begin:
- \@@_format_finalise_fraction:
- \exp_args:NNNV \group_end:
- \tl_set:Nn \l_@@_tmp_tl \l_@@_formatted_tl
- \@@_format_finalise_symbol:
- \tl_set:Nx \l_@@_formatted_tl
- {
- \mathchoice
- { \exp_not:V \l_@@_tmp_tl }
- { \exp_not:V \l_@@_formatted_tl }
- { \exp_not:V \l_@@_formatted_tl }
- { \exp_not:V \l_@@_formatted_tl }
- }
+ \bool_if:NTF \l_@@_per_symbol_bool
+ { \@@_format_finalise_symbol: }
+ { \@@_format_finalise_fraction: }
}
% \end{macrocode}
% When using a fraction function the two parts are now assembled.
@@ -2470,11 +2593,17 @@
{ \exp_not:V \l_@@_denominator_tl }
}
}
+% \end{macrocode}
+% Add the correction if required: no \cs{relax} needed as we know there is a
+% non-expandable token following.
+% \begin{macrocode}
\cs_new_protected:Npn \@@_format_finalise_symbol:
{
\tl_set:Nx \l_@@_formatted_tl
{
\exp_not:V \l_@@_formatted_tl
+ \bool_if:NT \l_@@_script_bool
+ { \exp_not:V \l_@@_per_script_tl }
\exp_not:V \l_@@_per_symbol_tl
\@@_format_bracket:N \l_@@_denominator_tl
}
@@ -2761,43 +2890,43 @@
% \subsection{Messages}
%
% \begin{macrocode}
-\msg_new:nnnn { siunitx } { unit / dangling-part }
+\msg_new:nnnn { siunitx } { dangling-part }
{ Found~#1~part~with~no~unit. }
{
Each~#1~part~must~be~associated~with~a~unit:~a~#1~part~was~found~
but~no~following~unit~was~given.
}
-\msg_new:nnnn { siunitx } { unit / duplicate-part }
+\msg_new:nnnn { siunitx } { duplicate-part }
{ Duplicate~#1~part:~#2. }
{
Each~unit~may~have~only~one~#1:\\
the~additional~#1~part~'#2'~will~be~ignored.
}
-\msg_new:nnnn { siunitx } { unit / duplicate-sticky-per }
+\msg_new:nnnn { siunitx } { duplicate-sticky-per }
{ Duplicate~\token_to_str:N \per. }
{
When~the~'sticky-per'~option~is~active,~only~one~
\token_to_str:N \per \ may~appear~in~a~unit.
}
-\msg_new:nnnn { siunitx } { unit / literal }
+\msg_new:nnnn { siunitx } { literal-unit }
{ Literal~units~disabled. }
{
You~gave~the~literal~input~'#1'~
but~literal~unit~output~is~disabled.
}
-\msg_new:nnnn { siunitx } { unit / non-convertible-exponent }
+\msg_new:nnnn { siunitx } { non-convertible-exponent }
{ Exponent~'#1'~cannot~be~converted~into~a~symbolic~prefix. }
{
The~exponent~'#1'~does~not~match~with~any~of~the~symbolic~prefixes~
set~up.
}
-\msg_new:nnnn { siunitx } { unit / non-numeric-exponent }
+\msg_new:nnnn { siunitx } { non-numeric-exponent }
{ Prefix~'#1'~does~not~have~a~numerical~value. }
{
The~prefix~'#1'~needs~to~be~combined~with~a~number,~but~it~has~no
numerical~value.
}
-\msg_new:nnnn { siunitx } { unit / part-before-unit }
+\msg_new:nnnn { siunitx } { part-before-unit }
{ Found~#1~part~before~first~unit:~#2. }
{
The~#1~part~'#2'~must~follow~after~a~unit:~
@@ -2805,6 +2934,31 @@
}
% \end{macrocode}
%
+% \subsection{Deprecated options}
+%
+% To handle |per-mode = symbol-or-fraction|, there needs to be allowance for
+% the fact that it is set up as a meta-option. That is done with appropriate
+% code here for the two newer options.
+% \begin{macrocode}
+\keys_define:nn { siunitx }
+ {
+ display-per-mode / symbol-or-fraction .code:n =
+ {
+ \msg_info:nnnn { siunitx } { option-deprecated }
+ { per-mode~=~symbol-or-fraction }
+ { display-per-mode~=~fraction,~inline-per-mode~=~symbol }
+ \str_set:Nn \l_@@_per_display_str { fraction }
+ } ,
+ inline-per-mode / symbol-or-fraction .code:n =
+ {
+ \msg_info:nnnn { siunitx } { option-deprecated }
+ { per-mode~=~symbol-or-fraction }
+ { display-per-mode~=~fraction,~inline-per-mode~=~symbol }
+ \str_set:Nn \l_@@_per_inline_str { symbol }
+ }
+ }
+% \end{macrocode}
+%
% \subsection{Standard settings for module options}
%
% Some of these follow naturally from the point of definition
@@ -2813,18 +2967,20 @@
% \begin{macrocode}
\keys_set:nn { siunitx }
{
- bracket-unit-denominator = true ,
- forbid-literal-units = false ,
- fraction-command = \frac ,
- inter-unit-product = \, ,
- extract-mass-in-kilograms = true ,
- parse-units = true ,
- per-mode = power ,
- per-symbol = / ,
- qualifier-mode = subscript ,
- qualifier-phrase = ,
- sticky-per = false ,
- unit-font-command = \mathrm
+ bracket-unit-denominator = true ,
+ forbid-literal-units = false ,
+ fraction-command = \frac ,
+ inter-unit-product = \, ,
+ extract-mass-in-kilograms = true ,
+ parse-units = true ,
+ per-mode = power ,
+ per-symbol = / ,
+ per-symbol-script-correction = \! ,
+ power-half-as-sqrt = false ,
+ qualifier-mode = subscript ,
+ qualifier-phrase = ,
+ sticky-per = false ,
+ unit-font-command = \mathrm
}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index d1de5e34da..a5219ad957 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -121,7 +121,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2022-04-04} {3.0.50}
+\ProvidesExplPackage {siunitx} {2022-04-25} {3.1.0}
{A comprehensive (SI) units package}
% \end{macrocode}
%
@@ -144,11 +144,11 @@
{ }
}
\clist_map_function:nN
- { SIunits , sistyle , unitsdef , fancyunits }
+ { SIunits , sistyle , units , unitsdef , fancyunits }
\@@_load_check:n
\AtBeginDocument
{
- \clist_map_function:nN { SIunits , sistyle }
+ \clist_map_function:nN { SIunits , sistyle , units }
\@@_load_check:n
}
% \end{macrocode}
@@ -199,6 +199,35 @@
%
% \subsection{Option handling}
%
+% Some messages.
+% \begin{macrocode}
+\msg_new:nnn { siunitx } { option-deprecated }
+ {
+ Option~"#1"~has~been~deprecated~in~this~release.\\ \\
+ Use~"#2"~as~a~replacement.
+ }
+% \end{macrocode}
+%
+% \begin{variable}{\g_@@_deprecated_seq}
+% Used to avoid repeatedly warning about deprecated options: needed at the
+% top level.
+% \begin{macrocode}
+\seq_new:N \g_@@_deprecated_seq
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{macro}{\@@_deprecated_info:nn}
+% To avoid repeated messages.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_deprecated_info:nn #1#2
+ {
+ \seq_if_in:NnF \g_@@_deprecated_seq {#1}
+ { \msg_info:nnnn { siunitx } { option-deprecated } {#1} {#2} }
+ \seq_gput_right:Nn \g_@@_deprecated_seq {#1}
+ }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
\IfFormatAtLeastTF { 2022-06-01 }
{ \ProcessKeyOptions [ siunitx ] }
@@ -266,16 +295,34 @@
%
% \begin{macro}{\qty}
% \begin{macrocode}
-\@ifpackageloaded { physics }
+\AtBeginDocument
{
- \msg_new:nnn { siunitx } { physics-pkg }
+ \@ifpackageloaded { physics }
{
- Detected~the~"physics"~package: \\
- Omitting~definition~of~\token_to_str:N \qty.
+ \msg_new:nnn { siunitx } { physics-pkg }
+ {
+ Detected~the~"physics"~package: \\
+ omitting~definition~of~\token_to_str:N \qty.
+ \\ \\
+ If~you~want~to~use~\qty with~the~siunitx~definition,~add~
+ \\ \\
+ \iow_indent:n
+ {
+ \token_to_str:N \AtBeginDocument
+ {
+ \token_to_str:N \RenewCommandCopy
+ \token_to_str:N \qty \token_to_str:N \SI
+ }
+ }
+ \\ \\
+ to~your~preamble.
+ }
+ \msg_warning:nn { siunitx } { physics-pkg }
}
- \msg_warning:nn { siunitx } { physics-pkg }
- \use_none:nnnn
+ { }
}
+\@ifpackageloaded { physics }
+ { \use_none:nnnn }
{ }
\NewDocumentCommand \qty { O { } m > { \TrimSpaces } m }
{
@@ -310,17 +357,6 @@
\siunitx_print_number:V \l_@@_tmp_tl
\group_end:
}
-\@ifpackageloaded { units }
- {
- \msg_new:nnn { siunitx } { units-pkg }
- {
- Detected~the~"units"~package: \\
- Omitting~definition~of~\token_to_str:N \unit.
- }
- \msg_warning:nn { siunitx } { units-pkg }
- \use_none:nnnn
- }
- { }
\NewDocumentCommand \unit { O { } > { \TrimSpaces } m }
{
\mode_leave_vertical:
@@ -398,21 +434,29 @@
% \begin{macro}{\complexnum, \complexqty}
% Interfaces for complex numbers.
% \begin{macrocode}
-\NewDocumentCommand \complexnum { O { } m }
+\use:e
+ {
+ \NewDocumentCommand \exp_not:N \complexnum
+ { O { } > { \SplitArgument { 1 } { \c_colon_str } } m }
+ }
{
\mode_leave_vertical:
\group_begin:
\keys_set:nn { siunitx } {#1}
- \siunitx_complex_number:n {#2} \l_@@_tmp_tl
+ \@@_complex_number_aux:nn #2
\group_end:
}
-\NewDocumentCommand \complexqty { O { } m m }
+\use:e
+ {
+ \NewDocumentCommand \exp_not:N \complexqty
+ { O { } > { \SplitArgument { 1 } { \c_colon_str } } m m }
+ }
{
\mode_leave_vertical:
\group_begin:
\siunitx_unit_options_apply:n {#3}
\keys_set:nn { siunitx } {#1}
- \siunitx_complex_quantity:nn {#2} {#3}
+ \@@_complex_quantity_aux:nnn #2 {#3}
\group_end:
}
% \end{macrocode}
@@ -461,6 +505,26 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_complex_number_aux:nn}
+% \begin{macro}{\@@_complex_quantity_aux:nnn}
+% The same idea for complex values.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_complex_number_aux:nn #1#2
+ {
+ \tl_if_novalue:nTF {#2}
+ { \siunitx_complex_number:n {#1} }
+ { \siunitx_complex_number:nn {#1} {#2} }
+ }
+\cs_new_protected:Npn \@@_complex_quantity_aux:nnn #1#2#3
+ {
+ \tl_if_novalue:nTF {#2}
+ { \siunitx_complex_quantity:nn {#1} {#3} }
+ { \siunitx_complex_quantity:nnn {#1} {#2} {#3} }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
% \subsection{Table column}
%
% User interfaces in tabular constructs are provided using the mechanisms from
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index f66535f7ea..0f234b75d9 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx.tex b/macros/latex/contrib/siunitx/siunitx.tex
index 8854ff3f75..b10016c3b4 100644
--- a/macros/latex/contrib/siunitx/siunitx.tex
+++ b/macros/latex/contrib/siunitx/siunitx.tex
@@ -46,7 +46,7 @@ for those people who are interested.
\textsc
{
\exp_args:NV \tl_if_head_eq_charcode:nNTF \f@series { m }
- { \tl_lower_case:n }
+ { \text_lowercase:n }
{ \use:n }
{#1}
}
@@ -79,7 +79,7 @@ for those people who are interested.
}
% For demos
-\usepackage[french,german,polish,spanish,UKenglish]{babel}
+\usepackage[portuguese,brazilian,catalan,french,german,polish,spanish,UKenglish]{babel}
\AtBeginDocument{\shorthandoff{:<>}}
\usepackage{translations}
\usepackage{cancel}
@@ -508,18 +508,20 @@ adjustment of the numerical values.
\cs{complexnum}\oarg{options}\marg{number}
\end{syntax}
\end{function}
-Typesets the complex number, which must be given in the form $a + b\mathrm{i}$
-or $a + \mathrm{i}b$. Processing of the numerical parts is otherwise identical
-to the standard \cs{num} command.
+Typesets the complex number, which can be given in the Cartesian form $a +
+b\mathrm{i}$ or $a + \mathrm{i}b$, or in the polar form $r$\texttt{:}$\theta$.
+Processing of the numerical parts is otherwise identical to the standard
+\cs{num} command.
\begin{function}{\complexqty}
\begin{syntax}
\cs{complexqty}\oarg{options}\marg{number}\marg{unit}
\end{syntax}
\end{function}
-Typesets the complex quantity, which must be given in the form $a + b\mathrm{i}$
-or $a + \mathrm{i}b$. Processing of the numerical parts is otherwise identical
-to the standard \cs{qty} command.
+Typesets the complex number, which can be given in the Cartesian form $a +
+b\mathrm{i}$ or $a + \mathrm{i}b$, or in the polar form $r$\texttt{:}$\theta$.
+Processing of the numerical parts is otherwise identical to the standard
+\cs{qty} command.
\subsection{The unit macros}
@@ -833,6 +835,7 @@ occur (for example with the standard \cs{pm} symbol).
\midrule
\DescribeUnit[watt]{W} \\
+ \DescribeUnit[nanowatt]{nW} \\
\DescribeUnit[microwatt]{uW} \\
\DescribeUnit[milliwatt]{mW} \\
\DescribeUnit[kilowatt]{kW} \\
@@ -861,11 +864,21 @@ occur (for example with the standard \cs{pm} symbol).
\midrule
\DescribeUnit[henry]{H} \\
+ \DescribeUnit[femtohenry]{fH} \\
+ \DescribeUnit[picohenry]{pH} \\
+ \DescribeUnit[nanohenry]{nH} \\
\DescribeUnit[millihenry]{mH} \\
\DescribeUnit[microhenry]{uH} \\
\midrule
+ \DescribeUnit[coulomb]{C} \\
+ \DescribeUnit[nanocoulomb]{nC} \\
+ \DescribeUnit[millicoulomb]{mC} \\
+ \DescribeUnit[microcoulomb]{uC} \\
+
+ \midrule
+
\DescribeUnit[kelvin]{K} \\
\midrule
@@ -1116,20 +1129,22 @@ Table~\ref{tab:opt:print}.
Type &
\multicolumn{1}{l@{}}{Default} \\
\midrule
- color & Literal & \meta{none} \\
- mode & Choice & math \\
- number-color & Literal & \meta{none} \\
- number-mode & Choice & math \\
- propagate-math-font & Switch & false \\
- reset-math-version & Switch & true \\
- reset-text-family & Switch & true \\
- reset-text-series & Switch & true \\
- reset-text-shape & Switch & true \\
- text-family-to-math & Switch & false \\
- text-font-command & Literal & \meta{none} \\
- text-series-to-math & Switch & false \\
- unit-color & Literal & \meta{none} \\
- unit-mode & Choice & math \\
+ color & Literal & \meta{none} \\
+ mode & Choice & math \\
+ number-color & Literal & \meta{none} \\
+ number-mode & Choice & math \\
+ propagate-math-font & Switch & false \\
+ reset-math-version & Switch & true \\
+ reset-text-family & Switch & true \\
+ reset-text-series & Switch & true \\
+ reset-text-shape & Switch & true \\
+ text-family-to-math & Switch & false \\
+ text-font-command & Literal & \meta{none} \\
+ text-subscript-command & Literal & \cs{textsubscript} \\
+ text-superscript-command & Literal & \cs{textsuperscript} \\
+ text-series-to-math & Switch & false \\
+ unit-color & Literal & \meta{none} \\
+ unit-mode & Choice & math \\
\bottomrule
\end{tabular}
\end{table}
@@ -1224,6 +1239,24 @@ font variant which does not feature them.
\qty{123456789}{\kilo\volt\per\centi\metre}
\end{LaTeXdemo}
+\DescribeOption{text-subscript-command}
+\DescribeOption{text-superscript-command}
+In most cases, the commands \cs{textsubscript} and \cs{textsuperscript} are
+appropriagte for creating sub- and superscript material in text mode. However,
+when the \pkg{realscripts} package is loaded, it is possible that the output is
+not as desired. These two commands are therefore available to allow tuning of
+the results. They can also be used for non-standard effects, for example as
+here adding color to subscripts.
+\begin{LaTeXdemo}
+ \sisetup{unit-mode = text}
+ \unit{\kg\of{polymer}} \\
+ \newcommand*\mysubscript[1]{%
+ \textsubscript{\textcolor{blue}{#1}}%
+ }
+ \sisetup{text-subscript-command = \mysubscript}
+ \unit{\kg\of{polymer}}
+\end{LaTeXdemo}
+
\DescribeOption{color}
\DescribeOption{number-color}
\DescribeOption{unit-color}
@@ -1272,6 +1305,7 @@ Table~\ref{tab:opt:num:in}.
parse-numbers & Switch & true \\
retain-explicit-decimal-marker & Switch & false \\
retain-explicit-plus & Switch & false \\
+ retain-negative-zero & Switch & false \\
retain-zero-uncertainty & Switch & false \\
\bottomrule
\end{tabular}
@@ -1331,6 +1365,12 @@ marker is seen in for example some \acro{NIST} publications.}
\num{123.4(12)} \\
\num{123.4(1.2)}
\end{LaTeXdemo}
+Multiple uncertainties may also be given: these must all either be in the short
+or the long form.
+\begin{LaTeXdemo}
+ \num{123.4(12)(45)} \\
+ \num{123.4 \pm 1.2 \pm 4.5}
+\end{LaTeXdemo}
\DescribeOption{parse-numbers}
The \opt{parse-numbers} option turns the entire parsing system on and off. The
@@ -1364,6 +1404,7 @@ most notably in that a decimal marker must be |.|.
\DescribeOption{retain-explicit-decimal-marker}
\DescribeOption{retain-explicit-plus}
+\DescribeOption{retain-negative-zero}
\DescribeOption{retain-zero-uncertainty}
In some areas, a trailing decimal marker with no decimal part present is used
to show that zeros in the integer part are significant. This can be enabled
@@ -1372,13 +1413,16 @@ leading plus sign is usually unnecessary for positive numbers, and so they are
not retained as-standard when parsing. The \opt{retain-explicit-plus} option is
available to control this behaviour. Similarly, an uncertainty of zero is
normally not meaningful, and so is ignored by the parser. This can be
-controlled using the
-\opt{retain-zero-uncertainty} option.
+controlled using the \opt{retain-zero-uncertainty} option. Finally, a negative
+sign for an entirely zero value may or may not have significance: this is
+controlled by the \opt{retain-negative-zero} option.
\begin{LaTeXdemo}
\num{10.} \\
\num[retain-explicit-decimal-marker]{10.} \\
\num{+345} \\
\num[retain-explicit-plus]{+345} \\
+ \num{-0} \\
+ \num[retain-negative-zero]{-0} \\
\num{12.3(0)} \\
\num[retain-zero-uncertainty]{12.3(0)}
\end{LaTeXdemo}
@@ -1409,6 +1453,7 @@ way; the options are summarised in Table~\ref{tab:opt:num:post}.
round-mode & Choice & none \\
round-pad & Switch & true \\
round-precision & Integer & 2 \\
+ round-zero-positive & Switch & true \\
\bottomrule
\end{tabular}
\end{table}
@@ -1542,6 +1587,18 @@ possible to obtain the value zero in these cases.
\num{0.0045}
\end{LaTeXdemo}
+\DescribeOption{round-zero-positive}
+When rounding negative numbers to a fixed number of places, a zero value may
+result. Usually this is expressed as an unsigned value, but in some cases
+retaining the negative sign may be desirable. This behaviour can be controlled
+using the \opt{round-zero-positive} switch.
+\begin{LaTeXdemo}
+ \sisetup{round-mode = places}%
+ \num{-0.001} \\
+ \sisetup{round-zero-positive = false}%
+ \num{-0.001}
+\end{LaTeXdemo}
+
\DescribeOption{drop-zero-decimal}
It may be desirable to convert decimals to integers when the decimal part is
zero. This is set up using the \opt{drop-zero-decimal} option, which applies
@@ -1582,24 +1639,32 @@ conveys. The options are summarised in Table~\ref{tab:opt:num:out}.
Type &
\multicolumn{1}{l}{Default} \\
\midrule
- bracket-negative-numbers & Switch & false \\
- exponent-base & Literal & 10 \\
- exponent-product & Math & \verb=\times= \\
- group-digits & Choice & all \\
- group-minimum-digits & integer & 5 \\
- group-separator & Literal & \cs{,} \\
- negative-color & Literal & \meta{none} \\ ^^A (
- output-close-uncertainty & Literal & ) \\
- output-decimal-marker & Literal & . \\
- output-exponent-marker & Literal & \meta{none} \\
- output-open-uncertainty & Literal & ( \\ ^^A )
- print-implicit-plus & Switch & false \\
- print-unity-mantissa & Switch & true \\
- print-zero-exponent & Switch & false \\
- print-zero-integer & Switch & false \\
- tight-spacing & Switch & false \\
- uncertainty-mode & Choice & compact \\
- uncertainty-separator & Literal & \meta{none} \\
+ bracket-negative-numbers & Switch & false \\
+ digit-group-size & Integer & 3 \\
+ digit-group-first-size & Integer & 3 \\
+ digit-group-other-size & Integer & 3 \\
+ exponent-base & Literal & 10 \\
+ exponent-product & Math & \verb=\times= \\
+ group-digits & Choice & all \\
+ group-minimum-digits & Integer & 5 \\
+ group-separator & Literal & \cs{,} \\
+ negative-color & Literal & \meta{none} \\ ^^A (
+ output-close-uncertainty & Literal & ) \\
+ output-decimal-marker & Literal & . \\
+ output-exponent-marker & Literal & \meta{none} \\
+ output-open-uncertainty & Literal & ( \\ ^^A )
+ print-implicit-plus & Switch & false \\
+ print-unity-mantissa & Switch & true \\
+ print-zero-exponent & Switch & false \\
+ print-zero-integer & Switch & false \\
+ tight-spacing & Switch & false \\
+ uncertainty-descriptor-mode & Choice & bracket-separator \\
+ uncertainty-descriptor-separator & Literal & \cs{ } \\
+ uncertainty-descriptors & Literal & \meta{none} \\
+ uncertainty-mode & Choice & compact \\
+ uncertainty-separator & Literal & \meta{none} \\
+ zero-decimal-as-symbol & Switch & false \\
+ zero-symbol & Literal & \verb=\mbox{---}= \\
\bottomrule
\end{tabular}
\end{table}
@@ -1643,6 +1708,21 @@ separately for the integer and decimal parts of the number: grouping does not
\num[group-minimum-digits = 5]{12345.67890}
\end{LaTeXdemo}
+\DescribeOption{digit-group-size}
+\DescribeOption{digit-group-first-size}
+\DescribeOption{digit-group-other-size}
+The number of digits in each group can be controlled by the setting
+\opt{digit-group-size}, which has standard value $3$. Finer control can be
+achieved using \opt{digit-group-first-size} and \opt{digit-group-other-size}:
+the first group is that immediately by the decimal point, the other value
+applies to the second and subsequent groupings. These can be used for
+example to achieve the grouping typically used in India (lakh).
+\begin{LaTeXdemo}
+ \num{1234567890} \\
+ \num[digit-group-size = 5]{1234567890} \\
+ \num[digit-group-other-size = 2]{1234567890}
+\end{LaTeXdemo}
+
\DescribeOption{output-decimal-marker}
The decimal marker used in output is set using the \opt{output-decimal-marker}
option; this can differ from the input marker.
@@ -1672,9 +1752,9 @@ stored will be used in place of the normal product and base combination.
\DescribeOption{output-open-uncertainty}
\DescribeOption{output-close-uncertainty}
\DescribeOption{uncertainty-separator}
-When input is given including an uncertainty in a number, it can be printed
-either with the uncertainty in brackets or as a separate number. This behaviour
-is controlled by the \opt{uncertainty-mode} choice.When this is set to
+When input is given including a single uncertainty, it can be printed either
+with the uncertainty in brackets or as a separate number. This behaviour is
+controlled by the \opt{uncertainty-mode} choice. When this is set to
\opt{separate}, the uncertainty is printed as an entirely separate number
preceded by \cs{pm}. Other settings all place the uncertainty in brackets
directly attached to the main value. The standard setting of \opt{compact}
@@ -1707,6 +1787,24 @@ respectively. Tokens may be inserted before the opening bracket using
\num{1.234(5)}
\end{LaTeXdemo}
+\DescribeOption{uncertainty-descriptors}
+\DescribeOption{uncertainty-descriptor-mode}
+\DescribeOption{uncertainty-descriptor-separator}
+Multiple uncertainties can be given for a number. These are always printed in a
+separated form. When there is more than one uncertainty part, it may be useful
+to describe the nature of this value. This can be achieved using the
+\opt{uncertainty-descriptors} option, which take a comma-separated list of
+descriptions. The formatting of the descriptors can be adjusted using the
+settings \opt{uncertainty-descriptor-mode} and
+\opt{uncertainty-descriptor-separator}. The choices for the \opt{mode} are
+\opt{bracket}, \opt{bracket-separator}, \opt{separator} and \opt{subscript}.
+\begin{LaTeXdemo}
+ \num{1.2(3)(4)} \\
+ \sisetup{uncertainty-descriptors = {sys, stat}}
+ \num{1.2(3)(4)} \\
+ \num[uncertainty-descriptor-mode = subscript]{1.2(3)(4)}
+\end{LaTeXdemo}
+
\DescribeOption{bracket-ambiguous-numbers}
There are certain combinations of numerical input which can be ambiguous. This
can be corrected by adding brackets in the appropriate place, and is controlled
@@ -1775,6 +1873,18 @@ printed (\foreign{i.e.}~\opt{print-zero-exponent} has a higher priority).
\num[print-zero-integer = false]{0.123}
\end{LaTeXdemo}
+\DescribeOption{zero-decimal-as-symbol}
+\DescribeOption{zero-symbol}
+In some areas, particularly financial, entirely zero decimal parts are
+replaced by a dash. This is supported by option \opt{zero-decimal-as-symbol},
+which then uses the material stored using \opt{zero-symbol} as the replacement.
+\begin{LaTeXdemo}
+ \num{123.00} \\
+ \sisetup{zero-decimal-as-symbol}
+ \num{123.00} \\
+ \num[zero-symbol = \text{[{---}]}]{123.00}
+\end{LaTeXdemo}
+
\subsection{Lists, products and ranges}
Lists, products and ranges of numbers and quantities have a small number of
@@ -1938,13 +2048,35 @@ numbers; these are summarised in Table~\ref{tab:opt:num:complex}.
Type &
\multicolumn{1}{l@{}}{Default} \\
\midrule
+ complex-angle-unit & Choice & degrees \\
+ complex-mode & Choice & input \\
complex-root-position & Choice & after-number \\
+ complex-symbol-angle & Literal & \cs{angle} \\
+ complex-symbol-degree & Literal & \cs{degree} \\
input-complex-root & Literal & ij \\
output-complex-root & Literal & \verb=\mathrm{i}= \\
\bottomrule
\end{tabular}
\end{table}
+\DescribeOption{complex-mode}
+The format in which complex values are printed can be set using the
+\opt{complex-mode} option. With the standard setting (\opt{input}), the complex
+value is printed as-given. By setting the option to \opt{cartesian} or
+\opt{polar}, the output format can be set to an Cartesian or polar form.
+Conversion uses the \LaTeX3 floating-point unit, so is limited to $16$ decimal
+places. When converting from Cartesian to polar form, the complex root symbol
+must come at the \emph{end} of the imaginary part. It must also be specified
+using \texttt{i}.
+\begin{LaTeXdemo}
+ \complexnum{1 + i} \\
+ \complexnum{1:45} \\
+ \complexnum[complex-mode = cartesian]{1 + i} \\
+ \complexnum[complex-mode = cartesian, round-mode = places]{1:45} \\
+ \complexnum[complex-mode = polar]{1 + i} \\
+ \complexnum[complex-mode = polar]{1:45}
+\end{LaTeXdemo}
+
\DescribeOption{input-complex-root}
When using complex numbers in input, the complex root $(\mathrm{i} =
\sqrt{-1}\,)$ is indicated by one of the tokens stored in
@@ -1974,6 +2106,21 @@ using the \opt{output-complex-root} setting.
\complexnum[complex-root-position = after-number]{67-0.9i}
\end{LaTeXdemo}
+\DescribeOption{complex-angle-unit}
+\DescribeOption{complex-symbol-angle}
+\DescribeOption{complex-symbol-degree}
+When printing or converting to polar form, the angle may be interpreted in
+units set by \opt{complex-angle-unit}: one of \opt{degrees} or \opt{radians}.
+The symbol used to denote the angle, and that used for units of degrees,
+are controlled by the options \opt{complex-symbol-angle} and
+\opt{complex-symbol-degree}, respectively.
+\begin{LaTeXdemo}
+ \complexqty{1:1}{\ohm} \\
+ \complexqty[complex-angle-unit = radians]{1:1}{\ohm} \\
+ \complexqty[complex-symbol-angle = \mathrm{A}]{1:1}{\ohm} \\
+ \complexqty[complex-symbol-degree = d]{1:1}{\ohm}
+\end{LaTeXdemo}
+
\subsection{Angles}
Angle processing provided by the \cs{ang} function has a set of options which
@@ -2180,17 +2327,19 @@ the output directly (Table~\ref{tab:opt:units:out}).
Type &
\multicolumn{1}{l@{}}{Default} \\
\midrule
- bracket-unit-denominator & Switch & true \\
- forbid-literal-units & Switch & false \\
- fraction-command & Literal & \cs{frac} \\
- inter-unit-product & Literal & \cs{,} \\
- parse-units & Switch & true \\
- per-mode & Choice & power \\
- per-symbol & Literal & / \\
- qualifier-mode & Choice & subscript \\
- qualifier-phrase & Literal & \meta{empty} \\
- sticky-per & Switch & false \\
- unit-font-command & Literal & \cs{mathrm} \\
+ bracket-unit-denominator & Switch & true \\
+ forbid-literal-units & Switch & false \\
+ fraction-command & Literal & \cs{frac} \\
+ inter-unit-product & Literal & \cs{,} \\
+ parse-units & Switch & true \\
+ per-mode & Choice & power \\
+ per-symbol-script-correction & Literal & \cs{!} \\
+ per-symbol & Literal & / \\
+ power-half-as-sqrt & Switch & false \\
+ qualifier-mode & Choice & subscript \\
+ qualifier-phrase & Literal & \meta{empty} \\
+ sticky-per & Switch & false \\
+ unit-font-command & Literal & \cs{mathrm} \\
\bottomrule
\end{tabular}
\end{table}
@@ -2207,6 +2356,8 @@ centred dot. To get the correct spacing it is necessary to use
\end{LaTeXdemo}
\DescribeOption{per-mode}
+\DescribeOption{display-per-mode}
+\DescribeOption{inline-per-mode}
\DescribeOption{per-symbol}
\DescribeOption{fraction-command}
\DescribeOption{bracket-unit-denominator}
@@ -2233,7 +2384,7 @@ unit by setting \opt{per-mode} to \opt{symbol}; the symbol used is stored using
the setting \opt{per-symbol}. This method for displaying units can be
ambiguous, and so brackets are added unless \opt{bracket-unit-denominator} is
set to \opt{false}. Notice that \opt{bracket-unit-denominator} only applies
-when \opt{per-mode} is set to \opt{symbol} or \opt{symbol-or-fraction}.
+when \opt{per-mode} is set to \opt{symbol}.
\begin{LaTeXdemo}
\sisetup{per-mode = symbol}%
\unit{\joule\per\mole\per\kelvin} \\
@@ -2246,12 +2397,26 @@ is also available to repeat the symbol for each \cs{per}.
\begin{LaTeXdemo}
\unit[per-mode = repeated-symbol]{\joule\per\mole\per\kelvin}
\end{LaTeXdemo}
-Finally, it is possible for the behaviour of the \cs{per} function to depend on
-the prevailing math style. Setting \opt{per-mode} to \opt{symbol-or-fraction}
-will use the \opt{symbol} setting for in line math, and the \opt{fraction}
-setting when used in display math.
+The use of a symbol can be restricted to the case where exactly one is
+required: the setting \opt{single-symbol} will use a symbol if and only
+if there are one or more positive powers and exactly one negative power.
+In other cases, powers are used.
+\begin{LaTeXdemo}
+ \sisetup{per-mode = single-symbol}
+ \qty{10}{\per\metre} \\
+ \qty{20}{\metre\per\second} \\
+ \qty{30}{\joule\per\mole\per\kelvin}
+\end{LaTeXdemo}
+It is possible for the behaviour of the \cs{per} function to depend on the
+prevailing math style. Setting either \opt{display-per-mode} or
+\opt{inline-per-mode} independently can be used to achieve this. For example,
+the following example will will use the \opt{symbol} setting for in line math,
+and the \opt{fraction} setting when used in display math.
\begin{LaTeXdemo}
- \sisetup{per-mode = symbol-or-fraction}%
+ \sisetup{
+ display-per-mode = fraction ,
+ inline-per-mode = symbol
+ }%
$ \unit{\joule\per\mole\per\kelvin} $
\[ \unit{\joule\per\mole\per\kelvin} \]
\unit{\joule\per\mole\per\kelvin} \\
@@ -2265,6 +2430,17 @@ setting when used in display math.
\]
\end{LaTeXdemo}
+\DescribeOption{per-symbol-script-correction}
+When using the \opt{symbol} setting for \opt{per-mode}, there may the need to
+adjust spacing between a superscript power and the symbol. This is provided as
+a command to be inserted between the two items: the standard value is a thin
+negative space, \cs{!}.
+\begin{LaTeXdemo}
+ \sisetup{per-mode = symbol}%
+ \unit{\cm\cubed\per\gram} \\
+ \unit[per-symbol-script-correction = ]{\cm\cubed\per\gram}
+\end{LaTeXdemo}
+
\DescribeOption{sticky-per}
By default, \cs{per} applies only to the next unit given.\footnote{This is the
standard method of reading units in English: for example,
@@ -2299,6 +2475,15 @@ example a space or other linking text to be inserted.
\unit{\kilogram\of{pol}\squared\per\mole\of{cat}\per\hour}
\end{LaTeXdemo}
+\DescribeOption{power-half-as-sqrt}
+In some cases, the power of $0.5$ is shown by giving the unit symbol as a
+square root. This can be enabled by setting \opt{power-half-as-sqrt} to
+\opt{true}
+\begin{LaTeXdemo}
+ \unit{\Hz\tothe{0.5}} \\
+ \unit[power-half-as-sqrt]{\Hz\tothe{0.5}}
+\end{LaTeXdemo}
+
\DescribeOption{parse-units}
Normally, \pkg{siunitx} is used with the unit parse enabled, and only prints
units directly if there is literal input. However, if the input is known to be
@@ -3028,11 +3213,10 @@ unit which remains accepted.
\section{Localisation}
-The \pkg{translations} package provides a structured framework for localisation
-of words and phrases, and is part of the larger \pkg{beamer} bundle. The
-\pkg{translations} package provides the \cs{translate} macro, which will provide
-appropriate translations based on the current \pkg{babel} or \pkg{polyglossia}
-language setting.
+The \pkg{translations} package provides a structured framework for
+localisation of words and phrases. In particular, it offers the
+\cs{GetTranslation} macro, which will provide appropriate translations based
+on the current \pkg{babel} or \pkg{polyglossia} language setting.
If \pkg{translations} is available, \pkg{siunitx} will load it and alter the
standard settings for the \opt{list-final-separator} and \opt{range-phrase}
@@ -3044,9 +3228,10 @@ options to read:
range-phrase = { \GetTranslation{to (numerical range)} },
}
\end{LaTeXdemo}
-If the current language is known to the \pkg{translator} package then the
+If the current language is known to the \pkg{translations} package then the
result will be localised text. The preamble for this manual loads English,
-French, German, Polish and Spanish as options, and also loads the \pkg{babel} package:
+French, German, Polish, Spanish, Catalan, Portuguese and Brazilian as options,
+and also loads the \pkg{babel} package:
\begin{LaTeXdemo}
% In English by default
\numlist{1;2;3} \\
@@ -3062,6 +3247,15 @@ French, German, Polish and Spanish as options, and also loads the \pkg{babel} pa
\numrange{1}{10} \\
\selectlanguage{spanish}%
\numlist{1;2;3} \\
+ \numrange{1}{10} \\
+ \selectlanguage{catalan}%
+ \numlist{1;2;3} \\
+ \numrange{1}{10} \\
+ \selectlanguage{portuguese}%
+ \numlist{1;2;3} \\
+ \numrange{1}{10} \\
+ \selectlanguage{brazilian}%
+ \numlist{1;2;3} \\
\numrange{1}{10}
\end{LaTeXdemo}
@@ -3071,12 +3265,14 @@ In general, \pkg{siunitx} should be usable with other packages without
interference.
When the \pkg{physics} package is loaded before \pkg{siunitx}, the command
-\cs{qty} is not defined: users will need to use the version~$2$ command
-\cs{SI}.
-
-When the \pkg{units} package is loaded before \pkg{siunitx}, the command
-\cs{unit} is not defined: users will need to use the version~$2$ command
-\cs{si}.
+\cs{qty} is not defined. Users may use the version~$2$ command \cs{SI},
+which can be used as a drop-in replacement for \cs{qty}. Alternatively,
+if the \pkg{siunitx} definition is preferred, you may use
+\begin{LaTeXdemo}[code only]
+ \AtBeginDocument{\RenewCommandCopy\qty\SI}
+\end{LaTeXdemo}
+and use the longer name \cs{quantity} to access the functionality of the
+\pkg{physics} package.
\section{Hints for using \pkg{siunitx}}
@@ -3391,7 +3587,7 @@ systems:
\end{LaTeXdemo}
For tables, any settings that can be given before the table are only parsed once,
-whereas given in the optional argument to |S| they are read in ever cell. As such,
+whereas given in the optional argument to |S| they are read in every cell. As such,
you should favour
\begin{LaTeXdemo}[code only]
\begin{table}
diff --git a/macros/latex/contrib/tuda-ci/README.md b/macros/latex/contrib/tuda-ci/README.md
index 57a47ad4f3..fdd1d50303 100644
--- a/macros/latex/contrib/tuda-ci/README.md
+++ b/macros/latex/contrib/tuda-ci/README.md
@@ -2,7 +2,7 @@
Copyright (C) Marei Peischl <marei@peitex.de>, 2018–2022
- tuda-ci 2022/04/20 v3.24
+ tuda-ci 2022/04/25 v3.25
***************************************************************************
@@ -316,3 +316,6 @@ leaflets | DEMO-TUDaLeaflet.tex | tudaleaflet.cls
* 3.24 (2022-04-20)
- Fix paper=landscape for TUDa-SciPoster.
- Improve internals for advanced department configuration in TUDa-SciPoster
+ * 3.25 (2022-04-25)
+ - Fix departmnt specific configuration mechanism in TUDa-SciPoster
+ - Add support for specific configuration paths
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
index fdac8a614e..7056169288 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaAnnouncement.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
index 55d3cd1630..8b328ec138 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaBeamer.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
index 1462ae8e3d..5ebbdbf43d 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaExercise.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
index d8b307bf6e..daecff9e1e 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLeaflet.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
index 856b822011..240a9f7124 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaLetter.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
index d73e3bc8bc..0db380c6ff 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPhD.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
index ce1a1e65d5..a3a4a9bb2a 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
index 7acf402ddc..baeaed7dc7 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaPub.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
index 4a493aa297..f62cee57fe 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaReport.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
index 1bdcef923e..f8c1ae62de 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaSciPoster.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
index 57a8b00154..de93725c07 100644
--- a/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
+++ b/macros/latex/contrib/tuda-ci/doc/DEMO-TUDaThesis.pdf
Binary files differ
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
index e6f0d58e62..f544fec34a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaAnnouncement.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaAnnouncement.tex' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaAnnouncement.tex' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
index f4fae126e5..37cb9fd1d5 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBeamer.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBeamer.tex' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaBeamer.tex' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
index 54521adc8d..0f5872b58a 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaBibliography.bib
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaBibliography.bib' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaBibliography.bib' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
index a9b20da8c0..36ddb7df7b 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaExercise.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaExercise.tex' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaExercise.tex' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
index 334851255a..a41081ac23 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaFromaddress.lco
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaFromaddress.lco' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaFromaddress.lco' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
index 4879c5a239..26c273b3d5 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLeaflet.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLeaflet.tex' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaLeaflet.tex' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
index f8e053b268..12919213f4 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaLetter.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaLetter.tex' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaLetter.tex' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
index 117ca29f8a..6d9bc38e94 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPhD.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPhD.tex' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaPhD.tex' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
index fc15eb469d..425e463695 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPoster.tex' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaPoster.tex' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
index 6fcc2db571..c98b991e8f 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaPub.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaPub.tex' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaPub.tex' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
index 8259da2a71..595395a38c 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaReport.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaReport.tex' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaReport.tex' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
index 02b390a449..a068bed175 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaSciPoster.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaSciPoster.tex' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaSciPoster.tex' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
index aad0e14013..62313cf74e 100644
--- a/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
+++ b/macros/latex/contrib/tuda-ci/example/DEMO-TUDaThesis.tex
@@ -1,4 +1,4 @@
-%% This is file `DEMO-TUDaThesis.tex' version 3.24 (2022/04/20),
+%% This is file `DEMO-TUDaThesis.tex' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
index aac4d1091a..132e8cf1c1 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamercolorthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamercolorthemeTUDa.sty' version 3.24 (2022/04/20),
+%% This is file `beamercolorthemeTUDa.sty' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamercolorthemeTUDa}
[\filedate\space\fileversion]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
index 87014da3de..aa9c89dd82 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerfontthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerfontthemeTUDa.sty' version 3.24 (2022/04/20),
+%% This is file `beamerfontthemeTUDa.sty' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerfontthemeTUDa}
[\filedate\space\fileversion]
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
index 557789f2c6..2a194dc9ce 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerinnerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerinnerthemeTUDa.sty' version 3.24 (2022/04/20),
+%% This is file `beamerinnerthemeTUDa.sty' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{beamerinnerthemeTUDa}{\filedate}{\fileversion}{Inner~beamer~theme~of~tuda-ci}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
index 56ede7ff39..985e3728cd 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerouterthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerouterthemeTUDa.sty' version 3.24 (2022/04/20),
+%% This is file `beamerouterthemeTUDa.sty' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesExplPackage{beamerouterthemeTUDa}{\filedate}{\fileversion}{Outer~beamer~theme~of~tuda-ci}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
index 1378144db5..652fc0b675 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa-mecheng.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa-mecheng.sty' version 3.24 (2022/04/20),
+%% This is file `beamerthemeTUDa-mecheng.sty' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\RequirePackage{expl3}
\ProvidesExplPackage{beamerthemeTUDa-mecheng}{\filedate}{\fileversion}{specific tudabeamer configuration for the department of mechanical engineering}
diff --git a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
index 0399f5ad12..308111be1f 100644
--- a/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
+++ b/macros/latex/contrib/tuda-ci/tex/beamerthemeTUDa.sty
@@ -1,4 +1,4 @@
-%% This is file `beamerthemeTUDa.sty' version 3.24 (2022/04/20),
+%% This is file `beamerthemeTUDa.sty' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{beamerthemeTUDa}
[\filedate\space\fileversion\space beamer theme using the Corporate Design of TU Darmstadt]
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
index 459e08ade7..47b5a7abad 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a0paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a0paper.clo' version 3.24 (2022/04/20),
+%% This is file `tuda-a0paper.clo' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\ProvidesExplFile{tuda-a0paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{125pt}{165pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
index df8efa1223..0c43f25caa 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a1paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a1paper.clo' version 3.24 (2022/04/20),
+%% This is file `tuda-a1paper.clo' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\ProvidesExplFile{tuda-a1paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a1paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{86pt}{120pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
index 2674e388e0..175f9a85d3 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a2paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a2paper.clo' version 3.24 (2022/04/20),
+%% This is file `tuda-a2paper.clo' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\ProvidesExplFile{tuda-a2paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a0paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{65pt}{82pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
index 2563e1bbd5..99c2c47413 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a3paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a3paper.clo' version 3.24 (2022/04/20),
+%% This is file `tuda-a3paper.clo' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\ProvidesExplFile{tuda-a3paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a3paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{47pt}{61pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
index 62aeab95bb..27476d61ec 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a4paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a4paper.clo' version 3.24 (2022/04/20),
+%% This is file `tuda-a4paper.clo' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\ProvidesExplFile{tuda-a4paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a4paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{36pt}{47pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
index 33f1e9e7ff..53f708b477 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-a5paper.clo
@@ -1,4 +1,4 @@
-%% This is file `tuda-a5paper.clo' version 3.24 (2022/04/20),
+%% This is file `tuda-a5paper.clo' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\ProvidesExplFile{tuda-a5paper.clo}{\filedate}{\fileversion}{tuda-ci~size~adjustments~for~a5paper}
\cs_set:Nn \ptxcd_setup_title_sizes: {
\cs_set:Nn \ptxcd_title_fontsize: {{22pt}{28pt}}
diff --git a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
index 49257cf899..f01dfd75b4 100644
--- a/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tuda-pgfplots.sty
@@ -1,4 +1,4 @@
-%% This is file `tuda-pgfplots.sty' version 3.24 (2022/04/20),
+%% This is file `tuda-pgfplots.sty' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
% Special thanks to: Sebastian Schöps Institut Theorie Elektromagnetischer Felder (TEMF), TU Darmstadt
% The original version of this file has been inspired by the colorscheme in the Metropolis beamer theme by Matthias Vogelgesang https://github.com/matze/mtheme
\ProvidesPackage{tuda-pgfplots}[\filedate\space\fileversion\space tuda-ci pgfplots color schemes]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
index 54a7f37f6a..3d88725bf2 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudabeamer.cls
@@ -1,4 +1,4 @@
-%% This is file `tudabeamer.cls' version 3.24 (2022/04/20),
+%% This is file `tudabeamer.cls' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{tudabeamer}
[\filedate\space\fileversion\space]
@@ -66,6 +66,11 @@
\str_gset:Nn \g_ptxcd_department_str {mecheng}
},
department .initial:n = default,
+ department / unknown .code:n = {
+ \str_gset:Nx \g_ptxcd_department_str {\l_keys_value_tl}
+ },
+ departmentconfigprefix .tl_gset:N = \g__ptxcd_config_prefix_tl,
+ departmentconfigprefix .initial:n = ,
mecheng .meta:n = {department=mecheng},
departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl,
departmentlogofile .initial:n =,
@@ -217,7 +222,8 @@
\@input{\jobname.len}%
\@starttoc{len}%
\let\accentfont\normalfont%
-\file_if_exist:nT {beamerthemeTUDa-\g_ptxcd_department_str.sty} {\usetheme{TUDa-\g_ptxcd_department_str}}
+
+\file_if_exist:nT {\g__ptxcd_config_prefix_tl beamerthemeTUDa-\g_ptxcd_department_str.sty} {\usetheme{\g__ptxcd_config_prefix_tl TUDa-\g_ptxcd_department_str}}
\ExplSyntaxOff
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.def b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
index 9b2af62e64..3588daa7de 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.def
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.def
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.def' version 3.24 (2022/04/20),
+%% This is file `tudacolors.def' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\ProvidesFile{tudacolors.def}
[\filedate\space\fileversion\space Color definitions for tuda-ci]
diff --git a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
index 71e5dc0911..702fe20837 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudacolors.sty
@@ -1,4 +1,4 @@
-%% This is file `tudacolors.sty' version 3.24 (2022/04/20),
+%% This is file `tudacolors.sty' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudacolors}{\filedate}{\fileversion}{Color definition for TU Darmstadt's tuda-ci bundle}
@@ -64,7 +64,6 @@
department / unknown .code:n = {
\str_gset:Nx \g_ptxcd_department_str {\l_keys_value_tl}
},
- department .initial:V = \g_ptxcd_department_str,
mecheng .meta:n = {department=mecheng},
}
@@ -102,34 +101,36 @@
\msg_new:nnnn{tudacolors} {undefined-color} {The~ color~ #1~ you~ selected~ is~ not~ defined.} {See~ the~ tuda-ci~ manual~ for~ a~ list~ of~ available~ colors.}
\msg_new:nnnn{tudacolors} {unselectable-color} {The~ color~ you~ selected~ (#1)~ must~ not~ be~ choosen~ for~ #2.} {See~ the~ Corporate~ Design~ Guidelines~ for~ further~ information.}
-%select accentcolor
-\exp_args:Nnx \colorlet{accentcolor}{\g_ptxcd_color_accent_tl}
-\bool_if:NTF \g_ptxcd_color_whitetext_bool {
- \clist_if_in:NVTF \c_ptxcd_color_allow_whitetext_clist \g_ptxcd_color_accent_tl {
- \colorlet{textonaccentcolor}{white}
+\hook_new:n {ptxcd/init-colors}
+\hook_gput_code:nnn {ptxcd/init-colors} {tudacolors} {
+ \exp_args:Nnx \colorlet{accentcolor}{\g_ptxcd_color_accent_tl}
+ \bool_if:NTF \g_ptxcd_color_whitetext_bool {
+ \clist_if_in:NVTF \c_ptxcd_color_allow_whitetext_clist \g_ptxcd_color_accent_tl {
+ \colorlet{textonaccentcolor}{white}
+ } {
+ \colorlet{textonaccentcolor}{black}
+ \tl_if_in:NnT \g_ptxcd_color_accent_tl {TUDa} {\msg_warning:nnxx{tudacolors} {unselectable-color} {white} {textonaccentcolor}}
+ }
} {
- \colorlet{textonaccentcolor}{black}
- \tl_if_in:NnT \g_ptxcd_color_accent_tl {TUDa} {\msg_warning:nnxx{tudacolors} {unselectable-color} {white} {textonaccentcolor}}
+ \clist_if_in:NVTF \c_ptxcd_color_allow_blacktext_clist \g_ptxcd_color_accent_tl {
+ \colorlet{textonaccentcolor}{black}
+ } {
+ \colorlet{textonaccentcolor}{white}
+ \tl_if_in:NnT \g_ptxcd_color_accent_tl {TUDa} {msg_warning:nnxx{tudacolors} {unselectable-color} {black} {textonaccentcolor}}
+ }
}
-} {
- \clist_if_in:NVTF \c_ptxcd_color_allow_blacktext_clist \g_ptxcd_color_accent_tl {
- \colorlet{textonaccentcolor}{black}
+ \colorlet{identbarcolor}{\g_ptxcd_color_identbar_tl}
+ \exp_args:NNx \clist_if_in:NnTF \c_ptxcd_color_forbid_textaccent_clist {\g_ptxcd_color_textaccent_tl} {
+ \msg_warning:nnxx{tudacolors} {unselectable-color} {\g_ptxcd_color_textaccent_tl} {textaccentcolor}
+ \colorlet{textaccentcolor}{black}
} {
- \colorlet{textonaccentcolor}{white}
- \tl_if_in:NnT \g_ptxcd_color_accent_tl {TUDa} {msg_warning:nnxx{tudacolors} {unselectable-color} {black} {textonaccentcolor}}
+ \colorlet{textaccentcolor}{\g_ptxcd_color_textaccent_tl}
}
}
-\colorlet{identbarcolor}{\g_ptxcd_color_identbar_tl}
+\hook_use:n {ptxcd/init-colors}
-\exp_args:NNx \clist_if_in:NnTF \c_ptxcd_color_forbid_textaccent_clist {\g_ptxcd_color_textaccent_tl} {
- \msg_warning:nnxx{tudacolors} {unselectable-color} {\g_ptxcd_color_textaccent_tl} {textaccentcolor}
- \colorlet{textaccentcolor}{black}
-} {
- \colorlet{textaccentcolor}{\g_ptxcd_color_textaccent_tl}
-}
-
\colorlet{InfoBox}{white}
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
index 01c0a0f908..f9a7e79acb 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaexercise.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaexercise.cls' version 3.24 (2022/04/20),
+%% This is file `tudaexercise.cls' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudaexercise}
@@ -183,6 +183,11 @@
\keys_set:nn {ptxcd/exercise}{colorback=false,departmentlogofile=tuda_maschinenbau_logo,color=Primary1}
},
department .initial:n = default,
+ department / unknown .code:n = {
+ \str_gset:Nx \g_ptxcd_department_str {\l_keys_value_tl}
+ },
+ departmentconfigprefix .tl_gset:N = \g__ptxcd_config_prefix_tl,
+ departmentconfigprefix .initial:n = tuda,
mecheng .meta:n = {department=mecheng},
departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl,
departmentlogofile .initial:n =,
@@ -913,7 +918,7 @@
\cs_set_eq:NN \thesubtask \thesubsection
}
-\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg}
+\file_if_exist_input:n {\g__ptxcd_config_prefix_tl\g_ptxcd_department_str.cfg}
\ptxcd_makeheadrule[color=identbarcolor, width=\textwidth]{ptxcd_headrule}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
index 255637f835..ede90bcaf9 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudafonts.sty
@@ -1,4 +1,4 @@
-%% This is file `tudafonts.sty' version 3.24 (2022/04/20),
+%% This is file `tudafonts.sty' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{tudafonts}
[\filedate\space\fileversion\space
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
index 77629e07ee..81d7cbe91f 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaleaflet.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaleaflet.cls' version 3.24 (2022/04/20),
+%% This is file `tudaleaflet.cls' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudaleaflet}{\filedate}{\fileversion}{Leaflets using the Corporate Design of TU Darmstadt}
@@ -62,6 +62,11 @@
\keys_set:nn {ptxcd/leaflet} {colorback=false, departmentlogofile=tuda_maschinenbau_logo}
},
department .initial:n = default,
+ department / unknown .code:n = {
+ \str_gset:Nx \g_ptxcd_department_str {\l_keys_value_tl}
+ },
+ departmentconfigprefix .tl_gset:N = \g__ptxcd_config_prefix_tl,
+ departmentconfigprefix .initial:n = tuda,
mecheng .meta:n = {department=mecheng},
departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl,
departmentlogofile .initial:n =,
@@ -438,7 +443,7 @@ contents={
}
}
-\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg}
+\file_if_exist_input:n {\g__ptxcd_config_prefix_tl\g_ptxcd_department_str.cfg}
\ptxcd_makeheadrule[color=identbarcolor]{ptxcd_headrule}
\ptxcd_makefootrule{ptxcd_footrule}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
index 4bcfef164c..10496eb8e5 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaletter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaletter.cls' version 3.24 (2022/04/20),
+%% This is file `tudaletter.cls' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudaletter}
@@ -61,6 +61,11 @@
\PassOptionsToPackage{identbar=Primary1,accent=Primary2}{tudacolors}
},
department .initial:n = default,
+ department / unknown .code:n = {
+ \str_gset:Nx \g_ptxcd_department_str {\l_keys_value_tl}
+ },
+ departmentconfigprefix .tl_gset:N = \g__ptxcd_config_prefix_tl,
+ departmentconfigprefix .initial:n = tuda,
mecheng .meta:n = {department=mecheng},
departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl,
departmentlogofile .initial:n =,
@@ -515,5 +520,5 @@
\let\Ifkomavarempty\ifkomavarempty
}
-\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg}
+\file_if_exist_input:n {\g__ptxcd_config_prefix_tl\g_ptxcd_department_str.cfg}
\endinput
diff --git a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
index 221c677efb..d56d236cc2 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudalettersize10pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudalettersize10pt.clo' version 3.24 (2022/04/20),
+%% This is file `tudalettersize10pt.clo' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
index 1bf9dc2ee9..04b485e666 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudamecheng.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudamecheng.cfg' version 3.24 (2022/04/20),
+%% This is file `tudamecheng.cfg' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,14 +26,16 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\RequirePackage{expl3}
\ProvidesExplFile{tudamecheng.cfg}
{\filedate}{\fileversion}{Special Features the department of mechanical engineering of Darmstadt's Corporate Design (tuda-ci)}
\RequirePackage{pgf}
+\keys_set:nn {ptxcd/colors}{accent=TUDa-2d,identbar=TUDa-6b}
+
\cs_new:Nn \ptxcd_mecheng_arrow:N {
\begin{pgfpicture}
\pgfsetbaseline{0}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
index 23ce7e27bd..56c7210097 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudaposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudaposter.cls' version 3.24 (2022/04/20),
+%% This is file `tudaposter.cls' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudaposter}{\filedate}{\fileversion}{Poster Layouts for the Corporate Design of TU Darmstadt}
@@ -107,6 +107,11 @@
\keys_set:nn {ptxcd/poster} {colorback=false, departmentlogofile=tuda_maschinenbau_logo}
},
department .initial:n = default,
+ department / unknown .code:n = {
+ \str_gset:Nx \g_ptxcd_department_str {\l_keys_value_tl}
+ },
+ departmentconfigprefix .tl_gset:N = \g__ptxcd_config_prefix_tl,
+ departmentconfigprefix .initial:n = tuda,
mecheng .meta:n = {department=mecheng},
departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl,
departmentlogofile .initial:n =,
@@ -607,7 +612,7 @@
\textsuperscript{#1}#2
}
-\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg}
+\file_if_exist_input:n {\g__ptxcd_config_prefix_tl\g_ptxcd_department_str.cfg}
\endinput
diff --git a/macros/latex/contrib/tuda-ci/tex/tudapub.cls b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
index 7f2305e9d7..9425b47db6 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudapub.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudapub.cls
@@ -1,4 +1,4 @@
-%% This is file `tudapub.cls' version 3.24 (2022/04/20),
+%% This is file `tudapub.cls' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplClass{tudapub}
@@ -177,6 +177,8 @@
department / unknown .code:n = {
\str_gset:Nx \g_ptxcd_department_str {\l_keys_value_tl}
},
+ departmentconfigprefix .tl_gset:N = \g__ptxcd_config_prefix_tl,
+ departmentconfigprefix .initial:n = tuda,
mecheng .meta:n = {department=mecheng},
departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl,
departmentlogofile .initial:n =,
@@ -1373,6 +1375,6 @@
\let\Iftocfeature\iftocfeature
}
-\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg}
+\file_if_exist_input:n {\g__ptxcd_config_prefix_tl\g_ptxcd_department_str.cfg}
\endinput
%End of class tudapub.cls
diff --git a/macros/latex/contrib/tuda-ci/tex/tudarules.sty b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
index db42809f7b..6dd216bdab 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudarules.sty
+++ b/macros/latex/contrib/tuda-ci/tex/tudarules.sty
@@ -1,4 +1,4 @@
-%% This is file `tudarules.sty' version 3.24 (2022/04/20),
+%% This is file `tudarules.sty' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudarules}{\filedate}{\fileversion}{Creation of colored bars for tuda-ci bundle}
@@ -84,7 +84,6 @@
department / unknown .code:n = {
\str_gset:Nx \g_ptxcd_department_str {\l_keys_value_tl}
},
- department .initial:V = \g_ptxcd_department_str,
mecheng .meta:n = {department=mecheng},
}
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
index e70cc21a76..d922742fe4 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
+++ b/macros/latex/contrib/tuda-ci/tex/tudasciposter.cls
@@ -1,4 +1,4 @@
-%% This is file `tudasciposter.cls' version 3.24 (2022/04/20),
+%% This is file `tudasciposter.cls' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\NeedsTeXFormat{LaTeX2e}
\RequirePackage{expl3}
\ProvidesExplPackage{tudasciposter}{\filedate}{\fileversion}{Scientific Poster Layout for TU Darmstadt}
@@ -85,6 +85,11 @@
\keys_set:nn {ptxcd/poster} {colorback=false, departmentlogofile=tuda_maschinenbau_logo,titlesepline=false}
},
department .initial:n = default,
+ department / unknown .code:n = {
+ \str_gset:Nx \g_ptxcd_department_str {\l_keys_value_tl}
+ },,
+ departmentconfigprefix .tl_gset:N = \g__ptxcd_config_prefix_tl,
+ departmentconfigprefix .initial:n = tuda,
mecheng .meta:n = {department=mecheng},
departmentlogofile .tl_gset:N = \g_ptxcd_departmentlogo_tl,
departmentlogofile .initial:n =,
@@ -164,11 +169,6 @@
\box_new:N \g_ptxcd_author_box
\box_new:N \g_ptxcd_credit_box
-\ptxcd_makeheadrule[
- width=\paperwidth-2\g_ptxcd_margin_dim,
- color=identbarcolor
- ]{ptxcd_headrule}
-
\tl_new:N \g_ptxcd_thanks_tl
\newcommand*{\ptxcd_title@footnote}[2][1]{
\begingroup
@@ -468,23 +468,26 @@
};
}
+\hook_gput_code:nnn {ptxcd/init-colors} {tudasciposter} {
+ \bool_if:NTF \g_ptxcd_colorback_bool
+ {\colorlet{titlefgcolor}{textonaccentcolor}}
+ {\colorlet{titlefgcolor}{black}}
+ \colorlet{titlebgcolor}{accentcolor}
+ % Block Colors
+ \colorlet{blocktitlebgcolor}{accentcolor}
+ \colorlet{blocktitlefgcolor}{textonaccentcolor}
+ % Innerblock Colors
+ \colorlet{innerblockbodybgcolor}{textonaccentcolor}
+}
% Background Colors
\colorlet{backgroundcolor}{white}
\colorlet{framecolor}{white}
-% Title Colors
-\bool_if:NTF \g_ptxcd_colorback_bool
- {\colorlet{titlefgcolor}{textonaccentcolor}}
- {\colorlet{titlefgcolor}{black}}
-\colorlet{titlebgcolor}{accentcolor}
% Block Colors
-\colorlet{blocktitlebgcolor}{accentcolor}
-\colorlet{blocktitlefgcolor}{textonaccentcolor}
\colorlet{blockbodybgcolor}{white}
\colorlet{blockbodyfgcolor}{black}
% Innerblock Colors
\colorlet{innerblocktitlebgcolor}{black!15}
\colorlet{innerblocktitlefgcolor}{black}
-\colorlet{innerblockbodybgcolor}{textonaccentcolor}
\colorlet{innerblockbodyfgcolor}{black}
\dim_new:N \g_ptxcd_titleblock_dim
@@ -619,10 +622,17 @@
every~ box~ on~ layer~ 4/.style={reset,\g_ptxcd_boxstyle_tl -inner},
}
-%ADjust caption indent
+%Adjust caption indent
\setcapindent{1em}
-\file_if_exist_input:n {tuda\g_ptxcd_department_str.cfg}
+\file_if_exist_input:n {\g__ptxcd_config_prefix_tl\g_ptxcd_department_str.cfg}
+
+\hook_use:n {ptxcd/init-colors}
+
+\ptxcd_makeheadrule[
+ width=\paperwidth-2\g_ptxcd_margin_dim,
+ color=identbarcolor
+]{ptxcd_headrule}
\endinput
%end of tudasciposter.cls
diff --git a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
index 0cb0cd1d2c..a8dc5a4fdc 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
+++ b/macros/latex/contrib/tuda-ci/tex/tudasize9pt.clo
@@ -1,4 +1,4 @@
-%% This is file `tudasize9pt.clo' version 3.24 (2022/04/20),
+%% This is file `tudasize9pt.clo' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
diff --git a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
index c635933f64..227e21943a 100644
--- a/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
+++ b/macros/latex/contrib/tuda-ci/tex/tudathesis.cfg
@@ -1,4 +1,4 @@
-%% This is file `tudathesis.cfg' version 3.24 (2022/04/20),
+%% This is file `tudathesis.cfg' version 3.25 (2022/04/25),
%% it is part of
%% TUDa-CI -- Corporate Design for TU Darmstadt
%% ----------------------------------------------------------------------------
@@ -26,8 +26,8 @@
%%
%% ============================================================================
%%
-\def\fileversion{3.24}
-\def\filedate{2022/04/20}
+\def\fileversion{3.25}
+\def\filedate{2022/04/25}
\RequirePackage{expl3}
\ProvidesExplFile{tudathesis.cfg}
{\filedate}{\fileversion}{Special Features for publication type 'thesis' using TU Darmstadt's Corporate Design (tuda-ci)}
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
index 9e199dd5e0..c8ab7dfb18 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
index d44da9d6cb..b0276dc230 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-cn.tex
@@ -93,7 +93,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\frontmatter
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
index 4b939ca03e..85889a3583 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
index bb8b9fcae2..d6acc21577 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-en.tex
@@ -93,7 +93,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\frontmatter
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
index 4aa7267de0..ee1fb132a8 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
index b6fad0dc0b..ff7b6b8934 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
+++ b/macros/unicodetex/latex/beaulivre/beaulivre-doc-fr.tex
@@ -93,7 +93,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\frontmatter
diff --git a/macros/unicodetex/latex/beaulivre/beaulivre.cls b/macros/unicodetex/latex/beaulivre/beaulivre.cls
index 57a4938e1d..05924ada80 100644
--- a/macros/unicodetex/latex/beaulivre/beaulivre.cls
+++ b/macros/unicodetex/latex/beaulivre/beaulivre.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{beaulivre}
- {2022/04/17} {}
+ {2022/04/24} {}
{A colorful book style}
\tl_const:Nn \l__colorclass_base_class_tl { book }
@@ -145,6 +145,7 @@
total = { 6.500in, 9.130in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
\bool_if:NT \l__colorclass_b_five_paper_bool
@@ -155,6 +156,7 @@
total = { 5.535in, 8.160in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -166,6 +168,7 @@
total = { 6.500in, 9.685in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -649,7 +652,24 @@
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { embrac }
+
+\RequirePackage { regexpatch }
+\skip_new:N \g_colorclass_parfillskip_skip
+\xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
+\hook_gput_code:nnn { begindocument } { colorclass }
+ {
+ \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
+ \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ }
+
+\hook_gput_code:nnn { begindocument/before } { colorclass }
+ {
+ \@ifpackageloaded { biblatex }
+ {
+ \PassOptionsToPackage { biblatex } { embrac }
+ } {}
+ \RequirePackage { embrac }
+ }
%%================================
%% Graphics
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
index 3877b73e5a..795e5b2afc 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
index a3fcb883e0..583aa9acef 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-cn.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\title{\einfart{},以极简主义风格排版你的文章}
\author{许锦文}
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
index b57037cb41..4a81e6d7e3 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-en.tex b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
index e60c80e7ba..64288b812f 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-en.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-en.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\title{\einfart{}, write your articles in a simple and clear way}
\author{Jinwen XU}
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
index ddd0cd56b4..63d9a75e37 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
+++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
index 44fa5340c3..5908efb465 100644
--- a/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
+++ b/macros/unicodetex/latex/einfart/einfart-doc-fr.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\title{\einfart{}, écrivez vos articles de manière simple et claire}
\author{Jinwen XU}
diff --git a/macros/unicodetex/latex/einfart/einfart.cls b/macros/unicodetex/latex/einfart/einfart.cls
index b1a2280ebb..37a460b9d0 100644
--- a/macros/unicodetex/latex/einfart/einfart.cls
+++ b/macros/unicodetex/latex/einfart/einfart.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{einfart}
- {2022/04/17} {}
+ {2022/04/24} {}
{A simple and clear article style}
\tl_const:Nn \l__minimclass_base_class_tl { article }
@@ -157,6 +157,7 @@
total = { 5.535in, 8.300in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
\bool_if:NT \l__minimclass_b_five_paper_bool
@@ -167,6 +168,7 @@
total = { 5.535in, 8.160in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -178,6 +180,7 @@
total = { 6.500in, 9.685in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -672,7 +675,24 @@
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { embrac }
+
+\RequirePackage { regexpatch }
+\skip_new:N \g_minimclass_parfillskip_skip
+\xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
+\hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
+ \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ }
+
+\hook_gput_code:nnn { begindocument/before } { minimclass }
+ {
+ \@ifpackageloaded { biblatex }
+ {
+ \PassOptionsToPackage { biblatex } { embrac }
+ } {}
+ \RequirePackage { embrac }
+ }
%%================================
%% Graphics
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
index efd8e1b69c..ec7f4c5b4d 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
index 4cc85f17de..650496e149 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-cn.tex
@@ -93,7 +93,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\以多彩的方式排版你的文章}
\author{许锦文}
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
index 7af3bb629c..daa3bd4461 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
index e13c8e65ce..0a50116911 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-en.tex
@@ -93,7 +93,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\write your articles in a colorful way}
\author{Jinwen XU}
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
index c6be48c674..5d430a9e85 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
index a6e2da39c3..fca4e4df4d 100644
--- a/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
+++ b/macros/unicodetex/latex/lebhart/lebhart-doc-fr.tex
@@ -93,7 +93,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\title{{\normalfont\bfseries\color{main-text}\lebhart{}}\\écrivez vos articles de manière colorée}
\author{Jinwen XU}
diff --git a/macros/unicodetex/latex/lebhart/lebhart.cls b/macros/unicodetex/latex/lebhart/lebhart.cls
index 835bceca4a..7cdec242e0 100644
--- a/macros/unicodetex/latex/lebhart/lebhart.cls
+++ b/macros/unicodetex/latex/lebhart/lebhart.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{lebhart}
- {2022/04/17} {}
+ {2022/04/24} {}
{A colorful article style}
\tl_const:Nn \l__colorclass_base_class_tl { article }
@@ -145,6 +145,7 @@
total = { 6.500in, 9.130in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
\bool_if:NT \l__colorclass_b_five_paper_bool
@@ -155,6 +156,7 @@
total = { 5.535in, 8.160in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -166,6 +168,7 @@
total = { 6.500in, 9.685in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -649,7 +652,24 @@
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { embrac }
+
+\RequirePackage { regexpatch }
+\skip_new:N \g_colorclass_parfillskip_skip
+\xpatchcmd{\@trivlist}{\@flushglue}{\g_colorclass_parfillskip_skip}{}{}
+\hook_gput_code:nnn { begindocument } { colorclass }
+ {
+ \skip_gset:Nn \g_colorclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
+ \skip_gset_eq:NN \parfillskip \g_colorclass_parfillskip_skip
+ }
+
+\hook_gput_code:nnn { begindocument/before } { colorclass }
+ {
+ \@ifpackageloaded { biblatex }
+ {
+ \PassOptionsToPackage { biblatex } { embrac }
+ } {}
+ \RequirePackage { embrac }
+ }
%%================================
%% Graphics
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
index a2293752a4..02fc3bdb47 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
index ac8f6322ba..a0f6e3432b 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-cn.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\frontmatter
\LocallyStopLineNumbers
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
index 55f1f02fa6..6470a1ba61 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
index d0ec9b11e3..172e5e8d8d 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-en.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\LocallyStopLineNumbers
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
index 76a4071843..e90a0ae4ad 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.pdf
Binary files differ
diff --git a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
index 5a24f45074..ca1cae66f1 100644
--- a/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
+++ b/macros/unicodetex/latex/simplivre/simplivre-doc-fr.tex
@@ -97,7 +97,7 @@
%%================================
\begin{document}
-\def\PackageVersion{2022/04/17}
+\def\PackageVersion{2022/04/24}
\frontmatter
\LocallyStopLineNumbers
diff --git a/macros/unicodetex/latex/simplivre/simplivre.cls b/macros/unicodetex/latex/simplivre/simplivre.cls
index 0e719bb849..07780bdd10 100644
--- a/macros/unicodetex/latex/simplivre/simplivre.cls
+++ b/macros/unicodetex/latex/simplivre/simplivre.cls
@@ -19,7 +19,7 @@
\RequirePackage{l3keys2e}
\ProvidesExplClass
{simplivre}
- {2022/04/17} {}
+ {2022/04/24} {}
{A simple and clear book style}
\tl_const:Nn \l__minimclass_base_class_tl { book }
@@ -157,6 +157,7 @@
total = { 5.535in, 8.300in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
\bool_if:NT \l__minimclass_b_five_paper_bool
@@ -167,6 +168,7 @@
total = { 5.535in, 8.160in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -178,6 +180,7 @@
total = { 6.500in, 9.685in },
centering,
footnotesep = 2em plus 2pt minus 2pt,
+ footskip = .5in,
}
}
@@ -672,7 +675,24 @@
\PassOptionsToPackage { all } { nowidow }
\RequirePackage { nowidow }
-\RequirePackage { embrac }
+
+\RequirePackage { regexpatch }
+\skip_new:N \g_minimclass_parfillskip_skip
+\xpatchcmd{\@trivlist}{\@flushglue}{\g_minimclass_parfillskip_skip}{}{}
+\hook_gput_code:nnn { begindocument } { minimclass }
+ {
+ \skip_gset:Nn \g_minimclass_parfillskip_skip { 0pt plus \dim_eval:n { \linewidth - 2\parindent } }
+ \skip_gset_eq:NN \parfillskip \g_minimclass_parfillskip_skip
+ }
+
+\hook_gput_code:nnn { begindocument/before } { minimclass }
+ {
+ \@ifpackageloaded { biblatex }
+ {
+ \PassOptionsToPackage { biblatex } { embrac }
+ } {}
+ \RequirePackage { embrac }
+ }
%%================================
%% Graphics
diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog
index 7b7268dd0a..578132db29 100644
--- a/support/TeX4ht/source/ChangeLog
+++ b/support/TeX4ht/source/ChangeLog
@@ -1,3 +1,12 @@
+2022-04-25 Michal Hoftich <michal.h21@gmail.com>
+
+ * tex4ht-4ht.tex (xr-hyper.4ht,
+ xrhyper-hooks.4ht): added support for external documents in
+ subdirectories.
+ https://puszcza.gnu.org.ua/bugs/?560
+ * tex4ht-4ht.tex (breqn.4ht): added support for the Breqn package.
+ https://tex.stackexchange.com/a/641918/2891
+
2022-04-24 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-4ht.tex (latex.4ht): fixed spurious space inserted after
diff --git a/support/TeX4ht/source/mktex4ht-cnf.tex b/support/TeX4ht/source/mktex4ht-cnf.tex
index 5a1bcfbba6..484ec3721e 100644
--- a/support/TeX4ht/source/mktex4ht-cnf.tex
+++ b/support/TeX4ht/source/mktex4ht-cnf.tex
@@ -1,4 +1,4 @@
-% $Id: mktex4ht-cnf.tex 1103 2022-03-29 15:46:43Z michal_h21 $
+% $Id: mktex4ht-cnf.tex 1116 2022-04-25 08:10:08Z michal_h21 $
% Manually-maintained file, listing *.4ht files created by tex4ht-4ht.tex.
% Read by tex4ht-cond4ht.
%
@@ -292,6 +292,7 @@
\AddFile{9}{web}
\AddFile{9}{exerquiz}
\AddFile{9}{hyperxmp}
+\AddFile{9}{breqn}
\AddFile{9}{nicefrac}
\AddFile{9}{multicol}
\AddFile{2}{lettrine}
diff --git a/support/TeX4ht/source/tex4ht-4ht.tex b/support/TeX4ht/source/tex4ht-4ht.tex
index a77c0644d3..5e3d3106bd 100644
--- a/support/TeX4ht/source/tex4ht-4ht.tex
+++ b/support/TeX4ht/source/tex4ht-4ht.tex
@@ -1,4 +1,4 @@
-% $Id: tex4ht-4ht.tex 1115 2022-04-24 18:59:13Z michal_h21 $
+% $Id: tex4ht-4ht.tex 1117 2022-04-25 13:31:56Z michal_h21 $
% tex tex4ht-4ht or ht tex tex4ht-4ht
%
% Copyright 2009-2022 TeX Users Group
@@ -3889,8 +3889,11 @@ got into the picture? Did \''\aXrefFile' introduced it? where?
Hyperref pasess five arguments to \`|\newlabel|, we must adapt \`|\XR:rEfLiNK| to that
\<fix xr-hyper\><<<
-\def\XRrEfLiNK[#1]#2#3{\a:xr[#1]{#2}{}%
- \ifx\hyperrefLabel\:UnDef #3\else \hyperrefLabel\fi \b:xr}
+\def\XRrEfLiNK[#1]#2#3{%
+ \filename@parse{#1}% Get basename of the linked html file,
+ % xr:dir\filename@base contains file's directory
+ \a:xr[\csname xr:dir:\filename@base\endcsname#1]{#2}{}%
+ \ifx\hyperrefLabel\:UnDef #3\else \hyperrefLabel\fi \b:xr}
\NewConfigure{xr}{2}
\Configure{xr}{\Link}{\EndLink}
\def\XR:rEfLiNK#1#2#3#4#5{{\xr:rEfLiNK#1}{\xr:rEfLiNK#2}{\xr:rEfLiNK#3}}
@@ -3917,6 +3920,10 @@ it, so we can safely eat that.
\<wait with xr-hyper\><<<
\:AtEndOfPackage{\let\XR:\XR@
\def\XR@[#1][#2]#3{%
+ % save directory for the linked file
+ \filename@parse{#3}
+ % \filename@base is filename, \filename@area directory
+ \expandafter\xdef\csname xr:dir:\filename@base\endcsname{\filename@area}
\AtBeginDocument{\XR:[#1][#2]{#3}}
}%
}
@@ -32405,7 +32412,85 @@ to prevent execution of the failing code.
}
>>>\AddFile{9}{datetime2-hooks}
+%%%%%%%%%%%%%%%%%%%%%%%%%
+\Section{breqn.sty}
+%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\<breqn.4ht\><<<
+% breqn.4ht (|version), generated from |jobname.tex
+% Copyright 2021 TeX Users Group
+|<TeX4ht copywrite|>
+|<breqn environments|>
+|<breqn commands|>
+\Hinput{breqn}
+\endinput
+
+>>> \AddFile{9}{breqn}
+
+Breqn defines some environments, but their use ends with
+fatal errors with TeX4ht. We redefine them to use standard
+LaTeX math environments instead. We will lose some functionality,
+but fatal error is a worse possibility.
+
+\<breqn environments\><<<
+\renewenvironment{dmath*}[1][]{\[}{\]}
+\renewenvironment{dmath}[1][]{\begin{equation}}{\end{equation}}
+\renewenvironment{dsuspend}{}{\par}
+
+% enumerate equation for \begin{dseries}
+\def\@dseries[#1]{%
+ \if\eq@hasNumber%
+ \refstepcounter{equation}%
+ \fi
+ \begingroup%
+ \a:equation%
+ \ignorespaces%
+}
+
+
+% mimic the equatio environment
+\def\end@dseries{%
+ \b:equation
+ \if\eq@hasNumber%
+ (\arabic{equation})%
+ \fi%
+\c:equation%
+}
+
+% this macro prints spurious equation number to the document, so we just reset it
+\def\grp@finish{%
+ \setbox\GRP@wholebox\vbox{%
+ \let\breqn@elt\eqgrp@elt
+ \the\GRP@queue
+ }%
+ \unvbox\GRP@wholebox
+}
+
+% the \EQ@displayinfo is used by other commands, it isn't useful in the HTML conversion
+\def\eq@nulldisplay{%
+ \xdef\EQ@displayinfo{%
+ \relax}%
+}
+>>>
+
+\<breqn commands\><<<
+%% commands
+% fix wrong handling of fonts in \condition
+\newcommand\:condition@a[2][\conditionpunct]{%
+ \unpenalty\unskip\unpenalty\unskip % BRM Added
+ \mbox{#1}%
+ \hskip\conditionsep
+ \ \if@tempswa\mbox{#2}\else\mbox{$\textmath@setup #2$}\fi
+ \endgroup
+}
+
+\HLet\condition@a\:condition@a
+
+>>>
+
+%%%%%%%%%%%%%%%%%%%%%%%
\Section{nicefrac.sty}
+%%%%%%%%%%%%%%%%%%%%%%%
\<nicefrac.4ht\><<<
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/systems/mac/mactex/ExtrasFolder.pdf b/systems/mac/mactex/ExtrasFolder.pdf
index a0b557587b..4b7bd19ab2 100644
--- a/systems/mac/mactex/ExtrasFolder.pdf
+++ b/systems/mac/mactex/ExtrasFolder.pdf
Binary files differ
diff --git a/systems/mac/mactex/Licenses.txt b/systems/mac/mactex/Licenses.txt
index 53aabe1a20..d40ffa5c44 100644
--- a/systems/mac/mactex/Licenses.txt
+++ b/systems/mac/mactex/Licenses.txt
@@ -1,6 +1,6 @@
$Id: Licenses.txt,v 1.14 2007/02/28 14:23:19 herbs Exp $
-Brief summary of the licensing of the various applications included as of 2022/04/21
+Brief summary of the licensing of the various applications included as of 2022/04/25
Aquamacs Emacs (Intel) - 3.6 - gpl - http://aquamacs.org/
Aquatkbibtex - 1.3 - gpl - http://aquatkbibtex.sourceforge.net/
@@ -13,7 +13,7 @@ LaTeXiT (10.9+) - 2.16.4 - CeCILL - http://ktd.club.fr/programm
Lyx (10.6+) - 2.3.6.2 - gpl - http://wiki.lyx.org/Mac/Mac
Présentation - 2.3.1 - gpl - http://iihm.imag.fr/blanch/software/osx-presentation/
SimpleTeX4ht - 3.3 - gpl - http://www.simpletex4ht.free.fr/
-Skim (10.10+) - 1.6.9 - bsd - http://skim-app.sourceforge.net/
+Skim (10.10+) - 1.6.10 - bsd - http://skim-app.sourceforge.net/
Symbols Widget - 1.4.3 - gpl - http://vocaro.com/trevor/software/widgets/
TeX Live Utility (10.9+) - 1.53 - bsd - https://github.com/amaxwell/tlutility/releases
TexMaker (10.13+) - 5.1.2 - gpl - http://www.xm1math.net/texmaker/
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 3aa54a997e..5192b4257a 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -160,7 +160,6 @@ $mirrors = {
},
'Spain' => {
'https://ctan.javinator9889.com/' => 1,
- 'https://osl.ugr.es/CTAN/' => 1,
},
'Sweden' => {
'https://ftp.acc.umu.se/mirror/CTAN/' => 1,
@@ -183,9 +182,6 @@ $mirrors = {
'https://mirror.its.dal.ca/ctan/' => 1,
'https://muug.ca/mirror/ctan/' => 1,
},
- 'Costa Rica' => {
- 'https://mirrors.ucr.ac.cr/CTAN/' => 1,
- },
'USA' => {
'http://bay.uchicago.edu/CTAN/' => 1,
'http://mirrors.ibiblio.org/pub/mirrors/CTAN/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index f0ca581512..228632fe8e 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/2022
-depend revision/63128
+depend revision/63142
name 00texlive.image
category TLCore
-revision 63116
+revision 63140
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
@@ -1039,6 +1039,7 @@ runfiles size=12541
tlpkg/tlpsrc/cinzel.tlpsrc
tlpkg/tlpsrc/circ.tlpsrc
tlpkg/tlpsrc/circledsteps.tlpsrc
+ tlpkg/tlpsrc/circledtext.tlpsrc
tlpkg/tlpsrc/circuit-macros.tlpsrc
tlpkg/tlpsrc/circuitikz.tlpsrc
tlpkg/tlpsrc/citation-style-language.tlpsrc
@@ -2128,6 +2129,7 @@ runfiles size=12541
tlpkg/tlpsrc/hulipsum.tlpsrc
tlpkg/tlpsrc/hustthesis.tlpsrc
tlpkg/tlpsrc/hvarabic.tlpsrc
+ tlpkg/tlpsrc/hvextern.tlpsrc
tlpkg/tlpsrc/hvfloat.tlpsrc
tlpkg/tlpsrc/hvindex.tlpsrc
tlpkg/tlpsrc/hvlogos.tlpsrc
@@ -4560,7 +4562,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 63118
+revision 63130
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
@@ -34481,7 +34483,7 @@ catalogue-version 0.2
name beaulivre
category Package
-revision 63098
+revision 63133
shortdesc Write your books in a colorful way
relocated 1
longdesc This package provides a LaTeX class for typesetting books with
@@ -34494,10 +34496,10 @@ longdesc on colorist.sty from the colorist package. The package name
longdesc "beaulivre" is taken from the French words "beau" (=
longdesc "beautiful") and "livre" (= "book").
depend colorist
-containersize 4232
-containerchecksum c229b8b345d4ee21d7f8c974b0ccc1b94ef77952575c87efa954cf14e4f264c95c54500408427cc3bec81860d93666f021185ec1f64c82619712c026536a3665
-doccontainersize 663752
-doccontainerchecksum 7c6f3bff3660c0a085e8448bfcc863ec0176f594a2457079e59bd1f2f398a0e566f3d2e4d7e6087e6e6bd79ddb67b988d1a8a9908e9b071046ed293bf3e4a23a
+containersize 4388
+containerchecksum e0f96894402ef1ca820b1a29de64e1075b492ec798fa23139957e57abaf1cc424f8513f488b6fccbe22d05d26c037947acd2f95d4220c9a0dbe2bd811b303ab3
+doccontainersize 666064
+doccontainerchecksum df2e5485bd9f0240d54e652e0168d269ec47bf4d7eab8d134680cd0b9b6e970aae3f672393527a6eeb11cb58ac97a5abf4fc2796793dc076e906d2ab56a62ca8
docfiles size=205
RELOC/doc/latex/beaulivre/LICENSE
RELOC/doc/latex/beaulivre/README.md details="Readme"
@@ -34507,7 +34509,7 @@ docfiles size=205
RELOC/doc/latex/beaulivre/beaulivre-doc-en.tex
RELOC/doc/latex/beaulivre/beaulivre-doc-fr.pdf details="Package documentation (French)" language="fr"
RELOC/doc/latex/beaulivre/beaulivre-doc-fr.tex
-runfiles size=7
+runfiles size=8
RELOC/tex/latex/beaulivre/beaulivre.cls
catalogue-also colorist
catalogue-contact-repository https://github.com/Jinwen-XU/colorist
@@ -57141,6 +57143,33 @@ catalogue-license lppl1.3c
catalogue-topics numbers
catalogue-version 1.3.1
+name circledtext
+category Package
+revision 63132
+shortdesc Create circled text
+relocated 1
+longdesc This LaTeX package provides a macro \circledtext to typeset
+longdesc circled text. Its starred version can produce an inverted
+longdesc version.
+containersize 5696
+containerchecksum 3bc9824011e9b7eb899857841cbd07806b288a365f7652792a6ea132c6d82c4346966fa3c7f72e203e01100ad05a13a06cbb81f21f46a7b5e4f47346c720e7cd
+doccontainersize 209936
+doccontainerchecksum 3a15b11b9ca1901e7b26c2c94d40ae2d1e1491e91d3d45ef52fa410f4b2d0c9d950f9e016cde6e52d018b7963ea10ff0bff399ac475054d043efb365d9796726
+docfiles size=60
+ RELOC/doc/latex/circledtext/README.md details="Readme"
+ RELOC/doc/latex/circledtext/build.sh
+ RELOC/doc/latex/circledtext/circledtext.pdf details="Package documentation" language="zh,en"
+ RELOC/doc/latex/circledtext/circledtext.tex
+runfiles size=8
+ RELOC/tex/latex/circledtext/circledtext.sty
+catalogue-also circledsteps
+catalogue-contact-bugs https://github.com/registor/circledtext/issues
+catalogue-contact-repository https://github.com/registor/circledtext
+catalogue-ctan /macros/latex/contrib/circledtext
+catalogue-license lppl1.3c
+catalogue-topics graphics-symb
+catalogue-version 1.0.0
+
name circuit-macros
category Package
revision 61987
@@ -68787,7 +68816,7 @@ containerchecksum 0568a3251d71fb3106fbb3961427200419ae1df22d39b5e72c608e2d94fc35
name collection-latexextra
category Collection
-revision 63101
+revision 63140
shortdesc LaTeX additional packages
relocated 1
longdesc A very large collection of add-on packages for LaTeX.
@@ -68973,6 +69002,7 @@ depend chngcntr
depend chronology
depend circ
depend circledsteps
+depend circledtext
depend classics
depend classpack
depend clefval
@@ -69424,6 +69454,7 @@ depend hpsdiss
depend href-ul
depend hrefhide
depend huawei
+depend hvextern
depend hvindex
depend hvlogos
depend hvpygmentex
@@ -70223,8 +70254,8 @@ depend zref-clever
depend zref-vario
depend zwgetfdate
depend zwpagelayout
-containersize 6628
-containerchecksum a03d47c2ddfdb5de5e17919d8fc514b44be6027d8bb4e96b16d6947a62fcc91d9d60c6d17f696ff1da278ca97cba5f48071ed35370b479492aec892103555ef8
+containersize 6636
+containerchecksum 287dc2f64399fda46819d77b26e198c7b21d855aa5e7bdbcc5af69451b56e9270790247dcec92dea7834fc4dba54430603b31183cb3be05bfe76e5c3ad8381e9
name collection-latexrecommended
category Collection
@@ -71729,7 +71760,7 @@ catalogue-version 0.2
name colorist
category Package
-revision 63098
+revision 63133
shortdesc Write your articles or books in a colorful way
relocated 1
longdesc This package offers you a LaTeX style file and two classes to
@@ -71744,11 +71775,11 @@ longdesc LuaLaTeX. Currently they have native support for Chinese (both
longdesc simplified and traditional), English, French, German, Italian,
longdesc Japanese, Portuguese (European and Brazilian), Russian and
longdesc Spanish typesetting, and also use more beautiful fonts.
-containersize 9836
-containerchecksum 40a079169985bc36c0d980e1f0b05de1c186c9fdaf6d1e99c4052d03c51ccd26058c3a07694b091e28e225886ed7af1802318aafbd9f882d961273bd79eca8e9
-doccontainersize 111880
-doccontainerchecksum 5ab03af5eb7a5508c8fd9b946b9ff24727a5e9e719075bfa9ef211a09e7f586e1e9aaa1d539e4224ac0a33d1dcd5b930484f79b8b595424ef0da8c68eec422d2
-docfiles size=37
+containersize 10092
+containerchecksum ac9731c2364425f149ec6d2ed55a17923025b51267aba2cb56413dda1590c3c1953d93360ee3a21efdca6bb02e2c26c1a1ea8a3c0962235803f0126b32438232
+doccontainersize 112256
+doccontainerchecksum ff01d48f2f8c9b603443114c999302f3626db7dcb0fed894047bdc0dfb7b8d10fd62045ac3cc18b6dcb955942f69cf2e935b911dbf9e52dd263f521f30abfdc3
+docfiles size=38
RELOC/doc/latex/colorist/LICENSE
RELOC/doc/latex/colorist/README.md details="Readme"
RELOC/doc/latex/colorist/colorist-doc.pdf details="Package documentation"
@@ -71762,7 +71793,7 @@ catalogue-also lebhart beaulivre
catalogue-contact-repository https://github.com/Jinwen-XU/colorist
catalogue-ctan /macros/latex/contrib/colorist
catalogue-license lppl1.3c
-catalogue-topics class article-like book-pub class multilingual
+catalogue-topics class expl3 article-like book-pub class multilingual
name colorprofiles
category Package
@@ -82041,7 +82072,7 @@ catalogue-topics multilingual maths maths-theorem expl3
name crefthe
category Package
-revision 62349
+revision 63133
shortdesc Cross referencing with proper definite articles
relocated 1
longdesc By default, when using cleveref's \cref to reference
@@ -82052,9 +82083,9 @@ longdesc purpose, the current package offers \crefthe, which handles the
longdesc definite articles properly (especially for the article
longdesc contractions in many European languages).
containersize 2896
-containerchecksum 31858e03f010c6375248062a5934b7210850ffd4dd599a8167834138c4b52f4996de530cffd613d9aad7f53f7fe4a4390488220dc125aaa1af246b469930bd19
-doccontainersize 125188
-doccontainerchecksum 4b36a5c981eb39525e4ce32be3f8f52904a4eef69866fae98d1768bfde6b43362aa62d4e0c00ccba806d3d086b1ad3073a50ff8652c8085f2405f2e7008da736
+containerchecksum 4a43be8988e56707eb68dbcb76d52eb05676b3e78ae7b47d4075744fb6874e475fcba80e1c8524a0d1ec779bef1f6b0317af4e6ef3f1f91b9497d95af44d0813
+doccontainersize 124916
+doccontainerchecksum 998eff86400cd7ef9d45ba78224812f3d252114b7a659b099c6168a2abb4745b8ba18ea1921fe99c652def6e80215cff1bf66f6308968022498c439f07fb69e4
docfiles size=38
RELOC/doc/latex/crefthe/LICENSE
RELOC/doc/latex/crefthe/README.md details="Readme"
@@ -105534,7 +105565,7 @@ catalogue-topics collection
name einfart
category Package
-revision 63098
+revision 63133
shortdesc Write your articles in a simple and clear way
relocated 1
longdesc This package provides a LaTeX class for typesetting articles
@@ -105548,11 +105579,11 @@ longdesc package. The package name "einfart" is taken from the German
longdesc word "einfach" ("simple"), combined with the first three
longdesc letters of "Artikel" ("article").
depend minimalist
-containersize 4364
-containerchecksum b610a87c8bd0b24f979094ecc17fde1b431870fb5d49fe92419f708fb677f3d15d24e96a03eaa6511dbf6a961dfc960a64115ea5fc85a46a261ad9a0fcae36be
-doccontainersize 555964
-doccontainerchecksum 1450ff427150d2d6a0b0e722472c12da0b6a38de5628ba3f51cb012e165044e960d6f9c5c788e0e1c4224200de3c0aada4541a2c7162b2c65e9b8993625a2dbf
-docfiles size=163
+containersize 4516
+containerchecksum c180c02a30a130b56cc4d81e3c4ba1718eb29ef410729c46bd6809b8bfd6da2b8008a8f79124dcfb2bbca83aa52e57e6a0b9425367cc28e5cbf686c5c0d8d359
+doccontainersize 558660
+doccontainerchecksum 3e77ee621ae610bea37295d1c61176aa82511ea391c6178aca5167abbe8e877fb7a4745e7b97e6c31ffa16c8291ba03d28a3c296eed1e417818b7b3ba6fa7428
+docfiles size=164
RELOC/doc/latex/einfart/LICENSE
RELOC/doc/latex/einfart/README.md details="Readme"
RELOC/doc/latex/einfart/einfart-doc-cn.pdf details="Package documentation (Chinese)" language="zh"
@@ -129405,7 +129436,7 @@ catalogue-version 5.9
name geradwp
category Package
-revision 60227
+revision 63134
shortdesc Document class for the Cahiers du GERAD series
relocated 1
longdesc This package provides the geradwp class, a class based on
@@ -129413,30 +129444,31 @@ longdesc article and compatible with LaTeX. With this class, researchers
longdesc at GERAD will be able to write their working paper while
longdesc complying to all the presentation standards required by the
longdesc Cahiers du GERAD series.
-containersize 5712
-containerchecksum 03eec24ca7e5152e83da1175ed9873cb3fec1d41ecadc5da4bfe5155b2d90985368f753b6ced659bd34630e3d909654571098ce2cdb679928b43914a140566f1
-doccontainersize 776584
-doccontainerchecksum e4460ac5eced7da09ad25c89257b47da638fefe95236660fa2a3f69089ead971f71c202c19c03df522670a444a0c0defffb73972e105bb61504ec3be15e970e0
-docfiles size=239
+containersize 5916
+containerchecksum b5b4cecbe95f3091348b917d9cafa31a5249bcf0b11b5a0be405d980c3a22d7af6f241af12ff999b5bbdf0aa3aebfff537e8c01fea9bdc904709eb66b3fc78bb
+doccontainersize 847744
+doccontainerchecksum e12924c6e3437f0d2665bbfd97aa7d88c491a159866a3ec7ffdf9f84298e4bc0ff336487a194b68f0ebfea67dbf415749118328ac1606f02f32193963f6339c9
+docfiles size=271
+ RELOC/doc/latex/geradwp/LICENSE.txt
RELOC/doc/latex/geradwp/README.md details="Readme"
RELOC/doc/latex/geradwp/geradwp-fr.pdf details="Package documentation (French)" language="fr"
RELOC/doc/latex/geradwp/geradwp.pdf details="Package documentation (English)"
RELOC/doc/latex/geradwp/geradwp.tex
-srccontainersize 20972
-srccontainerchecksum 2b2215a676fd7238ce463bab55c1d71e7f02edaab6a3598fb3a48174e8edb6cfb98b45d971049cf1cd5e4ad247af5898a734530e3b870cff9570e9ae92562376
-srcfiles size=20
+srccontainersize 23620
+srccontainerchecksum faf85f46bfe88f5ea1220e69b514f6c026096ca331f53bb19d2ef2f1cc728cf8b9c46d394579bf78ef60d1b75c3164c2c8c204e959d4a298dbbef2f9f2dbe5e5
+srcfiles size=23
RELOC/source/latex/geradwp/geradwp.dtx
RELOC/source/latex/geradwp/geradwp.ins
-runfiles size=5
+runfiles size=6
RELOC/tex/latex/geradwp/geradwp.cls
catalogue-contact-bugs https://github.com/metalogueur/geradwp/issues
-catalogue-contact-home https://www.gerad.ca/fr/cahiers-definition
+catalogue-contact-home https://www.gerad.ca/fr/papers
catalogue-contact-repository https://github.com/metalogueur/geradwp
-catalogue-contact-support https://www.gerad.ca/fr/cahiers-procedure
+catalogue-contact-support https://www.gerad.ca/fr/publications/papers/cahiers-procedure
catalogue-ctan /macros/latex/contrib/geradwp
catalogue-license lppl1.3c
catalogue-topics class doc-templ misc-paper
-catalogue-version 1.0
+catalogue-version 1.1
name german
category Package
@@ -140769,6 +140801,39 @@ catalogue-license lppl1.3c
catalogue-topics arabic bidi
catalogue-version 0.02
+name hvextern
+category Package
+revision 63140
+shortdesc Writing and reading of external source code and insert the output
+relocated 1
+longdesc This package allows to write MetaPost, TeX, ConTeXt, LaTeX,
+longdesc LuaTeX, LuaLaTeX, XeTeX, XeLaTeX, Lua, Perl, or Python source
+longdesc code in an external file, run that file via shell-escape to
+longdesc create a PDF/PNG or text output to include it automatically
+longdesc into the main LaTeX document.
+containersize 4860
+containerchecksum 77c3c5146a6063249d11efc256086de9a4291b03c381856827c764154917279c3d962a9aa05bb5411c9077959913d5f685550ee80bb19b843476f5b7f1a1392a
+doccontainersize 791556
+doccontainerchecksum 6227adce4374e4f89ab2f9af86229a52691c11cce6b561da8032c97cfd8e0e3ffda3caaeee5ef9e0a022356c320794b93c13751064ceefaee58ab7d2e69c2a02
+docfiles size=266
+ RELOC/doc/latex/hvextern/Changes
+ RELOC/doc/latex/hvextern/README details="Readme"
+ RELOC/doc/latex/hvextern/hvextern.pdf details="Package documentation"
+ RELOC/doc/latex/hvextern/hvextern.tex
+runfiles size=11
+ RELOC/tex/latex/hvextern/hvextern-context.cfg
+ RELOC/tex/latex/hvextern/hvextern-latex.cfg
+ RELOC/tex/latex/hvextern/hvextern-lua.cfg
+ RELOC/tex/latex/hvextern/hvextern-mp.cfg
+ RELOC/tex/latex/hvextern/hvextern-pl.cfg
+ RELOC/tex/latex/hvextern/hvextern-py.cfg
+ RELOC/tex/latex/hvextern/hvextern-tex.cfg
+ RELOC/tex/latex/hvextern/hvextern.sty
+catalogue-ctan /macros/latex/contrib/hvextern
+catalogue-license lppl1.3c
+catalogue-topics comp-supp image-supp ext-code
+catalogue-version 0.19
+
name hvfloat
category Package
revision 62893
@@ -140948,16 +141013,16 @@ catalogue-version 0.04
name hvlogos
category Package
-revision 62324
+revision 63135
shortdesc Print TeX-related names as logo
relocated 1
longdesc This package is more or less an extension to Heiko Oberdiek's
longdesc package hologo. It prints TeX-related names as logos. The
longdesc package requires fetamont, hologo, dantelogo, and xspace.
-containersize 2700
-containerchecksum dbbd50c2630106c5c5aae1e81b219c803fdac6c7268b1965eb54c2eb7125d1e0e74a360e32291458409c029432618d86a537af81d36287208f169416e641bff9
-doccontainersize 86228
-doccontainerchecksum ec2a919ca3d95d7bea5aa9eeb29e9673d344817f32a5ffc93c606031a3e9fb9d36d6183a5035a9a235e314cbd42bae4a8401b896ee0fd54b2431e246262d40ae
+containersize 2724
+containerchecksum f1a6354d7704b3b689dbb2e56c459b65e87cbb082297e121ce8e836a6b830c3a3c8bc9264c42d1471e424e66061c297c311e7ee6bc2adef0bff3db3b92a61f50
+doccontainersize 86292
+doccontainerchecksum 65cf289eeedb5ca43eac93b55c8be2ff981f8d1bc4df13b7becc93aa0b388f1ff0a91a805370b6a9bfbf8474746769ae7a8b3554addb67080eb0e19765b70d13
docfiles size=26
RELOC/doc/latex/hvlogos/Changes
RELOC/doc/latex/hvlogos/README details="Readme"
@@ -140968,7 +141033,7 @@ runfiles size=2
catalogue-ctan /macros/latex/contrib/hvlogos
catalogue-license lppl
catalogue-topics logo
-catalogue-version 0.07
+catalogue-version 0.08
name hvpygmentex
category Package
@@ -174733,7 +174798,7 @@ catalogue-version 2.1a
name lebhart
category Package
-revision 63098
+revision 63133
shortdesc Write your articles in a colorful way
relocated 1
longdesc This package provides a LaTeX class for typesetting articles
@@ -174746,11 +174811,11 @@ longdesc on colorist.sty from the colorist package. The package name
longdesc "lebhart" is taken from the German word "lebhaft" ("vivid"),
longdesc combined with the first three letters of "Artikel" ("article").
depend colorist
-containersize 4244
-containerchecksum c0dc7a26e591b0c799fb586a319afff0efea843955bc461a4aa5974811992ca9d52d56a7dc3c5a20ede404d6b5f7c32fd1b35a7523fe6c4938a5184791833f93
-doccontainersize 561152
-doccontainerchecksum 5b9016ec5396ec12e4221bb38928db66b7fe094f5f74f373cd7bd9923c2e731ebb41b4d9f56d1f14fd493389eb32090eac110f471aeaea149a7a025fe561d846
-docfiles size=163
+containersize 4404
+containerchecksum fa350fd45e2a20d26b438267ea43bd5a9d5d806f31312f4d2c1764bc53ecf0e921778dc8229c4234db9b1da41044d018dbf12e2863d2880a15eeaf6dd2a702a8
+doccontainersize 564476
+doccontainerchecksum 447af19241fec1eb2be9b2a0213ea6348e88e7bec1ffdc6a1f3f5de6a701be3a57b2446f1ca2111911daa5f5e23924aa0cb1360d312bbfcd472bda3f425bac02
+docfiles size=164
RELOC/doc/latex/lebhart/LICENSE
RELOC/doc/latex/lebhart/README.md details="Readme"
RELOC/doc/latex/lebhart/lebhart-doc-cn.pdf details="Package documentation (Chinese)" language="zh"
@@ -174759,7 +174824,7 @@ docfiles size=163
RELOC/doc/latex/lebhart/lebhart-doc-en.tex
RELOC/doc/latex/lebhart/lebhart-doc-fr.pdf details="Package documentation (French)" language="fr"
RELOC/doc/latex/lebhart/lebhart-doc-fr.tex
-runfiles size=7
+runfiles size=8
RELOC/tex/latex/lebhart/lebhart.cls
catalogue-also colorist
catalogue-contact-repository https://github.com/Jinwen-XU/colorist
@@ -184444,7 +184509,7 @@ catalogue-version 2.21
name llncsconf
category Package
-revision 62856
+revision 63136
shortdesc LaTeX package extending Springer's llncs class
relocated 1
longdesc The package extends Springer's llncs class for adding
@@ -184453,16 +184518,25 @@ longdesc accepted) as well as for creating author-archived versions that
longdesc include the references to the official version hosted by
longdesc Springer (as requested by the copyright transfer agreement for
longdesc Springer's LNCS series).
-containersize 2192
-containerchecksum 3e85bcd3a4eb541f2a57ddabaee93b128e6a1a4ef910e8091818f8ed451e742d3e4d66e596fa0e0f3a05b4fc47ece7e37cf7337ec25e27883c7ec5a53f7e2c7d
-doccontainersize 126308
-doccontainerchecksum a87269c36c5d2051b41478a7a921b156aac26eb72fb6111d5ba1718891ce726f72a1df09a0e1d237ba1a3330d2a5239e7dfb996f9ee4cda6adf8f893c579cfe7
-docfiles size=35
+containersize 2284
+containerchecksum ded1d0ad62120e6665653575e6641a9bacb1fdd18b168f7c4389e2d8bbca6afa8cf15bbb7cf087f2ba502f85bb492dfd5d79862e03d909227666af7d8860d47f
+doccontainersize 269964
+doccontainerchecksum 1fc61aab273b9ba1ffaa95cc2716f36d61bc5d7d7c03a2470e3dff5fbee20dda933e4a38e5b39a7e165f68408f993de693ba5547b673e9faa9e5115358c9bfb6
+docfiles size=323
RELOC/doc/latex/llncsconf/CHANGELOG.md
RELOC/doc/latex/llncsconf/LICENSE
RELOC/doc/latex/llncsconf/README.md details="Readme"
- RELOC/doc/latex/llncsconf/example.pdf details="Example of use"
- RELOC/doc/latex/llncsconf/example.tex
+ RELOC/doc/latex/llncsconf/example/example.tex
+ RELOC/doc/latex/llncsconf/example/example_accepted_crop.pdf details="Example of use"
+ RELOC/doc/latex/llncsconf/example/example_accepted_nocrop.pdf
+ RELOC/doc/latex/llncsconf/example/example_intended_crop.pdf
+ RELOC/doc/latex/llncsconf/example/example_intended_nocrop.pdf
+ RELOC/doc/latex/llncsconf/example/example_llncs_crop.pdf
+ RELOC/doc/latex/llncsconf/example/example_llncs_nocrop.pdf
+ RELOC/doc/latex/llncsconf/example/example_proceedings_crop.pdf
+ RELOC/doc/latex/llncsconf/example/example_proceedings_nocrop.pdf
+ RELOC/doc/latex/llncsconf/example/example_submitted_crop.pdf
+ RELOC/doc/latex/llncsconf/example/example_submitted_nocrop.pdf
runfiles size=2
RELOC/tex/latex/llncsconf/llncsconf.sty
catalogue-contact-bugs https://github.com/adbrucker/llncsconf/issues
@@ -184470,7 +184544,7 @@ catalogue-contact-repository https://github.com/adbrucker/llncsconf
catalogue-ctan /macros/latex/contrib/llncsconf
catalogue-license lppl1.3c
catalogue-topics journalpub archival
-catalogue-version 1.1.0
+catalogue-version 1.2.0
name lm
category Package
@@ -202506,7 +202580,7 @@ catalogue-version 2022/1.1
name minimalist
category Package
-revision 63098
+revision 63133
shortdesc Write your articles or books in a simple and clear way
relocated 1
longdesc This package offers you a LaTeX style file and two classes to
@@ -202522,10 +202596,10 @@ longdesc for Chinese (both simplified and traditional), English, French,
longdesc German, Italian, Japanese, Portuguese (European and Brazilian),
longdesc Russian and Spanish typesetting, and also use more beautiful
longdesc fonts.
-containersize 9592
-containerchecksum f5583c0e718198e5708a2adf80a30404d150855873386ff65a2be97c29ade5ff7695d9b73eadfd20d433d9795ecf013e7f9fe9df72db4929c91451c73cf18006
-doccontainersize 113032
-doccontainerchecksum 26a872bc1d6185d3061a17db5823bdc56c66dadff1de26e9b2f4fe033cc10a22179ab52b8e5de51b168c92dda455c5c54d4929415a8d17ccfa72a55c05cad0f2
+containersize 9620
+containerchecksum 517f9116343caddae6aa3881953bc96deb20546923e93d1f7c29e0f9c946ad3c997b5cb7cdf7e8ac423b1a773a42f9cfcb5b5b9083a3f89dada7c04bef90c05a
+doccontainersize 113284
+doccontainerchecksum bf2524b01e174d44c62ee963f14a2a814458fc497db657f39c27d15083fe4b7b3154a4a7d9aa19bc95856d165c4a11284a110fffad92f6c0d119172b8e1119f0
docfiles size=39
RELOC/doc/latex/minimalist/LICENSE
RELOC/doc/latex/minimalist/README.md details="Readme"
@@ -249932,7 +250006,7 @@ catalogue-version 0.99-m
name proflycee
category Package
-revision 62740
+revision 63137
shortdesc A LaTeX package for French maths teachers in high school
relocated 1
longdesc This package provides some commands to help French mathematics
@@ -249941,15 +250015,15 @@ longdesc create splines with "derivative control"; \paramCF and \ligneCF
longdesc in order to create an xcas-windows-like; \envconsolepythontex
longdesc and \envcodepythontex to create code presentation and code
longdesc execution with pythontex.
-containersize 6612
-containerchecksum d48c005939f581e855df62103685c76165e7366f0fcb63c03af6afacb16ead494e85b204b003cfb8afa4163f182bb65790d15b662a57a8e39cc9abebfd49fd37
-doccontainersize 483944
-doccontainerchecksum fc4a15d39c981bf1fb9a2d90130c6dd2f95912f8e4078b704c5b13451a19c80557296b0d22dab9c7d7894c0de6ce53b5be4536916c57236d3ff35f10ebca973c
-docfiles size=131
+containersize 7096
+containerchecksum b543afbb7811596dd04f81bf2546a8f3fe63a16fd7c5f61e3c6e8d0836f17dd2a1f2d8107914e68ccce760f1d02d67bc4b24b4c769fef0ece7500e4d0df31f70
+doccontainersize 493148
+doccontainerchecksum 811a66e48ec135eb291eaedd912161d8c3ad0438a442d919492218984e240f69e8c76a77c44bf8ed24c5593753eee32414fc1ae48912b64db88bb96855a86b8a
+docfiles size=135
RELOC/doc/latex/proflycee/ProfLycee-doc.pdf details="Package documentation" language="fr"
RELOC/doc/latex/proflycee/ProfLycee-doc.tex
RELOC/doc/latex/proflycee/README.md details="Readme"
-runfiles size=6
+runfiles size=7
RELOC/tex/latex/proflycee/ProfLycee.sty
catalogue-also profcollege
catalogue-contact-bugs https://github.com/cpierquet/ProfLycee/issues
@@ -249957,7 +250031,7 @@ catalogue-contact-repository https://github.com/cpierquet/ProfLycee
catalogue-ctan /macros/latex/contrib/proflycee
catalogue-license lppl1.3c
catalogue-topics maths french teaching
-catalogue-version 1.0.8
+catalogue-version 1.0.9
name program
category Package
@@ -250040,7 +250114,7 @@ catalogue-version 1.0b~4
name projlib
category Package
-revision 63098
+revision 63133
shortdesc A series of tools to simplify your workflow
relocated 1
longdesc ProjLib is a collection of tools to help you write LaTeX
@@ -250048,10 +250122,10 @@ longdesc documents. With the main package ProjLib loaded, you no longer
longdesc need to set up the theorem-like environments, nor to manually
longdesc configure the appropriate multilingual settings. In addition, a
longdesc series of auxiliary functionalities are introduced.
-containersize 23996
-containerchecksum 0756ee4526b9d554792600922b88f53eb83e8fe1794f8649c39d41bb5dd040bfbcd7ebe8189c24e0c56ef97bf9084fc95dc26e74f1f810decf87d71e83816d6d
-doccontainersize 679984
-doccontainerchecksum d91dfec047010f91a1b28e63c65c39d79be9807d36392778137586a31651e9a98bb285ecf7f1bd1ae3879457aab69553adb168cf6623012ac77d7b179ae44ac6
+containersize 24492
+containerchecksum cc2fa609f5c5663afcefd203fd2b39b266fec04408b4e5b1eee2d89e0f1147eeddd1bd08a74b0409c180ad652ddc3c4fa75cf443fc9b4201fe1698f9419d9a0e
+doccontainersize 680000
+doccontainerchecksum e00eae43bd2fadc0d58368941e12d5ab601253b48e8d40331d17732a6e531f1209371e916e0ccbf4815ca343688814fd95397c89d1d50c42e7114fba1d7e4e67
docfiles size=211
RELOC/doc/latex/projlib/LICENSE
RELOC/doc/latex/projlib/ProjLib-doc-cn.pdf details="Package documentation (Chinese)" language="zh"
@@ -250061,14 +250135,14 @@ docfiles size=211
RELOC/doc/latex/projlib/ProjLib-doc-fr.pdf details="Package documentation (French)" language="fr"
RELOC/doc/latex/projlib/ProjLib-doc-fr.tex
RELOC/doc/latex/projlib/README.md details="Readme"
-srccontainersize 45440
-srccontainerchecksum 6ef2e41bdd64bb5c36c77cd80e1f18e51165a45f1195d27f8eab3fc59fae1028192b84de32acbabff97014eefdb573392b106651787886ecd80e1fecdc053b28
-srcfiles size=74
+srccontainersize 45928
+srccontainerchecksum b4dc7f4e27f0c77e07bad155cfeae42f9bc4db7b03cbe190e2123c97873adae4515f7cea503017ef7e786563c4d90f7d9e1b1688a87d1092a6dddfca2e499350
+srcfiles size=76
RELOC/source/latex/projlib/ProjLib-doc.dtx
RELOC/source/latex/projlib/ProjLib-doc.ins
RELOC/source/latex/projlib/ProjLib.dtx
RELOC/source/latex/projlib/ProjLib.ins
-runfiles size=53
+runfiles size=55
RELOC/tex/latex/projlib/ProjLib.sty
RELOC/tex/latex/projlib/projlib-author.sty
RELOC/tex/latex/projlib/projlib-datetime.sty
@@ -273957,7 +274031,7 @@ catalogue-topics tut-latex
name simplivre
category Package
-revision 63098
+revision 63133
shortdesc Write your books in a simple and clear way
relocated 1
longdesc This package provides a LaTeX class for typesetting books with
@@ -273970,11 +274044,11 @@ longdesc depends on minimalist.sty from the minimalist package. The
longdesc package name "simplivre" is taken from the French words
longdesc "simple" and "livre" (= "book").
depend minimalist
-containersize 4336
-containerchecksum 8d8d0defe94721eaecdeb5784993a46d07074d647e2cb72c5cd980e2e776155569331d11849e84903792d748153a1e2bc15f1e7b0ba3ba7f11fac988d0390387
-doccontainersize 711284
-doccontainerchecksum 8256e5f3088531497c44f3b221c14f71002a76d762c696c69a86c7425fe7c36023c8d3473e254496bafdab74e19899666342f69ab7c0438cd74d1bd81bcee6ef
-docfiles size=219
+containersize 4492
+containerchecksum 47e0de16fce33ae2c3be3b14e5b2366ed601a10165ce40fbdbc8a769d00105d2ee651cd3a6b2f64a80ed090e65776465c00983b05d2bb7ce5c25572347444678
+doccontainersize 714420
+doccontainerchecksum 42e4d7f27f89ee356008e41a304c8f29cc62a99659e32acd849b605b07a1a15b1a5145e46b234469d3111e01ce51481819fee59f81d485ec71ccdf35b0921780
+docfiles size=220
RELOC/doc/latex/simplivre/LICENSE
RELOC/doc/latex/simplivre/README.md details="Readme"
RELOC/doc/latex/simplivre/simplivre-doc-cn.pdf details="Package documentation (Chinese)" language="zh"
@@ -274183,7 +274257,7 @@ catalogue-version 1.36
name siunitx
category Package
-revision 62903
+revision 63138
shortdesc A comprehensive (SI) units package
relocated 1
longdesc Typesetting values with units requires care to ensure that the
@@ -274208,18 +274282,18 @@ longdesc The package relies on LaTeX 3 support from the l3kernel and
longdesc l3packages bundles.
depend l3kernel
depend l3packages
-containersize 62872
-containerchecksum f232769fc19a44452246a4ab49c39f543ec3f966442ca75887c8ef3b65f57652bcb6f2b861f581a3a33f64957b6a05b37b9738569f91a648ef2dae5f2d28bfd0
-doccontainersize 1208380
-doccontainerchecksum b4dc202ea14d328c6756033a70b9456ab41001a95f04ed4b492edc400fd895c46b714b6b10afea05c8c729a4c46c3c9522b3008009d1b59d03ea4dec550e36aa
-docfiles size=323
+containersize 65416
+containerchecksum 45217eeada1de3d4d1277bb88be3d6787937b5c394f2d388e42306be72a03c4999fe4887a4cf9e742da0c63b44b9e55d71cb37928a90f4af349d365d7d670632
+doccontainersize 1239712
+doccontainerchecksum 064d4329dd403ed39ed4fb02d5210386681761538b47da5d567b081fbd8e704f86a992d874f294ceef2b14a12d68cb3916519eed8fb227758a229da8f333b0f8
+docfiles size=331
RELOC/doc/latex/siunitx/CHANGELOG.md
RELOC/doc/latex/siunitx/README.md details="Readme"
RELOC/doc/latex/siunitx/siunitx-code.pdf details="Code documentation"
RELOC/doc/latex/siunitx/siunitx.pdf details="User manual"
-srccontainersize 108860
-srccontainerchecksum 69e3dbe2069038f0f4e816bc62872978d0bad0db196813fbf602793c54203781a59454684bf16abbd2ec918c382e8314b44361e0b6fbec76ef6e9f5a109e131d
-srcfiles size=167
+srccontainersize 116360
+srccontainerchecksum 10974832de2a980663abe99676d1e06f896a54a13866d4a8893819c50e72c3e24db5d8eef46789385279b793911222fcac4723b0d5527aa2a049301c84d38440
+srcfiles size=179
RELOC/source/latex/siunitx/siunitx-abbreviation.dtx
RELOC/source/latex/siunitx/siunitx-angle.dtx
RELOC/source/latex/siunitx/siunitx-binary.dtx
@@ -274238,7 +274312,7 @@ srcfiles size=167
RELOC/source/latex/siunitx/siunitx.dtx
RELOC/source/latex/siunitx/siunitx.ins
RELOC/source/latex/siunitx/siunitx.tex
-runfiles size=147
+runfiles size=153
RELOC/tex/latex/siunitx/siunitx-abbreviations.cfg
RELOC/tex/latex/siunitx/siunitx-binary.cfg
RELOC/tex/latex/siunitx/siunitx-v2.sty
@@ -274250,7 +274324,7 @@ catalogue-contact-repository https://github.com/josephwright/siunitx
catalogue-ctan /macros/latex/contrib/siunitx
catalogue-license lppl1.3c
catalogue-topics units scientific-docs expl3
-catalogue-version 3.0.50
+catalogue-version 3.1.0
name skak
category Package
@@ -290856,7 +290930,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 63127
+revision 63141
shortdesc Convert (La)TeX to HTML/XML
longdesc A converter from TeX and LaTeX to SGML-based formats such as
longdesc (X)HTML, MathML, OpenDocument, and Docbook, providing a
@@ -290877,10 +290951,10 @@ longdesc files from them is nontrivial, and generally done with the
longdesc Makefile in development, from which the TeX4ht package in TeX
longdesc Live is updated.
depend tex4ht.ARCH
-containersize 951020
-containerchecksum 5f4b3a9231a525fb1da590e420e3af89ef41f72366ef7d8a9141855f90f353e4cae6772f4695575c65bd880d82aad6d22d4a638d3bc4c5c5002f50e5c5453829
+containersize 951452
+containerchecksum 1089c3ab90ea414d03f50ca71a86b5818257e5755f2e3b098eb986fde23cf53e2123def604c867bebb7a4daa07329298fa93dfb08f2c6db506f7a5377ad1541d
doccontainersize 136384
-doccontainerchecksum 14c53a7693e481942a49580bcc93df6297810544a126ceaf4f842b2f3c9f4263e03c8015034df1a578d3881fc2715b4dcf0156141d4c739bbb606bdc25b926c4
+doccontainerchecksum 629ead2bb8015e589228715f0dc24c7376766ba6b04ca1f9af8a646ccbf4834388efea36e14906dedf4ad2b2309e97af47782ac9268dc26ad267b00666776a88
docfiles size=260
texmf-dist/doc/generic/tex4ht/Makefile
texmf-dist/doc/generic/tex4ht/README details="Readme"
@@ -290952,8 +291026,8 @@ docfiles size=260
texmf-dist/doc/generic/tex4ht/mn56.html
texmf-dist/doc/generic/tex4ht/mn5x.png
texmf-dist/doc/generic/tex4ht/mn6x.png
-srccontainersize 1249404
-srccontainerchecksum f14aa9c19a66caeeddd5f84c6bc9bfda8d2c6b9255ae5c95dcc6c8e2be2fb88c48736a279e50b700ed764e499f0956d85b10ea7ba86e2001ea53ea8512723dfd
+srccontainersize 1255404
+srccontainerchecksum 042f73688f0efb3764cd58275ab649b5f37a5ecce59e5ad397c09cefac8a55d4820b42430b102ba448a8a1230644e8fe8b91fdb6668ba9bd4193524069831118
srcfiles size=3809
texmf-dist/source/generic/tex4ht/ChangeLog
texmf-dist/source/generic/tex4ht/Makefile
@@ -291029,7 +291103,7 @@ srcfiles size=3809
texmf-dist/source/generic/tex4ht/update-htfonts
texmf-dist/source/generic/tex4ht/wripro.tex
texmf-dist/source/generic/tex4ht/xtpipes.tex
-runfiles size=11045
+runfiles size=11046
texmf-dist/scripts/tex4ht/ht.sh
texmf-dist/scripts/tex4ht/htcontext.sh
texmf-dist/scripts/tex4ht/htcopy.pl
@@ -291112,6 +291186,7 @@ runfiles size=11045
texmf-dist/tex/generic/tex4ht/boxedminipage.4ht
texmf-dist/tex/generic/tex4ht/braket.4ht
texmf-dist/tex/generic/tex4ht/breakurl-hooks.4ht
+ texmf-dist/tex/generic/tex4ht/breqn.4ht
texmf-dist/tex/generic/tex4ht/bussproofs.4ht
texmf-dist/tex/generic/tex4ht/byname.4ht
texmf-dist/tex/generic/tex4ht/caption-hooks.4ht
@@ -301300,7 +301375,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 63118
+revision 63130
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.
@@ -301308,10 +301383,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 109732
-containerchecksum b9e318f654b51ecbfd8fe559755846638ffc5226b302d326047051c57340b87fb67b2b0efadd211ab437d627ffa3b7d84e50384aecfef3832a9ddcb5c45dcbd6
+containersize 109704
+containerchecksum defbded9d6635cc623b8ba68d6e94bd60855a0366c3ad60fd6bb7c18048d52ebff3d38832a0544ad8fd36e54a0a5a51f7880b362e16909e4607e6dd9c137f627
doccontainersize 406212
-doccontainerchecksum 3ea5119d21a3302f79a57027222a9048c668b76ffd2f456582443d19bb799ac753d6ae8802e8f7a7221a611606277d6798ac7ff65eb9a98824c5ffc4d5c5df9b
+doccontainerchecksum cec2e5b5c0f1f984bbe06f3c0167884445c5d1915cb29a75d3b1246e437f9c4db7424bc2d9327be07ead20f22dd8556d09184b5d0404954e2fa6207a7d960729
docfiles size=505
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -316895,7 +316970,7 @@ catalogue-version 1.0
name tuda-ci
category Package
-revision 63090
+revision 63139
shortdesc LaTeX templates of Technische Universitat Darmstadt
relocated 1
longdesc The TUDa-CI-Bundle provides a possibility to use the Corporate
@@ -316903,11 +316978,11 @@ longdesc Design of TU Darmstadt in LaTeX. It contains documentclasses as
longdesc well as some helper packages and config files together with
longdesc some templates for user documentation, which currently are only
longdesc available in German.
-containersize 43392
-containerchecksum 9cb4f84ef0a4d90ebeea8ceb9363153a8a8d2b9ad4e34451dc8f6c24687b153d9937978e8079b6f61f5211865b3bf81182f78290066c15c2fe2f1dff4ab33619
-doccontainersize 1131820
-doccontainerchecksum 534284feb07e02e594707a2c0b59c6de77901b1741054552b4711f10b89726d17c80ad51f59e55e9b8ed3ac771164ef31db88502d1bee55368bf06ce0a45c4af
-docfiles size=1615
+containersize 43500
+containerchecksum f27ebba98a80635152e863d41d38b4f5b282b93d9aad08f8359873a7a74d90b4fa9b1c25473725ebdadbb263e61cf9fa790a87f7f71ae0f85b8c18f8c66e7a6e
+doccontainersize 1143336
+doccontainerchecksum c2672a1002d400bb03cfa61d4c0831849cb9f4fa213bfbbc2f06a16e14d1cc43f018809e9bb877de4e280fe216b90b58ae5bbdd86379c3f91c79f3699eb0aea4
+docfiles size=1618
RELOC/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.pdf
RELOC/doc/latex/tuda-ci/DEMO-TUDaAnnouncement.tex
RELOC/doc/latex/tuda-ci/DEMO-TUDaBeamer.pdf details="Example presentation" language="de"
@@ -316933,7 +317008,7 @@ docfiles size=1615
RELOC/doc/latex/tuda-ci/DEMO-TUDaThesis.pdf details="Example bachelor's thesis" language="de"
RELOC/doc/latex/tuda-ci/DEMO-TUDaThesis.tex
RELOC/doc/latex/tuda-ci/README.md details="Readme"
-runfiles size=82
+runfiles size=83
RELOC/tex/latex/tuda-ci/beamercolorthemeTUDa.sty
RELOC/tex/latex/tuda-ci/beamerfontthemeTUDa.sty
RELOC/tex/latex/tuda-ci/beamerinnerthemeTUDa.sty
@@ -316969,7 +317044,7 @@ catalogue-contact-repository https://github.com/tudace/tuda_latex_templates
catalogue-ctan /macros/latex/contrib/tuda-ci
catalogue-license lppl1.3c
catalogue-topics class doc-templ letter dissertation presentation poster std-conform
-catalogue-version 3.24
+catalogue-version 3.25
name tudscr
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 62a0ae3fbd..1102e79a64 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-dc5bef9b653c56774f20f5558934a964 texlive.tlpdb
+a211cd43ccb364c122318fc9f793a06a texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index dfcffb8e21..e3c33af4db 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-633bbf486ebcab5eae43a831e1ca8a4aaffc5ea77b404de797cb7c17104064526060b7417bcc86dfd011a5ab8050f343014d37145a1f7d7a26402e4d951a5e0f texlive.tlpdb
+d321890740c42ec25cf39fbf1622b20ffc1b07fb9bb9c1cd99f6868a88e9ccc85139e8374163ca1b8613c6b3382059679aa0fcc7a4f7699749a92136a6977d0b texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index b3c390e7fd..04b0a75873 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-----
-iQEcBAEBCgAGBQJiZeMKAAoJEEzhh34ZQ4xwuK0H/RO42v6+uYGNBOD9CUD/STZd
-sc8gZfHkcPriCWQaHqwQg5NUJ2J8maAl/DRq24LEjyxAIsW9z9ylFP8Xm3Kvuxe2
-aAeHDURVc232SFme8nPc62ZCW9hFgzEZOeyUFj9TaHPf5+Iza9ijxmLdnG8Cey24
-/z7bAcRC0aywOU+iCOsKE3Mody4YwFtY60MaCaPsnGVJdkxiUyOLWvdbk+KktsQv
-+w9JzdYjXek6C7c1ShFnOGpJofrSoJAoi0suVbKHCj4IynYk6zTSqYs0Zyag4JyF
-6DCwjusgT9i9H7xrNYx0naa30JYbbOZIRcTu47VUoHLWuxQOuw9Ub/Rrq/whAHg=
-=akVu
+iQEcBAEBCgAGBQJiZzS0AAoJEEzhh34ZQ4xw0hsIAIFhoFt3C+DU+iGWbTKe8zF5
+LFbPiz9oShly2UCHpVcogK5Gay8Nb6glX9mHcW6qvwHl2E0L9neF9In9Gh09ep0Y
++VCNWPstvYtdwz3pMdE9bTs61hoqKES+Pm++QMRONUib4UcAMeN5ZWO3ZOG0AweF
+AwLpo+v/ebmRyel82rpv1e1qaJsMcU0IMBlsehOWBASxp3xpvou2WjY162ChjxRE
+0go7I0nHKJFoF3CJsCa9RJDF3yo7xSTf/AjjMPnxrCIVXt/8XB4UzH+fkdvR5+uZ
+Xe06gPBTMbC4mVHmAk+PN1pSVvnxtYYnL2cCepHSMvcyJdpaaeE+O0y/6iiITUg=
+=i2fM
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index ef6e084fa6..6395ff700c 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/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index b2434f7e03..67ae749d6b 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=1650831446
+date=1650917816
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=99e29753548cb20a48c68ce7aebc64ba
+lstdigest=c82ec856ee7bddb98ff92e6b5a887419
numpkg=5557
relstate=next
-version=8149
+version=8150
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: XZPCnpKC5mzNMJP9sFkvqrjh3gWp8ujdA7i6A1e3rbfeHJ6P/0T4/apr9nchb8GPmqEvdqqafUwlEiN72oTf8MPmbYkQeGzA/bJTYrjg6epUK8GG+Jml+5mDOEJ4MF4xidyae62v0aQQ4ECrrv5EysQxb52RNjDIum7qWKomZY+/IAyqUlnpSaLxCJsWTfSRA/QlxaAmphFhVDaYinuaJGKrgzxUdH9RZXZQ3SZNr+58/tnvozsGJXmA07F0JUBnbHu0LnWDHocRXqhL2yWGvPl/ppELAPnYdl3LMmUOyu9DHgNgZma9QQxNoxTjKD/Q9oq/SoQ5CjmvREzdeuGv0Q==
+;;;; signature/miktex: ToR8ymGGzF/4piigHEEQg8DLy9LQijEVGYfxtLS5CgzdLBHnhAQTdKfEzTocBlQtJuK3TouHi3FUT6l9XtV5dY9b+eXvst0TnUEgN93wtuW0/EUVcHCPwBkjriOLNj8HGKIi9gB8iTsiL8St2qrcHqKnNf7ubZtZd3z7WmRObK1Ilg3H1hyIt+/qKVru73Mn2WCUKMOia1dIrB+OZdAjFE7C+iXPXB7dgYISGUi5tf3DuLxlH904Gy4+ccDhrIWjkzpRqtr+GFg3Zw5ECepXJg4m6xDfcnJQVnyocfLi6abJZze+6yjQq4Te0cM0QmM1ULdd6pYuGLCw0T/S4qArTw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index 5eec1e17bc..7c348cc99c 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1650831073
+date=1650917465
lastupd=adjmulticol adjmulticol__doc adjmulticol__source arara arara__doc arara__source autopuncitems autopuncitems__doc autopuncitems__source babel-french babel-french__doc babel-french__source beaulivre beaulivre__doc beaulivre__source biblatex-gb7714-2015 biblatex-gb7714-2015__doc biblatex-gb7714-2015__source bxorigcapt bxorigcapt__doc
-lstdigest=0ab814ae49baf91f4c723a85c8fddb01
+lstdigest=8975621994761d2534c8a93875686f08
numpkg=5557
relstate=stable
-version=8149
+version=8150
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: mWsuQug925sMPzFln9JF1ujFrEuzwTtcJllAObURaCR+9l2kjpXwBya/qFSpsmcla8oL1Lhgk42YH2EIWIymhSmq0sSNDkmilX8jJfxHChcn1Of5JWyNpxgna0zoIx0jZ0raVTmq+lojwQxUad03hHQm8WvdMA1Qe4vpVTCTSkMgUe7AdjfHmU+/62lBASP39Qv13t03btJwaVI1fACMmLGOPSg5Ar790pofkDOfQ6Y1noZyoAv7F4MGyogccf532jB0kZDISSTQfftljXfdu4XxMbVTxZWKMFFSX79cE0aKXlqpDsf+qP3Kqilfvy4WIWy4RGCy4S84Pk9ykwab8A==
+;;;; signature/miktex: ELmCo2H/Bd+6UVWSW9uXcC2k+doQvCWUKF6IUhArmRxTXnxqb8f/bMcSx+hOfEH17KxtMX1MSrEzY2C8bQBW1aSv+dDHxXLrtLKfzGv26CKI+FWr7hzKgbERpPv3QHxDzlzSIJiyLRDpDWtHgtQ9+KhWf17QCOSszi0JqJfC+nEU6kJIHHgs4IhDKIe1i3EOyZ7uJqRo8f7rzqyTB0evyDPY3sofcPR010W6/g9EI1TlQA05vWL9QtUio5XyHk0WGfWcxWZlPY/62cIAuU6Og9n3IZ9IIWGfezSy3fBywkWW5uJZYxdciR1xE2uHV1iAO5W2EF/+GE4mjx7FT9njuw==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 5afb27b52e..53f9eb2cf4 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:
-2022-04-25-02-02
+2022-04-26-02-02