summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-05-01 03:00:54 +0000
committerNorbert Preining <norbert@preining.info>2024-05-01 03:00:54 +0000
commit6ac3dbed4b71022bd6bb0cc25e8fc3df81198498 (patch)
tree74689e5368262d351f68fb5d1f0fbea88a3af701
parent3bb814fe836cd59db56f2f5d07f69cb531ed25e0 (diff)
CTAN sync 202405010300
-rw-r--r--FILES.byname408
-rw-r--r--FILES.byname.gzbin2648294 -> 2648924 bytes
-rw-r--r--FILES.last07days282
-rw-r--r--biblio/ctan-bibdata/ctan.bib34
-rw-r--r--macros/generic/markdown/CHANGES.md22
-rw-r--r--macros/generic/markdown/README.md37
-rw-r--r--macros/generic/markdown/VERSION2
-rw-r--r--macros/generic/markdown/examples/context-mkiv.tex13
-rw-r--r--macros/generic/markdown/examples/latex-luatex.tex29
-rw-r--r--macros/generic/markdown/examples/latex-pdftex.tex18
-rw-r--r--macros/generic/markdown/markdown.dtx767
-rw-r--r--macros/generic/markdown/markdown.html2
-rw-r--r--macros/generic/markdown/markdown.pdfbin1099548 -> 1116505 bytes
-rw-r--r--macros/latex/contrib/nmbib/Makefile6
-rw-r--r--macros/latex/contrib/nmbib/README2
-rw-r--r--macros/latex/contrib/nmbib/nmbib-sample.pdf (renamed from macros/latex/contrib/nmbib/nmsample.pdf)bin96763 -> 101693 bytes
-rw-r--r--macros/latex/contrib/nmbib/nmbib-sample.tex (renamed from macros/latex/contrib/nmbib/nmsample.tex)0
-rw-r--r--macros/latex/contrib/nmbib/nmbib.dtx4
-rw-r--r--macros/latex/contrib/nmbib/nmbib.pdfbin347244 -> 368243 bytes
-rw-r--r--macros/latex/contrib/nmbib/nmbibtex.1135
-rw-r--r--macros/latex/required/l3backend/CHANGELOG.md (renamed from macros/latex/contrib/l3backend/CHANGELOG.md)11
-rw-r--r--macros/latex/required/l3backend/README.md (renamed from macros/latex/contrib/l3backend/README.md)2
-rw-r--r--macros/latex/required/l3backend/l3backend-basics.dtx (renamed from macros/latex/contrib/l3backend/l3backend-basics.dtx)14
-rw-r--r--macros/latex/required/l3backend/l3backend-box.dtx (renamed from macros/latex/contrib/l3backend/l3backend-box.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-code.pdf (renamed from macros/latex/contrib/l3backend/l3backend-code.pdf)bin908163 -> 907780 bytes
-rw-r--r--macros/latex/required/l3backend/l3backend-code.tex (renamed from macros/latex/contrib/l3backend/l3backend-code.tex)0
-rw-r--r--macros/latex/required/l3backend/l3backend-color.dtx (renamed from macros/latex/contrib/l3backend/l3backend-color.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-draw.dtx (renamed from macros/latex/contrib/l3backend/l3backend-draw.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-graphics.dtx (renamed from macros/latex/contrib/l3backend/l3backend-graphics.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-header.dtx (renamed from macros/latex/contrib/l3backend/l3backend-header.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-opacity.dtx (renamed from macros/latex/contrib/l3backend/l3backend-opacity.dtx)2
-rw-r--r--macros/latex/required/l3backend/l3backend-pdf.dtx (renamed from macros/latex/contrib/l3backend/l3backend-pdf.dtx)106
-rw-r--r--macros/latex/required/l3backend/l3backend.ins (renamed from macros/latex/contrib/l3backend/l3backend.ins)0
-rw-r--r--macros/latex/required/l3kernel/CHANGELOG.md (renamed from macros/latex/contrib/l3kernel/CHANGELOG.md)28
-rw-r--r--macros/latex/required/l3kernel/README.md (renamed from macros/latex/contrib/l3kernel/README.md)2
-rw-r--r--macros/latex/required/l3kernel/expl3.dtx (renamed from macros/latex/contrib/l3kernel/expl3.dtx)4
-rw-r--r--macros/latex/required/l3kernel/expl3.pdf (renamed from macros/latex/contrib/l3kernel/expl3.pdf)bin610363 -> 610060 bytes
-rw-r--r--macros/latex/required/l3kernel/interface3.pdf (renamed from macros/latex/contrib/l3kernel/interface3.pdf)bin1795605 -> 1801752 bytes
-rw-r--r--macros/latex/required/l3kernel/interface3.tex (renamed from macros/latex/contrib/l3kernel/interface3.tex)2
-rw-r--r--macros/latex/required/l3kernel/l3.ins (renamed from macros/latex/contrib/l3kernel/l3.ins)3
-rw-r--r--macros/latex/required/l3kernel/l3basics.dtx (renamed from macros/latex/contrib/l3kernel/l3basics.dtx)16
-rw-r--r--macros/latex/required/l3kernel/l3bitset.dtx (renamed from macros/latex/contrib/l3kernel/l3bitset.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3bootstrap.dtx (renamed from macros/latex/contrib/l3kernel/l3bootstrap.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3box.dtx (renamed from macros/latex/contrib/l3kernel/l3box.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3cctab.dtx (renamed from macros/latex/contrib/l3kernel/l3cctab.dtx)33
-rw-r--r--macros/latex/required/l3kernel/l3clist.dtx (renamed from macros/latex/contrib/l3kernel/l3clist.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3coffins.dtx (renamed from macros/latex/contrib/l3kernel/l3coffins.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3color.dtx (renamed from macros/latex/contrib/l3kernel/l3color.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3debug.dtx (renamed from macros/latex/contrib/l3kernel/l3debug.dtx)15
-rw-r--r--macros/latex/required/l3kernel/l3deprecation.dtx (renamed from macros/latex/contrib/l3kernel/l3deprecation.dtx)63
-rw-r--r--macros/latex/required/l3kernel/l3doc.dtx (renamed from macros/latex/contrib/l3kernel/l3doc.dtx)6
-rw-r--r--macros/latex/required/l3kernel/l3doc.pdf (renamed from macros/latex/contrib/l3kernel/l3doc.pdf)bin565279 -> 565282 bytes
-rw-r--r--macros/latex/required/l3kernel/l3docstrip.dtx (renamed from macros/latex/contrib/l3kernel/l3docstrip.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3docstrip.pdf (renamed from macros/latex/contrib/l3kernel/l3docstrip.pdf)bin151266 -> 150985 bytes
-rw-r--r--macros/latex/required/l3kernel/l3expan.dtx (renamed from macros/latex/contrib/l3kernel/l3expan.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3file.dtx (renamed from macros/latex/contrib/l3kernel/l3file.dtx)19
-rw-r--r--macros/latex/required/l3kernel/l3flag.dtx (renamed from macros/latex/contrib/l3kernel/l3flag.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-assign.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-assign.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-aux.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-aux.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-basics.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-basics.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-convert.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-convert.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-expo.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-expo.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-extended.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-extended.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-functions.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-functions.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-logic.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-logic.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-parse.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-parse.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-random.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-random.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-round.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-round.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-symbolic.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-symbolic.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-traps.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-traps.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-trig.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-trig.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp-types.dtx (renamed from macros/latex/contrib/l3kernel/l3fp-types.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fp.dtx (renamed from macros/latex/contrib/l3kernel/l3fp.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3fparray.dtx (renamed from macros/latex/contrib/l3kernel/l3fparray.dtx)57
-rw-r--r--macros/latex/required/l3kernel/l3int.dtx (renamed from macros/latex/contrib/l3kernel/l3int.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3intarray.dtx (renamed from macros/latex/contrib/l3kernel/l3intarray.dtx)75
-rw-r--r--macros/latex/required/l3kernel/l3kernel-functions.dtx (renamed from macros/latex/contrib/l3kernel/l3kernel-functions.dtx)29
-rw-r--r--macros/latex/required/l3kernel/l3keys.dtx (renamed from macros/latex/contrib/l3kernel/l3keys.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3legacy.dtx (renamed from macros/latex/contrib/l3kernel/l3legacy.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3luatex.dtx (renamed from macros/latex/contrib/l3kernel/l3luatex.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3msg.dtx (renamed from macros/latex/contrib/l3kernel/l3msg.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3names.dtx (renamed from macros/latex/contrib/l3kernel/l3names.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3news.pdf (renamed from macros/latex/contrib/l3kernel/l3news.pdf)bin396222 -> 396222 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news.tex (renamed from macros/latex/contrib/l3kernel/l3news.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news01.pdf (renamed from macros/latex/contrib/l3kernel/l3news01.pdf)bin122959 -> 122959 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news01.tex (renamed from macros/latex/contrib/l3kernel/l3news01.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news02.pdf (renamed from macros/latex/contrib/l3kernel/l3news02.pdf)bin150919 -> 150919 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news02.tex (renamed from macros/latex/contrib/l3kernel/l3news02.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news03.pdf (renamed from macros/latex/contrib/l3kernel/l3news03.pdf)bin148747 -> 148747 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news03.tex (renamed from macros/latex/contrib/l3kernel/l3news03.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news04.pdf (renamed from macros/latex/contrib/l3kernel/l3news04.pdf)bin114754 -> 114754 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news04.tex (renamed from macros/latex/contrib/l3kernel/l3news04.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news05.pdf (renamed from macros/latex/contrib/l3kernel/l3news05.pdf)bin112524 -> 112524 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news05.tex (renamed from macros/latex/contrib/l3kernel/l3news05.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news06.pdf (renamed from macros/latex/contrib/l3kernel/l3news06.pdf)bin151591 -> 151591 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news06.tex (renamed from macros/latex/contrib/l3kernel/l3news06.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news07.pdf (renamed from macros/latex/contrib/l3kernel/l3news07.pdf)bin128344 -> 128344 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news07.tex (renamed from macros/latex/contrib/l3kernel/l3news07.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news08.pdf (renamed from macros/latex/contrib/l3kernel/l3news08.pdf)bin163484 -> 163484 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news08.tex (renamed from macros/latex/contrib/l3kernel/l3news08.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news09.pdf (renamed from macros/latex/contrib/l3kernel/l3news09.pdf)bin250159 -> 250159 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news09.tex (renamed from macros/latex/contrib/l3kernel/l3news09.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news10.pdf (renamed from macros/latex/contrib/l3kernel/l3news10.pdf)bin150302 -> 150302 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news10.tex (renamed from macros/latex/contrib/l3kernel/l3news10.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news11.pdf (renamed from macros/latex/contrib/l3kernel/l3news11.pdf)bin170102 -> 170102 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news11.tex (renamed from macros/latex/contrib/l3kernel/l3news11.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3news12.pdf (renamed from macros/latex/contrib/l3kernel/l3news12.pdf)bin205020 -> 205020 bytes
-rw-r--r--macros/latex/required/l3kernel/l3news12.tex (renamed from macros/latex/contrib/l3kernel/l3news12.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3pdf.dtx (renamed from macros/latex/contrib/l3kernel/l3pdf.dtx)362
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.csv (renamed from macros/latex/contrib/l3kernel/l3prefixes.csv)0
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.pdf (renamed from macros/latex/contrib/l3kernel/l3prefixes.pdf)bin82720 -> 82720 bytes
-rw-r--r--macros/latex/required/l3kernel/l3prefixes.tex (renamed from macros/latex/contrib/l3kernel/l3prefixes.tex)0
-rw-r--r--macros/latex/required/l3kernel/l3prg.dtx (renamed from macros/latex/contrib/l3kernel/l3prg.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3prop.dtx (renamed from macros/latex/contrib/l3kernel/l3prop.dtx)40
-rw-r--r--macros/latex/required/l3kernel/l3quark.dtx (renamed from macros/latex/contrib/l3kernel/l3quark.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3regex.dtx (renamed from macros/latex/contrib/l3kernel/l3regex.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3seq.dtx (renamed from macros/latex/contrib/l3kernel/l3seq.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3skip.dtx (renamed from macros/latex/contrib/l3kernel/l3skip.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3sort.dtx (renamed from macros/latex/contrib/l3kernel/l3sort.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3str-convert.dtx (renamed from macros/latex/contrib/l3kernel/l3str-convert.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3str.dtx (renamed from macros/latex/contrib/l3kernel/l3str.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3styleguide.pdf (renamed from macros/latex/contrib/l3kernel/l3styleguide.pdf)bin296553 -> 296259 bytes
-rw-r--r--macros/latex/required/l3kernel/l3styleguide.tex (renamed from macros/latex/contrib/l3kernel/l3styleguide.tex)2
-rw-r--r--macros/latex/required/l3kernel/l3syntax-changes.pdf (renamed from macros/latex/contrib/l3kernel/l3syntax-changes.pdf)bin231402 -> 231103 bytes
-rw-r--r--macros/latex/required/l3kernel/l3syntax-changes.tex (renamed from macros/latex/contrib/l3kernel/l3syntax-changes.tex)2
-rw-r--r--macros/latex/required/l3kernel/l3sys.dtx (renamed from macros/latex/contrib/l3kernel/l3sys.dtx)21
-rw-r--r--macros/latex/required/l3kernel/l3term-glossary.pdf (renamed from macros/latex/contrib/l3kernel/l3term-glossary.pdf)bin242191 -> 241893 bytes
-rw-r--r--macros/latex/required/l3kernel/l3term-glossary.tex (renamed from macros/latex/contrib/l3kernel/l3term-glossary.tex)2
-rw-r--r--macros/latex/required/l3kernel/l3text-case.dtx (renamed from macros/latex/contrib/l3kernel/l3text-case.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3text-map.dtx (renamed from macros/latex/contrib/l3kernel/l3text-map.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3text-purify.dtx (renamed from macros/latex/contrib/l3kernel/l3text-purify.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3text.dtx (renamed from macros/latex/contrib/l3kernel/l3text.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3tl-analysis.dtx (renamed from macros/latex/contrib/l3kernel/l3tl-analysis.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3tl-build.dtx (renamed from macros/latex/contrib/l3kernel/l3tl-build.dtx)5
-rw-r--r--macros/latex/required/l3kernel/l3tl.dtx (renamed from macros/latex/contrib/l3kernel/l3tl.dtx)2
-rw-r--r--macros/latex/required/l3kernel/l3token.dtx (renamed from macros/latex/contrib/l3kernel/l3token.dtx)10
-rw-r--r--macros/latex/required/l3kernel/l3unicode.dtx (renamed from macros/latex/contrib/l3kernel/l3unicode.dtx)4
-rw-r--r--macros/latex/required/l3kernel/source3.pdf (renamed from macros/latex/contrib/l3kernel/source3.pdf)bin7574289 -> 7624172 bytes
-rw-r--r--macros/latex/required/l3kernel/source3.tex (renamed from macros/latex/contrib/l3kernel/source3.tex)2
-rw-r--r--macros/latex/required/l3kernel/source3body.tex (renamed from macros/latex/contrib/l3kernel/source3body.tex)0
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl2
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb100
-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.xzbin2566316 -> 2567944 bytes
-rw-r--r--timestamp2
147 files changed, 1956 insertions, 966 deletions
diff --git a/FILES.byname b/FILES.byname
index 0596dcf7da..02441ad1a3 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2076,12 +2076,12 @@
2024/04/21 | 1837 | biblio/citation-style-language/README.md
2024/04/21 | 12878 | biblio/citation-style-language/vancouver.csl
2024/04/21 | 4553350 | biblio/citation-style-language.zip
-2024/04/29 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/04/30 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2024/04/29 | 2863477 | biblio/ctan-bibdata/ctan.bib
-2024/04/29 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/04/30 | 2863840 | biblio/ctan-bibdata/ctan.bib
+2024/04/30 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2024/04/29 | 4120684 | biblio/ctan-bibdata.zip
+2024/04/30 | 4120725 | 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/29 | 75309 | FILES.last07days
+2024/04/30 | 97090 | 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
@@ -206701,7 +206701,7 @@
2023/01/23 | 862071 | install/macros/generic/expkv-bundle.tds.zip
2022/02/04 | 232668 | install/macros/generic/iftex.tds.zip
2012/09/20 | 321508 | install/macros/generic/langcode.tds.zip
-2024/04/04 | 1591206 | install/macros/generic/markdown.tds.zip
+2024/04/30 | 1611830 | install/macros/generic/markdown.tds.zip
2014/06/11 | 428488 | install/macros/generic/mathdots.tds.zip
2024/04/02 | 2935898 | install/macros/generic/memoize.tds.zip
2014/01/02 | 496633 | install/macros/generic/minifp.tds.zip
@@ -206856,10 +206856,8 @@
2023/07/07 | 9765481 | install/macros/latex/contrib/koma-script.tds.zip
2015/12/09 | 171418 | install/macros/latex/contrib/ksp-thesis.tds.zip
2019/12/19 | 302191 | install/macros/latex/contrib/kvdefinekeys.tds.zip
-2024/03/14 | 947161 | install/macros/latex/contrib/l3backend.tds.zip
2024/02/08 | 829326 | install/macros/latex/contrib/l3build.tds.zip
2024/03/14 | 3714415 | install/macros/latex/contrib/l3experimental.tds.zip
-2024/03/14 | 14317872 | install/macros/latex/contrib/l3kernel.tds.zip
2024/03/14 | 1775696 | install/macros/latex/contrib/l3packages.tds.zip
2024/04/27 | 597288 | install/macros/latex/contrib/lastpage.tds.zip
2009/09/02 | 556672 | install/macros/latex/contrib/layouts.tds.zip
@@ -207019,6 +207017,8 @@
2024/01/15 | 43672614 | install/macros/latex/latex-base.tds.zip
2020/06/01 | 1578753 | install/macros/latex/required/amscls.tds.zip
2024/04/20 | 3726257 | install/macros/latex/required/babel-base.tds.zip
+2024/04/29 | 946605 | install/macros/latex/required/l3backend.tds.zip
+2024/04/29 | 14374071 | install/macros/latex/required/l3kernel.tds.zip
2023/11/01 | 2795407 | install/macros/latex/required/latex-amsmath.tds.zip
2022/06/14 | 242625 | install/macros/latex/required/latexbug.tds.zip
2022/06/16 | 1352652 | install/macros/latex/required/latex-cyrillic.tds.zip
@@ -215339,24 +215339,24 @@
2016/06/15 | 170646 | macros/generic/luatex85/luatex85.pdf
2016/06/15 | 316 | macros/generic/luatex85/README.md
2016/06/15 | 173375 | macros/generic/luatex85.zip
-2024/04/04 | 44957 | macros/generic/markdown/CHANGES.md
-2024/04/04 | 4405 | macros/generic/markdown/docstrip.cfg
-2024/04/04 | 2189 | macros/generic/markdown/examples/context-mkiv.tex
-2024/04/04 | 3832 | macros/generic/markdown/examples/example.md
-2024/04/04 | 1369 | macros/generic/markdown/examples/latex-luatex.tex
-2024/04/04 | 1778 | macros/generic/markdown/examples/latex-pdftex.tex
-2024/04/04 | 9855 | macros/generic/markdown/examples/optex.tex
-2024/04/04 | 75 | macros/generic/markdown/examples/scientists.csv
-2024/04/04 | 22881 | macros/generic/markdown/libraries/markdown-tinyyaml.lua
-2024/04/04 | 4681 | macros/generic/markdown/markdown.css
-2024/04/04 | 959268 | macros/generic/markdown/markdown.dtx
-2024/04/04 | 1037601 | macros/generic/markdown/markdown.html
-2024/04/04 | 1650 | macros/generic/markdown/markdown.ins
-2024/04/04 | 1099548 | macros/generic/markdown/markdown.pdf
-2024/04/04 | 140951 | macros/generic/markdown/markdown.png
-2024/04/04 | 22528 | macros/generic/markdown/README.md
-2024/04/04 | 31 | macros/generic/markdown/VERSION
-2024/04/04 | 1494756 | macros/generic/markdown.zip
+2024/04/30 | 45803 | macros/generic/markdown/CHANGES.md
+2024/04/30 | 4405 | macros/generic/markdown/docstrip.cfg
+2024/04/30 | 2153 | macros/generic/markdown/examples/context-mkiv.tex
+2024/04/30 | 3832 | macros/generic/markdown/examples/example.md
+2024/04/30 | 2037 | macros/generic/markdown/examples/latex-luatex.tex
+2024/04/30 | 2066 | macros/generic/markdown/examples/latex-pdftex.tex
+2024/04/30 | 9855 | macros/generic/markdown/examples/optex.tex
+2024/04/30 | 75 | macros/generic/markdown/examples/scientists.csv
+2024/04/30 | 22881 | macros/generic/markdown/libraries/markdown-tinyyaml.lua
+2024/04/30 | 4681 | macros/generic/markdown/markdown.css
+2024/04/30 | 970881 | macros/generic/markdown/markdown.dtx
+2024/04/30 | 1037601 | macros/generic/markdown/markdown.html
+2024/04/30 | 1650 | macros/generic/markdown/markdown.ins
+2024/04/30 | 1116505 | macros/generic/markdown/markdown.pdf
+2024/04/30 | 140951 | macros/generic/markdown/markdown.png
+2024/04/30 | 22769 | macros/generic/markdown/README.md
+2024/04/30 | 31 | macros/generic/markdown/VERSION
+2024/04/30 | 1514264 | macros/generic/markdown.zip
2014/06/11 | 20744 | macros/generic/mathdots/mathdots.dtx
2014/06/11 | 1203 | macros/generic/mathdots/mathdots.ins
2014/06/11 | 258547 | macros/generic/mathdots/mathdots.pdf
@@ -240913,20 +240913,6 @@
2022/10/05 | 401856 | macros/latex/contrib/kvsetkeys/kvsetkeys.pdf
2022/10/05 | 542 | macros/latex/contrib/kvsetkeys/README.md
2022/10/05 | 398855 | macros/latex/contrib/kvsetkeys.zip
-2024/03/14 | 10966 | macros/latex/contrib/l3backend/CHANGELOG.md
-2024/03/14 | 16213 | macros/latex/contrib/l3backend/l3backend-basics.dtx
-2024/03/14 | 14433 | macros/latex/contrib/l3backend/l3backend-box.dtx
-2024/03/14 | 908163 | macros/latex/contrib/l3backend/l3backend-code.pdf
-2024/03/14 | 1344 | macros/latex/contrib/l3backend/l3backend-code.tex
-2024/03/14 | 41764 | macros/latex/contrib/l3backend/l3backend-color.dtx
-2024/03/14 | 34115 | macros/latex/contrib/l3backend/l3backend-draw.dtx
-2024/03/14 | 29614 | macros/latex/contrib/l3backend/l3backend-graphics.dtx
-2024/03/14 | 14823 | macros/latex/contrib/l3backend/l3backend-header.dtx
-2024/03/14 | 4927 | macros/latex/contrib/l3backend/l3backend.ins
-2024/03/14 | 9670 | macros/latex/contrib/l3backend/l3backend-opacity.dtx
-2024/03/14 | 50662 | macros/latex/contrib/l3backend/l3backend-pdf.dtx
-2024/03/14 | 549 | macros/latex/contrib/l3backend/README.md
-2024/03/14 | 909153 | macros/latex/contrib/l3backend.zip
2024/02/08 | 23772 | macros/latex/contrib/l3build/CHANGELOG.md
2024/02/08 | 2437 | macros/latex/contrib/l3build/l3build.1
2024/02/08 | 7755 | macros/latex/contrib/l3build/l3build-arguments.lua
@@ -240988,114 +240974,6 @@
2024/03/14 | 1624 | macros/latex/contrib/l3experimental/xgalley.ins
2024/03/14 | 323591 | macros/latex/contrib/l3experimental/xgalley.pdf
2024/03/14 | 3680274 | macros/latex/contrib/l3experimental.zip
-2024/03/14 | 58579 | macros/latex/contrib/l3kernel/CHANGELOG.md
-2024/03/14 | 71456 | macros/latex/contrib/l3kernel/expl3.dtx
-2024/03/14 | 610363 | macros/latex/contrib/l3kernel/expl3.pdf
-2024/03/14 | 1795605 | macros/latex/contrib/l3kernel/interface3.pdf
-2024/03/14 | 1949 | macros/latex/contrib/l3kernel/interface3.tex
-2024/03/14 | 138852 | macros/latex/contrib/l3kernel/l3basics.dtx
-2024/03/14 | 19547 | macros/latex/contrib/l3kernel/l3bitset.dtx
-2024/03/14 | 12955 | macros/latex/contrib/l3kernel/l3bootstrap.dtx
-2024/03/14 | 87821 | macros/latex/contrib/l3kernel/l3box.dtx
-2024/03/14 | 33772 | macros/latex/contrib/l3kernel/l3cctab.dtx
-2024/03/14 | 83169 | macros/latex/contrib/l3kernel/l3clist.dtx
-2024/03/14 | 88241 | macros/latex/contrib/l3kernel/l3coffins.dtx
-2024/03/14 | 112260 | macros/latex/contrib/l3kernel/l3color.dtx
-2024/03/14 | 41914 | macros/latex/contrib/l3kernel/l3debug.dtx
-2024/03/14 | 24936 | macros/latex/contrib/l3kernel/l3deprecation.dtx
-2024/03/14 | 159782 | macros/latex/contrib/l3kernel/l3doc.dtx
-2024/03/14 | 565279 | macros/latex/contrib/l3kernel/l3doc.pdf
-2024/03/14 | 2384 | macros/latex/contrib/l3kernel/l3docstrip.dtx
-2024/03/14 | 151266 | macros/latex/contrib/l3kernel/l3docstrip.pdf
-2024/03/14 | 88794 | macros/latex/contrib/l3kernel/l3expan.dtx
-2024/03/14 | 144214 | macros/latex/contrib/l3kernel/l3file.dtx
-2024/03/14 | 14152 | macros/latex/contrib/l3kernel/l3flag.dtx
-2024/03/14 | 11909 | macros/latex/contrib/l3kernel/l3fparray.dtx
-2024/03/14 | 9445 | macros/latex/contrib/l3kernel/l3fp-assign.dtx
-2024/03/14 | 47237 | macros/latex/contrib/l3kernel/l3fp-aux.dtx
-2024/03/14 | 84789 | macros/latex/contrib/l3kernel/l3fp-basics.dtx
-2024/03/14 | 19637 | macros/latex/contrib/l3kernel/l3fp-convert.dtx
-2024/03/14 | 76534 | macros/latex/contrib/l3kernel/l3fp.dtx
-2024/03/14 | 49321 | macros/latex/contrib/l3kernel/l3fp-expo.dtx
-2024/03/14 | 51091 | macros/latex/contrib/l3kernel/l3fp-extended.dtx
-2024/03/14 | 7831 | macros/latex/contrib/l3kernel/l3fp-functions.dtx
-2024/03/14 | 23206 | macros/latex/contrib/l3kernel/l3fp-logic.dtx
-2024/03/14 | 105022 | macros/latex/contrib/l3kernel/l3fp-parse.dtx
-2024/03/14 | 23581 | macros/latex/contrib/l3kernel/l3fp-random.dtx
-2024/03/14 | 18528 | macros/latex/contrib/l3kernel/l3fp-round.dtx
-2024/03/14 | 20310 | macros/latex/contrib/l3kernel/l3fp-symbolic.dtx
-2024/03/14 | 12832 | macros/latex/contrib/l3kernel/l3fp-traps.dtx
-2024/03/14 | 73845 | macros/latex/contrib/l3kernel/l3fp-trig.dtx
-2024/03/14 | 4911 | macros/latex/contrib/l3kernel/l3fp-types.dtx
-2024/03/14 | 6393 | macros/latex/contrib/l3kernel/l3.ins
-2024/03/14 | 30504 | macros/latex/contrib/l3kernel/l3intarray.dtx
-2024/03/14 | 93008 | macros/latex/contrib/l3kernel/l3int.dtx
-2024/03/14 | 29838 | macros/latex/contrib/l3kernel/l3kernel-functions.dtx
-2024/03/14 | 130500 | macros/latex/contrib/l3kernel/l3keys.dtx
-2024/03/14 | 4570 | macros/latex/contrib/l3kernel/l3legacy.dtx
-2024/03/14 | 23830 | macros/latex/contrib/l3kernel/l3luatex.dtx
-2024/03/14 | 83081 | macros/latex/contrib/l3kernel/l3msg.dtx
-2024/03/14 | 80270 | macros/latex/contrib/l3kernel/l3names.dtx
-2024/03/14 | 122959 | macros/latex/contrib/l3kernel/l3news01.pdf
-2024/03/14 | 4937 | macros/latex/contrib/l3kernel/l3news01.tex
-2024/03/14 | 150919 | macros/latex/contrib/l3kernel/l3news02.pdf
-2024/03/14 | 6677 | macros/latex/contrib/l3kernel/l3news02.tex
-2024/03/14 | 148747 | macros/latex/contrib/l3kernel/l3news03.pdf
-2024/03/14 | 6482 | macros/latex/contrib/l3kernel/l3news03.tex
-2024/03/14 | 114754 | macros/latex/contrib/l3kernel/l3news04.pdf
-2024/03/14 | 5429 | macros/latex/contrib/l3kernel/l3news04.tex
-2024/03/14 | 112524 | macros/latex/contrib/l3kernel/l3news05.pdf
-2024/03/14 | 4716 | macros/latex/contrib/l3kernel/l3news05.tex
-2024/03/14 | 151591 | macros/latex/contrib/l3kernel/l3news06.pdf
-2024/03/14 | 6433 | macros/latex/contrib/l3kernel/l3news06.tex
-2024/03/14 | 128344 | macros/latex/contrib/l3kernel/l3news07.pdf
-2024/03/14 | 4977 | macros/latex/contrib/l3kernel/l3news07.tex
-2024/03/14 | 163484 | macros/latex/contrib/l3kernel/l3news08.pdf
-2024/03/14 | 9465 | macros/latex/contrib/l3kernel/l3news08.tex
-2024/03/14 | 250159 | macros/latex/contrib/l3kernel/l3news09.pdf
-2024/03/14 | 107383 | macros/latex/contrib/l3kernel/l3news09.tex
-2024/03/14 | 150302 | macros/latex/contrib/l3kernel/l3news10.pdf
-2024/03/14 | 9999 | macros/latex/contrib/l3kernel/l3news10.tex
-2024/03/14 | 170102 | macros/latex/contrib/l3kernel/l3news11.pdf
-2024/03/14 | 8481 | macros/latex/contrib/l3kernel/l3news11.tex
-2024/03/14 | 205020 | macros/latex/contrib/l3kernel/l3news12.pdf
-2024/03/14 | 14913 | macros/latex/contrib/l3kernel/l3news12.tex
-2024/03/14 | 396222 | macros/latex/contrib/l3kernel/l3news.pdf
-2024/03/14 | 4890 | macros/latex/contrib/l3kernel/l3news.tex
-2024/03/14 | 17204 | macros/latex/contrib/l3kernel/l3pdf.dtx
-2024/03/14 | 48386 | macros/latex/contrib/l3kernel/l3prefixes.csv
-2024/03/14 | 82720 | macros/latex/contrib/l3kernel/l3prefixes.pdf
-2024/03/14 | 2821 | macros/latex/contrib/l3kernel/l3prefixes.tex
-2024/03/14 | 70830 | macros/latex/contrib/l3kernel/l3prg.dtx
-2024/03/14 | 105151 | macros/latex/contrib/l3kernel/l3prop.dtx
-2024/03/14 | 35218 | macros/latex/contrib/l3kernel/l3quark.dtx
-2024/03/14 | 305486 | macros/latex/contrib/l3kernel/l3regex.dtx
-2024/03/14 | 100486 | macros/latex/contrib/l3kernel/l3seq.dtx
-2024/03/14 | 91719 | macros/latex/contrib/l3kernel/l3skip.dtx
-2024/03/14 | 40727 | macros/latex/contrib/l3kernel/l3sort.dtx
-2024/03/14 | 113735 | macros/latex/contrib/l3kernel/l3str-convert.dtx
-2024/03/14 | 82462 | macros/latex/contrib/l3kernel/l3str.dtx
-2024/03/14 | 296553 | macros/latex/contrib/l3kernel/l3styleguide.pdf
-2024/03/14 | 11882 | macros/latex/contrib/l3kernel/l3styleguide.tex
-2024/03/14 | 231402 | macros/latex/contrib/l3kernel/l3syntax-changes.pdf
-2024/03/14 | 6219 | macros/latex/contrib/l3kernel/l3syntax-changes.tex
-2024/03/14 | 42576 | macros/latex/contrib/l3kernel/l3sys.dtx
-2024/03/14 | 242191 | macros/latex/contrib/l3kernel/l3term-glossary.pdf
-2024/03/14 | 7079 | macros/latex/contrib/l3kernel/l3term-glossary.tex
-2024/03/14 | 76368 | macros/latex/contrib/l3kernel/l3text-case.dtx
-2024/03/14 | 48984 | macros/latex/contrib/l3kernel/l3text.dtx
-2024/03/14 | 16624 | macros/latex/contrib/l3kernel/l3text-map.dtx
-2024/03/14 | 20460 | macros/latex/contrib/l3kernel/l3text-purify.dtx
-2024/03/14 | 63041 | macros/latex/contrib/l3kernel/l3tl-analysis.dtx
-2024/03/14 | 13250 | macros/latex/contrib/l3kernel/l3tl-build.dtx
-2024/03/14 | 149691 | macros/latex/contrib/l3kernel/l3tl.dtx
-2024/03/14 | 117145 | macros/latex/contrib/l3kernel/l3token.dtx
-2024/03/14 | 35639 | macros/latex/contrib/l3kernel/l3unicode.dtx
-2024/03/14 | 3078 | macros/latex/contrib/l3kernel/README.md
-2024/03/14 | 24830 | macros/latex/contrib/l3kernel/source3body.tex
-2024/03/14 | 7574289 | macros/latex/contrib/l3kernel/source3.pdf
-2024/03/14 | 2282 | macros/latex/contrib/l3kernel/source3.tex
-2024/03/14 | 14049006 | macros/latex/contrib/l3kernel.zip
2024/03/14 | 8148 | macros/latex/contrib/l3packages/CHANGELOG.md
2024/03/14 | 1444 | macros/latex/contrib/l3packages/l3keys2e-demo.tex
2024/03/14 | 12304 | macros/latex/contrib/l3packages/l3keys2e.dtx
@@ -244433,21 +244311,21 @@
2023/10/03 | 98799 | macros/latex/contrib/nlctdoc/nlctuserguide.sty
2023/10/03 | 627 | macros/latex/contrib/nlctdoc/README
2023/10/03 | 28189 | macros/latex/contrib/nlctdoc.zip
-2015/07/27 | 27552 | macros/latex/contrib/nmbib/chronoplainnm.bst
-2015/06/08 | 1446 | macros/latex/contrib/nmbib/Makefile
-2015/01/27 | 1091 | macros/latex/contrib/nmbib/nmbib.bib
-2015/07/27 | 43462 | macros/latex/contrib/nmbib/nmbib.dtx
+2015/07/26 | 27552 | macros/latex/contrib/nmbib/chronoplainnm.bst
+2024/04/30 | 1534 | macros/latex/contrib/nmbib/Makefile
+2015/01/24 | 1091 | macros/latex/contrib/nmbib/nmbib.bib
+2024/04/30 | 43473 | macros/latex/contrib/nmbib/nmbib.dtx
2014/10/12 | 888 | macros/latex/contrib/nmbib/nmbib.ins
-2015/07/27 | 347244 | macros/latex/contrib/nmbib/nmbib.pdf
-2015/07/27 | 4843 | macros/latex/contrib/nmbib/nmbibtex.1
+2024/04/30 | 368243 | macros/latex/contrib/nmbib/nmbib.pdf
+2024/04/30 | 101693 | macros/latex/contrib/nmbib/nmbib-sample.pdf
+2015/04/26 | 2464 | macros/latex/contrib/nmbib/nmbib-sample.tex
+2024/04/30 | 2577 | macros/latex/contrib/nmbib/nmbibtex.1
2015/04/26 | 2431 | macros/latex/contrib/nmbib/nmbibtex.pl
-2015/07/27 | 96763 | macros/latex/contrib/nmbib/nmsample.pdf
-2015/06/08 | 2464 | macros/latex/contrib/nmbib/nmsample.tex
2015/01/24 | 26409 | macros/latex/contrib/nmbib/plainnm.bst
-2015/07/27 | 420 | macros/latex/contrib/nmbib/README
+2024/04/30 | 494 | macros/latex/contrib/nmbib/README
2015/07/27 | 1485 | macros/latex/contrib/nmbib/type.bib
2015/01/24 | 24198 | macros/latex/contrib/nmbib/unsrtnm.bst
-2015/07/27 | 470022 | macros/latex/contrib/nmbib.zip
+2024/04/30 | 488292 | macros/latex/contrib/nmbib.zip
2020/10/06 | 22299 | macros/latex/contrib/nnext/nnext.dtx
2020/10/06 | 1531 | macros/latex/contrib/nnext/nnext.ins
2020/10/06 | 141396 | macros/latex/contrib/nnext/nnext.pdf
@@ -258231,6 +258109,128 @@
2022/10/31 | 10753 | macros/latex/required/graphics/trig.dtx
2022/10/31 | 199266 | macros/latex/required/graphics/trig.pdf
2022/11/01 | 3072840 | macros/latex/required/graphics.zip
+2024/04/29 | 11157 | macros/latex/required/l3backend/CHANGELOG.md
+2024/04/29 | 16213 | macros/latex/required/l3backend/l3backend-basics.dtx
+2024/04/29 | 14433 | macros/latex/required/l3backend/l3backend-box.dtx
+2024/04/29 | 907780 | macros/latex/required/l3backend/l3backend-code.pdf
+2024/04/29 | 1344 | macros/latex/required/l3backend/l3backend-code.tex
+2024/04/29 | 41764 | macros/latex/required/l3backend/l3backend-color.dtx
+2024/04/29 | 34115 | macros/latex/required/l3backend/l3backend-draw.dtx
+2024/04/29 | 29614 | macros/latex/required/l3backend/l3backend-graphics.dtx
+2024/04/29 | 14823 | macros/latex/required/l3backend/l3backend-header.dtx
+2024/04/29 | 4927 | macros/latex/required/l3backend/l3backend.ins
+2024/04/29 | 9670 | macros/latex/required/l3backend/l3backend-opacity.dtx
+2024/04/29 | 50238 | macros/latex/required/l3backend/l3backend-pdf.dtx
+2024/04/29 | 549 | macros/latex/required/l3backend/README.md
+2024/04/30 | 908694 | macros/latex/required/l3backend.zip
+2024/04/29 | 59454 | macros/latex/required/l3kernel/CHANGELOG.md
+2024/04/29 | 71456 | macros/latex/required/l3kernel/expl3.dtx
+2024/04/29 | 610060 | macros/latex/required/l3kernel/expl3.pdf
+2024/04/29 | 1801752 | macros/latex/required/l3kernel/interface3.pdf
+2024/04/29 | 1949 | macros/latex/required/l3kernel/interface3.tex
+2024/04/29 | 138821 | macros/latex/required/l3kernel/l3basics.dtx
+2024/04/29 | 19547 | macros/latex/required/l3kernel/l3bitset.dtx
+2024/04/29 | 12955 | macros/latex/required/l3kernel/l3bootstrap.dtx
+2024/04/29 | 87821 | macros/latex/required/l3kernel/l3box.dtx
+2024/04/29 | 34447 | macros/latex/required/l3kernel/l3cctab.dtx
+2024/04/29 | 83169 | macros/latex/required/l3kernel/l3clist.dtx
+2024/04/29 | 88241 | macros/latex/required/l3kernel/l3coffins.dtx
+2024/04/29 | 112260 | macros/latex/required/l3kernel/l3color.dtx
+2024/04/29 | 41860 | macros/latex/required/l3kernel/l3debug.dtx
+2024/04/29 | 24881 | macros/latex/required/l3kernel/l3deprecation.dtx
+2024/04/29 | 159891 | macros/latex/required/l3kernel/l3doc.dtx
+2024/04/29 | 565282 | macros/latex/required/l3kernel/l3doc.pdf
+2024/04/29 | 2384 | macros/latex/required/l3kernel/l3docstrip.dtx
+2024/04/29 | 150985 | macros/latex/required/l3kernel/l3docstrip.pdf
+2024/04/29 | 88794 | macros/latex/required/l3kernel/l3expan.dtx
+2024/04/29 | 144422 | macros/latex/required/l3kernel/l3file.dtx
+2024/04/29 | 14152 | macros/latex/required/l3kernel/l3flag.dtx
+2024/04/29 | 12945 | macros/latex/required/l3kernel/l3fparray.dtx
+2024/04/29 | 9445 | macros/latex/required/l3kernel/l3fp-assign.dtx
+2024/04/29 | 47237 | macros/latex/required/l3kernel/l3fp-aux.dtx
+2024/04/29 | 84789 | macros/latex/required/l3kernel/l3fp-basics.dtx
+2024/04/29 | 19637 | macros/latex/required/l3kernel/l3fp-convert.dtx
+2024/04/29 | 76534 | macros/latex/required/l3kernel/l3fp.dtx
+2024/04/29 | 49321 | macros/latex/required/l3kernel/l3fp-expo.dtx
+2024/04/29 | 51091 | macros/latex/required/l3kernel/l3fp-extended.dtx
+2024/04/29 | 7831 | macros/latex/required/l3kernel/l3fp-functions.dtx
+2024/04/29 | 23206 | macros/latex/required/l3kernel/l3fp-logic.dtx
+2024/04/29 | 105022 | macros/latex/required/l3kernel/l3fp-parse.dtx
+2024/04/29 | 23581 | macros/latex/required/l3kernel/l3fp-random.dtx
+2024/04/29 | 18528 | macros/latex/required/l3kernel/l3fp-round.dtx
+2024/04/29 | 20310 | macros/latex/required/l3kernel/l3fp-symbolic.dtx
+2024/04/29 | 12832 | macros/latex/required/l3kernel/l3fp-traps.dtx
+2024/04/29 | 73845 | macros/latex/required/l3kernel/l3fp-trig.dtx
+2024/04/29 | 4911 | macros/latex/required/l3kernel/l3fp-types.dtx
+2024/04/29 | 6429 | macros/latex/required/l3kernel/l3.ins
+2024/04/29 | 31531 | macros/latex/required/l3kernel/l3intarray.dtx
+2024/04/29 | 93008 | macros/latex/required/l3kernel/l3int.dtx
+2024/04/29 | 31020 | macros/latex/required/l3kernel/l3kernel-functions.dtx
+2024/04/29 | 130500 | macros/latex/required/l3kernel/l3keys.dtx
+2024/04/29 | 4570 | macros/latex/required/l3kernel/l3legacy.dtx
+2024/04/29 | 23830 | macros/latex/required/l3kernel/l3luatex.dtx
+2024/04/29 | 83081 | macros/latex/required/l3kernel/l3msg.dtx
+2024/04/29 | 80270 | macros/latex/required/l3kernel/l3names.dtx
+2024/04/29 | 122959 | macros/latex/required/l3kernel/l3news01.pdf
+2024/04/29 | 4937 | macros/latex/required/l3kernel/l3news01.tex
+2024/04/29 | 150919 | macros/latex/required/l3kernel/l3news02.pdf
+2024/04/29 | 6677 | macros/latex/required/l3kernel/l3news02.tex
+2024/04/29 | 148747 | macros/latex/required/l3kernel/l3news03.pdf
+2024/04/29 | 6482 | macros/latex/required/l3kernel/l3news03.tex
+2024/04/29 | 114754 | macros/latex/required/l3kernel/l3news04.pdf
+2024/04/29 | 5429 | macros/latex/required/l3kernel/l3news04.tex
+2024/04/29 | 112524 | macros/latex/required/l3kernel/l3news05.pdf
+2024/04/29 | 4716 | macros/latex/required/l3kernel/l3news05.tex
+2024/04/29 | 151591 | macros/latex/required/l3kernel/l3news06.pdf
+2024/04/29 | 6433 | macros/latex/required/l3kernel/l3news06.tex
+2024/04/29 | 128344 | macros/latex/required/l3kernel/l3news07.pdf
+2024/04/29 | 4977 | macros/latex/required/l3kernel/l3news07.tex
+2024/04/29 | 163484 | macros/latex/required/l3kernel/l3news08.pdf
+2024/04/29 | 9465 | macros/latex/required/l3kernel/l3news08.tex
+2024/04/29 | 250159 | macros/latex/required/l3kernel/l3news09.pdf
+2024/04/29 | 107383 | macros/latex/required/l3kernel/l3news09.tex
+2024/04/29 | 150302 | macros/latex/required/l3kernel/l3news10.pdf
+2024/04/29 | 9999 | macros/latex/required/l3kernel/l3news10.tex
+2024/04/29 | 170102 | macros/latex/required/l3kernel/l3news11.pdf
+2024/04/29 | 8481 | macros/latex/required/l3kernel/l3news11.tex
+2024/04/29 | 205020 | macros/latex/required/l3kernel/l3news12.pdf
+2024/04/29 | 14913 | macros/latex/required/l3kernel/l3news12.tex
+2024/04/29 | 396222 | macros/latex/required/l3kernel/l3news.pdf
+2024/04/29 | 4890 | macros/latex/required/l3kernel/l3news.tex
+2024/04/29 | 26541 | macros/latex/required/l3kernel/l3pdf.dtx
+2024/04/29 | 48386 | macros/latex/required/l3kernel/l3prefixes.csv
+2024/04/29 | 82720 | macros/latex/required/l3kernel/l3prefixes.pdf
+2024/04/29 | 2821 | macros/latex/required/l3kernel/l3prefixes.tex
+2024/04/29 | 70830 | macros/latex/required/l3kernel/l3prg.dtx
+2024/04/29 | 105275 | macros/latex/required/l3kernel/l3prop.dtx
+2024/04/29 | 35218 | macros/latex/required/l3kernel/l3quark.dtx
+2024/04/29 | 305486 | macros/latex/required/l3kernel/l3regex.dtx
+2024/04/29 | 100486 | macros/latex/required/l3kernel/l3seq.dtx
+2024/04/29 | 91719 | macros/latex/required/l3kernel/l3skip.dtx
+2024/04/29 | 40727 | macros/latex/required/l3kernel/l3sort.dtx
+2024/04/29 | 113735 | macros/latex/required/l3kernel/l3str-convert.dtx
+2024/04/29 | 82462 | macros/latex/required/l3kernel/l3str.dtx
+2024/04/29 | 296259 | macros/latex/required/l3kernel/l3styleguide.pdf
+2024/04/29 | 11882 | macros/latex/required/l3kernel/l3styleguide.tex
+2024/04/29 | 231103 | macros/latex/required/l3kernel/l3syntax-changes.pdf
+2024/04/29 | 6219 | macros/latex/required/l3kernel/l3syntax-changes.tex
+2024/04/29 | 43211 | macros/latex/required/l3kernel/l3sys.dtx
+2024/04/29 | 241893 | macros/latex/required/l3kernel/l3term-glossary.pdf
+2024/04/29 | 7079 | macros/latex/required/l3kernel/l3term-glossary.tex
+2024/04/29 | 76368 | macros/latex/required/l3kernel/l3text-case.dtx
+2024/04/29 | 48984 | macros/latex/required/l3kernel/l3text.dtx
+2024/04/29 | 16624 | macros/latex/required/l3kernel/l3text-map.dtx
+2024/04/29 | 20460 | macros/latex/required/l3kernel/l3text-purify.dtx
+2024/04/29 | 63041 | macros/latex/required/l3kernel/l3tl-analysis.dtx
+2024/04/29 | 13292 | macros/latex/required/l3kernel/l3tl-build.dtx
+2024/04/29 | 149691 | macros/latex/required/l3kernel/l3tl.dtx
+2024/04/29 | 117222 | macros/latex/required/l3kernel/l3token.dtx
+2024/04/29 | 35640 | macros/latex/required/l3kernel/l3unicode.dtx
+2024/04/29 | 3078 | macros/latex/required/l3kernel/README.md
+2024/04/29 | 24830 | macros/latex/required/l3kernel/source3body.tex
+2024/04/29 | 7624172 | macros/latex/required/l3kernel/source3.pdf
+2024/04/29 | 2282 | macros/latex/required/l3kernel/source3.tex
+2024/04/30 | 14104136 | macros/latex/required/l3kernel.zip
2022/06/14 | 1397 | macros/latex/required/latexbug/changes.txt
2022/06/14 | 59557 | macros/latex/required/latexbug/latexbug.dtx
2022/06/14 | 1963 | macros/latex/required/latexbug/latexbug.ins
@@ -305578,8 +305578,8 @@
2021/07/26 | 1568 | systems/texlive/tlnet/archive/beamertheme-simpledarkblue.r60061.tar.xz
2022/10/22 | 37024 | systems/texlive/tlnet/archive/beamertheme-simpleplus.doc.r64770.tar.xz
2022/10/22 | 1904 | systems/texlive/tlnet/archive/beamertheme-simpleplus.r64770.tar.xz
-2023/05/04 | 170588 | systems/texlive/tlnet/archive/beamertheme-tcolorbox.doc.r67000.tar.xz
-2023/05/04 | 2396 | systems/texlive/tlnet/archive/beamertheme-tcolorbox.r67000.tar.xz
+2024/04/30 | 173452 | systems/texlive/tlnet/archive/beamertheme-tcolorbox.doc.r71124.tar.xz
+2024/04/30 | 2416 | systems/texlive/tlnet/archive/beamertheme-tcolorbox.r71124.tar.xz
2023/02/20 | 585252 | systems/texlive/tlnet/archive/beamertheme-trigon.doc.r65985.tar.xz
2023/02/20 | 6096 | systems/texlive/tlnet/archive/beamertheme-trigon.r65985.tar.xz
2023/02/20 | 15168 | systems/texlive/tlnet/archive/beamertheme-trigon.source.r65985.tar.xz
@@ -306004,9 +306004,9 @@
2019/02/28 | 362388 | systems/texlive/tlnet/archive/bitelist.doc.r25779.tar.xz
2019/02/28 | 5352 | systems/texlive/tlnet/archive/bitelist.r25779.tar.xz
2019/02/28 | 6228 | systems/texlive/tlnet/archive/bitelist.source.r25779.tar.xz
-2024/04/25 | 750976 | systems/texlive/tlnet/archive/bithesis.doc.r71068.tar.xz
-2024/04/25 | 20804 | systems/texlive/tlnet/archive/bithesis.r71068.tar.xz
-2024/04/25 | 27500 | systems/texlive/tlnet/archive/bithesis.source.r71068.tar.xz
+2024/04/30 | 751192 | systems/texlive/tlnet/archive/bithesis.doc.r71133.tar.xz
+2024/04/30 | 20788 | systems/texlive/tlnet/archive/bithesis.r71133.tar.xz
+2024/04/30 | 27488 | systems/texlive/tlnet/archive/bithesis.source.r71133.tar.xz
2019/02/28 | 175700 | systems/texlive/tlnet/archive/bitpattern.doc.r39073.tar.xz
2019/02/28 | 2156 | systems/texlive/tlnet/archive/bitpattern.r39073.tar.xz
2019/02/28 | 6764 | systems/texlive/tlnet/archive/bitpattern.source.r39073.tar.xz
@@ -306880,11 +306880,11 @@
2024/03/11 | 1300 | systems/texlive/tlnet/archive/collection-bibtexextra.r70554.tar.xz
2024/03/18 | 1016 | systems/texlive/tlnet/archive/collection-binextra.r70681.tar.xz
2023/12/14 | 528 | systems/texlive/tlnet/archive/collection-context.r69108.tar.xz
-2024/03/15 | 2044 | systems/texlive/tlnet/archive/collection-fontsextra.r70633.tar.xz
+2024/04/30 | 2040 | systems/texlive/tlnet/archive/collection-fontsextra.r71123.tar.xz
2020/03/04 | 560 | systems/texlive/tlnet/archive/collection-fontsrecommended.r54074.tar.xz
2021/12/03 | 536 | systems/texlive/tlnet/archive/collection-fontutils.r61207.tar.xz
2024/04/07 | 576 | systems/texlive/tlnet/archive/collection-formatsextra.r70875.tar.xz
-2024/02/27 | 636 | systems/texlive/tlnet/archive/collection-games.r70178.tar.xz
+2024/04/30 | 640 | systems/texlive/tlnet/archive/collection-games.r71129.tar.xz
2023/10/08 | 608 | systems/texlive/tlnet/archive/collection-humanities.r68465.tar.xz
2023/12/14 | 484 | systems/texlive/tlnet/archive/collection-langarabic.r69111.tar.xz
2024/03/24 | 564 | systems/texlive/tlnet/archive/collection-langchinese.r70738.tar.xz
@@ -308287,9 +308287,9 @@
2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz
2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz
2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz
-2024/04/27 | 667468 | systems/texlive/tlnet/archive/easybook.doc.r71085.tar.xz
-2024/04/27 | 17712 | systems/texlive/tlnet/archive/easybook.r71085.tar.xz
-2024/04/27 | 17576 | systems/texlive/tlnet/archive/easybook.source.r71085.tar.xz
+2024/04/30 | 667248 | systems/texlive/tlnet/archive/easybook.doc.r71125.tar.xz
+2024/04/30 | 17852 | systems/texlive/tlnet/archive/easybook.r71125.tar.xz
+2024/04/30 | 17740 | systems/texlive/tlnet/archive/easybook.source.r71125.tar.xz
2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz
2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.aarch64-linux.r68514.tar.xz
2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.amd64-freebsd.r68514.tar.xz
@@ -308648,7 +308648,7 @@
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.amd64-freebsd.r18389.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.amd64-netbsd.r30191.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.armhf-linux.r30015.tar.xz
-2023/09/17 | 28860 | systems/texlive/tlnet/archive/epstopdf.doc.r68301.tar.xz
+2024/04/30 | 29248 | systems/texlive/tlnet/archive/epstopdf.doc.r71134.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.i386-freebsd.r18388.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.i386-linux.r18336.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.i386-netbsd.r30191.tar.xz
@@ -308656,7 +308656,7 @@
2024/04/27 | 354368 | systems/texlive/tlnet/archive/epstopdf-pkg.doc.r71084.tar.xz
2024/04/27 | 4192 | systems/texlive/tlnet/archive/epstopdf-pkg.r71084.tar.xz
2024/04/27 | 11996 | systems/texlive/tlnet/archive/epstopdf-pkg.source.r71084.tar.xz
-2023/09/17 | 13580 | systems/texlive/tlnet/archive/epstopdf.r68301.tar.xz
+2024/04/30 | 14884 | systems/texlive/tlnet/archive/epstopdf.r71134.tar.xz
2021/02/25 | 364 | systems/texlive/tlnet/archive/epstopdf.universal-darwin.r57908.tar.xz
2023/02/20 | 2356 | systems/texlive/tlnet/archive/epstopdf.windows.r65891.tar.xz
2019/02/28 | 364 | systems/texlive/tlnet/archive/epstopdf.x86_64-cygwin.r33557.tar.xz
@@ -309314,8 +309314,8 @@
2019/02/28 | 392 | systems/texlive/tlnet/archive/fontools.x86_64-linuxmusl.r46840.tar.xz
2019/02/28 | 384 | systems/texlive/tlnet/archive/fontools.x86_64-linux.r25997.tar.xz
2019/02/28 | 384 | systems/texlive/tlnet/archive/fontools.x86_64-solaris.r25997.tar.xz
-2024/04/22 | 123500 | systems/texlive/tlnet/archive/fontscale.doc.r71029.tar.xz
-2024/04/22 | 6560 | systems/texlive/tlnet/archive/fontscale.r71029.tar.xz
+2024/04/30 | 123584 | systems/texlive/tlnet/archive/fontscale.doc.r71126.tar.xz
+2024/04/30 | 6600 | systems/texlive/tlnet/archive/fontscale.r71126.tar.xz
2023/06/26 | 267160 | systems/texlive/tlnet/archive/fonts-churchslavonic.doc.r67473.tar.xz
2023/06/26 | 2071376 | systems/texlive/tlnet/archive/fonts-churchslavonic.r67473.tar.xz
2024/02/26 | 598444 | systems/texlive/tlnet/archive/fontsetup.doc.r70134.tar.xz
@@ -310734,8 +310734,8 @@
2024/03/07 | 13364 | systems/texlive/tlnet/archive/jslectureplanner.r70443.tar.xz
2019/02/28 | 18444 | systems/texlive/tlnet/archive/js-misc.doc.r16211.tar.xz
2019/02/28 | 13868 | systems/texlive/tlnet/archive/js-misc.r16211.tar.xz
-2024/04/27 | 403444 | systems/texlive/tlnet/archive/jsonparse.doc.r71088.tar.xz
-2024/04/27 | 4356 | systems/texlive/tlnet/archive/jsonparse.r71088.tar.xz
+2024/04/30 | 563504 | systems/texlive/tlnet/archive/jsonparse.doc.r71127.tar.xz
+2024/04/30 | 4772 | systems/texlive/tlnet/archive/jsonparse.r71127.tar.xz
2019/02/28 | 254168 | systems/texlive/tlnet/archive/jumplines.doc.r37553.tar.xz
2019/02/28 | 4036 | systems/texlive/tlnet/archive/jumplines.r37553.tar.xz
2024/04/25 | 4310552 | systems/texlive/tlnet/archive/junicode.doc.r71060.tar.xz
@@ -314149,9 +314149,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/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
+2024/04/30 | 875516 | systems/texlive/tlnet/archive/piton.doc.r71132.tar.xz
+2024/04/30 | 19864 | systems/texlive/tlnet/archive/piton.r71132.tar.xz
+2024/04/30 | 57044 | systems/texlive/tlnet/archive/piton.source.r71132.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
@@ -314430,8 +314430,8 @@
2022/04/27 | 2748 | systems/texlive/tlnet/archive/proflabo.r63147.tar.xz
2024/04/21 | 2024508 | systems/texlive/tlnet/archive/proflycee.doc.r71019.tar.xz
2024/04/21 | 69912 | systems/texlive/tlnet/archive/proflycee.r71019.tar.xz
-2024/04/26 | 374440 | systems/texlive/tlnet/archive/profmaquette.doc.r71077.tar.xz
-2024/04/26 | 24888 | systems/texlive/tlnet/archive/profmaquette.r71077.tar.xz
+2024/04/30 | 385624 | systems/texlive/tlnet/archive/profmaquette.doc.r71128.tar.xz
+2024/04/30 | 24912 | systems/texlive/tlnet/archive/profmaquette.r71128.tar.xz
2024/04/21 | 505760 | systems/texlive/tlnet/archive/profsio.doc.r71014.tar.xz
2024/04/21 | 18260 | systems/texlive/tlnet/archive/profsio.r71014.tar.xz
2019/02/28 | 49880 | systems/texlive/tlnet/archive/program.doc.r44214.tar.xz
@@ -315272,6 +315272,8 @@
2019/02/28 | 284140 | systems/texlive/tlnet/archive/roundrect.doc.r39796.tar.xz
2019/02/28 | 2200 | systems/texlive/tlnet/archive/roundrect.r39796.tar.xz
2019/02/28 | 7076 | systems/texlive/tlnet/archive/roundrect.source.r39796.tar.xz
+2024/04/30 | 462284 | systems/texlive/tlnet/archive/rpgicons.doc.r71129.tar.xz
+2024/04/30 | 17780 | systems/texlive/tlnet/archive/rpgicons.r71129.tar.xz
2019/02/28 | 90388 | systems/texlive/tlnet/archive/rrgtrees.doc.r27322.tar.xz
2019/02/28 | 3284 | systems/texlive/tlnet/archive/rrgtrees.r27322.tar.xz
2019/02/28 | 11056 | systems/texlive/tlnet/archive/rrgtrees.source.r27322.tar.xz
@@ -315336,6 +315338,8 @@
2023/09/11 | 344 | systems/texlive/tlnet/archive/runtexshebang.x86_64-linuxmusl.r68232.tar.xz
2023/09/11 | 344 | systems/texlive/tlnet/archive/runtexshebang.x86_64-linux.r68232.tar.xz
2023/09/11 | 344 | systems/texlive/tlnet/archive/runtexshebang.x86_64-solaris.r68232.tar.xz
+2024/04/30 | 10752 | systems/texlive/tlnet/archive/ruscap.doc.r71123.tar.xz
+2024/04/30 | 2928 | systems/texlive/tlnet/archive/ruscap.r71123.tar.xz
2019/02/28 | 297660 | systems/texlive/tlnet/archive/russ.doc.r25209.tar.xz
2019/02/28 | 25540 | systems/texlive/tlnet/archive/russ.r25209.tar.xz
2022/02/23 | 198592 | systems/texlive/tlnet/archive/rutitlepage.doc.r62143.tar.xz
@@ -316666,7 +316670,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2024/04/28 | 435068 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71103.tar.xz
+2024/04/30 | 434884 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71135.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.aarch64-linux.r53577.tar.xz
2020/01/27 | 924 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-freebsd.r53577.tar.xz
2020/01/27 | 916 | systems/texlive/tlnet/archive/texlive-scripts-extra.amd64-netbsd.r53577.tar.xz
@@ -316688,7 +316692,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2024/04/28 | 114164 | systems/texlive/tlnet/archive/texlive-scripts.r71103.tar.xz
+2024/04/30 | 114164 | systems/texlive/tlnet/archive/texlive-scripts.r71135.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2024/04/14 | 60548 | systems/texlive/tlnet/archive/texlive-scripts.windows.r70934.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -317204,10 +317208,10 @@
2023/11/10 | 2588 | systems/texlive/tlnet/archive/tkz-bernoulli.r68780.tar.xz
2023/10/27 | 34436 | systems/texlive/tlnet/archive/tkz-doc.doc.r68665.tar.xz
2023/10/27 | 6744 | systems/texlive/tlnet/archive/tkz-doc.r68665.tar.xz
-2024/03/27 | 810084 | systems/texlive/tlnet/archive/tkz-elements.doc.r70781.tar.xz
-2024/03/27 | 21852 | systems/texlive/tlnet/archive/tkz-elements.r70781.tar.xz
-2024/02/05 | 1172812 | systems/texlive/tlnet/archive/tkz-euclide.doc.r69702.tar.xz
-2024/02/05 | 41960 | systems/texlive/tlnet/archive/tkz-euclide.r69702.tar.xz
+2024/04/30 | 817152 | systems/texlive/tlnet/archive/tkz-elements.doc.r71130.tar.xz
+2024/04/30 | 22080 | systems/texlive/tlnet/archive/tkz-elements.r71130.tar.xz
+2024/04/30 | 1159976 | systems/texlive/tlnet/archive/tkz-euclide.doc.r71131.tar.xz
+2024/04/30 | 42280 | systems/texlive/tlnet/archive/tkz-euclide.r71131.tar.xz
2022/07/16 | 96832 | systems/texlive/tlnet/archive/tkzexample.doc.r63908.tar.xz
2022/07/16 | 3872 | systems/texlive/tlnet/archive/tkzexample.r63908.tar.xz
2022/02/09 | 749696 | systems/texlive/tlnet/archive/tkz-fct.doc.r61949.tar.xz
@@ -318610,16 +318614,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/29 | 5752633 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2024/04/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2024/04/29 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/04/30 | 5751626 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/04/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/04/30 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2024/04/13 | 5743 | systems/texlive/tlnet/install-tl-windows.bat
-2024/04/29 | 27722061 | systems/texlive/tlnet/install-tl-windows.exe
-2024/04/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2024/04/29 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/04/29 | 34426269 | systems/texlive/tlnet/install-tl.zip
-2024/04/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2024/04/29 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/04/30 | 27718774 | systems/texlive/tlnet/install-tl-windows.exe
+2024/04/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/04/30 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/04/30 | 34426289 | systems/texlive/tlnet/install-tl.zip
+2024/04/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/04/30 | 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
@@ -318629,7 +318633,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/28 | 7278 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/04/30 | 7160 | 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
@@ -318671,12 +318675,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/29 | 19432357 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2024/04/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2024/04/27 | 87619 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2024/04/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2024/04/29 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/04/29 | 2567216 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/04/30 | 19435199 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/04/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/04/29 | 87676 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
+2024/04/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/04/30 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/04/30 | 2566316 | 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
@@ -330152,7 +330156,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/30 | 186 | timestamp
+2024/05/01 | 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 c9bb0640f7..8b89bef700 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 1913151e32..27a01be07a 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,33 +1,138 @@
+2024/04/30 | 9855 | macros/generic/markdown/examples/optex.tex
+2024/04/30 | 970881 | macros/generic/markdown/markdown.dtx
+2024/04/30 | 908694 | macros/latex/required/l3backend.zip
+2024/04/30 | 875516 | systems/texlive/tlnet/archive/piton.doc.r71132.tar.xz
+2024/04/30 | 817152 | systems/texlive/tlnet/archive/tkz-elements.doc.r71130.tar.xz
+2024/04/30 | 75 | macros/generic/markdown/examples/scientists.csv
+2024/04/30 | 751192 | systems/texlive/tlnet/archive/bithesis.doc.r71133.tar.xz
+2024/04/30 | 7160 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2024/04/30 | 667248 | systems/texlive/tlnet/archive/easybook.doc.r71125.tar.xz
+2024/04/30 | 6600 | systems/texlive/tlnet/archive/fontscale.r71126.tar.xz
+2024/04/30 | 640 | systems/texlive/tlnet/archive/collection-games.r71129.tar.xz
+2024/04/30 | 5751626 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/04/30 | 57044 | systems/texlive/tlnet/archive/piton.source.r71132.tar.xz
+2024/04/30 | 563504 | systems/texlive/tlnet/archive/jsonparse.doc.r71127.tar.xz
+2024/04/30 | 494 | macros/latex/contrib/nmbib/README
+2024/04/30 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2024/04/30 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2024/04/30 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2024/04/30 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2024/04/30 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/04/30 | 488292 | macros/latex/contrib/nmbib.zip
+2024/04/30 | 4772 | systems/texlive/tlnet/archive/jsonparse.r71127.tar.xz
+2024/04/30 | 4681 | macros/generic/markdown/markdown.css
+2024/04/30 | 462284 | systems/texlive/tlnet/archive/rpgicons.doc.r71129.tar.xz
+2024/04/30 | 45803 | macros/generic/markdown/CHANGES.md
+2024/04/30 | 4405 | macros/generic/markdown/docstrip.cfg
+2024/04/30 | 434884 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71135.tar.xz
+2024/04/30 | 43473 | macros/latex/contrib/nmbib/nmbib.dtx
+2024/04/30 | 42280 | systems/texlive/tlnet/archive/tkz-euclide.r71131.tar.xz
+2024/04/30 | 4120725 | biblio/ctan-bibdata.zip
+2024/04/30 | 385624 | systems/texlive/tlnet/archive/profmaquette.doc.r71128.tar.xz
+2024/04/30 | 3832 | macros/generic/markdown/examples/example.md
+2024/04/30 | 3708800 | biblio/ctan-bibdata/ctan.pdf
+2024/04/30 | 368243 | macros/latex/contrib/nmbib/nmbib.pdf
+2024/04/30 | 34426289 | systems/texlive/tlnet/install-tl.zip
+2024/04/30 | 31 | macros/generic/markdown/VERSION
+2024/04/30 | 2928 | systems/texlive/tlnet/archive/ruscap.r71123.tar.xz
+2024/04/30 | 29248 | systems/texlive/tlnet/archive/epstopdf.doc.r71134.tar.xz
+2024/04/30 | 2863840 | biblio/ctan-bibdata/ctan.bib
+2024/04/30 | 27718774 | systems/texlive/tlnet/install-tl-windows.exe
+2024/04/30 | 27488 | systems/texlive/tlnet/archive/bithesis.source.r71133.tar.xz
+2024/04/30 | 2577 | macros/latex/contrib/nmbib/nmbibtex.1
+2024/04/30 | 2566316 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2024/04/30 | 24912 | systems/texlive/tlnet/archive/profmaquette.r71128.tar.xz
+2024/04/30 | 2416 | systems/texlive/tlnet/archive/beamertheme-tcolorbox.r71124.tar.xz
+2024/04/30 | 22881 | macros/generic/markdown/libraries/markdown-tinyyaml.lua
+2024/04/30 | 22769 | macros/generic/markdown/README.md
+2024/04/30 | 22080 | systems/texlive/tlnet/archive/tkz-elements.r71130.tar.xz
+2024/04/30 | 2153 | macros/generic/markdown/examples/context-mkiv.tex
+2024/04/30 | 20788 | systems/texlive/tlnet/archive/bithesis.r71133.tar.xz
+2024/04/30 | 2066 | macros/generic/markdown/examples/latex-pdftex.tex
+2024/04/30 | 2040 | systems/texlive/tlnet/archive/collection-fontsextra.r71123.tar.xz
+2024/04/30 | 2037 | macros/generic/markdown/examples/latex-luatex.tex
+2024/04/30 | 19864 | systems/texlive/tlnet/archive/piton.r71132.tar.xz
+2024/04/30 | 19435199 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2024/04/30 | 17852 | systems/texlive/tlnet/archive/easybook.r71125.tar.xz
+2024/04/30 | 17780 | systems/texlive/tlnet/archive/rpgicons.r71129.tar.xz
+2024/04/30 | 17740 | systems/texlive/tlnet/archive/easybook.source.r71125.tar.xz
+2024/04/30 | 173452 | systems/texlive/tlnet/archive/beamertheme-tcolorbox.doc.r71124.tar.xz
+2024/04/30 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/04/30 | 1650 | macros/generic/markdown/markdown.ins
+2024/04/30 | 1611830 | install/macros/generic/markdown.tds.zip
+2024/04/30 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2024/04/30 | 1534 | macros/latex/contrib/nmbib/Makefile
+2024/04/30 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/04/30 | 1514264 | macros/generic/markdown.zip
+2024/04/30 | 14884 | systems/texlive/tlnet/archive/epstopdf.r71134.tar.xz
+2024/04/30 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2024/04/30 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2024/04/30 | 14104136 | macros/latex/required/l3kernel.zip
+2024/04/30 | 140951 | macros/generic/markdown/markdown.png
+2024/04/30 | 123584 | systems/texlive/tlnet/archive/fontscale.doc.r71126.tar.xz
+2024/04/30 | 1159976 | systems/texlive/tlnet/archive/tkz-euclide.doc.r71131.tar.xz
+2024/04/30 | 114164 | systems/texlive/tlnet/archive/texlive-scripts.r71135.tar.xz
+2024/04/30 | 1116505 | macros/generic/markdown/markdown.pdf
+2024/04/30 | 10752 | systems/texlive/tlnet/archive/ruscap.doc.r71123.tar.xz
+2024/04/30 | 1037601 | macros/generic/markdown/markdown.html
+2024/04/30 | 101693 | macros/latex/contrib/nmbib/nmbib-sample.pdf
+2024/04/29 | 9999 | macros/latex/required/l3kernel/l3news10.tex
+2024/04/29 | 9670 | macros/latex/required/l3backend/l3backend-opacity.dtx
2024/04/29 | 960 | macros/luatex/latex/piton/README.md
2024/04/29 | 95752 | macros/latex/contrib/rpgicons/rpgicons-pgf.sty
+2024/04/29 | 946605 | install/macros/latex/required/l3backend.tds.zip
+2024/04/29 | 9465 | macros/latex/required/l3kernel/l3news08.tex
+2024/04/29 | 9445 | macros/latex/required/l3kernel/l3fp-assign.dtx
+2024/04/29 | 93008 | macros/latex/required/l3kernel/l3int.dtx
2024/04/29 | 91872 | graphics/tpic2pdftex.zip
+2024/04/29 | 91719 | macros/latex/required/l3kernel/l3skip.dtx
+2024/04/29 | 907780 | macros/latex/required/l3backend/l3backend-code.pdf
2024/04/29 | 904 | systems/win32/miktex/tm/packages/pr.ini
2024/04/29 | 889179 | macros/latex/contrib/tkz/tkz-elements.zip
2024/04/29 | 8879 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2024/04/29 | 88794 | macros/latex/required/l3kernel/l3expan.dtx
2024/04/29 | 88631 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2024/04/29 | 88241 | macros/latex/required/l3kernel/l3coffins.dtx
2024/04/29 | 88052 | macros/latex/contrib/rpgicons/rpgicons-l3.sty
+2024/04/29 | 87821 | macros/latex/required/l3kernel/l3box.dtx
+2024/04/29 | 87676 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
2024/04/29 | 86159 | systems/win32/miktex/tm/packages/fontspec__source.tar.lzma
+2024/04/29 | 8481 | macros/latex/required/l3kernel/l3news11.tex
+2024/04/29 | 84789 | macros/latex/required/l3kernel/l3fp-basics.dtx
+2024/04/29 | 83169 | macros/latex/required/l3kernel/l3clist.dtx
+2024/04/29 | 83081 | macros/latex/required/l3kernel/l3msg.dtx
2024/04/29 | 829332 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2024/04/29 | 82720 | macros/latex/required/l3kernel/l3prefixes.pdf
+2024/04/29 | 82462 | macros/latex/required/l3kernel/l3str.dtx
2024/04/29 | 82188 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2024/04/29 | 81979 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
2024/04/29 | 81575 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
2024/04/29 | 814287 | systems/win32/miktex/tm/packages/files.csv.lzma
2024/04/29 | 814214 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2024/04/29 | 80270 | macros/latex/required/l3kernel/l3names.dtx
2024/04/29 | 78333 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2024/04/29 | 7831 | macros/latex/required/l3kernel/l3fp-functions.dtx
2024/04/29 | 780574 | macros/unicodetex/latex/bithesis.zip
2024/04/29 | 77277 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2024/04/29 | 76534 | macros/latex/required/l3kernel/l3fp.dtx
2024/04/29 | 76438 | systems/win32/miktex/tm/packages/latexindent.tar.lzma
2024/04/29 | 76404 | systems/texlive/tlnet/archive/latexindent.r71114.tar.xz
+2024/04/29 | 76368 | macros/latex/required/l3kernel/l3text-case.dtx
+2024/04/29 | 7624172 | macros/latex/required/l3kernel/source3.pdf
2024/04/29 | 76147 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
2024/04/29 | 751202 | macros/unicodetex/latex/bithesis/bithesis.pdf
2024/04/29 | 75078 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
2024/04/29 | 7435 | macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.tex
+2024/04/29 | 73845 | macros/latex/required/l3kernel/l3fp-trig.dtx
2024/04/29 | 7365 | macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamerinnerthemetcolorbox.sty
2024/04/29 | 73412 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
2024/04/29 | 73404 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
2024/04/29 | 73328 | systems/texlive/tlnet/archive/esindex.doc.r71111.tar.xz
2024/04/29 | 7279 | support/epstopdf/epstopdf.1
+2024/04/29 | 71456 | macros/latex/required/l3kernel/expl3.dtx
2024/04/29 | 708532 | macros/latex/contrib/jsonparse.zip
+2024/04/29 | 70830 | macros/latex/required/l3kernel/l3prg.dtx
+2024/04/29 | 7079 | macros/latex/required/l3kernel/l3term-glossary.tex
2024/04/29 | 707227 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
2024/04/29 | 698640 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
2024/04/29 | 69672 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
@@ -35,44 +140,62 @@
2024/04/29 | 67935 | systems/win32/miktex/tm/packages/esindex__doc.tar.lzma
2024/04/29 | 67447 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
2024/04/29 | 6690 | systems/win32/miktex/tm/packages/esindex__source.tar.lzma
+2024/04/29 | 6677 | macros/latex/required/l3kernel/l3news02.tex
2024/04/29 | 6565 | systems/win32/miktex/tm/packages/babel-latvian__source.tar.lzma
2024/04/29 | 65135 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2024/04/29 | 6482 | macros/latex/required/l3kernel/l3news03.tex
2024/04/29 | 64674 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2024/04/29 | 6433 | macros/latex/required/l3kernel/l3news06.tex
+2024/04/29 | 6429 | macros/latex/required/l3kernel/l3.ins
2024/04/29 | 6353 | macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc-settings.sty
+2024/04/29 | 63041 | macros/latex/required/l3kernel/l3tl-analysis.dtx
2024/04/29 | 6232 | systems/texlive/tlnet/archive/babel-latvian.source.r71108.tar.xz
+2024/04/29 | 6219 | macros/latex/required/l3kernel/l3syntax-changes.tex
2024/04/29 | 61007 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2024/04/29 | 610060 | macros/latex/required/l3kernel/expl3.pdf
2024/04/29 | 606694 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
2024/04/29 | 603371 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
2024/04/29 | 6010 | macros/latex/contrib/jsonparse/jason/jason.svg
+2024/04/29 | 59454 | macros/latex/required/l3kernel/CHANGELOG.md
2024/04/29 | 59334 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
2024/04/29 | 5900 | systems/win32/miktex/tm/packages/huaz.tar.lzma
2024/04/29 | 58950 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
2024/04/29 | 578489 | macros/latex/contrib/jsonparse/jsonparse-doc.pdf
-2024/04/29 | 5752633 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2024/04/29 | 565282 | macros/latex/required/l3kernel/l3doc.pdf
2024/04/29 | 5632 | systems/texlive/tlnet/archive/huaz.r71112.tar.xz
2024/04/29 | 55974 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
2024/04/29 | 556177 | systems/win32/miktex/tm/packages/lastpage__doc.tar.lzma
+2024/04/29 | 549 | macros/latex/required/l3backend/README.md
2024/04/29 | 54772 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2024/04/29 | 5429 | macros/latex/required/l3kernel/l3news04.tex
2024/04/29 | 54125 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
2024/04/29 | 530086 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
2024/04/29 | 52 | macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/DEPENDS.txt
2024/04/29 | 52617 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
2024/04/29 | 523618 | biblio/bibtex/bibtex-x.zip
+2024/04/29 | 51091 | macros/latex/required/l3kernel/l3fp-extended.dtx
2024/04/29 | 504548 | fonts/utilities/ps2pk.zip
+2024/04/29 | 50238 | macros/latex/required/l3backend/l3backend-pdf.dtx
2024/04/29 | 499536 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2024/04/29 | 4977 | macros/latex/required/l3kernel/l3news07.tex
2024/04/29 | 49711 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2024/04/29 | 4937 | macros/latex/required/l3kernel/l3news01.tex
+2024/04/29 | 49321 | macros/latex/required/l3kernel/l3fp-expo.dtx
+2024/04/29 | 4927 | macros/latex/required/l3backend/l3backend.ins
2024/04/29 | 49164 | macros/latex/contrib/fontscale/fontscale.sty
+2024/04/29 | 4911 | macros/latex/required/l3kernel/l3fp-types.dtx
2024/04/29 | 490866 | macros/latex/contrib/rpgicons/rpgicons-doc.pdf
2024/04/29 | 490382 | macros/latex/contrib/rpgicons.zip
-2024/04/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2024/04/29 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2024/04/29 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2024/04/29 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2024/04/29 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2024/04/29 | 48984 | macros/latex/required/l3kernel/l3text.dtx
+2024/04/29 | 4890 | macros/latex/required/l3kernel/l3news.tex
+2024/04/29 | 48386 | macros/latex/required/l3kernel/l3prefixes.csv
2024/04/29 | 48306 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
2024/04/29 | 47407 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2024/04/29 | 473194 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2024/04/29 | 47237 | macros/latex/required/l3kernel/l3fp-aux.dtx
+2024/04/29 | 4716 | macros/latex/required/l3kernel/l3news05.tex
2024/04/29 | 45869 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2024/04/29 | 4570 | macros/latex/required/l3kernel/l3legacy.dtx
2024/04/29 | 4545 | systems/win32/miktex/tm/packages/lastpage.tar.lzma
2024/04/29 | 4469 | systems/win32/miktex/tm/packages/babel-welsh__source.tar.lzma
2024/04/29 | 44639 | support/epstopdf.zip
@@ -81,32 +204,38 @@
2024/04/29 | 44116 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
2024/04/29 | 44098 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
2024/04/29 | 4329 | systems/win32/miktex/tm/packages/babel-latvian.tar.lzma
+2024/04/29 | 43211 | macros/latex/required/l3kernel/l3sys.dtx
2024/04/29 | 43106 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
2024/04/29 | 429187 | macros/luatex/latex/piton/piton-french.pdf
2024/04/29 | 41925 | support/epstopdf/epstopdf.pl
+2024/04/29 | 41860 | macros/latex/required/l3kernel/l3debug.dtx
+2024/04/29 | 41764 | macros/latex/required/l3backend/l3backend-color.dtx
2024/04/29 | 4176286 | systems/win32/miktex/tm/packages/novel__source.tar.lzma
2024/04/29 | 4170696 | systems/texlive/tlnet/archive/novel.doc.r71113.tar.xz
2024/04/29 | 4163 | systems/win32/miktex/tm/packages/esindex.tar.lzma
2024/04/29 | 414060 | macros/latex/contrib/profmaquette.zip
-2024/04/29 | 4120684 | biblio/ctan-bibdata.zip
2024/04/29 | 4112 | systems/texlive/tlnet/archive/babel-latvian.r71108.tar.xz
2024/04/29 | 4100 | systems/texlive/tlnet/archive/babel-welsh.source.r71109.tar.xz
+2024/04/29 | 40727 | macros/latex/required/l3kernel/l3sort.dtx
2024/04/29 | 405460 | systems/win32/miktex/tm/packages/tikzducks__doc.tar.lzma
2024/04/29 | 40373 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2024/04/29 | 396222 | macros/latex/required/l3kernel/l3news.pdf
2024/04/29 | 395219 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
2024/04/29 | 3940 | systems/texlive/tlnet/archive/esindex.r71111.tar.xz
2024/04/29 | 3851272 | systems/texlive/tlnet/archive/latexindent.windows.r71114.tar.xz
2024/04/29 | 37611 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2024/04/29 | 3708800 | biblio/ctan-bibdata/ctan.pdf
2024/04/29 | 36755 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
2024/04/29 | 36726 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
2024/04/29 | 360196 | systems/texlive/tlnet/archive/huaz.doc.r71112.tar.xz
+2024/04/29 | 35640 | macros/latex/required/l3kernel/l3unicode.dtx
2024/04/29 | 353925 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
2024/04/29 | 353923 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
2024/04/29 | 35338 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
2024/04/29 | 352882 | systems/win32/miktex/tm/packages/huaz__doc.tar.lzma
+2024/04/29 | 35218 | macros/latex/required/l3kernel/l3quark.dtx
2024/04/29 | 352133 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2024/04/29 | 34426269 | systems/texlive/tlnet/install-tl.zip
+2024/04/29 | 34447 | macros/latex/required/l3kernel/l3cctab.dtx
+2024/04/29 | 34115 | macros/latex/required/l3backend/l3backend-draw.dtx
2024/04/29 | 33889 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
2024/04/29 | 33871 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
2024/04/29 | 3342 | systems/win32/miktex/tm/packages/beamertheme-rainbow.tar.lzma
@@ -116,35 +245,50 @@
2024/04/29 | 32082 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
2024/04/29 | 3156 | systems/texlive/tlnet/archive/beamertheme-rainbow.r71110.tar.xz
2024/04/29 | 31567 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2024/04/29 | 31531 | macros/latex/required/l3kernel/l3intarray.dtx
+2024/04/29 | 31020 | macros/latex/required/l3kernel/l3kernel-functions.dtx
+2024/04/29 | 3078 | macros/latex/required/l3kernel/README.md
+2024/04/29 | 305486 | macros/latex/required/l3kernel/l3regex.dtx
2024/04/29 | 305277 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
2024/04/29 | 2967 | systems/win32/miktex/tm/packages/beamertheme-rainbow__source.tar.lzma
+2024/04/29 | 296259 | macros/latex/required/l3kernel/l3styleguide.pdf
+2024/04/29 | 29614 | macros/latex/required/l3backend/l3backend-graphics.dtx
2024/04/29 | 291249 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
2024/04/29 | 29116 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
2024/04/29 | 2902 | systems/win32/miktex/tm/packages/ruscap.tar.lzma
2024/04/29 | 287491 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
2024/04/29 | 28699 | support/epstopdf/epstopdf.man1.pdf
-2024/04/29 | 2863477 | biblio/ctan-bibdata/ctan.bib
2024/04/29 | 2844684 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2024/04/29 | 2821 | macros/latex/required/l3kernel/l3prefixes.tex
2024/04/29 | 278779 | systems/win32/miktex/tm/packages/babel-latvian__doc.tar.lzma
2024/04/29 | 277451 | macros/luatex/latex/piton/piton.dtx
-2024/04/29 | 27722061 | systems/texlive/tlnet/install-tl-windows.exe
2024/04/29 | 277076 | systems/texlive/tlnet/archive/babel-latvian.doc.r71108.tar.xz
2024/04/29 | 27485 | systems/win32/miktex/tm/packages/fontspec.tar.lzma
2024/04/29 | 272211 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
2024/04/29 | 27152 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
2024/04/29 | 26842 | macros/latex/contrib/jsonparse/jsonparse.sty
2024/04/29 | 266279 | dviware/dviljk.zip
+2024/04/29 | 26541 | macros/latex/required/l3kernel/l3pdf.dtx
2024/04/29 | 2649 | macros/unicodetex/latex/bithesis/contributing-zh.md
-2024/04/29 | 2567216 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2024/04/29 | 25599 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
2024/04/29 | 25594 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2024/04/29 | 250159 | macros/latex/required/l3kernel/l3news09.pdf
2024/04/29 | 249367 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
2024/04/29 | 248833 | indexing/makeindexk.zip
+2024/04/29 | 24881 | macros/latex/required/l3kernel/l3deprecation.dtx
+2024/04/29 | 24830 | macros/latex/required/l3kernel/source3body.tex
2024/04/29 | 24638 | macros/latex/contrib/jsonparse/jsonparse-doc.tex
2024/04/29 | 245926 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2024/04/29 | 241893 | macros/latex/required/l3kernel/l3term-glossary.pdf
2024/04/29 | 24148 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2024/04/29 | 2384 | macros/latex/required/l3kernel/l3docstrip.dtx
+2024/04/29 | 23830 | macros/latex/required/l3kernel/l3luatex.dtx
+2024/04/29 | 23581 | macros/latex/required/l3kernel/l3fp-random.dtx
2024/04/29 | 2348 | macros/unicodetex/latex/bithesis/contributing.md
+2024/04/29 | 23206 | macros/latex/required/l3kernel/l3fp-logic.dtx
2024/04/29 | 231955 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2024/04/29 | 231103 | macros/latex/required/l3kernel/l3syntax-changes.pdf
+2024/04/29 | 2282 | macros/latex/required/l3kernel/source3.tex
2024/04/29 | 22391 | systems/win32/miktex/tm/packages/lastpage__source.tar.lzma
2024/04/29 | 221375 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
2024/04/29 | 218947 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
@@ -155,65 +299,103 @@
2024/04/29 | 20 | support/epstopdf/repstopdf.1
2024/04/29 | 2075559 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
2024/04/29 | 2075409 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2024/04/29 | 205020 | macros/latex/required/l3kernel/l3news12.pdf
2024/04/29 | 2049 | systems/win32/miktex/tm/packages/babel-welsh.tar.lzma
+2024/04/29 | 20460 | macros/latex/required/l3kernel/l3text-purify.dtx
2024/04/29 | 203273 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2024/04/29 | 20310 | macros/latex/required/l3kernel/l3fp-symbolic.dtx
2024/04/29 | 2021179 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
2024/04/29 | 19980 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
2024/04/29 | 19947 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2024/04/29 | 19637 | macros/latex/required/l3kernel/l3fp-convert.dtx
+2024/04/29 | 19547 | macros/latex/required/l3kernel/l3bitset.dtx
+2024/04/29 | 1949 | macros/latex/required/l3kernel/interface3.tex
2024/04/29 | 1946 | macros/unicodetex/latex/bithesis/README.md
-2024/04/29 | 19432357 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2024/04/29 | 1942 | macros/latex/contrib/rpgicons/README.md
+2024/04/29 | 18528 | macros/latex/required/l3kernel/l3fp-round.dtx
2024/04/29 | 183267 | dviware/dvidvi.zip
2024/04/29 | 182726 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
2024/04/29 | 1804 | systems/texlive/tlnet/archive/babel-welsh.r71109.tar.xz
+2024/04/29 | 1801752 | macros/latex/required/l3kernel/interface3.pdf
2024/04/29 | 17874 | CTAN.sites
2024/04/29 | 178055 | macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/beamertheme-tcolorbox-doc.pdf
2024/04/29 | 1775103 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
2024/04/29 | 1774492 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2024/04/29 | 175396 | macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox.zip
2024/04/29 | 174031 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2024/04/29 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2024/04/29 | 170102 | macros/latex/required/l3kernel/l3news11.pdf
+2024/04/29 | 16624 | macros/latex/required/l3kernel/l3text-map.dtx
+2024/04/29 | 163484 | macros/latex/required/l3kernel/l3news08.pdf
+2024/04/29 | 16213 | macros/latex/required/l3backend/l3backend-basics.dtx
+2024/04/29 | 159891 | macros/latex/required/l3kernel/l3doc.dtx
2024/04/29 | 159831 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2024/04/29 | 156372 | systems/texlive/tlnet/archive/beamertheme-rainbow.doc.r71110.tar.xz
2024/04/29 | 154592 | systems/win32/miktex/tm/packages/beamertheme-rainbow__doc.tar.lzma
-2024/04/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2024/04/29 | 1530822 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2024/04/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2024/04/29 | 151591 | macros/latex/required/l3kernel/l3news06.pdf
+2024/04/29 | 150985 | macros/latex/required/l3kernel/l3docstrip.pdf
+2024/04/29 | 150919 | macros/latex/required/l3kernel/l3news02.pdf
+2024/04/29 | 150302 | macros/latex/required/l3kernel/l3news10.pdf
+2024/04/29 | 149691 | macros/latex/required/l3kernel/l3tl.dtx
+2024/04/29 | 14913 | macros/latex/required/l3kernel/l3news12.tex
+2024/04/29 | 148747 | macros/latex/required/l3kernel/l3news03.pdf
+2024/04/29 | 14823 | macros/latex/required/l3backend/l3backend-header.dtx
2024/04/29 | 14721 | systems/win32/miktex/tm/packages/novel__doc.tar.lzma
-2024/04/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
2024/04/29 | 14593 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
-2024/04/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2024/04/29 | 1444 | support/epstopdf/README
+2024/04/29 | 144422 | macros/latex/required/l3kernel/l3file.dtx
+2024/04/29 | 14433 | macros/latex/required/l3backend/l3backend-box.dtx
2024/04/29 | 1437840 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2024/04/29 | 14374071 | install/macros/latex/required/l3kernel.tds.zip
2024/04/29 | 141917 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2024/04/29 | 14152 | macros/latex/required/l3kernel/l3flag.dtx
+2024/04/29 | 138821 | macros/latex/required/l3kernel/l3basics.dtx
2024/04/29 | 138015 | support/lacheck.zip
2024/04/29 | 137620 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
2024/04/29 | 1373316 | systems/texlive/tlnet/archive/latexindent.doc.r71114.tar.xz
+2024/04/29 | 1344 | macros/latex/required/l3backend/l3backend-code.tex
2024/04/29 | 1342151 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2024/04/29 | 13292 | macros/latex/required/l3kernel/l3tl-build.dtx
2024/04/29 | 132064 | macros/latex/contrib/fontscale.zip
2024/04/29 | 131600 | macros/unicodetex/latex/bithesis/bithesis.dtx
+2024/04/29 | 130500 | macros/latex/required/l3kernel/l3keys.dtx
2024/04/29 | 1295965 | macros/latex/contrib/tkz/tkz-euclide.zip
+2024/04/29 | 12955 | macros/latex/required/l3kernel/l3bootstrap.dtx
+2024/04/29 | 12945 | macros/latex/required/l3kernel/l3fparray.dtx
2024/04/29 | 128366 | systems/win32/miktex/tm/packages/latexindent__source.tar.lzma
+2024/04/29 | 128344 | macros/latex/required/l3kernel/l3news07.pdf
+2024/04/29 | 12832 | macros/latex/required/l3kernel/l3fp-traps.dtx
2024/04/29 | 1255 | macros/latex/contrib/rpgicons/rpgicons.sty
2024/04/29 | 1247231 | systems/win32/miktex/tm/packages/latexindent__doc.tar.lzma
2024/04/29 | 1246 | systems/win32/miktex/tm/packages/ruscap__source.tar.lzma
+2024/04/29 | 122959 | macros/latex/required/l3kernel/l3news01.pdf
2024/04/29 | 118974 | systems/win32/miktex/tm/packages/babel-welsh__doc.tar.lzma
+2024/04/29 | 11882 | macros/latex/required/l3kernel/l3styleguide.tex
2024/04/29 | 118536 | systems/texlive/tlnet/archive/babel-welsh.doc.r71109.tar.xz
2024/04/29 | 117799 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
2024/04/29 | 1172613 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2024/04/29 | 117222 | macros/latex/required/l3kernel/l3token.dtx
2024/04/29 | 117113 | macros/latex/contrib/fontscale/fontscale-manual.pdf
2024/04/29 | 116753 | systems/win32/miktex/tm/packages/novel.tar.lzma
2024/04/29 | 116492 | systems/texlive/tlnet/archive/novel.r71113.tar.xz
2024/04/29 | 1155885 | systems/win32/miktex/tm/packages/fontspec__doc.tar.lzma
2024/04/29 | 1150 | systems/win32/miktex/tm/packages/next/pr.ini
+2024/04/29 | 114754 | macros/latex/required/l3kernel/l3news04.pdf
2024/04/29 | 1144 | macros/latex/contrib/beamer-contrib/themes/beamertheme-tcolorbox/README.md
+2024/04/29 | 113735 | macros/latex/required/l3kernel/l3str-convert.dtx
+2024/04/29 | 112524 | macros/latex/required/l3kernel/l3news05.pdf
2024/04/29 | 112370 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2024/04/29 | 112260 | macros/latex/required/l3kernel/l3color.dtx
+2024/04/29 | 11157 | macros/latex/required/l3backend/CHANGELOG.md
2024/04/29 | 1103289 | macros/latex/contrib/tkz/tkz-euclide/doc/tkz-euclide.pdf
2024/04/29 | 109848 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
2024/04/29 | 108628 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2024/04/29 | 107383 | macros/latex/required/l3kernel/l3news09.tex
2024/04/29 | 106725 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
2024/04/29 | 10600 | systems/win32/miktex/tm/packages/ruscap__doc.tar.lzma
2024/04/29 | 105778 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2024/04/29 | 105275 | macros/latex/required/l3kernel/l3prop.dtx
+2024/04/29 | 105022 | macros/latex/required/l3kernel/l3fp-parse.dtx
2024/04/29 | 10489 | systems/win32/miktex/tm/packages/tikzducks__source.tar.lzma
2024/04/29 | 104422 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
2024/04/29 | 1043842 | macros/luatex/latex/piton.zip
@@ -222,6 +404,7 @@
2024/04/29 | 103563 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
2024/04/29 | 10345 | systems/win32/miktex/tm/packages/huaz__source.tar.lzma
2024/04/29 | 100631 | macros/luatex/latex/piton/piton-french.tex
+2024/04/29 | 100486 | macros/latex/required/l3kernel/l3seq.dtx
2024/04/28 | 9859 | support/latexindent/LatexIndent/Lines.pm
2024/04/28 | 95 | systems/win32/miktex/setup/deb/dists/bullseye/universe/binary-amd64/Release
2024/04/28 | 95 | systems/win32/miktex/setup/deb/dists/bookworm/universe/binary-amd64/Release
@@ -259,7 +442,6 @@
2024/04/28 | 7564675 | support/latexindent/bin/macos/latexindent
2024/04/28 | 7379 | support/latexindent/LatexIndent/MandatoryArgument.pm
2024/04/28 | 733967 | biblio/bibtex/bibtex-x/configure.texk
-2024/04/28 | 7278 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2024/04/28 | 7161 | support/latexindent/documentation/figure-schematic.png
2024/04/28 | 704147 | macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf
2024/04/28 | 695 | macros/latex/contrib/huaz/README
@@ -313,7 +495,6 @@
2024/04/28 | 4402 | support/latexindent/documentation/latex-indent.bib
2024/04/28 | 4388 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm
2024/04/28 | 4371 | fonts/ruscap/LICENSE
-2024/04/28 | 435068 | systems/texlive/tlnet/archive/texlive-scripts.doc.r71103.tar.xz
2024/04/28 | 4292 | systems/texlive/tlnet/archive/lastpage.r71099.tar.xz
2024/04/28 | 4260 | systems/texlive/tlnet/archive/tikzbricks.r71097.tar.xz
2024/04/28 | 415940 | systems/texlive/tlnet/archive/tikzducks.doc.r71098.tar.xz
@@ -446,7 +627,6 @@
2024/04/28 | 1208 | systems/win32/miktex/setup/rpm/fedora/38/repodata/ea0c0eb69f6f92237141b480a0af52a159e5f36dfabe89f3a8cf681b8a2b24ba-other.sqlite.bz2
2024/04/28 | 1155292 | systems/texlive/tlnet/archive/fontspec.doc.r71101.tar.xz
2024/04/28 | 11509 | support/latexindent/LatexIndent/FileContents.pm
-2024/04/28 | 114164 | systems/texlive/tlnet/archive/texlive-scripts.r71103.tar.xz
2024/04/28 | 11341 | macros/latex/contrib/tkz/tkz-elements/examples/tkz-elements-demo_4.pdf
2024/04/28 | 1122 | fonts/ruscap/README.md
2024/04/28 | 11206 | support/latexindent/LatexIndent/Heading.pm
@@ -480,7 +660,6 @@
2024/04/27 | 8820 | macros/luatex/latex/novel/lualatex/novel-PostLayout.sty
2024/04/27 | 8800 | macros/unicodetex/latex/fontspec/fontspec-code-msg.dtx
2024/04/27 | 8795 | systems/win32/miktex/tm/packages/fontscale.tar.lzma
-2024/04/27 | 87619 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
2024/04/27 | 852737 | systems/win32/miktex/tm/packages/fancyhdr__doc.tar.lzma
2024/04/27 | 84955 | systems/win32/miktex/tm/packages/miktex-freeglut-bin-x64-2.9.tar.lzma
2024/04/27 | 8471938 | systems/win32/miktex/tm/packages/ebgaramond.tar.lzma
@@ -514,7 +693,6 @@
2024/04/27 | 680337 | systems/win32/miktex/tm/packages/atkinson__doc.tar.lzma
2024/04/27 | 67952 | systems/win32/miktex/tm/packages/siunitx.tar.lzma
2024/04/27 | 67946 | systems/win32/miktex/tm/packages/miktex-bibarts-bin-x64-2.9.tar.lzma
-2024/04/27 | 667468 | systems/texlive/tlnet/archive/easybook.doc.r71085.tar.xz
2024/04/27 | 6550 | macros/unicodetex/latex/fontspec/fontspec-code-scripts.dtx
2024/04/27 | 65504 | systems/win32/miktex/tm/packages/miktex-tdsutil-bin-x64.tar.lzma
2024/04/27 | 648587 | systems/win32/miktex/tm/packages/elteiktdk__doc.tar.lzma
@@ -579,7 +757,6 @@
2024/04/27 | 440310 | graphics/pgf/contrib/tikzducks.zip
2024/04/27 | 440278 | macros/latex/contrib/lastpage/lastpage.pdf
2024/04/27 | 43795 | systems/win32/miktex/tm/packages/miktex-patgen-bin-x64.tar.lzma
-2024/04/27 | 4356 | systems/texlive/tlnet/archive/jsonparse.r71088.tar.xz
2024/04/27 | 435561 | systems/win32/miktex/tm/packages/miktex-cairo-bin-x64-2.9.tar.lzma
2024/04/27 | 4321427 | systems/win32/miktex/tm/packages/junicode__doc.tar.lzma
2024/04/27 | 42840 | macros/unicodetex/latex/fontspec/fontspec-code-internal.dtx
@@ -590,7 +767,6 @@
2024/04/27 | 412000 | graphics/pgf/contrib/tikzducks/tikzducks-doc.pdf
2024/04/27 | 41163 | systems/win32/miktex/tm/packages/miktex-chktex-bin-x64-2.9.tar.lzma
2024/04/27 | 4098 | macros/unicodetex/latex/fontspec/fontspec-code-fontload.dtx
-2024/04/27 | 403444 | systems/texlive/tlnet/archive/jsonparse.doc.r71088.tar.xz
2024/04/27 | 4029 | macros/unicodetex/latex/fontspec/fontspec-code-graphite.dtx
2024/04/27 | 4021 | systems/win32/miktex/tm/packages/tikzmarmots__source.tar.lzma
2024/04/27 | 3976 | systems/win32/miktex/tm/packages/jigsaw.tar.lzma
@@ -694,10 +870,8 @@
2024/04/27 | 18347 | systems/win32/miktex/tm/packages/profsio__source.tar.lzma
2024/04/27 | 1827 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_misc.lua
2024/04/27 | 18081 | macros/luatex/latex/novel/lualatex/novel-HeadFootStyles.sty
-2024/04/27 | 17712 | systems/texlive/tlnet/archive/easybook.r71085.tar.xz
2024/04/27 | 17673 | macros/unicodetex/latex/fontspec/fontspec-code-user.dtx
2024/04/27 | 176085 | systems/win32/miktex/tm/packages/miktex-tex-bin-x64-2.9.tar.lzma
-2024/04/27 | 17576 | systems/texlive/tlnet/archive/easybook.source.r71085.tar.xz
2024/04/27 | 17571 | macros/luatex/latex/novel/lualatex/novel-pdfx.sty
2024/04/27 | 1753878 | systems/win32/miktex/tm/packages/proflycee__doc.tar.lzma
2024/04/27 | 174754 | systems/win32/miktex/tm/packages/luamplib__doc.tar.lzma
@@ -853,7 +1027,6 @@
2024/04/26 | 3884 | macros/latex/contrib/profcollege/latex/PfCKenKen.tex
2024/04/26 | 3808 | macros/latex/contrib/profcollege/latex/PfCEratosthene.tex
2024/04/26 | 3765 | macros/latex/contrib/profcollege/latex/PfCEnquete.tex
-2024/04/26 | 374440 | systems/texlive/tlnet/archive/profmaquette.doc.r71077.tar.xz
2024/04/26 | 3715 | macros/latex/contrib/elteiktdk/README.md
2024/04/26 | 3652 | macros/latex/contrib/profcollege/latex/PfCDefiCalc.tex
2024/04/26 | 3618 | macros/latex/contrib/profcollege/latex/PfCDecompFracDeci.tex
@@ -889,7 +1062,6 @@
2024/04/26 | 25321 | macros/latex/contrib/profcollege/latex/PfCQuestionsFlash.tex
2024/04/26 | 2504 | systems/texlive/tlnet/archive/tikzmarmots.r71076.tar.xz
2024/04/26 | 2499 | macros/latex/contrib/profcollege/latex/PfCSquaro.tex
-2024/04/26 | 24888 | systems/texlive/tlnet/archive/profmaquette.r71077.tar.xz
2024/04/26 | 24804 | macros/latex/contrib/profcollege/latex/PfCTrigonometrie.tex
2024/04/26 | 2477 | macros/latex/contrib/profcollege/latex/PfCEcritureLettres.tex
2024/04/26 | 247146 | graphics/pgf/contrib/tikzbricks.zip
@@ -980,7 +1152,6 @@
2024/04/25 | 849780 | systems/texlive/tlnet/archive/fancyhdr.doc.r71064.tar.xz
2024/04/25 | 8391100 | systems/texlive/tlnet/archive/ebgaramond.r71069.tar.xz
2024/04/25 | 788136 | systems/texlive/tlnet/archive/ibarra.r71059.tar.xz
-2024/04/25 | 750976 | systems/texlive/tlnet/archive/bithesis.doc.r71068.tar.xz
2024/04/25 | 7168 | systems/texlive/tlnet/archive/collection-latexextra.r71063.tar.xz
2024/04/25 | 7141672 | systems/texlive/tlnet/archive/garamond-libre.r71058.tar.xz
2024/04/25 | 67888 | systems/texlive/tlnet/archive/siunitx.r71066.tar.xz
@@ -1008,13 +1179,11 @@
2024/04/25 | 2876 | info/biblio/printing-history.ltx
2024/04/25 | 2848 | info/biblio/typeset.ltx
2024/04/25 | 2790 | macros/luatex/generic/luamplib/Makefile
-2024/04/25 | 27500 | systems/texlive/tlnet/archive/bithesis.source.r71068.tar.xz
2024/04/25 | 2687329 | info/biblio/sgml.bib
2024/04/25 | 252181 | support/TeX4ht/source/ChangeLog
2024/04/25 | 227049 | install/macros/luatex/generic/luamplib.tds.zip
2024/04/25 | 209327 | macros/luatex/generic/luamplib.zip
2024/04/25 | 208537 | graphics/pgf/contrib/tikzmarmots/tikzmarmots-doc.pdf
-2024/04/25 | 20804 | systems/texlive/tlnet/archive/bithesis.r71068.tar.xz
2024/04/25 | 207622 | graphics/pgf/contrib/tikzmarmots.zip
2024/04/25 | 2058 | macros/luatex/generic/luamplib/README
2024/04/25 | 170094 | macros/luatex/generic/luamplib/luamplib.pdf
@@ -1041,8 +1210,6 @@
2024/04/24 | 90816 | systems/texlive/tlnet/archive/nicematrix.source.r71053.tar.xz
2024/04/24 | 902271 | macros/latex/contrib/fancyhdr.zip
2024/04/24 | 8856 | macros/latex/contrib/siunitx/siunitx-command.dtx
-2024/04/24 | 8734 | fonts/libertine/latex/libertineRoman.sty
-2024/04/24 | 859366 | fonts/libertine/doc/libertine-samples.pdf
2024/04/24 | 80821 | macros/latex/contrib/siunitx/CHANGELOG.md
2024/04/24 | 784 | systems/texlive/tlnet/archive/visualfaq-fr.r71053.tar.xz
2024/04/24 | 7751 | macros/latex/contrib/exercisesheets/examples/exshexample.tex
@@ -1055,7 +1222,6 @@
2024/04/24 | 62270 | macros/latex/contrib/exercisesheets/exercisesheets.sty
2024/04/24 | 615932 | systems/texlive/tlnet/archive/commutative-diagrams.doc.r71053.tar.xz
2024/04/24 | 5816 | macros/latex/contrib/siunitx/siunitx-locale.dtx
-2024/04/24 | 5770 | fonts/libertine/doc/libertine-samples.tex
2024/04/24 | 55713 | macros/latex/contrib/siunitx/siunitx-table.dtx
2024/04/24 | 48364 | macros/latex/contrib/exercisesheets/exercisesheets-doc.tex
2024/04/24 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
@@ -1063,13 +1229,10 @@
2024/04/24 | 4574 | support/texshop/texshop533.html
2024/04/24 | 43854 | macros/latex/contrib/siunitx/siunitx-compound.dtx
2024/04/24 | 4352 | systems/texlive/tlnet/archive/luacensor.r71053.tar.xz
-2024/04/24 | 4214 | fonts/junicode/README
2024/04/24 | 42040 | systems/texlive/tlnet/archive/nicematrix.r71053.tar.xz
2024/04/24 | 39313 | macros/latex/contrib/siunitx/siunitx-complex.dtx
2024/04/24 | 37988 | macros/latex/contrib/siunitx/siunitx-print.dtx
2024/04/24 | 3682 | macros/latex/contrib/siunitx/siunitx.ins
-2024/04/24 | 35799 | fonts/libertine/doc/libertine.tex
-2024/04/24 | 3500 | fonts/libertine/README
2024/04/24 | 34652 | systems/texlive/tlnet/archive/gelasio.doc.r71047.tar.xz
2024/04/24 | 337124 | systems/texlive/tlnet/archive/atkinson.r71048.tar.xz
2024/04/24 | 325292 | systems/texlive/tlnet/archive/csquotes.doc.r71053.tar.xz
@@ -1082,12 +1245,8 @@
2024/04/24 | 272 | systems/texlive/tlnet/archive/texlive-en.r71042.tar.xz
2024/04/24 | 2621 | macros/latex/contrib/siunitx/siunitx-code.tex
2024/04/24 | 26182876 | systems/texlive/tlnet/archive/haranoaji.r71053.tar.xz
-2024/04/24 | 237884 | fonts/libertine/doc/libertine.pdf
2024/04/24 | 22217 | macros/latex/contrib/siunitx/siunitx.dtx
-2024/04/24 | 21340 | fonts/junicode/latex/junicode.sty
-2024/04/24 | 20766815 | install/fonts/libertine.tds.zip
2024/04/24 | 20580217 | fonts/libertine.zip
-2024/04/24 | 19358 | fonts/libertine/latex/libertine.sty
2024/04/24 | 19015 | macros/latex/contrib/spbmark/spbmark.tex
2024/04/24 | 1894240 | systems/texlive/tlnet/archive/texlive-en.doc.r71042.tar.xz
2024/04/24 | 18426 | macros/latex/contrib/siunitx/siunitx-angle.dtx
@@ -1099,14 +1258,12 @@
2024/04/24 | 168519 | macros/latex/contrib/siunitx/siunitx.tex
2024/04/24 | 164096 | systems/texlive/tlnet/archive/luacensor.doc.r71053.tar.xz
2024/04/24 | 163202 | macros/latex/contrib/siunitx/siunitx-number.dtx
-2024/04/24 | 1625 | fonts/junicode/doc/junicode-samples.tex
2024/04/24 | 159160 | macros/latex/contrib/exercisesheets.zip
2024/04/24 | 1590764 | install/macros/latex/contrib/siunitx.tds.zip
2024/04/24 | 1565068 | systems/texlive/tlnet/archive/gelasio.r71047.tar.xz
2024/04/24 | 1543185 | macros/latex/contrib/siunitx.zip
2024/04/24 | 15296 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
2024/04/24 | 1349156 | systems/texlive/tlnet/archive/nicematrix.doc.r71053.tar.xz
-2024/04/24 | 132229100 | install/fonts/junicode.tds.zip
2024/04/24 | 131935734 | fonts/junicode.zip
2024/04/24 | 128498 | macros/latex/contrib/exercisesheets/exercisesheets-doc.pdf
2024/04/24 | 12748 | systems/texlive/tlnet/archive/commutative-diagrams.r71053.tar.xz
@@ -1115,40 +1272,3 @@
2024/04/24 | 11252 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
2024/04/24 | 104102 | macros/latex/contrib/siunitx/siunitx-unit.dtx
2024/04/24 | 102486 | macros/latex/contrib/spbmark.zip
-2024/04/23 | 9385988 | install/fonts/garamond-libre.tds.zip
-2024/04/23 | 936844 | macros/latex/contrib/nicematrix/nicematrix.pdf
-2024/04/23 | 9342166 | fonts/garamond-libre.zip
-2024/04/23 | 9133493 | install/fonts/cormorantgaramond.tds.zip
-2024/04/23 | 905326 | macros/latex/contrib/nicematrix/nicematrix-french.pdf
-2024/04/23 | 9047741 | fonts/cormorantgaramond.zip
-2024/04/23 | 875225 | macros/latex/contrib/fancyhdr/fancyhdr.pdf
-2024/04/23 | 68183 | fonts/atkinson/doc/atkinson-samples.pdf
-2024/04/23 | 6699 | fonts/ebgaramond/latex/ebgaramond.sty
-2024/04/23 | 593882 | macros/latex/contrib/nicematrix/nicematrix-code.dtx
-2024/04/23 | 5299 | fonts/cormorantgaramond/latex/CormorantGaramond.sty
-2024/04/23 | 451 | fonts/atkinson/doc/atkinson-samples.tex
-2024/04/23 | 3883 | fonts/garamond-libre/latex/garamondlibre.sty
-2024/04/23 | 3850 | fonts/atkinson/latex/atkinson.sty
-2024/04/23 | 3713 | fonts/gelasio/latex/gelasio.sty
-2024/04/23 | 3635 | fonts/garamond-libre/README
-2024/04/23 | 3211 | fonts/ebgaramond/README
-2024/04/23 | 2993 | fonts/ibarra/latex/ibarra.sty
-2024/04/23 | 2863 | fonts/ebgaramond/doc/ebgaramond-samples.tex
-2024/04/23 | 2803 | fonts/cormorantgaramond/README
-2024/04/23 | 259212 | macros/latex/contrib/nicematrix/nicematrix.tex
-2024/04/23 | 2205 | macros/latex/contrib/fancyhdr/fancyhdr.ins
-2024/04/23 | 2107438 | install/fonts/gelasio.tds.zip
-2024/04/23 | 2081 | fonts/atkinson/README
-2024/04/23 | 2076958 | fonts/gelasio.zip
-2024/04/23 | 202937 | macros/latex/contrib/fancyhdr/fancyhdr.dtx
-2024/04/23 | 2019 | macros/latex/contrib/fancyhdr/README
-2024/04/23 | 1893 | fonts/ibarra/README
-2024/04/23 | 1817638 | install/fonts/ibarra.tds.zip
-2024/04/23 | 173588 | fonts/ibarra/doc/ibarra-samples.pdf
-2024/04/23 | 1729 | fonts/gelasio/README
-2024/04/23 | 1695320 | macros/latex/contrib/nicematrix.zip
-2024/04/23 | 166907 | fonts/ebgaramond/doc/ebgaramond-samples.pdf
-2024/04/23 | 1289963 | install/fonts/atkinson.tds.zip
-2024/04/23 | 1270957 | fonts/atkinson.zip
-2024/04/23 | 12601973 | install/fonts/ebgaramond.tds.zip
-2024/04/23 | 12499409 | fonts/ebgaramond.zip
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index f7310cc0c6..ec81a57f46 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 30-04-2024, 02:00:04
+%% created at 01-05-2024, 02:00:03
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -24439,10 +24439,10 @@
title = {The \texttt{expl3} package},
subtitle = {Wrapper package for experimental \LaTeX{}3},
author = {{The LaTeX Project Team}},
- date = {2024-03-14},
+ date = {2024-04-30},
version = {},
license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3kernel},
+ mirror = {https://mirror.ctan.org/macros/latex/required/l3kernel},
url = {https://ctan.org/pkg/expl3},
}
@@ -37451,10 +37451,10 @@
title = {The \texttt{l3backend} package},
subtitle = {LaTeX3 backend drivers},
author = {{The LaTeX Project Team}},
- date = {2024-03-14},
+ date = {2024-04-30},
version = {},
license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3backend},
+ mirror = {https://mirror.ctan.org/macros/latex/required/l3backend},
url = {https://ctan.org/pkg/l3backend},
}
@@ -37473,10 +37473,10 @@
title = {The \texttt{l3docstrip} package},
subtitle = {Strip documentation in \LaTeX{}3 source},
author = {{The LaTeX Project Team}},
- date = {2024-03-14},
+ date = {2024-04-30},
version = {},
license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3kernel},
+ mirror = {https://mirror.ctan.org/macros/latex/required/l3kernel},
url = {https://ctan.org/pkg/l3docstrip},
}
@@ -37511,10 +37511,10 @@
title = {The \texttt{l3kernel} package},
subtitle = {LaTeX3 programming conventions},
author = {{The LaTeX Project Team}},
- date = {2024-03-14},
+ date = {2024-04-30},
version = {},
license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3kernel},
+ mirror = {https://mirror.ctan.org/macros/latex/required/l3kernel},
url = {https://ctan.org/pkg/l3kernel},
}
@@ -37544,10 +37544,10 @@
title = {The \texttt{l3regex} package},
subtitle = {Regular expression facilities for \LaTeX{}},
author = {{The LaTeX Project Team}},
- date = {2024-03-14},
+ date = {2024-04-30},
version = {},
license = {lppl1.3c},
- mirror = {https://mirror.ctan.org/macros/latex/contrib/l3kernel/l3regex.dtx},
+ mirror = {https://mirror.ctan.org/macros/latex/required/l3kernel/l3regex.dtx},
url = {https://ctan.org/pkg/l3regex},
}
@@ -43954,8 +43954,8 @@
title = {The \texttt{markdown} package},
subtitle = {Converting and rendering markdown documents inside \TeX{}},
author = {Vít Starý Novotný},
- date = {2024-04-04},
- version = {3.4.3-0-ge2c6be1a},
+ date = {2024-04-30},
+ version = {3.5.0-0-gfd01a252},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/generic/markdown},
url = {https://ctan.org/pkg/markdown},
@@ -49543,8 +49543,8 @@
title = {The \texttt{nmbib} package},
subtitle = {Multiple versions of a bibliography, with different sort orders},
author = {Boris Veytsman},
- date = {2016-06-24},
- version = {1.04},
+ date = {2024-04-30},
+ version = {1.05},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/nmbib},
url = {https://ctan.org/pkg/nmbib},
@@ -60720,7 +60720,7 @@
title = {The \texttt{rpgicons} package},
subtitle = {Icons for tabletop role-playing games},
author = {Jasper Habicht},
- date = {2024-04-29},
+ date = {2024-04-30},
version = {1.8.2},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/rpgicons},
@@ -61074,7 +61074,7 @@
title = {The \texttt{ruscap} package},
subtitle = {A Metafont for rustic capitals},
author = {Victor Sannier},
- date = {2024-04-28},
+ date = {2024-04-30},
version = {1.0},
license = {ofl},
mirror = {https://mirror.ctan.org/fonts/ruscap},
diff --git a/macros/generic/markdown/CHANGES.md b/macros/generic/markdown/CHANGES.md
index 614cef6912..3ea1c8c837 100644
--- a/macros/generic/markdown/CHANGES.md
+++ b/macros/generic/markdown/CHANGES.md
@@ -1,8 +1,26 @@
# Changes
-## 3.5.0
+## 3.5.0 (2024-04-29)
-## 3.4.3
+Development:
+
+- Add `\markinline` plain TeX command. (#300, #439)
+- Support incremental definitions of token renderers and renderer prototypes
+ in the `\markdownSetup` command.
+ (#232, #435, 540a83c0, [matrix.org][matrix-435], #437, #438,
+ contributed by @eg9, @gucci-on-fleek, and @Skillmon
+ [on TeX StackExchange][tse-716400])
+
+ [matrix-435]: https://matrix.to/#/!UeAwznpYwwsinVTetR:matrix.org/$k4ky6I-uvxdp8ipVlHvef5JXfIfPQvFtXOAD_ogF2uU?via=matrix.org&via=im.f3l.de
+ [tse-716400]: https://tex.stackexchange.com/questions/716362/convert-control-sequence-with-a-variable-number-of-parameters-into-a-token-list/716400#716400
+
+Default Renderer Prototypes:
+
+- Add default renderers for unnumbered sections in LaTeX.
+ (#401, istqborg/istqb_product_base#23, #430, reported by @felinecrp,
+ sponsored by @istqborg)
+
+## 3.4.3 (2024-04-04)
Fixes:
diff --git a/macros/generic/markdown/README.md b/macros/generic/markdown/README.md
index 76ad39d740..69fdc4ab30 100644
--- a/macros/generic/markdown/README.md
+++ b/macros/generic/markdown/README.md
@@ -193,14 +193,14 @@ For further information, consult one of the following:
- [Markdown 2.17.1: What's New, What's Next?][tb135],
- [Attributes in Markdown][tb136],
- Markdown 3 at TUG 2023: Reflections from the Q&A session ([preprint][tb138]), and
- - Fast Regression Testing of TeX Packages: The Unreasonable Effectiveness of Batching ([work in progress][tb139]).
+ - Fast Regression Testing of TeX Packages: The Unreasonable Effectiveness of Batching ([preprint][tb139]).
5. Journal articles published by [CSTUG Bulletin][csbul] (in Czech and Slovak):
- [Rendering Markdown inside TeX Documents][10.5300/2016-1-4/78],
- [Markdown 2.8.1: Boldly Unto the Throne of Lightweight Markup in TeX][10.5300/2020-1-2/48],
- [Markdown 2.10.0: LaTeX Themes & Snippets][10.5300/2021-1-4/76],
- [Direct Typesetting of Various Document Formats in TeX Using the Pandoc Utility][10.5300/2021-1-4/83],
- [High-Level Languages for TeX][10.5300/2022-1-4/35], and
- - Markdown 3: What's New, What's Next? ([preprint][10.5300/2023-?-?/??]).
+ - [Markdown 3: What's New, What's Next?][10.5300/2023-3-4/111].
6. Talks:
- [Five Years of Markdown in LaTeX: What, Why, How, and Whereto][pv212-fall2020] (in Czech),
- [Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX][tb131-video] ([slides][tb131-slides]),
@@ -219,15 +219,15 @@ For further information, consult one of the following:
[overleaf-5]: https://www.overleaf.com/latex/examples/writing-posters-with-markdown/jtbgmmgqrqmh "Writing Posters with Markdown"
[overleaf-6]: https://www.overleaf.com/latex/examples/using-markdown-in-latex-documents/whdrnpcpnwrm "Using Markdown in LaTeX documents"
- [tb119]: https://www.tug.org/TUGboat/tb38-2/tb119novotny.pdf "Using Markdown inside TeX documents"
- [tb124]: https://www.tug.org/TUGboat/tb40-1/tb124novotny-markdown.pdf "Markdown 2.7.0: Towards lightweight markup in TeX"
- [tb129]: https://www.tug.org/TUGboat/tb41-3/tb129novotny-frozen.pdf "Making Markdown into a Microwave Meal"
- [tb131]: https://www.tug.org/TUGboat/tb42-2/tb131novotny-markdown.pdf "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
- [tb133]: https://www.tug.org/TUGboat/tb43-1/tb133novotny-markdown.pdf "Markdown 2.15.0: What's New?"
- [tb135]: https://www.tug.org/TUGboat/tb43-3/tb135novotny-markdown.pdf "Markdown 2.17.1: What's New, What's Next?"
- [tb136]: https://www.tug.org/TUGboat/tb44-1/tb136novotny-markdown-attr.pdf "Attributes in Markdown"
- [tb138]: https://www.overleaf.com/read/mjghwhrbgmfj "Markdown 3 at TUG 2023: Reflections from the Q&A session"
- [tb139]: https://github.com/witiko/fast-regression-testing/releases/download/latest/main.pdf "Fast Regression Testing of TeX Packages: The Unreasonable Effectiveness of Batching"
+ [tb119]: https://www.tug.org/TUGboat/tb38-2/tb119novotny.pdf "Using Markdown inside TeX documents"
+ [tb124]: https://www.tug.org/TUGboat/tb40-1/tb124novotny-markdown.pdf "Markdown 2.7.0: Towards lightweight markup in TeX"
+ [tb129]: https://www.tug.org/TUGboat/tb41-3/tb129novotny-frozen.pdf "Making Markdown into a Microwave Meal"
+ [tb131]: https://www.tug.org/TUGboat/tb42-2/tb131novotny-markdown.pdf "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
+ [tb133]: https://www.tug.org/TUGboat/tb43-1/tb133novotny-markdown.pdf "Markdown 2.15.0: What's New?"
+ [tb135]: https://www.tug.org/TUGboat/tb43-3/tb135novotny-markdown.pdf "Markdown 2.17.1: What's New, What's Next?"
+ [tb136]: https://www.tug.org/TUGboat/tb44-1/tb136novotny-markdown-attr.pdf "Attributes in Markdown"
+ [tb138]: https://www.overleaf.com/read/mjghwhrbgmfj "Markdown 3 at TUG 2023: Reflections from the Q&A session"
+ [tb139]: https://github.com/Witiko/fast-regression-testing/releases/download/latest/tb139starynovotny-testing.pdf "Fast Regression Testing of TeX Packages: The Unreasonable Effectiveness of Batching"
[tb131-slides]: https://tug.org/tug2021/assets/pdf/tug2021-novotny-slides.pdf "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
[tb131-video]: https://youtu.be/i2GJMnLCZls "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
@@ -239,13 +239,13 @@ For further information, consult one of the following:
[tb137-slides]: https://tug.org/tug2023/files/sa-03-novotny-markdown3/novotny-markdown3-slides.pdf "Markdown 3: What's New, What's Next?"
[tb137-video]: https://youtu.be/U8XjTOhJkg0 "Markdown 3: What's New, What's Next?"
- [10.5300/2016-1-4/78]: https://www.doi.org/10.5300/2016-1-4/78 "Rendering Markdown inside TeX Documents"
- [10.5300/2020-1-2/48]: https://www.doi.org/10.5300/2020-1-2/48 "Markdown 2.8.1: Boldly Unto the Throne of Lightweight Markup in TeX"
- [10.5300/2021-1-4/76]: https://www.doi.org/10.5300/2021-1-4/76 "Markdown 2.10.0: LaTeX Themes & Snippets"
- [10.5300/2021-1-4/83]: https://www.doi.org/10.5300/2021-1-4/83 "Direct Typesetting of Various Document Formats in TeX Using the Pandoc Utility"
- [10.5300/2022-1-4/35]: https://www.doi.org/10.5300/2022-1-4/35 "High-Level Languages for TeX"
+ [10.5300/2016-1-4/78]: https://www.doi.org/10.5300/2016-1-4/78 "Rendering Markdown inside TeX Documents"
+ [10.5300/2020-1-2/48]: https://www.doi.org/10.5300/2020-1-2/48 "Markdown 2.8.1: Boldly Unto the Throne of Lightweight Markup in TeX"
+ [10.5300/2021-1-4/76]: https://www.doi.org/10.5300/2021-1-4/76 "Markdown 2.10.0: LaTeX Themes & Snippets"
+ [10.5300/2021-1-4/83]: https://www.doi.org/10.5300/2021-1-4/83 "Direct Typesetting of Various Document Formats in TeX Using the Pandoc Utility"
+ [10.5300/2022-1-4/35]: https://www.doi.org/10.5300/2022-1-4/35 "High-Level Languages for TeX"
- [10.5300/2023-?-?/??]: https://github.com/witiko/markdown-3-whats-new-whats-next/releases/download/latest/main.pdf "Markdown 3: What's New, What's Next?"
+ [10.5300/2023-3-4/111]: https://www.doi.org/10.5300/2023-3-4/111 "Markdown 3: What's New, What's Next?"
[pv212-fall2020]: https://is.muni.cz/elearning/io/?qurl=%2Fel%2Ffi%2Fpodzim2020%2FPV212%2Findex.qwarp;prejit=5595952
@@ -274,7 +274,7 @@ Acknowledgements
| [<img width="150" src="https://www.fi.muni.cz/images/fi-logo.png">][fimu] | I gratefully acknowledge the funding from the [Faculty of Informatics][fimu] at the [Masaryk University][mu] in Brno, Czech Republic, for the development of the Markdown package in projects [MUNI/33/12/2015][], [MUNI/33/1784/2020][], [MUNI/33/0776/2021][], [MUNI/33/1654/2022][], and [MUNI/33/1658/2022][]. |
| [<img width="150" src="https://cdn.overleaf.com/img/ol-brand/overleaf_og_logo.png">][overleaf] | Extensive user documentation for the Markdown package was kindly written by [Lian Tze Lim][liantze] and published by [Overleaf][]. |
| [<img width="150" src="https://pbs.twimg.com/profile_images/1004769879319334912/6Bh1UthD.jpg">][omedym] | Support for content slicing (Lua options [`shiftHeadings`][option-shift-headings] and [`slice`][option-slice]) and pipe tables (Lua options [`pipeTables`][option-pipe-tables] and [`tableCaptions`][option-table-captions]) was graciously sponsored by [David Vins][dvins] and [Omedym][]. |
-| [<img width="150" src="https://www.istqb.org/static/istqb-logo-1b043e800a580724ad223567f9ea57c0.png">][istqb] | Fixes for issues [#359][issue-359], [#368][issue-368], and [#424][issue-424] were graciously sponsored by the [International Software Testing Qualifications Board (ISTQB)][istqb]. |
+| [<img width="150" src="https://www.istqb.org/static/istqb-logo-1b043e800a580724ad223567f9ea57c0.png">][istqb] | Fixes for issues [#359][issue-359], [#368][issue-368], [#401][issue-401], and [#424][issue-424] were graciously sponsored by the [International Software Testing Qualifications Board (ISTQB)][istqb]. |
[dvins]: https://github.com/dvins "David Vins"
[fimu]: https://www.fi.muni.cz/index.html.en "Faculty of Informatics, Masaryk University"
@@ -284,6 +284,7 @@ Acknowledgements
[issue-359]: https://github.com/witiko/markdown/issues/359 "First item of a fancy list forms a separate list"
[issue-368]: https://github.com/witiko/markdown/issues/368 "Tables nested in list items have empty lines"
+ [issue-401]: https://github.com/witiko/markdown/issues/401 "Create an unnumbered section"
[issue-424]: https://github.com/witiko/markdown/issues/424 "E-mail addresses are incorrectly interpreted as bracketed citations"
[option-pipe-tables]: https://mirrors.ctan.org/macros/generic/markdown/markdown.html#pipe-tables "Markdown Package User Manual"
diff --git a/macros/generic/markdown/VERSION b/macros/generic/markdown/VERSION
index d13fdfa34f..e4e9a98451 100644
--- a/macros/generic/markdown/VERSION
+++ b/macros/generic/markdown/VERSION
@@ -1 +1 @@
-3.4.3-0-ge2c6be1a (2024-04-04)
+3.5.0-0-gfd01a252 (2024-04-29)
diff --git a/macros/generic/markdown/examples/context-mkiv.tex b/macros/generic/markdown/examples/context-mkiv.tex
index 8b000e43ed..6cb185802a 100644
--- a/macros/generic/markdown/examples/context-mkiv.tex
+++ b/macros/generic/markdown/examples/context-mkiv.tex
@@ -72,16 +72,15 @@ kpse.set_program_name("luatex")
\catcode`\%=14\relax
\catcode`\#=6\relax
-% Typeset some further examples with inline markdown text.
+% Besides inputting external files, Markdown text can we written directly
+% into a LaTeX document. Markdown text and LaTeX code can be freely combined.
\startmarkdown
-Here are some non-ASCII characters: *ěščřžýáíé*
-and ConTeXt special characters: *|*.
+This is a paragraph of *Markdown text* with inline `\LaTeX`{=tex} code.
-Here is a hard line break that we inserted directly from the TeX source
-by typing two spaces at the end of a line.
-This is stretching TeX's abilities and is only supported in ConTeXt MkIV
-and later.
+``` {=tex}
+This is a paragraph of \LaTeX{} code with inline \markinline{*Markdown text*}.
+```
\stopmarkdown
diff --git a/macros/generic/markdown/examples/latex-luatex.tex b/macros/generic/markdown/examples/latex-luatex.tex
index 5aa7c85d7d..51be09c1f6 100644
--- a/macros/generic/markdown/examples/latex-luatex.tex
+++ b/macros/generic/markdown/examples/latex-luatex.tex
@@ -49,8 +49,33 @@ date: \today
\catcode`\%=14\relax
\catcode`\#=6\relax
-% Typeset some further examples with inline markdown text.
+% Besides inputting external files, Markdown text can we written directly
+% into a LaTeX document. Markdown text and LaTeX code can be freely combined.
\begin{markdown}
-Here are some non-ASCII characters: *ěščřžýáíé*.
+This is a paragraph of *Markdown text* with inline `\LaTeX`{=tex} code.
+
+``` {=tex}
+This is a paragraph of \LaTeX{} code with inline \markinline{*Markdown text*}.
+```
+\end{markdown}
+
+% Besides YAML, LaTeX, and Markdown, you can also type HTML in your documents.
+\begin{markdown}
+Here is some <b>HTML code</b> mixed *with Markdown*. In `\TeX`{=tex}, the HTML
+code will be silently ignored, whereas in `\TeX`{=tex}4ht, the HTML code will
+be passed through to the output:
+
+<table border="1">
+ <tr>
+ <td>Emil</td>
+ <td>Tobias</td>
+ <td>Linus</td>
+ </tr>
+ <tr>
+ <td>16</td>
+ <td>14</td>
+ <td>10</td>
+ </tr>
+</table>
\end{markdown}
\end{document}
diff --git a/macros/generic/markdown/examples/latex-pdftex.tex b/macros/generic/markdown/examples/latex-pdftex.tex
index 7d188d75f2..34f78707c3 100644
--- a/macros/generic/markdown/examples/latex-pdftex.tex
+++ b/macros/generic/markdown/examples/latex-pdftex.tex
@@ -50,15 +50,21 @@ date: \today
\catcode`\%=14\relax
\catcode`\#=6\relax
-% Typeset some further examples with inline markdown text.
+% Besides inputting external files, Markdown text can we written directly
+% into a LaTeX document. Markdown text and LaTeX code can be freely combined.
\begin{markdown}
-Here are some non-ASCII characters: *ěščřžýáíé*.
+This is a paragraph of *Markdown text* with inline `\LaTeX`{=tex} code.
+
+``` {=tex}
+This is a paragraph of \LaTeX{} code with inline \markinline{*Markdown text*}.
+```
\end{markdown}
-\begin{markdown}[hybrid]
-Here is some <b>HTML code</b> mixed *with Markdown*. In \TeX, the HTML code
-will be silently ignored, whereas in \TeX 4ht, the HTML code will be passed
-through to the output:
+% Besides YAML, LaTeX, and Markdown, you can also type HTML in your documents.
+\begin{markdown}
+Here is some <b>HTML code</b> mixed *with Markdown*. In `\TeX`{=tex}, the HTML
+code will be silently ignored, whereas in `\TeX`{=tex}4ht, the HTML code will
+be passed through to the output:
<table border="1">
<tr>
diff --git a/macros/generic/markdown/markdown.dtx b/macros/generic/markdown/markdown.dtx
index dd4c7367fb..bbbd06e8bb 100644
--- a/macros/generic/markdown/markdown.dtx
+++ b/macros/generic/markdown/markdown.dtx
@@ -683,6 +683,12 @@ abbr {
\endgroup
%</techdoc-block-diagram>
%<*techdoc-bibliography>
+@online{starynovotny24,
+ author = {Starý Novotný, Vít and Enrico Gregorio and Max Chernoff and P. Spratte, Jonathan},
+ title = {Convert control sequence with a variable number of undelimited parameters into a token list},
+ url = {https://tex.stackexchange.com/q/716362/70941},
+ urldate = {2024-04-28},
+}
@book{tantau21,
author = {Till Tantau and Joseph Wright and Vedran Miletić},
title = {The Beamer class},
@@ -827,6 +833,8 @@ abbr {
\seq_map_inline:Nn
\l_@@_header_identifiers_seq
{ \label { sec:##1 } }
+ \seq_clear:N
+ \l_@@_header_identifiers_seq
},
},
}
@@ -11342,7 +11350,7 @@ pdftex --shell-escape document.tex
%### Typesetting Markdown {#tex-typesetting}
%
% The interface exposes the \mdef{markdownBegin}, \mdef{markdownEnd},
-% \mdef{markdownInput}, and \mdef{markdownEscape} macros.
+% \mdef{markinline}, \mdef{markdownInput}, and \mdef{markdownEscape} macros.
%
% The \mref{markdownBegin} macro marks the beginning of a markdown document
% fragment and the \mref{markdownEnd} macro marks its end.
@@ -11400,6 +11408,38 @@ pdftex --shell-escape document.tex
% \bye
% ```````
%
+% You can use the \mref{markinline} macro to input inline markdown content.
+%
+% \end{markdown}
+% \begin{macrocode}
+\let\markinline\relax
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% The following example plain \TeX{} code showcases the usage of the
+% \mref{markinline} macro:
+%
+% ``` tex
+% \input markdown
+% \markinline{_Hello_ **world**}
+% \bye
+% ```````
+%
+% The above code has the same effect as the below code:
+%
+% ``` tex
+% \input markdown
+% \markdownSetup{contentLevel=inline}
+% \markdownBegin
+% _Hello_ **world** ...
+% \markdownEnd
+% \bye
+% ```````
+%
+% The \mref{markinline} macro is subject to the same limitations as the
+% \mref{markdownBegin} and \mref{markdownEnd} macros.
+%
% You can use the \mref{markdownInput} macro to include markdown documents,
% similarly to how you might use the \mref{input} \TeX{} primitive to include
% \TeX{} documents. The \mref{markdownInput} macro accepts a single parameter
@@ -11413,7 +11453,7 @@ pdftex --shell-escape document.tex
% \par
% \begin{markdown}
%
-% This macro is not subject to the abovelisted limitations of the
+% This macro is not subject to the limitations of the
% \mref{markdownBegin} and \mref{markdownEnd} macros.
%
% The following example plain \TeX{} code showcases the usage of the
@@ -11906,11 +11946,11 @@ macro after loading the package has no effect.
%
% The \mdef{markdownOptionStripPercentSigns} macro controls whether a percent
% sign (`\%`) at the beginning of a line will be discarded when buffering
-% Markdown input (see Section <#sec:buffering>) or not. Notably, this
-% enables the use of markdown when writing \TeX{} package documentation using
-% the \pkg{Doc} \LaTeX{}~package~[@mittelbach17] or similar. The recognized
-% values of the macro are `true` (discard) and `false` (retain). It defaults
-% to `false`.
+% Markdown input (see sections <#sec:buffering-block> and
+% <#sec:buffering-inline>) or not. Notably, this enables the use of markdown
+% when writing \TeX{} package documentation using the \pkg{Doc}
+% \LaTeX{}~package~[@mittelbach17] or similar. The recognized values of the
+% macro are `true` (discard) and `false` (retain). It defaults to `false`.
%
% \end{markdown}
% \begin{macrocode}
@@ -20158,6 +20198,8 @@ following text:
}
\tl_new:N
\l_@@_renderer_definition_tl
+\bool_new:N
+ \g_@@_appending_renderer_bool
\cs_new:Nn \@@_define_renderer:nNn
{
\keys_define:nn
@@ -20171,6 +20213,17 @@ following text:
{ \cP\#0 }
{ #1 }
\l_@@_renderer_definition_tl
+ \bool_if:NT
+ \g_@@_appending_renderer_bool
+ {
+ \@@_tl_set_from_cs:NNn
+ \l_tmpa_tl
+ #2
+ { #3 }
+ \tl_put_left:NV
+ \l_@@_renderer_definition_tl
+ \l_tmpa_tl
+ }
\cs_generate_from_arg_count:NNnV
#2
\cs_set:Npn
@@ -20179,12 +20232,61 @@ following text:
},
}
}
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% We define the function \mdef{@@_tl_set_from_cs:NNn}
+% [@starynovotny24]. The function takes a token list, a control sequence with
+% undelimited parameters, and the number of parameters the control sequence
+% accepts, and locally assigns the replacement text of the control sequence
+% to the token list.
+%
+% \end{markdown}
+% \begin{macrocode}
+\cs_new_protected:Nn
+ \@@_tl_set_from_cs:NNn
+ {
+ \tl_set:Nn
+ \l_tmpa_tl
+ { #2 }
+ \int_step_inline:nn
+ { #3 }
+ {
+ \exp_args:NNc
+ \tl_put_right:Nn
+ \l_tmpa_tl
+ { @@_tl_set_from_cs_parameter_ ##1 }
+ }
+ \exp_args:NNV
+ \tl_set:No
+ \l_tmpb_tl
+ \l_tmpa_tl
+ \regex_replace_all:nnN
+ { \cP. }
+ { \0\0 }
+ \l_tmpb_tl
+ \int_step_inline:nn
+ { #3 }
+ {
+ \regex_replace_all:nnN
+ { \c { @@_tl_set_from_cs_parameter_ ##1 } }
+ { \cP\# ##1 }
+ \l_tmpb_tl
+ }
+ \tl_set:NV
+ #1
+ \l_tmpb_tl
+ }
\cs_generate_variant:Nn
\@@_define_renderer:nNn
{ ncV }
\cs_generate_variant:Nn
\cs_generate_from_arg_count:NNnn
{ NNnV }
+\cs_generate_variant:Nn
+ \tl_put_left:Nn
+ { Nv }
\keys_define:nn
{ markdown/options }
{
@@ -20194,7 +20296,6 @@ following text:
{ #1 }
},
}
-\ExplSyntaxOff
% \end{macrocode}
% \par
% \begin{markdown}
@@ -20211,13 +20312,92 @@ following text:
% }
% ```````
%
-% In addition to exact token renderer names, we also support wildcards
-% and enumerations that match multiple token renderer names:
+% \end{markdown}
+% \begin{macrocode}
+\tl_new:N
+ \l_@@_renderer_glob_definition_tl
+\seq_new:N
+ \l_@@_renderer_glob_results_seq
+\regex_const:Nn
+ \c_@@_appending_key_regex
+ { \s*+$ }
+\keys_define:nn
+ { markdown/options/renderers }
+ {
+ unknown .code:n = {
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Besides defining renderers at once, we can also define them incrementally
+% using the appending operator (`+=`). This can be especially useful in
+% defining rules for processing different \acro{HTML} class names and
+% identifiers:
+% ``` tex
+% \markdownSetup{
+% renderers = {
+% \% Start with empty renderers.
+% headerAttributeContextBegin = {},
+% attributeClassName = {},
+% attributeIdentifier = {},
+% \% Define the processing of a single specific HTML class name.
+% headerAttributeContextBegin += {
+% \markdownSetup{
+% renderers = {
+% attributeClassName += {...},
+% },
+% }
+% },
+% \% Define the processing of a single specific HTML identifier.
+% headerAttributeContextBegin += {
+% \markdownSetup{
+% renderers = {
+% attributeIdentifier += {...},
+% },
+% }
+% },
+% },
+% }
+% ```````
+%
+% \end{markdown}
+% \begin{macrocode}
+ \regex_match:NVTF
+ \c_@@_appending_key_regex
+ \l_keys_key_str
+ {
+ \bool_gset_true:N
+ \g_@@_appending_renderer_bool
+ \tl_set:NV
+ \l_tmpa_tl
+ \l_keys_key_str
+ \regex_replace_once:NnN
+ \c_@@_appending_key_regex
+ { }
+ \l_tmpa_tl
+ \tl_set:Nx
+ \l_tmpb_tl
+ { { \l_tmpa_tl } = }
+ \tl_put_right:Nn
+ \l_tmpb_tl
+ { { #1 } }
+ \keys_set:nV
+ { markdown/options/renderers }
+ \l_tmpb_tl
+ \bool_gset_false:N
+ \g_@@_appending_renderer_bool
+ }
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% In addition to exact token renderer names, we also support wildcards (`*`)
+% and enumerations (`|`) that match multiple token renderer names:
% ``` tex
% \markdownSetup{
% renderers = {
% heading* = {{\bf #1}}, \% Render headings using the bold face.
-% jekyllData(String|Number) = { \% Render YAML string and numbers
+% jekyllData(String|Number) = {\% \% Render YAML string and numbers
% {\it #2}\% \% using italics.
% },
% }
@@ -20233,7 +20413,8 @@ following text:
% }
% ```````
%
-% To determine the current token renderer, you can use the parameter `#0`:
+% To determine the current token renderer, you can use the
+% pseudo-parameter `#0`:
% ``` tex
% \markdownSetup{
% renderers = {
@@ -20244,7 +20425,59 @@ following text:
%
% \end{markdown}
% \begin{macrocode}
-\ExplSyntaxOn
+ {
+ \@@_glob_seq:VnN
+ \l_keys_key_str
+ { g_@@_renderers_seq }
+ \l_@@_renderer_glob_results_seq
+ \seq_if_empty:NTF
+ \l_@@_renderer_glob_results_seq
+ {
+ \msg_error:nnV
+ { markdown }
+ { undefined-renderer }
+ \l_keys_key_str
+ }
+ {
+ \tl_set:Nn
+ \l_@@_renderer_glob_definition_tl
+ { \exp_not:n { #1 } }
+ \seq_map_inline:Nn
+ \l_@@_renderer_glob_results_seq
+ {
+ \tl_set:Nn
+ \l_tmpa_tl
+ { { ##1 } = }
+ \tl_put_right:Nx
+ \l_tmpa_tl
+ { { \l_@@_renderer_glob_definition_tl } }
+ \keys_set:nV
+ { markdown/options/renderers }
+ \l_tmpa_tl
+ }
+ }
+ }
+ },
+ }
+\msg_new:nnn
+ { markdown }
+ { undefined-renderer }
+ {
+ Renderer~#1~is~undefined.
+ }
+\cs_generate_variant:Nn
+ \@@_glob_seq:nnN
+ { VnN }
+\cs_generate_variant:Nn
+ \cs_generate_from_arg_count:NNnn
+ { cNVV }
+\cs_generate_variant:Nn
+ \msg_error:nnn
+ { nnV }
+\prg_generate_conditional_variant:Nnn
+ \regex_match:Nn
+ { NV }
+ { TF }
\prop_new:N
\g_@@_glob_cache_prop
\tl_new:N
@@ -20306,72 +20539,6 @@ following text:
\cs_generate_variant:Nn
\prop_gput:Nnn
{ NeV }
-\seq_new:N
- \l_@@_renderer_glob_results_seq
-\keys_define:nn
- { markdown/options/renderers }
- {
- unknown .code:n = {
- \@@_glob_seq:VnN
- \l_keys_key_str
- { g_@@_renderers_seq }
- \l_@@_renderer_glob_results_seq
- \seq_if_empty:NTF
- \l_@@_renderer_glob_results_seq
- {
- \msg_error:nnV
- { markdown }
- { undefined-renderer }
- \l_keys_key_str
- }
- {
- \tl_set:Nn
- \l_@@_renderer_definition_tl
- { #1 }
- \seq_map_inline:Nn
- \l_@@_renderer_glob_results_seq
- {
- \@@_renderer_tl_to_csname:nN
- { ##1 }
- \l_tmpa_tl
- \prop_get:NnN
- \g_@@_renderer_arities_prop
- { ##1 }
- \l_tmpb_tl
- \int_set:Nn
- \l_tmpa_int
- \l_tmpb_tl
- \tl_set:NV
- \l_tmpb_tl
- \l_@@_renderer_definition_tl
- \regex_replace_all:nnN
- { \cP\#0 }
- { ##1 }
- \l_tmpb_tl
- \cs_generate_from_arg_count:cNVV
- { \l_tmpa_tl }
- \cs_set:Npn
- \l_tmpa_int
- \l_tmpb_tl
- }
- }
- },
- }
-\msg_new:nnn
- { markdown }
- { undefined-renderer }
- {
- Renderer~#1~is~undefined.
- }
-\cs_generate_variant:Nn
- \@@_glob_seq:nnN
- { VnN }
-\cs_generate_variant:Nn
- \cs_generate_from_arg_count:NNnn
- { cNVV }
-\cs_generate_variant:Nn
- \msg_error:nnn
- { nnV }
% \end{macrocode}
% \begin{markdown}
%
@@ -20750,6 +20917,8 @@ following text:
}
\tl_new:N
\l_@@_renderer_prototype_definition_tl
+\bool_new:N
+ \g_@@_appending_renderer_prototype_bool
\cs_new:Nn \@@_define_renderer_prototype:nNn
{
\keys_define:nn
@@ -20763,6 +20932,17 @@ following text:
{ \cP\#0 }
{ #1 }
\l_@@_renderer_prototype_definition_tl
+ \bool_if:NT
+ \g_@@_appending_renderer_prototype_bool
+ {
+ \@@_tl_set_from_cs:NNn
+ \l_tmpa_tl
+ #2
+ { #3 }
+ \tl_put_left:NV
+ \l_@@_renderer_prototype_definition_tl
+ \l_tmpa_tl
+ }
\cs_generate_from_arg_count:NNnV
#2
\cs_set:Npn
@@ -20791,7 +20971,6 @@ following text:
\cs_generate_variant:Nn
\@@_define_renderer_prototype:nNn
{ ncV }
-\ExplSyntaxOff
% \end{macrocode}
% \par
% \begin{markdown}
@@ -20808,8 +20987,81 @@ following text:
% }
% ```````
%
-% In addition to exact token renderer names, we also support wildcards
-% and enumerations that match multiple token renderer prototype names:
+% \end{markdown}
+% \begin{macrocode}
+\keys_define:nn
+ { markdown/options/renderer-prototypes }
+ {
+ unknown .code:n = {
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Besides defining renderer prototypes at once, we can also define them
+% incrementally using the appending operator (`+=`). This can be especially
+% useful in defining rules for processing different \acro{HTML} class names
+% and identifiers:
+% ``` tex
+% \markdownSetup{
+% rendererPrototypes = {
+% \% Start with empty renderer prototypes.
+% headerAttributeContextBegin = {},
+% attributeClassName = {},
+% attributeIdentifier = {},
+% \% Define the processing of a single specific HTML class name.
+% headerAttributeContextBegin += {
+% \markdownSetup{
+% rendererPrototypes = {
+% attributeClassName += {...},
+% },
+% }
+% },
+% \% Define the processing of a single specific HTML identifier.
+% headerAttributeContextBegin += {
+% \markdownSetup{
+% rendererPrototypes = {
+% attributeIdentifier += {...},
+% },
+% }
+% },
+% },
+% }
+% ```````
+%
+% \end{markdown}
+% \begin{macrocode}
+ \regex_match:NVTF
+ \c_@@_appending_key_regex
+ \l_keys_key_str
+ {
+ \bool_gset_true:N
+ \g_@@_appending_renderer_prototype_bool
+ \tl_set:NV
+ \l_tmpa_tl
+ \l_keys_key_str
+ \regex_replace_once:NnN
+ \c_@@_appending_key_regex
+ { }
+ \l_tmpa_tl
+ \tl_set:Nx
+ \l_tmpb_tl
+ { { \l_tmpa_tl } = }
+ \tl_put_right:Nn
+ \l_tmpb_tl
+ { { #1 } }
+ \keys_set:nV
+ { markdown/options/renderer-prototypes }
+ \l_tmpb_tl
+ \bool_gset_false:N
+ \g_@@_appending_renderer_prototype_bool
+ }
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% In addition to exact token renderer prototype names, we also support
+% wildcards (`*`) and enumerations (`|`) that match multiple token renderer
+% prototype names:
% ``` tex
% \markdownSetup{
% rendererPrototypes = {
@@ -20831,7 +21083,7 @@ following text:
% ```````
%
% To determine the current token renderer prototype, you can use the
-% parameter `#0`:
+% pseudo-parameter `#0`:
% ``` tex
% \markdownSetup{
% rendererPrototypes = {
@@ -20842,54 +21094,36 @@ following text:
%
% \end{markdown}
% \begin{macrocode}
-\ExplSyntaxOn
-\seq_new:N
- \l_@@_renderer_prototype_glob_results_seq
-\keys_define:nn
- { markdown/options/renderer-prototypes }
- {
- unknown .code:n = {
- \@@_glob_seq:VnN
- \l_keys_key_str
- { g_@@_renderers_seq }
- \l_@@_renderer_prototype_glob_results_seq
- \seq_if_empty:NTF
- \l_@@_renderer_prototype_glob_results_seq
{
- \msg_error:nnV
- { markdown }
- { undefined-renderer-prototype }
+ \@@_glob_seq:VnN
\l_keys_key_str
- }
- {
- \tl_set:Nn
- \l_@@_renderer_prototype_definition_tl
- { #1 }
- \seq_map_inline:Nn
- \l_@@_renderer_prototype_glob_results_seq
+ { g_@@_renderers_seq }
+ \l_@@_renderer_glob_results_seq
+ \seq_if_empty:NTF
+ \l_@@_renderer_glob_results_seq
{
- \@@_renderer_prototype_tl_to_csname:nN
- { ##1 }
- \l_tmpa_tl
- \prop_get:NnN
- \g_@@_renderer_arities_prop
- { ##1 }
- \l_tmpb_tl
- \int_set:Nn
- \l_tmpa_int
- \l_tmpb_tl
- \tl_set:NV
- \l_tmpb_tl
- \l_@@_renderer_prototype_definition_tl
- \regex_replace_all:nnN
- { \cP\#0 }
- { ##1 }
- \l_tmpb_tl
- \cs_generate_from_arg_count:cNVV
- { \l_tmpa_tl }
- \cs_set:Npn
- \l_tmpa_int
- \l_tmpb_tl
+ \msg_error:nnV
+ { markdown }
+ { undefined-renderer-prototype }
+ \l_keys_key_str
+ }
+ {
+ \tl_set:Nn
+ \l_@@_renderer_glob_definition_tl
+ { \exp_not:n { #1 } }
+ \seq_map_inline:Nn
+ \l_@@_renderer_glob_results_seq
+ {
+ \tl_set:Nn
+ \l_tmpa_tl
+ { { ##1 } = }
+ \tl_put_right:Nx
+ \l_tmpa_tl
+ { { \l_@@_renderer_glob_definition_tl } }
+ \keys_set:nV
+ { markdown/options/renderer-prototypes }
+ \l_tmpa_tl
+ }
}
}
},
@@ -21128,7 +21362,8 @@ pdflatex --shell-escape document.tex
%
%### Typesetting Markdown
% The interface exposes the \envmdef{markdown} and \envmdef{markdown*}
-% \LaTeX{} environments, and redefines the \mref{markdownInput} command.
+% \LaTeX{} environments, and redefines the \mref{markinline} and
+% \mref{markdownInput} commands.
%
% The \envmref{markdown} and \envmref{markdown*} \LaTeX{} environments are used
% to typeset markdown document fragments. Both \LaTeX{} environments accept
@@ -21169,6 +21404,13 @@ pdflatex --shell-escape document.tex
% \end{document} \end{document}
% ```````
%
+% The \mref{markinline} macro accepts a single mandatory parameter containing
+% inline markdown content and expands to the result of the conversion of the
+% input markdown document to plain \TeX{}. Unlike the \mref{markinline} macro
+% provided by the plain \TeX{} interface, this macro also accepts \LaTeX{}
+% interface options (see Section <#sec:latex-options>) as its optional
+% argument. These options will only influnce this markdown content.
+%
% The \mref{markdownInput} macro accepts a single mandatory parameter containing
% the filename of a markdown document and expands to the result of the
% conversion of the input markdown document to plain \TeX{}. Unlike the
@@ -25155,7 +25397,7 @@ function M.writer.new(options)
function self.blockquote(s)
if not self.is_writing then return "" end
return {"\\markdownRendererBlockQuoteBegin\n",s,
- "\n\\markdownRendererBlockQuoteEnd "}
+ "\\markdownRendererBlockQuoteEnd "}
end
% \end{macrocode}
% \par
@@ -25645,7 +25887,7 @@ function M.writer.new(options)
end
if self.is_writing and #normalized_attributes > 0 then
- table.insert(buf, "\\markdownRendererHeaderAttributeContextEnd ")
+ table.insert(buf, "\\markdownRendererHeaderAttributeContextEnd{}")
end
return buf
@@ -30663,7 +30905,7 @@ M.extensions.fenced_code = function(blank_before_code_fence,
table.insert(buf, {"\\markdownRendererInputFencedCode{",
name,"}{",self.string(i),"}{",self.infostring(i),"}"})
if attr ~= nil then
- table.insert(buf, "\\markdownRendererFencedCodeAttributeContextEnd")
+ table.insert(buf, "\\markdownRendererFencedCodeAttributeContextEnd{}")
end
return buf
end
@@ -30884,7 +31126,7 @@ M.extensions.fenced_divs = function(blank_before_div_fence)
function self.div_begin(attributes)
local start_output = {"\\markdownRendererFencedDivAttributeContextBegin\n",
self.attributes(attributes)}
- local end_output = {"\\markdownRendererFencedDivAttributeContextEnd "}
+ local end_output = {"\\markdownRendererFencedDivAttributeContextEnd{}"}
return self.push_attributes("div", attributes, start_output, end_output)
end
% \end{macrocode}
@@ -33453,7 +33695,7 @@ end
% \par
% \begin{markdown}
%
-%### Buffering Markdown Input {#buffering}
+%### Buffering Block-Level Markdown Input {#buffering-block}
%
% The macros \mdef{markdownInputFileStream} and \mdef{markdownOutputFileStream}
% contain the number of the input and output file streams that will be used for
@@ -33512,7 +33754,8 @@ end
|markdownIfOption{frozenCache}{}{@
|immediate|openout|markdownOutputFileStream@
|markdownOptionInputTempFileName|relax@
- |markdownInfo{Buffering markdown input into the temporary @
+ |markdownInfo{@
+ Buffering block-level markdown input into the temporary @
input file "|markdownOptionInputTempFileName" and scanning @
for the closing token sequence "#1"}@
}@
@@ -33694,6 +33937,125 @@ end
% \end{macrocode}
% \begin{markdown}
%
+%### Buffering Inline Markdown Input {#buffering-inline}
+%
+% This section describes the implementation of the macro \mref{markinline}.
+%
+% \end{markdown}
+% \begin{macrocode}
+\ExplSyntaxOn
+\tl_new:N
+ \g_@@_after_markinline_tl
+\tl_gset:Nn
+ \g_@@_after_markinline_tl
+ { \unskip }
+\cs_new:Npn
+ \markinline
+ {
+% \end{macrocode}
+% \begin{markdown}
+%
+% Locally change the category of the special plain \TeX{} characters
+% to *other* in order to prevent unwanted interpretation of the input
+% markdown text as \TeX{} code.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \group_begin:
+ \cctab_select:N
+ \c_other_cctab
+% \end{macrocode}
+% \begin{markdown}
+%
+% Unless we are reading markdown documents from the frozen cache,
+% open the file \Opt{inputTempFileName} for writing.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \@@_if_option:nF
+ { frozenCache }
+ {
+ \immediate
+ \openout
+ \markdownOutputFileStream
+ \markdownOptionInputTempFileName
+ \relax
+ \msg_info:nne
+ { markdown }
+ { buffering-markinline }
+ { \markdownOptionInputTempFileName }
+ }
+% \end{macrocode}
+% \begin{markdown}
+%
+% Peek ahead and extract the inline markdown text.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \peek_regex_replace_once:nnF
+ { { (.*?) } }
+ {
+% \end{macrocode}
+% \begin{markdown}
+%
+% Unless we are reading markdown documents from the frozen cache,
+% store the text in the file \Opt{inputTempFileName} and close it.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \c { @@_if_option:nF }
+ \cB { frozenCache \cE }
+ \cB {
+ \c { immediate }
+ \c { write }
+ \c { markdownOutputFileStream }
+ \cB { \1 \cE }
+ \c { immediate }
+ \c { closeout }
+ \c { markdownOutputFileStream }
+ \cE }
+% \end{macrocode}
+% \begin{markdown}
+%
+% Reset the category codes and `\input` the result of the conversion.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \c { group_end: }
+ \c { group_begin: }
+ \c { @@_setup:n }
+ \cB { contentLevel = inline \cE }
+ \c { markdownInput }
+ \cB {
+ \c { markdownOptionOutputDir } /
+ \c { markdownOptionInputTempFileName }
+ \cE }
+ \c { group_end: }
+ \c { tl_use:N }
+ \c { g_@@_after_markinline_tl }
+ }
+ {
+ \msg_error:nn
+ { markdown }
+ { markinline-peek-failure }
+ \group_end:
+ \tl_use:N
+ \g_@@_after_markinline_tl
+ }
+ }
+\msg_new:nnn
+ { markdown }
+ { buffering-markinline }
+ { Buffering~inline~markdown~input~into~the~temporary~input~file~"#1". }
+\msg_new:nnnn
+ { markdown }
+ { markinline-peek-failure }
+ { Use~of~\iow_char:N \\ markinline~doesn't~match~its~definition }
+ { The~macro~should~be~followed~by~inline~markdown~text~in~curly~braces }
+\ExplSyntaxOff
+% \end{macrocode}
+% \begin{markdown}
+%
%### Typesetting Markdown
%
% The \mref{markdownInput} macro uses an implementation of the
@@ -33821,21 +34183,49 @@ end
% \par
% \begin{markdown}
%
-%### Logging Facilities
-% The \LaTeX{} implementation redefines the plain \TeX{} logging macros (see
-% Section <#sec:tex-interface-logging>) to use the \LaTeX{} `\PackageInfo`,
-% `\PackageWarning`, and `\PackageError` macros.
+%### Typesetting Markdown
+% The \mdef{markinlinePlainTeX} macro is used to store the original plain
+% \TeX{} implementation of the \mref{markinline} macro. The \mref{markinline}
+% macro is then redefined to accept an optional argument with options
+% recognized by the \LaTeX{} interface (see Section <#sec:latex-options>).
%
% \end{markdown}
% \begin{macrocode}
+\ExplSyntaxOn
+\cs_gset_eq:NN
+ \markinlinePlainTeX
+ \markinline
+\cs_gset:Npn
+ \markinline
+ {
+ \peek_regex_replace_once:nn
+ { ( \[ (.*?) \] ) ? }
+ {
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Apply the options locally.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \c { group_begin: }
+ \c { @@_setup:n }
+ \cB { \2 \cE }
+ \c { tl_put_right:Nn }
+ \c { g_@@_after_markinline_tl }
+ \cB { \c { group_end: } \cE }
+ \c { markinlinePlainTeX }
+ }
+ }
+\ExplSyntaxOff
% \end{macrocode}
% \par
% \begin{markdown}
%
-%### Typesetting Markdown
% The \mdef{markdownInputPlainTeX} macro is used to store the original plain
% \TeX{} implementation of the \mref{markdownInput} macro. The \mref{markdownInput}
-% is then redefined to accept an optional argument with options recognized by
+% macro is then redefined to accept an optional argument with options recognized by
% the \LaTeX{} interface (see Section <#sec:latex-options>).
%
% \end{markdown}
@@ -34718,35 +35108,86 @@ end
% \par
% \begin{markdown}
%
-% If identifier attributes appear at the beginning of a section, we make them
-% produce the `\label` macro.
+% If \acro{HTML} identifiers appear after a heading, we make them
+% produce `\label` macros.
%
% \end{markdown}
% \begin{macrocode}
\ExplSyntaxOn
-\seq_new:N \l_@@_header_identifiers_seq
-\markdownSetup{
- rendererPrototypes = {
- headerAttributeContextBegin = {
- \seq_clear:N \l_@@_header_identifiers_seq
- \markdownSetup
- {
- renderers = {
- attributeIdentifier = {
- \seq_put_right:Nn
- \l_@@_header_identifiers_seq
- { ##1 }
+\seq_new:N
+ \l_@@_header_identifiers_seq
+\markdownSetup
+ {
+ rendererPrototypes = {
+ headerAttributeContextBegin = {
+ \markdownSetup
+ {
+ rendererPrototypes = {
+ attributeIdentifier = {
+ \seq_put_right:Nn
+ \l_@@_header_identifiers_seq
+ { ##1 }
+ },
},
- },
- }
+ }
+ },
+ headerAttributeContextEnd = {
+ \seq_map_inline:Nn
+ \l_@@_header_identifiers_seq
+ { \label { ##1 } }
+ \seq_clear:N
+ \l_@@_header_identifiers_seq
+ },
},
- headerAttributeContextEnd = {
- \seq_map_inline:Nn
- \l_@@_header_identifiers_seq
- { \label { ##1 } }
+ }
+% \end{macrocode}
+% \begin{markdown}
+%
+% If the `unnumbered` \acro{HTML} class (or the `{-}` shorthand) appears after
+% a heading the heading and all its subheadings will be unnumbered.
+%
+% \end{markdown}
+% \begin{macrocode}
+\bool_new:N
+ \l_@@_header_unnumbered_bool
+\markdownSetup
+ {
+ rendererPrototypes = {
+ headerAttributeContextBegin += {
+ \markdownSetup
+ {
+ rendererPrototypes = {
+ attributeClassName = {
+ \bool_if:nT
+ {
+ \str_if_eq_p:nn
+ { ##1 }
+ { unnumbered } &&
+ ! \l_@@_header_unnumbered_bool
+ }
+ {
+ \group_begin:
+ \bool_set_true:N
+ \l_@@_header_unnumbered_bool
+ \c@secnumdepth = 0
+ \markdownSetup
+ {
+ rendererPrototypes = {
+ sectionBegin = {
+ \group_begin:
+ },
+ sectionEnd = {
+ \group_end:
+ },
+ },
+ }
+ }
+ },
+ },
+ }
+ },
},
- },
-}
+ }
\ExplSyntaxOff
\markdownSetup{rendererPrototypes={
superscript = {\textsuperscript{#1}},
diff --git a/macros/generic/markdown/markdown.html b/macros/generic/markdown/markdown.html
index 277f98bdeb..65f1de7d51 100644
--- a/macros/generic/markdown/markdown.html
+++ b/macros/generic/markdown/markdown.html
@@ -93,7 +93,7 @@
<header id="title-block-header">
<h1 class="title">Markdown Package User Manual</h1>
<p class="author">Vít Starý Novotný</p>
-<p class="date">3.4.3-0-ge2c6be1a 2024-04-04</p>
+<p class="date">3.5.0-0-gfd01a252 2024-04-29</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
diff --git a/macros/generic/markdown/markdown.pdf b/macros/generic/markdown/markdown.pdf
index 8e42e32d0b..a4e313f081 100644
--- a/macros/generic/markdown/markdown.pdf
+++ b/macros/generic/markdown/markdown.pdf
Binary files differ
diff --git a/macros/latex/contrib/nmbib/Makefile b/macros/latex/contrib/nmbib/Makefile
index 4b59427e24..4f4135521a 100644
--- a/macros/latex/contrib/nmbib/Makefile
+++ b/macros/latex/contrib/nmbib/Makefile
@@ -7,7 +7,7 @@
#
PACKAGE=nmbib
-SAMPLES = nmsample.tex
+SAMPLES = nmbib-sample.tex
PERLSCRIPTS = nmbibtex.pl
@@ -62,9 +62,9 @@ distclean: veryclean
# Archive for the distribution. Includes typeset documentation
#
archive: all clean
- tar -czvf $(PACKAGE).tgz -C .. --exclude '*~' --exclude '*.tgz' --exclude CVS $(PACKAGE)
+ COPYFILE_DISABLE=1 tar -C .. -czvf ../$(PACKAGE).tgz --exclude '*~' --exclude '*.tgz' --exclude '*.zip' --exclude CVS --exclude '.git*' $(PACKAGE); mv ../$(PACKAGE).tgz .
zip: all clean
${MAKE} $(PACKAGE).sty
$(RM) *.log
- zip -r $(PACKAGE).zip * -x '*~' -x '*.tgz' -x '*.zip' -x CVS -x 'CVS/*' \ No newline at end of file
+ zip -r $(PACKAGE).zip * -x '*~' -x '*.tgz' -x '*.zip' -x CVS -x 'CVS/*'
diff --git a/macros/latex/contrib/nmbib/README b/macros/latex/contrib/nmbib/README
index 833fa7992e..00a3fe6b5d 100644
--- a/macros/latex/contrib/nmbib/README
+++ b/macros/latex/contrib/nmbib/README
@@ -9,4 +9,6 @@ provides other improvments.
Changes:
+ v1.05. nmsample is renamed to nmbib-sample to avoid TeXLive name clash
+
v1.04 An embarrassing typo corrected. \ No newline at end of file
diff --git a/macros/latex/contrib/nmbib/nmsample.pdf b/macros/latex/contrib/nmbib/nmbib-sample.pdf
index bfcf4824b5..cb3c42b895 100644
--- a/macros/latex/contrib/nmbib/nmsample.pdf
+++ b/macros/latex/contrib/nmbib/nmbib-sample.pdf
Binary files differ
diff --git a/macros/latex/contrib/nmbib/nmsample.tex b/macros/latex/contrib/nmbib/nmbib-sample.tex
index 56ff2a807a..56ff2a807a 100644
--- a/macros/latex/contrib/nmbib/nmsample.tex
+++ b/macros/latex/contrib/nmbib/nmbib-sample.tex
diff --git a/macros/latex/contrib/nmbib/nmbib.dtx b/macros/latex/contrib/nmbib/nmbib.dtx
index 24647ae06f..f84fc00877 100644
--- a/macros/latex/contrib/nmbib/nmbib.dtx
+++ b/macros/latex/contrib/nmbib/nmbib.dtx
@@ -1,7 +1,7 @@
% \iffalse
% $Id: nmbib.dtx,v 1.21 2015/07/27 20:22:45 boris Exp $
%
-%% Copyright 2015, Michael Cohen <mcohen@u-aizu.ac.jp>
+%% Copyright 2015-2024, Michael Cohen <mcohen@u-aizu.ac.jp>
%% and Boris Veytsman <borisv@lk.net>
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -59,7 +59,7 @@
% \changes{v1.00}{2014/01/23}{Preliminary release}
% \changes{v1.03}{2015/07/25}{Added day field in the chrono bst}
%
-% \title{New Multibibliography Package\thanks{\copyright 2015 Michael
+% \title{New Multibibliography Package\thanks{\copyright 2015--2024 Michael
% Cohen and Boris Veytsman}}
% \author{Boris Veytsman\thanks{borisv@lk.net}
% \and Michael Cohen\thanks{mcohen@u-aizu.ac.jp}}
diff --git a/macros/latex/contrib/nmbib/nmbib.pdf b/macros/latex/contrib/nmbib/nmbib.pdf
index ba4aeed009..2258288207 100644
--- a/macros/latex/contrib/nmbib/nmbib.pdf
+++ b/macros/latex/contrib/nmbib/nmbib.pdf
Binary files differ
diff --git a/macros/latex/contrib/nmbib/nmbibtex.1 b/macros/latex/contrib/nmbib/nmbibtex.1
index bb7bb38f4b..d96236dde8 100644
--- a/macros/latex/contrib/nmbib/nmbibtex.1
+++ b/macros/latex/contrib/nmbib/nmbibtex.1
@@ -1,4 +1,5 @@
-.\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.07)
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
@@ -15,141 +16,71 @@
.ft R
.fi
..
-.\" Set up some character translations and predefined strings. \*(-- will
-.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
-.\" double quote, and \*(R" will give a right double quote. \*(C+ will
-.\" give a nicer C++. Capital omega is used to do unbreakable dashes and
-.\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
-.\" nothing in troff, for use with C<>.
-.tr \(*W-
-.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
-. ds -- \(*W-
-. ds PI pi
-. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-. ds L" ""
-. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
-. ds -- \|\(em\|
-. ds PI \(*p
-. ds L" ``
-. ds R" ''
+. ds C`
+. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
-.\" If the F register is turned on, we'll generate index entries on stderr for
+.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
-.ie \nF \{\
-. de IX
-. tm Index:\\$1\t\\n%\t"\\$2"
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
..
-. nr % 0
-. rr F
-.\}
-.el \{\
-. de IX
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
.\}
-.\"
-.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
-.\" Fear. Run. Save yourself. No user-serviceable parts.
-. \" fudge factors for nroff and troff
-.if n \{\
-. ds #H 0
-. ds #V .8m
-. ds #F .3m
-. ds #[ \f1
-. ds #] \fP
-.\}
-.if t \{\
-. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
-. ds #V .6m
-. ds #F 0
-. ds #[ \&
-. ds #] \&
-.\}
-. \" simple accents for nroff and troff
-.if n \{\
-. ds ' \&
-. ds ` \&
-. ds ^ \&
-. ds , \&
-. ds ~ ~
-. ds /
-.\}
-.if t \{\
-. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
-. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
-. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
-. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
-. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
-. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
-.\}
-. \" troff and (daisy-wheel) nroff accents
-.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
-.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
-.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
-.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
-.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
-.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
-.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
-.ds ae a\h'-(\w'a'u*4/10)'e
-.ds Ae A\h'-(\w'A'u*4/10)'E
-. \" corrections for vroff
-.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
-.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
-. \" for low resolution devices (crt and lpr)
-.if \n(.H>23 .if \n(.V>19 \
-\{\
-. ds : e
-. ds 8 ss
-. ds o a
-. ds d- d\h'-1'\(ga
-. ds D- D\h'-1'\(hy
-. ds th \o'bp'
-. ds Th \o'LP'
-. ds ae ae
-. ds Ae AE
-.\}
-.rm #[ #] #H #V #F C
+.rr rF
.\" ========================================================================
.\"
.IX Title "NMBIBTEX 1"
-.TH NMBIBTEX 1 "2015-04-25" "perl v5.10.1" "User Contributed Perl Documentation"
+.TH NMBIBTEX 1 2015-04-26 "perl v5.38.2" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
-.SH "NAME"
+.SH NAME
nmbibtex \- a program to compile bibliographies for the package nmbib
-.SH "SYNOPSIS"
+.SH SYNOPSIS
.IX Header "SYNOPSIS"
-nmbibtex \fI\s-1OPTIONS\s0\fR \fI\s-1FILE\s0\fR
-.SH "DESCRIPTION"
+nmbibtex \fIOPTIONS\fR \fIFILE\fR
+.SH DESCRIPTION
.IX Header "DESCRIPTION"
-nmbibtex calls \fIbibtex\fR\|(1) for all aux files produced by the package
+nmbibtex calls \fBbibtex\fR\|(1) for all aux files produced by the package
nmbib
-.SH "OPTIONS"
+.SH OPTIONS
.IX Header "OPTIONS"
-.IP "\fB\-h\fR" 4
+.IP \fB\-h\fR 4
.IX Item "-h"
Print the help information and exit
.IP "\fB\-min\-crossrefs\fR \fInumber\fR" 4
.IX Item "-min-crossrefs number"
-Send the option \f(CW\*(C`\-min\-crossref=NUMBER\*(C'\fR to \fIbibtex\fR\|(1)
-.IP "\fB\-terse\fR" 4
+Send the option \f(CW\*(C`\-min\-crossref=NUMBER\*(C'\fR to \fBbibtex\fR\|(1)
+.IP \fB\-terse\fR 4
.IX Item "-terse"
-Send the option \f(CW\*(C`\-terse\*(C'\fR to \fIbibtex\fR\|(1)
-.IP "\fB\-v\fR" 4
+Send the option \f(CW\*(C`\-terse\*(C'\fR to \fBbibtex\fR\|(1)
+.IP \fB\-v\fR 4
.IX Item "-v"
Print the copyright information and exit
.SH "AUTHORS AND LICENSE"
diff --git a/macros/latex/contrib/l3backend/CHANGELOG.md b/macros/latex/required/l3backend/CHANGELOG.md
index 66a69a3bb3..ecd8593881 100644
--- a/macros/latex/contrib/l3backend/CHANGELOG.md
+++ b/macros/latex/required/l3backend/CHANGELOG.md
@@ -6,6 +6,14 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-04-11]
+
+### Added
+- Support for 'raw' PDF object IDs
+
+### Changed
+- Update PDF object management code
+
## [2024-03-14]
### Removed
@@ -339,7 +347,8 @@ this project uses date-based 'snapshot' version identifiers.
- Include `l3backend` in file names
- Moved backend code to internal for each 'parent' module
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-03-14...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-04-11...HEAD
+[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
[2024-02-20]: https://github.com/latex3/latex3/compare/2024-01-04...2024-02-20
[2024-01-04]: https://github.com/latex3/latex3/compare/2023-11-09...2024-01-04
diff --git a/macros/latex/contrib/l3backend/README.md b/macros/latex/required/l3backend/README.md
index 7be33df8b8..058fa63cc2 100644
--- a/macros/latex/contrib/l3backend/README.md
+++ b/macros/latex/required/l3backend/README.md
@@ -1,7 +1,7 @@
LaTeX3 Backend Drivers
======================
-Release 2024-03-14
+Release 2024-04-11
This package forms parts of `expl3`, and contains the code used to interface
with backends (drivers) across the `expl3` codebase. The functions here are
diff --git a/macros/latex/contrib/l3backend/l3backend-basics.dtx b/macros/latex/required/l3backend/l3backend-basics.dtx
index 4d3b68225a..fbac503317 100644
--- a/macros/latex/contrib/l3backend/l3backend-basics.dtx
+++ b/macros/latex/required/l3backend/l3backend-basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -70,27 +70,27 @@
% \begin{macrocode}
\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-dvipdfmx.def}{2024-03-14}{}
+ {l3backend-dvipdfmx.def}{2024-04-11}{}
{L3 backend support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-dvips.def}{2024-03-14}{}
+ {l3backend-dvips.def}{2024-04-11}{}
{L3 backend support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-dvisvgm.def}{2024-03-14}{}
+ {l3backend-dvisvgm.def}{2024-04-11}{}
{L3 backend support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-luatex.def}{2024-03-14}{}
+ {l3backend-luatex.def}{2024-04-11}{}
{L3 backend support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-pdftex.def}{2024-03-14}{}
+ {l3backend-pdftex.def}{2024-04-11}{}
{L3 backend support: PDF output (pdfTeX)}
%</pdftex>
%<*xetex>
- {l3backend-xetex.def}{2024-03-14}{}
+ {l3backend-xetex.def}{2024-04-11}{}
{L3 backend support: XeTeX}
%</xetex>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3backend/l3backend-box.dtx b/macros/latex/required/l3backend/l3backend-box.dtx
index 3fc3243c42..93d83293ef 100644
--- a/macros/latex/contrib/l3backend/l3backend-box.dtx
+++ b/macros/latex/required/l3backend/l3backend-box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-code.pdf b/macros/latex/required/l3backend/l3backend-code.pdf
index 9affc7d856..d298479c42 100644
--- a/macros/latex/contrib/l3backend/l3backend-code.pdf
+++ b/macros/latex/required/l3backend/l3backend-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3backend/l3backend-code.tex b/macros/latex/required/l3backend/l3backend-code.tex
index df0dd0ea8c..df0dd0ea8c 100644
--- a/macros/latex/contrib/l3backend/l3backend-code.tex
+++ b/macros/latex/required/l3backend/l3backend-code.tex
diff --git a/macros/latex/contrib/l3backend/l3backend-color.dtx b/macros/latex/required/l3backend/l3backend-color.dtx
index eaa89add8c..307432d554 100644
--- a/macros/latex/contrib/l3backend/l3backend-color.dtx
+++ b/macros/latex/required/l3backend/l3backend-color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-draw.dtx b/macros/latex/required/l3backend/l3backend-draw.dtx
index eef86886f5..c651ab92fe 100644
--- a/macros/latex/contrib/l3backend/l3backend-draw.dtx
+++ b/macros/latex/required/l3backend/l3backend-draw.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-graphics.dtx b/macros/latex/required/l3backend/l3backend-graphics.dtx
index 9360bffd2e..e20457368d 100644
--- a/macros/latex/contrib/l3backend/l3backend-graphics.dtx
+++ b/macros/latex/required/l3backend/l3backend-graphics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-header.dtx b/macros/latex/required/l3backend/l3backend-header.dtx
index 84f8ab53b7..486f564822 100644
--- a/macros/latex/contrib/l3backend/l3backend-header.dtx
+++ b/macros/latex/required/l3backend/l3backend-header.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-opacity.dtx b/macros/latex/required/l3backend/l3backend-opacity.dtx
index a5828bfd90..0c29574c37 100644
--- a/macros/latex/contrib/l3backend/l3backend-opacity.dtx
+++ b/macros/latex/required/l3backend/l3backend-opacity.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3backend/l3backend-pdf.dtx b/macros/latex/required/l3backend/l3backend-pdf.dtx
index 0a16a79f9e..cf09c0eec2 100644
--- a/macros/latex/contrib/l3backend/l3backend-pdf.dtx
+++ b/macros/latex/required/l3backend/l3backend-pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -113,25 +113,13 @@
%
% \subsubsection{Objects}
%
-% \begin{variable}{\g_@@_backend_object_int}
-% For tracking objects.
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
% \begin{macrocode}
-\int_new:N \g_@@_backend_object_int
-% \end{macrocode}
-% \end{variable}
-%
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
-% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:n #1
- {
- \int_gincr:N \g_@@_backend_object_int
- \int_const:cn
- { c_@@_object_ \tl_to_str:n {#1} _int }
- { \g_@@_backend_object_int }
- }
-\cs_new:Npn \@@_backend_object_ref:n #1
- { { pdf.obj \int_use:c { c_@@_object_ \tl_to_str:n {#1} _int } } }
+\cs_new_protected:Npn \@@_backend_object_new:
+ { \int_gincr:N \g_@@_backend_object_int }
+\cs_new:Npn \@@_backend_object_ref:n #1 { { pdf.obj #1 } }
+\cs_new_eq:NN \@@_backend_object_id:n \@@_backend_object_ref:n
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -958,12 +946,12 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
% Declaring objects means reserving at the PDF level plus starting
% tracking.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:n #1
+\cs_new_protected:Npn \@@_backend_object_new:
{
%<*luatex>
\tex_pdfextension:D obj ~
@@ -972,17 +960,16 @@
\tex_pdfobj:D
%</pdftex>
reserveobjnum ~
- \int_const:cn
- { c_@@_object_ \tl_to_str:n {#1} _int }
+ \int_gset:Nn \g_@@_backend_object_int
%<*luatex>
- { \tex_pdffeedback:D lastobj }
+ { \tex_pdffeedback:D lastobj }
%</luatex>
%<*pdftex>
- { \tex_pdflastobj:D }
+ { \tex_pdflastobj:D }
%</pdftex>
}
-\cs_new:Npn \@@_backend_object_ref:n #1
- { \int_use:c { c_@@_object_ \tl_to_str:n {#1} _int } ~ 0 ~ R }
+\cs_new:Npn \@@_backend_object_ref:n #1 { #1 ~ 0 ~ R }
+\cs_new:Npn \@@_backend_object_id:n #1 {#1}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1001,28 +988,26 @@
%<*pdftex>
\tex_immediate:D \tex_pdfobj:D
%</pdftex>
- useobjnum ~
- \int_use:c
- { c_@@_object_ \tl_to_str:n {#1} _int }
- \@@_backend_object_write:nn {#2} {#3}
+ useobjnum ~ #1
+ \@@_backend_object_write:nn {#2} {#3}
}
\cs_new:Npn \@@_backend_object_write:nn #1#2
{
- \str_case:nn {#1}
- {
- { array } { { [ ~ \exp_not:n {#2} ~ ] } }
- { dict } { { << ~ \exp_not:n {#2} ~ >> } }
- { fstream }
- {
- stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
- file ~ { \@@_exp_not_ii:nn #2 }
- }
- { stream }
- {
- stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
- { \@@_exp_not_ii:nn #2 }
- }
- }
+ \str_case:nn {#1}
+ {
+ { array } { { [ ~ \exp_not:n {#2} ~ ] } }
+ { dict } { { << ~ \exp_not:n {#2} ~ >> } }
+ { fstream }
+ {
+ stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
+ file ~ { \@@_exp_not_ii:nn #2 }
+ }
+ { stream }
+ {
+ stream ~ attr ~ { \@@_exp_not_i:nn #2 } ~
+ { \@@_exp_not_ii:nn #2 }
+ }
+ }
}
\cs_generate_variant:Nn \@@_backend_object_write:nnn { nne }
\cs_new:Npn \@@_exp_not_i:nn #1#2 { \exp_not:n {#1} }
@@ -1235,28 +1220,22 @@
%
% \subsubsection{Objects}
%
-% \begin{variable}{\g_@@_backend_object_int, \g_@@_backend_object_prop}
+% \begin{variable}{\g_@@_backend_object_prop}
% For tracking objects to allow finalisation.
% \begin{macrocode}
-\int_new:N \g_@@_backend_object_int
\prop_new:N \g_@@_backend_object_prop
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
% Objects are tracked at the macro level, but we don't have to do anything
% at this stage.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:n #1
- {
- \int_gincr:N \g_@@_backend_object_int
- \int_const:cn
- { c_@@_object_ \tl_to_str:n {#1} _int }
- { \g_@@_backend_object_int }
- }
-\cs_new:Npn \@@_backend_object_ref:n #1
- { @pdf.obj \int_use:c { c_@@_object_ \tl_to_str:n {#1} _int } }
+\cs_new_protected:Npn \@@_backend_object_new:
+ { \int_gincr:N \g_@@_backend_object_int }
+\cs_new:Npn \@@_backend_object_ref:n #1 { @pdf.obj #1 }
+\cs_new_eq:NN \@@_backend_object_id:n \@@_backend_object_ref:n
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -1627,16 +1606,17 @@
%
% \subsubsection{Objects}
%
-% \begin{macro}{\@@_backend_object_new:n}
-% \begin{macro}[EXP]{\@@_backend_object_ref:n}
+% \begin{macro}{\@@_backend_object_new:}
+% \begin{macro}[EXP]{\@@_backend_object_ref:n, \@@_backend_object_id:n}
% \begin{macro}{\@@_backend_object_write:nnn, \@@_backend_object_write:ne}
% \begin{macro}{\@@_backend_object_now:nn, , \@@_backend_object_now:ne}
% \begin{macro}{\@@_backend_object_last:}
% \begin{macro}[EXP]{\@@_backend_pageobject_ref:n}
% All no-ops here.
% \begin{macrocode}
-\cs_new_protected:Npn \@@_backend_object_new:nn #1 { }
+\cs_new_protected:Npn \@@_backend_object_new: { }
\cs_new:Npn \@@_backend_object_ref:n #1 { }
+\cs_new:Npn \@@_backend_object_id:n #1 { }
\cs_new_protected:Npn \@@_backend_object_write:nnn #1#2#3 { }
\cs_new_protected:Npn \@@_backend_object_write:nne #1#2#3 { }
\cs_new_protected:Npn \@@_backend_object_now:nn #1#2 { }
diff --git a/macros/latex/contrib/l3backend/l3backend.ins b/macros/latex/required/l3backend/l3backend.ins
index e24c41d236..e24c41d236 100644
--- a/macros/latex/contrib/l3backend/l3backend.ins
+++ b/macros/latex/required/l3backend/l3backend.ins
diff --git a/macros/latex/contrib/l3kernel/CHANGELOG.md b/macros/latex/required/l3kernel/CHANGELOG.md
index 9c8c4d506c..e770f3fe36 100644
--- a/macros/latex/contrib/l3kernel/CHANGELOG.md
+++ b/macros/latex/required/l3kernel/CHANGELOG.md
@@ -7,6 +7,30 @@ this project uses date-based 'snapshot' version identifiers.
## [Unreleased]
+## [2024-04-11]
+
+### Added
+- `\prop_(g)put_if_not_in:Nnn` (renamed from `\prop_(g)put_if_new:Nnn`)
+- `\intarray_if_exist:N(TF)`
+- `\fparray_if_exist:N(TF)`
+- Support for 'indexed' PDF objects
+
+### Changed
+- Expand object names in `\pdf_object_...` functions (issue \#1521)
+- Adapt `l3doc` for `ltcmd` change to handling of newlines
+ (see latex3/latex2e\#1304)
+- Return active spaces from `\sys_get_query:n(nn)N` (issue \#1529)
+
+### Fixed
+- False `debug` error raised by `\cctab_const:Nn` (issue \#1508)
+- Undefined `\__kernel_iwo_open:Nn` used in `\iow_shell_open:Nn`
+ (issue \#1515)
+- Naming of register functions in LuaMetaTeX 2.11+ (issue \#1518)
+- Catcode applied to letters by `\sys_get_query:n(nn)N`
+
+### Deprecated
+- `\prop_(g)put_if_new:Nnn` (renamed to `\prop_(g)put_if_not_in:Nnn`)
+
## [2024-03-14]
### Added
@@ -20,6 +44,7 @@ this project uses date-based 'snapshot' version identifiers.
### Fixed
- Typeset `TF` of internal conditionals in current color (issue \#730)
- Some functions and variables were defined locally
+
## [2024-02-20]
### Changed
@@ -1700,7 +1725,8 @@ this project uses date-based 'snapshot' version identifiers.
- Step functions have been added for dim variables,
e.g. `\dim_step_inline:nnnn`
-[Unreleased]: https://github.com/latex3/latex3/compare/2024-03-14...HEAD
+[Unreleased]: https://github.com/latex3/latex3/compare/2024-04-11...HEAD
+[2024-04-11]: https://github.com/latex3/latex3/compare/2024-03-14...2024-04-11
[2024-03-14]: https://github.com/latex3/latex3/compare/2024-02-20...2024-03-14
[2024-02-20]: https://github.com/latex3/latex3/compare/2024-02-18...2024-02-20
[2024-02-18]: https://github.com/latex3/latex3/compare/2024-02-13...2024-02-18
diff --git a/macros/latex/contrib/l3kernel/README.md b/macros/latex/required/l3kernel/README.md
index 8ef94a41ac..70d106b496 100644
--- a/macros/latex/contrib/l3kernel/README.md
+++ b/macros/latex/required/l3kernel/README.md
@@ -1,7 +1,7 @@
LaTeX3 Programming Conventions
==============================
-Release 2024-03-14
+Release 2024-04-11
Overview
--------
diff --git a/macros/latex/contrib/l3kernel/expl3.dtx b/macros/latex/required/l3kernel/expl3.dtx
index 76ef8ec919..56a62010fa 100644
--- a/macros/latex/contrib/l3kernel/expl3.dtx
+++ b/macros/latex/required/l3kernel/expl3.dtx
@@ -24,7 +24,7 @@
%
%<*driver|generic|package|2ekernel>
%</driver|generic|package|2ekernel>
-\def\ExplFileDate{2024-03-14}%
+\def\ExplFileDate{2024-04-11}%
%<*driver>
\documentclass[full]{l3doc}
\usepackage{graphicx}
@@ -51,7 +51,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/expl3.pdf b/macros/latex/required/l3kernel/expl3.pdf
index b36343153a..56a734d6bf 100644
--- a/macros/latex/contrib/l3kernel/expl3.pdf
+++ b/macros/latex/required/l3kernel/expl3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.pdf b/macros/latex/required/l3kernel/interface3.pdf
index 1df60adf1a..bf177baf39 100644
--- a/macros/latex/contrib/l3kernel/interface3.pdf
+++ b/macros/latex/required/l3kernel/interface3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/interface3.tex b/macros/latex/required/l3kernel/interface3.tex
index ff8114028e..1bf31032ee 100644
--- a/macros/latex/contrib/l3kernel/interface3.tex
+++ b/macros/latex/required/l3kernel/interface3.tex
@@ -58,7 +58,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-03-14}
+\date{Released 2024-04-11}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3kernel/l3.ins b/macros/latex/required/l3kernel/l3.ins
index 2940230505..bf7a75381d 100644
--- a/macros/latex/contrib/l3kernel/l3.ins
+++ b/macros/latex/required/l3kernel/l3.ins
@@ -105,7 +105,7 @@ and all files in that bundle must be distributed together.
\from{l3regex.dtx} {package}
\from{l3box.dtx} {package}
\from{l3color.dtx} {package}
- \from{l3pdf.dtx} {package}
+ \from{l3pdf.dtx} {package,tex}
\from{l3coffins.dtx} {package}
\from{l3luatex.dtx} {package,tex}
\from{l3unicode.dtx} {package}
@@ -176,6 +176,7 @@ and all files in that bundle must be distributed together.
\from{l3sys.dtx}{package,lua}
\from{l3token.dtx}{package,lua}
\from{l3intarray.dtx}{package,lua}
+ \from{l3pdf.dtx}{package,lua}
}}
\endbatchfile
diff --git a/macros/latex/contrib/l3kernel/l3basics.dtx b/macros/latex/required/l3kernel/l3basics.dtx
index 66e999fe62..eabf678caa 100644
--- a/macros/latex/contrib/l3kernel/l3basics.dtx
+++ b/macros/latex/required/l3kernel/l3basics.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -1340,8 +1340,9 @@
% only locally/globally assigned;
% \item \texttt{check-expressions} that checks integer, dimension,
% skip, and muskip expressions are not terminated prematurely;
-% \item \texttt{deprecation} that makes soon-to-be-deprecated commands produce errors;
-% \item \texttt{log-functions} that logs function definitions;
+% \item \texttt{deprecation} that makes deprecated commands produce errors;
+% \item \texttt{log-functions} that logs function definitions and
+% variable declarations;
% \item \texttt{all} that does all of the above.
% \end{itemize}
% Providing these as switches rather than options allows testing code
@@ -1355,10 +1356,10 @@
% \cs{debug_suspend:} \ldots{} \cs{debug_resume:}
% \end{syntax}
% Suppress (locally) errors and logging from \texttt{debug} commands,
-% except for the \texttt{deprecation} errors or warnings. These pairs
+% except for the \texttt{deprecation} errors. These pairs
% of commands can be nested. This can be used around pieces of code
% that are known to fail checks, if such failures should be ignored.
-% See for instance \pkg{l3coffins}.
+% See for instance \pkg{l3cctab} and \pkg{l3coffins}.
% \end{function}
%
% \end{documentation}
@@ -1871,9 +1872,8 @@
%
% \begin{macro}{\__kernel_deprecation_code:nn}
% \begin{variable}{\g_@@_deprecation_on_tl, \g_@@_deprecation_off_tl}
-% Some commands were more recently deprecated and not yet removed;
-% only make these into errors if the user requests it. This relies on
-% two token lists, filled up in \pkg{l3deprecation}.
+% Make deprecated commands throw errors if the user requests it.
+% This relies on two token lists, filled up in \pkg{l3deprecation}.
% \begin{macrocode}
\cs_gset_nopar:Npn \g_@@_deprecation_on_tl { }
\cs_gset_nopar:Npn \g_@@_deprecation_off_tl { }
diff --git a/macros/latex/contrib/l3kernel/l3bitset.dtx b/macros/latex/required/l3kernel/l3bitset.dtx
index 3100c28463..b0bd996d26 100644
--- a/macros/latex/contrib/l3kernel/l3bitset.dtx
+++ b/macros/latex/required/l3kernel/l3bitset.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3bootstrap.dtx b/macros/latex/required/l3kernel/l3bootstrap.dtx
index 5ff0c2e68d..2c51bf3bb0 100644
--- a/macros/latex/contrib/l3kernel/l3bootstrap.dtx
+++ b/macros/latex/required/l3kernel/l3bootstrap.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3box.dtx b/macros/latex/required/l3kernel/l3box.dtx
index 08463db56d..2d4902950f 100644
--- a/macros/latex/contrib/l3kernel/l3box.dtx
+++ b/macros/latex/required/l3kernel/l3box.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3cctab.dtx b/macros/latex/required/l3kernel/l3cctab.dtx
index 5cdaa3dc92..dd35fb00a3 100644
--- a/macros/latex/contrib/l3kernel/l3cctab.dtx
+++ b/macros/latex/required/l3kernel/l3cctab.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -286,15 +286,23 @@
% \end{macrocode}
% Now the case for other engines. Here, each table is an integer
% array. Following the \LuaTeX{} pattern, a new table starts with
-% \IniTeX{} codes. The index base is out-by-one, so we have an
+% \IniTeX{} codes. The \cs{debug_suspend:} and \cs{debug_resume:}
+% functions prevent errors and logging from \texttt{debug} commands
+% which are either duplicate or false when \cs{@@_new:N} is used
+% by \cs{cctab_new:N} or \cs{cctab_const:Nn}.
+% The index base is out-by-one, so we have an
% internal function to handle that. The \IniTeX{} \tn{endlinechar} is
% $13$.
% \begin{macrocode}
{
\cs_new_protected:Npn \@@_new:N #1
- { \intarray_new:Nn #1 { 257 } }
+ {
+ \debug_suspend:
+ \intarray_new:Nn #1 { 257 }
+ \debug_resume:
+ }
\cs_new_protected:Npn \@@_gstore:Nnn #1#2#3
- { \intarray_gset:Nnn #1 { \int_eval:n { #2 + 1 } } {#3} }
+ { \intarray_gset:Nnn #1 { #2 + 1 } {#3} }
\cs_new_protected:Npn \cctab_new:N #1
{
\__kernel_chk_if_free_cs:N #1
@@ -796,13 +804,22 @@
% \subsection{Constant category code tables}
%
% \begin{macro}{\cctab_const:Nn,\cctab_const:cn}
-% Creates a new \meta{cctab~var} then sets it with the current and
-% user-supplied codes.
+% Creates a new \meta{cctab~var} then sets it with the \IniTeX{} and
+% user-supplied codes. To avoid false \texttt{debug} errors, we write
+% out implementation of \cs{cctab_new:N} and \cs{cctab_gset:Nn}
+% instead of directly using them here. The initialization part in
+% \cs{cctab_new:N} in non-\LuaTeX{} is omitted as it's covered by
+% the \IniTeX{} settings.
% \begin{macrocode}
\cs_new_protected:Npn \cctab_const:Nn #1#2
{
- \cctab_new:N #1
- \cctab_gset:Nn #1 {#2}
+ \__kernel_chk_if_free_cs:N #1
+ \@@_new:N #1
+ \group_begin:
+ \cctab_select:N \c_initex_cctab
+ #2 \scan_stop:
+ \@@_gset:n {#1}
+ \group_end:
}
\cs_generate_variant:Nn \cctab_const:Nn { c }
% \end{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3clist.dtx b/macros/latex/required/l3kernel/l3clist.dtx
index ad65a4b174..c67f70db2c 100644
--- a/macros/latex/contrib/l3kernel/l3clist.dtx
+++ b/macros/latex/required/l3kernel/l3clist.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3coffins.dtx b/macros/latex/required/l3kernel/l3coffins.dtx
index ad41224aa0..164d10019d 100644
--- a/macros/latex/contrib/l3kernel/l3coffins.dtx
+++ b/macros/latex/required/l3kernel/l3coffins.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3color.dtx b/macros/latex/required/l3kernel/l3color.dtx
index 514ff326a4..0edc225c52 100644
--- a/macros/latex/contrib/l3kernel/l3color.dtx
+++ b/macros/latex/required/l3kernel/l3color.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3debug.dtx b/macros/latex/required/l3kernel/l3debug.dtx
index 6654b6d4cd..6dbe13f96e 100644
--- a/macros/latex/contrib/l3kernel/l3debug.dtx
+++ b/macros/latex/required/l3kernel/l3debug.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -69,7 +69,7 @@
%
% Standard file identification.
% \begin{macrocode}
-\ProvidesExplFile{l3debug.def}{2024-03-14}{}{L3 Debugging support}
+\ProvidesExplFile{l3debug.def}{2024-04-11}{}{L3 Debugging support}
% \end{macrocode}
%
% \begin{variable}{\s_@@_stop}
@@ -389,10 +389,9 @@
% \end{macro}
%
% \begin{macro}{\@@_deprecation_on:, \@@_deprecation_off:}
-% Some commands were more recently deprecated and not yet removed;
-% only make these into errors if the user requests it. This relies on
-% two token lists, filled up in \pkg{l3deprecation} by calls to
-% \cs{__kernel_deprecation_code:nn}.
+% Make deprecated commands throw errors if the user requests it.
+% This relies on two token lists, filled up in \pkg{l3deprecation} by
+% calls to \cs{__kernel_deprecation_code:nn}.
% \begin{macrocode}
\cs_new_protected:Npn \@@_deprecation_on:
{ \g_@@_deprecation_on_tl }
@@ -781,7 +780,7 @@
\prop_pop:NnNF
\prop_pop:NnNTF
\prop_put:Nnn
- \prop_put_if_new:Nnn
+ \prop_put_if_not_in:Nnn
\prop_put_from_keyval:Nn
\prop_remove:Nn
\prop_set_eq:NN
@@ -862,7 +861,7 @@
\prop_gpop:NnNF
\prop_gpop:NnNTF
\prop_gput:Nnn
- \prop_gput_if_new:Nnn
+ \prop_gput_if_not_in:Nnn
\prop_gput_from_keyval:Nn
\prop_gremove:Nn
\prop_gset_eq:NN
diff --git a/macros/latex/contrib/l3kernel/l3deprecation.dtx b/macros/latex/required/l3kernel/l3deprecation.dtx
index 3906c6786e..7af8700df7 100644
--- a/macros/latex/contrib/l3kernel/l3deprecation.dtx
+++ b/macros/latex/required/l3kernel/l3deprecation.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -51,8 +51,10 @@
%
% \section{\pkg{l3deprecation} documentation}
%
-% A few commands have had to be deprecated over the years. This module
-% defines deprecated and deleted commands to produce an error.
+% A few commands have had to be deprecated over the years.
+% All commands deprecated before release 2022-01-12 were already
+% removed; commands deprecated since then will no longer be removed.
+% Instead, this module defines them to produce errors.
%
% \end{documentation}
%
@@ -74,31 +76,12 @@
% \cs{__kernel_patch_deprecation:nnNNpn} \Arg{date} \Arg{replacement}
% \meta{definition} \meta{function} \meta{parameters} \Arg{code}
% \end{quote}
-% defines the \meta{function} to produce a warning and run its
-% \meta{code}, or to produce an error and not run any \meta{code},
-% depending on the \pkg{expl3} date.
-% \begin{itemize}
-% \item If the \pkg{expl3} date is less than the \meta{date} (plus
-% $6$~months in case \texttt{undo-recent-deprecations} is used) then
-% we define the \meta{function} to produce a warning and run its code.
-% The warning is actually suppressed in two cases:
-% \begin{itemize}
-% \item if neither \texttt{undo-recent-deprecations} nor
-% \texttt{enable-debug} are in effect we may be in an end-user's
-% document so it is suppressed;
-% \item if the command is expandable then we cannot produce a warning.
-% \end{itemize}
-% \item Otherwise, we define the \meta{function} to produce an error.
-% \end{itemize}
-% In both cases we additionally make \cs{debug_on:n} |{deprecation}|
-% turn the \meta{function} into an \tn{outer} error, and
-% \cs{debug_off:n} |{deprecation}| restore whatever the behaviour was
-% without \cs{debug_on:n} |{deprecation}|.
-%
-% In later sections we use the \pkg{l3doc} key \texttt{deprecated} with
-% a date equal to that \meta{date} plus $6$~months, so that \pkg{l3doc}
-% will complain if we forget to remove the stale \meta{parameters} and
-% \Arg{code}.
+% defines the \meta{function} to produce an error and run its
+% \meta{code}.
+%
+% We make \cs{debug_on:n} |{deprecation}| turn the \meta{function} into
+% an \tn{outer} error, and \cs{debug_off:n} |{deprecation}| restore
+% whatever the behaviour was without \cs{debug_on:n} |{deprecation}|.
%
% In the explanations below, \meta{definition} \meta{function}
% \meta{parameters} \Arg{code} or assignments that only differ in the
@@ -183,8 +166,7 @@
%
% \begin{macro}{\__kernel_deprecation_error:Nnn}
% The \tn{outer} definition here ensures the command cannot appear
-% in an argument. Use this auxiliary on all commands that have been
-% removed since 2015.
+% in an argument.
% \begin{macrocode}
\cs_new_protected:Npn \__kernel_deprecation_error:Nnn #1#2#3
{
@@ -679,6 +661,27 @@
% \end{macrocode}
% \end{macro}
%
+% \subsection{Deprecated \pkg{l3prop} functions}
+%
+% \begin{macro}[deprecated]
+% {
+% \prop_put_if_new:Nnn, \prop_put_if_new:NVn, \prop_put_if_new:NnV,
+% \prop_put_if_new:cnn, \prop_put_if_new:cVn, \prop_put_if_new:cnV,
+% \prop_gput_if_new:Nnn, \prop_gput_if_new:NVn, \prop_gput_if_new:NnV,
+% \prop_gput_if_new:cnn, \prop_gput_if_new:cVn, \prop_gput_if_new:cnV
+% }
+% \begin{macrocode}
+%\__kernel_patch_deprecation:nnNNpn { 2024-03-30 } { \prop_put_if_not_in:Nnn }
+\cs_new_protected:Npn \prop_put_if_new:Nnn { \prop_put_if_not_in:Nnn }
+%\__kernel_patch_deprecation:nnNNpn { 2024-03-30 } { \prop_gput_if_not_in:Nnn }
+\cs_new_protected:Npn \prop_gput_if_new:Nnn { \prop_gput_if_not_in:Nnn }
+\cs_generate_variant:Nn \prop_put_if_new:Nnn
+ { NnV , NV , c , cnV , cV }
+\cs_generate_variant:Nn \prop_gput_if_new:Nnn
+ { NnV , NV , c , cnV , cV }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3doc.dtx b/macros/latex/required/l3kernel/l3doc.dtx
index a48a24df23..9156bd385e 100644
--- a/macros/latex/contrib/l3kernel/l3doc.dtx
+++ b/macros/latex/required/l3kernel/l3doc.dtx
@@ -71,7 +71,7 @@ and all files in that bundle must be distributed together.
% This isn't included in the typeset documentation because it's a bit
% ugly:
%<*class>
-\ProvidesExplClass{l3doc}{2024-03-14}{}
+\ProvidesExplClass{l3doc}{2024-04-11}{}
{L3 Experimental documentation class}
%</class>
% \fi
@@ -84,7 +84,7 @@ and all files in that bundle must be distributed together.
% require you to do updates, if the class changes.}}
%
% \author{\Team}
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
% \maketitle
% \tableofcontents
%
@@ -2181,6 +2181,8 @@ and all files in that bundle must be distributed together.
{
\tl_remove_all:Ne \l_@@_tmpa_tl
{ \iow_char:N \^^M \c_percent_str }
+ \tl_remove_all:Ne \l_@@_tmpa_tl
+ { \token_to_str:N \obeyedline \c_space_tl \c_percent_str }
\tl_remove_all:Ne \l_@@_tmpa_tl { \tl_to_str:n { ^ ^ A } }
\tl_remove_all:Ne \l_@@_tmpa_tl { \iow_char:N \^^I }
\tl_remove_all:Ne \l_@@_tmpa_tl { \iow_char:N \^^M }
diff --git a/macros/latex/contrib/l3kernel/l3doc.pdf b/macros/latex/required/l3kernel/l3doc.pdf
index 2f85329fdc..6ef4101a78 100644
--- a/macros/latex/contrib/l3kernel/l3doc.pdf
+++ b/macros/latex/required/l3kernel/l3doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.dtx b/macros/latex/required/l3kernel/l3docstrip.dtx
index c973d593c5..c2733e810e 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.dtx
+++ b/macros/latex/required/l3kernel/l3docstrip.dtx
@@ -63,7 +63,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3docstrip.pdf b/macros/latex/required/l3kernel/l3docstrip.pdf
index f2e611b2c9..6ce1fc34e2 100644
--- a/macros/latex/contrib/l3kernel/l3docstrip.pdf
+++ b/macros/latex/required/l3kernel/l3docstrip.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3expan.dtx b/macros/latex/required/l3kernel/l3expan.dtx
index 7e507b7598..e79b5f32b9 100644
--- a/macros/latex/contrib/l3kernel/l3expan.dtx
+++ b/macros/latex/required/l3kernel/l3expan.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3file.dtx b/macros/latex/required/l3kernel/l3file.dtx
index 3a4d1c06dc..6111d270ca 100644
--- a/macros/latex/contrib/l3kernel/l3file.dtx
+++ b/macros/latex/required/l3kernel/l3file.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -107,7 +107,7 @@
% control sequence for file access. If the \meta{stream} was already
% open it is closed before the new operation begins. The
% \meta{stream} is available for access immediately and will remain
-% allocated to \meta{file name} until a \cs{ior_close:N} instruction
+% allocated to \meta{file name} until an \cs{ior_close:N} instruction
% is given or the \TeX{} run ends.
% If the file is not found, an error is raised.
% \end{function}
@@ -167,7 +167,7 @@
% control sequence for access. If the \meta{stream} was already
% open it is closed before the new operation begins. The
% \meta{stream} is available for access immediately and will remain
-% allocated to \meta{shell command} until a \cs{iow_close:N} instruction
+% allocated to \meta{shell command} until an \cs{iow_close:N} instruction
% is given or the \TeX{} run ends.
% If piped system calls are disabled an error is raised.
%
@@ -1679,6 +1679,7 @@
% \end{variable}
%
% \begin{macro}{\iow_open:Nn, \iow_open:NV, \iow_open:cn, \iow_open:cV}
+% \begin{macro}{\__kernel_iow_open:Nn, \__kernel_iow_open:No}
% \begin{macro}{\@@_open_stream:Nn, \@@_open_stream:NV}
% The same idea as for reading, but without the path and without the need
% to allow for a conditional version.
@@ -1687,16 +1688,21 @@
{
\__kernel_tl_set:Nx \l_@@_file_name_tl
{ \__kernel_file_name_sanitize:n {#2} }
+ \__kernel_iow_open:No #1 \l_@@_file_name_tl
+ }
+\cs_generate_variant:Nn \iow_open:Nn { NV , c , cV }
+\cs_new_protected:Npn \__kernel_iow_open:Nn #1#2
+ {
\iow_close:N #1
\seq_gpop:NNTF \g_@@_streams_seq \l_@@_stream_tl
- { \@@_open_stream:NV #1 \l_@@_file_name_tl }
+ { \@@_open_stream:Nn #1 {#2} }
{
\@@_new:N #1
\__kernel_tl_set:Nx \l_@@_stream_tl { \int_eval:n {#1} }
- \@@_open_stream:NV #1 \l_@@_file_name_tl
+ \@@_open_stream:Nn #1 {#2}
}
}
-\cs_generate_variant:Nn \iow_open:Nn { NV , c , cV }
+\cs_generate_variant:Nn \__kernel_iow_open:Nn { No }
\cs_new_protected:Npn \@@_open_stream:Nn #1#2
{
\tex_global:D \tex_chardef:D #1 = \l_@@_stream_tl \scan_stop:
@@ -1708,6 +1714,7 @@
% \end{macrocode}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \begin{macro}{\iow_shell_open:Nn}
% \begin{macro}{\@@_shell_open:nN, \@@_shell_open:oN}
diff --git a/macros/latex/contrib/l3kernel/l3flag.dtx b/macros/latex/required/l3kernel/l3flag.dtx
index 40614c7348..c3bd4a5085 100644
--- a/macros/latex/contrib/l3kernel/l3flag.dtx
+++ b/macros/latex/required/l3kernel/l3flag.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-assign.dtx b/macros/latex/required/l3kernel/l3fp-assign.dtx
index 6d00047e4d..d54f092085 100644
--- a/macros/latex/contrib/l3kernel/l3fp-assign.dtx
+++ b/macros/latex/required/l3kernel/l3fp-assign.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-aux.dtx b/macros/latex/required/l3kernel/l3fp-aux.dtx
index 1f4ea5d34d..c9d0c228f5 100644
--- a/macros/latex/contrib/l3kernel/l3fp-aux.dtx
+++ b/macros/latex/required/l3kernel/l3fp-aux.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-basics.dtx b/macros/latex/required/l3kernel/l3fp-basics.dtx
index a7401407cd..d3dcb68dde 100644
--- a/macros/latex/contrib/l3kernel/l3fp-basics.dtx
+++ b/macros/latex/required/l3kernel/l3fp-basics.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-convert.dtx b/macros/latex/required/l3kernel/l3fp-convert.dtx
index 0459331326..a0536c1299 100644
--- a/macros/latex/contrib/l3kernel/l3fp-convert.dtx
+++ b/macros/latex/required/l3kernel/l3fp-convert.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-expo.dtx b/macros/latex/required/l3kernel/l3fp-expo.dtx
index 5b5f947c38..6fbc9de52c 100644
--- a/macros/latex/contrib/l3kernel/l3fp-expo.dtx
+++ b/macros/latex/required/l3kernel/l3fp-expo.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-extended.dtx b/macros/latex/required/l3kernel/l3fp-extended.dtx
index bcd16a4b68..356c32b232 100644
--- a/macros/latex/contrib/l3kernel/l3fp-extended.dtx
+++ b/macros/latex/required/l3kernel/l3fp-extended.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-functions.dtx b/macros/latex/required/l3kernel/l3fp-functions.dtx
index b26d8e7f26..f6c9ec346f 100644
--- a/macros/latex/contrib/l3kernel/l3fp-functions.dtx
+++ b/macros/latex/required/l3kernel/l3fp-functions.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-logic.dtx b/macros/latex/required/l3kernel/l3fp-logic.dtx
index c95704085c..9df6a4730a 100644
--- a/macros/latex/contrib/l3kernel/l3fp-logic.dtx
+++ b/macros/latex/required/l3kernel/l3fp-logic.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-parse.dtx b/macros/latex/required/l3kernel/l3fp-parse.dtx
index 53b85a7cc8..ee2eedbc22 100644
--- a/macros/latex/contrib/l3kernel/l3fp-parse.dtx
+++ b/macros/latex/required/l3kernel/l3fp-parse.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-random.dtx b/macros/latex/required/l3kernel/l3fp-random.dtx
index cdbdf38ee1..ce5a0c48f7 100644
--- a/macros/latex/contrib/l3kernel/l3fp-random.dtx
+++ b/macros/latex/required/l3kernel/l3fp-random.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-round.dtx b/macros/latex/required/l3kernel/l3fp-round.dtx
index bddb146be7..48ae82730c 100644
--- a/macros/latex/contrib/l3kernel/l3fp-round.dtx
+++ b/macros/latex/required/l3kernel/l3fp-round.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-symbolic.dtx b/macros/latex/required/l3kernel/l3fp-symbolic.dtx
index 26a084733d..901ce7a27c 100644
--- a/macros/latex/contrib/l3kernel/l3fp-symbolic.dtx
+++ b/macros/latex/required/l3kernel/l3fp-symbolic.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-traps.dtx b/macros/latex/required/l3kernel/l3fp-traps.dtx
index e1a3dd89a0..5a4a3b41f9 100644
--- a/macros/latex/contrib/l3kernel/l3fp-traps.dtx
+++ b/macros/latex/required/l3kernel/l3fp-traps.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
% \maketitle
%
% \begin{documentation}
diff --git a/macros/latex/contrib/l3kernel/l3fp-trig.dtx b/macros/latex/required/l3kernel/l3fp-trig.dtx
index 21cefc166c..d8585ebe66 100644
--- a/macros/latex/contrib/l3kernel/l3fp-trig.dtx
+++ b/macros/latex/required/l3kernel/l3fp-trig.dtx
@@ -42,7 +42,7 @@
% {latex-team@latex-project.org}^^A
% }^^A
% }
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp-types.dtx b/macros/latex/required/l3kernel/l3fp-types.dtx
index 0d589c9549..2c23c61393 100644
--- a/macros/latex/contrib/l3kernel/l3fp-types.dtx
+++ b/macros/latex/required/l3kernel/l3fp-types.dtx
@@ -42,7 +42,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fp.dtx b/macros/latex/required/l3kernel/l3fp.dtx
index 11dbcdceef..7cef573970 100644
--- a/macros/latex/contrib/l3kernel/l3fp.dtx
+++ b/macros/latex/required/l3kernel/l3fp.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3fparray.dtx b/macros/latex/required/l3kernel/l3fparray.dtx
index 1517840431..24f4ac85f8 100644
--- a/macros/latex/contrib/l3kernel/l3fparray.dtx
+++ b/macros/latex/required/l3kernel/l3fparray.dtx
@@ -44,20 +44,20 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
% \begin{documentation}
%
-% \section{\pkg{l3fparray} documentation}
-%
% For applications requiring heavy use of floating points, this module
% provides arrays which can be accessed in constant time (contrast
% \pkg{l3seq}, where access time is linear). The interface is very
% close to that of \pkg{l3intarray}. The size of the array is fixed and
% must be given at point of initialisation
%
+% \section{Creating and initialising floating point array variables}
+%
% \begin{function}[added = 2018-05-05]{\fparray_new:Nn, \fparray_new:cn}
% \begin{syntax}
% \cs{fparray_new:Nn} \meta{fparray~var} \Arg{size}
@@ -68,14 +68,16 @@
% assignments are always global.
% \end{function}
%
-% \begin{function}[EXP, added = 2018-05-05]{\fparray_count:N, \fparray_count:c}
+% \begin{function}[added = 2018-05-05]{\fparray_gzero:N, \fparray_gzero:c}
% \begin{syntax}
-% \cs{fparray_count:N} \meta{fparray~var}
+% \cs{fparray_gzero:N} \meta{fparray~var}
% \end{syntax}
-% Expands to the number of entries in the \meta{floating point array
-% variable}. This is performed in constant time.
+% Sets all entries of the \meta{floating point array variable} to
+% $+0$. Assignments are always global.
% \end{function}
%
+% \section{Adding data to floating point arrays}
+%
% \begin{function}[added = 2018-05-05]{\fparray_gset:Nnn, \fparray_gset:cnn}
% \begin{syntax}
% \cs{fparray_gset:Nnn} \meta{fparray~var} \Arg{position} \Arg{value}
@@ -87,17 +89,21 @@
% Assignments are always global.
% \end{function}
%
-% \begin{function}[added = 2018-05-05]{\fparray_gzero:N, \fparray_gzero:c}
+% \section{Couting entries in floating point arrays}
+%
+% \begin{function}[EXP, added = 2018-05-05]{\fparray_count:N, \fparray_count:c}
% \begin{syntax}
-% \cs{fparray_gzero:N} \meta{fparray~var}
+% \cs{fparray_count:N} \meta{fparray~var}
% \end{syntax}
-% Sets all entries of the \meta{floating point array variable} to
-% $+0$. Assignments are always global.
+% Expands to the number of entries in the \meta{floating point array
+% variable}. This is performed in constant time.
% \end{function}
%
+% \section{Using a single entry}
+%
% \begin{function}[EXP, added = 2018-05-05]
% {
-% \fparray_item:Nn, \fparray_item:cn
+% \fparray_item:Nn, \fparray_item:cn,
% \fparray_item_to_tl:Nn, \fparray_item_to_tl:cn
% }
% \begin{syntax}
@@ -106,8 +112,21 @@
% Applies \cs{fp_use:N} or \cs{fp_to_tl:N} (respectively) to the
% floating point entry stored at the (integer expression)
% \meta{position} in the \meta{floating point array variable}. If the
-% \meta{position} is not between $1$ and the \cs{fparray_count:N}, an
-% error occurs.
+% \meta{position} is not between $1$ and the
+% \cs{fparray_count:N} \meta{fparray~var}, an error occurs.
+% \end{function}
+%
+% \section{Floating point array conditional}
+%
+% \begin{function}[pTF, added = 2024-03-31]
+% {\fparray_if_exist:N, \fparray_if_exist:c}
+% \begin{syntax}
+% \cs{fparray_if_exist_p:N} \meta{fparray~var}
+% \cs{fparray_if_exist:NTF} \meta{fparray~var} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Tests whether the \meta{fparray~var} is currently defined. This
+% does not check that the \meta{fparray~var} really is a floating
+% point array variable.
% \end{function}
%
% \end{documentation}
@@ -389,6 +408,16 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}[pTF]{\fparray_if_exist:N, \fparray_if_exist:c}
+% Copies of the \texttt{cs} functions defined in \pkg{l3basics}.
+% \begin{macrocode}
+\prg_new_eq_conditional:NNn \fparray_if_exist:N \cs_if_exist:N
+ { TF , T , F , p }
+\prg_new_eq_conditional:NNn \fparray_if_exist:c \cs_if_exist:c
+ { TF , T , F , p }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3int.dtx b/macros/latex/required/l3kernel/l3int.dtx
index 9fa2a547ff..a1c9458436 100644
--- a/macros/latex/contrib/l3kernel/l3int.dtx
+++ b/macros/latex/required/l3kernel/l3int.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3intarray.dtx b/macros/latex/required/l3kernel/l3intarray.dtx
index 5704a2ab75..bbc41c0cdb 100644
--- a/macros/latex/contrib/l3kernel/l3intarray.dtx
+++ b/macros/latex/required/l3kernel/l3intarray.dtx
@@ -44,14 +44,12 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
% \begin{documentation}
%
-% \section{\pkg{l3intarray} documentation}
-%
% For applications requiring heavy use of integers, this module provides
% arrays which can be accessed in constant time (contrast \pkg{l3seq},
% where access time is linear). These arrays have several important
@@ -66,6 +64,8 @@
% The use of \texttt{intarray} data is therefore recommended for cases where
% the need for fast access is of paramount importance.
%
+% \section{Creating and initialising integer array variables}
+%
% \begin{function}[added = 2018-03-29]{\intarray_new:Nn, \intarray_new:cn}
% \begin{syntax}
% \cs{intarray_new:Nn} \meta{intarray~var} \Arg{size}
@@ -76,14 +76,27 @@
% always global.
% \end{function}
%
-% \begin{function}[EXP, added = 2018-03-29]{\intarray_count:N, \intarray_count:c}
+% \begin{function}[added = 2018-05-04]
+% {\intarray_const_from_clist:Nn, \intarray_const_from_clist:cn}
% \begin{syntax}
-% \cs{intarray_count:N} \meta{intarray~var}
+% \cs{intarray_const_from_clist:Nn} \meta{intarray~var} \meta{int expr clist}
% \end{syntax}
-% Expands to the number of entries in the \meta{integer array variable}.
-% Contrarily to \cs{seq_count:N} this is performed in constant time.
+% Creates a new constant \meta{integer array variable} or raises an
+% error if the name is already taken. The \meta{integer array
+% variable} is set (globally) to contain as its items the results of
+% evaluating each \meta{integer expression} in the \meta{comma list}.
% \end{function}
%
+% \begin{function}[added = 2018-05-04]{\intarray_gzero:N, \intarray_gzero:c}
+% \begin{syntax}
+% \cs{intarray_gzero:N} \meta{intarray~var}
+% \end{syntax}
+% Sets all entries of the \meta{integer array variable} to zero.
+% Assignments are always global.
+% \end{function}
+%
+% \section{Adding data to integer arrays}
+%
% \begin{function}[added = 2018-03-29]{\intarray_gset:Nnn, \intarray_gset:cnn}
% \begin{syntax}
% \cs{intarray_gset:Nnn} \meta{intarray~var} \Arg{position} \Arg{value}
@@ -96,25 +109,18 @@
% global.
% \end{function}
%
-% \begin{function}[added = 2018-05-04]
-% {\intarray_const_from_clist:Nn, \intarray_const_from_clist:cn}
-% \begin{syntax}
-% \cs{intarray_const_from_clist:Nn} \meta{intarray~var} \meta{int expr clist}
-% \end{syntax}
-% Creates a new constant \meta{integer array variable} or raises an
-% error if the name is already taken. The \meta{integer array
-% variable} is set (globally) to contain as its items the results of
-% evaluating each \meta{integer expression} in the \meta{comma list}.
-% \end{function}
+% \section{Couting entries in integer arrays}
%
-% \begin{function}[added = 2018-05-04]{\intarray_gzero:N, \intarray_gzero:c}
+% \begin{function}[EXP, added = 2018-03-29]{\intarray_count:N, \intarray_count:c}
% \begin{syntax}
-% \cs{intarray_gzero:N} \meta{intarray~var}
+% \cs{intarray_count:N} \meta{intarray~var}
% \end{syntax}
-% Sets all entries of the \meta{integer array variable} to zero.
-% Assignments are always global.
+% Expands to the number of entries in the \meta{integer array variable}.
+% Contrarily to \cs{seq_count:N} this is performed in constant time.
% \end{function}
%
+% \section{Using a single entry}
+%
% \begin{function}[EXP, added = 2018-03-29]{\intarray_item:Nn, \intarray_item:cn}
% \begin{syntax}
% \cs{intarray_item:Nn} \meta{intarray~var} \Arg{position}
@@ -134,6 +140,21 @@
% \meta{integer array} is empty, produce an error.
% \end{function}
%
+% \section{Integer array conditional}
+%
+% \begin{function}[pTF, added = 2024-03-31]
+% {\intarray_if_exist:N, \intarray_if_exist:c}
+% \begin{syntax}
+% \cs{intarray_if_exist_p:N} \meta{intarray~var}
+% \cs{intarray_if_exist:NTF} \meta{intarray~var} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Tests whether the \meta{intarray~var} is currently defined. This
+% does not check that the \meta{intarray~var} really is an integer
+% array variable.
+% \end{function}
+%
+% \section{Viewing integer arrays}
+%
% \begin{function}[added = 2018-05-04]
% {\intarray_show:N, \intarray_show:c, \intarray_log:N, \intarray_log:c}
% \begin{syntax}
@@ -144,7 +165,7 @@
% terminal or writes them in the log file.
% \end{function}
%
-% \subsection{Implementation notes}
+% \section{Implementation notes}
%
% It is a wrapper around the \tn{fontdimen} primitive, used to store
% arrays of integers (with a restricted range: absolute value at most
@@ -912,6 +933,16 @@ luacmd('@@_gset_range:w', function()
%
% \subsection{Common parts}
%
+% \begin{macro}[pTF]{\intarray_if_exist:N, \intarray_if_exist:c}
+% Copies of the \texttt{cs} functions defined in \pkg{l3basics}.
+% \begin{macrocode}
+\prg_new_eq_conditional:NNn \intarray_if_exist:N \cs_if_exist:N
+ { TF , T , F , p }
+\prg_new_eq_conditional:NNn \intarray_if_exist:c \cs_if_exist:c
+ { TF , T , F , p }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\intarray_show:N, \intarray_show:c, \intarray_log:N, \intarray_log:c}
% Convert the list to a comma list (with spaces after each comma)
% \begin{macrocode}
diff --git a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx b/macros/latex/required/l3kernel/l3kernel-functions.dtx
index 480425d730..1706bb594a 100644
--- a/macros/latex/contrib/l3kernel/l3kernel-functions.dtx
+++ b/macros/latex/required/l3kernel/l3kernel-functions.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -333,7 +333,21 @@
% higher-level
% functions which have already fully expanded the \meta{file name} and which
% need to perform multiple open or close operations. See for example the
-% implementation of \cs{file_get_full_name:nN},
+% implementation of \cs{ior_shell_open:Nn}.
+% \end{function}
+%
+% \begin{function}{\__kernel_iow_open:Nn, \__kernel_iow_open:No}
+% \begin{syntax}
+% \cs{__kernel_iow_open:Nn} \meta{stream} \Arg{file name}
+% \end{syntax}
+% This function has identical syntax to the public version. However,
+% is does not take precautions against active characters in the
+% \meta{file name}, and it does not attempt to add a \meta{path} to
+% the \meta{file name}: it is therefore intended to be used by
+% higher-level
+% functions which have already fully expanded the \meta{file name} and which
+% need to perform multiple open or close operations. See for example the
+% implementation of \cs{iow_shell_open:Nn}.
% \end{function}
%
% \begin{function}{\__kernel_iow_with:Nnn}
@@ -367,6 +381,17 @@
% |1+2| then this logs |> 1+2=3.|
% \end{function}
%
+% \begin{function}[EXP]{\__kernel_pdf_object_id:n, \__kernel_pdf_object_id_indexed:nn}
+% \begin{syntax}
+% \cs{__kernel_pdf_object_id:n} \Arg{object}
+% \cs{__kernel_pdf_object_id_indexed:nn} \Arg{class} \Arg{number}
+% \end{syntax}
+% Expands to the ID of \meta{object} (or object of \meta{number} within
+% the \meta{class}), in for example page resource allocation. Depending on
+% the backend, the result may be the same as
+% \cs{pdf_object_id:n}/\cs{pdf_object_id_indexed:nn}.
+% \end{function}
+%
% \begin{variable}{\g__kernel_prg_map_int}
% This integer is used by non-expandable mapping functions to track
% the level of nesting in force. The functions
diff --git a/macros/latex/contrib/l3kernel/l3keys.dtx b/macros/latex/required/l3kernel/l3keys.dtx
index 5ea436176f..a1d2c01169 100644
--- a/macros/latex/contrib/l3kernel/l3keys.dtx
+++ b/macros/latex/required/l3kernel/l3keys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3legacy.dtx b/macros/latex/required/l3kernel/l3legacy.dtx
index bd56f1ed3a..ed7dadf222 100644
--- a/macros/latex/contrib/l3kernel/l3legacy.dtx
+++ b/macros/latex/required/l3kernel/l3legacy.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3luatex.dtx b/macros/latex/required/l3kernel/l3luatex.dtx
index 3d177f6345..f0107d465b 100644
--- a/macros/latex/contrib/l3kernel/l3luatex.dtx
+++ b/macros/latex/required/l3kernel/l3luatex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3msg.dtx b/macros/latex/required/l3kernel/l3msg.dtx
index 3acae8d111..ab4d882dcb 100644
--- a/macros/latex/contrib/l3kernel/l3msg.dtx
+++ b/macros/latex/required/l3kernel/l3msg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3names.dtx b/macros/latex/required/l3kernel/l3names.dtx
index 3e78d86acf..468481c28c 100644
--- a/macros/latex/contrib/l3kernel/l3names.dtx
+++ b/macros/latex/required/l3kernel/l3names.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3news.pdf b/macros/latex/required/l3kernel/l3news.pdf
index 87f01af5a7..aa26629126 100644
--- a/macros/latex/contrib/l3kernel/l3news.pdf
+++ b/macros/latex/required/l3kernel/l3news.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news.tex b/macros/latex/required/l3kernel/l3news.tex
index b8f0de5c72..b8f0de5c72 100644
--- a/macros/latex/contrib/l3kernel/l3news.tex
+++ b/macros/latex/required/l3kernel/l3news.tex
diff --git a/macros/latex/contrib/l3kernel/l3news01.pdf b/macros/latex/required/l3kernel/l3news01.pdf
index 5a6d4af9e2..2eb7750066 100644
--- a/macros/latex/contrib/l3kernel/l3news01.pdf
+++ b/macros/latex/required/l3kernel/l3news01.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news01.tex b/macros/latex/required/l3kernel/l3news01.tex
index b4841ac24b..b4841ac24b 100644
--- a/macros/latex/contrib/l3kernel/l3news01.tex
+++ b/macros/latex/required/l3kernel/l3news01.tex
diff --git a/macros/latex/contrib/l3kernel/l3news02.pdf b/macros/latex/required/l3kernel/l3news02.pdf
index 8cda69f971..832e6f583d 100644
--- a/macros/latex/contrib/l3kernel/l3news02.pdf
+++ b/macros/latex/required/l3kernel/l3news02.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news02.tex b/macros/latex/required/l3kernel/l3news02.tex
index a3d5467c8e..a3d5467c8e 100644
--- a/macros/latex/contrib/l3kernel/l3news02.tex
+++ b/macros/latex/required/l3kernel/l3news02.tex
diff --git a/macros/latex/contrib/l3kernel/l3news03.pdf b/macros/latex/required/l3kernel/l3news03.pdf
index f16bb58750..dd6b7e7e9a 100644
--- a/macros/latex/contrib/l3kernel/l3news03.pdf
+++ b/macros/latex/required/l3kernel/l3news03.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news03.tex b/macros/latex/required/l3kernel/l3news03.tex
index e3e245f051..e3e245f051 100644
--- a/macros/latex/contrib/l3kernel/l3news03.tex
+++ b/macros/latex/required/l3kernel/l3news03.tex
diff --git a/macros/latex/contrib/l3kernel/l3news04.pdf b/macros/latex/required/l3kernel/l3news04.pdf
index 52c33e516a..1d20917d2b 100644
--- a/macros/latex/contrib/l3kernel/l3news04.pdf
+++ b/macros/latex/required/l3kernel/l3news04.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news04.tex b/macros/latex/required/l3kernel/l3news04.tex
index a0fc82f3de..a0fc82f3de 100644
--- a/macros/latex/contrib/l3kernel/l3news04.tex
+++ b/macros/latex/required/l3kernel/l3news04.tex
diff --git a/macros/latex/contrib/l3kernel/l3news05.pdf b/macros/latex/required/l3kernel/l3news05.pdf
index 1f6bda9687..36c813db4d 100644
--- a/macros/latex/contrib/l3kernel/l3news05.pdf
+++ b/macros/latex/required/l3kernel/l3news05.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news05.tex b/macros/latex/required/l3kernel/l3news05.tex
index 43ec2a8d19..43ec2a8d19 100644
--- a/macros/latex/contrib/l3kernel/l3news05.tex
+++ b/macros/latex/required/l3kernel/l3news05.tex
diff --git a/macros/latex/contrib/l3kernel/l3news06.pdf b/macros/latex/required/l3kernel/l3news06.pdf
index cd65bce3a6..f0e99f4727 100644
--- a/macros/latex/contrib/l3kernel/l3news06.pdf
+++ b/macros/latex/required/l3kernel/l3news06.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news06.tex b/macros/latex/required/l3kernel/l3news06.tex
index 63ee6c7c75..63ee6c7c75 100644
--- a/macros/latex/contrib/l3kernel/l3news06.tex
+++ b/macros/latex/required/l3kernel/l3news06.tex
diff --git a/macros/latex/contrib/l3kernel/l3news07.pdf b/macros/latex/required/l3kernel/l3news07.pdf
index 721252a9b0..b9cbba576a 100644
--- a/macros/latex/contrib/l3kernel/l3news07.pdf
+++ b/macros/latex/required/l3kernel/l3news07.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news07.tex b/macros/latex/required/l3kernel/l3news07.tex
index 2b433da4c4..2b433da4c4 100644
--- a/macros/latex/contrib/l3kernel/l3news07.tex
+++ b/macros/latex/required/l3kernel/l3news07.tex
diff --git a/macros/latex/contrib/l3kernel/l3news08.pdf b/macros/latex/required/l3kernel/l3news08.pdf
index 855db5bdc5..c812ae5e67 100644
--- a/macros/latex/contrib/l3kernel/l3news08.pdf
+++ b/macros/latex/required/l3kernel/l3news08.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news08.tex b/macros/latex/required/l3kernel/l3news08.tex
index 17107f8360..17107f8360 100644
--- a/macros/latex/contrib/l3kernel/l3news08.tex
+++ b/macros/latex/required/l3kernel/l3news08.tex
diff --git a/macros/latex/contrib/l3kernel/l3news09.pdf b/macros/latex/required/l3kernel/l3news09.pdf
index 5dc3a3b9ad..eff6e741fe 100644
--- a/macros/latex/contrib/l3kernel/l3news09.pdf
+++ b/macros/latex/required/l3kernel/l3news09.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news09.tex b/macros/latex/required/l3kernel/l3news09.tex
index 55ed700a2c..55ed700a2c 100644
--- a/macros/latex/contrib/l3kernel/l3news09.tex
+++ b/macros/latex/required/l3kernel/l3news09.tex
diff --git a/macros/latex/contrib/l3kernel/l3news10.pdf b/macros/latex/required/l3kernel/l3news10.pdf
index e921d2c81b..4ac02d4684 100644
--- a/macros/latex/contrib/l3kernel/l3news10.pdf
+++ b/macros/latex/required/l3kernel/l3news10.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news10.tex b/macros/latex/required/l3kernel/l3news10.tex
index 88291e848f..88291e848f 100644
--- a/macros/latex/contrib/l3kernel/l3news10.tex
+++ b/macros/latex/required/l3kernel/l3news10.tex
diff --git a/macros/latex/contrib/l3kernel/l3news11.pdf b/macros/latex/required/l3kernel/l3news11.pdf
index a4866d55e7..27011b2c4b 100644
--- a/macros/latex/contrib/l3kernel/l3news11.pdf
+++ b/macros/latex/required/l3kernel/l3news11.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news11.tex b/macros/latex/required/l3kernel/l3news11.tex
index a1fd8a129c..a1fd8a129c 100644
--- a/macros/latex/contrib/l3kernel/l3news11.tex
+++ b/macros/latex/required/l3kernel/l3news11.tex
diff --git a/macros/latex/contrib/l3kernel/l3news12.pdf b/macros/latex/required/l3kernel/l3news12.pdf
index 4b6072bca1..86b5ffa063 100644
--- a/macros/latex/contrib/l3kernel/l3news12.pdf
+++ b/macros/latex/required/l3kernel/l3news12.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3news12.tex b/macros/latex/required/l3kernel/l3news12.tex
index f41e4b3690..f41e4b3690 100644
--- a/macros/latex/contrib/l3kernel/l3news12.tex
+++ b/macros/latex/required/l3kernel/l3news12.tex
diff --git a/macros/latex/contrib/l3kernel/l3pdf.dtx b/macros/latex/required/l3kernel/l3pdf.dtx
index 7ffd0c1c05..b0b17f2690 100644
--- a/macros/latex/contrib/l3kernel/l3pdf.dtx
+++ b/macros/latex/required/l3kernel/l3pdf.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -51,6 +51,11 @@
%
% \section{Objects}
%
+% \subsection{Named objects}
+%
+% An \meta{object} name should fully expand to tokens suitable for use in a
+% label-like context.
+%
% \begin{function}[added = 2022-08-23]{\pdf_object_new:n}
% \begin{syntax}
% \cs{pdf_object_new:n} \Arg{object}
@@ -62,7 +67,7 @@
% \begin{function}[added = 2022-08-23]
% {\pdf_object_write:nnn, \pdf_object_write:nne}
% \begin{syntax}
-% \cs{pdf_object_write:nn} \Arg{object} \Arg{type} \Arg{content}
+% \cs{pdf_object_write:nnn} \Arg{object} \Arg{type} \Arg{content}
% \end{syntax}
% Writes the \meta{content} as content of the \meta{object}. Depending on the
% \meta{type} declared for the object, the format required for the
@@ -83,9 +88,71 @@
% \cs{pdf_object_ref:n} \Arg{object}
% \end{syntax}
% Inserts the appropriate information to reference the \meta{object}
-% in for example page resource allocation
+% in for example page resource allocation. If the \meta{object} does
+% not exist then the function expands to a reference to object zero;
+% no PDF indirect object ever has this number, so this is a marker for
+% error.
+% \end{function}
+%
+% \begin{function}[EXP, pTF, added = 2020-05-15]{\pdf_object_if_exist:n}
+% \begin{syntax}
+% \cs{pdf_object_if_exist_p:n} \Arg{object}
+% \cs{pdf_object_if_exist:nTF} \Arg{object} \Arg{true code} \Arg{false code}
+% \end{syntax}
+% Tests whether an object with name \Arg{object} has been defined.
+% \end{function}
+%
+% \subsection{Indexed objects}
+%
+% Objects can also be created using a pair of \meta{class} and \emph{index};
+% the \meta{class} argument should expand to character tokens, whilst the
+% \meta{index} is an \meta{int expr} and starts at $1$. For large
+% families of objects, this approach is more efficient than using
+% individual names.
+%
+% \begin{function}[added = 2024-04-01]{\pdf_object_new_indexed:nn}
+% \begin{syntax}
+% \cs{pdf_object_new_indexed:nn} \Arg{class} \Arg{index}
+% \end{syntax}
+% Declares a PDF object of \meta{class} and \meta{index}. The object may be
+% referenced from this point on, and written later using
+% \cs{pdf_object_write_indexed:nnnn}.
% \end{function}
%
+% \begin{function}[added = 2024-04-01]
+% {\pdf_object_write_indexed:nnnn, \pdf_object_write_indexed:nnne}
+% \begin{syntax}
+% \cs{pdf_object_write_indexed:nnnn} \Arg{class} \Arg{index} \Arg{type} \Arg{content}
+% \end{syntax}
+% Writes the \meta{content} as content of the object of \meta{class} and
+% \meta{index}. Depending on the
+% \meta{type} declared for the object, the format required for the
+% \meta{content} will vary
+% \begin{itemize}
+% \item[\texttt{array}] A space-separated list of values
+% \item[\texttt{dict}] Key--value pairs in the form
+% \texttt{/\meta{key} \meta{value}}
+% \item[\texttt{fstream}] Two brace groups: \meta{file name} and
+% \meta{file content}
+% \item[\texttt{stream}] Two brace groups: \meta{attributes (dictionary)}
+% and \meta{stream contents}
+% \end{itemize}
+% \end{function}
+%
+% \begin{function}[EXP, added = 2024-04-01]{\pdf_object_ref_indexed:nn}
+% \begin{syntax}
+% \cs{pdf_object_ref_indexed:nn} \Arg{class} \Arg{index}
+% \end{syntax}
+% Inserts the appropriate information to reference the object of \meta{class}
+% and \meta{index} in for example page resource allocation. If the
+% \meta{class}/\meta{index} combination does
+% not exist then the function expands to a reference to object zero;
+% no PDF indirect object ever has this number, so this is a marker for
+% error.
+% \end{function}
+%
+% \subsection{General functions}
+%
% \begin{function}[added = 2021-02-10]
% {\pdf_object_unnamed_write:nn, \pdf_object_unnamed_write:ne}
% \begin{syntax}
@@ -119,14 +186,6 @@
% Inserts the appropriate information to reference the \meta{pageobject}.
% \end{function}
%
-% \begin{function}[EXP, pTF, added = 2020-05-15]{\pdf_object_if_exist:n}
-% \begin{syntax}
-% \cs{pdf_object_if_exist_p:n} \Arg{object}
-% \cs{pdf_object_if_exist:nTF} \Arg{object}
-% \end{syntax}
-% Tests whether an object with name \Arg{object} has been defined.
-% \end{function}
-%
% \section{Version}
%
% \begin{function}[pTF, EXP, added = 2021-02-10]{\pdf_version_compare:Nn}
@@ -267,6 +326,10 @@
%<@@=pdf>
% \end{macrocode}
%
+% \begin{macrocode}
+%<*tex>
+% \end{macrocode}
+%
% \begin{variable}{\s_@@_stop}
% Internal scan marks.
% \begin{macrocode}
@@ -311,53 +374,286 @@
%
% \subsection{Objects}
%
+% \begin{variable}{\g_@@_backend_object_int}
+% For returning object numbers.
+% \begin{macrocode}
+\int_new:N \g_@@_backend_object_int
+% \end{macrocode}
+% \end{variable}
+%
% \begin{macro}{\pdf_object_new:n}
% \begin{macro}
% {\pdf_object_write:nnn, \pdf_object_write:nne, \pdf_object_write:nnx}
% \begin{macro}{\pdf_object_ref:n}
-% \begin{macro}
-% {
-% \pdf_object_unnamed_write:nn, \pdf_object_unnamed_write:ne,
-% \pdf_object_unnamed_write:nx
-% }
-% \begin{macro}{\pdf_object_ref_last:}
-% \begin{macro}[pTF]{\pdf_object_if_exist:n}
+% \begin{macro}{\__kernel_pdf_object_id:n}
% Simple to do: all objects create a constant |int| so it is not a
% backend-specific name.
% \begin{macrocode}
\cs_new_protected:Npn \pdf_object_new:n #1
{
- \@@_backend_object_new:n {#1}
- \cs_new_eq:cc
- { c_@@_backend_object_ \tl_to_str:n {#1} _int }
- { c_@@_object_ \tl_to_str:n {#1} _int }
+ \@@_backend_object_new:
+ \@@_object_record:nN {#1} \g_@@_backend_object_int
}
\cs_new_protected:Npn \pdf_object_write:nnn #1#2#3
{
- \@@_backend_object_write:nnn {#1} {#2} {#3}
+ \exp_args:Ne \@@_backend_object_write:nnn
+ { \@@_object_retrieve:n {#1} } {#2} {#3}
\bool_gset_true:N \g_@@_init_bool
}
\cs_generate_variant:Nn \pdf_object_write:nnn { nne , nnx }
-\cs_new:Npn \pdf_object_ref:n #1 { \@@_backend_object_ref:n {#1} }
-\cs_new_protected:Npn \pdf_object_unnamed_write:nn #1#2
+\cs_new:Npn \pdf_object_ref:n #1
{
- \@@_backend_object_now:nn {#1} {#2}
- \bool_gset_true:N \g_@@_init_bool
+ \exp_args:Ne \@@_backend_object_ref:n
+ { \@@_object_retrieve:n {#1} }
}
-\cs_generate_variant:Nn \pdf_object_unnamed_write:nn { ne , nx }
-\cs_new:Npn \pdf_object_ref_last: { \@@_backend_object_last: }
+\cs_new:Npn \__kernel_pdf_object_id:n #1
+ {
+ \exp_args:Ne \@@_backend_object_id:n
+ { \@@_object_retrieve:n {#1} }
+ }
+%</tex>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\@@_object_record:nN}
+% \begin{macro}[EXP]{\@@_object_retrieve:n}
+% \begin{macro}{ltx.pdf.object_id}
+% Object mappings are tracked in Lua for \LuaTeX{} as this makes retrieving
+% them much easier; as a result, there is a split in approaches. In Lua we
+% store values in a table indexed by name. The Lua function here is set up
+% to deal with both named and indexed objects: fits the Lua idiom well.
+% \begin{macrocode}
+%<*lua>
+
+local scan_int = token.scan_int
+local scan_string = token.scan_string
+local cprint = tex.cprint
+
+local @@_objects_named = {}
+local @@_objects_indexed = {}
+
+luacmd('@@_object_record:nN', function()
+ local name = scan_string()
+ local n = scan_int()
+ @@_objects_named[name] = n
+end,'protected','global')
+
+local function object_id(name,index)
+ if index then
+ return @@_objects_indexed[name][index] or 0
+ else
+ return @@_objects_named[name] or 0
+ end
+end
+
+luacmd('@@_object_retrieve:n', function()
+ local name = scan_string()
+ return cprint(12,tostring(object_id(name)))
+end,'global')
+
+ltx.pdf = ltx.pdf or {}
+ltx.pdf.object_id = object_id
+
+%</lua>
+% \end{macrocode}
+% Whereas in \TeX{} we use integer constants.
+% \begin{macrocode}
+%<*tex>
+\sys_if_engine_luatex:F
+ {
+ \cs_new_protected:Npn \@@_object_record:nN #1#2
+ {
+ \int_const:cn
+ { c_@@_object_ #1 _int } {#2}
+ }
+ \cs_new:Npn \@@_object_retrieve:n #1
+ {
+ \int_if_exist:cTF { c_@@_object_ #1 _int }
+ {
+ \int_use:c
+ { c_@@_object_ #1 _int }
+ }
+ { 0 }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{macro}[pTF,EXP]{\pdf_object_if_exist:n}
+% \begin{macrocode}
\prg_new_conditional:Npnn \pdf_object_if_exist:n #1 { p , T , F , TF }
{
- \int_if_exist:cTF { c_@@_object_ \tl_to_str:n {#1} _int }
- \prg_return_true:
+ \int_compare:nNnTF { \@@_object_retrieve:n {#1} } = 0
\prg_return_false:
+ \prg_return_true:
}
% \end{macrocode}
% \end{macro}
+%
+% \begin{macro}{\pdf_object_new_indexed:nn}
+% \begin{macro}{\pdf_object_write_indexed:nnnn, \pdf_object_write_indexed:nnne}
+% \begin{macro}[EXP]{\pdf_object_ref_indexed:nn}
+% \begin{macro}[EXP]{\__kernel_pdf_object_id_indexed:nn}
+% Again we split between the common code and the macro- or Lua-based
+% implementation. To make life easier for the Lua route, all of the
+% potential expressions are expanded to braced numbers.
+% \begin{macrocode}
+\cs_new_protected:Npn \pdf_object_new_indexed:nn #1#2
+ {
+ \@@_backend_object_new:
+ \@@_object_record:neN {#1}
+ { \int_eval:n {#2} } \g_@@_backend_object_int
+ }
+\cs_new_protected:Npn \pdf_object_write_indexed:nnnn #1#2#3#4
+ {
+ \exp_args:Ne \@@_backend_object_write:nnn
+ { \@@_object_retrieve:ne {#1} { \int_eval:n {#2} } } {#3} {#4}
+ \bool_gset_true:N \g_@@_init_bool
+ }
+\cs_generate_variant:Nn \pdf_object_write_indexed:nnnn { nnne }
+\cs_new:Npn \pdf_object_ref_indexed:nn #1#2
+ {
+ \exp_args:Ne \@@_backend_object_ref:n
+ { \@@_object_retrieve:ne {#1} { \int_eval:n {#2} } }
+ }
+\cs_new:Npn \__kernel_pdf_object_id_indexed:nn #1#2
+ {
+ \exp_args:Ne \@@_backend_object_id:n
+ { \@@_object_retrieve:ne {#1} { \int_eval:n {#2} } }
+ }
+%</tex>
+% \end{macrocode}
% \end{macro}
% \end{macro}
% \end{macro}
% \end{macro}
+% \begin{macro}{\@@_object_record:nnN, \@@_object_record:neN}
+% \begin{macro}[EXP]{\@@_object_retrieve:nn}
+% \begin{macro}{\@@_object_record:NnN}
+% \begin{macro}[EXP]{\@@_object_retrieve:Nn}
+% Again we split for Lua: the same idea as above but with nested tables.
+% As we've arranged above that the \TeX{} code passes a braced number,
+% we can use |tonumber(scan_string())| rather than |scan_int()|
+% for the index.
+% \begin{macrocode}
+%<*lua>
+
+luacmd('@@_object_record:nnN', function()
+ local name = scan_string()
+ local index = tonumber(scan_string())
+ local n = scan_int()
+ @@_objects_indexed[name] = @@_objects_indexed[name] or {}
+ @@_objects_indexed[name][index] = n
+end,'protected','global')
+
+luacmd('@@_object_retrieve:nn', function()
+ local name = scan_string()
+ local index = tonumber(scan_string())
+ return cprint(12,tostring(object_id(name,index)))
+end,'global')
+
+%</lua>
+% \end{macrocode}
+% The non-Lua approach is to divide the range into blocks, and store in integer
+% arrays that can simulate dynamic assignment.
+% \begin{macrocode}
+%<*tex>
+\sys_if_engine_luatex:F
+ {
+ \cs_new_protected:Npn \@@_object_record:nnN #1#2#3
+ {
+ \use:e
+ {
+ \@@_object_record:NnN
+ \@@_object_index_split:nn {#1} {#2}
+ \exp_not:N #3
+ }
+ }
+ \cs_new_protected:Npn \@@_object_record:NnN #1#2#3
+ {
+ \intarray_if_exist:NF #1
+ { \intarray_new:Nn #1 \c_@@_object_block_size_int }
+ \intarray_gset:Nnn #1 {#2} #3
+ }
+ \cs_new:Npn \@@_object_retrieve:nn #1#2
+ {
+ \use:e
+ {
+ \exp_not:N \@@_object_retrieve:Nn
+ \@@_object_index_split:nn {#1} {#2}
+ }
+ }
+ \cs_new:Npn \@@_object_retrieve:Nn #1#2
+ { \intarray_item:Nn #1 {#2} }
+% \end{macrocode}
+% As we want blocks to start from one, and within the block for the top value
+% to be \enquote{in} the block, we do a little bit of manipulation. By shifting
+% down by one, we keep the values \enquote{in} the block, then we adjust the
+% block/index number to get back on track.
+% \begin{macrocode}
+ \cs_new:Npn \@@_object_index_split:nn #1#2
+ {
+ \exp_not:c
+ {
+ g_@@_object_ #1 _
+ \int_eval:n
+ {
+ \int_div_truncate:nn { #2 - 1 }
+ \c_@@_object_block_size_int + 1
+ }
+ _intarray
+ }
+ {
+ \int_eval:n
+ { \int_mod:nn { #2 - 1 } \c_@@_object_block_size_int + 1 }
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \begin{variable}{\c_@@_object_block_size_int}
+% Sets the block size used for managing indexed objects.
+% \begin{macrocode}
+ \int_const:Nn \c_@@_object_block_size_int { 10000 }
+ }
+% \end{macrocode}
+% \end{variable}
+% \begin{macro}{\@@_object_record:neN}
+% \begin{macro}[EXP]{\@@_object_retrieve:ne}
+% Common variants.
+% \begin{macrocode}
+\cs_generate_variant:Nn \@@_object_record:nnN { ne }
+\cs_generate_variant:Nn \@@_object_retrieve:nn { ne }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}
+% {
+% \pdf_object_unnamed_write:nn, \pdf_object_unnamed_write:ne,
+% \pdf_object_unnamed_write:nx
+% }
+% No tracking needed here.
+% \begin{macrocode}
+\cs_new_protected:Npn \pdf_object_unnamed_write:nn #1#2
+ {
+ \exp_args:Ne \@@_backend_object_now:nn {#1} {#2}
+ \bool_gset_true:N \g_@@_init_bool
+ }
+\cs_generate_variant:Nn \pdf_object_unnamed_write:nn { ne , nx }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pdf_object_ref_last:}
+% A one-step wrapper for consistency.
+% \begin{macrocode}
+\cs_new:Npn \pdf_object_ref_last: { \@@_backend_object_last: }
+% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\pdf_pageobject_ref:n}
@@ -523,6 +819,10 @@
% \end{macrocode}
%
% \begin{macrocode}
+%</tex>
+% \end{macrocode}
+%
+% \begin{macrocode}
%</package>
% \end{macrocode}
%
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.csv b/macros/latex/required/l3kernel/l3prefixes.csv
index 54fb41bdeb..54fb41bdeb 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.csv
+++ b/macros/latex/required/l3kernel/l3prefixes.csv
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.pdf b/macros/latex/required/l3kernel/l3prefixes.pdf
index 9b2e9b407e..0506709020 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.pdf
+++ b/macros/latex/required/l3kernel/l3prefixes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3prefixes.tex b/macros/latex/required/l3kernel/l3prefixes.tex
index 6c7cf24244..6c7cf24244 100644
--- a/macros/latex/contrib/l3kernel/l3prefixes.tex
+++ b/macros/latex/required/l3kernel/l3prefixes.tex
diff --git a/macros/latex/contrib/l3kernel/l3prg.dtx b/macros/latex/required/l3kernel/l3prg.dtx
index 8bbdd6a587..ea76955d82 100644
--- a/macros/latex/contrib/l3kernel/l3prg.dtx
+++ b/macros/latex/required/l3kernel/l3prg.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3prop.dtx b/macros/latex/required/l3kernel/l3prop.dtx
index 878b9eb758..6d8054e956 100644
--- a/macros/latex/contrib/l3kernel/l3prop.dtx
+++ b/macros/latex/required/l3kernel/l3prop.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -299,15 +299,15 @@
% codes are ignored.
% \end{function}
%
-% \begin{function}
+% \begin{function}[added = 2024-03-30]
% {
-% \prop_put_if_new:Nnn, \prop_put_if_new:NVn, \prop_put_if_new:NnV,
-% \prop_put_if_new:cnn, \prop_put_if_new:cVn, \prop_put_if_new:cnV,
-% \prop_gput_if_new:Nnn, \prop_gput_if_new:NVn, \prop_gput_if_new:NnV,
-% \prop_gput_if_new:cnn, \prop_gput_if_new:cVn, \prop_gput_if_new:cnV
+% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NVn, \prop_put_if_not_in:NnV,
+% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cVn, \prop_put_if_not_in:cnV,
+% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NnV,
+% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cnV
% }
% \begin{syntax}
-% \cs{prop_put_if_new:Nnn} \meta{property list} \Arg{key} \Arg{value}
+% \cs{prop_put_if_not_in:Nnn} \meta{property list} \Arg{key} \Arg{value}
% \end{syntax}
% If the \meta{key} is present in the \meta{property list} then no
% action is taken. Otherwise, a new entry is added as described for
@@ -1358,7 +1358,7 @@
% in the linked case. If |#5| is |#3| itself we have to be careful
% not to lose the data, and we even take the opportunity to skip the
% copying step completely. To keep the correct version of the
-% duplicate keys we use the code underlying \cs{prop_put_if_new:Nnn},
+% duplicate keys we use the code underlying \cs{prop_put_if_not_in:Nnn},
% which involves passing \cs{use_none:nnn} to the auxiliary instead of
% nothing.
% There is no need to check for the case where |#3| is equal to~|#4|
@@ -1940,10 +1940,10 @@
% }
% \begin{macro}[tested = m3prop002]
% {
-% \prop_put_if_new:Nnn, \prop_put_if_new:NVn, \prop_put_if_new:NnV,
-% \prop_put_if_new:cnn, \prop_put_if_new:cVn, \prop_put_if_new:cnV,
-% \prop_gput_if_new:Nnn, \prop_gput_if_new:NVn, \prop_gput_if_new:NnV,
-% \prop_gput_if_new:cnn, \prop_gput_if_new:cVn, \prop_gput_if_new:cnV
+% \prop_put_if_not_in:Nnn, \prop_put_if_not_in:NVn, \prop_put_if_not_in:NnV,
+% \prop_put_if_not_in:cnn, \prop_put_if_not_in:cVn, \prop_put_if_not_in:cnV,
+% \prop_gput_if_not_in:Nnn, \prop_gput_if_not_in:NVn, \prop_gput_if_not_in:NnV,
+% \prop_gput_if_not_in:cnn, \prop_gput_if_not_in:cVn, \prop_gput_if_not_in:cnV
% }
% \begin{macro}[tested = m3prop002]
% {
@@ -1965,17 +1965,17 @@
% auxiliary to skip this checking step and avoid getting multiple
% error messages for the same error.
% The \meta{code} (empty for |put| and \cs{use_none:nnn} for
-% |put_if_new|) is placed before the assignment in cases where the key
+% |put_if_not_in|) is placed before the assignment in cases where the key
% is already present, in order to suppress the assignment in the
-% |put_if_new| case.
+% |put_if_not_in| case.
% \begin{macrocode}
\cs_new_protected:Npn \prop_put:Nnn
{ \@@_put:nNNnn { } \cs_set_nopar:Npe }
\cs_new_protected:Npn \prop_gput:Nnn
{ \@@_put:nNNnn { } \cs_gset_nopar:Npe }
-\cs_new_protected:Npn \prop_put_if_new:Nnn
+\cs_new_protected:Npn \prop_put_if_not_in:Nnn
{ \@@_put:nNNnn \use_none:nnn \cs_set_nopar:Npe }
-\cs_new_protected:Npn \prop_gput_if_new:Nnn
+\cs_new_protected:Npn \prop_gput_if_not_in:Nnn
{ \@@_put:nNNnn \use_none:nnn \cs_gset_nopar:Npe }
\cs_generate_variant:Nn \prop_put:Nnn
{
@@ -2005,10 +2005,10 @@
}
\cs_generate_variant:Nn \prop_gput:Nnn
{ cno , co , coo , cnx , cVx , cxV , cxx }
-\cs_generate_variant:Nn \prop_put_if_new:Nnn
- { NnV , NV , cnV , cV }
-\cs_generate_variant:Nn \prop_gput_if_new:Nnn
- { NnV , NV , cnV , cV }
+\cs_generate_variant:Nn \prop_put_if_not_in:Nnn
+ { NnV , NV , c , cnV , cV }
+\cs_generate_variant:Nn \prop_gput_if_not_in:Nnn
+ { NnV , NV , c , cnV , cV }
% \end{macrocode}
% Since the true branch of \cs{@@_split:NnTFn} is used as the
% replacement text of an internal macro, and since the \meta{key} and
diff --git a/macros/latex/contrib/l3kernel/l3quark.dtx b/macros/latex/required/l3kernel/l3quark.dtx
index 000063bc00..6dba950462 100644
--- a/macros/latex/contrib/l3kernel/l3quark.dtx
+++ b/macros/latex/required/l3kernel/l3quark.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3regex.dtx b/macros/latex/required/l3kernel/l3regex.dtx
index 395be76907..ce85b56262 100644
--- a/macros/latex/contrib/l3kernel/l3regex.dtx
+++ b/macros/latex/required/l3kernel/l3regex.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3seq.dtx b/macros/latex/required/l3kernel/l3seq.dtx
index 5334e8fd88..6be32f7a83 100644
--- a/macros/latex/contrib/l3kernel/l3seq.dtx
+++ b/macros/latex/required/l3kernel/l3seq.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3skip.dtx b/macros/latex/required/l3kernel/l3skip.dtx
index 1839c8a2e5..a3d9256223 100644
--- a/macros/latex/contrib/l3kernel/l3skip.dtx
+++ b/macros/latex/required/l3kernel/l3skip.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3sort.dtx b/macros/latex/required/l3kernel/l3sort.dtx
index 818f605e07..81a025b474 100644
--- a/macros/latex/contrib/l3kernel/l3sort.dtx
+++ b/macros/latex/required/l3kernel/l3sort.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str-convert.dtx b/macros/latex/required/l3kernel/l3str-convert.dtx
index be850b3109..75dbdd095b 100644
--- a/macros/latex/contrib/l3kernel/l3str-convert.dtx
+++ b/macros/latex/required/l3kernel/l3str-convert.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3str.dtx b/macros/latex/required/l3kernel/l3str.dtx
index 88ad33c74b..efc24fe8ea 100644
--- a/macros/latex/contrib/l3kernel/l3str.dtx
+++ b/macros/latex/required/l3kernel/l3str.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.pdf b/macros/latex/required/l3kernel/l3styleguide.pdf
index 322b032a67..8b2f592339 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.pdf
+++ b/macros/latex/required/l3kernel/l3styleguide.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3styleguide.tex b/macros/latex/required/l3kernel/l3styleguide.tex
index a2ffe8d770..da169cd8b1 100644
--- a/macros/latex/contrib/l3kernel/l3styleguide.tex
+++ b/macros/latex/required/l3kernel/l3styleguide.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-03-14}
+\date{Released 2024-04-11}
\begin{document}
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf b/macros/latex/required/l3kernel/l3syntax-changes.pdf
index 2a701d8ec5..1f2f4ca513 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.pdf
+++ b/macros/latex/required/l3kernel/l3syntax-changes.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3syntax-changes.tex b/macros/latex/required/l3kernel/l3syntax-changes.tex
index 7e124576c7..85f83bf0e3 100644
--- a/macros/latex/contrib/l3kernel/l3syntax-changes.tex
+++ b/macros/latex/required/l3kernel/l3syntax-changes.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-03-14}
+\date{Released 2024-04-11}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3sys.dtx b/macros/latex/required/l3kernel/l3sys.dtx
index feec1232fd..085b5f2c97 100644
--- a/macros/latex/contrib/l3kernel/l3sys.dtx
+++ b/macros/latex/required/l3kernel/l3sys.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -333,7 +333,7 @@
% not directly available within the \TeX{} run. Note that if restricted
% shell escape is disabled, no results can be obtained.
%
-% \begin{function}[added = 2024-03-08]
+% \begin{function}[added = 2024-03-08, updated = 2024-04-08]
% {\sys_get_query:nN, \sys_get_query:nnN, \sys_get_query:nnnN}
% \begin{syntax}
% \cs{sys_get_query:nN} \Arg{cmd} \Arg{tl var}
@@ -357,6 +357,14 @@
% The \meta{spec} and \meta{options}, if given, are expanded fully
% before passing to the underlying script.
%
+% Spaces in the output are stored as active tokens, allowing them to be
+% replaced by for example a visible space easily. Other non-letter
+% characters in the ASCII range are set to category code~12. The category
+% codes for characters out of the ASCII range are left unchanged: typically
+% this will mean that with an 8-bit engine, accented values can be typeset
+% directly whilst in Unicode engines, standard category code setup will
+% apply.
+%
% If more than one line of text is returned by the \meta{cmd}, these will be
% separated by character~13 (|^^M|) tokens of category code~12. In most
% cases, \cs{sys_split_query:nnnN} should be preferred when multi-line
@@ -1161,7 +1169,7 @@ end
{ \sys_get_query:nnnN {#1} { } {#2} #3 }
\cs_new_protected:Npn \sys_get_query:nnnN #1#2#3#4
{
- \str_clear:N #4
+ \tl_clear:N #4
\@@_get_query_auxi:neeN {#1} {#2} {#3} #4
}
\cs_new:Npn \@@_get_query_auxi:nnnN #1#2#3#4
@@ -1187,10 +1195,13 @@ end
\sys_get_shell:nnN
{ l3sys-query~#1 #2 #3 }
{
- \int_step_inline:nnn { 0 } { `a - 1 }
+ \int_step_inline:nnn { 0 } { `A - 1 }
+ { \char_set_catcode_other:n {##1} }
+ \int_step_inline:nnn { `Z + 1 } { `a - 1 }
{ \char_set_catcode_other:n {##1} }
- \int_step_inline:nnn { `Z + 1 } { 127 }
+ \int_step_inline:nnn { `z + 1 } { 127 }
{ \char_set_catcode_other:n {##1} }
+ \char_set_catcode_active:n { `\ }
\tex_endlinechar:D 13 \scan_stop:
}
\l_@@_tmp_tl
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.pdf b/macros/latex/required/l3kernel/l3term-glossary.pdf
index 93def3980b..721513e885 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.pdf
+++ b/macros/latex/required/l3kernel/l3term-glossary.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/l3term-glossary.tex b/macros/latex/required/l3kernel/l3term-glossary.tex
index 5db9e83a45..d1b4b0082c 100644
--- a/macros/latex/contrib/l3kernel/l3term-glossary.tex
+++ b/macros/latex/required/l3kernel/l3term-glossary.tex
@@ -32,7 +32,7 @@ The released version of this bundle is available from CTAN.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-03-14}
+\date{Released 2024-04-11}
\newcommand{\TF}{\textit{(TF)}}
diff --git a/macros/latex/contrib/l3kernel/l3text-case.dtx b/macros/latex/required/l3kernel/l3text-case.dtx
index 0547db28b1..5010114fb4 100644
--- a/macros/latex/contrib/l3kernel/l3text-case.dtx
+++ b/macros/latex/required/l3kernel/l3text-case.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text-map.dtx b/macros/latex/required/l3kernel/l3text-map.dtx
index d364c32199..213d8281a9 100644
--- a/macros/latex/contrib/l3kernel/l3text-map.dtx
+++ b/macros/latex/required/l3kernel/l3text-map.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text-purify.dtx b/macros/latex/required/l3kernel/l3text-purify.dtx
index 8f92c1eae9..a713cd6e40 100644
--- a/macros/latex/contrib/l3kernel/l3text-purify.dtx
+++ b/macros/latex/required/l3kernel/l3text-purify.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3text.dtx b/macros/latex/required/l3kernel/l3text.dtx
index 5feff565b9..56c9a5533c 100644
--- a/macros/latex/contrib/l3kernel/l3text.dtx
+++ b/macros/latex/required/l3kernel/l3text.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx b/macros/latex/required/l3kernel/l3tl-analysis.dtx
index d965050c76..a4141dcfe4 100644
--- a/macros/latex/contrib/l3kernel/l3tl-analysis.dtx
+++ b/macros/latex/required/l3kernel/l3tl-analysis.dtx
@@ -44,7 +44,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3tl-build.dtx b/macros/latex/required/l3kernel/l3tl-build.dtx
index 175b7bc24f..859dd5025c 100644
--- a/macros/latex/contrib/l3kernel/l3tl-build.dtx
+++ b/macros/latex/required/l3kernel/l3tl-build.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -73,7 +73,8 @@
% \end{syntax}
% Clears the \meta{tl~var} and sets it up to support other
% \cs[no-index]{tl_build_\ldots{}} functions. Until \cs{tl_build_end:N}
-% \meta{tl~var} is called, applying any function from \pkg{l3tl} other
+% \meta{tl~var} or \cs{tl_build_gend:N} \meta{tl~var} is called,
+% applying any function from \pkg{l3tl} other
% than \cs[no-index]{tl_build_\ldots{}} will lead to incorrect
% results. The |begin| and |gbegin| functions must be used for local
% and global \meta{tl~var} respectively.
diff --git a/macros/latex/contrib/l3kernel/l3tl.dtx b/macros/latex/required/l3kernel/l3tl.dtx
index 0938e7cd5e..30e16636e5 100644
--- a/macros/latex/contrib/l3kernel/l3tl.dtx
+++ b/macros/latex/required/l3kernel/l3tl.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
diff --git a/macros/latex/contrib/l3kernel/l3token.dtx b/macros/latex/required/l3kernel/l3token.dtx
index cd538ee6d0..a38860b548 100644
--- a/macros/latex/contrib/l3kernel/l3token.dtx
+++ b/macros/latex/required/l3kernel/l3token.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -2298,7 +2298,7 @@
% is not a primitive.
%
% For \LuaTeX{} we use a different implementation which just looks at the
-% command code for the token and compaes it to a list of non-primitives.
+% command code for the token and compares it to a list of non-primitives.
% Again, \tn{nullfont} is a special case because it is the only primitive
% with the normally non-primitive |set_font| command code.
%
@@ -2345,11 +2345,11 @@ do
[cmd'outer_call' or cmd'tolerant_call'] = true,
[cmd'long_outer_call' or cmd'tolerant_protected_call'] = true,
[cmd'assign_glue' or cmd'register_glue'] = index_not_nil,
- [cmd'assign_mu_glue' or cmd'register_mu_glue'] = index_not_nil,
+ [cmd'assign_mu_glue' or cmd'register_mu_glue' or cmd'register_muglue'] = index_not_nil,
[cmd'assign_toks' or cmd'register_toks'] = index_not_nil,
- [cmd'assign_int' or cmd'register_int'] = index_not_nil,
+ [cmd'assign_int' or cmd'register_int' or cmd'register_integer'] = index_not_nil,
[cmd'assign_attr' or cmd'register_attribute'] = true,
- [cmd'assign_dimen' or cmd'register_dimen'] = index_not_nil,
+ [cmd'assign_dimen' or cmd'register_dimen' or cmd'register_dimension'] = index_not_nil,
}
luacmd("@@_if_primitive_lua:N", function()
diff --git a/macros/latex/contrib/l3kernel/l3unicode.dtx b/macros/latex/required/l3kernel/l3unicode.dtx
index cd552800b0..0ee6858f5b 100644
--- a/macros/latex/contrib/l3kernel/l3unicode.dtx
+++ b/macros/latex/required/l3kernel/l3unicode.dtx
@@ -43,7 +43,7 @@
% }^^A
% }
%
-% \date{Released 2024-03-14}
+% \date{Released 2024-04-11}
%
% \maketitle
%
@@ -82,7 +82,7 @@
% range, the generated character tokens will be active (category code
% $13$); for codepoints in the ASCII range, the given \meta{catcode}
% will be used. To allow the result of this function to be used
-% inside a expansion context, the result is protected by \cs{exp_not:n}.
+% inside an expansion context, the result is protected by \cs{exp_not:n}.
%
% \begin{texnote}
% Users of (u)p\TeX{} note that these engines are treated as $8$-bit in
diff --git a/macros/latex/contrib/l3kernel/source3.pdf b/macros/latex/required/l3kernel/source3.pdf
index c6a6396503..9dda7182f4 100644
--- a/macros/latex/contrib/l3kernel/source3.pdf
+++ b/macros/latex/required/l3kernel/source3.pdf
Binary files differ
diff --git a/macros/latex/contrib/l3kernel/source3.tex b/macros/latex/required/l3kernel/source3.tex
index c09d75767b..f0aaeb20c8 100644
--- a/macros/latex/contrib/l3kernel/source3.tex
+++ b/macros/latex/required/l3kernel/source3.tex
@@ -57,7 +57,7 @@ for those people who are interested.
{latex-team@latex-project.org}%
}%
}
-\date{Released 2024-03-14}
+\date{Released 2024-04-11}
\pagenumbering{roman}
\maketitle
diff --git a/macros/latex/contrib/l3kernel/source3body.tex b/macros/latex/required/l3kernel/source3body.tex
index 8471296227..8471296227 100644
--- a/macros/latex/contrib/l3kernel/source3body.tex
+++ b/macros/latex/required/l3kernel/source3body.tex
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 9e5a16bd16..d8da0c33d9 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -13,6 +13,7 @@ $mirrors = {
'https://mirrors.aliyun.com/CTAN/' => 1,
'https://mirrors.bfsu.edu.cn/CTAN/' => 1,
'https://mirrors.cloud.tencent.com/CTAN/' => 1,
+ 'https://mirrors.cqu.edu.cn/CTAN/' => 1,
'https://mirrors.jlu.edu.cn/CTAN/' => 1,
'https://mirrors.nju.edu.cn/CTAN/' => 1,
'https://mirrors.pku.edu.cn/ctan/' => 1,
@@ -104,6 +105,7 @@ $mirrors = {
'https://ftp.fau.de/ctan/' => 1,
'https://ftp.gwdg.de/pub/ctan/' => 1,
'https://ftp.rrze.uni-erlangen.de/ctan/' => 1,
+ 'https://ftp.rrzn.uni-hannover.de/pub/mirror/tex-archive/' => 1,
'https://ftp.tu-chemnitz.de/pub/tex/' => 1,
'https://markov.htwsaar.de/tex-archive/' => 1,
'https://mirror.clientvps.com/CTAN/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 7b5116bd98..a01f8c7f09 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,7 +26,7 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2024
-depend revision/71135
+depend revision/71141
name 00texlive.image
category TLCore
@@ -4889,7 +4889,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 71135
+revision 71141
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
@@ -179890,7 +179890,7 @@ catalogue-version 1.1
name l3backend
category Package
-revision 70992
+revision 71139
shortdesc LaTeX3 backend drivers
relocated 1
longdesc This package forms parts of expl3, and contains the code used
@@ -179899,17 +179899,17 @@ longdesc The functions here are defined differently depending on the
longdesc engine in use. As such, these are distributed separately from
longdesc l3kernel to allow this code to be updated on an independent
longdesc schedule.
-containersize 16280
-containerchecksum 96c1ee99601944dabc86b0a248e9ecf1c5d699a0ef2bb7360ab6fec74b4e325fd6373013a69dbff1b1d62e28947a7a5790aa693fe4f51619fb3eb31b5a18ea8f
-doccontainersize 863240
-doccontainerchecksum 2282d3eac98658f59e4d2433197009a5e4d57c91cc5888774cfe2ed39e8c7e9adf74d7ed129601bd11e71b4c4d62df3032e61f1d8bab99379f762769d2338e1b
+containersize 16264
+containerchecksum 831a5811e71bcaf07d1b5eae689f0543c548a6926a286fd9a7947d65e6c9dc4902a7391a6ab281c9d65f0d4837bf9c3e167ebf13666dd947252ccfbaec79455d
+doccontainersize 862492
+doccontainerchecksum 20757750334fba1d7744e1ffe3131051cf00f075045db4fce0d8596555aa1bc21e4b909a6d8aa3f9312f0b33aa86ef546a4f5f5db0fc72ddda34ec0f22bc11da
docfiles size=227
RELOC/doc/latex/l3backend/CHANGELOG.md
RELOC/doc/latex/l3backend/README.md details="Readme"
RELOC/doc/latex/l3backend/l3backend-code.pdf details="Package documentation"
RELOC/doc/latex/l3backend/l3backend-code.tex
-srccontainersize 33840
-srccontainerchecksum b0834fc80e8787f6b2560a8d1fbdab3ba29c1ffcf127e88c51af199145160dc313b0183c03be7f2263ebfde789eac2e09b5eaffca66a0925ded7dc6f7d47ddb6
+srccontainersize 33800
+srccontainerchecksum df79010b1d6529490e2759554b10f9e063032ebb400a6356232ee3807446011458356143e61f62049ae33f3d634b69d191cc96cadfbeaed2503c1cad03d01d84
srcfiles size=58
RELOC/source/latex/l3backend/l3backend-basics.dtx
RELOC/source/latex/l3backend/l3backend-box.dtx
@@ -179932,7 +179932,7 @@ runfiles size=51
catalogue-contact-bugs https://github.com/latex3/latex3/issues
catalogue-contact-home http://www.latex-project.org/code.html
catalogue-contact-repository https://github.com/latex3/latex3/
-catalogue-ctan /macros/latex/contrib/l3backend
+catalogue-ctan /macros/latex/required/l3backend
catalogue-license lppl1.3c
catalogue-topics latex3 expl3 macro-supp pre-release
@@ -180249,7 +180249,7 @@ catalogue-topics macro-supp layout latex3 pre-release
name l3kernel
category Package
-revision 70992
+revision 71140
shortdesc LaTeX3 programming conventions
relocated 1
longdesc The l3kernel bundle provides an implementation of the LaTeX3
@@ -180259,11 +180259,11 @@ longdesc LaTeX3 kernel and other future code are built: it is an API for
longdesc TeX programmers. The packages are set up so that the LaTeX3
longdesc conventions can be used with regular LaTeX2e packages.
depend l3backend
-containersize 179808
-containerchecksum 2bd400a6cba98a13383103b43d04c03dfd725b49e1e8cd52728dfec71e2576eda1613ab624823b6e99e620097974cbbc8820903b165622525f86212d527159f1
-doccontainersize 11960172
-doccontainerchecksum 49d39999da9e089545fae4dd4471f6135acddc66b3385994260f0a837ffa844ec92be05718a07cfcfc718d2d04f16cc83cc00534db678d9a2b41fd6778c3ec2e
-docfiles size=3499
+containersize 180332
+containerchecksum 8d4ae3b0ba186743be28de32a2b84b86ae75cedbcc5d5bc8f88fadf168fa0f0fe76855ea464ccb7f09d0af3055182539acf3114f51c72f3642e8b6a17f9a90cf
+doccontainersize 12057768
+doccontainerchecksum 0f6800854b2fbf94b15b189bee7de7475ee1e9427bb1922a3ffbe6aae82547580a96bd95e352456c342312125528bdf98ddf16f48594d4b98b8f7c61886aec94
+docfiles size=3511
RELOC/doc/latex/l3kernel/CHANGELOG.md
RELOC/doc/latex/l3kernel/README.md details="Readme"
RELOC/doc/latex/l3kernel/expl3.pdf details="The LaTeX3 Programming Language"
@@ -180310,9 +180310,9 @@ docfiles size=3499
RELOC/doc/latex/l3kernel/source3.pdf
RELOC/doc/latex/l3kernel/source3.tex
RELOC/doc/latex/l3kernel/source3body.tex
-srccontainersize 620604
-srccontainerchecksum 261971e44301442df3f830e1d015d08994c9a26591367f37167292f97537e3429257c582c0180c59d902dbe2c289facbcd95bc117ecbd2770cf36fb1102fed3c
-srcfiles size=957
+srccontainersize 622336
+srccontainerchecksum 3dba52c37681db0125342b2418a9d48be50077ca4ae8908718f69c55920b9406f2acb42b0700e53648763d49bdf780002a5f0d9a06573816765b3ec22165789f
+srcfiles size=960
RELOC/source/latex/l3kernel/expl3.dtx
RELOC/source/latex/l3kernel/l3.ins
RELOC/source/latex/l3kernel/l3basics.dtx
@@ -180375,7 +180375,7 @@ srcfiles size=957
RELOC/source/latex/l3kernel/l3tl.dtx
RELOC/source/latex/l3kernel/l3token.dtx
RELOC/source/latex/l3kernel/l3unicode.dtx
-runfiles size=368
+runfiles size=369
RELOC/tex/latex/l3kernel/expl3-code.tex
RELOC/tex/latex/l3kernel/expl3-generic.tex
RELOC/tex/latex/l3kernel/expl3.ltx
@@ -180403,7 +180403,7 @@ catalogue-also l3backend l3packages l3experimental
catalogue-contact-bugs https://github.com/latex3/latex3/issues
catalogue-contact-home http://www.latex-project.org/code.html
catalogue-contact-repository https://github.com/latex3/latex3
-catalogue-ctan /macros/latex/contrib/l3kernel
+catalogue-ctan /macros/latex/required/l3kernel
catalogue-license lppl1.3c
catalogue-topics format latex3 pre-release
@@ -209598,7 +209598,7 @@ catalogue-topics notes
name markdown
category Package
-revision 70856
+revision 71137
shortdesc Converting and rendering markdown documents inside TeX
relocated 1
longdesc The package provides facilities for the conversion of markdown
@@ -209606,11 +209606,11 @@ longdesc markup to plain TeX. These are provided both in form of a Lua
longdesc module and in form of plain TeX, LaTeX, and ConTeXt macro
longdesc packages that enable the direct inclusion of markdown documents
longdesc inside TeX documents.
-containersize 64764
-containerchecksum f89f23cfebc48c31ce5b675ca2e06f90326b5cd2e3cfc61c7fff2c53aaa5ceb68818ba7f652f5fe7121b42daa61e168e817119c954b071ac87bf281d3370451c
-doccontainersize 1272140
-doccontainerchecksum 18f33921cab4ea07b0feb5e9eea7612316c6c73c5f2f3a24b63017bdffaf6b328b61ad518e27e5cb4c77e7b7eb8092cb1db4c4f06b7b325d23af08fe83d4935e
-docfiles size=592
+containersize 65524
+containerchecksum 4782253132ac17f7f7c7e292043c56ff7857bb87f9a0ae7dc170236e9df62024e27576f745ecb98104ee174f9b169b087da2ace558722f68ec881ff4b4e7b728
+doccontainersize 1288664
+doccontainerchecksum 923c11dcc07396fdd4ab4f536e1aaffb4d8081dd6325f412c5a1add32fd88585cfb42c57a9fa5a282b8b0f079a9db8e4601a840e3a5dd784212a68e88a9d4fcd
+docfiles size=597
RELOC/doc/context/third/markdown/examples/context-mkiv.tex
RELOC/doc/context/third/markdown/examples/example.md
RELOC/doc/context/third/markdown/examples/scientists.csv
@@ -209630,13 +209630,13 @@ docfiles size=592
RELOC/doc/optex/markdown/examples/example.md
RELOC/doc/optex/markdown/examples/optex.tex
RELOC/doc/optex/markdown/examples/scientists.csv
-srccontainersize 128636
-srccontainerchecksum 264145549f6119718981649f9e556d66363e702d22bbb2b18a11a77961e280499a2826b5e870d89ab9befed10515d188ca10947453d14fa40cabe86f4b63b6fa
-srcfiles size=238
+srccontainersize 130124
+srccontainerchecksum 296535531eab2a5a01e6426c182381ce9545dd05725afeb723cc465546cf169e3f068cd528f84fafca64252fd5b7995d8abb623484a3a000fb6000b044233883
+srcfiles size=241
RELOC/source/generic/markdown/docstrip.cfg
RELOC/source/generic/markdown/markdown.dtx
RELOC/source/generic/markdown/markdown.ins
-runfiles size=117
+runfiles size=118
RELOC/scripts/markdown/markdown-cli.lua
RELOC/tex/context/third/markdown/t-markdown.tex
RELOC/tex/context/third/markdown/t-markdownthemewitiko_markdown_defaults.tex
@@ -209656,7 +209656,7 @@ catalogue-contact-repository https://github.com/Witiko/markdown
catalogue-ctan /macros/generic/markdown
catalogue-license lppl1.3c
catalogue-topics markup
-catalogue-version 3.4.3-0-ge2c6be1a
+catalogue-version 3.5.0-0-gfd01a252
name marvosym
category Package
@@ -236885,7 +236885,7 @@ catalogue-version 1.10
name nmbib
category Package
-revision 37984
+revision 71138
shortdesc Multiple versions of a bibliography, with different sort orders
relocated 1
longdesc This package is a rewrite of the multibibliography package
@@ -236893,23 +236893,23 @@ longdesc providing multiple bibliographies with different sorting. The
longdesc new version offers a number of citation commands, streamlines
longdesc the creation of bibliographies, ensures compatibility with the
longdesc natbib package, and provides other improvements.
-containersize 9092
-containerchecksum c915b266e2a7644a88de6476bd4cf81943f7da31472f1b8eb889e048df8acc4afc36e247b8fc63bfdeb8c0384d87fc59f43d87f3ff09822d076c62a0edd1c110
-doccontainersize 443656
-doccontainerchecksum 0014c7fdade3685ce03bf9fcc2725b430f6272025809e224b88361960cb47e5b533d88d60f0ce55e011dbb943c8fc025340fadc506eedf10189724ae79dd2bda
-docfiles size=117
- RELOC/doc/latex/nmbib/Makefile
+containersize 9076
+containerchecksum 4f8d6b7690f0cfb9b907f98d337ecce2d812764d4e484d2b592eff52970db4378e557d747a6965892a3f0d5c256b2de54be83d50438cbf2c7fad43959d15c5ce
+doccontainersize 457208
+doccontainerchecksum ceb4be2b194651e1f48b46502e090dfec31eca20bfe758355b45b532646e1ef9b620176b2b9c35bd00309175af6d500a49f6352095abeb6ba5f31f82e13abe37
+docfiles size=121
RELOC/doc/latex/nmbib/README details="Readme"
+ RELOC/doc/latex/nmbib/nmbib-sample.pdf details="Example of use"
+ RELOC/doc/latex/nmbib/nmbib-sample.tex
RELOC/doc/latex/nmbib/nmbib.bib
RELOC/doc/latex/nmbib/nmbib.pdf details="Package documentation"
RELOC/doc/latex/nmbib/nmbibtex.1
RELOC/doc/latex/nmbib/nmbibtex.pl
- RELOC/doc/latex/nmbib/nmsample.pdf details="Example of use"
- RELOC/doc/latex/nmbib/nmsample.tex
RELOC/doc/latex/nmbib/type.bib
-srccontainersize 11372
-srccontainerchecksum 52297a890da760e2c945522094f128612ceb521500c81ce54da2f481581000bf42302665585fa056b31ff0f096a3a170ce56013e0979ae2043a94b68e7d32a5a
-srcfiles size=12
+srccontainersize 11956
+srccontainerchecksum 7794444806fa60c2841ebc6da2617d91fc763dfeb3080c3091806418a7fc10ca4a91292308d7535107a332e957004db8e21c6cc30e58c46ccdc975c463a23330
+srcfiles size=13
+ RELOC/source/latex/nmbib/Makefile
RELOC/source/latex/nmbib/nmbib.dtx
RELOC/source/latex/nmbib/nmbib.ins
runfiles size=24
@@ -236921,7 +236921,7 @@ catalogue-also multibibliography
catalogue-ctan /macros/latex/contrib/nmbib
catalogue-license lppl1.3
catalogue-topics bibtex-supp
-catalogue-version 1.04
+catalogue-version 1.05
name nndraw
category Package
@@ -326611,7 +326611,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 71135
+revision 71141
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.
@@ -326619,10 +326619,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 114164
-containerchecksum a3584ac7a5acc39ef20157cb893fdbbf56df1de88a924628172a78748af4353403796075ac2dc3164510aabea1152935bda39c7a1b5d848fc9c8ae87bd213633
-doccontainersize 434884
-doccontainerchecksum b4740e584de80cb22ce21d50aeb71793bee24c6b9f46e5acc25c92db8f4f9d07ad105e18b88d73aef78a0f8a67f01348213f3cbdc320bfd7c3c430268c32cb93
+containersize 114160
+containerchecksum 8e8620d16579cace450f8cb4d851e6e66434e4e410d553f0bf41fd6faf812b2094241d01e0783d5abe53fa3b15004b150a21a2ef4f0c06c8ae2072f2e1377d06
+doccontainersize 434928
+doccontainerchecksum ed5d48fdca274eac080d6375527673165cdc32a1ae1ff3ea18a5effedf48e99f6372f1ad5b52f487a5a673cbbe1744b2438c3641292e9e40cc38acb05a596d7a
docfiles size=568
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index f6a21e2f66..6048059dab 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-4467dd246030f98182b4dc0b062a6d6a texlive.tlpdb
+bfa55ba0eb6377442178c1d4accca41c texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 7b828d155f..2898d4e7dc 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-8e2cb264d3cc8ebcf86b8653c69ac9ecc550b30e8cb364051d058fd4bedc50a8edc1a418d59f2eb774ba0d6ec14906be49372d177818d8ac4e7824abc4c81b9e texlive.tlpdb
+a474c68c08bee72e89078dc8786728eed112f469ea84e2af4e7b44b17a5a89b29cb56813a52692020dd71fb399adcb9a0d0340259922ea7e7687c443e986b8e1 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 59fe63e873..4e0b93bf27 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+QqiBBqTOGHfhlDjHAFAmYwMVoACgkQTOGHfhlD
-jHBAdgf9Fv2CwhCZsxtTTcHtjGvMipT3T9VGBJB/UCZkICq4qUHO1uisQ3JJDkfs
-UklwlAL9+/tERT6iqYoCffurAThsHaOHa/vlLbzzCv4fmFdtoepZcxXfyargFPDl
-lB0wCmS/fyIX4xif4A9e9D/2Ebrn1bCYzICoy1UDGEqOwAYh4Dcr4svAivgw1Tvk
-6MBD6ue6Idgn03iiVIVC6h2OyFIEk2/84tuq7KIoyRQxSjAzuWFIRRRgdaEJtAPw
-2qErta30vmXTUK5ccJ1Tv9+vJmxdYN9s/CB8G+RsPbvpwkHrx8ZTrWqb8CF+Tyu7
-xpw2WuOVSKIJCzkHkzghxyrcIkM23w==
-=mEdd
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmYxgycACgkQTOGHfhlD
+jHBrOgf9FqZJ3IO23LlFTM4HfKcJxJOXB/sFfQmhhKa+znIvzVBSKhubbuUw7CGQ
+22dhx55r9r5KvnIWG22J2+/llffHKgtCoKPRzIrmtQWVZ8ZNPEXa5BzCfC9Fi45+
+Qj5/0gol9VAvdpItkvs0s3ScWcG11k/oJ0gNF7q8IxJKq314r2A2LBGH+P4ltyot
+ZRxo8M6gOJEQIIrKVqt1C9fMktNiRVQBhU7o7rQEbADzmZ4HCAmyC2bqbC2aSIpG
+2IngENNkSbUGJNRrXt5xez4KhfWb3ttJrz1LPCZD8xL+/xH+2Qb4wY+buVQxiV+v
+4A5Zi82483wdbypqMVXdgNtAoyhvRQ==
+=eKPI
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index d243cdf9a6..1de5844fdc 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 ae1a61c84c..a274dd6c15 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-30-02-02
+2024-05-01-02-02