summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-06-30 03:00:54 +0000
committerNorbert Preining <norbert@preining.info>2022-06-30 03:00:54 +0000
commitfe3dca04dca5358c6fb9463cfadf9079600e911d (patch)
tree1d7fccaf74ce699c8eb133ec1e0d194358e05e3d
parent1803d67dcb084b1d6b825dd2f1a39df83c11db02 (diff)
CTAN sync 202206300300
-rw-r--r--FILES.byname501
-rw-r--r--FILES.byname.gzbin2441593 -> 2441547 bytes
-rw-r--r--FILES.last07days936
-rw-r--r--macros/generic/markdown/README.md10
-rw-r--r--macros/generic/markdown/VERSION2
-rw-r--r--macros/generic/markdown/docstrip.cfg7
-rw-r--r--macros/generic/markdown/examples/latex.tex2
-rw-r--r--macros/generic/markdown/markdown.dtx4276
-rw-r--r--macros/generic/markdown/markdown.html24
-rw-r--r--macros/generic/markdown/markdown.pdfbin795566 -> 830652 bytes
-rw-r--r--macros/latex/contrib/jpneduenumerate/README.md33
-rw-r--r--macros/latex/contrib/jpneduenumerate/jpneduenumerate-en.md114
-rw-r--r--macros/latex/contrib/jpneduenumerate/jpneduenumerate-ja.md114
-rw-r--r--macros/latex/contrib/jpneduenumerate/jpneduenumerate.sty261
-rw-r--r--support/TeX4ht/source/ChangeLog4
-rw-r--r--support/TeX4ht/source/tex4ht-jats.tex60
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl5
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb154
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc14
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2388552 -> 2391664 bytes
-rw-r--r--systems/win32/miktex/tm/packages/next/pr.ini8
-rw-r--r--systems/win32/miktex/tm/packages/pr.ini8
-rw-r--r--timestamp2
25 files changed, 3593 insertions, 2946 deletions
diff --git a/FILES.byname b/FILES.byname
index 5afbc180bc..3dc5fc0a4f 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -5255,7 +5255,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2022/06/28 | 147345 | FILES.last07days
+2022/06/29 | 151475 | 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
@@ -188819,7 +188819,7 @@
2021/09/21 | 514924 | install/macros/generic/expkv.tds.zip
2022/02/04 | 232668 | install/macros/generic/iftex.tds.zip
2012/09/20 | 321508 | install/macros/generic/langcode.tds.zip
-2022/06/01 | 1158886 | install/macros/generic/markdown.tds.zip
+2022/06/29 | 1197084 | install/macros/generic/markdown.tds.zip
2014/06/11 | 428488 | install/macros/generic/mathdots.tds.zip
2014/01/02 | 496633 | install/macros/generic/minifp.tds.zip
2012/09/20 | 369585 | install/macros/generic/plainpkg.tds.zip
@@ -189068,7 +189068,7 @@
2009/09/03 | 137206 | install/macros/latex/contrib/romannum.tds.zip
2016/08/22 | 216478 | install/macros/latex/contrib/rsc.tds.zip
2022/02/22 | 3141227 | install/macros/latex/contrib/rutitlepage.tds.zip
-2020/01/01 | 377272 | install/macros/latex/contrib/sanitize-umlaut.tds.zip
+2022/06/29 | 377272 | install/macros/latex/contrib/sanitize-umlaut.tds.zip
2016/04/14 | 531498 | install/macros/latex/contrib/savetrees.tds.zip
2016/12/02 | 147193 | install/macros/latex/contrib/scanpages.tds.zip
2014/08/31 | 524706 | install/macros/latex/contrib/sclang-prettifier.tds.zip
@@ -203154,22 +203154,22 @@
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
-2022/06/01 | 4485 | macros/generic/markdown/docstrip.cfg
-2022/06/01 | 1491 | macros/generic/markdown/examples/context-mkii.tex
-2022/06/01 | 1682 | macros/generic/markdown/examples/context-mkiv.tex
-2022/06/01 | 3129 | macros/generic/markdown/examples/example.md
-2022/06/01 | 1639 | macros/generic/markdown/examples/latex.tex
-2022/06/01 | 75 | macros/generic/markdown/examples/scientists.csv
-2022/06/01 | 22371 | macros/generic/markdown/libraries/markdown-tinyyaml.lua
-2022/06/01 | 4530 | macros/generic/markdown/markdown.css
-2022/06/01 | 623407 | macros/generic/markdown/markdown.dtx
-2022/06/01 | 686787 | macros/generic/markdown/markdown.html
-2022/06/01 | 1333 | macros/generic/markdown/markdown.ins
-2022/06/01 | 795566 | macros/generic/markdown/markdown.pdf
-2022/06/01 | 140951 | macros/generic/markdown/markdown.png
-2022/06/01 | 16788 | macros/generic/markdown/README.md
-2022/06/01 | 31 | macros/generic/markdown/VERSION
-2022/06/01 | 1098246 | macros/generic/markdown.zip
+2022/06/29 | 4393 | macros/generic/markdown/docstrip.cfg
+2022/06/29 | 1491 | macros/generic/markdown/examples/context-mkii.tex
+2022/06/29 | 1682 | macros/generic/markdown/examples/context-mkiv.tex
+2022/06/29 | 3129 | macros/generic/markdown/examples/example.md
+2022/06/29 | 1635 | macros/generic/markdown/examples/latex.tex
+2022/06/29 | 75 | macros/generic/markdown/examples/scientists.csv
+2022/06/29 | 22371 | macros/generic/markdown/libraries/markdown-tinyyaml.lua
+2022/06/29 | 4530 | macros/generic/markdown/markdown.css
+2022/06/29 | 630950 | macros/generic/markdown/markdown.dtx
+2022/06/29 | 686941 | macros/generic/markdown/markdown.html
+2022/06/29 | 1333 | macros/generic/markdown/markdown.ins
+2022/06/29 | 830652 | macros/generic/markdown/markdown.pdf
+2022/06/29 | 140951 | macros/generic/markdown/markdown.png
+2022/06/29 | 16592 | macros/generic/markdown/README.md
+2022/06/29 | 31 | macros/generic/markdown/VERSION
+2022/06/29 | 1135197 | 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
@@ -219752,6 +219752,11 @@
2019/11/08 | 12465 | macros/latex/contrib/jnuexam/jnuexam.tex
2018/07/15 | 175 | macros/latex/contrib/jnuexam/README
2020/11/06 | 837019 | macros/latex/contrib/jnuexam.zip
+2022/06/29 | 2919 | macros/latex/contrib/jpneduenumerate/jpneduenumerate-en.md
+2022/06/29 | 3244 | macros/latex/contrib/jpneduenumerate/jpneduenumerate-ja.md
+2022/06/29 | 10336 | macros/latex/contrib/jpneduenumerate/jpneduenumerate.sty
+2022/06/29 | 797 | macros/latex/contrib/jpneduenumerate/README.md
+2022/06/29 | 5548 | macros/latex/contrib/jpneduenumerate.zip
2022/06/29 | 8766 | macros/latex/contrib/jpnedumathsymbols/jpnedumathsymbols-en.md
2022/06/28 | 29830 | macros/latex/contrib/jpnedumathsymbols/jpnedumathsymbols_example.pdf
2022/06/29 | 1755 | macros/latex/contrib/jpnedumathsymbols/jpnedumathsymbols_example.tex
@@ -227716,7 +227721,7 @@
2020/01/01 | 419322 | macros/latex/contrib/sanitize-umlaut/sanitize-umlaut.pdf
2020/01/01 | 3921 | macros/latex/contrib/sanitize-umlaut/sanitize-umlaut.sty
2020/01/01 | 12411 | macros/latex/contrib/sanitize-umlaut/sanitize-umlaut.tex
-2020/01/01 | 376869 | macros/latex/contrib/sanitize-umlaut.zip
+2022/06/29 | 376869 | macros/latex/contrib/sanitize-umlaut.zip
2010/04/22 | 3553 | macros/latex/contrib/sansmath/miscdoc.sty
2010/04/22 | 185988 | macros/latex/contrib/sansmath/sansmath.pdf
2010/04/22 | 8168 | macros/latex/contrib/sansmath/sansmath.sty
@@ -280549,6 +280554,8 @@
2019/02/28 | 4036 | systems/texlive/tlnet/archive/assoccnt.r38497.tar.xz
2022/01/24 | 251112 | systems/texlive/tlnet/archive/association-matrix.doc.r61719.tar.xz
2022/01/24 | 3604 | systems/texlive/tlnet/archive/association-matrix.r61719.tar.xz
+2022/06/29 | 1808 | systems/texlive/tlnet/archive/asternote.doc.r63746.tar.xz
+2022/06/29 | 1244 | systems/texlive/tlnet/archive/asternote.r63746.tar.xz
2019/02/28 | 4220 | systems/texlive/tlnet/archive/astro.doc.r15878.tar.xz
2019/02/28 | 12824 | systems/texlive/tlnet/archive/astro.r15878.tar.xz
2019/02/28 | 214116 | systems/texlive/tlnet/archive/asyfig.doc.r17512.tar.xz
@@ -281124,10 +281131,10 @@
2022/01/12 | 1206428 | systems/texlive/tlnet/archive/bibarts.doc.r61569.tar.xz
2022/01/12 | 27280 | systems/texlive/tlnet/archive/bibarts.r61569.tar.xz
2022/01/12 | 47504 | systems/texlive/tlnet/archive/bibarts.source.r61569.tar.xz
-2022/06/24 | 265324 | systems/texlive/tlnet/archive/biber.doc.r63708.tar.xz
+2022/06/29 | 265488 | systems/texlive/tlnet/archive/biber.doc.r63752.tar.xz
2022/06/24 | 21033748 | systems/texlive/tlnet/archive/biber.i386-linux.r63707.tar.xz
-2022/06/24 | 732 | systems/texlive/tlnet/archive/biber.r63708.tar.xz
-2022/06/24 | 963112 | systems/texlive/tlnet/archive/biber.source.r63708.tar.xz
+2022/06/29 | 732 | systems/texlive/tlnet/archive/biber.r63752.tar.xz
+2022/06/29 | 963116 | systems/texlive/tlnet/archive/biber.source.r63752.tar.xz
2022/06/24 | 86782284 | systems/texlive/tlnet/archive/biber.universal-darwin.r63707.tar.xz
2022/06/26 | 22829192 | systems/texlive/tlnet/archive/biber.win32.r63724.tar.xz
2022/06/24 | 35427856 | systems/texlive/tlnet/archive/biber.x86_64-darwinlegacy.r63707.tar.xz
@@ -282287,13 +282294,13 @@
2020/07/01 | 628 | systems/texlive/tlnet/archive/collection-langgerman.r55706.tar.xz
2022/02/02 | 436 | systems/texlive/tlnet/archive/collection-langgreek.r61820.tar.xz
2020/05/14 | 432 | systems/texlive/tlnet/archive/collection-langitalian.r55129.tar.xz
-2022/04/06 | 644 | systems/texlive/tlnet/archive/collection-langjapanese.r62958.tar.xz
+2022/06/29 | 644 | systems/texlive/tlnet/archive/collection-langjapanese.r63746.tar.xz
2020/03/04 | 396 | systems/texlive/tlnet/archive/collection-langkorean.r54074.tar.xz
2021/06/13 | 808 | systems/texlive/tlnet/archive/collection-langother.r59564.tar.xz
2020/03/04 | 408 | systems/texlive/tlnet/archive/collection-langpolish.r54074.tar.xz
2020/03/04 | 392 | systems/texlive/tlnet/archive/collection-langportuguese.r54074.tar.xz
2020/03/07 | 380 | systems/texlive/tlnet/archive/collection-langspanish.r54141.tar.xz
-2022/06/28 | 6676 | systems/texlive/tlnet/archive/collection-latexextra.r63739.tar.xz
+2022/06/29 | 6680 | systems/texlive/tlnet/archive/collection-latexextra.r63747.tar.xz
2022/06/10 | 700 | systems/texlive/tlnet/archive/collection-latex.r63515.tar.xz
2022/06/12 | 736 | systems/texlive/tlnet/archive/collection-latexrecommended.r63547.tar.xz
2022/06/27 | 908 | systems/texlive/tlnet/archive/collection-luatex.r63732.tar.xz
@@ -285384,6 +285391,8 @@
2020/03/04 | 362248 | systems/texlive/tlnet/archive/hhtensor.doc.r54080.tar.xz
2020/03/04 | 1204 | systems/texlive/tlnet/archive/hhtensor.r54080.tar.xz
2020/03/04 | 3160 | systems/texlive/tlnet/archive/hhtensor.source.r54080.tar.xz
+2022/06/29 | 2172 | systems/texlive/tlnet/archive/hideanswer.doc.r63746.tar.xz
+2022/06/29 | 1228 | systems/texlive/tlnet/archive/hideanswer.r63746.tar.xz
2021/03/16 | 223808 | systems/texlive/tlnet/archive/highlightlatex.doc.r58392.tar.xz
2021/03/16 | 3548 | systems/texlive/tlnet/archive/highlightlatex.r58392.tar.xz
2021/02/16 | 44964 | systems/texlive/tlnet/archive/hindawi-latex-template.doc.r57757.tar.xz
@@ -285733,6 +285742,8 @@
2019/02/28 | 12344 | systems/texlive/tlnet/archive/inlinedef.source.r15878.tar.xz
2022/01/24 | 123072 | systems/texlive/tlnet/archive/inline-images.doc.r61719.tar.xz
2022/01/24 | 760 | systems/texlive/tlnet/archive/inline-images.r61719.tar.xz
+2022/06/29 | 1692 | systems/texlive/tlnet/archive/inlinelabel.doc.r63747.tar.xz
+2022/06/29 | 1112 | systems/texlive/tlnet/archive/inlinelabel.r63747.tar.xz
2021/02/08 | 120788 | systems/texlive/tlnet/archive/innerscript.doc.r57672.tar.xz
2021/02/08 | 3168 | systems/texlive/tlnet/archive/innerscript.r57672.tar.xz
2021/02/08 | 7808 | systems/texlive/tlnet/archive/innerscript.source.r57672.tar.xz
@@ -288028,8 +288039,8 @@
2020/03/04 | 8972 | systems/texlive/tlnet/archive/mslapa.r54080.tar.xz
2021/01/20 | 3064 | systems/texlive/tlnet/archive/ms.r57473.tar.xz
2021/01/20 | 10948 | systems/texlive/tlnet/archive/ms.source.r57473.tar.xz
-2022/04/20 | 450336 | systems/texlive/tlnet/archive/msu-thesis.doc.r63080.tar.xz
-2022/04/20 | 10856 | systems/texlive/tlnet/archive/msu-thesis.r63080.tar.xz
+2022/06/29 | 414072 | systems/texlive/tlnet/archive/msu-thesis.doc.r63748.tar.xz
+2022/06/29 | 11008 | systems/texlive/tlnet/archive/msu-thesis.r63748.tar.xz
2019/02/28 | 160144 | systems/texlive/tlnet/archive/mtgreek.doc.r17967.tar.xz
2019/02/28 | 1744 | systems/texlive/tlnet/archive/mtgreek.r17967.tar.xz
2019/02/28 | 2800 | systems/texlive/tlnet/archive/mtgreek.source.r17967.tar.xz
@@ -288275,9 +288286,9 @@
2019/02/28 | 342164 | systems/texlive/tlnet/archive/newlfm.doc.r15878.tar.xz
2019/02/28 | 20156 | systems/texlive/tlnet/archive/newlfm.r15878.tar.xz
2019/02/28 | 48828 | systems/texlive/tlnet/archive/newlfm.source.r15878.tar.xz
-2021/03/08 | 61332 | systems/texlive/tlnet/archive/newpax.doc.r58212.tar.xz
-2021/03/08 | 8444 | systems/texlive/tlnet/archive/newpax.r58212.tar.xz
-2021/03/08 | 8676 | systems/texlive/tlnet/archive/newpax.source.r58212.tar.xz
+2022/06/29 | 63652 | systems/texlive/tlnet/archive/newpax.doc.r63749.tar.xz
+2022/06/29 | 8748 | systems/texlive/tlnet/archive/newpax.r63749.tar.xz
+2022/06/29 | 8952 | systems/texlive/tlnet/archive/newpax.source.r63749.tar.xz
2022/01/31 | 256092 | systems/texlive/tlnet/archive/newpx.doc.r61806.tar.xz
2022/01/31 | 2860236 | systems/texlive/tlnet/archive/newpx.r61806.tar.xz
2019/02/28 | 137580 | systems/texlive/tlnet/archive/newsletr.doc.r15878.tar.xz
@@ -289479,8 +289490,8 @@
2022/06/02 | 1203076 | systems/texlive/tlnet/archive/profcollege.r63467.tar.xz
2022/04/27 | 134096 | systems/texlive/tlnet/archive/proflabo.doc.r63147.tar.xz
2022/04/27 | 2748 | systems/texlive/tlnet/archive/proflabo.r63147.tar.xz
-2022/05/15 | 590376 | systems/texlive/tlnet/archive/proflycee.doc.r63300.tar.xz
-2022/05/15 | 10448 | systems/texlive/tlnet/archive/proflycee.r63300.tar.xz
+2022/06/29 | 719672 | systems/texlive/tlnet/archive/proflycee.doc.r63750.tar.xz
+2022/06/29 | 11040 | systems/texlive/tlnet/archive/proflycee.r63750.tar.xz
2019/02/28 | 49880 | systems/texlive/tlnet/archive/program.doc.r44214.tar.xz
2019/02/28 | 11780 | systems/texlive/tlnet/archive/program.r44214.tar.xz
2019/02/28 | 86236 | systems/texlive/tlnet/archive/progressbar.doc.r33822.tar.xz
@@ -290211,9 +290222,9 @@
2019/02/28 | 3040 | systems/texlive/tlnet/archive/resumemac.r15878.tar.xz
2019/02/28 | 148880 | systems/texlive/tlnet/archive/returntogrid.doc.r48485.tar.xz
2019/02/28 | 3948 | systems/texlive/tlnet/archive/returntogrid.r48485.tar.xz
-2022/06/26 | 229332 | systems/texlive/tlnet/archive/reverxii.doc.r63725.tar.xz
-2022/06/26 | 1224 | systems/texlive/tlnet/archive/reverxii.r63725.tar.xz
-2022/06/26 | 7068 | systems/texlive/tlnet/archive/reverxii.source.r63725.tar.xz
+2022/06/29 | 229340 | systems/texlive/tlnet/archive/reverxii.doc.r63753.tar.xz
+2022/06/29 | 1216 | systems/texlive/tlnet/archive/reverxii.r63753.tar.xz
+2022/06/29 | 7072 | systems/texlive/tlnet/archive/reverxii.source.r63753.tar.xz
2019/02/28 | 252604 | systems/texlive/tlnet/archive/revquantum.doc.r43505.tar.xz
2019/02/28 | 3948 | systems/texlive/tlnet/archive/revquantum.r43505.tar.xz
2019/02/28 | 8792 | systems/texlive/tlnet/archive/revquantum.source.r43505.tar.xz
@@ -291581,7 +291592,7 @@
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz
-2022/06/28 | 417348 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63734.tar.xz
+2022/06/29 | 417380 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63742.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
@@ -291605,7 +291616,7 @@
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz
2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz
-2022/06/28 | 113256 | systems/texlive/tlnet/archive/texlive-scripts.r63734.tar.xz
+2022/06/29 | 113248 | systems/texlive/tlnet/archive/texlive-scripts.r63742.tar.xz
2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz
2022/04/19 | 36296 | systems/texlive/tlnet/archive/texlive-scripts.win32.r63068.tar.xz
2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz
@@ -292999,9 +293010,9 @@
2022/04/24 | 693304 | systems/texlive/tlnet/archive/xduthesis.doc.r63116.tar.xz
2022/04/24 | 113392 | systems/texlive/tlnet/archive/xduthesis.r63116.tar.xz
2022/04/24 | 15976 | systems/texlive/tlnet/archive/xduthesis.source.r63116.tar.xz
-2022/06/22 | 649960 | systems/texlive/tlnet/archive/xduts.doc.r63681.tar.xz
-2022/06/22 | 519848 | systems/texlive/tlnet/archive/xduts.r63681.tar.xz
-2022/06/22 | 35348 | systems/texlive/tlnet/archive/xduts.source.r63681.tar.xz
+2022/06/29 | 686392 | systems/texlive/tlnet/archive/xduts.doc.r63751.tar.xz
+2022/06/29 | 520844 | systems/texlive/tlnet/archive/xduts.r63751.tar.xz
+2022/06/29 | 37860 | systems/texlive/tlnet/archive/xduts.source.r63751.tar.xz
2022/03/01 | 527308 | systems/texlive/tlnet/archive/xdvi.aarch64-linux.r62280.tar.xz
2022/02/27 | 566196 | systems/texlive/tlnet/archive/xdvi.amd64-freebsd.r62206.tar.xz
2022/02/27 | 488448 | systems/texlive/tlnet/archive/xdvi.amd64-netbsd.r62220.tar.xz
@@ -293418,16 +293429,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2022/06/23 | 123973 | systems/texlive/tlnet/install-tl
-2022/06/28 | 5805917 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2022/06/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2022/06/28 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/06/29 | 5805791 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/06/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/06/29 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat
-2022/06/28 | 20463232 | systems/texlive/tlnet/install-tl-windows.exe
-2022/06/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2022/06/28 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/06/28 | 25489115 | systems/texlive/tlnet/install-tl.zip
-2022/06/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/06/28 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/06/29 | 20462778 | systems/texlive/tlnet/install-tl-windows.exe
+2022/06/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/06/29 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/06/29 | 25489112 | systems/texlive/tlnet/install-tl.zip
+2022/06/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/06/29 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2022/04/03 | 1229 | systems/texlive/tlnet/README.md
2022/04/03 | 0 | systems/texlive/tlnet/TEXLIVE_2022
2022/02/28 | 7791 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -293437,7 +293448,7 @@
2022/02/28 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2022/05/27 | 49794 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2022/06/27 | 7208 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2022/06/28 | 7135 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/04/27 | 215352 | 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
@@ -293479,12 +293490,12 @@
2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2022/06/28 | 17528276 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2022/06/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/06/29 | 17532378 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/06/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2022/06/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2022/06/28 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/06/28 | 2388032 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/06/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/06/29 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/06/29 | 2388552 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2021/12/21 | 58848 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2022/04/18 | 42116 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -298725,7 +298736,7 @@
2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma
2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma
2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma
-2022/06/28 | 657720 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/06/29 | 657720 | systems/win32/miktex/tm/packages/files.csv.lzma
2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma
2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma
2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma
@@ -300361,9 +300372,9 @@
2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma
2022/03/12 | 39680 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma
2022/03/29 | 43240 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/06/28 | 283836 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
-2022/06/28 | 1466925 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/06/28 | 1353157 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/06/29 | 283816 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/06/29 | 1467704 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
+2022/06/29 | 1353561 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
2022/03/12 | 13516 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma
2022/03/29 | 14391 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma
2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma
@@ -300599,191 +300610,191 @@
2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma
2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma
2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma
-2022/06/28 | 657840 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/06/28 | 51556 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/06/28 | 57329 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/06/28 | 1021848 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
-2022/06/28 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/06/28 | 28797 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/06/28 | 31521 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
-2022/06/28 | 30146 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
-2022/06/28 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/06/28 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2022/06/28 | 65055 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
-2022/06/28 | 86758 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
-2022/06/28 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
-2022/06/28 | 68871 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
-2022/06/28 | 77068 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/06/28 | 27248 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
-2022/06/28 | 31343 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/06/28 | 332413 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2022/06/28 | 394370 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/06/28 | 32955 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
-2022/06/28 | 37081 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
-2022/06/28 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2022/06/28 | 57271 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/06/28 | 244962 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
-2022/06/28 | 270300 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/06/28 | 179878 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
-2022/06/28 | 196117 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2022/06/28 | 92918 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
-2022/06/28 | 103093 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2022/06/28 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
-2022/06/28 | 24121 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/06/28 | 481499 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/06/28 | 46066 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/06/28 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/06/28 | 285713 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/06/28 | 326661 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/06/28 | 41305 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/06/28 | 45825 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
-2022/06/28 | 120616 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
-2022/06/28 | 135377 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/06/28 | 1302487 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
-2022/06/28 | 1454763 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/06/28 | 99816 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/06/28 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/06/28 | 43646 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2022/06/28 | 48827 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/06/28 | 25107 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/06/28 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
-2022/06/28 | 56993 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2022/06/28 | 63310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
-2022/06/28 | 135949 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/06/28 | 155497 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
-2022/06/28 | 73478 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
-2022/06/28 | 78974 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
-2022/06/28 | 72014 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
-2022/06/28 | 81462 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
-2022/06/28 | 259255 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
-2022/06/28 | 296038 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2022/06/28 | 22148 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
-2022/06/28 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2022/06/28 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2022/06/28 | 112590 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
-2022/06/28 | 64542 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/06/28 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/06/28 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
-2022/06/28 | 115657 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/06/28 | 38426 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2022/06/28 | 43825 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/06/28 | 484370 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2022/06/28 | 565930 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2022/06/28 | 203838 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
-2022/06/28 | 247334 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/06/28 | 152032 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
-2022/06/28 | 168821 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
-2022/06/28 | 95432 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/06/28 | 109479 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/06/28 | 16504 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
-2022/06/28 | 18367 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/06/28 | 28422 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/06/28 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/06/28 | 631280 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/06/28 | 681942 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
-2022/06/28 | 532453 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2022/06/28 | 598229 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
-2022/06/28 | 477847 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
-2022/06/28 | 528017 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
-2022/06/28 | 93959 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
-2022/06/28 | 103337 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/06/28 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2022/06/28 | 1982085 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
-2022/06/28 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/06/28 | 74067 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/06/28 | 27590 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
-2022/06/28 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
-2022/06/28 | 7754 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/06/28 | 8784 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/06/28 | 190505 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
-2022/06/28 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/06/28 | 251130 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/06/28 | 286411 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
-2022/06/28 | 99255 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
-2022/06/28 | 104556 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/06/28 | 126535 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
-2022/06/28 | 139103 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
-2022/06/28 | 288200 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/06/28 | 325270 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
-2022/06/28 | 199830 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
-2022/06/28 | 181515 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
-2022/06/28 | 49770 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
-2022/06/28 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/06/28 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/06/28 | 35167 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
-2022/06/28 | 38559 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
-2022/06/28 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/06/28 | 43360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/06/28 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/06/28 | 45742 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/06/28 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
-2022/06/28 | 197036 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2022/06/28 | 213278 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/06/28 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
-2022/06/28 | 41183 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
-2022/06/28 | 755741 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
-2022/06/28 | 824371 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/06/28 | 200397 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/06/28 | 202835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/06/28 | 210275 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
-2022/06/28 | 245096 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/06/28 | 79024 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2022/06/28 | 88152 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
-2022/06/28 | 1181129 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
-2022/06/28 | 1322742 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
-2022/06/28 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2022/06/28 | 23945 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/06/28 | 31589 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/06/28 | 37375 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/06/28 | 64707 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
-2022/06/28 | 72885 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/06/28 | 50799 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
-2022/06/28 | 58664 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/06/28 | 693066 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2022/06/28 | 758955 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/06/28 | 1357071 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/06/28 | 1501239 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
-2022/06/28 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
-2022/06/28 | 52480 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
-2022/06/28 | 57619 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/06/28 | 63739 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
-2022/06/28 | 25552 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/06/28 | 27637 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/06/28 | 16560 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/06/28 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
-2022/06/28 | 64490 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
-2022/06/28 | 71004 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
-2022/06/28 | 156963 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2022/06/28 | 173009 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
-2022/06/28 | 58666 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/06/28 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/06/28 | 100485 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
-2022/06/28 | 107705 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
-2022/06/28 | 2694877 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2022/06/28 | 2820687 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/06/28 | 55284 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
-2022/06/28 | 62382 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
-2022/06/28 | 37117 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/06/28 | 41204 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/06/28 | 28685 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/06/28 | 34052 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2022/06/28 | 67705 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2022/06/28 | 73530 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/06/28 | 316242 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2022/06/28 | 351696 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/06/28 | 55756 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2022/06/28 | 57525 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/06/28 | 591570 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
-2022/06/28 | 629430 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
-2022/06/28 | 39727 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2022/06/28 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/06/28 | 283842 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/06/28 | 1467784 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/06/28 | 1352370 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/06/28 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
-2022/06/28 | 14413 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/06/29 | 657840 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/06/29 | 51559 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/06/29 | 57331 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/06/29 | 1021848 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/06/29 | 1156465 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/06/29 | 28798 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/06/29 | 31520 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/06/29 | 30146 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/06/29 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/06/29 | 56619 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/06/29 | 65055 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/06/29 | 86759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/06/29 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/06/29 | 68872 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/06/29 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/06/29 | 27249 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/06/29 | 31343 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/06/29 | 332414 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/06/29 | 394371 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/06/29 | 32956 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/06/29 | 37081 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/06/29 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/06/29 | 57272 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/06/29 | 244961 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/06/29 | 270299 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/06/29 | 179877 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
+2022/06/29 | 196117 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/06/29 | 92917 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/06/29 | 103091 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/06/29 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/06/29 | 24121 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/06/29 | 481499 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/06/29 | 46067 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/06/29 | 52094 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/06/29 | 285714 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/06/29 | 326660 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/06/29 | 41304 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/06/29 | 45824 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/06/29 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/06/29 | 135378 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/06/29 | 1302489 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/06/29 | 1454762 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/06/29 | 99818 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/06/29 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/06/29 | 43646 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/06/29 | 48827 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/06/29 | 25108 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/06/29 | 28569 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/06/29 | 56993 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/06/29 | 63310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/06/29 | 135948 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/06/29 | 155497 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/06/29 | 73478 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/06/29 | 78975 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/06/29 | 72015 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/06/29 | 81461 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/06/29 | 259258 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/06/29 | 296039 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/06/29 | 22147 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/06/29 | 25060 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/06/29 | 97201 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/06/29 | 112589 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/06/29 | 64542 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/06/29 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/06/29 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/06/29 | 115657 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/06/29 | 38427 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/06/29 | 43824 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/06/29 | 484372 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/06/29 | 565930 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/06/29 | 203838 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
+2022/06/29 | 247333 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/06/29 | 152030 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/06/29 | 168821 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/06/29 | 95433 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/06/29 | 109480 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/06/29 | 16503 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/06/29 | 18369 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/06/29 | 28423 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/06/29 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/06/29 | 631279 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/06/29 | 681940 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/06/29 | 532452 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/06/29 | 598230 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/06/29 | 477849 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/06/29 | 528018 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/06/29 | 93959 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
+2022/06/29 | 103339 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/06/29 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/06/29 | 1982084 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/06/29 | 68009 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/06/29 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/06/29 | 27591 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/06/29 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/06/29 | 7752 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/06/29 | 8783 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
+2022/06/29 | 190505 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/06/29 | 208807 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
+2022/06/29 | 251129 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/06/29 | 286413 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/06/29 | 99255 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/06/29 | 104554 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/06/29 | 126533 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/06/29 | 139103 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/06/29 | 288200 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/06/29 | 325270 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/06/29 | 199832 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/06/29 | 181518 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/06/29 | 49770 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/06/29 | 55567 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/06/29 | 31413 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/06/29 | 35168 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/06/29 | 38561 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/06/29 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/06/29 | 43361 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/06/29 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/06/29 | 45743 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/06/29 | 52327 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/06/29 | 197034 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/06/29 | 213277 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/06/29 | 36048 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/06/29 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/06/29 | 755743 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/06/29 | 824370 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/06/29 | 200397 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/06/29 | 202837 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/06/29 | 210277 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/06/29 | 245097 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/06/29 | 79026 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/06/29 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/06/29 | 1181128 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/06/29 | 1322743 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/06/29 | 20185 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/06/29 | 23945 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/06/29 | 31588 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/06/29 | 37375 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/06/29 | 64709 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/06/29 | 72886 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/06/29 | 50799 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/06/29 | 58662 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/06/29 | 693067 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/06/29 | 758953 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/06/29 | 1357072 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/06/29 | 1501238 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/06/29 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/06/29 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/06/29 | 57617 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/06/29 | 63738 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/06/29 | 25552 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/06/29 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/06/29 | 16561 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/06/29 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/06/29 | 64489 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/06/29 | 71007 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/06/29 | 156964 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/06/29 | 173008 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/06/29 | 58666 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/06/29 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/06/29 | 100487 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
+2022/06/29 | 107706 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/06/29 | 2694878 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/06/29 | 2820686 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/06/29 | 55285 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/06/29 | 62381 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/06/29 | 37117 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/06/29 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/06/29 | 28689 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/06/29 | 34053 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/06/29 | 67704 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/06/29 | 73530 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/06/29 | 316243 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/06/29 | 351697 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/06/29 | 55757 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/06/29 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/06/29 | 591571 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/06/29 | 629430 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/06/29 | 39727 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/06/29 | 43225 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/06/29 | 283886 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/06/29 | 1468307 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/06/29 | 1352129 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/06/29 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/06/29 | 14412 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma
-2022/06/28 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/06/29 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma
2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma
2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma
@@ -301265,7 +301276,7 @@
2022/02/22 | 6917 | systems/win32/miktex/tm/packages/preview.tar.lzma
2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma
2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma
-2022/06/28 | 980 | systems/win32/miktex/tm/packages/pr.ini
+2022/06/29 | 980 | systems/win32/miktex/tm/packages/pr.ini
2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma
2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma
2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma
@@ -303163,7 +303174,7 @@
2004/06/04 | 404 | tds/tds.sed
2004/06/23 | 65418 | tds/tds.tex
2019/05/29 | 304264 | tds.zip
-2022/06/29 | 186 | timestamp
+2022/06/30 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2022/02/28 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index ccce9db07c..d12ee652b1 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index 0128a1c3e6..2f85be6ad3 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,284 +1,369 @@
+2022/06/29 | 99818 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
+2022/06/29 | 99255 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
+2022/06/29 | 980 | systems/win32/miktex/tm/packages/pr.ini
+2022/06/29 | 97201 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
+2022/06/29 | 96633 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
+2022/06/29 | 963116 | systems/texlive/tlnet/archive/biber.source.r63752.tar.xz
+2022/06/29 | 95433 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
+2022/06/29 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
+2022/06/29 | 93959 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
2022/06/29 | 9312 | macros/latex/contrib/jpnedumathsymbols/jpnedumathsymbols-ja.md
+2022/06/29 | 92917 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
+2022/06/29 | 8952 | systems/texlive/tlnet/archive/newpax.source.r63749.tar.xz
+2022/06/29 | 88151 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
+2022/06/29 | 8783 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
2022/06/29 | 8766 | macros/latex/contrib/jpnedumathsymbols/jpnedumathsymbols-en.md
+2022/06/29 | 8748 | systems/texlive/tlnet/archive/newpax.r63749.tar.xz
+2022/06/29 | 86759 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
+2022/06/29 | 830652 | macros/generic/markdown/markdown.pdf
+2022/06/29 | 824370 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
+2022/06/29 | 81461 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
+2022/06/29 | 797 | macros/latex/contrib/jpneduenumerate/README.md
+2022/06/29 | 79026 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
+2022/06/29 | 78975 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
+2022/06/29 | 7752 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
+2022/06/29 | 77067 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
+2022/06/29 | 75 | macros/generic/markdown/examples/scientists.csv
+2022/06/29 | 758953 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
+2022/06/29 | 755743 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
+2022/06/29 | 74069 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
+2022/06/29 | 73530 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
+2022/06/29 | 73478 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
+2022/06/29 | 732 | systems/texlive/tlnet/archive/biber.r63752.tar.xz
+2022/06/29 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
+2022/06/29 | 72886 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
+2022/06/29 | 72015 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/06/29 | 719672 | systems/texlive/tlnet/archive/proflycee.doc.r63750.tar.xz
+2022/06/29 | 71007 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
+2022/06/29 | 7072 | systems/texlive/tlnet/archive/reverxii.source.r63753.tar.xz
+2022/06/29 | 693067 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
+2022/06/29 | 68872 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
+2022/06/29 | 686941 | macros/generic/markdown/markdown.html
+2022/06/29 | 686392 | systems/texlive/tlnet/archive/xduts.doc.r63751.tar.xz
+2022/06/29 | 681940 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
+2022/06/29 | 68009 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
+2022/06/29 | 67704 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
+2022/06/29 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
+2022/06/29 | 6680 | systems/texlive/tlnet/archive/collection-latexextra.r63747.tar.xz
+2022/06/29 | 657840 | systems/win32/miktex/tm/packages/next/files.csv.lzma
+2022/06/29 | 657720 | systems/win32/miktex/tm/packages/files.csv.lzma
+2022/06/29 | 65055 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
+2022/06/29 | 64709 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
+2022/06/29 | 64542 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
+2022/06/29 | 644 | systems/texlive/tlnet/archive/collection-langjapanese.r63746.tar.xz
+2022/06/29 | 64489 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
+2022/06/29 | 63738 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
+2022/06/29 | 63652 | systems/texlive/tlnet/archive/newpax.doc.r63749.tar.xz
+2022/06/29 | 63310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
+2022/06/29 | 631279 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
+2022/06/29 | 630950 | macros/generic/markdown/markdown.dtx
+2022/06/29 | 629430 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
+2022/06/29 | 62381 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
+2022/06/29 | 598230 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
+2022/06/29 | 591571 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
+2022/06/29 | 58666 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
+2022/06/29 | 58662 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
+2022/06/29 | 5805791 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2022/06/29 | 57617 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
+2022/06/29 | 57526 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
+2022/06/29 | 57331 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
+2022/06/29 | 57272 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
+2022/06/29 | 56993 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
+2022/06/29 | 56619 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
+2022/06/29 | 565930 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
+2022/06/29 | 55757 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
+2022/06/29 | 55567 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
+2022/06/29 | 5548 | macros/latex/contrib/jpneduenumerate.zip
+2022/06/29 | 55285 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
+2022/06/29 | 532452 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
+2022/06/29 | 528018 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
+2022/06/29 | 52479 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
+2022/06/29 | 52327 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
+2022/06/29 | 52094 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
+2022/06/29 | 520844 | systems/texlive/tlnet/archive/xduts.r63751.tar.xz
+2022/06/29 | 51559 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
+2022/06/29 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
+2022/06/29 | 50799 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
+2022/06/29 | 49770 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
+2022/06/29 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2022/06/29 | 48827 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
+2022/06/29 | 484372 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
+2022/06/29 | 481499 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
+2022/06/29 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
+2022/06/29 | 477849 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
+2022/06/29 | 46067 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
+2022/06/29 | 45824 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
+2022/06/29 | 45743 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
+2022/06/29 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2022/06/29 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2022/06/29 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2022/06/29 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2022/06/29 | 4530 | macros/generic/markdown/markdown.css
+2022/06/29 | 4393 | macros/generic/markdown/docstrip.cfg
+2022/06/29 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
+2022/06/29 | 43824 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
+2022/06/29 | 43646 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
+2022/06/29 | 43361 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
+2022/06/29 | 43225 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
+2022/06/29 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
+2022/06/29 | 417380 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63742.tar.xz
+2022/06/29 | 414072 | systems/texlive/tlnet/archive/msu-thesis.doc.r63748.tar.xz
+2022/06/29 | 41304 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
+2022/06/29 | 41202 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
+2022/06/29 | 41182 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
+2022/06/29 | 39727 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
+2022/06/29 | 394371 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
+2022/06/29 | 38561 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
+2022/06/29 | 38427 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
+2022/06/29 | 37860 | systems/texlive/tlnet/archive/xduts.source.r63751.tar.xz
+2022/06/29 | 377272 | install/macros/latex/contrib/sanitize-umlaut.tds.zip
+2022/06/29 | 376869 | macros/latex/contrib/sanitize-umlaut.zip
+2022/06/29 | 37375 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
+2022/06/29 | 37117 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
+2022/06/29 | 37081 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
+2022/06/29 | 36048 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
+2022/06/29 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
+2022/06/29 | 351697 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
+2022/06/29 | 35168 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
+2022/06/29 | 34053 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
+2022/06/29 | 332414 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
+2022/06/29 | 32956 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
+2022/06/29 | 326660 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
+2022/06/29 | 325270 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
+2022/06/29 | 3244 | macros/latex/contrib/jpneduenumerate/jpneduenumerate-ja.md
+2022/06/29 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
+2022/06/29 | 31 | macros/generic/markdown/VERSION
+2022/06/29 | 316243 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
+2022/06/29 | 31588 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
+2022/06/29 | 31520 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
+2022/06/29 | 31413 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
+2022/06/29 | 31343 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
+2022/06/29 | 3129 | macros/generic/markdown/examples/example.md
+2022/06/29 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
+2022/06/29 | 30146 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
+2022/06/29 | 296039 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
+2022/06/29 | 2919 | macros/latex/contrib/jpneduenumerate/jpneduenumerate-en.md
+2022/06/29 | 288200 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
+2022/06/29 | 28798 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
+2022/06/29 | 28689 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
+2022/06/29 | 286413 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
+2022/06/29 | 285714 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
+2022/06/29 | 28569 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
+2022/06/29 | 28423 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
+2022/06/29 | 283886 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
+2022/06/29 | 283816 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
+2022/06/29 | 2820686 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
+2022/06/29 | 27636 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
+2022/06/29 | 27591 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
+2022/06/29 | 27249 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
+2022/06/29 | 270299 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
+2022/06/29 | 2694878 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
+2022/06/29 | 265488 | systems/texlive/tlnet/archive/biber.doc.r63752.tar.xz
+2022/06/29 | 259258 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
+2022/06/29 | 25552 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
+2022/06/29 | 25489112 | systems/texlive/tlnet/install-tl.zip
+2022/06/29 | 251129 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
+2022/06/29 | 25108 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
+2022/06/29 | 25060 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
+2022/06/29 | 247333 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
+2022/06/29 | 245097 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
+2022/06/29 | 244961 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
+2022/06/29 | 24121 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
+2022/06/29 | 23945 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
+2022/06/29 | 2388552 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2022/06/29 | 229340 | systems/texlive/tlnet/archive/reverxii.doc.r63753.tar.xz
+2022/06/29 | 22371 | macros/generic/markdown/libraries/markdown-tinyyaml.lua
+2022/06/29 | 22147 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
+2022/06/29 | 2172 | systems/texlive/tlnet/archive/hideanswer.doc.r63746.tar.xz
+2022/06/29 | 213277 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
+2022/06/29 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
+2022/06/29 | 210277 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
+2022/06/29 | 208807 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
2022/06/29 | 20548 | macros/latex/contrib/jpnedumathsymbols/jpnedumathsymbols.sty
+2022/06/29 | 20462778 | systems/texlive/tlnet/install-tl-windows.exe
+2022/06/29 | 203838 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
+2022/06/29 | 202837 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
+2022/06/29 | 20185 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
+2022/06/29 | 200397 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
+2022/06/29 | 199832 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
+2022/06/29 | 1982084 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
+2022/06/29 | 197034 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
+2022/06/29 | 196117 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
+2022/06/29 | 190505 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
+2022/06/29 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
+2022/06/29 | 18369 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
+2022/06/29 | 181518 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
+2022/06/29 | 1808 | systems/texlive/tlnet/archive/asternote.doc.r63746.tar.xz
+2022/06/29 | 179877 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
2022/06/29 | 1755 | macros/latex/contrib/jpnedumathsymbols/jpnedumathsymbols_example.tex
+2022/06/29 | 17532378 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2022/06/29 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
+2022/06/29 | 173008 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
+2022/06/29 | 1692 | systems/texlive/tlnet/archive/inlinelabel.doc.r63747.tar.xz
+2022/06/29 | 168821 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
+2022/06/29 | 1682 | macros/generic/markdown/examples/context-mkiv.tex
+2022/06/29 | 16592 | macros/generic/markdown/README.md
+2022/06/29 | 16561 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
+2022/06/29 | 16503 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
+2022/06/29 | 1635 | macros/generic/markdown/examples/latex.tex
+2022/06/29 | 156964 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
+2022/06/29 | 155497 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
+2022/06/29 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2022/06/29 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2022/06/29 | 152030 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
+2022/06/29 | 1501238 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
+2022/06/29 | 1491 | macros/generic/markdown/examples/context-mkii.tex
+2022/06/29 | 1468307 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
+2022/06/29 | 1467704 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
2022/06/29 | 1464 | macros/latex/contrib/jpnedumathsymbols/README.md
+2022/06/29 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2022/06/29 | 1454762 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
+2022/06/29 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2022/06/29 | 14412 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
+2022/06/29 | 140951 | macros/generic/markdown/markdown.png
+2022/06/29 | 139103 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
+2022/06/29 | 135948 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
+2022/06/29 | 1357072 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
+2022/06/29 | 135378 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
+2022/06/29 | 1353561 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
+2022/06/29 | 1352129 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
+2022/06/29 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
+2022/06/29 | 1333 | macros/generic/markdown/markdown.ins
+2022/06/29 | 1322743 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
+2022/06/29 | 1302489 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
+2022/06/29 | 126533 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
+2022/06/29 | 1244 | systems/texlive/tlnet/archive/asternote.r63746.tar.xz
+2022/06/29 | 1228 | systems/texlive/tlnet/archive/hideanswer.r63746.tar.xz
+2022/06/29 | 1216 | systems/texlive/tlnet/archive/reverxii.r63753.tar.xz
+2022/06/29 | 120615 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
+2022/06/29 | 1197084 | install/macros/generic/markdown.tds.zip
+2022/06/29 | 1181128 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
+2022/06/29 | 115657 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
+2022/06/29 | 1156465 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
+2022/06/29 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
+2022/06/29 | 1135197 | macros/generic/markdown.zip
+2022/06/29 | 113248 | systems/texlive/tlnet/archive/texlive-scripts.r63742.tar.xz
+2022/06/29 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
+2022/06/29 | 112589 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
+2022/06/29 | 1112 | systems/texlive/tlnet/archive/inlinelabel.r63747.tar.xz
+2022/06/29 | 11040 | systems/texlive/tlnet/archive/proflycee.r63750.tar.xz
+2022/06/29 | 11008 | systems/texlive/tlnet/archive/msu-thesis.r63748.tar.xz
+2022/06/29 | 109480 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
+2022/06/29 | 107706 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
+2022/06/29 | 104554 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
+2022/06/29 | 10336 | macros/latex/contrib/jpneduenumerate/jpneduenumerate.sty
+2022/06/29 | 103339 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
+2022/06/29 | 103091 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
+2022/06/29 | 1021848 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
+2022/06/29 | 100487 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2022/06/28 | 9989 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_c2.png
-2022/06/28 | 99816 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma
-2022/06/28 | 99255 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma
2022/06/28 | 984 | support/arara/scripts/rules/arara-rule-make.yaml
-2022/06/28 | 980 | systems/win32/miktex/tm/packages/pr.ini
-2022/06/28 | 97200 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma
-2022/06/28 | 96632 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma
2022/06/28 | 9599 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_e.png
-2022/06/28 | 95432 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma
-2022/06/28 | 95285 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma
2022/06/28 | 950 | support/arara/scripts/rules/arara-rule-gnuplot.yaml
2022/06/28 | 94911 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
2022/06/28 | 948612 | systems/texlive/tlnet/archive/tex4ht.r63740.tar.xz
-2022/06/28 | 93959 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma
2022/06/28 | 932844 | systems/texlive/tlnet/archive/familytree.doc.r63739.tar.xz
-2022/06/28 | 92918 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma
2022/06/28 | 9278 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_a.png
2022/06/28 | 915 | support/arara/scripts/rules/arara-rule-move.yaml
2022/06/28 | 910 | support/arara/scripts/rules/arara-rule-xindex.yaml
-2022/06/28 | 88152 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma
2022/06/28 | 881135 | macros/xetex/latex/xduts/xdulogo.pdf
2022/06/28 | 878 | support/arara/scripts/rules/arara-rule-ghostscript.yaml
-2022/06/28 | 8784 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma
-2022/06/28 | 86758 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma
2022/06/28 | 841 | support/arara/scripts/rules/arara-rule-tikzmake.yaml
2022/06/28 | 838 | support/arara/scripts/rules/arara-rule-biber.yaml
2022/06/28 | 830 | support/arara/scripts/rules/arara-rule-nomencl.yaml
-2022/06/28 | 824371 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma
-2022/06/28 | 81462 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma
2022/06/28 | 812 | support/arara/scripts/rules/arara-rule-songidx.yaml
2022/06/28 | 810 | support/arara/scripts/rules/arara-rule-dvipdfmx.yaml
2022/06/28 | 807 | support/arara/scripts/rules/arara-rule-ps2pdf.yaml
2022/06/28 | 806 | support/arara/scripts/rules/arara-rule-dvipdfm.yaml
2022/06/28 | 797 | support/arara/scripts/rules/arara-rule-dvips.yaml
-2022/06/28 | 79024 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma
-2022/06/28 | 78974 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma
2022/06/28 | 788 | support/arara/scripts/rules/arara-rule-copy.yaml
-2022/06/28 | 7754 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma
-2022/06/28 | 77068 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma
-2022/06/28 | 758955 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma
-2022/06/28 | 755741 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma
2022/06/28 | 75312 | systems/texlive/tlnet/archive/xepersian.source.r63738.tar.xz
-2022/06/28 | 74067 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma
-2022/06/28 | 73530 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma
-2022/06/28 | 73478 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma
2022/06/28 | 731899 | macros/latex/contrib/proflycee.zip
2022/06/28 | 7316 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_d.png
-2022/06/28 | 73148 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
-2022/06/28 | 72885 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2022/06/28 | 72014 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma
+2022/06/28 | 7135 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/06/28 | 7101 | support/arara/doc/htmlmanualtopdf.sh
-2022/06/28 | 71004 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma
2022/06/28 | 704529 | macros/xetex/latex/xduts/xduts.pdf
-2022/06/28 | 693066 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin.tar.lzma
-2022/06/28 | 68871 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma
2022/06/28 | 682 | macros/latex/contrib/inlinelabel/README.md
-2022/06/28 | 681942 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma
2022/06/28 | 680 | support/arara/scripts/rules/arara-rule-sketch.yaml
-2022/06/28 | 68008 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma
-2022/06/28 | 67705 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma
-2022/06/28 | 67254 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma
-2022/06/28 | 6676 | systems/texlive/tlnet/archive/collection-latexextra.r63739.tar.xz
2022/06/28 | 660 | macros/latex/contrib/hideanswer/README.md
-2022/06/28 | 657840 | systems/win32/miktex/tm/packages/next/files.csv.lzma
-2022/06/28 | 657720 | systems/win32/miktex/tm/packages/files.csv.lzma
2022/06/28 | 655594 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
2022/06/28 | 650 | support/arara/scripts/rules/arara-rule-spix.yaml
-2022/06/28 | 65055 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma
2022/06/28 | 647 | support/arara/scripts/rules/arara-rule-convert.yaml
-2022/06/28 | 64707 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma
2022/06/28 | 646 | support/arara/scripts/rules/arara-rule-makeglossarieslite.yaml
-2022/06/28 | 64542 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma
-2022/06/28 | 64490 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma
2022/06/28 | 6429 | support/arara/doc/resources/manual.css
-2022/06/28 | 63739 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma
2022/06/28 | 635 | macros/latex/contrib/asternote/README.md
-2022/06/28 | 63310 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma
2022/06/28 | 6324 | systems/texlive/tlnet/archive/familytree.r63739.tar.xz
-2022/06/28 | 631280 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma
-2022/06/28 | 629430 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma
2022/06/28 | 625 | support/arara/scripts/rules/arara-rule-upbibtex.yaml
-2022/06/28 | 62382 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma
2022/06/28 | 620 | support/arara/scripts/rules/arara-rule-bibtexu.yaml
2022/06/28 | 620 | support/arara/scripts/rules/arara-rule-bibtex8.yaml
2022/06/28 | 60236 | systems/texlive/tlnet/archive/xepersian.r63738.tar.xz
2022/06/28 | 5 | support/arara/doc/resources/version.txt
-2022/06/28 | 598229 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma
2022/06/28 | 595 | support/arara/scripts/rules/arara-rule-pbibtex.yaml
2022/06/28 | 591 | support/arara/scripts/rules/arara-rule-bibtex.yaml
-2022/06/28 | 591570 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma
2022/06/28 | 587 | support/arara/scripts/rules/arara-rule-pdftk.yaml
-2022/06/28 | 58666 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma
-2022/06/28 | 58664 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma
-2022/06/28 | 5805917 | systems/texlive/tlnet/install-tl-unx.tar.gz
2022/06/28 | 5787 | support/arara/scripts/rules/arara-rule-bib2gls.yaml
2022/06/28 | 576 | support/arara/scripts/arara.sh
-2022/06/28 | 57619 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma
-2022/06/28 | 57525 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma
-2022/06/28 | 57329 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma
-2022/06/28 | 57271 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma
-2022/06/28 | 56993 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma
-2022/06/28 | 56618 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma
-2022/06/28 | 565930 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma
-2022/06/28 | 55756 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma
-2022/06/28 | 55568 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma
-2022/06/28 | 55284 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma
2022/06/28 | 546 | support/arara/scripts/rules/arara-rule-qpdf.yaml
-2022/06/28 | 532453 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma
-2022/06/28 | 528017 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma
2022/06/28 | 524840 | support/arara/doc/resources/firasans-italic.otf
-2022/06/28 | 52480 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma
2022/06/28 | 52445 | support/arara/doc/resources/arara-logo-with-text-bottom.svg
-2022/06/28 | 52326 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma
2022/06/28 | 522236 | support/arara/doc/resources/firasans-lightitalic.otf
2022/06/28 | 521796 | support/arara/doc/resources/firasans-bold.otf
-2022/06/28 | 52093 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma
-2022/06/28 | 51556 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma
-2022/06/28 | 51485 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma
-2022/06/28 | 50799 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma
2022/06/28 | 507828 | support/arara/doc/resources/firasans-regular.otf
2022/06/28 | 505308 | support/arara/doc/resources/firasans-light.otf
-2022/06/28 | 49770 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma
2022/06/28 | 495380 | systems/texlive/tlnet/archive/lt3luabridge.doc.r63735.tar.xz
-2022/06/28 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2022/06/28 | 48827 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma
-2022/06/28 | 484370 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma
-2022/06/28 | 481499 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma
-2022/06/28 | 47923 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma
-2022/06/28 | 477847 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma
2022/06/28 | 4722 | support/arara/README.md
-2022/06/28 | 46066 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma
-2022/06/28 | 45825 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma
2022/06/28 | 45766 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
-2022/06/28 | 45742 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma
-2022/06/28 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2022/06/28 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2022/06/28 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2022/06/28 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2022/06/28 | 4536 | systems/texlive/tlnet/archive/lt3luabridge.source.r63735.tar.xz
-2022/06/28 | 43916 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma
-2022/06/28 | 43825 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma
-2022/06/28 | 43646 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma
-2022/06/28 | 43360 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma
-2022/06/28 | 43226 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma
-2022/06/28 | 42817 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma
2022/06/28 | 4253 | support/arara/scripts/rules/arara-rule-context.yaml
2022/06/28 | 424 | macros/latex/contrib/hideanswer/hideanswer_example.tex
2022/06/28 | 41957 | macros/latex/contrib/jpnedumathsymbols.zip
-2022/06/28 | 417348 | systems/texlive/tlnet/archive/texlive-scripts.doc.r63734.tar.xz
-2022/06/28 | 41305 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma
-2022/06/28 | 41204 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma
-2022/06/28 | 41183 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma
2022/06/28 | 4079 | macros/latex/contrib/asternote/asternote.sty
2022/06/28 | 4074 | support/arara/scripts/rules/arara-rule-datatooltk.yaml
2022/06/28 | 4058 | macros/latex/contrib/hideanswer.zip
2022/06/28 | 4027740 | systems/texlive/tlnet/archive/bidi.doc.r63737.tar.xz
-2022/06/28 | 39727 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma
-2022/06/28 | 394370 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma
-2022/06/28 | 38559 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma
2022/06/28 | 3843 | support/arara/doc/resources/gitlab-icon.svg
-2022/06/28 | 38426 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma
-2022/06/28 | 37375 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma
-2022/06/28 | 37117 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma
-2022/06/28 | 37081 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma
2022/06/28 | 3673 | macros/latex/contrib/asternote.zip
-2022/06/28 | 36049 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma
2022/06/28 | 3540 | macros/latex/contrib/inlinelabel.zip
-2022/06/28 | 35242 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma
-2022/06/28 | 351696 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma
-2022/06/28 | 35167 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma
2022/06/28 | 3432 | systems/texlive/tlnet/archive/lt3luabridge.r63735.tar.xz
-2022/06/28 | 34052 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma
-2022/06/28 | 332413 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma
-2022/06/28 | 32955 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma
2022/06/28 | 3276 | macros/latex/contrib/hideanswer/hideanswer.sty
-2022/06/28 | 326661 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma
-2022/06/28 | 325270 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma
2022/06/28 | 3251 | support/arara/scripts/rules/arara-rule-pdfcrop.yaml
-2022/06/28 | 32134 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma
2022/06/28 | 320 | support/arara/scripts/rules/arara-rule-halt.yaml
-2022/06/28 | 316242 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma
-2022/06/28 | 31589 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma
-2022/06/28 | 31521 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma
2022/06/28 | 3144 | macros/latex/contrib/hideanswer/hideanswer-ja.md
-2022/06/28 | 31412 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma
-2022/06/28 | 31343 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma
-2022/06/28 | 30542 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma
-2022/06/28 | 30146 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma
2022/06/28 | 2990 | support/arara/scripts/rules/arara-rule-indent.yaml
2022/06/28 | 29830 | macros/latex/contrib/jpnedumathsymbols/jpnedumathsymbols_example.pdf
-2022/06/28 | 296038 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma
-2022/06/28 | 288200 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma
-2022/06/28 | 28797 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma
-2022/06/28 | 28685 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma
-2022/06/28 | 286411 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma
2022/06/28 | 2862 | macros/xetex/latex/xduts/README.md
-2022/06/28 | 285713 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma
-2022/06/28 | 28568 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma
2022/06/28 | 285336 | support/arara/doc/resources/CascadiaMono-Regular.otf
-2022/06/28 | 28422 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma
-2022/06/28 | 283842 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma
-2022/06/28 | 283836 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma
2022/06/28 | 282548 | support/arara/doc/resources/CascadiaMono-Light.otf
-2022/06/28 | 2820687 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma
-2022/06/28 | 27637 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma
-2022/06/28 | 27590 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma
2022/06/28 | 2755372 | support/arara/doc/arara-7.0.4-docsrc.zip
2022/06/28 | 273200 | support/arara/doc/resources/CascadiaMono-ExtraLight.otf
-2022/06/28 | 27248 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma
2022/06/28 | 270620 | biblio/biber/documentation/biber.pdf
-2022/06/28 | 270300 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma
-2022/06/28 | 2694877 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma
-2022/06/28 | 259255 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma
2022/06/28 | 2569 | macros/latex/contrib/hideanswer/hideanswer-en.md
-2022/06/28 | 25552 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma
-2022/06/28 | 25489115 | systems/texlive/tlnet/install-tl.zip
2022/06/28 | 2543 | support/arara/scripts/rules/arara-rule-ltx2any.yaml
-2022/06/28 | 251130 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma
-2022/06/28 | 25107 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma
-2022/06/28 | 25059 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma
-2022/06/28 | 247334 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma
-2022/06/28 | 245096 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma
-2022/06/28 | 244962 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma
2022/06/28 | 2445 | macros/latex/contrib/asternote/asternote-ja.md
2022/06/28 | 2434 | support/arara/scripts/rules/arara-rule-makeglossaries.yaml
2022/06/28 | 2414 | support/arara/doc/htmlquickstarttopdf.sh
-2022/06/28 | 24121 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma
-2022/06/28 | 23945 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma
-2022/06/28 | 2388032 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2022/06/28 | 235454 | macros/xetex/latex/xduts/xduts.dtx
2022/06/28 | 22568 | systems/texlive/tlnet/archive/asmejour.r63736.tar.xz
-2022/06/28 | 22148 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma
2022/06/28 | 218 | macros/latex/contrib/asternote/asternote_example.tex
2022/06/28 | 2177 | macros/latex/contrib/asternote/asternote-en.md
-2022/06/28 | 213278 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma
-2022/06/28 | 21314 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma
2022/06/28 | 211290 | support/arara/doc/arara-quickstart.pdf
-2022/06/28 | 210275 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma
2022/06/28 | 2099 | support/arara/scripts/rules/arara-rule-perltex.yaml
-2022/06/28 | 208808 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma
-2022/06/28 | 20463232 | systems/texlive/tlnet/install-tl-windows.exe
-2022/06/28 | 203838 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin.tar.lzma
-2022/06/28 | 202835 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma
-2022/06/28 | 20184 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma
-2022/06/28 | 200397 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma
-2022/06/28 | 199830 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma
2022/06/28 | 1985 | support/arara/scripts/rules/arara-rule-frontespizio.yaml
-2022/06/28 | 1982085 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma
2022/06/28 | 1974 | support/arara/scripts/rules/arara-rule-xindy.yaml
2022/06/28 | 1973 | support/arara/scripts/rules/arara-rule-texindy.yaml
-2022/06/28 | 197036 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma
-2022/06/28 | 196117 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma
-2022/06/28 | 190505 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma
2022/06/28 | 1883 | support/arara/scripts/rules/arara-rule-latexmk.yaml
-2022/06/28 | 18492 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma
2022/06/28 | 1836 | support/arara/scripts/rules/arara-rule-detex.yaml
-2022/06/28 | 18367 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma
-2022/06/28 | 181515 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma
2022/06/28 | 1811540 | systems/texlive/tlnet/archive/asmejour.doc.r63736.tar.xz
-2022/06/28 | 179878 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma
2022/06/28 | 17981120 | support/arara.zip
2022/06/28 | 17934326 | install/support/arara.tds.zip
2022/06/28 | 1791 | macros/latex/contrib/inlinelabel/inlinelabel-ja.md
2022/06/28 | 17919 | CTAN.sites
-2022/06/28 | 17528276 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2022/06/28 | 1752147 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma
-2022/06/28 | 173009 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma
2022/06/28 | 1723 | support/arara/doc/arara.1
2022/06/28 | 1721 | support/arara/scripts/rules/arara-rule-pythontex.yaml
2022/06/28 | 1708 | support/arara/scripts/rules/arara-rule-texcount.yaml
-2022/06/28 | 168821 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma
2022/06/28 | 168372 | support/arara/doc/resources/CascadiaMono-Italic.otf
2022/06/28 | 1671 | support/arara/scripts/rules/arara-rule-fig2dev.yaml
2022/06/28 | 167028 | support/arara/doc/resources/CascadiaMono-LightItalic.otf
-2022/06/28 | 16560 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma
-2022/06/28 | 16504 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma
2022/06/28 | 1624 | support/arara/scripts/rules/arara-rule-pdflatex.yaml
2022/06/28 | 1624 | support/arara/scripts/rules/arara-rule-lualatex.yaml
2022/06/28 | 161924 | support/arara/doc/resources/CascadiaMono-ExtraLightItalic.otf
@@ -286,45 +371,24 @@
2022/06/28 | 1609053 | macros/xetex/latex/xduts.zip
2022/06/28 | 160155 | support/arara/source/arara-7.0.4-src.zip
2022/06/28 | 1570 | support/arara/scripts/rules/arara-rule-xelatex.yaml
-2022/06/28 | 156963 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma
-2022/06/28 | 155497 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma
2022/06/28 | 15544 | systems/texlive/tlnet/archive/familytree.source.r63739.tar.xz
-2022/06/28 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2022/06/28 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2022/06/28 | 1521 | support/arara/scripts/rules/arara-rule-uplatex.yaml
-2022/06/28 | 152032 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma
2022/06/28 | 151 | macros/latex/contrib/inlinelabel/inlinelabel_example.tex
2022/06/28 | 1516 | support/arara/scripts/rules/arara-rule-platex.yaml
2022/06/28 | 1511 | support/arara/scripts/rules/arara-rule-xetex.yaml
2022/06/28 | 1505 | macros/latex/contrib/inlinelabel/inlinelabel.sty
2022/06/28 | 1502 | support/arara/scripts/rules/arara-rule-makeindex.yaml
-2022/06/28 | 1501239 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma
2022/06/28 | 1477 | support/arara/scripts/rules/arara-rule-asymptote.yaml
2022/06/28 | 147572 | systems/texlive/tlnet/archive/bidi.source.r63737.tar.xz
2022/06/28 | 1469 | support/arara/scripts/rules/arara-rule-knitr.yaml
-2022/06/28 | 1467784 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma
-2022/06/28 | 1466925 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma
-2022/06/28 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2022/06/28 | 1454763 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma
-2022/06/28 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2022/06/28 | 1447 | support/arara/scripts/rules/arara-rule-dvisvgm.yaml
-2022/06/28 | 14413 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma
2022/06/28 | 13958 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_b.png
-2022/06/28 | 139103 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma
2022/06/28 | 1390 | macros/latex/contrib/inlinelabel/inlinelabel-en.md
2022/06/28 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r63740.tar.xz
-2022/06/28 | 135949 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma
-2022/06/28 | 1357071 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma
-2022/06/28 | 135377 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma
-2022/06/28 | 1353157 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma
-2022/06/28 | 1352370 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma
-2022/06/28 | 13514 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma
2022/06/28 | 1341 | support/arara/scripts/rules/arara-rule-clean.yaml
2022/06/28 | 1323 | support/arara/scripts/rules/arara-rule-sage.yaml
-2022/06/28 | 1322742 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma
2022/06/28 | 13140222 | support/arara/scripts/arara.jar
2022/06/28 | 130916 | systems/texlive/tlnet/archive/bidi.r63737.tar.xz
-2022/06/28 | 1302487 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma
2022/06/28 | 1283 | support/arara/scripts/rules/arara-rule-pdfcsplain.yaml
2022/06/28 | 1280 | support/arara/scripts/rules/arara-rule-llmk.yaml
2022/06/28 | 1275 | support/arara/scripts/rules/arara-rule-luahbtex.yaml
@@ -333,34 +397,18 @@
2022/06/28 | 1271 | support/arara/scripts/rules/arara-rule-csplain.yaml
2022/06/28 | 1267 | support/arara/scripts/rules/arara-rule-pdftex.yaml
2022/06/28 | 1267 | support/arara/scripts/rules/arara-rule-luatex.yaml
-2022/06/28 | 126535 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma
2022/06/28 | 1263400 | systems/texlive/tlnet/archive/tex4ht.source.r63740.tar.xz
-2022/06/28 | 120616 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma
2022/06/28 | 1192947 | support/arara/doc/arara-manual.pdf
-2022/06/28 | 1181129 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma
2022/06/28 | 11759 | macros/latex/contrib/proflycee/doc/graphics/pl-doc-stats_c.png
2022/06/28 | 1165 | support/arara/scripts/rules/arara-rule-uptex.yaml
2022/06/28 | 1161 | support/arara/scripts/rules/arara-rule-ptex.yaml
-2022/06/28 | 115657 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma
-2022/06/28 | 1156464 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma
-2022/06/28 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini
-2022/06/28 | 113256 | systems/texlive/tlnet/archive/texlive-scripts.r63734.tar.xz
-2022/06/28 | 113052 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma
-2022/06/28 | 112590 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma
2022/06/28 | 1111 | macros/xetex/latex/xduts/xduts.ins
2022/06/28 | 1109 | support/arara/scripts/rules/arara-rule-xdvipdfmx.yaml
2022/06/28 | 1105 | support/arara/scripts/rules/arara-rule-animate.yaml
2022/06/28 | 1104 | support/arara/scripts/rules/arara-rule-authorindex.yaml
-2022/06/28 | 109479 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma
-2022/06/28 | 107705 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma
2022/06/28 | 1061 | support/arara/scripts/rules/arara-rule-etex.yaml
2022/06/28 | 1049 | support/arara/scripts/rules/arara-rule-tex.yaml
-2022/06/28 | 104556 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma
-2022/06/28 | 103337 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma
-2022/06/28 | 103093 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma
-2022/06/28 | 1021848 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma
2022/06/28 | 1011752 | systems/texlive/tlnet/archive/xepersian.doc.r63738.tar.xz
-2022/06/28 | 100485 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma
2022/06/27 | 95 | macros/generic/lt3luabridge/example.context
2022/06/27 | 9510 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex
2022/06/27 | 915 | macros/latex/contrib/newpax/doc-use-pax.tex
@@ -375,7 +423,6 @@
2022/06/27 | 775188 | macros/xetex/latex/xepersian/xepersian.pdf
2022/06/27 | 761651 | macros/xetex/latex/bidi/gull.jpg
2022/06/27 | 7383 | dviware/dvisirule/src/config/compile
-2022/06/27 | 7208 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2022/06/27 | 717808 | systems/texlive/tlnet/archive/babel.source.r63730.tar.xz
2022/06/27 | 71387 | macros/xetex/latex/xepersian/xepersian-doc-basics.ltx
2022/06/27 | 70243 | macros/latex/contrib/newpax/doc-use-newpax.pdf
@@ -537,7 +584,6 @@
2022/06/26 | 711996 | systems/win32/miktex/tm/packages/ltxbase__source.tar.lzma
2022/06/26 | 7073 | macros/latex/contrib/familytree/samples/Tokugawa/Tokugawa.tex
2022/06/26 | 7073406 | systems/win32/miktex/tm/packages/biblatex__doc.tar.lzma
-2022/06/26 | 7068 | systems/texlive/tlnet/archive/reverxii.source.r63725.tar.xz
2022/06/26 | 7062 | systems/win32/miktex/tm/packages/ut-thesis__source.tar.lzma
2022/06/26 | 6948 | systems/win32/miktex/tm/packages/hvextern.tar.lzma
2022/06/26 | 69181 | systems/win32/miktex/tm/packages/latexindent.tar.lzma
@@ -737,7 +783,6 @@
2022/06/26 | 23051 | systems/win32/miktex/tm/packages/miktex-misc.tar.lzma
2022/06/26 | 22986 | systems/win32/miktex/tm/packages/denisbdoc__source.tar.lzma
2022/06/26 | 2293 | dviware/dvisirule/Makefile
-2022/06/26 | 229332 | systems/texlive/tlnet/archive/reverxii.doc.r63725.tar.xz
2022/06/26 | 22919015 | systems/win32/miktex/tm/packages/biber-windows-x86.tar.lzma
2022/06/26 | 22829192 | systems/texlive/tlnet/archive/biber.win32.r63724.tar.xz
2022/06/26 | 226413 | systems/win32/miktex/tm/packages/ltxbase.tar.lzma
@@ -853,7 +898,6 @@
2022/06/26 | 1245812 | systems/win32/miktex/tm/packages/siunitx__doc.tar.lzma
2022/06/26 | 1231 | dviware/dvisirule/dvisirule-pgnum.awk
2022/06/26 | 12271 | systems/win32/miktex/tm/packages/fgruler__source.tar.lzma
-2022/06/26 | 1224 | systems/texlive/tlnet/archive/reverxii.r63725.tar.xz
2022/06/26 | 120 | macros/latex/contrib/familytree/doc-ja/figs/fig1base.tex
2022/06/26 | 1204180 | systems/win32/miktex/tm/packages/letgut__doc.tar.lzma
2022/06/26 | 12024 | systems/texlive/tlnet/archive/fgruler.source.r63721.tar.xz
@@ -929,7 +973,6 @@
2022/06/24 | 9779 | macros/latex/base/format.ins
2022/06/24 | 96 | macros/latex/base/doc-code.tex
2022/06/24 | 96695 | macros/latex/contrib/tcolorbox/tcolorbox.sty
-2022/06/24 | 963112 | systems/texlive/tlnet/archive/biber.source.r63708.tar.xz
2022/06/24 | 9557 | macros/latex/base/ltcntrl.dtx
2022/06/24 | 949 | macros/latex/contrib/tcolorbox/tcolorbox.doc.xparse.tex
2022/06/24 | 9401 | macros/latex/base/source2edoc.cls
@@ -965,7 +1008,6 @@
2022/06/24 | 7670315 | macros/latex/contrib/tcolorbox/tcolorbox.pdf
2022/06/24 | 755033 | macros/latex/base/doc.pdf
2022/06/24 | 7524 | macros/latex/base/ltxguide.cls
-2022/06/24 | 732 | systems/texlive/tlnet/archive/biber.r63708.tar.xz
2022/06/24 | 7311684 | systems/texlive/tlnet/archive/biblatex.doc.r63708.tar.xz
2022/06/24 | 72475 | macros/latex/base/ltfsstrc.dtx
2022/06/24 | 7221 | macros/latex/base/ltnews20.tex
@@ -1184,7 +1226,6 @@
2022/06/24 | 2705 | macros/latex/base/idx.tex
2022/06/24 | 2660 | systems/texlive/tlnet/archive/showkerning.r63708.tar.xz
2022/06/24 | 2660288 | systems/texlive/tlnet/archive/microtype.doc.r63708.tar.xz
-2022/06/24 | 265324 | systems/texlive/tlnet/archive/biber.doc.r63708.tar.xz
2022/06/24 | 265279 | macros/latex/base/ltnews24.pdf
2022/06/24 | 2632 | systems/texlive/tlnet/archive/ut-thesis.r63708.tar.xz
2022/06/24 | 2623172 | systems/texlive/tlnet/archive/hitex.doc.r63708.tar.xz
@@ -1441,7 +1482,6 @@
2022/06/23 | 125819 | macros/luatex/generic/barracuda/doc/manual/barracuda-manual.pdf
2022/06/23 | 1252 | macros/luatex/generic/barracuda/test/test-code128/02-05-pdfliteral.txt
2022/06/23 | 1242060 | systems/texlive/tlnet/archive/siunitx.doc.r63693.tar.xz
-2022/06/23 | 123973 | systems/texlive/tlnet/install-tl
2022/06/23 | 12255 | macros/luatex/generic/barracuda/src/lib-driver/brcd-drv-svg.lua
2022/06/23 | 1224 | macros/luatex/generic/barracuda/test/test-code39/003-code39-test.tex
2022/06/23 | 1210 | macros/luatex/generic/barracuda/test/test-i2of5/002-ITF14-test.tex
@@ -1450,471 +1490,3 @@
2022/06/23 | 107622 | systems/texlive/tlnet/tlpkg/translations/ru.po
2022/06/23 | 10399 | macros/luatex/generic/barracuda/PLANNER.txt
2022/06/23 | 103515 | systems/texlive/tlnet/tlpkg/translations/sr.po
-2022/06/22 | 99 | macros/latex/contrib/biblatex/latex/bbx/authoryear-icomp.bbx
-2022/06/22 | 9999 | macros/latex/contrib/biblatex-contrib/biblatex-apa/norwegian-apa.lbx
-2022/06/22 | 9979 | macros/latex/contrib/biblatex-contrib/biblatex-apa/dutch-apa.lbx
-2022/06/22 | 996 | macros/latex/contrib/siunitx/README.md
-2022/06/22 | 9935 | macros/latex/contrib/biblatex-contrib/biblatex-apa/english-apa.lbx
-2022/06/22 | 98 | macros/latex/contrib/biblatex/latex/bbx/authoryear-ibid.bbx
-2022/06/22 | 98 | macros/latex/contrib/biblatex/latex/bbx/authoryear-comp.bbx
-2022/06/22 | 98 | macros/latex/contrib/biblatex/latex/bbx/alphabetic-verb.bbx
-2022/06/22 | 9854 | macros/latex/contrib/biblatex-contrib/biblatex-apa/swedish-apa.lbx
-2022/06/22 | 9853 | macros/latex/contrib/biblatex/latex/cbx/authoryear-icomp.cbx
-2022/06/22 | 98442 | macros/latex/contrib/biblatex/doc/examples/12-references-by-segment-biber.pdf
-2022/06/22 | 98437 | macros/latex/contrib/biblatex/doc/examples/12-references-by-segment-bibtex.pdf
-2022/06/22 | 98395 | macros/latex/contrib/biblatex/doc/examples/11-references-by-section-biber.pdf
-2022/06/22 | 98390 | macros/latex/contrib/biblatex/doc/examples/11-references-by-section-bibtex.pdf
-2022/06/22 | 9835 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
-2022/06/22 | 9809 | macros/latex/contrib/biblatex-contrib/biblatex-apa/british-apa.lbx
-2022/06/22 | 97 | macros/latex/contrib/biblatex/latex/bbx/verbose-trad3.bbx
-2022/06/22 | 97 | macros/latex/contrib/biblatex/latex/bbx/verbose-trad2.bbx
-2022/06/22 | 97 | macros/latex/contrib/biblatex/latex/bbx/verbose-trad1.bbx
-2022/06/22 | 97 | macros/latex/contrib/biblatex/latex/bbx/verbose-inote.bbx
-2022/06/22 | 9725 | macros/latex/contrib/biblatex/doc/examples/75-style-verbose-trad2.tex
-2022/06/22 | 96 | macros/latex/contrib/biblatex/latex/bbx/verbose-note.bbx
-2022/06/22 | 96 | macros/latex/contrib/biblatex/latex/bbx/verbose-ibid.bbx
-2022/06/22 | 9620 | macros/latex/contrib/biblatex/latex/cbx/verbose-inote.cbx
-2022/06/22 | 93809 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa-test-references.bib
-2022/06/22 | 92 | macros/latex/contrib/biblatex/latex/bbx/numeric-verb.bbx
-2022/06/22 | 92 | macros/latex/contrib/biblatex/latex/bbx/numeric-comp.bbx
-2022/06/22 | 92456 | macros/latex/contrib/biblatex/latex/biblatex.def
-2022/06/22 | 91 | macros/latex/contrib/biblatex/latex/bbx/verbose.bbx
-2022/06/22 | 9091 | macros/latex/contrib/biblatex/latex/cbx/verbose-trad1.cbx
-2022/06/22 | 898 | macros/latex/contrib/pbalance/README.md
-2022/06/22 | 894 | macros/luatex/generic/barracuda/test/test-libgeo/003-ga-svg-test.tex
-2022/06/22 | 893 | macros/luatex/generic/barracuda/test/test-ga-svg/test-01.svg
-2022/06/22 | 89371591 | biblio/biber/binaries/MacOS/biber-darwin_universal.tar.gz
-2022/06/22 | 88905 | macros/latex/contrib/biblatex/doc/examples/22-indexing-subentry-bibtex.pdf
-2022/06/22 | 88905 | macros/latex/contrib/biblatex/doc/examples/22-indexing-subentry-biber.pdf
-2022/06/22 | 880 | macros/latex/contrib/biblatex/latex/lbx/newzealand.lbx
-2022/06/22 | 87 | macros/latex/contrib/biblatex/latex/cbx/reading.cbx
-2022/06/22 | 8798 | macros/latex/contrib/siunitx/siunitx-command.dtx
-2022/06/22 | 8784 | macros/latex/contrib/biblatex/latex/cbx/verbose-trad2.cbx
-2022/06/22 | 8737 | macros/latex/contrib/biblatex/latex/cbx/authoryear-comp.cbx
-2022/06/22 | 8688 | macros/latex/contrib/biblatex/latex/cbx/verbose-note.cbx
-2022/06/22 | 857595 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles.zip
-2022/06/22 | 84537 | macros/latex/contrib/l3packages/xparse-2018-04-12.sty
-2022/06/22 | 8433 | macros/latex/contrib/biblatex/latex/blx-case-expl3.sty
-2022/06/22 | 840 | macros/latex/contrib/biblatex/doc/examples/82-style-debug.tex
-2022/06/22 | 8363 | macros/latex/contrib/biblatex/latex/blx-case-latex2e.sty
-2022/06/22 | 8248 | fonts/logix/README
-2022/06/22 | 81705 | macros/latex/contrib/biblatex/doc/examples/10-references-per-section-bibtex.pdf
-2022/06/22 | 81705 | macros/latex/contrib/biblatex/doc/examples/10-references-per-section-biber.pdf
-2022/06/22 | 8115 | macros/latex/contrib/biblatex/doc/examples/76-style-verbose-trad3.tex
-2022/06/22 | 810 | macros/latex/contrib/biblatex/doc/examples/91-sorting-schemes.tex
-2022/06/22 | 807 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerouterthemeArguelles.sty
-2022/06/22 | 806 | macros/latex/contrib/biblatex/latex/lbx/australian.lbx
-2022/06/22 | 8029 | macros/latex/contrib/biblatex/doc/examples/73-style-verbose-inote.tex
-2022/06/22 | 8024 | macros/latex/contrib/biblatex/latex/bbx/authoryear.bbx
-2022/06/22 | 80215 | macros/latex/contrib/l3packages/xparse-generic.tex
-2022/06/22 | 80156 | macros/latex/contrib/biblatex/doc/examples/04-delimiters-biber.pdf
-2022/06/22 | 80152 | macros/latex/contrib/biblatex/doc/examples/04-delimiters-bibtex.pdf
-2022/06/22 | 7936 | macros/latex/contrib/biblatex/latex/cbx/verbose-trad3.cbx
-2022/06/22 | 791 | macros/latex/contrib/biblatex/doc/examples/81-style-draft.tex
-2022/06/22 | 783 | macros/latex/contrib/biblatex/doc/examples/15-references-by-type.tex
-2022/06/22 | 7801 | macros/latex/contrib/biblatex/latex/cbx/verbose-ibid.cbx
-2022/06/22 | 7742 | macros/latex/contrib/biblatex/doc/examples/96-dates.tex
-2022/06/22 | 7710 | macros/latex/contrib/biblatex/doc/examples/50-style-authoryear.tex
-2022/06/22 | 769 | macros/latex/contrib/biblatex/latex/lbx/nswissgerman.lbx
-2022/06/22 | 757 | macros/latex/contrib/biblatex/doc/examples/42-style-alphabetic-template.tex
-2022/06/22 | 749032 | systems/texlive/tlnet/archive/verifiche.doc.r63680.tar.xz
-2022/06/22 | 7478 | macros/latex/contrib/biblatex/doc/examples/51-style-authoryear-ibid.tex
-2022/06/22 | 744 | macros/latex/contrib/biblatex/doc/examples/41-style-alphabetic-verb.tex
-2022/06/22 | 7405 | macros/latex/contrib/biblatex-contrib/biblatex-apa/norsk-apa.lbx
-2022/06/22 | 7374 | macros/latex/contrib/l3packages/xfp.dtx
-2022/06/22 | 7288 | macros/latex/contrib/biblatex/doc/examples/53-style-authoryear-icomp.tex
-2022/06/22 | 722 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerfontthemeArguelles.sty
-2022/06/22 | 7002 | macros/latex/contrib/biblatex/doc/examples/71-style-verbose-ibid.tex
-2022/06/22 | 7000 | macros/latex/contrib/biblatex/latex/cbx/verbose.cbx
-2022/06/22 | 69 | macros/latex/contrib/biblatex/latex/biblatex.cfg
-2022/06/22 | 69588 | fonts/logix/fonts/logixMono.ttf
-2022/06/22 | 68464 | fonts/logix/opentype/logixMono.otf
-2022/06/22 | 68224 | macros/latex/contrib/siunitx/CHANGELOG.md
-2022/06/22 | 68091 | macros/latex/contrib/biblatex-contrib/biblatex-apa/apa.bbx
-2022/06/22 | 68013 | macros/latex/contrib/biblatex/doc/examples/biblatex-examples.bib
-2022/06/22 | 68013 | macros/latex/contrib/biblatex/bibtex/bib/biblatex/biblatex-examples.bib
-2022/06/22 | 67413 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa.pdf
-2022/06/22 | 665420 | macros/latex/contrib/siunitx/siunitx.pdf
-2022/06/22 | 6648 | macros/latex/contrib/biblatex/latex/cbx/authortitle-icomp.cbx
-2022/06/22 | 65483 | macros/latex/contrib/biblatex/bibtex/bst/biblatex.bst
-2022/06/22 | 649960 | systems/texlive/tlnet/archive/xduts.doc.r63681.tar.xz
-2022/06/22 | 6431 | macros/latex/contrib/l3packages/CHANGELOG.md
-2022/06/22 | 6337 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/README.md
-2022/06/22 | 63347 | macros/latex/contrib/biblatex/doc/examples/92-bibliographylists-biber.pdf
-2022/06/22 | 632409 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.pdf
-2022/06/22 | 630136 | fonts/logix/fonts/logix.woff
-2022/06/22 | 6195 | macros/latex/contrib/l3packages/xparse-2020-10-01.sty
-2022/06/22 | 617746 | macros/latex/contrib/siunitx/siunitx-code.pdf
-2022/06/22 | 590 | macros/luatex/generic/barracuda/test/test-ga-svg/test-02.svg
-2022/06/22 | 5888 | macros/latex/contrib/biblatex/doc/examples/72-style-verbose-note.tex
-2022/06/22 | 588444 | fonts/logix/opentype/logix.otf
-2022/06/22 | 5780 | macros/latex/contrib/biblatex/doc/examples/52-style-authoryear-comp.tex
-2022/06/22 | 575 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamercolorthemeArguelles.sty
-2022/06/22 | 571 | macros/latex/contrib/biblatex/latex/lbx/naustrian.lbx
-2022/06/22 | 5682 | macros/luatex/generic/barracuda/doc/manual/image/8006194056290.pdf
-2022/06/22 | 5661 | macros/latex/contrib/biblatex/latex/cbx/authortitle-comp.cbx
-2022/06/22 | 55460 | macros/latex/contrib/l3packages/xparse.dtx
-2022/06/22 | 5481 | macros/latex/contrib/siunitx/siunitx-locale.dtx
-2022/06/22 | 546790 | fonts/logix/source/logixMono.vfc
-2022/06/22 | 545 | macros/latex/contrib/biblatex/doc/examples/02-annotations.tex
-2022/06/22 | 538 | macros/latex/contrib/pbalance/LICENSE
-2022/06/22 | 534143 | macros/latex/contrib/l3packages/xparse.pdf
-2022/06/22 | 52621 | macros/latex/contrib/pbalance.zip
-2022/06/22 | 524134 | macros/latex/contrib/biblatex/latex/biblatex.sty
-2022/06/22 | 52192 | systems/texlive/tlnet/archive/dtk-bibliography.r63677.tar.xz
-2022/06/22 | 520 | macros/latex/contrib/biblatex/latex/lbx/ngerman.lbx
-2022/06/22 | 519848 | systems/texlive/tlnet/archive/xduts.r63681.tar.xz
-2022/06/22 | 5197 | macros/latex/contrib/biblatex/README
-2022/06/22 | 518207 | fonts/logix/doc/logix.pdf
-2022/06/22 | 5175 | macros/latex/contrib/biblatex/doc/examples/01-introduction.tex
-2022/06/22 | 5131 | macros/latex/contrib/biblatex/latex/cbx/authoryear-ibid.cbx
-2022/06/22 | 50961 | macros/latex/contrib/siunitx/siunitx-table.dtx
-2022/06/22 | 5091 | macros/latex/contrib/biblatex/doc/examples/21-indexing-multiple.tex
-2022/06/22 | 505 | macros/latex/contrib/biblatex/doc/examples/95-customlists.bib
-2022/06/22 | 5047 | macros/latex/contrib/biblatex/doc/examples/70-style-verbose.tex
-2022/06/22 | 503 | macros/luatex/generic/barracuda/test/test-ga-svg/001-ga-svg-test.lua
-2022/06/22 | 4964 | systems/texlive/tlnet/archive/verifiche.r63680.tar.xz
-2022/06/22 | 49425 | macros/latex/contrib/biblatex/CHANGES.md
-2022/06/22 | 484718 | macros/latex/contrib/l3packages/xfrac.pdf
-2022/06/22 | 48008 | macros/latex/contrib/pbalance/pbalance.dtx
-2022/06/22 | 47877 | macros/latex/contrib/biblatex/latex/lbx/spanish.lbx
-2022/06/22 | 4773 | macros/luatex/generic/barracuda/test/test-ean/ars.svg
-2022/06/22 | 4770 | language/korean/kotex-utf/tex/dhucs.sty
-2022/06/22 | 474 | macros/latex/contrib/biblatex/latex/lbx/swissgerman.lbx
-2022/06/22 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
-2022/06/22 | 462078 | fonts/logix/fonts/logix.eot
-2022/06/22 | 4611 | macros/latex/contrib/biblatex/latex/bbx/reading.bbx
-2022/06/22 | 45859 | macros/latex/contrib/biblatex/latex/lbx/russian.lbx
-2022/06/22 | 4583 | language/korean/kotex-utf/doc/ChangeLog
-2022/06/22 | 4578 | macros/latex/contrib/biblatex/latex/cbx/numeric.cbx
-2022/06/22 | 45731 | macros/latex/contrib/biblatex/latex/lbx/lithuanian.lbx
-2022/06/22 | 455 | macros/luatex/generic/barracuda/test/test-ga-svg/002-ga-svg-test.lua
-2022/06/22 | 45257 | macros/latex/contrib/biblatex/latex/lbx/bulgarian.lbx
-2022/06/22 | 449973 | macros/latex/contrib/l3packages/xtemplate.pdf
-2022/06/22 | 44946 | macros/latex/contrib/biblatex/latex/lbx/ukrainian.lbx
-2022/06/22 | 43837 | macros/latex/contrib/biblatex/latex/lbx/latvian.lbx
-2022/06/22 | 430807 | fonts/logix/doc/logix.tex
-2022/06/22 | 426 | macros/latex/contrib/biblatex/doc/examples/97-annotations.bib
-2022/06/22 | 4261 | macros/latex/contrib/biblatex/latex/cbx/alphabetic.cbx
-2022/06/22 | 4246 | macros/luatex/generic/barracuda/test/test-ga-svg/test-code39.svg
-2022/06/22 | 4190 | macros/luatex/generic/barracuda/test/test-code39/my_barcode.svg
-2022/06/22 | 4158 | macros/luatex/generic/barracuda/test/test-i2of5/02-itf14.svg
-2022/06/22 | 412205 | macros/latex/contrib/l3packages/l3keys2e.pdf
-2022/06/22 | 4047 | macros/luatex/generic/barracuda/test/test-barracuda-package/01-barracuda-latex-test.pdf
-2022/06/22 | 4032 | macros/latex/contrib/biblatex/latex/bbx/debug.bbx
-2022/06/22 | 39965 | macros/latex/contrib/biblatex/latex/lbx/english.lbx
-2022/06/22 | 3986 | macros/luatex/generic/barracuda/test/test-ean/003-ean-test.pdf
-2022/06/22 | 39823 | macros/latex/contrib/biblatex/doc/examples/93-nameparts-biber.pdf
-2022/06/22 | 3976 | macros/latex/contrib/biblatex/latex/cbx/authoryear.cbx
-2022/06/22 | 39562 | macros/latex/contrib/pbalance/pbalance.pdf
-2022/06/22 | 39366 | macros/latex/contrib/l3packages/xfrac.dtx
-2022/06/22 | 39269 | macros/latex/contrib/biblatex/latex/lbx/magyar.lbx
-2022/06/22 | 39251 | macros/latex/contrib/biblatex/doc/examples/03-localization-keys.tex
-2022/06/22 | 391 | macros/latex/contrib/biblatex/doc/examples/90-related-entries.tex
-2022/06/22 | 3890107 | fonts/logix.zip
-2022/06/22 | 38718 | macros/luatex/generic/barracuda/doc/ga-graphic-asm/barracuda-ga-asm.pdf
-2022/06/22 | 3850 | macros/latex/contrib/biblatex/latex/cbx/authortitle-ibid.cbx
-2022/06/22 | 3843 | macros/latex/contrib/l3packages/README.md
-2022/06/22 | 38347 | macros/luatex/generic/barracuda/test/test-code39/006-six.svg
-2022/06/22 | 3823 | macros/luatex/generic/barracuda/test/test-ean/8006194056290.svg
-2022/06/22 | 37954 | macros/latex/contrib/siunitx/siunitx-complex.dtx
-2022/06/22 | 3786 | macros/latex/contrib/biblatex/latex/blx-unicode.def
-2022/06/22 | 378060 | systems/texlive/tlnet/archive/dtk-bibliography.doc.r63677.tar.xz
-2022/06/22 | 3772 | language/korean/kotex-plain/tex/kotexutf.tex
-2022/06/22 | 3763 | macros/luatex/generic/barracuda/test/test-ga-pdfliteral/polygon.svg
-2022/06/22 | 37452 | macros/latex/contrib/biblatex/latex/lbx/finnish.lbx
-2022/06/22 | 3713 | macros/latex/contrib/biblatex/doc/examples/60-style-authortitle.tex
-2022/06/22 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
-2022/06/22 | 36721 | macros/latex/contrib/biblatex/latex/lbx/catalan.lbx
-2022/06/22 | 36608003 | biblio/biber/binaries/MacOS/biber-darwinlegacy_x86_64.tar.gz
-2022/06/22 | 36088 | macros/latex/contrib/biblatex/latex/lbx/greek.lbx
-2022/06/22 | 35916 | macros/latex/contrib/siunitx/siunitx-print.dtx
-2022/06/22 | 3588 | macros/latex/contrib/biblatex/doc/examples/22-indexing-subentry.tex
-2022/06/22 | 35782 | macros/latex/contrib/biblatex/latex/lbx/romanian.lbx
-2022/06/22 | 35745 | macros/latex/contrib/biblatex/latex/lbx/marathi.lbx
-2022/06/22 | 356916 | fonts/logix/fonts/logix.woff2
-2022/06/22 | 35348 | systems/texlive/tlnet/archive/xduts.source.r63681.tar.xz
-2022/06/22 | 35241 | macros/latex/contrib/biblatex/latex/lbx/french.lbx
-2022/06/22 | 3520 | macros/latex/contrib/biblatex/doc/examples/94-labelprefix.tex
-2022/06/22 | 3454 | macros/latex/contrib/biblatex/latex/cbx/authortitle-ticomp.cbx
-2022/06/22 | 3437 | macros/latex/contrib/biblatex/latex/bbx/authortitle.bbx
-2022/06/22 | 34260 | fonts/logix/fonts/logixMono.woff
-2022/06/22 | 3398 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.tex
-2022/06/22 | 33968 | fonts/logix/fonts/logixMono.woff2
-2022/06/22 | 33908 | macros/latex/contrib/biblatex/latex/lbx/german.lbx
-2022/06/22 | 33871 | macros/latex/contrib/biblatex/latex/lbx/serbianc.lbx
-2022/06/22 | 33851 | macros/latex/contrib/biblatex/latex/lbx/czech.lbx
-2022/06/22 | 33799 | macros/latex/contrib/siunitx/siunitx-compound.dtx
-2022/06/22 | 33796 | macros/latex/contrib/biblatex/latex/lbx/estonian.lbx
-2022/06/22 | 3344 | macros/luatex/generic/barracuda/test/test-upc/002-upca.pdf
-2022/06/22 | 33363 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa-test.tex
-2022/06/22 | 331915 | macros/latex/contrib/l3packages/xfp.pdf
-2022/06/22 | 32943 | macros/latex/contrib/biblatex/latex/lbx/slovak.lbx
-2022/06/22 | 328741 | macros/latex/contrib/biblatex/doc/examples/74-style-verbose-trad1-biber.pdf
-2022/06/22 | 32796 | macros/latex/contrib/biblatex/latex/lbx/polish.lbx
-2022/06/22 | 32749 | macros/latex/contrib/biblatex/latex/lbx/turkish.lbx
-2022/06/22 | 3273 | macros/latex/contrib/biblatex/doc/examples/95-customlists.tex
-2022/06/22 | 327370 | macros/latex/contrib/biblatex/doc/examples/74-style-verbose-trad1-bibtex.pdf
-2022/06/22 | 32693 | fonts/logix/fonts/logixMono.eot
-2022/06/22 | 32455 | macros/latex/contrib/biblatex/latex/blx-dm.def
-2022/06/22 | 32341 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
-2022/06/22 | 32285 | macros/latex/contrib/biblatex/latex/lbx/danish.lbx
-2022/06/22 | 3206 | macros/latex/contrib/biblatex/doc/examples/61-style-authortitle-ibid.tex
-2022/06/22 | 32062 | macros/latex/contrib/biblatex/latex/lbx/slovene.lbx
-2022/06/22 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
-2022/06/22 | 31486 | macros/latex/contrib/biblatex/latex/lbx/basque.lbx
-2022/06/22 | 31451 | macros/latex/contrib/biblatex/latex/lbx/dutch.lbx
-2022/06/22 | 31281 | macros/latex/contrib/biblatex/doc/examples/90-related-entries-biber.pdf
-2022/06/22 | 3036 | macros/latex/contrib/biblatex/doc/examples/31-style-numeric-comp.tex
-2022/06/22 | 30140 | macros/latex/contrib/biblatex/latex/lbx/portuguese.lbx
-2022/06/22 | 30036 | macros/latex/contrib/biblatex/latex/lbx/norsk.lbx
-2022/06/22 | 30029 | macros/luatex/generic/barracuda/test/test-ga-pdfliteral/001-ga-pdfliteral-test.pdf
-2022/06/22 | 29922 | macros/latex/contrib/biblatex/latex/lbx/brazilian.lbx
-2022/06/22 | 29861 | macros/latex/contrib/biblatex/latex/lbx/croatian.lbx
-2022/06/22 | 29443 | macros/latex/contrib/biblatex/latex/lbx/galician.lbx
-2022/06/22 | 2934 | macros/latex/contrib/biblatex/latex/cbx/authortitle-tcomp.cbx
-2022/06/22 | 2917 | macros/latex/contrib/biblatex/latex/lbx/british.lbx
-2022/06/22 | 290007 | macros/latex/contrib/biblatex/doc/examples/60-style-authortitle-biber.pdf
-2022/06/22 | 2899 | macros/latex/contrib/biblatex/doc/examples/18-numeric-hybrid.tex
-2022/06/22 | 2893 | macros/latex/contrib/biblatex/latex/cbx/authortitle.cbx
-2022/06/22 | 2883 | macros/latex/contrib/siunitx/siunitx-binary.dtx
-2022/06/22 | 283555 | macros/latex/contrib/biblatex/doc/examples/03-localization-keys-biber.pdf
-2022/06/22 | 2833 | macros/latex/contrib/biblatex/doc/examples/63-style-authortitle-icomp.tex
-2022/06/22 | 283040 | macros/latex/contrib/biblatex/doc/examples/03-localization-keys-bibtex.pdf
-2022/06/22 | 280070 | macros/latex/contrib/biblatex/doc/examples/50-style-authoryear-biber.pdf
-2022/06/22 | 277799 | macros/latex/contrib/biblatex/doc/examples/50-style-authoryear-bibtex.pdf
-2022/06/22 | 276 | macros/latex/contrib/biblatex/latex/lbx/austrian.lbx
-2022/06/22 | 275259 | macros/latex/contrib/biblatex/doc/examples/60-style-authortitle-bibtex.pdf
-2022/06/22 | 274161 | macros/latex/contrib/biblatex/doc/examples/73-style-verbose-inote-biber.pdf
-2022/06/22 | 273584 | macros/latex/contrib/biblatex/doc/examples/75-style-verbose-trad2-biber.pdf
-2022/06/22 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
-2022/06/22 | 272786 | macros/latex/contrib/biblatex/doc/examples/73-style-verbose-inote-bibtex.pdf
-2022/06/22 | 272203 | macros/latex/contrib/biblatex/doc/examples/75-style-verbose-trad2-bibtex.pdf
-2022/06/22 | 272059 | macros/latex/contrib/biblatex/doc/examples/71-style-verbose-ibid-biber.pdf
-2022/06/22 | 270799 | macros/latex/contrib/biblatex/doc/examples/76-style-verbose-trad3-biber.pdf
-2022/06/22 | 270652 | macros/latex/contrib/biblatex/doc/examples/71-style-verbose-ibid-bibtex.pdf
-2022/06/22 | 270384 | macros/latex/contrib/biblatex/doc/examples/72-style-verbose-note-biber.pdf
-2022/06/22 | 26958 | macros/latex/contrib/biblatex/latex/lbx/swedish.lbx
-2022/06/22 | 269420 | macros/latex/contrib/biblatex/doc/examples/76-style-verbose-trad3-bibtex.pdf
-2022/06/22 | 268908 | macros/latex/contrib/biblatex/doc/examples/72-style-verbose-note-bibtex.pdf
-2022/06/22 | 2688 | macros/latex/contrib/biblatex/doc/examples/30-style-numeric.tex
-2022/06/22 | 268058 | macros/latex/contrib/biblatex/doc/examples/70-style-verbose-biber.pdf
-2022/06/22 | 2676 | macros/latex/contrib/biblatex-contrib/biblatex-apa/apa.dbx
-2022/06/22 | 266 | macros/luatex/generic/barracuda/test/test-ean/003-ean-test.tex
-2022/06/22 | 266542 | macros/latex/contrib/biblatex/doc/examples/70-style-verbose-bibtex.pdf
-2022/06/22 | 26398 | macros/latex/contrib/biblatex/latex/lbx/icelandic.lbx
-2022/06/22 | 2635 | macros/latex/contrib/biblatex/doc/examples/64-style-authortitle-terse.tex
-2022/06/22 | 262456 | fonts/logix/source/logix.math
-2022/06/22 | 2620 | macros/latex/contrib/siunitx/siunitx-code.tex
-2022/06/22 | 2585 | macros/latex/contrib/biblatex/doc/examples/66-style-authortitle-ticomp.tex
-2022/06/22 | 2580 | macros/latex/contrib/biblatex/doc/examples/80-style-reading.tex
-2022/06/22 | 2572 | macros/latex/contrib/biblatex/latex/cbx/numeric-verb.cbx
-2022/06/22 | 25680 | macros/latex/contrib/biblatex/latex/bbx/standard.bbx
-2022/06/22 | 25628364 | biblio/biber/binaries/Windows/biber-MSWIN64.zip
-2022/06/22 | 2553 | macros/luatex/generic/barracuda/test/test-libgeo/test.svg
-2022/06/22 | 25296 | macros/latex/contrib/biblatex/doc/examples/96-dates-biber.pdf
-2022/06/22 | 24647 | macros/latex/contrib/biblatex/latex/lbx/serbian.lbx
-2022/06/22 | 24613 | macros/latex/contrib/biblatex/latex/blx-bibtex.def
-2022/06/22 | 244291 | macros/latex/contrib/biblatex/doc/examples/80-style-reading-bibtex.pdf
-2022/06/22 | 244291 | macros/latex/contrib/biblatex/doc/examples/80-style-reading-biber.pdf
-2022/06/22 | 2434 | macros/latex/contrib/biblatex/doc/examples/20-indexing-single.tex
-2022/06/22 | 24027 | macros/latex/contrib/biblatex/doc/examples/94-labelprefix-biber.pdf
-2022/06/22 | 23970 | macros/latex/contrib/biblatex/latex/lbx/italian.lbx
-2022/06/22 | 2395 | macros/latex/contrib/biblatex/doc/examples/04-delimiters.tex
-2022/06/22 | 23924 | macros/luatex/generic/barracuda/test/test-ean/001-13-ean-test.pdf
-2022/06/22 | 2388 | macros/latex/contrib/biblatex/latex/cbx/debug.cbx
-2022/06/22 | 23271 | macros/luatex/generic/barracuda/test/test-code39/002-code39-test.pdf
-2022/06/22 | 230964 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/demo/demo-arguelles.gif
-2022/06/22 | 225925 | macros/latex/contrib/biblatex/doc/examples/53-style-authoryear-icomp-bibtex.pdf
-2022/06/22 | 225925 | macros/latex/contrib/biblatex/doc/examples/53-style-authoryear-icomp-biber.pdf
-2022/06/22 | 2257 | macros/latex/contrib/biblatex/latex/cbx/alphabetic-verb.cbx
-2022/06/22 | 2254834 | install/macros/latex/contrib/l3packages.tds.zip
-2022/06/22 | 225032 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa-test.pdf
-2022/06/22 | 2236725 | macros/latex/contrib/l3packages.zip
-2022/06/22 | 222705 | macros/latex/contrib/biblatex/doc/examples/63-style-authortitle-icomp-bibtex.pdf
-2022/06/22 | 222705 | macros/latex/contrib/biblatex/doc/examples/63-style-authortitle-icomp-biber.pdf
-2022/06/22 | 21961426 | biblio/biber/binaries/Linux/biber-linux_x86_32.tar.gz
-2022/06/22 | 21942124 | biblio/biber/binaries/Solaris_Intel/biber-x86_64-pc-solaris2.11.tar.xz
-2022/06/22 | 2190 | macros/latex/contrib/biblatex/latex/blx-natbib.def
-2022/06/22 | 218700 | fonts/logix/tex/logix.sty
-2022/06/22 | 2177 | language/korean/kotex-plain/doc/ChangeLog
-2022/06/22 | 21707 | macros/latex/contrib/biblatex/doc/examples/91-sorting-schemes-biber.pdf
-2022/06/22 | 21683 | macros/latex/contrib/siunitx/siunitx.dtx
-2022/06/22 | 213637 | macros/latex/contrib/biblatex/doc/examples/51-style-authoryear-ibid-bibtex.pdf
-2022/06/22 | 213637 | macros/latex/contrib/biblatex/doc/examples/51-style-authoryear-ibid-biber.pdf
-2022/06/22 | 2126 | macros/latex/contrib/biblatex/latex/blx-mcite.def
-2022/06/22 | 2092586 | fonts/logix/source/logix.vfc
-2022/06/22 | 208 | macros/luatex/generic/barracuda/test/test-ean/002-ean-test.tex
-2022/06/22 | 207854 | macros/latex/contrib/biblatex/doc/examples/02-annotations-biber.pdf
-2022/06/22 | 207609 | macros/latex/contrib/biblatex/doc/examples/40-style-alphabetic-biber.pdf
-2022/06/22 | 207478 | macros/latex/contrib/biblatex/doc/examples/02-annotations-bibtex.pdf
-2022/06/22 | 2071 | macros/latex/contrib/pbalance/pbalance.ins
-2022/06/22 | 20546 | macros/latex/contrib/biblatex/latex/lbx/nynorsk.lbx
-2022/06/22 | 203055 | macros/latex/contrib/biblatex/doc/examples/61-style-authortitle-ibid-bibtex.pdf
-2022/06/22 | 203055 | macros/latex/contrib/biblatex/doc/examples/61-style-authortitle-ibid-biber.pdf
-2022/06/22 | 20185 | macros/latex/contrib/biblatex-contrib/biblatex-apa/apa.cbx
-2022/06/22 | 20158 | macros/luatex/generic/barracuda/test/test-i2of5/001-i2of5-test.pdf
-2022/06/22 | 2012 | macros/luatex/generic/barracuda/test/test-code128/c128-123.svg
-2022/06/22 | 1994 | macros/latex/contrib/biblatex/doc/examples/10-references-per-section.tex
-2022/06/22 | 199318 | macros/latex/contrib/biblatex/doc/examples/40-style-alphabetic-bibtex.pdf
-2022/06/22 | 19910 | macros/luatex/generic/barracuda/test/test-ean/005-isbn-test.pdf
-2022/06/22 | 1988 | macros/latex/contrib/biblatex/doc/examples/40-style-alphabetic.tex
-2022/06/22 | 19829 | macros/luatex/generic/barracuda/test/test-code39/003-code39-test.pdf
-2022/06/22 | 19807 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa.tex
-2022/06/22 | 196392 | macros/latex/contrib/biblatex/doc/examples/31-style-numeric-comp-bibtex.pdf
-2022/06/22 | 195323 | macros/latex/contrib/biblatex/doc/examples/64-style-authortitle-terse-bibtex.pdf
-2022/06/22 | 195323 | macros/latex/contrib/biblatex/doc/examples/64-style-authortitle-terse-biber.pdf
-2022/06/22 | 1942 | macros/latex/contrib/biblatex/doc/examples/16-numeric-prefixed-1.tex
-2022/06/22 | 18 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/VERSION
-2022/06/22 | 18844 | language/korean/kotex-utf/tex/kotexutf.sty
-2022/06/22 | 1876 | macros/latex/contrib/biblatex/doc/examples/11-references-by-section.tex
-2022/06/22 | 186808 | macros/latex/contrib/biblatex/doc/examples/31-style-numeric-comp-biber.pdf
-2022/06/22 | 18589 | macros/luatex/generic/barracuda/test/test-code39/007-code39-test.pdf
-2022/06/22 | 183623 | macros/latex/contrib/biblatex/doc/examples/13-references-by-keyword-biber.pdf
-2022/06/22 | 183127 | macros/latex/contrib/biblatex/doc/examples/14-references-by-category-biber.pdf
-2022/06/22 | 1818 | macros/latex/contrib/biblatex/latex/bbx/numeric.bbx
-2022/06/22 | 181606 | macros/latex/contrib/biblatex/doc/examples/32-style-numeric-verb-bibtex.pdf
-2022/06/22 | 181606 | macros/latex/contrib/biblatex/doc/examples/32-style-numeric-verb-biber.pdf
-2022/06/22 | 1808 | macros/latex/contrib/biblatex/latex/cbx/draft.cbx
-2022/06/22 | 17976 | macros/luatex/generic/barracuda/LICENSE.txt
-2022/06/22 | 1781 | macros/latex/contrib/biblatex/doc/examples/97-annotations.tex
-2022/06/22 | 177358 | macros/latex/contrib/biblatex/doc/examples/21-indexing-multiple-biber.pdf
-2022/06/22 | 177233 | macros/latex/contrib/biblatex/doc/examples/30-style-numeric-bibtex.pdf
-2022/06/22 | 177233 | macros/latex/contrib/biblatex/doc/examples/30-style-numeric-biber.pdf
-2022/06/22 | 17692 | macros/luatex/generic/barracuda/test/test-upc/001-upca-test.pdf
-2022/06/22 | 176169 | macros/latex/contrib/biblatex/doc/examples/20-indexing-single-biber.pdf
-2022/06/22 | 175130 | macros/latex/contrib/biblatex/doc/examples/13-references-by-keyword-bibtex.pdf
-2022/06/22 | 174634 | macros/latex/contrib/biblatex/doc/examples/14-references-by-category-bibtex.pdf
-2022/06/22 | 1744 | macros/latex/contrib/biblatex-contrib/biblatex-apa/README
-2022/06/22 | 1731 | macros/latex/contrib/biblatex/latex/bbx/alphabetic.bbx
-2022/06/22 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
-2022/06/22 | 171031 | macros/latex/contrib/biblatex/doc/examples/21-indexing-multiple-bibtex.pdf
-2022/06/22 | 169 | macros/latex/contrib/biblatex/latex/lbx/american.lbx
-2022/06/22 | 169812 | macros/latex/contrib/biblatex/doc/examples/20-indexing-single-bibtex.pdf
-2022/06/22 | 1682 | macros/latex/contrib/biblatex/doc/examples/14-references-by-category.tex
-2022/06/22 | 167962 | macros/latex/contrib/biblatex/doc/examples/01-introduction-bibtex.pdf
-2022/06/22 | 167962 | macros/latex/contrib/biblatex/doc/examples/01-introduction-biber.pdf
-2022/06/22 | 16709 | macros/latex/contrib/siunitx/siunitx-angle.dtx
-2022/06/22 | 16647 | macros/latex/contrib/biblatex/doc/examples/97-annotations-biber.pdf
-2022/06/22 | 16560 | systems/texlive/tlnet/archive/verifiche.source.r63680.tar.xz
-2022/06/22 | 16541 | macros/luatex/generic/barracuda/test/test-i2of5/002-ITF14-test.pdf
-2022/06/22 | 16501 | macros/latex/contrib/biblatex-contrib/biblatex-apa/ngerman-apa.lbx
-2022/06/22 | 1645376 | systems/texlive/tlnet/archive/csvsimple.doc.r63678.tar.xz
-2022/06/22 | 16407 | macros/latex/contrib/biblatex-contrib/biblatex-apa/swissgerman-apa.lbx
-2022/06/22 | 163 | macros/latex/contrib/biblatex/latex/lbx/canadian.lbx
-2022/06/22 | 1639603 | macros/latex/contrib/biblatex/doc/biblatex.pdf
-2022/06/22 | 16388 | macros/latex/contrib/biblatex-contrib/biblatex-apa/naustrian-apa.lbx
-2022/06/22 | 16387 | macros/latex/contrib/biblatex-contrib/biblatex-apa/austrian-apa.lbx
-2022/06/22 | 16374 | macros/latex/contrib/biblatex-contrib/biblatex-apa/nswissgerman-apa.lbx
-2022/06/22 | 16360 | macros/latex/contrib/biblatex-contrib/biblatex-apa/german-apa.lbx
-2022/06/22 | 16065 | macros/latex/contrib/biblatex-contrib/biblatex-apa/turkish-apa.lbx
-2022/06/22 | 159 | macros/latex/contrib/biblatex/doc/examples/95-customlists.dbx
-2022/06/22 | 158390 | macros/latex/contrib/siunitx/siunitx.tex
-2022/06/22 | 158306 | macros/latex/contrib/biblatex/doc/examples/19-alphabetic-prefixed-biber.pdf
-2022/06/22 | 1581 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerinnerthemeArguelles.sty
-2022/06/22 | 157684 | macros/latex/contrib/biblatex/doc/examples/16-numeric-prefixed-1-biber.pdf
-2022/06/22 | 157655 | macros/latex/contrib/biblatex/doc/examples/17-numeric-prefixed-2-biber.pdf
-2022/06/22 | 157616 | macros/latex/contrib/biblatex/doc/examples/19-alphabetic-prefixed-bibtex.pdf
-2022/06/22 | 156540 | macros/latex/contrib/biblatex/doc/examples/17-numeric-prefixed-2-bibtex.pdf
-2022/06/22 | 156540 | macros/latex/contrib/biblatex/doc/examples/16-numeric-prefixed-1-bibtex.pdf
-2022/06/22 | 1561 | macros/latex/contrib/l3packages/xtemplate.ins
-2022/06/22 | 15534 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
-2022/06/22 | 1549 | macros/latex/contrib/biblatex/doc/examples/92-bibliographylists.tex
-2022/06/22 | 1546 | macros/latex/contrib/biblatex/doc/examples/32-style-numeric-verb.tex
-2022/06/22 | 15341 | macros/luatex/generic/barracuda/test/test-code39/004-code39-test.pdf
-2022/06/22 | 15338 | macros/latex/contrib/biblatex-contrib/biblatex-apa/american-apa.lbx
-2022/06/22 | 1512723 | install/macros/latex/contrib/siunitx.tds.zip
-2022/06/22 | 15101 | macros/luatex/generic/barracuda/test/test-ga-pdfliteral/002-polyline.pdf
-2022/06/22 | 15099 | macros/luatex/generic/barracuda/test/test-ean/006-issn-test.pdf
-2022/06/22 | 1498180 | fonts/logix/fonts/logix.ttf
-2022/06/22 | 149733 | macros/latex/contrib/biblatex/doc/examples/81-style-draft-bibtex.pdf
-2022/06/22 | 149733 | macros/latex/contrib/biblatex/doc/examples/81-style-draft-biber.pdf
-2022/06/22 | 149679 | macros/latex/contrib/biblatex/doc/examples/82-style-debug-biber.pdf
-2022/06/22 | 148860 | macros/latex/contrib/biblatex/doc/examples/82-style-debug-bibtex.pdf
-2022/06/22 | 147776 | macros/latex/contrib/biblatex/doc/examples/66-style-authortitle-ticomp-bibtex.pdf
-2022/06/22 | 147776 | macros/latex/contrib/biblatex/doc/examples/66-style-authortitle-ticomp-biber.pdf
-2022/06/22 | 147304 | macros/latex/contrib/biblatex/doc/examples/52-style-authoryear-comp-bibtex.pdf
-2022/06/22 | 147304 | macros/latex/contrib/biblatex/doc/examples/52-style-authoryear-comp-biber.pdf
-2022/06/22 | 1468640 | macros/latex/contrib/siunitx.zip
-2022/06/22 | 145405 | macros/latex/contrib/siunitx/siunitx-number.dtx
-2022/06/22 | 1444 | macros/latex/contrib/l3packages/l3keys2e-demo.tex
-2022/06/22 | 143176 | macros/latex/contrib/biblatex/doc/examples/65-style-authortitle-tcomp-bibtex.pdf
-2022/06/22 | 143176 | macros/latex/contrib/biblatex/doc/examples/65-style-authortitle-tcomp-biber.pdf
-2022/06/22 | 142 | macros/luatex/generic/barracuda/test/test-code39/005-code39-test.lua
-2022/06/22 | 14153 | macros/latex/contrib/biblatex/doc/examples/74-style-verbose-trad1.tex
-2022/06/22 | 140 | macros/luatex/generic/barracuda/test/test-ean/004-ean-test.tex
-2022/06/22 | 1409 | macros/latex/contrib/biblatex/doc/examples/19-alphabetic-prefixed.tex
-2022/06/22 | 14087 | macros/luatex/generic/barracuda/test/test-libgeo/001-libgeo-test.pdf
-2022/06/22 | 13919 | macros/latex/contrib/biblatex/latex/blx-compat.def
-2022/06/22 | 1346 | macros/latex/contrib/biblatex/doc/examples/65-style-authortitle-tcomp.tex
-2022/06/22 | 1340 | macros/latex/contrib/biblatex/doc/examples/12-references-by-segment.tex
-2022/06/22 | 1334 | macros/latex/contrib/biblatex/doc/examples/62-style-authortitle-comp.tex
-2022/06/22 | 132 | macros/latex/contrib/biblatex/latex/lbx/portuges.lbx
-2022/06/22 | 13266 | language/korean/kotex-plain.zip
-2022/06/22 | 132465 | macros/latex/contrib/biblatex/doc/examples/biblatex-examples.bltxml
-2022/06/22 | 132465 | macros/latex/contrib/biblatex/biber/bltxml/biblatex-examples.bltxml
-2022/06/22 | 1311 | macros/latex/contrib/biblatex/doc/examples/13-references-by-keyword.tex
-2022/06/22 | 13099 | macros/latex/contrib/biblatex-contrib/biblatex-apa/biblatex-apa-test-citations.bib
-2022/06/22 | 1306 | macros/latex/contrib/l3packages/xfrac.ins
-2022/06/22 | 129 | macros/latex/contrib/biblatex/latex/lbx/USenglish.lbx
-2022/06/22 | 128 | macros/latex/contrib/biblatex/latex/lbx/brazil.lbx
-2022/06/22 | 1287 | macros/latex/contrib/biblatex/doc/examples/17-numeric-prefixed-2.tex
-2022/06/22 | 1284 | macros/latex/contrib/biblatex/latex/cbx/authortitle-terse.cbx
-2022/06/22 | 127 | macros/latex/contrib/biblatex/latex/lbx/UKenglish.lbx
-2022/06/22 | 127 | macros/latex/contrib/biblatex/latex/lbx/slovenian.lbx
-2022/06/22 | 1272 | macros/latex/contrib/l3packages/xparse.ins
-2022/06/22 | 126042 | macros/latex/contrib/biblatex/doc/examples/62-style-authortitle-comp-bibtex.pdf
-2022/06/22 | 126042 | macros/latex/contrib/biblatex/doc/examples/62-style-authortitle-comp-biber.pdf
-2022/06/22 | 125 | macros/latex/contrib/biblatex/latex/lbx/hungarian.lbx
-2022/06/22 | 12400 | macros/latex/contrib/biblatex/doc/examples/93-nameparts.tex
-2022/06/22 | 12312 | macros/latex/contrib/l3packages/l3keys2e.dtx
-2022/06/22 | 12296 | macros/latex/contrib/biblatex/doc/examples/95-customlists-biber.pdf
-2022/06/22 | 1228 | macros/latex/contrib/l3packages/l3keys2e.ins
-2022/06/22 | 1196 | macros/luatex/generic/barracuda/test/test-ean/005-isbn-test.tex
-2022/06/22 | 119269 | macros/latex/contrib/biblatex/doc/examples/15-references-by-type-bibtex.pdf
-2022/06/22 | 119269 | macros/latex/contrib/biblatex/doc/examples/15-references-by-type-biber.pdf
-2022/06/22 | 1191 | macros/latex/contrib/l3packages/xfp.ins
-2022/06/22 | 1184 | macros/luatex/generic/barracuda/INSTALL.txt
-2022/06/22 | 117927 | biblio/biber/documentation/utf8-macro-map.html
-2022/06/22 | 11680 | macros/latex/contrib/biblatex-contrib/biblatex-apa/catalan-apa.lbx
-2022/06/22 | 1160 | macros/latex/contrib/biblatex/latex/bbx/draft.bbx
-2022/06/22 | 11340 | systems/texlive/tlnet/archive/csvsimple.r63678.tar.xz
-2022/06/22 | 1130 | macros/luatex/generic/barracuda/test/test-libgeo/003-ga-svg-test.pdf
-2022/06/22 | 112916 | macros/latex/contrib/biblatex/doc/examples/18-numeric-hybrid-bibtex.pdf
-2022/06/22 | 112916 | macros/latex/contrib/biblatex/doc/examples/18-numeric-hybrid-biber.pdf
-2022/06/22 | 11264 | macros/latex/contrib/biblatex-contrib/biblatex-apa/spanish-apa.lbx
-2022/06/22 | 11262 | macros/latex/contrib/biblatex-contrib/biblatex-apa/greek-apa.lbx
-2022/06/22 | 1121 | macros/luatex/generic/barracuda/test/test-ean/006-issn-test.tex
-2022/06/22 | 111947 | macros/latex/contrib/biblatex/doc/examples/41-style-alphabetic-verb-bibtex.pdf
-2022/06/22 | 111947 | macros/latex/contrib/biblatex/doc/examples/41-style-alphabetic-verb-biber.pdf
-2022/06/22 | 11075506 | language/korean/kotex-utf.zip
-2022/06/22 | 10959 | macros/latex/contrib/biblatex-contrib/biblatex-apa/galician-apa.lbx
-2022/06/22 | 1081 | macros/luatex/generic/barracuda/doc/manual/barracuda-manual-tool.tex
-2022/06/22 | 10812 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2022/06/22 | 1067987 | biblio/biber/source/biblatex-biber.tar.gz
-2022/06/22 | 10678 | macros/latex/contrib/biblatex-contrib/biblatex-apa/russian-apa.lbx
-2022/06/22 | 10674 | macros/luatex/generic/barracuda/test/test-ean/002-ean-test.pdf
-2022/06/22 | 10668 | macros/latex/contrib/biblatex-contrib/biblatex-apa/slovene-apa.lbx
-2022/06/22 | 1059683 | macros/latex/contrib/biblatex/doc/biblatex.tex
-2022/06/22 | 1048 | macros/luatex/generic/barracuda/test/test-code39/006-code39-test.lua
-2022/06/22 | 10442 | macros/latex/contrib/biblatex-contrib/biblatex-apa/danish-apa.lbx
-2022/06/22 | 10374 | macros/latex/contrib/biblatex/latex/cbx/numeric-comp.cbx
-2022/06/22 | 103660 | macros/latex/contrib/siunitx/siunitx-unit.dtx
-2022/06/22 | 102 | macros/latex/contrib/biblatex/latex/bbx/authortitle-ticomp.bbx
-2022/06/22 | 102 | macros/latex/contrib/biblatex/doc/examples/93-nameparts.dbx
-2022/06/22 | 10291 | macros/latex/contrib/biblatex-contrib/biblatex-apa/italian-apa.lbx
-2022/06/22 | 10290 | fonts/logix/CHANGELOG
-2022/06/22 | 1027 | macros/latex/contrib/beamer-contrib/themes/beamertheme-arguelles/beamerthemeArguelles.sty
-2022/06/22 | 10252 | macros/latex/contrib/biblatex-contrib/biblatex-apa/finnish-apa.lbx
-2022/06/22 | 10243 | macros/latex/contrib/biblatex-contrib/biblatex-apa/french-apa.lbx
-2022/06/22 | 101 | macros/latex/contrib/biblatex/latex/bbx/authortitle-terse.bbx
-2022/06/22 | 101 | macros/latex/contrib/biblatex/latex/bbx/authortitle-tcomp.bbx
-2022/06/22 | 101 | macros/latex/contrib/biblatex/latex/bbx/authortitle-icomp.bbx
-2022/06/22 | 101002 | macros/latex/contrib/biblatex/doc/examples/42-style-alphabetic-template-bibtex.pdf
-2022/06/22 | 101002 | macros/latex/contrib/biblatex/doc/examples/42-style-alphabetic-template-biber.pdf
-2022/06/22 | 100 | macros/latex/contrib/biblatex/latex/bbx/authortitle-ibid.bbx
-2022/06/22 | 100 | macros/latex/contrib/biblatex/latex/bbx/authortitle-comp.bbx
-2022/06/22 | 100964 | macros/latex/contrib/l3packages/xtemplate.dtx
-2022/06/22 | 10051 | macros/latex/contrib/biblatex-contrib/biblatex-apa/nynorsk-apa.lbx
-2022/06/22 | 10035 | macros/latex/contrib/biblatex-contrib/biblatex-apa/brazilian-apa.lbx
-2022/06/22 | 10032 | macros/latex/contrib/biblatex-contrib/biblatex-apa/portuguese-apa.lbx
diff --git a/macros/generic/markdown/README.md b/macros/generic/markdown/README.md
index 2cc772807b..3fd5e5fef6 100644
--- a/macros/generic/markdown/README.md
+++ b/macros/generic/markdown/README.md
@@ -2,10 +2,8 @@ Markdown
========
[![license](https://img.shields.io/github/license/witiko/markdown)](LICENSE)
-[![release](https://img.shields.io/github/release/witiko/markdown.svg)][release]
-[![docker pulls](https://img.shields.io/docker/pulls/witiko/markdown)][docker-witiko/markdown]
-[![docker image size](https://img.shields.io/docker/image-size/witiko/markdown/latest)][docker-witiko/markdown]
[![ci](https://github.com/witiko/markdown/actions/workflows/main.yml/badge.svg)][ci]
+[![release](https://img.shields.io/github/release/witiko/markdown)][release]
[release]: https://github.com/Witiko/markdown/releases/latest "Releases · Witiko/markdown"
[ci]: https://github.com/Witiko/markdown/actions "GitHub Actions"
@@ -207,7 +205,7 @@ For further information, consult one of the following:
[tb133]: https://www.overleaf.com/read/pshkckczmmjn "Markdown 2.15.0: What's New?"
[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"
+ [tb131-video]: https://youtu.be/THmPkAncMnc "Markdown 2.10.0: LaTeX Themes & Snippets, Two Flavors of Comments, and LuaMetaTeX"
[10.5300/2016-1-4/78]: https://bulletin.cstug.cz/pdf/2016-1-4.pdf#page=80 "Rendering Markdown inside TeX Documents"
[10.5300/2020-1-2/48]: https://bulletin.cstug.cz/pdf/2020-1-2.pdf#page=50 "Markdown 2.8.1: Boldly Unto the Throne of Lightweight Markup in TeX"
@@ -262,7 +260,7 @@ such as XeTeX (`xetex markdown.ins`) or LuaTeX (`luatex markdown.ins`), several
files are produced from the `markdown.dtx` document. The `make base` command
is provided by `Makefile` for convenience. In `markdown.dtx`, the boundaries
between the produced files are marked up using an XML-like syntax provided by
-the [DocStrip][] plain TeX package.
+the [l3docstrip][] plain TeX package.
Running the [LaTeXMK][] tool on the `markdown.dtx` file
(`latexmk markdown.dtx`) after the Markdown package has been
@@ -279,7 +277,7 @@ reproduced by running the `docker build` command on `Dockerfile` (`docker build
`Makefile` for convenience.
[doc]: https://ctan.org/pkg/doc "doc – Format LaTeX documentation"
- [DocStrip]: https://ctan.org/pkg/docstrip "docstrip – Remove comments from file"
+ [l3docstrip]: https://ctan.org/pkg/l3docstrip "l3docstrip – Strip documentation in LaTeX3 source"
[LaTeXMK]: https://ctan.org/pkg/latexmk "latexmk – Fully automated LaTeX document generation"
[literate programming]: https://en.wikipedia.org/wiki/Literate_programming "Literate programming"
[ltxdockit]: https://ctan.org/pkg/ltxdockit "ltxdockit – Documentation support"
diff --git a/macros/generic/markdown/VERSION b/macros/generic/markdown/VERSION
index 2ce872efb1..f0e62420c6 100644
--- a/macros/generic/markdown/VERSION
+++ b/macros/generic/markdown/VERSION
@@ -1 +1 @@
-2.15.2-0-gb238dbc (2022/05/31)
+2.15.3-0-g7c8e03d (2022/06/27)
diff --git a/macros/generic/markdown/docstrip.cfg b/macros/generic/markdown/docstrip.cfg
index 2531152108..60a3d2a111 100644
--- a/macros/generic/markdown/docstrip.cfg
+++ b/macros/generic/markdown/docstrip.cfg
@@ -62,18 +62,15 @@
\let\luapostamble\empty
\declarepreamble\texpreamble
-Copyright (C) 2016-2021 Vít Novotný
+Copyright (C) 2016-2022 Vít Novotný
This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
+conditions of the LaTeX Project Public License, either version 1.3c
of this license or (at your option) any later version.
The latest version of this license is in
http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2005/12/01 or later.
-
This work has the LPPL maintenance status `maintained'.
The Current Maintainer of this work is Vít Novotný.
diff --git a/macros/generic/markdown/examples/latex.tex b/macros/generic/markdown/examples/latex.tex
index 337263d38f..a09706a8ae 100644
--- a/macros/generic/markdown/examples/latex.tex
+++ b/macros/generic/markdown/examples/latex.tex
@@ -52,7 +52,7 @@ Here are some non-ASCII characters: *ěščřžýáíé*.
\end{markdown}
\begin{markdown*}{html, hybrid}
-Here is some <b>HTML code</b> mixed *with Markdown*. In pdf \TeX, the HTML code
+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:
diff --git a/macros/generic/markdown/markdown.dtx b/macros/generic/markdown/markdown.dtx
index 13b58e64c8..da5159498c 100644
--- a/macros/generic/markdown/markdown.dtx
+++ b/macros/generic/markdown/markdown.dtx
@@ -1,7 +1,6 @@
% \iffalse
-%<@@=markdown>
%<*driver>
-\documentclass{ltxdockit}
+\documentclass[nohyperref]{ltxdockit}
\usepackage[american]{babel}
\usepackage{amsmath,btxdockit,doc,fancyvrb,graphicx,hologo,microtype,minted}
@@ -99,9 +98,9 @@
\newunicodechar{☒}{\markdownRendererTickedBox}
\newunicodechar{⌛}{\markdownRendererHalfTickedBox}
\newunicodechar{☐}{\markdownRendererUntickedBox}
+\usepackage{emoji}
\makeatletter
\@ifpackagelater{emoji}{2020/03/16}{
- \usepackage{emoji}
\newunicodechar{😉}{\emoji{winking-face}}
}{
\newunicodechar{😉}{;-)}
@@ -812,8 +811,6 @@ abbr {
#1\footnote{See \url{#3}.}}
\RequirePackage{varioref}
\vrefwarning
-\def\markdownLaTeXRendererRelativeLink#1{%
- \ref{#1}}
\markdownSetupSnippet{options}{
rendererPrototypes = {
dlBegin = {\begin{optionlist}},
@@ -1106,21 +1103,30 @@ local md5 = require("md5")
%
% The plain \TeX{} part of the package requires that the plain \TeX{}
% format (or its superset) is loaded, all the Lua prerequisites (see
-% Section <#sec:luaprerequisites>), and the following package:
+% Section <#sec:luaprerequisites>), and the following packages:
%
% \pkg{expl3}
%
%: A package that enables the expl3 language from the \LaTeX3 kernel in
-% \TeX{} Live${}\leq{}2019$. It is not used for anything... yet.
+% \TeX{} Live${}\leq{}2019$. It is used to implement reflection
+% capabilities that allow us to enumerate and inspect high-level concepts
+% such as options, renderers, and renderer prototypes.
%
% \end{markdown}
% \begin{macrocode}
+%<@@=markdown>
\ifx\ExplSyntaxOn\undefined
\input expl3-generic\relax
\fi
% \end{macrocode}
% \begin{markdown}
%
+% \pkg{lt3luabridge}
+%
+%: A package that allows us to execute Lua code with LuaTeX as well as
+% with other TeX engines that provide the *shell escape* capability,
+% which allows them to execute code with the system's shell.
+%
% The plain \TeX{} part of the package also requires the following Lua module:
%
% \pkg{Lua File System}
@@ -1842,15 +1848,238 @@ interfaces and all the way up to the \LaTeX{} and \Hologo{ConTeXt} interfaces.
% \begin{macrocode}
\prop_new:N \g_@@_lua_option_types_prop
\prop_new:N \g_@@_default_lua_options_prop
+\seq_new:N \g_@@_option_layers_seq
+\tl_const:Nn \c_@@_option_layer_lua_tl { lua }
+\seq_put_right:NV \g_@@_option_layers_seq \c_@@_option_layer_lua_tl
+\cs_new:Nn
+ \@@_add_lua_option:nnn
+ {
+ \@@_add_option:Vnnn
+ \c_@@_option_layer_lua_tl
+ { #1 }
+ { #2 }
+ { #3 }
+ }
+\cs_new:Nn
+ \@@_add_option:nnnn
+ {
+ \seq_put_right:cn
+ { g_@@_ #1 _options_seq }
+ { #2 }
+ \prop_put:cnn
+ { g_@@_ #1 _option_types_prop }
+ { #2 }
+ { #3 }
+ \prop_put:cnn
+ { g_@@_default_ #1 _options_prop }
+ { #2 }
+ { #4 }
+ \@@_typecheck_option:n
+ { #2 }
+ }
+\cs_generate_variant:Nn
+ \@@_add_option:nnnn
+ { Vnnn }
+\tl_const:Nn \c_@@_option_value_true_tl { true }
+\tl_const:Nn \c_@@_option_value_false_tl { false }
+\cs_new:Nn \@@_typecheck_option:n
+ {
+ \@@_get_option_type:nN
+ { #1 }
+ \l_tmpa_tl
+ \str_case_e:Vn
+ \l_tmpa_tl
+ {
+ { \c_@@_option_type_boolean_tl }
+ {
+ \@@_get_option_value:nN
+ { #1 }
+ \l_tmpa_tl
+ \bool_if:nF
+ {
+ \str_if_eq_p:VV
+ \l_tmpa_tl
+ \c_@@_option_value_true_tl ||
+ \str_if_eq_p:VV
+ \l_tmpa_tl
+ \c_@@_option_value_false_tl
+ }
+ {
+ \msg_error:nnnV
+ { @@ }
+ { failed-typecheck-for-boolean-option }
+ { #1 }
+ \l_tmpa_tl
+ }
+ }
+ }
+ }
+\msg_new:nnn
+ { @@ }
+ { failed-typecheck-for-boolean-option }
+ {
+ Option~#1~has~value~#2,~
+ but~a~boolean~(true~or~false)~was~expected.
+ }
+\cs_generate_variant:Nn
+ \str_case_e:nn
+ { Vn }
+\cs_generate_variant:Nn
+ \msg_error:nnnn
+ { nnnV }
+\seq_new:N \g_@@_option_types_seq
+\tl_const:Nn \c_@@_option_type_counter_tl { counter }
+\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_counter_tl
+\tl_const:Nn \c_@@_option_type_boolean_tl { boolean }
+\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_boolean_tl
+\tl_const:Nn \c_@@_option_type_number_tl { number }
+\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_number_tl
+\tl_const:Nn \c_@@_option_type_path_tl { path }
+\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_path_tl
+\tl_const:Nn \c_@@_option_type_slice_tl { slice }
+\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_slice_tl
+\tl_const:Nn \c_@@_option_type_string_tl { string }
+\seq_put_right:NV \g_@@_option_types_seq \c_@@_option_type_string_tl
+\cs_new:Nn
+ \@@_get_option_type:nN
+ {
+ \bool_set_false:N
+ \l_tmpa_bool
+ \seq_map_inline:Nn
+ \g_@@_option_layers_seq
+ {
+ \prop_get:cnNT
+ { g_@@_ ##1 _option_types_prop }
+ { #1 }
+ \l_tmpa_tl
+ {
+ \bool_set_true:N
+ \l_tmpa_bool
+ \seq_map_break:
+ }
+ }
+ \bool_if:nF
+ \l_tmpa_bool
+ {
+ \msg_error:nnn
+ { @@ }
+ { undefined-option }
+ { #1 }
+ }
+ \seq_if_in:NVF
+ \g_@@_option_types_seq
+ \l_tmpa_tl
+ {
+ \msg_error:nnnV
+ { @@ }
+ { unknown-option-type }
+ { #1 }
+ \l_tmpa_tl
+ }
+ \tl_set_eq:NN
+ #2
+ \l_tmpa_tl
+ }
+\msg_new:nnn
+ { @@ }
+ { unknown-option-type }
+ {
+ Option~#1~has~unknown~type~#2.
+ }
+\msg_new:nnn
+ { @@ }
+ { undefined-option }
+ {
+ Option~#1~is~undefined.
+ }
+\cs_new:Nn
+ \@@_get_default_option_value:nN
+ {
+ \bool_set_false:N
+ \l_tmpa_bool
+ \seq_map_inline:Nn
+ \g_@@_option_layers_seq
+ {
+ \prop_get:cnNT
+ { g_@@_default_ ##1 _options_prop }
+ { #1 }
+ #2
+ {
+ \bool_set_true:N
+ \l_tmpa_bool
+ \seq_map_break:
+ }
+ }
+ \bool_if:nF
+ \l_tmpa_bool
+ {
+ \msg_error:nnn
+ { @@ }
+ { undefined-option }
+ { #1 }
+ }
+ }
+\cs_new:Nn
+ \@@_get_option_value:nN
+ {
+ \@@_option_tl_to_csname:nN
+ { #1 }
+ \l_tmpa_tl
+ \cs_if_free:cTF
+ { \l_tmpa_tl }
+ {
+ \@@_get_default_option_value:nN
+ { #1 }
+ #2
+ }
+ {
+ \@@_get_option_type:nN
+ { #1 }
+ \l_tmpa_tl
+ \str_if_eq:NNTF
+ \c_@@_option_type_counter_tl
+ \l_tmpa_tl
+ {
+ \@@_option_tl_to_csname:nN
+ { #1 }
+ \l_tmpa_tl
+ \tl_set:Nx
+ #2
+ { \the \cs:w \l_tmpa_tl \cs_end: }
+ }
+ {
+ \@@_option_tl_to_csname:nN
+ { #1 }
+ \l_tmpa_tl
+ \tl_set:Nv
+ #2
+ { \l_tmpa_tl }
+ }
+ }
+ }
+\cs_new:Nn \@@_option_tl_to_csname:nN
+ {
+ \tl_set:Nn
+ \l_tmpa_tl
+% TODO: Replace with \str_uppercase:n in TeX Live 2020.
+ { \str_upper_case:n { #1 } }
+ \tl_set:Nx
+ #2
+ {
+ markdownOption
+ \tl_head:f { \l_tmpa_tl }
+ \tl_tail:n { #1 }
+ }
+ }
% \end{macrocode}
% \iffalse
%</tex>
%<*manual-options>
% \fi
% \begin{markdown}
-%
+%
%### File and Directory Names
-%
+%
% \end{markdown}
% \par
% \iffalse
@@ -1998,17 +2227,10 @@ option.
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { cacheDir }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
- { cacheDir }
- { string }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
+\@@_add_lua_option:nnn
{ cacheDir }
- { . }
+ { path }
+ { \markdownOptionOutputDir / _markdown_\jobname }
% \end{macrocode}
% \iffalse
%</tex>
@@ -2233,17 +2455,10 @@ the markdown document from “Hello *world*!” to “Hi *world*!” was not ref
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { frozenCacheFileName }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ frozenCacheFileName }
- { string }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { frozenCacheFileName }
- { frozenCache.tex }
+ { path }
+ { \markdownOptionCacheDir / frozenCache.tex }
% \end{macrocode}
% \iffalse
%</tex>
@@ -2464,16 +2679,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { blankBeforeBlockquote }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ blankBeforeBlockquote }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { blankBeforeBlockquote }
{ false }
% \end{macrocode}
% \iffalse
@@ -2720,16 +2928,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { blankBeforeCodeFence }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ blankBeforeCodeFence }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { blankBeforeCodeFence }
{ false }
% \end{macrocode}
% \iffalse
@@ -2959,16 +3160,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { blankBeforeHeading }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ blankBeforeHeading }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { blankBeforeHeading }
{ false }
% \end{macrocode}
% \iffalse
@@ -3190,16 +3384,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { breakableBlockquotes }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ breakableBlockquotes }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { breakableBlockquotes }
{ false }
% \end{macrocode}
% \iffalse
@@ -3291,16 +3478,9 @@ following text, where the middot (`·`) denotes a non-breaking space:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { citationNbsps }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ citationNbsps }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { citationNbsps }
{ true }
% \end{macrocode}
% \iffalse
@@ -3326,7 +3506,7 @@ defaultOptions.citationNbsps = true
%
: true
- : Enable the pandoc citation syntax extension:
+ : Enable the Pandoc citation syntax extension:
``` md
Here is a simple parenthetical citation [@doe99] and here
@@ -3346,7 +3526,7 @@ defaultOptions.citationNbsps = true
: false
- : Disable the pandoc citation syntax extension.
+ : Disable the Pandoc citation syntax extension.
% \end{markdown}
% \iffalse
@@ -3399,16 +3579,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { citations }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ citations }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { citations }
{ false }
% \end{macrocode}
% \iffalse
@@ -3624,16 +3797,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { codeSpans }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ codeSpans }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { codeSpans }
{ true }
% \end{macrocode}
% \iffalse
@@ -3805,16 +3971,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { contentBlocks }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ contentBlocks }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { contentBlocks }
{ false }
% \end{macrocode}
% \iffalse
@@ -3838,7 +3997,7 @@ defaultOptions.contentBlocks = false
%
% \Valitem[markdown-languages.json]{contentBlocksLanguageMap}{filename}
%
-: The filename of the JSON file that maps filename extensions to
+: The filename of the \acro{JSON} file that maps filename extensions to
programming language names in the iA\,Writer content blocks.
% See Section <#sec:texcontentblockrenderers> for more information.
@@ -3972,16 +4131,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { contentBlocksLanguageMap }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
- { contentBlocksLanguageMap }
- { string }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
+\@@_add_lua_option:nnn
{ contentBlocksLanguageMap }
+ { path }
{ markdown-languages.json }
% \end{macrocode}
% \iffalse
@@ -4118,16 +4270,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { definitionLists }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ definitionLists }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { definitionLists }
{ false }
% \end{macrocode}
% \iffalse
@@ -4226,16 +4371,9 @@ Hello \markdownRendererEmphasis{world}!\relax
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { eagerCache }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ eagerCache }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { eagerCache }
{ true }
% \end{macrocode}
% \iffalse
@@ -4361,16 +4499,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { expectJekyllData }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ expectJekyllData }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { expectJekyllData }
{ false }
% \end{macrocode}
% \iffalse
@@ -4536,16 +4667,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { fencedCode }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ fencedCode }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { fencedCode }
{ false }
% \end{macrocode}
% \iffalse
@@ -4707,16 +4831,9 @@ the markdown document from “Hello *world*!” to “Hi *world*!” was not ref
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { finalizeCache }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ finalizeCache }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { finalizeCache }
{ false }
% \end{macrocode}
% \iffalse
@@ -4742,7 +4859,7 @@ defaultOptions.finalizeCache = false
%
: true
- : Enable the pandoc footnote syntax extension:
+ : Enable the Pandoc footnote syntax extension:
``` md
Here is a footnote reference,[^1] and another.[^longnote]
@@ -4766,7 +4883,7 @@ defaultOptions.finalizeCache = false
: false
- : Disable the pandoc footnote syntax extension.
+ : Disable the Pandoc footnote syntax extension.
% \end{markdown}
% \iffalse
@@ -4883,16 +5000,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { footnotes }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ footnotes }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { footnotes }
{ false }
% \end{macrocode}
% \iffalse
@@ -4955,16 +5065,9 @@ requested using the `frozenCacheCounter` option.
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { frozenCacheCounter }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ frozenCacheCounter }
{ counter }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { frozenCacheCounter }
{ 0 }
% \end{macrocode}
% \iffalse
@@ -5046,16 +5149,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { hardLineBreaks }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ hardLineBreaks }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { hardLineBreaks }
{ false }
% \end{macrocode}
% \iffalse
@@ -5184,16 +5280,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { hashEnumerators }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ hashEnumerators }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { hashEnumerators }
{ false }
% \end{macrocode}
% \iffalse
@@ -5246,16 +5335,9 @@ defaultOptions.hashEnumerators = false
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { headerAttributes }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ headerAttributes }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { headerAttributes }
{ false }
% \end{macrocode}
% \iffalse
@@ -5515,16 +5597,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { html }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ html }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { html }
{ false }
% \end{macrocode}
% \iffalse
@@ -5733,16 +5808,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { hybrid }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ hybrid }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { hybrid }
{ false }
% \end{macrocode}
% \iffalse
@@ -5768,7 +5836,7 @@ defaultOptions.hybrid = false
%
: true
- : Enable the pandoc inline footnote syntax extension:
+ : Enable the Pandoc inline footnote syntax extension:
``` md
Here is an inline note.^[Inlines notes are easier to
@@ -5778,7 +5846,7 @@ defaultOptions.hybrid = false
: false
- : Disable the pandoc inline footnote syntax extension.
+ : Disable the Pandoc inline footnote syntax extension.
% \end{markdown}
% \iffalse
@@ -5839,16 +5907,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { inlineFootnotes }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ inlineFootnotes }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { inlineFootnotes }
{ false }
% \end{macrocode}
% \iffalse
@@ -6014,16 +6075,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { jekyllData }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ jekyllData }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { jekyllData }
{ false }
% \end{macrocode}
% \iffalse
@@ -6049,7 +6103,7 @@ defaultOptions.jekyllData = false
%
: true
- : Enable the \acro{PHP} Markdown table syntax extension:
+ : Enable the \acro{PHP} Markdown pipe table syntax extension:
``` md
| Right | Left | Default | Center |
@@ -6061,7 +6115,7 @@ defaultOptions.jekyllData = false
: false
- : Disable the \acro{PHP} Markdown table syntax extension.
+ : Disable the \acro{PHP} Markdown pipe table syntax extension.
% \end{markdown}
% \iffalse
@@ -6130,16 +6184,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { pipeTables }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ pipeTables }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { pipeTables }
{ false }
% \end{macrocode}
% \iffalse
@@ -6177,16 +6224,9 @@ defaultOptions.pipeTables = false
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { preserveTabs }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ preserveTabs }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { preserveTabs }
{ false }
% \end{macrocode}
% \iffalse
@@ -6273,16 +6313,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { relativeReferences }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ relativeReferences }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { relativeReferences }
{ false }
% \end{macrocode}
% \iffalse
@@ -6425,16 +6458,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { shiftHeadings }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ shiftHeadings }
{ number }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { shiftHeadings }
{ 0 }
% \end{macrocode}
% \iffalse
@@ -6650,15 +6676,8 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
+\@@_add_lua_option:nnn
{ slice }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
- { slice }
- { string }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
{ slice }
{ ^~$ }
% \end{macrocode}
@@ -6864,16 +6883,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { smartEllipses }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ smartEllipses }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { smartEllipses }
{ false }
% \end{macrocode}
% \iffalse
@@ -7007,16 +7019,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { startNumber }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ startNumber }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { startNumber }
{ true }
% \end{macrocode}
% \iffalse
@@ -7127,16 +7132,9 @@ text “Hello *world*!”
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { stripIndent }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ stripIndent }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { stripIndent }
{ false }
% \end{macrocode}
% \iffalse
@@ -7258,16 +7256,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { tableCaptions }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ tableCaptions }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { tableCaptions }
{ false }
% \end{macrocode}
% \iffalse
@@ -7375,16 +7366,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { taskLists }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ taskLists }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { taskLists }
{ false }
% \end{macrocode}
% \iffalse
@@ -7498,16 +7482,9 @@ text “Hello *world*!”
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { texComments }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ texComments }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { texComments }
{ false }
% \end{macrocode}
% \iffalse
@@ -7534,7 +7511,7 @@ defaultOptions.texComments = false
%
: true
- : Unordered and ordered Lists whose items do not consist of multiple
+ : Unordered and ordered lists whose items do not consist of multiple
paragraphs will be considered *tight*. Tight lists will produce tight
renderers that may produce different output than lists that are not
tight:
@@ -7627,16 +7604,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { tightLists }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ tightLists }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { tightLists }
{ true }
% \end{macrocode}
% \iffalse
@@ -7776,16 +7746,9 @@ following text:
%<*tex>
% \fi
% \begin{macrocode}
-\seq_put_right:Nn
- \g_@@_lua_options_seq
- { underscores }
-\prop_put:Nnn
- \g_@@_lua_option_types_prop
+\@@_add_lua_option:nnn
{ underscores }
{ boolean }
-\prop_put:Nnn
- \g_@@_default_lua_options_prop
- { underscores }
{ true }
\ExplSyntaxOff
% \end{macrocode}
@@ -8179,7 +8142,36 @@ pdftex --shell-escape document.tex
% Section <#sec:luaoptions>), while some of them are specific to the plain
% \TeX{} interface.
%
+% To enable the enumeration of plain \TeX{} options, we will maintain the
+% \mdef{g_\@\@_plain_tex_options_seq} sequence.
+%
+% \end{markdown}
+% \begin{macrocode}
+\ExplSyntaxOn
+\seq_new:N \g_@@_plain_tex_options_seq
+% \end{macrocode}
+% \begin{markdown}
+%
+% To enable the reflection of default plain \TeX{} options and their types, we
+% will maintain the \mdef{g_\@\@_default_plain_tex_options_prop} and
+% \mdef{g_\@\@_plain_tex_option_types_prop} property lists, respectively.
+%
% \end{markdown}
+% \begin{macrocode}
+\prop_new:N \g_@@_plain_tex_option_types_prop
+\prop_new:N \g_@@_default_plain_tex_options_prop
+\tl_const:Nn \c_@@_option_layer_plain_tex_tl { plain_tex }
+\seq_put_right:NV \g_@@_option_layers_seq \c_@@_option_layer_plain_tex_tl
+\cs_new:Nn
+ \@@_add_plain_tex_option:nnn
+ {
+ \@@_add_option:Vnnn
+ \c_@@_option_layer_plain_tex_tl
+ { #1 }
+ { #2 }
+ { #3 }
+ }
+% \end{macrocode}
% \iffalse
%</tex>
%<*manual-options>
@@ -8214,11 +8206,6 @@ following code in your plain \TeX{} document:
% between an enumeration of the markdown documents in the plain \TeX{} document
% and their auxiliary files cached in the \Opt{cacheDir} directory.
%
-% \end{markdown}
-% \begin{macrocode}
-\let\markdownOptionFinalizeCache\undefined
-% \end{macrocode}
-% \par
% \iffalse
%</tex>
%<*manual-options>
@@ -8226,7 +8213,6 @@ following code in your plain \TeX{} document:
#### Finalizing and Freezing the Cache
% \fi
-% \begin{markdown}
%
The \mdef{markdownOptionFrozenCache} option uses the mapping previously
% created by the \mref{markdownOptionFinalizeCache} option,
@@ -8238,6 +8224,23 @@ result, the plain \TeX{} document becomes more portable, but further changes
in the order and the content of markdown documents will not be reflected. It
defaults to `false`.
+% \end{markdown}
+% \iffalse
+%</manual-options>
+%<*tex>
+% \fi
+% \begin{macrocode}
+\@@_add_plain_tex_option:nnn
+ { frozenCache }
+ { boolean }
+ { false }
+% \end{macrocode}
+% \iffalse
+%</tex>
+%<*manual-options>
+% \fi
+% \begin{markdown}
+%
% The standard usage of the above two options is as follows:
% \iffalse
The standard usage of the \Opt{finalizeCache} and \Opt{frozenCache}
@@ -8280,37 +8283,76 @@ For more information, see the examples for the \Opt{finalizeCache} option.
%
% \end{markdown}
% \begin{macrocode}
-\def\markdownOptionHelperScriptFileName{\jobname.markdown.lua}%
+\@@_add_plain_tex_option:nnn
+ { helperScriptFileName }
+ { path }
+ { \jobname.markdown.lua }
% \end{macrocode}
% \par
% \begin{markdown}
%
+% The \mref{markdownOptionHelperScriptFileName} macro has been deprecated and
+% will be removed in Markdown 3.0.0. To control the filename of the helper Lua
+% script file, use the \mref{g_luabridge_helper_script_filename_str} macro
+% from the \pkg{lt3luabridge} package.
+%
+% \end{markdown}
+% \begin{macrocode}
+\str_new:N
+ \g_luabridge_helper_script_filename_str
+\tl_gset:Nn
+ \g_luabridge_helper_script_filename_str
+ { \markdownOptionHelperScriptFileName }
+% \end{macrocode}
+% \begin{markdown}
+%
% The \mdef{markdownOptionInputTempFileName} macro sets the filename of the
-% temporary input file that is created during the conversion from markdown to
-% plain \TeX{} in \mref{markdownMode} other than `2`. It defaults to
-% \mref{jobname}`.markdown.in`. The same limitations as in the case of the
-% \mref{markdownOptionHelperScriptFileName} macro apply here.
+% temporary input file that is created during the buffering of markdown text
+% from a \TeX{} source. It defaults to \mref{jobname}`.markdown.in`. The same
+% limitations as in the case of the \mref{markdownOptionHelperScriptFileName}
+% macro apply here.
%
% \end{markdown}
% \begin{macrocode}
-\def\markdownOptionInputTempFileName{\jobname.markdown.in}%
+\@@_add_plain_tex_option:nnn
+ { inputTempFileName }
+ { path }
+ { \jobname.markdown.in }
% \end{macrocode}
% \par
% \begin{markdown}
%
% The \mdef{markdownOptionOutputTempFileName} macro sets the filename of the
% temporary output file that is created during the conversion from markdown to
-% plain \TeX{} in \mref{markdownMode} other than `2`. It defaults to
+% plain \TeX{} in \mref{markdownMode} other than `2` It defaults to
% \mref{jobname}`.markdown.out`. The same limitations apply here as in the case
% of the \mref{markdownOptionHelperScriptFileName} macro.
%
% \end{markdown}
% \begin{macrocode}
-\def\markdownOptionOutputTempFileName{\jobname.markdown.out}%
+\@@_add_plain_tex_option:nnn
+ { outputTempFileName }
+ { path }
+ { \jobname.markdown.out }
% \end{macrocode}
% \par
% \begin{markdown}
%
+% The \mref{markdownOptionOutputTempFileName} macro has been deprecated and
+% will be removed in Markdown 3.0.0. To control the filename of the temporary
+% file for Lua output, use the \mref{g_luabridge_error_output_filename_str}
+% macro from the \pkg{lt3luabridge} package.
+%
+% \end{markdown}
+% \begin{macrocode}
+\str_new:N
+ \g_luabridge_standard_output_filename_str
+\tl_gset:Nn
+ \g_luabridge_standard_output_filename_str
+ { \markdownOptionOutputTempFileName }
+% \end{macrocode}
+% \begin{markdown}
+%
% The \mdef{markdownOptionErrorTempFileName} macro sets the filename of the
% temporary output file that is created when a Lua error is encountered during
% the conversion from markdown to plain \TeX{} in \mref{markdownMode} other than
@@ -8320,11 +8362,29 @@ For more information, see the examples for the \Opt{finalizeCache} option.
%
% \end{markdown}
% \begin{macrocode}
-\def\markdownOptionErrorTempFileName{\jobname.markdown.err}%
+\@@_add_plain_tex_option:nnn
+ { errorTempFileName }
+ { path }
+ { \jobname.markdown.err }
% \end{macrocode}
% \par
% \begin{markdown}
%
+% The \mref{markdownOptionErrorTempFileName} macro has been deprecated and
+% will be removed in Markdown 3.0.0. To control the filename of the temporary
+% file for Lua errors, use the \mref{g_luabridge_error_output_filename_str}
+% macro from the \pkg{lt3luabridge} package.
+%
+% \end{markdown}
+% \begin{macrocode}
+\str_new:N
+ \g_luabridge_error_output_filename_str
+\tl_gset:Nn
+ \g_luabridge_error_output_filename_str
+ { \markdownOptionErrorTempFileName }
+% \end{macrocode}
+% \begin{markdown}
+%
% The \mdef{markdownOptionOutputDir} macro sets the path to the directory that
% will contain the auxiliary cache files produced by the Lua implementation and
% also the auxiliary files produced by the plain \TeX{} implementation. The
@@ -8338,35 +8398,119 @@ For more information, see the examples for the \Opt{finalizeCache} option.
%
% \end{markdown}
% \begin{macrocode}
-\def\markdownOptionOutputDir{.}%
+\@@_add_plain_tex_option:nnn
+ { outputDir }
+ { path }
+ { . }
% \end{macrocode}
-% \par
% \begin{markdown}
%
-% The \mdef{markdownOptionCacheDir} macro corresponds to the Lua interface
-% \Opt{cacheDir} option that sets the path to the directory that will contain
-% the produced cache files. The option defaults to `_markdown_`\mref{jobname},
-% which is a similar naming scheme to the one used by the \pkg{minted} \LaTeX{}
-% package. The same limitations apply here as in the case of the
-% \mref{markdownOptionHelperScriptFileName} macro.
+% The \mref{markdownOptionOutputDir} macro is also used to set the
+% \mref{g_luabridge_output_dirname_str} macro from the \pkg{lt3luabridge}
+% package.
%
% \end{markdown}
% \begin{macrocode}
-\def\markdownOptionCacheDir{\markdownOptionOutputDir/_markdown_\jobname}%
+\str_new:N
+ \g_luabridge_output_dirname_str
+\tl_gset:Nn
+ \g_luabridge_output_dirname_str
+ { \markdownOptionOutputDir }
% \end{macrocode}
-% \par
% \begin{markdown}
%
-% The \mdef{markdownOptionFrozenCacheFileName} macro corresponds to the Lua
-% interface \Opt{frozenCacheFileName} option that sets the path to an output
-% file (frozen cache) that will contain a mapping between an enumeration of the
-% markdown documents in the plain \TeX{} document and their auxiliary cache
-% files. The option defaults to `frozenCache.tex`. The same limitations apply
-% here as in the case of the \mref{markdownOptionHelperScriptFileName} macro.
+% Here, we automatically define plain \TeX{} macros for the above plain \TeX{}
+% options.
+%
+% Furthemore, we also define macros that map directly to the options recognized
+% by the Lua interface, such as \mdef{markdownOptionHybrid} for the
+% \Opt{hybrid} Lua option (see Section <#sec:luaoptions>), which are not
+% processed by the plain \TeX{} implementation, only passed along to Lua.
+%
+% For the macros that correspond to the non-boolean options recognized by the
+% Lua interface, the same limitations apply here in the case of the
+% \mref{markdownOptionHelperScriptFileName} macro.
%
% \end{markdown}
% \begin{macrocode}
-\def\markdownOptionFrozenCacheFileName{\markdownOptionCacheDir/frozenCache.tex}
+\cs_new:Nn \@@_plain_tex_define_option_commands:
+ {
+ \seq_map_inline:Nn
+ \g_@@_option_layers_seq
+ {
+ \seq_map_inline:cn
+ { g_@@_ ##1 _options_seq }
+ {
+ \@@_plain_tex_define_option_command:n
+ { ####1 }
+ }
+ }
+ }
+\cs_new:Nn \@@_plain_tex_define_option_command:n
+ {
+ \@@_get_default_option_value:nN
+ { #1 }
+ \l_tmpa_tl
+ \@@_set_option_value:nV
+ { #1 }
+ \l_tmpa_tl
+ }
+\cs_new:Nn
+ \@@_set_option_value:nn
+ {
+ \@@_define_option:n
+ { #1 }
+ \@@_get_option_type:nN
+ { #1 }
+ \l_tmpa_tl
+ \str_if_eq:NNTF
+ \c_@@_option_type_counter_tl
+ \l_tmpa_tl
+ {
+ \@@_option_tl_to_csname:nN
+ { #1 }
+ \l_tmpa_tl
+ \int_gset:cn
+ { \l_tmpa_tl }
+ { #2 }
+ }
+ {
+ \@@_option_tl_to_csname:nN
+ { #1 }
+ \l_tmpa_tl
+ \cs_set:cpn
+ { \l_tmpa_tl }
+ { #2 }
+ }
+ }
+\cs_generate_variant:Nn
+ \@@_set_option_value:nn
+ { nV }
+\cs_new:Nn
+ \@@_define_option:n
+ {
+ \@@_option_tl_to_csname:nN
+ { #1 }
+ \l_tmpa_tl
+ \cs_if_free:cT
+ { \l_tmpa_tl }
+ {
+ \@@_get_option_type:nN
+ { #1 }
+ \l_tmpb_tl
+ \str_if_eq:NNT
+ \c_@@_option_type_counter_tl
+ \l_tmpb_tl
+ {
+ \@@_option_tl_to_csname:nN
+ { #1 }
+ \l_tmpa_tl
+ \int_new:c
+ { \l_tmpa_tl }
+ }
+ }
+ }
+\@@_plain_tex_define_option_commands:
% \end{macrocode}
%
% \iffalse
@@ -8433,61 +8577,6 @@ No document named `error-output.txt` should be produced in the folder named
while executing the Lua code. If this happens, please [file a
bug](https://github.com/witiko/markdown/issues).
-%</manual-options>
-%<*tex>
-% \fi
-% \par
-% \begin{markdown}
-%
-%#### Lua Interface Options
-% The following macros map directly to the options recognized by the Lua
-% interface (see Section <#sec:luaoptions>) and are not processed by the
-% plain \TeX{} implementation, only passed along to Lua. They are undefined, which
-% makes them fall back to the default values provided by the Lua interface.
-%
-% For the macros that correspond to the non-boolean options recognized by the
-% Lua interface, the same limitations apply here in the case of the
-% \mref{markdownOptionHelperScriptFileName} macro.
-%
-% \end{markdown}
-% \begin{macrocode}
-\let\markdownOptionBlankBeforeBlockquote\undefined
-\let\markdownOptionBlankBeforeCodeFence\undefined
-\let\markdownOptionBlankBeforeHeading\undefined
-\let\markdownOptionBreakableBlockquotes\undefined
-\let\markdownOptionCitations\undefined
-\let\markdownOptionCitationNbsps\undefined
-\let\markdownOptionContentBlocks\undefined
-\let\markdownOptionContentBlocksLanguageMap\undefined
-\let\markdownOptionDefinitionLists\undefined
-\let\markdownOptionEagerCache\undefined
-\let\markdownOptionFootnotes\undefined
-\let\markdownOptionFencedCode\undefined
-\let\markdownOptionHardLineBreaks\undefined
-\let\markdownOptionHashEnumerators\undefined
-\let\markdownOptionHeaderAttributes\undefined
-\let\markdownOptionHtml\undefined
-\let\markdownOptionHybrid\undefined
-\let\markdownOptionInlineFootnotes\undefined
-\let\markdownOptionJekyllData\undefined
-\let\markdownOptionPipeTables\undefined
-\let\markdownOptionPreserveTabs\undefined
-\let\markdownOptionRelativeReferences\undefined
-\let\markdownOptionShiftHeadings\undefined
-\let\markdownOptionSlice\undefined
-\let\markdownOptionSmartEllipses\undefined
-\let\markdownOptionStartNumber\undefined
-\let\markdownOptionStripIndent\undefined
-\let\markdownOptionTableCaptions\undefined
-\let\markdownOptionTaskLists\undefined
-\let\markdownOptionTexComments\undefined
-\let\markdownOptionTightLists\undefined
-% \end{macrocode}
-% \par
-% \iffalse
-%</tex>
-%<*manual-options>
-
#### Package Documentation
The \mdef{markdownOptionStripPercentSigns} macro controls whether a percent
@@ -8540,7 +8629,18 @@ A PDF document named `document.pdf` should be produced and contain the text
%
% \end{markdown}
% \begin{macrocode}
-\def\markdownOptionStripPercentSigns{false}%
+\seq_put_right:Nn
+ \g_@@_plain_tex_options_seq
+ { stripPercentSigns }
+\prop_put:Nnn
+ \g_@@_plain_tex_option_types_prop
+ { stripPercentSigns }
+ { boolean }
+\prop_put:Nnx
+ \g_@@_default_plain_tex_options_prop
+ { stripPercentSigns }
+ { false }
+\ExplSyntaxOff
% \end{macrocode}
% \iffalse
%</tex>
@@ -14180,84 +14280,58 @@ following text:
%
% \end{markdown}
% \begin{macrocode}
-\def\markdownRendererAttributeIdentifierPrototype#1{}%
-\def\markdownRendererAttributeClassNamePrototype#1{}%
-\def\markdownRendererAttributeKeyValuePrototype#1#2{}%
-\def\markdownRendererDocumentBeginPrototype{}%
-\def\markdownRendererDocumentEndPrototype{}%
-\def\markdownRendererInterblockSeparatorPrototype{}%
-\def\markdownRendererLineBreakPrototype{}%
-\def\markdownRendererEllipsisPrototype{}%
-\def\markdownRendererHeaderAttributeContextBeginPrototype{}%
-\def\markdownRendererHeaderAttributeContextEndPrototype{}%
-\def\markdownRendererNbspPrototype{}%
-\def\markdownRendererLeftBracePrototype{}%
-\def\markdownRendererRightBracePrototype{}%
-\def\markdownRendererDollarSignPrototype{}%
-\def\markdownRendererPercentSignPrototype{}%
-\def\markdownRendererAmpersandPrototype{}%
-\def\markdownRendererUnderscorePrototype{}%
-\def\markdownRendererHashPrototype{}%
-\def\markdownRendererCircumflexPrototype{}%
-\def\markdownRendererBackslashPrototype{}%
-\def\markdownRendererTildePrototype{}%
-\def\markdownRendererPipePrototype{}%
-\def\markdownRendererCodeSpanPrototype#1{}%
-\def\markdownRendererLinkPrototype#1#2#3#4{}%
-\def\markdownRendererImagePrototype#1#2#3#4{}%
-\def\markdownRendererContentBlockPrototype#1#2#3#4{}%
-\def\markdownRendererContentBlockOnlineImagePrototype#1#2#3#4{}%
-\def\markdownRendererContentBlockCodePrototype#1#2#3#4#5{}%
-\def\markdownRendererUlBeginPrototype{}%
-\def\markdownRendererUlBeginTightPrototype{}%
-\def\markdownRendererUlItemPrototype{}%
-\def\markdownRendererUlItemEndPrototype{}%
-\def\markdownRendererUlEndPrototype{}%
-\def\markdownRendererUlEndTightPrototype{}%
-\def\markdownRendererOlBeginPrototype{}%
-\def\markdownRendererOlBeginTightPrototype{}%
-\def\markdownRendererOlItemPrototype{}%
-\def\markdownRendererOlItemWithNumberPrototype#1{}%
-\def\markdownRendererOlItemEndPrototype{}%
-\def\markdownRendererOlEndPrototype{}%
-\def\markdownRendererOlEndTightPrototype{}%
-\def\markdownRendererDlBeginPrototype{}%
-\def\markdownRendererDlBeginTightPrototype{}%
-\def\markdownRendererDlItemPrototype#1{}%
-\def\markdownRendererDlItemEndPrototype{}%
-\def\markdownRendererDlDefinitionBeginPrototype{}%
-\def\markdownRendererDlDefinitionEndPrototype{}%
-\def\markdownRendererDlEndPrototype{}%
-\def\markdownRendererDlEndTightPrototype{}%
-\def\markdownRendererEmphasisPrototype#1{}%
-\def\markdownRendererStrongEmphasisPrototype#1{}%
-\def\markdownRendererBlockQuoteBeginPrototype{}%
-\def\markdownRendererBlockQuoteEndPrototype{}%
-\def\markdownRendererInputVerbatimPrototype#1{}%
-\def\markdownRendererInputFencedCodePrototype#1#2{}%
-\def\markdownRendererJekyllDataBeginPrototype{}%
-\def\markdownRendererJekyllDataEndPrototype{}%
-\def\markdownRendererHeadingOnePrototype#1{}%
-\def\markdownRendererHeadingTwoPrototype#1{}%
-\def\markdownRendererHeadingThreePrototype#1{}%
-\def\markdownRendererHeadingFourPrototype#1{}%
-\def\markdownRendererHeadingFivePrototype#1{}%
-\def\markdownRendererHeadingSixPrototype#1{}%
-\def\markdownRendererHorizontalRulePrototype{}%
-\def\markdownRendererFootnotePrototype#1{}%
-\def\markdownRendererCitePrototype#1{}%
-\def\markdownRendererTextCitePrototype#1{}%
-\def\markdownRendererTablePrototype#1#2#3{}%
-\def\markdownRendererInlineHtmlCommentPrototype#1{}%
-\let\markdownRendererBlockHtmlCommentBeginPrototype=\iffalse
-\let\markdownRendererBlockHtmlCommentBegin=\iffalse
-\let\markdownRendererBlockHtmlCommentEndPrototype=\fi
-\let\markdownRendererBlockHtmlCommentEnd=\fi
-\def\markdownRendererInlineHtmlTagPrototype#1{}%
-\def\markdownRendererInputBlockHtmlElementPrototype#1{}%
-\def\markdownRendererTickedBoxPrototype{}%
-\def\markdownRendererHalfTickedBoxPrototype{}%
-\def\markdownRendererUntickedBoxPrototype{}%
+\ExplSyntaxOn
+\cs_new:Nn \@@_plaintex_define_renderer_prototypes:
+ {
+ \seq_map_function:NN
+ \g_@@_renderers_seq
+ \@@_plaintex_define_renderer_prototype:n
+ \let\markdownRendererBlockHtmlCommentBeginPrototype=\iffalse
+ \let\markdownRendererBlockHtmlCommentBegin=\iffalse
+ \let\markdownRendererBlockHtmlCommentEndPrototype=\fi
+ \let\markdownRendererBlockHtmlCommentEnd=\fi
+ }
+\cs_new:Nn \@@_plaintex_define_renderer_prototype:n
+ {
+ \@@_renderer_prototype_tl_to_csname:nN
+ { #1 }
+ \l_tmpa_tl
+ \prop_get:NnN
+ \g_@@_renderer_arities_prop
+ { #1 }
+ \l_tmpb_tl
+ \@@_plaintex_define_renderer_prototype:cV
+ { \l_tmpa_tl }
+ \l_tmpb_tl
+ }
+\cs_new:Nn \@@_renderer_prototype_tl_to_csname:nN
+ {
+ \tl_set:Nn
+ \l_tmpa_tl
+% TODO: Replace with \str_uppercase:n in TeX Live 2020.
+ { \str_upper_case:n { #1 } }
+ \tl_set:Nx
+ #2
+ {
+ markdownRenderer
+ \tl_head:f { \l_tmpa_tl }
+ \tl_tail:n { #1 }
+ Prototype
+ }
+ }
+\cs_new:Nn \@@_plaintex_define_renderer_prototype:Nn
+ {
+ \cs_generate_from_arg_count:NNnn
+ #1
+ \cs_set:Npn
+ { #2 }
+ { }
+ }
+\cs_generate_variant:Nn
+ \@@_plaintex_define_renderer_prototype:Nn
+ { cV }
+\@@_plaintex_define_renderer_prototypes:
+\ExplSyntaxOff
% \end{macrocode}
% \par
% \begin{markdown}
@@ -14325,6 +14399,7 @@ following text:
% - `0` – Shell escape via the 18 output file stream
% - `1` – Shell escape via the Lua \luamref{os.execute} method
% - `2` – Direct Lua access
+% - `3` – The \pkg{lt3luabridge} Lua package
%
% By defining the macro, the user can coerce the package to use a specific mode.
% If the user does not define the macro prior to loading the plain \TeX{}
@@ -14332,21 +14407,60 @@ following text:
% of changing the value of \mref{markdownMode} after the implementation has been
% loaded is undefined.
%
+% The \mref{markdownMode} macro has been deprecated and will be removed in
+% Markdown 3.0.0. The code that corresponds to \mref{markdownMode} value of `3`
+% will be the only implementation.
+%
% \end{markdown}
% \begin{macrocode}
-\ifx\markdownMode\undefined
- \ifx\directlua\undefined
- \def\markdownMode{0}%
- \else
- \def\markdownMode{2}%
- \fi
-\fi
+\ExplSyntaxOn
+\cs_if_exist:NF
+ \markdownMode
+ {
+ \file_if_exist:nTF
+ { lt3luabridge.tex }
+ {
+ \cs_new:Npn
+ \markdownMode
+ { 3 }
+ }
+ {
+ \cs_if_exist:NTF
+ \directlua
+ {
+ \cs_new:Npn
+ \markdownMode
+ { 2 }
+ }
+ {
+ \cs_new:Npn
+ \markdownMode
+ { 0 }
+ }
+ }
+ }
+% \end{macrocode}
+% \begin{markdown}
+%
+% \end{markdown}
+% \begin{macrocode}
+\int_compare:nF
+ { \markdownMode = 3 }
+ {
+ \int_new:N
+ \g_luabridge_method_int
+ \int_gset:Nn
+ \g_luabridge_method_int
+ { \markdownMode }
+ }
+\ExplSyntaxOff
% \end{macrocode}
% \par
% \begin{markdown}
%
-% The following macros are no longer a part of the plain \TeX{} interface and
-% are only defined for backwards compatibility:
+% The \mdef{markdownLuaRegisterIBCallback} and
+% \mdef{markdownLuaUnregisterIBCallback} macros have been deprecated and will
+% be removed in Markdown 3.0.0:
%
% \end{markdown}
% \begin{macrocode}
@@ -14423,6 +14537,19 @@ pdflatex --shell-escape document.tex
% are rendered. The rest of the interface is inherited from the plain \TeX{}
% interface (see Section <#sec:texinterface>).
%
+% The \LaTeX{} implementation redefines the plain \TeX{} logging macros (see
+% Section <#sec:texinterfacelogging>) to use the \LaTeX{} \mref{PackageInfo},
+% \mref{PackageWarning}, and \mref{PackageError} macros.
+%
+% \end{markdown}
+% \begin{macrocode}
+\newcommand\markdownInfo[1]{\PackageInfo{markdown}{#1}}%
+\newcommand\markdownWarning[1]{\PackageWarning{markdown}{#1}}%
+\newcommand\markdownError[2]{\PackageError{markdown}{#1}{#2.}}%
+\input markdown/markdown
+% \end{macrocode}
+% \begin{markdown}
+%
% The \LaTeX{} interface is implemented by the `markdown.sty` file, which
% can be loaded from the \LaTeX{} document preamble as follows:
% \end{markdown}
@@ -14602,9 +14729,47 @@ document:
}
```
+%</manual-options>
+%<*latex>
% \fi
% \par
% \begin{markdown}
+%
+% To enable the enumeration of \LaTeX{} options, we will maintain the
+% \mdef{g_\@\@_latex_options_seq} sequence.
+%
+% \end{markdown}
+% \begin{macrocode}
+\ExplSyntaxOn
+\seq_new:N \g_@@_latex_options_seq
+% \end{macrocode}
+% \begin{markdown}
+%
+% To enable the reflection of default \LaTeX{} options and their types, we
+% will maintain the \mdef{g_\@\@_default_latex_options_prop} and
+% \mdef{g_\@\@_latex_option_types_prop} property lists, respectively.
+%
+% \end{markdown}
+% \begin{macrocode}
+\prop_new:N \g_@@_latex_option_types_prop
+\prop_new:N \g_@@_default_latex_options_prop
+\tl_const:Nn \c_@@_option_layer_latex_tl { latex }
+\seq_put_right:NV \g_@@_option_layers_seq \c_@@_option_layer_latex_tl
+\cs_new:Nn
+ \@@_add_latex_option:nnn
+ {
+ \@@_add_option:Vnnn
+ \c_@@_option_layer_latex_tl
+ { #1 }
+ { #2 }
+ { #3 }
+ }
+% \end{macrocode}
+% \iffalse
+%</latex>
+%<*manual-options>
+% \fi
+% \begin{markdown}
#### No default token renderer prototypes {#latexplain}
@@ -14616,7 +14781,8 @@ definitions from the plain \TeX{} implementation
% (see Section <#sec:textokenrendererprototypes>)
and prevent the soft \LaTeX{} prerequisites
% in Section <#sec:latexprerequisites>
-from being loaded:
+from being loaded: The plain option must be set before or when loading the
+package. Setting the option after loading the package will have no effect.
``` tex
\usepackage[plain]{markdown}
@@ -14628,15 +14794,11 @@ from being loaded:
%<*latex>
% \fi
% \begin{macrocode}
-\newif\ifmarkdownLaTeXPlain
- \markdownLaTeXPlainfalse
-\define@key{markdownOptions}{plain}[true]{%
- \ifmarkdownLaTeXLoaded
- \markdownWarning
- {The plain option must be specified when loading the package}%
- \else
- \markdownLaTeXPlaintrue
- \fi}
+\@@_add_latex_option:nnn
+ { plain }
+ { boolean }
+ { false }
+\ExplSyntaxOff
% \end{macrocode}
% \iffalse
%</latex>
@@ -15088,98 +15250,81 @@ The following ordered list will be preceded by roman numerals:
```````
-%#### Plain \TeX{} Interface Options
-% The following options map directly to the option macros exposed by the plain
-% \TeX{} interface (see Section <#sec:texoptions>).
-%
% \markdownEnd
% \iffalse
%</manual-options>
%<*latex>
% \fi
+% \begin{markdown}
+%
+%#### Plain \TeX{} Interface Options
+% Here, we automatically define plain \TeX{} macros and the
+% \meta{key}`=`\meta{value} interface for the above \LaTeX{} options.
+%
+% \end{markdown}
% \begin{macrocode}
-\define@key{markdownOptions}{helperScriptFileName}{%
- \def\markdownOptionHelperScriptFileName{#1}}%
-\define@key{markdownOptions}{inputTempFileName}{%
- \def\markdownOptionInputTempFileName{#1}}%
-\define@key{markdownOptions}{outputTempFileName}{%
- \def\markdownOptionOutputTempFileName{#1}}%
-\define@key{markdownOptions}{errorTempFileName}{%
- \def\markdownOptionErrorTempFileName{#1}}%
-\define@key{markdownOptions}{cacheDir}{%
- \def\markdownOptionCacheDir{#1}}%
-\define@key{markdownOptions}{outputDir}{%
- \def\markdownOptionOutputDir{#1}}%
-\define@key{markdownOptions}{blankBeforeBlockquote}[true]{%
- \def\markdownOptionBlankBeforeBlockquote{#1}}%
-\define@key{markdownOptions}{blankBeforeCodeFence}[true]{%
- \def\markdownOptionBlankBeforeCodeFence{#1}}%
-\define@key{markdownOptions}{blankBeforeHeading}[true]{%
- \def\markdownOptionBlankBeforeHeading{#1}}%
-\define@key{markdownOptions}{breakableBlockquotes}[true]{%
- \def\markdownOptionBreakableBlockquotes{#1}}%
-\define@key{markdownOptions}{citations}[true]{%
- \def\markdownOptionCitations{#1}}%
-\define@key{markdownOptions}{citationNbsps}[true]{%
- \def\markdownOptionCitationNbsps{#1}}%
-\define@key{markdownOptions}{contentBlocks}[true]{%
- \def\markdownOptionContentBlocks{#1}}%
-\define@key{markdownOptions}{codeSpans}[true]{%
- \def\markdownOptionCodeSpans{#1}}%
-\define@key{markdownOptions}{contentBlocksLanguageMap}{%
- \def\markdownOptionContentBlocksLanguageMap{#1}}%
-\define@key{markdownOptions}{definitionLists}[true]{%
- \def\markdownOptionDefinitionLists{#1}}%
-\define@key{markdownOptions}{eagerCache}[true]{%
- \def\markdownOptionEagerCache{#1}}%
-\define@key{markdownOptions}{expectJekyllData}[true]{%
- \def\markdownOptionExpectJekyllData{#1}}%
-\define@key{markdownOptions}{footnotes}[true]{%
- \def\markdownOptionFootnotes{#1}}%
-\define@key{markdownOptions}{fencedCode}[true]{%
- \def\markdownOptionFencedCode{#1}}%
-\define@key{markdownOptions}{jekyllData}[true]{%
- \def\markdownOptionJekyllData{#1}}%
-\define@key{markdownOptions}{hardLineBreaks}[true]{%
- \def\markdownOptionHardLineBreaks{#1}}%
-\define@key{markdownOptions}{hashEnumerators}[true]{%
- \def\markdownOptionHashEnumerators{#1}}%
-\define@key{markdownOptions}{headerAttributes}[true]{%
- \def\markdownOptionHeaderAttributes{#1}}%
-\define@key{markdownOptions}{html}[true]{%
- \def\markdownOptionHtml{#1}}%
-\define@key{markdownOptions}{hybrid}[true]{%
- \def\markdownOptionHybrid{#1}}%
-\define@key{markdownOptions}{inlineFootnotes}[true]{%
- \def\markdownOptionInlineFootnotes{#1}}%
-\define@key{markdownOptions}{pipeTables}[true]{%
- \def\markdownOptionPipeTables{#1}}%
-\define@key{markdownOptions}{preserveTabs}[true]{%
- \def\markdownOptionPreserveTabs{#1}}%
-\define@key{markdownOptions}{relativeReferences}[true]{%
- \def\markdownOptionRelativeReferences{#1}}%
-\define@key{markdownOptions}{smartEllipses}[true]{%
- \def\markdownOptionSmartEllipses{#1}}%
-\define@key{markdownOptions}{shiftHeadings}{%
- \def\markdownOptionShiftHeadings{#1}}%
-\define@key{markdownOptions}{slice}{%
- \def\markdownOptionSlice{#1}}%
-\define@key{markdownOptions}{startNumber}[true]{%
- \def\markdownOptionStartNumber{#1}}%
-\define@key{markdownOptions}{stripIndent}[true]{%
- \def\markdownOptionStripIndent{#1}}%
-\define@key{markdownOptions}{tableCaptions}[true]{%
- \def\markdownOptionTableCaptions{#1}}%
-\define@key{markdownOptions}{taskLists}[true]{%
- \def\markdownOptionTaskLists{#1}}%
-\define@key{markdownOptions}{texComments}[true]{%
- \def\markdownOptionTexComments{#1}}%
-\define@key{markdownOptions}{tightLists}[true]{%
- \def\markdownOptionTightLists{#1}}%
-\define@key{markdownOptions}{underscores}[true]{%
- \def\markdownOptionUnderscores{#1}}%
-\define@key{markdownOptions}{stripPercentSigns}[true]{%
- \def\markdownOptionStripPercentSigns{#1}}%
+\ExplSyntaxOn
+\cs_new:Nn \@@_latex_define_option_commands_and_keyvals:
+ {
+ \seq_map_inline:Nn
+ \g_@@_latex_options_seq
+ {
+ \@@_plain_tex_define_option_command:n
+ { ##1 }
+ }
+% \end{macrocode}
+% \begin{markdown}
+%
+% Furthermore, we also define the \meta{key}`=`\meta{value} interface
+% for all option macros recognized by the Lua plain \TeX{} interfaces.
+%
+% \end{markdown}
+% \begin{macrocode}
+ \seq_map_inline:Nn
+ \g_@@_option_layers_seq
+ {
+ \seq_map_inline:cn
+ { g_@@_ ##1 _options_seq }
+ {
+ \@@_latex_define_option_keyval:nn
+ { ##1 }
+ { ####1 }
+ }
+ }
+ }
+\cs_new:Nn \@@_latex_define_option_keyval:nn
+ {
+ \prop_get:cnN
+ { g_@@_ #1 _option_types_prop }
+ { #2 }
+ \l_tmpa_tl
+ \str_if_eq:VVTF
+ \l_tmpa_tl
+ \c_@@_option_type_boolean_tl
+ {
+ \define@key
+ { markdownOptions }
+ { #2 }
+ [ true ]
+ {
+ \@@_set_option_value:nn
+ { #2 }
+ { ##1 }
+ }
+ }
+ {
+ \define@key
+ { markdownOptions }
+ { #2 }
+ {
+ \@@_set_option_value:nn
+ { #2 }
+ { ##1 }
+ }
+ }
+ }
+\@@_latex_define_option_commands_and_keyvals:
+\ExplSyntaxOff
% \end{macrocode}
% \par
% \begin{markdown}
@@ -15209,14 +15354,8 @@ The following ordered list will be preceded by roman numerals:
%
% \end{markdown}
% \begin{macrocode}
-\define@key{markdownOptions}{finalizeCache}[true]{%
- \def\markdownOptionFinalizeCache{#1}}%
\DeclareOption{finalizecache}{\markdownSetup{finalizeCache}}
-\define@key{markdownOptions}{frozenCache}[true]{%
- \def\markdownOptionFrozenCache{#1}}%
\DeclareOption{frozencache}{\markdownSetup{frozenCache}}
-\define@key{markdownOptions}{frozenCacheFileName}{%
- \def\markdownOptionFrozenCacheFileName{#1}}%
% \end{macrocode}
% \par
% \begin{markdown}
@@ -15250,17 +15389,9 @@ The following ordered list will be preceded by roman numerals:
}
\cs_new:Nn \@@_latex_define_renderer:n
{
- \tl_set:Nn
- \l_tmpb_tl
-% TODO: Replace with \str_uppercase:n in TeX Live 2020.
- { \str_upper_case:n { #1 } }
- \tl_set:Nx
+ \@@_renderer_tl_to_csname:nN
+ { #1 }
\l_tmpa_tl
- {
- markdownRenderer
- \tl_head:f { \l_tmpb_tl }
- \tl_tail:n { #1 }
- }
\prop_get:NnN
\g_@@_renderer_arities_prop
{ #1 }
@@ -15270,6 +15401,20 @@ The following ordered list will be preceded by roman numerals:
{ \l_tmpa_tl }
\l_tmpb_tl
}
+\cs_new:Nn \@@_renderer_tl_to_csname:nN
+ {
+ \tl_set:Nn
+ \l_tmpa_tl
+% TODO: Replace with \str_uppercase:n in TeX Live 2020.
+ { \str_upper_case:n { #1 } }
+ \tl_set:Nx
+ #2
+ {
+ markdownRenderer
+ \tl_head:f { \l_tmpa_tl }
+ \tl_tail:n { #1 }
+ }
+ }
\cs_new:Nn \@@_latex_define_renderer:nNn
{
\define@key
@@ -15321,18 +15466,9 @@ The following ordered list will be preceded by roman numerals:
}
\cs_new:Nn \@@_latex_define_renderer_prototype:n
{
- \tl_set:Nn
- \l_tmpb_tl
-% TODO: Replace with \str_uppercase:n in TeX Live 2020.
- { \str_upper_case:n { #1 } }
- \tl_set:Nx
+ \@@_renderer_prototype_tl_to_csname:nN
+ { #1 }
\l_tmpa_tl
- {
- markdownRenderer
- \tl_head:f { \l_tmpb_tl }
- \tl_tail:n { #1 }
- Prototype
- }
\prop_get:NnN
\g_@@_renderer_arities_prop
{ #1 }
@@ -15512,7 +15648,9 @@ texexec --passon=--shell-escape document.tex
%--------------------
%
% The Lua implementation implements \luamdef{writer} and \luamdef{reader}
-% objects that provide the conversion from markdown to plain \TeX{}.
+% objects, which provide the conversion from markdown to plain \TeX, and
+% \luamdef{extension} objects, which provide syntax extensions for the
+% \luamref{writer} and \luamref{reader} objects.
%
% The Lunamark Lua module implements writers for the conversion to various
% other formats, such as DocBook, Groff, or \acro{HTML}. These were stripped
@@ -17956,22 +18094,31 @@ M.writer = {}
% \begin{macrocode}
function M.writer.new(options)
local self = {}
- options = options or {}
% \end{macrocode}
% \par
% \begin{markdown}
%
-% Make the `options` table inherit from the \luamref{defaultOptions} table.
+% Make `options.cacheDir` available as \luamdef{writer->cacheDir}, so that it
+% is accessible from extensions.
%
% \end{markdown}
% \begin{macrocode}
- setmetatable(options, { __index = function (_, key)
- return defaultOptions[key] end })
+ self.cacheDir = options.cacheDir
% \end{macrocode}
% \par
% \begin{markdown}
%
-% Parse the \Opt{slice} option and define \luamdef{writer->slice\_begin}
+% Make `options.hybrid` available as \luamdef{writer->hybrid}, so that it is
+% accessible from extensions.
+%
+% \end{markdown}
+% \begin{macrocode}
+ self.hybrid = options.hybrid
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Parse the \Opt{slice} option and define \luamdef{writer->slice\_begin},
% \luamdef{writer->slice\_end}, and \luamdef{writer->is\_writing}. The
% \luamref{writer->is\_writing} member variable is mutable.
%
@@ -18115,26 +18262,20 @@ function M.writer.new(options)
% \par
% \begin{markdown}
%
-% Define tables \luamdef{escaped_uri_chars}, \luamdef{escaped_citation_chars},
-% and \luamdef{escaped_minimal_strings} containing the mapping from special
-% plain characters and character strings that always need to be escaped.
+% Define tables \luamdef{writer->escaped_uri_chars} and
+% \luamdef{writer->escaped_minimal_strings} containing the mapping from
+% special plain characters and character strings that always need to be
+% escaped.
%
% \end{markdown}
% \begin{macrocode}
- local escaped_uri_chars = {
- ["{"] = "\\markdownRendererLeftBrace{}",
- ["}"] = "\\markdownRendererRightBrace{}",
- ["%"] = "\\markdownRendererPercentSign{}",
- ["\\"] = "\\markdownRendererBackslash{}",
- }
- local escaped_citation_chars = {
+ self.escaped_uri_chars = {
["{"] = "\\markdownRendererLeftBrace{}",
["}"] = "\\markdownRendererRightBrace{}",
["%"] = "\\markdownRendererPercentSign{}",
["\\"] = "\\markdownRendererBackslash{}",
- ["#"] = "\\markdownRendererHash{}",
}
- local escaped_minimal_strings = {
+ self.escaped_minimal_strings = {
["^^"] = "\\markdownRendererCircumflex\\markdownRendererCircumflex ",
["☒"] = "\\markdownRendererTickedBox{}",
["⌛"] = "\\markdownRendererHalfTickedBox{}",
@@ -18144,13 +18285,13 @@ function M.writer.new(options)
% \par
% \begin{markdown}
%
-% Define a table \luamdef{escaped_chars} containing the mapping from special
-% plain \TeX{} characters (including the active pipe character (`|`) of
-% \Hologo{ConTeXt}) that need to be escaped for typeset content.
+% Define a table \luamdef{writer->escaped_chars} containing the mapping from
+% special plain \TeX{} characters (including the active pipe character (`|`)
+% of \Hologo{ConTeXt}) that need to be escaped for typeset content.
%
% \end{markdown}
% \begin{macrocode}
- local escaped_chars = {
+ self.escaped_chars = {
["{"] = "\\markdownRendererLeftBrace{}",
["}"] = "\\markdownRendererRightBrace{}",
["%"] = "\\markdownRendererPercentSign{}",
@@ -18167,57 +18308,40 @@ function M.writer.new(options)
% \par
% \begin{markdown}
%
-% Use the \luamref{escaped_chars}, \luamref{escaped_uri_chars},
-% \luamref{escaped_citation_chars}, and \luamref{escaped_minimal_strings} tables
-% to create the \luamdef{escape}, \luamdef{escape_citation},
-% \luamdef{escape_uri}, and \luamdef{escape_minimal} escaper functions.
+% Use the \luamref{writer->escaped_chars}, \luamref{writer->escaped_uri_chars},
+% and \luamref{writer->escaped_minimal_strings} tables to create the
+% \luamdef{writer->escape}, \luamdef{writer->escape_uri}, and
+% \luamdef{writer->escape_minimal} escaper functions.
%
% \end{markdown}
% \begin{macrocode}
- local escape = util.escaper(escaped_chars, escaped_minimal_strings)
- local escape_citation = util.escaper(escaped_citation_chars,
- escaped_minimal_strings)
- local escape_uri = util.escaper(escaped_uri_chars, escaped_minimal_strings)
- local escape_minimal = util.escaper({}, escaped_minimal_strings)
+ self.escape = util.escaper(self.escaped_chars, self.escaped_minimal_strings)
+ self.escape_uri = util.escaper(self.escaped_uri_chars, self.escaped_minimal_strings)
+ self.escape_minimal = util.escaper({}, self.escaped_minimal_strings)
% \end{macrocode}
% \par
% \begin{markdown}
%
% Define \luamdef{writer->string} as a function that will transform an input
-% plain text span `s` to the output format, \luamdef{writer->citation} as a
-% function that will transform an input citation name `c` to the output format,
-% and \luamdef{writer->uri} as a function that will transform an input
-% \acro{uri} `u` to the output format. If the \Opt{hybrid} option is enabled,
-% use the \luamref{escape_minimal}. Otherwise, use the \luamref{escape},
-% \luamref{escape_citation}, and \luamref{escape_uri} functions.
+% plain text span `s` to the output format and \luamdef{writer->uri} as a
+% function that will transform an input \acro{uri} `u` to the output format.
+% If the \Opt{hybrid} option is enabled, use the
+% \luamref{writer->escape_minimal}. Otherwise, use the
+% \luamref{writer->escape}, and \luamref{writer->escape_uri} functions.
%
% \end{markdown}
% \begin{macrocode}
if options.hybrid then
- self.string = escape_minimal
- self.citation = escape_minimal
- self.uri = escape_minimal
+ self.string = self.escape_minimal
+ self.uri = self.escape_minimal
else
- self.string = escape
- self.citation = escape_citation
- self.uri = escape_uri
+ self.string = self.escape
+ self.uri = self.escape_uri
end
% \end{macrocode}
% \par
% \begin{markdown}
%
-% Define \luamdef{writer->escape} as a function that will transform an input
-% plain text span to the output format. Unlike the \luamref{writer->string}
-% function, \luamref{writer->escape} always uses the \luamref{escape} function,
-% even when the \Opt{hybrid} option is enabled.
-%
-% \end{markdown}
-% \begin{macrocode}
- self.escape = escape
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
% Define \luamdef{writer->code} as a function that will transform an input
% inlined code span `s` to the output format.
%
@@ -18246,38 +18370,6 @@ function M.writer.new(options)
% \par
% \begin{markdown}
%
-% Define \luamdef{writer->table} as a function that will transform an input
-% table to the output format, where `rows` is a sequence of columns and a
-% column is a sequence of cell texts.
-%
-% \end{markdown}
-% \begin{macrocode}
- function self.table(rows, caption)
- if not self.is_writing then return "" end
- local buffer = {"\\markdownRendererTable{",
- caption or "", "}{", #rows - 1, "}{", #rows[1], "}"}
- local temp = rows[2] -- put alignments on the first row
- rows[2] = rows[1]
- rows[1] = temp
- for i, row in ipairs(rows) do
- table.insert(buffer, "{")
- for _, column in ipairs(row) do
- if i > 1 then -- do not use braces for alignments
- table.insert(buffer, "{")
- end
- table.insert(buffer, column)
- if i > 1 then
- table.insert(buffer, "}")
- end
- end
- table.insert(buffer, "}")
- end
- return buffer
- end
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
% Define \luamdef{writer->image} as a function that will transform an input
% image to the output format, where `lab` corresponds to the label, `src`
% to the \acro{url}, and `tit` to the title of the image.
@@ -18294,90 +18386,6 @@ function M.writer.new(options)
% \par
% \begin{markdown}
%
-% The \luamdef{languages_json} table maps programming language filename
-% extensions to fence infostrings. All `options.`\luamref{contentBlocksLanguageMap}
-% files located by the KPathSea library are loaded into a chain of tables.
-% \luamref{languages_json} corresponds to the first table and is chained with
-% the rest via Lua metatables.
-%
-% \end{markdown}
-% \begin{macrocode}
- local languages_json = (function()
- local ran_ok, kpse = pcall(require, "kpse")
- if ran_ok then
- kpse.set_program_name("luatex")
-% \end{macrocode}
-% \begin{markdown}
-%
-% If the KPathSea library is unavailable, perhaps because we are using
-% LuaMeta\TeX, we will only locate the `options.`\luamref{contentBlocksLanguageMap}
-% in the current working directory:
-%
-% \end{markdown}
-% \begin{macrocode}
- else
- kpse = {lookup=function(filename, options) return filename end}
- end
- local base, prev, curr
- for _, filename in ipairs{kpse.lookup(options.contentBlocksLanguageMap,
- { all=true })} do
- local file = io.open(filename, "r")
- if not file then goto continue end
- json = file:read("*all"):gsub('("[^\n]-"):','[%1]=')
- curr = (function()
- local _ENV={ json=json, load=load } -- run in sandbox
- return load("return "..json)()
- end)()
- if type(curr) == "table" then
- if base == nil then
- base = curr
- else
- setmetatable(prev, { __index = curr })
- end
- prev = curr
- end
- ::continue::
- end
- return base or {}
- end)()
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
-% Define \luamdef{writer->contentblock} as a function that will transform an
-% input iA\,Writer content block to the output format, where `src`
-% corresponds to the \acro{uri} prefix, `suf` to the \acro{uri} extension,
-% `type` to the type of the content block (`localfile` or `onlineimage`),
-% and `tit` to the title of the content block.
-%
-% \end{markdown}
-% \begin{macrocode}
- function self.contentblock(src,suf,type,tit)
- if not self.is_writing then return "" end
- src = src.."."..suf
- suf = suf:lower()
- if type == "onlineimage" then
- return {"\\markdownRendererContentBlockOnlineImage{",suf,"}",
- "{",self.string(src),"}",
- "{",self.uri(src),"}",
- "{",self.string(tit or ""),"}"}
- elseif languages_json[suf] then
- return {"\\markdownRendererContentBlockCode{",suf,"}",
- "{",self.string(languages_json[suf]),"}",
- "{",self.string(src),"}",
- "{",self.uri(src),"}",
- "{",self.string(tit or ""),"}"}
- else
- return {"\\markdownRendererContentBlock{",suf,"}",
- "{",self.string(src),"}",
- "{",self.uri(src),"}",
- "{",self.string(tit or ""),"}"}
- end
- end
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
% Define \luamdef{writer->bulletlist} as a function that will transform an input
% bulleted list to the output format, where `items` is an array of the list
% items and `tight` specifies, whether the list is tight or not.
@@ -18499,49 +18507,13 @@ function M.writer.new(options)
% \begin{macrocode}
function self.block_html_element(s)
if not self.is_writing then return "" end
- local name = util.cache(options.cacheDir, s, nil, nil, ".verbatim")
+ local name = util.cache(self.cacheDir, s, nil, nil, ".verbatim")
return {"\\markdownRendererInputBlockHtmlElement{",name,"}"}
end
% \end{macrocode}
% \par
% \begin{markdown}
%
-% Define \luamdef{writer->definitionlist} as a function that will transform an
-% input definition list to the output format, where `items` is an array of
-% tables, each of the form `{ term = t, definitions = defs }`, where `t`
-% is a term and `defs` is an array of definitions. `tight` specifies,
-% whether the list is tight or not.
-%
-% \end{markdown}
-% \begin{macrocode}
- local function dlitem(term, defs)
- local retVal = {"\\markdownRendererDlItem{",term,"}"}
- for _, def in ipairs(defs) do
- retVal[#retVal+1] = {"\\markdownRendererDlDefinitionBegin ",def,
- "\\markdownRendererDlDefinitionEnd "}
- end
- retVal[#retVal+1] = "\\markdownRendererDlItemEnd "
- return retVal
- end
-
- function self.definitionlist(items,tight)
- if not self.is_writing then return "" end
- local buffer = {}
- for _,item in ipairs(items) do
- buffer[#buffer + 1] = dlitem(item.term, item.definitions)
- end
- if tight and options.tightLists then
- return {"\\markdownRendererDlBeginTight\n", buffer,
- "\n\\markdownRendererDlEndTight"}
- else
- return {"\\markdownRendererDlBegin\n", buffer,
- "\n\\markdownRendererDlEnd"}
- end
- end
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
% Define \luamdef{writer->emphasis} as a function that will transform an
% emphasized span `s` of input text to the output format.
%
@@ -18606,29 +18578,13 @@ function M.writer.new(options)
function self.verbatim(s)
if not self.is_writing then return "" end
s = string.gsub(s, '[\r\n%s]*$', '')
- local name = util.cache(options.cacheDir, s, nil, nil, ".verbatim")
+ local name = util.cache(self.cacheDir, s, nil, nil, ".verbatim")
return {"\\markdownRendererInputVerbatim{",name,"}"}
end
% \end{macrocode}
% \par
% \begin{markdown}
%
-% Define \luamdef{writer->codeFence} as a function that will transform an
-% input fenced code block `s` with the infostring `i` to the output
-% format.
-%
-% \end{markdown}
-% \begin{macrocode}
- function self.fencedCode(i, s)
- if not self.is_writing then return "" end
- s = string.gsub(s, '[\r\n%s]*$', '')
- local name = util.cache(options.cacheDir, s, nil, nil, ".verbatim")
- return {"\\markdownRendererInputFencedCode{",name,"}{",i,"}"}
- end
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
% Define \luamdef{writer->document} as a function that will transform a
% document `d` to the output format.
%
@@ -18657,101 +18613,6 @@ function M.writer.new(options)
% \par
% \begin{markdown}
%
-% Define \luamdef{writer->jekyllData} as a function that will transform an
-% input \acro{yaml} table `d` to the output format. The table is the value for
-% the key `p` in the parent table; if `p` is nil, then the table has no parent.
-% All scalar keys and values encountered in the table will be cast to a string
-% following \acro{yaml} serialization rules. String values will also be
-% transformed using the function `t`.
-%
-% \end{markdown}
-% \begin{macrocode}
- function self.jekyllData(d, t, p)
- if not self.is_writing then return "" end
-
- local buf = {}
-
- local keys = {}
- for k, _ in pairs(d) do
- table.insert(keys, k)
- end
- table.sort(keys)
-
- if not p then
- table.insert(buf, "\\markdownRendererJekyllDataBegin")
- end
-
- if #d > 0 then
- table.insert(buf, "\\markdownRendererJekyllDataSequenceBegin{")
- table.insert(buf, self.uri(p or "null"))
- table.insert(buf, "}{")
- table.insert(buf, #keys)
- table.insert(buf, "}")
- else
- table.insert(buf, "\\markdownRendererJekyllDataMappingBegin{")
- table.insert(buf, self.uri(p or "null"))
- table.insert(buf, "}{")
- table.insert(buf, #keys)
- table.insert(buf, "}")
- end
-
- for _, k in ipairs(keys) do
- local v = d[k]
- local typ = type(v)
- k = tostring(k or "null")
- if typ == "table" and next(v) ~= nil then
- table.insert(
- buf,
- self.jekyllData(v, t, k)
- )
- else
- k = self.uri(k)
- v = tostring(v)
- if typ == "boolean" then
- table.insert(buf, "\\markdownRendererJekyllDataBoolean{")
- table.insert(buf, k)
- table.insert(buf, "}{")
- table.insert(buf, v)
- table.insert(buf, "}")
- elseif typ == "number" then
- table.insert(buf, "\\markdownRendererJekyllDataNumber{")
- table.insert(buf, k)
- table.insert(buf, "}{")
- table.insert(buf, v)
- table.insert(buf, "}")
- elseif typ == "string" then
- table.insert(buf, "\\markdownRendererJekyllDataString{")
- table.insert(buf, k)
- table.insert(buf, "}{")
- table.insert(buf, t(v))
- table.insert(buf, "}")
- elseif typ == "table" then
- table.insert(buf, "\\markdownRendererJekyllDataEmpty{")
- table.insert(buf, k)
- table.insert(buf, "}")
- else
- error(format("Unexpected type %s for value of " ..
- "YAML key %s", typ, k))
- end
- end
- end
-
- if #d > 0 then
- table.insert(buf, "\\markdownRendererJekyllDataSequenceEnd")
- else
- table.insert(buf, "\\markdownRendererJekyllDataMappingEnd")
- end
-
- if not p then
- table.insert(buf, "\\markdownRendererJekyllDataEnd")
- end
-
- return buf
- end
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
% Define \luamdef{writer->active\_attributes} as a stack of attributes
% of the headings that are currently active. The
% \luamref{writer->active\_headings} member variable is mutable.
@@ -18890,47 +18751,6 @@ function M.writer.new(options)
% \par
% \begin{markdown}
%
-% Define \luamdef{writer->note} as a function that will transform an
-% input footnote `s` to the output format.
-%
-% \end{markdown}
-% \begin{macrocode}
- function self.note(s)
- return {"\\markdownRendererFootnote{",s,"}"}
- end
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
-% Define \luamdef{writer->citations} as a function that will transform an
-% input array of citations `cites` to the output format. If `text_cites`
-% is enabled, the citations should be rendered in-text, when applicable.
-% The `cites` array contains tables with the following keys and values:
-% \begin{itemize}
-% \item`suppress_author` -- If the value of the key is true, then the
-% author of the work should be omitted in the citation, when applicable.
-% \item`prenote` -- The value of the key is either `nil` or a rope
-% that should be inserted before the citation.
-% \item`postnote` -- The value of the key is either `nil` or a rope
-% that should be inserted after the citation.
-% \item`name` -- The value of this key is the citation name.
-% \end{itemize}
-%
-% \end{markdown}
-% \begin{macrocode}
- function self.citations(text_cites, cites)
- local buffer = {"\\markdownRenderer", text_cites and "TextCite" or "Cite",
- "{", #cites, "}"}
- for _,cite in ipairs(cites) do
- buffer[#buffer+1] = {cite.suppress_author and "-" or "+", "{",
- cite.prenote or "", "}{", cite.postnote or "", "}{", cite.name, "}"}
- end
- return buffer
- end
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
% Define \luamdef{writer->get_state} as a function that returns the current
% state of the writer, where the state of a writer are its mutable member
% variables.
@@ -19041,8 +18861,6 @@ parsers.letter = R("AZ","az")
parsers.alphanumeric = R("AZ","az","09")
parsers.keyword = parsers.letter
* parsers.alphanumeric^0
-parsers.citation_chars = parsers.alphanumeric
- + S("#$%&-+<>~/_")
parsers.internal_punctuation = S(":;,.?")
parsers.doubleasterisks = P("**")
@@ -19375,236 +19193,6 @@ parsers.optionaltitle
% \par
% \begin{markdown}
%
-%#### Parsers Used for iA\,Writer Content Blocks
-%
-% \end{markdown}
-% \begin{macrocode}
-parsers.contentblock_tail
- = parsers.optionaltitle
- * (parsers.newline + parsers.eof)
-
--- case insensitive online image suffix:
-parsers.onlineimagesuffix
- = (function(...)
- local parser = nil
- for _,suffix in ipairs({...}) do
- local pattern=nil
- for i=1,#suffix do
- local char=suffix:sub(i,i)
- char = S(char:lower()..char:upper())
- if pattern == nil then
- pattern = char
- else
- pattern = pattern * char
- end
- end
- if parser == nil then
- parser = pattern
- else
- parser = parser + pattern
- end
- end
- return parser
- end)("png", "jpg", "jpeg", "gif", "tif", "tiff")
-
--- online image url for iA Writer content blocks with mandatory suffix,
--- allowing nested brackets:
-parsers.onlineimageurl
- = (parsers.less
- * Cs((parsers.anyescaped
- - parsers.more
- - #(parsers.period
- * parsers.onlineimagesuffix
- * parsers.more
- * parsers.contentblock_tail))^0)
- * parsers.period
- * Cs(parsers.onlineimagesuffix)
- * parsers.more
- + (Cs((parsers.inparens
- + (parsers.anyescaped
- - parsers.spacing
- - parsers.rparent
- - #(parsers.period
- * parsers.onlineimagesuffix
- * parsers.contentblock_tail)))^0)
- * parsers.period
- * Cs(parsers.onlineimagesuffix))
- ) * Cc("onlineimage")
-
--- filename for iA Writer content blocks with mandatory suffix:
-parsers.localfilepath
- = parsers.slash
- * Cs((parsers.anyescaped
- - parsers.tab
- - parsers.newline
- - #(parsers.period
- * parsers.alphanumeric^1
- * parsers.contentblock_tail))^1)
- * parsers.period
- * Cs(parsers.alphanumeric^1)
- * Cc("localfile")
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
-%#### Parsers Used for Citations
-%
-% \end{markdown}
-% \begin{macrocode}
-parsers.citation_name = Cs(parsers.dash^-1) * parsers.at
- * Cs(parsers.citation_chars
- * (((parsers.citation_chars + parsers.internal_punctuation
- - parsers.comma - parsers.semicolon)
- * -#((parsers.internal_punctuation - parsers.comma
- - parsers.semicolon)^0
- * -(parsers.citation_chars + parsers.internal_punctuation
- - parsers.comma - parsers.semicolon)))^0
- * parsers.citation_chars)^-1)
-
-parsers.citation_body_prenote
- = Cs((parsers.alphanumeric^1
- + parsers.bracketed
- + parsers.inticks
- + (parsers.anyescaped
- - (parsers.rbracket + parsers.blankline^2))
- - (parsers.spnl * parsers.dash^-1 * parsers.at))^0)
-
-parsers.citation_body_postnote
- = Cs((parsers.alphanumeric^1
- + parsers.bracketed
- + parsers.inticks
- + (parsers.anyescaped
- - (parsers.rbracket + parsers.semicolon
- + parsers.blankline^2))
- - (parsers.spnl * parsers.rbracket))^0)
-
-parsers.citation_body_chunk
- = parsers.citation_body_prenote
- * parsers.spnl * parsers.citation_name
- * (parsers.internal_punctuation - parsers.semicolon)^-1
- * parsers.spnl * parsers.citation_body_postnote
-
-parsers.citation_body
- = parsers.citation_body_chunk
- * (parsers.semicolon * parsers.spnl
- * parsers.citation_body_chunk)^0
-
-parsers.citation_headless_body_postnote
- = Cs((parsers.alphanumeric^1
- + parsers.bracketed
- + parsers.inticks
- + (parsers.anyescaped
- - (parsers.rbracket + parsers.at
- + parsers.semicolon + parsers.blankline^2))
- - (parsers.spnl * parsers.rbracket))^0)
-
-parsers.citation_headless_body
- = parsers.citation_headless_body_postnote
- * (parsers.sp * parsers.semicolon * parsers.spnl
- * parsers.citation_body_chunk)^0
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
-%#### Parsers Used for Footnotes
-%
-% \end{markdown}
-% \begin{macrocode}
-local function strip_first_char(s)
- return s:sub(2)
-end
-
-parsers.RawNoteRef = #(parsers.lbracket * parsers.circumflex)
- * parsers.tag / strip_first_char
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
-%#### Parsers Used for Tables
-%
-% \end{markdown}
-% \begin{macrocode}
-local function make_pipe_table_rectangular(rows)
- local num_columns = #rows[2]
- local rectangular_rows = {}
- for i = 1, #rows do
- local row = rows[i]
- local rectangular_row = {}
- for j = 1, num_columns do
- rectangular_row[j] = row[j] or ""
- end
- table.insert(rectangular_rows, rectangular_row)
- end
- return rectangular_rows
-end
-
-local function pipe_table_row(allow_empty_first_column
- , nonempty_column
- , column_separator
- , column)
- local row_beginning
- if allow_empty_first_column then
- row_beginning = -- empty first column
- #(parsers.spacechar^4
- * column_separator)
- * parsers.optionalspace
- * column
- * parsers.optionalspace
- -- non-empty first column
- + parsers.nonindentspace
- * nonempty_column^-1
- * parsers.optionalspace
- else
- row_beginning = parsers.nonindentspace
- * nonempty_column^-1
- * parsers.optionalspace
- end
-
- return Ct(row_beginning
- * (-- single column with no leading pipes
- #(column_separator
- * parsers.optionalspace
- * parsers.newline)
- * column_separator
- * parsers.optionalspace
- -- single column with leading pipes or
- -- more than a single column
- + (column_separator
- * parsers.optionalspace
- * column
- * parsers.optionalspace)^1
- * (column_separator
- * parsers.optionalspace)^-1))
-end
-
-parsers.table_hline_separator = parsers.pipe + parsers.plus
-parsers.table_hline_column = (parsers.dash
- - #(parsers.dash
- * (parsers.spacechar
- + parsers.table_hline_separator
- + parsers.newline)))^1
- * (parsers.colon * Cc("r")
- + parsers.dash * Cc("d"))
- + parsers.colon
- * (parsers.dash
- - #(parsers.dash
- * (parsers.spacechar
- + parsers.table_hline_separator
- + parsers.newline)))^1
- * (parsers.colon * Cc("c")
- + parsers.dash * Cc("l"))
-parsers.table_hline = pipe_table_row(false
- , parsers.table_hline_column
- , parsers.table_hline_separator
- , parsers.table_hline_column)
-parsers.table_caption_beginning = parsers.skipblanklines
- * parsers.nonindentspace
- * (P("Table")^-1 * parsers.colon)
- * parsers.optionalspace
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
%#### Parsers Used for HTML
%
% \end{markdown}
@@ -19759,31 +19347,6 @@ parsers.urlchar = parsers.anyescaped - parsers.newline - parsers.more
%
% \end{markdown}
% \begin{macrocode}
-parsers.OnlineImageURL
- = parsers.leader
- * parsers.onlineimageurl
- * parsers.optionaltitle
-
-parsers.LocalFilePath
- = parsers.leader
- * parsers.localfilepath
- * parsers.optionaltitle
-
-parsers.TildeFencedCode
- = parsers.fencehead(parsers.tilde)
- * Cs(parsers.fencedline(parsers.tilde)^0)
- * parsers.fencetail(parsers.tilde)
-
-parsers.BacktickFencedCode
- = parsers.fencehead(parsers.backtick)
- * Cs(parsers.fencedline(parsers.backtick)^0)
- * parsers.fencetail(parsers.backtick)
-
-parsers.JekyllFencedCode
- = parsers.fencehead(parsers.dash)
- * Cs(parsers.fencedline(parsers.dash)^0)
- * parsers.fencetail(parsers.dash)
-
parsers.lineof = function(c)
return (parsers.leader * (P(c) * parsers.optionalspace)^3
* (parsers.newline * parsers.blankline^1
@@ -19797,19 +19360,6 @@ end
%
% \end{markdown}
% \begin{macrocode}
-parsers.defstartchar = S("~:")
-parsers.defstart = ( parsers.defstartchar * #parsers.spacing
- * (parsers.tab + parsers.space^-3)
- + parsers.space * parsers.defstartchar * #parsers.spacing
- * (parsers.tab + parsers.space^-2)
- + parsers.space * parsers.space * parsers.defstartchar
- * #parsers.spacing
- * (parsers.tab + parsers.space^-1)
- + parsers.space * parsers.space * parsers.space
- * parsers.defstartchar * #parsers.spacing
- )
-
-parsers.dlchunk = Cs(parsers.line * (parsers.indentedline - parsers.blankline)^0)
% \end{macrocode}
% \par
% \begin{markdown}
@@ -19870,31 +19420,58 @@ end
% \end{markdown}
% \begin{macrocode}
M.reader = {}
-function M.reader.new(writer, options)
+function M.reader.new(writer, options, extensions)
local self = {}
- options = options or {}
% \end{macrocode}
% \par
% \begin{markdown}
%
-% Make the `options` table inherit from the \luamref{defaultOptions} table.
+% Make the `writer` parameter available as \luamdef{reader->writer}, so that it
+% is accessible from extensions.
%
% \end{markdown}
% \begin{macrocode}
- setmetatable(options, { __index = function (_, key)
- return defaultOptions[key] end })
+ self.writer = writer
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Create a \luamdef{reader->parsers} hash table that stores \acro{peg} patterns
+% that depend on the received `options`. Make \luamdef{reader->parsers} inherit
+% from the global \luamref{parsers} table.
+%
+% \end{markdown}
+% \begin{macrocode}
+ self.parsers = {}
+ (function(parsers)
+ setmetatable(self.parsers, {
+ __index = function (_, key)
+ return parsers[key]
+ end
+ })
+ end)(parsers)
+% \end{macrocode}
+% \begin{markdown}
+%
+% Make \luamref{reader->parsers} available as a local `parsers` variable that
+% will shadow the global \luamref{parsers} table and will make
+% \luamref{reader->parsers} easier to type in the rest of the reader code.
+%
+% \end{markdown}
+% \begin{macrocode}
+ local parsers = self.parsers
% \end{macrocode}
% \par
% \begin{markdown}
%
%#### Top-Level Helper Functions
-% Define \luamdef{normalize_tag} as a function that normalizes a markdown
-% reference tag by lowercasing it, and by collapsing any adjacent whitespace
-% characters.
+% Define \luamdef{reader->normalize_tag} as a function that normalizes a
+% markdown reference tag by lowercasing it, and by collapsing any adjacent
+% whitespace characters.
%
% \end{markdown}
% \begin{macrocode}
- local function normalize_tag(tag)
+ function self.normalize_tag(tag)
return string.lower(
gsub(util.rope_to_string(tag), "[ \n\r\t]+", " "))
end
@@ -19922,47 +19499,43 @@ function M.reader.new(writer, options)
%
% \end{markdown}
% \begin{macrocode}
- local expandtabs
if options.preserveTabs then
- expandtabs = function(s) return s end
+ self.expandtabs = function(s) return s end
else
- expandtabs = function(s)
- if s:find("\t") then
- return iterlines(s, util.expand_tabs_in_line)
- else
- return s
- end
- end
+ self.expandtabs = function(s)
+ if s:find("\t") then
+ return iterlines(s, util.expand_tabs_in_line)
+ else
+ return s
+ end
+ end
end
% \end{macrocode}
% \par
% \begin{markdown}
%
-% The \luamdef{larsers} (as in ``local \luamref{parsers}'') hash table stores
-% \acro{peg} patterns that depend on the received `options`, which impedes
-% their reuse between different \luamref{reader} objects.
+%#### High-Level Parser Functions
%
-% \end{markdown}
-% \begin{macrocode}
- local larsers = {}
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
-%#### Top-Level Parser Functions
+% Create a \luamdef{reader->parser_functions} hash table that stores high-level
+% parser functions. Define \luamdef{reader->create_parser} as a function that
+% will create a high-level parser function \luamdef{reader->parser_functions.name},
+% that matches input using grammar `grammar`. If `toplevel` is true, the input
+% is expected to come straight from the user, not from a recursive call, and
+% will be preprocessed.
%
% \end{markdown}
% \begin{macrocode}
- local function create_parser(name, grammar, toplevel)
- return function(str)
+ self.parser_functions = {}
+ self.create_parser = function(name, grammar, toplevel)
+ self.parser_functions[name] = function(str)
% \end{macrocode}
% \par
% \begin{markdown}
%
-% If the parser is top-level and the \Opt{stripIndent} Lua option is enabled,
-% we will first expand tabs in the input string `str` into spaces and then we
-% will count the minimum indent across all lines, skipping blank lines. Next,
-% we will remove the minimum indent from all lines.
+% If the parser function is top-level and the \Opt{stripIndent} Lua option is
+% enabled, we will first expand tabs in the input string `str` into spaces
+% and then we will count the minimum indent across all lines, skipping
+% blank lines. Next, we will remove the minimum indent from all lines.
%
% \end{markdown}
% \begin{macrocode}
@@ -20007,47 +19580,40 @@ function M.reader.new(writer, options)
end
end
- local parse_blocks
- = create_parser("parse_blocks",
- function()
- return larsers.blocks
- end, true)
+ self.create_parser("parse_blocks",
+ function()
+ return parsers.blocks
+ end, true)
- local parse_blocks_nested
- = create_parser("parse_blocks_nested",
- function()
- return larsers.blocks_nested
- end, false)
+ self.create_parser("parse_blocks_nested",
+ function()
+ return parsers.blocks_nested
+ end, false)
- local parse_inlines
- = create_parser("parse_inlines",
- function()
- return larsers.inlines
- end, false)
+ self.create_parser("parse_inlines",
+ function()
+ return parsers.inlines
+ end, false)
- local parse_inlines_no_link
- = create_parser("parse_inlines_no_link",
- function()
- return larsers.inlines_no_link
- end, false)
+ self.create_parser("parse_inlines_no_link",
+ function()
+ return parsers.inlines_no_link
+ end, false)
- local parse_inlines_no_inline_note
- = create_parser("parse_inlines_no_inline_note",
- function()
- return larsers.inlines_no_inline_note
- end, false)
+ self.create_parser("parse_inlines_no_inline_note",
+ function()
+ return parsers.inlines_no_inline_note
+ end, false)
- local parse_inlines_no_html
- = create_parser("parse_inlines_no_html",
- function()
- return larsers.inlines_no_html
- end, false)
+ self.create_parser("parse_inlines_no_html",
+ function()
+ return parsers.inlines_no_html
+ end, false)
- local parse_inlines_nbsp
- = create_parser("parse_inlines_nbsp",
- function()
- return larsers.inlines_nbsp
- end, false)
+ self.create_parser("parse_inlines_nbsp",
+ function()
+ return parsers.inlines_nbsp
+ end, false)
% \end{macrocode}
% \par
% \begin{markdown}
@@ -20057,22 +19623,22 @@ function M.reader.new(writer, options)
% \end{markdown}
% \begin{macrocode}
if options.hashEnumerators then
- larsers.dig = parsers.digit + parsers.hash
+ parsers.dig = parsers.digit + parsers.hash
else
- larsers.dig = parsers.digit
+ parsers.dig = parsers.digit
end
- larsers.enumerator = C(larsers.dig^3 * parsers.period) * #parsers.spacing
- + C(larsers.dig^2 * parsers.period) * #parsers.spacing
+ parsers.enumerator = C(parsers.dig^3 * parsers.period) * #parsers.spacing
+ + C(parsers.dig^2 * parsers.period) * #parsers.spacing
* (parsers.tab + parsers.space^1)
- + C(larsers.dig * parsers.period) * #parsers.spacing
+ + C(parsers.dig * parsers.period) * #parsers.spacing
* (parsers.tab + parsers.space^-2)
- + parsers.space * C(larsers.dig^2 * parsers.period)
+ + parsers.space * C(parsers.dig^2 * parsers.period)
* #parsers.spacing
- + parsers.space * C(larsers.dig * parsers.period)
+ + parsers.space * C(parsers.dig * parsers.period)
* #parsers.spacing
* (parsers.tab + parsers.space^-1)
- + parsers.space * parsers.space * C(larsers.dig^1
+ + parsers.space * parsers.space * C(parsers.dig^1
* parsers.period) * #parsers.spacing
% \end{macrocode}
% \par
@@ -20083,113 +19649,24 @@ function M.reader.new(writer, options)
% \end{markdown}
% \begin{macrocode}
-- strip off leading > and indents, and run through blocks
- larsers.blockquote_body = ((parsers.leader * parsers.more * parsers.space^-1)/""
+ parsers.blockquote_body = ((parsers.leader * parsers.more * parsers.space^-1)/""
* parsers.linechar^0 * parsers.newline)^1
* (-(parsers.leader * parsers.more
+ parsers.blankline) * parsers.linechar^1
* parsers.newline)^0
if not options.breakableBlockquotes then
- larsers.blockquote_body = larsers.blockquote_body
+ parsers.blockquote_body = parsers.blockquote_body
* (parsers.blankline^0 / "")
end
% \end{macrocode}
% \par
% \begin{markdown}
%
-%#### Parsers Used for Citations (local)
-%
-% \end{markdown}
-% \begin{macrocode}
- larsers.citations = function(text_cites, raw_cites)
- local function normalize(str)
- if str == "" then
- str = nil
- else
- str = (options.citationNbsps and parse_inlines_nbsp or
- parse_inlines)(str)
- end
- return str
- end
-
- local cites = {}
- for i = 1,#raw_cites,4 do
- cites[#cites+1] = {
- prenote = normalize(raw_cites[i]),
- suppress_author = raw_cites[i+1] == "-",
- name = writer.citation(raw_cites[i+2]),
- postnote = normalize(raw_cites[i+3]),
- }
- end
- return writer.citations(text_cites, cites)
- end
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
%#### Parsers Used for Footnotes (local)
%
% \end{markdown}
% \begin{macrocode}
- local rawnotes = {}
-
- -- like indirect_link
- local function lookup_note(ref)
- return writer.defer_call(function()
- local found = rawnotes[normalize_tag(ref)]
- if found then
- return writer.note(parse_blocks_nested(found))
- else
- return {"[", parse_inlines("^" .. ref), "]"}
- end
- end)
- end
-
- local function register_note(ref,rawnote)
- rawnotes[normalize_tag(ref)] = rawnote
- return ""
- end
-
- larsers.NoteRef = parsers.RawNoteRef / lookup_note
-
-
- larsers.NoteBlock = parsers.leader * parsers.RawNoteRef * parsers.colon
- * parsers.spnl * parsers.indented_blocks(parsers.chunk)
- / register_note
-
- larsers.InlineNote = parsers.circumflex
- * (parsers.tag / parse_inlines_no_inline_note) -- no notes inside notes
- / writer.note
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
-%#### Parsers Used for Tables (local)
-%
-% \end{markdown}
-% \begin{macrocode}
-larsers.table_row = pipe_table_row(true
- , (C((parsers.linechar - parsers.pipe)^1)
- / parse_inlines)
- , parsers.pipe
- , (C((parsers.linechar - parsers.pipe)^0)
- / parse_inlines))
-
-if options.tableCaptions then
- larsers.table_caption = #parsers.table_caption_beginning
- * parsers.table_caption_beginning
- * Ct(parsers.IndentedInline^1)
- * parsers.newline
-else
- larsers.table_caption = parsers.fail
-end
-
-larsers.PipeTable = Ct(larsers.table_row * parsers.newline
- * parsers.table_hline
- * (parsers.newline * larsers.table_row)^0)
- / make_pipe_table_rectangular
- * larsers.table_caption^-1
- / writer.table
% \end{macrocode}
% \par
% \begin{markdown}
@@ -20203,7 +19680,7 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
-- add a reference to the list
local function register_link(tag,url,title)
- references[normalize_tag(tag)] = { url = url, title = title }
+ references[self.normalize_tag(tag)] = { url = url, title = title }
return ""
end
@@ -20218,16 +19695,20 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
tag = label
tagpart = "[]"
else
- tagpart = {"[", parse_inlines(tag), "]"}
+ tagpart = {"[",
+ self.parser_functions.parse_inlines(tag),
+ "]"}
end
if sps then
tagpart = {sps, tagpart}
end
- local r = references[normalize_tag(tag)]
+ local r = references[self.normalize_tag(tag)]
if r then
return r
else
- return nil, {"[", parse_inlines(label), "]", tagpart}
+ return nil, {"[",
+ self.parser_functions.parse_inlines(label),
+ "]", tagpart}
end
end
@@ -20237,7 +19718,9 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
return writer.defer_call(function()
local r,fallback = lookup_reference(label,sps,tag)
if r then
- return writer.link(parse_inlines_no_link(label), r.url, r.title)
+ return writer.link(
+ self.parser_functions.parse_inlines_no_link(label),
+ r.url, r.title)
else
return fallback
end
@@ -20264,56 +19747,51 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
%
% \end{markdown}
% \begin{macrocode}
- larsers.Str = (parsers.normalchar * (parsers.normalchar + parsers.at)^0)
+ parsers.Str = (parsers.normalchar * (parsers.normalchar + parsers.at)^0)
/ writer.string
- larsers.Symbol = (parsers.specialchar - parsers.tightblocksep)
+ parsers.Symbol = (parsers.specialchar - parsers.tightblocksep)
/ writer.string
- larsers.Ellipsis = P("...") / writer.ellipsis
+ parsers.Ellipsis = P("...") / writer.ellipsis
- larsers.Smart = larsers.Ellipsis
+ parsers.Smart = parsers.Ellipsis
- larsers.Code = parsers.inticks / writer.code
+ parsers.Code = parsers.inticks / writer.code
if options.blankBeforeBlockquote then
- larsers.bqstart = parsers.fail
+ parsers.bqstart = parsers.fail
else
- larsers.bqstart = parsers.more
+ parsers.bqstart = parsers.more
end
if options.blankBeforeHeading then
- larsers.headerstart = parsers.fail
+ parsers.headerstart = parsers.fail
else
- larsers.headerstart = parsers.hash
+ parsers.headerstart = parsers.hash
+ (parsers.line * (parsers.equal^1 + parsers.dash^1)
* parsers.optionalspace * parsers.newline)
end
- if not options.fencedCode or options.blankBeforeCodeFence then
- larsers.fencestart = parsers.fail
- else
- larsers.fencestart = parsers.fencehead(parsers.backtick)
- + parsers.fencehead(parsers.tilde)
- end
+ parsers.EndlineExceptions
+ = parsers.blankline -- paragraph break
+ + parsers.tightblocksep -- nested list
+ + parsers.eof -- end of document
+ + parsers.bqstart
+ + parsers.headerstart
- larsers.Endline = parsers.newline * -( -- newline, but not before...
- parsers.blankline -- paragraph break
- + parsers.tightblocksep -- nested list
- + parsers.eof -- end of document
- + larsers.bqstart
- + larsers.headerstart
- + larsers.fencestart
- ) * parsers.spacechar^0
+ parsers.Endline = parsers.newline
+ * -V("EndlineExceptions")
+ * parsers.spacechar^0
/ (options.hardLineBreaks and writer.linebreak
or writer.space)
- larsers.OptionalIndent
+ parsers.OptionalIndent
= parsers.spacechar^1 / writer.space
- larsers.Space = parsers.spacechar^2 * larsers.Endline / writer.linebreak
- + parsers.spacechar^1 * larsers.Endline^-1 * parsers.eof / ""
- + parsers.spacechar^1 * larsers.Endline
+ parsers.Space = parsers.spacechar^2 * parsers.Endline / writer.linebreak
+ + parsers.spacechar^1 * parsers.Endline^-1 * parsers.eof / ""
+ + parsers.spacechar^1 * parsers.Endline
* parsers.optionalspace
/ (options.hardLineBreaks
and writer.linebreak
@@ -20321,22 +19799,17 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
+ parsers.spacechar^1 * parsers.optionalspace
/ writer.space
- larsers.NonbreakingEndline
- = parsers.newline * -( -- newline, but not before...
- parsers.blankline -- paragraph break
- + parsers.tightblocksep -- nested list
- + parsers.eof -- end of document
- + larsers.bqstart
- + larsers.headerstart
- + larsers.fencestart
- ) * parsers.spacechar^0
+ parsers.NonbreakingEndline
+ = parsers.newline
+ * -V("EndlineExceptions")
+ * parsers.spacechar^0
/ (options.hardLineBreaks and writer.linebreak
or writer.nbsp)
- larsers.NonbreakingSpace
- = parsers.spacechar^2 * larsers.Endline / writer.linebreak
- + parsers.spacechar^1 * larsers.Endline^-1 * parsers.eof / ""
- + parsers.spacechar^1 * larsers.Endline
+ parsers.NonbreakingSpace
+ = parsers.spacechar^2 * parsers.Endline / writer.linebreak
+ + parsers.spacechar^1 * parsers.Endline^-1 * parsers.eof / ""
+ + parsers.spacechar^1 * parsers.Endline
* parsers.optionalspace
/ (options.hardLineBreaks
and writer.linebreak
@@ -20345,35 +19818,35 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
/ writer.nbsp
if options.underscores then
- larsers.Strong = ( parsers.between(parsers.Inline, parsers.doubleasterisks,
+ parsers.Strong = ( parsers.between(parsers.Inline, parsers.doubleasterisks,
parsers.doubleasterisks)
+ parsers.between(parsers.Inline, parsers.doubleunderscores,
parsers.doubleunderscores)
) / writer.strong
- larsers.Emph = ( parsers.between(parsers.Inline, parsers.asterisk,
+ parsers.Emph = ( parsers.between(parsers.Inline, parsers.asterisk,
parsers.asterisk)
+ parsers.between(parsers.Inline, parsers.underscore,
parsers.underscore)
) / writer.emphasis
else
- larsers.Strong = ( parsers.between(parsers.Inline, parsers.doubleasterisks,
+ parsers.Strong = ( parsers.between(parsers.Inline, parsers.doubleasterisks,
parsers.doubleasterisks)
) / writer.strong
- larsers.Emph = ( parsers.between(parsers.Inline, parsers.asterisk,
+ parsers.Emph = ( parsers.between(parsers.Inline, parsers.asterisk,
parsers.asterisk)
) / writer.emphasis
end
- larsers.AutoLinkUrl = parsers.less
+ parsers.AutoLinkUrl = parsers.less
* C(parsers.alphanumeric^1 * P("://") * parsers.urlchar^1)
* parsers.more
/ function(url)
return writer.link(writer.escape(url), url)
end
- larsers.AutoLinkEmail = parsers.less
+ parsers.AutoLinkEmail = parsers.less
* C((parsers.alphanumeric + S("-._+"))^1
* P("@") * parsers.urlchar^1)
* parsers.more
@@ -20382,7 +19855,7 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
"mailto:"..email)
end
- larsers.AutoLinkRelativeReference
+ parsers.AutoLinkRelativeReference
= parsers.less
* C(parsers.urlchar^1)
* parsers.more
@@ -20390,7 +19863,7 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
return writer.link(writer.escape(url), url)
end
- larsers.DirectLink = (parsers.tag / parse_inlines_no_link) -- no links inside links
+ parsers.DirectLink = (parsers.tag / self.parser_functions.parse_inlines_no_link)
* parsers.spnl
* parsers.lparent
* (parsers.url + Cc("")) -- link can be empty [foo]()
@@ -20398,14 +19871,14 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
* parsers.rparent
/ writer.link
- larsers.IndirectLink = parsers.tag * (C(parsers.spnl) * parsers.tag)^-1
+ parsers.IndirectLink = parsers.tag * (C(parsers.spnl) * parsers.tag)^-1
/ indirect_link
-- parse a link or image (direct or indirect)
- larsers.Link = larsers.DirectLink + larsers.IndirectLink
+ parsers.Link = parsers.DirectLink + parsers.IndirectLink
- larsers.DirectImage = parsers.exclamation
- * (parsers.tag / parse_inlines)
+ parsers.DirectImage = parsers.exclamation
+ * (parsers.tag / self.parser_functions.parse_inlines)
* parsers.spnl
* parsers.lparent
* (parsers.url + Cc("")) -- link can be empty [foo]()
@@ -20413,47 +19886,25 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
* parsers.rparent
/ writer.image
- larsers.IndirectImage = parsers.exclamation * parsers.tag
+ parsers.IndirectImage = parsers.exclamation * parsers.tag
* (C(parsers.spnl) * parsers.tag)^-1 / indirect_image
- larsers.Image = larsers.DirectImage + larsers.IndirectImage
-
- larsers.TextCitations = Ct((parsers.spnl
- * Cc("")
- * parsers.citation_name
- * ((parsers.spnl
- * parsers.lbracket
- * parsers.citation_headless_body
- * parsers.rbracket) + Cc("")))^1)
- / function(raw_cites)
- return larsers.citations(true, raw_cites)
- end
-
- larsers.ParenthesizedCitations
- = Ct((parsers.spnl
- * parsers.lbracket
- * parsers.citation_body
- * parsers.rbracket)^1)
- / function(raw_cites)
- return larsers.citations(false, raw_cites)
- end
-
- larsers.Citations = larsers.TextCitations + larsers.ParenthesizedCitations
+ parsers.Image = parsers.DirectImage + parsers.IndirectImage
-- avoid parsing long strings of * or _ as emph/strong
- larsers.UlOrStarLine = parsers.asterisk^4 + parsers.underscore^4
+ parsers.UlOrStarLine = parsers.asterisk^4 + parsers.underscore^4
/ writer.string
- larsers.EscapedChar = parsers.backslash * C(parsers.escapable) / writer.string
+ parsers.EscapedChar = parsers.backslash * C(parsers.escapable) / writer.string
- larsers.InlineHtml = parsers.emptyelt_any / writer.inline_html_tag
- + (parsers.htmlcomment / parse_inlines_no_html)
+ parsers.InlineHtml = parsers.emptyelt_any / writer.inline_html_tag
+ + (parsers.htmlcomment / self.parser_functions.parse_inlines_no_html)
/ writer.inline_html_comment
+ parsers.htmlinstruction
+ parsers.openelt_any / writer.inline_html_tag
+ parsers.closeelt_any / writer.inline_html_tag
- larsers.HtmlEntity = parsers.hexentity / entities.hex_entity / writer.string
+ parsers.HtmlEntity = parsers.hexentity / entities.hex_entity / writer.string
+ parsers.decentity / entities.dec_entity / writer.string
+ parsers.tagentity / entities.char_entity / writer.string
% \end{macrocode}
@@ -20464,72 +19915,29 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
%
% \end{markdown}
% \begin{macrocode}
- larsers.ContentBlock = parsers.leader
- * (parsers.localfilepath + parsers.onlineimageurl)
- * parsers.contentblock_tail
- / writer.contentblock
-
- larsers.DisplayHtml = (parsers.htmlcomment / parse_blocks_nested)
+ parsers.DisplayHtml = (parsers.htmlcomment / self.parser_functions.parse_blocks_nested)
/ writer.block_html_comment
+ parsers.emptyelt_block / writer.block_html_element
+ parsers.openelt_exact("hr") / writer.block_html_element
+ parsers.in_matched_block_tags / writer.block_html_element
+ parsers.htmlinstruction
- larsers.Verbatim = Cs( (parsers.blanklines
+ parsers.Verbatim = Cs( (parsers.blanklines
* ((parsers.indentedline - parsers.blankline))^1)^1
- ) / expandtabs / writer.verbatim
+ ) / self.expandtabs / writer.verbatim
- larsers.FencedCode = (parsers.TildeFencedCode
- + parsers.BacktickFencedCode)
- / function(infostring, code)
- return writer.fencedCode(writer.string(infostring),
- expandtabs(code))
- end
+ parsers.Blockquote = Cs(parsers.blockquote_body^1)
+ / self.parser_functions.parse_blocks_nested
+ / writer.blockquote
- larsers.JekyllData = Cmt( C((parsers.line - P("---") - P("..."))^0)
- , function(s, i, text)
- local data
- local ran_ok, error = pcall(function()
- local tinyyaml = require("markdown-tinyyaml")
- data = tinyyaml.parse(text, {timestamps=false})
- end)
- if ran_ok and data ~= nil then
- return true, writer.jekyllData(data, function(s)
- return parse_blocks_nested(s)
- end, nil)
- else
- return false
- end
- end
- )
-
- larsers.UnexpectedJekyllData
- = P("---")
- * parsers.blankline / 0
- * #(-parsers.blankline) -- if followed by blank, it's an hrule
- * larsers.JekyllData
- * (P("---") + P("..."))
-
- larsers.ExpectedJekyllData
- = ( P("---")
- * parsers.blankline / 0
- * #(-parsers.blankline) -- if followed by blank, it's an hrule
- )^-1
- * larsers.JekyllData
- * (P("---") + P("..."))^-1
-
- larsers.Blockquote = Cs(larsers.blockquote_body^1)
- / parse_blocks_nested / writer.blockquote
-
- larsers.HorizontalRule = ( parsers.lineof(parsers.asterisk)
+ parsers.HorizontalRule = ( parsers.lineof(parsers.asterisk)
+ parsers.lineof(parsers.dash)
+ parsers.lineof(parsers.underscore)
) / writer.hrule
- larsers.Reference = parsers.define_reference_parser / register_link
+ parsers.Reference = parsers.define_reference_parser / register_link
- larsers.Paragraph = parsers.nonindentspace * Ct(parsers.Inline^1)
+ parsers.Paragraph = parsers.nonindentspace * Ct(parsers.Inline^1)
* ( parsers.newline
* ( parsers.blankline^1
+ #parsers.hash
@@ -20539,7 +19947,7 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
+ parsers.eof )
/ writer.paragraph
- larsers.Plain = parsers.nonindentspace * Ct(parsers.Inline^1)
+ parsers.Plain = parsers.nonindentspace * Ct(parsers.Inline^1)
/ writer.plain
% \end{macrocode}
% \par
@@ -20549,50 +19957,50 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
%
% \end{markdown}
% \begin{macrocode}
- larsers.starter = parsers.bullet + larsers.enumerator
+ parsers.starter = parsers.bullet + parsers.enumerator
if options.taskLists then
- larsers.tickbox = ( parsers.ticked_box
+ parsers.tickbox = ( parsers.ticked_box
+ parsers.halfticked_box
+ parsers.unticked_box
) / writer.tickbox
else
- larsers.tickbox = parsers.fail
+ parsers.tickbox = parsers.fail
end
-- we use \001 as a separator between a tight list item and a
-- nested list under it.
- larsers.NestedList = Cs((parsers.optionallyindentedline
- - larsers.starter)^1)
+ parsers.NestedList = Cs((parsers.optionallyindentedline
+ - parsers.starter)^1)
/ function(a) return "\001"..a end
- larsers.ListBlockLine = parsers.optionallyindentedline
+ parsers.ListBlockLine = parsers.optionallyindentedline
- parsers.blankline - (parsers.indent^-1
- * larsers.starter)
+ * parsers.starter)
- larsers.ListBlock = parsers.line * larsers.ListBlockLine^0
+ parsers.ListBlock = parsers.line * parsers.ListBlockLine^0
- larsers.ListContinuationBlock = parsers.blanklines * (parsers.indent / "")
- * larsers.ListBlock
+ parsers.ListContinuationBlock = parsers.blanklines * (parsers.indent / "")
+ * parsers.ListBlock
- larsers.TightListItem = function(starter)
- return -larsers.HorizontalRule
- * (Cs(starter / "" * larsers.tickbox^-1 * larsers.ListBlock * larsers.NestedList^-1)
- / parse_blocks_nested)
+ parsers.TightListItem = function(starter)
+ return -parsers.HorizontalRule
+ * (Cs(starter / "" * parsers.tickbox^-1 * parsers.ListBlock * parsers.NestedList^-1)
+ / self.parser_functions.parse_blocks_nested)
* -(parsers.blanklines * parsers.indent)
end
- larsers.LooseListItem = function(starter)
- return -larsers.HorizontalRule
- * Cs( starter / "" * larsers.tickbox^-1 * larsers.ListBlock * Cc("\n")
- * (larsers.NestedList + larsers.ListContinuationBlock^0)
+ parsers.LooseListItem = function(starter)
+ return -parsers.HorizontalRule
+ * Cs( starter / "" * parsers.tickbox^-1 * parsers.ListBlock * Cc("\n")
+ * (parsers.NestedList + parsers.ListContinuationBlock^0)
* (parsers.blanklines / "\n\n")
- ) / parse_blocks_nested
+ ) / self.parser_functions.parse_blocks_nested
end
- larsers.BulletList = ( Ct(larsers.TightListItem(parsers.bullet)^1) * Cc(true)
+ parsers.BulletList = ( Ct(parsers.TightListItem(parsers.bullet)^1) * Cc(true)
* parsers.skipblanklines * -parsers.bullet
- + Ct(larsers.LooseListItem(parsers.bullet)^1) * Cc(false)
+ + Ct(parsers.LooseListItem(parsers.bullet)^1) * Cc(false)
* parsers.skipblanklines )
/ writer.bulletlist
@@ -20608,35 +20016,14 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
return writer.orderedlist(items,tight,startNumber)
end
- larsers.OrderedList = Cg(larsers.enumerator, "listtype") *
- ( Ct(larsers.TightListItem(Cb("listtype"))
- * larsers.TightListItem(larsers.enumerator)^0)
- * Cc(true) * parsers.skipblanklines * -larsers.enumerator
- + Ct(larsers.LooseListItem(Cb("listtype"))
- * larsers.LooseListItem(larsers.enumerator)^0)
+ parsers.OrderedList = Cg(parsers.enumerator, "listtype") *
+ ( Ct(parsers.TightListItem(Cb("listtype"))
+ * parsers.TightListItem(parsers.enumerator)^0)
+ * Cc(true) * parsers.skipblanklines * -parsers.enumerator
+ + Ct(parsers.LooseListItem(Cb("listtype"))
+ * parsers.LooseListItem(parsers.enumerator)^0)
* Cc(false) * parsers.skipblanklines
) * Cb("listtype") / ordered_list
-
- local function definition_list_item(term, defs, tight)
- return { term = parse_inlines(term), definitions = defs }
- end
-
- larsers.DefinitionListItemLoose = C(parsers.line) * parsers.skipblanklines
- * Ct((parsers.defstart
- * parsers.indented_blocks(parsers.dlchunk)
- / parse_blocks_nested)^1)
- * Cc(false) / definition_list_item
-
- larsers.DefinitionListItemTight = C(parsers.line)
- * Ct((parsers.defstart * parsers.dlchunk
- / parse_blocks_nested)^1)
- * Cc(true) / definition_list_item
-
- larsers.DefinitionList = ( Ct(larsers.DefinitionListItemLoose^1) * Cc(false)
- + Ct(larsers.DefinitionListItemTight^1)
- * (parsers.skipblanklines
- * -larsers.DefinitionListItemLoose * Cc(true))
- ) / writer.definitionlist
% \end{macrocode}
% \par
% \begin{markdown}
@@ -20645,9 +20032,8 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
%
% \end{markdown}
% \begin{macrocode}
- larsers.Blank = parsers.blankline / ""
- + larsers.NoteBlock
- + larsers.Reference
+ parsers.Blank = parsers.blankline / ""
+ + parsers.Reference
+ (parsers.tightblocksep / "\n")
% \end{macrocode}
% \par
@@ -20658,74 +20044,36 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
% \end{markdown}
% \begin{macrocode}
-- parse atx header
- if options.headerAttributes then
- larsers.AtxHeading = Cg(parsers.HeadingStart,"level")
- * parsers.optionalspace
- * (C(((parsers.linechar
- - ((parsers.hash^1
- * parsers.optionalspace
- * parsers.HeadingAttributes^-1
- + parsers.HeadingAttributes)
- * parsers.optionalspace
- * parsers.newline))
- * (parsers.linechar
- - parsers.hash
- - parsers.lbrace)^0)^1)
- / parse_inlines)
- * Cg(Ct(parsers.newline
- + (parsers.hash^1
- * parsers.optionalspace
- * parsers.HeadingAttributes^-1
- + parsers.HeadingAttributes)
- * parsers.optionalspace
- * parsers.newline), "attributes")
- * Cb("level")
- * Cb("attributes")
- / writer.heading
-
- larsers.SetextHeading = #(parsers.line * S("=-"))
- * (C(((parsers.linechar
- - (parsers.HeadingAttributes
- * parsers.optionalspace
- * parsers.newline))
- * (parsers.linechar
- - parsers.lbrace)^0)^1)
- / parse_inlines)
- * Cg(Ct(parsers.newline
- + (parsers.HeadingAttributes
- * parsers.optionalspace
- * parsers.newline)), "attributes")
- * parsers.HeadingLevel
- * Cb("attributes")
- * parsers.optionalspace
- * parsers.newline
- / writer.heading
- else
- larsers.AtxHeading = Cg(parsers.HeadingStart,"level")
- * parsers.optionalspace
- * (C(parsers.line) / strip_atx_end / parse_inlines)
- * Cb("level")
- / writer.heading
-
- larsers.SetextHeading = #(parsers.line * S("=-"))
- * Ct(parsers.linechar^1 / parse_inlines)
- * parsers.newline
- * parsers.HeadingLevel
- * parsers.optionalspace
- * parsers.newline
- / writer.heading
- end
+ parsers.AtxHeading = Cg(parsers.HeadingStart,"level")
+ * parsers.optionalspace
+ * (C(parsers.line)
+ / strip_atx_end
+ / self.parser_functions.parse_inlines)
+ * Cb("level")
+ / writer.heading
+
+ parsers.SetextHeading = #(parsers.line * S("=-"))
+ * Ct(parsers.linechar^1
+ / self.parser_functions.parse_inlines)
+ * parsers.newline
+ * parsers.HeadingLevel
+ * parsers.optionalspace
+ * parsers.newline
+ / writer.heading
- larsers.Heading = larsers.AtxHeading + larsers.SetextHeading
+ parsers.Heading = parsers.AtxHeading + parsers.SetextHeading
% \end{macrocode}
% \par
% \begin{markdown}
%
%#### Syntax Specification
%
+% Create a \luamdef{reader->syntax} hash table that stores the \acro{peg}
+% grammar.
+%
% \end{markdown}
% \begin{macrocode}
- local syntax =
+ self.syntax =
{ "Blocks",
Blocks = ( V("ExpectedJekyllData")
@@ -20737,10 +20085,10 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
* V("Block"))^0
* V("Blank")^0 * parsers.eof,
- Blank = larsers.Blank,
+ Blank = parsers.Blank,
- UnexpectedJekyllData = larsers.UnexpectedJekyllData,
- ExpectedJekyllData = larsers.ExpectedJekyllData,
+ UnexpectedJekyllData = parsers.fail,
+ ExpectedJekyllData = parsers.fail,
Block = V("ContentBlock")
+ V("UnexpectedJekyllData")
@@ -20757,19 +20105,20 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
+ V("Paragraph")
+ V("Plain"),
- ContentBlock = larsers.ContentBlock,
- Blockquote = larsers.Blockquote,
- Verbatim = larsers.Verbatim,
- FencedCode = larsers.FencedCode,
- HorizontalRule = larsers.HorizontalRule,
- BulletList = larsers.BulletList,
- OrderedList = larsers.OrderedList,
- Heading = larsers.Heading,
- DefinitionList = larsers.DefinitionList,
- DisplayHtml = larsers.DisplayHtml,
- Paragraph = larsers.Paragraph,
- PipeTable = larsers.PipeTable,
- Plain = larsers.Plain,
+ ContentBlock = parsers.fail,
+ Blockquote = parsers.Blockquote,
+ Verbatim = parsers.Verbatim,
+ FencedCode = parsers.fail,
+ HorizontalRule = parsers.HorizontalRule,
+ BulletList = parsers.BulletList,
+ OrderedList = parsers.OrderedList,
+ Heading = parsers.Heading,
+ DefinitionList = parsers.fail,
+ DisplayHtml = parsers.DisplayHtml,
+ Paragraph = parsers.Paragraph,
+ PipeTable = parsers.fail,
+ Plain = parsers.Plain,
+ EndlineExceptions = parsers.EndlineExceptions,
Inline = V("Str")
+ V("Space")
@@ -20813,117 +20162,94 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
+ V("Smart")
+ V("Symbol"),
- Str = larsers.Str,
- Space = larsers.Space,
- OptionalIndent = larsers.OptionalIndent,
- Endline = larsers.Endline,
- UlOrStarLine = larsers.UlOrStarLine,
- Strong = larsers.Strong,
- Emph = larsers.Emph,
- InlineNote = larsers.InlineNote,
- NoteRef = larsers.NoteRef,
- Citations = larsers.Citations,
- Link = larsers.Link,
- Image = larsers.Image,
- Code = larsers.Code,
- AutoLinkUrl = larsers.AutoLinkUrl,
- AutoLinkEmail = larsers.AutoLinkEmail,
+ Str = parsers.Str,
+ Space = parsers.Space,
+ OptionalIndent = parsers.OptionalIndent,
+ Endline = parsers.Endline,
+ UlOrStarLine = parsers.UlOrStarLine,
+ Strong = parsers.Strong,
+ Emph = parsers.Emph,
+ InlineNote = parsers.fail,
+ NoteRef = parsers.fail,
+ Citations = parsers.fail,
+ Link = parsers.Link,
+ Image = parsers.Image,
+ Code = parsers.Code,
+ AutoLinkUrl = parsers.AutoLinkUrl,
+ AutoLinkEmail = parsers.AutoLinkEmail,
AutoLinkRelativeReference
- = larsers.AutoLinkRelativeReference,
- InlineHtml = larsers.InlineHtml,
- HtmlEntity = larsers.HtmlEntity,
- EscapedChar = larsers.EscapedChar,
- Smart = larsers.Smart,
- Symbol = larsers.Symbol,
+ = parsers.AutoLinkRelativeReference,
+ InlineHtml = parsers.InlineHtml,
+ HtmlEntity = parsers.HtmlEntity,
+ EscapedChar = parsers.EscapedChar,
+ Smart = parsers.Smart,
+ Symbol = parsers.Symbol,
}
- if not options.citations then
- syntax.Citations = parsers.fail
- end
-
- if not options.contentBlocks then
- syntax.ContentBlock = parsers.fail
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Apply syntax extensions.
+%
+% \end{markdown}
+% \begin{macrocode}
+ for _, extension in ipairs(extensions) do
+ extension.extend_writer(writer)
+ extension.extend_reader(self)
end
if not options.codeSpans then
- syntax.Code = parsers.fail
- end
-
- if not options.definitionLists then
- syntax.DefinitionList = parsers.fail
- end
-
- if not options.fencedCode then
- syntax.FencedCode = parsers.fail
- end
-
- if not options.footnotes then
- syntax.NoteRef = parsers.fail
+ self.syntax.Code = parsers.fail
end
if not options.html then
- syntax.DisplayHtml = parsers.fail
- syntax.InlineHtml = parsers.fail
- syntax.HtmlEntity = parsers.fail
- end
-
- if not options.inlineFootnotes then
- syntax.InlineNote = parsers.fail
- end
-
- if not options.jekyllData then
- syntax.UnexpectedJekyllData = parsers.fail
- end
-
- if not options.jekyllData or not options.expectJekyllData then
- syntax.ExpectedJekyllData = parsers.fail
+ self.syntax.DisplayHtml = parsers.fail
+ self.syntax.InlineHtml = parsers.fail
+ self.syntax.HtmlEntity = parsers.fail
end
if options.preserveTabs then
options.stripIndent = false
end
- if not options.pipeTables then
- syntax.PipeTable = parsers.fail
- end
-
if not options.smartEllipses then
- syntax.Smart = parsers.fail
+ self.syntax.Smart = parsers.fail
end
if not options.relativeReferences then
- syntax.AutoLinkRelativeReference = parsers.fail
+ self.syntax.AutoLinkRelativeReference = parsers.fail
end
- local blocks_nested_t = util.table_copy(syntax)
+ local blocks_nested_t = util.table_copy(self.syntax)
blocks_nested_t.ExpectedJekyllData = parsers.fail
- larsers.blocks_nested = Ct(blocks_nested_t)
+ parsers.blocks_nested = Ct(blocks_nested_t)
- larsers.blocks = Ct(syntax)
+ parsers.blocks = Ct(self.syntax)
- local inlines_t = util.table_copy(syntax)
+ local inlines_t = util.table_copy(self.syntax)
inlines_t[1] = "Inlines"
inlines_t.Inlines = parsers.Inline^0 * (parsers.spacing^0 * parsers.eof / "")
- larsers.inlines = Ct(inlines_t)
+ parsers.inlines = Ct(inlines_t)
local inlines_no_link_t = util.table_copy(inlines_t)
inlines_no_link_t.Link = parsers.fail
- larsers.inlines_no_link = Ct(inlines_no_link_t)
+ parsers.inlines_no_link = Ct(inlines_no_link_t)
local inlines_no_inline_note_t = util.table_copy(inlines_t)
inlines_no_inline_note_t.InlineNote = parsers.fail
- larsers.inlines_no_inline_note = Ct(inlines_no_inline_note_t)
+ parsers.inlines_no_inline_note = Ct(inlines_no_inline_note_t)
local inlines_no_html_t = util.table_copy(inlines_t)
inlines_no_html_t.DisplayHtml = parsers.fail
inlines_no_html_t.InlineHtml = parsers.fail
inlines_no_html_t.HtmlEntity = parsers.fail
- larsers.inlines_no_html = Ct(inlines_no_html_t)
+ parsers.inlines_no_html = Ct(inlines_no_html_t)
local inlines_nbsp_t = util.table_copy(inlines_t)
- inlines_nbsp_t.Endline = larsers.NonbreakingEndline
- inlines_nbsp_t.Space = larsers.NonbreakingSpace
- larsers.inlines_nbsp = Ct(inlines_nbsp_t)
+ inlines_nbsp_t.Endline = parsers.NonbreakingEndline
+ inlines_nbsp_t.Space = parsers.NonbreakingSpace
+ parsers.inlines_nbsp = Ct(inlines_nbsp_t)
% \end{macrocode}
% \par
% \begin{markdown}
@@ -20962,7 +20288,7 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
% \end{markdown}
% \begin{macrocode}
local function convert(input)
- local document = parse_blocks(input)
+ local document = self.parser_functions.parse_blocks(input)
return util.rope_to_string(writer.document(document))
end
if options.eagerCache or options.finalizeCache then
@@ -21003,10 +20329,1084 @@ larsers.PipeTable = Ct(larsers.table_row * parsers.newline
return self
end
% \end{macrocode}
+% \begin{markdown}
+%
+%### Syntax Extensions for Markdown
+%
+% Create \luamdef{extensions} hash table that contains syntax extensions.
+% Syntax extensions are functions that produce objects with two methods:
+% `extend_writer` and `extend_reader`. The `extend_writer` object takes a
+% \luamref{writer} object as the only parameter and mutates it. Similarly,
+% `extend_reader` takes a \luamref{reader} object as the only parameter and
+% mutates it.
+%
+% \end{markdown}
+% \begin{macrocode}
+M.extensions = {}
+% \end{macrocode}
+% \begin{markdown}
+%
+%#### Citations
+%
+% The \luamdef{extensions.citations} function implements the Pandoc citation
+% syntax extension. When the `citation_nbsps` parameter is `true`, the syntax
+% extension will replace regular spaces with non-breaking spaces inside the
+% prenotes and postnotes of citations.
+%
+% \end{markdown}
+% \begin{macrocode}
+M.extensions.citations = function(citation_nbsps)
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Define table \luamdef{escaped_citation_chars} containing the characters to
+% escape in citations.
+%
+% \end{markdown}
+% \begin{macrocode}
+ local escaped_citation_chars = {
+ ["{"] = "\\markdownRendererLeftBrace{}",
+ ["}"] = "\\markdownRendererRightBrace{}",
+ ["%"] = "\\markdownRendererPercentSign{}",
+ ["\\"] = "\\markdownRendererBackslash{}",
+ ["#"] = "\\markdownRendererHash{}",
+ }
+ return {
+ extend_writer = function(self)
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Use the \luamref{escaped_citation_chars} to create the
+% \luamdef{escape_citation} escaper functions.
+%
+% \end{markdown}
+% \begin{macrocode}
+ local escape_citation = util.escaper(
+ escaped_citation_chars,
+ self.escaped_minimal_strings)
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Define \luamdef{writer->citation} as a function that will transform an input
+% citation name `c` to the output format. If \luamref{writer->hybrid} is `true`,
+% use the \luamref{writer->escape_minimal} function. Otherwise, use the
+% \luamref{escape_citation} function.
+%
+% \end{markdown}
+% \begin{macrocode}
+ if self.hybrid then
+ self.citation = self.escape_minimal
+ else
+ self.citation = escape_citation
+ end
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Define \luamdef{writer->citations} as a function that will transform an
+% input array of citations `cites` to the output format. If `text_cites`
+% is enabled, the citations should be rendered in-text, when applicable.
+% The `cites` array contains tables with the following keys and values:
+% \begin{itemize}
+% \item`suppress_author` -- If the value of the key is true, then the
+% author of the work should be omitted in the citation, when applicable.
+% \item`prenote` -- The value of the key is either `nil` or a rope
+% that should be inserted before the citation.
+% \item`postnote` -- The value of the key is either `nil` or a rope
+% that should be inserted after the citation.
+% \item`name` -- The value of this key is the citation name.
+% \end{itemize}
+%
+% \end{markdown}
+% \begin{macrocode}
+ function self.citations(text_cites, cites)
+ local buffer = {"\\markdownRenderer", text_cites and "TextCite" or "Cite",
+ "{", #cites, "}"}
+ for _,cite in ipairs(cites) do
+ buffer[#buffer+1] = {cite.suppress_author and "-" or "+", "{",
+ cite.prenote or "", "}{", cite.postnote or "", "}{", cite.name, "}"}
+ end
+ return buffer
+ end
+ end, extend_reader = function(self)
+ local parsers = self.parsers
+ local syntax = self.syntax
+ local writer = self.writer
+
+ local citation_chars
+ = parsers.alphanumeric
+ + S("#$%&-+<>~/_")
+
+ local citation_name
+ = Cs(parsers.dash^-1) * parsers.at
+ * Cs(citation_chars
+ * (((citation_chars + parsers.internal_punctuation
+ - parsers.comma - parsers.semicolon)
+ * -#((parsers.internal_punctuation - parsers.comma
+ - parsers.semicolon)^0
+ * -(citation_chars + parsers.internal_punctuation
+ - parsers.comma - parsers.semicolon)))^0
+ * citation_chars)^-1)
+
+ local citation_body_prenote
+ = Cs((parsers.alphanumeric^1
+ + parsers.bracketed
+ + parsers.inticks
+ + (parsers.anyescaped
+ - (parsers.rbracket + parsers.blankline^2))
+ - (parsers.spnl * parsers.dash^-1 * parsers.at))^0)
+
+ local citation_body_postnote
+ = Cs((parsers.alphanumeric^1
+ + parsers.bracketed
+ + parsers.inticks
+ + (parsers.anyescaped
+ - (parsers.rbracket + parsers.semicolon
+ + parsers.blankline^2))
+ - (parsers.spnl * parsers.rbracket))^0)
+
+ local citation_body_chunk
+ = citation_body_prenote
+ * parsers.spnl * citation_name
+ * (parsers.internal_punctuation - parsers.semicolon)^-1
+ * parsers.spnl * citation_body_postnote
+
+ local citation_body
+ = citation_body_chunk
+ * (parsers.semicolon * parsers.spnl
+ * citation_body_chunk)^0
+
+ local citation_headless_body_postnote
+ = Cs((parsers.alphanumeric^1
+ + parsers.bracketed
+ + parsers.inticks
+ + (parsers.anyescaped
+ - (parsers.rbracket + parsers.at
+ + parsers.semicolon + parsers.blankline^2))
+ - (parsers.spnl * parsers.rbracket))^0)
+
+ local citation_headless_body
+ = citation_headless_body_postnote
+ * (parsers.sp * parsers.semicolon * parsers.spnl
+ * citation_body_chunk)^0
+
+ local citations
+ = function(text_cites, raw_cites)
+ local function normalize(str)
+ if str == "" then
+ str = nil
+ else
+ str = (citation_nbsps and
+ self.parser_functions.parse_inlines_nbsp or
+ self.parser_functions.parse_inlines)(str)
+ end
+ return str
+ end
+
+ local cites = {}
+ for i = 1,#raw_cites,4 do
+ cites[#cites+1] = {
+ prenote = normalize(raw_cites[i]),
+ suppress_author = raw_cites[i+1] == "-",
+ name = writer.citation(raw_cites[i+2]),
+ postnote = normalize(raw_cites[i+3]),
+ }
+ end
+ return writer.citations(text_cites, cites)
+ end
+
+ local TextCitations
+ = Ct((parsers.spnl
+ * Cc("")
+ * citation_name
+ * ((parsers.spnl
+ * parsers.lbracket
+ * citation_headless_body
+ * parsers.rbracket) + Cc("")))^1)
+ / function(raw_cites)
+ return citations(true, raw_cites)
+ end
+
+ local ParenthesizedCitations
+ = Ct((parsers.spnl
+ * parsers.lbracket
+ * citation_body
+ * parsers.rbracket)^1)
+ / function(raw_cites)
+ return citations(false, raw_cites)
+ end
+
+ local Citations = TextCitations + ParenthesizedCitations
+
+ syntax.Citations = Citations
+ end
+ }
+end
+% \end{macrocode}
+% \begin{markdown}
+%
+%#### Content Blocks
+%
+% The \luamdef{extensions.content_blocks} function implements the iA\,Writer
+% content blocks syntax extension. The `language_map` parameter specifies
+% the filename of the \acro{JSON} file that maps filename extensions to
+% programming language names.
+%
+% \end{markdown}
+% \begin{macrocode}
+M.extensions.content_blocks = function(language_map)
+% \end{macrocode}
% \par
% \begin{markdown}
%
+% The \luamdef{languages_json} table maps programming language filename
+% extensions to fence infostrings. All `language_map` files located by the
+% KPathSea library are loaded into a chain of tables. \luamref{languages_json}
+% corresponds to the first table and is chained with the rest via Lua
+% metatables.
+%
+% \end{markdown}
+% \begin{macrocode}
+ local languages_json = (function()
+ local ran_ok, kpse = pcall(require, "kpse")
+ if ran_ok then
+ kpse.set_program_name("luatex")
+% \end{macrocode}
+% \begin{markdown}
+%
+% If the KPathSea library is unavailable, perhaps because we are using
+% LuaMeta\TeX, we will only locate the `options.`\luamref{contentBlocksLanguageMap}
+% in the current working directory:
+%
+% \end{markdown}
+% \begin{macrocode}
+ else
+ kpse = {lookup=function(filename, options) return filename end}
+ end
+ local base, prev, curr
+ for _, filename in ipairs{kpse.lookup(language_map, { all=true })} do
+ local file = io.open(filename, "r")
+ if not file then goto continue end
+ json = file:read("*all"):gsub('("[^\n]-"):','[%1]=')
+ curr = (function()
+ local _ENV={ json=json, load=load } -- run in sandbox
+ return load("return "..json)()
+ end)()
+ if type(curr) == "table" then
+ if base == nil then
+ base = curr
+ else
+ setmetatable(prev, { __index = curr })
+ end
+ prev = curr
+ end
+ ::continue::
+ end
+ return base or {}
+ end)()
+
+ return {
+ extend_writer = function(self)
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Define \luamdef{writer->contentblock} as a function that will transform an
+% input iA\,Writer content block to the output format, where `src`
+% corresponds to the \acro{uri} prefix, `suf` to the \acro{uri} extension,
+% `type` to the type of the content block (`localfile` or `onlineimage`),
+% and `tit` to the title of the content block.
+%
+% \end{markdown}
+% \begin{macrocode}
+ function self.contentblock(src,suf,type,tit)
+ if not self.is_writing then return "" end
+ src = src.."."..suf
+ suf = suf:lower()
+ if type == "onlineimage" then
+ return {"\\markdownRendererContentBlockOnlineImage{",suf,"}",
+ "{",self.string(src),"}",
+ "{",self.uri(src),"}",
+ "{",self.string(tit or ""),"}"}
+ elseif languages_json[suf] then
+ return {"\\markdownRendererContentBlockCode{",suf,"}",
+ "{",self.string(languages_json[suf]),"}",
+ "{",self.string(src),"}",
+ "{",self.uri(src),"}",
+ "{",self.string(tit or ""),"}"}
+ else
+ return {"\\markdownRendererContentBlock{",suf,"}",
+ "{",self.string(src),"}",
+ "{",self.uri(src),"}",
+ "{",self.string(tit or ""),"}"}
+ end
+ end
+ end, extend_reader = function(self)
+ local parsers = self.parsers
+ local syntax = self.syntax
+ local writer = self.writer
+
+ local contentblock_tail
+ = parsers.optionaltitle
+ * (parsers.newline + parsers.eof)
+
+ -- case insensitive online image suffix:
+ local onlineimagesuffix
+ = (function(...)
+ local parser = nil
+ for _, suffix in ipairs({...}) do
+ local pattern=nil
+ for i=1,#suffix do
+ local char=suffix:sub(i,i)
+ char = S(char:lower()..char:upper())
+ if pattern == nil then
+ pattern = char
+ else
+ pattern = pattern * char
+ end
+ end
+ if parser == nil then
+ parser = pattern
+ else
+ parser = parser + pattern
+ end
+ end
+ return parser
+ end)("png", "jpg", "jpeg", "gif", "tif", "tiff")
+
+ -- online image url for iA Writer content blocks with mandatory suffix,
+ -- allowing nested brackets:
+ local onlineimageurl
+ = (parsers.less
+ * Cs((parsers.anyescaped
+ - parsers.more
+ - #(parsers.period
+ * onlineimagesuffix
+ * parsers.more
+ * contentblock_tail))^0)
+ * parsers.period
+ * Cs(onlineimagesuffix)
+ * parsers.more
+ + (Cs((parsers.inparens
+ + (parsers.anyescaped
+ - parsers.spacing
+ - parsers.rparent
+ - #(parsers.period
+ * onlineimagesuffix
+ * contentblock_tail)))^0)
+ * parsers.period
+ * Cs(onlineimagesuffix))
+ ) * Cc("onlineimage")
+
+ -- filename for iA Writer content blocks with mandatory suffix:
+ local localfilepath
+ = parsers.slash
+ * Cs((parsers.anyescaped
+ - parsers.tab
+ - parsers.newline
+ - #(parsers.period
+ * parsers.alphanumeric^1
+ * contentblock_tail))^1)
+ * parsers.period
+ * Cs(parsers.alphanumeric^1)
+ * Cc("localfile")
+
+ local ContentBlock
+ = parsers.leader
+ * (localfilepath + onlineimageurl)
+ * contentblock_tail
+ / writer.contentblock
+
+ syntax.ContentBlock = ContentBlock
+ end
+ }
+end
+% \end{macrocode}
+% \begin{markdown}
+%
+%#### Definition Lists
+%
+% The \luamdef{extensions.definition_lists} function implements the definition
+% list syntax extension. If the `tight_lists` parameter is `true`, tight lists
+% will produce special right item renderers.
+%
+% \end{markdown}
+% \begin{macrocode}
+M.extensions.definition_lists = function(tight_lists)
+ return {
+ extend_writer = function(self)
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Define \luamdef{writer->definitionlist} as a function that will transform an
+% input definition list to the output format, where `items` is an array of
+% tables, each of the form `{ term = t, definitions = defs }`, where `t`
+% is a term and `defs` is an array of definitions. `tight` specifies,
+% whether the list is tight or not.
+%
+% \end{markdown}
+% \begin{macrocode}
+ local function dlitem(term, defs)
+ local retVal = {"\\markdownRendererDlItem{",term,"}"}
+ for _, def in ipairs(defs) do
+ retVal[#retVal+1] = {"\\markdownRendererDlDefinitionBegin ",def,
+ "\\markdownRendererDlDefinitionEnd "}
+ end
+ retVal[#retVal+1] = "\\markdownRendererDlItemEnd "
+ return retVal
+ end
+
+ function self.definitionlist(items,tight)
+ if not self.is_writing then return "" end
+ local buffer = {}
+ for _,item in ipairs(items) do
+ buffer[#buffer + 1] = dlitem(item.term, item.definitions)
+ end
+ if tight and tight_lists then
+ return {"\\markdownRendererDlBeginTight\n", buffer,
+ "\n\\markdownRendererDlEndTight"}
+ else
+ return {"\\markdownRendererDlBegin\n", buffer,
+ "\n\\markdownRendererDlEnd"}
+ end
+ end
+ end, extend_reader = function(self)
+ local parsers = self.parsers
+ local syntax = self.syntax
+ local writer = self.writer
+
+ local defstartchar = S("~:")
+
+ local defstart = ( defstartchar * #parsers.spacing
+ * (parsers.tab + parsers.space^-3)
+ + parsers.space * defstartchar * #parsers.spacing
+ * (parsers.tab + parsers.space^-2)
+ + parsers.space * parsers.space * defstartchar
+ * #parsers.spacing
+ * (parsers.tab + parsers.space^-1)
+ + parsers.space * parsers.space * parsers.space
+ * defstartchar * #parsers.spacing
+ )
+
+ local dlchunk = Cs(parsers.line * (parsers.indentedline - parsers.blankline)^0)
+
+ local function definition_list_item(term, defs, tight)
+ return { term = self.parser_functions.parse_inlines(term),
+ definitions = defs }
+ end
+
+ local DefinitionListItemLoose
+ = C(parsers.line) * parsers.skipblanklines
+ * Ct((defstart
+ * parsers.indented_blocks(dlchunk)
+ / self.parser_functions.parse_blocks_nested)^1)
+ * Cc(false) / definition_list_item
+
+ local DefinitionListItemTight
+ = C(parsers.line)
+ * Ct((defstart * dlchunk
+ / self.parser_functions.parse_blocks_nested)^1)
+ * Cc(true) / definition_list_item
+
+ local DefinitionList
+ = ( Ct(DefinitionListItemLoose^1) * Cc(false)
+ + Ct(DefinitionListItemTight^1)
+ * (parsers.skipblanklines
+ * -DefinitionListItemLoose * Cc(true))
+ ) / writer.definitionlist
+
+ syntax.DefinitionList = DefinitionList
+ end
+ }
+end
+% \end{macrocode}
+% \begin{markdown}
+%
+%#### Fenced Code
+%
+% The \luamdef{extensions.fenced_code} function implements the commonmark
+% fenced code block syntax extension. When the `blank_before_code_fence`
+% parameter is `true`, the syntax extension requires between a paragraph and
+% the following fenced code block.
+%
+% \end{markdown}
+% \begin{macrocode}
+M.extensions.fenced_code = function(blank_before_code_fence)
+ return {
+ extend_writer = function(self)
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Define \luamdef{writer->codeFence} as a function that will transform an
+% input fenced code block `s` with the infostring `i` to the output
+% format.
+%
+% \end{markdown}
+% \begin{macrocode}
+ function self.fencedCode(i, s)
+ if not self.is_writing then return "" end
+ s = string.gsub(s, '[\r\n%s]*$', '')
+ local name = util.cache(self.cacheDir, s, nil, nil, ".verbatim")
+ return {"\\markdownRendererInputFencedCode{",name,"}{",i,"}"}
+ end
+ end, extend_reader = function(self)
+ local parsers = self.parsers
+ local syntax = self.syntax
+ local writer = self.writer
+
+ local function captures_geq_length(s,i,a,b)
+ return #a >= #b and i
+ end
+
+ local infostring = (parsers.linechar - (parsers.backtick
+ + parsers.space^1 * (parsers.newline + parsers.eof)))^0
+
+ local fenceindent
+ local fencehead = function(char)
+ return C(parsers.nonindentspace) / function(s) fenceindent = #s end
+ * Cg(char^3, "fencelength")
+ * parsers.optionalspace * C(infostring)
+ * parsers.optionalspace * (parsers.newline + parsers.eof)
+ end
+
+ local fencetail = function(char)
+ return parsers.nonindentspace
+ * Cmt(C(char^3) * Cb("fencelength"), captures_geq_length)
+ * parsers.optionalspace * (parsers.newline + parsers.eof)
+ + parsers.eof
+ end
+
+ local fencedline = function(char)
+ return C(parsers.line - fencetail(char))
+ / function(s)
+ i = 1
+ remaining = fenceindent
+ while true do
+ c = s:sub(i, i)
+ if c == " " and remaining > 0 then
+ remaining = remaining - 1
+ i = i + 1
+ elseif c == "\t" and remaining > 3 then
+ remaining = remaining - 4
+ i = i + 1
+ else
+ break
+ end
+ end
+ return s:sub(i)
+ end
+ end
+
+ local TildeFencedCode
+ = fencehead(parsers.tilde)
+ * Cs(fencedline(parsers.tilde)^0)
+ * fencetail(parsers.tilde)
+
+ local BacktickFencedCode
+ = fencehead(parsers.backtick)
+ * Cs(fencedline(parsers.backtick)^0)
+ * fencetail(parsers.backtick)
+
+ local FencedCode = (TildeFencedCode
+ + BacktickFencedCode)
+ / function(infostring, code)
+ return writer.fencedCode(writer.string(infostring),
+ self.expandtabs(code))
+ end
+
+ syntax.FencedCode = FencedCode
+
+ if blank_before_code_fence then
+ fencestart = parsers.fail
+ else
+ fencestart = fencehead(parsers.backtick)
+ + fencehead(parsers.tilde)
+ end
+
+ parsers.EndlineExceptions = parsers.EndlineExceptions + fencestart
+ syntax.EndlineExceptions = parsers.EndlineExceptions
+ end
+ }
+end
+% \end{macrocode}
+% \begin{markdown}
+%
+%#### Footnotes
+%
+% The \luamdef{extensions.footnotes} function implements the Pandoc footnote
+% and inline footnote syntax extensions. When the `footnote` parameter is
+% `true`, the Pandoc footnote syntax extension will be enabled. When the
+% `inline_footnotes` parameter is `true`, the Pandoc inline footnote syntax
+% extension will be enabled.
+%
+% \end{markdown}
+% \begin{macrocode}
+M.extensions.footnotes = function(footnotes, inline_footnotes)
+ assert(footnotes or inline_footnotes)
+ return {
+ extend_writer = function(self)
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Define \luamdef{writer->note} as a function that will transform an
+% input footnote `s` to the output format.
+%
+% \end{markdown}
+% \begin{macrocode}
+ function self.note(s)
+ return {"\\markdownRendererFootnote{",s,"}"}
+ end
+ end, extend_reader = function(self)
+ local parsers = self.parsers
+ local syntax = self.syntax
+ local writer = self.writer
+
+ if footnotes then
+ local function strip_first_char(s)
+ return s:sub(2)
+ end
+
+ local RawNoteRef
+ = #(parsers.lbracket * parsers.circumflex)
+ * parsers.tag / strip_first_char
+
+ local rawnotes = {}
+
+ -- like indirect_link
+ local function lookup_note(ref)
+ return writer.defer_call(function()
+ local found = rawnotes[self.normalize_tag(ref)]
+ if found then
+ return writer.note(
+ self.parser_functions.parse_blocks_nested(found))
+ else
+ return {"[",
+ self.parser_functions.parse_inlines("^" .. ref), "]"}
+ end
+ end)
+ end
+
+ local function register_note(ref,rawnote)
+ rawnotes[self.normalize_tag(ref)] = rawnote
+ return ""
+ end
+
+ local NoteRef = RawNoteRef / lookup_note
+
+ local NoteBlock
+ = parsers.leader * RawNoteRef * parsers.colon
+ * parsers.spnl * parsers.indented_blocks(parsers.chunk)
+ / register_note
+
+ parsers.Blank = NoteBlock + parsers.Blank
+ syntax.Blank = parsers.Blank
+
+ syntax.NoteRef = NoteRef
+ end
+ if inline_footnotes then
+ local InlineNote
+ = parsers.circumflex
+ * (parsers.tag / self.parser_functions.parse_inlines_no_inline_note)
+ / writer.note
+ syntax.InlineNote = InlineNote
+ end
+ end
+ }
+end
+% \end{macrocode}
+% \begin{markdown}
+%
+%#### Header Attributes
+%
+% The \luamdef{extensions.header_attributes} function implements a syntax
+% extension that enables the assignment of HTML attributes to headings.
+%
+% \end{markdown}
+% \begin{macrocode}
+M.extensions.header_attributes = function()
+ return {
+ extend_writer = function(self)
+ end, extend_reader = function(self)
+ local parsers = self.parsers
+ local syntax = self.syntax
+ local writer = self.writer
+
+ parsers.AtxHeading = Cg(parsers.HeadingStart,"level")
+ * parsers.optionalspace
+ * (C(((parsers.linechar
+ - ((parsers.hash^1
+ * parsers.optionalspace
+ * parsers.HeadingAttributes^-1
+ + parsers.HeadingAttributes)
+ * parsers.optionalspace
+ * parsers.newline))
+ * (parsers.linechar
+ - parsers.hash
+ - parsers.lbrace)^0)^1)
+ / self.parser_functions.parse_inlines)
+ * Cg(Ct(parsers.newline
+ + (parsers.hash^1
+ * parsers.optionalspace
+ * parsers.HeadingAttributes^-1
+ + parsers.HeadingAttributes)
+ * parsers.optionalspace
+ * parsers.newline), "attributes")
+ * Cb("level")
+ * Cb("attributes")
+ / writer.heading
+
+ parsers.SetextHeading = #(parsers.line * S("=-"))
+ * (C(((parsers.linechar
+ - (parsers.HeadingAttributes
+ * parsers.optionalspace
+ * parsers.newline))
+ * (parsers.linechar
+ - parsers.lbrace)^0)^1)
+ / self.parser_functions.parse_inlines)
+ * Cg(Ct(parsers.newline
+ + (parsers.HeadingAttributes
+ * parsers.optionalspace
+ * parsers.newline)), "attributes")
+ * parsers.HeadingLevel
+ * Cb("attributes")
+ * parsers.optionalspace
+ * parsers.newline
+ / writer.heading
+
+ parsers.Heading = parsers.AtxHeading + parsers.SetextHeading
+ syntax.Heading = parsers.Heading
+ end
+ }
+end
+% \end{macrocode}
+% \begin{markdown}
+%
+%#### YAML Metadata
+%
+% The \luamdef{extensions.jekyll_data} function implements the Pandoc
+% `yaml_metadata_block` syntax extension for entering metadata in \acro{yaml}.
+% When the `expect_jekyll_data` is `true`, then a markdown document may
+% begin directly with \acro{yaml} metadata and may contain nothing but
+% \acro{yaml} metadata
+%
+% \end{markdown}
+% \begin{macrocode}
+M.extensions.jekyll_data = function(expect_jekyll_data)
+ return {
+ extend_writer = function(self)
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Define \luamdef{writer->jekyllData} as a function that will transform an
+% input \acro{yaml} table `d` to the output format. The table is the value for
+% the key `p` in the parent table; if `p` is nil, then the table has no parent.
+% All scalar keys and values encountered in the table will be cast to a string
+% following \acro{yaml} serialization rules. String values will also be
+% transformed using the function `t`.
+%
+% \end{markdown}
+% \begin{macrocode}
+ function self.jekyllData(d, t, p)
+ if not self.is_writing then return "" end
+
+ local buf = {}
+
+ local keys = {}
+ for k, _ in pairs(d) do
+ table.insert(keys, k)
+ end
+ table.sort(keys)
+
+ if not p then
+ table.insert(buf, "\\markdownRendererJekyllDataBegin")
+ end
+
+ if #d > 0 then
+ table.insert(buf, "\\markdownRendererJekyllDataSequenceBegin{")
+ table.insert(buf, self.uri(p or "null"))
+ table.insert(buf, "}{")
+ table.insert(buf, #keys)
+ table.insert(buf, "}")
+ else
+ table.insert(buf, "\\markdownRendererJekyllDataMappingBegin{")
+ table.insert(buf, self.uri(p or "null"))
+ table.insert(buf, "}{")
+ table.insert(buf, #keys)
+ table.insert(buf, "}")
+ end
+
+ for _, k in ipairs(keys) do
+ local v = d[k]
+ local typ = type(v)
+ k = tostring(k or "null")
+ if typ == "table" and next(v) ~= nil then
+ table.insert(
+ buf,
+ self.jekyllData(v, t, k)
+ )
+ else
+ k = self.uri(k)
+ v = tostring(v)
+ if typ == "boolean" then
+ table.insert(buf, "\\markdownRendererJekyllDataBoolean{")
+ table.insert(buf, k)
+ table.insert(buf, "}{")
+ table.insert(buf, v)
+ table.insert(buf, "}")
+ elseif typ == "number" then
+ table.insert(buf, "\\markdownRendererJekyllDataNumber{")
+ table.insert(buf, k)
+ table.insert(buf, "}{")
+ table.insert(buf, v)
+ table.insert(buf, "}")
+ elseif typ == "string" then
+ table.insert(buf, "\\markdownRendererJekyllDataString{")
+ table.insert(buf, k)
+ table.insert(buf, "}{")
+ table.insert(buf, t(v))
+ table.insert(buf, "}")
+ elseif typ == "table" then
+ table.insert(buf, "\\markdownRendererJekyllDataEmpty{")
+ table.insert(buf, k)
+ table.insert(buf, "}")
+ else
+ error(format("Unexpected type %s for value of " ..
+ "YAML key %s", typ, k))
+ end
+ end
+ end
+
+ if #d > 0 then
+ table.insert(buf, "\\markdownRendererJekyllDataSequenceEnd")
+ else
+ table.insert(buf, "\\markdownRendererJekyllDataMappingEnd")
+ end
+
+ if not p then
+ table.insert(buf, "\\markdownRendererJekyllDataEnd")
+ end
+
+ return buf
+ end
+ end, extend_reader = function(self)
+ local parsers = self.parsers
+ local syntax = self.syntax
+ local writer = self.writer
+
+ local JekyllData
+ = Cmt( C((parsers.line - P("---") - P("..."))^0)
+ , function(s, i, text)
+ local data
+ local ran_ok, error = pcall(function()
+ local tinyyaml = require("markdown-tinyyaml")
+ data = tinyyaml.parse(text, {timestamps=false})
+ end)
+ if ran_ok and data ~= nil then
+ return true, writer.jekyllData(data, function(s)
+ return self.parser_functions.parse_blocks_nested(s)
+ end, nil)
+ else
+ return false
+ end
+ end
+ )
+
+ local UnexpectedJekyllData
+ = P("---")
+ * parsers.blankline / 0
+ * #(-parsers.blankline) -- if followed by blank, it's an hrule
+ * JekyllData
+ * (P("---") + P("..."))
+
+ local ExpectedJekyllData
+ = ( P("---")
+ * parsers.blankline / 0
+ * #(-parsers.blankline) -- if followed by blank, it's an hrule
+ )^-1
+ * JekyllData
+ * (P("---") + P("..."))^-1
+
+ syntax.UnexpectedJekyllData = UnexpectedJekyllData
+ if expect_jekyll_data then
+ syntax.ExpectedJekyllData = ExpectedJekyllData
+ end
+ end
+ }
+end
+% \end{macrocode}
+% \begin{markdown}
+%
+%#### Pipe Tables
+%
+% The \luamdef{extensions.pipe_table} function implements the \acro{PHP}
+% Markdown table syntax extension (affectionately known as pipe tables). When
+% the parameter `table_captions` is `true`, the function also implements the
+% Pandoc `table_captions` syntax extension for table captions.
+%
+% \end{markdown}
+% \begin{macrocode}
+M.extensions.pipe_tables = function(table_captions)
+
+ local function make_pipe_table_rectangular(rows)
+ local num_columns = #rows[2]
+ local rectangular_rows = {}
+ for i = 1, #rows do
+ local row = rows[i]
+ local rectangular_row = {}
+ for j = 1, num_columns do
+ rectangular_row[j] = row[j] or ""
+ end
+ table.insert(rectangular_rows, rectangular_row)
+ end
+ return rectangular_rows
+ end
+
+ local function pipe_table_row(allow_empty_first_column
+ , nonempty_column
+ , column_separator
+ , column)
+ local row_beginning
+ if allow_empty_first_column then
+ row_beginning = -- empty first column
+ #(parsers.spacechar^4
+ * column_separator)
+ * parsers.optionalspace
+ * column
+ * parsers.optionalspace
+ -- non-empty first column
+ + parsers.nonindentspace
+ * nonempty_column^-1
+ * parsers.optionalspace
+ else
+ row_beginning = parsers.nonindentspace
+ * nonempty_column^-1
+ * parsers.optionalspace
+ end
+
+ return Ct(row_beginning
+ * (-- single column with no leading pipes
+ #(column_separator
+ * parsers.optionalspace
+ * parsers.newline)
+ * column_separator
+ * parsers.optionalspace
+ -- single column with leading pipes or
+ -- more than a single column
+ + (column_separator
+ * parsers.optionalspace
+ * column
+ * parsers.optionalspace)^1
+ * (column_separator
+ * parsers.optionalspace)^-1))
+ end
+
+ return {
+ extend_writer = function(self)
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Define \luamdef{writer->table} as a function that will transform an input
+% table to the output format, where `rows` is a sequence of columns and a
+% column is a sequence of cell texts.
+%
+% \end{markdown}
+% \begin{macrocode}
+ function self.table(rows, caption)
+ if not self.is_writing then return "" end
+ local buffer = {"\\markdownRendererTable{",
+ caption or "", "}{", #rows - 1, "}{", #rows[1], "}"}
+ local temp = rows[2] -- put alignments on the first row
+ rows[2] = rows[1]
+ rows[1] = temp
+ for i, row in ipairs(rows) do
+ table.insert(buffer, "{")
+ for _, column in ipairs(row) do
+ if i > 1 then -- do not use braces for alignments
+ table.insert(buffer, "{")
+ end
+ table.insert(buffer, column)
+ if i > 1 then
+ table.insert(buffer, "}")
+ end
+ end
+ table.insert(buffer, "}")
+ end
+ return buffer
+ end
+ end, extend_reader = function(self)
+ local parsers = self.parsers
+ local syntax = self.syntax
+ local writer = self.writer
+
+ local table_hline_separator = parsers.pipe + parsers.plus
+
+ local table_hline_column = (parsers.dash
+ - #(parsers.dash
+ * (parsers.spacechar
+ + table_hline_separator
+ + parsers.newline)))^1
+ * (parsers.colon * Cc("r")
+ + parsers.dash * Cc("d"))
+ + parsers.colon
+ * (parsers.dash
+ - #(parsers.dash
+ * (parsers.spacechar
+ + table_hline_separator
+ + parsers.newline)))^1
+ * (parsers.colon * Cc("c")
+ + parsers.dash * Cc("l"))
+
+ local table_hline = pipe_table_row(false
+ , table_hline_column
+ , table_hline_separator
+ , table_hline_column)
+
+ local table_caption_beginning = parsers.skipblanklines
+ * parsers.nonindentspace
+ * (P("Table")^-1 * parsers.colon)
+ * parsers.optionalspace
+
+ local table_row = pipe_table_row(true
+ , (C((parsers.linechar - parsers.pipe)^1)
+ / self.parser_functions.parse_inlines)
+ , parsers.pipe
+ , (C((parsers.linechar - parsers.pipe)^0)
+ / self.parser_functions.parse_inlines))
+
+ local table_caption
+ if table_captions then
+ table_caption = #table_caption_beginning
+ * table_caption_beginning
+ * Ct(parsers.IndentedInline^1)
+ * parsers.newline
+ else
+ table_caption = parsers.fail
+ end
+
+ local PipeTable = Ct(table_row * parsers.newline
+ * table_hline
+ * (parsers.newline * table_row)^0)
+ / make_pipe_table_rectangular
+ * table_caption^-1
+ / writer.table
+
+ syntax.PipeTable = PipeTable
+ end
+ }
+end
+% \end{macrocode}
+% \begin{markdown}
+%
%### Conversion from Markdown to Plain \TeX{}
+%
% The \luamref{new} method returns the \luamref{reader->convert} function of a reader
% object associated with the Lua interface options (see Section
% <#sec:luaoptions>) `options` and with a writer object associated with
@@ -21015,8 +21415,75 @@ end
% \end{markdown}
% \begin{macrocode}
function M.new(options)
+% \end{macrocode}
+% \par
+% \begin{markdown}
+%
+% Make the `options` table inherit from the \luamref{defaultOptions} table.
+%
+% \end{markdown}
+% \begin{macrocode}
+ options = options or {}
+ setmetatable(options, { __index = function (_, key)
+ return defaultOptions[key] end })
+% \par
+% \begin{markdown}
+%
+% Apply syntax extensions based on `options`.
+%
+% \end{markdown}
+% \begin{macrocode}
+ extensions = {}
+
+ if options.citations then
+ citations_extension = M.extensions.citations(options.citationNbsps)
+ table.insert(extensions, citations_extension)
+ end
+
+ if options.contentBlocks then
+ content_blocks_extension = M.extensions.content_blocks(
+ options.contentBlocksLanguageMap)
+ table.insert(extensions, content_blocks_extension)
+ end
+
+ if options.definitionLists then
+ definition_lists_extension = M.extensions.definition_lists(
+ options.tightLists)
+ table.insert(extensions, definition_lists_extension)
+ end
+
+ if options.fencedCode then
+ fenced_code_extension = M.extensions.fenced_code(
+ options.blankBeforeCodeFence)
+ table.insert(extensions, fenced_code_extension)
+ end
+
+ if options.footnotes or options.inlineFootnotes then
+ footnotes_extension = M.extensions.footnotes(
+ options.footnotes, options.inlineFootnotes)
+ table.insert(extensions, footnotes_extension)
+ end
+
+ if options.headerAttributes then
+ header_attributes_extension = M.extensions.header_attributes()
+ table.insert(extensions, header_attributes_extension)
+ end
+
+ if options.jekyllData then
+ jekyll_data_extension = M.extensions.jekyll_data(
+ options.expectJekyllData)
+ table.insert(extensions, jekyll_data_extension)
+ end
+
+ if options.pipeTables then
+ pipe_tables_extension = M.extensions.pipe_tables(
+ options.tableCaptions)
+ table.insert(extensions, pipe_tables_extension)
+ end
+
local writer = M.writer.new(options)
- local reader = M.reader.new(writer, options)
+ local reader = M.reader.new(writer, options, extensions)
+
return reader.convert
end
@@ -21126,23 +21593,6 @@ end
% \par
% \begin{markdown}
%
-%### Finalizing and Freezing the Cache
-%
-% When the \mref{markdownOptionFinalizeCache} option is enabled, then the
-% \mdef{markdownFrozenCacheCounter} counter is used to enumerate the markdown
-% documents using the Lua interface \Opt{frozenCacheCounter} option.
-%
-% When the \mref{markdownOptionFrozenCache} option is enabled, then the
-% \mref{markdownFrozenCacheCounter} counter is used to render markdown documents
-% from the frozen cache without invoking Lua.
-%
-% \end{markdown}
-% \begin{macrocode}
-\newcount\markdownFrozenCacheCounter
-% \end{macrocode}
-% \par
-% \begin{markdown}
-%
%### Token Renderer Prototypes {#textokenrendererprototypes}
%
% The following definitions should be considered placeholder.
@@ -21279,7 +21729,7 @@ end
%
% \end{markdown}
% \begin{macrocode}
- \tl_if_eq:NNTF
+ \str_if_eq:NNTF
\l_tmpa_tl
\c_@@_jekyll_data_sequence_tl
{
@@ -21466,10 +21916,6 @@ end
% \begin{macrocode}
\ExplSyntaxOn
\tl_new:N \g_@@_formatted_lua_options_tl
-\tl_const:Nn \c_@@_lua_option_type_boolean { boolean }
-\tl_const:Nn \c_@@_lua_option_type_counter { counter }
-\tl_const:Nn \c_@@_lua_option_type_number { number }
-\tl_const:Nn \c_@@_lua_option_type_string { string }
\cs_new:Nn \@@_format_lua_options:
{
\tl_gclear:N
@@ -21480,111 +21926,38 @@ end
}
\cs_new:Nn \@@_format_lua_option:n
{
- \@@_typecheck_lua_option:n { #1 }
- \tl_set:Nn
- \l_tmpb_tl
-% TODO: Replace with \str_uppercase:n in TeX Live 2020.
- { \str_upper_case:n { #1 } }
- \tl_set:Nx
- \l_tmpa_tl
- {
- markdownOption
- \tl_head:f { \l_tmpb_tl }
- \tl_tail:n { #1 }
- }
- \prop_get:NnN
- \g_@@_lua_option_types_prop
+ \@@_typecheck_option:n
+ { #1 }
+ \@@_get_option_type:nN
{ #1 }
- \l_tmpb_tl
- \cs_if_free:cTF
- { \l_tmpa_tl }
- { }
- {
- \tl_case:NnF
- \l_tmpb_tl
- {
- \c_@@_lua_option_type_string
- {
- \tl_gput_right:Nx
- \g_@@_formatted_lua_options_tl
- { #1~=~" \cs:w \l_tmpa_tl \cs_end: ",~ }
- }
- \c_@@_lua_option_type_counter
- {
- \tl_gput_right:Nx
- \g_@@_formatted_lua_options_tl
- { #1~=~ \the \cs:w \l_tmpa_tl \cs_end: ,~ }
- }
- }
- {
- \tl_gput_right:Nx
- \g_@@_formatted_lua_options_tl
- { #1~=~ \cs:w \l_tmpa_tl \cs_end: ,~ }
- }
- }
- }
-\msg_new:nnn
- { markdown }
- { undefined-lua-option }
- {
- Lua~option~#1~is~undefined.
- }
-\msg_new:nnn
- { markdown }
- { failed-typecheck-for-boolean-lua-option }
- {
- Lua~option~#1~has~value~#2,~
- but~a~boolean~(true~or~false)~was~expected.
- }
-\cs_new:Nn \@@_typecheck_lua_option:n
- {
- \tl_set:Nn
- \l_tmpb_tl
-% TODO: Replace with \str_uppercase:n in TeX Live 2020.
- { \str_upper_case:n { #1 } }
- \tl_set:Nx
\l_tmpa_tl
+ \bool_if:nTF
{
- markdownOption
- \tl_head:f { \l_tmpb_tl }
- \tl_tail:n { #1 }
+ \str_if_eq_p:VV
+ \l_tmpa_tl
+ \c_@@_option_type_boolean_tl ||
+ \str_if_eq_p:VV
+ \l_tmpa_tl
+ \c_@@_option_type_number_tl ||
+ \str_if_eq_p:VV
+ \l_tmpa_tl
+ \c_@@_option_type_counter_tl
}
- \prop_get:NnNTF
- \g_@@_lua_option_types_prop
- { #1 }
- \l_tmpb_tl
{
- \cs_if_free:cTF
- { \l_tmpa_tl }
- { }
- {
- \tl_case:Nn
- \l_tmpb_tl
- {
- \c_@@_lua_option_type_boolean
- {
- \tl_case:cnF
- { \l_tmpa_tl }
- {
- \c_@@_lua_option_value_true { }
- \c_@@_lua_option_value_false { }
- }
- {
- \msg_error:nnxx
- { markdown }
- { failed-typecheck-for-boolean-lua-option }
- { #1 }
- { \l_tmpa_tl }
- }
- }
- }
- }
+ \@@_get_option_value:nN
+ { #1 }
+ \l_tmpa_tl
+ \tl_gput_right:Nx
+ \g_@@_formatted_lua_options_tl
+ { #1~=~ \l_tmpa_tl ,~ }
}
{
- \msg_error:nnn
- { markdown }
- { undefined-lua-option }
+ \@@_get_option_value:nN
{ #1 }
+ \l_tmpa_tl
+ \tl_gput_right:Nx
+ \g_@@_formatted_lua_options_tl
+ { #1~=~ " \l_tmpa_tl " ,~ }
}
}
\let\markdownPrepareLuaOptions=\@@_format_lua_options:
@@ -21636,40 +22009,38 @@ end
% \end{markdown}
% \begin{macrocode}
\ExplSyntaxOn
-\tl_const:Nn \c_@@_lua_option_value_true { true }
-\tl_const:Nn \c_@@_lua_option_value_false { false }
-\cs_new:Nn \@@_if_option:nTF
+\cs_new:Nn
+ \@@_if_option:nTF
{
- \tl_set:Nn
- \l_tmpb_tl
-% TODO: Replace with \str_uppercase:n in TeX Live 2020.
- { \str_upper_case:n { #1 } }
- \tl_set:Nx
+ \@@_get_option_type:nN
+ { #1 }
\l_tmpa_tl
+ \str_if_eq:NNF
+ \l_tmpa_tl
+ \c_@@_option_type_boolean_tl
{
- markdownOption
- \tl_head:f { \l_tmpb_tl }
- \tl_tail:n { #1 }
- }
- \cs_if_free:cTF
- { \l_tmpa_tl }
- {
- \prop_get:NnN
- \g_@@_default_lua_options_prop
+ \msg_error:nnxx
+ { @@ }
+ { expected-boolean-option }
{ #1 }
- \l_tmpb_tl
- }
- {
- \tl_set:Nf
- \l_tmpb_tl
- { \cs:w \l_tmpa_tl \cs_end: }
+ { \l_tmpa_tl }
}
- \tl_if_eq:NNTF
- \l_tmpb_tl
- \c_@@_lua_option_value_true
+ \@@_get_option_value:nN
+ { #1 }
+ \l_tmpa_tl
+ \str_if_eq:NNTF
+ \l_tmpa_tl
+ \c_@@_option_value_true_tl
{ #2 }
{ #3 }
}
+\msg_new:nnn
+ { @@ }
+ { expected-boolean-option }
+ {
+ Option~#1~has~type~#2,~
+ but~a~boolean~was~expected.
+ }
\let\markdownIfOption=\@@_if_option:nTF
\ExplSyntaxOff
% \end{macrocode}
@@ -21857,6 +22228,26 @@ end
% \par
% \begin{markdown}
%
+% The following two sections of the implementation have been deprecated and
+% will be removed in Markdown 3.0.0. The code that corresponds to
+% \mref{markdownMode} value of `3` will be the only implementation.
+%
+% \end{markdown}
+% \begin{macrocode}
+\ExplSyntaxOn
+\int_compare:nT
+ { \markdownMode = 3 }
+ {
+ \markdownInfo{Using~mode~3:~The~lt3luabridge~package}
+ \file_input:n { lt3luabridge.tex }
+ \cs_new:Npn
+ \markdownLuaExecute
+ { \luabridgeExecute }
+ }
+\ExplSyntaxOff
+% \end{macrocode}
+% \begin{markdown}
+%
%### Lua Shell Escape Bridge {#luabridge}
%
% The following \TeX{} code is intended for \TeX{} engines that do not provide
@@ -21875,9 +22266,11 @@ end
% \begin{macrocode}
\ifnum\markdownMode<2\relax
\ifnum\markdownMode=0\relax
- \markdownInfo{Using mode 0: Shell escape via write18}%
+ \markdownWarning{Using mode 0: Shell escape via write18
+ (deprecated, to be removed in Markdown 3.0.0)}%
\else
- \markdownInfo{Using mode 1: Shell escape via os.execute}%
+ \markdownWarning{Using mode 1: Shell escape via os.execute
+ (deprecated, to be removed in Markdown 3.0.0)}%
\fi
% \end{macrocode}
% \par
@@ -22037,8 +22430,10 @@ end
%
% \end{markdown}
% \begin{macrocode}
-\else
-\markdownInfo{Using mode 2: Direct Lua access}%
+\fi
+\ifnum\markdownMode=2\relax
+ \markdownWarning{Using mode 2: Direct Lua access
+ (deprecated, to be removed in Markdown 3.0.0)}%
% \end{macrocode}
% \par
% \begin{markdown}
@@ -22109,19 +22504,19 @@ end
% \begin{markdown}
% If we are reading from the frozen cache, input it, expand the corresponding
% `\markdownFrozenCache`\meta{number} macro, and increment
-% \mref{markdownFrozenCacheCounter}.
+% \Opt{frozenCacheCounter}.
% \end{markdown}
% \begin{macrocode}
|markdownIfOption{frozenCache}{%
- |ifnum|markdownFrozenCacheCounter=0|relax
+ |ifnum|markdownOptionFrozenCacheCounter=0|relax
|markdownInfo{Reading frozen cache from
"|markdownOptionFrozenCacheFileName"}%
|input|markdownOptionFrozenCacheFileName|relax
|fi
|markdownInfo{Including markdown document number
- "|the|markdownFrozenCacheCounter" from frozen cache}%
- |csname markdownFrozenCache|the|markdownFrozenCacheCounter|endcsname
- |global|advance|markdownFrozenCacheCounter by 1|relax
+ "|the|markdownOptionFrozenCacheCounter" from frozen cache}%
+ |csname markdownFrozenCache|the|markdownOptionFrozenCacheCounter|endcsname
+ |global|advance|markdownOptionFrozenCacheCounter by 1|relax
}{%
|markdownInfo{Including markdown document "#1"}%
% \end{macrocode}
@@ -22150,12 +22545,11 @@ end
print(convert(input:gsub("\r\n?", "\n") .. "\n"))}%
% \end{macrocode}
% \begin{markdown}
-% If we are finalizing the frozen cache, increment
-% \mref{markdownFrozenCacheCounter}.
+% If we are finalizing the frozen cache, increment \Opt{frozenCacheCounter}.
% \end{markdown}
% \begin{macrocode}
|markdownIfOption{finalizeCache}{%
- |global|advance|markdownFrozenCacheCounter by 1|relax
+ |global|advance|markdownOptionFrozenCacheCounter by 1|relax
}%
}%
|endgroup
@@ -22177,16 +22571,8 @@ end
% format~[@latex17, Section 9]. As a consequence, we can directly reuse the
% existing plain \TeX{} implementation.
%
-% The \LaTeX{} implementation redefines the plain \TeX{} logging macros (see
-% Section <#sec:texinterfacelogging>) to use the \LaTeX{} \mref{PackageInfo},
-% \mref{PackageWarning}, and \mref{PackageError} macros.
-%
% \end{markdown}
% \begin{macrocode}
-\newcommand\markdownInfo[1]{\PackageInfo{markdown}{#1}}%
-\newcommand\markdownWarning[1]{\PackageWarning{markdown}{#1}}%
-\newcommand\markdownError[2]{\PackageError{markdown}{#1}{#2.}}%
-\input markdown/markdown
\def\markdownVersionSpace{ }%
\ProvidesPackage{markdown}[\markdownLastModified\markdownVersionSpace v%
\markdownVersion\markdownVersionSpace markdown renderer]%
@@ -22579,7 +22965,7 @@ end
% it will take effect.
% \end{markdown}
% \begin{macrocode}
-\ifmarkdownLaTeXPlain\else
+\markdownIfOption{plain}{\iffalse}{\iftrue}
% \end{macrocode}
% \par
% \begin{markdown}%
@@ -23182,16 +23568,34 @@ end
% reference. Otherwise, we assume that it is an absolute URL.
% \end{markdown}
% \begin{macrocode}
- \tl_set:Nx
+ \tl_set:Nn
\l_tmpa_tl
- { \str_range:nnn { #2 } { 1 } { 1 } }
- \str_if_eq:NNTF
+ { #2 }
+ \tl_trim_spaces:N
\l_tmpa_tl
+ \tl_set:Nx
+ \l_tmpb_tl
+ {
+ \tl_range:Nnn
+ \l_tmpa_tl
+ { 1 }
+ { 1 }
+ }
+ \str_if_eq:NNTF
+ \l_tmpb_tl
\c_hash_str
{
- \exp_args:No
+ \tl_set:Nx
+ \l_tmpb_tl
+ {
+ \tl_range:Nnn
+ \l_tmpa_tl
+ { 2 }
+ { -1 }
+ }
+ \exp_args:NV
\ref
- { \str_range:nnn { #2 } { 2 } { -1 } }
+ \l_tmpb_tl
}{
\url { #2 }
}
diff --git a/macros/generic/markdown/markdown.html b/macros/generic/markdown/markdown.html
index ebc1a310cf..4645973e46 100644
--- a/macros/generic/markdown/markdown.html
+++ b/macros/generic/markdown/markdown.html
@@ -82,7 +82,7 @@
<header id="title-block-header">
<h1 class="title">Markdown Package User Manual</h1>
<p class="author">Vít Novotný</p>
-<p class="date">2.15.2-0-gb238dbc (2022/05/31)</p>
+<p class="date">2.15.3-0-g7c8e03d (2022/06/27)</p>
</header>
<nav id="TOC" role="doc-toc">
<ul>
@@ -1273,7 +1273,7 @@
<dt><code>citations</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
-<dd><p>Enable the pandoc citation syntax extension:</p>
+<dd><p>Enable the Pandoc citation syntax extension:</p>
<div class="sourceCode" id="cb123"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb123-1"><a href="#cb123-1" aria-hidden="true"></a>Here is a simple parenthetical citation <span class="co">[</span><span class="ot">@doe99</span><span class="co">]</span> and here</span>
<span id="cb123-2"><a href="#cb123-2" aria-hidden="true"></a>is a string of several [see @doe99, pp. 33-35; also</span>
<span id="cb123-3"><a href="#cb123-3" aria-hidden="true"></a>@smith04, chap. 1].</span>
@@ -1292,7 +1292,7 @@
</dd>
<dd><dl>
<dt>false</dt>
-<dd><p>Disable the pandoc citation syntax extension.</p>
+<dd><p>Disable the Pandoc citation syntax extension.</p>
</dd>
</dl>
</dd>
@@ -1610,7 +1610,7 @@ Thomas,Edison,1847</code></pre>
<h4 data-number="2.2.1.11" id="option-contentblockslanguagemap"><span class="header-section-number">2.2.1.11</span> Option <code>contentBlocksLanguageMap</code></h4>
<dl>
<dt><code>contentBlocksLanguageMap</code> (default value: <code>"markdown-languages.json"</code>)</dt>
-<dd><p>The filename of the JSON file that maps filename extensions to programming language names in the iA Writer content blocks.</p>
+<dd><p>The filename of the <abbr>JSON</abbr> file that maps filename extensions to programming language names in the iA Writer content blocks.</p>
</dd>
</dl>
<h5 class="unnumbered" data-number="" id="latex-example-10"><span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> Example</h5>
@@ -2141,7 +2141,7 @@ Thomas,Edison,1847</code></pre>
<dt><code>footnotes</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
-<dd><p>Enable the pandoc footnote syntax extension:</p>
+<dd><p>Enable the Pandoc footnote syntax extension:</p>
<div class="sourceCode" id="cb208"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb208-1"><a href="#cb208-1" aria-hidden="true"></a>Here is a footnote reference,<span class="ot">[^1]</span> and another.<span class="ot">[^longnote]</span></span>
<span id="cb208-2"><a href="#cb208-2" aria-hidden="true"></a></span>
<span id="cb208-3"><a href="#cb208-3" aria-hidden="true"></a><span class="ot">[^1]: </span>Here is the footnote.</span>
@@ -2164,7 +2164,7 @@ Thomas,Edison,1847</code></pre>
</dd>
<dd><dl>
<dt>false</dt>
-<dd><p>Disable the pandoc footnote syntax extension.</p>
+<dd><p>Disable the Pandoc footnote syntax extension.</p>
</dd>
</dl>
</dd>
@@ -2709,7 +2709,7 @@ Thomas,Edison,1847</code></pre>
<dt><code>inlineFootnotes</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
-<dd><p>Enable the pandoc inline footnote syntax extension:</p>
+<dd><p>Enable the Pandoc inline footnote syntax extension:</p>
<div class="sourceCode" id="cb247"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb247-1"><a href="#cb247-1" aria-hidden="true"></a>Here is an inline note.^[Inlines notes are easier to</span>
<span id="cb247-2"><a href="#cb247-2" aria-hidden="true"></a>write, since you don&#39;t have to pick an identifier and</span>
<span id="cb247-3"><a href="#cb247-3" aria-hidden="true"></a>move down to type the note.]</span></code></pre></div>
@@ -2718,7 +2718,7 @@ Thomas,Edison,1847</code></pre>
</dd>
<dd><dl>
<dt>false</dt>
-<dd><p>Disable the pandoc inline footnote syntax extension.</p>
+<dd><p>Disable the Pandoc inline footnote syntax extension.</p>
</dd>
</dl>
</dd>
@@ -2879,7 +2879,7 @@ Thomas,Edison,1847</code></pre>
<dt><code>pipeTables</code> (default value: <code>false</code>)</dt>
<dd><dl>
<dt>true</dt>
-<dd><p>Enable the <abbr>PHP</abbr> Markdown table syntax extension:</p>
+<dd><p>Enable the <abbr>PHP</abbr> Markdown pipe table syntax extension:</p>
<div class="sourceCode" id="cb259"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb259-1"><a href="#cb259-1" aria-hidden="true"></a>| Right | Left | Default | Center |</span>
<span id="cb259-2"><a href="#cb259-2" aria-hidden="true"></a>|------:|:-----|---------|:------:|</span>
<span id="cb259-3"><a href="#cb259-3" aria-hidden="true"></a>| 12 | 12 | 12 | 12 |</span>
@@ -2890,7 +2890,7 @@ Thomas,Edison,1847</code></pre>
</dd>
<dd><dl>
<dt>false</dt>
-<dd><p>Disable the <abbr>PHP</abbr> Markdown table syntax extension.</p>
+<dd><p>Disable the <abbr>PHP</abbr> Markdown pipe table syntax extension.</p>
</dd>
</dl>
</dd>
@@ -3825,7 +3825,7 @@ Thomas,Edison,1847</code></pre>
<dt><code>tightLists</code> (default value: <code>true</code>)</dt>
<dd><dl>
<dt>true</dt>
-<dd><p>Unordered and ordered Lists whose items do not consist of multiple paragraphs will be considered <em>tight</em>. Tight lists will produce tight renderers that may produce different output than lists that are not tight:</p>
+<dd><p>Unordered and ordered lists whose items do not consist of multiple paragraphs will be considered <em>tight</em>. Tight lists will produce tight renderers that may produce different output than lists that are not tight:</p>
<div class="sourceCode" id="cb322"><pre class="sourceCode md"><code class="sourceCode markdown"><span id="cb322-1"><a href="#cb322-1" aria-hidden="true"></a><span class="ss">- </span>This is</span>
<span id="cb322-2"><a href="#cb322-2" aria-hidden="true"></a><span class="ss">- </span>a tight</span>
<span id="cb322-3"><a href="#cb322-3" aria-hidden="true"></a><span class="ss">- </span>unordered list.</span>
@@ -4069,7 +4069,7 @@ Thomas,Edison,1847</code></pre>
<span id="cb339-2"><a href="#cb339-2" aria-hidden="true"></a> helperScriptFileName = helper-script.lua,</span>
<span id="cb339-3"><a href="#cb339-3" aria-hidden="true"></a>}</span></code></pre></div>
<h4 data-number="2.2.3.2" id="latexplain"><span class="header-section-number">2.2.3.2</span> No default token renderer prototypes</h4>
-<p>Default token renderer prototypes require <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> packages that may clash with other packages used in a document. Additionally, if we redefine token renderers and renderer prototypes ourselves, the default definitions will bring no benefit to us. Using the <code>plain</code> package option, we can keep the default definitions from the plain <span class="tex">T<sub>e</sub>X</span> implementation and prevent the soft <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> prerequisites from being loaded:</p>
+<p>Default token renderer prototypes require <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> packages that may clash with other packages used in a document. Additionally, if we redefine token renderers and renderer prototypes ourselves, the default definitions will bring no benefit to us. Using the <code>plain</code> package option, we can keep the default definitions from the plain <span class="tex">T<sub>e</sub>X</span> implementation and prevent the soft <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> prerequisites from being loaded: The plain option must be set before or when loading the package. Setting the option after loading the package will have no effect.</p>
<div class="sourceCode" id="cb340"><pre class="sourceCode tex"><code class="sourceCode latex"><span id="cb340-1"><a href="#cb340-1" aria-hidden="true"></a><span class="bu">\usepackage</span>[plain]{<span class="ex">markdown</span>}</span></code></pre></div>
<h4 data-number="2.2.3.3" id="latexthemes"><span class="header-section-number">2.2.3.3</span> <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> themes</h4>
<p>User-contributed <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> themes for the Markdown package provide a domain-specific interpretation of some Markdown tokens. Similarly to <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span> packages, themes allow the authors to achieve a specific look and other high-level goals without low-level programming.</p>
diff --git a/macros/generic/markdown/markdown.pdf b/macros/generic/markdown/markdown.pdf
index 811122f8a1..997690ca4d 100644
--- a/macros/generic/markdown/markdown.pdf
+++ b/macros/generic/markdown/markdown.pdf
Binary files differ
diff --git a/macros/latex/contrib/jpneduenumerate/README.md b/macros/latex/contrib/jpneduenumerate/README.md
new file mode 100644
index 0000000000..216b463305
--- /dev/null
+++ b/macros/latex/contrib/jpneduenumerate/README.md
@@ -0,0 +1,33 @@
+# Jpneduenumerate Package
+
+Mathematical equation representation in Japanese education differs somewhat from the standard LaTeX writing style. This package introduces enumerative expressions in Japanese education.
+
+
+## System Requirements
+
++ TeX format: LaTeX
++ TeX engine: pTeX, upTeX
++ Prerequisite package: enumitem, japanese-otf and refcount
+
+Since the unit zw is used, it can be used only in the pTeX series.
+
+
+## Installation
+
+Move jpneduenumerate.sty file to $TEXMF/tex/latex/jpneduenumerate.
+
+
+## License
+
+This package released under [the MIT license](https://ctan.org/license/mit).
+
+
+## Revision History
+
++ Version 1.0 2022-06-29
+ + The first public version.
+
+
+---
+
+[Yukoh KUSAKABE](https://twitter.com/metaphysicainfo) (screen-name) at [metaphysica.info](https://www.metaphysica.info/) \ No newline at end of file
diff --git a/macros/latex/contrib/jpneduenumerate/jpneduenumerate-en.md b/macros/latex/contrib/jpneduenumerate/jpneduenumerate-en.md
new file mode 100644
index 0000000000..a8e6658084
--- /dev/null
+++ b/macros/latex/contrib/jpneduenumerate/jpneduenumerate-en.md
@@ -0,0 +1,114 @@
+# Jpneduenumerate Package
+
+Mathematical equation representation in Japanese education differs somewhat from the standard LaTeX writing style. This package introduces enumerative expressions in Japanese education.
+
+
+## System Requirements
+
++ TeX format: LaTeX
++ TeX engine: pTeX, upTeX
++ Prerequisite package: enumitem, japanese-otf and refcount
+
+Since the unit zw is used, it can be used only in the pTeX series.
+
+
+## Installation
+
+Move jpneduenumerate.sty file to $TEXMF/tex/latex/jpneduenumerate.
+
+
+## Usage
+
+### astarisked environments
+
+The environment we will describe can be replaced with asterisked ones to eliminate the parindent.
+
+
+### environment enumerate and itemize
+
+The margins in the enumerate and itemize environments are automatically changed when the package is loaded. The symbols in the enumerate and itemize environments are automatically changed when the package is loaded. \labelenumi is (1), \labelenumii is (a), and \item is text bullet.
+
+
+### environment romanenumerate and caseenumerate
+
+This environment replaces the symbol (i) in the enumerate environment. caseenumerate is another name for romanenumerate.
+
+
+### environment Romanenumerate and stepenumerate
+
+This environment replaces the symbol (I) in the enumerate environment. stepenumerate is another name for Romanenumerate.
+
+
+### \parenref{<label>}
+
+Referred to as (1) depending on the label.
+
+
+### \romanref{<label>}
+
+Referred to as i depending on the label.
+
+
+### \parenromanref{<label>}
+
+Referred to as (i) depending on the label.
+
+
+### \Romanref{<label>}
+
+Referred to as I depending on the label.
+
+
+### \parenRomanref{<label>}
+
+Referred to as (I) depending on the labe
+
+
+### \??auto \??keep \??reset \??ref{<label>}
+
+\??auto outputs headings that automatically advance in numbering. \??keep outputs the heading with the previous number. \??reset resets the heading number back to 1. \??ref referred to as (1) depending on the label. \??ref{<label>} is referenced by label. The ?? parts can be the following:
+
++ square (framed by square)
++ question (another name for square)
++ enumerate (1)
++ subquestion (1)
++ case (i)
++ step (I)
+
+
+Non-asterisked commands are heading. Asterisked commands are not heading.
+
+\case is another name for \caseauto.
+
+\step is another name for \stepauto.
+
+
+### \equationreset
+
+Reset the equation number back to 1.
+
+
+### \question
+
+\questionauto and reset the equation, subquestion, enumerate, case and step numbers back to 1. \question* is another name for \questionauto*.
+
+
+### \subquestion
+
+\subquestion and reset the case and step numbers back to 1. \subquestion* is another name for \subquestionauto*.
+
+
+## License
+
+This package released under [the MIT license](https://ctan.org/license/mit).
+
+
+## Revision History
+
++ Version 1.0 2022-06-29
+ + The first public version.
+
+
+---
+
+[Yukoh KUSAKABE](https://twitter.com/metaphysicainfo) (screen-name) at [metaphysica.info](https://www.metaphysica.info/) \ No newline at end of file
diff --git a/macros/latex/contrib/jpneduenumerate/jpneduenumerate-ja.md b/macros/latex/contrib/jpneduenumerate/jpneduenumerate-ja.md
new file mode 100644
index 0000000000..2b5b0cb2b5
--- /dev/null
+++ b/macros/latex/contrib/jpneduenumerate/jpneduenumerate-ja.md
@@ -0,0 +1,114 @@
+# Jpneduenumerate パッケージ
+
+日本の教育における数式表現には,LaTeX の標準である書きかたとはやや異なる部分があります。このパッケージでは,日本の教育における列挙表現を導入します。
+
+
+## 前提条件
+
++ TeX format: LaTeX
++ TeX engine: pTeX, upTeX
++ Prerequisite package: enumitem, japanese-otf and refcount
+
+単位 zw を用いていますので,pTeX 系列でのみ使用できます。
+
+
+## インストール
+
+jpneduenumerate.sty を $TEXMF/tex/latex/jpneduenumerate (TeXが見つけられる場所)に置いてください。
+
+
+## 使用方法
+
+### アスタリスクのついた環境
+
+これから説明する環境は,アスタリスクをつけることで parindent がなくなります。
+
+
+### enumerate 環境と itemize 環境
+
+パッケージを読み込むと自動的に enumerate 環境と itemize 環境の余白が変更されます。パッケージを読み込むと自動的に enumerate 環境と itemize 環境の記号が変更されます。\labelenumi は (1),\labelenumii は (a),\item は ・ です。
+
+
+### romanenumerate 環境と caseenumerate 環境
+
+この環境は enumerate 環境の記号を (i) に置き換えたものです。caseenumerate は romanenumerate の別名です。
+
+
+### Romanenumerate 環境と stepenumerate 環境
+
+この環境は enumerate 環境の記号を (I) に置き換えたものです。stepenumerate は Romanenumerate の別名です。
+
+
+### \parenref{<label>}
+
+ラベルによって (1) のように参照します。
+
+
+### \romanref{<label>}
+
+ラベルによって i のように参照します。
+
+
+### \parenromanref{<label>}
+
+
+ラベルによって (i) のように参照します。
+
+
+### \Romanref{<label>}
+
+ラベルによって I のように参照します。
+
+
+### \parenRomanref{<label>}
+
+ラベルによって (I) のように参照します。
+
+
+### \??auto \??keep \??reset \??ref{<label>}
+
+\??auto は自動で番号が進む見出しを出力します。\??keep は直前の番号のままで見出しを出力します。\??reset は見出しの番号を1に戻します。\??ref{<label>} はラベルによって参照します。?? の部分には以下のものが使えます。
+
++ square (framed by square)
++ question (another name for square)
++ enumerate (1)
++ subquestion (1)
++ case (i)
++ step (I)
+
+アスタリスクのない命令は見出しになります。アスタリスクの付いた命令は見出しになりません。
+
+\case は \caseauto の別名です。
+
+\step は \stepauto の別名です。
+
+
+### \equationreset
+
+数式番号を1に戻します。
+
+
+### \question
+
+\questionauto を出力し,equation subquestion enumerate case step をすべて1に戻します。\question* は \questionauto* の別名です。
+
+
+### \subquestion
+
+\questionauto を出力し,case step をともに1に戻します。
+
+
+## ライセンス
+
+このパッケージは[MITライセンス](https://ctan.org/license/mit)のもとで配布しています。
+
+
+## 更新履歴
+
++ Version 1.0 2022-06-29
+ + The first public version.
+
+
+---
+
+[Yukoh KUSAKABE](https://twitter.com/metaphysicainfo) (screen-name) at [metaphysica.info](https://www.metaphysica.info/) \ No newline at end of file
diff --git a/macros/latex/contrib/jpneduenumerate/jpneduenumerate.sty b/macros/latex/contrib/jpneduenumerate/jpneduenumerate.sty
new file mode 100644
index 0000000000..fa09f9b030
--- /dev/null
+++ b/macros/latex/contrib/jpneduenumerate/jpneduenumerate.sty
@@ -0,0 +1,261 @@
+%%
+%% jpneduenumerate.sty
+%% for making handouts of Japanese high school mathematics
+%%
+%% Copyright (C) 2022 Yukoh KUSAKABE (screen-name)
+%% https://www.metaphysica.info/
+%% https://twitter.com/metaphysicainfo
+%%
+%% This package released under
+%% [the MIT license](https://ctan.org/license/mit).
+%%
+%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{jpneduenumerate}[2022/06/29 v1.0]
+%
+% %% \if@jpneduenumerate@meaning
+% \newif\if@jpneduenumerate@meaning
+% \@jpneduenumerate@meaningfalse
+% %
+% %% [meaning]
+% \DeclareOption{meaning}{\@jpneduenumerate@meaningtrue}
+% %
+% \ExecuteOptions{}
+% \ProcessOptions\relax
+%
+%% replace defaluts
+% for \setlist
+\RequirePackage{enumitem}
+%
+% for \getrefnumber
+\RequirePackage{refcount}
+%
+% for \ajroman \ajRoman
+\RequirePackage{otf}
+%
+%
+% If you do not use pLaTeX, LaTeX cannot use 'zw'.
+% In that case, please write \usepackage{bxjacalcux}.
+\setlist{nosep,leftmargin=2zw,itemindent=1zw,labelsep=1.15zw,listparindent=1zw}
+\setlist[itemize,1]{label=\textbf{\textperiodcentered}}
+\renewcommand{\labelenumi}{(\arabic{enumi})}
+\renewcommand{\labelenumii}{(\alph{enumii})}
+%%
+%
+% Asterisked envionments don't have parindent.
+%
+%% \begin{itemize*}
+\newenvironment{itemize*}%
+{\begin{itemize}[nosep,leftmargin=3zw,itemindent=0zw,labelsep=1.15zw]}%
+{\end{itemize}}
+%
+%% \begin{enumerate*}
+\newenvironment{enumerate*}%
+{\begin{enumerate}[nosep,leftmargin=3zw,itemindent=0zw,labelsep=1.15zw]}%
+{\end{enumerate}}
+%
+%% \begin{romanenumerate}
+%% \begin{romanenumerate*}
+\newenvironment{romanenumerate}%
+{\begin{enumerate}[nosep,leftmargin=2zw,itemindent=1zw,labelsep=1.15zw,listparindent=1zw]%
+\renewcommand{\labelenumi}{(\ajLabel\ajroman{enumi})}%
+\renewcommand{\labelenumii}{(\alph{enumii})}%
+}%
+{\end{enumerate}}
+\newenvironment{romanenumerate*}%
+{\begin{enumerate}[nosep,leftmargin=3zw,itemindent=0zw,labelsep=1.15zw]%
+\renewcommand{\labelenumi}{(\ajLabel\ajroman{enumi})}%
+\renewcommand{\labelenumii}{(\alph{enumii})}%
+}%
+{\end{enumerate}}
+%
+%% \begin{Romanenumerate}
+%% \begin{Romanenumerate*}
+\newenvironment{Romanenumerate}%
+{\begin{enumerate}[nosep,leftmargin=2zw,itemindent=1zw,labelsep=1.15zw,listparindent=1zw]%
+\renewcommand{\labelenumi}{(\ajLabel\ajRoman{enumi})}%
+\renewcommand{\labelenumii}{(\alph{enumii})}%
+}%
+{\end{enumerate}}
+\newenvironment{Romanenumerate*}%
+{\begin{enumerate}[nosep,leftmargin=3zw,itemindent=0zw,labelsep=1.15zw]%
+\renewcommand{\labelenumi}{(\ajLabel\ajRoman{enumi})}%
+\renewcommand{\labelenumii}{(\alph{enumii})}%
+}%
+{\end{enumerate}}
+%
+%% \begin{caseenumerate}
+%% \begin{caseenumerate*}
+%% \begin{stepenumerate}
+%% \begin{stepenumerate*}
+\newenvironment{caseenumerate}%
+{\begin{romanenumerate}}%
+{\end{romanenumerate}}
+\newenvironment{caseenumerate*}%
+{\begin{romanenumerate*}}%
+{\end{romanenumerate*}}
+\newenvironment{stepenumerate}%
+{\begin{Romanenumerate}}%
+{\end{Romanenumerate}}
+\newenvironment{stepenumerate*}%
+{\begin{Romanenumerate*}}%
+{\end{Romanenumerate*}}
+%%
+%
+%% \@jpneduenumerate@zwspace
+\chardef\@jpneduenumerate@zwspace=\jis"2121\relax
+%
+%% \@jpneduenumerate@makenumber
+% Non-stared macros are heading ones.
+% Stared macros are non-heading ones.
+\newcommand{\@jpneduenumerate@makenumber}[2]{%
+\expandafter\newcommand\csname #1\endcsname%
+{\@ifstar{\csname @jpneduenumerate#1@star\endcsname}{\csname @jpneduenumerate#1@nostar\endcsname}}%
+\expandafter\newcommand\csname @jpneduenumerate#1@star\endcsname[1]%
+{#2}%
+\expandafter\newcommand\csname @jpneduenumerate#1@nostar\endcsname[1]%
+{\noindent#2\hspace{0.5zw}}}
+%
+%% Refs
+% \ref{<\labelenumii of romanenumerate and Romanenumerate>} doesn't work.
+\@jpneduenumerate@makenumber{parenref}{(\ref{#1})}
+\@jpneduenumerate@makenumber{romanref}{\ajroman{\getrefnumber{#1}}}
+\@jpneduenumerate@makenumber{parenromanref}{(\ajroman{\getrefnumber{#1}})}
+\@jpneduenumerate@makenumber{Romanref}{\ajRoman{\getrefnumber{#1}}}
+\@jpneduenumerate@makenumber{parenRomanref}{(\ajRoman{\getrefnumber{#1}})}
+%
+%%* ENUMERATE GENERATOR
+%% \@jpneduenumeratetext@makenumber
+\newcommand{\@jpneduenumeratetext@makenumber}[2]{%
+% make the counter
+\newcounter{jpneduenumeratetext#1counter}%
+\setcounter{jpneduenumeratetext#1counter}{0}%
+%* print only counter number
+\@jpneduenumerate@makenumber{#1number}{#2}%
+% step
+\expandafter\newcommand\csname #1numberauto\endcsname%
+{\refstepcounter{jpneduenumeratetext#1counter}\csname thejpneduenumeratetext#1counter\endcsname}%
+% keep
+\expandafter\newcommand\csname #1numberkeep\endcsname%
+{\csname thejpneduenumeratetext#1counter\endcsname}%
+% reset
+\expandafter\newcommand\csname #1numberreset\endcsname%
+{\setcounter{jpneduenumeratetext#1counter}{0}}%
+%*
+%* print counter
+% Non-asterisked macros are heading.
+% Asterisked macros are not heading.
+% step
+\expandafter\newcommand\csname #1auto\endcsname%
+{\@ifstar{\csname @ghostheadingdefault#1auto@star\endcsname}{\csname @ghostheadingdefault#1auto@nostar\endcsname}}%
+\expandafter\newcommand\csname @ghostheadingdefault#1auto@star\endcsname%
+{\csname @jpneduenumerate#1number@star\endcsname{\csname #1numberauto\endcsname}}%
+\expandafter\newcommand\csname @ghostheadingdefault#1auto@nostar\endcsname%
+{\csname @jpneduenumerate#1number@nostar\endcsname{\csname #1numberauto\endcsname}}%
+% keep
+\expandafter\newcommand\csname #1keep\endcsname%
+{\@ifstar{\csname @ghostheadingdefault#1keep@star\endcsname}{\csname @ghostheadingdefault#1keep@nostar\endcsname}}%
+\expandafter\newcommand\csname @ghostheadingdefault#1keep@star\endcsname%
+{\csname @jpneduenumerate#1number@star\endcsname{\csname #1numberkeep\endcsname}}%
+\expandafter\newcommand\csname @ghostheadingdefault#1keep@nostar\endcsname%
+{\csname #1number\endcsname{\csname #1numberkeep\endcsname}}%
+% reset (same as numberreset)
+\expandafter\newcommand\csname #1reset\endcsname%
+{\setcounter{jpneduenumeratetext#1counter}{0}}%
+%*
+}
+%%
+%%*
+%
+%% Numbers
+\@jpneduenumeratetext@makenumber{square}{\mbox{\@jpneduenumerate@zwspace\kern-1zw\framebox[1.5em]{\vphantom{\raisebox{2pt}{1}\raisebox{-2pt}{1}}#1}\kern-1zw\@jpneduenumerate@zwspace}}
+\@jpneduenumeratetext@makenumber{question}{\mbox{\@jpneduenumerate@zwspace\kern-1zw\framebox[1.5em]{\vphantom{\raisebox{2pt}{1}\raisebox{-2pt}{1}}#1}\kern-1zw\@jpneduenumerate@zwspace}}
+% NG: \mbox{(#1)}
+\@jpneduenumeratetext@makenumber{subquestion}{\:(#1)}
+\@jpneduenumeratetext@makenumber{enumerate}{\:(#1)}
+\@jpneduenumeratetext@makenumber{case}{\mbox{(\ajroman{#1})}}
+\@jpneduenumeratetext@makenumber{step}{\mbox{(\ajRoman{#1})}}
+%%
+%
+%% Refs
+\@jpneduenumerate@makenumber{squareref}{\@jpneduenumerate@zwspace\kern-1zw\framebox[1.5em]{\vphantom{\raisebox{2pt}{1}\raisebox{-2pt}{1}}\ref{#1}}\kern-1zw\@jpneduenumerate@zwspace}
+\@jpneduenumerate@makenumber{questionref}{\@jpneduenumerate@zwspace\kern-1zw\framebox[1.5em]{\vphantom{\raisebox{2pt}{1}\raisebox{-2pt}{1}}\ref{#1}}\kern-1zw\@jpneduenumerate@zwspace}
+% \@jpneduenumerate@makenumber{questionref}{\mbox{\@jpneduenumerate@zwspace\kern-1zw\framebox[1.3em]{\ref{#1}}\kern-1zw\@jpneduenumerate@zwspace}}
+\@jpneduenumerate@makenumber{subquestionref}{\:\mbox{(\ref{#1})}}
+\@jpneduenumerate@makenumber{enumerateref}{\:\mbox{(\ref{#1})}}
+\@jpneduenumerate@makenumber{caseref}{\refused{#1}\mbox{(\ajroman{\getrefnumber{#1}})}}
+\@jpneduenumerate@makenumber{stepref}{\refused{#1}\mbox{(\ajRoman{\getrefnumber{#1}})}}
+%
+%%* AVOID ERROR of COUNTER
+%% case
+\renewcommand{\caseauto}{\@ifstar{\@jpneduenumeratetext@avoid@caseauto@star}{\@jpneduenumeratetext@avoid@caseauto@nostar}}
+\newcommand{\@jpneduenumeratetext@avoid@caseauto@star}{%
+\refstepcounter{jpneduenumeratetextcasecounter}%
+\@jpneduenumeratecasenumber@star{\value{jpneduenumeratetextcasecounter}}%
+}
+\newcommand{\@jpneduenumeratetext@avoid@caseauto@nostar}{%
+\refstepcounter{jpneduenumeratetextcasecounter}%
+\casenumber{\value{jpneduenumeratetextcasecounter}}%
+}
+\renewcommand{\casekeep}{\@ifstar{\@jpneduenumeratetext@avoid@casekeep@star}{\@jpneduenumeratetext@avoid@casekeep@nostar}}
+\newcommand{\@jpneduenumeratetext@avoid@casekeep@star}{%
+\@jpneduenumeratecasenumber@star{\value{jpneduenumeratetextcasecounter}}%
+}
+\newcommand{\@jpneduenumeratetext@avoid@casekeep@nostar}{%
+\casenumber{\value{jpneduenumeratetextcasecounter}}%
+}
+%%
+%
+%% step
+\renewcommand{\stepauto}{\@ifstar{\@jpneduenumeratetext@avoid@stepauto@star}{\@jpneduenumeratetext@avoid@stepauto@nostar}}
+\newcommand{\@jpneduenumeratetext@avoid@stepauto@star}{%
+\refstepcounter{jpneduenumeratetextstepcounter}%
+\@jpneduenumeratestepnumber@star{\value{jpneduenumeratetextstepcounter}}%
+}
+\newcommand{\@jpneduenumeratetext@avoid@stepauto@nostar}{%
+\refstepcounter{jpneduenumeratetextstepcounter}%
+\stepnumber{\value{jpneduenumeratetextstepcounter}}%
+}
+\renewcommand{\stepkeep}{\@ifstar{\@jpneduenumeratetext@avoid@stepkeep@star}{\@jpneduenumeratetext@avoid@stepkeep@nostar}}
+\newcommand{\@jpneduenumeratetext@avoid@stepkeep@star}{%
+\@jpneduenumeratestepnumber@star{\value{jpneduenumeratetextstepcounter}}%
+}
+\newcommand{\@jpneduenumeratetext@avoid@stepkeep@nostar}{%
+\stepnumber{\value{jpneduenumeratetextstepcounter}}%
+}
+%%
+%%*
+%
+%% \equationreset
+\DeclareRobustCommand{\equationreset}{\setcounter{equation}{0}}
+%
+%% \question
+\providecommand{\question}{\@ifstar{\@jpneduenum@question@star}{\@jpneduenum@question@nostar}}
+\DeclareRobustCommand{\@jpneduenum@question@star}{\questionauto*}
+\DeclareRobustCommand{\@jpneduenum@question@nostar}{%
+\setcounter{equation}{0}%
+\setcounter{jpneduenumeratetextsubquestioncounter}{0}%
+\setcounter{jpneduenumeratetextenumeratecounter}{0}%
+\setcounter{jpneduenumeratetextcasecounter}{0}%
+\setcounter{jpneduenumeratetextstepcounter}{0}%
+\questionauto}
+%
+%% \subquestion
+\providecommand{\subquestion}{\@ifstar{\@jpneduenum@subquestion@star}{\@jpneduenum@subquestion@nostar}}
+\DeclareRobustCommand{\@jpneduenum@subquestion@star}{\subquestionauto*}
+\DeclareRobustCommand{\@jpneduenum@subquestion@nostar}{%
+\setcounter{jpneduenumeratetextcasecounter}{0}%
+\setcounter{jpneduenumeratetextstepcounter}{0}%
+\subquestionauto}
+%
+%% \case
+\providecommand{\case}{\@ifstar{\@jpneduenum@case@star}{\@jpneduenum@case@nostar}}
+\DeclareRobustCommand{\@jpneduenum@case@star}{\caseauto*}
+\DeclareRobustCommand{\@jpneduenum@case@nostar}{\caseauto}
+%
+%% \step
+\providecommand{\step}{\@ifstar{\@jpneduenum@step@star}{\@jpneduenum@step@nostar}}
+\DeclareRobustCommand{\@jpneduenum@step@star}{\stepauto*}
+\DeclareRobustCommand{\@jpneduenum@step@nostar}{\stepauto}
+%
+%% EOF \ No newline at end of file
diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog
index 8960d20452..8e07dd1e80 100644
--- a/support/TeX4ht/source/ChangeLog
+++ b/support/TeX4ht/source/ChangeLog
@@ -1,3 +1,7 @@
+2022-06-29 Michal Hoftich <michal.h21@gmail.com>
+
+ * tex4ht-jats.4ht (jats.4ht): added support for list environments.
+
2022-06-27 Michal Hoftich <michal.h21@gmail.com>
* tex4ht-4ht.tex (nameref.4ht): disable \index and \label inside
diff --git a/support/TeX4ht/source/tex4ht-jats.tex b/support/TeX4ht/source/tex4ht-jats.tex
index 6c696ff12c..e969844c70 100644
--- a/support/TeX4ht/source/tex4ht-jats.tex
+++ b/support/TeX4ht/source/tex4ht-jats.tex
@@ -43,6 +43,15 @@ elements in the back (bibliography, etc.)
Only basic structures will be configured by hand in this configuration
file.
+We support the Journal Archiving and Interchange Tag Library NISO JATS
+Version 1.3. Documentation for tags is available at:
+
+\Link{https://jats.nlm.nih.gov/archiving/tag-library/1.3/chapter/getting-started.html}{}
+https://jats.nlm.nih.gov/archiving/tag-library/1.3/chapter/getting-started.html
+\EndLink
+
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Package configurations}
@@ -166,6 +175,7 @@ Configurations that are shared only for article and report
|<latex tables|>
|<latex footnotes|>
|<latex quotes|>
+|<latex lists|>
>>>
\section{Configurations for Memoir}
@@ -184,6 +194,7 @@ Configurations that are shared only for article and report
|<latex tables|>
|<latex footnotes|>
|<latex quotes|>
+|<latex lists|>
>>>
\<shared article,report\><<<
@@ -742,6 +753,55 @@ This macro is used to print zeropaded days and months in the ISO date attribute
{\IgnorePar\EndP\HCode{</disp-quote>}\ShowPar\ShowIndent}
>>>
+%%%%%%%%%%%%%%%%%%%%
+\section{Lists}
+%%%%%%%%%%%%%%%%%%%%
+
+List utilities, copied from the HTML configuration. We need to
+keep track of the
+
+\<save end:itm\><<<
+\PushMacro\end:itm
+>>>
+
+
+\<recall end:itm\><<<
+\PopMacro\end:itm \global\let\end:itm \end:itm
+>>>
+
+\<list par\><<<
+\par\ShowPar
+>>>
+
+JATS list have a similar structure, so we can use a custom macro that
+takes just the environment name and list-type attribute:
+
+\<latex lists\><<<
+\def\ConfigJatsList#1#2{%
+\ConfigureList{#1}%
+ {\ifvmode\IgnorePar\fi\EndP\EndP\HCode{<list list-type="#2">}%
+ |<save end:itm|>\global\let\end:itm=\empty}
+ {|<recall end:itm|>\EndP\HCode{</list-item></list>}}
+ {\end:itm\global\def\end:itm{\EndP\Tg</list-item>}\DeleteMark}
+ {\HCode{<list-item>}|<list par|>}
+ }
+
+\ConfigJatsList{itemize}{bulleted}
+\ConfigJatsList{enumerate}{order}
+>>>
+
+Description lists have a little bit different structure, so we need to configure
+them separatelly.
+
+\<latex lists\><<<
+\ConfigureList{description}%
+ {\ifvmode\IgnorePar\fi\EndP\HCode{<def-list>}%
+ |<save end:itm|>\global\let\end:itm=\empty}
+ {|<recall end:itm|>\EndP\HCode{</def></def-item></def-list>}\ShowPar}
+ {\end:itm \global\def\end:itm{\EndP\HCode{</def></def-item>}}\HCode{<def-item><term>}\NoFonts\HtmlParOff}
+ {\EndNoFonts\HCode{</term><def>}\HtmlParOn|<list par|>}
+>>>
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\chapter{Packages}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index 57a7f87f36..9eebbce135 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -46,8 +46,10 @@ $mirrors = {
},
'Korea' => {
'http://ftp.ktug.org/tex-archive/' => 1,
+ 'https://cran.asia/tex/' => 1,
'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1,
'https://lab.uklee.pe.kr/tex-archive/' => 1,
+ 'https://mirror.kakao.com/CTAN/' => 1,
'https://mirror.navercorp.com/CTAN/' => 1,
'https://mirror.yongbok.net/ctan/' => 1,
},
@@ -85,6 +87,7 @@ $mirrors = {
},
'France' => {
'https://ctan.crest.fr/tex-archive/' => 1,
+ 'https://ctan.gutenberg-asso.fr/' => 1,
'https://ctan.mines-albi.fr/' => 1,
'https://ctan.tetaneutral.net/' => 1,
'https://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/ctan/' => 1,
@@ -145,6 +148,7 @@ $mirrors = {
'https://mirrors.nxthost.com/ctan/' => 1,
},
'Russia' => {
+ 'https://ctan.altspu.ru/' => 1,
'https://mirror.macomnet.net/pub/CTAN/' => 1,
'https://mirror.truenetwork.ru/CTAN/' => 1,
'https://mirrors.mi-ras.ru/CTAN/' => 1,
@@ -171,6 +175,7 @@ $mirrors = {
},
'North America' => {
'Canada' => {
+ 'https://ctan.math.ca/tex-archive/' => 1,
'https://ctan.mirror.globo.tech/' => 1,
'https://ctan.mirror.rafal.ca/' => 1,
'https://mirror.csclub.uwaterloo.ca/CTAN/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index fac5e64ecc..04242fcf7f 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,11 +26,11 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2022
-depend revision/63752
+depend revision/63762
name 00texlive.image
category TLCore
-revision 63753
+revision 63759
shortdesc TeX Live files only in the source repository
longdesc The files here are not copied by the installer and containers
longdesc are not built for them; they exist only in the source
@@ -2335,6 +2335,8 @@ runfiles size=12910
tlpkg/tlpsrc/jneurosci.tlpsrc
tlpkg/tlpsrc/jnuexam.tlpsrc
tlpkg/tlpsrc/josefin.tlpsrc
+ tlpkg/tlpsrc/jpneduenumerate.tlpsrc
+ tlpkg/tlpsrc/jpnedumathsymbols.tlpsrc
tlpkg/tlpsrc/jpsj.tlpsrc
tlpkg/tlpsrc/js-misc.tlpsrc
tlpkg/tlpsrc/jsclasses.tlpsrc
@@ -4591,7 +4593,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 63742
+revision 63755
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
@@ -21130,7 +21132,7 @@ catalogue-version 1.0
name arara
category Package
-revision 63286
+revision 63760
shortdesc Automation of LaTeX compilation
longdesc Arara is comparable with other well-known compilation tools
longdesc like latexmk and rubber. The key difference is that arara
@@ -21138,15 +21140,15 @@ longdesc determines its actions from metadata in the source code, rather
longdesc than relying on indirect resources, such as log file analysis.
longdesc Arara requires a Java virtual machine.
depend arara.ARCH
-containersize 11777548
-containerchecksum d9e6f3f91c42322b8365314b259e1e4426447d567b2ce446295a86ed72275a00b47377337857ce18b05b2126957cae9514097eb491bd9d6b0022431916824805
-doccontainersize 5048488
-doccontainerchecksum 7376d4d19766b9fe800a04cb82da895d5f173a58a8d8e7d0ba92a7ef3c37563667eabb034c66478a76968e4e8ab49d78e4b608b03c67b4085c3b29f081b59d7c
+containersize 11777640
+containerchecksum b30ab2023cea6e606301146c06b34711b4c40b771721724bef178a5df7a1bf3e22ce97675131ee7370acae3b6416d49b28f12d0c02eb7e34885e2609f8dc5ca8
+doccontainersize 5048852
+doccontainerchecksum 0c0b799f6e4f43c6d123f66b6a84e35607b2c10d6241c445376d29a466154634c559cb6282f4e3f66c273342c764b56604e00bc1ee12b4452ef78ab7620aaaf2
docfiles size=2007
texmf-dist/doc/man/man1/arara.1
texmf-dist/doc/man/man1/arara.man1.pdf
texmf-dist/doc/support/arara/README.md details="Readme"
- texmf-dist/doc/support/arara/arara-7.0.3-docsrc.zip
+ texmf-dist/doc/support/arara/arara-7.0.4-docsrc.zip
texmf-dist/doc/support/arara/arara-manual.pdf details="Reference manual"
texmf-dist/doc/support/arara/arara-quickstart.pdf details="Quickstart guide"
texmf-dist/doc/support/arara/htmlmanualtopdf.sh
@@ -21166,10 +21168,10 @@ docfiles size=2007
texmf-dist/doc/support/arara/resources/gitlab-icon.svg
texmf-dist/doc/support/arara/resources/manual.css
texmf-dist/doc/support/arara/resources/version.txt
-srccontainersize 115452
-srccontainerchecksum eb0f1e3fe1b9d8efa752b192ecb2e36b5ecac429716746f1347d7cb5bc38707b83a34e9d7265282bc39fe99a7331f48367a99d334a8325a52fbf25acbd1b15bd
+srccontainersize 115456
+srccontainerchecksum 6cc31f1368d8588d9a7bca3717171c43786ab6ed7a1b3ed159d700324ec42bf588234483a4e56f7322726c30156900086a901f081cfa7010f79cc393a449fe13
srcfiles size=40
- texmf-dist/source/support/arara/arara-7.0.3-src.zip
+ texmf-dist/source/support/arara/arara-7.0.4-src.zip
runfiles size=3282
texmf-dist/scripts/arara/arara.jar
texmf-dist/scripts/arara/arara.sh
@@ -21249,7 +21251,7 @@ catalogue-contact-support https://matrix.to/#/!HfEWIEvFtDplCLSQvz:matrix.org?via
catalogue-ctan /support/arara
catalogue-license bsd
catalogue-topics compilation
-catalogue-version 7.0.3
+catalogue-version 7.0.4
name arara.aarch64-linux
category Package
@@ -36249,6 +36251,15 @@ catalogue-license artistic2
catalogue-topics biblio
catalogue-version 2.18
+name biber.i386-cygwin
+category Package
+revision 63756
+shortdesc i386-cygwin files of biber
+containersize 17083824
+containerchecksum 69607e56a370b6bbc15a87bcb0d516b674fee2885eb115c9515e3cbfeb1bf0ef74a5db34c7da801201f026023c4ec6a406fe40c7bb009bc1edb279a848928a6e
+binfiles arch=i386-cygwin size=5553
+ bin/i386-cygwin/biber.exe
+
name biber.i386-linux
category Package
revision 63707
@@ -36276,6 +36287,15 @@ containerchecksum 04c406be710fdb4eb647236e2a319507d95a717d84fd8c52891e79cc201dc7
binfiles arch=win32 size=7289
bin/win32/biber.exe
+name biber.x86_64-cygwin
+category Package
+revision 63756
+shortdesc x86_64-cygwin files of biber
+containersize 17112536
+containerchecksum 22f9d371289961ebc60c93e02e7310a44a6fa7a4503ea652fbf7f1ac4ff4a7fe8b7392e18dcb2e0c8efb5d3ce693d07c50fb72695d23629f78630f96b8a46c59
+binfiles arch=x86_64-cygwin size=5539
+ bin/x86_64-cygwin/biber.exe
+
name biber.x86_64-darwinlegacy
category Package
revision 63707
@@ -68676,7 +68696,7 @@ containerchecksum 6ec5e8a62e3c1ed8e3c23542381091d38c77af507af7088a55e44f1e34b85d
name collection-langjapanese
category Collection
-revision 63746
+revision 63759
shortdesc Japanese
relocated 1
longdesc Support for Japanese; additional packages are in
@@ -68709,6 +68729,8 @@ depend japanese-otf
depend jieeetran
depend jlreq
depend jlreq-deluxe
+depend jpneduenumerate
+depend jpnedumathsymbols
depend jsclasses
depend kanbun
depend lshort-japanese
@@ -68742,8 +68764,8 @@ depend uptex-fonts
depend wadalab
depend zxjafbfont
depend zxjatype
-containersize 644
-containerchecksum 640ec71431c65539ecb8fbd1f3a5c8733a724760402add3ef9d0c5cc7ba2f52690e1b05d87d712a02ed825ce764f95d33e21147185caf1d2372e699054f9c715
+containersize 664
+containerchecksum 8c63ae6d80bdf888a034e7fcf63be5cc4c44b55c17e3557e2048225e26491dc936f2c5acb48e8157d22c444741a53840cf4072124b941b547eb1380f3797cea6
name collection-langkorean
category Collection
@@ -158752,6 +158774,58 @@ catalogue-ctan /fonts/josefin
catalogue-license ofl lppl
catalogue-topics font font-body font-sans font-mono font-otf font-type1 font-proportional font-supp font-t1enc
+name jpneduenumerate
+category Package
+revision 63758
+shortdesc Enumerative expressions in Japanese education
+relocated 1
+longdesc Mathematical equation representation in Japanese education
+longdesc differs somewhat from the standard LaTeX writing style. This
+longdesc package introduces enumerative expressions in Japanese
+longdesc education.
+containersize 2396
+containerchecksum e77cede5a7867c728290f54225f196d8bb8d3a7eaab4f95e3679f8665f29ee4fdab9db510653451efcb55490c30b0ff5a6bad44b479dc9d746b6358901413dc6
+doccontainersize 2272
+doccontainerchecksum d4b2187103752e6d2a8d919224944357ab8f90b9b7ff858f3a73048c3d4c87933cfad11124316fb6491c3ea647941f43a90992e2ffe11acf55f1007eb8b0adc5
+docfiles size=3
+ RELOC/doc/latex/jpneduenumerate/README.md details="Readme"
+ RELOC/doc/latex/jpneduenumerate/jpneduenumerate-en.md details="Package documentation (English)"
+ RELOC/doc/latex/jpneduenumerate/jpneduenumerate-ja.md details="Package documentation (Japanese)"
+runfiles size=3
+ RELOC/tex/latex/jpneduenumerate/jpneduenumerate.sty
+catalogue-contact-home https://www.metaphysica.info/technote/package_jpneduenumerate/
+catalogue-ctan /macros/latex/contrib/jpneduenumerate
+catalogue-license mit
+catalogue-topics maths japanese list-enum
+catalogue-version 1.0
+
+name jpnedumathsymbols
+category Package
+revision 63759
+shortdesc Mathematical equation representation in Japanese education
+relocated 1
+longdesc Mathematical equation representation in Japanese education
+longdesc differs somewhat from the standard LaTeX writing style. This
+longdesc package introduces mathematical equation representation in
+longdesc Japanese education.
+containersize 4444
+containerchecksum f22650ad173d4c72ddb040c5440bcf050ac9e4265751fd7b2da674565e4ddd19480f9e275a756750c4a8dcfd0eda6e19be3abfedce23c409cd31f44a757b6091
+doccontainersize 34724
+doccontainerchecksum 6d9d96fb31c6f932a40f243ea6aec43246ba193234912d6bc8ea69dec5474bb8304fc3ecd14912ea3310fa82e964a0ba73f163c14809d00077561dec9bd44b91
+docfiles size=16
+ RELOC/doc/latex/jpnedumathsymbols/README.md details="Readme"
+ RELOC/doc/latex/jpnedumathsymbols/jpnedumathsymbols-en.md details="Package documentation (English)"
+ RELOC/doc/latex/jpnedumathsymbols/jpnedumathsymbols-ja.md details="Package documentation (Japanese)" language="ja"
+ RELOC/doc/latex/jpnedumathsymbols/jpnedumathsymbols_example.pdf
+ RELOC/doc/latex/jpnedumathsymbols/jpnedumathsymbols_example.tex
+runfiles size=6
+ RELOC/tex/latex/jpnedumathsymbols/jpnedumathsymbols.sty
+catalogue-contact-home https://www.metaphysica.info/technote/package_jpnedumathsymbols/
+catalogue-ctan /macros/latex/contrib/jpnedumathsymbols
+catalogue-license gpl3+
+catalogue-topics maths japanese
+catalogue-version 1.0
+
name jpsj
category Package
revision 15878
@@ -195113,7 +195187,7 @@ catalogue-version 1.4b
name markdown
category Package
-revision 63465
+revision 63757
shortdesc A package for converting and rendering markdown documents inside TeX
relocated 1
longdesc The package provides facilities for the conversion of markdown
@@ -195126,11 +195200,11 @@ longdesc down and rewritten for the needs of the package. Lunamark
longdesc provides speedy markdown parsing for the rest of the package.
longdesc On top of Lunamark sits code for the plain TeX, LaTeX, and
longdesc ConTeXt formats by Vit Novotny.
-containersize 42848
-containerchecksum d175713f5c81ebf2dda73d3a2a9ae09f3981a85c189f1942bf6eb81e17cda604ccbf0d3bf5d1c3bba74fa28c7bc88250e65ff43738ceba16c216f60c7e83557c
-doccontainersize 946596
-doccontainerchecksum a34d91c10c76ef9d94776e7cf7910903c120a3ac482a6edd3eba06a4f443e3401c3343df7431355160504fe11bbaf94c52b7e78284637830478e2ce884e9df92
-docfiles size=413
+containersize 43668
+containerchecksum a51e21849d505159e23e18a52ce3cb168571d10c22bcd0e59333a20a5bb20a78f5e9cd107ba0ae9d4be14d13b2c0b6438b2b0a38b1591e9e17ae1a755737d4cc
+doccontainersize 980708
+doccontainerchecksum ea309f4437cc4d77cf9613849e79f9856ae3a905b2dc2abfb6611d20ebf139493f1c6fa3764f0f77ce0095bbe16482a09caa935fd0c41f60b3c970df2ba05709
+docfiles size=421
RELOC/doc/context/third/markdown/examples/context-mkii.tex
RELOC/doc/context/third/markdown/examples/context-mkiv.tex
RELOC/doc/context/third/markdown/examples/example.md
@@ -195144,13 +195218,13 @@ docfiles size=413
RELOC/doc/latex/markdown/examples/example.md
RELOC/doc/latex/markdown/examples/latex.tex
RELOC/doc/latex/markdown/examples/scientists.csv
-srccontainersize 89836
-srccontainerchecksum b1cec88de10d3dd8a125cab1cce9e40b59b7b329dd098e239dea5c26d0b1f45acbb6910a7018f48b838c47cd58c77ff42066f94efb82004a83ef15630be21c42
-srcfiles size=156
+srccontainersize 91620
+srccontainerchecksum 06eed4351ef60683e9491adaf7e1f78e058eb4bb8fbfb2c13ce5641ed66604de28053cd6084152b7496778a40fa56114c876eb488dd9dc51e52dd74aa388afd6
+srcfiles size=158
RELOC/source/generic/markdown/docstrip.cfg
RELOC/source/generic/markdown/markdown.dtx
RELOC/source/generic/markdown/markdown.ins
-runfiles size=70
+runfiles size=71
RELOC/scripts/markdown/markdown-cli.lua
RELOC/tex/context/third/markdown/t-markdown.tex
RELOC/tex/generic/markdown/markdown.tex
@@ -195165,9 +195239,9 @@ catalogue-contact-bugs https://github.com/Witiko/markdown/issues
catalogue-contact-development https://github.com/Witiko/markdown/pulls
catalogue-contact-repository https://github.com/Witiko/markdown
catalogue-ctan /macros/generic/markdown
-catalogue-license lppl1.3
+catalogue-license lppl1.3c
catalogue-topics markup
-catalogue-version 2.15.2-0-gb238dbc
+catalogue-version 2.15.3-0-g7c8e03d
name marvosym
category Package
@@ -294968,7 +295042,7 @@ binfiles arch=x86_64-solaris size=1
name tex4ht
category Package
-revision 63740
+revision 63762
shortdesc Convert (La)TeX to HTML/XML
longdesc A converter from TeX and LaTeX to SGML-based formats such as
longdesc (X)HTML, MathML, OpenDocument, and Docbook, providing a
@@ -294989,10 +295063,10 @@ longdesc files from them is nontrivial, and generally done with the
longdesc Makefile in development, from which the TeX4ht package in TeX
longdesc Live is updated.
depend tex4ht.ARCH
-containersize 948612
-containerchecksum 5eb9af16786f0616fde10e9922551d26fcaa5710e833093771706951865732c36527e3733601077ae67971e09c274329d7daba4f279ca902ac76f5fb88dc0e71
+containersize 948824
+containerchecksum 95eec5bfdbff7feb2807725370948d798dffe57f85bd64e43f133e08d32784c952907324a857e65f2608d8d717cf1ecb423bd8d202c0391e890c85810ed1523b
doccontainersize 136384
-doccontainerchecksum 6c48b48479a88a6d1a970ff1fd94da1e2a105fdc4338fc24751ca566fa36d25e1341260e62fd7c579c1c004d79e8cf2a4115c34e4502e2b2bc19b787d187c99a
+doccontainerchecksum c01473e19d781bb2a1ff16f7e4cf45f212d494338caf77c03b5559983d3ec3eed1c8f0f5ecb41d1b4122b673f9d0750a3dbf5579a1bed83d2950d87a6496bdc8
docfiles size=260
texmf-dist/doc/generic/tex4ht/Makefile
texmf-dist/doc/generic/tex4ht/README details="Readme"
@@ -295064,8 +295138,8 @@ docfiles size=260
texmf-dist/doc/generic/tex4ht/mn56.html
texmf-dist/doc/generic/tex4ht/mn5x.png
texmf-dist/doc/generic/tex4ht/mn6x.png
-srccontainersize 1263400
-srccontainerchecksum c708370efd13efe32d9f7215986f3d6060edca791cafc35bdf0745f04e493b9e6b7a3979a4bede3c73e7c1e4c7d6bd1186344c1017c3a2c27847fb8993cfa813
+srccontainersize 1254944
+srccontainerchecksum a999f35c28cb72a1f3a581e80196c283b8bc5d884ee3c4d0da5cc8842d272f9b99a285d07ca46c91cd8f3b42036c8803ab8e943b69136b5db2774e37d4473fa8
srcfiles size=3818
texmf-dist/source/generic/tex4ht/ChangeLog
texmf-dist/source/generic/tex4ht/Makefile
@@ -295141,7 +295215,7 @@ srcfiles size=3818
texmf-dist/source/generic/tex4ht/update-htfonts
texmf-dist/source/generic/tex4ht/wripro.tex
texmf-dist/source/generic/tex4ht/xtpipes.tex
-runfiles size=11076
+runfiles size=11079
texmf-dist/scripts/tex4ht/ht.sh
texmf-dist/scripts/tex4ht/htcontext.sh
texmf-dist/scripts/tex4ht/htcopy.pl
@@ -305425,7 +305499,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 63742
+revision 63755
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.
@@ -305433,10 +305507,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 113248
-containerchecksum b8067ebdd13f6f934e6b0bf9d5900dca20fb269401b57f76efb1967b8064711a7fd330917c00424545c71c2823b3b7fe1427b5c2268cc177aa9b8e0c5e888a42
-doccontainersize 417380
-doccontainerchecksum f7076a637f1d9c83126a535f8017a6e18a7648a3071800f91ef1c10efc8f25d28db02152042bdf1021e76cf452ac88d83a510d2bf5579a22f77bd372bb635d5f
+containersize 113284
+containerchecksum b4764bb7b3bf8a0a92f1fbea5ab355121074a5d7b9607f1b1c2a4680d3ebe70d68e893b277d1997eee86e3251b8922829ea3bcb323c5dea81aa7d2206ab6e79d
+doccontainersize 417440
+doccontainerchecksum c764baa1ab27e21908d8f3a5ed227c4e3a170872534e82eebac68586dc531a75ee0870b913ef718bbeee43c021fd4b65a4d000f9b3f66dd78be33385c789f4db
docfiles size=513
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 431a47f8a6..483522e66e 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-f3a80443b16dff7be017c9a2fe256e18 texlive.tlpdb
+95eac13aba0d41e0ac396a5b58580097 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index f569f232d7..39a20b22c7 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-0859327e6727005fbfdc5e78eb5e5eb7937107588926bcf101b2aeea65df8476816ddc554b2130d54ab4dd5ce22ceaa5c737bd8bbd19912067e677b032ea1ab2 texlive.tlpdb
+0912ad1f546fe6727bf0ceb1cb88814698c2a29449b0d97f71dd0a0f8f5f8a5681b42a78267cc5d0ad0d3357418bfa79bdbc3d134a1a850deb04139c685852e0 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index b98b29d6b9..a7fbcbd1aa 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,10 +1,10 @@
-----BEGIN PGP SIGNATURE-----
-iQEcBAEBCgAGBQJiu5S0AAoJEEzhh34ZQ4xwSTEH/34bvauVIEpmtYArHhUlGkAD
-4R2NQqVNE+x1tpUpqngQYifgHnM9tTfA53cFO9JvaU8CVwHusnRGLa/xys+0zKev
-Pv0TqxrmZ9le+JEfkmJz/jwMxMYOU+UKnIiOHDnUtx96JEI/ICMBhrKKx4I63HaR
-N9C8lEAdZkoNQZD3gXz37COHkHsDp5olJfPDb6SGiRhxmsC38U9Biq9V8I8f9aoe
-pfkSNT5seXz/aV3q7t5uKqQuMOfbc87h4Yd5CCEkfW4MwU+BCWrE+xbqT7tf6vWW
-loU6Jug2u3axs3vK4GwjA2fx5JYGWcY3sxRPReAofGMjLdNCQLRgVgehPs0tKpw=
-=ukuF
+iQEcBAEBCgAGBQJivOYsAAoJEEzhh34ZQ4xwvA0H/iMKOvH+f3P+J2k9FulJRKon
+5mrlZjPg8IIazhmu9v9A2lWmUB1+Ebsw/B1BZRakb1wOzcKcNbP4V2v97qIhXOvp
+Pe6GKJaCTcKllcTLHZ4ttWZmx0Iad14TyEE+A/o4993//7LFsqM+eO81ASb/LDvp
+E9/YZ25+UtrW2WFWdZmubMpwO6KQAZ0FkMtlcOz7HKbAexLRlDzQakMkfB5roj/T
+5/Y/53Lfe5HtOYyoVWcUtfj5IFLp+D0HS6q4yNijnObsgsruKnbyJ9ChfYFC38Fv
+qHXyxiYGBQjFmwEodFezTyPga2ghw3ABhQXg67AW6OwLyxQe1REW6LNkFVDzh38=
+=TXtQ
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index 3d95d3b826..8a8e3ab80a 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini
index 78c42e482c..2e3e900322 100644
--- a/systems/win32/miktex/tm/packages/next/pr.ini
+++ b/systems/win32/miktex/tm/packages/next/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1656447466
+date=1656533917
lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9
-lstdigest=5d7f06ad40d1c116add9d07e9d6720aa
+lstdigest=dbbef75d6b8991ff36ff1e1c99ff5b04
numpkg=5745
relstate=next
-version=8214
+version=8215
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: Ev2cXIWDAI6xoWxccAzLOgl2JVVjuDKnyTOJEv/T8kTsbAC8euTEn8yVgDsek1ypQ6FVjFFlBlSEacXcqkTkWxovSJnhQgFTCHyGB1znGKlkpcSWneJCeRwfiGqONJAIWmM82sMZs9c3cX/H4iQHuR3MtwTXQWHTvNh0NKIPBU7MNSFMKizdc4JCKfrKdmWzfbGg3VXt0irmghmZBsBgImX9rg/A9z5tACmE4voId4XkP2UH9jwxGe6wDreZW6rWDpHXb+e4lCPOaSRVHLCmeWodskuAA/d8aQYWecqkQF68NA8jFXzP2CA48y72yUz1pFUzPKz2NUjOQYJZgrBcrg==
+;;;; signature/miktex: nx1TmoQgSfkbQcql9MW9MieyuooiLHZ9cGOkPdgZFMl/YsNBZLkufAowiZi1tikfTQoU7JdA9J2RKUfJw4gQq78WEZ1w24eUq4jbJzc22vcDiXnnX/WGpX3i2P250yQ20J8pBD2jQzBDcGu3jxQaVZ52BRDhvTp4Yrub2OiB6WKGJkZsvrSLiitw5h3hD7XRLjl/0QJIEAJqzL/qa48cK2KDltNtFZhnXunwy6oNuadkgqaF0hMXl6KHyiNv1RvNpKl8m+AWeUf8dhzXKvSrkzfdGSIKQYJiFhFzwRBxEGxsCY29M7lMqtwYdBI8v6u6dG2h0s/oaGVgrTjqqyjrig==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini
index f6342f2a01..c92e49ad4d 100644
--- a/systems/win32/miktex/tm/packages/pr.ini
+++ b/systems/win32/miktex/tm/packages/pr.ini
@@ -1,13 +1,13 @@
[repository]
-date=1656447098
+date=1656533491
lastupd=amscls-doc arabtex arabtex__source barracuda barracuda__doc barracuda__source beamer-rl beamer-rl__doc beamertheme-arguelles beamertheme-arguelles__doc beamertheme-arguelles__source beaulivre beaulivre__doc beaulivre__source biber-darwin-x86_64 biber-doc biber-linux-x86_64 biber-windows-x64 biber-windows-x86 biblatex
-lstdigest=b928c84c5025a58cde3c3f22be87c156
+lstdigest=9a26f289f7e583b5a091fc07131543b9
numpkg=5745
relstate=stable
-version=8214
+version=8215
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: F2m4i41+E2jGQIY2HNY3GYJZEZRYL6sQdAsEk3tTiJYFU6gwkjB/zEkUXHufxEHw09APZL7RaZNk15f5MWkhDLGM09jAfJyctrWt8ei8jCZwuMFUjNwyJfI151MdCu2Bq6Cp1d+WlvY/VM+aF08i42a0MssdxUpinhZg7ptTg76lNXTF355kJWVoLE5vckk8jUMD5blSC6Y1GhwESeEK+7nN/pl478nyS/kfqD1FUjJKTdFA6ej9fOsO47ZmIppkIxwgbrFp87v7TmCJldD52kdao3IayJvwaPXhR8FOKdcDbWJ5+LWLOuq2bUBxhjD8tnad52X+ZFm2LY9/94MIRQ==
+;;;; signature/miktex: cBVkTbzf3nnrgtvxecovgDypaSiMDx6dX3Zkx7XrMM2maRuxm4dafKfgWF0qu2NvX7s97Q8XpMhUvhVz1bUvSLryccaKHpXflbmvSXGDAJGZEs0lDtZMPIlrSj5w3cHiqe/sWe4NbsT5DKmoUl+Y6ngskbCtkrP0zi/aDhEFunvagguwRMbKeMuoCMmqoxh7SN7Ng3PCo0rf3wA7+wqqGo3dhhOAhiLoZsFInenNLCvIEQBuEsikC8NlH4I0wa99au9+7HxaryzNzpKAdjXQRZCVp2FzjGuFEK4MEIxI/IZnE9Hrlg6aEHWQ1yZel01Miq5iK+pC15GV7tVQa1FLIg==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/timestamp b/timestamp
index 4f3c25735f..4d3ce5b853 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2022-06-29-02-02
+2022-06-30-02-02