summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-04-16 03:00:53 +0000
committerNorbert Preining <norbert@preining.info>2024-04-16 03:00:53 +0000
commit9800bfd04f16cdf2663b542883c67de4d0926b21 (patch)
treeed9cb7e96c3286ab92931b79ceab86a2fbab9376
parentefca04f9a0ac7156dacf34c21a20614e34e37ca2 (diff)
CTAN sync 202404160300
-rw-r--r--FILES.byname323
-rw-r--r--FILES.byname.gzbin2646553 -> 2646677 bytes
-rw-r--r--FILES.last07days272
-rw-r--r--biblio/ctan-bibdata/ctan.bib38
-rw-r--r--graphics/pgf/contrib/aobs-tikz/README.txt (renamed from graphics/pgf/contrib/aobs-tikz/README)0
-rw-r--r--graphics/pgf/contrib/aobs-tikz/aobs-tikz.dtx11
-rw-r--r--graphics/pgf/contrib/aobs-tikz/aobs-tikz.ins4
-rw-r--r--graphics/pgf/contrib/aobs-tikz/aobs-tikz.pdfbin86721 -> 94999 bytes
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/Changes1
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/README.md4
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdfbin228546 -> 264885 bytes
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex48
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdfbin233412 -> 0 bytes
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex409
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty4
-rw-r--r--graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex134
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/README8
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE26
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdfbin1245018 -> 1247496 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex75
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdfbin233089 -> 233075 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdfbin182889 -> 182891 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdfbin64860 -> 64859 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdfbin87995 -> 87997 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdfbin280404 -> 280489 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdfbin158653 -> 158659 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdfbin68316 -> 68320 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex2
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdfbin157473 -> 157473 bytes
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/dates-test.bib69
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx79
-rw-r--r--macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx39
-rw-r--r--macros/latex/contrib/epcqrcode/README5
-rw-r--r--macros/latex/contrib/epcqrcode/epcqrcode-doc.pdfbin160738 -> 159912 bytes
-rw-r--r--macros/latex/contrib/epcqrcode/epcqrcode.dtx11
-rw-r--r--macros/latex/contrib/epcqrcode/epcqrcode.ins4
-rw-r--r--macros/latex/contrib/fontscale/CHANGELOG.md62
-rw-r--r--macros/latex/contrib/fontscale/README.txt10
-rw-r--r--macros/latex/contrib/fontscale/beery.cls8
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex74
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex72
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex72
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual.pdfbin129725 -> 131367 bytes
-rw-r--r--macros/latex/contrib/fontscale/fontscale-manual.tex767
-rw-r--r--macros/latex/contrib/fontscale/fontscale.sty2613
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md13
-rw-r--r--macros/latex/contrib/siunitx/siunitx-abbreviation.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin645101 -> 645640 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx15
-rw-r--r--macros/latex/contrib/siunitx/siunitx-unit.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin703728 -> 703738 bytes
-rw-r--r--macros/latex/contrib/tugboat/NEWS14
-rw-r--r--macros/latex/contrib/tugboat/ltubguid.ltx4
-rw-r--r--macros/latex/contrib/tugboat/ltubguid.pdfbin328791 -> 328892 bytes
-rw-r--r--macros/latex/contrib/tugboat/tugboat-code.pdfbin521480 -> 523488 bytes
-rw-r--r--macros/latex/contrib/tugboat/tugboat.bst4
-rw-r--r--macros/latex/contrib/tugboat/tugboat.dtx188
-rw-r--r--macros/latex/contrib/tugboat/tugboat.ins4
-rw-r--r--macros/plain/contrib/tugboat/tubguide.pdfbin207800 -> 207800 bytes
-rw-r--r--macros/plain/contrib/tugboat/tugboat.cmn17
-rw-r--r--macros/plain/contrib/tugboat/tugboat.sty20
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl4
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb159
-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.asc16
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2564628 -> 2562824 bytes
-rw-r--r--timestamp2
70 files changed, 2852 insertions, 2864 deletions
diff --git a/FILES.byname b/FILES.byname
index 287a3312fb..18854a7771 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2076,12 +2076,12 @@
2024/03/12 | 1837 | biblio/citation-style-language/README.md
2024/03/12 | 12878 | biblio/citation-style-language/vancouver.csl
2024/03/12 | 4553440 | biblio/citation-style-language.zip
-2024/04/14 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/04/15 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2024/04/14 | 2860850 | biblio/ctan-bibdata/ctan.bib
-2024/04/14 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/04/15 | 2861986 | biblio/ctan-bibdata/ctan.bib
+2024/04/15 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2024/04/14 | 4120277 | biblio/ctan-bibdata.zip
+2024/04/15 | 4120369 | biblio/ctan-bibdata.zip
2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -5443,7 +5443,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
-2024/04/14 | 64510 | FILES.last07days
+2024/04/15 | 76011 | 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
@@ -171821,11 +171821,11 @@
2024/03/05 | 1073 | graphics/pgf/contrib/adigraph/LICENSE
2024/03/05 | 3281 | graphics/pgf/contrib/adigraph/README.md
2024/03/05 | 690429 | graphics/pgf/contrib/adigraph.zip
-2014/01/12 | 19970 | graphics/pgf/contrib/aobs-tikz/aobs-tikz.dtx
-2014/01/12 | 3757 | graphics/pgf/contrib/aobs-tikz/aobs-tikz.ins
-2014/01/12 | 86721 | graphics/pgf/contrib/aobs-tikz/aobs-tikz.pdf
-2014/01/12 | 686 | graphics/pgf/contrib/aobs-tikz/README
-2014/01/12 | 92515 | graphics/pgf/contrib/aobs-tikz.zip
+2024/04/15 | 20459 | graphics/pgf/contrib/aobs-tikz/aobs-tikz.dtx
+2024/04/15 | 3757 | graphics/pgf/contrib/aobs-tikz/aobs-tikz.ins
+2024/04/15 | 94999 | graphics/pgf/contrib/aobs-tikz/aobs-tikz.pdf
+2024/04/15 | 686 | graphics/pgf/contrib/aobs-tikz/README.txt
+2024/04/15 | 99312 | graphics/pgf/contrib/aobs-tikz.zip
2023/12/02 | 275801 | graphics/pgf/contrib/argumentation/argumentation-doc.pdf
2023/12/02 | 23227 | graphics/pgf/contrib/argumentation/argumentation-doc.tex
2023/12/02 | 5829 | graphics/pgf/contrib/argumentation/argumentation.sty
@@ -177295,15 +177295,13 @@
2021/09/01 | 37423 | graphics/pstricks/contrib/pst-geo/doc/pst-geo-doc.tex
2016/12/07 | 24810 | graphics/pstricks/contrib/pst-geo/dvips/pst-geo.pro
2020/06/07 | 371 | graphics/pstricks/contrib/pst-geo/latex/pst-geo.sty
-2021/12/28 | 191 | graphics/pstricks/contrib/pst-geometrictools/Changes
-2021/12/28 | 228546 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
-2021/12/28 | 17300 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
-2021/12/28 | 233412 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf
-2021/12/28 | 15387 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex
-2017/07/02 | 830 | graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty
-2021/12/28 | 990 | graphics/pstricks/contrib/pst-geometrictools/README.md
-2021/12/28 | 51149 | graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex
-2021/12/28 | 454213 | graphics/pstricks/contrib/pst-geometrictools.zip
+2024/04/15 | 252 | graphics/pstricks/contrib/pst-geometrictools/Changes
+2024/04/15 | 264885 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
+2024/04/15 | 18650 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
+2024/04/15 | 841 | graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty
+2024/04/15 | 982 | graphics/pstricks/contrib/pst-geometrictools/README.md
+2024/04/15 | 51269 | graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex
+2024/04/15 | 239939 | graphics/pstricks/contrib/pst-geometrictools.zip
2021/09/01 | 538 | graphics/pstricks/contrib/pst-geo/README
2021/09/01 | 43110 | graphics/pstricks/contrib/pst-geo/tex/pst-geo.tex
2021/09/01 | 157496858 | graphics/pstricks/contrib/pst-geo.zip
@@ -206931,7 +206929,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
-2024/04/12 | 1590375 | install/macros/latex/contrib/siunitx.tds.zip
+2024/04/15 | 1591106 | install/macros/latex/contrib/siunitx.tds.zip
2024/04/05 | 986383 | install/macros/latex/contrib/sjtutex.tds.zip
2019/10/15 | 315856 | install/macros/latex/contrib/skmath.tds.zip
2019/10/16 | 345652 | install/macros/latex/contrib/skrapport.tds.zip
@@ -226788,63 +226786,63 @@
2021/02/24 | 2226 | macros/latex/contrib/biblatex-contrib/biblatex-chem/chem-rsc.cbx
2021/02/24 | 737 | macros/latex/contrib/biblatex-contrib/biblatex-chem/README.md
2021/02/24 | 1515975 | macros/latex/contrib/biblatex-contrib/biblatex-chem.zip
-2022/11/17 | 1245018 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf
-2022/11/17 | 1102309 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex
-2022/11/17 | 233089 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdf
-2022/11/17 | 59626 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex
-2022/11/17 | 182889 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdf
-2022/11/17 | 26019 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.tex
-2022/11/17 | 64860 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdf
-2022/11/17 | 5715 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.tex
-2022/11/17 | 87995 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdf
-2022/11/17 | 12872 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.tex
-2022/11/17 | 280404 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdf
-2022/11/17 | 38611 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.tex
-2022/11/17 | 158653 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdf
-2022/11/17 | 13656 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.tex
-2022/11/17 | 68316 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdf
-2022/11/17 | 4252 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex
-2022/11/17 | 157473 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdf
-2022/11/17 | 25208 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.tex
-2022/11/17 | 184700 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/dates-test.bib
-2022/11/17 | 7419 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/legal-test.bib
-2022/11/17 | 155631 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/notes-test.bib
-2022/11/17 | 10791 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty
-2022/11/17 | 141906 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.bbx
-2022/11/17 | 8543 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.cbx
-2022/11/17 | 164162 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx
-2022/11/17 | 11049 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.cbx
-2022/11/17 | 105 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.bbx
-2022/11/17 | 9916 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.cbx
-2022/11/17 | 101 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.bbx
-2022/11/17 | 12799 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.cbx
-2022/11/17 | 110177 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx
-2022/11/17 | 153362 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx
-2022/11/17 | 110221 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx
-2022/11/17 | 207073 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx
-2022/11/17 | 151814 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx
-2022/11/17 | 340030 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx
-2022/11/17 | 47572 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-american.lbx
-2022/11/17 | 29312 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-brazilian.lbx
-2022/11/17 | 4487 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-british.lbx
-2022/11/17 | 102 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms.dbx
-2022/11/17 | 12454 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty
-2022/11/17 | 36722 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-dutch.lbx
-2022/11/17 | 16350 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsendnotes.sty
-2022/11/17 | 33955 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-finnish.lbx
-2022/11/17 | 32731 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-french.lbx
-2022/11/17 | 39795 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-german.lbx
-2022/11/17 | 29274 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-icelandic.lbx
-2022/11/17 | 39798 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-ngerman.lbx
-2022/11/17 | 29721 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norsk.lbx
-2022/11/17 | 29733 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norwegian.lbx
-2022/11/17 | 29814 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-nynorsk.lbx
-2022/11/17 | 35678 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-romanian.lbx
-2022/11/17 | 34233 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-spanish.lbx
-2022/11/17 | 34046 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-swedish.lbx
-2022/11/17 | 6746 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/README
-2022/11/17 | 120323 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE
-2022/11/17 | 3242567 | macros/latex/contrib/biblatex-contrib/biblatex-chicago.zip
+2024/04/15 | 1247496 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf
+2024/04/15 | 1104037 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex
+2024/04/15 | 233075 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdf
+2024/04/15 | 59625 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex
+2024/04/15 | 182891 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdf
+2024/04/15 | 26019 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.tex
+2024/04/15 | 64859 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdf
+2024/04/15 | 5715 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.tex
+2024/04/15 | 87997 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdf
+2024/04/15 | 12872 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.tex
+2024/04/15 | 280489 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdf
+2024/04/15 | 38611 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.tex
+2024/04/15 | 158659 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdf
+2024/04/15 | 13656 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.tex
+2024/04/15 | 68320 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdf
+2024/04/15 | 4229 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex
+2024/04/15 | 157473 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdf
+2024/04/15 | 25208 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.tex
+2024/04/15 | 184853 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/dates-test.bib
+2024/04/15 | 7419 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/legal-test.bib
+2024/04/15 | 155631 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/notes-test.bib
+2024/04/15 | 10791 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty
+2024/04/15 | 141906 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.bbx
+2024/04/15 | 8543 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.cbx
+2024/04/15 | 164162 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx
+2024/04/15 | 11049 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.cbx
+2024/04/15 | 105 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.bbx
+2024/04/15 | 9916 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.cbx
+2024/04/15 | 101 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.bbx
+2024/04/15 | 12799 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.cbx
+2024/04/15 | 110177 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx
+2024/04/15 | 156217 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx
+2024/04/15 | 110221 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx
+2024/04/15 | 207073 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx
+2024/04/15 | 151814 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx
+2024/04/15 | 341496 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx
+2024/04/15 | 47572 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-american.lbx
+2024/04/15 | 29312 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-brazilian.lbx
+2024/04/15 | 4487 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-british.lbx
+2024/04/15 | 102 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms.dbx
+2024/04/15 | 12454 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty
+2024/04/15 | 36722 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-dutch.lbx
+2024/04/15 | 16350 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsendnotes.sty
+2024/04/15 | 33955 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-finnish.lbx
+2024/04/15 | 32731 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-french.lbx
+2024/04/15 | 39795 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-german.lbx
+2024/04/15 | 29274 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-icelandic.lbx
+2024/04/15 | 39798 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-ngerman.lbx
+2024/04/15 | 29721 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norsk.lbx
+2024/04/15 | 29733 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norwegian.lbx
+2024/04/15 | 29814 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-nynorsk.lbx
+2024/04/15 | 35678 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-romanian.lbx
+2024/04/15 | 34233 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-spanish.lbx
+2024/04/15 | 34046 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-swedish.lbx
+2024/04/15 | 6745 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/README
+2024/04/15 | 121419 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE
+2024/04/15 | 3246509 | macros/latex/contrib/biblatex-contrib/biblatex-chicago.zip
2017/04/09 | 3318 | macros/latex/contrib/biblatex-contrib/biblatex-claves/claves.bbx
2017/04/09 | 763 | macros/latex/contrib/biblatex-contrib/biblatex-claves/claves.dbx
2016/09/11 | 349 | macros/latex/contrib/biblatex-contrib/biblatex-claves/documentation/biblatex-claves.bib
@@ -233257,11 +233255,11 @@
2024/02/14 | 1083 | macros/latex/contrib/eolang/LICENSE.txt
2024/02/14 | 1315 | macros/latex/contrib/eolang/README.md
2024/02/14 | 1940056 | macros/latex/contrib/eolang.zip
-2024/04/11 | 160738 | macros/latex/contrib/epcqrcode/epcqrcode-doc.pdf
-2024/04/11 | 32643 | macros/latex/contrib/epcqrcode/epcqrcode.dtx
-2024/04/11 | 1578 | macros/latex/contrib/epcqrcode/epcqrcode.ins
-2024/04/11 | 1629 | macros/latex/contrib/epcqrcode/README
-2024/04/11 | 163734 | macros/latex/contrib/epcqrcode.zip
+2024/04/15 | 159912 | macros/latex/contrib/epcqrcode/epcqrcode-doc.pdf
+2024/04/15 | 32652 | macros/latex/contrib/epcqrcode/epcqrcode.dtx
+2024/04/15 | 1548 | macros/latex/contrib/epcqrcode/epcqrcode.ins
+2024/04/15 | 1645 | macros/latex/contrib/epcqrcode/README
+2024/04/15 | 162999 | macros/latex/contrib/epcqrcode.zip
1991/01/31 | 1291 | macros/latex/contrib/epic/epic.readme
2009/07/09 | 25846 | macros/latex/contrib/epic/epic.sty
1991/01/31 | 2444 | macros/latex/contrib/epic/misc.sty
@@ -235351,15 +235349,16 @@
2020/07/21 | 126590 | macros/latex/contrib/fontaxes/fontaxes.pdf
2014/03/23 | 1645 | macros/latex/contrib/fontaxes/README
2020/07/22 | 137019 | macros/latex/contrib/fontaxes.zip
-2024/03/08 | 7169 | macros/latex/contrib/fontscale/beery.cls
-2024/04/07 | 129725 | macros/latex/contrib/fontscale/fontscale-manual.pdf
-2024/03/08 | 1048 | macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex
-2024/03/08 | 822 | macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex
-2024/03/08 | 1059 | macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex
-2024/04/07 | 20996 | macros/latex/contrib/fontscale/fontscale-manual.tex
-2024/04/07 | 51330 | macros/latex/contrib/fontscale/fontscale.sty
-2024/03/08 | 270 | macros/latex/contrib/fontscale/README.txt
-2024/04/07 | 143386 | macros/latex/contrib/fontscale.zip
+2024/04/15 | 7248 | macros/latex/contrib/fontscale/beery.cls
+2024/04/15 | 1608 | macros/latex/contrib/fontscale/CHANGELOG.md
+2024/04/15 | 131367 | macros/latex/contrib/fontscale/fontscale-manual.pdf
+2024/04/15 | 1033 | macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex
+2024/04/15 | 793 | macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex
+2024/04/15 | 1043 | macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex
+2024/04/15 | 21042 | macros/latex/contrib/fontscale/fontscale-manual.tex
+2024/04/15 | 49394 | macros/latex/contrib/fontscale/fontscale.sty
+2024/03/08 | 265 | macros/latex/contrib/fontscale/README.txt
+2024/04/15 | 145815 | macros/latex/contrib/fontscale.zip
2021/08/04 | 75970 | macros/latex/contrib/fontsize/fontsize.dtx
2021/08/04 | 384305 | macros/latex/contrib/fontsize/fontsize.pdf
2021/08/04 | 1511 | macros/latex/contrib/fontsize/README
@@ -250397,33 +250396,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
-2024/04/12 | 80077 | macros/latex/contrib/siunitx/CHANGELOG.md
-2024/04/12 | 1166 | macros/latex/contrib/siunitx/README.md
-2024/04/12 | 11251 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2024/04/12 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
-2024/04/12 | 18426 | macros/latex/contrib/siunitx/siunitx-angle.dtx
-2024/04/12 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
-2024/04/12 | 2941 | macros/latex/contrib/siunitx/siunitx-binary.dtx
-2024/04/12 | 645101 | macros/latex/contrib/siunitx/siunitx-code.pdf
-2024/04/12 | 2621 | macros/latex/contrib/siunitx/siunitx-code.tex
-2024/04/12 | 8856 | macros/latex/contrib/siunitx/siunitx-command.dtx
-2024/04/12 | 39313 | macros/latex/contrib/siunitx/siunitx-complex.dtx
-2024/04/12 | 43854 | macros/latex/contrib/siunitx/siunitx-compound.dtx
-2024/04/12 | 22217 | macros/latex/contrib/siunitx/siunitx.dtx
-2024/04/12 | 31797 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
-2024/04/12 | 3682 | macros/latex/contrib/siunitx/siunitx.ins
-2024/04/12 | 5816 | macros/latex/contrib/siunitx/siunitx-locale.dtx
-2024/04/12 | 162865 | macros/latex/contrib/siunitx/siunitx-number.dtx
-2024/04/12 | 703728 | macros/latex/contrib/siunitx/siunitx.pdf
-2024/04/12 | 37988 | macros/latex/contrib/siunitx/siunitx-print.dtx
-2024/04/12 | 15296 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
-2024/04/12 | 9224 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
-2024/04/12 | 55713 | macros/latex/contrib/siunitx/siunitx-table.dtx
-2024/04/12 | 168519 | macros/latex/contrib/siunitx/siunitx.tex
-2024/04/12 | 104101 | macros/latex/contrib/siunitx/siunitx-unit.dtx
-2024/04/12 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
-2024/04/12 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
-2024/04/12 | 1542855 | macros/latex/contrib/siunitx.zip
+2024/04/15 | 80336 | macros/latex/contrib/siunitx/CHANGELOG.md
+2024/04/15 | 1166 | macros/latex/contrib/siunitx/README.md
+2024/04/15 | 11252 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+2024/04/15 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
+2024/04/15 | 18426 | macros/latex/contrib/siunitx/siunitx-angle.dtx
+2024/04/15 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
+2024/04/15 | 2941 | macros/latex/contrib/siunitx/siunitx-binary.dtx
+2024/04/15 | 645640 | macros/latex/contrib/siunitx/siunitx-code.pdf
+2024/04/15 | 2621 | macros/latex/contrib/siunitx/siunitx-code.tex
+2024/04/15 | 8856 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2024/04/15 | 39313 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2024/04/15 | 43854 | macros/latex/contrib/siunitx/siunitx-compound.dtx
+2024/04/15 | 22217 | macros/latex/contrib/siunitx/siunitx.dtx
+2024/04/15 | 31797 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2024/04/15 | 3682 | macros/latex/contrib/siunitx/siunitx.ins
+2024/04/15 | 5816 | macros/latex/contrib/siunitx/siunitx-locale.dtx
+2024/04/15 | 163202 | macros/latex/contrib/siunitx/siunitx-number.dtx
+2024/04/15 | 703738 | macros/latex/contrib/siunitx/siunitx.pdf
+2024/04/15 | 37988 | macros/latex/contrib/siunitx/siunitx-print.dtx
+2024/04/15 | 15296 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
+2024/04/15 | 9224 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
+2024/04/15 | 55713 | macros/latex/contrib/siunitx/siunitx-table.dtx
+2024/04/15 | 168519 | macros/latex/contrib/siunitx/siunitx.tex
+2024/04/15 | 104101 | macros/latex/contrib/siunitx/siunitx-unit.dtx
+2024/04/15 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
+2024/04/15 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
+2024/04/15 | 1543541 | macros/latex/contrib/siunitx.zip
2024/04/05 | 1904 | macros/latex/contrib/sjtutex/README.md
2024/04/05 | 214188 | macros/latex/contrib/sjtutex/sjtutex.dtx
2024/04/05 | 723329 | macros/latex/contrib/sjtutex/sjtutex.pdf
@@ -254314,17 +254313,17 @@
2015/06/21 | 70901 | macros/latex/contrib/tufte-latex/tufte-common.def
2015/06/21 | 928 | macros/latex/contrib/tufte-latex/tufte-handout.cls
2015/06/22 | 643007 | macros/latex/contrib/tufte-latex.zip
-2023/10/29 | 39628 | macros/latex/contrib/tugboat/ltubguid.ltx
-2023/10/29 | 328791 | macros/latex/contrib/tugboat/ltubguid.pdf
-2023/10/29 | 22525 | macros/latex/contrib/tugboat/ltugbib.bst
-2023/10/29 | 189 | macros/latex/contrib/tugboat/manifest.txt
-2023/10/29 | 3483 | macros/latex/contrib/tugboat/NEWS
-2023/10/29 | 2676 | macros/latex/contrib/tugboat/README
-2023/10/29 | 45215 | macros/latex/contrib/tugboat/tugboat.bst
-2023/10/29 | 521480 | macros/latex/contrib/tugboat/tugboat-code.pdf
-2023/10/29 | 151178 | macros/latex/contrib/tugboat/tugboat.dtx
-2023/10/29 | 2925 | macros/latex/contrib/tugboat/tugboat.ins
-2023/10/29 | 906903 | macros/latex/contrib/tugboat.zip
+2024/04/15 | 39623 | macros/latex/contrib/tugboat/ltubguid.ltx
+2024/04/15 | 328892 | macros/latex/contrib/tugboat/ltubguid.pdf
+2024/04/15 | 22525 | macros/latex/contrib/tugboat/ltugbib.bst
+2024/04/15 | 189 | macros/latex/contrib/tugboat/manifest.txt
+2024/04/15 | 3939 | macros/latex/contrib/tugboat/NEWS
+2024/04/15 | 2676 | macros/latex/contrib/tugboat/README
+2024/04/15 | 45247 | macros/latex/contrib/tugboat/tugboat.bst
+2024/04/15 | 523488 | macros/latex/contrib/tugboat/tugboat-code.pdf
+2024/04/15 | 152497 | macros/latex/contrib/tugboat/tugboat.dtx
+2024/04/15 | 2925 | macros/latex/contrib/tugboat/tugboat.ins
+2024/04/15 | 909893 | macros/latex/contrib/tugboat.zip
2012/07/27 | 232441 | macros/latex/contrib/tui/doc/TUIdoc.pdf
2012/07/27 | 27998 | macros/latex/contrib/tui/doc/TUIdoc.tex
2011/11/30 | 3519 | macros/latex/contrib/tui/example/abstract.tex
@@ -261454,12 +261453,12 @@
1989/11/23 | 85628 | macros/plain/contrib/treetex/treetex.tex
2006/03/21 | 62063 | macros/plain/contrib/treetex.zip
2019/06/13 | 503 | macros/plain/contrib/tugboat/README
-2023/10/29 | 207800 | macros/plain/contrib/tugboat/tubguide.pdf
+2024/04/15 | 207800 | macros/plain/contrib/tugboat/tubguide.pdf
2022/03/13 | 32446 | macros/plain/contrib/tugboat/tubguide.tex
-2023/10/29 | 38088 | macros/plain/contrib/tugboat/tugboat.cmn
-2023/10/29 | 73829 | macros/plain/contrib/tugboat/tugboat.sty
+2024/04/15 | 38142 | macros/plain/contrib/tugboat/tugboat.cmn
+2024/04/15 | 74133 | macros/plain/contrib/tugboat/tugboat.sty
2016/09/27 | 11525 | macros/plain/contrib/tugboat/tugproc.sty
-2023/10/29 | 259033 | macros/plain/contrib/tugboat.zip
+2024/04/15 | 259166 | macros/plain/contrib/tugboat.zip
1998/05/02 | 11166 | macros/plain/contrib/TypeSpec/TypeSp01.tex
1998/05/02 | 11296 | macros/plain/contrib/TypeSpec/TypeSp02.tex
1998/05/02 | 11202 | macros/plain/contrib/TypeSpec/TypeSp03.tex
@@ -304564,9 +304563,9 @@
2024/01/31 | 881516 | systems/texlive/tlnet/archive/achemso.doc.r69638.tar.xz
2024/01/31 | 19332 | systems/texlive/tlnet/archive/achemso.r69638.tar.xz
2024/01/31 | 31552 | systems/texlive/tlnet/archive/achemso.source.r69638.tar.xz
-2024/04/05 | 4568372 | systems/texlive/tlnet/archive/acmart.doc.r70857.tar.xz
-2024/04/05 | 42916 | systems/texlive/tlnet/archive/acmart.r70857.tar.xz
-2024/04/05 | 62872 | systems/texlive/tlnet/archive/acmart.source.r70857.tar.xz
+2024/04/15 | 4567660 | systems/texlive/tlnet/archive/acmart.doc.r70944.tar.xz
+2024/04/15 | 43148 | systems/texlive/tlnet/archive/acmart.r70944.tar.xz
+2024/04/15 | 62812 | systems/texlive/tlnet/archive/acmart.source.r70944.tar.xz
2019/02/28 | 89944 | systems/texlive/tlnet/archive/acmconf.doc.r15878.tar.xz
2019/02/28 | 4192 | systems/texlive/tlnet/archive/acmconf.r15878.tar.xz
2019/02/28 | 18700 | systems/texlive/tlnet/archive/acmconf.source.r15878.tar.xz
@@ -310856,12 +310855,12 @@
2024/03/01 | 40108 | systems/texlive/tlnet/archive/kpathsea.amd64-freebsd.r70276.tar.xz
2024/03/01 | 39344 | systems/texlive/tlnet/archive/kpathsea.amd64-netbsd.r70286.tar.xz
2024/03/08 | 32816 | systems/texlive/tlnet/archive/kpathsea.armhf-linux.r70489.tar.xz
-2024/03/18 | 1057484 | systems/texlive/tlnet/archive/kpathsea.doc.r70681.tar.xz
+2024/04/15 | 1057476 | systems/texlive/tlnet/archive/kpathsea.doc.r70941.tar.xz
2024/03/01 | 40120 | systems/texlive/tlnet/archive/kpathsea.i386-freebsd.r70276.tar.xz
2024/03/01 | 43684 | systems/texlive/tlnet/archive/kpathsea.i386-linux.r70276.tar.xz
2024/03/01 | 35988 | systems/texlive/tlnet/archive/kpathsea.i386-netbsd.r70286.tar.xz
2024/03/01 | 42628 | systems/texlive/tlnet/archive/kpathsea.i386-solaris.r70276.tar.xz
-2024/03/18 | 32864 | systems/texlive/tlnet/archive/kpathsea.r70681.tar.xz
+2024/04/15 | 32912 | systems/texlive/tlnet/archive/kpathsea.r70941.tar.xz
2024/03/01 | 84952 | systems/texlive/tlnet/archive/kpathsea.universal-darwin.r70274.tar.xz
2024/03/01 | 518896 | systems/texlive/tlnet/archive/kpathsea.windows.r70269.tar.xz
2024/03/26 | 46424 | systems/texlive/tlnet/archive/kpathsea.x86_64-cygwin.r70766.tar.xz
@@ -314088,9 +314087,9 @@
2020/07/28 | 2536 | systems/texlive/tlnet/archive/pinoutikz.r55966.tar.xz
2019/02/28 | 110192 | systems/texlive/tlnet/archive/pitex.doc.r24731.tar.xz
2019/02/28 | 22664 | systems/texlive/tlnet/archive/pitex.r24731.tar.xz
-2024/04/01 | 848092 | systems/texlive/tlnet/archive/piton.doc.r70824.tar.xz
-2024/04/01 | 19552 | systems/texlive/tlnet/archive/piton.r70824.tar.xz
-2024/04/01 | 54172 | systems/texlive/tlnet/archive/piton.source.r70824.tar.xz
+2024/04/15 | 849860 | systems/texlive/tlnet/archive/piton.doc.r70947.tar.xz
+2024/04/15 | 19656 | systems/texlive/tlnet/archive/piton.r70947.tar.xz
+2024/04/15 | 54536 | systems/texlive/tlnet/archive/piton.source.r70947.tar.xz
2019/02/28 | 317704 | systems/texlive/tlnet/archive/pittetd.doc.r15878.tar.xz
2019/02/28 | 8884 | systems/texlive/tlnet/archive/pittetd.r15878.tar.xz
2019/02/28 | 38588 | systems/texlive/tlnet/archive/pittetd.source.r15878.tar.xz
@@ -314369,8 +314368,8 @@
2022/04/27 | 2748 | systems/texlive/tlnet/archive/proflabo.r63147.tar.xz
2024/03/31 | 1993216 | systems/texlive/tlnet/archive/proflycee.doc.r70817.tar.xz
2024/03/31 | 68720 | systems/texlive/tlnet/archive/proflycee.r70817.tar.xz
-2024/04/01 | 372672 | systems/texlive/tlnet/archive/profmaquette.doc.r70826.tar.xz
-2024/04/01 | 23996 | systems/texlive/tlnet/archive/profmaquette.r70826.tar.xz
+2024/04/15 | 374296 | systems/texlive/tlnet/archive/profmaquette.doc.r70945.tar.xz
+2024/04/15 | 24636 | systems/texlive/tlnet/archive/profmaquette.r70945.tar.xz
2024/04/06 | 504604 | systems/texlive/tlnet/archive/profsio.doc.r70868.tar.xz
2024/04/06 | 18136 | systems/texlive/tlnet/archive/profsio.r70868.tar.xz
2019/02/28 | 49880 | systems/texlive/tlnet/archive/program.doc.r44214.tar.xz
@@ -316864,9 +316863,9 @@
2023/12/11 | 266980 | systems/texlive/tlnet/archive/thermodynamics.doc.r69086.tar.xz
2023/12/11 | 9176 | systems/texlive/tlnet/archive/thermodynamics.r69086.tar.xz
2023/12/11 | 34088 | systems/texlive/tlnet/archive/thermodynamics.source.r69086.tar.xz
-2024/04/14 | 295032 | systems/texlive/tlnet/archive/thesis-ekf.doc.r70938.tar.xz
-2024/04/14 | 113100 | systems/texlive/tlnet/archive/thesis-ekf.r70938.tar.xz
-2024/04/14 | 9028 | systems/texlive/tlnet/archive/thesis-ekf.source.r70938.tar.xz
+2024/04/15 | 197932 | systems/texlive/tlnet/archive/thesis-ekf.doc.r70946.tar.xz
+2024/04/15 | 113100 | systems/texlive/tlnet/archive/thesis-ekf.r70946.tar.xz
+2024/04/15 | 8920 | systems/texlive/tlnet/archive/thesis-ekf.source.r70946.tar.xz
2020/03/14 | 405812 | systems/texlive/tlnet/archive/thesis-gwu.doc.r54287.tar.xz
2020/03/14 | 9780 | systems/texlive/tlnet/archive/thesis-gwu.r54287.tar.xz
2022/06/10 | 1292672 | systems/texlive/tlnet/archive/thesis-qom.doc.r63524.tar.xz
@@ -318549,16 +318548,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
2024/04/11 | 125030 | systems/texlive/tlnet/install-tl
-2024/04/14 | 5752321 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2024/04/14 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2024/04/14 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/04/15 | 5750487 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/04/15 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/04/15 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2024/04/13 | 5743 | systems/texlive/tlnet/install-tl-windows.bat
-2024/04/14 | 27716710 | systems/texlive/tlnet/install-tl-windows.exe
-2024/04/14 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2024/04/14 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/04/14 | 34425620 | systems/texlive/tlnet/install-tl.zip
-2024/04/14 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2024/04/14 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/04/15 | 27717718 | systems/texlive/tlnet/install-tl-windows.exe
+2024/04/15 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/04/15 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/04/15 | 34425601 | systems/texlive/tlnet/install-tl.zip
+2024/04/15 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/04/15 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2024/03/13 | 1229 | systems/texlive/tlnet/README.md
2024/03/13 | 0 | systems/texlive/tlnet/TEXLIVE_2024
2024/01/02 | 9011 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -318568,7 +318567,7 @@
2024/01/02 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2024/01/16 | 50726 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2024/04/13 | 7325 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/04/15 | 7266 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/03/15 | 229654 | 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
@@ -318610,12 +318609,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2024/01/31 | 5840 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2024/04/14 | 19418580 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2024/04/14 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/04/15 | 19418579 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/04/15 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2024/03/10 | 87229 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2024/04/14 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2024/04/14 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/04/14 | 2562844 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/04/15 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/04/15 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/04/15 | 2564628 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2023/06/11 | 42749 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -330037,7 +330036,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2024/04/15 | 186 | timestamp
+2024/04/16 | 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 194fca82ec..8fde0d6559 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 7924ab040c..2797f1d799 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,7 +1,164 @@
+2024/04/15 | 99312 | graphics/pgf/contrib/aobs-tikz.zip
+2024/04/15 | 9916 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.cbx
+2024/04/15 | 982 | graphics/pstricks/contrib/pst-geometrictools/README.md
+2024/04/15 | 94999 | graphics/pgf/contrib/aobs-tikz/aobs-tikz.pdf
+2024/04/15 | 9224 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
+2024/04/15 | 909893 | macros/latex/contrib/tugboat.zip
+2024/04/15 | 8920 | systems/texlive/tlnet/archive/thesis-ekf.source.r70946.tar.xz
+2024/04/15 | 8856 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2024/04/15 | 87997 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdf
+2024/04/15 | 8543 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.cbx
+2024/04/15 | 849860 | systems/texlive/tlnet/archive/piton.doc.r70947.tar.xz
+2024/04/15 | 841 | graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty
+2024/04/15 | 80336 | macros/latex/contrib/siunitx/CHANGELOG.md
+2024/04/15 | 793 | macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex
+2024/04/15 | 7419 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/legal-test.bib
+2024/04/15 | 74133 | macros/plain/contrib/tugboat/tugboat.sty
+2024/04/15 | 7266 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/04/15 | 7248 | macros/latex/contrib/fontscale/beery.cls
+2024/04/15 | 703738 | macros/latex/contrib/siunitx/siunitx.pdf
+2024/04/15 | 686 | graphics/pgf/contrib/aobs-tikz/README.txt
+2024/04/15 | 68320 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdf
+2024/04/15 | 6745 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/README
+2024/04/15 | 64859 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdf
+2024/04/15 | 645640 | macros/latex/contrib/siunitx/siunitx-code.pdf
+2024/04/15 | 62812 | systems/texlive/tlnet/archive/acmart.source.r70944.tar.xz
+2024/04/15 | 59625 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex
+2024/04/15 | 5816 | macros/latex/contrib/siunitx/siunitx-locale.dtx
+2024/04/15 | 5750487 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/04/15 | 5715 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.tex
+2024/04/15 | 55713 | macros/latex/contrib/siunitx/siunitx-table.dtx
+2024/04/15 | 54536 | systems/texlive/tlnet/archive/piton.source.r70947.tar.xz
+2024/04/15 | 523488 | macros/latex/contrib/tugboat/tugboat-code.pdf
+2024/04/15 | 51269 | graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex
+2024/04/15 | 49394 | macros/latex/contrib/fontscale/fontscale.sty
+2024/04/15 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/04/15 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/04/15 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/04/15 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/04/15 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/04/15 | 47572 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-american.lbx
+2024/04/15 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
+2024/04/15 | 4567660 | systems/texlive/tlnet/archive/acmart.doc.r70944.tar.xz
+2024/04/15 | 45247 | macros/latex/contrib/tugboat/tugboat.bst
+2024/04/15 | 4487 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-british.lbx
+2024/04/15 | 43854 | macros/latex/contrib/siunitx/siunitx-compound.dtx
+2024/04/15 | 43148 | systems/texlive/tlnet/archive/acmart.r70944.tar.xz
+2024/04/15 | 4229 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex
+2024/04/15 | 4120369 | biblio/ctan-bibdata.zip
+2024/04/15 | 39798 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-ngerman.lbx
+2024/04/15 | 39795 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-german.lbx
+2024/04/15 | 39623 | macros/latex/contrib/tugboat/ltubguid.ltx
+2024/04/15 | 3939 | macros/latex/contrib/tugboat/NEWS
+2024/04/15 | 39313 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2024/04/15 | 38611 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.tex
+2024/04/15 | 38142 | macros/plain/contrib/tugboat/tugboat.cmn
+2024/04/15 | 37988 | macros/latex/contrib/siunitx/siunitx-print.dtx
+2024/04/15 | 3757 | graphics/pgf/contrib/aobs-tikz/aobs-tikz.ins
+2024/04/15 | 374296 | systems/texlive/tlnet/archive/profmaquette.doc.r70945.tar.xz
+2024/04/15 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/04/15 | 3682 | macros/latex/contrib/siunitx/siunitx.ins
+2024/04/15 | 36722 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-dutch.lbx
+2024/04/15 | 35678 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-romanian.lbx
+2024/04/15 | 34425601 | systems/texlive/tlnet/install-tl.zip
+2024/04/15 | 34233 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-spanish.lbx
+2024/04/15 | 341496 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx
+2024/04/15 | 34046 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-swedish.lbx
+2024/04/15 | 33955 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-finnish.lbx
+2024/04/15 | 32912 | systems/texlive/tlnet/archive/kpathsea.r70941.tar.xz
+2024/04/15 | 328892 | macros/latex/contrib/tugboat/ltubguid.pdf
+2024/04/15 | 32731 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-french.lbx
+2024/04/15 | 32652 | macros/latex/contrib/epcqrcode/epcqrcode.dtx
+2024/04/15 | 3246509 | macros/latex/contrib/biblatex-contrib/biblatex-chicago.zip
+2024/04/15 | 31797 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2024/04/15 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
+2024/04/15 | 29814 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-nynorsk.lbx
+2024/04/15 | 29733 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norwegian.lbx
+2024/04/15 | 29721 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-norsk.lbx
+2024/04/15 | 2941 | macros/latex/contrib/siunitx/siunitx-binary.dtx
+2024/04/15 | 29312 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-brazilian.lbx
+2024/04/15 | 29274 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms-icelandic.lbx
+2024/04/15 | 2925 | macros/latex/contrib/tugboat/tugboat.ins
+2024/04/15 | 2861986 | biblio/ctan-bibdata/ctan.bib
+2024/04/15 | 280489 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdf
+2024/04/15 | 27717718 | systems/texlive/tlnet/install-tl-windows.exe
+2024/04/15 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
+2024/04/15 | 2676 | macros/latex/contrib/tugboat/README
+2024/04/15 | 264885 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
+2024/04/15 | 2621 | macros/latex/contrib/siunitx/siunitx-code.tex
+2024/04/15 | 26019 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.tex
+2024/04/15 | 259166 | macros/plain/contrib/tugboat.zip
+2024/04/15 | 2564628 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/04/15 | 252 | graphics/pstricks/contrib/pst-geometrictools/Changes
+2024/04/15 | 25208 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.tex
+2024/04/15 | 24636 | systems/texlive/tlnet/archive/profmaquette.r70945.tar.xz
+2024/04/15 | 239939 | graphics/pstricks/contrib/pst-geometrictools.zip
+2024/04/15 | 233075 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdf
+2024/04/15 | 22525 | macros/latex/contrib/tugboat/ltugbib.bst
+2024/04/15 | 22217 | macros/latex/contrib/siunitx/siunitx.dtx
+2024/04/15 | 21042 | macros/latex/contrib/fontscale/fontscale-manual.tex
+2024/04/15 | 207800 | macros/plain/contrib/tugboat/tubguide.pdf
+2024/04/15 | 207073 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.cbx
+2024/04/15 | 20459 | graphics/pgf/contrib/aobs-tikz/aobs-tikz.dtx
+2024/04/15 | 197932 | systems/texlive/tlnet/archive/thesis-ekf.doc.r70946.tar.xz
+2024/04/15 | 19656 | systems/texlive/tlnet/archive/piton.r70947.tar.xz
+2024/04/15 | 19418579 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/04/15 | 189 | macros/latex/contrib/tugboat/manifest.txt
+2024/04/15 | 18650 | graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
+2024/04/15 | 184853 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/dates-test.bib
+2024/04/15 | 18426 | macros/latex/contrib/siunitx/siunitx-angle.dtx
+2024/04/15 | 182891 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdf
+2024/04/15 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
+2024/04/15 | 168519 | macros/latex/contrib/siunitx/siunitx.tex
+2024/04/15 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/04/15 | 1645 | macros/latex/contrib/epcqrcode/README
+2024/04/15 | 164162 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.bbx
+2024/04/15 | 16350 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsendnotes.sty
+2024/04/15 | 163202 | macros/latex/contrib/siunitx/siunitx-number.dtx
+2024/04/15 | 162999 | macros/latex/contrib/epcqrcode.zip
+2024/04/15 | 1608 | macros/latex/contrib/fontscale/CHANGELOG.md
+2024/04/15 | 159912 | macros/latex/contrib/epcqrcode/epcqrcode-doc.pdf
+2024/04/15 | 1591106 | install/macros/latex/contrib/siunitx.tds.zip
+2024/04/15 | 158659 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdf
+2024/04/15 | 157473 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdf
+2024/04/15 | 156217 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx
+2024/04/15 | 155631 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/notes-test.bib
+2024/04/15 | 1548 | macros/latex/contrib/epcqrcode/epcqrcode.ins
+2024/04/15 | 1543541 | macros/latex/contrib/siunitx.zip
+2024/04/15 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/04/15 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/04/15 | 15296 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
+2024/04/15 | 152497 | macros/latex/contrib/tugboat/tugboat.dtx
+2024/04/15 | 151814 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.bbx
+2024/04/15 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/04/15 | 145815 | macros/latex/contrib/fontscale.zip
+2024/04/15 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/04/15 | 141906 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate16.bbx
+2024/04/15 | 13656 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.tex
+2024/04/15 | 131367 | macros/latex/contrib/fontscale/fontscale-manual.pdf
+2024/04/15 | 12872 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.tex
+2024/04/15 | 12799 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.cbx
+2024/04/15 | 1247496 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf
+2024/04/15 | 12454 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cmsdocs.sty
+2024/04/15 | 121419 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE
+2024/04/15 | 1166 | macros/latex/contrib/siunitx/README.md
+2024/04/15 | 113100 | systems/texlive/tlnet/archive/thesis-ekf.r70946.tar.xz
+2024/04/15 | 11252 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+2024/04/15 | 11049 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate.cbx
+2024/04/15 | 1104037 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex
+2024/04/15 | 110221 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes16.bbx
+2024/04/15 | 110177 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common16.cbx
+2024/04/15 | 10791 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/biblatex-chicago.sty
+2024/04/15 | 105 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad16.bbx
+2024/04/15 | 1057476 | systems/texlive/tlnet/archive/kpathsea.doc.r70941.tar.xz
+2024/04/15 | 1043 | macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex
+2024/04/15 | 104101 | macros/latex/contrib/siunitx/siunitx-unit.dtx
+2024/04/15 | 1033 | macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex
+2024/04/15 | 102 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/cms.dbx
+2024/04/15 | 101 | macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-authordate-trad.bbx
2024/04/14 | 92525 | macros/luatex/latex/piton/piton-french.tex
2024/04/14 | 918804 | macros/latex/contrib/acmart/acmart.pdf
2024/04/14 | 908581 | macros/latex-dev/required/l3backend.zip
-2024/04/14 | 9028 | systems/texlive/tlnet/archive/thesis-ekf.source.r70938.tar.xz
2024/04/14 | 71264 | systems/texlive/tlnet/archive/tagpdf.source.r70937.tar.xz
2024/04/14 | 634239 | macros/latex/contrib/acmart/samples/sample-acmsmall-biblatex.pdf
2024/04/14 | 624039 | macros/latex/contrib/acmart/samples/sample-acmsmall-submission.pdf
@@ -10,58 +167,38 @@
2024/04/14 | 621531 | macros/latex/contrib/acmart/samples/sample-acmsmall.pdf
2024/04/14 | 611542 | macros/latex/contrib/acmart/samples/sample-acmlarge.pdf
2024/04/14 | 60548 | systems/texlive/tlnet/archive/texlive-scripts.windows.r70934.tar.xz
-2024/04/14 | 5752321 | systems/texlive/tlnet/install-tl-unx.tar.gz
2024/04/14 | 569299 | macros/latex/contrib/acmart/samples/sample-acmtog-conf.pdf
2024/04/14 | 569061 | macros/latex/contrib/acmart/samples/sample-acmtog.pdf
2024/04/14 | 5512 | macros/latex/contrib/acmart/Makefile
2024/04/14 | 5252 | systems/texlive/tlnet/archive/writeongrid.r70939.tar.xz
-2024/04/14 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2024/04/14 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/04/14 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2024/04/14 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/04/14 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2024/04/14 | 4736 | systems/texlive/tlnet/archive/fancyqr.r70935.tar.xz
2024/04/14 | 439778 | macros/latex/contrib/acmart/acmguide.pdf
2024/04/14 | 434600 | systems/texlive/tlnet/archive/texlive-scripts.doc.r70933.tar.xz
2024/04/14 | 414699 | macros/luatex/latex/piton/piton-french.pdf
-2024/04/14 | 4120277 | biblio/ctan-bibdata.zip
2024/04/14 | 408 | macros/generic/crossrefenum/CHANGELOG.md
2024/04/14 | 400681 | macros/latex/contrib/acmart/samples/sample-acmengage.pdf
2024/04/14 | 39521 | macros/latex/contrib/acmart/samples/samples.dtx
2024/04/14 | 38168 | systems/texlive/tlnet/archive/tagpdf.r70937.tar.xz
-2024/04/14 | 3708800 | biblio/ctan-bibdata/ctan.pdf
-2024/04/14 | 34425620 | systems/texlive/tlnet/install-tl.zip
2024/04/14 | 337023 | macros/latex/contrib/thesis-ekf.zip
2024/04/14 | 33314 | macros/latex/contrib/thesis-ekf/thesis-ekf.dtx
2024/04/14 | 327844 | macros/generic/crossrefenum.zip
-2024/04/14 | 295032 | systems/texlive/tlnet/archive/thesis-ekf.doc.r70938.tar.xz
2024/04/14 | 292899 | macros/latex/contrib/acmart/acmart.dtx
-2024/04/14 | 2860850 | biblio/ctan-bibdata/ctan.bib
2024/04/14 | 2773 | macros/latex/contrib/acmart/acmart.bib
-2024/04/14 | 27716710 | systems/texlive/tlnet/install-tl-windows.exe
2024/04/14 | 269860 | systems/texlive/tlnet/archive/numspell.doc.r70936.tar.xz
2024/04/14 | 264845 | macros/luatex/latex/piton/piton.dtx
-2024/04/14 | 2562844 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2024/04/14 | 247640 | systems/texlive/tlnet/archive/fancyqr.doc.r70935.tar.xz
2024/04/14 | 2239304 | systems/texlive/tlnet/archive/tagpdf.doc.r70937.tar.xz
2024/04/14 | 214804 | macros/generic/crossrefenum/doc/crossrefenum.pdf
2024/04/14 | 214495 | macros/latex/contrib/acmart/samples/sample-acmcp.pdf
2024/04/14 | 200001 | macros/latex/contrib/thesis-ekf/thesis-ekf.pdf
-2024/04/14 | 19418580 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2024/04/14 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2024/04/14 | 1560 | macros/latex/contrib/acmart/samples/samples.ins
-2024/04/14 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2024/04/14 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2024/04/14 | 150440 | macros/generic/crossrefenum/test/validated-output
-2024/04/14 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2024/04/14 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2024/04/14 | 14139302 | macros/latex-dev/required/l3kernel.zip
2024/04/14 | 13788 | systems/texlive/tlnet/archive/numspell.r70936.tar.xz
2024/04/14 | 13667 | macros/latex/contrib/acmart/README
2024/04/14 | 12332087 | macros/latex/contrib/acmart.zip
2024/04/14 | 1158 | macros/generic/crossrefenum/test/Makefile
2024/04/14 | 114188 | systems/texlive/tlnet/archive/texlive-scripts.r70933.tar.xz
-2024/04/14 | 113100 | systems/texlive/tlnet/archive/thesis-ekf.r70938.tar.xz
2024/04/14 | 11248 | macros/generic/crossrefenum/test/main-test.tex
2024/04/14 | 1094848 | systems/texlive/tlnet/archive/writeongrid.doc.r70939.tar.xz
2024/04/14 | 1060242 | macros/latex/contrib/acmart/samples/sample-sigconf-i13n.pdf
@@ -78,7 +215,6 @@
2024/04/13 | 784 | macros/generic/crossrefenum/tex/t-crossrefenum.tex
2024/04/13 | 743 | graphics/pgf/contrib/fancyqr/fancyqr-style-flat.code
2024/04/13 | 735 | graphics/pgf/contrib/fancyqr/fancyqr-style-dots.code
-2024/04/13 | 7325 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/04/13 | 67864 | systems/texlive/tlnet/archive/siunitx.r70929.tar.xz
2024/04/13 | 5816 | systems/texlive/tlnet/archive/gitinfo-lua.r70931.tar.xz
2024/04/13 | 5743 | systems/texlive/tlnet/install-tl-windows.bat
@@ -138,11 +274,9 @@
2024/04/12 | 9452 | systems/texlive/tlnet/archive/cs-techrep.source.r70915.tar.xz
2024/04/12 | 9445 | macros/latex-dev/required/l3kernel/l3fp-assign.dtx
2024/04/12 | 93008 | macros/latex-dev/required/l3kernel/l3int.dtx
-2024/04/12 | 9224 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
2024/04/12 | 91719 | macros/latex-dev/required/l3kernel/l3skip.dtx
2024/04/12 | 907792 | macros/latex-dev/required/l3backend/l3backend-code.pdf
2024/04/12 | 88794 | macros/latex-dev/required/l3kernel/l3expan.dtx
-2024/04/12 | 8856 | macros/latex/contrib/siunitx/siunitx-command.dtx
2024/04/12 | 88241 | macros/latex-dev/required/l3kernel/l3coffins.dtx
2024/04/12 | 87821 | macros/latex-dev/required/l3kernel/l3box.dtx
2024/04/12 | 8481 | macros/latex-dev/required/l3kernel/l3news11.tex
@@ -154,7 +288,6 @@
2024/04/12 | 82732 | macros/latex-dev/required/l3kernel/l3prefixes.pdf
2024/04/12 | 82462 | macros/latex-dev/required/l3kernel/l3str.dtx
2024/04/12 | 80270 | macros/latex-dev/required/l3kernel/l3names.dtx
-2024/04/12 | 80077 | macros/latex/contrib/siunitx/CHANGELOG.md
2024/04/12 | 7854 | macros/latex/contrib/tagpdf/ex-formula-problem-luatex.pdf
2024/04/12 | 7831 | macros/latex-dev/required/l3kernel/l3fp-functions.dtx
2024/04/12 | 76534 | macros/latex-dev/required/l3kernel/l3fp.dtx
@@ -170,7 +303,6 @@
2024/04/12 | 71456 | macros/latex-dev/required/l3kernel/expl3.dtx
2024/04/12 | 70830 | macros/latex-dev/required/l3kernel/l3prg.dtx
2024/04/12 | 7079 | macros/latex-dev/required/l3kernel/l3term-glossary.tex
-2024/04/12 | 703728 | macros/latex/contrib/siunitx/siunitx.pdf
2024/04/12 | 700 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.tex
2024/04/12 | 698 | macros/latex/contrib/tagpdf/ex-tagpdf-template.tex
2024/04/12 | 695668 | graphics/pgf/contrib/pixelarttikz/doc/PixelArtTikz-doc-en.pdf
@@ -179,7 +311,6 @@
2024/04/12 | 6626 | macros/latex/contrib/tagpdf/ex-attribute-luatex.pdf
2024/04/12 | 6482 | macros/latex-dev/required/l3kernel/l3news03.tex
2024/04/12 | 6473 | macros/luatex/generic/luamplib/test-luamplib-latex.tex
-2024/04/12 | 645101 | macros/latex/contrib/siunitx/siunitx-code.pdf
2024/04/12 | 6433 | macros/latex-dev/required/l3kernel/l3news06.tex
2024/04/12 | 6429 | macros/latex-dev/required/l3kernel/l3.ins
2024/04/12 | 6335132 | fonts/simpleicons.zip
@@ -190,9 +321,7 @@
2024/04/12 | 5984 | systems/texlive/tlnet/archive/fgruler.r70917.tar.xz
2024/04/12 | 59454 | macros/latex-dev/required/l3kernel/CHANGELOG.md
2024/04/12 | 5832 | systems/texlive/tlnet/archive/epcqrcode.source.r70916.tar.xz
-2024/04/12 | 5816 | macros/latex/contrib/siunitx/siunitx-locale.dtx
2024/04/12 | 565293 | macros/latex-dev/required/l3kernel/l3doc.pdf
-2024/04/12 | 55713 | macros/latex/contrib/siunitx/siunitx-table.dtx
2024/04/12 | 5524 | macros/latex/contrib/tagpdf/tagpdfdocu-patches.sty
2024/04/12 | 549 | macros/latex-dev/required/l3backend/README.md
2024/04/12 | 5440 | systems/texlive/tlnet/archive/iaria.source.r70919.tar.xz
@@ -208,7 +337,6 @@
2024/04/12 | 4890 | macros/latex-dev/required/l3kernel/l3news.tex
2024/04/12 | 48386 | macros/latex-dev/required/l3kernel/l3prefixes.csv
2024/04/12 | 476435 | macros/latex/contrib/writeongrid/doc/WriteOnGrid-doc-en.pdf
-2024/04/12 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
2024/04/12 | 47237 | macros/latex-dev/required/l3kernel/l3fp-aux.dtx
2024/04/12 | 4716 | macros/latex-dev/required/l3kernel/l3news05.tex
2024/04/12 | 471644 | systems/texlive/tlnet/archive/fgruler.doc.r70917.tar.xz
@@ -218,7 +346,6 @@
2024/04/12 | 4524 | systems/texlive/tlnet/archive/cs-techrep.r70915.tar.xz
2024/04/12 | 44951 | macros/latex/contrib/tagpdf/tagpdf-backend.dtx
2024/04/12 | 44218 | macros/latex/contrib/tagpdf/tagpdf-user.dtx
-2024/04/12 | 43854 | macros/latex/contrib/siunitx/siunitx-compound.dtx
2024/04/12 | 4349 | macros/latex/contrib/tagpdf/tagpdfsetup-keys.tex
2024/04/12 | 43211 | macros/latex-dev/required/l3kernel/l3sys.dtx
2024/04/12 | 4236 | systems/texlive/tlnet/archive/epcqrcode.r70916.tar.xz
@@ -229,19 +356,16 @@
2024/04/12 | 40727 | macros/latex-dev/required/l3kernel/l3sort.dtx
2024/04/12 | 402149 | macros/latex-dev/required/l3kernel/l3news.pdf
2024/04/12 | 3959 | macros/latex/contrib/tagpdf/tagpdf.ins
-2024/04/12 | 39313 | macros/latex/contrib/siunitx/siunitx-complex.dtx
2024/04/12 | 3906 | fonts/simpleicons/enc/simpleiconsfive.enc
2024/04/12 | 3896 | macros/luatex/generic/luamplib/test-luamplib-plain.tex
2024/04/12 | 3877 | fonts/simpleicons/enc/simpleiconsone.enc
2024/04/12 | 379932 | systems/texlive/tlnet/archive/jsonparse.doc.r70920.tar.xz
-2024/04/12 | 37988 | macros/latex/contrib/siunitx/siunitx-print.dtx
2024/04/12 | 376 | fonts/simpleicons/tfm/SimpleIcons--simpleiconsonethree.tfm
2024/04/12 | 3746 | fonts/simpleicons/enc/simpleiconsthree.enc
2024/04/12 | 3725 | fonts/simpleicons/enc/simpleiconsoneone.enc
2024/04/12 | 36 | graphics/pgf/contrib/pixelarttikz/doc/base.csv
2024/04/12 | 36943 | macros/latex/contrib/tagpdf/tagpdf-data.dtx
2024/04/12 | 36868 | graphics/pgf/contrib/pixelarttikz/doc/PixelArtTikz-doc-fr.tex
-2024/04/12 | 3682 | macros/latex/contrib/siunitx/siunitx.ins
2024/04/12 | 3669 | fonts/simpleicons/enc/simpleiconsseven.enc
2024/04/12 | 3664 | fonts/simpleicons/enc/simpleiconstwo.enc
2024/04/12 | 3663 | fonts/simpleicons/enc/simpleiconsonezero.enc
@@ -262,8 +386,6 @@
2024/04/12 | 3284 | systems/texlive/tlnet/archive/jsonparse.r70920.tar.xz
2024/04/12 | 328438 | macros/latex/contrib/huaz/huaz.pdf
2024/04/12 | 3200 | graphics/pgf/contrib/pixelarttikz/doc/PAkoala.csv
-2024/04/12 | 31797 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
-2024/04/12 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
2024/04/12 | 31553 | macros/latex/contrib/tagpdf/ex-list.pdf
2024/04/12 | 31531 | macros/latex-dev/required/l3kernel/l3intarray.dtx
2024/04/12 | 312248 | systems/texlive/tlnet/archive/cs-techrep.doc.r70915.tar.xz
@@ -273,7 +395,6 @@
2024/04/12 | 300295 | fonts/simpleicons/tex/simpleiconsglyphs-pdftex.tex
2024/04/12 | 296269 | macros/latex-dev/required/l3kernel/l3styleguide.pdf
2024/04/12 | 29614 | macros/latex-dev/required/l3backend/l3backend-graphics.dtx
-2024/04/12 | 2941 | macros/latex/contrib/siunitx/siunitx-binary.dtx
2024/04/12 | 293474 | fonts/simpleicons/tex/simpleiconsglyphs-xeluatex.tex
2024/04/12 | 28595 | macros/latex/contrib/tagpdf/tagpdf-mc-generic.dtx
2024/04/12 | 285564 | systems/texlive/tlnet/archive/iaria.doc.r70919.tar.xz
@@ -282,7 +403,6 @@
2024/04/12 | 279 | fonts/simpleicons/tex/usimpleiconsonethree.fd
2024/04/12 | 2752 | macros/luatex/generic/luamplib/Makefile
2024/04/12 | 274 | fonts/simpleicons/tex/usimpleiconsonezero.fd
-2024/04/12 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
2024/04/12 | 27320 | systems/texlive/tlnet/archive/bithesis.source.r70921.tar.xz
2024/04/12 | 27027 | graphics/pgf/contrib/pixelarttikz/tex/PixelArtTikz.sty
2024/04/12 | 269 | fonts/simpleicons/tex/usimpleiconsonetwo.fd
@@ -292,7 +412,6 @@
2024/04/12 | 264 | fonts/simpleicons/tex/usimpleiconsseven.fd
2024/04/12 | 264 | fonts/simpleicons/tex/usimpleiconseight.fd
2024/04/12 | 2643 | macros/latex/contrib/tagpdf/tagpdf.bib
-2024/04/12 | 2621 | macros/latex/contrib/siunitx/siunitx-code.tex
2024/04/12 | 259 | fonts/simpleicons/tex/usimpleiconsnine.fd
2024/04/12 | 259 | fonts/simpleicons/tex/usimpleiconsfour.fd
2024/04/12 | 259 | fonts/simpleicons/tex/usimpleiconsfive.fd
@@ -320,7 +439,6 @@
2024/04/12 | 2280 | macros/latex/contrib/tagpdf/tagpdf-code.tex
2024/04/12 | 2258347 | fonts/simpleicons/type1/SimpleIcons.pfb
2024/04/12 | 225419 | install/macros/luatex/generic/luamplib.tds.zip
-2024/04/12 | 22217 | macros/latex/contrib/siunitx/siunitx.dtx
2024/04/12 | 21970 | macros/latex/contrib/tagpdf/ex-AF-file.pdf
2024/04/12 | 21727 | macros/latex/contrib/huaz/huaz.tex
2024/04/12 | 216372 | macros/latex/contrib/hulipsum.zip
@@ -345,7 +463,6 @@
2024/04/12 | 1856 | systems/texlive/tlnet/archive/iaria.r70919.tar.xz
2024/04/12 | 18528 | macros/latex-dev/required/l3kernel/l3fp-round.dtx
2024/04/12 | 18461 | macros/latex/contrib/tagpdf/ex-patch-sectioning-koma-luatex.pdf
-2024/04/12 | 18426 | macros/latex/contrib/siunitx/siunitx-angle.dtx
2024/04/12 | 1813 | fonts/simpleicons/doc/simpleicons.tex
2024/04/12 | 1801762 | macros/latex-dev/required/l3kernel/interface3.pdf
2024/04/12 | 178913 | fonts/simpleicons/doc/bindings.tex
@@ -353,26 +470,20 @@
2024/04/12 | 176893 | macros/latex/contrib/hulipsum/hulipsum.dtx
2024/04/12 | 176082 | macros/latex-dev/required/l3kernel/l3news11.pdf
2024/04/12 | 1745 | fonts/simpleicons/tex/simpleicons.sty
-2024/04/12 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
2024/04/12 | 1713045 | macros/latex/contrib/tagpdf/tagpdf-code.pdf
2024/04/12 | 168963 | macros/luatex/generic/luamplib/luamplib.pdf
-2024/04/12 | 168519 | macros/latex/contrib/siunitx/siunitx.tex
2024/04/12 | 16624 | macros/latex-dev/required/l3kernel/l3text-map.dtx
2024/04/12 | 16528 | macros/latex/contrib/tagpdf/ex-spaceglyph-listings.pdf
2024/04/12 | 163496 | macros/latex-dev/required/l3kernel/l3news08.pdf
2024/04/12 | 16348 | macros/latex/contrib/tagpdf/tagpdf-mc-luacode.dtx
-2024/04/12 | 162865 | macros/latex/contrib/siunitx/siunitx-number.dtx
2024/04/12 | 16213 | macros/latex-dev/required/l3backend/l3backend-basics.dtx
2024/04/12 | 159891 | macros/latex-dev/required/l3kernel/l3doc.dtx
2024/04/12 | 15955 | macros/latex/contrib/tagpdf/tagpdf-mc-shared.dtx
-2024/04/12 | 1590375 | install/macros/latex/contrib/siunitx.tds.zip
2024/04/12 | 158108 | systems/texlive/tlnet/archive/epcqrcode.doc.r70916.tar.xz
2024/04/12 | 156507 | macros/latex/contrib/hulipsum/hulipsum.pdf
2024/04/12 | 156270 | macros/latex-dev/required/l3kernel/l3news10.pdf
2024/04/12 | 154694 | macros/latex-dev/required/l3kernel/l3news03.pdf
-2024/04/12 | 1542855 | macros/latex/contrib/siunitx.zip
2024/04/12 | 1532 | systems/texlive/tlnet/archive/iaria-lite.r70918.tar.xz
-2024/04/12 | 15296 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
2024/04/12 | 151602 | macros/latex-dev/required/l3kernel/l3news06.pdf
2024/04/12 | 150996 | macros/latex-dev/required/l3kernel/l3docstrip.pdf
2024/04/12 | 150932 | macros/latex-dev/required/l3kernel/l3news02.pdf
@@ -418,12 +529,10 @@
2024/04/12 | 11882 | macros/latex-dev/required/l3kernel/l3styleguide.tex
2024/04/12 | 117222 | macros/latex-dev/required/l3kernel/l3token.dtx
2024/04/12 | 1171785 | macros/latex/contrib/tagpdf/tagpdf.pdf
-2024/04/12 | 1166 | macros/latex/contrib/siunitx/README.md
2024/04/12 | 1160 | macros/latex/contrib/tagpdf/ex-AF-file.tex
2024/04/12 | 114764 | macros/latex-dev/required/l3kernel/l3news04.pdf
2024/04/12 | 113735 | macros/latex-dev/required/l3kernel/l3str-convert.dtx
2024/04/12 | 112536 | macros/latex-dev/required/l3kernel/l3news05.pdf
-2024/04/12 | 11251 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
2024/04/12 | 112260 | macros/latex-dev/required/l3kernel/l3color.dtx
2024/04/12 | 11157 | macros/latex-dev/required/l3backend/CHANGELOG.md
2024/04/12 | 111024 | macros/luatex/generic/luamplib/luamplib.dtx
@@ -431,7 +540,6 @@
2024/04/12 | 1063 | macros/latex/contrib/tagpdf/ex-list.tex
2024/04/12 | 105275 | macros/latex-dev/required/l3kernel/l3prop.dtx
2024/04/12 | 105022 | macros/latex-dev/required/l3kernel/l3fp-parse.dtx
-2024/04/12 | 104101 | macros/latex/contrib/siunitx/siunitx-unit.dtx
2024/04/12 | 100486 | macros/latex-dev/required/l3kernel/l3seq.dtx
2024/04/11 | 9973 | systems/win32/miktex/tm/packages/cs-techrep__source.tar.lzma
2024/04/11 | 9913 | macros/luatex/latex/gitinfo-lua/scripts/gitinfo-lua.lua
@@ -591,7 +699,6 @@
2024/04/11 | 329698 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
2024/04/11 | 32902 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
2024/04/11 | 32770 | systems/win32/miktex/tm/packages/pst-func__source.tar.lzma
-2024/04/11 | 32643 | macros/latex/contrib/epcqrcode/epcqrcode.dtx
2024/04/11 | 326278 | systems/win32/miktex/tm/packages/csquotes__doc.tar.lzma
2024/04/11 | 32072 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
2024/04/11 | 3205 | macros/luatex/latex/gitinfo-lua/tex/gitinfo-lua.sty
@@ -674,17 +781,13 @@
2024/04/11 | 1725518 | systems/win32/miktex/tm/packages/proflycee__doc.tar.lzma
2024/04/11 | 16572 | macros/latex/contrib/jsonparse/jsonparse.sty
2024/04/11 | 16430 | systems/win32/miktex/tm/packages/easybook.tar.lzma
-2024/04/11 | 163734 | macros/latex/contrib/epcqrcode.zip
2024/04/11 | 163282 | systems/win32/miktex/tm/packages/luamplib__doc.tar.lzma
-2024/04/11 | 1629 | macros/latex/contrib/epcqrcode/README
2024/04/11 | 1626369 | systems/win32/miktex/tm/packages/thuthesis__doc.tar.lzma
2024/04/11 | 16240 | systems/win32/miktex/tm/packages/bookcover__source.tar.lzma
-2024/04/11 | 160738 | macros/latex/contrib/epcqrcode/epcqrcode-doc.pdf
2024/04/11 | 160140 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2024/04/11 | 159604 | systems/win32/miktex/tm/packages/luacensor__doc.tar.lzma
2024/04/11 | 1595552 | systems/win32/miktex/tm/packages/customenvs__doc.tar.lzma
2024/04/11 | 157 | macros/luatex/latex/gitinfo-lua/doc/latexmkrc
-2024/04/11 | 1578 | macros/latex/contrib/epcqrcode/epcqrcode.ins
2024/04/11 | 155396 | systems/win32/miktex/tm/packages/hulipsum__doc.tar.lzma
2024/04/11 | 154665 | systems/win32/miktex/tm/packages/sjtutex.tar.lzma
2024/04/11 | 1530874 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
@@ -818,7 +921,6 @@
2024/04/10 | 10587 | macros/latex/contrib/iaria-lite/iaria-lite.dtx
2024/04/09 | 988498 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
2024/04/09 | 88642 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
-2024/04/09 | 85072 | graphics/pmdraw/pmdraw.tex
2024/04/09 | 847957 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
2024/04/09 | 81413 | macros/latex/contrib/uantwerpendocs/uantwerpencoursetext-example.pdf
2024/04/09 | 796 | macros/luatex/generic/luakeys/luakeys-debug.sty
@@ -852,14 +954,12 @@
2024/04/09 | 505252 | macros/latex/contrib/uantwerpendocs/uantwerpendocs.pdf
2024/04/09 | 4761 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins
2024/04/09 | 463888 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
-2024/04/09 | 46170 | graphics/pmdraw/pmdraw.sty
2024/04/09 | 453698 | macros/latex/contrib/elsarticle/doc/elsdoc.pdf
2024/04/09 | 452495 | macros/luatex/generic/luakeys.zip
2024/04/09 | 434032 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
2024/04/09 | 427235 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
2024/04/09 | 426656 | macros/luatex/generic/luakeys/luakeys.pdf
2024/04/09 | 404476 | graphics/pmdraw.zip
-2024/04/09 | 384283 | graphics/pmdraw/pmdraw.pdf
2024/04/09 | 3840 | systems/texlive/tlnet/archive/prociagssymp.source.r70888.tar.xz
2024/04/09 | 383792 | systems/texlive/tlnet/archive/l3sys-query.doc.r70889.tar.xz
2024/04/09 | 3225054 | macros/latex/contrib/uantwerpendocs/beamerthemeuantwerpenuserguide.pdf
@@ -878,7 +978,6 @@
2024/04/09 | 20430 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
2024/04/09 | 19207 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
2024/04/09 | 188533 | macros/latex/contrib/uantwerpendocs/uantwerpenphdthesis-example1.pdf
-2024/04/09 | 1857 | graphics/pmdraw/README.md
2024/04/09 | 18170 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
2024/04/09 | 179982 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
2024/04/09 | 175940 | macros/latex/contrib/uantwerpendocs/uantwerpenreport-example.pdf
@@ -903,58 +1002,3 @@
2024/04/09 | 106135 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
2024/04/09 | 10481064 | systems/texlive/tlnet/archive/xetex.windows.r70891.tar.xz
2024/04/09 | 1044 | macros/luatex/generic/luakeys/luakeys.sty
-2024/04/08 | 884768 | graphics/metapost/contrib/macros/mptrees.zip
-2024/04/08 | 8264 | systems/texlive/tlnet/archive/abntexto.r70885.tar.xz
-2024/04/08 | 7692 | systems/texlive/tlnet/archive/footmisc.r70885.tar.xz
-2024/04/08 | 7240 | systems/texlive/tlnet/archive/moloch.source.r70885.tar.xz
-2024/04/08 | 694 | support/l3sys-query/SECURITY.md
-2024/04/08 | 689872 | graphics/metapost/contrib/macros/mptrees/mptrees-doc.pdf
-2024/04/08 | 6580 | systems/texlive/tlnet/archive/fontscale.r70885.tar.xz
-2024/04/08 | 6392 | systems/texlive/tlnet/archive/minim-xmp.r70885.tar.xz
-2024/04/08 | 61964 | systems/texlive/tlnet/archive/minim-xmp.doc.r70885.tar.xz
-2024/04/08 | 57963 | graphics/metapost/contrib/macros/mptrees/mptrees-doc.tex
-2024/04/08 | 514740 | systems/texlive/tlnet/archive/footmisc.doc.r70885.tar.xz
-2024/04/08 | 48977 | graphics/metapost/contrib/macros/mptrees/mptrees.mp
-2024/04/08 | 42932 | macros/latex/contrib/didactic/didactic.dtx
-2024/04/08 | 3988 | systems/texlive/tlnet/archive/moloch.r70885.tar.xz
-2024/04/08 | 380420 | systems/texlive/tlnet/archive/asymptote.r70885.tar.xz
-2024/04/08 | 377367 | support/l3sys-query.zip
-2024/04/08 | 375300 | systems/texlive/tlnet/archive/minim.doc.r70885.tar.xz
-2024/04/08 | 373623 | support/l3sys-query/l3sys-query-tool.pdf
-2024/04/08 | 347 | graphics/metapost/contrib/macros/mptrees/README.md
-2024/04/08 | 34080 | systems/texlive/tlnet/archive/minim-math.r70885.tar.xz
-2024/04/08 | 283412 | systems/texlive/tlnet/archive/moloch.doc.r70885.tar.xz
-2024/04/08 | 273748 | systems/texlive/tlnet/archive/hershey-mp.doc.r70885.tar.xz
-2024/04/08 | 268125 | macros/latex/contrib/didactic/didactic.pdf
-2024/04/08 | 26052 | systems/texlive/tlnet/archive/minim-hatching.doc.r70885.tar.xz
-2024/04/08 | 256981 | support/latexmk/latexmk.txt
-2024/04/08 | 2536 | systems/texlive/tlnet/archive/rectopma.source.r70885.tar.xz
-2024/04/08 | 25344 | systems/texlive/tlnet/archive/minim.r70885.tar.xz
-2024/04/08 | 241304 | support/latexmk/latexmk.pdf
-2024/04/08 | 2345040 | systems/texlive/tlnet/archive/asymptote.doc.r70885.tar.xz
-2024/04/08 | 230780 | systems/texlive/tlnet/archive/rectopma.doc.r70885.tar.xz
-2024/04/08 | 22564 | systems/texlive/tlnet/archive/minim-mp.r70885.tar.xz
-2024/04/08 | 22408 | systems/texlive/tlnet/archive/footmisc.source.r70885.tar.xz
-2024/04/08 | 2232 | systems/texlive/tlnet/archive/minim-hatching.r70885.tar.xz
-2024/04/08 | 206488 | support/latexmk/latexmk.1
-2024/04/08 | 203956 | systems/texlive/tlnet/archive/abntexto.doc.r70885.tar.xz
-2024/04/08 | 17987 | CTAN.sites
-2024/04/08 | 17974 | support/latexmk/INSTALL
-2024/04/08 | 17496 | systems/texlive/tlnet/archive/minim-pdf.r70885.tar.xz
-2024/04/08 | 1684 | systems/texlive/tlnet/archive/hershey-mp.r70885.tar.xz
-2024/04/08 | 159364 | macros/luatex/latex/luacensor/luacensor-documentation.pdf
-2024/04/08 | 1520 | support/l3sys-query/l3sys-query.1
-2024/04/08 | 1486 | macros/latex/contrib/didactic/README.md
-2024/04/08 | 14600 | support/l3sys-query/l3sys-query.lua
-2024/04/08 | 143201 | macros/latex/contrib/prociagssymp.zip
-2024/04/08 | 142766 | macros/latex/contrib/prociagssymp/procIAGssymp.pdf
-2024/04/08 | 142704 | systems/texlive/tlnet/archive/minim-pdf.doc.r70885.tar.xz
-2024/04/08 | 135304 | systems/texlive/tlnet/archive/fontscale.doc.r70885.tar.xz
-2024/04/08 | 131668 | systems/texlive/tlnet/archive/minim-mp.doc.r70885.tar.xz
-2024/04/08 | 1286 | macros/latex/contrib/prociagssymp/README.txt
-2024/04/08 | 1196 | support/l3sys-query/README.md
-2024/04/08 | 11733 | support/l3sys-query/l3sys-query-tool.tex
-2024/04/08 | 11288 | macros/latex/contrib/prociagssymp/procIAGssymp.dtx
-2024/04/08 | 1025 | support/l3sys-query/CHANGELOG.md
-2024/04/08 | 100228 | systems/texlive/tlnet/archive/minim-math.doc.r70885.tar.xz
-2024/04/08 | 1000 | systems/texlive/tlnet/archive/rectopma.r70885.tar.xz
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index 10575d224d..f67c1fd8d7 100644
--- a/biblio/ctan-bibdata/ctan.bib
+++ b/biblio/ctan-bibdata/ctan.bib
@@ -1,7 +1,7 @@
%% bib file of all CTAN packages
%% (C) Herbert Voß
%%
-%% created at 15-04-2024, 02:00:04
+%% created at 16-04-2024, 02:00:04
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -2575,9 +2575,9 @@
title = {The \texttt{aobs-tikz} package},
subtitle = {TikZ styles for creating overlaid pictures in beamer},
author = {Claudio Fiandrino},
- date = {2016-06-24},
- version = {1.0},
- license = {lppl1.3},
+ date = {2024-04-15},
+ version = {1.01},
+ license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/aobs-tikz},
url = {https://ctan.org/pkg/aobs-tikz},
}
@@ -7419,8 +7419,8 @@
title = {The \texttt{biblatex-chicago} package},
subtitle = {Chicago style files for BibLaTeX},
author = {David Fussner},
- date = {2022-11-17},
- version = {2.3a},
+ date = {2024-04-15},
+ version = {2.3b},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/biblatex-contrib/biblatex-chicago},
url = {https://ctan.org/pkg/biblatex-chicago},
@@ -22593,9 +22593,9 @@
@manual{ctan-epcqrcode,
title = {The \texttt{epcqrcode} package},
subtitle = {Generate valid EPC QR codes},
- author = {{David Wedekind, Paul Kantiem, Dr. rer. nat. Wolf Müller}},
- date = {2024-04-12},
- version = {1.0},
+ author = {{David Wedekind, Paul Kantiem, Wolf Müller}},
+ date = {2024-04-15},
+ version = {1.1},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/epcqrcode},
url = {https://ctan.org/pkg/epcqrcode},
@@ -27184,8 +27184,8 @@
title = {The \texttt{fontscale} package},
subtitle = {A flexible interface for setting font sizes},
author = {Oliver Beery},
- date = {2024-04-07},
- version = {1.1.1},
+ date = {2024-04-15},
+ version = {1.2.0},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/fontscale},
url = {https://ctan.org/pkg/fontscale},
@@ -57019,8 +57019,8 @@
title = {The \texttt{pst-geometrictools} package},
subtitle = {A PSTricks package to draw geometric tools},
author = {Thomas Söll and Herbert Voß},
- date = {2021-12-28},
- version = {1.3},
+ date = {2024-04-15},
+ version = {1.4},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-geometrictools},
url = {https://ctan.org/pkg/pst-geometrictools},
@@ -63959,8 +63959,8 @@
title = {The \texttt{siunitx} package},
subtitle = {A comprehensive (SI) units package},
author = {Joseph Wright},
- date = {2024-04-12},
- version = {3.3.13},
+ date = {2024-04-15},
+ version = {3.3.14},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/siunitx},
url = {https://ctan.org/pkg/siunitx},
@@ -73338,8 +73338,8 @@
title = {The \texttt{tugboat-plain} package},
subtitle = {Plain \TeX{} macros for TUGboat},
author = {Barbara Beeton and Karl Berry},
- date = {2023-10-29},
- version = {1.29},
+ date = {2024-04-15},
+ version = {1.30},
license = {other-free},
mirror = {https://mirror.ctan.org/macros/plain/contrib/tugboat},
url = {https://ctan.org/pkg/tugboat-plain},
@@ -73364,8 +73364,8 @@
title = {The \texttt{tugboat} package},
subtitle = {LaTeX macros for TUGboat articles},
author = {Robin Fairbairns and Karl Berry},
- date = {2023-10-29},
- version = {2.31},
+ date = {2024-04-15},
+ version = {2.32},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/tugboat},
url = {https://ctan.org/pkg/tugboat},
diff --git a/graphics/pgf/contrib/aobs-tikz/README b/graphics/pgf/contrib/aobs-tikz/README.txt
index 318a2f7cc9..318a2f7cc9 100644
--- a/graphics/pgf/contrib/aobs-tikz/README
+++ b/graphics/pgf/contrib/aobs-tikz/README.txt
diff --git a/graphics/pgf/contrib/aobs-tikz/aobs-tikz.dtx b/graphics/pgf/contrib/aobs-tikz/aobs-tikz.dtx
index dfdc624b37..d521bc522e 100644
--- a/graphics/pgf/contrib/aobs-tikz/aobs-tikz.dtx
+++ b/graphics/pgf/contrib/aobs-tikz/aobs-tikz.dtx
@@ -51,7 +51,7 @@ necessitates TikZ manual load.
\endpreamble
\postamble
-Copyright (C) 2014 by Claudio Fiandrino <claudio.fiandrino@gmail.com>
+Copyright (C) 2024 by Claudio Fiandrino <claudio.fiandrino@gmail.com>
This file may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3 of this
@@ -99,7 +99,7 @@ and the derived files aobs-tikz.ins
%</internal>
%<*package>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{aobs-tikz}[2014/01/12 v1.0 Auxiliary TikZ styles for picture overlay in Beamer]
+\ProvidesPackage{aobs-tikz}[2024/04/15 v1.01 Auxiliary TikZ styles for picture overlay in Beamer]
%</package>
%<*driver>
\documentclass{ltxdoc}
@@ -133,7 +133,7 @@ and the derived files aobs-tikz.ins
\usepackage{hypdoc}
\newcommand\aobstikz{\textsf{aobs-tikz}}
-\newcommand\aobstikzversion{1.0}
+\newcommand\aobstikzversion{1.01}
\newcommand\aobstikzdate{\today}
\EnableCrossrefs
\CodelineIndex
@@ -165,6 +165,7 @@ and the derived files aobs-tikz.ins
%
% \changes{v0.1}{2013/12/19}{Initial version}
% \changes{v0.2}{2013/12/23}{Path aspects}
+% \changes{v0.2}{2024/04/15}{Thanking Matthew}
%
% \GetFileInfo{aobs-tikz.sty}
%
@@ -175,13 +176,13 @@ and the derived files aobs-tikz.ins
% \maketitle
%
% \begin{abstract}
-% The package provides auxiliary styles helpful for drawing overlayed pictures in Beamer. These styles should be intended as extension of the previous work shown by user \href{http://tex.stackexchange.com/users/3751/daniel}{Daniel} of \href{http://tex.stackexchange.com}{TeX.SX} in \href{http://tex.stackexchange.com/q/55806/13304}{Mindmap tikzpicture in beamer (reveal step by step)}.
+% The package provides auxiliary styles helpful for drawing overlayed pictures in Beamer. These styles should be intended as extension of the previous work shown by user \href{http://tex.stackexchange.com/users/3751/daniel}{Daniel} of \href{http://tex.stackexchange.com}{TeX.SX} in \href{http://tex.stackexchange.com/q/55806/13304}{Mindmap tikzpicture in beamer (reveal step by step)} which, in turn, is based on the work of \href{https://tex.stackexchange.com/users/1402/matthew-leingang}{Matthew Leingang} in \href{https://tex.stackexchange.com/a/6155/13304}{How to make beamer overlays with Tikz node}.
% \end{abstract}
% \tableofcontents
%\section{Introduction}
% The aim of \aobstikz{} is to provide users simple tools to create overlayed-aware pictures for Beamer presentations. A set of new TikZ styles, grouped within a library, has been define on purpose.
%
-% The library is proposed as extension of the previous work by user \href{http://tex.stackexchange.com/users/3751/daniel}{Daniel} on \href{www.tex-stackexchange.com}{TeX.SX}, illustrated in \href{http://tex.stackexchange.com/q/55806/13304}{Mindmap tikzpicture in beamer (reveal step by step)}. The very first version of the library has been implemented for answering the question \href{http://tex.stackexchange.com/q/84513/13304}{Highlighting in Beamer using TikZ nodes}: \aobstikz{} further extends and improves the original styles.
+% The library is proposed as extension of the previous work by user \href{http://tex.stackexchange.com/users/3751/daniel}{Daniel} on \href{www.tex-stackexchange.com}{TeX.SX}, illustrated in \href{http://tex.stackexchange.com/q/55806/13304}{Mindmap tikzpicture in beamer (reveal step by step)} which, in turn, is based on the work of \href{https://tex.stackexchange.com/users/1402/matthew-leingang}{Matthew Leingang} in \href{https://tex.stackexchange.com/a/6155/13304}{How to make beamer overlays with Tikz node}. The very first version of the library has been implemented for answering the question \href{http://tex.stackexchange.com/q/84513/13304}{Highlighting in Beamer using TikZ nodes}: \aobstikz{} further extends and improves the original styles.
%
% The main advantage of using the new styles is that they automatically prevent the so called \emph{jumping-effect} which occasionally happen with Beamer.
%
diff --git a/graphics/pgf/contrib/aobs-tikz/aobs-tikz.ins b/graphics/pgf/contrib/aobs-tikz/aobs-tikz.ins
index 6bc7dc2763..e8be9160ff 100644
--- a/graphics/pgf/contrib/aobs-tikz/aobs-tikz.ins
+++ b/graphics/pgf/contrib/aobs-tikz/aobs-tikz.ins
@@ -44,7 +44,7 @@ necessitates TikZ manual load.
\endpreamble
\postamble
-Copyright (C) 2014 by Claudio Fiandrino <claudio.fiandrino@gmail.com>
+Copyright (C) 2024 by Claudio Fiandrino <claudio.fiandrino@gmail.com>
This file may be distributed and/or modified under the conditions
of the LaTeX Project Public License, either version 1.3 of this
@@ -73,7 +73,7 @@ and the derived files aobs-tikz.ins
\generate{\file{example.tex} {\from{\jobname.dtx}{example}}}
\endbatchfile
%%
-%% Copyright (C) 2014 by Claudio Fiandrino <claudio.fiandrino@gmail.com>
+%% Copyright (C) 2024 by Claudio Fiandrino <claudio.fiandrino@gmail.com>
%%
%% This file may be distributed and/or modified under the conditions
%% of the LaTeX Project Public License, either version 1.3 of this
diff --git a/graphics/pgf/contrib/aobs-tikz/aobs-tikz.pdf b/graphics/pgf/contrib/aobs-tikz/aobs-tikz.pdf
index 2ca384f528..995a14e759 100644
--- a/graphics/pgf/contrib/aobs-tikz/aobs-tikz.pdf
+++ b/graphics/pgf/contrib/aobs-tikz/aobs-tikz.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-geometrictools/Changes b/graphics/pstricks/contrib/pst-geometrictools/Changes
index 535e2ec7f6..ba4253e188 100644
--- a/graphics/pstricks/contrib/pst-geometrictools/Changes
+++ b/graphics/pstricks/contrib/pst-geometrictools/Changes
@@ -1,5 +1,6 @@
pst-geometrictools.tex ----------------
+1.4 2024/04/15 - fix for unbalanced gsave ... grestore (hv)
1.3 2021/12/28 - more fixes for lualatex (hv)
1.2 2021/11/17 - fixes for lualatex (hv)
1.1 2017/09/16 - choose fonts for some tools
diff --git a/graphics/pstricks/contrib/pst-geometrictools/README.md b/graphics/pstricks/contrib/pst-geometrictools/README.md
index c3b26509db..dff697e8a2 100644
--- a/graphics/pstricks/contrib/pst-geometrictools/README.md
+++ b/graphics/pstricks/contrib/pst-geometrictools/README.md
@@ -2,7 +2,7 @@ The pst-geometrictools package Author: Thomas Söll
"pst-geometrictools" is a PSTricks package to draw a protractor, a ruler, a compass and pencils
-Dated: 2021/12/28 Version 1.3
+Dated: 2024/04/11 Version 1.4
pst-geometrictools contains the following:
@@ -28,5 +28,5 @@ PSTricks is PostScript Tricks, the documentation cannot be run with pdftex,
use the sequence latex->dvips->ps2pdf or latex->dvips->distiller or lualatex.
T. Söll
+H. Voß hvoss@tug.org (bugfixes)
-(Bugfixes by Herbert Voß hvoss@tug.org)
diff --git a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
index ce1b9782c2..72bcd6e801 100644
--- a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
+++ b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
index 47b04b6f2d..7d14e2626e 100644
--- a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
+++ b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-doc.tex
@@ -5,7 +5,7 @@
%%
%% Package `pst-geometrictools.tex'
%%
-%% Thomas Söll
+%% Thomas Söll, Herert Voß
%%
%% This program can redistributed and/or modified under %%
%% the terms of the LaTeX Project Public License %%
@@ -20,8 +20,7 @@
\listfiles
-\RequirePackage{pdfmanagement-testphase}
-\DeclareDocumentMetadata{}
+\DocumentMetadata{}
%% $Id: pst-venn-doc.tex 848 2018-12-04 09:25:49Z herbert $
\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
headinclude=false,footinclude=false,oneside]{pst-doc}
@@ -54,9 +53,9 @@
\begin{document}
-\title{pst-geometrictools v 1.3}
+\title{pst-geometrictools v 1.4}
\subtitle{A PSTricks package to draw a protractor, a ruler, a compass and pencils}
-\author{Thomas Söll\\Herbert Voß (bugfix)}
+\author{Thomas Söll\\Herbert Voß (bugfixes)}
\date{\today}
\settitle
@@ -127,6 +126,9 @@ The command \Lcs{psProtractor} offers a positioning
\end{itemize}
+
+
+
\subsection{\textbackslash psRuler}
\begin{BDef}
@@ -154,6 +156,26 @@ The command \Lcs{psRuler} offers a positioning
\end{itemize}
+\definecolor{BrickRed}{rgb}{.702,0.1333,0.1333}
+\definecolor{SeaGreen}{rgb}{.1804,.5451,.34117647}
+
+\begin{pspicture*}[showgrid](-4.0,-10)(6,4.5)
+\psline[linewidth=1pt](-1,0)(5,0)
+\psline[linewidth=0.6pt](4,-.2)(4,.2)\psline[linewidth=0.6pt](0,-.2)(0,.2)
+\rput(3.7,.3){$A$}\rput(0.4,.3){$A'$}
+\rput(2.6,-3.4){$M$}\rput(2.6,3.4){$N$}\rput(2.3,.3){$O$}
+\pnode(4,0){A}\pnode(0,0){B}\pnode(2,-1.5){M}\pnode(2.61,3.76){N1}\pnode(1.41,3.76){N2}
+\pscircle[linewidth=1pt](2,0){2}
+\psarc[linewidth=1pt,linecolor=BrickRed](4,0){4}{110}{250}
+\psarc[linewidth=1pt,linecolor=blue](0,0){4}{-70}{70}
+\psPencil[pencilColA=green,PenLength=3]{-120}(2,4)
+\psRuler[opacity=0.15]{0}(1.96,4)(1.96,-3)
+\psline[linewidth=1pt,linecolor=green](2,-4)(2,4)
+\end{pspicture*}
+
+
+
+
\newpage
@@ -193,6 +215,22 @@ When you like to use a radius other than the distance between the two points tha
\end{itemize}
+\begin{pspicture}[showgrid](-6,-4)(8,4.5)
+\psline[linewidth=1pt](-1,0)(5,0)
+\psline[linewidth=0.6pt](4,-.2)(4,.2)\psline[linewidth=0.6pt](0,-.2)(0,.2)
+\rput(3.7,.3){$A$}\rput(0.4,.3){$A'$}
+\rput(2.6,-3.4){$M$}\rput(2.6,3.4){$N$}\rput(2.3,.3){$O$}\psdot[dotsize=3pt](2,0)
+\pnode(4,0){A}\pnode(0,0){B}\pnode(2,-1.5){M}\pnode(2.61,3.76){N1}\pnode(1.41,3.76){N2}
+\pscircle[linewidth=1pt](2,0){2}
+\psarc[linewidth=1pt,linecolor=BrickRed](4,0){4}{110}{250}
+\psarc[linewidth=1pt,linecolor=blue](0,0){4}{-70}{70}
+\psscalebox{-1 1}{\psCompass[PoCScale=0.8]{2}(A)(N1)}
+\psCompass[PoCScale=0.8,PoCFillCol=blue]{2}(B)(N2)
+\end{pspicture}
+
+
+
+
\subsection{\textbackslash psPencil}
\begin{BDef}
diff --git a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf
deleted file mode 100644
index 2d8390e783..0000000000
--- a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.pdf
+++ /dev/null
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex b/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex
deleted file mode 100644
index 4e36c902d1..0000000000
--- a/graphics/pstricks/contrib/pst-geometrictools/doc/pst-geometrictools-fr-doc.tex
+++ /dev/null
@@ -1,409 +0,0 @@
-%%
-%% This is file `pst-geometrictools-fr-doc.tex',
-%%
-%% IMPORTANT NOTICE:
-%%
-%% Package `pst-geometrictools.tex'
-%%
-%% Thomas S\"{o}ll
-%%
-%% This program can redistributed and/or modified under %%
-%% the terms of the LaTeX Project Public License %%
-%% Distributed from CTAN archives in directory %%
-%% macros/latex/base/lppl.txt; either version 1.3c of %%
-%% the License, or (at your option) any later version. %%
-%%
-%% DESCRIPTION:
-%% `pst-geometrictools' is a PSTricks package to draw a protractor, a ruler, a compass and pencils
-%%
-%%
-
-
-\listfiles
-
-\RequirePackage{pdfmanagement-testphase}
-\DeclareDocumentMetadata{}
-%% $Id: pst-venn-doc.tex 848 2018-12-04 09:25:49Z herbert $
-\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
- headinclude=false,footinclude=false,oneside]{pst-doc}
-
-\usepackage[autostyle]{csquotes}
-\usepackage{biblatex}
-%\usepackage[style=dtk]{biblatex}
-%\addbibresource{pst-geometrictools-doc.bib}
-\let\pstgeometrictoolsFV\fileversion
-\usepackage{pst-geometrictools,pst-node,pstricks-add}
-
-\let\belowcaptionskip\abovecaptionskip
-
-\parindent0pt
-
-\psset{arrowlength=2.8,arrowinset=0.1}
-
-\def\bgImage{%
-\begin{pspicture}(-7,-3)(7,7)%
-\psProtractor[ProScale=0.75]{-5}(-2,2)%
-\psRuler[RulerFillCol=Blue!80,RulerScale=0.75]{190}(1,5)
-\psPencil[pencilColA=Green,PenScale=0.75]{10}(-2,2)
-\psPencil[PenLength=2,pencilColA=red,PenScale=0.75]{-20}(1,5)
-\psCompass[PoCScale=1.25,PoCFillCol=Yellow,PoCAngle=0,PoCMineCol=Green]{5}(3.5,-3.5)(7.5,-3.5)
-\end{pspicture}
-}
-
-\lstset{language=PSTricks,morekeywords={psdot,psIntersectionPoint,psProtractor,psPencil,psRuler,psParallels,psGetAngleABC,pstRightAngle,psline}\footnotesize\ttfamily}
-
-\newpsstyle{Parallelen}{country=G,ProScale=0.5,ProLineCol=cyan,ProFillCol=gray!50,OwnerTxt=Pythagoras,MadeTxt={Geodreieck},RulerFillCol=cyan!40}
-
-\begin{document}
-
-\title{pst-geometrictools v 1.3}
-\subtitle{Package de PSTricks pour dessiner un rapporteur, une r\'{e}glette et un crayon}
-\author{Thomas Söll\\Herbert Voß (bugfixes)}
-\date{\today}
-
-\settitle
-
-\tableofcontents
-
-\begin{abstract}
-Pour illustrer des notions de g\'{e}om\'{e}trie \'{e}l\'{e}mentaire le package pst-geometrictools dispose des outils suivants :
-\begin{itemize}
- \item r\`{e}gle gradu\'{e}e ;
- \item \'{e}querre-rapporteur ;
- \item crayon.
-\end{itemize}
-Les arguments et options des commandes d\'{e}di\'{e}es permettent de les positionner ainsi que de les personnaliser. Vous remarquerez dans les exemples qui illustrent la documentation le soin tout professionnel qui a \'{e}t\'{e} apport\'{e} au dessin et aux d\'{e}tails des outils. L'utilisation du package pst-eucl de Dominique Rodriguez est vivement conseill\'{e} car ses commandes sont particuli\`{e}rement efficaces pour cr\'{e}er facilement des animations et des illustrations.
-
-\bigskip
-This program can redistributed and/or modified under the terms of the LaTeX Project Public License Distributed from CTAN archives in directory macros/latex/base/lppl.txt; either version 1.3c of the License, or (at your option) any later version.
-\end{abstract}
-
-
-\clearpage
-
-
-\section{Comment utiliser les commandes}
-
-\subsection{\textbackslash psProtractor}
-
-\begin{BDef}
-\Lcs{psProtractor}\OptArgs\Largb{angle}\Largr{coordonn\'{e}es de l'origine}%
-\\
-\Lcs{psProtractor}\OptArgs\Largb{angle}\Largr{coordonn\'{e}es de l'origine}\Largr{coordonn\'{e}es du second point}
-\end{BDef}
-
-
-La commande \Lcs{psProtractor} est munie des options \nxLkeyword{ProScale=}, \nxLkeyword{ProLineCol=}, \nxLkeyword{ProFillCol=}, \nxLkeyword{OwnerTxt=}, \nxLkeyword{MadeTxt=}, \nxLkeyword{PSfontO=}, \nxLkeyword{fontsizeO=}, \nxLkeyword{PSfontM=}, \nxLkeyword{fontsizeM=}, \nxLkeyword{country=} and \nxLkeyword{Ghost=}.
-
-\begin{quote}
-\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
-\emph{Nom} & \emph{D\'{e}faut} & \emph{action} \\\midrule
-\Lkeyword{ProScale} & 1 & facteur d'\'{e}chelle\\
-\Lkeyword{ProFillCol} & gray!60 & couleur de transparence \\
-\Lkeyword{ProLineCol} & cyan & couleur de l'arc en demi-cercle\\
-\Lkeyword{OwnerTxt} & T.S. & Nom du propri\'{e}taire\\
-\Lkeyword{MadeTxt} & Made in NES & Lieu de fabrication\\
-\Lkeyword{PSfontO} & Symbol & PSfont pour le nom du propri\'{e}taire\\
-\Lkeyword{fontsizeO} & 10pt & fontsize pour le nom du propri\'{e}taire\\
-\Lkeyword{PSfontM} & Times-Roman & PSfont pour le lieu de fabrication\\
-\Lkeyword{fontsizeM} & 6pt & fontsize pour le lieu de fabrication\\
-\Lkeyword{country} & Germany & options permises : Germany, France\\
-\Lkeyword{Ghost} & false & true : ne trace pas le rapporteur, mais calcule les n\oe{}uds des sommets\\
-\bottomrule
-\end{tabularx}
-\end{quote}
-
-La commande \Lcs{psProtractor} fournit automatiquement les 3 n\oe{}uds des sommets du rapporteur, ils sont nomm\'{e}s : \texttt{GeodrA}, \texttt{GeodrB}, \texttt{GeodrC}
-
-Ces n\oe{}uds peuvent \^{e}tre tr\`{e}s utiles.
-
-\subsection{\textbackslash psRuler}
-
-\begin{BDef}
-\Lcs{psRuler}\OptArgs\Largb{angle}\Largr{coordonn\'{e}es de l'origine}
-\\
-\Lcs{psRuler}\OptArgs\Largb{angle}\Largr{coordonn\'{e}es de l'origine}\Largr{coordonn\'{e}es du second point}
-\end{BDef}
-
- Cette commande \Lcs{psRuler} est munie des options \nxLkeyword{RulerScale=} et \nxLkeyword{RulerFillCol=}.
-\begin{quote}
-\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
-\emph{Nom} & \emph{D\'{e}faut} & \emph{action} \\\midrule
-\Lkeyword{RulerScale} & 1 & facteur d'\'{e}chelle de la r\`{e}glette\\
-\Lkeyword{RulerFillCol} & gray & couleur de la r\'{e}glette\\
-\bottomrule
-\end{tabularx}
-\end{quote}
-
-
-
-\subsection{\textbackslash psPencil}
-
-\begin{BDef}
-\Lcs{psPencil}\OptArgs\Largb{angle}\Largr{coordonn\'{e}es de la pointe du crayon}
-\end{BDef}
-
-Cette \Lcs{psPencil} est munie des options \nxLkeyword{PenScale=}, \nxLkeyword{PenLength=}, \nxLkeyword{pencilColA=} and \nxLkeyword{pencilColB=}.
-
-\begin{quote}
-\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
-\emph{Nom} & \emph{D\'{e}faut} & \emph{action} \\\midrule
-\Lkeyword{PenScale} & 1 & facteur d'\'{e}chelle\\
-\Lkeyword{PenLength} & 5 & longueur du crayon\\
-\Lkeyword{pencilColA} & red & couleur du corps du crayon\\
-\Lkeyword{pencilColB} & HolzCol & couleur de la mine\\
-\bottomrule
-\end{tabularx}
-\end{quote}
-
-
-\subsection{\textbackslash psCompass}
-
-\begin{BDef}
-\Lcs{psCompass}\OptArgs\Largb{radius}\Largr{coordonn\'{e}es de l'origine : pointe du compas}
-\\
-\Lcs{psCompass}\OptArgs\Largb{radius}\Largr{coordonn\'{e}es de l'origine}\Largr{ccoordonn\'{e}es du second point}
-\end{BDef}
-
-Cette commande \Lcs{psCompass} poss\`{e}de les options \nxLkeyword{PoCAngle=}, \nxLkeyword{PoCLength}, \nxLkeyword{PoCFillCol=}, \nxLkeyword{PoCMineCol=} and \nxLkeyword{PoCScale=}.
-
-\begin{quote}
-\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
-\emph{Nom} & \emph{D\'{e}faut} & \emph{action} \\\midrule
-\Lkeyword{PoCAngle} & 0 & angle de rotation\\
-\Lkeyword{PoCLength} & 5 & longueur des bras du compas\\
-\Lkeyword{PoCFillCol} & gray!60 & couleur des bras\\
-\Lkeyword{PoCMineCol} & gray!60 & couleur de la mine\\
-\Lkeyword{PoCScale} & 1 & facteur d'\'{e}chelle \\
-\bottomrule
-\end{tabularx}
-\end{quote}
-La commande \Lcs{psCompass} permet de placer le compas :
-\begin{itemize}
-\item soit par un point et le rayon ;
-\item ou par deux points (le rayon est ensuite calcul\'{e} automatiquement).
-\end{itemize}
-
-\subsection{\textbackslash psParallels}
-
-\begin{BDef}
-\Lcs{psParallels}\OptArgs\Largr{pointA}\Largr{pointB}\Largr{pointC}
-\end{BDef}
-
-La commande \Lcs{psParallels} dispose des options \nxLkeyword{Ruler=}, \nxLkeyword{Ppoint=}, \nxLkeyword{pencilColA=} et \nxLkeyword{AddAngle=}.
-
-\begin{quote}
-\begin{tabularx}{\linewidth}{ @{} l >{\ttfamily}l X @{} }\toprule
-\emph{Nom} & \emph{D\'{e}faut} & \emph{action} \\\midrule
-\Lkeyword{Ruler} & true & dessine la r\'{e}glette gradu\'{e}e\\
-\Lkeyword{Ppoint} & false & Si \Lkeyword{Ppoint}=true] : l'origine du rapporteur est plac\'{e}e en C, son hypot\'{e}nuse \'{e}tant parall\'{e}le \`{a} (AB).\\
-\Lkeyword{AddAngle} & 0 & Angle suppl\'{e}mentaire pour inverser le rapporteur (0 or 180)\\
-\bottomrule
-\end{tabularx}
-\end{quote}
-
-Cette commande permet de tracer la parrall\`{e}le passant par le point \texttt{pointC} \`{a} la droite d\'{e}finie par les points \texttt{pointA} and \texttt{pointB}. Le rapporteur et la r`{e}gle sont plac\'{e}s automatiquement.
-
-
-\begin{LTXexample}[pos=t,width=17cm]
-\begin{pspicture}(-11,-10)(6,2.5)
-\psParallels[DistCoeff=1,ProScale=.75,RulerScale=0.7](-6,-1)(1,2)(2,0)
-\end{pspicture}
-\end{LTXexample}
-
-
-\psset{unit=1cm}
-
-\begin{LTXexample}[pos=t,width=18cm]
-\psscalebox{0.5}{%
-\begin{pspicture}[showgrid](-11,-1)(11,20)%
-\pnode(5,5){A}\uput[90](A){A}
-\pnode(-8,1){B}\uput[90](B){B}
-\pnode(3,3){C}\uput[250](C){C}
-\pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B)
-\psParallels[style=Parallelen,RulerScale=0.75,ProScale=0.75](A)(B)(C)
-\pcline[linecolor=BrickRed](GeodrB)(GeodrA)%
-\midAB(GeodrB)(GeodrA){M}%
-\psPencil[PenLength=5,pencilColA=red,PenScale=0.5]{60}(M)
-\end{pspicture}}
-\end{LTXexample}
-
-Pour une animation, on utilisera la commande \verb+\multido{}{N}{...+ en fixant uniquement
-le nombre de pas souhait\'{e} pour que l'hypothénuse du rapporteur passe de la position
-où il est tout près de (AB) et parallèle à celle-ci au point C.
-
-\begin{verbatim}
-\multido{}{40}{%
- \begin{pspicture}[showgrid](-11,-4)(7,8)%
- \pstGeonode[PosAngle=135,linecolor=red](-2,6){A}
- \pstGeonode[PosAngle=135,linecolor=Green](-8,1){B}
- \pstGeonode[PosAngle=-45,linecolor=blue](0,3){C}
- \pcline[linecolor=BrickRed,nodesepA=-2,nodesepB=-2](A)(B)%
- \psParallels[style=Parallelen,RulerScale=0.75,ProScale=0.75](A)(B)(C)
- \end{pspicture}%
-}
-\end{verbatim}
-
-Remarque : Si [Ppoint=true] : l'origine du rapporteur est plac\'{e}e en C, son hypot\'{e}nuse \'{e}tant parall\`{e}le \`{a} (AB). La r\`{e}gle n'est plus plac\'{e}e automatiquement \`{a} sa position exacte sous le rapporteur.
-Il la placer soi-m\^{e}me.
-\section{Exemples de base}
-
-Les outils avec les options par d\'{e}faut.
-\begin{LTXexample}[pos=t,width=11cm]
-\begin{pspicture}(-6,-8.5)(5,4)
-\psProtractor{0}(0,0)
-\psRuler{0}(0,0)
-\psPencil{-30}(0,0)
-\end{pspicture}
-\end{LTXexample}
-
-
-
-Nous voyons que pour le rapporteur, la r\`{e}gle, et la pointe de la mine du crayon (son origine) sont positionn\'{e}es \`{a} $(0|0)$. L'ajout d'un angle tourne les objets autour de leur origine.
-
-Pour le rapporteur et la r\`{e}gle, il existe deux fa\c{c}ons de les positionner :
-\begin{itemize}
-\item Un point et un angle, comme :
-
-\Lcs{psProtractor}\OptArgs\Largb{<angle>}\Largr{<point>}
-
-C'est tout \`{a} fait explicite. L'origine est positionn\'{e}e au point et l'outil est tourn\'{e} autour de ce point de l'angle choisi.
-
-\item deux points et un angle suppl\'{e}mentaire, comme:
-\Lcs{psProtractor}\OptArgs\Largb{<angle additionnel>}\Largr{<pointA>}\Largr{<pointB>}
-
- L'origine de l'outil est d\'{e}finie sur pointA. L'hypot\'{e}nuse du rapporteur est align\'{e}e sur la droite joignant pointA et pointB, lorsque l'angle vaut $0$.
-\end{itemize}
-
-
-\begin{LTXexample}[pos=t,width=16cm]
-\begin{pspicture}[showgrid](-8,-6.5)(8,2)
-\pnode(-2,-1){A}\psdot[linecolor=Green,dotsize=5pt](A)\uput[90](A){A}
-\pnode(5,-2){B}\psdot[linecolor=Green,dotsize=5pt](B)\uput[180](B){B}
-\psProtractor[ProScale=0.5]{30}(A)
-\psProtractor[ProLineCol=Yellow,ProScale=0.5]{90}(B)
-\end{pspicture}
-\end{LTXexample}
-
-\begin{LTXexample}[pos=t,width=13cm]
-\begin{pspicture}[showgrid](-8,-6.5)(5,2)
-\pnode(-2,-2){A}\psdot[linecolor=Green,dotsize=5pt](A)\uput[45](A){A}
-\pnode(5,-4){B}\psdot[linecolor=Green,dotsize=5pt](B)\uput[45](B){B}
-\pcline[linecolor=Green](A)(B)
-\psProtractor[ProScale=0.5]{0}(A)(B)
-\psProtractor[ProLineCol=Yellow,ProScale=0.5]{190}(A)(B)
-\end{pspicture}
-\end{LTXexample}
-
-
-
-
-Les n\oe{}uds pr\'{e}d\'{e}finis du rapporteur.
-\begin{LTXexample}[pos=t,width=13cm]
-\begin{pspicture}(-8,-8.5)(5,2)
-\psProtractor{0}(0,0)
-\psdot[linecolor=Green,dotsize=10pt](GeodrA)\uput[45](GeodrA){GeodrA}
-\psdot[linecolor=Blue,dotsize=10pt](GeodrB)\uput[135](GeodrB){GeodrB}
-\psdot[linecolor=BrickRed,dotsize=10pt](GeodrC)\uput[-90](GeodrC){GeodrC}
-\end{pspicture}
-\end{LTXexample}
-
-
-
-A pair of compasses
-
-\begin{LTXexample}[pos=t,width=12cm]
-\begin{pspicture}[showgrid](-6,-2)(6,6)%
-\pnode(-1,0){A}\psdot[dotsize=3pt,linecolor=red](A)
-\pnode(1,0){B}\psdot[dotsize=3pt,linecolor=Green](B)
-\pscircle(A){2}
-\pcline[linecolor=BrickRed,nodesepA=-9,nodesepB=-6](A)(B)
-\psCompass[PoCAngle=70,PoCScale=0.8]{2}(A)
-\pnode(2,0){A}\psdot[dotsize=3pt,linecolor=red](A)
-\pnode(6,0){B}\psdot[dotsize=3pt,linecolor=Green](B)
-\psCompass[PoCScale=1,PoCFillCol=Yellow,PoCAngle=0,PoCMineCol=Green]{5}(A)(B)
-\end{pspicture}
-\end{LTXexample}
-
-\section{Exemples avanc\'{e}s}
-
-Mesurer les angles d'un triangle.
-
-\begin{LTXexample}[pos=t,width=17cm]
-\newpsstyle{WkMessung}{linestyle=none,AngleValue=true,ArcColor=Green,arrows=->,WedgeOpacity=0.6,WedgeColor=Green!30,LabelSep=1.6,MarkAngleRadius=2.8,linecolor=Green,decimals=1,comma}
-\newpsstyle{GeoDrG}{country=G,ProScale=1,ProLineCol=Green,ProFillCol=Green!50,OwnerTxt={Pythagoras},MadeTxt={Geodreieck}}
-\begin{pspicture}(0,-1)(17,10)
-\pnode(8,0){S}\uput[d](S){S}\psdot(S)
-\pnode(17,0){B}%\uput[l](B){B}
-\rput(S){\pnode(7;35){C}}%\uput[l](C){C}
-\pcline[linecolor=blue,nodesepB=-0](S)(B)
-\pcline[linecolor=red,nodesepB=-2](S)(C)
-\psProtractor[style=GeoDrG]{0}(S)(B)%
-\psIntersectionPoint(S)(C)(GeodrB)(GeodrC){D}
-%\psLDNode(A)(C){5.65}{D}
-\pcline[linecolor=Green,arrowinset=0.1,arrowlength=2,linewidth=2pt]{->}([offset=1.5cm]D)(D)
-\psGetAngleABC[style=WkMessung,xShift=-6,yShift=9](B)(S)(C){\Large\color{Green}$\alpha$}
-%\rput(8,9){\psframebox[framesep=6pt,framearc=0.2]{Winkel messen mit dem Geodreieck}}
-\rput([offset=4.5]D){\psframebox[framesep=6pt,framearc=0.2]{
-\begin{minipage}[t]{5.5cm}
-Lege das Geodreieck auf den blauen Schenkel, so dass die Null auf dem Scheitel S liegt. Lies nun am \"{a}u{\ss}eren Rand den Winkel ab (gr\"{u}ner Pfeil).
-\end{minipage}
-}}
-\end{pspicture}
-\end{LTXexample}
-
-
-
-\begin{LTXexample}[pos=t,width=16cm]
-\begin{pspicture}(-9,-6)(7,10)
-\pnode(1,7){A}
-\pnode(-5,0){B}
-\pnode(5,-2){C}
-\pspolygon[linecolor=red](A)(B)(C)
-\psProtractor[ProScale=0.5]{0}(A)(B)
-\psProtractor[ProScale=0.5]{0}(B)(C)
-\psProtractor[ProScale=0.5]{0}(C)(A)
-\end{pspicture}
-\end{LTXexample}
-
-\newpage
-
-Construction des hauteurs d'un triangle
-
-\begin{LTXexample}[pos=t,width=16cm]
-\begin{pspicture}(-6,-4.5)(5,8)
-\pnode(1,7){A}
-\pnode(-5,1){B}
-\pnode(3,2){C}
-\uput[ur](A){A}\uput[d](B){B}\uput[d](C){C}
-\pspolygon(A)(B)(C)
-\pstProjection{B}{C}{A}[A']
-\psProtractor[ProScale=0.8,OwnerTxt={Height of a triangle},MadeTxt={Made in NES},PSfontO=Helvetica,PSfontM=Times-Roman,fontsizeO=8,fontsizeM=6]{0}(A')(A)
-\pcline[linecolor=red,linestyle=dashed,linewidth=2pt](GeodrC)(A')
-\pstRightAngle[RightAngleType=german]{C}{A'}{A}
-\end{pspicture}
-\end{LTXexample}
-
-
-
-
-\clearpage
-
-
-
-\section{Liste de tous les options pour \texttt{pst-geometrictools}}
-\xkvview{family=pst-geometrictools,columns={key,type,default}}
-
-
-\clearpage
-
-
-%\nocite{*}
-%\bgroup
-%\RaggedRight
-%\printbibliography
-%\egroup
-
-
-\printindex
-\end{document} \ No newline at end of file
diff --git a/graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty b/graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty
index 2f1cd2e24c..496c7a2e72 100644
--- a/graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty
+++ b/graphics/pstricks/contrib/pst-geometrictools/latex/pst-geometrictools.sty
@@ -4,7 +4,7 @@
%%
%% Package `pst-geometrictools.tex'
%%
-%% Thomas S\"{O}LL
+%% Thomas SöLL, Herbert Voß
%%
%% This program can redistributed and/or modified under %%
%% the terms of the LaTeX Project Public License %%
@@ -16,7 +16,7 @@
%% `pst-geometrictools' is a PSTricks package to draw a protractor, a ruler, a compass and pencils
%%
\RequirePackage{pstricks}
-\ProvidesPackage{pst-geometrictools}[2017/06/29 package wrapper for pst-geometrictools.tex]
+\ProvidesPackage{pst-geometrictools}[2024/04/15 package wrapper for pst-geometrictools.tex]
\input{pst-geometrictools.tex}
\ProvidesFile{pst-geometrictools.tex}
[\filedate\space v\fileversion\space `PST-geometrictools']
diff --git a/graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex b/graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex
index 608e29ef56..bcd397f26c 100644
--- a/graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex
+++ b/graphics/pstricks/contrib/pst-geometrictools/tex/pst-geometrictools.tex
@@ -1,7 +1,7 @@
%% This is file `pst-geometrictools.tex',
%%
%% Thomas Söll
-%% fixes for lualatex by Herbert Voß
+%% fixes by Herbert Voß
%%
%% This program can redistributed and/or modified under %%
%% the terms of the LaTeX Project Public License %%
@@ -10,7 +10,8 @@
%% the License, or (at your option) any later version. %%
%%
%% DESCRIPTION:
-%% `pst-geometrictools' is a PSTricks package to draw a protractor, a ruler, a compass and pencils
+%% `pst-geometrictools' is a PSTricks package to draw a protractor, a ruler,
+%% a compass and pencils
%%
%%
\csname PSTgeometrictoolsLoaded\endcsname
@@ -20,8 +21,8 @@
\ifx\PSTXKeyLoaded\endinput \else\input pst-xkey.tex\fi
\ifx\PSTEuclideLoaded\endinput\else\input pst-eucl.tex\fi
\ifx\PSTnodeLoaded\endinput \else\input pst-node.tex\fi
-\def\fileversion{1.3}
-\def\filedate{2021/12/28}
+\def\fileversion{1.4}
+\def\filedate{2024/04/15}
\message{`PST' v\fileversion, \filedate}
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -39,7 +40,7 @@
\define@key[psset]{pst-geometrictools}{fontsizeM}[6]{\def\pst@fontsizeM{#1 }}
\define@key[psset]{pst-geometrictools}{country}[Germany]{\def\pst@country{#1}}
\psset[pst-geometrictools]{ProScale=1,OwnerTxt={Euklid},MadeTxt={made in NES},
- country=Germany,PSfontO=StandardSymL,PSfontM=NimbusRomNo9L-Regu,fontsizeO=10,fontsizeM=6,
+ country=Germany,PSfontO=StandardSymbolsPS,PSfontM=NimbusRomNo9L-Regu,fontsizeO=10,fontsizeM=6,
ProFillCol=gray!60,ProLineCol=cyan,Ghost=false}
@@ -49,7 +50,6 @@
\def\psProtractor@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel
\begin@SpecialObj
\pst@killglue
-% \begingroup
\pnode(#2){@PGD}%
\pnode(#3){@QGD}%
\use@par
@@ -472,7 +472,6 @@ grestore
@delta #1 add 180 add rotate % ------------------------------ Drehe die rechte untere Ecke des Geodreiecks
\pst@ProScale\space \pst@ProScale\space scale % -------- Skalieren!
8 0){GeodrB}%
-%\endgroup%
\end@SpecialObj
\ignorespaces
}%
@@ -766,30 +765,29 @@ grestore
\psset[pst-geometrictools]{PoCScale=1,PoCFillCol=PoCRed,PoCAngle=0,PoCMineCol=black!80,PoCLength=5,MCAngle=true,RadVS=RVS,AngleVS=AVS,RadMul=1}
\def\psCompass{\def\pst@par{}\pst@object{psCompass}}% Pair of Compasses
-\def\psCompass@i#1(#2){\@ifnextchar(%
-{\psCompass@ii{0}(#2)}%
-{\psCompass@ii{#1}(#2)(#2)}}%
+\def\psCompass@i#1(#2){\@ifnextchar({\psCompass@ii{0}(#2)}{\psCompass@ii{#1}(#2)(#2)}}%
+
\def\psCompass@ii#1(#2)(#3){%------------------------------- #1 Winkel, #2 Ursprung P, zweiter Punkt Q für Winkel
-\begin@SpecialObj
-\pst@killglue
-\begingroup%
-\pnode(#2){@PGD}%
-\pnode(#3){@QGD}%
-\use@par%
-\pst@getcoor{@QGD}\pst@tempB % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempB
-\pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
-\addto@pscode{%
+ \begin@SpecialObj
+ \pst@killglue
+ \begingroup
+ \pnode(#2){@PGD}%
+ \pnode(#3){@QGD}%
+ \use@par
+ \pst@getcoor{@QGD}\pst@tempB % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempB
+ \pst@getcoor{@PGD}\pst@tempA % -------------------------- Hohle die Koordinaten und speichere sie in \pst@tempA
+ \addto@pscode{%
\pst@RadMul /faktor ED
\pst@PoCScale /skal ED
#1 skal div 2 div /Radius ED
skal dup scale % -------- Skaliere das ganze Geodreieck
- /sysfill {systemdict /fill get exec} def
- /SLg \pst@PoCLength def
- /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
- \pst@tempA\tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
- \pst@tempB\tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
- \pst@tempA\pst@coor /@y3 ED /@x3 ED
- @y1 @y2 sub dup mul @x1 @x2 sub dup mul add faktor dup mul mul /quadlg ED
+ /sysfill {systemdict /fill get exec} def
+ /SLg \pst@PoCLength def
+ /cm {28.45274 mul} def % ---------------------------------------- Definiere cm als Längeneinheit mit der multipliziert wird
+ \pst@tempA\tx@UserCoor /@y1 ED /@x1 ED % ---------- Definiere die Koordinaten des Ursprungs (zur Winkelberechnung benötigt)
+ \pst@tempB\tx@UserCoor /@y2 ED /@x2 ED % ---------- Definiere die Koordinaten des zweiten Punktes (zur Winkelberechnung benötigt)
+ \pst@tempA\pst@coor /@y3 ED /@x3 ED
+ @y1 @y2 sub dup mul @x1 @x2 sub dup mul add faktor dup mul mul /quadlg ED
quadlg 0 eq { 180 } { @y1 @y2 sub @x1 @x2 sub atan } ifelse /@delta ED %------------ Winkelberechnung
quadlg sqrt 2 div /RadiusPktB ED %------------ Radiusberechnung mit zweitem Punkt
SLg RadiusPktB Radius add gt { RadiusPktB Radius add } { SLg } ifelse /RadPoC ED
@@ -798,10 +796,10 @@ grestore
@x3 @y3 T % ------------------------------------------------------------------------------- Transformiere den Koordinatenursprung in P
\pst@PoCAngle\space \ifPst@MCAngle\space @delta add 180 add \fi rotate % ------------------------------ Drehe das gesamte Geodreieck
%-------------------------------------------------------------------------------------------------------------
-gsave
+ gsave
%-------------------------------------------------------------------------------------------------------------
%-------------- Linke Zirkelspitze----------------------------------------------- 0 cm 0 cm 0.15 cm 0 360 arc
-gsave
+ gsave
newpath
phiS neg rotate
0 cm 0 cm moveto
@@ -812,9 +810,9 @@ gsave
0.5 setgray
fill
grestore
-grestore
+ grestore
%---------------------------------------- rechte Zirkel-Mine --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm T
@@ -828,9 +826,9 @@ gsave
\pst@usecolor\PoCMineCol
fill
grestore
-grestore
+ grestore
%---------------------------------------- Spindel --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -843,8 +841,8 @@ gsave
1.6 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -859,9 +857,9 @@ gsave
0.2 setlinewidth
stroke
grestore
-grestore
+ grestore
%---------------------------------------- Drehrad an der Spindel --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -874,9 +872,9 @@ gsave
0.08 cm setlinewidth
stroke
grestore
-grestore
-gsave
-gsave
+ grestore
+ gsave
+% gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -890,10 +888,10 @@ gsave
0.2 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+% gsave
%---------------------------------------- Halterung zum Anfassen --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -906,8 +904,8 @@ gsave
3 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -920,8 +918,8 @@ gsave
5 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -934,8 +932,8 @@ gsave
5 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -950,8 +948,8 @@ gsave
0.15 setlinewidth
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -966,9 +964,9 @@ gsave
0.2 setlinewidth
stroke
grestore
-grestore
+ grestore
%---------------------------------------- Kreis um oberen Teil --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -982,9 +980,9 @@ gsave
1.3 setlinewidth
stroke
grestore
-grestore
+ grestore
%---------------------------------------- Kreis zwischen den Schenkeln --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm moveto
@@ -994,9 +992,9 @@ gsave
0.1 setgray
fill
grestore
-grestore
+ grestore
%---------------------------------------- Schenkel des Zirkels ----------------------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm 0.3 cm moveto
@@ -1012,8 +1010,8 @@ gsave
\pst@usecolor\PoCFillCol
stroke
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
-0.17 cm SLg 0.6 mul cm moveto
@@ -1029,9 +1027,9 @@ gsave
0.4 setgray
stroke
grestore
-grestore
+ grestore
%---------------------------------------- Kreis an der linken Spitze --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
-0.03 cm 0.8 cm moveto
@@ -1041,8 +1039,8 @@ gsave
0.25 setgray
fill
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
-0.03 cm 0.8 cm moveto
@@ -1052,9 +1050,9 @@ gsave
0.8 setgray
fill
grestore
-grestore
+ grestore
%---------------------------------------- Kreis an der rechten Spitze --------------------------------------
-gsave
+ gsave
newpath
phiS neg rotate
0 cm SLg cm T
@@ -1067,8 +1065,8 @@ gsave
0.25 setgray
fill
grestore
-grestore
-gsave
+ grestore
+ gsave
newpath
phiS neg rotate
0 cm SLg cm T
@@ -1081,10 +1079,10 @@ gsave
0.8 setgray
fill
grestore
-grestore
+ grestore
%--------------------------------------------------------------------------------------------------------------------------------------------------
%--------------- Ende nur grestore von gsave ganz am Anfang ------------------
-grestore
+ grestore
}%
\pnode(!
\pst@tempA \tx@UserCoor /@@y1 ED /@@x1 ED
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/README b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/README
index 1c8ed3d79a..92d9894feb 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/README
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/README
@@ -1,7 +1,7 @@
IMPORTANT NOTE:
This is the package formerly known as biblatex-chicago-notes-df. It
-is designed for use with the latest version (3.18b) of biblatex. The
+is designed for use with the latest version (3.20) of biblatex. The
package contains the 17th-edition Chicago style files, and I am also
maintaining the 16th-edition files for those for whom they remain a
necessity, though I have deprecated these older files and will remove
@@ -12,10 +12,10 @@ If you have used the package before, then you should be sure to
consult the RELEASE file to find out what alterations you may need to
make to your .bib files and document preambles to bring them up to
date. Most particularly please note that biber is now the required
-backend for all the included styles (version 2.18 is designed for use
+backend for all the included styles (version 2.20 is designed for use
with the latest biblatex).
-README (version 2.3a, 2022-11-17):
+README (version 2.3b, 2024-04-15):
Biblatex-chicago contains three biblatex styles implementing the
specifications of the Chicago Manual of Style, 17th edition. The
@@ -107,7 +107,7 @@ familiar from other packages:
Changelog: See the RELEASE file, and also the end of
biblatex-chicago.pdf.
-Copyright (c) 2008-2022 David Fussner. This package is
+Copyright (c) 2008-2024 David Fussner. This package is
author-maintained. This work may be copied, 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
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE
index 6710cdb5cd..7000790ede 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/RELEASE
@@ -1,3 +1,27 @@
+Release notes for version 2.3b [2024-04-15]:
+
+This is an interim bug-fix release, mainly to address the following
+breaking change:
+
+ - The most recent biblatex (3.20) has added a new name template
+ (\DeclareNamehashTemplate) for users requiring non-Western name
+ handling in their reference apparatus, so if you use
+ biblatex-chicago's "cmsnameparts" option then running biber will
+ fail and LaTeX will not process your documents. This update should
+ rectify that, while still being compatible with earlier versions of
+ biblatex. Thanks to Philipp Immel for alerting me.
+
+ - I have also added a package-specific definition of the standard
+ citation command \citetitle to the author-date styles, as the
+ standard definition sometimes fails there. Thanks to Geoffery
+ Zheng for reporting this.
+
+ - Users of the "authordate-trad" style may need to remove some
+ \bibstring commands from the start of "title" fields in their .bib
+ files, or else set the biblatex option "casechanger=latex2e".
+ Please see section 10 or section 5.2, s.v. "title" in
+ biblatex-chicago.pdf.
+
Release notes for version 2.3a [2022-11-17]:
This release backports a bug-fix from the most recent LaTeX3
@@ -2314,7 +2338,7 @@ Changelog for version 0.7 [2008-08-18]:
- First public release
-Copyright (c) 2008-2022 David Fussner. This package is
+Copyright (c) 2008-2024 David Fussner. This package is
author-maintained. This work may be copied, 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
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf
index 360c89392c..b76f21b7ce 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex
index 03f2413a32..4d5632861e 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/biblatex-chicago.tex
@@ -117,7 +117,7 @@ HyphenChar={-}]
Style files for biblatex
\vspace{.3\baselineskip}
-\sffamily\normalsize\bfseries David Fussner\qquad Version 2.3a\\
+\sffamily\normalsize\bfseries David Fussner\qquad Version 2.3b\\
\href{mailto:djf027@googlemail.com}{djf027@googlemail.com}\\ \today
\end{center}
@@ -217,15 +217,16 @@ clickable link to an external document.
\begin{itemize}{}{}
\item The \textsf{biblatex} package, of course! The current version
- --- 3.18b at the time of writing --- has received extensive testing,
+ --- 3.20 at the time of writing --- has received extensive testing,
and contains features and bug fixes upon which my code relies.
- Please don't use any earlier version. \textsf{Biblatex} requires
- several packages, and it strongly recommends several more:
+ Earlier versions may work, but I recommend the latest.
+ \textsf{Biblatex} requires several packages, and it strongly
+ recommends several more:
\begin{itemize}{}{}
\item \textsf{biber} --- the next-generation \textsc{Bib}\TeX\
replacement by Philip Kime and Fran\c{c}ois Charette, available
from SourceForge (required). You should use the latest version,
- 2.18, to work with \textsf{biblatex} 3.18b and
+ 2.20, to work with \textsf{biblatex} 3.20 and
\textsf{biblatex-chicago}; please note that any other backend will
not produce accurate results.
\item e-\TeX\ (required)
@@ -240,7 +241,7 @@ clickable link to an external document.
\item \textsf{babel} --- a standard package (\emph{strongly}
recommended)
\item \textsf{csquotes} --- available from CTAN (recommended).
- Please upgrade to the latest version of \textsf{csquotes} (5.2n).
+ Please upgrade to the latest version of \textsf{csquotes} (5.2o).
\end{itemize}
\item The standard \textsf{expl3} and \textsf{xparse} packages are
loaded automatically for most users, and if they aren't
@@ -436,7 +437,7 @@ clickable link to an external document.
\subsection{License}
\label{sec:lppl}
-Copyright \copyright\ 2008--2022 David Fussner. This package is
+Copyright \copyright\ 2008--2024 David Fussner. This package is
author-maintained. This work may be copied, 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
@@ -13147,19 +13148,18 @@ formatted in italics will cause the capitalization algorithm to stop
and leave all of that material as it is, so your .bib entry would need
to have a field something like this:
-\mylittlespace\hspace*{1em}\texttt{title = \{}\cmd{bibstring\{reviewof\}}
+\mylittlespace\hspace*{1em}\texttt{title = \{review of}
\cmd{mkbibemph\{The Chicago manual of style\}\}}
-\mylittlespace (As an aside, the use of the \texttt{reviewof}
-bibstring isn't strictly necessary here, but it helps with portability
-across languages and across the two Chicago styles. If you've noticed
-a lot of lowercase letters starting fields in \textsf{dates-test.bib},
-they're present because in the notes \&\ bibliography style
-capitalization is complicated by notes using commas where the
-bibliography uses periods, and words like \enquote{review} start in
-uppercase only if the context demands it. There's considerably less
-of this in the author-date styles [note the \textsf{*titleaddon}
-fields], but it still pays to be aware of the issue.)
+\mylittlespace (As\colmarginpar{\textsf{biblatex} 3.20} an aside, a
+\cmd{bibstring} at the start of a title field no longer works as it
+used to in the \textsf{trad} style, due to changes in the handling of
+the \cmd{MakeSentenceCase} command. You can still use them if you set
+the \texttt{casechanger} option to \texttt{latex2e}, but otherwise you
+can just provide the actual string, as here. The lowercase letter at
+the start isn't strictly necessary unless you're going to cite the
+work by title instead of by author-date. [Compare the notes \&\
+bibliography style, and also the \textsf{*titleaddon} fields.])
\mylittlespace With regard to italics, the rules of
\textsf{biblatex-chicago-authordate-trad} are as follows:
@@ -16525,6 +16525,7 @@ to a specific naming scheme. You'll need at least:
\begin{verbatim}
\DeclareSortingNamekeyTemplate[<templatename>]{<specification>}
\DeclareUniquenameTemplate[<templatename>]{<specification>}
+\DeclareNamehashTemplate[<templatename>]{<specification>}
\newbibmacro*{name:<templatename>}[<no. of nameparts as digit>]{<code>}
\csdef{cmssort:<templatename>}{\usebibmacro{name:<templatename>}...}
\csdef{cmslabel:<templatename>}{...\usebibmacro{name:<templatename>}...}
@@ -16541,13 +16542,14 @@ then you'll also need:
\end{verbatim}}
If you want to be able to use the your new template name as the
-default template, you'll need to wrap the first two declarations like
+default template, you'll need to wrap the first three declarations like
so:
{\small
\begin{verbatim}
\cms@template@wrapper{\DeclareSortingNamekeyTemplate}[<templatename>]{<spec>}
\cms@template@wrapper{\DeclareUniquenameTemplate}[<templatename>]{<spec>}
+\cms@template@wrapper{\DeclareNamehashTemplate}[<templatename>]{<spec>}
\end{verbatim}}
If your specification requires new name parts, you can copy
@@ -16752,6 +16754,13 @@ title, particularly Unicode ones. If you are using
set of curly braces \{\}\ at the start of the field, but I shall look
into this further.
+\mylittlespace Please\colmarginpar{\textsf{biblatex} 3.20} note, also,
+that in the \textsf{authordate-trad} style you can no longer by
+default use a \cmd{bibstring} at the start of a \textsf{title} field,
+due to the case-changing code in \cmd{MakeSentenceCase}. You can
+either set \texttt{casechanger=latex2e} in the preamble or just write
+the string you need in the\ .bib file.
+
\mylittlespace Patrick Danilevici's Romanian localization
(\textsf{cms-romanian.lbx}) required some fairly extensive changes to
the basic package code, so it's possible that I could improve the
@@ -16770,7 +16779,33 @@ do my best to fix them.
\section{Revision History}
\label{sec:history}
-\textbf{2.3a: Released \today}
+\textbf{2.3b: Released \today}
+
+\mylittlespace This is an interim bug-fix release, mainly to address
+the following breaking change:
+
+\begin{itemize}
+\item The most recent \textsf{biblatex} (3.20) has added a new name
+ template (\mycolor{\cmd{DeclareNamehashTemplate}}) for users
+ requiring non-Western name handling in their reference apparatus, so
+ if you use \textsf{biblatex-chicago's} \texttt{cmsnameparts} option
+ then running \textsf{biber} will fail and \LaTeX\ will not process
+ your documents. This update should rectify that, while still being
+ compatible with earlier versions of \textsf{biblatex}. Thanks to
+ Philipp Immel for alerting me.
+\item I have also added a package-specific definition of the standard
+ citation command \cmd{citetitle} to the author-date styles, as the
+ standard definition sometimes fails there. Thanks to Geoffery Zheng
+ for reporting this.
+\item Users of the \textsf{authordate-trad} style may need to remove
+ some \cmd{bibstring} commands from the start of \textsf{title}
+ fields in their\ .bib files, or else set the \textsf{biblatex}
+ option \texttt{casechanger=latex2e}. Please see
+ section~\ref{sec:bugs} or section~\ref{sec:fields:authdate}, s.v.\
+ \textsf{title}.
+\end{itemize}
+
+\textbf{2.3a: Released November 11, 2022}
\mylittlespace This release backports a bug-fix from the most recent
\LaTeX 3 programming layer. If you are using \textsf{biblatex} 3.18b
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdf
index 9bec0f838a..4c29a4e7aa 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex
index ce73187927..9ec5628d07 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-intro.tex
@@ -102,7 +102,7 @@ author-date specification you will need to use \textsf{biber} to
process your .bib files, as \textsc{Bib}\TeX\ (and its more recent
variants) will no longer provide all the features the style requires.
For this release, you really need the current versions of
-\textsf{biber} (2.18) and \textsf{biblatex} (3.18b), which contain
+\textsf{biber} (2.20) and \textsf{biblatex} (3.20), which contain
features and bug-fixes on which my own code relies. The advice that
follows in this document assumes that you are using \textsf{biber}; if
you wish to continue using \textsc{Bib}\TeX\ then you need
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdf
index 320fd9992d..91b56ea09a 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-dates-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdf
index 74207ffb42..d2ad5aeb43 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-legal-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdf
index e4afcb084a..60e3b31025 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-noteref-demo.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdf
index 4d3ee06024..de77e00d03 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-intro.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdf
index 9d07d47fee..8634c2040d 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-notes-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdf
index 26f5668cba..7928a46d10 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex
index 9a19f2a010..e59f4757bf 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-appendix.tex
@@ -76,7 +76,7 @@ HyphenChar={-}]
author = {Barcott, Bruce},
date = {2000-04-16},
entrysubtype = {magazine},
- title = {\bibstring{reviewof} \mkbibemph{The last marlin: The story of a family at sea}, \bibstring{by} {Fred Waitzkin}},
+ title = {review of \mkbibemph{The last marlin: The story of a family at sea}, by {Fred Waitzkin}},
pages = 7
}
\end{lstlisting}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdf b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdf
index f82bc3416a..5be01f087f 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdf
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/cms-trad-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/dates-test.bib b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/dates-test.bib
index f6f0a1b980..f5ba90f5a3 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/dates-test.bib
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/doc/dates-test.bib
@@ -371,28 +371,30 @@
author = {Barcott, Bruce},
date = {2000-04-16},
entrysubtype = {magazine},
- title = {\bibstring{reviewof} \mkbibemph{The last marlin: The
- story of a family at sea}, \bibstring{by} {Fred Waitzkin}},
+ title = {review of \mkbibemph{The last marlin: The story of a
+ family at sea}, by {Fred Waitzkin}},
pages = 7,
annotation = {Because of the absence of quotation marks around the
\textsf{title} in the \texttt{trad} style, the
\textsf{Article} and \textsf{Review} entry types are
more or less interchangeable. This entry presents a
review from a newspaper, with keyword
- \texttt{magazine} in \textsf{entrysubtype}, and with
- \cmd{bibstring\{reviewof\}} in the \textsf{title}
- field. You could just write \enquote{review of}
- instead, but the \cmd{bibstring} makes the entry
- portable across languages. Note the formatting of
- the reviewed book's title using \cmd{mkbibemph}, and
- the sentence-style capitalization you have to
- provide by hand for the \texttt{trad} style, because
- the curly braces of \cmd{mkbibemph} protect the text
- from the automatic sentence-style capitalization
- provided by the package. \textsf{Biblatex-chicago}
- never modifies the capitalization of the
- \textsf{journaltitle}, so that field should always
- work properly across styles.}
+ \texttt{magazine} in \textsf{entrysubtype}. A
+ \cmd{bibstring\{reviewof\}} at the start of the
+ \textsf{title} field won't work anymore in the
+ \textsf{trad} style unless you change the setting of
+ the \texttt{casechanger} option to \texttt{latex2e}.
+ Instead of that you can just write \enquote{review
+ of.} Note the formatting of the reviewed book's
+ title using \cmd{mkbibemph}, and the sentence-style
+ capitalization you have to provide by hand for the
+ \texttt{trad} style, because the curly braces of
+ \cmd{mkbibemph} protect the text from the automatic
+ sentence-style capitalization provided by the
+ package. \textsf{Biblatex-chicago} never modifies
+ the capitalization of the \textsf{journaltitle}, so
+ that field should always work properly across
+ styles.}
}
@Book{barrows:reading,
@@ -3223,29 +3225,30 @@
@Article{ratliff:review:15,
author = {Ratliff, Ben},
- title = {\bibstring{reviewof} \mkbibemph{The mystery of
- samba: Popular music and national identity in
- Brazil}, \bibstring{by} {Hermano Vianna},
- \parteditandtrans {John Charles Chasteen}},
+ title = {review of \mkbibemph{The mystery of samba: Popular
+ music and national identity in Brazil}, by {Hermano
+ Vianna}, \parteditandtrans {John Charles Chasteen}},
journaltitle = {Lingua Franca},
date = {1999-04},
volume = 9,
pages = {B13--B14},
annotation = {An Article entry presenting a review from a
scholarly journaltitle, hence no entrysubtype
- needed. Note the bibstrings in the title of the
- review, and the formatting of the title of the book
- reviewed there, for the trad style. Also note the
- use of parteditandtrans. The author-date system
- doesn't absolutely require the use of these
- mechanisms, which were invented to cope with the
- differences between notes and bibliography in the
- other Chicago style. Still, although simply writing
- "ed. and trans." yourself will suffice, using these
- mechanisms will make your .bib file work across
- multiple languages, and will also allow it to work,
- with fewer modifications, in the notes \&
- bibliography style, should that be needed.}
+ needed. A bibstring at the start of the title no
+ longer works in the trad style, unless you set the
+ casechanger option to "latex2e" in your
+ preamble. Note the formatting of the title of the
+ book reviewed, and also the use of
+ parteditandtrans. The author-date system doesn't
+ absolutely require the use of this latter mechanism,
+ which was invented to cope with the differences
+ between notes and bibliography in the other Chicago
+ style. Still, although simply writing "ed. and
+ trans." yourself will suffice, using the mechanism
+ will make your .bib file work across multiple
+ languages, and will also allow it to work, with
+ fewer modifications, in the notes \& bibliography
+ style, should that be needed.}
}
@Article{reaves:rosen,
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx
index 7cfe99f699..b1320bf695 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-dates-common.cbx
@@ -4,7 +4,7 @@
% list) for the two author-date styles of the Chicago Manual of Style,
% 17th edition.
-\ProvidesFile{chicago-dates-common.cbx}[2022/11/17 v 3.18b biblatex
+\ProvidesFile{chicago-dates-common.cbx}[2024/04/15 v 3.20 biblatex
citation style]
%%%% Biblatex initialization + Chicago options + Toggles %%%%
@@ -1034,6 +1034,43 @@ citation style]
\namepart{given}
}
+ %% Biblatex version 3.20 added this declaration to its name-parts
+ %% apparatus, and you need one for each new style you add when using
+ %% that version, or else documents won't compile. I include them
+ %% here inside the \ifdef test because earlier versions of biblatex
+ %% don't define the command.
+
+ \ifdef{\DeclareNamehashTemplate}{%
+ \DeclareNamehashTemplate[western]{
+ \namepart[hashscope=full]{family}
+ \namepart[hashscope=full]{given}
+ \namepart[hashscope=full]{prefix}
+ \namepart[hashscope=full]{suffix}
+ }%
+ \cms@template@wrapper{\DeclareNamehashTemplate}[russian]{
+ \namepart[hashscope=full]{prefix}
+ \namepart[hashscope=full]{family}
+ \namepart[hashscope=full]{suffix}
+ \namepart[hashscope=full]{given}
+ \namepart[hashscope=full]{patronymic}
+ }%
+ \cms@template@wrapper{\DeclareNamehashTemplate}[ethiopian]{
+ \namepart[hashscope=full]{prefix}
+ \namepart[hashscope=full]{family}
+ \namepart[hashscope=full]{suffix}
+ \namepart[hashscope=full]{given}
+ \namepart[hashscope=full]{patronymic}
+ \namepart[hashscope=full]{papponymic}
+ }%
+ \cms@template@wrapper{\DeclareNamehashTemplate}[cjk]{
+ \namepart[hashscope=full]{prefix}
+ \namepart[hashscope=full]{family}
+ \namepart[hashscope=full]{suffix}
+ \namepart[hashscope=full]{given}
+ \namepart[hashscope=full]{cjk}
+ }%
+ }{}%
+
%% These bibmacros print the names when the standard biblatex
%% equivalents are insufficient. You only need to provide a new one
%% for a new style if standard biblatex doesn't provide one that is
@@ -2068,6 +2105,46 @@ citation style]
{}%
{\usebibmacro{postnote}}
+\DeclareCiteCommand{\citetitle}
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\ifciteindex
+ {\indexfield{indextitle}}
+ {}%
+ \ifthenelse{\ifentrytype{article}\OR\ifentrytype{review}\OR
+ \ifentrytype{suppperiodical}}%
+ {\iffieldundef{shorttitle}%
+ {\iffieldundef{title}%
+ {\iffieldundef{shortjournal}%
+ {\iffieldundef{journaltitle}
+ {}%
+ {\printtext[cmsyearhyper]{\printfield{journaltitle}}}}%
+ {\printtext[cmsyearhyper]{\printfield{shortjournal}}}}%
+ {\printtext[cmsyearhyper]{\printfield{title}}}}%
+ {\printtext[cmsyearhyper]{\printfield[title]{shorttitle}}}}%
+ {\printtext[cmsyearhyper]{\printfield[citetitle]{labeltitle}}}}
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
+\DeclareCiteCommand*{\citetitle}
+ {\boolfalse{citetracker}%
+ \boolfalse{pagetracker}%
+ \usebibmacro{prenote}}
+ {\ifciteindex
+ {\indexfield{indextitle}}
+ {}%
+ \ifthenelse{\ifentrytype{article}\OR\ifentrytype{review}\OR
+ \ifentrytype{suppperiodical}}%
+ {\iffieldundef{title}%
+ {\iffieldundef{journaltitle}
+ {}%
+ {\printtext[cmsyearhyper]{\printfield{journaltitle}}}}%
+ {\printtext[cmsyearhyper]{\printfield{title}}}}%
+ {\printtext[cmsyearhyper]{\printfield{title}}}}%
+ {\multicitedelim}
+ {\usebibmacro{postnote}}
+
\DeclareCiteCommand{\atcite}
{\usebibmacro{cite:init}%
\usebibmacro{prenote}}
diff --git a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx
index f5b2f942e0..1f9fd8771c 100644
--- a/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx
+++ b/macros/latex/contrib/biblatex-contrib/biblatex-chicago/latex/chicago-notes.cbx
@@ -4,7 +4,7 @@
% formatted according to the specifications of the Chicago Manual of
% Style.
-\ProvidesFile{chicago-notes.cbx}[2022/11/17 v 3.18b biblatex citation style]
+\ProvidesFile{chicago-notes.cbx}[2024/04/15 v 3.20 biblatex citation style]
%%%% Biblatex initialization + Chicago options + Toggles %%%%
@@ -1623,6 +1623,43 @@
\namepart{given}
}
+ %% Biblatex version 3.20 added this declaration to its name-parts
+ %% apparatus, and you need one for each new style you add when using
+ %% that version, or else documents won't compile. I include them
+ %% here inside the \ifdef test because earlier versions of biblatex
+ %% don't define the command.
+
+ \ifdef{\DeclareNamehashTemplate}{%
+ \DeclareNamehashTemplate[western]{
+ \namepart[hashscope=full]{family}
+ \namepart[hashscope=full]{given}
+ \namepart[hashscope=full]{prefix}
+ \namepart[hashscope=full]{suffix}
+ }%
+ \cms@template@wrapper{\DeclareNamehashTemplate}[russian]{
+ \namepart[hashscope=full]{prefix}
+ \namepart[hashscope=full]{family}
+ \namepart[hashscope=full]{suffix}
+ \namepart[hashscope=full]{given}
+ \namepart[hashscope=full]{patronymic}
+ }%
+ \cms@template@wrapper{\DeclareNamehashTemplate}[ethiopian]{
+ \namepart[hashscope=full]{prefix}
+ \namepart[hashscope=full]{family}
+ \namepart[hashscope=full]{suffix}
+ \namepart[hashscope=full]{given}
+ \namepart[hashscope=full]{patronymic}
+ \namepart[hashscope=full]{papponymic}
+ }%
+ \cms@template@wrapper{\DeclareNamehashTemplate}[cjk]{
+ \namepart[hashscope=full]{prefix}
+ \namepart[hashscope=full]{family}
+ \namepart[hashscope=full]{suffix}
+ \namepart[hashscope=full]{given}
+ \namepart[hashscope=full]{cjk}
+ }%
+ }{}%
+
%% These bibmacros print the names when the standard biblatex
%% equivalents are insufficient. You only need to provide a new one
%% for a new style if standard biblatex doesn't provide one that is
diff --git a/macros/latex/contrib/epcqrcode/README b/macros/latex/contrib/epcqrcode/README
index e9c0ab8f86..3de8600002 100644
--- a/macros/latex/contrib/epcqrcode/README
+++ b/macros/latex/contrib/epcqrcode/README
@@ -1,13 +1,14 @@
==============================================================================
-The `epcqrcode' package v1.0
-Copyright (C) 2024 by David Wedekind, Paul Kantiem, Dr. rer. nat. Wolf Müller (epc-qr-code@proton.me)
+The `epcqrcode' package v1.1
+Copyright (C) 2024 by David Wedekind, Paul Kantiem, Wolf Müller (epc-qr-code@proton.me)
This package is a wrapper for the 'qrcode' package.
It generates valid EPC QR codes by providing syntax and validity checks for given inputs.
Changes:
- 2024-02-07 Initial version
+- 2024-04-12 Fixed minor issue
==============================================================================
This work may be distributed and/or modified under the
diff --git a/macros/latex/contrib/epcqrcode/epcqrcode-doc.pdf b/macros/latex/contrib/epcqrcode/epcqrcode-doc.pdf
index f3241ce045..bb66e53d40 100644
--- a/macros/latex/contrib/epcqrcode/epcqrcode-doc.pdf
+++ b/macros/latex/contrib/epcqrcode/epcqrcode-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/epcqrcode/epcqrcode.dtx b/macros/latex/contrib/epcqrcode/epcqrcode.dtx
index ef2d1c8441..4c1a6eb9a3 100644
--- a/macros/latex/contrib/epcqrcode/epcqrcode.dtx
+++ b/macros/latex/contrib/epcqrcode/epcqrcode.dtx
@@ -1,6 +1,6 @@
% \iffalse meta-comment
%
-% Copyright (C) 2024 by David Wedekind, Paul Kantiem, Dr. rer. nat. Wolf Müller (epc-qr-code@proton.me)
+% Copyright (C) 2024 by David Wedekind, Paul Kantiem, Wolf Müller (epc-qr-code@proton.me)
%
% This file may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -16,7 +16,7 @@
%
% \iffalse
%<package>\NeedsTeXFormat{LaTeX2e}[2022-06-01]%
-%<package>\ProvidesPackage{epcqrcode}[2024-02-07 v1.0 dtx epcqrcode file]%
+%<package>\ProvidesPackage{epcqrcode}[2024-04-12 v1.1 dtx epcqrcode file]%
%<package>\RequirePackage{qrcode}%
%<package>\RequirePackage{xstring}%
%<package>\RequirePackage{calculator}%
@@ -37,6 +37,7 @@
% \fi
%
% \changes{v1.0}{2024/02/07}{Initial version}
+% \changes{v1.1}{2024/04/12}{Fixed minor issue}
% \GetFileInfo{epcqrcode.sty}
%
% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ }
@@ -47,8 +48,8 @@
% \title{The \textsf{epcqrcode} package\thanks{This document
% corresponds to \textsf{epcqrcode}~\fileversion,
% dated~\filedate.}}
-% \author{David Wedekind, Paul Kantiem, Dr. rer. nat. Wolf Müller \\ epc-qr-code@proton.me}
-% \date{February 07, 2024}
+% \author{David Wedekind, Paul Kantiem, Wolf Müller \\ epc-qr-code@proton.me}
+% \date{April 12, 2024}
%
% \maketitle
%
@@ -570,7 +571,7 @@ information .store = \epcqr@information%
\addtocounter{epcqrcode@OverallLength}{\epcqrcode@NameLength}%
\StrLen{\epcqrcode@CleanedIban}[\epcqrcode@IbanLength]%
\addtocounter{epcqrcode@OverallLength}{\epcqrcode@IbanLength}%
- \ifreasonx\epcqr@amount\empty%
+ \ifx\epcqr@amount\empty%
\relax%
\else%
\StrLen{\epcqr@amount}[\epcqrcode@AmountLength]%
diff --git a/macros/latex/contrib/epcqrcode/epcqrcode.ins b/macros/latex/contrib/epcqrcode/epcqrcode.ins
index e0bd9d6bb3..846aa08011 100644
--- a/macros/latex/contrib/epcqrcode/epcqrcode.ins
+++ b/macros/latex/contrib/epcqrcode/epcqrcode.ins
@@ -1,5 +1,5 @@
%%
-%% Copyright (C) 2024 by David Wedekind, Paul Kantiem, Dr. rer. nat. Wolf Müller (epc-qr-code@proton.me)
+%% Copyright (C) 2024 by David Wedekind, Paul Kantiem, Wolf Müller (epc-qr-code@proton.me)
%%
%% This file may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -18,7 +18,7 @@
This is a generated file.
-Copyright (C) 2024 by David Wedekind, Paul Kantiem, Dr. rer. nat. Wolf Müller (epc-qr-code@proton.me)
+Copyright (C) 2024 by David Wedekind, Paul Kantiem, Wolf Müller (epc-qr-code@proton.me)
This file 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
diff --git a/macros/latex/contrib/fontscale/CHANGELOG.md b/macros/latex/contrib/fontscale/CHANGELOG.md
new file mode 100644
index 0000000000..802fb374ef
--- /dev/null
+++ b/macros/latex/contrib/fontscale/CHANGELOG.md
@@ -0,0 +1,62 @@
+# Changelog
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a
+Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
+[Semantic Versioning](http://semver.org/spec/v2.0.0.html).
+
+## [Unreleased]
+
+## [v1.2.0] - 2024-04-15
+
+### Added
+- It is now documented that the keys and commands provided by this package take
+ as a value or argument a dimen, skip, floating point, or integer expression
+ instead of simply a size, skip, number, or integer.
+- This package now includes a CHANGELOG file.
+
+### Changed
+- Documentation improvements.
+
+### Fixed
+- The key `reset=preamble` and `\SetFontStep` no longer rely on undocumented
+ `expl3` features.
+- Corrected typo in the documentation.
+
+## [v1.1.1] - 2024-04-07
+
+### Changed
+- Improved performance, especially when using a musical typographic scale.
+- Small documentation improvements.
+
+## [v1.1.0] - 2024-03-31
+
+### Added
+ - `\SetFontStep`, `\SetFontScale`, `\SetFontSize`, `\ScaleFont`, and
+ `\SetFontSizeBaselineskip` are now set up to work with `\text_purify:n`.
+
+## [v1.0.3] - 2024-03-26
+
+### Changed
+- Code improvements, particularly to document commands defined with optional
+ arguments.
+
+## [v1.0.2] - 2024-03-22
+
+### Changed
+- Performance and code improvements.
+
+### Fixed
+- Fixed issue where the key `reset=preamble` relied on an unsupported `V`-type
+ `bool` argument.
+
+## [v1.0.1] - 2024-03-08
+
+### Added
+- Added the `.tex` sources for the documentation.
+- Added the CTAN link to the `.sty` and README files.
+
+## [v1.0.0] - 2024-03-06
+
+### Added
+- First official release to CTAN. \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/README.txt b/macros/latex/contrib/fontscale/README.txt
index f7cc1562b8..292cfada9b 100644
--- a/macros/latex/contrib/fontscale/README.txt
+++ b/macros/latex/contrib/fontscale/README.txt
@@ -1,5 +1,5 @@
-Package: fontscale -- A user interface for setting document font sizes
-Copyright: 2024 (c) Oliver Beery <beeryoliver@gmail.com>
-CTAN: https://ctan.org/pkg/fontscale
-Repository: https://github.com/beeryoliver/fontscale
-License: The LaTeX Project Public License 1.3c
+Package: fontscale -- A user interface for setting document font sizes
+Copyright: 2024 (c) Oliver Beery <beeryoliver@gmail.com>
+CTAN: https://ctan.org/pkg/fontscale
+Repository: https://github.com/beeryoliver/fontscale
+License: The LaTeX Project Public License 1.3c
diff --git a/macros/latex/contrib/fontscale/beery.cls b/macros/latex/contrib/fontscale/beery.cls
index d1d480ba13..bfc38f9a59 100644
--- a/macros/latex/contrib/fontscale/beery.cls
+++ b/macros/latex/contrib/fontscale/beery.cls
@@ -4,7 +4,7 @@
\NeedsTeXFormat{LaTeX2e}[2023-06-01]
\ProvidesExplClass
{beery}
- {2024-03-08}
+ {2024-04-15}
{}
{}
@@ -49,8 +49,8 @@
\NewDocumentCommand \cmd { m } { \texttt { \token_to_str:N #1 } \@ }
\NewDocumentCommand \cs { m } { \texttt { \token_to_str:c {#1} } \@ }
\NewDocumentCommand \marg { m }
- { \texttt { \c_left_brace_str #1 \c_right_brace_str } }
-\NewDocumentCommand \oarg { m } { \texttt { [ #1 ] } }
+ { \allowbreak \texttt { \c_left_brace_str #1 \c_right_brace_str } }
+\NewDocumentCommand \oarg { m } { \allowbreak \texttt { [ #1 ] } }
\NewDocumentCommand \meta { m } { \texttt { \textlangle #1 \textrangle } }
\NewDocumentCommand \cls { m } { \textsf {#1} }
\NewDocumentCommand \env { m } { \texttt {#1} }
@@ -210,7 +210,7 @@
\RequirePackage [ bottom ] { footmisc }
\renewcommand \footnoterule { }
\setlength { \skip \footins } { \c_beery_big_skip }
-
+\dim_set:Nn \footnotesep { \f@linespread \footnotesep }
\coffin_new:N \l__beery_footnote_coffin
% 1.2 = baselineskip-size-ratio
\dim_const:Nn \c_beery_footnote_baselineheight_dim
diff --git a/macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex b/macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex
index d62f104635..029d304d82 100644
--- a/macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex
+++ b/macros/latex/contrib/fontscale/fontscale-manual-table-classic.tex
@@ -1,37 +1,39 @@
-\ProvidesFile{fontscale-manual-table-classic.tex}[2024-03-08]
-
-\begin{table}
- \centering
- \caption
- {%
- The size of each font size command in \unit{pt} when using a classic typographic scale.%
- \label{table:classicscales}%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- }
- ,cell{1}{2-Z}={guard}
- }
- \toprule
- Command & \Key{classic-10pt} & \Key{classic-11pt} & \Key{classic-12pt} \\
- \midrule
- \cs{tiny} & 6 & 7 & 8 \\
- \cs{scriptsize} & 7 & 8 & 9 \\
- \cs{footnotesize} & 8 & 9 & 10 \\
- \cs{small} & 9 & 10 & 11 \\
- \cs{normalsize} & 10 & 11 & 12 \\
- \cs{large} & 11 & 12 & 14 \\
- \cs{Large} & 12 & 14 & 16 \\
- \cs{LARGE} & 14 & 16 & 18 \\
- \cs{huge} & 16 & 18 & 21 \\
- \cs{Huge} & 18 & 21 & 24 \\
- \bottomrule
- \end{tblr}
+\ProvidesFile
+ {fontscale-manual-table-classic.tex}
+ [2024-04-15]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The size of each font size command in \unit{pt} when using a classic typographic scale.%
+ \label{table:classicscales}%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ Q[si={table-format=3.2},c]
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2-Z}={guard}
+ }
+ \toprule
+ Command & \Key{classic-10pt} & \Key{classic-11pt} & \Key{classic-12pt} \\
+ \midrule
+ \cs{tiny} & 6 & 7 & 8 \\
+ \cs{scriptsize} & 7 & 8 & 9 \\
+ \cs{footnotesize} & 8 & 9 & 10 \\
+ \cs{small} & 9 & 10 & 11 \\
+ \cs{normalsize} & 10 & 11 & 12 \\
+ \cs{large} & 11 & 12 & 14 \\
+ \cs{Large} & 12 & 14 & 16 \\
+ \cs{LARGE} & 14 & 16 & 18 \\
+ \cs{huge} & 16 & 18 & 21 \\
+ \cs{Huge} & 18 & 21 & 24 \\
+ \bottomrule
+ \end{tblr}
\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex b/macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex
index 570d67d665..8c5cc8c141 100644
--- a/macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex
+++ b/macros/latex/contrib/fontscale/fontscale-manual-table-font-steps.tex
@@ -1,36 +1,38 @@
-\ProvidesFile{fontscale-manual-table-font-steps.tex}[2024-03-08]
-
-\begin{table}
- \centering
- \caption
- {%
- The step of each font size command.
- These are constants and cannot be changed.%
- \label{table:fontsteps}%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- }
- , cell{1}{2}={guard}
- }
- \toprule
- Command & Step \\
- \midrule
- \cs{tiny} & -4 \\
- \cs{scriptsize} & -3 \\
- \cs{footnotesize} & -2 \\
- \cs{small} & -1 \\
- \cs{normalsize} & 0 \\
- \cs{large} & 1 \\
- \cs{Large} & 2 \\
- \cs{LARGE} & 3 \\
- \cs{huge} & 4 \\
- \cs{Huge} & 5 \\
- \bottomrule
- \end{tblr}
+\ProvidesFile
+ {fontscale-manual-table-font-steps.tex}
+ [2024-04-15]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The step of each font size command.
+ These are constants and cannot be changed.%
+ \label{table:fontsteps}%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2}={guard}
+ }
+ \toprule
+ Command & Step \\
+ \midrule
+ \cs{tiny} & -4 \\
+ \cs{scriptsize} & -3 \\
+ \cs{footnotesize} & -2 \\
+ \cs{small} & -1 \\
+ \cs{normalsize} & 0 \\
+ \cs{large} & 1 \\
+ \cs{Large} & 2 \\
+ \cs{LARGE} & 3 \\
+ \cs{huge} & 4 \\
+ \cs{Huge} & 5 \\
+ \bottomrule
+ \end{tblr}
\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex b/macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex
index fad108d9e9..306578ec35 100644
--- a/macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex
+++ b/macros/latex/contrib/fontscale/fontscale-manual-table-modular-musical.tex
@@ -1,36 +1,38 @@
-\ProvidesFile{fontscale-manual-table-modular-musical.tex}[2024-03-08]
-
-\begin{table}
- \centering
- \caption
- {%
- The size of each font size command when using a modular or musical typographic scale with the initial settings.
- The font sizes are in \unit{pt} and rounded to two decimal places.%
- }
- \bigskip
- \begin{tblr}
- {
- colspec=
- {
- l
- Q[si={table-format=3.2},c]
- Q[si={table-format=3.2},c]
- }
- ,cell{1}{2-3}={guard}
- }
- \toprule
- Command & \Key{modular} & \Key{musical} \\
- \midrule
- \cs{tiny} & 6.24 & 5.74 \\
- \cs{scriptsize} & 7.02 & 6.60 \\
- \cs{footnotesize} & 7.90 & 7.58 \\
- \cs{small} & 8.89 & 8.71 \\
- \cs{normalsize} & 10 & 10 \\
- \cs{large} & 11.25 & 11.49 \\
- \cs{Large} & 12.66 & 13.20 \\
- \cs{LARGE} & 14.24 & 15.16 \\
- \cs{huge} & 16.02 & 17.41 \\
- \cs{Huge} & 18.02 & 20 \\
- \bottomrule
- \end{tblr}
+\ProvidesFile
+ {fontscale-manual-table-modular-musical.tex}
+ [2024-04-15]
+
+\begin{table}
+ \centering
+ \caption
+ {%
+ The size of each font size command when using a modular or musical typographic scale with the initial settings.
+ The font sizes are in \unit{pt} and rounded to two decimal places.%
+ }
+ \bigskip
+ \begin{tblr}
+ {
+ colspec=
+ {
+ l
+ Q[si={table-format=3.2},c]
+ Q[si={table-format=3.2},c]
+ }
+ , cell{1}{2-3}={guard}
+ }
+ \toprule
+ Command & \Key{modular} & \Key{musical} \\
+ \midrule
+ \cs{tiny} & 6.24 & 5.74 \\
+ \cs{scriptsize} & 7.02 & 6.60 \\
+ \cs{footnotesize} & 7.90 & 7.58 \\
+ \cs{small} & 8.89 & 8.71 \\
+ \cs{normalsize} & 10 & 10 \\
+ \cs{large} & 11.25 & 11.49 \\
+ \cs{Large} & 12.66 & 13.20 \\
+ \cs{LARGE} & 14.24 & 15.16 \\
+ \cs{huge} & 16.02 & 17.41 \\
+ \cs{Huge} & 18.02 & 20 \\
+ \bottomrule
+ \end{tblr}
\end{table} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale-manual.pdf b/macros/latex/contrib/fontscale/fontscale-manual.pdf
index d45ffefea9..a1c5644e60 100644
--- a/macros/latex/contrib/fontscale/fontscale-manual.pdf
+++ b/macros/latex/contrib/fontscale/fontscale-manual.pdf
Binary files differ
diff --git a/macros/latex/contrib/fontscale/fontscale-manual.tex b/macros/latex/contrib/fontscale/fontscale-manual.tex
index 8dd13a5cbe..ca5b3224fd 100644
--- a/macros/latex/contrib/fontscale/fontscale-manual.tex
+++ b/macros/latex/contrib/fontscale/fontscale-manual.tex
@@ -1,383 +1,386 @@
-\documentclass{beery}
-
-\begin{document}
-
-
-\section*
- {%
- \SetFontStep*{1}%
- The \pkg{fontscale} package%
- }
-
-A user interface for setting document font sizes
-
-Oliver Beery
-
-Version 1.1.1\quad{}7 April 2024
-
-
-\section{Introduction}
-\label{sec:intro}
-
-\subsection{About}
-\label{subsec:about}
-
-\listheading{The \pkg{fontscale} package provides the following functionalities:}
-\begin{itemize}
- \item
- Set document font sizes via a classic, modular, or musical typographic scale.
- \item
- Set arbitrary scales, sizes, and baselineskips for the standard font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge}.
- \item
- Set the font size settings mid\-/document or within a local group.
- \item
- Set the font size by setting the font step, scale, or size.
- \item
- Set the font size relative to the current font size.
- \item
- Use the current font step, scale, size, and baselineskip directly, for example, for printing or within calculations.
- \item
- Print sample text to test different font sizes.
- \item
- For advanced users, store the step, scale, size, and baselineskip of each font size command in \pkg{expl3} variables.
-\end{itemize}
-
-
-\subsection{Loading the package}
-\label{subsec:loading}
-
-This package requires the 10 October 2023 \pkg{l3kernel} update.
-Since this update is fairly recent, you may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package.
-
-This package lets the user set arbitrary font sizes.
-This works with most fonts produced today, but, for historical reasons, the default Computer Modern font is available only in a number of fixed sizes.
-If you get a warning that Computer Modern is not available in the requested size, you may need to add the code \cs{RequirePackage{fix-cm}} before \cs{documentclass} to make Computer Modern available at arbitrary font sizes.
-
-\cs{usepackage}\marg{fontscale}
-\nopagebreak\newline
-\cs{fontscalesetup}\marg{\meta{keys}}
-
-Load the \pkg{fontscale} package via the usual command in the document preamble.
-This package has no package options.
-Instead, the package keys are set up via the command \cs{fontscalesetup}\marg{\meta{keys}}.
-\meta{keys} must receive a comma\-/separated list of keys and their associated values.
-The package keys are documented in \S\ref{sec:choosing} and \S\ref{sec:overwriting}.
-
-Many \LaTeX{} document classes have a font size option (\Key{10pt}, \Key{11pt}, \Key{12pt}, etc.\@) which not only changes the set of document font sizes, but also modifies additional settings such as the page layout and vertical spacing which were specifically designed to work with those font sizes.
-For this reason, you may want to set the document class font size option close to the value of \cs{normalsize} set by this package.
-
-Internally, this package sets up each font size command from \cs{tiny} to \cs{Huge} using the kernel command \cs{@setfontsize}\---they have no additional functionality beyond that of \cs{@setfontsize}.
-Unlike the standard document classes, the font size commands set up by this package do not change the vertical spacing for displayed math and list structures.
-If the user would like to add this functionality or perhaps other features to the font size commands, they can do so via hooks, which are documented in the \LaTeX{} kernel.
-
-
-\subsection{Terminology}
-\label{subsec:terminology}
-
-When using the \pkg{fontscale} package, each font size, including the standard font size commands from \cs{tiny} to \cs{Huge}, has a step, scale, size, and baselineskip.
-The latter two parameters are the familiar first and second arguments to the low\-/level font command \cs{fontsize}\marg{\meta{size}}\marg{\meta{skip}}.
-The font scale is the relative font size; the ratio of the font size to \cs{normalsize}.
-The font step is the number of font size gradations from \cs{normalsize}, which has a step of \num{0}.
-Table~\ref{table:fontsteps} lists the font step of each font size command.
-
-\input{./fontscale-manual-table-font-steps.tex}
-
-
-\section{Choosing the typographic scale}
-\label{sec:choosing}
-
-\Key{typographic-scale}
- [classic-10pt, classic-11pt, classic-12pt, modular, musical]
- [classic-10pt]
-\newline
-\Key{modular/ratio}[\meta{number}][1.125]
-\newline
-\Key{musical/ratio}[\meta{number}][2]%
-\nopagebreak\newline
-\Key{musical/notes}[\meta{integer}][5]
-
-The key \Key{typographic\-/scale} sets the font sizes using a classic, modular, or musical typographic scale.
-These are common methods of choosing a set of document font sizes.
-The choice of typographic scale initializes to \Key{classic\-/10pt}.
-
-The key \Key{typographic\-/scale} can also be set in a condensed format via the keys \Key{classic\-/10pt}, \Key{classic\-/11pt}, \Key{classic\-/12pt}, \Key{modular}, or \Key{musical}, which set the key \Key{typographic\-/scale} to the corresponding value.
-
-The classic typographic scale consists of the traditional font sizes
-\numlist{6;7;8;9;10;11;12;14;16;18;21;24;36;48;60;72}.%
-\footnote{See \S{}3.1 of \textit{The Elements of Typographic Style} by Robert Bringhurst.}
-They have been used since the sixteenth century and are the default font sizes on most computer software.
-The keys \Key{classic-10pt, classic-11pt, classic-12pt} set the size of each font size command to values based on their position in the classic typographic scale.
-The size of \cs{normalsize} is the named point size.
-The sizes of the other font size commands are the adjacent font sizes in the scale.
-Table~\ref{table:classicscales} lists the size of each font size command when using a classic typographic scale.
-
-\input{./fontscale-manual-table-classic.tex}
-
-The key \Key{modular} sets the font sizes from \cs{tiny} to \cs{Huge} using a modular typographic scale.
-In a modular scale, each font size is a fixed ratio from the adjacent font sizes.%
-\footnote{\url{https://alistapart.com/article/more-meaningful-typography/}}
-Here, the base font size is the size of \cs{normalsize}, which can be set via the key \Key{normalsize/size}[\meta{size}], more documented in \S\ref{sec:overwriting}.
-If not set, \cs{normalsize} initializes to \qty{10}{pt}.
-The modular ratio can be set via the key \Key{modular\slash{}ratio}.
-The initial modular ratio is \num{1.125}.
-
-\input{./fontscale-manual-table-modular-musical.tex}
-
-The key \Key{musical} sets the font sizes according to their position in a musical typographic scale.
-The font size is calculated using the formula:%
-\footnote
- {%
- I have referenced this article by Spencer Mortensen:
- \newline
- \url{https://spencermortensen.com/articles/typographic-scale/}%
- }
-\[ f_i = f_0 \times r ^ { i / n } \]
-$f_0$ is the base font size, the size of \cs{normalsize}.
-$f_i$ is the font size with font step~$i$.
-$n$ is the number of notes in the musical scale\---the number of font size gradations or steps above \cs{normalsize}.
-$r$ is the ratio of the musical scale, the ratio of the highest to the lowest note $ f_n / f_0 $.
-(The modular typographic scale is actually a special case of the musical typographic scale where $n=1$.)
-
-The musical ratio~$r$ and the number of notes~$n$ can be set via the keys \Key{musical\slash{}ratio} and \Key{musical\slash{}notes}.
-The initial musical ratio\---\num{2}\---and the initial number of notes\---\num{5}\---are the same as that of the classic typographic scale.%
-\footnote{Ibid.}
-Conveniently, \cs{Huge} is \num{5} steps above \cs{normalsize}.
-The font size of \cs{normalsize}~$f_0$ can be set using the key \Key{normalsize/size}[\meta{size}], more documented in \S\ref{sec:overwriting}.
-When using a musical typographic scale, \cs{normalsize} initializes to \qty{10}{pt}.%
-\footnote {I have set the initial value to \qty{10}{pt} instead of the \qty{12}{pt} recommended by the Spencer Mortensen article because this matches the default settings of the standard \LaTeXe{} document classes.}
-
-\Key{baselineskip-size-ratio}[\meta{number}][1.2]
-\KeepNextPar*
-
-The key \Key{baselineskip\-/size\-/ratio} sets the ratio of the font baselineskip to the font size.
-By default, the font baselineskip of each font size command equals its font size times \Key{baselineskip\-/size\-/ratio}.
-Users should not adjust this value unless they really know what they are doing.
-When using increased line spacing, users should prefer the low\-/level font command \cs{linespread} or the \pkg{setspace} package.
-
-
-\section{Overwriting the typographic scale}
-\label{sec:overwriting}
-
-In some situations, users may need to explicitly set the scale, size, or baselineskip of a font size command, overwriting the value set by the keys in \S\ref{sec:choosing}.
-Note that the font steps and the scale of \cs{normalsize} are constants and cannot be changed.
-
-\Key{\meta{font size command}/scale}[\meta{number}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}scale} set the scale of \meta{font size command} to \meta{number}, ignoring the value set by the key \Key{typographic-scale}.
-The key \Key{normalsize\slash{}scale} is not defined.
-
-\Key{\meta{font size command}/size}[\meta{size}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}size} set the size of \meta{font size command} to \meta{size}, ignoring the values set by the keys \Key{typographic-scale} and \Key{\meta{font size command}\slash{}scale}.
-\meta{size} supplies a default unit of \unit{pt}.
-
-The package will issue a warning if the user sets the keys \Key{\meta{font size command}\slash{}size} and \Key{\meta{font size command}\slash{}scale} for the same \meta{font size command} since the latter key will be ignored.
-
-\Key{\meta{font size command}/baselineskip}[\meta{skip}]
-\KeepNextPar*
-
-The keys \Key{\meta{font size command}\slash{}baselineskip} set the font baselineskip of \meta{font size command} to \meta{skip} instead of calculating it from the size of \meta{font size command} and \Key{baselineskip\-/size\-/ratio}.
-\meta{skip} supplies a default unit of \unit{pt}.
-
-\Key{\meta{font size command}}[\meta{size}]
-\nopagebreak\newline
-\Key{\meta{font size command}}[\meta{size}/\meta{skip}]
-
-The keys \Key{\meta{font size command}} set the keys \Key{\meta{font size command}\slash{}size} or \Key{\meta{font size command}\slash{}baselineskip} in a condensed format.
-The latter format resembles traditional typographic notation where the size and leading of a text can be expressed as, for example, $10/12$ or $11/13$.
-The number before/after the slash is the size/leading in \unit{pts}.
-
-\Key{ignore-order}[true, false][false]
-\KeepNextPar*
-
-The user should take care to ensure that the font sizes and font baselineskips remain in the correct order when directly setting the scales, sizes, or baselineskips of the different font size commands.
-The magnitudes of the sizes and baselineskips should be ordered from \cs{tiny} to \cs{normalsize} to \cs{Huge}.
-This is important for typographic and syntactic consistency.
-This package will issue a warning if they are not in the correct order.
-The user can disable this warning via the key \Key{ignore\-/order}[true] or just \Key{ignore\-/order}.
-
-
-\section{User commands}
-\label{sec:usercommands}
-
-\subsection{Expandable font parameters}
-\label{subsec:fontparameters}
-
-\cs{CurrentFontStep}
-\nopagebreak\newline
-\cs{CurrentFontScale}
-\newline
-\cs{CurrentFontSize}
-\nopagebreak\newline
-\cs{CurrentFontBaselineskip}
-
-These are fully expandable commands that expand to the current font step, scale, size, or baselineskip.
-They can be used for printing or within calculations.
-Caution: \cs{CurrentFontStep} will expand to nothing if the current step is undefined.
-
-Internally, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} use the kernel command \cs{f@size}.
-\cs{CurrentFontSize} expands to \texttt{f@size pt}.
-\cs{CurrentFontBaselineskip} expands to the kernel command \cs{f@baselineskip}.
-Note that the low\-/level font command \cs{fontsize}\marg{\meta{size}}\allowbreak\marg{\meta{skip}} sets \cs{f@size} before expanding its second argument.
-This means that \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} may need to be first expanded if used in \meta{skip}.
-This package provides the command \cs{SetFontSizeBaselineskip} as an alternative to \cs{fontsize} + \cs{selectfont} that avoids this issue (\S\ref{subsec:fontsize}).
-
-\subsection{More font sizing commands}
-\label{subsec:fontsize}
-
-The \pkg{fontscale} package provides the commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} which set the font size in different ways.
-The first three commands have a starred version which sets the font size relative to the current font size.
-Internally, these commands all use the low\-/level font commands \cs{fontsize}\marg{\meta{size}}\allowbreak\marg{\meta{skip}} and \cs{selectfont}.
-These commands should be used only in special cases.
-Generally, users should prefer the font size commands from \cs{tiny} to \cs{Huge} for typographic and syntactic consistency, although \cs{SetFontStep*}\marg{\meta{integer}} can use a font size command directly.
-
-\cs{SetFontStep}\marg{\meta{number}}
-\nopagebreak\newline
-\cs{SetFontStep*}\marg{\meta{number}}
-
-\cs{SetFontStep} sets the font size by setting the font step to \meta{number}.
-The starred version \cs{SetFontStep*} adds \meta{number} to the current font step.
-If the choice of typographic scale is not modular or musical, then the only valid values for \meta{number} are the integers from \num{-4} to \num{5}, corresponding to the font size commands from \cs{tiny} to \cs{Huge}.
-\cs{SetFontStep} will issue an error if the step is invalid.
-\cs{SetFontStep} sets the font baselineskip to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-If the step matches the step of any font size command, then that font size command will be used directly.
-
-\listheading{Examples:}
-\begin{itemize}
- \item
- For example, \cs{SetFontStep}\marg{-2} and \cs{SetFontStep}\marg{2} use \cs{footnotesize} and \cs{Large}.
- Note that it is typically better to use the equivalent font size command in place of \cs{SetFontStep}\marg{\meta{integer}}.
- \item
- If the current font size is \cs{normalsize}, \cs{SetFontStep*}\marg{1} and \cs{SetFontStep*}\marg{-1} use \cs{large} and \cs{small}.
- This is useful for moving up or down a note on the typographic scale.
- \item
- If the choice of typographic scale is modular or musical, \cs{SetFontStep*}\marg{-0.5} sets the font size and font baselineskip to values between that of \cs{normalsize} and \cs{small}.
- Otherwise, it produces an error.
-\end{itemize}
-
-\cs{SetFontScale}\marg{\meta{number}}
-\nopagebreak\newline
-\cs{SetFontScale*}\marg{\meta{number}}
-
-\cs{SetFontScale} sets the font size by setting the font scale to \meta{number}.
-The font baselineskip is set to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-The starred version \cs{SetFontScale*} adds \meta{number} to the current font scale.
-For example, \cs{SetFontScale}\marg{1.25} makes the font size 25\% larger than \cs{normalsize}.
-If the current font size is \cs{normalsize}, \cs{SetFontScale*}\marg{0.25} is equivalent to \cs{SetFontScale}\marg{1.25}.
-
-\cs{SetFontSize}\marg{\meta{size}}
-\nopagebreak\newline
-\cs{SetFontSize*}\marg{\meta{size}}
-
-\cs{SetFontSize} sets the font size to \meta{size}.
-\meta{size} supplies a default unit of \unit{pt}.
-The font baselineskip is set to the font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
-The starred version \cs{SetFontSize*} adds \meta{size} to the current size.
-For example, \cs{SetFontSize*}\marg{1} and \cs{SetFontSize*}\marg{-1pt} increase and decrease the current font size by a \unit{pt}.
-
-\cs{ScaleFont}\marg{\meta{number}}
-\KeepNextPar*
-
-Scales the current font size and the current font baselineskip by a factor of \meta{number}.
-\cs{ScaleFont} resembles the \cs{scalefont} command provided by the \pkg{scalefnt} package, except that it uses floating point calculations and clears the stretch and shrink components of the font baselineskip.
-For example, if the current font size and font baselineskip are \qty{10}{pt} and \qty{12}{pt}, using \cs{ScaleFont}\marg{0.8} will reduce them proportionally to \qty{8}{pt} and \qty{9.6}{pt}.
-
-\cs{SetFontSizeBaselineskip}\marg{\meta{size}}\marg{\meta{skip}}
-\KeepNextPar*
-
-Sets the font size and font baselineskip to \meta{size} and \meta{skip}.
-Both \meta{size} and \meta{skip} supply a default unit of \unit{pt}.
-\cs{SetFontSizeBaselineskip} can be used as an alternative to \cs{fontsize} + \cs{selectfont} as it avoids the issue with \cs{f@size} discussed in \S\ref{subsec:fontparameters}
-\vfill\pagebreak%manual
-
-\subsection{Testing and debugging}
-\label{subsec:debug}
-
-The commands documented here are intended primarily for testing and debugging.
-I have used them often when developing this package so I think users will find them helpful.
-
-\cs{PrintFontParameters}
-\nopagebreak\newline
-\cs{PrintAllFontParameters}
-
-\cs{PrintFontParameters} prints the current step, scale, size, and baselineskip in this order in a comma\-/separated list of key = value pairs.
-If the current step is undefined (as explained for \cs{SetFontStep} in \S\ref{subsec:fontsize}), it will be left blank.
-\cs{PrintAllFontParameters} prints the step, scale, size, and baselineskip of each font size command.
-
-\cs{PrintSampleText}\oarg{\meta{text}}
-\nopagebreak\newline
-\cs{PrintSampleText*}\oarg{\meta{text}}
-
-\cs{PrintSampleText} prints \meta{text} in each font size ordered from \cs{tiny} to \cs{Huge} each followed by a paragraph break.
-The starred version \cs{PrintSampleText*} reverses the sizing order.
-The \meta{text} can be changed via the optional argument, but cannot contain \cs{par} tokens.
-The default \meta{text} is \enquote{The \texttt{fontscale} package: A user interface for setting document font sizes}.
-
-\cs{PrintFontSizeCommand}
-\KeepNextPar*
-
-\cs{PrintFontSizeCommand} tests whether the current font size and font baselineskip match that of any font size command.
-If so, it prints the name of that font size command.
-If not, it instead prints \enquote{UNDEFINED\@}.
-One useful way of printing example text is by using
-\cs{PrintSampleText}\allowbreak\oarg{\cs{PrintFontSizeCommand}:\textvisiblespace{}\cs{PrintFontParameters}}.
-
-\subsection
- {%
- \texorpdfstring
- {More on \cs{fontscalesetup}}
- {More on \textbackslash{}fontscalesetup}%
- }
-\label{subsec:fontscalesetup}
-
-\cs{fontscalesetup}\marg{\meta{keys}}
-\KeepNextPar*
-
-Sets and processes the \pkg{fontscale} package keys and uses \cs{normalsize}.
-\cs{fontscalesetup} can be applied mid\-/document or locally within the current \TeX{} group.
-The key \Key{reset} is also available.
-Its value must be either \texttt{initial} or \texttt{preamble}.
-The key \Key{reset}[initial] or just \Key{reset} sets all the keys to their initial values.
-The key \Key{reset}[preamble] sets all the keys to their values at the end of the preamble (or does nothing if used before the end of the preamble).
-
-
-\section{Programming}
-\label{sec:programming}
-
-This section is relevant to \LaTeX3 programmers.
-
-The user commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} are set up to work with \cs{text_purify:n}.
-\cs{text_purify:n} will correctly remove these commands and their arguments.
-This includes the starred versions \cs{SetFontStep*}, \cs{SetFontScale*}, and \cs{SetFontSize*}.
-
-This package does not provide any public \pkg{expl3} functions.
-
-This package provides some public \pkg{expl3} variables.
-The package stores in public variables the step, scale, size, and baselineskip of each font size command.
-These variables should not be modified directly.
-Instead, they should be modified only indirectly via the command \cs{fontscalesetup}.
-
-Each takes the form:
-
-\begingroup
- \ttfamily
- \textbackslash{}c\_fontscale\_\meta{font size command}\_step\_fp
- \nopagebreak\newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_scale\_fp
- \newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_size\_dim
- \nopagebreak\newline
- \textbackslash{}l\_fontscale\_\meta{font size command}\_baselineskip\_skip
-\endgroup
-
-Exception:
-\cs{l_fontscale_normalsize_scale_fp} is not defined.
-The scale of \cs{normalsize} is instead stored as the constant \cs{c_fontscale_normalsize_scale_fp}, which always equals \num{1}.
-
-The step, scale, size, and baselineskip of each font size command are also stored in property lists, one for each font size command:
-
-\texttt{\textbackslash{}l\_fontscale\_\meta{font size command}\_prop}
-
+\documentclass{beery}
+
+\begin{document}
+
+
+\section*
+ {%
+ \SetFontStep*{1}%
+ The \pkg{fontscale} package%
+ }
+
+A user interface for setting document font sizes
+
+Oliver Beery
+
+Version 1.2.0\quad{}15 April 2024
+
+
+\section{Introduction}
+\label{sec:intro}
+
+\subsection{About}
+\label{subsec:about}
+
+\listheading{The \pkg{fontscale} package provides the following functionalities:}
+\begin{itemize}
+ \item
+ Set document font sizes via a classic, modular, or musical typographic scale.
+ \item
+ Set arbitrary scales, sizes, and baselineskips for the standard font size commands \cs{tiny}, \cs{scriptsize}, \cs{footnotesize}, \cs{small}, \cs{normalsize}, \cs{large}, \cs{Large}, \cs{LARGE}, \cs{huge}, and \cs{Huge}.
+ \item
+ Set the font size settings mid\-/document or within a local group.
+ \item
+ Set the font size by setting the font step, scale, or size.
+ \item
+ Set the font size relative to the current font size.
+ \item
+ Use the current font step, scale, size, and baselineskip directly, for example, for printing or within calculations.
+ \item
+ Print sample text to test different font sizes.
+ \item
+ For advanced users, store the step, scale, size, and baselineskip of each font size command in \pkg{expl3} variables.
+\end{itemize}
+
+\subsection{Loading the package}
+\label{subsec:loading}
+
+This package requires the 10 October 2023 \pkg{l3kernel} update.
+Since this update is fairly recent, you may need to ensure that your \LaTeX{} installation is up\-/to\-/date before using this package.
+
+This package lets the user set arbitrary font sizes.
+This works with most fonts produced today, but, for historical reasons, the default Computer Modern font is available only in a number of fixed sizes.
+If you get a warning that Computer Modern is not available in the requested size, you may need to add the code \cs{RequirePackage{fix-cm}} before \cs{documentclass} to make Computer Modern available at arbitrary font sizes.
+
+\cs{usepackage}\marg{fontscale}
+\nopagebreak\newline
+\cs{fontscalesetup}\marg{\meta{keyval list}}
+
+Load the \pkg{fontscale} package via the usual command in the document preamble.
+This package has no package options.
+Instead, the package keys are set up via the command \cs{fontscalesetup}\marg{\meta{keyval list}}.
+\meta{keyval list} must receive a comma\-/separated list of keys and their associated values.
+The package keys are documented in \S\ref{sec:choosing} and \S\ref{sec:overwriting}.
+
+Many \LaTeX{} document classes have a font size option (\Key{10pt}, \Key{11pt}, \Key{12pt}, etc.\@) which not only changes the set of document font sizes, but also modifies additional settings such as the page layout and vertical spacing which were specifically designed to work with those font sizes.
+For this reason, you may want to set the document class font size option close to the value of \cs{normalsize} set by this package.
+
+Internally, this package sets up each font size command from \cs{tiny} to \cs{Huge} using the kernel command \cs{@setfontsize}\---they have no additional functionality beyond that of \cs{@setfontsize}.
+Unlike the standard document classes, the font size commands set up by this package do not change the vertical spacing for displayed math and list structures.
+If the user would like to add this functionality or perhaps other features to the font size commands, they can do so via hooks, which are documented in the \LaTeX{} kernel.
+
+\subsection{Terminology}
+\label{subsec:terminology}
+
+When using the \pkg{fontscale} package, each font size, including the standard font size commands from \cs{tiny} to \cs{Huge}, has a step, scale, size, and baselineskip.
+The latter two parameters are the familiar first and second arguments to the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}}.
+The font scale is the relative font size; the ratio of the font size to \cs{normalsize}.
+The font step is the number of font size gradations from \cs{normalsize}, which has a step of \num{0}.
+Table~\ref{table:fontsteps} lists the font step of each font size command.
+
+\input{./fontscale-manual-table-font-steps.tex}
+
+This package defines many keys and commands that take as a value or argument a \meta{dim expr}, \meta{skip expr}, \meta{fp expr}, or \meta{int expr}.
+This syntax is short for a dimen, skip, floating point, or integer expression, respectively.
+See \pkg{usrguide} \S5 for more information.%
+\footnote{\url{https://ctan.org/pkg/usrguide}}
+
+
+\section{Choosing the typographic scale}
+\label{sec:choosing}
+
+\Key{typographic-scale}
+ [classic-10pt, classic-11pt, classic-12pt, modular, musical]
+ [classic-10pt]
+\newline
+\Key{modular/ratio}[\meta{fp expr}][1.125]
+\newline
+\Key{musical/ratio}[\meta{fp expr}][2]%
+\nopagebreak\newline
+\Key{musical/notes}[\meta{int expr}][5]
+
+The key \Key{typographic\-/scale} sets the font sizes using a classic, modular, or musical typographic scale.
+These are common methods of choosing a set of document font sizes.
+The choice of typographic scale initializes to \Key{classic\-/10pt}.
+
+The key \Key{typographic\-/scale} can also be set in a condensed format via the keys \Key{classic\-/10pt}, \Key{classic\-/11pt}, \Key{classic\-/12pt}, \Key{modular}, or \Key{musical}, which set the key \Key{typographic\-/scale} to the corresponding value.
+
+The classic typographic scale consists of the traditional font sizes
+\numlist{6;7;8;9;10;11;12;14;16;18;21;24;36;48;60;72}.%
+\footnote{See \S{}3.1 of \textit{The Elements of Typographic Style} by Robert Bringhurst.}
+They have been used since the sixteenth century and are the default font sizes on most computer software.
+The keys \Key{classic-10pt, classic-11pt, classic-12pt} set the size of each font size command to values based on their position in the classic typographic scale.
+The size of \cs{normalsize} is the named point size.
+The sizes of the other font size commands are the adjacent font sizes in the scale.
+Table~\ref{table:classicscales} lists the size of each font size command when using a classic typographic scale.
+
+\input{./fontscale-manual-table-classic.tex}
+
+The key \Key{modular} sets the font sizes from \cs{tiny} to \cs{Huge} using a modular typographic scale.
+In a modular scale, each font size is a fixed ratio from the adjacent font sizes.%
+\footnote{\url{https://alistapart.com/article/more-meaningful-typography/}}
+Here, the base font size is the size of \cs{normalsize}, which can be set via the key \Key{normalsize/size}[\meta{dim expr}], more documented in \S\ref{sec:overwriting}.
+If not set, \cs{normalsize} initializes to \qty{10}{pt}.
+The modular ratio can be set via the key \Key{modular\slash{}ratio}.
+The initial modular ratio is \num{1.125}.
+
+\input{./fontscale-manual-table-modular-musical.tex}
+
+The key \Key{musical} sets the font sizes according to their position in a musical typographic scale.
+The font size is calculated using the formula:%
+\footnote
+ {%
+ I have referenced this article by Spencer Mortensen:
+ \newline
+ \url{https://spencermortensen.com/articles/typographic-scale/}%
+ }
+\[ f_i = f_0 \times r ^ { i / n } \]
+$f_0$ is the base font size, the size of \cs{normalsize}.
+$f_i$ is the font size with font step~$i$.
+$n$ is the number of notes in the musical scale\---the number of font size gradations or steps above \cs{normalsize}.
+$r$ is the ratio of the musical scale, the ratio of the highest to the lowest note $ f_n / f_0 $.
+(The modular typographic scale is actually a special case of the musical typographic scale where $n=1$.)
+
+The musical ratio~$r$ and the number of notes~$n$ can be set via the keys \Key{musical\slash{}ratio} and \Key{musical\slash{}notes}.
+The initial musical ratio\---\num{2}\---and the initial number of notes\---\num{5}\---are the same as that of the classic typographic scale.%
+\footnote{Ibid.}
+Conveniently, \cs{Huge} is \num{5} steps above \cs{normalsize}.
+The font size of \cs{normalsize}~$f_0$ can be set using the key \Key{normalsize/size}[\meta{dim expr}], more documented in \S\ref{sec:overwriting}.
+When using a musical typographic scale, \cs{normalsize} initializes to \qty{10}{pt}.%
+\footnote {I have set the initial value to \qty{10}{pt} instead of the \qty{12}{pt} recommended by the Spencer Mortensen article because this matches the default settings of the standard \LaTeXe{} document classes.}
+
+\Key{baselineskip-size-ratio}[\meta{fp expr}][1.2]
+\KeepNextPar*
+
+The key \Key{baselineskip\-/size\-/ratio} sets the ratio of the font baselineskip to the font size.
+By default, the font baselineskip of each font size command equals its font size times \meta{fp expr}.
+Users should not set this key unless they really know what they are doing.
+When using increased line spacing, users should prefer the low\-/level font command \cs{linespread} or the \pkg{setspace} package.
+
+
+\section{Overwriting the typographic scale}
+\label{sec:overwriting}
+
+In some situations, users may need to explicitly set the scale, size, or baselineskip of a font size command, overwriting the value set by the keys in \S\ref{sec:choosing}.
+Note that the font steps and the scale of \cs{normalsize} are constants and cannot be changed.
+
+\Key{\meta{font size command}/scale}[\meta{fp expr}]
+\KeepNextPar*
+
+The keys \Key{\meta{font size command}\slash{}scale} set the scale of \meta{font size command} to \meta{fp expr}, ignoring the value set by the key \Key{typographic-scale}.
+The key \Key{normalsize\slash{}scale} is not defined.
+
+\Key{\meta{font size command}/size}[\meta{dim expr}]
+\KeepNextPar*
+
+The keys \Key{\meta{font size command}\slash{}size} set the size of \meta{font size command} to \meta{dim expr}, ignoring the values set by the keys \Key{typographic-scale} and \Key{\meta{font size command}\slash{}scale}.
+\meta{dim expr} supplies a default unit of \unit{pt}.
+
+The package will issue a warning if the user sets the keys \Key{\meta{font size command}\slash{}size} and \Key{\meta{font size command}\slash{}scale} for the same \meta{font size command} since the latter key will be ignored.
+
+\Key{\meta{font size command}/baselineskip}[\meta{skip expr}]
+\KeepNextPar*
+
+The keys \Key{\meta{font size command}\slash{}baselineskip} set the font baselineskip of \meta{font size command} to \meta{skip expr} instead of calculating it from the size of \meta{font size command} and \Key{baselineskip\-/size\-/ratio}.
+\meta{skip expr} supplies a default unit of \unit{pt}.
+
+\Key{\meta{font size command}}[\meta{dim expr}]
+\nopagebreak\newline
+\Key{\meta{font size command}}[\meta{dim expr}/\meta{skip expr}]
+
+The keys \Key{\meta{font size command}} set the keys \Key{\meta{font size command}\slash{}size} or \Key{\meta{font size command}\slash{}baselineskip} in a condensed format.
+The latter format resembles traditional typographic notation where the size and leading of a text can be expressed as, for example, $10/12$ or $11/13$.
+The number before/after the slash is the size/leading in \unit{pts}.
+
+\Key{ignore-order}[true, false][false]
+\KeepNextPar*
+
+The user should take care to ensure that the font sizes and font baselineskips remain in the correct order when directly setting the scales, sizes, or baselineskips of the different font size commands.
+The magnitudes of the sizes and baselineskips should be ordered from \cs{tiny} to \cs{normalsize} to \cs{Huge}.
+This is important for typographic and syntactic consistency.
+This package will issue a warning if they are not in the correct order.
+The user can disable this warning via the key \Key{ignore\-/order}[true] or just \Key{ignore\-/order}.
+
+
+\section{User commands}
+\label{sec:usercommands}
+
+\subsection{Expandable font parameters}
+\label{subsec:fontparameters}
+
+\cs{CurrentFontStep}
+\nopagebreak\newline
+\cs{CurrentFontScale}
+\newline
+\cs{CurrentFontSize}
+\nopagebreak\newline
+\cs{CurrentFontBaselineskip}
+
+These are fully expandable commands that expand to the current font step, scale, size, or baselineskip.
+They can be used for printing or within calculations.
+Caution: \cs{CurrentFontStep} will expand to nothing if the current step is undefined.
+
+Internally, \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} use the kernel command \cs{f@size}.
+\cs{CurrentFontSize} expands to \texttt{f@size pt}.
+\cs{CurrentFontBaselineskip} expands to the kernel command \cs{f@baselineskip}.
+Note that the low\-/level font command \cs{fontsize}\marg{\meta{dimen}}\marg{\meta{skip}} sets \cs{f@size} before expanding its second argument.
+This means that \cs{CurrentFontStep}, \cs{CurrentFontScale}, and \cs{CurrentFontSize} may need to be first expanded if used in \meta{skip}.
+This package provides the command \cs{SetFontSizeBaselineskip} as an alternative to \cs{fontsize} + \cs{selectfont} that avoids this issue (\S\ref{subsec:fontsize}).
+
+\subsection{More font sizing commands}
+\label{subsec:fontsize}
+
+The \pkg{fontscale} package provides the commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} which set the font size in different ways.
+The first three commands have a starred version which sets the font size relative to the current font size.
+Internally, these commands all use the low\-/level font commands \cs{fontsize} and \cs{selectfont}.
+These commands should be used only in special cases.
+Generally, users should prefer the font size commands from \cs{tiny} to \cs{Huge} for typographic and syntactic consistency, although \cs{SetFontStep*}\marg{\meta{integer}} can use a font size command directly.
+
+\cs{SetFontStep}\marg{\meta{fp expr}}
+\nopagebreak\newline
+\cs{SetFontStep*}\marg{\meta{fp expr}}
+
+\cs{SetFontStep} sets the font size by setting the font step to \meta{fp expr}.
+The starred version \cs{SetFontStep*} adds \meta{fp expr} to the current font step.
+If the choice of typographic scale is not modular or musical, then the only valid values for \meta{fp expr} are the integers from \num{-4} to \num{5}, corresponding to the font size commands from \cs{tiny} to \cs{Huge}.
+\cs{SetFontStep} will issue an error if the step is invalid.
+The starred version \cs{SetFontStep*} will also issue an error if the current step is invalid.
+\cs{SetFontStep} sets the font baselineskip to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
+If the step matches the step of any font size command, then that font size command will be used directly.
+
+\listheading{Examples:}
+\begin{itemize}
+ \item
+ For example, \cs{SetFontStep}\marg{-2} and \cs{SetFontStep}\marg{2} use \cs{footnotesize} and \cs{Large}.
+ Note that it is typically better to use the equivalent font size command in place of \cs{SetFontStep}\marg{\meta{integer}}.
+ \item
+ If the current font size is \cs{normalsize}, \cs{SetFontStep*}\marg{1} and \cs{SetFontStep*}\marg{-1} use \cs{large} and \cs{small}.
+ This is useful for moving up or down a note on the typographic scale.
+ \item
+ If the choice of typographic scale is modular or musical, \cs{SetFontStep*}\marg{-0.5} sets the font size and font baselineskip to values between that of \cs{normalsize} and \cs{small}.
+ Otherwise, it produces an error.
+\end{itemize}
+
+\cs{SetFontScale}\marg{\meta{fp expr}}
+\nopagebreak\newline
+\cs{SetFontScale*}\marg{\meta{fp expr}}
+
+\cs{SetFontScale} sets the font size by setting the font scale to \meta{fp expr}.
+The font baselineskip is set to the calculated font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
+The starred version \cs{SetFontScale*} adds \meta{fp expr} to the current font scale.
+For example, \cs{SetFontScale}\marg{1.25} makes the font size 25\% larger than \cs{normalsize}.
+If the current font size is \cs{normalsize}, \cs{SetFontScale*}\marg{0.2} is equivalent to \cs{SetFontScale}\marg{1.2}.
+
+\cs{SetFontSize}\marg{\meta{dim expr}}
+\nopagebreak\newline
+\cs{SetFontSize*}\marg{\meta{dim expr}}
+
+\cs{SetFontSize} sets the font size to \meta{dim expr}.
+\meta{dim expr} supplies a default unit of \unit{pt}.
+The font baselineskip is set to the font size \texttimes{} \Key{baselineskip\-/size\-/ratio}.
+The starred version \cs{SetFontSize*} adds \meta{dim expr} to the current size.
+For example, \cs{SetFontSize*}\marg{1} and \cs{SetFontSize*}\marg{-1pt} increase and decrease the current font size by a \unit{pt}.
+
+\cs{ScaleFont}\marg{\meta{fp expr}}
+\KeepNextPar*
+
+Scales the current font size and the current font baselineskip by a factor of \meta{fp expr}.
+\cs{ScaleFont} resembles the \cs{scalefont} command provided by the \pkg{scalefnt} package, except that it uses floating point calculations and clears the stretch and shrink components of the font baselineskip.
+For example, if the current font size and font baselineskip are \qty{10}{pt} and \qty{12}{pt}, using \cs{ScaleFont}\marg{0.8} will reduce them proportionally to \qty{8}{pt} and \qty{9.6}{pt}.
+
+\cs{SetFontSizeBaselineskip}\marg{\meta{dim expr}}\marg{\meta{skip expr}}
+\KeepNextPar*
+
+Sets the font size and font baselineskip to \meta{dim expr} and \meta{skip expr}.
+Both arguments supply a default unit of \unit{pt}.
+\cs{SetFontSizeBaselineskip} can be used as an alternative to \cs{fontsize} + \cs{selectfont} as it avoids the issue with \cs{f@size} discussed in \S\ref{subsec:fontparameters}.
+
+\subsection{Testing and debugging}
+\label{subsec:debug}
+
+The commands documented here are intended primarily for testing and debugging.
+I have used them often when developing this package so I think users will find them helpful.
+
+\cs{PrintFontParameters}
+\nopagebreak\newline
+\cs{PrintAllFontParameters}
+
+\cs{PrintFontParameters} prints the current step, scale, size, and baselineskip in this order in a comma\-/separated list of key = value pairs.
+If the current step is undefined (as explained for \cs{SetFontStep} in \S\ref{subsec:fontsize}), it will be left blank.
+\cs{PrintAllFontParameters} prints the step, scale, size, and baselineskip of each font size command.
+
+\cs{PrintSampleText}\oarg{\meta{text}}
+\nopagebreak\newline
+\cs{PrintSampleText*}\oarg{\meta{text}}
+
+\cs{PrintSampleText} prints \meta{text} in each font size ordered from \cs{tiny} to \cs{Huge} each followed by a paragraph break.
+The starred version \cs{PrintSampleText*} reverses the sizing order.
+The \meta{text} can be changed via the optional argument, but cannot contain \cs{par} tokens.
+The default \meta{text} is \enquote{The \texttt{fontscale} package: A user interface for setting document font sizes}.
+
+\cs{PrintFontSizeCommand}
+\KeepNextPar*
+
+\cs{PrintFontSizeCommand} tests whether the current font size and font baselineskip match that of any font size command.
+If so, it prints the name of that font size command.
+If not, it instead prints \enquote{UNDEFINED\@}.
+One useful way of printing example text is by using
+\cs{PrintSampleText}\oarg{\cs{PrintFontSizeCommand}:\textvisiblespace{}\cs{PrintFontParameters}}.
+
+\subsection
+ {%
+ \texorpdfstring
+ {More on \cs{fontscalesetup}}
+ {More on \textbackslash{}fontscalesetup}%
+ }
+\label{subsec:fontscalesetup}
+
+\cs{fontscalesetup}\marg{\meta{keyval list}}
+\KeepNextPar*
+
+Sets and processes the \pkg{fontscale} package keys and uses \cs{normalsize}.
+\cs{fontscalesetup} can be applied mid\-/document or locally within the current \TeX{} group.
+The key \Key{reset} is also available.
+Its value must be either \texttt{initial} or \texttt{preamble}.
+The key \Key{reset}[initial] or just \Key{reset} sets all the keys to their initial values.
+The key \Key{reset}[preamble] sets all the keys to their values at the end of the preamble (or does nothing if used before the end of the preamble).
+
+
+\section{Programming}
+\label{sec:programming}
+
+This section is relevant to \LaTeX3 programmers.
+
+The user commands \cs{SetFontStep}, \cs{SetFontScale}, \cs{SetFontSize}, \cs{ScaleFont}, and \cs{SetFontSizeBaselineskip} are set up to work with \cs{text_purify:n}.
+\cs{text_purify:n} will correctly remove these commands and their arguments.
+This includes the starred versions \cs{SetFontStep*}, \cs{SetFontScale*}, and \cs{SetFontSize*}.
+
+This package does not provide any public \pkg{expl3} functions.
+
+This package provides some public \pkg{expl3} variables.
+The package stores in public variables the step, scale, size, and baselineskip of each font size command.
+These variables should not be modified directly.
+Instead, they should be modified only indirectly via the command \cs{fontscalesetup}.
+
+Each takes the form:
+
+\begingroup
+ \ttfamily
+ \textbackslash{}c\_fontscale\_\meta{font size command}\_step\_fp
+ \nopagebreak\newline
+ \textbackslash{}l\_fontscale\_\meta{font size command}\_scale\_fp
+ \newline
+ \textbackslash{}l\_fontscale\_\meta{font size command}\_size\_dim
+ \nopagebreak\newline
+ \textbackslash{}l\_fontscale\_\meta{font size command}\_baselineskip\_skip
+\endgroup
+
+Exception:
+\cs{l_fontscale_normalsize_scale_fp} is not defined.
+The scale of \cs{normalsize} is instead stored as the constant \cs{c_fontscale_normalsize_scale_fp}, which always equals \num{1}.
+
+The step, scale, size, and baselineskip of each font size command are also stored in property lists, one for each font size command:
+
+\texttt{\textbackslash{}l\_fontscale\_\meta{font size command}\_prop}
+
\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/fontscale/fontscale.sty b/macros/latex/contrib/fontscale/fontscale.sty
index b89dccbb3c..514350189c 100644
--- a/macros/latex/contrib/fontscale/fontscale.sty
+++ b/macros/latex/contrib/fontscale/fontscale.sty
@@ -1,1315 +1,1300 @@
-% Package : fontscale -- A user interface for setting document font sizes
-% Copyright : 2024 (c) Oliver Beery <beeryoliver@gmail.com>
-% CTAN : https://ctan.org/pkg/fontscale
-% Repository: https://github.com/beeryoliver/fontscale
-% License : The LaTeX Project Public License 1.3c
-
-% The 2022-06-01 LaTeX kernel update added \ProcessKeyOptions.
-\NeedsTeXFormat{LaTeX2e}[2022-06-01]
-\ProvidesExplPackage
- {fontscale}
- {2024-04-07}
- {1.1.1}
- {A user interface for setting document font sizes}
-
-% The 2023-10-10 l3kernel update added many 'e'-variants.
-\IfExplAtLeastTF { 2023-10-10 }
- { }
- {
- \msg_new:nnn { fontscale } { expl3-out-of-date }
- {
- The~ package~ could~ not~ load.~
- The~ fontscale~ package~ requires~
- L3~ programming~ layer~ version~ 2023-10-10~ or~ later.
- }
- \msg_critical:nn { fontscale } { expl3-out-of-date }
- }
-
-% SOME VARIABLES
-
-\fp_const:Nn \c_fontscale_tiny_step_fp { -4 }
-\fp_const:Nn \c_fontscale_scriptsize_step_fp { -3 }
-\fp_const:Nn \c_fontscale_footnotesize_step_fp { -2 }
-\fp_const:Nn \c_fontscale_small_step_fp { -1 }
-\fp_const:Nn \c_fontscale_normalsize_step_fp { 0 }
-\fp_const:Nn \c_fontscale_large_step_fp { 1 }
-\fp_const:Nn \c_fontscale_Large_step_fp { 2 }
-\fp_const:Nn \c_fontscale_LARGE_step_fp { 3 }
-\fp_const:Nn \c_fontscale_huge_step_fp { 4 }
-\fp_const:Nn \c_fontscale_Huge_step_fp { 5 }
-
-\fp_const:Nn \c_fontscale_normalsize_scale_fp { 1 }
-
-\tl_const:Nn \c__fontscale_names_tl
- {
- {tiny} {scriptsize} {footnotesize} {small} {normalsize}
- {large} {Large} {LARGE} {huge} {Huge}
- }
-\tl_const:Nn \c__fontscale_names_other_tl
- {
- {tiny} {scriptsize} {footnotesize} {small}
- {large} {Large} {LARGE} {huge} {Huge}
- }
-
-\prop_new:N \l_fontscale_tiny_prop
-\prop_new:N \l_fontscale_scriptsize_prop
-\prop_new:N \l_fontscale_footnotesize_prop
-\prop_new:N \l_fontscale_small_prop
-\prop_new:N \l_fontscale_normalsize_prop
-\prop_new:N \l_fontscale_large_prop
-\prop_new:N \l_fontscale_Large_prop
-\prop_new:N \l_fontscale_LARGE_prop
-\prop_new:N \l_fontscale_huge_prop
-\prop_new:N \l_fontscale_Huge_prop
-
-\prop_put:Nnn \l_fontscale_tiny_prop { step } { -4 }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { step } { -3 }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { step } { -2 }
-\prop_put:Nnn \l_fontscale_small_prop { step } { -1 }
-\prop_put:Nnn \l_fontscale_normalsize_prop { step } { 0 }
-\prop_put:Nnn \l_fontscale_large_prop { step } { 1 }
-\prop_put:Nnn \l_fontscale_Large_prop { step } { 2 }
-\prop_put:Nnn \l_fontscale_LARGE_prop { step } { 3 }
-\prop_put:Nnn \l_fontscale_huge_prop { step } { 4 }
-\prop_put:Nnn \l_fontscale_Huge_prop { step } { 5 }
-
-\prop_put:Nnn \l_fontscale_normalsize_prop { scale } { 1 }
-
-\fp_new:N \l_fontscale_tiny_scale_fp
-\fp_new:N \l_fontscale_scriptsize_scale_fp
-\fp_new:N \l_fontscale_footnotesize_scale_fp
-\fp_new:N \l_fontscale_small_scale_fp
-\fp_new:N \l_fontscale_large_scale_fp
-\fp_new:N \l_fontscale_Large_scale_fp
-\fp_new:N \l_fontscale_LARGE_scale_fp
-\fp_new:N \l_fontscale_huge_scale_fp
-\fp_new:N \l_fontscale_Huge_scale_fp
-
-\dim_new:N \l_fontscale_tiny_size_dim
-\dim_new:N \l_fontscale_scriptsize_size_dim
-\dim_new:N \l_fontscale_footnotesize_size_dim
-\dim_new:N \l_fontscale_small_size_dim
-\dim_new:N \l_fontscale_normalsize_size_dim
-\dim_new:N \l_fontscale_large_size_dim
-\dim_new:N \l_fontscale_Large_size_dim
-\dim_new:N \l_fontscale_LARGE_size_dim
-\dim_new:N \l_fontscale_huge_size_dim
-\dim_new:N \l_fontscale_Huge_size_dim
-
-\skip_new:N \l_fontscale_tiny_baselineskip_skip
-\skip_new:N \l_fontscale_scriptsize_baselineskip_skip
-\skip_new:N \l_fontscale_footnotesize_baselineskip_skip
-\skip_new:N \l_fontscale_small_baselineskip_skip
-\skip_new:N \l_fontscale_normalsize_baselineskip_skip
-\skip_new:N \l_fontscale_large_baselineskip_skip
-\skip_new:N \l_fontscale_Large_baselineskip_skip
-\skip_new:N \l_fontscale_LARGE_baselineskip_skip
-\skip_new:N \l_fontscale_huge_baselineskip_skip
-\skip_new:N \l_fontscale_Huge_baselineskip_skip
-
-\str_new:N \l__fontscale_typographic_scale_str
-\tl_new:N \l__fontscale_keys_precompile_preamble_tl
-
-% Used in floating point expressions for speed.
-\fp_new:N \l__fontscale_normalsize_size_fp
-\fp_new:N \l__fontscale_musical_notes_fp
-
-% Temporary variables
-\fp_new:N \l__fontscale_step_fp
-\tl_new:N \l__fontscale_step_tl
-\tl_new:N \l__fontscale_scale_tl
-\dim_new:N \l__fontscale_size_dim
-\skip_new:N \l__fontscale_baselineskip_skip
-
-% INITIAL FONT PARAMETERS
-
-\fp_set:Nn \l__fontscale_normalsize_size_fp { 10 }
-
-\dim_set:Nn \l_fontscale_tiny_size_dim { 6pt }
-\dim_set:Nn \l_fontscale_scriptsize_size_dim { 7pt }
-\dim_set:Nn \l_fontscale_footnotesize_size_dim { 8pt }
-\dim_set:Nn \l_fontscale_small_size_dim { 9pt }
-\dim_set:Nn \l_fontscale_normalsize_size_dim { 10pt }
-\dim_set:Nn \l_fontscale_large_size_dim { 11pt }
-\dim_set:Nn \l_fontscale_Large_size_dim { 12pt }
-\dim_set:Nn \l_fontscale_LARGE_size_dim { 14pt }
-\dim_set:Nn \l_fontscale_huge_size_dim { 16pt }
-\dim_set:Nn \l_fontscale_Huge_size_dim { 18pt }
-
-\fp_set:Nn \l_fontscale_tiny_scale_fp { 0.6 }
-\fp_set:Nn \l_fontscale_scriptsize_scale_fp { 0.7 }
-\fp_set:Nn \l_fontscale_footnotesize_scale_fp { 0.8 }
-\fp_set:Nn \l_fontscale_small_scale_fp { 0.9 }
-\fp_set:Nn \l_fontscale_large_scale_fp { 1.1 }
-\fp_set:Nn \l_fontscale_Large_scale_fp { 1.2 }
-\fp_set:Nn \l_fontscale_LARGE_scale_fp { 1.4 }
-\fp_set:Nn \l_fontscale_huge_scale_fp { 1.6 }
-\fp_set:Nn \l_fontscale_Huge_scale_fp { 1.8 }
-
-\skip_set:Nn \l_fontscale_tiny_baselineskip_skip { 7.2pt }
-\skip_set:Nn \l_fontscale_scriptsize_baselineskip_skip { 8.4pt }
-\skip_set:Nn \l_fontscale_footnotesize_baselineskip_skip { 9.6pt }
-\skip_set:Nn \l_fontscale_small_baselineskip_skip { 10.8pt }
-\skip_set:Nn \l_fontscale_normalsize_baselineskip_skip { 12 pt }
-\skip_set:Nn \l_fontscale_large_baselineskip_skip { 13.2pt }
-\skip_set:Nn \l_fontscale_Large_baselineskip_skip { 14.4pt }
-\skip_set:Nn \l_fontscale_LARGE_baselineskip_skip { 16.8pt }
-\skip_set:Nn \l_fontscale_huge_baselineskip_skip { 19.2pt }
-\skip_set:Nn \l_fontscale_Huge_baselineskip_skip { 21.6pt }
-
-\prop_put:Nnn \l_fontscale_tiny_prop { scale } { 0.6 }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { scale } { 0.7 }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { scale } { 0.8 }
-\prop_put:Nnn \l_fontscale_small_prop { scale } { 0.9 }
-\prop_put:Nnn \l_fontscale_large_prop { scale } { 1.1 }
-\prop_put:Nnn \l_fontscale_Large_prop { scale } { 1.2 }
-\prop_put:Nnn \l_fontscale_LARGE_prop { scale } { 1.4 }
-\prop_put:Nnn \l_fontscale_huge_prop { scale } { 1.6 }
-\prop_put:Nnn \l_fontscale_Huge_prop { scale } { 1.8 }
-
-\prop_put:Nnn \l_fontscale_tiny_prop { size } { 6pt }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { size } { 7pt }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { size } { 8pt }
-\prop_put:Nnn \l_fontscale_small_prop { size } { 9pt }
-\prop_put:Nnn \l_fontscale_normalsize_prop { size } { 10pt }
-\prop_put:Nnn \l_fontscale_large_prop { size } { 11pt }
-\prop_put:Nnn \l_fontscale_Large_prop { size } { 12pt }
-\prop_put:Nnn \l_fontscale_LARGE_prop { size } { 14pt }
-\prop_put:Nnn \l_fontscale_huge_prop { size } { 16pt }
-\prop_put:Nnn \l_fontscale_Huge_prop { size } { 18pt }
-
-\prop_put:Nnn \l_fontscale_tiny_prop { baselineskip } { 7.2pt }
-\prop_put:Nnn \l_fontscale_scriptsize_prop { baselineskip } { 8.4pt }
-\prop_put:Nnn \l_fontscale_footnotesize_prop { baselineskip } { 9.6pt }
-\prop_put:Nnn \l_fontscale_small_prop { baselineskip } { 10.8pt }
-\prop_put:Nnn \l_fontscale_normalsize_prop { baselineskip } { 12 pt }
-\prop_put:Nnn \l_fontscale_large_prop { baselineskip } { 13.2pt }
-\prop_put:Nnn \l_fontscale_Large_prop { baselineskip } { 14.4pt }
-\prop_put:Nnn \l_fontscale_LARGE_prop { baselineskip } { 16.8pt }
-\prop_put:Nnn \l_fontscale_huge_prop { baselineskip } { 19.2pt }
-\prop_put:Nnn \l_fontscale_Huge_prop { baselineskip } { 21.6pt }
-
-% SOME HELPER FUNCTIONS
-
-% Sets a dimen or skip variable, supplying a default unit of pt.
-\cs_new_protected:Npn \__fontscale_dim_set_with_default_unit:Nn #1#2
- { \@defaultunits #1 = \dimexpr #2 pt \relax \relax \@nnil }
-\cs_generate_variant:Nn \__fontscale_dim_set_with_default_unit:Nn { c }
-\cs_new_protected:Npn \__fontscale_skip_set_with_default_unit:Nn #1#2
- { \@defaultunits #1 = \glueexpr #2 pt \relax \@nnil }
-\cs_generate_variant:Nn \__fontscale_skip_set_with_default_unit:Nn { c }
-
-% MESSAGES
-
-\msg_new:nnn { fontscale } { key-font-scale-ignored }
- {
- Key~ #1 / scale~
- \msg_line_context: \c_space_tl
- ignored.~
- Setting~ the~ scale~ and~ size~ keys~ for~ the~ same~
- font~ size~ command~ ignores~ the~ scale~ key.
- }
-\msg_new:nnn { fontscale } { font-sizes-out-of-order }
- {
- The~ font~ sizes~
- \msg_line_context: \c_space_tl
- are~ not~ in~ the~ correct~ order.~
- The~ magnitude~ of~ the~ font~ sizes~ should~ be~ ordered~ from~
- \token_to_str:N \tiny \c_space_tl
- to~
- \token_to_str:N \normalsize \c_space_tl
- to~
- \token_to_str:N \Huge .
- }
-\msg_new:nnn { fontscale } { font-baselineskips-out-of-order }
- {
- The~ font~ baselineskips~
- \msg_line_context: \c_space_tl
- are~ not~ in~ the~ correct~ order.~
- The~ magnitude~ of~ the~ font~ baselineskips~ should~ be~ ordered~ from~
- \token_to_str:N \tiny \c_space_tl
- to~
- \token_to_str:N \normalsize \c_space_tl
- to~
- \token_to_str:N \Huge .
- }
-\msg_new:nnn { fontscale } { font-step-out-of-bounds }
- {
- The~ font~ step~
- \msg_line_context: \c_space_tl
- must~ be~ an~ integer~ from~ -4~ to~ 5,~
- unless~ the~ choice~ of~ typographic~ scale~ is~ modular~ or~ musical.
- }
-
-% DEFINE KEYS
-
-\keys_define:nn { fontscale }
- {
- reset .choices:nn = { initial , preamble }
- {
- \int_case:nn { \l_keys_choice_int }
- {
- { 1 } { \c__fontscale_keys_precompile_initial_tl }
- { 2 } { \l__fontscale_keys_precompile_preamble_tl }
- }
- }
- , reset .default:n = initial
-
- , ignore-order .bool_set:N = \l__fontscale_ignore_order_bool
- , ignore-order .default:n = true
-
- , baselineskip-size-ratio .fp_set:N =
- \l__fontscale_baselineskip_size_ratio_fp
- , baselineskip-size-ratio .value_required:n = true
-
- , typographic-scale .choices:nn =
- { classic-10pt , classic-11pt , classic-12pt , modular , musical }
- { \str_set:Nn \l__fontscale_typographic_scale_str {#1} }
- , typographic-scale .value_required:n = true
-
- , classic-10pt .meta:n = { typographic-scale = classic-10pt }
- , classic-10pt .value_forbidden:n = true
-
- , classic-11pt .meta:n = { typographic-scale = classic-11pt }
- , classic-11pt .value_forbidden:n = true
-
- , classic-12pt .meta:n = { typographic-scale = classic-12pt }
- , classic-12pt .value_forbidden:n = true
-
- , modular .meta:n = { typographic-scale = modular }
- , modular .value_forbidden:n = true
-
- , musical .meta:n = { typographic-scale = musical }
- , musical .value_forbidden:n = true
-
- , modular / ratio .fp_set:N = \l__fontscale_modular_ratio_fp
- , modular / ratio .value_required:n = true
- }
-\keys_define:nn { fontscale / musical }
- {
- ratio .fp_set:N = \l__fontscale_musical_ratio_fp
- , ratio .value_required:n = true
-
- , notes .int_set:N = \l__fontscale_musical_notes_int
- , notes .value_required:n = true
- }
-\keys_define:nn { fontscale / tiny }
- {
- scale .tl_set:N = \l__fontscale_tiny_scale_tl
- , scale .value_required:n = true
-
- , size .tl_set:N = \l__fontscale_tiny_size_tl
- , size .value_required:n = true
-
- , baselineskip .tl_set:N = \l__fontscale_tiny_baselineskip_tl
- , baselineskip .value_required:n = true
- }
-\keys_define:nn { fontscale / scriptsize }
- {
- scale .tl_set:N = \l__fontscale_scriptsize_scale_tl
- , scale .value_required:n = true
-
- , size .tl_set:N = \l__fontscale_scriptsize_size_tl
- , size .value_required:n = true
-
- , baselineskip .tl_set:N = \l__fontscale_scriptsize_baselineskip_tl
- , baselineskip .value_required:n = true
- }
-\keys_define:nn { fontscale / footnotesize }
- {
- scale .tl_set:N = \l__fontscale_footnotesize_scale_tl
- , scale .value_required:n = true
-
- , size .tl_set:N = \l__fontscale_footnotesize_size_tl
- , size .value_required:n = true
-
- , baselineskip .tl_set:N = \l__fontscale_footnotesize_baselineskip_tl
- , baselineskip .value_required:n = true
- }
-\keys_define:nn { fontscale / small }
- {
- scale .tl_set:N = \l__fontscale_small_scale_tl
- , scale .value_required:n = true
-
- , size .tl_set:N = \l__fontscale_small_size_tl
- , size .value_required:n = true
-
- , baselineskip .tl_set:N = \l__fontscale_small_baselineskip_tl
- , baselineskip .value_required:n = true
- }
-\keys_define:nn { fontscale / normalsize }
- {
- size .tl_set:N = \l__fontscale_normalsize_size_tl
- , size .value_required:n = true
-
- , baselineskip .tl_set:N = \l__fontscale_normalsize_baselineskip_tl
- , baselineskip .value_required:n = true
- }
-\keys_define:nn { fontscale / large }
- {
- scale .tl_set:N = \l__fontscale_large_scale_tl
- , scale .value_required:n = true
-
- , size .tl_set:N = \l__fontscale_large_size_tl
- , size .value_required:n = true
-
- , baselineskip .tl_set:N = \l__fontscale_large_baselineskip_tl
- , baselineskip .value_required:n = true
- }
-\keys_define:nn { fontscale / Large }
- {
- scale .tl_set:N = \l__fontscale_Large_scale_tl
- , scale .value_required:n = true
-
- , size .tl_set:N = \l__fontscale_Large_size_tl
- , size .value_required:n = true
-
- , baselineskip .tl_set:N = \l__fontscale_Large_baselineskip_tl
- , baselineskip .value_required:n = true
- }
-\keys_define:nn { fontscale / LARGE }
- {
- scale .tl_set:N = \l__fontscale_LARGE_scale_tl
- , scale .value_required:n = true
-
- , size .tl_set:N = \l__fontscale_LARGE_size_tl
- , size .value_required:n = true
-
- , baselineskip .tl_set:N = \l__fontscale_LARGE_baselineskip_tl
- , baselineskip .value_required:n = true
- }
-\keys_define:nn { fontscale / huge }
- {
- scale .tl_set:N = \l__fontscale_huge_scale_tl
- , scale .value_required:n = true
-
- , size .tl_set:N = \l__fontscale_huge_size_tl
- , size .value_required:n = true
-
- , baselineskip .tl_set:N = \l__fontscale_huge_baselineskip_tl
- , baselineskip .value_required:n = true
- }
-\keys_define:nn { fontscale / Huge }
- {
- scale .tl_set:N = \l__fontscale_Huge_scale_tl
- , scale .value_required:n = true
-
- , size .tl_set:N = \l__fontscale_Huge_size_tl
- , size .value_required:n = true
-
- , baselineskip .tl_set:N = \l__fontscale_Huge_baselineskip_tl
- , baselineskip .value_required:n = true
- }
-\keys_define:nn { fontscale }
- {
- tiny .code:n = \__fontscale_keys_name_code:n {#1}
- , tiny .value_required:n = true
-
- , scriptsize .code:n = \__fontscale_keys_name_code:n {#1}
- , scriptsize .value_required:n = true
-
- , footnotesize .code:n = \__fontscale_keys_name_code:n {#1}
- , footnotesize .value_required:n = true
-
- , small .code:n = \__fontscale_keys_name_code:n {#1}
- , small .value_required:n = true
-
- , normalsize .code:n = \__fontscale_keys_name_code:n {#1}
- , normalsize .value_required:n = true
-
- , large .code:n = \__fontscale_keys_name_code:n {#1}
- , large .value_required:n = true
-
- , Large .code:n = \__fontscale_keys_name_code:n {#1}
- , Large .value_required:n = true
-
- , LARGE .code:n = \__fontscale_keys_name_code:n {#1}
- , LARGE .value_required:n = true
-
- , huge .code:n = \__fontscale_keys_name_code:n {#1}
- , huge .value_required:n = true
-
- , Huge .code:n = \__fontscale_keys_name_code:n {#1}
- , Huge .value_required:n = true
- }
-\cs_new_protected:Npn \__fontscale_keys_name_code:n #1
- {
- \str_if_in:nnTF {#1} { / }
- { \__fontscale_keys_name_code_split:ww #1 \q_stop }
- { \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1} }
- }
-\cs_new_protected:Npn \__fontscale_keys_name_code_split:ww #1 / #2 \q_stop
- {
- \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1}
- \tl_set:cn { l__fontscale_ \l_keys_key_str _baselineskip_tl } {#2}
- }
-
-% PRE-COMPILE KEYS
-
-% Pre-compiles the keys with their initial values. The keys are pre-compiled
-% by hand for speed.
-\tl_const:Nn \c__fontscale_keys_precompile_initial_tl
- {
- \bool_set_false:N \l__fontscale_ignore_order_bool
- \fp_set:Nn \l__fontscale_baselineskip_size_ratio_fp { 1.2 }
- \str_set:Nn \l__fontscale_typographic_scale_str { classic-10pt }
- \fp_set:Nn \l__fontscale_modular_ratio_fp { 1.125 }
- \fp_set:Nn \l__fontscale_musical_ratio_fp { 2 }
- \int_set:Nn \l__fontscale_musical_notes_int { 5 }
-
- \tl_set:Nn \l__fontscale_tiny_scale_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_scriptsize_scale_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_footnotesize_scale_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_small_scale_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_large_scale_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_Large_scale_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_LARGE_scale_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_huge_scale_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_Huge_scale_tl { \q_no_value }
-
- \tl_set:Nn \l__fontscale_tiny_size_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_scriptsize_size_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_footnotesize_size_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_small_size_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_normalsize_size_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_large_size_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_Large_size_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_LARGE_size_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_huge_size_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_Huge_size_tl { \q_no_value }
-
- \tl_set:Nn \l__fontscale_tiny_baselineskip_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_scriptsize_baselineskip_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_footnotesize_baselineskip_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_small_baselineskip_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_normalsize_baselineskip_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_large_baselineskip_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_Large_baselineskip_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_LARGE_baselineskip_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_huge_baselineskip_tl { \q_no_value }
- \tl_set:Nn \l__fontscale_Huge_baselineskip_tl { \q_no_value }
- }
-\c__fontscale_keys_precompile_initial_tl
-
-% Pre-compiles the keys with their values at the end of the preamble. The keys
-% are pre-compiled by hand for speed.
-\AddToHook { begindocument / before }
- { \__fontscale_keys_precompile_preamble: }
-\cs_new_protected:Npn \__fontscale_keys_precompile_preamble:
- {
- \tl_set:Ne \l__fontscale_keys_precompile_preamble_tl
- {
- \bool_if:NTF \l__fontscale_ignore_order_bool
- { \bool_set_true:N } { \bool_set_false:N }
- \l__fontscale_ignore_order_bool
- \fp_set:Nn \exp_not:N \l__fontscale_baselineskip_size_ratio_fp
- { \l__fontscale_baselineskip_size_ratio_fp }
- \str_set:Nn \exp_not:N \l__fontscale_typographic_scale_str
- { \l__fontscale_typographic_scale_str }
- \fp_set:Nn \exp_not:N \l__fontscale_modular_ratio_fp
- { \l__fontscale_modular_ratio_fp }
- \fp_set:Nn \exp_not:N \l__fontscale_musical_ratio_fp
- { \l__fontscale_musical_ratio_fp }
- \int_set:Nn \l__fontscale_musical_notes_int
- { \int_use:N \l__fontscale_musical_notes_int }
-
- \tl_set:Nn \exp_not:N \l__fontscale_tiny_scale_tl
- { \exp_not:o \l__fontscale_tiny_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_scale_tl
- { \exp_not:o \l__fontscale_scriptsize_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_scale_tl
- { \exp_not:o \l__fontscale_footnotesize_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_small_scale_tl
- { \exp_not:o \l__fontscale_small_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_large_scale_tl
- { \exp_not:o \l__fontscale_large_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Large_scale_tl
- { \exp_not:o \l__fontscale_Large_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_LARGE_scale_tl
- { \exp_not:o \l__fontscale_LARGE_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_huge_scale_tl
- { \exp_not:o \l__fontscale_huge_scale_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Huge_scale_tl
- { \exp_not:o \l__fontscale_Huge_scale_tl }
-
- \tl_set:Nn \exp_not:N \l__fontscale_tiny_size_tl
- { \exp_not:o \l__fontscale_tiny_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_size_tl
- { \exp_not:o \l__fontscale_scriptsize_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_size_tl
- { \exp_not:o \l__fontscale_footnotesize_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_small_size_tl
- { \exp_not:o \l__fontscale_small_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_normalsize_size_tl
- { \exp_not:o \l__fontscale_normalsize_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_large_size_tl
- { \exp_not:o \l__fontscale_large_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Large_size_tl
- { \exp_not:o \l__fontscale_Large_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_LARGE_size_tl
- { \exp_not:o \l__fontscale_LARGE_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_huge_size_tl
- { \exp_not:o \l__fontscale_huge_size_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Huge_size_tl
- { \exp_not:o \l__fontscale_Huge_size_tl }
-
- \tl_set:Nn \exp_not:N \l__fontscale_tiny_baselineskip_tl
- { \exp_not:o \l__fontscale_tiny_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_baselineskip_tl
- { \exp_not:o \l__fontscale_scriptsize_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_baselineskip_tl
- { \exp_not:o \l__fontscale_footnotesize_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_small_baselineskip_tl
- { \exp_not:o \l__fontscale_small_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_normalsize_baselineskip_tl
- { \exp_not:o \l__fontscale_normalsize_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_large_baselineskip_tl
- { \exp_not:o \l__fontscale_large_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Large_baselineskip_tl
- { \exp_not:o \l__fontscale_Large_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_LARGE_baselineskip_tl
- { \exp_not:o \l__fontscale_LARGE_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_huge_baselineskip_tl
- { \exp_not:o \l__fontscale_huge_baselineskip_tl }
- \tl_set:Nn \exp_not:N \l__fontscale_Huge_baselineskip_tl
- { \exp_not:o \l__fontscale_Huge_baselineskip_tl }
- }
- }
-
-% PROCESS KEYS
-
-\NewDocumentCommand \fontscalesetup { m } { \__fontscale_keys_set:n {#1} }
-\cs_new_protected:Npn \__fontscale_keys_set:n #1
- {
- \keys_set:nn { fontscale } {#1}
- \__fontscale_keys_process:
- }
-\cs_new_protected:Npn \__fontscale_keys_process:
- {
- \__fontscale_keys_process_normalsize:
- \__fontscale_keys_process_other:
- \__fontscale_keys_process_other_props:
- \__fontscale_keys_process_check_order:
- }
-% Sets the size and baselineskip of \normalsize, stores them in a property
-% list, and uses \normalsize.
-\cs_new_protected:Npn \__fontscale_keys_process_normalsize:
- {
- \quark_if_no_value:NTF \l__fontscale_normalsize_size_tl
- {
- \dim_set:Nn \l_fontscale_normalsize_size_dim
- {
- \str_case:on \l__fontscale_typographic_scale_str
- {
- { classic-10pt } { 10pt }
- { classic-11pt } { 11pt }
- { classic-12pt } { 12pt }
- { modular } { 10pt }
- { musical } { 10pt }
- }
- }
- }
- {
- \__fontscale_dim_set_with_default_unit:Nn
- \l_fontscale_normalsize_size_dim { \l__fontscale_normalsize_size_tl }
- }
- \fp_set:Nn \l__fontscale_normalsize_size_fp
- { \l_fontscale_normalsize_size_dim }
- \quark_if_no_value:NTF \l__fontscale_normalsize_baselineskip_tl
- {
- \skip_set:Nn \l_fontscale_normalsize_baselineskip_skip
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp
- * \l__fontscale_baselineskip_size_ratio_fp
- }
- }
- }
- {
- \__fontscale_skip_set_with_default_unit:Nn
- \l_fontscale_normalsize_baselineskip_skip
- { \l__fontscale_normalsize_baselineskip_tl }
- }
- \prop_put:Nno \l_fontscale_normalsize_prop { size }
- { \dim_use:N \l_fontscale_normalsize_size_dim }
- \prop_put:Nno \l_fontscale_normalsize_prop { baselineskip }
- { \skip_use:N \l_fontscale_normalsize_baselineskip_skip }
- \normalsize
- }
-% Sets the size, scale, and baselineskip of the other font size commands.
-% Issues a warning if the user sets both the scale and size keys for the same
-% font size command.
-\cs_new_protected:Npn \__fontscale_keys_process_other_classic_xpt:n #1
- {
- \dim_set:cn { l_fontscale_#1_size_dim }
- {
- \str_case:nn {#1}
- {
- { tiny } { 6pt }
- { scriptsize } { 7pt }
- { footnotesize } { 8pt }
- { small } { 9pt }
- { large } { 11pt }
- { Large } { 12pt }
- { LARGE } { 14pt }
- { huge } { 16pt }
- { Huge } { 18pt }
- }
- }
- }
-\cs_new_protected:Npn \__fontscale_keys_process_other_classic_xipt:n #1
- {
- \dim_set:cn { l_fontscale_#1_size_dim }
- {
- \str_case:nn {#1}
- {
- { tiny } { 7pt }
- { scriptsize } { 8pt }
- { footnotesize } { 9pt }
- { small } { 10pt }
- { large } { 12pt }
- { Large } { 14pt }
- { LARGE } { 16pt }
- { huge } { 18pt }
- { Huge } { 21pt }
- }
- }
- }
-\cs_new_protected:Npn \__fontscale_keys_process_other_classic_xiipt:n #1
- {
- \dim_set:cn { l_fontscale_#1_size_dim }
- {
- \str_case:nn {#1}
- {
- { tiny } { 8pt }
- { scriptsize } { 9pt }
- { footnotesize } { 10pt }
- { small } { 11pt }
- { large } { 14pt }
- { Large } { 16pt }
- { LARGE } { 18pt }
- { huge } { 21pt }
- { Huge } { 24pt }
- }
- }
- }
-\cs_new_protected:Npn \__fontscale_keys_process_other_modular:n #1
- {
- \dim_set:cn { l_fontscale_#1_size_dim }
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp * \l__fontscale_modular_ratio_fp
- ^ \use:c { c_fontscale_#1_step_fp }
- }
- }
- }
-\cs_new_protected:Npn \__fontscale_keys_process_other_musical:n #1
- {
- \dim_set:cn { l_fontscale_#1_size_dim }
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp * \l__fontscale_musical_ratio_fp
- ^ ( \use:c { c_fontscale_#1_step_fp }
- / \l__fontscale_musical_notes_fp )
- }
- }
- }
-\cs_new_protected:Npn \__fontscale_keys_process_other:
- {
- \str_case:on \l__fontscale_typographic_scale_str
- {
- { classic-10pt }
- {
- \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
- \__fontscale_keys_process_other_classic_xpt:n
- }
- { classic-11pt }
- {
- \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
- \__fontscale_keys_process_other_classic_xipt:n
- }
- { classic-12pt }
- {
- \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
- \__fontscale_keys_process_other_classic_xiipt:n
- }
- { modular }
- {
- \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
- \__fontscale_keys_process_other_modular:n
- }
- { musical }
- {
- \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
- \__fontscale_keys_process_other_musical:n
- \fp_set:Nn \l__fontscale_musical_notes_fp
- { \l__fontscale_musical_notes_int }
- }
- }
- \tl_map_function:NN \c__fontscale_names_other_tl
- \__fontscale_keys_process_other_aux:n
- }
-\cs_new_protected:Npn \__fontscale_keys_process_other_aux:n #1
- {
- \quark_if_no_value:cF { l__fontscale_#1_size_tl }
- {
- \__fontscale_dim_set_with_default_unit:cn { l_fontscale_#1_size_dim }
- { \use:c { l__fontscale_#1_size_tl } }
- \quark_if_no_value:cF { l__fontscale_#1_scale_tl }
- { \msg_warning:nnn { fontscale } { key-font-scale-ignored } {#1} }
- \prg_break:
- }
- \quark_if_no_value:cF { l__fontscale_#1_scale_tl }
- {
- \dim_set:cn { l_fontscale_#1_size_dim }
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp
- * ( \use:c { l__fontscale_#1_scale_tl } )
- }
- }
- \prg_break:
- }
- \prg_break:n { \__fontscale_keys_process_other_typographic_scale:n {#1} }
- \prg_break_point:
- \fp_set:cn { l_fontscale_#1_scale_fp }
- { \use:c { l_fontscale_#1_size_dim } / \l__fontscale_normalsize_size_fp }
- \quark_if_no_value:cTF { l__fontscale_#1_baselineskip_tl }
- {
- \skip_set:cn { l_fontscale_#1_baselineskip_skip }
- {
- \fp_to_dim:n
- {
- \use:c { l_fontscale_#1_size_dim }
- * \l__fontscale_baselineskip_size_ratio_fp
- }
- }
- }
- {
- \__fontscale_skip_set_with_default_unit:cn
- { l_fontscale_#1_baselineskip_skip }
- { \use:c { l__fontscale_#1_baselineskip_tl } }
- }
- }
-% Puts the scale, size, and baselineskip of the other font size commands in
-% property lists.
-\cs_new_protected:Npn \__fontscale_keys_process_other_props:
- {
- \prop_put:Nne \l_fontscale_tiny_prop { scale }
- { \fp_use:N \l_fontscale_tiny_scale_fp }
- \prop_put:Nne \l_fontscale_scriptsize_prop { scale }
- { \fp_use:N \l_fontscale_scriptsize_scale_fp }
- \prop_put:Nne \l_fontscale_footnotesize_prop { scale }
- { \fp_use:N \l_fontscale_footnotesize_scale_fp }
- \prop_put:Nne \l_fontscale_small_prop { scale }
- { \fp_use:N \l_fontscale_small_scale_fp }
- \prop_put:Nne \l_fontscale_large_prop { scale }
- { \fp_use:N \l_fontscale_large_scale_fp }
- \prop_put:Nne \l_fontscale_Large_prop { scale }
- { \fp_use:N \l_fontscale_Large_scale_fp }
- \prop_put:Nne \l_fontscale_LARGE_prop { scale }
- { \fp_use:N \l_fontscale_LARGE_scale_fp }
- \prop_put:Nne \l_fontscale_huge_prop { scale }
- { \fp_use:N \l_fontscale_huge_scale_fp }
- \prop_put:Nne \l_fontscale_Huge_prop { scale }
- { \fp_use:N \l_fontscale_Huge_scale_fp }
-
- \prop_put:Nno \l_fontscale_tiny_prop { size }
- { \dim_use:N \l_fontscale_tiny_size_dim }
- \prop_put:Nno \l_fontscale_scriptsize_prop { size }
- { \dim_use:N \l_fontscale_scriptsize_size_dim }
- \prop_put:Nno \l_fontscale_footnotesize_prop { size }
- { \dim_use:N \l_fontscale_footnotesize_size_dim }
- \prop_put:Nno \l_fontscale_small_prop { size }
- { \dim_use:N \l_fontscale_small_size_dim }
- \prop_put:Nno \l_fontscale_large_prop { size }
- { \dim_use:N \l_fontscale_large_size_dim }
- \prop_put:Nno \l_fontscale_Large_prop { size }
- { \dim_use:N \l_fontscale_Large_size_dim }
- \prop_put:Nno \l_fontscale_LARGE_prop { size }
- { \dim_use:N \l_fontscale_LARGE_size_dim }
- \prop_put:Nno \l_fontscale_huge_prop { size }
- { \dim_use:N \l_fontscale_huge_size_dim }
- \prop_put:Nno \l_fontscale_Huge_prop { size }
- { \dim_use:N \l_fontscale_Huge_size_dim }
-
- \prop_put:Nno \l_fontscale_tiny_prop { baselineskip }
- { \skip_use:N \l_fontscale_tiny_baselineskip_skip }
- \prop_put:Nno \l_fontscale_scriptsize_prop { baselineskip }
- { \skip_use:N \l_fontscale_scriptsize_baselineskip_skip }
- \prop_put:Nno \l_fontscale_footnotesize_prop { baselineskip }
- { \skip_use:N \l_fontscale_footnotesize_baselineskip_skip }
- \prop_put:Nno \l_fontscale_small_prop { baselineskip }
- { \skip_use:N \l_fontscale_small_baselineskip_skip }
- \prop_put:Nno \l_fontscale_large_prop { baselineskip }
- { \skip_use:N \l_fontscale_large_baselineskip_skip }
- \prop_put:Nno \l_fontscale_Large_prop { baselineskip }
- { \skip_use:N \l_fontscale_Large_baselineskip_skip }
- \prop_put:Nno \l_fontscale_LARGE_prop { baselineskip }
- { \skip_use:N \l_fontscale_LARGE_baselineskip_skip }
- \prop_put:Nno \l_fontscale_huge_prop { baselineskip }
- { \skip_use:N \l_fontscale_huge_baselineskip_skip }
- \prop_put:Nno \l_fontscale_Huge_prop { baselineskip }
- { \skip_use:N \l_fontscale_Huge_baselineskip_skip }
- }
-% Issues a warning if the font sizes or font baselineskips are not in the
-% correct order.
-\cs_new_protected:Npn \__fontscale_keys_process_check_order:
- {
- \bool_if:NF \l__fontscale_ignore_order_bool
- {
- \dim_compare:nF
- {
- \l_fontscale_tiny_size_dim
- < \l_fontscale_scriptsize_size_dim
- < \l_fontscale_footnotesize_size_dim
- < \l_fontscale_small_size_dim
- < \l_fontscale_normalsize_size_dim
- < \l_fontscale_large_size_dim
- < \l_fontscale_Large_size_dim
- < \l_fontscale_LARGE_size_dim
- < \l_fontscale_huge_size_dim
- < \l_fontscale_Huge_size_dim
- }
- { \msg_warning:nn { fontscale } { font-sizes-out-of-order } }
- \dim_compare:nF
- {
- \l_fontscale_tiny_baselineskip_skip
- < \l_fontscale_scriptsize_baselineskip_skip
- < \l_fontscale_footnotesize_baselineskip_skip
- < \l_fontscale_small_baselineskip_skip
- < \l_fontscale_normalsize_baselineskip_skip
- < \l_fontscale_large_baselineskip_skip
- < \l_fontscale_Large_baselineskip_skip
- < \l_fontscale_LARGE_baselineskip_skip
- < \l_fontscale_huge_baselineskip_skip
- < \l_fontscale_Huge_baselineskip_skip
- }
- { \msg_warning:nn { fontscale } { font-baselineskips-out-of-order } }
- }
- }
-
-% DOCUMENT COMMANDS
-
-% The internal functions of each font size command are not used elsewhere in
-% the code for compatibility with user-defined hooks
-% (e.g. \AddToHook{cmd/normalsize/after}{<user-defined-function>}).
-% Need \dim_use:N for compatibility with the microtype package.
-\DeclareDocumentCommand \tiny { } { \__fontscale_tiny: }
-\cs_new_protected:Npn \__fontscale_tiny:
- {
- \@setfontsize \tiny { \dim_use:N \l_fontscale_tiny_size_dim }
- \l_fontscale_tiny_baselineskip_skip
- }
-\DeclareDocumentCommand \scriptsize { } { \__fontscale_scriptsize: }
-\cs_new_protected:Npn \__fontscale_scriptsize:
- {
- \@setfontsize \scriptsize { \dim_use:N \l_fontscale_scriptsize_size_dim }
- \l_fontscale_scriptsize_baselineskip_skip
- }
-\DeclareDocumentCommand \footnotesize { } { \__fontscale_footnotesize: }
-\cs_new_protected:Npn \__fontscale_footnotesize:
- {
- \@setfontsize \footnotesize
- { \dim_use:N \l_fontscale_footnotesize_size_dim }
- \l_fontscale_footnotesize_baselineskip_skip
- }
-\DeclareDocumentCommand \small { } { \__fontscale_small: }
-\cs_new_protected:Npn \__fontscale_small:
- {
- \@setfontsize \small { \dim_use:N \l_fontscale_small_size_dim }
- \l_fontscale_small_baselineskip_skip
- }
-\DeclareDocumentCommand \normalsize { } { \__fontscale_normalsize: }
-\cs_new_protected:Npn \__fontscale_normalsize:
- {
- \@setfontsize \normalsize { \dim_use:N \l_fontscale_normalsize_size_dim }
- \l_fontscale_normalsize_baselineskip_skip
- }
-\DeclareDocumentCommand \large { } { \__fontscale_large: }
-\cs_new_protected:Npn \__fontscale_large:
- {
- \@setfontsize \large { \dim_use:N \l_fontscale_large_size_dim }
- \l_fontscale_large_baselineskip_skip
- }
-\DeclareDocumentCommand \Large { } { \__fontscale_Large: }
-\cs_new_protected:Npn \__fontscale_Large:
- {
- \@setfontsize \Large { \dim_use:N \l_fontscale_Large_size_dim }
- \l_fontscale_Large_baselineskip_skip
- }
-\DeclareDocumentCommand \LARGE { } { \__fontscale_LARGE: }
-\cs_new_protected:Npn \__fontscale_LARGE:
- {
- \@setfontsize \LARGE { \dim_use:N \l_fontscale_LARGE_size_dim }
- \l_fontscale_LARGE_baselineskip_skip
- }
-\DeclareDocumentCommand \huge { } { \__fontscale_huge: }
-\cs_new_protected:Npn \__fontscale_huge:
- {
- \@setfontsize \huge { \dim_use:N \l_fontscale_huge_size_dim }
- \l_fontscale_huge_baselineskip_skip
- }
-\DeclareDocumentCommand \Huge { } { \__fontscale_Huge: }
-\cs_new_protected:Npn \__fontscale_Huge:
- {
- \@setfontsize \Huge { \dim_use:N \l_fontscale_Huge_size_dim }
- \l_fontscale_Huge_baselineskip_skip
- }
-% Initializes to \normalsize.
-\normalsize
-
-\NewExpandableDocumentCommand \CurrentFontStep { }
- { \__fontscale_current_font_step: }
-\cs_new:Npn \__fontscale_current_font_step:
- {
- \dim_case:nnF { \f@size pt }
- {
- { \l_fontscale_tiny_size_dim } { -4 }
- { \l_fontscale_scriptsize_size_dim } { -3 }
- { \l_fontscale_footnotesize_size_dim } { -2 }
- { \l_fontscale_small_size_dim } { -1 }
- { \l_fontscale_normalsize_size_dim } { 0 }
- { \l_fontscale_large_size_dim } { 1 }
- { \l_fontscale_Large_size_dim } { 2 }
- { \l_fontscale_LARGE_size_dim } { 3 }
- { \l_fontscale_huge_size_dim } { 4 }
- { \l_fontscale_Huge_size_dim } { 5 }
- }
- {
- \str_case:on \l__fontscale_typographic_scale_str
- {
- { modular }
- {
- \fp_eval:n
- {
- ln ( \f@size / \l__fontscale_normalsize_size_fp )
- / ln ( \l__fontscale_modular_ratio_fp )
- }
- }
- { musical }
- {
- \fp_eval:n
- {
- \l__fontscale_musical_notes_fp
- * ln ( \f@size / \l__fontscale_normalsize_size_fp )
- / ln ( \l__fontscale_musical_ratio_fp )
- }
- }
- }
- }
- }
-
-\NewExpandableDocumentCommand \CurrentFontScale { }
- { \__fontscale_current_font_scale: }
-\cs_new:Npn \__fontscale_current_font_scale:
- { \fp_eval:n { \f@size / \l__fontscale_normalsize_size_fp } }
-
-\NewExpandableDocumentCommand \CurrentFontSize { }
- { \__fontscale_current_font_size: }
-\cs_new:Npn \__fontscale_current_font_size: { \f@size pt }
-
-\NewExpandableDocumentCommand \CurrentFontBaselineskip { }
- { \__fontscale_current_font_baselineskip: }
-\cs_new:Npn \__fontscale_current_font_baselineskip: { \f@baselineskip }
-
-\NewDocumentCommand \SetFontStep { s m }
- {
- \IfBooleanTF #1
- { \__fontscale_add_font_step:n {#2} }
- { \__fontscale_set_font_step:n {#2} }
- }
-\cs_new_protected:Npn \__fontscale_set_font_step:n #1
- {
- \fp_set:Nn \l__fontscale_step_fp {#1}
- \__fontscale_set_font_step_aux:N \l__fontscale_step_fp
- }
-\cs_new_protected:Npn \__fontscale_set_font_step_aux:N #1
- {
- \token_case_meaning:NnF #1
- {
- \c_fontscale_tiny_step_fp { \tiny }
- \c_fontscale_scriptsize_step_fp { \scriptsize }
- \c_fontscale_footnotesize_step_fp { \footnotesize }
- \c_fontscale_small_step_fp { \small }
- \c_fontscale_normalsize_step_fp { \normalsize }
- \c_fontscale_large_step_fp { \large }
- \c_fontscale_Large_step_fp { \Large }
- \c_fontscale_LARGE_step_fp { \LARGE }
- \c_fontscale_huge_step_fp { \huge }
- \c_fontscale_Huge_step_fp { \Huge }
- }
- {
- \str_case:onF \l__fontscale_typographic_scale_str
- {
- { modular }
- {
- \fontsize
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp
- * \l__fontscale_modular_ratio_fp ^ #1
- }
- }
- {
- \fp_to_dim:n
- { \f@size * \l__fontscale_baselineskip_size_ratio_fp }
- }
- \selectfont
- }
- { musical }
- {
- \fontsize
- {
- \fp_to_dim:n
- {
- \l__fontscale_normalsize_size_fp
- * \l__fontscale_musical_ratio_fp
- ^ ( #1 / \l__fontscale_musical_notes_fp )
- }
- }
- {
- \fp_to_dim:n
- { \f@size * \l__fontscale_baselineskip_size_ratio_fp }
- }
- \selectfont
- }
- }
- { \msg_error:nn { fontscale } { font-step-out-of-bounds } }
- }
- }
-\cs_new_protected:Npn \__fontscale_add_font_step:n #1
- {
- \tl_set:Ne \l__fontscale_step_tl { \__fontscale_current_font_step: }
- \tl_if_empty:NTF \l__fontscale_step_tl
- { \msg_error:nn { fontscale } { font-step-out-of-bounds } }
- {
- \fp_set:Nn \l__fontscale_step_fp { (#1) + \l__fontscale_step_tl }
- \__fontscale_add_font_step_aux:N \l__fontscale_step_fp
- }
- }
-\cs_new_eq:NN \__fontscale_add_font_step_aux:N \__fontscale_set_font_step_aux:N
-
-\NewDocumentCommand \SetFontScale { s m }
- {
- \IfBooleanTF #1
- { \__fontscale_add_font_scale:n {#2} }
- { \__fontscale_set_font_scale:n {#2} }
- }
-\cs_new_protected:Npn \__fontscale_set_font_scale:n #1
- {
- \fontsize
- { \fp_to_dim:n { \l__fontscale_normalsize_size_fp * (#1) } }
- { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
- \selectfont
- }
-\cs_new_protected:Npn \__fontscale_add_font_scale:n #1
- {
- \fontsize
- { \fp_to_dim:n { \l__fontscale_normalsize_size_fp * (#1) + \f@size } }
- { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
- \selectfont
- }
-
-\NewDocumentCommand \SetFontSize { s m }
- {
- \IfBooleanTF #1
- { \__fontscale_add_font_size:n {#2} }
- { \__fontscale_set_font_size:n {#2} }
- }
-\cs_new_protected:Npn \__fontscale_set_font_size:n #1
- {
- \__fontscale_dim_set_with_default_unit:Nn \l__fontscale_size_dim {#1}
- \fontsize \l__fontscale_size_dim
- { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
- \selectfont
- }
-\cs_new_protected:Npn \__fontscale_add_font_size:n #1
- {
- \__fontscale_dim_set_with_default_unit:Nn \l__fontscale_size_dim {#1}
- \dim_add:Nn \l__fontscale_size_dim { \f@size pt }
- \fontsize \l__fontscale_size_dim
- { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
- \selectfont
- }
-
-\NewDocumentCommand \ScaleFont { m } { \__fontscale_scalefont:n {#1} }
-\cs_new_protected:Npn \__fontscale_scalefont:n #1
- {
- \fontsize
- { \fp_to_dim:n { \f@size * (#1) } }
- { \fp_to_dim:n { \dim_to_fp:n { \f@baselineskip } * (#1) } }
- \selectfont
- }
-
-\NewDocumentCommand \SetFontSizeBaselineskip { m m }
- { \__fontscale_set_font_size_baselineskip:nn {#1} {#2} }
-\cs_new_protected:Npn \__fontscale_set_font_size_baselineskip:nn #1#2
- {
- \__fontscale_dim_set_with_default_unit:Nn \l__fontscale_size_dim {#1}
- \__fontscale_skip_set_with_default_unit:Nn \l__fontscale_baselineskip_skip
- {#2}
- \fontsize \l__fontscale_size_dim \l__fontscale_baselineskip_skip
- \selectfont
- }
-
-\NewDocumentCommand \PrintFontParameters { }
- { \__fontscale_print_font_parameters: }
-\cs_new_protected:Npn \__fontscale_print_font_parameters:
- {
- step ~=~ \__fontscale_current_font_step: ,~
- scale ~=~ \__fontscale_current_font_scale: ,~
- size ~=~ \__fontscale_current_font_size: ,~
- baselineskip ~=~ \__fontscale_current_font_baselineskip:
- }
-
-\NewDocumentCommand \PrintAllFontParameters { }
- { \__fontscale_print_all_font_parameters: }
-\cs_new_protected:Npn \__fontscale_print_all_font_parameters:
- {
- \tl_map_inline:Nn \c__fontscale_names_tl
- {
- \prop_get:cnN { l_fontscale_##1_prop } { step } \l__fontscale_step_tl
- \prop_get:cnN { l_fontscale_##1_prop } { scale } \l__fontscale_scale_tl
- \token_to_str:c {##1} \@ \c_colon_str \c_space_tl
- step ~=~ \l__fontscale_step_tl ,~
- scale ~=~ \l__fontscale_scale_tl ,~
- size ~=~ \dim_use:c { l_fontscale_##1_size_dim } ,~
- baselineskip ~=~ \skip_use:c { l_fontscale_##1_baselineskip_skip }
- \str_if_eq:nnF {##1} { Huge } { \newline }
- }
- }
-
-\NewDocumentCommand \PrintSampleText
- { s O
- {
- The~ \texttt { fontscale }~ package \c_colon_str \c_space_tl
- A~ user~ interface~ for~ setting~ document~ font~ sizes
- }
- }
- {
- \IfBooleanTF #1
- { \__fontscale_print_sample_text_descending_order:n {#2} }
- { \__fontscale_print_sample_text_ascending_order:n {#2} }
- }
-\cs_new_protected:Npn \__fontscale_print_sample_text_ascending_order:n #1
- {
- { \tiny #1 \par }
- { \scriptsize #1 \par }
- { \footnotesize #1 \par }
- { \small #1 \par }
- { \normalsize #1 \par }
- { \large #1 \par }
- { \Large #1 \par }
- { \LARGE #1 \par }
- { \huge #1 \par }
- { \Huge #1 \par }
- }
-\cs_new_protected:Npn \__fontscale_print_sample_text_descending_order:n #1
- {
- { \Huge #1 \par }
- { \huge #1 \par }
- { \LARGE #1 \par }
- { \Large #1 \par }
- { \large #1 \par }
- { \normalsize #1 \par }
- { \small #1 \par }
- { \footnotesize #1 \par }
- { \scriptsize #1 \par }
- { \tiny #1 \par }
- }
-
-\NewDocumentCommand \PrintFontSizeCommand { } { \__fontscale_print_name: }
-\cs_new_protected:Npn \__fontscale_print_name:
- {
- \dim_case:nnF { \f@size pt }
- {
- { \l_fontscale_tiny_size_dim }
- {
- \skip_if_eq:nnTF { \f@baselineskip }
- { \l_fontscale_tiny_baselineskip_skip }
- { \token_to_str:N \tiny } { UNDEFINED \@ }
- }
- { \l_fontscale_scriptsize_size_dim }
- {
- \skip_if_eq:nnTF { \f@baselineskip }
- { \l_fontscale_scriptsize_baselineskip_skip }
- { \token_to_str:N \scriptsize } { UNDEFINED \@ }
- }
- { \l_fontscale_footnotesize_size_dim }
- {
- \skip_if_eq:nnTF { \f@baselineskip }
- { \l_fontscale_footnotesize_baselineskip_skip }
- { \token_to_str:N \footnotesize } { UNDEFINED \@ }
- }
- { \l_fontscale_small_size_dim }
- {
- \skip_if_eq:nnTF { \f@baselineskip }
- { \l_fontscale_small_baselineskip_skip }
- { \token_to_str:N \small } { UNDEFINED \@ }
- }
- { \l_fontscale_normalsize_size_dim }
- {
- \skip_if_eq:nnTF { \f@baselineskip }
- { \l_fontscale_normalsize_baselineskip_skip }
- { \token_to_str:N \normalsize } { UNDEFINED \@ }
- }
- { \l_fontscale_large_size_dim }
- {
- \skip_if_eq:nnTF { \f@baselineskip }
- { \l_fontscale_large_baselineskip_skip }
- { \token_to_str:N \large } { UNDEFINED \@ }
- }
- { \l_fontscale_Large_size_dim }
- {
- \skip_if_eq:nnTF { \f@baselineskip }
- { \l_fontscale_Large_baselineskip_skip }
- { \token_to_str:N \Large } { UNDEFINED \@ }
- }
- { \l_fontscale_LARGE_size_dim }
- {
- \skip_if_eq:nnTF { \f@baselineskip }
- { \l_fontscale_LARGE_baselineskip_skip }
- { \token_to_str:N \LARGE \@ } { UNDEFINED \@ }
- }
- { \l_fontscale_huge_size_dim }
- {
- \skip_if_eq:nnTF { \f@baselineskip }
- { \l_fontscale_huge_baselineskip_skip }
- { \token_to_str:N \huge } { UNDEFINED \@ }
- }
- { \l_fontscale_Huge_size_dim }
- {
- \skip_if_eq:nnTF { \f@baselineskip }
- { \l_fontscale_Huge_baselineskip_skip }
- { \token_to_str:N \Huge } { UNDEFINED \@ }
- }
- }
- { UNDEFINED \@ }
- }
-
-% TEXT PURIFY
-
-\cs_new:Npn \__fontscale_text_purify_equivalent:n #1
- {
- \bool_lazy_all:nT
- {
- { \tl_if_single_p:n {#1} }
- { \tl_if_single_token_p:n #1 }
- { \token_if_eq_meaning_p:NN #1 * }
- }
- { \use_none:n }
- }
-\text_declare_purify_equivalent:Nn \SetFontStep
- { \__fontscale_text_purify_equivalent:n }
-\text_declare_purify_equivalent:Nn \SetFontScale
- { \__fontscale_text_purify_equivalent:n }
-\text_declare_purify_equivalent:Nn \SetFontSize
- { \__fontscale_text_purify_equivalent:n }
-\text_declare_purify_equivalent:Nn \ScaleFont { \use_none:n }
+% Package : fontscale -- A user interface for setting document font sizes
+% Copyright : 2024 (c) Oliver Beery <beeryoliver@gmail.com>
+% CTAN : https://ctan.org/pkg/fontscale
+% Repository: https://github.com/beeryoliver/fontscale
+% License : The LaTeX Project Public License 1.3c
+
+% The 2022-06-01 LaTeX kernel update added \ProcessKeyOptions.
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+\ProvidesExplPackage
+ {fontscale}
+ {2024-04-15}
+ {1.2.0}
+ {A user interface for setting document font sizes}
+
+% The 2023-10-10 l3kernel update added many 'e'-variants.
+\IfExplAtLeastTF { 2023-10-10 }
+ { }
+ {
+ \msg_new:nnn { fontscale } { expl3-out-of-date }
+ {
+ The~ package~ could~ not~ load.~
+ The~ fontscale~ package~ requires~
+ L3~ programming~ layer~ version~ 2023-10-10~ or~ later.
+ }
+ \msg_critical:nn { fontscale } { expl3-out-of-date }
+ }
+
+% SOME VARIABLES
+
+\fp_const:Nn \c_fontscale_tiny_step_fp { -4 }
+\fp_const:Nn \c_fontscale_scriptsize_step_fp { -3 }
+\fp_const:Nn \c_fontscale_footnotesize_step_fp { -2 }
+\fp_const:Nn \c_fontscale_small_step_fp { -1 }
+\fp_const:Nn \c_fontscale_normalsize_step_fp { 0 }
+\fp_const:Nn \c_fontscale_large_step_fp { 1 }
+\fp_const:Nn \c_fontscale_Large_step_fp { 2 }
+\fp_const:Nn \c_fontscale_LARGE_step_fp { 3 }
+\fp_const:Nn \c_fontscale_huge_step_fp { 4 }
+\fp_const:Nn \c_fontscale_Huge_step_fp { 5 }
+
+\fp_const:Nn \c_fontscale_normalsize_scale_fp { 1 }
+
+\tl_const:Nn \c__fontscale_names_tl
+ {
+ {tiny} {scriptsize} {footnotesize} {small} {normalsize}
+ {large} {Large} {LARGE} {huge} {Huge}
+ }
+\tl_const:Nn \c__fontscale_names_other_tl
+ {
+ {tiny} {scriptsize} {footnotesize} {small}
+ {large} {Large} {LARGE} {huge} {Huge}
+ }
+
+\prop_new:N \l_fontscale_tiny_prop
+\prop_new:N \l_fontscale_scriptsize_prop
+\prop_new:N \l_fontscale_footnotesize_prop
+\prop_new:N \l_fontscale_small_prop
+\prop_new:N \l_fontscale_normalsize_prop
+\prop_new:N \l_fontscale_large_prop
+\prop_new:N \l_fontscale_Large_prop
+\prop_new:N \l_fontscale_LARGE_prop
+\prop_new:N \l_fontscale_huge_prop
+\prop_new:N \l_fontscale_Huge_prop
+
+\prop_put:Nnn \l_fontscale_tiny_prop { step } { -4 }
+\prop_put:Nnn \l_fontscale_scriptsize_prop { step } { -3 }
+\prop_put:Nnn \l_fontscale_footnotesize_prop { step } { -2 }
+\prop_put:Nnn \l_fontscale_small_prop { step } { -1 }
+\prop_put:Nnn \l_fontscale_normalsize_prop { step } { 0 }
+\prop_put:Nnn \l_fontscale_large_prop { step } { 1 }
+\prop_put:Nnn \l_fontscale_Large_prop { step } { 2 }
+\prop_put:Nnn \l_fontscale_LARGE_prop { step } { 3 }
+\prop_put:Nnn \l_fontscale_huge_prop { step } { 4 }
+\prop_put:Nnn \l_fontscale_Huge_prop { step } { 5 }
+
+\prop_put:Nnn \l_fontscale_normalsize_prop { scale } { 1 }
+
+\fp_new:N \l_fontscale_tiny_scale_fp
+\fp_new:N \l_fontscale_scriptsize_scale_fp
+\fp_new:N \l_fontscale_footnotesize_scale_fp
+\fp_new:N \l_fontscale_small_scale_fp
+\fp_new:N \l_fontscale_large_scale_fp
+\fp_new:N \l_fontscale_Large_scale_fp
+\fp_new:N \l_fontscale_LARGE_scale_fp
+\fp_new:N \l_fontscale_huge_scale_fp
+\fp_new:N \l_fontscale_Huge_scale_fp
+
+\dim_new:N \l_fontscale_tiny_size_dim
+\dim_new:N \l_fontscale_scriptsize_size_dim
+\dim_new:N \l_fontscale_footnotesize_size_dim
+\dim_new:N \l_fontscale_small_size_dim
+\dim_new:N \l_fontscale_normalsize_size_dim
+\dim_new:N \l_fontscale_large_size_dim
+\dim_new:N \l_fontscale_Large_size_dim
+\dim_new:N \l_fontscale_LARGE_size_dim
+\dim_new:N \l_fontscale_huge_size_dim
+\dim_new:N \l_fontscale_Huge_size_dim
+
+\skip_new:N \l_fontscale_tiny_baselineskip_skip
+\skip_new:N \l_fontscale_scriptsize_baselineskip_skip
+\skip_new:N \l_fontscale_footnotesize_baselineskip_skip
+\skip_new:N \l_fontscale_small_baselineskip_skip
+\skip_new:N \l_fontscale_normalsize_baselineskip_skip
+\skip_new:N \l_fontscale_large_baselineskip_skip
+\skip_new:N \l_fontscale_Large_baselineskip_skip
+\skip_new:N \l_fontscale_LARGE_baselineskip_skip
+\skip_new:N \l_fontscale_huge_baselineskip_skip
+\skip_new:N \l_fontscale_Huge_baselineskip_skip
+
+\str_new:N \l__fontscale_typographic_scale_str
+
+% Used in floating point expressions for speed.
+\fp_new:N \l__fontscale_normalsize_size_fp
+\fp_new:N \l__fontscale_musical_notes_fp
+
+% Temporary variables
+\tl_new:N \l__fontscale_step_tl
+\tl_new:N \l__fontscale_scale_tl
+\dim_new:N \l__fontscale_size_dim
+\skip_new:N \l__fontscale_baselineskip_skip
+
+% INITIAL FONT PARAMETERS
+
+\fp_set:Nn \l__fontscale_normalsize_size_fp { 10 }
+
+\dim_set:Nn \l_fontscale_tiny_size_dim { 6pt }
+\dim_set:Nn \l_fontscale_scriptsize_size_dim { 7pt }
+\dim_set:Nn \l_fontscale_footnotesize_size_dim { 8pt }
+\dim_set:Nn \l_fontscale_small_size_dim { 9pt }
+\dim_set:Nn \l_fontscale_normalsize_size_dim { 10pt }
+\dim_set:Nn \l_fontscale_large_size_dim { 11pt }
+\dim_set:Nn \l_fontscale_Large_size_dim { 12pt }
+\dim_set:Nn \l_fontscale_LARGE_size_dim { 14pt }
+\dim_set:Nn \l_fontscale_huge_size_dim { 16pt }
+\dim_set:Nn \l_fontscale_Huge_size_dim { 18pt }
+
+\fp_set:Nn \l_fontscale_tiny_scale_fp { 0.6 }
+\fp_set:Nn \l_fontscale_scriptsize_scale_fp { 0.7 }
+\fp_set:Nn \l_fontscale_footnotesize_scale_fp { 0.8 }
+\fp_set:Nn \l_fontscale_small_scale_fp { 0.9 }
+\fp_set:Nn \l_fontscale_large_scale_fp { 1.1 }
+\fp_set:Nn \l_fontscale_Large_scale_fp { 1.2 }
+\fp_set:Nn \l_fontscale_LARGE_scale_fp { 1.4 }
+\fp_set:Nn \l_fontscale_huge_scale_fp { 1.6 }
+\fp_set:Nn \l_fontscale_Huge_scale_fp { 1.8 }
+
+\skip_set:Nn \l_fontscale_tiny_baselineskip_skip { 7.2pt }
+\skip_set:Nn \l_fontscale_scriptsize_baselineskip_skip { 8.4pt }
+\skip_set:Nn \l_fontscale_footnotesize_baselineskip_skip { 9.6pt }
+\skip_set:Nn \l_fontscale_small_baselineskip_skip { 10.8pt }
+\skip_set:Nn \l_fontscale_normalsize_baselineskip_skip { 12 pt }
+\skip_set:Nn \l_fontscale_large_baselineskip_skip { 13.2pt }
+\skip_set:Nn \l_fontscale_Large_baselineskip_skip { 14.4pt }
+\skip_set:Nn \l_fontscale_LARGE_baselineskip_skip { 16.8pt }
+\skip_set:Nn \l_fontscale_huge_baselineskip_skip { 19.2pt }
+\skip_set:Nn \l_fontscale_Huge_baselineskip_skip { 21.6pt }
+
+\prop_put:Nnn \l_fontscale_tiny_prop { scale } { 0.6 }
+\prop_put:Nnn \l_fontscale_scriptsize_prop { scale } { 0.7 }
+\prop_put:Nnn \l_fontscale_footnotesize_prop { scale } { 0.8 }
+\prop_put:Nnn \l_fontscale_small_prop { scale } { 0.9 }
+\prop_put:Nnn \l_fontscale_large_prop { scale } { 1.1 }
+\prop_put:Nnn \l_fontscale_Large_prop { scale } { 1.2 }
+\prop_put:Nnn \l_fontscale_LARGE_prop { scale } { 1.4 }
+\prop_put:Nnn \l_fontscale_huge_prop { scale } { 1.6 }
+\prop_put:Nnn \l_fontscale_Huge_prop { scale } { 1.8 }
+
+\prop_put:Nnn \l_fontscale_tiny_prop { size } { 6pt }
+\prop_put:Nnn \l_fontscale_scriptsize_prop { size } { 7pt }
+\prop_put:Nnn \l_fontscale_footnotesize_prop { size } { 8pt }
+\prop_put:Nnn \l_fontscale_small_prop { size } { 9pt }
+\prop_put:Nnn \l_fontscale_normalsize_prop { size } { 10pt }
+\prop_put:Nnn \l_fontscale_large_prop { size } { 11pt }
+\prop_put:Nnn \l_fontscale_Large_prop { size } { 12pt }
+\prop_put:Nnn \l_fontscale_LARGE_prop { size } { 14pt }
+\prop_put:Nnn \l_fontscale_huge_prop { size } { 16pt }
+\prop_put:Nnn \l_fontscale_Huge_prop { size } { 18pt }
+
+\prop_put:Nnn \l_fontscale_tiny_prop { baselineskip } { 7.2pt }
+\prop_put:Nnn \l_fontscale_scriptsize_prop { baselineskip } { 8.4pt }
+\prop_put:Nnn \l_fontscale_footnotesize_prop { baselineskip } { 9.6pt }
+\prop_put:Nnn \l_fontscale_small_prop { baselineskip } { 10.8pt }
+\prop_put:Nnn \l_fontscale_normalsize_prop { baselineskip } { 12 pt }
+\prop_put:Nnn \l_fontscale_large_prop { baselineskip } { 13.2pt }
+\prop_put:Nnn \l_fontscale_Large_prop { baselineskip } { 14.4pt }
+\prop_put:Nnn \l_fontscale_LARGE_prop { baselineskip } { 16.8pt }
+\prop_put:Nnn \l_fontscale_huge_prop { baselineskip } { 19.2pt }
+\prop_put:Nnn \l_fontscale_Huge_prop { baselineskip } { 21.6pt }
+
+% SOME HELPER FUNCTIONS
+
+% Sets a dimen or skip variable, supplying a default unit of pt.
+\cs_new_protected:Npn \__fontscale_dim_set_with_default_unit:Nn #1#2
+ { \@defaultunits #1 = \dimexpr #2 pt \relax \relax \@nnil }
+\cs_generate_variant:Nn \__fontscale_dim_set_with_default_unit:Nn { c }
+\cs_new_protected:Npn \__fontscale_skip_set_with_default_unit:Nn #1#2
+ { \@defaultunits #1 = \glueexpr #2 pt \relax \@nnil }
+\cs_generate_variant:Nn \__fontscale_skip_set_with_default_unit:Nn { c }
+
+% MESSAGES
+
+\msg_new:nnn { fontscale } { key-font-scale-ignored }
+ {
+ Key~ #1 / scale~
+ \msg_line_context: \c_space_tl
+ ignored.~
+ Setting~ the~ scale~ and~ size~ keys~ for~ the~ same~
+ font~ size~ command~ ignores~ the~ scale~ key.
+ }
+\msg_new:nnn { fontscale } { font-sizes-out-of-order }
+ {
+ The~ font~ sizes~
+ \msg_line_context: \c_space_tl
+ are~ not~ in~ the~ correct~ order.~
+ The~ magnitude~ of~ the~ font~ sizes~ should~ be~ ordered~ from~
+ \token_to_str:N \tiny \c_space_tl
+ to~
+ \token_to_str:N \normalsize \c_space_tl
+ to~
+ \token_to_str:N \Huge .
+ }
+\msg_new:nnn { fontscale } { font-baselineskips-out-of-order }
+ {
+ The~ font~ baselineskips~
+ \msg_line_context: \c_space_tl
+ are~ not~ in~ the~ correct~ order.~
+ The~ magnitude~ of~ the~ font~ baselineskips~ should~ be~ ordered~ from~
+ \token_to_str:N \tiny \c_space_tl
+ to~
+ \token_to_str:N \normalsize \c_space_tl
+ to~
+ \token_to_str:N \Huge .
+ }
+\msg_new:nnn { fontscale } { font-step-out-of-bounds }
+ {
+ The~ font~ step~
+ \msg_line_context: \c_space_tl
+ must~ be~ an~ integer~ from~ -4~ to~ 5,~
+ unless~ the~ choice~ of~ typographic~ scale~ is~ modular~ or~ musical.
+ }
+
+% DEFINE KEYS
+
+\keys_define:nn { fontscale }
+ {
+ reset .choices:nn = { initial , preamble }
+ { \use:c { __fontscale_keys_precompile_#1: } }
+ , reset .default:n = initial
+
+ , ignore-order .bool_set:N = \l__fontscale_ignore_order_bool
+ , ignore-order .default:n = true
+
+ , baselineskip-size-ratio .fp_set:N =
+ \l__fontscale_baselineskip_size_ratio_fp
+ , baselineskip-size-ratio .value_required:n = true
+
+ , typographic-scale .choices:nn =
+ { classic-10pt , classic-11pt , classic-12pt , modular , musical }
+ { \str_set:Nn \l__fontscale_typographic_scale_str {#1} }
+ , typographic-scale .value_required:n = true
+
+ , classic-10pt .meta:n = { typographic-scale = classic-10pt }
+ , classic-10pt .value_forbidden:n = true
+
+ , classic-11pt .meta:n = { typographic-scale = classic-11pt }
+ , classic-11pt .value_forbidden:n = true
+
+ , classic-12pt .meta:n = { typographic-scale = classic-12pt }
+ , classic-12pt .value_forbidden:n = true
+
+ , modular .meta:n = { typographic-scale = modular }
+ , modular .value_forbidden:n = true
+
+ , musical .meta:n = { typographic-scale = musical }
+ , musical .value_forbidden:n = true
+
+ , modular / ratio .fp_set:N = \l__fontscale_modular_ratio_fp
+ , modular / ratio .value_required:n = true
+ }
+\keys_define:nn { fontscale / musical }
+ {
+ ratio .fp_set:N = \l__fontscale_musical_ratio_fp
+ , ratio .value_required:n = true
+
+ , notes .int_set:N = \l__fontscale_musical_notes_int
+ , notes .value_required:n = true
+ }
+\keys_define:nn { fontscale / tiny }
+ {
+ scale .tl_set:N = \l__fontscale_tiny_scale_tl
+ , scale .value_required:n = true
+
+ , size .tl_set:N = \l__fontscale_tiny_size_tl
+ , size .value_required:n = true
+
+ , baselineskip .tl_set:N = \l__fontscale_tiny_baselineskip_tl
+ , baselineskip .value_required:n = true
+ }
+\keys_define:nn { fontscale / scriptsize }
+ {
+ scale .tl_set:N = \l__fontscale_scriptsize_scale_tl
+ , scale .value_required:n = true
+
+ , size .tl_set:N = \l__fontscale_scriptsize_size_tl
+ , size .value_required:n = true
+
+ , baselineskip .tl_set:N = \l__fontscale_scriptsize_baselineskip_tl
+ , baselineskip .value_required:n = true
+ }
+\keys_define:nn { fontscale / footnotesize }
+ {
+ scale .tl_set:N = \l__fontscale_footnotesize_scale_tl
+ , scale .value_required:n = true
+
+ , size .tl_set:N = \l__fontscale_footnotesize_size_tl
+ , size .value_required:n = true
+
+ , baselineskip .tl_set:N = \l__fontscale_footnotesize_baselineskip_tl
+ , baselineskip .value_required:n = true
+ }
+\keys_define:nn { fontscale / small }
+ {
+ scale .tl_set:N = \l__fontscale_small_scale_tl
+ , scale .value_required:n = true
+
+ , size .tl_set:N = \l__fontscale_small_size_tl
+ , size .value_required:n = true
+
+ , baselineskip .tl_set:N = \l__fontscale_small_baselineskip_tl
+ , baselineskip .value_required:n = true
+ }
+\keys_define:nn { fontscale / normalsize }
+ {
+ size .tl_set:N = \l__fontscale_normalsize_size_tl
+ , size .value_required:n = true
+
+ , baselineskip .tl_set:N = \l__fontscale_normalsize_baselineskip_tl
+ , baselineskip .value_required:n = true
+ }
+\keys_define:nn { fontscale / large }
+ {
+ scale .tl_set:N = \l__fontscale_large_scale_tl
+ , scale .value_required:n = true
+
+ , size .tl_set:N = \l__fontscale_large_size_tl
+ , size .value_required:n = true
+
+ , baselineskip .tl_set:N = \l__fontscale_large_baselineskip_tl
+ , baselineskip .value_required:n = true
+ }
+\keys_define:nn { fontscale / Large }
+ {
+ scale .tl_set:N = \l__fontscale_Large_scale_tl
+ , scale .value_required:n = true
+
+ , size .tl_set:N = \l__fontscale_Large_size_tl
+ , size .value_required:n = true
+
+ , baselineskip .tl_set:N = \l__fontscale_Large_baselineskip_tl
+ , baselineskip .value_required:n = true
+ }
+\keys_define:nn { fontscale / LARGE }
+ {
+ scale .tl_set:N = \l__fontscale_LARGE_scale_tl
+ , scale .value_required:n = true
+
+ , size .tl_set:N = \l__fontscale_LARGE_size_tl
+ , size .value_required:n = true
+
+ , baselineskip .tl_set:N = \l__fontscale_LARGE_baselineskip_tl
+ , baselineskip .value_required:n = true
+ }
+\keys_define:nn { fontscale / huge }
+ {
+ scale .tl_set:N = \l__fontscale_huge_scale_tl
+ , scale .value_required:n = true
+
+ , size .tl_set:N = \l__fontscale_huge_size_tl
+ , size .value_required:n = true
+
+ , baselineskip .tl_set:N = \l__fontscale_huge_baselineskip_tl
+ , baselineskip .value_required:n = true
+ }
+\keys_define:nn { fontscale / Huge }
+ {
+ scale .tl_set:N = \l__fontscale_Huge_scale_tl
+ , scale .value_required:n = true
+
+ , size .tl_set:N = \l__fontscale_Huge_size_tl
+ , size .value_required:n = true
+
+ , baselineskip .tl_set:N = \l__fontscale_Huge_baselineskip_tl
+ , baselineskip .value_required:n = true
+ }
+\keys_define:nn { fontscale }
+ {
+ tiny .code:n = \__fontscale_keys_name_code:n {#1}
+ , tiny .value_required:n = true
+
+ , scriptsize .code:n = \__fontscale_keys_name_code:n {#1}
+ , scriptsize .value_required:n = true
+
+ , footnotesize .code:n = \__fontscale_keys_name_code:n {#1}
+ , footnotesize .value_required:n = true
+
+ , small .code:n = \__fontscale_keys_name_code:n {#1}
+ , small .value_required:n = true
+
+ , normalsize .code:n = \__fontscale_keys_name_code:n {#1}
+ , normalsize .value_required:n = true
+
+ , large .code:n = \__fontscale_keys_name_code:n {#1}
+ , large .value_required:n = true
+
+ , Large .code:n = \__fontscale_keys_name_code:n {#1}
+ , Large .value_required:n = true
+
+ , LARGE .code:n = \__fontscale_keys_name_code:n {#1}
+ , LARGE .value_required:n = true
+
+ , huge .code:n = \__fontscale_keys_name_code:n {#1}
+ , huge .value_required:n = true
+
+ , Huge .code:n = \__fontscale_keys_name_code:n {#1}
+ , Huge .value_required:n = true
+ }
+\cs_new_protected:Npn \__fontscale_keys_name_code:n #1
+ {
+ \str_if_in:nnTF {#1} { / }
+ { \__fontscale_keys_name_code_split:ww #1 \q_stop }
+ { \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1} }
+ }
+\cs_new_protected:Npn \__fontscale_keys_name_code_split:ww #1 / #2 \q_stop
+ {
+ \tl_set:cn { l__fontscale_ \l_keys_key_str _size_tl } {#1}
+ \tl_set:cn { l__fontscale_ \l_keys_key_str _baselineskip_tl } {#2}
+ }
+
+% PRE-COMPILE KEYS
+
+% Pre-compiles the keys with their initial values. The keys are pre-compiled
+% by hand for speed.
+\cs_new_protected:Npn \__fontscale_keys_precompile_initial:
+ {
+ \bool_set_false:N \l__fontscale_ignore_order_bool
+ \fp_set:Nn \l__fontscale_baselineskip_size_ratio_fp { 1.2 }
+ \str_set:Nn \l__fontscale_typographic_scale_str { classic-10pt }
+ \fp_set:Nn \l__fontscale_modular_ratio_fp { 1.125 }
+ \fp_set:Nn \l__fontscale_musical_ratio_fp { 2 }
+ \int_set:Nn \l__fontscale_musical_notes_int { 5 }
+
+ \tl_set:Nn \l__fontscale_tiny_scale_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_scriptsize_scale_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_footnotesize_scale_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_small_scale_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_large_scale_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_Large_scale_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_LARGE_scale_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_huge_scale_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_Huge_scale_tl { \q_no_value }
+
+ \tl_set:Nn \l__fontscale_tiny_size_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_scriptsize_size_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_footnotesize_size_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_small_size_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_normalsize_size_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_large_size_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_Large_size_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_LARGE_size_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_huge_size_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_Huge_size_tl { \q_no_value }
+
+ \tl_set:Nn \l__fontscale_tiny_baselineskip_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_scriptsize_baselineskip_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_footnotesize_baselineskip_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_small_baselineskip_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_normalsize_baselineskip_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_large_baselineskip_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_Large_baselineskip_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_LARGE_baselineskip_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_huge_baselineskip_tl { \q_no_value }
+ \tl_set:Nn \l__fontscale_Huge_baselineskip_tl { \q_no_value }
+ }
+\__fontscale_keys_precompile_initial:
+
+% Pre-compiles the keys with their values at the end of the preamble. The keys
+% are pre-compiled by hand for speed.
+\cs_new_eq:NN \__fontscale_keys_precompile_preamble: \prg_do_nothing
+\AddToHook { begindocument / before }
+ { \__fontscale_keys_precompile_preamble_set: }
+\cs_new_protected:Npn \__fontscale_keys_precompile_preamble_set:
+ {
+ \cs_set_protected:Npe \__fontscale_keys_precompile_preamble:
+ {
+ \bool_if:NTF \l__fontscale_ignore_order_bool
+ { \bool_set_true:N } { \bool_set_false:N }
+ \exp_not:N \l__fontscale_ignore_order_bool
+ \fp_set:Nn \exp_not:N \l__fontscale_baselineskip_size_ratio_fp
+ { \exp_not:V \l__fontscale_baselineskip_size_ratio_fp }
+ \str_set:Nn \exp_not:N \l__fontscale_typographic_scale_str
+ { \l__fontscale_typographic_scale_str }
+ \fp_set:Nn \exp_not:N \l__fontscale_modular_ratio_fp
+ { \exp_not:V \l__fontscale_modular_ratio_fp }
+ \fp_set:Nn \exp_not:N \l__fontscale_musical_ratio_fp
+ { \exp_not:V \l__fontscale_musical_ratio_fp }
+ \int_set:Nn \exp_not:N \l__fontscale_musical_notes_int
+ { \int_use:N \l__fontscale_musical_notes_int }
+
+ \tl_set:Nn \exp_not:N \l__fontscale_tiny_scale_tl
+ { \exp_not:o \l__fontscale_tiny_scale_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_scale_tl
+ { \exp_not:o \l__fontscale_scriptsize_scale_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_scale_tl
+ { \exp_not:o \l__fontscale_footnotesize_scale_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_small_scale_tl
+ { \exp_not:o \l__fontscale_small_scale_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_large_scale_tl
+ { \exp_not:o \l__fontscale_large_scale_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_Large_scale_tl
+ { \exp_not:o \l__fontscale_Large_scale_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_LARGE_scale_tl
+ { \exp_not:o \l__fontscale_LARGE_scale_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_huge_scale_tl
+ { \exp_not:o \l__fontscale_huge_scale_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_Huge_scale_tl
+ { \exp_not:o \l__fontscale_Huge_scale_tl }
+
+ \tl_set:Nn \exp_not:N \l__fontscale_tiny_size_tl
+ { \exp_not:o \l__fontscale_tiny_size_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_size_tl
+ { \exp_not:o \l__fontscale_scriptsize_size_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_size_tl
+ { \exp_not:o \l__fontscale_footnotesize_size_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_small_size_tl
+ { \exp_not:o \l__fontscale_small_size_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_normalsize_size_tl
+ { \exp_not:o \l__fontscale_normalsize_size_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_large_size_tl
+ { \exp_not:o \l__fontscale_large_size_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_Large_size_tl
+ { \exp_not:o \l__fontscale_Large_size_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_LARGE_size_tl
+ { \exp_not:o \l__fontscale_LARGE_size_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_huge_size_tl
+ { \exp_not:o \l__fontscale_huge_size_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_Huge_size_tl
+ { \exp_not:o \l__fontscale_Huge_size_tl }
+
+ \tl_set:Nn \exp_not:N \l__fontscale_tiny_baselineskip_tl
+ { \exp_not:o \l__fontscale_tiny_baselineskip_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_scriptsize_baselineskip_tl
+ { \exp_not:o \l__fontscale_scriptsize_baselineskip_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_footnotesize_baselineskip_tl
+ { \exp_not:o \l__fontscale_footnotesize_baselineskip_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_small_baselineskip_tl
+ { \exp_not:o \l__fontscale_small_baselineskip_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_normalsize_baselineskip_tl
+ { \exp_not:o \l__fontscale_normalsize_baselineskip_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_large_baselineskip_tl
+ { \exp_not:o \l__fontscale_large_baselineskip_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_Large_baselineskip_tl
+ { \exp_not:o \l__fontscale_Large_baselineskip_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_LARGE_baselineskip_tl
+ { \exp_not:o \l__fontscale_LARGE_baselineskip_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_huge_baselineskip_tl
+ { \exp_not:o \l__fontscale_huge_baselineskip_tl }
+ \tl_set:Nn \exp_not:N \l__fontscale_Huge_baselineskip_tl
+ { \exp_not:o \l__fontscale_Huge_baselineskip_tl }
+ }
+ }
+
+% PROCESS KEYS
+
+\NewDocumentCommand \fontscalesetup { m } { \__fontscale_keys_set:n {#1} }
+\cs_new_protected:Npn \__fontscale_keys_set:n #1
+ {
+ \keys_set:nn { fontscale } {#1}
+ \__fontscale_keys_process:
+ }
+\cs_new_protected:Npn \__fontscale_keys_process:
+ {
+ \__fontscale_keys_process_normalsize:
+ \__fontscale_keys_process_other:
+ \__fontscale_keys_process_other_props:
+ \__fontscale_keys_process_check_order:
+ }
+% Sets the size and baselineskip of \normalsize, stores them in a property
+% list, and uses \normalsize.
+\cs_new_protected:Npn \__fontscale_keys_process_normalsize:
+ {
+ \quark_if_no_value:NTF \l__fontscale_normalsize_size_tl
+ {
+ \dim_set:Nn \l_fontscale_normalsize_size_dim
+ {
+ \str_case:on \l__fontscale_typographic_scale_str
+ {
+ { classic-10pt } { 10pt }
+ { classic-11pt } { 11pt }
+ { classic-12pt } { 12pt }
+ { modular } { 10pt }
+ { musical } { 10pt }
+ }
+ }
+ }
+ {
+ \__fontscale_dim_set_with_default_unit:Nn
+ \l_fontscale_normalsize_size_dim { \l__fontscale_normalsize_size_tl }
+ }
+ \fp_set:Nn \l__fontscale_normalsize_size_fp
+ { \l_fontscale_normalsize_size_dim }
+ \quark_if_no_value:NTF \l__fontscale_normalsize_baselineskip_tl
+ {
+ \skip_set:Nn \l_fontscale_normalsize_baselineskip_skip
+ {
+ \fp_to_dim:n
+ {
+ \l__fontscale_normalsize_size_fp
+ * \l__fontscale_baselineskip_size_ratio_fp
+ }
+ }
+ }
+ {
+ \__fontscale_skip_set_with_default_unit:Nn
+ \l_fontscale_normalsize_baselineskip_skip
+ { \l__fontscale_normalsize_baselineskip_tl }
+ }
+ \prop_put:Nno \l_fontscale_normalsize_prop { size }
+ { \dim_use:N \l_fontscale_normalsize_size_dim }
+ \prop_put:Nno \l_fontscale_normalsize_prop { baselineskip }
+ { \skip_use:N \l_fontscale_normalsize_baselineskip_skip }
+ \normalsize
+ }
+% Sets the size, scale, and baselineskip of the other font size commands.
+% Issues a warning if the user sets both the scale and size keys for the same
+% font size command.
+\cs_new_protected:Npn \__fontscale_keys_process_other_classic_xpt:n #1
+ {
+ \dim_set:cn { l_fontscale_#1_size_dim }
+ {
+ \str_case:nn {#1}
+ {
+ { tiny } { 6pt }
+ { scriptsize } { 7pt }
+ { footnotesize } { 8pt }
+ { small } { 9pt }
+ { large } { 11pt }
+ { Large } { 12pt }
+ { LARGE } { 14pt }
+ { huge } { 16pt }
+ { Huge } { 18pt }
+ }
+ }
+ }
+\cs_new_protected:Npn \__fontscale_keys_process_other_classic_xipt:n #1
+ {
+ \dim_set:cn { l_fontscale_#1_size_dim }
+ {
+ \str_case:nn {#1}
+ {
+ { tiny } { 7pt }
+ { scriptsize } { 8pt }
+ { footnotesize } { 9pt }
+ { small } { 10pt }
+ { large } { 12pt }
+ { Large } { 14pt }
+ { LARGE } { 16pt }
+ { huge } { 18pt }
+ { Huge } { 21pt }
+ }
+ }
+ }
+\cs_new_protected:Npn \__fontscale_keys_process_other_classic_xiipt:n #1
+ {
+ \dim_set:cn { l_fontscale_#1_size_dim }
+ {
+ \str_case:nn {#1}
+ {
+ { tiny } { 8pt }
+ { scriptsize } { 9pt }
+ { footnotesize } { 10pt }
+ { small } { 11pt }
+ { large } { 14pt }
+ { Large } { 16pt }
+ { LARGE } { 18pt }
+ { huge } { 21pt }
+ { Huge } { 24pt }
+ }
+ }
+ }
+\cs_new_protected:Npn \__fontscale_keys_process_other_modular:n #1
+ {
+ \dim_set:cn { l_fontscale_#1_size_dim }
+ {
+ \fp_to_dim:n
+ {
+ \l__fontscale_normalsize_size_fp * \l__fontscale_modular_ratio_fp
+ ^ \use:c { c_fontscale_#1_step_fp }
+ }
+ }
+ }
+\cs_new_protected:Npn \__fontscale_keys_process_other_musical:n #1
+ {
+ \dim_set:cn { l_fontscale_#1_size_dim }
+ {
+ \fp_to_dim:n
+ {
+ \l__fontscale_normalsize_size_fp * \l__fontscale_musical_ratio_fp
+ ^ ( \use:c { c_fontscale_#1_step_fp }
+ / \l__fontscale_musical_notes_fp )
+ }
+ }
+ }
+\cs_new_protected:Npn \__fontscale_keys_process_other:
+ {
+ \str_case:on \l__fontscale_typographic_scale_str
+ {
+ { classic-10pt }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
+ \__fontscale_keys_process_other_classic_xpt:n
+ }
+ { classic-11pt }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
+ \__fontscale_keys_process_other_classic_xipt:n
+ }
+ { classic-12pt }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
+ \__fontscale_keys_process_other_classic_xiipt:n
+ }
+ { modular }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
+ \__fontscale_keys_process_other_modular:n
+ }
+ { musical }
+ {
+ \cs_set_eq:NN \__fontscale_keys_process_other_typographic_scale:n
+ \__fontscale_keys_process_other_musical:n
+ \fp_set:Nn \l__fontscale_musical_notes_fp
+ { \l__fontscale_musical_notes_int }
+ }
+ }
+ \tl_map_function:NN \c__fontscale_names_other_tl
+ \__fontscale_keys_process_other_aux:n
+ }
+\cs_new_protected:Npn \__fontscale_keys_process_other_aux:n #1
+ {
+ \quark_if_no_value:cF { l__fontscale_#1_size_tl }
+ {
+ \__fontscale_dim_set_with_default_unit:cn { l_fontscale_#1_size_dim }
+ { \use:c { l__fontscale_#1_size_tl } }
+ \quark_if_no_value:cF { l__fontscale_#1_scale_tl }
+ { \msg_warning:nnn { fontscale } { key-font-scale-ignored } {#1} }
+ \prg_break:
+ }
+ \quark_if_no_value:cF { l__fontscale_#1_scale_tl }
+ {
+ \dim_set:cn { l_fontscale_#1_size_dim }
+ {
+ \fp_to_dim:n
+ {
+ \l__fontscale_normalsize_size_fp
+ * ( \use:c { l__fontscale_#1_scale_tl } )
+ }
+ }
+ \prg_break:
+ }
+ \prg_break:n { \__fontscale_keys_process_other_typographic_scale:n {#1} }
+ \prg_break_point:
+ \fp_set:cn { l_fontscale_#1_scale_fp }
+ { \use:c { l_fontscale_#1_size_dim } / \l__fontscale_normalsize_size_fp }
+ \quark_if_no_value:cTF { l__fontscale_#1_baselineskip_tl }
+ {
+ \skip_set:cn { l_fontscale_#1_baselineskip_skip }
+ {
+ \fp_to_dim:n
+ {
+ \use:c { l_fontscale_#1_size_dim }
+ * \l__fontscale_baselineskip_size_ratio_fp
+ }
+ }
+ }
+ {
+ \__fontscale_skip_set_with_default_unit:cn
+ { l_fontscale_#1_baselineskip_skip }
+ { \use:c { l__fontscale_#1_baselineskip_tl } }
+ }
+ }
+% Puts the scale, size, and baselineskip of the other font size commands in
+% property lists.
+\cs_new_protected:Npn \__fontscale_keys_process_other_props:
+ {
+ \prop_put:Nne \l_fontscale_tiny_prop { scale }
+ { \fp_use:N \l_fontscale_tiny_scale_fp }
+ \prop_put:Nne \l_fontscale_scriptsize_prop { scale }
+ { \fp_use:N \l_fontscale_scriptsize_scale_fp }
+ \prop_put:Nne \l_fontscale_footnotesize_prop { scale }
+ { \fp_use:N \l_fontscale_footnotesize_scale_fp }
+ \prop_put:Nne \l_fontscale_small_prop { scale }
+ { \fp_use:N \l_fontscale_small_scale_fp }
+ \prop_put:Nne \l_fontscale_large_prop { scale }
+ { \fp_use:N \l_fontscale_large_scale_fp }
+ \prop_put:Nne \l_fontscale_Large_prop { scale }
+ { \fp_use:N \l_fontscale_Large_scale_fp }
+ \prop_put:Nne \l_fontscale_LARGE_prop { scale }
+ { \fp_use:N \l_fontscale_LARGE_scale_fp }
+ \prop_put:Nne \l_fontscale_huge_prop { scale }
+ { \fp_use:N \l_fontscale_huge_scale_fp }
+ \prop_put:Nne \l_fontscale_Huge_prop { scale }
+ { \fp_use:N \l_fontscale_Huge_scale_fp }
+
+ \prop_put:Nno \l_fontscale_tiny_prop { size }
+ { \dim_use:N \l_fontscale_tiny_size_dim }
+ \prop_put:Nno \l_fontscale_scriptsize_prop { size }
+ { \dim_use:N \l_fontscale_scriptsize_size_dim }
+ \prop_put:Nno \l_fontscale_footnotesize_prop { size }
+ { \dim_use:N \l_fontscale_footnotesize_size_dim }
+ \prop_put:Nno \l_fontscale_small_prop { size }
+ { \dim_use:N \l_fontscale_small_size_dim }
+ \prop_put:Nno \l_fontscale_large_prop { size }
+ { \dim_use:N \l_fontscale_large_size_dim }
+ \prop_put:Nno \l_fontscale_Large_prop { size }
+ { \dim_use:N \l_fontscale_Large_size_dim }
+ \prop_put:Nno \l_fontscale_LARGE_prop { size }
+ { \dim_use:N \l_fontscale_LARGE_size_dim }
+ \prop_put:Nno \l_fontscale_huge_prop { size }
+ { \dim_use:N \l_fontscale_huge_size_dim }
+ \prop_put:Nno \l_fontscale_Huge_prop { size }
+ { \dim_use:N \l_fontscale_Huge_size_dim }
+
+ \prop_put:Nno \l_fontscale_tiny_prop { baselineskip }
+ { \skip_use:N \l_fontscale_tiny_baselineskip_skip }
+ \prop_put:Nno \l_fontscale_scriptsize_prop { baselineskip }
+ { \skip_use:N \l_fontscale_scriptsize_baselineskip_skip }
+ \prop_put:Nno \l_fontscale_footnotesize_prop { baselineskip }
+ { \skip_use:N \l_fontscale_footnotesize_baselineskip_skip }
+ \prop_put:Nno \l_fontscale_small_prop { baselineskip }
+ { \skip_use:N \l_fontscale_small_baselineskip_skip }
+ \prop_put:Nno \l_fontscale_large_prop { baselineskip }
+ { \skip_use:N \l_fontscale_large_baselineskip_skip }
+ \prop_put:Nno \l_fontscale_Large_prop { baselineskip }
+ { \skip_use:N \l_fontscale_Large_baselineskip_skip }
+ \prop_put:Nno \l_fontscale_LARGE_prop { baselineskip }
+ { \skip_use:N \l_fontscale_LARGE_baselineskip_skip }
+ \prop_put:Nno \l_fontscale_huge_prop { baselineskip }
+ { \skip_use:N \l_fontscale_huge_baselineskip_skip }
+ \prop_put:Nno \l_fontscale_Huge_prop { baselineskip }
+ { \skip_use:N \l_fontscale_Huge_baselineskip_skip }
+ }
+% Issues a warning if the font sizes or font baselineskips are not in the
+% correct order.
+\cs_new_protected:Npn \__fontscale_keys_process_check_order:
+ {
+ \bool_if:NF \l__fontscale_ignore_order_bool
+ {
+ \dim_compare:nF
+ {
+ \l_fontscale_tiny_size_dim
+ < \l_fontscale_scriptsize_size_dim
+ < \l_fontscale_footnotesize_size_dim
+ < \l_fontscale_small_size_dim
+ < \l_fontscale_normalsize_size_dim
+ < \l_fontscale_large_size_dim
+ < \l_fontscale_Large_size_dim
+ < \l_fontscale_LARGE_size_dim
+ < \l_fontscale_huge_size_dim
+ < \l_fontscale_Huge_size_dim
+ }
+ { \msg_warning:nn { fontscale } { font-sizes-out-of-order } }
+ \dim_compare:nF
+ {
+ \l_fontscale_tiny_baselineskip_skip
+ < \l_fontscale_scriptsize_baselineskip_skip
+ < \l_fontscale_footnotesize_baselineskip_skip
+ < \l_fontscale_small_baselineskip_skip
+ < \l_fontscale_normalsize_baselineskip_skip
+ < \l_fontscale_large_baselineskip_skip
+ < \l_fontscale_Large_baselineskip_skip
+ < \l_fontscale_LARGE_baselineskip_skip
+ < \l_fontscale_huge_baselineskip_skip
+ < \l_fontscale_Huge_baselineskip_skip
+ }
+ { \msg_warning:nn { fontscale } { font-baselineskips-out-of-order } }
+ }
+ }
+
+% DOCUMENT COMMANDS
+
+% The internal functions of each font size command are not used elsewhere in
+% the code for compatibility with user-defined hooks
+% (e.g. \AddToHook{cmd/normalsize/after}{<user-defined-function>}).
+% Need \dim_use:N for compatibility with the microtype package.
+\DeclareDocumentCommand \tiny { } { \__fontscale_tiny: }
+\cs_new_protected:Npn \__fontscale_tiny:
+ {
+ \@setfontsize \tiny { \dim_use:N \l_fontscale_tiny_size_dim }
+ \l_fontscale_tiny_baselineskip_skip
+ }
+\DeclareDocumentCommand \scriptsize { } { \__fontscale_scriptsize: }
+\cs_new_protected:Npn \__fontscale_scriptsize:
+ {
+ \@setfontsize \scriptsize { \dim_use:N \l_fontscale_scriptsize_size_dim }
+ \l_fontscale_scriptsize_baselineskip_skip
+ }
+\DeclareDocumentCommand \footnotesize { } { \__fontscale_footnotesize: }
+\cs_new_protected:Npn \__fontscale_footnotesize:
+ {
+ \@setfontsize \footnotesize
+ { \dim_use:N \l_fontscale_footnotesize_size_dim }
+ \l_fontscale_footnotesize_baselineskip_skip
+ }
+\DeclareDocumentCommand \small { } { \__fontscale_small: }
+\cs_new_protected:Npn \__fontscale_small:
+ {
+ \@setfontsize \small { \dim_use:N \l_fontscale_small_size_dim }
+ \l_fontscale_small_baselineskip_skip
+ }
+\DeclareDocumentCommand \normalsize { } { \__fontscale_normalsize: }
+\cs_new_protected:Npn \__fontscale_normalsize:
+ {
+ \@setfontsize \normalsize { \dim_use:N \l_fontscale_normalsize_size_dim }
+ \l_fontscale_normalsize_baselineskip_skip
+ }
+\DeclareDocumentCommand \large { } { \__fontscale_large: }
+\cs_new_protected:Npn \__fontscale_large:
+ {
+ \@setfontsize \large { \dim_use:N \l_fontscale_large_size_dim }
+ \l_fontscale_large_baselineskip_skip
+ }
+\DeclareDocumentCommand \Large { } { \__fontscale_Large: }
+\cs_new_protected:Npn \__fontscale_Large:
+ {
+ \@setfontsize \Large { \dim_use:N \l_fontscale_Large_size_dim }
+ \l_fontscale_Large_baselineskip_skip
+ }
+\DeclareDocumentCommand \LARGE { } { \__fontscale_LARGE: }
+\cs_new_protected:Npn \__fontscale_LARGE:
+ {
+ \@setfontsize \LARGE { \dim_use:N \l_fontscale_LARGE_size_dim }
+ \l_fontscale_LARGE_baselineskip_skip
+ }
+\DeclareDocumentCommand \huge { } { \__fontscale_huge: }
+\cs_new_protected:Npn \__fontscale_huge:
+ {
+ \@setfontsize \huge { \dim_use:N \l_fontscale_huge_size_dim }
+ \l_fontscale_huge_baselineskip_skip
+ }
+\DeclareDocumentCommand \Huge { } { \__fontscale_Huge: }
+\cs_new_protected:Npn \__fontscale_Huge:
+ {
+ \@setfontsize \Huge { \dim_use:N \l_fontscale_Huge_size_dim }
+ \l_fontscale_Huge_baselineskip_skip
+ }
+% Initializes to \normalsize.
+\normalsize
+
+\NewExpandableDocumentCommand \CurrentFontStep { }
+ { \__fontscale_current_font_step: }
+\cs_new:Npn \__fontscale_current_font_step:
+ {
+ \dim_case:nnF { \f@size pt }
+ {
+ { \l_fontscale_tiny_size_dim } { -4 }
+ { \l_fontscale_scriptsize_size_dim } { -3 }
+ { \l_fontscale_footnotesize_size_dim } { -2 }
+ { \l_fontscale_small_size_dim } { -1 }
+ { \l_fontscale_normalsize_size_dim } { 0 }
+ { \l_fontscale_large_size_dim } { 1 }
+ { \l_fontscale_Large_size_dim } { 2 }
+ { \l_fontscale_LARGE_size_dim } { 3 }
+ { \l_fontscale_huge_size_dim } { 4 }
+ { \l_fontscale_Huge_size_dim } { 5 }
+ }
+ {
+ \str_case:on \l__fontscale_typographic_scale_str
+ {
+ { modular }
+ {
+ \fp_eval:n
+ {
+ ln ( \f@size / \l__fontscale_normalsize_size_fp )
+ / ln ( \l__fontscale_modular_ratio_fp )
+ }
+ }
+ { musical }
+ {
+ \fp_eval:n
+ {
+ \l__fontscale_musical_notes_fp
+ * ln ( \f@size / \l__fontscale_normalsize_size_fp )
+ / ln ( \l__fontscale_musical_ratio_fp )
+ }
+ }
+ }
+ }
+ }
+
+\NewExpandableDocumentCommand \CurrentFontScale { }
+ { \__fontscale_current_font_scale: }
+\cs_new:Npn \__fontscale_current_font_scale:
+ { \fp_eval:n { \f@size / \l__fontscale_normalsize_size_fp } }
+
+\NewExpandableDocumentCommand \CurrentFontSize { }
+ { \__fontscale_current_font_size: }
+\cs_new:Npn \__fontscale_current_font_size: { \f@size pt }
+
+\NewExpandableDocumentCommand \CurrentFontBaselineskip { }
+ { \__fontscale_current_font_baselineskip: }
+\cs_new:Npn \__fontscale_current_font_baselineskip: { \f@baselineskip }
+
+\NewDocumentCommand \SetFontStep { s m }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_add_font_step:n {#2} }
+ { \__fontscale_set_font_step:n {#2} }
+ }
+\cs_new_protected:Npn \__fontscale_set_font_step:n #1
+ {
+ \str_case:enF { \fp_eval:n {#1} }
+ {
+ { -4 } { \tiny }
+ { -3 } { \scriptsize }
+ { -2 } { \footnotesize }
+ { -1 } { \small }
+ { 0 } { \normalsize }
+ { 1 } { \large }
+ { 2 } { \Large }
+ { 3 } { \LARGE }
+ { 4 } { \huge }
+ { 5 } { \Huge }
+ }
+ {
+ \str_case:onF \l__fontscale_typographic_scale_str
+ {
+ { modular }
+ {
+ \fontsize
+ {
+ \fp_to_dim:n
+ {
+ \l__fontscale_normalsize_size_fp
+ * \l__fontscale_modular_ratio_fp ^ (#1)
+ }
+ }
+ {
+ \fp_to_dim:n
+ { \f@size * \l__fontscale_baselineskip_size_ratio_fp }
+ }
+ \selectfont
+ }
+ { musical }
+ {
+ \fontsize
+ {
+ \fp_to_dim:n
+ {
+ \l__fontscale_normalsize_size_fp
+ * \l__fontscale_musical_ratio_fp
+ ^ ( (#1) / \l__fontscale_musical_notes_fp )
+ }
+ }
+ {
+ \fp_to_dim:n
+ { \f@size * \l__fontscale_baselineskip_size_ratio_fp }
+ }
+ \selectfont
+ }
+ }
+ { \msg_error:nn { fontscale } { font-step-out-of-bounds } }
+ }
+ }
+\cs_new_protected:Npn \__fontscale_add_font_step:n #1
+ {
+ \tl_set:Ne \l__fontscale_step_tl { \__fontscale_current_font_step: }
+ \tl_if_empty:NTF \l__fontscale_step_tl
+ { \msg_error:nn { fontscale } { font-step-out-of-bounds } }
+ { \__fontscale_add_font_step_aux:n { (#1) + \l__fontscale_step_tl } }
+ }
+\cs_new_eq:NN \__fontscale_add_font_step_aux:n \__fontscale_set_font_step:n
+
+\NewDocumentCommand \SetFontScale { s m }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_add_font_scale:n {#2} }
+ { \__fontscale_set_font_scale:n {#2} }
+ }
+\cs_new_protected:Npn \__fontscale_set_font_scale:n #1
+ {
+ \fontsize
+ { \fp_to_dim:n { \l__fontscale_normalsize_size_fp * (#1) } }
+ { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
+ \selectfont
+ }
+\cs_new_protected:Npn \__fontscale_add_font_scale:n #1
+ {
+ \fontsize
+ { \fp_to_dim:n { \l__fontscale_normalsize_size_fp * (#1) + \f@size } }
+ { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
+ \selectfont
+ }
+
+\NewDocumentCommand \SetFontSize { s m }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_add_font_size:n {#2} }
+ { \__fontscale_set_font_size:n {#2} }
+ }
+\cs_new_protected:Npn \__fontscale_set_font_size:n #1
+ {
+ \__fontscale_dim_set_with_default_unit:Nn \l__fontscale_size_dim {#1}
+ \fontsize \l__fontscale_size_dim
+ { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
+ \selectfont
+ }
+\cs_new_protected:Npn \__fontscale_add_font_size:n #1
+ {
+ \__fontscale_dim_set_with_default_unit:Nn \l__fontscale_size_dim {#1}
+ \dim_add:Nn \l__fontscale_size_dim { \f@size pt }
+ \fontsize \l__fontscale_size_dim
+ { \fp_to_dim:n { \f@size * \l__fontscale_baselineskip_size_ratio_fp } }
+ \selectfont
+ }
+
+\NewDocumentCommand \ScaleFont { m } { \__fontscale_scalefont:n {#1} }
+\cs_new_protected:Npn \__fontscale_scalefont:n #1
+ {
+ \fontsize
+ { \fp_to_dim:n { \f@size * (#1) } }
+ { \fp_to_dim:n { \dim_to_fp:n { \f@baselineskip } * (#1) } }
+ \selectfont
+ }
+
+\NewDocumentCommand \SetFontSizeBaselineskip { m m }
+ { \__fontscale_set_font_size_baselineskip:nn {#1} {#2} }
+\cs_new_protected:Npn \__fontscale_set_font_size_baselineskip:nn #1#2
+ {
+ \__fontscale_dim_set_with_default_unit:Nn \l__fontscale_size_dim {#1}
+ \__fontscale_skip_set_with_default_unit:Nn \l__fontscale_baselineskip_skip
+ {#2}
+ \fontsize \l__fontscale_size_dim \l__fontscale_baselineskip_skip
+ \selectfont
+ }
+
+\NewDocumentCommand \PrintFontParameters { }
+ { \__fontscale_print_font_parameters: }
+\cs_new_protected:Npn \__fontscale_print_font_parameters:
+ {
+ step ~=~ \__fontscale_current_font_step: ,~
+ scale ~=~ \__fontscale_current_font_scale: ,~
+ size ~=~ \__fontscale_current_font_size: ,~
+ baselineskip ~=~ \__fontscale_current_font_baselineskip:
+ }
+
+\NewDocumentCommand \PrintAllFontParameters { }
+ { \__fontscale_print_all_font_parameters: }
+\cs_new_protected:Npn \__fontscale_print_all_font_parameters:
+ {
+ \tl_map_inline:Nn \c__fontscale_names_tl
+ {
+ \prop_get:cnN { l_fontscale_##1_prop } { step } \l__fontscale_step_tl
+ \prop_get:cnN { l_fontscale_##1_prop } { scale } \l__fontscale_scale_tl
+ \token_to_str:c {##1} \@ \c_colon_str \c_space_tl
+ step ~=~ \l__fontscale_step_tl ,~
+ scale ~=~ \l__fontscale_scale_tl ,~
+ size ~=~ \dim_use:c { l_fontscale_##1_size_dim } ,~
+ baselineskip ~=~ \skip_use:c { l_fontscale_##1_baselineskip_skip }
+ \str_if_eq:nnF {##1} { Huge } { \newline }
+ }
+ }
+
+\NewDocumentCommand \PrintSampleText
+ { s O
+ {
+ The~ \texttt { fontscale }~ package \c_colon_str \c_space_tl
+ A~ user~ interface~ for~ setting~ document~ font~ sizes
+ }
+ }
+ {
+ \IfBooleanTF #1
+ { \__fontscale_print_sample_text_descending_order:n {#2} }
+ { \__fontscale_print_sample_text_ascending_order:n {#2} }
+ }
+\cs_new_protected:Npn \__fontscale_print_sample_text_ascending_order:n #1
+ {
+ { \tiny #1 \par }
+ { \scriptsize #1 \par }
+ { \footnotesize #1 \par }
+ { \small #1 \par }
+ { \normalsize #1 \par }
+ { \large #1 \par }
+ { \Large #1 \par }
+ { \LARGE #1 \par }
+ { \huge #1 \par }
+ { \Huge #1 \par }
+ }
+\cs_new_protected:Npn \__fontscale_print_sample_text_descending_order:n #1
+ {
+ { \Huge #1 \par }
+ { \huge #1 \par }
+ { \LARGE #1 \par }
+ { \Large #1 \par }
+ { \large #1 \par }
+ { \normalsize #1 \par }
+ { \small #1 \par }
+ { \footnotesize #1 \par }
+ { \scriptsize #1 \par }
+ { \tiny #1 \par }
+ }
+
+\NewDocumentCommand \PrintFontSizeCommand { } { \__fontscale_print_name: }
+\cs_new_protected:Npn \__fontscale_print_name:
+ {
+ \dim_case:nnF { \f@size pt }
+ {
+ { \l_fontscale_tiny_size_dim }
+ {
+ \skip_if_eq:nnTF { \f@baselineskip }
+ { \l_fontscale_tiny_baselineskip_skip }
+ { \token_to_str:N \tiny } { UNDEFINED \@ }
+ }
+ { \l_fontscale_scriptsize_size_dim }
+ {
+ \skip_if_eq:nnTF { \f@baselineskip }
+ { \l_fontscale_scriptsize_baselineskip_skip }
+ { \token_to_str:N \scriptsize } { UNDEFINED \@ }
+ }
+ { \l_fontscale_footnotesize_size_dim }
+ {
+ \skip_if_eq:nnTF { \f@baselineskip }
+ { \l_fontscale_footnotesize_baselineskip_skip }
+ { \token_to_str:N \footnotesize } { UNDEFINED \@ }
+ }
+ { \l_fontscale_small_size_dim }
+ {
+ \skip_if_eq:nnTF { \f@baselineskip }
+ { \l_fontscale_small_baselineskip_skip }
+ { \token_to_str:N \small } { UNDEFINED \@ }
+ }
+ { \l_fontscale_normalsize_size_dim }
+ {
+ \skip_if_eq:nnTF { \f@baselineskip }
+ { \l_fontscale_normalsize_baselineskip_skip }
+ { \token_to_str:N \normalsize } { UNDEFINED \@ }
+ }
+ { \l_fontscale_large_size_dim }
+ {
+ \skip_if_eq:nnTF { \f@baselineskip }
+ { \l_fontscale_large_baselineskip_skip }
+ { \token_to_str:N \large } { UNDEFINED \@ }
+ }
+ { \l_fontscale_Large_size_dim }
+ {
+ \skip_if_eq:nnTF { \f@baselineskip }
+ { \l_fontscale_Large_baselineskip_skip }
+ { \token_to_str:N \Large } { UNDEFINED \@ }
+ }
+ { \l_fontscale_LARGE_size_dim }
+ {
+ \skip_if_eq:nnTF { \f@baselineskip }
+ { \l_fontscale_LARGE_baselineskip_skip }
+ { \token_to_str:N \LARGE \@ } { UNDEFINED \@ }
+ }
+ { \l_fontscale_huge_size_dim }
+ {
+ \skip_if_eq:nnTF { \f@baselineskip }
+ { \l_fontscale_huge_baselineskip_skip }
+ { \token_to_str:N \huge } { UNDEFINED \@ }
+ }
+ { \l_fontscale_Huge_size_dim }
+ {
+ \skip_if_eq:nnTF { \f@baselineskip }
+ { \l_fontscale_Huge_baselineskip_skip }
+ { \token_to_str:N \Huge } { UNDEFINED \@ }
+ }
+ }
+ { UNDEFINED \@ }
+ }
+
+% TEXT PURIFY
+
+\cs_new:Npn \__fontscale_text_purify_equivalent:n #1
+ {
+ \bool_lazy_all:nT
+ {
+ { \tl_if_single_p:n {#1} }
+ { \tl_if_single_token_p:n #1 }
+ { \token_if_eq_meaning_p:NN #1 * }
+ }
+ { \use_none:n }
+ }
+\text_declare_purify_equivalent:Nn \SetFontStep
+ { \__fontscale_text_purify_equivalent:n }
+\text_declare_purify_equivalent:Nn \SetFontScale
+ { \__fontscale_text_purify_equivalent:n }
+\text_declare_purify_equivalent:Nn \SetFontSize
+ { \__fontscale_text_purify_equivalent:n }
+\text_declare_purify_equivalent:Nn \ScaleFont { \use_none:n }
\text_declare_purify_equivalent:Nn \SetFontSizeBaselineskip { \use_none:nn } \ No newline at end of file
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 87c775ca83..38db79ac18 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,12 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.3.14] - 2024-04-15
+
+### Fixed
+- Extension of multiple uncertainties when main value is less precise (see
+ issue [\#727](https://github.com/josephwright/siunitx/issues/727))
+
## [v3.3.13] - 2024-04-12
### Fixed
@@ -339,7 +345,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- 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
+ flexibility in `per-mode` control
- Option `per-symbol-script-correction`
- Option `power-half-as-sqrt`
- Option `retain-negative-zero`
@@ -1396,7 +1402,7 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
- Allow for `bidi`/RTL when applying `\text`
- Search-and-replace in UTF-8 literal units
- Load binary-units only when requested (issue [\#201](https://github.com/josephwright/siunitx/issues/201))
-- Disable `\hightlight` in bookmarks (issue [\#207](https://github.com/josephwright/siunitx/issues/207))
+- Disable `\highlight` in bookmarks (issue [\#207](https://github.com/josephwright/siunitx/issues/207))
## [v2.5l] - 2012-11-21
@@ -2086,7 +2092,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.3.13...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.14...HEAD
+[v3.3.14]: https://github.com/josephwright/siunitx/compare/v3.3.13...v3.3.14
[v3.3.13]: https://github.com/josephwright/siunitx/compare/v3.3.12...v3.3.13
[v3.3.12]: https://github.com/josephwright/siunitx/compare/v3.3.11...v3.3.12
[v3.3.11]: https://github.com/josephwright/siunitx/compare/v3.3.10...v3.3.11
diff --git a/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx b/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
index f123546389..9d99fed92e 100644
--- a/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
@@ -40,7 +40,7 @@
% \GetFileInfo{siunitx.sty}
%
% \title{^^A
-% \pkg{siunitx-abbreviations} -- Abbreviatons^^A
+% \pkg{siunitx-abbreviations} -- Abbreviations^^A
% \thanks{This file describes \fileversion,
% last revised \filedate.}^^A
% }
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index cf00251427..7c2b6e2b65 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-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index cfa4a03e25..2b87514375 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -1117,9 +1117,11 @@
% }
% \begin{macro}[EXP]
% {\@@_parse_combine_uncert:nnnnnn, \@@_parse_combine_uncert:ennnnn}
+% \begin{macro}[EXP]{\@@_parse_combine_uncert_aux:nn}
% \begin{macro}[EXP]
% {\@@_parse_combine_uncert:nnnnnnn, \@@_parse_combine_uncert:ennnnnn}
-% \begin{macro}[EXP]{\@@_parse_combine_uncert:nnnnn}
+% \begin{macro}[EXP]
+% {\@@_parse_combine_uncert:nnnnn, \@@_parse_combine_uncert:nnenn}
% \begin{macro}[EXP]
% {
% \@@_parse_combine_uncert_aux:nnnn ,
@@ -1196,11 +1198,16 @@
{#3} {#4} {#5} {#6} { #7 #1 }
}
{
- \@@_parse_combine_uncert:nnnnn
- { #3 #1 } {#4} {#5} {#6} {#7}
+ \@@_parse_combine_uncert:nnenn { #3 #1 } {#4}
+ {
+ \tl_map_tokens:nn {#5}
+ { \@@_parse_combine_uncert_aux:nn {#1} }
+ }
+ {#6} {#7}
}
}
\cs_generate_variant:Nn \@@_parse_combine_uncert:nnnnnnn { e }
+\cs_new:Npn \@@_parse_combine_uncert_aux:nn #1#2 { {#2#1} }
% \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
@@ -1224,6 +1231,7 @@
{#2}
{#3}
}
+\cs_generate_variant:Nn \@@_parse_combine_uncert:nnnnn { nne }
\cs_new:Npn \@@_parse_combine_uncert_aux:nnnn #1#2#3#4
{
\@@_parse_combine_uncert_loop:neennnn
@@ -1282,6 +1290,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\@@_parse_comparator:}
% \begin{macro}{\@@_parse_comparator_aux:Nw}
diff --git a/macros/latex/contrib/siunitx/siunitx-unit.dtx b/macros/latex/contrib/siunitx/siunitx-unit.dtx
index 2c9c1efb13..a7fd28e8bc 100644
--- a/macros/latex/contrib/siunitx/siunitx-unit.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-unit.dtx
@@ -272,7 +272,7 @@
% \end{variable}
%
% \begin{variable}{\l_siunitx_unit_fraction_tl}
-% The fraction function which is applied whne constructing fractional units:
+% The fraction function which is applied when constructing fractional units:
% set by |fraction-command|.
% \end{variable}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index 0d79cd5fde..34a38b864a 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} {2024-04-12} {3.3.13}
+\ProvidesExplPackage {siunitx} {2024-04-15} {3.3.14}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 8bd9cefb62..15e5ab256a 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/tugboat/NEWS b/macros/latex/contrib/tugboat/NEWS
index 2ee5014884..2d5c0f52fa 100644
--- a/macros/latex/contrib/tugboat/NEWS
+++ b/macros/latex/contrib/tugboat/NEWS
@@ -1,7 +1,19 @@
-$Id: NEWS 533 2023-10-28 22:40:31Z karl $
+$Id: NEWS 560 2024-04-15 17:16:18Z karl $
This file records noteworthy changes. This file is public domain.
-----------------
+2.32 (2023-04-15):
+ltugboat.cls:
+- don't print leading http://.
+- increase natural space, stretch, shrink after run-in heads; before,
+ \frenchspacing was unintentionally in effect.
+- decrease \floatsep and \textfloatsep to go along with reduced
+ \abovecaption skip; increase topnumber, bottomnumber, totalnumber,
+ to further avoid going to a float page so soon.
+- allow some flexibility in glue below title.
+- new abbreviation \YAML.
+
+-----------------
2.31 (2023-10-28):
ltugboat.cls:
- input our hyphenation exceptions (ushyphex.tex) if available.
diff --git a/macros/latex/contrib/tugboat/ltubguid.ltx b/macros/latex/contrib/tugboat/ltubguid.ltx
index 4f06882574..defb17277a 100644
--- a/macros/latex/contrib/tugboat/ltubguid.ltx
+++ b/macros/latex/contrib/tugboat/ltubguid.ltx
@@ -1,4 +1,4 @@
-% $Id: ltubguid.ltx 529 2023-10-27 16:32:42Z karl $
+% $Id: ltubguid.ltx 557 2024-03-31 15:56:24Z karl $
% ltubguid.ltx - documentation for ltugboat classes.
%
% Copyright 1994-2023 TeX Users Group.
@@ -761,7 +761,7 @@ We've found that this is not confusing in practice. To enable this and
\begin{verbatim}
\usepackage[hyphens]{url}
-\usepackage[hidelinks,pdfa]{hyperref}
+\usepackage[hidelinks]{hyperref}
\end{verbatim}
\subsubsection{Url footnotes}
diff --git a/macros/latex/contrib/tugboat/ltubguid.pdf b/macros/latex/contrib/tugboat/ltubguid.pdf
index 7b6b3231f1..68ceecfb08 100644
--- a/macros/latex/contrib/tugboat/ltubguid.pdf
+++ b/macros/latex/contrib/tugboat/ltubguid.pdf
Binary files differ
diff --git a/macros/latex/contrib/tugboat/tugboat-code.pdf b/macros/latex/contrib/tugboat/tugboat-code.pdf
index 09edcef396..2f928019ca 100644
--- a/macros/latex/contrib/tugboat/tugboat-code.pdf
+++ b/macros/latex/contrib/tugboat/tugboat-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/tugboat/tugboat.bst b/macros/latex/contrib/tugboat/tugboat.bst
index 0c507119b7..ce1a5c3476 100644
--- a/macros/latex/contrib/tugboat/tugboat.bst
+++ b/macros/latex/contrib/tugboat/tugboat.bst
@@ -1,4 +1,4 @@
-%%% $Id: tugboat.bst 529 2023-10-27 16:32:42Z karl $
+%%% $Id: tugboat.bst 557 2024-03-31 15:56:24Z karl $
%%% TUGboat changes are public domain.
%%%
%%% Modified for TUGboat from abbrvurl.bst:
@@ -194,6 +194,8 @@ FUNCTION {output.nonnull.original}
{ 's :=
output.state mid.sentence =
{ last.output.check "journal" = not
+ journal missing$
+ or
{ ", " * } % not a journal, normal comma+space separator
{ journal "TUGboat" = journal "\TUB" = or
{ skip$ } % TUGboat, no comma
diff --git a/macros/latex/contrib/tugboat/tugboat.dtx b/macros/latex/contrib/tugboat/tugboat.dtx
index 2a98a67ffc..ea24059825 100644
--- a/macros/latex/contrib/tugboat/tugboat.dtx
+++ b/macros/latex/contrib/tugboat/tugboat.dtx
@@ -1,8 +1,8 @@
% \iffalse (this is a meta-comment (so they say))
-% $Id: tugboat.dtx 533 2023-10-28 22:40:31Z karl $
+% $Id: tugboat.dtx 560 2024-04-15 17:16:18Z karl $
% tugboat.dtx - main source for LaTeX TUGboat classes.
%
-% Copyright 1994-2023 TeX Users Group.
+% Copyright 1994-2024 TeX Users Group.
%
% This file is part of the tugboat package.
%
@@ -28,7 +28,7 @@
%<ltugboatsty>\ProvidesPackage{ltugboat}
%<ltugprocsty>\ProvidesPackage{ltugproc}
%<ltugcomn> \ProvidesPackage{ltugcomn}
- [2023-10-28 v2.31
+ [2024-04-15 v2.32
%<ltugboatcls> TUGboat journal class%
%<ltugproccls> TUG conference proceedings class%
%<ltugboatsty|ltugprocsty> TUG compatibility package%
@@ -40,8 +40,8 @@
% \end{macrocode}
%
% \iffalse
-%
-% Note that the version control Id above relates to the number of times
+%
+% The version control Id above relates to the number of times
% the file has been checked-in, which relates to a development process
% taking place on several machines, rather than the incidence of
% significant change; the definitive version number is that in the
@@ -718,6 +718,7 @@
\def\CMkIV{\ConTeXt\ \MkIV}
\def\Cplusplus{C\plusplus}
\def\plusplus{\raisebox{.7ex}{$_{++}$}}
+% consider rm vs. bold + tb139may-automata.ltx
\def\CPU{\acro{CPU}}
\def\CSczabbr{\ensuremath{\cal C}\kern-.1667em\lower.5ex\hbox{$\cal S$}}
\def\CSS{\acro{CSS}}
@@ -931,6 +932,7 @@
\def\WEB{\texttt{WEB}\@}
\def\WEAVE{\texttt{WEAVE}\@}
\def\WYSIWYG{\acro{WYSIWYG}}
+\def\YAML{\acro{YAML}}
% \end{macrocode}
%
% Xe\TeX{} requires reflecting the first E, hence we complain if the
@@ -1286,9 +1288,15 @@
\ensuremath{\rangle}%
}
%
-% Use \tt rather than \texttt because italic typewriter is just too ugly,
+% Use \tt rather than \texttt because italic typewriter is just too strange
% and upright works well enough in both italic and bold contexts.
-% Would be nice to change catcode of _ for LaTeX3.
+% Would be nice to change catcode of _ for \LaTeX3, but we don't.
+%
+% By the way, it would be possible to substitute typewriter slanted for
+% typewriter italic in general:
+% \url{https://tex.stackexchange.com/questions/692277}.
+% But it feels like that is too intrusive a change, even though in
+% practice we always prefer tt slanted.
\DeclareRobustCommand{\cs}[1]{\texorpdfstring
{{\tt \char`\\#1}}%
{\textbackslash #1}%
@@ -1370,11 +1378,13 @@
\str_set:Nn\l_tmpa_str{#1}
\str_if_in:NnTF \l_tmpa_str {http://}
{
- \expandafter\hyper@linkurl
- \expandafter{\expandafter\Hurl\expandafter{\l_tmpa_str}}{\l_tmpa_str}
+ \tbhurl@{#1} % if http, redirect to remove protocol
+ % this version prints the http, as we originally thought was better.
+ % \expandafter\hyper@linkurl
+ % \expandafter{\expandafter\Hurl\expandafter{\l_tmpa_str}}{\l_tmpa_str}
}
{
- \str_remove_once:Nn\l_tmpa_str{https://}
+ \str_remove_once:Nn \l_tmpa_str {https://}
\expandafter\hyper@linkurl
\expandafter{\expandafter\Hurl\expandafter{\l_tmpa_str}}
{https://\l_tmpa_str}
@@ -1383,7 +1393,7 @@
\def\tbhurl@#1 % http
{
\str_set:Nn\l_tmpa_str{#1}
- \str_remove_once:Nn\l_tmpa_str{http://}
+ \str_remove_once:Nn \l_tmpa_str {http://}
\expandafter\hyper@linkurl\expandafter{\expandafter\Hurl\expandafter
{\l_tmpa_str}}{http://\l_tmpa_str}
}
@@ -1395,10 +1405,10 @@
\def\tbsurlfootnote#1{\footnote{\raggedright\tbsurl{#1}}}
\def\tbhurlfootnote#1{\footnote{\raggedright\tbhurl{#1}}}
%
-% Close up space between footnote mark and punctuation ("pre-punctuation").
+% Close up space between footnote mark and punctuation (``pre-punctuation'').
\DeclareRobustCommand{\tbppkernfoot}{\tubthinnerspace}
-% Make \! work in text mode.
+% Make \! work in text mode, for older LaTeX.
\DeclareRobustCommand{\!}{\ifmmode\mskip-\thinmuskip \else\kern-0.16667em \fi}
%
% Half a thinspace, positive and negative. Should have named these
@@ -2457,14 +2467,21 @@
% the essentially useless functionality of being able to change them
% using assignment, which I'm not about to struggle with just now...
%
-% \cs{AboveTitleSkip} and \cs{BelowTitleSkip} are what you'd expect;
+% \cs{AboveTitleSkip} is glue above the article title;
+% \cs{BelowTitleSkip} is glue below the authors in the title block.
% \cs{strulethickness} is the value to use for \cs{fboxrule} when
% setting the title, and for the rule above titles when there is no box.
%
+% For \cs{BelowTitleSkip}, add some stretch and shrink since the first
+% column of an article often needs it; otherwise, a first column of all
+% text will come out underfull. Use |plus2pt| since that is the same
+% as the glue above sections, but |minus1pt| since we'd usually prefer
+% to shrink somewhere else if possible.
+%
% \begin{macrocode}
-\newskip\AboveTitleSkip \AboveTitleSkip=12\p@
-\newskip\BelowTitleSkip \BelowTitleSkip=8\p@
-\newdimen\strulethickness \strulethickness=.6\p@
+\newskip\AboveTitleSkip \AboveTitleSkip=12pt
+\newskip\BelowTitleSkip \BelowTitleSkip=8pt plus2pt minus1pt
+\newdimen\strulethickness \strulethickness=.6pt
% \end{macrocode}
%
% \cs{@sectitle} actually generates the section title (in a rather
@@ -2571,7 +2588,9 @@
\else
% \end{macrocode}
% Since we have \(\mathtt{\cs{BelowTitleSkip}} + \mathtt{4pt} =
-% \mathtt{\cs{baselineskip}}\), we say:
+% \mathtt{\cs{baselineskip}}\), we skip by |4pt| here. However, an
+% all-text first column still comes out underfull, maybe because of the
+% top rule? Thus \cs{BelowTitleSkip} is given a little stretch and shrink.
% \begin{macrocode}
\nobreak \vskip 4\p@
{%
@@ -2653,66 +2672,80 @@
%
% The \cs{tubsecfmt} macro defines our standard formatting for section
% titles: ragged right, french spacing, no hyphenation.
+% The \cs{tubruninsecfmt} macro is the simpler form for run-in section
+% headings (when the afterskip is negative), with the afterskip glue
+% given by \cs{tubruninglue}.
% The \cs{tubsechook} macro allows overriding the defaults.
%
% \begin{macrocode}
\def\tubsechook{}
\def\tubsecfmt{\normalsize\bf\raggedright\frenchspacing\nohyphens\tubsechook}
+\def\tubruninglue{-1em plus-2\fontdimen3\font minus-\fontdimen4\font}
+\def\tubruninsecfmt{\normalsize\bf\tubsechook}
%
\if@numbersec
- \def\section{\TB@startsection{{section}%
- 1%
- \z@
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {4\p@}%
- {\tubsecfmt}}}
- \def\subsection{\TB@startsection{{subsection}%
- 2%
- \z@
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {4\p@}%
- {\tubsecfmt}}}
- \def\subsubsection{\TB@startsection{{subsubsection}%
- 3%
- \z@
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {4\p@}%
- {\tubsecfmt}}}
- \def\paragraph{\TB@startsection{{paragraph}%
- 4%
- \z@
- {4\p@ \@plus1\p@ \@minus1\p@}%
- {-1em}%
- {\normalsize\bf\tubsechook}}}
-% \end{macrocode}
-%
-% Now the version if class option \textsc{nonumber} is in effect,
+ \def\section{\TB@startsection{%
+ {section} % name of counter
+ {1} % level
+ {0pt} % indent
+ {-8pt plus-2pt minus-2pt} % beforeskip; negative -> \noindent after
+ {4pt} % afterskip; negative -> hspace for run-in
+ {\tubsecfmt}}} % style
+ %
+ \def\subsection{\TB@startsection{%
+ {subsection}%
+ 2%
+ \z@
+ {-8\p@ \@plus-2\p@ \@minus-2\p@}%
+ {4\p@}%
+ {\tubsecfmt}}}
+ %
+ \def\subsubsection{\TB@startsection{%
+ {subsubsection}%
+ 3%
+ \z@
+ {-8\p@ \@plus-2\p@ \@minus-2\p@}%
+ {4\p@}%
+ {\tubsecfmt}}}
+ %
+ \def\paragraph{\TB@startsection{%
+ {paragraph}%
+ 4%
+ \z@
+ {4\p@ \@plus1\p@ \@minus1\p@}%
+ {\tubruninglue}
+ {\tubruninsecfmt}}}
+% \end{macrocode}
+%
+% Now the version if class option \texttt{nonumber} is in effect,
% i.e., if \cs{if@numbersec} is false.
%
% \begin{macrocode}
\else
\setcounter{secnumdepth}{0}
- \def\section{\TB@nolimelabel
- \TB@startsection{{section}%
- 1%
- \z@
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {4\p@}%
- {\tubsecfmt}}}
- \def\subsection{\TB@nolimelabel
- \TB@startsection{{subsection}%
- 2%
- \z@
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {-0.5em\@plus-\fontdimen3\font}%
- {\tubsecfmt}}}
- \def\subsubsection{\TB@nolimelabel
- \TB@startsection{{subsubsection}%
- 3%
- \parindent
- {-8\p@ \@plus-2\p@ \@minus-2\p@}%
- {-0.5em\@plus-\fontdimen3\font}%
- {\tubsecfmt}}}
+ \def\section{\TB@nolimelabel\TB@startsection{%
+ {section}% same as numbeed
+ 1%
+ \z@
+ {-8\p@ \@plus-2\p@ \@minus-2\p@}%
+ {4\p@}%
+ {\tubsecfmt}}}
+ %
+ \def\subsection{\TB@nolimelabel\TB@startsection{%
+ {subsection}%
+ 2%
+ \z@
+ {-8\p@ \@plus-2\p@ \@minus-2\p@}%
+ {\tubruninglue}
+ {\tubruninsecfmt}}}
+ %
+ \def\subsubsection{\TB@nolimelabel\TB@startsection{
+ {subsubsection}%
+ 3%
+ \parindent
+ {-8\p@ \@plus-2\p@ \@minus-2\p@}%
+ {\tubruninglue}
+ {\tubruninsecfmt}}}
\fi
% \end{macrocode}
%
@@ -3075,7 +3108,23 @@
% Let's reduce the default space above captions a bit, and give it some
% flexibility. The default is |10pt|, which seems too much.
% \begin{macrocode}
-\setlength\abovecaptionskip{3pt plus2pt minus1pt}
+\setlength\abovecaptionskip{3pt plus1pt minus1pt}
+% \end{macrocode}
+%
+% Let's also reduce the space between floats, and between floats and text.
+% The |\dbl...| versions of these parameters are not used, even though
+% we're typesetting in double columns.
+% \begin{macrocode}
+\setlength\floatsep { 9pt plus3pt minus2pt} % default 12pt plus2pt minus2pt
+\setlength\textfloatsep{12pt plus4pt minus3pt} % default 20pt plus2pt minus4pt
+% \end{macrocode}
+%
+% We want to allow more floats at the top/bottom/everywhere on
+% a page; all depends on their content.
+% \begin{macrocode}
+\setcounter{bottomnumber}{2} % default 1
+\setcounter{topnumber}{4} % default 2
+\setcounter{totalnumber}{6} % default 3
% \end{macrocode}
%
% \subsection{Size changing commands}
@@ -3883,12 +3932,11 @@
% \begin{macrocode}
\gdef\nomarkfootnote#1#2{\begingroup
\def\thefootnote{}%
- % no period, please, also no fnmark.
+ % no period, please, also no fnmark. Also no hyperref warning.
\def\@makefntext##1{##1}%
\def\Hy@Warning##1{}%
\footnotetext{\noindent #1#2}%
- \endgroup
-}
+\endgroup}
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/tugboat/tugboat.ins b/macros/latex/contrib/tugboat/tugboat.ins
index 7d2d450f2f..0fd52dac14 100644
--- a/macros/latex/contrib/tugboat/tugboat.ins
+++ b/macros/latex/contrib/tugboat/tugboat.ins
@@ -1,10 +1,10 @@
-% $Id: tugboat.ins 458 2023-01-16 18:44:30Z karl $
+% $Id: tugboat.ins 555 2024-01-24 17:27:21Z karl $
% tugboat.ins
%% This file will generate fast loadable files and documentation
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1994-2023 TeX Users Group.
+%% Copyright 1994-2024 TeX Users Group.
%%
%% This file is part of the tugboat package.
%%
diff --git a/macros/plain/contrib/tugboat/tubguide.pdf b/macros/plain/contrib/tugboat/tubguide.pdf
index 08ee36e297..18dc201945 100644
--- a/macros/plain/contrib/tugboat/tubguide.pdf
+++ b/macros/plain/contrib/tugboat/tubguide.pdf
Binary files differ
diff --git a/macros/plain/contrib/tugboat/tugboat.cmn b/macros/plain/contrib/tugboat/tugboat.cmn
index b51f03acd3..68ba0695f1 100644
--- a/macros/plain/contrib/tugboat/tugboat.cmn
+++ b/macros/plain/contrib/tugboat/tugboat.cmn
@@ -1,6 +1,6 @@
%% @texfile{
%% filename = "tugboat.cmn",
-%% copyright = "Copyright 1993-1996,2006,2008,2011-2023 TeX Users Group.
+%% copyright = "Copyright 1993-1996,2006,2008,2011-2024 TeX Users Group.
%% Unlimited copying and redistribution of this file
%% are permitted as long as this file is not
%% modified. Modifications (and redistribution of
@@ -19,7 +19,7 @@
%% definitions for abbreviations and logos that
%% appear in TUGboat."
%% }
-%% $Id: tugboat.cmn 534 2023-10-29 01:17:51Z karl $
+%% $Id: tugboat.cmn 561 2024-04-15 17:28:40Z karl $
% do nothing when reading this file a second time.
\ifx\tugboatcmn\undefined
@@ -29,8 +29,8 @@
\fi
\next
-\def\fileversion{v1.29}
-\def\filedate{2023-10-28}
+\def\fileversion{v1.30}
+\def\filedate{2024-04-15}
\message{File `TUGBOAT.CMN' \fileversion \space\space <\filedate>}
@@ -97,7 +97,7 @@
\ifx\tugstyloaded@\undefined\let\tugstyloaded@\plaintubstyle\fi
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
+% emacs-page
% ***** abbreviations and logos *****
%
@@ -219,7 +219,6 @@
\def\Thanh{H\`an~Th\^e\llap{\raise.5ex\hbox{\'{}}}~Th\`anh}
\def\TIFF{\acro{TIFF}}
\def\TikZ{Ti{\it k}Z}
-\def\TP{{\sl \TeX:\ The Program\/}}
\def\ttn{{\sl TTN}\spacefactor1000 }
\def\TTN{{\sl \TeX{} and TUG NEWS}\spacefactor1000 }
\def\tubfont{\sl} % redefined in other situations
@@ -259,7 +258,7 @@
\def\nohyphens{\hyphenpenalty\@M\exhyphenpenalty\@M}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
+% emacs-page
% ***** utility registers and definitions *****
%
@@ -743,7 +742,7 @@
\def\signaturemark{\leavevmode\llap{$\diamond$\enspace}}
-
+% emacs-page
% Some hyphenation exceptions, plus read our entire
% ushyphex.tex file if present -- unless \tubomithyphenations
% is defined, in which case do nothing (needed for tb*hyf.tex).
@@ -1024,6 +1023,8 @@ that may not be obvious. For full definitions, see real code above.
Version Date Changes
------- --------- ---------------------------------------------------
+1.30 15 Apr 24 remove duplicate \TP definition.
+
1.29 28 Oct 23 in \AllTeX, kern around ).
define \pdfTeX and \pdfLaTeX with italic corrections.
define \LMTX.
diff --git a/macros/plain/contrib/tugboat/tugboat.sty b/macros/plain/contrib/tugboat/tugboat.sty
index 529d8bf420..88f8d03662 100644
--- a/macros/plain/contrib/tugboat/tugboat.sty
+++ b/macros/plain/contrib/tugboat/tugboat.sty
@@ -1,6 +1,6 @@
%% @texfile{
%% filename = "tugboat.sty",
-%% copyright = "Copyright 1993,1999,2003,2006,2011-2023 TeX Users Group.
+%% copyright = "Copyright 1993,1999,2003,2006,2011-2024 TeX Users Group.
%% Unlimited copying and redistribution of this file
%% are permitted as long as this file is not
%% modified. Modifications (and redistribution of
@@ -18,11 +18,11 @@
%% for preparation of items in TUGboat, the
%% Communications of the TeX Users Group.",
%% }
-%% $Id: tugboat.sty 534 2023-10-29 01:17:51Z karl $
+%% $Id: tugboat.sty 561 2024-04-15 17:28:40Z karl $
\def\thistubstyle{plain}
-\def\fileversion{v1.29}
-\def\filedate{2023-10-28}
+\def\fileversion{v1.30}
+\def\filedate{2024-03-31}
% general items
@@ -504,7 +504,9 @@
%
% Macros so we can use the same code as tugboat.dtx.
\newif\iftubomitdoioption % explicit option when posting early
-\newif\iftubsecondcolstart % we'll add if ever needed for plain
+
+\newif\iftubsecondcolstart % when we splice, e.g., tb139wermuth-isdim
+\newdimen\tubcolwidthandgutter
\newif\iftubfinaloption % set in tugboat.dates
\def\tbsurl#1{{\tt #1}} % we don't try to have live urls in plain
\def\tbhurl#1{{\tt #1}} % we don't try to have live urls in plain
@@ -522,7 +524,7 @@
doi.org/\tubdoiprefix/\volno-\issno/\jobname}%
\scriptsize
\vskip\baselineskip
- \iftubsecondcolstart \moveright \tubcolwidthandgutter \fi
+ \iftubsecondcolstart \moveright\tubcolwidthandgutter \fi
\rlap{\expandafter\tbsurl\expandafter{\thedoi}}%
\vss
}%
@@ -1365,6 +1367,10 @@
\def\article{%
\@allowspanningfigsfalse
+ \iftubsecondcolstart % if splicing, start in col.2
+ \null\newcol % and set horizontal shift
+ \tubcolwidthandgutter=\colwd \advance\tubcolwidthandgutter by \intercolwd
+ \fi
\ifSecTitle \global\SecTitlefalse
\else \vskip\AboveTitleSkip
\kern\topskip
@@ -2243,6 +2249,8 @@
Version Date Changes
------- --------- ---------------------------------------------------
+1.30 15 Apr 24 implement \iftubsecondcolstart for tb139wermuth-isdim.
+
1.29 28 Oct 23 introduce \abovecaptionskipamount, reduce to \smallskip
a la ltugboat.
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 8f8852fe9a..310103696e 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -36,7 +36,6 @@ $mirrors = {
},
'Iran' => {
'http://ctan.asis.ai/' => 1,
- 'https://ctan.yazd.ac.ir/' => 1,
},
'Japan' => {
'https://ftp.jaist.ac.jp/pub/CTAN/' => 1,
@@ -179,9 +178,6 @@ $mirrors = {
'https://mirror.quantum5.ca/CTAN/' => 1,
'https://muug.ca/mirror/ctan/' => 1,
},
- 'Costa Rica' => {
- 'https://mirrors.ucr.ac.cr/CTAN/' => 1,
- },
'USA' => {
'http://mirrors.ibiblio.org/pub/mirrors/CTAN/' => 1,
'https://ctan.math.illinois.edu/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 5d4acf62e4..47e67d0ed2 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/2024
-depend revision/70947
+depend revision/70960
name 00texlive.image
category TLCore
-revision 70922
+revision 70952
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
@@ -4883,7 +4883,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 70934
+revision 70949
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
@@ -20394,7 +20394,7 @@ catalogue-topics geometry
name aobs-tikz
category Package
-revision 32662
+revision 70952
shortdesc TikZ styles for creating overlaid pictures in beamer
relocated 1
longdesc The package defines auxiliary TikZ styles useful for overlaying
@@ -20402,25 +20402,25 @@ longdesc pictures' elements in Beamer. The TikZ styles are grouped in a
longdesc library, overlay-beamer-styles which is automatically called by
longdesc the package itself. Users may either load just aobs-tikz or the
longdesc library; the latter method necessitates TikZ manual load.
-containersize 1680
-containerchecksum 76e3f9748c704efafda74e6184aa3c0199f8dae3a9f433615fb87ac5fd7c81d5dd604e91ed7648b68f05919425f82fd19ca0b66f4f590f55e55634a5cc4b7f9a
-doccontainersize 88032
-doccontainerchecksum 3732ca200dcb7d3d4b99cbb0edbe13ef7c9293e8424457c2493c330b4ea810bca21851161b83740bf3b7b53899941e906b0b2e4b46ba715e7b5bbe19844d2070
-docfiles size=25
- RELOC/doc/latex/aobs-tikz/README details="Readme"
+containersize 1656
+containerchecksum 3b8865136cac0af006f8b02b527f7dcdb609a97101a6d5e51ece579a04c53ebc9b912dece8ea541d3014080a39554edb0cfd6f67529087a1ea57b93ae24a2684
+doccontainersize 94668
+doccontainerchecksum f91aa5de9a8042edd4394ddc08f9c81503f7bab40d0bcd4f864eb454f9bab86684efe8452c53149dcce1d5eb80b335e90ef06d2007fbbc769a862253ea44e05f
+docfiles size=27
+ RELOC/doc/latex/aobs-tikz/README.txt details="Readme"
RELOC/doc/latex/aobs-tikz/aobs-tikz.pdf details="Package documentation"
RELOC/doc/latex/aobs-tikz/example.tex
-srccontainersize 5852
-srccontainerchecksum 2cc8953d5e03bb1e6fc35d323a35d434aef291b165f1ac4fa0b005689af3d7988770d0a86fb4b4c3dd3ef6ea876f962dac5653e695533e089a7a50653358f40a
+srccontainersize 5936
+srccontainerchecksum bcd45b2d8a50f9004f21e5d776843f255f016c584b43c2b6be4db5d4cb0b2c61f9432b0afa89873e649f8fe5ec97b59ccdb4458b58017d220ca84489afa03f81
srcfiles size=6
RELOC/source/latex/aobs-tikz/aobs-tikz.dtx
RELOC/source/latex/aobs-tikz/aobs-tikz.ins
runfiles size=1
RELOC/tex/latex/aobs-tikz/tikzlibraryoverlay-beamer-styles.code.tex
catalogue-ctan /graphics/pgf/contrib/aobs-tikz
-catalogue-license lppl1.3
+catalogue-license lppl1.3c
catalogue-topics pgf-tikz presentation
-catalogue-version 1.0
+catalogue-version 1.01
name aomart
category Package
@@ -39296,7 +39296,7 @@ catalogue-version 1.1z
name biblatex-chicago
category Package
-revision 65037
+revision 70955
shortdesc Chicago style files for BibLaTeX
relocated 1
longdesc This is a BibLaTeX style that implements the Chicago
@@ -39306,11 +39306,11 @@ longdesc edition (with continuing support for the 16th edition, too).
longdesc The style implements entry types for citing audio-visual
longdesc materials, among many others. The package was previously known
longdesc as biblatex-chicago-notes-df.
-containersize 109164
-containerchecksum dd93d36fbe11af94840c9dcd30695f5b291bc5da58b7e30e47960be42094cfb48a31a8d1c24dae41b56420f65b3b5849ad29a558387a9fb38006a9f816932841
-doccontainersize 2707232
-doccontainerchecksum e30297477d9e353bdd073b7afcfac2c890fb255e4c20ccbffea7fb3a3c6593496749f1cef0bb1d38aee649d3b054c844efb47008493f5410895a55b3369672c4
-docfiles size=1047
+containersize 109564
+containerchecksum 913b333d86424c38cba11c78104de2feca956ae3d345eee2b0befaa92bebc1884434090a882b4f2220fa2bef1746b75b83ac1421a613c018b6673155efb0340a
+doccontainersize 2709972
+doccontainerchecksum aae4fdaf5aac6c7ecc382c13f71632a9e4d58bbbab96752779de384d762334f1eb70d6e010669cbc67632cf8a6af92bab44d9ce794f5fe2456b0f9e6e9472618
+docfiles size=1048
RELOC/doc/latex/biblatex-chicago/README details="Readme and usage outline"
RELOC/doc/latex/biblatex-chicago/RELEASE
RELOC/doc/latex/biblatex-chicago/biblatex-chicago.pdf details="Package documentation"
@@ -39334,7 +39334,7 @@ docfiles size=1047
RELOC/doc/latex/biblatex-chicago/dates-test.bib
RELOC/doc/latex/biblatex-chicago/legal-test.bib
RELOC/doc/latex/biblatex-chicago/notes-test.bib
-runfiles size=495
+runfiles size=496
RELOC/tex/latex/biblatex-chicago/biblatex-chicago.sty
RELOC/tex/latex/biblatex-chicago/chicago-authordate-trad.bbx
RELOC/tex/latex/biblatex-chicago/chicago-authordate-trad.cbx
@@ -39371,7 +39371,7 @@ runfiles size=495
catalogue-ctan /macros/latex/contrib/biblatex-contrib/biblatex-chicago
catalogue-license lppl1.3
catalogue-topics biblatex
-catalogue-version 2.3a
+catalogue-version 2.3b
name biblatex-claves
category Package
@@ -87721,7 +87721,7 @@ catalogue-version 1.10.2
name crossrefenum
category Package
-revision 66014
+revision 70954
shortdesc Smart typesetting of enumerated cross-references for various TeX formats
relocated 1
longdesc crossrefenum lets TeX manage the formatting of bunches of
@@ -87737,11 +87737,11 @@ longdesc order the labels they refer to appear in their document. It is
longdesc written in Plain TeX as much as possible in order to make it
longdesc compatible with a wide array of formats. For the moment, it
longdesc works out of the box with ConTeXt and LaTeX.
-containersize 11672
-containerchecksum ec85888801dd66c0e1b22a257be19eb141b922975a7dfeff90ba146232a6d8b9a7b76e338b68548ae228a1317af0208072c06cd10ddebbada93b11b72907c817
-doccontainersize 287560
-doccontainerchecksum c5d847af7f8c2d753563d5f393cd3de2936de96ebf1e653b7e0b9f72da75f3481ce1a783329f74ccf8e5f160eae81e045c663775dac916c431edafb1677b5860
-docfiles size=150
+containersize 11752
+containerchecksum c35015e8273d2c05dbd6226be947bdd0d3656880b8f8415e77ccd9c50bdc675cdd99395bf35e0e70a5e9a87b74db8dfab0c7bb310e35eea8ec1ab0570a11fac8
+doccontainersize 286924
+doccontainerchecksum b8bda8557e266403c9c0b6835a09f3426539a07e3294e6e66304806d73b555344681d1641ef041ae5911521373d085a437b5b5dcc7c3af36c21d7cbd4cef813c
+docfiles size=178
RELOC/doc/generic/crossrefenum/CHANGELOG.md
RELOC/doc/generic/crossrefenum/LICENSE.txt
RELOC/doc/generic/crossrefenum/README.md details="Readme"
@@ -87771,7 +87771,7 @@ catalogue-contact-repository https://bastien-dumont.onmypc.net/git/bdumont/cross
catalogue-ctan /macros/generic/crossrefenum
catalogue-license gpl3+ fdl
catalogue-topics label-ref context
-catalogue-version 1.0.2
+catalogue-version 1.1
name crossreference
category Package
@@ -113803,21 +113803,21 @@ binfiles arch=x86_64-solaris size=1
name epcqrcode
category Package
-revision 70916
+revision 70956
shortdesc Generate valid EPC QR codes
relocated 1
longdesc This package is a wrapper for the qrcode package. It can be
longdesc used to generate valid EPC QR codes by providing syntax and
-longdesc validity checks for given inputs.
-containersize 4236
-containerchecksum 2beda71f2be7a3ad2e5ad0201ebc6eb6ef25264399ad84d8da6c1dff87f1242d7bebb5a189d77d96614cb53e23a52f894602a5b6d4a55f22e4682f6ef13de51a
-doccontainersize 158108
-doccontainerchecksum 2b28de17aac6e9bf58a2e9fb3c64ad9a9923ef92c05aa3888b064005feda01d8a1462a18190d3c2404a20e264089b5e980ede97b3e0d3fb511728d68ced16cfc
+longdesc validity checks, e.g. verifiying the correctness of the IBAN.
+containersize 4240
+containerchecksum b28e4d4db7650d355f57ba8d884acc00f1d72d28ab2cb763a738899c2cb3e85476ce72fa1d58c5588b897d7d8a909a7e9707fb0177f9bc1032848edd3c73c210
+doccontainersize 157396
+doccontainerchecksum 07830af701c37b2ebd20b8626e4e50faee1b51ebd1a9894223ca0b4461a3ea5671792fc710cc87009229075b2e7769f27138e7f48ec5da0fbdc7006971ced5af
docfiles size=41
RELOC/doc/latex/epcqrcode/README details="Readme"
RELOC/doc/latex/epcqrcode/epcqrcode-doc.pdf details="Package documentation"
-srccontainersize 5832
-srccontainerchecksum 14a77f6b9198400ed1747dbcd3a7857996eaca042367273adf9af80c06d8b10eacfa46a0bde0165f7bcf6ccde5ba3cbf6deb8a68bf9e78bd0685f04c8577ecdf
+srccontainersize 5840
+srccontainerchecksum e06c51d714976a86c09433cb527488d6cc5cec533c6cde02358eaf9b8f6f668413f8a18ac7bfe101cbb0b36cbfd7a15450f79b2f25370d5cc1bdc83ea68ba4bd
srcfiles size=9
RELOC/source/latex/epcqrcode/epcqrcode.dtx
RELOC/source/latex/epcqrcode/epcqrcode.ins
@@ -113828,7 +113828,7 @@ catalogue-contact-repository https://github.com/epcqrcode/epcqrcode
catalogue-ctan /macros/latex/contrib/epcqrcode
catalogue-license lppl1.3
catalogue-topics qrcode
-catalogue-version 1.0
+catalogue-version 1.1
name epigrafica
category Package
@@ -131964,16 +131964,17 @@ catalogue-version 0.7.3
name fontscale
category Package
-revision 70885
+revision 70957
shortdesc A flexible interface for setting font sizes
relocated 1
longdesc This package provides an interface for selecting (arbitrary)
longdesc font sizes and associated values.
-containersize 6580
-containerchecksum 50e1f8016c5d9b35bf201ede8256a7068892951a67bcf5de6d3dc30f161178f92b97c96f4d2554445b9bdcf61feff7cd24e02c4a2bfc255440382d6d8250e8c9
-doccontainersize 135304
-doccontainerchecksum 5089a6816eb2ff0b0c801e032f2ab1f5077f7681d9966896ceb08f98f309fe9d7c5551e49b64dc35c4958b6a6b218ca0cf4cca983f31d9c25040df3e24441c60
-docfiles size=44
+containersize 6520
+containerchecksum 6fea3d98479a4a3597c40c74bd6b7f56ae92a26744206c27fe99bf8adaafe6940d66656a1ada647fd7f4e6926db15a23629eb0ab00550bc2bacc2ef95d7c25f7
+doccontainersize 137536
+doccontainerchecksum 1e0254e946d489006c98ac0476f7671c396135723afc7742728d9ef15a7ad2a86acc20e3ed6e792fe38de764a61d16545d5b245e3306ba5605305d3b95e73f7b
+docfiles size=46
+ RELOC/doc/latex/fontscale/CHANGELOG.md
RELOC/doc/latex/fontscale/README.txt details="Readme"
RELOC/doc/latex/fontscale/beery.cls
RELOC/doc/latex/fontscale/fontscale-manual-table-classic.tex
@@ -131988,7 +131989,7 @@ catalogue-contact-repository https://github.com/beeryoliver/fontscale
catalogue-ctan /macros/latex/contrib/fontscale
catalogue-license lppl1.3c
catalogue-topics expl3 font-sel
-catalogue-version 1.1.1
+catalogue-version 1.2.0
name fontsetup
category Package
@@ -271554,29 +271555,27 @@ catalogue-version 0.07
name pst-geometrictools
category Package
-revision 61430
+revision 70953
shortdesc A PSTricks package to draw geometric tools
relocated 1
longdesc This PSTricks package facilitates the drawing of protractors,
longdesc rulers, compasses and pencils.
-containersize 7492
-containerchecksum 838ddf95e3ba7a13fcdb5cf97d85647cb6b15bb6735947d26e358af83a34a4d5bf55530c4624f006eff4a9f0794d1fd7f5a3ed351607243e31537e36bda33b96
-doccontainersize 393496
-doccontainerchecksum 4b7d2316dff80420ed5ce03046115670a4ad51c705dd960f56f6e7debf20b0d3c86030d93cc635410e01535aec1b42dd3497d18126e6c86bb9304c5cd506306d
-docfiles size=124
+containersize 7484
+containerchecksum ffbfef78d34145bcaeb88c59b2366aaed4e50107a8a86fe8a2a45ea83ac390e324d44253163f12b8b4b62af54b4d8b48feca349b14d37888d0e4dc921a7c7d1c
+doccontainersize 225964
+doccontainerchecksum d824388bd65be2bb75497182ea315f97266b485fa6d2b0a18bdc8c71502328cc7bdf2e5f60e2d73dc30bd37d0387d7c8bc9612f1760a2a36796ab4a5dc79ede9
+docfiles size=72
RELOC/doc/generic/pst-geometrictools/Changes
RELOC/doc/generic/pst-geometrictools/README.md details="Readme"
RELOC/doc/generic/pst-geometrictools/pst-geometrictools-doc.pdf details="Package documentation"
RELOC/doc/generic/pst-geometrictools/pst-geometrictools-doc.tex
- RELOC/doc/generic/pst-geometrictools/pst-geometrictools-fr-doc.pdf details="Package documentation (French)" language="fr"
- RELOC/doc/generic/pst-geometrictools/pst-geometrictools-fr-doc.tex
runfiles size=14
RELOC/tex/generic/pst-geometrictools/pst-geometrictools.tex
RELOC/tex/latex/pst-geometrictools/pst-geometrictools.sty
catalogue-ctan /graphics/pstricks/contrib/pst-geometrictools
catalogue-license lppl1.3c
catalogue-topics pstricks maths graphics-use
-catalogue-version 1.3
+catalogue-version 1.4
name pst-gr3d
category Package
@@ -296700,7 +296699,7 @@ catalogue-version 1.36
name siunitx
category Package
-revision 70929
+revision 70958
shortdesc A comprehensive (SI) units package
relocated 1
longdesc Typesetting values with units requires care to ensure that the
@@ -296723,17 +296722,17 @@ longdesc sistyle, unitsdef and units. The aim is to have one package to
longdesc handle all of the possible unit-related needs of LaTeX users.
longdesc The package relies on LaTeX 3 support from the l3kernel and
longdesc l3packages bundles.
-containersize 67864
-containerchecksum 5518f3e6990e2ba320f5b2a91d83df42fb63581071c74cc8d2d0284371b5fbd6b70c27c2d80f43ba1a4c4c29795af38686b1e05cab42e651b3a397a780c77c6e
-doccontainersize 1285636
-doccontainerchecksum ae2d7041f802feb3266e59191cbbd323ae8a29065cd8b8ccc718a0b4223570d3ac5335e58441ef37bb280c29b0c28a125546b3c4e34f0ad76c89544450587484
+containersize 67888
+containerchecksum 6677d4d6e50d8f2f34180efd89d9d98a021df7c0f33b0ccb00659f03cb7ca545d6ae821683e7841d39a8331df7d0069a109003a6ad80c06348dcbc384fbc9f60
+doccontainersize 1286276
+doccontainerchecksum 59152765588494647de818277575d5ccecfa3549c59ec32d9814c3f86cf4ba14835ef76635e3b500dc98b81e7ba6dcffa86adb06f51b9aa63a05a3ba5dced9f2
docfiles size=351
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 123064
-srccontainerchecksum f8ca664dfe242d89a3f82727274abd71dbadbdf6c1bab6acc761d1e81f46ef2c4d3f52fa5d8606e63934c4dfc5f61cc84fe7b520542dff40fb4c7252b8d9f331
+srccontainerchecksum 221b121e891cc49748c103f359820f3d2054bd76d07107cddc3e13f0aad6f1972301126ca6e84b9470f07d6492e68b1b39a23a45aa9a511c710d832737307fc6
srcfiles size=190
RELOC/source/latex/siunitx/siunitx-abbreviation.dtx
RELOC/source/latex/siunitx/siunitx-angle.dtx
@@ -296765,7 +296764,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.3.13
+catalogue-version 3.3.14
name sjtutex
category Package
@@ -326266,7 +326265,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 70933
+revision 70949
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.
@@ -326274,10 +326273,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 114188
-containerchecksum 625563759ccb2aa64bf3e03b25326781c0ed3ababb3a3569d17c7ba8fb4546fd705a030e6431a6288fd601972d03b6e7146060b9004abf1069d82561d80c8950
-doccontainersize 434600
-doccontainerchecksum ec4021b122303f10ebc6ef248d4eebb4f723407850c73e77a1eed75a67edb91938718de3aa954036a8a397dbd8d9bc47fb42fe3302b575ad68e93178f9e9a508
+containersize 114132
+containerchecksum f3c50e4430a5b267a1b6d457c9aeff00aa9626933021bb6ed8d1116c7db404ffdacbba2c35da82e86656ef3a8c59b7ee117c22e83851ddada87a58cf99d386df
+doccontainersize 434552
+doccontainerchecksum 57f49b37a2559803dbd1c013d1c10dee3e72f3e8c2a777eb34c3fd55834da993ff5797aab6a9e88e48160ea5960cb3516a59973b527328306e30a130f503a0f1
docfiles size=567
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
@@ -344561,16 +344560,16 @@ catalogue-version 3.5.2
name tugboat
category Package
-revision 68694
+revision 70959
shortdesc LaTeX macros for TUGboat articles
relocated 1
longdesc Provides ltugboat.cls for both regular and proceedings issues
longdesc of the TUGboat journal. Also provides a BibTeX style,
longdesc tugboat.bst.
-containersize 32076
-containerchecksum 23c3ba2e45560d22a55c4eea733fbfc55466503631eb02c61527f0a73a595790ffe8c8143df2327af61ad8c23848309065fa69abcf181f584f64d03f437228de
-doccontainersize 809348
-doccontainerchecksum d0482d7fe4ea30d21f43a9266c8ab4b85da66fbfabcf405ba8aee229c0081b623f1cb5862fd7e057d4080439275aa08212079bfed06f992553c4b0dec3a96798
+containersize 32320
+containerchecksum 8534fdb228060d3693d678f969185e559c5a1f09644bb3e5676c3553fc52103f1993fc2b0e799402fd5f70a86d30b2a3e6098c76929a6531cb297562cf728eeb
+doccontainersize 811440
+doccontainerchecksum fb419036a3d5924257fa854df59b4d4e8a8d9d3130cec46f5ea3312b87e089aaf93f395db338f89d5653516d6bde5ead0f4bd842f96161db7e37f6c034e8c2a2
docfiles size=222
RELOC/doc/latex/tugboat/NEWS
RELOC/doc/latex/tugboat/README details="Readme"
@@ -344578,9 +344577,9 @@ docfiles size=222
RELOC/doc/latex/tugboat/ltubguid.pdf details="Instructions for authors"
RELOC/doc/latex/tugboat/manifest.txt
RELOC/doc/latex/tugboat/tugboat-code.pdf details="Program documentation"
-srccontainersize 44100
-srccontainerchecksum fec6b9556d9a945a3e9ccf73d0d043d099883d4c5c01c0d4a06e50b7900414c37fc62ec586e43526ee4c9e711c558b1601dc46248f2a97180bb75ebd79decbd1
-srcfiles size=38
+srccontainersize 44708
+srccontainerchecksum ffa1aa19508b9a3dc69a6c7b165a08b3eff73d7517f99626044c676ac21a5ae55ce96250de9fbd9c8aa24521c6611ebe5152b1d4c9db9aaec6ad68d58ea4c9dd
+srcfiles size=39
RELOC/source/latex/tugboat/tugboat.dtx
RELOC/source/latex/tugboat/tugboat.ins
runfiles size=46
@@ -344598,20 +344597,20 @@ catalogue-contact-repository https://github.com/TeXUsersGroup/tugboat
catalogue-ctan /macros/latex/contrib/tugboat
catalogue-license lppl1.3
catalogue-topics journalpub class
-catalogue-version 2.31
+catalogue-version 2.32
name tugboat-plain
category Package
-revision 68695
+revision 70960
shortdesc Plain TeX macros for TUGboat
relocated 1
longdesc The macros defined in this directory (in files tugboat.sty and
longdesc tugboat.cmn) are used in papers written in Plain TeX for
longdesc publication in TUGboat.
-containersize 33868
-containerchecksum e30aecd365721f9c986b70eedd022bde17ffcf348452d650144792bed0854f18547d837d0b3731cd0810d5f6f32f10778b1adf3b29eb07a8ed4d0765dd88cf61
+containersize 33972
+containerchecksum 414127530c61079dacd1a50bf776a0a6296a2fb451de712a8c70b79c171b4427139a53e6b4b28abe3b9405b2db8c298a390d7c2fdeb316750ece3e9b8b1f5869
doccontainersize 220360
-doccontainerchecksum c49683e2cef04b15c39dd275f950d602be8ecbc2e6fd644634a60100257f2367a623d06086558a69c469fb3597fd32e0a2ccee4ce9e90791daa8f8e67e1122f3
+doccontainerchecksum a3bc01b29c10b28e1635c010269f809965f61e012c07bf16821a29541a6127aaad76a7c3d2a686812037bae897f363c3af4d45d252f6ba9b4ac8cf7a60e94bbe
docfiles size=60
RELOC/doc/plain/tugboat-plain/README
RELOC/doc/plain/tugboat-plain/tubguide.pdf details="TUGboat Authors' Guide"
@@ -344626,7 +344625,7 @@ catalogue-contact-repository https://github.com/TeXUsersGroup/tugboat
catalogue-ctan /macros/plain/contrib/tugboat
catalogue-license other-free
catalogue-topics journalpub
-catalogue-version 1.29
+catalogue-version 1.30
name tui
category Package
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 3e53659693..2a74b78dd6 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-976badcb0464ee14345af0fbb6297563 texlive.tlpdb
+b0dd1c42dcb158cab09e30b561bce7c6 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 704de48bad..abe700e269 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-948dac92d5041c66d5ae8b46ad20fec6a1225259186e1bbbd699bd78afca91317ca5f7ad505c31066ac462307c5b115ee48de931abddb907411134b8df2d86ff texlive.tlpdb
+954d8bee6c72f992d009adb5c70c2cd4e18814ab7bc0c0d2dcddcc6ebd10db0e7a255cf23c09ebd4bc20a9775f90a64573058c73bd880699e9e4fc0a073dfd70 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index c5208c2864..95d299903b 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmYca3oACgkQTOGHfhlD
-jHDLwAf+N3XL7K04qVw5tnXEEKbV23qRKBtn48E/LY1G2bobAO4jTYGfQX/0OZoE
-Kgj2+rCiR2rWGS9CBTmqzCSUUj68hAOymPgN5JGGie5OqBZ+acitmFJ9Uu+Y9HB1
-v2LI35bud1M/65Aud81zZgm0pM9j52gDF1lkFhfYI0N4KtBROAPohvAcffAMKrlC
-3K83SuDwqBMBNVor+V4zm0dUgSXlI9URGLWG5pKrt2EfywtTxryOzylAn9G5mfQ0
-I85xkVJMobUvJKXXvKABQBVz3c3UyMwU5ORZq5hgMPyIfKeOC0kWvHvCRQfOz/Uf
-8UWU9kF+8ZjkygYcd9/5Rvgx5sildg==
-=Iknm
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmYdvKUACgkQTOGHfhlD
+jHCVrAgAkc8DoenU/6i3qsFiG2uRDTRHwfDcD0VeP7ad6Cd8OnQa4W/1sKvh3AId
+ulBGCti5xVvgoDbbia6igCoXQf0l55ciaUhTBHmFDSLBFLryCrKqCZp4TsJJMflY
+X8D1NvVBSmU5XhVjvg4UvVrSo8e2nCZQsyIZ3lX8HMspuPQC/img5hZjwVmHaSYE
+uBfK63g7FrCBtX8rYZCuXz23Xnf0go5Um+gCw/cnHCka0Tx+hN2kqyfDMvq3pJ6a
+hd2/VX/PbSFxm3NDzMYS7gBAw37Vf/ggFhl0MJV3/nOZq1X1+NFHUHRY/6LLbqzW
+NbKF69ZlhZ0VJvrnYufM8lqgrWk8dQ==
+=eQr0
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 6dec05e13a..9d34cb5ed8 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/timestamp b/timestamp
index 8768680b03..a0b2881552 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:
-2024-04-15-02-02
+2024-04-16-02-02