summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--FILES.byname354
-rw-r--r--FILES.byname.gzbin2557900 -> 2558260 bytes
-rw-r--r--FILES.last07days384
-rw-r--r--biblio/ctan-bibdata/ctan.bib74
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3723093 -> 3725247 bytes
-rw-r--r--graphics/pgf/contrib/polyhedra/README.md19
-rw-r--r--graphics/pgf/contrib/polyhedra/polyhedra-doc.pdfbin0 -> 183790 bytes
-rw-r--r--graphics/pgf/contrib/polyhedra/polyhedra-doc.tex418
-rw-r--r--graphics/pgf/contrib/polyhedra/polyhedra.sty577
-rw-r--r--graphics/pstricks/base/Changes4
-rw-r--r--graphics/pstricks/base/README10
-rw-r--r--graphics/pstricks/base/doc/pst-news23.pdfbin98838 -> 99253 bytes
-rw-r--r--graphics/pstricks/base/doc/pst-news23.tex3
-rw-r--r--graphics/pstricks/base/doc/test-pst.pdfbin0 -> 189902 bytes
-rw-r--r--graphics/pstricks/base/doc/test-pst.tex257
-rw-r--r--graphics/pstricks/base/generic/pstricks.tex4
-rw-r--r--graphics/pstricks/base/latex/pstricks.sty17
-rw-r--r--macros/latex/contrib/affilauthor/README.txt46
-rw-r--r--macros/latex/contrib/affilauthor/affilauthor-doc.pdfbin0 -> 191233 bytes
-rw-r--r--macros/latex/contrib/affilauthor/affilauthor-doc.tex203
-rw-r--r--macros/latex/contrib/affilauthor/affilauthor.sty224
-rw-r--r--macros/latex/contrib/affilauthor/affiliations_sampleimage.pngbin0 -> 23088 bytes
-rw-r--r--macros/latex/contrib/affilauthor/authorname_sampleimage.pngbin0 -> 37996 bytes
-rw-r--r--macros/latex/contrib/fancyvrb/Changes2
-rw-r--r--macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdfbin171060 -> 170570 bytes
-rw-r--r--macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.tex42
-rw-r--r--macros/latex/contrib/fancyvrb/latex/fancyvrb.sty4
-rw-r--r--macros/latex/contrib/homework/README.md16
-rw-r--r--macros/latex/contrib/homework/homework.cls2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md7
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/README.md2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty2
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty8
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx253
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdfbin965059 -> 965250 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx56
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdfbin706088 -> 706581 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx58
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdfbin588246 -> 606541 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx26
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdfbin515760 -> 516165 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx48
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdfbin558915 -> 559398 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx22
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdfbin542008 -> 542491 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx26
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdfbin544283 -> 544767 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx28
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdfbin537398 -> 537893 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx26
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdfbin594477 -> 594970 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdfbin516622 -> 517104 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx116
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdfbin751045 -> 751518 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx62
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdfbin566776 -> 567485 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx98
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdfbin682682 -> 683358 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx90
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdfbin815036 -> 815504 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdfbin532070 -> 532573 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx4
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdfbin427143 -> 427900 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx8
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdfbin590327 -> 590956 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdfbin386566 -> 0 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx89
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdfbin440395 -> 449226 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx6
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdfbin463827 -> 464495 bytes
-rw-r--r--macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty2
-rw-r--r--macros/latex/contrib/q-and-a/Q-and-A.cls130
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn-content.tex92
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.pdfbin0 -> 175682 bytes
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.tex28
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-for.py2
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-func.py4
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-list.py1
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de-content.tex92
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.pdfbin0 -> 52791 bytes
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.tex28
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-for.py2
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-func.py4
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-list.py1
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en-content.tex92
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.pdfbin0 -> 49773 bytes
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.tex26
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-for.py2
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-func.py4
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-list.py1
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.pdfbin48110 -> 48816 bytes
-rw-r--r--macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.tex2
-rw-r--r--macros/latex/contrib/q-and-a/doc/Q-and-A-doc.pdfbin99039 -> 100627 bytes
-rw-r--r--macros/latex/contrib/q-and-a/doc/Q-and-A-doc.tex20
-rw-r--r--macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.pdfbin21654 -> 21837 bytes
-rw-r--r--macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.tex4
-rw-r--r--macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-document.tex5
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md21
-rw-r--r--macros/latex/contrib/siunitx/siunitx-angle.dtx22
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin647636 -> 648032 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-complex.dtx16
-rw-r--r--macros/latex/contrib/siunitx/siunitx-compound.dtx38
-rw-r--r--macros/latex/contrib/siunitx/siunitx-emulation.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx12
-rw-r--r--macros/latex/contrib/siunitx/siunitx-print.dtx16
-rw-r--r--macros/latex/contrib/siunitx/siunitx-quantity.dtx14
-rw-r--r--macros/latex/contrib/siunitx/siunitx-symbol.dtx10
-rw-r--r--macros/latex/contrib/siunitx/siunitx-table.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx-unit.dtx32
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin705592 -> 705592 bytes
-rw-r--r--macros/luatex/latex/innerscript/README.txt145
-rw-r--r--macros/luatex/latex/innerscript/innerscript.dtx805
-rw-r--r--macros/luatex/latex/innerscript/innerscript.pdfbin123627 -> 0 bytes
-rw-r--r--macros/luatex/latex/innerscript/innerscript_code.dtx1495
-rw-r--r--macros/luatex/latex/innerscript/innerscript_code.pdfbin0 -> 92448 bytes
-rw-r--r--macros/luatex/latex/innerscript/innerscript_user_guide.pdfbin0 -> 113778 bytes
-rw-r--r--systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl5
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb12
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc16
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2484588 -> 2484232 bytes
-rw-r--r--timestamp2
126 files changed, 5033 insertions, 1883 deletions
diff --git a/FILES.byname b/FILES.byname
index e4b4c78d18..484a5db192 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2060,12 +2060,12 @@
2023/10/05 | 1710 | biblio/citation-style-language/README.md
2023/10/05 | 12878 | biblio/citation-style-language/vancouver.csl
2023/10/05 | 4531754 | biblio/citation-style-language.zip
-2023/11/05 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/11/06 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/11/05 | 2823906 | biblio/ctan-bibdata/ctan.bib
-2023/11/05 | 3723093 | biblio/ctan-bibdata/ctan.pdf
+2023/11/06 | 2825145 | biblio/ctan-bibdata/ctan.bib
+2023/11/06 | 3725247 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/11/05 | 4127704 | biblio/ctan-bibdata.zip
+2023/11/06 | 4129215 | biblio/ctan-bibdata.zip
2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk
2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh
2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst
@@ -5422,7 +5422,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
-2023/11/05 | 168854 | FILES.last07days
+2023/11/06 | 227945 | 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
@@ -161073,6 +161073,11 @@
2023/06/11 | 5638 | graphics/pgf/contrib/playcards/playcards.sty
2023/06/11 | 284 | graphics/pgf/contrib/playcards/README.md
2023/06/11 | 561830 | graphics/pgf/contrib/playcards.zip
+2023/11/06 | 183790 | graphics/pgf/contrib/polyhedra/polyhedra-doc.pdf
+2023/11/06 | 11140 | graphics/pgf/contrib/polyhedra/polyhedra-doc.tex
+2023/11/06 | 17523 | graphics/pgf/contrib/polyhedra/polyhedra.sty
+2023/11/06 | 668 | graphics/pgf/contrib/polyhedra/README.md
+2023/11/06 | 188326 | graphics/pgf/contrib/polyhedra.zip
2023/09/29 | 339426 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
2023/09/29 | 64415 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
2023/06/23 | 443 | graphics/pgf/contrib/profsio/README.md
@@ -164258,7 +164263,7 @@
1995/04/26 | 830 | graphics/pstex/readme.dos
1995/04/26 | 1436 | graphics/pstex/std.h
2006/05/21 | 60272 | graphics/pstex.zip
-2023/10/30 | 4392 | graphics/pstricks/base/Changes
+2023/11/06 | 4517 | graphics/pstricks/base/Changes
2021/08/26 | 2081 | graphics/pstricks/base/config/distiller.cfg
2021/08/26 | 14970 | graphics/pstricks/base/config/dvips.cfg
2021/08/26 | 4938 | graphics/pstricks/base/config/dvipsone.cfg
@@ -164309,8 +164314,8 @@
2021/09/24 | 8869 | graphics/pstricks/base/doc/pst-news21.tex
2022/10/23 | 93124 | graphics/pstricks/base/doc/pst-news22.pdf
2022/10/23 | 2331 | graphics/pstricks/base/doc/pst-news22.tex
-2023/10/30 | 98838 | graphics/pstricks/base/doc/pst-news23.pdf
-2023/10/30 | 4531 | graphics/pstricks/base/doc/pst-news23.tex
+2023/11/06 | 99253 | graphics/pstricks/base/doc/pst-news23.pdf
+2023/11/06 | 4636 | graphics/pstricks/base/doc/pst-news23.tex
2021/08/26 | 3459 | graphics/pstricks/base/doc/pst-news.sty
2021/08/26 | 9735 | graphics/pstricks/base/doc/pst-news.tex
2021/08/26 | 3978 | graphics/pstricks/base/doc/PSTricks.bib
@@ -164318,6 +164323,8 @@
2021/08/26 | 5367012 | graphics/pstricks/base/doc/pstricks-doc.pdf
2018/02/08 | 898183 | graphics/pstricks/base/doc/pst-user.pdf
2018/02/08 | 76080 | graphics/pstricks/base/doc/pst-user.tgz
+2021/08/26 | 189902 | graphics/pstricks/base/doc/test-pst.pdf
+2021/08/26 | 6569 | graphics/pstricks/base/doc/test-pst.tex
2021/09/25 | 30047 | graphics/pstricks/base/dvips/pst-algparser.pro
2021/09/25 | 4734 | graphics/pstricks/base/dvips/pst-dots97.pro
2022/09/08 | 18367 | graphics/pstricks/base/dvips/pst-dots.pro
@@ -164330,7 +164337,7 @@
2021/09/23 | 4629 | graphics/pstricks/base/generic/pstricks-color.tex
2021/09/15 | 15065 | graphics/pstricks/base/generic/pstricks.con
2022/08/30 | 10017 | graphics/pstricks/base/generic/pstricks-dots.tex
-2023/10/30 | 125683 | graphics/pstricks/base/generic/pstricks.tex
+2023/11/06 | 125683 | graphics/pstricks/base/generic/pstricks.tex
2023/04/29 | 3362 | graphics/pstricks/base/generic/pstricks-tex.def
2021/08/26 | 1004 | graphics/pstricks/base/generic/pstricks-xetex.def
2022/08/30 | 26127 | graphics/pstricks/base/History
@@ -164338,9 +164345,9 @@
2021/09/25 | 899 | graphics/pstricks/base/latex/pstcol.sty
2021/09/25 | 249 | graphics/pstricks/base/latex/pst-key.sty
2021/09/25 | 5261 | graphics/pstricks/base/latex/pstricks-pdf.sty
-2023/10/30 | 8452 | graphics/pstricks/base/latex/pstricks.sty
-2023/10/30 | 4818 | graphics/pstricks/base/README
-2023/10/30 | 8023743 | graphics/pstricks/base.zip
+2023/11/06 | 8109 | graphics/pstricks/base/latex/pstricks.sty
+2022/01/09 | 4651 | graphics/pstricks/base/README
+2023/11/06 | 8189553 | graphics/pstricks/base.zip
2014/07/25 | 3769 | graphics/pstricks/contrib/dsptricks/dspblocks.sty
2014/07/24 | 9254 | graphics/pstricks/contrib/dsptricks/dspfunctions.sty
2014/07/25 | 212782 | graphics/pstricks/contrib/dsptricks/dspTricksManual.pdf
@@ -194791,7 +194798,7 @@
2012/09/24 | 130991 | install/macros/latex/contrib/scrjrnl.tds.zip
2021/11/10 | 657160 | install/macros/latex/contrib/sdaps.tds.zip
2019/12/10 | 544332 | install/macros/latex/contrib/selinput.tds.zip
-2023/10/07 | 1593851 | install/macros/latex/contrib/siunitx.tds.zip
+2023/11/06 | 1594512 | install/macros/latex/contrib/siunitx.tds.zip
2019/10/15 | 315856 | install/macros/latex/contrib/skmath.tds.zip
2019/10/16 | 345652 | install/macros/latex/contrib/skrapport.tds.zip
2016/02/18 | 469004 | install/macros/latex/contrib/splitindex.tds.zip
@@ -212021,6 +212028,13 @@
2003/08/02 | 134 | macros/latex/contrib/aeguill/license.txt
2003/07/30 | 131 | macros/latex/contrib/aeguill/README
2009/04/29 | 32321 | macros/latex/contrib/aeguill.zip
+2023/11/05 | 191233 | macros/latex/contrib/affilauthor/affilauthor-doc.pdf
+2023/11/06 | 6208 | macros/latex/contrib/affilauthor/affilauthor-doc.tex
+2023/11/05 | 8566 | macros/latex/contrib/affilauthor/affilauthor.sty
+2023/11/05 | 23088 | macros/latex/contrib/affilauthor/affiliations_sampleimage.png
+2023/11/05 | 37996 | macros/latex/contrib/affilauthor/authorname_sampleimage.png
+2023/11/05 | 1394 | macros/latex/contrib/affilauthor/README.txt
+2023/11/06 | 245837 | macros/latex/contrib/affilauthor.zip
2014/12/23 | 30771 | macros/latex/contrib/afparticle/afparticle.dtx
2014/07/17 | 1036 | macros/latex/contrib/afparticle/afparticle.ins
2014/12/23 | 343771 | macros/latex/contrib/afparticle/afparticle.pdf
@@ -222004,15 +222018,15 @@
2010/12/16 | 32810 | macros/latex/contrib/fancytooltips/tip.pdf
2010/12/16 | 586 | macros/latex/contrib/fancytooltips/tip.tex
2012/09/26 | 1590569 | macros/latex/contrib/fancytooltips.zip
-2023/01/19 | 2234 | macros/latex/contrib/fancyvrb/Changes
-2023/01/19 | 171060 | macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdf
-2023/01/19 | 43062 | macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.tex
+2023/11/06 | 2360 | macros/latex/contrib/fancyvrb/Changes
+2023/11/06 | 170570 | macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdf
+2023/11/06 | 43699 | macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.tex
2020/06/07 | 4642 | macros/latex/contrib/fancyvrb/latex/fancyvrb-ex.sty
-2023/01/19 | 43712 | macros/latex/contrib/fancyvrb/latex/fancyvrb.sty
+2023/11/06 | 43712 | macros/latex/contrib/fancyvrb/latex/fancyvrb.sty
2020/06/07 | 5109 | macros/latex/contrib/fancyvrb/latex/hbaw.sty
2020/08/03 | 5281 | macros/latex/contrib/fancyvrb/latex/hcolor.sty
2022/04/16 | 1822 | macros/latex/contrib/fancyvrb/README
-2023/01/19 | 194402 | macros/latex/contrib/fancyvrb.zip
+2023/11/06 | 194023 | macros/latex/contrib/fancyvrb.zip
2018/12/18 | 29200 | macros/latex/contrib/fascicules/fascicules.dtx
2018/12/18 | 1592 | macros/latex/contrib/fascicules/fascicules.ins
2018/12/19 | 181208 | macros/latex/contrib/fascicules/fascicules.pdf
@@ -225606,28 +225620,28 @@
2019/11/15 | 1218 | macros/latex/contrib/hobsub/hobsub.tex
2019/11/15 | 66 | macros/latex/contrib/hobsub/README.md
2019/11/15 | 61803 | macros/latex/contrib/hobsub.zip
-2023/10/15 | 12 | macros/latex/contrib/homework/DEPENDS.txt
-2023/10/15 | 11811 | macros/latex/contrib/homework/homework.cls
-2023/10/15 | 83800 | macros/latex/contrib/homework/homework-demo-cn.pdf
-2023/10/15 | 3209 | macros/latex/contrib/homework/homework-demo-cn.tex
-2023/10/15 | 52524 | macros/latex/contrib/homework/homework-demo-de.pdf
-2023/10/15 | 3608 | macros/latex/contrib/homework/homework-demo-de.tex
-2023/10/15 | 51255 | macros/latex/contrib/homework/homework-demo-en.pdf
-2023/10/15 | 3289 | macros/latex/contrib/homework/homework-demo-en.tex
-2023/10/15 | 51865 | macros/latex/contrib/homework/homework-demo-es.pdf
-2023/10/15 | 3409 | macros/latex/contrib/homework/homework-demo-es.tex
-2023/10/15 | 51601 | macros/latex/contrib/homework/homework-demo-fr.pdf
-2023/10/15 | 3525 | macros/latex/contrib/homework/homework-demo-fr.tex
-2023/10/15 | 86982 | macros/latex/contrib/homework/homework-demo-jp.pdf
-2023/10/15 | 3640 | macros/latex/contrib/homework/homework-demo-jp.tex
-2023/10/15 | 90681 | macros/latex/contrib/homework/homework-demo-tc.pdf
-2023/10/15 | 3218 | macros/latex/contrib/homework/homework-demo-tc.tex
-2023/10/15 | 30103 | macros/latex/contrib/homework/homework-example-sheet-answer.pdf
-2023/10/15 | 21936 | macros/latex/contrib/homework/homework-example-sheet.pdf
-2023/10/15 | 2696 | macros/latex/contrib/homework/homework-example-sheet.tex
-2023/10/15 | 19106 | macros/latex/contrib/homework/LICENSE
-2023/10/15 | 11767 | macros/latex/contrib/homework/README.md
-2023/10/15 | 524633 | macros/latex/contrib/homework.zip
+2023/11/06 | 12 | macros/latex/contrib/homework/DEPENDS.txt
+2023/11/06 | 11812 | macros/latex/contrib/homework/homework.cls
+2023/11/06 | 83800 | macros/latex/contrib/homework/homework-demo-cn.pdf
+2023/11/06 | 3209 | macros/latex/contrib/homework/homework-demo-cn.tex
+2023/11/06 | 52524 | macros/latex/contrib/homework/homework-demo-de.pdf
+2023/11/06 | 3608 | macros/latex/contrib/homework/homework-demo-de.tex
+2023/11/06 | 51255 | macros/latex/contrib/homework/homework-demo-en.pdf
+2023/11/06 | 3289 | macros/latex/contrib/homework/homework-demo-en.tex
+2023/11/06 | 51865 | macros/latex/contrib/homework/homework-demo-es.pdf
+2023/11/06 | 3409 | macros/latex/contrib/homework/homework-demo-es.tex
+2023/11/06 | 51601 | macros/latex/contrib/homework/homework-demo-fr.pdf
+2023/11/06 | 3525 | macros/latex/contrib/homework/homework-demo-fr.tex
+2023/11/06 | 86982 | macros/latex/contrib/homework/homework-demo-jp.pdf
+2023/11/06 | 3640 | macros/latex/contrib/homework/homework-demo-jp.tex
+2023/11/06 | 90681 | macros/latex/contrib/homework/homework-demo-tc.pdf
+2023/11/06 | 3218 | macros/latex/contrib/homework/homework-demo-tc.tex
+2023/11/06 | 30103 | macros/latex/contrib/homework/homework-example-sheet-answer.pdf
+2023/11/06 | 21936 | macros/latex/contrib/homework/homework-example-sheet.pdf
+2023/11/06 | 2696 | macros/latex/contrib/homework/homework-example-sheet.tex
+2023/11/06 | 19106 | macros/latex/contrib/homework/LICENSE
+2023/11/06 | 11783 | macros/latex/contrib/homework/README.md
+2023/11/06 | 524637 | macros/latex/contrib/homework.zip
2023/01/07 | 21769 | macros/latex/contrib/hopatch/hopatch.dtx
2023/01/07 | 327701 | macros/latex/contrib/hopatch/hopatch.pdf
2023/01/07 | 470 | macros/latex/contrib/hopatch/README.md
@@ -233787,54 +233801,53 @@
2022/10/29 | 323238 | macros/latex/contrib/pdflscape/pdflscape.pdf
2022/10/29 | 402 | macros/latex/contrib/pdflscape/README.md
2022/10/29 | 319157 | macros/latex/contrib/pdflscape.zip
-2023/10/10 | 10180 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
-2023/10/10 | 7654 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
-2023/10/10 | 2882 | macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
-2023/10/10 | 177335 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
-2023/10/10 | 965059 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
-2023/10/10 | 80228 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
-2023/10/10 | 706088 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
-2023/10/10 | 28627 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
-2023/10/10 | 588246 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
-2023/10/10 | 17330 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
-2023/10/10 | 515760 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
-2023/10/10 | 26550 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
-2023/10/10 | 558915 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
-2023/10/10 | 18170 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
-2023/10/10 | 542008 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
-2023/10/10 | 20430 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
-2023/10/10 | 544283 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
-2023/10/10 | 67781 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
-2023/10/10 | 751045 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
-2023/10/10 | 26540 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
-2023/10/10 | 537398 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
-2023/10/10 | 31145 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
-2023/10/10 | 594477 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
-2023/10/10 | 21991 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
-2023/10/10 | 516622 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
-2023/10/10 | 29765 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
-2023/10/10 | 566776 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
-2023/10/10 | 63555 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
-2023/10/10 | 682682 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
-2023/10/10 | 90884 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
-2023/10/10 | 815036 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
-2023/10/10 | 17112 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
-2023/10/10 | 532070 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
-2023/10/10 | 6414 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
-2023/10/10 | 427143 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
-2023/10/10 | 4041 | macros/latex/contrib/pdfmanagement-testphase/l3ref-tmp.sty
-2023/10/10 | 12798 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
-2023/10/10 | 590327 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
-2023/10/10 | 386566 | macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf
-2023/10/10 | 13546 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
-2023/10/10 | 440395 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
-2023/10/10 | 19342 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
-2023/10/10 | 4761 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins
-2023/10/10 | 463827 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
-2023/10/10 | 1200 | macros/latex/contrib/pdfmanagement-testphase/README.md
-2023/10/10 | 1354 | macros/latex/contrib/pdfmanagement-testphase/update-metadata.txt
-2023/10/10 | 2843 | macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
-2023/10/10 | 11391011 | macros/latex/contrib/pdfmanagement-testphase.zip
+2023/11/05 | 10293 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
+2023/11/05 | 7654 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
+2023/11/05 | 2882 | macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
+2023/11/05 | 177410 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
+2023/11/05 | 965250 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
+2023/11/05 | 80228 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
+2023/11/05 | 706581 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
+2023/11/05 | 28644 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
+2023/11/05 | 606541 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
+2023/11/05 | 17338 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
+2023/11/05 | 516165 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
+2023/11/05 | 26550 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
+2023/11/05 | 559398 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
+2023/11/05 | 18170 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+2023/11/05 | 542491 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
+2023/11/05 | 20430 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
+2023/11/05 | 544767 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
+2023/11/05 | 67781 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
+2023/11/05 | 751518 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
+2023/11/05 | 26540 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+2023/11/05 | 537893 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
+2023/11/05 | 31145 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+2023/11/05 | 594970 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+2023/11/05 | 21991 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
+2023/11/05 | 517104 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
+2023/11/05 | 29769 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
+2023/11/05 | 567485 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
+2023/11/05 | 63567 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
+2023/11/05 | 683358 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
+2023/11/05 | 90884 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
+2023/11/05 | 815504 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
+2023/11/05 | 17112 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
+2023/11/05 | 532573 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
+2023/11/05 | 6414 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
+2023/11/05 | 427900 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
+2023/11/05 | 4041 | macros/latex/contrib/pdfmanagement-testphase/l3ref-tmp.sty
+2023/11/05 | 12798 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
+2023/11/05 | 590956 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
+2023/11/05 | 16678 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+2023/11/05 | 449226 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
+2023/11/05 | 19342 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+2023/11/05 | 4761 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins
+2023/11/05 | 464495 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
+2023/11/05 | 1200 | macros/latex/contrib/pdfmanagement-testphase/README.md
+2023/11/05 | 1354 | macros/latex/contrib/pdfmanagement-testphase/update-metadata.txt
+2023/11/05 | 2843 | macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+2023/11/06 | 11050705 | macros/latex/contrib/pdfmanagement-testphase.zip
2011/05/05 | 156 | macros/latex/contrib/pdfmarginpar/doc/pdfmarginparexample.aux
2011/05/05 | 3368 | macros/latex/contrib/pdfmarginpar/doc/pdfmarginparexample.log
2011/05/05 | 64982 | macros/latex/contrib/pdfmarginpar/doc/pdfmarginparexample.pdf
@@ -235556,30 +235569,48 @@
2021/06/07 | 56659 | macros/latex/contrib/pythontex/syncpdb.py
2021/06/07 | 1767705 | macros/latex/contrib/pythontex.zip
2021/08/04 | 2469 | macros/latex/contrib/python.zip
-2023/11/05 | 31 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-for.py
-2023/11/05 | 103 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-func.py
-2023/11/05 | 26 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-list.py
-2023/11/05 | 5225 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr-content.tex
-2023/11/05 | 48110 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.pdf
-2023/11/05 | 278 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.tex
-2023/11/05 | 807 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/code/Q-and-A-example-code-1.py
-2023/11/05 | 2106 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/images/Q-and-A-demo-logo-ChatGPT.pdf
-2023/11/05 | 1444 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/images/Q-and-A-demo-logo-User.pdf
-2023/11/05 | 2946 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-content.tex
-2023/11/05 | 43260 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-dark.pdf
-2023/11/05 | 43239 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-light.pdf
-2023/11/05 | 575 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT.tex
-2023/11/05 | 12 | macros/latex/contrib/q-and-a/DEPENDS.txt
-2023/11/05 | 21654 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.pdf
-2023/11/05 | 164 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.tex
-2023/11/05 | 365 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content.tex
-2023/11/05 | 199 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-document.tex
-2023/11/05 | 99039 | macros/latex/contrib/q-and-a/doc/Q-and-A-doc.pdf
-2023/11/05 | 15042 | macros/latex/contrib/q-and-a/doc/Q-and-A-doc.tex
-2023/11/05 | 19106 | macros/latex/contrib/q-and-a/LICENSE
-2023/11/05 | 34497 | macros/latex/contrib/q-and-a/Q-and-A.cls
-2023/11/05 | 4336 | macros/latex/contrib/q-and-a/README.md
-2023/11/05 | 274318 | macros/latex/contrib/q-and-a.zip
+2023/11/06 | 31 | macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-for.py
+2023/11/06 | 106 | macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-func.py
+2023/11/06 | 25 | macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-list.py
+2023/11/06 | 3642 | macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn-content.tex
+2023/11/06 | 175682 | macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.pdf
+2023/11/06 | 310 | macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.tex
+2023/11/06 | 31 | macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-for.py
+2023/11/06 | 138 | macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-func.py
+2023/11/06 | 29 | macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-list.py
+2023/11/06 | 5068 | macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de-content.tex
+2023/11/06 | 52791 | macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.pdf
+2023/11/06 | 319 | macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.tex
+2023/11/06 | 31 | macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-for.py
+2023/11/06 | 117 | macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-func.py
+2023/11/06 | 25 | macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-list.py
+2023/11/06 | 4348 | macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en-content.tex
+2023/11/06 | 49773 | macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.pdf
+2023/11/06 | 302 | macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.tex
+2023/11/06 | 31 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-for.py
+2023/11/06 | 103 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-func.py
+2023/11/06 | 26 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-list.py
+2023/11/06 | 5225 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr-content.tex
+2023/11/06 | 48816 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.pdf
+2023/11/06 | 318 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.tex
+2023/11/06 | 807 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/code/Q-and-A-example-code-1.py
+2023/11/06 | 2106 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/images/Q-and-A-demo-logo-ChatGPT.pdf
+2023/11/06 | 1444 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/images/Q-and-A-demo-logo-User.pdf
+2023/11/06 | 2946 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-content.tex
+2023/11/06 | 43260 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-dark.pdf
+2023/11/06 | 43239 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-light.pdf
+2023/11/06 | 575 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT.tex
+2023/11/06 | 12 | macros/latex/contrib/q-and-a/DEPENDS.txt
+2023/11/06 | 21837 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.pdf
+2023/11/06 | 204 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.tex
+2023/11/06 | 365 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content.tex
+2023/11/06 | 271 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-document.tex
+2023/11/06 | 100627 | macros/latex/contrib/q-and-a/doc/Q-and-A-doc.pdf
+2023/11/06 | 15869 | macros/latex/contrib/q-and-a/doc/Q-and-A-doc.tex
+2023/11/06 | 19106 | macros/latex/contrib/q-and-a/LICENSE
+2023/11/06 | 37196 | macros/latex/contrib/q-and-a/Q-and-A.cls
+2023/11/06 | 4336 | macros/latex/contrib/q-and-a/README.md
+2023/11/06 | 560069 | macros/latex/contrib/q-and-a.zip
2004/11/27 | 1003 | macros/latex/contrib/qcm/NEWS
2004/11/27 | 30020 | macros/latex/contrib/qcm/qcm.dtx
2004/11/27 | 2444 | macros/latex/contrib/qcm/qcm.el
@@ -237842,33 +237873,33 @@
2007/12/02 | 2971 | macros/latex/contrib/SIunits/SIunits.ins
2007/12/02 | 328621 | macros/latex/contrib/SIunits/SIunits.pdf
2007/12/02 | 296391 | macros/latex/contrib/SIunits.zip
-2023/10/07 | 77700 | macros/latex/contrib/siunitx/CHANGELOG.md
-2023/10/07 | 1179 | macros/latex/contrib/siunitx/README.md
-2023/10/07 | 11266 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
-2023/10/07 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
-2023/10/07 | 18431 | macros/latex/contrib/siunitx/siunitx-angle.dtx
-2023/10/07 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
-2023/10/07 | 2951 | macros/latex/contrib/siunitx/siunitx-binary.dtx
-2023/10/07 | 647636 | macros/latex/contrib/siunitx/siunitx-code.pdf
-2023/10/07 | 2636 | macros/latex/contrib/siunitx/siunitx-code.tex
-2023/10/07 | 8866 | macros/latex/contrib/siunitx/siunitx-command.dtx
-2023/10/07 | 39321 | macros/latex/contrib/siunitx/siunitx-complex.dtx
-2023/10/07 | 43807 | macros/latex/contrib/siunitx/siunitx-compound.dtx
-2023/10/07 | 22231 | macros/latex/contrib/siunitx/siunitx.dtx
-2023/10/07 | 31812 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
-2023/10/07 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
-2023/10/07 | 5831 | macros/latex/contrib/siunitx/siunitx-locale.dtx
-2023/10/07 | 162177 | macros/latex/contrib/siunitx/siunitx-number.dtx
-2023/10/07 | 705592 | macros/latex/contrib/siunitx/siunitx.pdf
-2023/10/07 | 37716 | macros/latex/contrib/siunitx/siunitx-print.dtx
-2023/10/07 | 15306 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
-2023/10/07 | 9239 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
-2023/10/07 | 55728 | macros/latex/contrib/siunitx/siunitx-table.dtx
-2023/10/07 | 168660 | macros/latex/contrib/siunitx/siunitx.tex
-2023/10/07 | 103551 | macros/latex/contrib/siunitx/siunitx-unit.dtx
-2023/10/07 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
-2023/10/07 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
-2023/10/07 | 1546572 | macros/latex/contrib/siunitx.zip
+2023/11/06 | 78250 | macros/latex/contrib/siunitx/CHANGELOG.md
+2023/11/06 | 1179 | macros/latex/contrib/siunitx/README.md
+2023/11/06 | 11266 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+2023/11/06 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
+2023/11/06 | 18441 | macros/latex/contrib/siunitx/siunitx-angle.dtx
+2023/11/06 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
+2023/11/06 | 2951 | macros/latex/contrib/siunitx/siunitx-binary.dtx
+2023/11/06 | 648032 | macros/latex/contrib/siunitx/siunitx-code.pdf
+2023/11/06 | 2636 | macros/latex/contrib/siunitx/siunitx-code.tex
+2023/11/06 | 8866 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2023/11/06 | 39328 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2023/11/06 | 43807 | macros/latex/contrib/siunitx/siunitx-compound.dtx
+2023/11/06 | 22231 | macros/latex/contrib/siunitx/siunitx.dtx
+2023/11/06 | 31812 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2023/11/06 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
+2023/11/06 | 5831 | macros/latex/contrib/siunitx/siunitx-locale.dtx
+2023/11/06 | 162316 | macros/latex/contrib/siunitx/siunitx-number.dtx
+2023/11/06 | 705592 | macros/latex/contrib/siunitx/siunitx.pdf
+2023/11/06 | 37724 | macros/latex/contrib/siunitx/siunitx-print.dtx
+2023/11/06 | 15311 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
+2023/11/06 | 9239 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
+2023/11/06 | 55728 | macros/latex/contrib/siunitx/siunitx-table.dtx
+2023/11/06 | 168660 | macros/latex/contrib/siunitx/siunitx.tex
+2023/11/06 | 103567 | macros/latex/contrib/siunitx/siunitx-unit.dtx
+2023/11/06 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
+2023/11/06 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
+2023/11/06 | 1547221 | macros/latex/contrib/siunitx.zip
2011/06/03 | 662398 | macros/latex/contrib/skb/doc/skb.pdf
2011/03/15 | 1485 | macros/latex/contrib/skb/doc/user-guide/database/acronyms.tex
2011/03/15 | 722 | macros/latex/contrib/skb/doc/user-guide/database/bibliography.tex
@@ -246412,10 +246443,11 @@
2023/05/14 | 3754 | macros/luatex/latex/hu-berlin-bundle/makefile
2023/05/14 | 7016 | macros/luatex/latex/hu-berlin-bundle/README.md
2023/05/14 | 252410 | macros/luatex/latex/hu-berlin-bundle.zip
-2021/02/07 | 40714 | macros/luatex/latex/innerscript/innerscript.dtx
-2021/02/07 | 123627 | macros/luatex/latex/innerscript/innerscript.pdf
-2021/02/07 | 1796 | macros/luatex/latex/innerscript/README.txt
-2021/02/07 | 128136 | macros/luatex/latex/innerscript.zip
+2023/11/06 | 72331 | macros/luatex/latex/innerscript/innerscript_code.dtx
+2023/11/06 | 92448 | macros/luatex/latex/innerscript/innerscript_code.pdf
+2023/11/06 | 113778 | macros/luatex/latex/innerscript/innerscript_user_guide.pdf
+2023/11/06 | 4605 | macros/luatex/latex/innerscript/README.txt
+2023/11/06 | 212414 | macros/luatex/latex/innerscript.zip
2022/10/10 | 565692 | macros/luatex/latex/japanese-mathformulas/japanese-mathformulas.pdf
2022/10/04 | 132365 | macros/luatex/latex/japanese-mathformulas/japanese-mathformulas-sample.pdf
2022/10/03 | 10625 | macros/luatex/latex/japanese-mathformulas/japanese-mathformulas-sample.tex
@@ -303092,7 +303124,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2023/11/05 | 428596 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68740.tar.xz
+2023/11/06 | 428596 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68742.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
@@ -303114,7 +303146,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2023/11/05 | 114228 | systems/texlive/tlnet/archive/texlive-scripts.r68740.tar.xz
+2023/11/06 | 114240 | systems/texlive/tlnet/archive/texlive-scripts.r68742.tar.xz
2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz
2023/05/14 | 60312 | systems/texlive/tlnet/archive/texlive-scripts.windows.r67095.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz
@@ -304996,16 +305028,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
2023/08/07 | 125713 | systems/texlive/tlnet/install-tl
-2023/11/05 | 5740750 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/11/05 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/11/05 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/11/06 | 5743906 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/11/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/11/06 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2023/11/05 | 21038340 | systems/texlive/tlnet/install-tl-windows.exe
-2023/11/05 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/11/05 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/11/05 | 26029214 | systems/texlive/tlnet/install-tl.zip
-2023/11/05 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/11/05 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/11/06 | 21038445 | systems/texlive/tlnet/install-tl-windows.exe
+2023/11/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/11/06 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/11/06 | 26029225 | systems/texlive/tlnet/install-tl.zip
+2023/11/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/11/06 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
2023/03/19 | 1229 | systems/texlive/tlnet/README.md
2023/03/19 | 0 | systems/texlive/tlnet/TEXLIVE_2023
2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg
@@ -305015,7 +305047,7 @@
2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2023/09/20 | 50622 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2023/11/04 | 7462 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/11/05 | 7508 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/08/23 | 221470 | 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
@@ -305057,12 +305089,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2023/11/05 | 18319509 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/11/05 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/11/06 | 18319509 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/11/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/10/16 | 87924 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/11/05 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/11/05 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/11/05 | 2484588 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/11/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/11/06 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/11/06 | 2484232 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm
2023/06/11 | 42749 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm
2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm
@@ -315961,7 +315993,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2023/11/06 | 186 | timestamp
+2023/11/07 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index d22d10aea7..2d799cd80f 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index a308be04a0..9a825187ed 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,9 +1,144 @@
+2023/11/06 | 99253 | graphics/pstricks/base/doc/pst-news23.pdf
+2023/11/06 | 92448 | macros/luatex/latex/innerscript/innerscript_code.pdf
+2023/11/06 | 9239 | macros/latex/contrib/siunitx/siunitx-symbol.dtx
+2023/11/06 | 90681 | macros/latex/contrib/homework/homework-demo-tc.pdf
+2023/11/06 | 8866 | macros/latex/contrib/siunitx/siunitx-command.dtx
+2023/11/06 | 86982 | macros/latex/contrib/homework/homework-demo-jp.pdf
+2023/11/06 | 83800 | macros/latex/contrib/homework/homework-demo-cn.pdf
+2023/11/06 | 8189553 | graphics/pstricks/base.zip
+2023/11/06 | 8109 | graphics/pstricks/base/latex/pstricks.sty
+2023/11/06 | 807 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/code/Q-and-A-example-code-1.py
+2023/11/06 | 78250 | macros/latex/contrib/siunitx/CHANGELOG.md
+2023/11/06 | 72331 | macros/luatex/latex/innerscript/innerscript_code.dtx
+2023/11/06 | 705592 | macros/latex/contrib/siunitx/siunitx.pdf
+2023/11/06 | 668 | graphics/pgf/contrib/polyhedra/README.md
+2023/11/06 | 648032 | macros/latex/contrib/siunitx/siunitx-code.pdf
+2023/11/06 | 6208 | macros/latex/contrib/affilauthor/affilauthor-doc.tex
+2023/11/06 | 5831 | macros/latex/contrib/siunitx/siunitx-locale.dtx
+2023/11/06 | 575 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT.tex
+2023/11/06 | 5743906 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/11/06 | 560069 | macros/latex/contrib/q-and-a.zip
+2023/11/06 | 55728 | macros/latex/contrib/siunitx/siunitx-table.dtx
+2023/11/06 | 52791 | macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.pdf
+2023/11/06 | 52524 | macros/latex/contrib/homework/homework-demo-de.pdf
+2023/11/06 | 524637 | macros/latex/contrib/homework.zip
+2023/11/06 | 5225 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr-content.tex
+2023/11/06 | 51865 | macros/latex/contrib/homework/homework-demo-es.pdf
+2023/11/06 | 51601 | macros/latex/contrib/homework/homework-demo-fr.pdf
+2023/11/06 | 51255 | macros/latex/contrib/homework/homework-demo-en.pdf
+2023/11/06 | 5068 | macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de-content.tex
+2023/11/06 | 49773 | macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.pdf
+2023/11/06 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/11/06 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/11/06 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/11/06 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/11/06 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/11/06 | 48816 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.pdf
+2023/11/06 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg
+2023/11/06 | 4636 | graphics/pstricks/base/doc/pst-news23.tex
+2023/11/06 | 4605 | macros/luatex/latex/innerscript/README.txt
+2023/11/06 | 4517 | graphics/pstricks/base/Changes
+2023/11/06 | 43807 | macros/latex/contrib/siunitx/siunitx-compound.dtx
+2023/11/06 | 43712 | macros/latex/contrib/fancyvrb/latex/fancyvrb.sty
+2023/11/06 | 43699 | macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.tex
+2023/11/06 | 4348 | macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en-content.tex
+2023/11/06 | 4336 | macros/latex/contrib/q-and-a/README.md
+2023/11/06 | 43260 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-dark.pdf
+2023/11/06 | 43239 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-light.pdf
+2023/11/06 | 428596 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68742.tar.xz
+2023/11/06 | 4129215 | biblio/ctan-bibdata.zip
+2023/11/06 | 39328 | macros/latex/contrib/siunitx/siunitx-complex.dtx
+2023/11/06 | 37724 | macros/latex/contrib/siunitx/siunitx-print.dtx
+2023/11/06 | 3725247 | biblio/ctan-bibdata/ctan.pdf
+2023/11/06 | 37196 | macros/latex/contrib/q-and-a/Q-and-A.cls
+2023/11/06 | 3687 | macros/latex/contrib/siunitx/siunitx.ins
+2023/11/06 | 365 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content.tex
+2023/11/06 | 3642 | macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn-content.tex
+2023/11/06 | 3640 | macros/latex/contrib/homework/homework-demo-jp.tex
+2023/11/06 | 3608 | macros/latex/contrib/homework/homework-demo-de.tex
+2023/11/06 | 3525 | macros/latex/contrib/homework/homework-demo-fr.tex
+2023/11/06 | 3409 | macros/latex/contrib/homework/homework-demo-es.tex
+2023/11/06 | 3289 | macros/latex/contrib/homework/homework-demo-en.tex
+2023/11/06 | 3218 | macros/latex/contrib/homework/homework-demo-tc.tex
+2023/11/06 | 3209 | macros/latex/contrib/homework/homework-demo-cn.tex
+2023/11/06 | 31 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-for.py
+2023/11/06 | 31 | macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-for.py
+2023/11/06 | 31 | macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-for.py
+2023/11/06 | 31 | macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-for.py
+2023/11/06 | 319 | macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.tex
+2023/11/06 | 318 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.tex
+2023/11/06 | 31812 | macros/latex/contrib/siunitx/siunitx-emulation.dtx
+2023/11/06 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg
+2023/11/06 | 310 | macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.tex
+2023/11/06 | 302 | macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.tex
+2023/11/06 | 30103 | macros/latex/contrib/homework/homework-example-sheet-answer.pdf
+2023/11/06 | 29 | macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-list.py
+2023/11/06 | 2951 | macros/latex/contrib/siunitx/siunitx-binary.dtx
+2023/11/06 | 2946 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-content.tex
+2023/11/06 | 2825145 | biblio/ctan-bibdata/ctan.bib
+2023/11/06 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty
+2023/11/06 | 271 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-document.tex
+2023/11/06 | 26 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-list.py
+2023/11/06 | 2696 | macros/latex/contrib/homework/homework-example-sheet.tex
+2023/11/06 | 2636 | macros/latex/contrib/siunitx/siunitx-code.tex
+2023/11/06 | 26029225 | systems/texlive/tlnet/install-tl.zip
+2023/11/06 | 25 | macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-list.py
+2023/11/06 | 25 | macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-list.py
+2023/11/06 | 2484232 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/11/06 | 245837 | macros/latex/contrib/affilauthor.zip
+2023/11/06 | 2360 | macros/latex/contrib/fancyvrb/Changes
+2023/11/06 | 22231 | macros/latex/contrib/siunitx/siunitx.dtx
+2023/11/06 | 21936 | macros/latex/contrib/homework/homework-example-sheet.pdf
+2023/11/06 | 21837 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.pdf
+2023/11/06 | 212414 | macros/luatex/latex/innerscript.zip
+2023/11/06 | 2106 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/images/Q-and-A-demo-logo-ChatGPT.pdf
+2023/11/06 | 21038445 | systems/texlive/tlnet/install-tl-windows.exe
+2023/11/06 | 204 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.tex
+2023/11/06 | 194023 | macros/latex/contrib/fancyvrb.zip
+2023/11/06 | 19106 | macros/latex/contrib/q-and-a/LICENSE
+2023/11/06 | 19106 | macros/latex/contrib/homework/LICENSE
+2023/11/06 | 188326 | graphics/pgf/contrib/polyhedra.zip
+2023/11/06 | 18441 | macros/latex/contrib/siunitx/siunitx-angle.dtx
+2023/11/06 | 183790 | graphics/pgf/contrib/polyhedra/polyhedra-doc.pdf
+2023/11/06 | 18319509 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/11/06 | 175682 | macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.pdf
+2023/11/06 | 17523 | graphics/pgf/contrib/polyhedra/polyhedra.sty
+2023/11/06 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg
+2023/11/06 | 170570 | macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdf
+2023/11/06 | 168660 | macros/latex/contrib/siunitx/siunitx.tex
+2023/11/06 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/11/06 | 162316 | macros/latex/contrib/siunitx/siunitx-number.dtx
+2023/11/06 | 1594512 | install/macros/latex/contrib/siunitx.tds.zip
+2023/11/06 | 15869 | macros/latex/contrib/q-and-a/doc/Q-and-A-doc.tex
+2023/11/06 | 1547221 | macros/latex/contrib/siunitx.zip
+2023/11/06 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/11/06 | 15311 | macros/latex/contrib/siunitx/siunitx-quantity.dtx
+2023/11/06 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/11/06 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/11/06 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/11/06 | 1444 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/images/Q-and-A-demo-logo-User.pdf
+2023/11/06 | 138 | macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-func.py
+2023/11/06 | 12 | macros/latex/contrib/q-and-a/DEPENDS.txt
+2023/11/06 | 12 | macros/latex/contrib/homework/DEPENDS.txt
+2023/11/06 | 125683 | graphics/pstricks/base/generic/pstricks.tex
+2023/11/06 | 11812 | macros/latex/contrib/homework/homework.cls
+2023/11/06 | 117 | macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-func.py
+2023/11/06 | 1179 | macros/latex/contrib/siunitx/README.md
+2023/11/06 | 11783 | macros/latex/contrib/homework/README.md
+2023/11/06 | 114240 | systems/texlive/tlnet/archive/texlive-scripts.r68742.tar.xz
+2023/11/06 | 113778 | macros/luatex/latex/innerscript/innerscript_user_guide.pdf
+2023/11/06 | 11266 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx
+2023/11/06 | 11140 | graphics/pgf/contrib/polyhedra/polyhedra-doc.tex
+2023/11/06 | 11050705 | macros/latex/contrib/pdfmanagement-testphase.zip
+2023/11/06 | 106 | macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-func.py
+2023/11/06 | 103 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-func.py
+2023/11/06 | 103567 | macros/latex/contrib/siunitx/siunitx-unit.dtx
+2023/11/06 | 100627 | macros/latex/contrib/q-and-a/doc/Q-and-A-doc.pdf
2023/11/05 | 9 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_simple.txt
2023/11/05 | 9 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_simple.txt
2023/11/05 | 9 | support/texlab/crates/parser/src/test_data/latex/citation/citation_missing_brace.txt
2023/11/05 | 998 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_thmtools.txt.snap
2023/11/05 | 993 | support/texlab/crates/parser/src/test_data/bibtex/samples/knuth_1984.txt
-2023/11/05 | 99039 | macros/latex/contrib/q-and-a/doc/Q-and-A-doc.pdf
2023/11/05 | 988 | support/texlab/crates/texlab/src/features/reference.rs
2023/11/05 | 987 | support/texlab/crates/commands/src/change_env.rs
2023/11/05 | 9831 | macros/latex/contrib/highlightx/tex/highlightx.sty
@@ -12,6 +147,7 @@
2023/11/05 | 96 | support/texlab/crates/texlab/tests/lsp/text_document.rs
2023/11/05 | 967 | support/texlab/crates/completion/src/util.rs
2023/11/05 | 965 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_definition_simple.txt.snap
+2023/11/05 | 965250 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
2023/11/05 | 953 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@005.txt.snap
2023/11/05 | 9479 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__knuth_1984.txt.snap
2023/11/05 | 946 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_multiple_entries.snap
@@ -20,6 +156,7 @@
2023/11/05 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_options.txt.snap
2023/11/05 | 911 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_definition_optional_arg.txt.snap
2023/11/05 | 90 | support/texlab/crates/parser/src/test_data/latex/structure/structure_nested.txt
+2023/11/05 | 90884 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
2023/11/05 | 9070 | support/texlab/crates/symbols/src/document/tex.rs
2023/11/05 | 904 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_857.txt.snap
2023/11/05 | 901 | support/texlab/crates/references/src/label.rs
@@ -32,6 +169,7 @@
2023/11/05 | 875 | support/texlab/crates/citeproc/src/lib.rs
2023/11/05 | 861 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__biblatex_include_options.txt.snap
2023/11/05 | 860 | support/texlab/crates/parser/src/test_data/bibtex/samples/blom_2021.txt
+2023/11/05 | 8566 | macros/latex/contrib/affilauthor/affilauthor.sty
2023/11/05 | 849 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error1.txt.snap
2023/11/05 | 8469 | support/texlab/crates/texlab/tests/lsp/fixture.rs
2023/11/05 | 844 | support/texlab/crates/rename/src/label.rs
@@ -43,10 +181,11 @@
2023/11/05 | 820 | support/texlab/crates/distro/src/texlive.rs
2023/11/05 | 818 | support/texlab/crates/hover/src/label.rs
2023/11/05 | 815 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_options.txt.snap
+2023/11/05 | 815504 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
2023/11/05 | 814 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation_missing_begin.txt.snap
2023/11/05 | 8146 | macros/latex/contrib/proflycee/tex/ProfLycee.sty
2023/11/05 | 80 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_with_begin.txt
-2023/11/05 | 807 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/code/Q-and-A-example-code-1.py
+2023/11/05 | 80228 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
2023/11/05 | 7 | support/texlab/crates/parser/src/test_data/latex/citation/citation_empty.txt
2023/11/05 | 79 | support/texlab/crates/diagnostics/src/grammar.rs
2023/11/05 | 79686 | macros/latex/contrib/litetable/doc/litetable-doc.pdf
@@ -57,6 +196,7 @@
2023/11/05 | 772 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_figure.txt.snap
2023/11/05 | 770 | support/texlab/crates/diagnostics/src/types.rs
2023/11/05 | 76 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_definition_options.txt
+2023/11/05 | 7654 | macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
2023/11/05 | 762 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__graphics_include_complicated_options.txt.snap
2023/11/05 | 761 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@issue_809.txt.snap
2023/11/05 | 760 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_package.txt.snap
@@ -65,7 +205,9 @@
2023/11/05 | 75722 | macros/latex/contrib/projlib.zip
2023/11/05 | 7531 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aksin_2006.txt.snap
2023/11/05 | 7528 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__jain_1999.txt.snap
+2023/11/05 | 751518 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
2023/11/05 | 750 | support/texlab/crates/diagnostics/src/util.rs
+2023/11/05 | 7508 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/11/05 | 746 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@block_comments.txt.snap
2023/11/05 | 745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_874.txt.snap
2023/11/05 | 742 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_simple.txt.snap
@@ -82,6 +224,7 @@
2023/11/05 | 710 | support/texlab/crates/distro/src/kpsewhich.rs
2023/11/05 | 706 | support/texlab/crates/parser/src/test_data/bibtex/samples/almendro_1998.txt
2023/11/05 | 706 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_siblings.txt.snap
+2023/11/05 | 706581 | macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
2023/11/05 | 703 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__inkscape_include_options.txt.snap
2023/11/05 | 702 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_options.txt.snap
2023/11/05 | 6 | support/texlab/crates/parser/src/test_data/latex/group/escaped_brackets.txt
@@ -93,7 +236,9 @@
2023/11/05 | 689 | support/texlab/crates/syntax/src/latex.rs
2023/11/05 | 688 | support/texlab/crates/completion/Cargo.toml
2023/11/05 | 6836 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__erwin_2007.txt.snap
+2023/11/05 | 683358 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
2023/11/05 | 679 | support/texlab/crates/parser/src/test_data/bibtex/samples/aksin_2006.txt
+2023/11/05 | 67781 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
2023/11/05 | 676 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description_and_counter.txt.snap
2023/11/05 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/jain_1999.txt
2023/11/05 | 674 | support/texlab/crates/parser/src/test_data/bibtex/samples/combi_2004.txt
@@ -107,8 +252,10 @@
2023/11/05 | 647775 | graphics/pgf/contrib/fenetrecas.zip
2023/11/05 | 6472 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__rivest_1978.txt.snap
2023/11/05 | 645 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_simple.txt.snap
+2023/11/05 | 6414 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
2023/11/05 | 640 | support/texlab/crates/syntax/src/bibtex/kind.rs
2023/11/05 | 637 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@issue_945.txt.snap
+2023/11/05 | 63567 | macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
2023/11/05 | 631 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@inline.txt.snap
2023/11/05 | 626 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_default_error.txt.snap
2023/11/05 | 624 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path_command.txt.snap
@@ -118,24 +265,27 @@
2023/11/05 | 60 | support/texlab/crates/parser/src/test_data/latex/structure/structure_enum_item.txt
2023/11/05 | 60 | support/texlab/crates/bibtex-utils/src/field.rs
2023/11/05 | 608 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote_postnote.txt.snap
+2023/11/05 | 606541 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
2023/11/05 | 6018 | support/texlab/crates/texlab/src/util/capabilities.rs
2023/11/05 | 594 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_bibtex.snap
+2023/11/05 | 594970 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+2023/11/05 | 590956 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
2023/11/05 | 5900 | support/texlab/crates/base-db/src/util/label.rs
2023/11/05 | 588 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error2.txt.snap
2023/11/05 | 5864 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__betram_1996.txt.snap
2023/11/05 | 58408 | support/texlab/crates/base-db/src/data.rs
2023/11/05 | 583 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple_package.snap
2023/11/05 | 5838 | support/texlab/crates/base-db/src/graph.rs
-2023/11/05 | 575 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT.tex
-2023/11/05 | 5740750 | systems/texlive/tlnet/install-tl-unx.tar.gz
2023/11/05 | 573 | macros/latex/contrib/litetable/README.md
2023/11/05 | 5684 | support/texlab/crates/parser/src/build_log.rs
+2023/11/05 | 567485 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
2023/11/05 | 565 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_invalid_nesting.txt.snap
2023/11/05 | 5645 | support/texlab/crates/symbols/src/workspace/sort.rs
2023/11/05 | 563 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_number.txt.snap
2023/11/05 | 561 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation.snap
2023/11/05 | 560 | support/texlab/crates/base-db/src/lib.rs
2023/11/05 | 55 | support/texlab/crates/parser/src/test_data/latex/issue_857.txt
+2023/11/05 | 559398 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
2023/11/05 | 558 | support/texlab/crates/commands/Cargo.toml
2023/11/05 | 557 | support/texlab/crates/parser/src/test_data/bibtex/samples/rivest_1978.txt
2023/11/05 | 556 | support/texlab/crates/parser/src/test_data/bibtex/samples/betram_1996.txt
@@ -146,23 +296,28 @@
2023/11/05 | 550 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__begin_environment_without_snippet_support.snap
2023/11/05 | 547576 | macros/latex/contrib/quizztex/doc/quizztex-doc-fr.pdf
2023/11/05 | 544 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_environment_simple_end.snap
+2023/11/05 | 544767 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
+2023/11/05 | 542491 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
2023/11/05 | 541794 | macros/latex/contrib/quizztex.zip
2023/11/05 | 5386 | support/texlab/crates/parser/src/latex/lexer/commands.rs
+2023/11/05 | 537893 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
2023/11/05 | 5374 | support/texlab/crates/base-db/src/document.rs
2023/11/05 | 536 | support/texlab/crates/texlab/src/features/highlight.rs
2023/11/05 | 535 | support/texlab/crates/hover/src/entry_type.rs
2023/11/05 | 533 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_description.txt.snap
2023/11/05 | 533 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@theorem_definition__theorem_definition_name_with_counter.txt.snap
+2023/11/05 | 532573 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
2023/11/05 | 52 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_command.txt
2023/11/05 | 52 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested_missing_braces.txt
2023/11/05 | 526 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_828.txt.snap
-2023/11/05 | 5225 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr-content.tex
2023/11/05 | 5214 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex
2023/11/05 | 520 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_wrap_long_lines.snap
2023/11/05 | 520 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal.txt.snap
2023/11/05 | 51 | support/texlab/crates/parser/src/test_data/latex/issue_828.txt
2023/11/05 | 51 | support/texlab/crates/parser/src/test_data/latex/issue_568.txt
2023/11/05 | 517 | support/texlab/crates/parser/src/test_data/bibtex/samples/matuz_1990.txt
+2023/11/05 | 517104 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
+2023/11/05 | 516165 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
2023/11/05 | 515 | support/texlab/crates/base-db/Cargo.toml
2023/11/05 | 512 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_857_1.snap
2023/11/05 | 50 | support/texlab/crates/parser/src/test_data/latex/environment/environment_asymptote.txt
@@ -177,30 +332,26 @@
2023/11/05 | 499 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@caption__caption_minimal_error.txt.snap
2023/11/05 | 494 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__component_command_simple.snap
2023/11/05 | 492 | support/texlab/crates/bibtex-utils/Cargo.toml
-2023/11/05 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/11/05 | 48 | support/texlab/crates/parser/src/test_data/latex/block_comments.txt
2023/11/05 | 489 | support/texlab/crates/citeproc/Cargo.toml
-2023/11/05 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/11/05 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/11/05 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/11/05 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/11/05 | 486 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_closed.snap
2023/11/05 | 485 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_entry_two_fields_name_open.snap
2023/11/05 | 485 | support/texlab/crates/syntax/src/lib.rs
2023/11/05 | 483 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_multiple.txt.snap
2023/11/05 | 483 | support/texlab/crates/hover/Cargo.toml
-2023/11/05 | 48110 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.pdf
2023/11/05 | 47 | support/texlab/crates/texlab/tests/lsp/main.rs
2023/11/05 | 47 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_incomplete.txt
2023/11/05 | 47 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition.txt
2023/11/05 | 479 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_range_error.txt.snap
2023/11/05 | 477 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_input_path_brackets.txt.snap
+2023/11/05 | 4761 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.ins
2023/11/05 | 4755 | support/texlab/crates/completion/src/providers/include.rs
2023/11/05 | 4730 | support/texlab/crates/citeproc/src/entry.rs
2023/11/05 | 472 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_prenote.txt.snap
2023/11/05 | 470 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_simple.txt.snap
2023/11/05 | 464 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_open_brace.snap
2023/11/05 | 464 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@007.txt.snap
+2023/11/05 | 464495 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
2023/11/05 | 460 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_args.txt.snap
2023/11/05 | 459 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_class_closed_brace.snap
2023/11/05 | 459 | support/texlab/crates/symbols/Cargo.toml
@@ -215,6 +366,7 @@
2023/11/05 | 44 | support/texlab/crates/parser/src/test_data/latex/environment/environment_definition_optional_arg.txt
2023/11/05 | 44 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_simple.txt
2023/11/05 | 449 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_closed_brace.snap
+2023/11/05 | 449226 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
2023/11/05 | 448 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__import_package_open_brace.snap
2023/11/05 | 448 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@002.txt.snap
2023/11/05 | 447 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@graphics_path.txt.snap
@@ -225,14 +377,11 @@
2023/11/05 | 4412 | support/texlab/crates/base-db/src/config.rs
2023/11/05 | 43 | support/texlab/crates/parser/src/test_data/latex/environment/environment_nested.txt
2023/11/05 | 4359 | graphics/pgf/contrib/argumentation/argumentation.sty
-2023/11/05 | 4336 | macros/latex/contrib/q-and-a/README.md
-2023/11/05 | 43260 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-dark.pdf
-2023/11/05 | 43239 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-light.pdf
2023/11/05 | 4300 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_745.txt.snap
2023/11/05 | 42 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_options.txt
2023/11/05 | 429 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_equality_sign.txt.snap
2023/11/05 | 4297 | support/texlab/crates/completion/src/providers/environment.rs
-2023/11/05 | 428596 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68740.tar.xz
+2023/11/05 | 427900 | macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
2023/11/05 | 42618 | support/texlab/crates/texlab/src/server.rs
2023/11/05 | 4254 | support/texlab/crates/completion/src/providers/command.rs
2023/11/05 | 421 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__field_empty_entry_closed.snap
@@ -243,7 +392,6 @@
2023/11/05 | 4144 | support/texlab/crates/diagnostics/src/grammar/tex.rs
2023/11/05 | 41434 | macros/latex/contrib/quizztex/tex/quizztex.sty
2023/11/05 | 4130 | support/texlab/crates/parser/src/test_data/build_log/006.txt
-2023/11/05 | 4127704 | biblio/ctan-bibdata.zip
2023/11/05 | 4126 | support/texlab/crates/texlab/src/features/symbols.rs
2023/11/05 | 408 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_simple.snap
2023/11/05 | 407 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_open_brace.snap
@@ -254,6 +402,7 @@
2023/11/05 | 404 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_open_brace.snap
2023/11/05 | 404 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_redundant_comma.txt.snap
2023/11/05 | 4047 | support/texlab/crates/texlab/src/util/chktex.rs
+2023/11/05 | 4041 | macros/latex/contrib/pdfmanagement-testphase/l3ref-tmp.sty
2023/11/05 | 403 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__color_model_definition_set_open_brace.snap
2023/11/05 | 4004 | support/texlab/crates/texlab/src/util/lsp_enums.rs
2023/11/05 | 39 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_options.txt
@@ -279,6 +428,7 @@
2023/11/05 | 380190 | support/texlab/images/demo.gif
2023/11/05 | 37 | support/texlab/crates/parser/src/test_data/latex/issue_874.txt
2023/11/05 | 379 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@equation.txt.snap
+2023/11/05 | 37996 | macros/latex/contrib/affilauthor/authorname_sampleimage.png
2023/11/05 | 378 | support/texlab/crates/definition/Cargo.toml
2023/11/05 | 377 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@command_definition__command_definition_no_impl.txt.snap
2023/11/05 | 376 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__package_include_simple.txt.snap
@@ -289,11 +439,9 @@
2023/11/05 | 373 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@preamble.txt.snap
2023/11/05 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__svg_include_simple.txt.snap
2023/11/05 | 372 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_reference_simple.txt.snap
-2023/11/05 | 3723093 | biblio/ctan-bibdata/ctan.pdf
2023/11/05 | 368 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__document_link__document_import.snap
2023/11/05 | 3667 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__aho_2006.txt.snap
2023/11/05 | 365 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__glossary_entry_reference_simple.txt.snap
-2023/11/05 | 365 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content.tex
2023/11/05 | 363 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__latex_include_simple.txt.snap
2023/11/05 | 361 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@label__label_reference_equation.txt.snap
2023/11/05 | 35 | support/texlab/crates/parser/src/test_data/latex/structure/structure_siblings.txt
@@ -316,7 +464,6 @@
2023/11/05 | 347 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_789.txt.snap
2023/11/05 | 347 | support/texlab/Cargo.toml
2023/11/05 | 344 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_simple.txt.snap
-2023/11/05 | 34497 | macros/latex/contrib/q-and-a/Q-and-A.cls
2023/11/05 | 342 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_star.txt.snap
2023/11/05 | 33 | support/texlab/crates/parser/src/test_data/latex/graphics_path_options.txt
2023/11/05 | 33 | support/texlab/crates/parser/src/test_data/latex/environment/environment_simple.txt
@@ -343,12 +490,12 @@
2023/11/05 | 31 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_full.txt
2023/11/05 | 31 | support/texlab/crates/parser/src/test_data/latex/issue_931.txt
2023/11/05 | 31 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_simple.txt
-2023/11/05 | 31 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-for.py
2023/11/05 | 3194 | support/texlab/crates/parser/src/test_data/build_log/001.txt
2023/11/05 | 316 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@include__import_incomplete.txt.snap
2023/11/05 | 314 | support/texlab/crates/parser/src/test_data/bibtex/samples/aho_2006.txt
2023/11/05 | 313 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_864.snap
2023/11/05 | 312 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@group__curly_group_missing_end.txt.snap
+2023/11/05 | 31145 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
2023/11/05 | 30 | support/texlab/crates/parser/src/test_data/latex/include/inkscape_include_options.txt
2023/11/05 | 30 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error2.txt
2023/11/05 | 3093 | support/texlab/crates/commands/src/find_envs.rs
@@ -367,16 +514,18 @@
2023/11/05 | 29 | support/texlab/crates/parser/src/test_data/latex/include/graphics_include_simple.txt
2023/11/05 | 29 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_optional.txt
2023/11/05 | 2998 | support/texlab/crates/definition/src/tests.rs
+2023/11/05 | 29769 | macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
2023/11/05 | 295 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@citation__citation_empty.txt.snap
-2023/11/05 | 2946 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/Q-and-A-demo-ChatGPT-content.tex
2023/11/05 | 291 | support/texlab/crates/test-utils/Cargo.toml
2023/11/05 | 28 | support/texlab/crates/parser/src/test_data/latex/include/package_include_multiple.txt
2023/11/05 | 28 | support/texlab/crates/parser/src/test_data/latex/include/biblatex_include_simple.txt
2023/11/05 | 28 | support/texlab/crates/parser/src/test_data/latex/group/equation_missing_end.txt
2023/11/05 | 28 | support/texlab/crates/parser/src/test_data/latex/graphics_path.txt
2023/11/05 | 28 | support/texlab/crates/parser/src/test_data/latex/equation_missing_begin.txt
+2023/11/05 | 2882 | macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
+2023/11/05 | 28644 | macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
+2023/11/05 | 2843 | macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
2023/11/05 | 2834 | support/texlab/crates/parser/src/latex/lexer/types.rs
-2023/11/05 | 2823906 | biblio/ctan-bibdata/ctan.bib
2023/11/05 | 27 | support/texlab/crates/parser/src/test_data/latex/structure/structure_invalid_nesting.txt
2023/11/05 | 27 | support/texlab/crates/parser/src/test_data/latex/include/verbatim_include_simple.txt
2023/11/05 | 27 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default.txt
@@ -384,23 +533,21 @@
2023/11/05 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__citation_open_brace.snap
2023/11/05 | 279 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_simple.snap
2023/11/05 | 278 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_open_brace.snap
-2023/11/05 | 278 | macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.tex
-2023/11/05 | 274318 | macros/latex/contrib/q-and-a.zip
2023/11/05 | 273 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__user_command.snap
2023/11/05 | 271 | support/texlab/crates/parser/src/test_data/latex/issue_745.txt
2023/11/05 | 26 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_name_with_description_and_counter.txt
2023/11/05 | 26 | support/texlab/crates/parser/src/test_data/latex/command_definition/math_operator_no_impl.txt
2023/11/05 | 26 | support/texlab/crates/parser/src/test_data/latex/caption/caption_default_error.txt
-2023/11/05 | 26 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-list.py
2023/11/05 | 26718 | support/texlab/texlab.pdf
2023/11/05 | 2665 | support/texlab/crates/bibtex-utils/src/field/date.rs
2023/11/05 | 265 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__acronym_ref_empty.snap
+2023/11/05 | 26550 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
+2023/11/05 | 26540 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
2023/11/05 | 264 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_simple.snap
2023/11/05 | 263 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__glossary_ref_open_brace.snap
2023/11/05 | 2612 | support/texlab/crates/completion/src/providers/glossary.rs
2023/11/05 | 2610 | support/texlab/crates/symbols/src/types.rs
2023/11/05 | 2609 | support/texlab/crates/texlab/src/server/extensions.rs
-2023/11/05 | 26029214 | systems/texlive/tlnet/install-tl.zip
2023/11/05 | 25 | support/texlab/crates/parser/src/test_data/latex/glossary/glossary_entry_reference_options.txt
2023/11/05 | 25 | support/texlab/crates/parser/src/test_data/latex/color/color_set_definition_error3.txt
2023/11/05 | 25 | support/texlab/crates/parser/src/test_data/bibtex/preamble.txt
@@ -414,7 +561,6 @@
2023/11/05 | 24 | support/texlab/crates/parser/src/test_data/latex/include/svg_include_simple.txt
2023/11/05 | 2493 | support/texlab/crates/completion/src/providers/argument.rs
2023/11/05 | 248 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@color__color_set_definition_error4.txt.snap
-2023/11/05 | 2484588 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/11/05 | 2481 | support/texlab/crates/completion/src/providers/import.rs
2023/11/05 | 247 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__issue_883.snap
2023/11/05 | 2468 | support/texlab/crates/texlab/src/features/inlay_hint.rs
@@ -435,6 +581,7 @@
2023/11/05 | 2322 | support/texlab/crates/diagnostics/src/lib.rs
2023/11/05 | 23221 | macros/latex/contrib/quizztex/doc/quizztex-doc-fr.tex
2023/11/05 | 2320 | support/texlab/crates/completion/src/util/patterns.rs
+2023/11/05 | 23088 | macros/latex/contrib/affilauthor/affiliations_sampleimage.png
2023/11/05 | 22 | support/texlab/crates/parser/src/test_data/latex/include/bibtex_include_simple.txt
2023/11/05 | 22 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_argc.txt
2023/11/05 | 22 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal.txt
@@ -449,14 +596,12 @@
2023/11/05 | 21 | support/texlab/crates/parser/src/test_data/latex/label/label_number.txt
2023/11/05 | 21 | support/texlab/crates/parser/src/test_data/latex/inline_double_dollar.txt
2023/11/05 | 21 | support/texlab/crates/parser/src/test_data/latex/caption/caption_minimal_error.txt
+2023/11/05 | 21991 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
2023/11/05 | 217 | support/texlab/crates/parser/src/test_data/latex/issue_919.txt
2023/11/05 | 216 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_empty.txt.snap
-2023/11/05 | 21654 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.pdf
2023/11/05 | 215 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@generic_command_escape.txt.snap
2023/11/05 | 211 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__argument_word.snap
2023/11/05 | 2107 | support/texlab/crates/completion/src/providers/color.rs
-2023/11/05 | 2106 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/images/Q-and-A-demo-logo-ChatGPT.pdf
-2023/11/05 | 21038340 | systems/texlive/tlnet/install-tl-windows.exe
2023/11/05 | 20 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_simple.txt
2023/11/05 | 20 | support/texlab/crates/parser/src/test_data/latex/include/tikz_library_import_simple.txt
2023/11/05 | 20 | support/texlab/crates/parser/src/test_data/latex/include/package_include_simple.txt
@@ -466,6 +611,7 @@
2023/11/05 | 2074 | support/texlab/crates/bibtex-utils/src/field/author.rs
2023/11/05 | 2068 | support/texlab/crates/texlab/src/features/formatting/latexindent.rs
2023/11/05 | 205 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_complete_entry.snap
+2023/11/05 | 20430 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
2023/11/05 | 2040 | support/texlab/crates/parser/src/latex/lexer.rs
2023/11/05 | 1 | support/texlab/crates/parser/src/test_data/latex/parameter_error.txt
2023/11/05 | 19 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_range_error.txt
@@ -474,16 +620,16 @@
2023/11/05 | 19 | support/texlab/crates/parser/src/test_data/latex/inline.txt
2023/11/05 | 19 | support/texlab/crates/parser/src/test_data/latex/include/pgf_library_import_simple.txt
2023/11/05 | 19 | support/texlab/crates/parser/src/test_data/latex/glossary/acronym_reference_simple.txt
-2023/11/05 | 199 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-document.tex
2023/11/05 | 197 | support/texlab/crates/texlab/src/features.rs
2023/11/05 | 1974 | support/texlab/crates/symbols/src/document/bib.rs
2023/11/05 | 1968 | support/texlab/crates/texlab/Cargo.toml
2023/11/05 | 196410 | graphics/pgf/contrib/tkz-bernoulli.zip
2023/11/05 | 194 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_after_preamble.snap
2023/11/05 | 194012 | graphics/pgf/contrib/tkz-bernoulli/doc/tkz-bernoulli-doc.pdf
+2023/11/05 | 19342 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
2023/11/05 | 1922 | support/texlab/crates/texlab/tests/lsp/workspace/snapshots/lsp__workspace__symbol__smoke.snap
2023/11/05 | 1917 | support/texlab/crates/distro/src/file_name_db.rs
-2023/11/05 | 19106 | macros/latex/contrib/q-and-a/LICENSE
+2023/11/05 | 191233 | macros/latex/contrib/affilauthor/affilauthor-doc.pdf
2023/11/05 | 19101 | macros/latex/contrib/litetable/License
2023/11/05 | 1903 | macros/latex/contrib/litetable/doc/litetable-demo.tex
2023/11/05 | 188725 | macros/latex/contrib/highlightx.zip
@@ -495,12 +641,12 @@
2023/11/05 | 1846 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_919.txt.snap
2023/11/05 | 184154 | graphics/pgf/contrib/argumentation.zip
2023/11/05 | 183613 | graphics/pgf/contrib/argumentation/argumentation-doc.pdf
-2023/11/05 | 18319509 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2023/11/05 | 182 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_article.snap
2023/11/05 | 182 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@parameter.txt.snap
2023/11/05 | 1820 | support/texlab/crates/commands/src/clean.rs
2023/11/05 | 181 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_join_strings.snap
2023/11/05 | 181 | support/texlab/CONTRIBUTING.md
+2023/11/05 | 18170 | macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
2023/11/05 | 181606 | macros/latex/contrib/highlightx/doc/highlightx-doc.pdf
2023/11/05 | 1814 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__label.snap
2023/11/05 | 18098 | support/texlab/crates/syntax/src/latex/cst.rs
@@ -512,22 +658,24 @@
2023/11/05 | 179 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__completion__entry_type_before_string.snap
2023/11/05 | 1798 | support/texlab/crates/inlay-hints/src/label.rs
2023/11/05 | 1791 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@issue_853.txt.snap
+2023/11/05 | 177410 | macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
2023/11/05 | 1760 | support/texlab/crates/citeproc/src/output.rs
2023/11/05 | 175 | support/texlab/crates/symbols/src/lib.rs
2023/11/05 | 1753985 | macros/latex/contrib/proflycee.zip
2023/11/05 | 1749 | support/texlab/crates/folding/src/tests.rs
2023/11/05 | 1745 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_nested.txt.snap
2023/11/05 | 1737 | support/texlab/crates/texlab/tests/lsp/text_document/inlay_hint.rs
+2023/11/05 | 17338 | macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
2023/11/05 | 1732 | support/texlab/crates/texlab/src/main.rs
+2023/11/05 | 17112 | macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
2023/11/05 | 1708 | support/texlab/crates/syntax/src/latex/kind.rs
2023/11/05 | 16 | support/texlab/crates/parser/src/test_data/latex/theorem_definition/theorem_definition_only_name.txt
2023/11/05 | 16 | support/texlab/crates/parser/src/test_data/latex/include/class_include_empty.txt
2023/11/05 | 16 | support/texlab/crates/parser/src/test_data/latex/command_definition/command_definition_no_impl_error.txt
2023/11/05 | 167 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_command.snap
-2023/11/05 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2023/11/05 | 1672 | support/texlab/crates/parser/src/snapshots/parser__build_log__tests__parse@006.txt.snap
+2023/11/05 | 16678 | macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
2023/11/05 | 1660 | support/texlab/crates/texlab/src/features/hover.rs
-2023/11/05 | 164 | macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.tex
2023/11/05 | 1626 | support/texlab/crates/bibtex-utils/src/field/number.rs
2023/11/05 | 1611 | support/texlab/crates/texlab/src/util/line_index_ext.rs
2023/11/05 | 160 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_preamble.snap
@@ -545,13 +693,10 @@
2023/11/05 | 15622 | support/texlab/crates/citeproc/src/tests.rs
2023/11/05 | 1553 | support/texlab/crates/completion/src/providers/color_model.rs
2023/11/05 | 15443 | graphics/pgf/contrib/tkz-bernoulli/doc/tkz-bernoulli-doc.tex
-2023/11/05 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
2023/11/05 | 1534 | support/texlab/crates/texlab/src/features/rename.rs
-2023/11/05 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2023/11/05 | 1509 | support/texlab/crates/symbols/src/document.rs
2023/11/05 | 1506 | support/texlab/crates/rename/src/entry.rs
2023/11/05 | 1505 | support/texlab/crates/texlab/tests/lsp/text_document/document_symbol.rs
-2023/11/05 | 15042 | macros/latex/contrib/q-and-a/doc/Q-and-A-doc.tex
2023/11/05 | 14 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_multiple.txt
2023/11/05 | 14 | support/texlab/crates/parser/src/test_data/latex/generic_command_args.txt
2023/11/05 | 1496 | support/texlab/crates/texlab/src/util.rs
@@ -559,10 +704,7 @@
2023/11/05 | 14808 | support/texlab/crates/texlab/src/features/completion.rs
2023/11/05 | 1464 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_declaration.txt.snap
2023/11/05 | 1462 | support/texlab/crates/rename/src/tests.rs
-2023/11/05 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/11/05 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2023/11/05 | 14471 | graphics/pgf/contrib/argumentation/argumentation-doc.tex
-2023/11/05 | 1444 | macros/latex/contrib/q-and-a/demo/theme-ChatGPT/images/Q-and-A-demo-logo-User.pdf
2023/11/05 | 143 | support/texlab/crates/texlab/tests/lsp/text_document/snapshots/lsp__text_document__formatting__bibtex_internal_string.snap
2023/11/05 | 14338 | support/texlab/crates/symbols/src/document/tests.rs
2023/11/05 | 1432 | support/texlab/crates/hover/src/lib.rs
@@ -574,9 +716,11 @@
2023/11/05 | 13 | support/texlab/crates/parser/src/test_data/latex/equation.txt
2023/11/05 | 13 | support/texlab/crates/parser/src/test_data/latex/color/color_reference_simple.txt
2023/11/05 | 1395090 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf
+2023/11/05 | 1394 | macros/latex/contrib/affilauthor/README.txt
2023/11/05 | 1382 | support/texlab/crates/completion/src/util/builder.rs
2023/11/05 | 135 | support/texlab/crates/parser/src/test_data/latex/issue_853.txt
2023/11/05 | 1359 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@glossary__acronym_definition_options.txt.snap
+2023/11/05 | 1354 | macros/latex/contrib/pdfmanagement-testphase/update-metadata.txt
2023/11/05 | 134 | support/texlab/crates/parser/src/test_data/latex/structure/paragraphs.txt
2023/11/05 | 1348 | support/texlab/crates/definition/src/command.rs
2023/11/05 | 13353 | support/texlab/crates/parser/src/test_data/build_log/005.txt
@@ -590,13 +734,14 @@
2023/11/05 | 12 | support/texlab/crates/parser/src/test_data/latex/hello_world.txt
2023/11/05 | 12 | support/texlab/crates/parser/src/test_data/latex/group/curly_group_missing_end.txt
2023/11/05 | 12 | support/texlab/crates/parser/src/test_data/latex/citation/citation_redundant_comma.txt
-2023/11/05 | 12 | macros/latex/contrib/q-and-a/DEPENDS.txt
2023/11/05 | 12851 | macros/latex/contrib/litetable/tex/litetable.cls
+2023/11/05 | 12798 | macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
2023/11/05 | 1266 | support/texlab/crates/references/src/string_def.rs
2023/11/05 | 1260 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@structure__structure_enum_item.txt.snap
2023/11/05 | 1250 | support/texlab/crates/definition/src/lib.rs
2023/11/05 | 1236 | support/texlab/crates/rename/src/command.rs
2023/11/05 | 1225 | support/texlab/crates/hover/src/citation.rs
+2023/11/05 | 1200 | macros/latex/contrib/pdfmanagement-testphase/README.md
2023/11/05 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_reference_equation.txt
2023/11/05 | 11 | support/texlab/crates/parser/src/test_data/latex/label/label_definition_simple.txt
2023/11/05 | 11 | support/texlab/crates/parser/src/test_data/latex/include/import_incomplete.txt
@@ -607,7 +752,6 @@
2023/11/05 | 1157 | support/texlab/crates/texlab/tests/lsp/text_document/document_link.rs
2023/11/05 | 11483 | support/texlab/crates/parser/src/bibtex.rs
2023/11/05 | 1146 | support/texlab/crates/definition/src/label.rs
-2023/11/05 | 114228 | systems/texlive/tlnet/archive/texlive-scripts.r68740.tar.xz
2023/11/05 | 1124 | support/texlab/crates/distro/src/language.rs
2023/11/05 | 1121 | support/texlab/crates/parser/src/snapshots/parser__latex__tests__parse@environment__environment_nested.txt.snap
2023/11/05 | 1119 | support/texlab/crates/texlab/src/features/highlight/label.rs
@@ -632,8 +776,8 @@
2023/11/05 | 1056 | support/texlab/crates/definition/src/include.rs
2023/11/05 | 1051 | support/texlab/crates/texlab/tests/lsp/workspace/symbol.rs
2023/11/05 | 1048 | support/texlab/crates/definition/src/string_ref.rs
-2023/11/05 | 103 | macros/latex/contrib/q-and-a/demo/lang-fr/code/Q-and-A-demo-fr-code-func.py
2023/11/05 | 10380 | support/texlab/crates/parser/src/snapshots/parser__bibtex__tests__parse@samples__averroes_1998.txt.snap
+2023/11/05 | 10293 | macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
2023/11/05 | 1025 | support/texlab/crates/completion/src/util/matchers.rs
2023/11/05 | 1023 | support/texlab/crates/completion/benches/bench_main.rs
2023/11/05 | 10197 | support/texlab/crates/base-db/src/workspace.rs
@@ -690,7 +834,6 @@
2023/11/04 | 753004 | systems/win32/miktex/tm/packages/latex-base-dev__source.tar.lzma
2023/11/04 | 752959 | systems/win32/miktex/tm/packages/ltxbase__source.tar.lzma
2023/11/04 | 75129 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma
-2023/11/04 | 7462 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/11/04 | 74315 | graphics/pgf/contrib/bodegraph/bodegraph.sty
2023/11/04 | 739624 | systems/win32/miktex/tm/packages/l3build__doc.tar.lzma
2023/11/04 | 73407 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma
@@ -2689,154 +2832,3 @@
2023/10/31 | 1030 | macros/latex/contrib/hyperref/doc/hyperref-doc4.html
2023/10/31 | 10297 | fonts/kpfonts-otf/README.md
2023/10/31 | 1018882 | macros/latex/contrib/coloredbelts.zip
-2023/10/30 | 98838 | graphics/pstricks/base/doc/pst-news23.pdf
-2023/10/30 | 9625 | graphics/pgf/contrib/pgfornament-han/han/han65.pgf
-2023/10/30 | 943100 | systems/texlive/tlnet/archive/etoc.doc.r68691.tar.xz
-2023/10/30 | 9382 | graphics/pgf/contrib/pgfornament-han/han/han75.pgf
-2023/10/30 | 9372 | graphics/pgf/contrib/pgfornament-han/beamerthemeTianQing.sty
-2023/10/30 | 927 | graphics/pgf/contrib/pgfornament-han/han/han25.pgf
-2023/10/30 | 9269 | graphics/pgf/contrib/pgfornament-han/han/han53.pgf
-2023/10/30 | 845 | graphics/pgf/contrib/pgfornament-han/han/han48.pgf
-2023/10/30 | 8452 | graphics/pstricks/base/latex/pstricks.sty
-2023/10/30 | 840 | graphics/pgf/contrib/pgfornament-han/README.md
-2023/10/30 | 8382 | graphics/pgf/contrib/pgfornament-han/han/han69.pgf
-2023/10/30 | 837378 | macros/luatex/latex/autotype/autotype-hyph-de-CH-1901-primary.pat.txt
-2023/10/30 | 837376 | macros/luatex/latex/autotype/autotype-hyph-de-1901-primary.pat.txt
-2023/10/30 | 826441 | macros/luatex/latex/autotype/autotype-hyph-de-1996-primary.pat.txt
-2023/10/30 | 809348 | systems/texlive/tlnet/archive/tugboat.doc.r68694.tar.xz
-2023/10/30 | 8023743 | graphics/pstricks/base.zip
-2023/10/30 | 78064 | macros/luatex/latex/autotype/autotype-de.tex
-2023/10/30 | 7802 | graphics/pgf/contrib/pgfornament-han/beamerthemeHeavenlyClouds.sty
-2023/10/30 | 762 | graphics/pgf/contrib/pgfornament-han/han/han3.pgf
-2023/10/30 | 762 | graphics/pgf/contrib/pgfornament-han/han/han13.pgf
-2023/10/30 | 7603 | graphics/pgf/contrib/pgfornament-han/han/han73.pgf
-2023/10/30 | 749 | graphics/pgf/contrib/pgfornament-han/han/han46.pgf
-2023/10/30 | 7454 | graphics/pgf/contrib/pgfornament-han/han/han51.pgf
-2023/10/30 | 7348 | macros/latex/contrib/coloredbelts/doc/coloredbelts-doc-fr.tex
-2023/10/30 | 722 | graphics/pgf/contrib/pgfornament-han/han/han27.pgf
-2023/10/30 | 694286 | macros/luatex/latex/autotype/autotype-hyph-de-CH-1901-secondary.pat.txt
-2023/10/30 | 694256 | macros/luatex/latex/autotype/autotype-hyph-de-1901-secondary.pat.txt
-2023/10/30 | 685426 | macros/luatex/latex/autotype/autotype-hyph-de-1996-secondary.pat.txt
-2023/10/30 | 6778 | graphics/pgf/contrib/pgfornament-han/han/han63.pgf
-2023/10/30 | 674 | graphics/pgf/contrib/pgfornament-han/han/han38.pgf
-2023/10/30 | 6653 | macros/latex/contrib/coloredbelts/doc/coloredbelts-doc-en.tex
-2023/10/30 | 663 | graphics/pgf/contrib/pgfornament-han/han/han44.pgf
-2023/10/30 | 6485 | graphics/pgf/contrib/pgfornament-han/han/han78.pgf
-2023/10/30 | 641 | graphics/pgf/contrib/pgfornament-han/han/han11.pgf
-2023/10/30 | 640 | graphics/pgf/contrib/pgfornament-han/han/han21.pgf
-2023/10/30 | 6200 | systems/texlive/tlnet/archive/exesheet.r68692.tar.xz
-2023/10/30 | 614 | graphics/pgf/contrib/pgfornament-han/han/han7.pgf
-2023/10/30 | 604 | graphics/pgf/contrib/pgfornament-han/han/han1.pgf
-2023/10/30 | 6027 | graphics/pgf/contrib/pgfornament-han/han/han71.pgf
-2023/10/30 | 588 | graphics/pgf/contrib/pgfornament-han/han/han9.pgf
-2023/10/30 | 58810 | graphics/pgf/contrib/pgfornament-han/pgfornament-han-doc.tex
-2023/10/30 | 567 | graphics/pgf/contrib/pgfornament-han/han/han42.pgf
-2023/10/30 | 566 | graphics/pgf/contrib/pgfornament-han/han/han36.pgf
-2023/10/30 | 551 | graphics/pgf/contrib/pgfornament-han/han/han5.pgf
-2023/10/30 | 5519 | graphics/pgf/contrib/pgfornament-han/beamerthemeXiaoshan.sty
-2023/10/30 | 527 | macros/latex/contrib/coloredbelts/README.md
-2023/10/30 | 523936 | macros/latex/contrib/coloredbelts/doc/coloredbelts-doc-en.pdf
-2023/10/30 | 519983 | macros/latex/contrib/coloredbelts/doc/coloredbelts-doc-fr.pdf
-2023/10/30 | 509 | graphics/pgf/contrib/pgfornament-han/han/han76.pgf
-2023/10/30 | 509 | graphics/pgf/contrib/pgfornament-han/han/han39.pgf
-2023/10/30 | 4818 | graphics/pstricks/base/README
-2023/10/30 | 474 | graphics/pgf/contrib/pgfornament-han/han/han34.pgf
-2023/10/30 | 471 | graphics/pgf/contrib/pgfornament-han/han/han23.pgf
-2023/10/30 | 458 | graphics/pgf/contrib/pgfornament-han/han/han18.pgf
-2023/10/30 | 454 | graphics/pgf/contrib/pgfornament-han/han/han47.pgf
-2023/10/30 | 4531 | graphics/pstricks/base/doc/pst-news23.tex
-2023/10/30 | 4503 | graphics/pgf/contrib/pgfornament-han/pgflibraryhan.code.tex
-2023/10/30 | 44100 | systems/texlive/tlnet/archive/tugboat.source.r68694.tar.xz
-2023/10/30 | 4392 | graphics/pstricks/base/Changes
-2023/10/30 | 435 | graphics/pgf/contrib/pgfornament-han/han/han45.pgf
-2023/10/30 | 40187 | fonts/newtx/map/newtx.map
-2023/10/30 | 39913 | graphics/pgf/contrib/pgfornament-han/xiaoshan-sample.pdf
-2023/10/30 | 3788 | macros/luatex/latex/autotype/autotype-cls_pdnm_oop.lua
-2023/10/30 | 3609 | graphics/pgf/contrib/pgfornament-han/han/han60.pgf
-2023/10/30 | 35636 | graphics/pgf/contrib/pgfornament-han/han/han54.pgf
-2023/10/30 | 350 | graphics/pgf/contrib/pgfornament-han/han/han32.pgf
-2023/10/30 | 33868 | systems/texlive/tlnet/archive/tugboat-plain.r68695.tar.xz
-2023/10/30 | 3343820 | graphics/pgf/contrib/circuitikz.zip
-2023/10/30 | 333903 | macros/luatex/latex/autotype/autotype-de.pdf
-2023/10/30 | 328 | graphics/pgf/contrib/pgfornament-han/han/han37.pgf
-2023/10/30 | 327 | graphics/pgf/contrib/pgfornament-han/han/han43.pgf
-2023/10/30 | 32245 | graphics/pgf/contrib/pgfornament-han/cncolours.sty
-2023/10/30 | 32076 | systems/texlive/tlnet/archive/tugboat.r68694.tar.xz
-2023/10/30 | 313 | graphics/pgf/contrib/pgfornament-han/han/han35.pgf
-2023/10/30 | 2954 | graphics/pgf/contrib/pgfornament-han/heavenlyclouds-sample.tex
-2023/10/30 | 29320 | macros/luatex/latex/autotype/autotype-cls_pdnm_trie_simple.lua
-2023/10/30 | 29157 | macros/luatex/latex/autotype/autotype-round-s-de.pat.txt
-2023/10/30 | 287 | graphics/pgf/contrib/pgfornament-han/han/han41.pgf
-2023/10/30 | 274 | graphics/pgf/contrib/pgfornament-han/han/han16.pgf
-2023/10/30 | 268 | graphics/pgf/contrib/pgfornament-han/han/han33.pgf
-2023/10/30 | 2652 | systems/texlive/tlnet/archive/context-collating-marks.r68696.tar.xz
-2023/10/30 | 25766 | graphics/pgf/contrib/pgfornament-han/han/han50.pgf
-2023/10/30 | 2573 | graphics/pgf/contrib/pgfornament-han/tianqing-sample.tex
-2023/10/30 | 2563 | graphics/pgf/contrib/pgfornament-han/han/han57.pgf
-2023/10/30 | 2553 | graphics/pgf/contrib/pgfornament-han/han/han77.pgf
-2023/10/30 | 2525 | macros/luatex/latex/autotype/autotype-hyph-de-CH-1901-secondary.lic.txt
-2023/10/30 | 2518 | macros/luatex/latex/autotype/autotype-hyph-de-CH-1901-primary.lic.txt
-2023/10/30 | 2501 | macros/luatex/latex/autotype/autotype-hyph-de-1996-secondary.lic.txt
-2023/10/30 | 25012 | systems/texlive/tlnet/archive/exesheet.source.r68692.tar.xz
-2023/10/30 | 2496 | macros/luatex/latex/autotype/autotype-hyph-de-1901-secondary.lic.txt
-2023/10/30 | 2494 | macros/luatex/latex/autotype/autotype-hyph-de-1996-primary.lic.txt
-2023/10/30 | 2489 | macros/luatex/latex/autotype/autotype-hyph-de-1901-primary.lic.txt
-2023/10/30 | 2417 | macros/luatex/latex/autotype/autotype-ligbreak-de.lic.txt
-2023/10/30 | 2385 | macros/luatex/latex/autotype/autotype-round-s-de.lic.txt
-2023/10/30 | 23843 | graphics/pgf/contrib/pgfornament-han/han/han61.pgf
-2023/10/30 | 237401 | macros/luatex/latex/autotype/autotype-ligbreak-de.pat.txt
-2023/10/30 | 234 | graphics/pgf/contrib/pgfornament-han/han/han17.pgf
-2023/10/30 | 230252 | systems/texlive/tlnet/archive/exesheet.doc.r68692.tar.xz
-2023/10/30 | 226 | graphics/pgf/contrib/pgfornament-han/han/han30.pgf
-2023/10/30 | 224881 | graphics/pgf/contrib/pgfornament-han/heavenlyclouds-sample.pdf
-2023/10/30 | 2217 | graphics/pgf/contrib/pgfornament-han/pgfornament-han.sty
-2023/10/30 | 220360 | systems/texlive/tlnet/archive/tugboat-plain.doc.r68695.tar.xz
-2023/10/30 | 21845 | macros/luatex/latex/autotype/autotype.lua
-2023/10/30 | 2154 | graphics/pgf/contrib/pgfornament-han/han/han66.pgf
-2023/10/30 | 1993 | fonts/newtx/tex/ts1ntxsupsalt.fd
-2023/10/30 | 1965 | macros/luatex/latex/autotype/README
-2023/10/30 | 1949 | graphics/pgf/contrib/pgfornament-han/han/han58.pgf
-2023/10/30 | 19106 | graphics/pgf/contrib/pgfornament-han/lppl-1-3c.txt
-2023/10/30 | 187 | graphics/pgf/contrib/pgfornament-han/han/han31.pgf
-2023/10/30 | 18797 | graphics/pgf/contrib/pgfornament-han/han/han52.pgf
-2023/10/30 | 1850927 | graphics/pgf/contrib/pgfornament-han.zip
-2023/10/30 | 17766 | macros/luatex/latex/autotype/autotype-pdnm_nl_manipulation.lua
-2023/10/30 | 1764 | graphics/pgf/contrib/pgfornament-han/han/han4.pgf
-2023/10/30 | 1736 | graphics/pgf/contrib/pgfornament-han/han/han74.pgf
-2023/10/30 | 1717 | graphics/pgf/contrib/pgfornament-han/han/han64.pgf
-2023/10/30 | 1701 | graphics/pgf/contrib/pgfornament-han/han/han68.pgf
-2023/10/30 | 1680 | graphics/pgf/contrib/pgfornament-han/han/han14.pgf
-2023/10/30 | 163 | graphics/pgf/contrib/pgfornament-han/han/han15.pgf
-2023/10/30 | 1587 | graphics/pgf/contrib/pgfornament-han/xiaoshan-sample.tex
-2023/10/30 | 1545 | graphics/pgf/contrib/pgfornament-han/han/han56.pgf
-2023/10/30 | 1449 | graphics/pgf/contrib/pgfornament-han/han/han26.pgf
-2023/10/30 | 1437 | graphics/pgf/contrib/pgfornament-han/han/han22.pgf
-2023/10/30 | 141 | graphics/pgf/contrib/pgfornament-han/han/han29.pgf
-2023/10/30 | 1411 | graphics/pgf/contrib/pgfornament-han/han/han55.pgf
-2023/10/30 | 14093 | macros/luatex/latex/autotype/autotype-cls_pdnm_spot.lua
-2023/10/30 | 1406 | graphics/pgf/contrib/pgfornament-han/han/han28.pgf
-2023/10/30 | 1404 | graphics/pgf/contrib/pgfornament-han/han/han12.pgf
-2023/10/30 | 1378 | graphics/pgf/contrib/pgfornament-han/han/han2.pgf
-2023/10/30 | 13500 | systems/texlive/tlnet/archive/etoc.r68691.tar.xz
-2023/10/30 | 1349245 | graphics/pgf/contrib/pgfornament-han/pgfornament-han-doc.pdf
-2023/10/30 | 1321 | graphics/pgf/contrib/pgfornament-han/han/han8.pgf
-2023/10/30 | 1312 | systems/texlive/tlnet/archive/hvqrurl.r68693.tar.xz
-2023/10/30 | 13104 | macros/luatex/latex/autotype/autotype-cls_pdnm_pattern.lua
-2023/10/30 | 1281 | graphics/pgf/contrib/pgfornament-han/han/han10.pgf
-2023/10/30 | 125683 | graphics/pstricks/base/generic/pstricks.tex
-2023/10/30 | 1253 | graphics/pgf/contrib/pgfornament-han/han/han70.pgf
-2023/10/30 | 1250 | graphics/pgf/contrib/pgfornament-han/han/han62.pgf
-2023/10/30 | 123044 | systems/texlive/tlnet/archive/etoc.source.r68691.tar.xz
-2023/10/30 | 1218 | graphics/pgf/contrib/pgfornament-han/han/han6.pgf
-2023/10/30 | 12145 | graphics/pgf/contrib/pgfornament-han/han/han59.pgf
-2023/10/30 | 116465 | graphics/pgf/contrib/pgfornament-han/tianqing-sample.pdf
-2023/10/30 | 115228 | systems/texlive/tlnet/archive/context-collating-marks.doc.r68696.tar.xz
-2023/10/30 | 1145 | graphics/pgf/contrib/pgfornament-han/han/han72.pgf
-2023/10/30 | 11176 | graphics/pgf/contrib/pgfornament-han/han/han67.pgf
-2023/10/30 | 107568 | systems/texlive/tlnet/archive/hvqrurl.doc.r68693.tar.xz
-2023/10/30 | 10553 | macros/luatex/latex/autotype/autotype.sty
-2023/10/30 | 1050 | graphics/pgf/contrib/pgfornament-han/han/han19.pgf
-2023/10/30 | 1028 | graphics/pgf/contrib/pgfornament-han/han/han24.pgf
-2023/10/30 | 1028 | graphics/pgf/contrib/pgfornament-han/han/han20.pgf
-2023/10/30 | 10233 | graphics/pgf/contrib/pgfornament-han/han/han49.pgf
-2023/10/30 | 1022 | graphics/pgf/contrib/pgfornament-han/han/han40.pgf
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index e3dc284f15..7bbdb042d4 100644
--- a/biblio/ctan-bibdata/ctan.bib
+++ b/biblio/ctan-bibdata/ctan.bib
@@ -1,7 +1,7 @@
%% bib file of all CTAN packages
%% (C) Herbert Voß
%%
-%% created at 05-11-2023, 02:00:39
+%% created at 06-11-2023, 02:00:38
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -3091,6 +3091,20 @@
url = {https://ctan.org/pkg/arev},
}
+@manual{ctan-argumentation,
+ title = {The \texttt{argumentation} package},
+ subtitle = {Create abstract argumentation frameworks via TikZ},
+ author = {Lars Bengel},
+ date = {2023-11-05},
+ version = {1.0},
+ license = {lppl1.3c},
+ mirror = {https://mirror.ctan.org/graphics/pgf/contrib/argumentation},
+ url = {https://ctan.org/pkg/argumentation},
+ annotation = {This package provides commands for creating
+ via
+ .},
+}
+
@manual{ctan-arimo,
title = {The \texttt{arimo} package},
subtitle = {Arimo sans serif fonts with \LaTeX{} support},
@@ -4238,7 +4252,7 @@
title = {The \texttt{autotype} package},
subtitle = {A Lua\LaTeX{} package for automatic language-specific typography},
author = {Keno Wehr},
- date = {2023-11-01},
+ date = {2023-11-05},
version = {0.4},
license = {lppl1.3,mit,other-free},
mirror = {https://mirror.ctan.org/macros/luatex/latex/autotype},
@@ -10494,7 +10508,7 @@
title = {The \texttt{calcfrac} package},
subtitle = {Calculates the value of an expression containing fractions},
author = {{Unknown}},
- date = {2023-10-28},
+ date = {2023-11-05},
version = {0.2},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/generic/calcfrac},
@@ -14070,7 +14084,7 @@
title = {The \texttt{coloredbelts} package},
subtitle = {Insert colored belts (vectorial format) in documents (to presetn skills, for example)},
author = {Cédric Pierquet},
- date = {2023-11-02},
+ date = {2023-11-05},
version = {0.1.0},
license = {lppl1.3c,cc-by-sa-3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/coloredbelts},
@@ -24976,8 +24990,8 @@
title = {The \texttt{FenetreCas} package},
subtitle = {Commands for CAS-like windows (Xcas or Geogebra) in TikZ},
author = {Cédric Pierquet},
- date = {2023-06-14},
- version = {0.1.3},
+ date = {2023-11-05},
+ version = {0.1.4},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/fenetrecas},
url = {https://ctan.org/pkg/fenetrecas},
@@ -31859,8 +31873,8 @@
title = {The \texttt{highlightx} package},
subtitle = {Highlight formulas or paragraphs},
author = {Cédric Pierquet},
- date = {2023-11-03},
- version = {0.1.3},
+ date = {2023-11-05},
+ version = {0.1.4},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/highlightx},
url = {https://ctan.org/pkg/highlightx},
@@ -40049,6 +40063,17 @@
url = {https://ctan.org/pkg/literaturnaya},
}
+@manual{ctan-litetable,
+ title = {The \texttt{LiteTable} package},
+ subtitle = {A template provides a beautiful design of class schedule with colorful course blocks},
+ author = {Mingyu Xia},
+ date = {2023-11-05},
+ version = {2.1a},
+ license = {lppl1.3c},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/litetable},
+ url = {https://ctan.org/pkg/litetable},
+}
+
@manual{ctan-lithuanian,
title = {The \texttt{lithuanian} package},
subtitle = {Lithuanian language support},
@@ -49220,7 +49245,7 @@
title = {The \texttt{NoteBeamer} package},
subtitle = {A template for printing presentations on notepaper},
author = {Mingyu Xia},
- date = {2023-11-03},
+ date = {2023-11-05},
version = {2.0a},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/notebeamer},
@@ -55109,8 +55134,8 @@
title = {The \texttt{ProfLycee} package},
subtitle = {A \LaTeX{} package for French maths teachers in high school},
author = {Cédric Pierquet},
- date = {2023-10-31},
- version = {3.00c},
+ date = {2023-11-05},
+ version = {3.00d},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/proflycee},
url = {https://ctan.org/pkg/proflycee},
@@ -57843,6 +57868,17 @@
url = {https://ctan.org/pkg/pzccal},
}
+@manual{ctan-q-and-a,
+ title = {The \texttt{Q-and-A} package},
+ subtitle = {Typesetting Q\&A-style conversation made easier},
+ author = {Jinwen XU},
+ date = {2023-11-05},
+ version = {},
+ license = {lppl1.3c},
+ mirror = {https://mirror.ctan.org/macros/latex/contrib/q-and-a},
+ url = {https://ctan.org/pkg/q-and-a},
+}
+
@manual{ctan-qbibman,
title = {The \texttt{qbibman} package},
subtitle = {Graphical frontend to BibTool},
@@ -58153,8 +58189,8 @@
title = {The \texttt{quizztex} package},
subtitle = {Create quizzes like in TV shows},
author = {Cédric Pierquet},
- date = {2023-06-17},
- version = {0.1.1},
+ date = {2023-11-05},
+ version = {0.1.2},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/latex/contrib/quizztex},
url = {https://ctan.org/pkg/quizztex},
@@ -58284,7 +58320,7 @@
title = {The \texttt{quran-id} package},
subtitle = {Indonesian translation extension to the quran package},
author = {Seiied-Mohammad-Javad Razavian},
- date = {2023-11-04},
+ date = {2023-11-05},
version = {0.1},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/macros/xetex/latex/quran-id},
@@ -68345,8 +68381,8 @@
title = {The \texttt{TeXLab} package},
subtitle = {\LaTeX{} Language Server},
author = {Eric Förster},
- date = {2023-10-10},
- version = {5.10.1},
+ date = {2023-11-05},
+ version = {5.11.0},
license = {gpl3},
mirror = {https://mirror.ctan.org/support/texlab},
url = {https://ctan.org/pkg/texlab},
@@ -70985,8 +71021,8 @@
title = {The \texttt{tkz-bernoulli} package},
subtitle = {Draw Bernoulli trees with TikZ},
author = {Cédric Pierquet},
- date = {2023-11-04},
- version = {0.1.2},
+ date = {2023-11-05},
+ version = {0.1.3},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/tkz-bernoulli},
url = {https://ctan.org/pkg/tkz-bernoulli},
@@ -71007,7 +71043,7 @@
title = {The \texttt{tkz-elements} package},
subtitle = {A Lua library for drawing Euclidean geometry with TikZ or tkz-euclide},
author = {Alain Matthes},
- date = {2023-10-27},
+ date = {2023-11-05},
version = {1.00b},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/tkz-elements},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index e40bcb0c96..d13fec5538 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/polyhedra/README.md b/graphics/pgf/contrib/polyhedra/README.md
new file mode 100644
index 0000000000..6a64479e05
--- /dev/null
+++ b/graphics/pgf/contrib/polyhedra/README.md
@@ -0,0 +1,19 @@
+# polyhedra.sty
+A tikz package for drawing polyhedra
+
+Copyright 2015-2023 Zafeirakis Zafeirakopoulos
+zafeirakopoulos@gmail.com
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ https://www.latex-project.org/lppl.txt
+and version 1.3c or later is part of all distributions of LaTeX
+version 2008 or later.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Zafeirakis Zafeirakopoulos.
+
+This work consists of the files polyhedra.sty and polyhedra-doc.tex. \ No newline at end of file
diff --git a/graphics/pgf/contrib/polyhedra/polyhedra-doc.pdf b/graphics/pgf/contrib/polyhedra/polyhedra-doc.pdf
new file mode 100644
index 0000000000..1b956e586d
--- /dev/null
+++ b/graphics/pgf/contrib/polyhedra/polyhedra-doc.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/polyhedra/polyhedra-doc.tex b/graphics/pgf/contrib/polyhedra/polyhedra-doc.tex
new file mode 100644
index 0000000000..c37a67a0c8
--- /dev/null
+++ b/graphics/pgf/contrib/polyhedra/polyhedra-doc.tex
@@ -0,0 +1,418 @@
+\documentclass[a4paper]{article}
+\usepackage{listings}
+
+\usepackage{polyhedra}
+
+\begin{document}
+
+\lstset{language=[LaTeX]{TeX}}
+
+\lstset{
+basicstyle=\small\sffamily,
+backgroundcolor=\color{gray!20},
+%numbers=left,
+numberstyle=\tiny,
+breaklines=true,
+%frame=l,
+xleftmargin=\parindent,
+columns=fullflexible,
+showstringspaces=false,
+keywordstyle=\bfseries\color{solarized-green},
+commentstyle=\color{black!50},
+identifierstyle=\color{solarized-blue},
+stringstyle=,
+escapeinside={(*}{*)}
+}
+
+
+\title{Polyhedra \LaTeX\ package - v. 0.3}
+\author{Zafeirakis zafeirakopoulos}
+\maketitle
+\begin{abstract}
+This package provides macros for creating polyhedral objects in 2D and 3D.
+It requires tikz and tikz-3dplot.
+The macros provided can be used for drawing vertices, edges, rays, polygons and
+cones.
+\end{abstract}
+
+\section{Introduction}
+
+
+All the drawing commands work with keyword arguments and are the same in
+2d and 3D.
+
+
+
+\section{Functionality}
+
+\subsection{The \emph{polyhedron} environment}
+
+The \emph{polyhedron} environment is essentially a wrapper for a tikzpicture
+environment.
+It accepts as extra arguments the dimension of the picture (either $2$ or $3$)
+and if the dimension is $3$, then the arguments for the three angles defining
+the rotated coordinate system are given.
+For the 3D coordinate system, we use tikz-plot3d.
+
+\begin{center}
+ \begin{minipage}{0.6\textwidth}
+ \begin{lstlisting}
+\begin{polyhedron}{dim=2}
+ \axes{x={1,3},y={1,3}}
+\end{polyhedron}
+ \end{lstlisting}
+ \end{minipage}
+ \qquad\qquad
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{dim=2}
+ \axes{x={1,3},y={1,3}}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+
+The dimension argument defaults to $2$.
+
+
+\begin{center}
+ \begin{minipage}{0.6\textwidth}
+ \begin{lstlisting}
+ \begin{polyhedron}{}
+ \axes{x={1,3},y={1,3}}
+ \end{polyhedron}
+ \end{lstlisting}
+ \end{minipage}
+ \qquad\qquad
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{}
+ \axes{x={1,3},y={1,3}}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+
+Let us define a 3D polyhedron.
+
+\begin{center}
+ \begin{minipage}{0.6\textwidth}
+ \begin{lstlisting}
+\begin{polyhedron}{dim=3}
+ \axes{x={1,3},y={1,3},z={1,3}}
+\end{polyhedron}
+ \end{lstlisting}
+ \end{minipage}
+ \qquad\qquad
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{dim=3}
+ \axes{x={1,3},y={1,3},z={1,3}}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+Since we did not give the angles for the main coordinate system, we get the
+default tikz $xy$-plane.
+
+Now lets rotate the coordinate system by 60 degrees around the $x$-axis and
+120 degrees around the $z$-axis.
+
+\begin{center}
+ \begin{minipage}{0.6\textwidth}
+ \begin{lstlisting}
+\begin{polyhedron}{dim=3,phi=60,theta=120}
+ \axes{x={1,3},y={1,3},z={1,3}}
+\end{polyhedron}
+ \end{lstlisting}
+ \end{minipage}
+ \qquad\qquad
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{dim=3,phi=60,theta=120}
+ \axes{x={1,3},y={1,3},z={1,3}}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+
+\subsection{Input}
+
+The following macros work within the \texttt{polyhedron} environment.
+
+\subsubsection{Point.} To let A be a point (x,y) or (x,y,z)
+\begin{lstlisting}
+\point{(x,y,z)}{A}
+\end{lstlisting}
+After defining a point, we can use the handle (variable name) A, instead of
+writing down the coordinates in the macros that follow.
+
+
+\subsubsection{Axes.}
+
+We saw already some examples using the \emph{axes} command.
+
+\begin{center}
+ \begin{minipage}{0.6\textwidth}
+ \begin{lstlisting}
+\begin{polyhedron}{dim=3,phi=60,theta=120}
+ \axes{x={1,3},y={1,3},z={1,3}}
+\end{polyhedron}
+ \end{lstlisting}
+ \end{minipage}
+ \qquad\qquad
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{dim=3,phi=60,theta=120}
+ \axes{x={1,3},y={1,3},z={1,3}}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+The command takes the following (self-explanatory) arguments.
+All arguments are optional, defaulting to the ones shown here.
+
+\begin{lstlisting}
+x={0,1},y={0,1},z={},xlabel={x},ylabel={y},zlabel={z},labels={true}
+\end{lstlisting}
+
+
+
+\begin{center}
+ \begin{minipage}{0.6\textwidth}
+ \begin{lstlisting}
+\begin{polyhedron}{dim=3,phi=60,theta=120}
+ \axes{x={1,3},z={1,3},zlabel={not z}}
+\end{polyhedron}
+ \end{lstlisting}
+ \end{minipage}
+ \qquad\qquad
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{dim=3,phi=60,theta=120}
+ \axes{x={1,3},z={1,3},zlabel={not z}}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+
+
+\subsection{Drawing commands}
+
+All drawing commands accept the following options:
+\begin{description}
+ \item[color] The color of the polyhedral object to draw.
+ \item[status] The status of the object. The possible values are:
+ \begin{itemize}
+ \item normal
+ \item focus
+ \item alert
+ \item open
+ \end{itemize}
+ \item[opacity] The opacity of the object.
+ \item[thickness] The width of the lines
+ \item[pattern] The draw pattern
+\end{description}
+
+\subsubsection{Vertex}
+
+The \emph{vertex} command is used to draw a vertex at a point (x,y,z) or A.
+The standard options of color, status, opacity, thickness and pattern apply.
+The extra options for vertex are:
+\begin{description}
+ \item[point] sets the coordinates of the vertex and it can be either a tikz
+ coordinate tuple or a point already defined.
+ \item[text] The text of the vertex label.
+ \item[textcolor] The color of the label's text.
+ \item[anchora] The label anchor relative to the vertex: north, south, east,
+ west
+ \item[anchorb] The text's anchor relative to the label: above, below, right,
+ left
+\end{description}
+
+
+\begin{center}
+ \begin{minipage}{0.7\textwidth}
+ \begin{lstlisting}
+\begin{polyhedron}{}
+ \vertex{point={0,0},status=normal}
+ \vertex{point={1,0},status=alert}
+ \vertex{point={2,0},status=open}
+ \vertex{point={3,0},color=red,pattern={north west lines}}
+ \vertex{point={4,0},color=orange,text={A}}
+\end{polyhedron}
+ \end{lstlisting}
+ \end{minipage}
+ \hskip 2em
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{}
+ \vertex{point={0,0},status=normal}
+ \vertex{point={1,0},status=alert}
+ \vertex{point={2,0},status=open}
+ \vertex{point={3,0},color=red,pattern={north west lines}}
+ \vertex{point={4,0},color=orange,text={A}}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+
+
+\subsubsection{Edges and Rays} The command \emph{edge} is used to draw an
+edge from point A to point B.
+The extra arguments are:
+\begin{description}
+ \item[points] sets the coordinates of the vertices of the edge. It is a list
+of (two) points in \{\}.
+\end{description}
+
+
+\begin{center}
+ \begin{minipage}{0.7\textwidth}
+ \begin{lstlisting}
+\begin{polyhedron}{}
+ \edge{points={(0,0),(2,2)},status=alert}
+ \edge{points={(0,0),(2,3)},status=focus}
+ \edge{points={(0,0),(2,4)},status=open}
+ \edge{points={(0,0),(2,5)},color=orange}
+ \edge{points={(0,0),(2,6)},status=normal}
+ \edge{points={(2,1),(3,3)},thickness=3}
+ \edge{points={(4,1),(3,3)},pattern={dotted}}
+\end{polyhedron}
+ \end{lstlisting}
+ \end{minipage}
+ \hskip 2em
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{}
+ \edge{points={(0,0),(2,2)},status=alert}
+ \edge{points={(0,0),(2,3)},status=focus}
+ \edge{points={(0,0),(2,4)},status=open}
+ \edge{points={(0,0),(2,5)},color=orange}
+ \edge{points={(0,0),(2,6)},status=normal}
+ \edge{points={(2,1),(3,3)},thickness=3}
+ \edge{points={(4,1),(3,3)},pattern={dotted}}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+Similarly, the command \emph{ray} draw a ray.
+The options are exactly the same as for edge.
+Note that the sequence in which the points are given matters.
+\begin{center}
+ \begin{minipage}{0.7\textwidth}
+ \begin{lstlisting}
+\begin{polyhedron}{}
+ \ray{points={(0,0),(2,2)},status=alert}
+ \ray{points={(0,0),(2,3)},status=focus}
+ \ray{points={(0,0),(2,4)},status=open}
+ \ray{points={(0,0),(2,5)},color=orange}
+ \ray{points={(0,0),(2,6)},status=normal}
+ \ray{points={(2,1),(3,3)},thickness=3}
+ \ray{points={(4,1),(3,3)},pattern={dotted}}
+\end{polyhedron}
+ \end{lstlisting}
+ \end{minipage}
+ \hskip 2em
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{}
+ \ray{points={(0,0),(2,2)},status=alert}
+ \ray{points={(0,0),(2,3)},status=focus}
+ \ray{points={(0,0),(2,4)},status=open}
+ \ray{points={(0,0),(2,5)},color=orange}
+ \ray{points={(0,0),(2,6)},status=normal}
+ \ray{points={(2,1),(3,3)},thickness=3}
+ \ray{points={(4,1),(3,3)},pattern={dotted}}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+\subsubsection{Cone}
+
+The command \emph{cone} is used to draw a polyhedral cone.
+The extra arguments are:
+\begin{description}
+ \item[vertex] Sets the apex of the cone.
+ \item[generators] A list of points
+ \item[openeness] A list of boolean values declaring the openness of a
+ simplicial cone.
+\end{description}
+
+
+\begin{center}
+ \begin{minipage}{0.7\textwidth}
+ \begin{lstlisting}
+\begin{polyhedron}{}
+ \cone{vertex={(0,0)}, generators={(0,2),(2,2)},
+ status=alert}
+ \cone{vertex={(0,0)}, generators={(2,0),(2,-2)},
+ status=focus}
+\end{polyhedron}
+ \end{lstlisting}
+ \end{minipage}
+ \hskip 2em
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{}
+ \cone{vertex={(0,0)}, generators={(0,2),(2,2)},status=alert}
+ \cone{vertex={(0,0)}, generators={(2,0),(2,-2)},status=focus}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+
+\begin{center}
+ \begin{minipage}{0.7\textwidth}
+ \begin{lstlisting}
+\begin{polyhedron}{}
+ \cone{vertex={(0,0)}, generators={(2,0),(2,-2)},
+ status=focus}
+ \cone{vertex={(3,2)},generators={(0,0),(2,-1)},
+ pattern={north east lines}}
+\end{polyhedron}
+\end{lstlisting}
+ \end{minipage}
+ \hskip 2em
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{}
+ \cone{vertex={(0,0)}, generators={(2,0),(2,-2)},status=focus}
+ \cone{vertex={(3,2)},generators={(0,0),(2,-1)},pattern={north east lines}}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+
+
+\subsubsection{Polygon}
+
+The command \emph{polygon} is used to draw a 2-dimensional polytope in 2D or 3D.
+Attention must be paid in the sequence of the points given.
+The command does not take the convex hull, but rather draws the polygonal
+line defined by the sequence of points.
+
+The extra arguments are:
+\begin{description}
+ \item[points] The vertices of the cone.
+ \item[boundary] True or False, for drawing or not the boundary of the polygon.
+\end{description}
+
+
+\begin{center}
+ \begin{minipage}{0.7\textwidth}
+ \begin{lstlisting}
+\begin{polyhedron}{}
+ \polygon{points={(0,2),(2,2),(2,0)},status=alert}
+ \polygon{points={(0,-2),(-2,-2),(-2,0)},status=open}
+ \polygon{points={(0,1),(0,0),(1,0),(1,1)},status=open,
+ boundary=false,color=orange}
+\end{polyhedron}
+ \end{lstlisting}
+ \end{minipage}
+ \hskip 2em
+ \begin{minipage}{0.2\textwidth}
+ \begin{polyhedron}{}
+ \polygon{points={(0,2),(2,2),(2,0)},status=alert}
+ \polygon{points={(0,-2),(-2,-2),(-2,0)},status=open}
+\polygon{points={(0,1),(0,0),(1,0),(1,1)},status=open,boundary=false,
+color=orange}
+ \end{polyhedron}
+ \end{minipage}
+\end{center}
+
+
+
+\section{Known limitations and errors}
+
+
+\end{document}
diff --git a/graphics/pgf/contrib/polyhedra/polyhedra.sty b/graphics/pgf/contrib/polyhedra/polyhedra.sty
new file mode 100644
index 0000000000..2f2ea0f9b8
--- /dev/null
+++ b/graphics/pgf/contrib/polyhedra/polyhedra.sty
@@ -0,0 +1,577 @@
+% % polyhedra.sty
+% % polyhedra LaTeX package
+% % Copyright 2015-2023 Zafeirakis Zafeirakopoulos
+% % zafeirakopoulos@gmail.com
+
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% https://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2008 or later.
+
+% This work has the LPPL maintenance status `maintained'.
+
+% The Current Maintainer of this work is Zafeirakis Zafeirakopoulos.
+
+% This work consists of the files polyhedra.sty and polyhedra-doc.tex.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Identification %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{polyhedra}[2023/10/31 v.0.3 Polyhedra LaTeX package]
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% Required Packages %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\RequirePackage{xcolor,xcolor-solarized}
+\RequirePackage{tikz,tikz-3dplot}
+\RequirePackage{xparse,xstring}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Tikz setup %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\usetikzlibrary{shapes}
+\usetikzlibrary{patterns}
+\usetikzlibrary{arrows}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% Package Options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DeclareOption*{\PackageWarning{Polyhedra}{Unknown ‘\CurrentOption’}}
+\ProcessOptions\relax
+
+% \PackageWarningNoLine{Polyhedra}{Solarized Color Scheme used}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% Default Options %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% Default Sizes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\newcommand{\PolyhedraDefaultHeight}{0.5\textheight}
+\newcommand{\PolyhedraDefaultWidth}{0.5\textwidth}
+\newcommand{\PolyhedraDefaultScale}{0.6}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% Default Colors %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\VertexColor}{solarized-blue}
+\newcommand{\VertexTextColor}{black}
+
+\newcommand{\EdgeColor}{solarized-blue}
+\newcommand{\RayColor}{solarized-cyan}
+\newcommand{\PolygonColor}{solarized-blue}
+\newcommand{\HalfspaceColor}{gray}
+
+\newcommand{\AlertColor}{solarized-red}
+\newcommand{\FocusColor}{solarized-green}
+\newcommand{\intersectionColor}{solarized-base2}
+\newcommand{\OpenColor}{solarized-base2}
+
+\newcommand{\ShadeColor}{gray}
+
+\newcommand{\OpenPolygonPattern}{north east lines}
+\newcommand{\OpenHyperplanePattern}{north west lines}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% Default Thickness %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newcommand{\VertexThickness}{2}
+\newcommand{\RayThickness}{1}
+\newcommand{\EdgeThickness}{1}
+
+
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% Graphics Commands %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% Environments %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\makeatletter
+\define@key{polyhedron}{dim}{\def\mm@dim{#1}}
+\define@key{polyhedron}{phi}{\def\mm@phi{#1}}
+\define@key{polyhedron}{theta}{\def\mm@theta{#1}}
+\DeclareDocumentEnvironment{polyhedron}{m}
+{
+ \setkeys{polyhedron}{
+dim={2},
+phi={0},
+theta={0},
+,#1 } %
+ \ifthenelse{\equal{\mm@dim}{3}}
+ {
+ \tdplotsetmaincoords{\mm@phi}{\mm@theta}
+ \begin{tikzpicture}[scale=\PolyhedraDefaultScale,tdplot_main_coords]
+ }{
+ \begin{tikzpicture}[scale=\PolyhedraDefaultScale]
+ }
+}
+{
+ \end{tikzpicture}
+}
+\makeatother
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%% Macros %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+
+\def\splicelist#1{
+\StrCount{#1}{,}[\numofelem]
+\ifnum\numofelem>0\relax
+ \StrBefore[1]{#1}{,}[\myhead]%
+ \StrBehind[\numofelem]{#1}{,}[\mylast]%
+\else
+ \let\myhead#1%
+ \let\mylast#1%
+\fi
+}
+
+
+\newcommand{\point}[2]{
+ \coordinate (#2) at #1;
+}
+
+
+
+\makeatletter
+
+
+\define@key{vertex}{color}{\def\mm@color{#1}}
+\define@key{vertex}{status}{\def\mm@status{#1}}
+\define@key{vertex}{opacity}{\def\mm@opacity{#1}}
+\define@key{vertex}{thickness}{\def\mm@thickness{#1}}
+\define@key{vertex}{pattern}{\def\mm@pattern{#1}}
+
+\define@key{vertex}{point}{\def\mm@point{#1}}
+
+\define@key{vertex}{text}{\def\mm@text{#1}}
+\define@key{vertex}{textcolor}{\def\mm@textcolor{#1}}
+\define@key{vertex}{anchora}{\def\mm@anchora{#1}}
+\define@key{vertex}{anchorb}{\def\mm@anchorb{#1}}
+\DeclareDocumentCommand{\vertex}{m}{%
+\begingroup%
+\setkeys{vertex}{
+color=\VertexColor,
+opacity={1},
+thickness=\VertexThickness,
+point={(0,0)},
+status={normal},
+pattern={},
+text={},
+anchora={north},
+anchorb={above}
+,#1 } %
+\ifthenelse{\equal{\mm@status}{normal}}{\def\fillcolor{\mm@color}}{
+\ifthenelse{\equal{\mm@status}{intesection}}{\def\fillcolor{\IntersectionColor}}
+{
+\ifthenelse{\equal{\mm@status}{alert}}{\def\fillcolor{\AlertColor}}{
+\ifthenelse{\equal{\mm@status}{focus}}{\def\fillcolor{\FocusColor}}{
+\ifthenelse{\equal{\mm@status}{open}}{\def\fillcolor{\OpenColor}}{
+ \def\fillcolor{\mm@color}
+}}}}}
+
+\StrLeft{\mm@point}{1}[\firstletter]
+\ifthenelse{\equal{\firstletter}{(}}{\def\thepoint{\mm@point}}{\def\thepoint{(
+\mm@point)}}
+\ifthenelse{\equal{\mm@text}{}}{\def\thelabel{}}
+{\def\thelabel{label={[anchor=\mm@anchora]\mm@anchorb: \mm@text}}}
+ \xdef\drawcom{
+ node[draw,circle,
+ color=\mm@color,
+ inner sep=\mm@thickness pt,
+ fill=\fillcolor,
+ pattern=\mm@pattern,
+ pattern color=\mm@color,
+ opacity=\mm@opacity,
+ \thelabel
+ ]
+ at \thepoint {} ;
+ }
+ \draw \drawcom
+ \endgroup%
+}
+
+\define@key{ray}{color}{\def\mm@color{#1}}
+\define@key{ray}{opacity}{\def\mm@opacity{#1}}
+\define@key{ray}{thickness}{\def\mm@thickness{#1}}
+\define@key{ray}{status}{\def\mm@status{#1}}
+\define@key{ray}{pattern}{\def\mm@pattern{#1}}
+
+\define@key{ray}{points}{\def\mm@points{#1}}
+ \DeclareDocumentCommand{\ray}{m}{%
+\begingroup%
+\setkeys{ray}{
+color=\RayColor,
+opacity={1},
+thickness=\RayThickness,
+points={(0,0)},
+status={normal},
+pattern={},
+ ,#1 } %
+ \xdef\raypattern{\mm@pattern}
+
+\ifthenelse{\equal{\mm@status}{normal}}{\xdef\rcolor{\mm@color}}{
+\ifthenelse{\equal{\mm@status}{intesection}}{\xdef\rcolor{\IntersectionColor}
+}
+{
+ \ifthenelse{\equal{\mm@status}{alert}}{\xdef\rcolor{\AlertColor}}{
+ \ifthenelse{\equal{\mm@status}{open}}{\xdef\raypattern{dashed}\xdef\rcolor{
+\mm@color}}{
+
+ \ifthenelse{\equal{\mm@status}{focus}}{\xdef\rcolor{\FocusColor}}{
+ \xdef\rcolor{\mm@color}
+}}}}}
+
+ \gdef\drawcom{
+ [->, color=\rcolor,
+ line width=\mm@thickness,
+ opacity=\mm@opacity,
+ \raypattern]
+ }
+ \foreach \point [count=\xi] in \mm@points{
+ \StrLeft{\point}{1}[\firstletter]
+\ifthenelse{\equal{\firstletter}{(}}{\def\thepoint{\point}}{\def\thepoint{(
+\point)}}
+ \ifnum\xi=1
+ \xdef\drawcom{\drawcom \thepoint}
+ \else
+ \xdef\drawcom{\drawcom -- \thepoint}
+ \fi
+ }
+ \xdef\drawcom{\drawcom ;}
+ \draw \drawcom
+ \endgroup%
+}
+
+
+\define@key{edge}{color}{\def\mm@color{#1}}
+\define@key{edge}{opacity}{\def\mm@opacity{#1}}
+\define@key{edge}{thickness}{\def\mm@thickness{#1}}
+\define@key{edge}{status}{\def\mm@status{#1}}
+\define@key{edge}{pattern}{\def\mm@pattern{#1}}
+\define@key{edge}{points}{\def\mm@points{#1}}
+\DeclareDocumentCommand{\edge}{m}{%
+\begingroup%
+\setkeys{edge}{
+color=\EdgeColor,
+opacity={1},
+thickness=\EdgeThickness,
+points={(0,0)},
+status={normal},
+pattern={},
+,#1 } %
+\xdef\edgepattern{\mm@pattern}
+\ifthenelse{\equal{\mm@status}{normal}}{\xdef\rcolor{\mm@color}}{
+\ifthenelse{\equal{\mm@status}{intesection}}{\xdef\rcolor{\IntersectionColor}
+}
+{
+ \ifthenelse{\equal{\mm@status}{alert}}{\xdef\rcolor{\AlertColor}}{
+
+\ifthenelse{\equal{\mm@status}{open}}{\xdef\edgepattern{dashed}\xdef\rcolor{
+\mm@color}}{
+
+ \ifthenelse{\equal{\mm@status}{focus}}{\xdef\rcolor{\FocusColor}}{
+ \xdef\rcolor{\mm@color}
+}}}}}
+
+ \gdef\drawcom{
+ [color=\rcolor,
+ line width=\mm@thickness,
+ opacity=\mm@opacity,
+ \edgepattern]
+ }
+ \foreach \point [count=\xi] in \mm@points{
+ \StrLeft{\point}{1}[\firstletter]
+\ifthenelse{\equal{\firstletter}{(}}{\def\thepoint{\point}}{\def\thepoint{(
+\point)}}
+ \ifnum\xi=1
+ \xdef\drawcom{\drawcom \thepoint}
+ \else
+ \xdef\drawcom{\drawcom -- \thepoint}
+ \fi
+ }
+ \xdef\drawcom{\drawcom ;}
+ \draw \drawcom
+ \endgroup%
+}
+
+
+\define@key{polygon}{color}{\def\mm@color{#1}}
+\define@key{polygon}{status}{\def\mm@status{#1}}
+\define@key{polygon}{pattern}{\def\mm@pattern{#1}}
+\define@key{polygon}{opacity}{\def\mm@opacity{#1}}
+\define@key{polygon}{thickness}{\def\mm@thickness{#1}}
+
+\define@key{polygon}{points}{\def\mm@points{#1}}
+\define@key{polygon}{boundary}{\def\mm@boundary{#1}}
+\DeclareDocumentCommand{\polygon}{m}{%
+\begingroup%
+ \setkeys{polygon}{color=\PolygonColor,opacity={1},thickness={1},
+points={(0,0)},status={normal},pattern={},boundary={true},#1 } %
+
+\xdef\polygonpattern{\mm@pattern}
+\ifthenelse{\equal{\mm@status}{normal}}{\xdef\rcolor{\mm@color}}{
+\ifthenelse{\equal{\mm@status}{intesection}}{\xdef\rcolor{\IntersectionColor}
+}
+{
+ \ifthenelse{\equal{\mm@status}{alert}}{\xdef\rcolor{\AlertColor}}{
+
+\ifthenelse{\equal{\mm@status}{open}}{\xdef\polygonpattern{\OpenPolygonPattern}
+\xdef\rcolor {
+\mm@color}}{
+
+ \ifthenelse{\equal{\mm@status}{focus}}{\xdef\rcolor{\FocusColor}}{
+ \xdef\rcolor{\mm@color}
+}}}}}
+
+\ifthenelse{\equal{\mm@boundary}{true}}
+{\def\bounddraw{draw=\rcolor}}
+{\def\bounddraw{draw=none}}
+
+ \gdef\drawcom{
+ [\bounddraw,
+ line width=\mm@thickness,
+ fill=\rcolor,
+ opacity=\mm@opacity,
+ pattern=\polygonpattern,
+ pattern color=\rcolor
+ ]
+ }
+ \foreach \point [count=\xi] in \mm@points{
+ \StrLeft{\point}{1}[\firstletter]
+\ifthenelse{\equal{\firstletter}{(}}{\def\thepoint{\point}}{\def\thepoint{(
+\point)}}
+ \ifnum\xi=1
+ \xdef\drawcom{\drawcom \thepoint}
+ \else
+ \xdef\drawcom{\drawcom -- \thepoint}
+ \fi
+ }
+ \xdef\drawcom{\drawcom -- cycle ;}
+ \draw \drawcom
+ \endgroup%
+}
+
+
+\define@key{halfspace}{color}{\def\mm@color{#1}}
+\define@key{halfspace}{opacity}{\def\mm@opacity{#1}}
+\define@key{halfspace}{thickness}{\def\mm@thickness{#1}}
+\define@key{halfspace}{points}{\def\mm@points{#1}}
+\define@key{halfspace}{status}{\def\mm@status{#1}}
+\define@key{halfspace}{pattern}{\def\mm@pattern{#1}}
+\define@key{halfspace}{patterncolor}{\def\mm@patterncolor{#1}}
+\DeclareDocumentCommand{\halfspace}{m}{%
+\begingroup%
+ \setkeys{halfspace}{color=blue,opacity={0.7},thickness={1},
+points={(0,0)},status={normal},pattern={north west
+lines},patterncolor={\HalfspaceColor}
+,#1 } %
+ \gdef\drawcom{
+ [draw=none,color=\mm@color,
+ line width=\mm@thickness,
+ fill=\mm@color,
+ opacity=\mm@opacity,
+ pattern=\mm@pattern,
+ pattern color=\mm@patterncolor
+ ]
+ }
+ \foreach \point [count=\xi] in \mm@points{
+ \StrLeft{\point}{1}[\firstletter]
+\ifthenelse{\equal{\firstletter}{(}}{\def\thepoint{\point}}{\def\thepoint{(
+\point)}}
+ \ifnum\xi=1
+ \xdef\drawcom{\drawcom \thepoint}
+ \else
+ \xdef\drawcom{\drawcom -- \thepoint}
+ \fi
+ }
+ \xdef\drawcom{\drawcom -- cycle ;}
+ \draw \drawcom
+ \endgroup%
+}
+
+
+
+\define@key{cone}{color}{\def\mm@color{#1}}
+\define@key{cone}{opacity}{\def\mm@opacity{#1}}
+\define@key{cone}{thickness}{\def\mm@thickness{#1}}
+\define@key{cone}{status}{\def\mm@status{#1}}
+\define@key{cone}{pattern}{\def\mm@pattern{#1}}
+
+\define@key{cone}{generators}{\def\mm@generators{#1}}
+\define@key{cone}{vertex}{\def\mm@vertex{#1}}
+\DeclareDocumentCommand{\cone}{m}{%
+\begingroup%
+ \setkeys{cone}{color=solarized-blue,opacity={1},thickness={1},
+ vertex={(0,0)},generators={(0,0)},status={normal},pattern={north west
+lines},#1 } %
+
+\ifthenelse{\equal{\mm@status}{normal}}{\xdef\rcolor{\mm@color}}{
+\ifthenelse{\equal{\mm@status}{intesection}}{\xdef\rcolor{\IntersectionColor}
+}
+{
+ \ifthenelse{\equal{\mm@status}{alert}}{\xdef\rcolor{\AlertColor}}{
+ \ifthenelse{\equal{\mm@status}{focus}}{\xdef\rcolor{\FocusColor}}{
+ \xdef\rcolor{\mm@color}
+}}}}
+
+ \gdef\drawcom{
+ [->,color=\rcolor,
+ line width=\mm@thickness,
+ fill=\rcolor,
+ opacity=\mm@opacity]
+ }
+
+ \StrLeft{\mm@vertex}{1}[\firstletter]
+ \ifthenelse{\equal{\firstletter}{(}}
+ {\def\thevertex{\mm@vertex}}
+ {\def\thevertex{(\mm@vertex)}}
+
+ \gdef\previouspoint{\thevertex}
+
+ \foreach \point in \mm@generators{
+ \StrLeft{\point}{1}[\firstletter]
+\ifthenelse{\equal{\firstletter}{(}}{\def\thepoint{\point}}{\def\thepoint{(
+\point)}}
+
+ \node (xxxxO) at \thevertex {}; % Possible to add generator labels
+ \node (xxxxA) at \thepoint {}; % Possible to add generator labels
+ \coordinate (xxxxB) at ($(xxxxO)!1.5!(xxxxA)$);
+ \draw [dashed,color=\rcolor] \thevertex -- (xxxxB) ;
+ \draw \drawcom \thevertex -- (xxxxA) ;
+ \ifthenelse{\equal{\previouspoint}{\thevertex}}{}
+ {
+ \node (xxxxC) at \previouspoint {}; % Possible to add generator labels
+ \draw [draw=none,pattern color=\rcolor,pattern=\mm@pattern,opacity=0.6]
+ \thevertex -- ($(xxxxO)!1.3!(xxxxC)$) --
+($(xxxxO)!1.3!(xxxxA)$) ; }
+ \xdef\previouspoint{\thepoint}
+
+}
+\endgroup%
+}
+
+
+
+
+\define@key{axes}{x}{\def\mm@x{#1}}
+\define@key{axes}{y}{\def\mm@y{#1}}
+\define@key{axes}{z}{\def\mm@z{#1}}
+\define@key{axes}{xlabel}{\def\mm@xlabel{#1}}
+\define@key{axes}{ylabel}{\def\mm@ylabel{#1}}
+\define@key{axes}{zlabel}{\def\mm@zlabel{#1}}
+\define@key{axes}{labels}{\def\mm@labels{#1}}
+\DeclareDocumentCommand{\axes}{m}{%
+\begingroup%
+
+\setkeys{axes}{x={0,1},y={0,1},z={},xlabel={x},ylabel={y},zlabel={z},labels={
+true} , #1 } %
+
+ \splicelist{\mm@x}
+ \ifthenelse{\equal{\mm@z}{}}{
+ \coordinate (Origin) at (0,0);
+ \splicelist{\mm@x}
+ \coordinate (XAxisMin) at (-\myhead,0);
+ \coordinate (XAxisMax) at (\mylast,0);
+ \coordinate (XLabel) at (\mylast +0.3,0,0);
+
+ \splicelist{\mm@y}
+ \coordinate (YAxisMin) at (0,-\myhead);
+ \coordinate (YAxisMax) at (0,\mylast);
+ \coordinate (YLabel) at (0,\mylast +0.3,0);
+
+ \draw [thin, gray,-latex] (XAxisMin) -- (XAxisMax) ;% Draw x axis
+ \draw [thin, gray,-latex] (YAxisMin) -- (YAxisMax);% Draw y axis
+ \ifthenelse{\equal{\mm@labels}{no}}{}{
+ \node at (XLabel) {\mm@xlabel};
+ \node at (YLabel) {\mm@ylabel};
+ }
+
+ }{
+ \coordinate (Origin) at (0,0);
+ \splicelist{\mm@x}
+ \coordinate (XAxisMin) at (-\myhead,0);
+ \coordinate (XAxisMax) at (\mylast,0);
+ \coordinate (XLabel) at (\mylast +0.3,0,0);
+
+ \splicelist{\mm@y}
+ \coordinate (YAxisMin) at (0,-\myhead);
+ \coordinate (YAxisMax) at (0,\mylast);
+ \coordinate (YLabel) at (0,\mylast +0.3,0);
+
+ \splicelist{\mm@z}
+ \coordinate (ZAxisMin) at (0,0,-\myhead);
+ \coordinate (ZAxisMax) at (0,0,\mylast);
+ \coordinate (ZLabel) at (0,0,\mylast +0.3);
+
+ \draw [thin, gray,-latex] (XAxisMin) -- (XAxisMax) ;% Draw x axis
+ \draw [thin, gray,-latex] (YAxisMin) -- (YAxisMax);% Draw y axis
+ \draw [thin, gray,-latex] (ZAxisMin) -- (ZAxisMax);% Draw z axis
+ \ifthenelse{\equal{\mm@labels}{no}}{}{
+ \node at (XLabel) {\mm@xlabel};
+ \node at (YLabel) {\mm@ylabel};
+ \node at (ZLabel) {\mm@zlabel};
+ }
+
+ }
+
+
+
+\endgroup%
+}
+
+
+
+
+
+\define@key{hyperplane}{color}{\def\mm@color{#1}}
+\define@key{hyperplane}{fill}{\def\mm@fill{#1}}
+\define@key{hyperplane}{opacity}{\def\mm@opacity{#1}}
+\define@key{hyperplane}{thickness}{\def\mm@thickness{#1}}
+\define@key{hyperplane}{points}{\def\mm@points{#1}}
+\define@key{hyperplane}{status}{\def\mm@status{#1}}
+\define@key{hyperplane}{pattern}{\def\mm@pattern{#1}}
+\define@key{hyperplane}{patterncolor}{\def\mm@patterncolor{#1}}
+\DeclareDocumentCommand{\hyperplane}{m}{%
+\begingroup%
+ \setkeys{hyperplane}{color=blue,fill=orange,opacity={0.7},thickness={1},
+points={(0,0)},status={normal},pattern={north west
+lines},patterncolor={\HalfspaceColor}
+,#1 } %
+ \gdef\drawcom{
+ [draw=none,color=\mm@color,
+ line width=\mm@thickness,
+ fill=\mm@fill,
+ opacity=\mm@opacity,
+ pattern=\mm@pattern,
+ pattern color=\mm@patterncolor
+ ]
+ }
+ \foreach \point [count=\xi] in \mm@points{
+ \StrLeft{\point}{1}[\firstletter]
+\ifthenelse{\equal{\firstletter}{(}}{\def\thepoint{\point}}{\def\thepoint{(
+\point)}}
+ \ifnum\xi=1
+ \xdef\drawcom{\drawcom \thepoint}
+ \else
+ \xdef\drawcom{\drawcom -- \thepoint}
+ \fi
+ }
+ \xdef\drawcom{\drawcom -- cycle ;}
+ \draw \drawcom
+ \endgroup%
+}
+
+
+\makeatother
diff --git a/graphics/pstricks/base/Changes b/graphics/pstricks/base/Changes
index 847b7340ab..19cea82ce0 100644
--- a/graphics/pstricks/base/Changes
+++ b/graphics/pstricks/base/Changes
@@ -1,4 +1,4 @@
-% $Id: Changes 794 2023-10-30 17:42:46Z herbert $
+% $Id: Changes 805 2023-11-06 20:31:22Z herbert $
For all changes see file History! Here are only the last one changes
listed.
@@ -11,6 +11,7 @@ pstricks.tex --------
versions like 2.47a have only changes in other files, but not
in this main package.
+3.19b 2023-11-06 - Revert Code for \DocumentMetadata in pstricks.sty
3.19a 2023-10-30 - Try to suppress the warning with lualatex and a
missing \DeclareMetada{} (only in pstricks.sty)
3.19 2023-04-30 - Change the presetting of linewidth and color
@@ -109,6 +110,7 @@ Version 97 patch 3, 98/06/01
pstricks.sty --------
+0.74 2023-11-06 - Revert Code for \DocumentMetadata
0.73 2023-10-05 - Try to suppress the warning with lualatex and a
missing \DeclareMetada{}
0.72 2022-10-23 - updated package versions
diff --git a/graphics/pstricks/base/README b/graphics/pstricks/base/README
index cb3dc0071f..1fd4da8c3d 100644
--- a/graphics/pstricks/base/README
+++ b/graphics/pstricks/base/README
@@ -1,4 +1,4 @@
-PSTricks 2023
+PSTricks 2022
This package may be distributed under the terms of the LaTeX Project
Public License, as described in lppl.txt in the base LaTeX distribution.
@@ -113,12 +113,8 @@ pdf graphic files.
See documentation for more informations.
-6 - Running lualatex with luapstricks.lua
-Works in nearly all cases and make more sense than using auto-pst-pdf-lua.
-However, it can be slow for heavy calculations.
-
-7 - Documentation
+6 - Documentation
-------------
There is a mailing list devoted to discussions on PSTricks usage.
The informations to subscribe to this list and to consult the archives can
@@ -126,4 +122,4 @@ be found on the Web page.
--
-Denis Girou, Sebastian Rahtz and Herbert Voss (updated August 2023)
+Denis Girou, Sebastian Rahtz and Herbert Voss (updated August 2021)
diff --git a/graphics/pstricks/base/doc/pst-news23.pdf b/graphics/pstricks/base/doc/pst-news23.pdf
index 9df95b74b7..be8b87b6a5 100644
--- a/graphics/pstricks/base/doc/pst-news23.pdf
+++ b/graphics/pstricks/base/doc/pst-news23.pdf
Binary files differ
diff --git a/graphics/pstricks/base/doc/pst-news23.tex b/graphics/pstricks/base/doc/pst-news23.tex
index 0dfc437b46..c637212728 100644
--- a/graphics/pstricks/base/doc/pst-news23.tex
+++ b/graphics/pstricks/base/doc/pst-news23.tex
@@ -31,7 +31,8 @@
\section{\texttt{pstricks.sty}}
%--------------------------------------------------------------------------------------
With \LuaLaTeX\ the package now tries to detect if the command \Lcs{DocumentMetadata} is
-needed. If yes, than it is defined as \Verb|\DocumentMetadata{}|.
+needed. If yes, than it is defined as \Verb|\DocumentMetadata{}|. This code does not really
+worked, the reason why the user has to set \Lcs{DocumentMetadata} by it's own.
%--------------------------------------------------------------------------------------
diff --git a/graphics/pstricks/base/doc/test-pst.pdf b/graphics/pstricks/base/doc/test-pst.pdf
new file mode 100644
index 0000000000..2ac2bd0199
--- /dev/null
+++ b/graphics/pstricks/base/doc/test-pst.pdf
Binary files differ
diff --git a/graphics/pstricks/base/doc/test-pst.tex b/graphics/pstricks/base/doc/test-pst.tex
new file mode 100644
index 0000000000..2af57b5daa
--- /dev/null
+++ b/graphics/pstricks/base/doc/test-pst.tex
@@ -0,0 +1,257 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- Mode: Latex -*- %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% test-pst.tex --- Various PSTricks tests, from the PSTricks chapter
+%% of "The LaTeX Graphics Companion" (by Goossens, Rahtz,
+%% Mittelbach, Addison Wesley, 1997)
+%%
+%% Author : Sebastian RAHTZ (Oxford University - GB)
+%% <sebastian.rahtz@computing-services.oxford.ac.uk>
+%% Created the : Tue Feb 3 20:37:47 1998
+%% Last mod. by : Denis GIROU (CNRS/IDRIS - France) <Denis.Girou@idris.fr>
+%% Last mod. the : Wed May 5 20:09:18 1999
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\documentclass{article}
+
+\usepackage[latin1]{inputenc} % From LaTeX distribution
+\usepackage{calc} % From LaTeX distribution
+\usepackage{graphicx} % From LaTeX distribution
+\usepackage{ifthen} % From LaTeX distribution
+\usepackage{subfigure} % From CTAN/macros/latex/contrib/supported/subfigure
+\usepackage{pst-all} % From PSTricks
+\usepackage{pst-poly} % From pstricks/contrib/pst-poly
+\usepackage{multido} % From PSTricks
+\input{random.tex} % From CTAN/macros/generic
+
+% Take care that on some non Unix systems, you may have to replace
+% the / character by, for instance, the : one (\input{lgc:#2.inl}})
+\newcommand{\ExampleSubFigure}[2][0.3333]{%
+\subfigure[Example #2]{%
+ \begin{minipage}[t]{#1\textwidth}
+ \parbox[b]{\textwidth}{%
+ \centering
+ \input{lgc/#2.inl}}
+ \end{minipage}}}
+
+\newpsobject{showgrid}{psgrid}{subgriddiv=1,griddots=10,gridlabels=6pt}
+
+% New colors defined
+\definecolor{brown}{rgb}{.65, .16, .16}
+\definecolor{lightblue}{rgb}{.68, .85, .9}
+\definecolor{palegreen}{rgb}{.6, .98, .6}
+\definecolor{pink}{rgb}{1, .75, .8}
+\definecolor{wheat}{rgb}{.96, .87, .7}
+
+% Layout changes
+\textheight=23cm
+\topmargin=-2cm
+\textwidth=16cm
+\oddsidemargin=0cm
+\evensidemargin=0cm
+
+\begin{document}
+
+\title{Test file for the PSTricks 97 distribution:\\
+ most of the PSTricks examples of\\
+ \emph{The \LaTeX{} Graphics Companion}}
+\author{Sebastian \textsc{Rahtz} --- March 1997}
+\date{Version 1.3 (September 9, 1998)}
+\maketitle
+
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure{4-2-1}%
+ \ExampleSubFigure{4-2-2}%
+ \ExampleSubFigure{4-2-3}
+ \ExampleSubFigure{4-2-4}%
+ \ExampleSubFigure{4-2-5}
+ \caption{Section 2}
+\end{figure}
+
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure{4-3-1}%
+ \ExampleSubFigure{4-3-2}
+ \caption{Section 3}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure{4-4-1}%
+ \ExampleSubFigure{4-4-2}%
+ \ExampleSubFigure{4-4-3}
+ \ExampleSubFigure{4-4-4}%
+ \ExampleSubFigure{4-4-5}%
+ \ExampleSubFigure{4-4-6}
+ \ExampleSubFigure{4-4-7}%
+ \ExampleSubFigure{4-4-8}%
+ \ExampleSubFigure{4-4-9}
+ \ExampleSubFigure{4-4-10}%
+ \ExampleSubFigure{4-4-11}%
+ \ExampleSubFigure{4-4-12}
+ \caption{Section 4}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[0.5]{4-5-1}%
+ \ExampleSubFigure[0.5]{4-5-2}
+ \ExampleSubFigure[0.75]{4-5-3}%
+ \ExampleSubFigure[0.25]{4-5-4}
+ \ExampleSubFigure[0.15]{4-5-5}%
+ \ExampleSubFigure[0.25]{4-5-6}%
+ \ExampleSubFigure[0.2]{4-5-7}%
+ \ExampleSubFigure[0.2]{4-5-8}%
+ \ExampleSubFigure[0.2]{4-5-9}
+ \ExampleSubFigure[0.5]{4-5-10}%
+ \ExampleSubFigure[0.5]{4-5-11}
+ \caption{Section 5-A}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[1]{4-5-13}
+ \ExampleSubFigure[1]{4-5-14}
+ \ExampleSubFigure[1]{4-5-16}
+ \caption{Section 5-B}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure{4-6-1}%
+ \ExampleSubFigure{4-6-2}%
+ \ExampleSubFigure{4-6-3}
+ \ExampleSubFigure{4-6-4}%
+ \ExampleSubFigure{4-6-5}%
+ \ExampleSubFigure{4-6-6}
+ \ExampleSubFigure{4-6-7}%
+ \ExampleSubFigure{4-6-8}%
+ \ExampleSubFigure{4-6-9}
+ \ExampleSubFigure{4-6-10}%
+ \ExampleSubFigure{4-6-11}%
+ \ExampleSubFigure{4-6-12}
+ \ExampleSubFigure{4-6-13}%
+ \ExampleSubFigure{4-6-14}%
+ \ExampleSubFigure{4-6-15}
+ \ExampleSubFigure{4-6-16}%
+ \ExampleSubFigure{4-6-17}%
+ \ExampleSubFigure{4-6-18}
+ \caption{Section 6-A}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure{4-6-19}%
+ \ExampleSubFigure{4-6-20}%
+ \ExampleSubFigure{4-6-21}
+ \ExampleSubFigure{4-6-22}%
+ \ExampleSubFigure{4-6-23}%
+ \ExampleSubFigure{4-6-24}
+ \ExampleSubFigure{4-6-25}
+ \caption{Section 6-B}
+\end{figure}
+
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[1]{4-6-26}
+ \ExampleSubFigure{4-6-27}%
+ \ExampleSubFigure{4-6-28}%
+ \ExampleSubFigure{4-6-29}
+ \ExampleSubFigure[0.3333]{4-6-30}%
+ \ExampleSubFigure[0.6667]{4-6-31}
+ \ExampleSubFigure[1]{4-6-32}
+ \caption{Section 6-C}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[1]{4-6-33}
+ \ExampleSubFigure[0.5]{4-6-34}%
+ \ExampleSubFigure[0.5]{4-6-35}
+ \ExampleSubFigure[0.5]{4-6-36}%
+ \ExampleSubFigure[0.5]{4-6-37}
+ \caption{Section 6-D}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[1]{4-6-38}
+ \ExampleSubFigure[1]{4-6-39}
+ \ExampleSubFigure[0.5]{4-6-40}%
+ \ExampleSubFigure[0.5]{4-6-41}
+ \caption{Section 6-E}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[0.5]{4-6-42}%
+ \ExampleSubFigure[0.5]{4-6-43}
+ \ExampleSubFigure{4-6-44}%
+ \ExampleSubFigure{4-6-45}%
+ \ExampleSubFigure{4-6-46}
+ \caption{Section 6-F}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[1]{4-7-1}
+ \ExampleSubFigure[1]{4-7-2}
+ \ExampleSubFigure[1]{4-7-4}
+ \caption{Section 7}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[0.5]{4-8-1}%
+ \ExampleSubFigure[0.25]{4-8-2}%
+ \ExampleSubFigure[0.25]{4-8-3}
+ \ExampleSubFigure[1]{4-8-4}
+ \caption{Section 8-A}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[1]{4-8-5}
+ \caption{Section 8-B}
+\end{figure}
+
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[0.5]{4-9-1}%
+ \ExampleSubFigure[0.5]{4-9-2}
+ \caption{Section 9}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[0.4]{4-10-1}%
+ \ExampleSubFigure[0.2]{4-10-2}%
+ \ExampleSubFigure[0.2]{4-10-3}%
+ \ExampleSubFigure[0.2]{4-10-4}
+ \ExampleSubFigure[0.4]{4-10-5}%
+ \ExampleSubFigure[0.2]{4-10-6}%
+ \ExampleSubFigure[0.4]{4-10-7}
+ \caption{Section 10-A}
+\end{figure}
+
+\clearpage
+\begin{figure}[!htbp]
+ \centering
+ \ExampleSubFigure[1]{4-10-8}
+ \ExampleSubFigure[1]{4-10-9}
+ \ExampleSubFigure[1]{4-10-10}
+ \caption{Section 10-B}
+\end{figure}
+
+\end{document}
diff --git a/graphics/pstricks/base/generic/pstricks.tex b/graphics/pstricks/base/generic/pstricks.tex
index 34a8898279..fdedb8c449 100644
--- a/graphics/pstricks/base/generic/pstricks.tex
+++ b/graphics/pstricks/base/generic/pstricks.tex
@@ -88,8 +88,8 @@
\let\pgfforeach\foreach
%
-\def\fileversion{3.19a}
-\def\filedate{2023/10/30}
+\def\fileversion{3.19b}
+\def\filedate{2023/11/06}
\pst@addfams{pstricks}
%
%\define@boolkey[psset]{pstricks}[Pst@]{useURWfonts}[true]{}
diff --git a/graphics/pstricks/base/latex/pstricks.sty b/graphics/pstricks/base/latex/pstricks.sty
index 407ecae7b5..686bb4363e 100644
--- a/graphics/pstricks/base/latex/pstricks.sty
+++ b/graphics/pstricks/base/latex/pstricks.sty
@@ -1,4 +1,4 @@
-% $Id: pstricks.sty 792 2023-10-30 17:30:03Z herbert $
+% $Id: pstricks.sty 806 2023-11-06 20:39:03Z herbert $
%%
%% This is file `pstricks.sty'.
%%
@@ -17,7 +17,7 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{pstricks}[2023/10/05 v0.73 LaTeX wrapper for `PSTricks' (RN,HV)]
+\ProvidesPackage{pstricks}[2023/11/06 v0.74 LaTeX wrapper for `PSTricks' (RN,HV)]
%
\def\documentclass{%
\edef\@tempa{\jobname.tex }%
@@ -44,7 +44,6 @@
\newif\if@check@engine \@check@enginetrue
\newif\ifpst@xetex \pst@xetexfalse
\newif\ifpst@autopdf \pst@autopdffalse
-\newif\ifpst@metadata \pst@metadatatrue
\DeclareOption{useCalc}{\pst@useCalctrue}
\DeclareOption{gsfonts}{\pstGSfontstrue}
@@ -52,7 +51,6 @@
\DeclareOption{noEngineCheck}{\@check@enginefalse}
\DeclareOption{pdf}{\global\pst@autopdftrue}
\DeclareOption{xetex}{\global\pst@xetextrue}
-\DeclareOption{nometadata}{\global\pst@metadatafalse}
%
%---------------------------------DISTILLER --------------------------------
\newif\ifpst@distiller\pst@distillerfalse
@@ -89,17 +87,6 @@
\let\pgfutil@protected\protected
\let\pgfutil@unexpanded\unexpanded
-\ifpst@metadata
- \ifluatex
- \@ifclassloaded{beamer}{}{% do not execute \DocumentMetadata
-% \RequirePackage{pdfmanagement-testphase}
- \typeout{>>>Setting Metadata ... }%
- \DocumentMetadata{}%
- \makeatletter
- }
- \fi
-\fi
-
\ifpst@useCalc
\RequirePackage{pst-calculate}
\fi
diff --git a/macros/latex/contrib/affilauthor/README.txt b/macros/latex/contrib/affilauthor/README.txt
new file mode 100644
index 0000000000..8d9bdc2f8f
--- /dev/null
+++ b/macros/latex/contrib/affilauthor/README.txt
@@ -0,0 +1,46 @@
+----------------------------------------------------
+ Package: affilauthor
+ Author: Selvam P.
+ Mail: selvamittex@gmail.com
+ Licence: Released under the LaTeX Project Public License v1.3c or later,
+ see http://www.latex-project.org/lppl.txt
+----------------------------------------------------
+
+Customized fields(key-value style) to tag the author and affiliation informations in a structured format. Each field has a specific name within \author and \affil commands similar to bib format. We can customize the styles as per preferences for article.cls class layout. Instead of giving all information(author and affiliation) in single tag, we can split the information in a format of key-value style.
+
+Sample author tag:
+
+\author
+ {
+ name={Author name},
+ mail={author@gmail.com},
+ phone={+111-222-33},
+ affil={af1},
+ note={Greeting to everyone}
+ }
+
+Sample affiliation tag:
+
+\affil
+ {
+ id = {af1},
+ div = {Department of Computer Science},
+ org = {University},
+ street = {1st cross street},
+ country = {India}
+ }
+
+Sample formating tag:
+
+\affilstyle
+ {
+ authfont = {\sf},
+ affilfont = {\sf\small},
+ mailfont = {\tt\small},
+ urlfont = {\tt\small},
+ phonefont = {\tt\small},
+ notefont = {\tt\tiny},
+ notenum = { alpha },
+ authspace = {\baselineskip},
+ affilspace = {\baselineskip}
+ } \ No newline at end of file
diff --git a/macros/latex/contrib/affilauthor/affilauthor-doc.pdf b/macros/latex/contrib/affilauthor/affilauthor-doc.pdf
new file mode 100644
index 0000000000..2c806f8cf0
--- /dev/null
+++ b/macros/latex/contrib/affilauthor/affilauthor-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/affilauthor/affilauthor-doc.tex b/macros/latex/contrib/affilauthor/affilauthor-doc.tex
new file mode 100644
index 0000000000..97c07246c3
--- /dev/null
+++ b/macros/latex/contrib/affilauthor/affilauthor-doc.tex
@@ -0,0 +1,203 @@
+\documentclass{article}
+%\usepackage{affilauthor}
+\usepackage{listings,xcolor}
+\usepackage{graphicx}
+\usepackage[colorlinks]{hyperref}
+\usepackage{makeidx}
+
+\makeindex
+
+
+\lstdefinestyle{mystyle}
+{
+ language=[LaTeX]{TeX},
+ texcsstyle=*\color{blue},
+ basicstyle=\ttfamily,
+ moretexcs={affil,affilstyle},
+ columns=fullflexible
+}
+
+\title{affilauthor\thanks{Package to customize author and affiliations tagging for \TeX\ inputs.}}
+
+\author{Selvam P.\thanks{Suggestions and feedbacks are welcome, please reach me at selvamittex@gmail.com}}
+
+\date{} %% if you don't need date to appear
+
+\begin{document}
+ \maketitle
+
+\section*{Introduction}
+
+{\tt affilauthor} package provides customized fields(key-value style) to tag the author and affiliation informations in a structured format. Each field has a specific name within \textbackslash author\ and \textbackslash affil\ commands similar to bib format. We can customize the styles as per preferences for {\tt article.cls} class layouts.
+
+Instead of giving all information(author and affiliation) in single tag {\textbackslash author\{...\}}, we can split the information in a format of key-value style. It will given control over the elements and later we can do changes/styles by given values. It is very simple package, lot more could be added in further improvements.
+
+\section*{Author name tagging}
+
+Available filed names are listed below and it could be placed any order. Fields are optional, e.g.: If we don't have own/org site then we ignore such fields. Contact informations (mail,phone,url) and note field values will treated as footnote with footer mark.\index{\textbackslash author}
+
+\begin{lstlisting}[style=mystyle]
+\author
+ {
+ name={...},
+ mail={...},
+ phone={...},
+ url={...},
+ affil={...},
+ note={...}
+ }
+\end{lstlisting}
+
+More than one value for a field can be added with separation operators.
+\index{mail}
+\begin{lstlisting}[style=mystyle]
+ mail={mail1@gmail.com,mail2@gmail.com}
+\end{lstlisting}
+
+Required to mention the affiliation ids for determine the affiliations those belongs to author. More than one affiliation can be added by comma separation. ID name could be any format like \textbackslash label. Based on the ID, the affiliation number will be displayed after name and also contacts/notes marker.\index{affil}
+
+\begin{lstlisting}[style=mystyle]
+ affil={af1,af2,af5}
+\end{lstlisting}
+
+\noindent Sample author group output:\index{sample author output}
+
+\noindent\includegraphics[width=\textwidth]{authorname_sampleimage.png}
+
+\noindent Sample Footer note output:\index{sample affiliation output}
+
+\noindent\includegraphics[width=\textwidth]{affiliations_sampleimage.png}
+
+Here, we get appropriate marker to the notes in sequence order and also we can change the format like alphabet or roman.
+
+\section*{Affiliation tagging}
+
+Affiliation related fields are listed below and it could be placed any order. {\tt id} should be a unique label(mandatory field) which is used in author field to get appropriate affiliation number. Other remaining fields are related to respective type of contents, it can be ignored optionally except {\tt id}.\index{\textbackslash affil}
+
+\begin{lstlisting}[style=mystyle]
+\affil
+ {
+ id = {...},
+ div = {...},
+ org = {...},
+ addr = {...},
+ street = {...},
+ landmark = {...},
+ pincode = {...},
+ postbox = {...},
+ city = {...},
+ state = {...},
+ country = {...}
+ }
+\end{lstlisting}
+
+\section*{Formatting style}
+
+It provide options to customize the font shape and size. Available types are listed below. We can directly use any Primitive \TeX\ commands to change the style in value part.\index{\textbackslash affilstyle}
+
+\begin{lstlisting}[style=mystyle]
+\affilstyle
+ {
+ authfont = {...},
+ affilfont = {...},
+ mailfont = {...},
+ urlfont = {...},
+ phonefont = {...},
+ notefont = {...},
+ notenum = { alpha, fnsym, roman },
+ authspace = {...},
+ affilspace = {...}
+ }
+\end{lstlisting}
+
+Suppose, if I want to change mail font size and shape then below option is preferred. Same way we can do other properties as well.\index{mailfont}
+
+\begin{lstlisting}[style=mystyle]
+ \affilstyle{mailfont = {\itshape\small}}
+\end{lstlisting}
+
+To change the note marker either alphabet or roman number below option can be used.
+Here, it is choice options so should be choose of those three values:\index{notenum}
+
+\medskip
+
+{\tt alpha} Alphabet number
+
+{\tt fnsym} Default \TeX\ note sequence
+
+{\tt roman} Roman number
+
+\begin{lstlisting}[style=mystyle]
+ \affilstyle{notenum = {alpha}}
+\end{lstlisting}
+
+\medskip
+
+Adjust the vertical space before author and affiliation.\index{authspace}
+
+\begin{lstlisting}[style=mystyle]
+\affilstyle{authspace = {\baselineskip},
+ affilspace = {\baselineskip}}
+\end{lstlisting}
+
+\bigskip
+
+Add note it, I have defined these for article class which doesn't have such options. So later updates we can add more features and styles.
+
+\section*{Sample Code}
+
+\begin{lstlisting}[style=mystyle]
+\affilstyle[authfont={\sf},
+ mailfont={\tt},
+ affilfont={\it},
+ notenum={fnsym}
+ ]
+
+\author{name={Author1 Name},
+ mail={author1@gmail.com},
+ phone={+111-222-333},
+ url={author1.com},
+ affil={af1,af2},
+ note={Thanks to LaTeX Community}
+ }
+\author{name={Author2 Name},
+ mail={author2@gmail.com},
+ phone={+111-222-333},
+ url={author2.com},
+ affil={af2}
+ }
+\author{name={Author3 Name},
+ mail={author3@gmail.com},
+ url={author3.com},
+ affil={af2},
+ }
+
+\affil{id={af2},
+ div={Department of Computer Science},
+ org={University of London},
+ street={1st block},
+ city={London},
+ country={UK}
+ }
+\affil{id={af1},
+ div={Department of Computer Science},
+ org={Delhi University},
+ city={Delhi},
+ country={India}
+ }
+
+\end{lstlisting}
+
+
+\section*{To do lists}
+
+\begin{itemize}
+ \item Adding customize colour options to differentiation
+ \item More layout styles
+ \item Convert to various formats
+ \item etc....
+\end{itemize}
+
+\printindex
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/affilauthor/affilauthor.sty b/macros/latex/contrib/affilauthor/affilauthor.sty
new file mode 100644
index 0000000000..65fccd556e
--- /dev/null
+++ b/macros/latex/contrib/affilauthor/affilauthor.sty
@@ -0,0 +1,224 @@
+\NeedsTeXFormat{LaTeX2e}[1995/06/01]
+\ProvidesPackage{affilauthor}[2023/11/05 1.0.0]
+
+\RequirePackage{marvosym}
+
+\ExplSyntaxOn
+
+\tl_new:N \l__affauth_tmpa_tl
+\tl_new:N \l__affauth_tmpb_tl
+\int_new:N \l__affauth_tmpa_int
+\int_new:N \l__affauth_tmpb_int
+\bool_new:N \l__affauth_tmpa_bool
+\bool_new:N \l__affauth_tmpb_bool
+\seq_new:N \l__affauth_tmpa_seq
+\seq_new:N \l__affauth_tmpb_seq
+
+\tl_new:N \l__affauth_auth_name_tl
+\tl_new:N \l__affauth_auth_mail_tl
+\tl_new:N \l__affauth_auth_phone_tl
+\tl_new:N \l__affauth_auth_url_tl
+\tl_new:N \l__affauth_auth_note_tl
+\tl_new:N \l__affauth_auth_affil_id_tl
+
+\tl_new:N \l__affauth_font_author_tl
+\tl_new:N \l__affauth_font_affil_tl
+\tl_new:N \l__affauth_font_mail_tl
+\tl_new:N \l__affauth_font_url_tl
+\tl_new:N \l__affauth_font_phone_tl
+\tl_new:N \l__affauth_font_note_tl
+\tl_new:N \l__affauth_font_note_num_tl
+
+\tl_new:N \l__affauth_aff_id_tl
+\tl_new:N \l__affauth_aff_div_tl
+\tl_new:N \l__affauth_aff_org_tl
+\tl_new:N \l__affauth_aff_addr_tl
+\tl_new:N \l__affauth_aff_street_tl
+\tl_new:N \l__affauth_aff_landmark_tl
+\tl_new:N \l__affauth_aff_pincode_tl
+\tl_new:N \l__affauth_aff_postbox_tl
+\tl_new:N \l__affauth_aff_city_tl
+\tl_new:N \l__affauth_aff_state_tl
+\tl_new:N \l__affauth_aff_country_tl
+
+\seq_new:N \l__affauth_author_info_seq
+\prop_new:N \l__affauth_author_id_prop
+\seq_new:N \l__affauth_affil_info_seq
+\int_new:N \l__affauth_author_cnt_int
+\int_new:N \l__affauth_affil_cnt_int
+\int_new:N \l__affauth_author_note_int
+
+\skip_new:N \__affauth_before_affil_skip
+\skip_new:N \__affauth_before_auth_skip
+
+\skip_set:Nn \__affauth_before_affil_skip {2\baselineskip}
+\skip_set:Nn \__affauth_before_auth_skip {0pt}
+
+\keys_define:nn { author-info }
+ {
+ name .tl_set:N = \l__affauth_name_tl,
+ mail .tl_set:N = \l__affauth_auth_mail_tl,
+ url .tl_set:N = \l__affauth_auth_url_tl,
+ phone .tl_set:N = \l__affauth_auth_phone_tl,
+ note .tl_set:N = \l__affauth_auth_note_tl,
+ affil .tl_set:N = \l__affauth_auth_affil_id_tl
+ }
+
+\keys_define:nn { affil-info }
+ {
+ id .tl_set:N = \l__affauth_aff_id_tl,
+ div .tl_set:N = \l__affauth_aff_div_tl,
+ org .tl_set:N = \l__affauth_aff_org_tl,
+ addr .tl_set:N = \l__affauth_aff_addr_tl,
+ street .tl_set:N = \l__affauth_aff_street_tl,
+ landmark .tl_set:N = \l__affauth_aff_landmark_tl,
+ pincode .tl_set:N = \l__affauth_aff_pincode_tl,
+ postbox .tl_set:N = \l__affauth_aff_postbox_tl,
+ city .tl_set:N = \l__affauth_aff_city_tl,
+ state .tl_set:N = \l__affauth_aff_state_tl,
+ country .tl_set:N = \l__affauth_aff_country_tl
+ }
+
+\keys_define:nn { style-format }
+ {
+ authfont .tl_set:N = \l__affauth_font_author_tl,
+ affilfont .tl_set:N = \l__affauth_font_affil_tl,
+ mailfont .tl_set:N = \l__affauth_font_mail_tl,
+ urlfont .tl_set:N = \l__affauth_font_url_tl,
+ phonefont .tl_set:N = \l__affauth_font_phone_tl,
+ notefont .tl_set:N = \l__affauth_font_note_tl,
+ notenum .choices:nn = { alpha, fnsym, roman }
+ {
+ \int_case:nn {\l_keys_choice_int}
+ {
+ {1}{\let\l__affauth_note:n\@alph}
+ {2}{\let\l__affauth_note:n\@fnsymbol}
+ {3}{\let\l__affauth_note:n\@roman}
+ }
+ },
+ authspace. skip_set:N = \__affauth_before_auth_skip,
+ affilspace. skip_set:N = \__affauth_before_affil_skip
+ }
+
+
+\NewDocumentCommand{\affilstyle}{O{}} {\keys_set:nn { style-format } { #1 }}
+
+\cs_set_protected:Nn \__affauth_aff_id:n
+ {
+ \group_begin:
+ \seq_set_split:Nxx \l__affauth_tmpa_seq {,} {#1}
+ \seq_clear:N \l__affauth_tmpb_seq
+ \seq_map_inline:Nn \l__affauth_tmpa_seq
+ {
+ \prop_if_in:NeT \l__affauth_author_id_prop {##1}
+ {
+ \prop_get:NeN \l__affauth_author_id_prop {##1} \l__affauth_tmpb_tl
+ \seq_put_right:NV \l__affauth_tmpb_seq \l__affauth_tmpb_tl
+ }
+ }
+ \seq_sort:Nn \l__affauth_tmpb_seq
+ {
+ \int_compare:nNnTF {##1} < {##2}
+ {\sort_return_same:}{\sort_return_swapped:}
+ }
+ \textsuperscript{\seq_use:Nn \l__affauth_tmpb_seq {,}}
+ \group_end:
+ }
+
+\cs_set:Nn \__affauth_auth_sep:n {}
+
+\cs_set_protected:Nn \__affauth_aff_number:n
+ {
+ \int_compare:nNnT {#1} > {1} {\par}
+ \textsuperscript{#1}\thinspace
+ }
+
+\cs_set_protected:Nn \l__affauth_note:n {\ifcase#1\or *\or
+ **\or***\or****\or\#\or\#\#\or\#\#\#\or\#\#\#\#\or\$\or\$\$\or\$\$\$\or\$\$\$\$
+ \or\dag\or\dag\dag\or\dag\dag\dag\or\dag\dag\dag\dag\or\ddag\or\ddag\ddag\or\ddag\ddag\ddag\or\ddag\ddag\ddag\ddag\fi}
+
+\cs_set_protected:Nn \__affauth_auth_mail:nnnn
+ {
+ \group_begin:
+ \seq_clear:N \l__affauth_tmpa_seq
+ \tl_if_empty:nF {#1} {\seq_put_right:Nn \l__affauth_tmpa_seq {{\l__affauth_font_mail_tl\Letter\thinspace\exp_not:n{#1}}}}
+ \tl_if_empty:nF {#2} {\seq_put_right:Nn \l__affauth_tmpa_seq {{\l__affauth_font_phone_tl\Telefon\thinspace\exp_not:n{#2}}}}
+ \tl_if_empty:nF {#3} {\seq_put_right:Nn \l__affauth_tmpa_seq {{\l__affauth_font_url_tl\Mundus\thinspace\exp_not:n{#3}}}}
+ \seq_if_empty:NF \l__affauth_tmpa_seq
+ {
+ \group_begin:
+ \int_gincr:N \l__affauth_author_note_int
+ \textsuperscript{,\l__affauth_note:n{\l__affauth_author_note_int}}
+ \cs_set:Npn \thefootnote {}
+ \footnotetext[0]{\leftskip-\parindent\l__affauth_note:n{\l__affauth_author_note_int}\thinspace\seq_use:Nn \l__affauth_tmpa_seq {,\space}}
+ \group_end:
+ }
+ \tl_if_empty:nF {#4}
+ {
+ \group_begin:
+ \int_gincr:N \l__affauth_author_note_int
+ \textsuperscript{,\l__affauth_note:n{\l__affauth_author_note_int}}
+ \cs_set:Npn \thefootnote {}
+ \footnotetext[0]{\leftskip-\parindent{\l__affauth_font_note_tl\l__affauth_note:n{\l__affauth_author_note_int}\thinspace\exp_not:n{#4}}}
+ \group_end:
+ }
+ \group_end:
+ }
+
+\cs_set_protected:Npn \author #1
+ {
+ \group_begin:
+ \int_gincr:N \l__affauth_author_cnt_int
+ \keys_set:nn { author-info } { #1 }
+ \seq_gput_right:Ne \l__affauth_author_info_seq
+ {
+ \l__affauth_name_tl
+ \exp_args:NV \__affauth_aff_id:n \l__affauth_auth_affil_id_tl
+ \__affauth_auth_mail:nnnn {\l__affauth_auth_mail_tl} {\l__affauth_auth_phone_tl} {\l__affauth_auth_url_tl} {\l__affauth_auth_note_tl}
+ \exp_args:NV \__affauth_auth_sep:n \l__affauth_author_cnt_int
+ }
+ \group_end:
+ }
+
+\cs_set_protected:Npn \affil #1
+ {
+ \group_begin:
+ \int_gincr:N \l__affauth_affil_cnt_int
+ \keys_set:nn { affil-info } { #1 }
+ \prop_gput:NVV \l__affauth_author_id_prop \l__affauth_aff_id_tl \l__affauth_affil_cnt_int
+ \seq_gput_right:Ne \l__affauth_affil_info_seq
+ {
+ \exp_args:NV \__affauth_aff_number:n \l__affauth_affil_cnt_int
+ \tl_if_empty:NF \l__affauth_aff_div_tl \l__affauth_aff_div_tl
+ \tl_if_empty:NF \l__affauth_aff_org_tl {,\space} \l__affauth_aff_org_tl
+ \tl_if_empty:NF \l__affauth_aff_addr_tl {,\space} \l__affauth_aff_addr_tl
+ \tl_if_empty:NF \l__affauth_aff_street_tl {,\space} \l__affauth_aff_street_tl
+ \tl_if_empty:NF \l__affauth_aff_landmark_tl {,\space} \l__affauth_aff_landmark_tl
+ \tl_if_empty:NF \l__affauth_aff_pincode_tl {,\space} \l__affauth_aff_pincode_tl
+ \tl_if_empty:NF \l__affauth_aff_postbox_tl {,\space} \l__affauth_aff_postbox_tl
+ \tl_if_empty:NF \l__affauth_aff_city_tl {,\space} \l__affauth_aff_city_tl
+ \tl_if_empty:NF \l__affauth_aff_state_tl {,\space} \l__affauth_aff_state_tl
+ \tl_if_empty:NF \l__affauth_aff_country_tl {,\space} \l__affauth_aff_country_tl
+ }
+ \group_end:
+ }
+
+\let\org@maketitle=\maketitle
+\def\maketitle
+ {{\renewenvironment{tabular}[2][]{\begin{center}}
+ {\end{center}}
+ \org@maketitle}
+ }
+
+\AtBeginDocument{
+ \gdef\@author
+ {
+ \group_begin:
+ \vskip\__affauth_before_auth_skip
+ {\l__affauth_font_author_tl\seq_use:Nnnn \l__affauth_author_info_seq {\space and\space}{,\space}{,\space and\space}}
+ \par\vskip\__affauth_before_affil_skip
+ {\l__affauth_font_affil_tl\seq_use:Nn \l__affauth_affil_info_seq {\par}}
+ \group_end:
+ }
+ }
+\ExplSyntaxOff \ No newline at end of file
diff --git a/macros/latex/contrib/affilauthor/affiliations_sampleimage.png b/macros/latex/contrib/affilauthor/affiliations_sampleimage.png
new file mode 100644
index 0000000000..567b5e6995
--- /dev/null
+++ b/macros/latex/contrib/affilauthor/affiliations_sampleimage.png
Binary files differ
diff --git a/macros/latex/contrib/affilauthor/authorname_sampleimage.png b/macros/latex/contrib/affilauthor/authorname_sampleimage.png
new file mode 100644
index 0000000000..7112b166de
--- /dev/null
+++ b/macros/latex/contrib/affilauthor/authorname_sampleimage.png
Binary files differ
diff --git a/macros/latex/contrib/fancyvrb/Changes b/macros/latex/contrib/fancyvrb/Changes
index 542d7326d0..123927ae33 100644
--- a/macros/latex/contrib/fancyvrb/Changes
+++ b/macros/latex/contrib/fancyvrb/Changes
@@ -1,4 +1,6 @@
--- fancyvrb.sty
+4.5b 2023/11/06 - added info to the documentation for
+ the different behaviour in the \LaTeX kernel (hv)
4.5a 2023/01/19 - modified documentation (hv)
4.5 2022/06/06 - added \noniterlineskip for frame=lines (hv)
4.4 2022/06/03 - fix for deleted \@penalty command _before_ top rule(hv)
diff --git a/macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdf b/macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdf
index 76efb4e4f1..321082c642 100644
--- a/macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdf
+++ b/macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.tex b/macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.tex
index ec6dbcdfed..7f7985d8ac 100644
--- a/macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.tex
+++ b/macros/latex/contrib/fancyvrb/doc/fancyvrb-doc.tex
@@ -103,8 +103,10 @@ Will Robertson,
Ulrich M. Schwarz,
Thomas Siegel, % \url{siegel@aix520.informatik.uni-leipzig.de},
Clemens Steinke,
+Vladimir Volovich,
and
-Vladimir Volovich. %\url{vvv@vvv.vsu.ru}.
+Yukai Chou
+ %\url{vvv@vvv.vsu.ru}.
\clearpage
\tableofcontents
\clearpage
@@ -770,8 +772,8 @@ With the setting \texttt{lastline=} or \texttt{lastline=0} nothing will be print
\end{optlist}
\begin{SideBySideExample}[gobble=0]
-\begin{Verbatim}[showspaces=true]
- Verbatim line.
+\begin{Verbatim}[showspaces,showtabs]
+Verbatim line .
\end{Verbatim}
\end{SideBySideExample}
@@ -779,9 +781,9 @@ With the setting \texttt{lastline=} or \texttt{lastline=0} nothing will be print
sets \texttt{showspaces=true}:
\begin{SideBySideExample}[gobble=0]
- \begin{Verbatim*}
- Verbatim line.
- \end{Verbatim*}
+\begin{Verbatim*}
+Verbatim line .
+\end{Verbatim*}
\end{SideBySideExample}
There are also some parameters to determine the way tab characters are
@@ -803,6 +805,34 @@ interpreted (using tabs is in fact a rather old-fashioned style of coding):
(\emph{Default:~8}).
\end{optlist}
+\noindent
+\colorbox{black!15}{\parbox{\linewidth}{%
+Pay attention that the behaviour of the environment/command from
+the \LaTeX\ kernel is different. In \LaTeX\ Tabs are printed as visible
+space, but with \texttt{fancyvrb} as spaces or with \texttt{showtabs}
+as visible Tab.}}
+
+\iffalse
+\begin{SideBySideExample}[gobble=0]
+\begin{Verbatim*}
+Verbatim line foo
+\end{Verbatim*}
+\end{SideBySideExample}
+
+
+\begin{SideBySideExample}[gobble=0]
+\begin{verbatim*}
+verbatim line foo
+\end{verbatim*}
+\end{SideBySideExample}
+
+
+\begin{SideBySideExample}[gobble=0]
+\Verb*|Verb line foo|\par
+\verb*|verb line foo|
+\end{SideBySideExample}
+\fi
+
\subsubsection{Space between lines}
\begin{optlist}
diff --git a/macros/latex/contrib/fancyvrb/latex/fancyvrb.sty b/macros/latex/contrib/fancyvrb/latex/fancyvrb.sty
index ad9c0b7bc8..b8b1d8514d 100644
--- a/macros/latex/contrib/fancyvrb/latex/fancyvrb.sty
+++ b/macros/latex/contrib/fancyvrb/latex/fancyvrb.sty
@@ -13,8 +13,8 @@
%% verbatim environments and commands and extensive documentation.
%%
\NeedsTeXFormat{LaTeX2e}
-\def\fileversion{4.5a}
-\def\filedate{2023/01/19}
+\def\fileversion{4.5b}
+\def\filedate{2023/11/06}
\ProvidesPackage{fancyvrb}[\filedate\space \fileversion\space verbatim text (tvz,hv)]
%\message{Style option: `fancyvrb' v\fileversion \space <\filedate> (tvz)}
\csname fancyvrb@loaded\endcsname
diff --git a/macros/latex/contrib/homework/README.md b/macros/latex/contrib/homework/README.md
index 63c8e21806..f423470c23 100644
--- a/macros/latex/contrib/homework/README.md
+++ b/macros/latex/contrib/homework/README.md
@@ -37,7 +37,7 @@ Also, without these fonts installed, the compilation speed might be much slower
## Usage
-> It is recommended that you start by looking at one of the demo documents that suits your need and edit the code there to get your own template.
+> It is recommended that you start by looking at one of the [demo documents](https://github.com/Jinwen-XU/homework/tree/main/demo) that suits your need and edit the code there to get your own template.
> If you don't find what you were expecting, or if you would like some elements to be changed or improved, feel free to post a feature request via [the GitHub issue](https://github.com/Jinwen-XU/homework/issues).
@@ -111,26 +111,36 @@ A typical homework document looks like this:
% If you wish to answer each sub-question of a problem separately...
\begin{problem}[A problem with many sub-questions]
- \begin{enumerate}[itemsep=.5\baselineskip]
+ \begin{enumerate}
\item First question.
+
\begin{solution}
The solution of the first question.
\end{solution}
+
\item Second question.
- \begin{enumerate}[itemsep=.3\baselineskip]
+
+ \begin{enumerate}
\item First sub-question.
+
\begin{solution}
The solution of the first sub-question.
\end{solution}
+
\item Second sub-question.
+
\begin{solution}
The solution of the second sub-question.
\end{solution}
+
\end{enumerate}
+
\item Third question.
+
\begin{solution}
The solution of the third question.
\end{solution}
+
\end{enumerate}
\noQED % Use \noqed or \noQED at the end to suppress the Q.E.D. symbol that marks the end of the current problem.
\end{problem}
diff --git a/macros/latex/contrib/homework/homework.cls b/macros/latex/contrib/homework/homework.cls
index ba1dd459e1..914ff614cf 100644
--- a/macros/latex/contrib/homework/homework.cls
+++ b/macros/latex/contrib/homework/homework.cls
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplClass
{homework}
- {2023/10/15} {}
+ {2023/10/15a} {}
{Document class for writing homework}
\keys_define:nn { homework }
diff --git a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
index 5474986109..972c49380d 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/CHANGELOG.md
@@ -5,7 +5,12 @@ first release 0.95a, 2021-02-23 will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
this project uses date-based 'snapshot' version identifiers.
-
+## [2023-11-05]
+Version: 2023-11-05, 0.96b
+
+- switch to e-type
+- correct fontspec firstaid and spotcolor support
+
## [2023-10-09]
Version: 2023-10-09, 0.96a
diff --git a/macros/latex/contrib/pdfmanagement-testphase/README.md b/macros/latex/contrib/pdfmanagement-testphase/README.md
index 770ec9e2b5..35361e0a49 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/README.md
+++ b/macros/latex/contrib/pdfmanagement-testphase/README.md
@@ -1,6 +1,6 @@
# LaTeX PDF management testphase bundle
-Version: 0.96a, 2023-10-09
+Version: 0.96b, 2023-11-05
This package is used during a test phase to load the new PDF management code
of LaTeX.
diff --git a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
index b04fa5aa9b..ac0a4e5f86 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/color-ltx.sty
@@ -24,7 +24,7 @@
%% This file has the LPPL maintenance status "maintained".
%%
\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{color-ltx}[2023-10-09 v0.96a
+\ProvidesPackage{color-ltx}[2023-11-05 v0.96b
Standard LaTeX Color (patched for l3color, part of pdfmanagement-testphase, original version 2022/01/06 v1.3d) (DPC)]
\edef\Gin@codes{%
\catcode`\noexpand\^^A\the\catcode`\^^A\relax
diff --git a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
index 6af2ce080f..8e03acf112 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/colorspace-patches-tmp-ltx.sty
@@ -19,7 +19,7 @@
%
% for those people who are interested.
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
-\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2023-10-09}{0.96a}
+\ProvidesExplPackage{colorspace-patches-tmp-ltx}{2023-11-05}{0.96b}
{temporay patches to for the colorspace package to test pdfresource management ... UF}
% colorspace can define more models, that l3color can't yet handle.
@@ -79,11 +79,11 @@
\seq_set_split:NnV \l_tmpa_seq {~}\l_tmpa_str
\seq_get_left:NN\l_tmpa_seq\l_tmpa_str
%remove spaces
- \exp_args:NNx
+ \exp_args:NNe
\str_replace_all:Nnn\l_tmpa_str {\c_hash_str20}{~}
%remove slash
- \str_set:Nx\l_tmpa_str{\str_tail:N\l_tmpa_str}
- \pdfmanagement_add:nex
+ \str_set:Ne\l_tmpa_str{\str_tail:N\l_tmpa_str}
+ \pdfmanagement_add:nee
{Page/Resources/ColorSpace}{\l_tmpa_str}{\seq_item:Nn\l_tmpa_seq{2}~0~R}
}
\spc@csall
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
index dc722effbe..47b957c2ec 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.dtx
@@ -82,7 +82,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -956,7 +956,7 @@
%<@@=hyp>
% \end{macrocode}
% \begin{macrocode}
-\ProvidesFile{hgeneric-testphase.def}[2023-10-09 v0.96a %
+\ProvidesFile{hgeneric-testphase.def}[2023-11-05 v0.96b %
generic Hyperref driver for the LaTeX PDF management testphase bundle]
\RequirePackage{etoolbox} %why?
@@ -1213,7 +1213,7 @@
% \begin{macrocode}
% TODO should go at some time ...
% \kv@set@family@handler{Hyp}
-% { \msg_warning:nnx {hyp}{unknown-key-to-Hyp}{#1} }
+% { \msg_warning:nne {hyp}{unknown-key-to-Hyp}{#1} }
\cs_set_protected:Npn \hypersetup #1
{
%\kvsetkeys{Hyp} {#1}
@@ -1224,7 +1224,7 @@
{
unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-key }
+ \msg_warning:nneee { hyp } { unknown-key }
{ hyp~/~setup }{ \l_keys_key_str } { #1 }
}
}
@@ -1294,7 +1294,7 @@
}
,afrelationship .code:n =
{
- \pdfdict_put:nnx
+ \pdfdict_put:nne
{ l_pdffile/Filespec}{AFRelationship}{ \pdf_name_from_unicode_e:n {#1}}
}
@@ -1454,7 +1454,7 @@
%\tl_set:cn {@#1}{#2}
\AddToDocumentProperties[hyperref]{#1}{#2}
}
-\cs_generate_variant:Nn \@@_store_metadata:nn {xn,nx,xx}
+\cs_generate_variant:Nn \@@_store_metadata:nn {en,ne,ee}
% \end{macrocode}
% \subsection{citecolor}
% cite is a link context. So we define a hook, and the keys in terms of this hook.
@@ -1878,7 +1878,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_text_purify:nN #1 #2 %#1 input, #2 str command
{
- \str_set:Nx #2 {\text_purify:n { #1 } }
+ \str_set:Ne #2 {\text_purify:n { #1 } }
}
% \end{macrocode}
% \end{macro}
@@ -1936,7 +1936,7 @@
\group_end:
\str_set_eq:NN #3 \g_@@_text_tmpa_str
}
-\cs_generate_variant:Nn \@@_text_pdfstring:nnN {xnN,onN,xoN,ooN,noN}
+\cs_generate_variant:Nn \@@_text_pdfstring:nnN {enN,onN,eoN,ooN,noN}
% \end{macrocode}
% \end{macro}
% !!! temporary until all instances are gone
@@ -1947,7 +1947,7 @@
%^^A \char_set_catcode_active:N \~
% \begin{macrocode}
\cs_new_protected:Npn\Hy@pstringdef #1 #2
- { \@@_text_pdfstring:xnN {#2} {utf8/string-raw}#1 }
+ { \@@_text_pdfstring:enN {#2} {utf8/string-raw}#1 }
% \end{macrocode}
%
% This is a special version for info keys:
@@ -2009,7 +2009,7 @@
% \begin{macrocode}
\cs_new_protected:Npn\@@_PageLabels_gpush:
{
- \pdfmanagement_add:nnx {Catalog} {PageLabels}{<</Nums[\HyPL@Labels]>>}
+ \pdfmanagement_add:nne {Catalog} {PageLabels}{<</Nums[\HyPL@Labels]>>}
}
\def\Hy@PutCatalog #1 {}
@@ -2019,7 +2019,7 @@
{
\cs_set_protected:Npn \HyPL@StorePageLabel #1
{
- \tl_gput_right:Nx \HyPL@Labels { \the\Hy@abspage<<#1>> }
+ \tl_gput_right:Ne \HyPL@Labels { \the\Hy@abspage<<#1>> }
\@@_PageLabels_gpush:
}
}
@@ -2062,7 +2062,7 @@
\mode_if_horizontal:T { \@savsf\spacefactor }
\Hy@SaveLastskip %defined in hyperref
\Hy@VerboseAnchor{#1} %defined in hyperref, for debugging
- \@@_text_pdfstring:xoN
+ \@@_text_pdfstring:eoN
{ \HyperDestNameFilter{#1} }
{ \l_@@_text_enc_dest_tl }
\l_@@_tmpa_tl
@@ -2144,14 +2144,14 @@
\protected@edef \l_@@_dest_name_tmpa_tl { #1 }
\tl_if_empty:NTF \l_@@_dest_name_tmpa_tl
{
- \msg_warning:nnx
+ \msg_warning:nne
{ hyp }
{ empty-destination-name }
{ \c_@@_dest_undefined_tl }
\tl_set_eq:NN \l_@@_dest_name_tmpa_tl \c_@@_dest_undefined_tl
}
{
- \@@_text_pdfstring:xoN
+ \@@_text_pdfstring:eoN
{ \exp_args:No \HyperDestNameFilter { \l_@@_dest_name_tmpa_tl } }
{ \l_@@_text_enc_dest_tl }
\l_@@_dest_name_tmpa_tl
@@ -2257,7 +2257,7 @@
\bool_if:NTF \l_@@_annot_URI_bool
{
\group_begin:
- \@@_text_pdfstring:xoN
+ \@@_text_pdfstring:eoN
{ #2}
{ \l_@@_text_enc_uri_print_tl }
\l_@@_uri_tmpa_tl
@@ -2270,8 +2270,8 @@
\cs_set_eq:NN \% \c_percent_str
\Hy@safe@activestrue
\mode_leave_vertical:
- \pdfannot_dict_put:nnx {link/URI}{A}{<<\pdfdict_use:n {l_hyp/annot/A/URI}>>}
- \pdfannot_link:nxn { URI }
+ \pdfannot_dict_put:nne {link/URI}{A}{<<\pdfdict_use:n {l_hyp/annot/A/URI}>>}
+ \pdfannot_link:nen { URI }
{
}
{
@@ -2292,24 +2292,23 @@
\pdfdict_put:nnn {l_hyp/annot/A/GoToR}{Type}{/Action}
\pdfdict_put:nnn {l_hyp/annot/A/GoToR}{S}{/GoToR}
-
+\cs_generate_variant:Nn \pdffile_embed_file:nnn {noe}
\cs_new_protected:Npn \hyper@linkfile #1 #2 #3 % link text, filename, destname
{
\bool_if:NTF \l_@@_annot_GoToR_bool
{
\group_begin:
- \tl_set:Nx \l_@@_filename_tmpa_tl { \text_expand:n { #2 } }
- \exp_args:Nx
+ \tl_set:Ne \l_@@_filename_tmpa_tl { \text_expand:n { #2 } }
+ \exp_args:Ne
\pdf_object_if_exist:nF { @@_file_\tl_to_str:N \l_@@_filename_tmpa_tl }
{
- \pdfdict_put:nnx { l_pdffile/Filespec}{Subtype}{\pdf_name_from_unicode_e:n {application/pdf}}
- \exp_args:Nnox
- \pdffile_embed_file:nnn
+ \pdfdict_put:nne { l_pdffile/Filespec}{Subtype}{\pdf_name_from_unicode_e:n {application/pdf}}
+ \pdffile_embed_file:noe
{}
{\l_@@_filename_tmpa_tl }
{@@_file_\tl_to_str:N \l_@@_filename_tmpa_tl }
}
- \pdfdict_put:nnx
+ \pdfdict_put:nne
{l_hyp/annot/A/GoToR}
{F}
{\pdf_object_ref:e {@@_file_\tl_to_str:N \l_@@_filename_tmpa_tl}}
@@ -2319,7 +2318,7 @@
\l_@@_dest_name_tmpa_tl
\tl_if_blank:eTF {#3}
{
- \pdfdict_put:nnx {l_hyp/annot/A/GoToR}{D}
+ \pdfdict_put:nne {l_hyp/annot/A/GoToR}{D}
{
[
\int_eval:n
@@ -2337,9 +2336,9 @@
% object reference in the dict
% \url{https://chat.stackexchange.com/transcript/message/57361080#57361080}
% \begin{macrocode}
- \pdf_object_unnamed_write:nx{dict}{\pdfdict_use:n {l_hyp/annot/A/GoToR}}
- \pdfannot_dict_put:nnx {link/GoToR}{A}{\pdf_object_ref_last:}
- \pdfannot_link:nxn %expansion??
+ \pdf_object_unnamed_write:ne{dict}{\pdfdict_use:n {l_hyp/annot/A/GoToR}}
+ \pdfannot_dict_put:nne {link/GoToR}{A}{\pdf_object_ref_last:}
+ \pdfannot_link:nnn %expansion??
{ GoToR }
{
}
@@ -2386,12 +2385,14 @@
\pdfdict_remove:nn {l_hyp/annot/A/Launch}{Win}
}
{
- \pdfdict_put:nnx {l_hyp/annot/A/Launch}{Win}
+ \pdfdict_put:nne
+ {l_hyp/annot/A/Launch}
+ {Win}
{<</P \l_@@_para_tmpa_tl /F \l_@@_filename_tmpa_tl >>}
}
\mode_leave_vertical:
- \pdfannot_dict_put:nnx {link/Launch}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Launch}>>}
- \pdfannot_link:nxn
+ \pdfannot_dict_put:nne {link/Launch}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Launch}>>}
+ \pdfannot_link:nen
{ Launch }
{
% /A
@@ -2412,9 +2413,9 @@
% The actually command used by \pkg{hyperref} is \cs{@hyper@launch} which uses a delimited
% argument, because of the color the definition is a bit convoluted.
% \begin{macrocode}
-\use:x
+\use:e
{ % filename, anchor text, linkname
- \cs_set_protected:Npn \exp_not:N \@hyper@launch run \c_colon_str ##1 \exp_not:N \\ ##2 ##3
+ \cs_set_protected:Npn \exp_not:N \@hyper@launch run \c_colon_str #1 \exp_not:N \\ #2 #3
}
{
\hyper@linklaunch {#1}{#2}{#3}
@@ -2436,10 +2437,10 @@
\pdfmeta_standard_verify:nnTF {named_actions}{#1}
{
\mode_leave_vertical:
- \pdfdict_put:nnx {l_hyp/annot/A/Named}{N}
+ \pdfdict_put:nne {l_hyp/annot/A/Named}{N}
{\pdf_name_from_unicode_e:n{#1}}
- \pdfannot_dict_put:nnx {link/Named}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Named}>>}
- \pdfannot_link:nxn { Named }
+ \pdfannot_dict_put:nne {link/Named}{A}{<<\pdfdict_use:n {l_hyp/annot/A/Named}>>}
+ \pdfannot_link:nnn { Named }
{
% /A
% <<
@@ -2648,7 +2649,7 @@
{hyp/color/#1border}
\g_@@_bordercolormodel_str
\l_@@_tmpa_tl
- \pdfannot_dict_put:nnx
+ \pdfannot_dict_put:nne
{link/#2}
{ C }
{ [\l_@@_tmpa_tl] }
@@ -2791,7 +2792,7 @@
\pdf_object_new:n { @@/OCG/Print }
\pdf_object_new:n { @@/OCG/config }
\pdf_object_new:n { @@/OCG/refarray }
- \pdf_object_write:nnx { @@/OCG/refarray } { array }
+ \pdf_object_write:nne { @@/OCG/refarray } { array }
{
\pdf_object_ref:n { @@/OCG/View }
\c_space_tl
@@ -2817,9 +2818,9 @@
/View <</ViewState/OFF>>~
>>
}
- \pdfmanagement_add:nnx { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {@@/OCG/View} }
- \pdfmanagement_add:nnx { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {@@/OCG/Print} }
- \pdf_object_write:nnx { @@/OCG/config } { dict }
+ \pdfmanagement_add:nne { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {@@/OCG/View} }
+ \pdfmanagement_add:nne { Catalog / OCProperties }{OCGs }{ \pdf_object_ref:n {@@/OCG/Print} }
+ \pdf_object_write:nne { @@/OCG/config } { dict }
{
/OFF[\pdf_object_ref:n { @@/OCG/Print }]
/AS[
@@ -2840,7 +2841,7 @@
>>
]
}
- \pdfmanagement_add:nnx { Catalog / OCProperties }{ D }{ \pdf_object_ref:n { @@/OCG/config} }
+ \pdfmanagement_add:nne { Catalog / OCProperties }{ D }{ \pdf_object_ref:n { @@/OCG/config} }
\cs_gset:Npn \@@_ocg_init: {}
}
% \end{macrocode}
@@ -2920,7 +2921,7 @@
{
,_ocgcolorlinks .code:n =
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{ hyp }
{ ignore-deprecated-or-unknown-option-in-pdf-version }
{ ocgcolorlinks } { \pdf_version_major:.\pdf_version_minor: }
@@ -2961,7 +2962,7 @@
{
,ocgcolor#1 .code:n=
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{ hyp }
{ ignore-deprecated-or-unknown-option-in-pdf-version }
{ ocgcolor#1 }
@@ -2997,7 +2998,7 @@
}
,#1highlight / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee { hyp } { unknown-choice+empty }
{ pdfhighlight }
{ /I~(inverse), /N~(no effect), /O~(outline), /P~(inset) }
{ \exp_not:n {##1} }
@@ -3031,7 +3032,7 @@
,pdfhighlight .initial:n = {/I},
,pdfhighlight / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee { hyp } { unknown-choice+empty }
{ pdfhighlight }
{ /I~(inverse), /N~(no effect), /O~(outline), /P~(inset) }
{ \exp_not:n {#1} }
@@ -3158,7 +3159,7 @@
}
,linktoc / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice }
+ \msg_warning:nneee { hyp } { unknown-choice }
{ linktoc }
{ none, section, all, page }
{ \exp_not:n {#1} }
@@ -3195,7 +3196,7 @@
\pdfmanagement_remove:nn {Catalog} { URI }
}
{
- \pdfmanagement_add:nnx {Catalog} { URI }{ <</Base \l_@@_tmpa_tl>> }
+ \pdfmanagement_add:nne {Catalog} { URI }{ <</Base \l_@@_tmpa_tl>> }
}
\@@_store_metadata:nn {baseurl}{#1}
}
@@ -3223,7 +3224,7 @@
}
,pdfcenterwindow / unknown .code:n =
{
- \msg_warning:nnxx { hyp } { no-bool }
+ \msg_warning:nnee { hyp } { no-bool }
{ pdfcenterwindow }
{ \exp_not:n {#1} }
}
@@ -3243,7 +3244,7 @@
}
,pdfdirection / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee { hyp } { unknown-choice+empty }
{ pdfdirection }
{ L2R , R2L }
{ \exp_not:n {#1} }
@@ -3267,7 +3268,7 @@
{ PrintDuplex } { /#1 }
}
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{hyp}
{ignore-deprecated-or-unknown-option-in-pdf-version}
{pdfduplex}
@@ -3280,7 +3281,7 @@
}
,pdfduplex / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee { hyp } { unknown-choice+empty }
{ pdfduplex }
{ Simplex, DuplexFlipShortEdge, DuplexFlipLongEdge }
{ \exp_not:n {#1} }
@@ -3301,7 +3302,7 @@
,pdffitwindow .default:n = true
,pdffitwindow / unknown .code:n =
{
- \msg_warning:nnxx { hyp } { no-bool }
+ \msg_warning:nnee { hyp } { no-bool }
{ pdffitwindow }
{ \exp_not:n {#1} }
}
@@ -3324,7 +3325,7 @@
,pdfmenubar .default:n = true
,pdfmenubar / unknown .code:n =
{
- \msg_warning:nnxx { hyp } { no-bool }
+ \msg_warning:nnee { hyp } { no-bool }
{ pdfmenubar }
{ \exp_not:n {#1} }
}
@@ -3347,7 +3348,7 @@
,pdfnonfullscreenpagemode .choices:nn =
{ UseNone, UseOutlines, UseThumbs, FullScreen, UseOC } %pdf 1.5
{
- \pdfmanagement_add:nnx {Catalog / ViewerPreferences }
+ \pdfmanagement_add:nne {Catalog / ViewerPreferences }
{ NonFullScreenPageMode} {/#1}
}
,pdfnonfullscreenpagemode / UseAttachments .code:n =
@@ -3357,7 +3358,7 @@
%message
}
{
- \pdfmanagement_add:nnx {Catalog / ViewerPreferences }
+ \pdfmanagement_add:nne {Catalog / ViewerPreferences }
{NonFullScreenPageMode}{/UseAttachments}
}
}
@@ -3367,7 +3368,7 @@
}
,pdfnonfullscreenpagemode / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee { hyp } { unknown-choice+empty }
{ pdfnonfullscreenpagemode }
{ UseNone, UseOutlines, UseThumbs, FullScreen, UseOC, UseAttachments (PDF 1.6) }
{ \exp_not:n {#1} }
@@ -3381,12 +3382,12 @@
\pdfmanagement_remove:nn {Catalog / ViewerPreferences } { NumCopies }
}
{
- \pdfmanagement_add:nnx {Catalog / ViewerPreferences }
+ \pdfmanagement_add:nne {Catalog / ViewerPreferences }
{NumCopies}{#1}
}
}
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{hyp}
{ignore-deprecated-or-unknown-option-in-pdf-version}
{pdfnumcopies}
@@ -3395,27 +3396,27 @@
}
,pdfpagelayout .choices:nn =
{ SinglePage, OneColumn, TwoColumnLeft, TwoColumnRight, TwoPageLeft, TwoPageRight}
- { \pdfmanagement_add:nnx {Catalog} { PageLayout }{ /#1 } }
+ { \pdfmanagement_add:nne {Catalog} { PageLayout }{ /#1 } }
,pdfpagelayout / .code:n =
{ \pdfmanagement_remove:nn {Catalog} { PageLayout } }
,pdfpagelayout / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee { hyp } { unknown-choice+empty }
{ pdfpagelayout }
{ SinglePage, OneColumn, TwoColumnLeft, TwoColumnRight, TwoPageLeft, TwoPageRight }
{ \exp_not:n {#1} }
}
,pdfpagemode .choices:nn =
{ UseNone, UseOutlines, UseThumbs, FullScreen, UseOC } %pdf 1.5
- { \pdfmanagement_add:nnx {Catalog} { PageMode }{ /#1 } }
+ { \pdfmanagement_add:nne {Catalog} { PageMode }{ /#1 } }
,pdfpagemode / UseAttachments .code:n =
{
\pdf_version_compare:NnTF > {1.5}
{
- \pdfmanagement_add:nnx {Catalog} { PageMode }{ /UseAttachments }
+ \pdfmanagement_add:nne {Catalog} { PageMode }{ /UseAttachments }
}
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{hyp}
{ignore-deprecated-or-unknown-value-in-pdf-version}
{UseAttachments}
@@ -3425,7 +3426,7 @@
,pdfpagemode .initial:n = { UseOutlines } %for now ...
,pdfpagemode / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee { hyp } { unknown-choice+empty }
{ pdfpagemode }
{ UseNone, UseOutlines, UseThumbs, FullScreen, UseOC, UseAttachments (PDF 1.6) }
{ \exp_not:n {#1} }
@@ -3437,7 +3438,7 @@
\pdfmanagement_remove:nn {Pages} { CropBox }
}
{
- \pdfmanagement_add:nnx {Pages} { CropBox } { [#1] }
+ \pdfmanagement_add:nne {Pages} { CropBox } { [#1] }
}
}
,pdfpicktraybypdfsize .choice:
@@ -3449,7 +3450,7 @@
{ PickTrayByPDFSize } { true }
}
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{hyp}
{ignore-deprecated-or-unknown-option-in-pdf-version}
{pdfpicktraybypdfsize}
@@ -3464,7 +3465,7 @@
{ PickTrayByPDFSize } { false }
}
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{hyp}
{ignore-deprecated-or-unknown-option-in-pdf-version}
{pdfpicktraybypdfsize}
@@ -3477,7 +3478,7 @@
}
,pdfpicktraybypdfsize / unknown .code:n =
{
- \msg_warning:nnxx { hyp } { no-bool }
+ \msg_warning:nnee { hyp } { no-bool }
{ picktraybypdfsize }
{ \exp_not:n {#1} }
}
@@ -3486,11 +3487,11 @@
{
\pdf_version_compare:NnTF < {2.0}
{
- \pdfmanagement_add:nnx {Catalog / ViewerPreferences }
+ \pdfmanagement_add:nne {Catalog / ViewerPreferences }
{ PrintArea } { /#1 }
}
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{hyp}
{ignore-deprecated-or-unknown-option-in-pdf-version}
{pdfprintarea}
@@ -3501,7 +3502,7 @@
{ \pdfmanagement_remove:nn {Catalog / ViewerPreferences } { PrintArea } }
,pdfprintarea / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee { hyp } { unknown-choice+empty }
{ pdfprintarea }
{ MediaBox, CropBox, BleedBox, TrimBox, ArtBox }
{ \exp_not:n {#1} }
@@ -3511,11 +3512,11 @@
{
\pdf_version_compare:NnTF < {2.0}
{
- \pdfmanagement_add:nnx {Catalog / ViewerPreferences }
+ \pdfmanagement_add:nne {Catalog / ViewerPreferences }
{ PrintClip } { /#1 }
}
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{hyp}
{ignore-deprecated-or-unknown-option-in-pdf-version}
{pdfprintclip}
@@ -3528,7 +3529,9 @@
}
,pdfprintclip / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee
+ { hyp }
+ { unknown-choice+empty }
{ pdfprintclip }
{ MediaBox, CropBox, BleedBox, TrimBox, ArtBox }
{ \exp_not:n {#1} }
@@ -3543,12 +3546,12 @@
{ PrintPageRange }
}
{
- \pdfmanagement_add:nnx {Catalog / ViewerPreferences }
+ \pdfmanagement_add:nne {Catalog / ViewerPreferences }
{PrintPageRange}{[#1]}
}
}
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{hyp}
{ignore-deprecated-or-unknown-option-in-pdf-version}
{pdfprintpagerange}
@@ -3560,11 +3563,11 @@
{
\pdf_version_compare:NnTF > {1.5}
{
- \pdfmanagement_add:nnx {Catalog / ViewerPreferences }
+ \pdfmanagement_add:nne {Catalog / ViewerPreferences }
{ PrintScaling } { /#1 }
}
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{hyp}
{ignore-deprecated-or-unknown-option-in-pdf-version}
{pdfprintscaling}
@@ -3577,18 +3580,18 @@
}
,pdfprintscaling / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee { hyp } { unknown-choice+empty }
{ pdfprintarea }
{ None, AppDefault }
{ \exp_not:n {#1} }
}
,pdfremotestartview .code:n =
{
- \tl_set:Nx \l_@@_tmpa_tl {#1~null~null~null~}
+ \tl_set:Ne \l_@@_tmpa_tl {#1~null~null~null~}
\exp_args:NNV
\regex_extract_once:NnNTF \c_@@_dest_startview_regex \l_@@_tmpa_tl \l_@@_tmpa_seq
{
- \tl_set:Nx \l_@@_dest_pdfremotestartview_tl {\seq_item:Nn \l_@@_tmpa_seq {1}}
+ \tl_set:Ne \l_@@_dest_pdfremotestartview_tl {\seq_item:Nn \l_@@_tmpa_seq {1}}
}
{
\msg_warning:nnnn {hyp}{invalid-destination-value}{#1}{pdfremotestartview}
@@ -3599,14 +3602,14 @@
% pdfstartpage is special as it shares code with pdfstartview
,pdfstartpage .code:n =
{
- \tl_gset:Nx \g_@@_dest_pdfstartpage_tl { #1 }
+ \tl_gset:Ne \g_@@_dest_pdfstartpage_tl { #1 }
\bool_if:nTF
{ \tl_if_empty_p:N \g_@@_dest_pdfstartpage_tl || \tl_if_empty_p:N \g_@@_dest_pdfstartview_tl }
{
\pdfmanagement_remove:nn {Catalog} { OpenAction }
}
{
- \pdfmanagement_add:nnx {Catalog} { OpenAction }
+ \pdfmanagement_add:nne {Catalog} { OpenAction }
{
[\pdf_pageobject_ref:n {\g_@@_dest_pdfstartpage_tl}~/\g_@@_dest_pdfstartview_tl]
}
@@ -3615,11 +3618,11 @@
,pdfstartpage .initial:n =1
,pdfstartview .code:n =
{
- \tl_set:Nx \l_@@_tmpa_tl {#1~null~null~null~}
+ \tl_set:Ne \l_@@_tmpa_tl {#1~null~null~null~}
\exp_args:NNV
\regex_extract_once:NnNTF \c_@@_dest_startview_regex \l_@@_tmpa_tl \l_@@_tmpa_seq
{
- \tl_gset:Nx \g_@@_dest_pdfstartview_tl {\seq_item:Nn \l_@@_tmpa_seq {1}}
+ \tl_gset:Ne \g_@@_dest_pdfstartview_tl {\seq_item:Nn \l_@@_tmpa_seq {1}}
}
{
\msg_warning:nnnn {hyp}{invalid-destination-value}{#1}{pdfstartview}
@@ -3631,7 +3634,7 @@
\pdfmanagement_remove:nn {Catalog} { OpenAction }
}
{
- \pdfmanagement_add:nnx {Catalog} { OpenAction }
+ \pdfmanagement_add:nne {Catalog} { OpenAction }
{
[\pdf_pageobject_ref:n {\g_@@_dest_pdfstartpage_tl}~/\g_@@_dest_pdfstartview_tl]
}
@@ -3655,7 +3658,7 @@
,pdftoolbar .default:n = true
,pdftoolbar / unknown .code:n =
{
- \msg_warning:nnxx { hyp } { no-bool }
+ \msg_warning:nnee { hyp } { no-bool }
{ pdftoolbar }
{ \exp_not:n {#1} }
}
@@ -3669,7 +3672,7 @@
{ ViewArea } { /#1 }
}
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{hyp}
{ignore-deprecated-or-unknown-option-in-pdf-version}
{pdfviewarea}
@@ -3682,7 +3685,7 @@
}
,pdfviewarea / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee { hyp } { unknown-choice+empty }
{ pdfviewarea }
{ MediaBox, CropBox, BleedBox, TrimBox, ArtBox }
{ \exp_not:n {#1} }
@@ -3696,7 +3699,7 @@
{ ViewClip } { /#1 }
}
{
- \msg_warning:nnxx
+ \msg_warning:nnee
{hyp}
{ignore-deprecated-or-unknown-option-in-pdf-version}
{pdfviewclip}
@@ -3709,7 +3712,7 @@
}
,pdfviewclip / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice+empty }
+ \msg_warning:nneee { hyp } { unknown-choice+empty }
{ pdfviewclip }
{ MediaBox, CropBox, BleedBox, TrimBox, ArtBox }
{ \exp_not:n {#1} }
@@ -3730,7 +3733,7 @@
}
,pdfwindowui / unknown .code:n =
{
- \msg_warning:nnxx { hyp } { no-bool }
+ \msg_warning:nnee { hyp } { no-bool }
{ pdfwindowui }
{ \exp_not:n {#1} }
}
@@ -3758,7 +3761,7 @@
\tl_set:Nn \l_@@_dest_pdfview_tl {xyz}
}
{
- \tl_set:Nx \l_@@_dest_pdfview_tl
+ \tl_set:Ne \l_@@_dest_pdfview_tl
{
\fp_eval:n { \l_@@_tmpa_tl * 100 }
}
@@ -3837,7 +3840,7 @@
{
\tl_if_empty:nF { #1 }
{
- \pdfmanagement_add:nnx {Catalog} { Lang } { (#1) }
+ \pdfmanagement_add:nne {Catalog} { Lang } { (#1) }
\AddToDocumentProperties[document]{lang}{#1}
}
}
@@ -3868,12 +3871,12 @@
{creator}
{
\msg_info:nnn { hyp }{ empty-info-value } { pdfcreator }
- \pdfmanagement_add:nnx {Info}{Creator}{()}
+ \pdfmanagement_add:nne {Info}{Creator}{()}
}
{producer}
{
\msg_info:nnn { hyp }{ empty-info-value } { pdfproducer }
- \pdfmanagement_add:nnx {Info}{Producer}{()}
+ \pdfmanagement_add:nne {Info}{Producer}{()}
}
}
{
@@ -3881,7 +3884,7 @@
}
}
{
- \tl_set:Nx\l_@@_tmpa_tl {\clist_item:nn{##1}{1}}
+ \tl_set:Ne\l_@@_tmpa_tl {\clist_item:nn{##1}{1}}
\exp_args:NNV
\regex_extract_once:NnN \l_@@_optlang_regex \l_@@_tmpa_tl\l_@@_tmpa_seq
\seq_if_empty:NTF\l_@@_tmpa_seq
@@ -3889,12 +3892,12 @@
\@@_text_pdfstring_info:nN {##1}\l_@@_tmpa_str
}
{
- \exp_args:Nx
+ \exp_args:Ne
\@@_text_pdfstring_info:nN {\seq_item:Nn \l_@@_tmpa_seq{3}}\l_@@_tmpa_str
}
\str_if_eq:VnF\l_@@_tmpa_str{<FEFF>}
{
- \pdfmanagement_add:nnx {Info}{#2}{\l_@@_tmpa_str}
+ \pdfmanagement_add:nne {Info}{#2}{\l_@@_tmpa_str}
}
}
\@@_store_metadata:nn {pdf#1}{##1}
@@ -3912,10 +3915,10 @@
\@@_text_pdfstring_info:nN {##1}\l_@@_tmpa_str
\str_if_eq:VnF\l_@@_tmpa_str{<FEFF>}
{
- \pdfmanagement_add:nnx {Info}{#2}{\l_@@_tmpa_str}
+ \pdfmanagement_add:nne {Info}{#2}{\l_@@_tmpa_str}
}
}
- \exp_args:Nx \@@_store_metadata:nn {pdf\str_lowercase:n{#1}}{##1}
+ \exp_args:Ne \@@_store_metadata:nn {pdf\str_lowercase:n{#1}}{##1}
}
,unknown .code:n =
{
@@ -3923,7 +3926,7 @@
\str_if_eq:VnF\l_@@_tmpa_str{<FEFF>}
{
\exp_args:Nno
- \pdfmanagement_add:nnx {Info}
+ \pdfmanagement_add:nne {Info}
{ \l_keys_key_str } {\l_@@_tmpa_str}
}
}
@@ -3953,7 +3956,7 @@
\pdfmanagement_remove:nn {Info}{#2}
}
{
- \pdfmanagement_add:nnx {Info}{#2}{(##1)}
+ \pdfmanagement_add:nne {Info}{#2}{(##1)}
}
\@@_store_metadata:nn {pdf#1}{##1}
\AddToDocumentProperties[document]{#1}{##1}
@@ -3968,9 +3971,9 @@
\pdfmanagement_remove:nn {Info}{#2}
}
{
- \pdfmanagement_add:nnx {Info}{#2}{(##1)}
+ \pdfmanagement_add:nne {Info}{#2}{(##1)}
}
- \exp_args:Nx \@@_store_metadata:nn {pdf\str_lowercase:n{#1}}{##1}
+ \exp_args:Ne \@@_store_metadata:nn {pdf\str_lowercase:n{#1}}{##1}
}
}
}
@@ -3995,12 +3998,12 @@
}
,_pdftrapped .choices:nn = {TRUE,FALSE,UNKNOWN}
{
- \pdfmanagement_add:nnx {Info}{Trapped}
+ \pdfmanagement_add:nne {Info}{Trapped}
{/
\str_uppercase:f { \str_head:n { #1 } }
\str_lowercase:f { \str_tail:n { #1 } }
}
- \@@_store_metadata:nx {pdftrapped}
+ \@@_store_metadata:ne {pdftrapped}
{
\str_uppercase:f { \str_head:n { #1 } }
\str_lowercase:f { \str_tail:n { #1 } }
@@ -4008,7 +4011,7 @@
}
,_pdftrapped / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice }
+ \msg_warning:nneee { hyp } { unknown-choice }
{ pdftrapped }
{ true~(case~insensitive), false~(case~insensitive), unknown~(case~insensitive) }
{ \exp_not:n {#1} }
@@ -4149,11 +4152,11 @@
{
\group_begin:
\keys_set:nn { hyp / trans }{style=R,#1}
- \pdf_object_unnamed_write:nx { dict }
+ \pdf_object_unnamed_write:ne { dict }
{
\pdfdict_use:n {l_@@_page/Trans}
}
- \pdfmanagement_add:nnx {Page}{Trans}{\pdf_object_ref_last:}
+ \pdfmanagement_add:nne {Page}{Trans}{\pdf_object_ref_last:}
\group_end:
}
}
@@ -4165,7 +4168,7 @@
{ \pdfdict_put:nnn {l_@@_page/Trans}{ S }{/#1} }
,style / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice }
+ \msg_warning:nneee { hyp } { unknown-choice }
{ trans / style }
{ Split,Blinds,Box,Wipe,Dissolve,Glitter,R,Fly,Push,Cover,Uncover,Fade }
{ \exp_not:n {#1} }
@@ -4184,7 +4187,7 @@
{ \pdfdict_put:nnn {l_@@_page/Trans}{ Di }{ /None } }
,direction / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice }
+ \msg_warning:nneee { hyp } { unknown-choice }
{ trans / direction }
{
H~(horizontal,~only~Split,~Blinds),
@@ -4203,7 +4206,7 @@
{ \pdfdict_put:nnn {l_@@_page/Trans}{ M }{/#1} }
,motion / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice }
+ \msg_warning:nneee { hyp } { unknown-choice }
{ trans / motion }
{ I~(inwards) , O~(outwards) }
{ \exp_not:n {#1} }
@@ -4214,7 +4217,7 @@
{ \pdfdict_put:nnn { l_@@_page/Trans }{ B } { #1} }
,opaque / unknown .code:n =
{
- \msg_warning:nnxxx { hyp } { unknown-choice }
+ \msg_warning:nneee { hyp } { unknown-choice }
{ trans / B }
{ true~(opaque~back,~only~Fly), false~(opaque~back,~only~Fly) }
{ \exp_not:n {#1} }
@@ -4223,7 +4226,7 @@
,unknown .code:n =
{
% warning ...
- \exp_args:Nnx\keys_set:nn {hyp/trans}{ style=\l_keys_key_str }
+ \exp_args:Nne\keys_set:nn {hyp/trans}{ style=\l_keys_key_str }
}
}
% \end{macrocode}
@@ -4281,7 +4284,7 @@
\def\HyField@AddToFields
{
- \exp_args:Nx\HyField@@AddToFields
+ \exp_args:Ne\HyField@@AddToFields
{
\pdfannot_box_ref_last:
}
@@ -4329,7 +4332,7 @@
\Hy@FormObjects
\prop_map_inline:Nn \g_@@_AcroForm_Fields_prop
{
- \pdfmanagement_add:nnx { Catalog / AcroForm } { Fields }{##1}
+ \pdfmanagement_add:nne { Catalog / AcroForm } { Fields }{##1}
%\pdfmanagement_show:n { Catalog / AcroForm }
}
\prop_if_empty:NF \g_@@_AcroForm_CoFields_prop
@@ -4346,18 +4349,18 @@
}
\seq_map_inline:Nn \l_@@_tmpa_seq
{
- \pdfmanagement_add:nnx { Catalog / AcroForm }
+ \pdfmanagement_add:nne { Catalog / AcroForm }
{ CO }
{
\prop_item:Nn \g_@@_AcroForm_CoFields_prop {##1}
}
}
}
- \pdfmanagement_add:nnx {Catalog / AcroForm/DR/Font }
+ \pdfmanagement_add:nne {Catalog / AcroForm/DR/Font }
{ZaDb} {\pdf_object_ref:n {@@/Font/ZaDb} }
- \pdfmanagement_add:nnx {Catalog / AcroForm/DR/Font }
+ \pdfmanagement_add:nne {Catalog / AcroForm/DR/Font }
{Helv} {\pdf_object_ref:n {@@/Font/Helv} }
- \pdfmanagement_add:nnx {Catalog /AcroForm}
+ \pdfmanagement_add:nne {Catalog /AcroForm}
{DA}{(/Helv~10~Tf~0~g)}
\pdfmeta_standard_verify:nTF {form_no_NeedAppearance}
{
@@ -4538,7 +4541,7 @@
\group_end:
}
}
- \pdfannot_box:nnnx
+ \pdfannot_box:nnne
{\Fld@width}
{\Fld@height}
{0pt} %is this correct?
@@ -4765,7 +4768,7 @@
\pdf_object_new:n {@@/Encoding/pdfdoc }
\pdf_object_new:n {@@/Font/ZaDb }
\pdf_object_new:n {@@/Font/Helv }
- \pdf_object_write:nnx {@@/Encoding/pdfdoc } { dict }
+ \pdf_object_write:nne {@@/Encoding/pdfdoc } { dict }
{
/Type/Encoding
/Differences[
@@ -4814,7 +4817,7 @@
/Name/ZaDb
/BaseFont/ZapfDingbats
}
- \pdf_object_write:nnx {@@/Font/Helv } { dict }
+ \pdf_object_write:nne {@@/Font/Helv } { dict }
{
/Type/Font
/Subtype/Type1
diff --git a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
index d830ce140a..4b4d37a989 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/hyperref-generic.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
index e378716818..4d557d276b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.dtx
@@ -45,7 +45,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
%
@@ -56,27 +56,27 @@
% \begin{macrocode}
%<drivers>\ProvidesExplFile
%<*dvipdfmx>
- {l3backend-testphase-dvipdfmx.def}{2023-10-09}{}
+ {l3backend-testphase-dvipdfmx.def}{2023-11-05}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvipdfmx}
%</dvipdfmx>
%<*dvips>
- {l3backend-testphase-dvips.def}{2023-10-09}{}
+ {l3backend-testphase-dvips.def}{2023-11-05}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvips}
%</dvips>
%<*dvisvgm>
- {l3backend-testphase-dvisvgm.def}{2023-10-09}{}
+ {l3backend-testphase-dvisvgm.def}{2023-11-05}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: dvisvgm}
%</dvisvgm>
%<*luatex>
- {l3backend-testphase-luatex.def}{2023-10-09}{}
+ {l3backend-testphase-luatex.def}{2023-11-05}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (LuaTeX)}
%</luatex>
%<*pdftex>
- {l3backend-testphase-pdftex.def}{2023-10-09}{}
+ {l3backend-testphase-pdftex.def}{2023-11-05}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: PDF output (pdfTeX)}
%</pdftex>
%<*xdvipdfmx>
- {l3backend-testphase-xetex.def}{2023-10-09}{}
+ {l3backend-testphase-xetex.def}{2023-11-05}{}
{LaTeX~PDF~management~testphase~bundle~backend~support: XeTeX}
%</xdvipdfmx>
% \end{macrocode}
@@ -446,7 +446,7 @@
%we need to know the page the resource should be added too.
\int_gincr:N\g_@@_backend_resourceid_int
\@@_backend_record_abspage:e { l3pdf\int_use:N\g_@@_backend_resourceid_int }
- \tl_set:Nx \l_@@_tmpa_tl
+ \tl_set:Ne \l_@@_tmpa_tl
{
\@@_backend_ref_abspage:e {l3pdf\int_use:N\g_@@_backend_resourceid_int}
}
@@ -734,7 +734,7 @@
\prop_if_empty:cF
{ \__kernel_pdfdict_name:n { g_@@_Core/Page/Resources/##1} }
{
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Page/Resources/##1 } { dict }
{ \pdfdict_use:n { g_@@_Core/Page/Resources/##1} }
}
@@ -1101,7 +1101,7 @@
}
{
\@@_backend_record_abspage:e {l3pdf\int_use:N\g_@@_backend_resourceid_int}
- \tl_set:Nx \l_@@_tmpa_tl
+ \tl_set:Ne \l_@@_tmpa_tl
{
\@@_backend_ref_abspage:e{l3pdf\int_use:N\g_@@_backend_resourceid_int}
}
@@ -1131,7 +1131,7 @@
}
{
\@@_backend_record_abspage:e{l3pdf\int_use:N\g_@@_backend_resourceid_int}
- \tl_set:Nx \l_@@_tmpa_tl
+ \tl_set:Ne \l_@@_tmpa_tl
{
\@@_backend_ref_abspage:e{l3pdf\int_use:N\g_@@_backend_resourceid_int}
}
@@ -1358,13 +1358,13 @@
#4
}
%store the dimensions
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_wd_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_wd:N \l_@@_backend_tmpa_box }
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_ht_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_ht:N \l_@@_backend_tmpa_box }
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_dp_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_dp:N \l_@@_backend_tmpa_box }
%% do we need to test if #2 and #3 are empty??
@@ -1439,13 +1439,13 @@
\prop_gclear:c { \__kernel_pdfdict_name:n { g_@@_Core/Xform/Resources/Properties } }
#4
}
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_wd_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_wd:N \l_@@_backend_tmpa_box }
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_ht_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_ht:N \l_@@_backend_tmpa_box }
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_dp_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_dp:N \l_@@_backend_tmpa_box }
%% do we need to test if #2 and #3 are empty??
@@ -1531,13 +1531,13 @@
\bool_set_true:N \l_@@_backend_xform_bool
#4
}
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_wd_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_wd:c { g_@@_backend_xform_#1_box } }
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_ht_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_ht:c { g_@@_backend_xform_#1_box } }
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_dp_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_dp:c { g_@@_backend_xform_#1_box } }
\box_set_dp:cn { g_@@_backend_xform_#1_box } { \c_zero_dim }
@@ -1644,27 +1644,27 @@
#4
}
%store the dimensions
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_wd_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_wd:N \l_@@_backend_tmpa_box }
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_ht_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_ht:N \l_@@_backend_tmpa_box }
- \tl_const:cx
+ \tl_const:ce
{ c_@@_backend_xform_dp_ \tl_to_str:n {#1} _tl }
{ \tex_the:D \box_dp:N \l_@@_backend_tmpa_box }
%store content dimensions in DPI units (Dots) (code from issue 25)
- \tl_set:Nx\l_@@_backend_xform_tmpwd_tl
+ \tl_set:Ne\l_@@_backend_xform_tmpwd_tl
{
\dim_to_decimal_in_sp:n{ \box_wd:N \l_@@_backend_tmpa_box }~
65536~div~72.27~div~DVImag~mul~Resolution~mul~
}
- \tl_set:Nx\l_@@_backend_xform_tmpht_tl
+ \tl_set:Ne\l_@@_backend_xform_tmpht_tl
{
\dim_to_decimal_in_sp:n{ \box_ht:N \l_@@_backend_tmpa_box }~
65536~div~72.27~div~DVImag~mul~VResolution~mul~
}
- \tl_set:Nx\l_@@_backend_xform_tmpdp_tl
+ \tl_set:Ne\l_@@_backend_xform_tmpdp_tl
{
\dim_to_decimal_in_sp:n{ \box_dp:N \l_@@_backend_tmpa_box }~
65536~div~72.27~div~DVImag~mul~VResolution~mul~
@@ -2125,8 +2125,8 @@
\__kernel_backend_literal:e{!~<</InstanceUUID~(InstanceUUID)>>~setpagedevice}
\str_if_exist:NTF\c_sys_timestamp_str
{
- \pdfmanagement_add:nnx{Info}{CreationDate}{(\c_sys_timestamp_str)}
- \pdfmanagement_add:nnx{Info}{ModDate}{(\c_sys_timestamp_str)}
+ \pdfmanagement_add:nne{Info}{CreationDate}{(\c_sys_timestamp_str)}
+ \pdfmanagement_add:nne{Info}{ModDate}{(\c_sys_timestamp_str)}
}
{
\pdfmanagement_add:nnn{Info}{CreationDate}{(D:20010101205959-00'00')}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
index 5abbe8a3f2..233f89550f 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3backend-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
index a6384c182c..73b309615c 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -93,7 +93,7 @@
% \subsection{General annotation commands}
%
% \begin{function}[added = 2019-09-05, updated = 2020-04-14]
-% { \pdfannot_box:nnnn,\pdfannot_box:nnnx }
+% { \pdfannot_box:nnnn,\pdfannot_box:nnne }
% \begin{syntax}
% \cs{pdfannot_box:nnnn} \Arg{width} \Arg{height} \Arg{depth} \Arg{annot spec}
% \end{syntax}
@@ -123,7 +123,7 @@
% \pdfdict_new:n {l_my_annot}
% \pdfdict_put:nnn{l_my_annot}{Subtype}{/Link}
% \pdfdict_put:nnn{l_my_annot}{Border}{[0~0~1]}
-% \pdfannot_box:nnnx{1cm}{1cm}{0cm}{\pdfdict_use:n{l_my_annot}}
+% \pdfannot_box:nnne{1cm}{1cm}{0cm}{\pdfdict_use:n{l_my_annot}}
% \end{verbatim}
%
% The second method is clearly slower and more to type. But it has the advantage
@@ -187,7 +187,7 @@
% by the commands \cs{pdfannot_dict_put:nnn} and friends described below.
% \end{variable}
% \begin{function}[added = 2020-03-12, updated = 2020-12-06]
-% { \pdfannot_link:nnn,\pdfannot_link:nxn }
+% { \pdfannot_link:nnn,\pdfannot_link:nen }
% \begin{syntax}
% \cs{pdfannot_link:nnn} \Arg{type} \Arg{user action spec} \Arg{link text}
% \end{syntax}
@@ -237,7 +237,7 @@
% \pdfannot_dict_put:nnn
% {link/URI} { C } {[1~0~0]} %red border
%
-% \pdfannot_link:nxn { URI }
+% \pdfannot_link:nen { URI }
% {
% /A <<\pdfdict_use:n{l_my_action_dict}>>
% }
@@ -260,7 +260,7 @@
% {link/URI} { C } {[1~0~0]} %red border
%
% \group_begin:
-% \pdfannot_dict_put:nnx {link/GoTo}{A}{<<\pdfdict_use:n{l_my_action_dict}>>}
+% \pdfannot_dict_put:nne {link/GoTo}{A}{<<\pdfdict_use:n{l_my_action_dict}>>}
% \pdfannot_link:nnn { URI }{}{ link text }
% \group_end:
% \end{verbatim}
@@ -381,7 +381,7 @@
% This outputs the property list of the dictionary as a list of
% |/key value| pairs.
% This can be used e.g. when writing a dictionary object with
-% \cs{pdf_object_write:nnx}
+% \cs{pdf_object_write:nne}
% \end{function}
%
% \begin{variable}[added = 2020-12-28]{\l_pdfannot_F_bitset}
@@ -390,7 +390,7 @@
% It can be used for example like this:
% \begin{verbatim}
% \bitset_set_true:Nn \l_pdfannot_F_bitset {Print}
-% \pdfannot_dict_put:nnx {link/URI} {F}
+% \pdfannot_dict_put:nne {link/URI} {F}
% { \bitset_to_arabic:N \l_pdfannot_F_bitset }
% \end{verbatim}
% The known keys for the bitset are |Invisible|, |Hidden|,
@@ -432,7 +432,7 @@
% \begin{macrocode}
%<@@=pdfannot>
%<*header>
-\ProvidesExplPackage{l3pdfannot}{2023-10-09}{0.96a}
+\ProvidesExplPackage{l3pdfannot}{2023-11-05}{0.96b}
{PDF-annotations}
\RequirePackage{l3pdfdict}
%</header>
@@ -481,14 +481,14 @@
% type or not type? Syntax for type?
% should there be a version without type?
% \end{NOTE}
-% \begin{macro}{\pdfannot_box:nnnn,\pdfannot_box:nnnx,\pdfannot_box_ref_last:}
+% \begin{macro}{\pdfannot_box:nnnn,\pdfannot_box:nnne,\pdfannot_box_ref_last:}
% \begin{macrocode}
\cs_new_protected:Npn \pdfannot_box:nnnn #1 #2 #3 #4
{
\__pdf_backend_annotation:nnnn {#1}{#2}{#3}{#4}
\bool_gset_false:N\g_@@_use_lastlink_bool
}
-\cs_generate_variant:Nn \pdfannot_box:nnnn {nnnx}
+\cs_generate_variant:Nn \pdfannot_box:nnnn {nnne,nnnx}
\cs_new:Npn \pdfannot_box_ref_last:
{
\__pdf_backend_annotation_last:
@@ -520,34 +520,34 @@
{
\pdfdict_if_empty:nF { l_@@/widget/AA }
{
- \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n{l_@@/widget/AA}}
- \pdfdict_put:nnx { l_@@/widget }
+ \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n{l_@@/widget/AA}}
+ \pdfdict_put:nne { l_@@/widget }
{AA}
{\pdf_object_ref_last:}
}
}
\pdfdict_if_empty:nF { l_@@/widget/AP }
{
- \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n{l_@@/widget/AP}}
- \pdfdict_put:nnx { l_@@/widget }
+ \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n{l_@@/widget/AP}}
+ \pdfdict_put:nne { l_@@/widget }
{AP}
{\pdf_object_ref_last:}
}
\pdfdict_if_empty:nF { l_@@/widget/MK }
{
- \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n{l_@@/widget/MK}}
- \pdfdict_put:nnx { l_@@/widget }
+ \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n{l_@@/widget/MK}}
+ \pdfdict_put:nne { l_@@/widget }
{MK}
{\pdf_object_ref_last:}
}
\pdfdict_if_empty:nF { l_@@/widget/BS }
{
- \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n{l_@@/widget/BS}}
- \pdfdict_put:nnx { l_@@/widget }
+ \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n{l_@@/widget/BS}}
+ \pdfdict_put:nne { l_@@/widget }
{BS}
{\pdf_object_ref_last:}
}
- \pdfannot_box:nnnx {#1}{#2}{#3}
+ \pdfannot_box:nnne {#1}{#2}{#3}
{
\pdfdict_use:n { l_@@/widget}
}
@@ -618,14 +618,14 @@
%
% \subsubsection{Annotations, subtype Link /management}
%
-% \begin{macro}{\pdfannot_link:nnn,\pdfannot_link:nxn}
+% \begin{macro}{\pdfannot_link:nnn,\pdfannot_link:nen}
% \begin{macrocode}
\cs_new_protected:Nn \pdfannot_link:nnn %#1 type (URI, GoTo etc),
%#2 action spec, #3 link text
{
\hook_use:n { pdfannot/link/#1/before}
\mode_leave_vertical:
- \exp_args:Nxx %xetex needs expansion
+ \exp_args:Nee %xetex needs expansion
\__pdf_backend_link_begin_user:nnw
{
\pdfdict_if_exist:nT { l_@@/link/#1 }
@@ -644,19 +644,19 @@
\bool_gset_true:N \g_@@_use_lastlink_bool
\hook_use:n { pdfannot/link/#1/after}
}
-\cs_generate_variant:Nn \pdfannot_link:nnn {nxn}
+\cs_generate_variant:Nn \pdfannot_link:nnn {nen,nxn}
% \end{macrocode}
% \end{macro}
% \begin{macro}{
% \pdfannot_link_begin:nnw,
-% \pdfannot_link_begin:nxw,
+% \pdfannot_link_begin:new,
% \pdfannot_link_end:n }
% \begin{macrocode}
\cs_new_protected:Npn \pdfannot_link_begin:nnw #1 #2 %#1 type, #2 action spec
{
\hook_use:n { pdfannot/link/#1/before}
\mode_leave_vertical:
- \exp_args:Nxx %xetex needs expansion
+ \exp_args:Nee %xetex needs expansion
\__pdf_backend_link_begin_user:nnw
{
\pdfdict_if_exist:nT { l_@@/link/#1 }
@@ -676,7 +676,7 @@
\bool_gset_true:N \g_@@_use_lastlink_bool
\hook_use:n { pdfannot/link/#1/after}
}
-\cs_generate_variant:Nn \pdfannot_link_begin:nnw {nxw}
+\cs_generate_variant:Nn \pdfannot_link_begin:nnw {new,nxw}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\pdfannot_link_goto_begin:nw, \pdfannot_link_goto_end:}
@@ -686,7 +686,7 @@
\pdfdict_remove:nn { l_@@/link/GoTo} {Subtype}
\hook_use:n { pdfannot/link/GoTo/before} %the backend add it too
\mode_leave_vertical:
- \exp_args:Nxx %xetex needs expansion
+ \exp_args:Nee %xetex needs expansion
\__pdf_backend_link_begin_goto:nnw
{
\pdfdict_use:n { l_@@/link/GoTo}
@@ -734,7 +734,7 @@
% \begin{macro}
% {
% \pdfannot_dict_put:nnn,
-% \pdfannot_dict_put:nnx,
+% \pdfannot_dict_put:nne,
% \pdfannot_dict_remove:nn,
% \pdfannot_dict_show:n
% \pdfannot_dict_use:n
@@ -744,7 +744,7 @@
{
\pdfdict_put:nnn { l_@@/#1 } { #2 }{ #3 }
}
-\cs_generate_variant:Nn \pdfannot_dict_put:nnn {nnx}
+\cs_generate_variant:Nn \pdfannot_dict_put:nnn {nne,nnx}
% \end{macrocode}
% \begin{macrocode}
\cs_new_protected:Npn \pdfannot_dict_remove:nn #1 #2
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
index 92ae61b635..4871acbc4b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfannot.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
index d95382ad91..88f6f1bd1c 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -144,7 +144,7 @@
% This outputs the property list of the dictionary as a list of
% |/key value| pairs.
% This can be used e.g. when writing a dictionary object with
-% \cs{pdf_object_write:nnx}
+% \cs{pdf_object_write:nne}
% \end{function}
%
% \begin{function}[updated = 2020-12-03]
@@ -208,7 +208,7 @@
% \begin{macrocode}
%<@@=pdfdict>
%<*header>
-\ProvidesExplPackage{l3pdfdict}{2023-10-09}{0.96a}
+\ProvidesExplPackage{l3pdfdict}{2023-11-05}{0.96b}
{Tools for PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
@@ -285,7 +285,7 @@
{
\@@_if_exist:nTF { #1 }
{
- \msg_error:nnxx
+ \msg_error:nnee
{ pdfdict }
{ dict-already-defined }
{ \tl_to_str:n {#1} }
@@ -306,7 +306,7 @@
}
}
{
- \msg_error:nnx{pdfdict}{invalid-name}{\tl_to_str:n{#1}}
+ \msg_error:nne{pdfdict}{invalid-name}{\tl_to_str:n{#1}}
}
}
}
@@ -419,7 +419,7 @@
{
\@@_if_exist:nTF { #1 }
{
- \exp_args:Nnx \prop_put:cnn
+ \exp_args:Nne \prop_put:cnn
{ \@@_name:n { #1 } }{ \str_convert_pdfname:n { #2 } } { #3 }
}
{
@@ -429,7 +429,7 @@
}
\cs_set_eq:NN \pdfdict_put:nnn \@@_put:nnn
-\cs_generate_variant:Nn \pdfdict_put:nnn {nnx,nno,nee}
+\cs_generate_variant:Nn \pdfdict_put:nnn {nne,nno,nee,nnx}
\cs_new_protected:Npn \@@_gput:nnn #1 #2 #3 %#1 global dict, #2 name, #3 value
{
@@ -440,7 +440,7 @@
{
\@@_if_exist:nTF { #1 }
{
- \exp_args:Nnx \prop_gput:cnn
+ \exp_args:Nne \prop_gput:cnn
{ \@@_name:n { #1 } }{ \str_convert_pdfname:n { #2 } } { #3 }
}
{
@@ -450,7 +450,7 @@
}
\cs_set_eq:NN \pdfdict_gput:nnn \@@_gput:nnn
-\cs_generate_variant:Nn \pdfdict_gput:nnn {nnx,nno,nee}
+\cs_generate_variant:Nn \pdfdict_gput:nnn {nne,nno,nee,nnx}
% \end{macrocode}
% \end{macro}
%
@@ -464,7 +464,7 @@
{
\@@_if_exist:nTF { #1 }
{
- \exp_args:Nnx \prop_get:cnN
+ \exp_args:Nne \prop_get:cnN
{ \@@_name:n { #1 } }
{ \str_convert_pdfname:n { #2 } } #3
}
@@ -489,7 +489,7 @@
{
\@@_if_exist:nTF { #1 }
{
- \exp_args:Nnx \prop_remove:cn
+ \exp_args:Nne \prop_remove:cn
{ \@@_name:n { #1 } }{ \str_convert_pdfname:n { #2 } }
}
{
@@ -502,7 +502,7 @@
{
\@@_if_exist:nTF { #1 }
{
- \exp_args:Nnx \prop_gremove:cn
+ \exp_args:Nne \prop_gremove:cn
{ \@@_name:n { #1 } }{ \str_convert_pdfname:n { #2 } }
}
{
@@ -537,7 +537,7 @@
}
\cs_new_protected:Npn \pdfdict_show:n #1
{
- \@@_show:Nn \msg_show:nnxxxx {#1}
+ \@@_show:Nn \msg_show:nneeee {#1}
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
index c580144fb5..5c0de310c3 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfdict.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
index 09489fc8a1..3948784b33 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -92,7 +92,7 @@
%
% \begin{verbatim}
% Netto~\pdffield_textfield:n{name=netto}~
-% \pdf_object_unnamed_write:nx{stream}
+% \pdf_object_unnamed_write:ne{stream}
% {
% {}
% {
@@ -100,7 +100,7 @@
% event.value = 1.19*f_netto.value;
% }
% }
-% \tl_set:Nx\l_tmpa_tl{\pdf_object_ref_last:}
+% \tl_set:Ne\l_tmpa_tl{\pdf_object_ref_last:}
% Brutto~\pdffield_textfield:n{name=brutto,AA/C={\l_tmpa_tl}}
% \end{verbatim}
%
@@ -388,8 +388,8 @@
% ,\dim_set:N
% ,\endcsname
% ,\exp_args:Ne
-% ,\exp_args:Nnx
-% ,\exp_args:Nx
+% ,\exp_args:Nne
+% ,\exp_args:Ne
% ,\fboxsep
% ,\group_begin:
% ,\group_end:
@@ -422,12 +422,12 @@
% ,\pdf_object_ref:n
% ,\pdf_object_ref_last:
% ,\pdf_object_unnamed_write:nn
-% ,\pdf_object_unnamed_write:nx
+% ,\pdf_object_unnamed_write:ne
% ,\pdf_object_write:nnn
% ,\pdf_string_from_unicode:nnN
% ,\pdfannot_box_ref_last:
% ,\pdfannot_dict_put:nnn
-% ,\pdfannot_dict_put:nnx
+% ,\pdfannot_dict_put:nne
% ,\pdfannot_dict_remove:nn
% ,\pdfannot_widget_box:nnn
% ,\pdfdict_if_empty:nTF
@@ -436,7 +436,7 @@
% ,\pdfdict_put:nnn
% ,\pdfdict_remove:nn
% ,\pdfdict_use:n
-% ,\pdfdict_put:nnx
+% ,\pdfdict_put:nne
% ,\pdfmanagement_add:nnn
% ,\pdfmeta_standard_verify:nTF
% ,\pdfxform_if_exist:nTF
@@ -608,7 +608,7 @@
\cs_if_exist:cTF { @@_action_reset_#1: }
{
\use:c { @@_action_reset_#1: }
- \pdfannot_dict_put:nnx{widget}
+ \pdfannot_dict_put:nne{widget}
{A}
{\tl_use:c { c_@@_action_reset_#1_tl } }
}
@@ -626,7 +626,7 @@
\cs_if_exist:cTF { @@_action_submit_#1: }
{
\use:c { @@_action_submit_#1: }
- \pdfannot_dict_put:nnx{widget}
+ \pdfannot_dict_put:nne{widget}
{A}
{\tl_use:c { c_@@_action_submit_#1_tl } }
}
@@ -641,8 +641,8 @@
import .code:n =
{
\pdf_string_from_unicode:nnN {utf8/string}{#1}\l_@@_tmpa_str
- \pdf_object_unnamed_write:nx {dict}{/Type/Action/S/ImportData/F\l_@@_tmpa_str}
- \pdfannot_dict_put:nnx{widget}
+ \pdf_object_unnamed_write:ne {dict}{/Type/Action/S/ImportData/F\l_@@_tmpa_str}
+ \pdfannot_dict_put:nne{widget}
{A}
{\pdf_object_ref_last: }
}
@@ -714,25 +714,25 @@
\group_begin:
\seq_clear:N \l_@@_action_Fields_seq
\keys_set:nn { pdffield / action }{ #2 }
- \pdf_object_unnamed_write:nx
+ \pdf_object_unnamed_write:ne
{ array }
{ \seq_use:Nn \l_@@_action_Fields_seq {~} }
\tl_if_empty:NF \l_@@_action_next_tl
{
- \pdfdict_put:nnx {l_@@/ResetForm}{Next}{\l_@@_action_next_tl}
+ \pdfdict_put:nne {l_@@/ResetForm}{Next}{\l_@@_action_next_tl}
}
- \pdfdict_put:nnx
+ \pdfdict_put:nne
{ l_@@/ResetForm }
{ Fields }
{ \pdf_object_ref_last: }
- \pdfdict_put:nnx
+ \pdfdict_put:nne
{ l_@@/ResetForm }
{ Flags }
{ \bitset_item:Nn\l_@@_Flags_bitset{Include/Exclude} }
- \pdf_object_unnamed_write:nx
+ \pdf_object_unnamed_write:ne
{ dict }
{ \pdfdict_use:n{l_@@/ResetForm} }
- \tl_const:cx { c_@@_action_reset_#1_tl } { \pdf_object_ref_last: }
+ \tl_const:ce { c_@@_action_reset_#1_tl } { \pdf_object_ref_last: }
\cs_gset_eq:cN {@@_action_reset_#1:} \prg_do_nothing:
\group_end:
}
@@ -764,30 +764,30 @@
\bitset_clear:N \l_@@_Flags_bitset
\keys_set:nn {pdffield/action}{#2}
\use:c{ @@_action_flags_\l_@@_action_export_tl :}
- \pdfdict_put:nnx
+ \pdfdict_put:nne
{ l_@@/SubmitForm }
{ Flags }
{ \bitset_to_arabic:N \l_@@_Flags_bitset }
\tl_if_empty:NF \l_@@_action_next_tl
{
- \pdfdict_put:nnx {l_@@/SubmitForm}{Next}{\l_@@_action_next_tl}
+ \pdfdict_put:nne {l_@@/SubmitForm}{Next}{\l_@@_action_next_tl}
}
\bool_if:NTF \l_@@_url_encode_bool
{ \pdf_string_from_unicode:nnN { utf8/URI } {#3}\l_@@_tmpa_str }
{ \pdf_string_from_unicode:nnN { utf8/string }{#3}\l_@@_tmpa_str }
- \pdf_object_unnamed_write:nx {dict}
+ \pdf_object_unnamed_write:ne {dict}
{
/FS/URL
/F \l_@@_tmpa_str
}
- \pdfdict_put:nnx
+ \pdfdict_put:nne
{ l_@@/SubmitForm }
{ F }
{ \pdf_object_ref_last: }
- \pdf_object_unnamed_write:nx
+ \pdf_object_unnamed_write:ne
{ dict }
{ \pdfdict_use:n{ l_@@/SubmitForm } }
- \tl_const:cx { c_@@_action_submit_#1_tl } { \pdf_object_ref_last: }
+ \tl_const:ce { c_@@_action_submit_#1_tl } { \pdf_object_ref_last: }
\cs_gset_eq:cN { @@_action_submit_#1: } \prg_do_nothing:
\group_end:
}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
index 46ae5b82f2..11934af61c 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-action.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
index 1a053e7180..cb16c8f00d 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.dtx
@@ -64,7 +64,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -486,14 +486,14 @@
,checked .choice:
,checked / false .code:n =
{
- \pdfdict_put:nnx { l_@@/field }{V} { /Off }
- \pdfdict_put:nnx { l_@@/field }{DV}{ /Off }
+ \pdfdict_put:nne { l_@@/field }{V} { /Off }
+ \pdfdict_put:nne { l_@@/field }{DV}{ /Off }
\pdfannot_dict_put:nnn {widget}{AS}{ /Off }
}
,checked / true .code:n =
{
- \pdfdict_put:nnx { l_@@/field }{V} { /Yes }
- \pdfdict_put:nnx { l_@@/field }{DV}{ /Yes }
+ \pdfdict_put:nne { l_@@/field }{V} { /Yes }
+ \pdfdict_put:nne { l_@@/field }{DV}{ /Yes }
\pdfannot_dict_put:nnn {widget}{AS}{ /Yes }
}
,checked .default:n = {true}
@@ -504,14 +504,14 @@
,__value .choice:
,__value / Off .code:n =
{
- \pdfdict_put:nnx { l_@@/field }{V} { /Off }
- \pdfdict_put:nnx { l_@@/field }{DV}{ /Off }
+ \pdfdict_put:nne { l_@@/field }{V} { /Off }
+ \pdfdict_put:nne { l_@@/field }{DV}{ /Off }
\pdfannot_dict_put:nnn {widget}{AS}{ /Off }
}
,__value / Yes .code:n =
{
- \pdfdict_put:nnx { l_@@/field }{V} { /Yes }
- \pdfdict_put:nnx { l_@@/field }{DV}{ /Yes }
+ \pdfdict_put:nne { l_@@/field }{V} { /Yes }
+ \pdfdict_put:nne { l_@@/field }{DV}{ /Yes }
\pdfannot_dict_put:nnn {widget}{AS}{ /Yes }
}
}
@@ -542,14 +542,14 @@
\pdf_object_if_exist:nF {@@/checkbox/AP/#1}
{
\pdf_object_new:n {@@/checkbox/AP/#1}
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{@@/checkbox/AP/#1} { dict }
{
/Yes ~ \pdfxform_ref:n { #1/Yes}
/Off ~ \pdfxform_ref:n { #1/Off}
}
}
- \pdfannot_dict_put:nnx {widget/AP}{#2}{\pdf_object_ref:n{@@/checkbox/AP/#1}}
+ \pdfannot_dict_put:nne {widget/AP}{#2}{\pdf_object_ref:n{@@/checkbox/AP/#1}}
}
{
\msg_error:nnnn{pdffield}{appearance-missing}{#1}{#3}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
index d6e06870ad..3ebc6e7caa 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-checkbox.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
index 5b9993158f..23d142d089 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -369,14 +369,14 @@
% ,\pdf_object_ref:n
% ,\pdf_object_ref_last:
% ,\pdf_object_unnamed_write:nn
-% ,\pdf_object_unnamed_write:nx
-% ,\pdf_object_write:nnx
+% ,\pdf_object_unnamed_write:ne
+% ,\pdf_object_write:nne
% ,\pdf_object_write:nnn
% ,\pdf_string_from_unicode:nnN
% ,\pdfannot_box_ref_last:
% ,\pdfannot_dict_put:nnn
-% ,\pdfannot_dict_put:nnx
-% ,\pdfdict_put:nnx
+% ,\pdfannot_dict_put:nne
+% ,\pdfdict_put:nne
% ,\pdfannot_dict_remove:nn
% ,\pdfannot_widget_box:nnn
% ,\pdfdict_if_empty:nTF
@@ -470,7 +470,7 @@
\seq_map_indexed_inline:Nn \l_@@_choice_values_seq
{
\pdf_string_from_unicode:nnN{utf16/hex}{##2}\l_@@_tmpa_str
- \tl_set:Nx \l_@@_tmpa_tl {\seq_item:Nn \l_@@_choice_displayvalues_seq {##1} }
+ \tl_set:Ne \l_@@_tmpa_tl {\seq_item:Nn \l_@@_choice_displayvalues_seq {##1} }
\tl_if_empty:NTF \l_@@_tmpa_tl
{
\seq_put_right:NV \l_@@_choice_opt_seq \l_@@_tmpa_str
@@ -478,12 +478,12 @@
{
\exp_args:NnV
\pdf_string_from_unicode:nnN{utf16/hex}\l_@@_tmpa_tl\l_@@_tmpb_str
- \seq_put_right:Nx \l_@@_choice_opt_seq
+ \seq_put_right:Ne \l_@@_choice_opt_seq
{ [ \l_@@_tmpa_str\c_space_tl\l_@@_tmpb_str] }
}
}
- \pdf_object_unnamed_write:nx {array}{\seq_use:Nn\l_@@_choice_opt_seq {~}}
- \pdfdict_put:nnx { l_@@/field }{Opt} { \pdf_object_ref_last: }
+ \pdf_object_unnamed_write:ne {array}{\seq_use:Nn\l_@@_choice_opt_seq {~}}
+ \pdfdict_put:nne { l_@@/field }{Opt} { \pdf_object_ref_last: }
% \end{macrocode}
% Now we handle the V value. If MultiSelect is set, we use the full
% displayvalues seq, if not only the first value.
@@ -495,14 +495,14 @@
{
\pdf_string_from_unicode:nnN{utf16/hex}{##1}\l_@@_tmpa_str
\tl_put_right:NV \l_@@_tmpa_tl \l_@@_tmpa_str
- \pdfdict_put:nnx { l_@@/field }{V} { [ \l_@@_tmpa_tl ] }
+ \pdfdict_put:nne { l_@@/field }{V} { [ \l_@@_tmpa_tl ] }
}
}
{
- \tl_set:Nx \l_@@_tmpa_tl {\seq_item:Nn \l_@@_choice_defaultvalues_seq {1} }
+ \tl_set:Ne \l_@@_tmpa_tl {\seq_item:Nn \l_@@_choice_defaultvalues_seq {1} }
\exp_args:NnV
\pdf_string_from_unicode:nnN{utf16/hex}\l_@@_tmpa_tl\l_@@_tmpb_str
- \pdfdict_put:nnx { l_@@/field }{V} { \l_@@_tmpb_str }
+ \pdfdict_put:nne { l_@@/field }{V} { \l_@@_tmpb_str }
}
% \end{macrocode}
% now we create the field and set it as parent for the following annotation.
@@ -605,7 +605,7 @@
}
,top-index .code:n =
{
- \pdfdict_put:nnx {l_@@/field}{TI}{\int_eval:n{#1-1}}
+ \pdfdict_put:nne {l_@@/field}{TI}{\int_eval:n{#1-1}}
}
}
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
index c8c02c3dd7..3bf4f3e933 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-choice.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
index 7471de15f8..38f3b91b12 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.dtx
@@ -55,7 +55,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -82,8 +82,8 @@
% \group_begin:
% \tl_set:Nn\l_tmpa_tl{app.alert('Hello!~I\'m~Bär!',3,0);}
% \regex_replace_once:nnN{ä}{\x5Cu00E4}\l_tmpa_tl{}
-% \pdf_object_unnamed_write:nx{stream}{{}{\exp_not:o{\l_tmpa_tl}}}
-% \pdfannot_dict_put:nnx{widget}{A}{<</S/JavaScript /JS~\pdf_object_ref_last:>>}
+% \pdf_object_unnamed_write:ne{stream}{{}{\exp_not:o{\l_tmpa_tl}}}
+% \pdfannot_dict_put:nne{widget}{A}{<</S/JavaScript /JS~\pdf_object_ref_last:>>}
% \pdffield_pushbutton:n{name=bear,appearance=pdffield/bear,width=23pt,height=30pt,depth=10pt}
% \group_end:
% \ExplSyntaxOff
@@ -93,9 +93,9 @@
%^^A \group_begin:
%^^A \tl_set:Nn\l_tmpa_tl{app.alert('Hello!~Im~Bär!',3,0);}
%^^A \regex_replace_once:nnN{ä}{\x5Cu00E4}\l_tmpa_tl{}
-%^^A \pdf_object_unnamed_write:nx{stream}{{}{\exp_not:o{\l_tmpa_tl}}}
-%^^A \pdf_object_unnamed_write:nx{dict}{/S/JavaScript /JS~\pdf_object_ref_last:}
-%^^A \pdfannot_dict_put:nnx{widget}{A}{\pdf_object_ref_last:}
+%^^A \pdf_object_unnamed_write:ne{stream}{{}{\exp_not:o{\l_tmpa_tl}}}
+%^^A \pdf_object_unnamed_write:ne{dict}{/S/JavaScript /JS~\pdf_object_ref_last:}
+%^^A \pdfannot_dict_put:nne{widget}{A}{\pdf_object_ref_last:}
%^^A \pdffield_pushbutton:n{name=bear,appearance=pdffield/bear,width=23pt,height=30pt,depth=10pt}
%^^A \group_end:%
% \bigskip
@@ -318,8 +318,8 @@
% ,\dim_set:N
% ,\endcsname
% ,\exp_args:Ne
-% ,\exp_args:Nnx
-% ,\exp_args:Nx
+% ,\exp_args:Nne
+% ,\exp_args:Ne
% ,\fboxsep
% ,\group_begin:
% ,\group_end:
@@ -355,7 +355,7 @@
% ,\pdf_string_from_unicode:nnN
% ,\pdfannot_box_ref_last:
% ,\pdfannot_dict_put:nnn
-% ,\pdfannot_dict_put:nnx
+% ,\pdfannot_dict_put:nne
% ,\pdfannot_dict_remove:nn
% ,\pdfannot_widget_box:nnn
% ,\pdfdict_if_empty:nTF
@@ -442,7 +442,7 @@
\cs_new_protected:Npn \@@_pushbutton_default_appearances:
{
\int_gincr:N \g_@@_pushbutton_cnt_int
- \exp_args:Nx
+ \exp_args:Ne
\pdffield_appearance:nn {pdffield/pushbutton/default-\int_use:N \g_@@_pushbutton_cnt_int}
{
\draw_begin:
@@ -517,7 +517,7 @@
\draw_box_use:N \l_tmpa_box
\draw_end:
}
- \exp_args:Nx
+ \exp_args:Ne
\pdffield_appearance:nn {pdffield/pushbutton/defaultrollover-\int_use:N \g_@@_pushbutton_cnt_int}
{
\draw_begin:
@@ -591,7 +591,7 @@
\draw_box_use:N \l_tmpa_box
\draw_end:
}
- \exp_args:Nx
+ \exp_args:Ne
\pdffield_appearance:nn {pdffield/pushbutton/defaultdown-\int_use:N \g_@@_pushbutton_cnt_int}
{
\draw_begin:
@@ -723,7 +723,7 @@
\tl_if_empty:NT\l_@@_pushbutton_appearance_code_tl
{
\@@_pushbutton_default_appearances:
- \exp_args:Nnx
+ \exp_args:Nne
\keys_set:nn {pdffield}
{
appearance = pdffield/pushbutton/default-\int_eval:n{ \g_@@_pushbutton_cnt_int},
@@ -751,7 +751,7 @@
{
\pdfxform_if_exist:nTF { #1 }
{
- \pdfannot_dict_put:nnx {widget/AP}{#2}{\pdfxform_ref:n{#1}}
+ \pdfannot_dict_put:nne {widget/AP}{#2}{\pdfxform_ref:n{#1}}
}
{
\msg_error:nnnn{pdffield}{appearance-missing}{#1}{#3}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
index c561ea10a5..afb6ed1e8e 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-pushbutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
index 8098d4684c..3c82cdde97 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.dtx
@@ -83,7 +83,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -519,14 +519,14 @@
% ,\pdf_object_ref:n
% ,\pdf_object_ref_last:
% ,\pdf_object_unnamed_write:nn
-% ,\pdf_object_unnamed_write:nx
-% ,\pdf_object_write:nnx
+% ,\pdf_object_unnamed_write:ne
+% ,\pdf_object_write:nne
% ,\pdf_object_write:nnn
% ,\pdf_string_from_unicode:nnN
% ,\pdfannot_box_ref_last:
% ,\pdfannot_dict_put:nnn
-% ,\pdfannot_dict_put:nnx
-% ,\pdfdict_put:nnx
+% ,\pdfannot_dict_put:nne
+% ,\pdfdict_put:nne
% ,\pdfannot_dict_remove:nn
% ,\pdfannot_widget_box:nnn
% ,\pdfdict_if_empty:nTF
@@ -708,19 +708,19 @@
% The object is written at the end of the document.
% \begin{macrocode}
\pdf_object_new:n {@@/field/@@/radio-Opt/#1}
- \pdfdict_put:nnx { l_@@/field }{Opt} { \pdf_object_ref:n {@@/field/@@/radio-Opt/#1} }
+ \pdfdict_put:nne { l_@@/field }{Opt} { \pdf_object_ref:n {@@/field/@@/radio-Opt/#1} }
\seq_new:c { g_@@_radio_opt_#1_seq }
\hook_gput_code:nnn {shipout/lastpage}{pdffield/radio}
{
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{@@/field/@@/radio-Opt/#1} { array }
{\seq_use:cn {g_@@_radio_opt_#1_seq}{~}}
}
% \end{macrocode}
% The default value is retrieved through a label:
% \begin{macrocode}
- \pdfdict_put:nnx { l_@@/field }{V} { /\@@_property_ref:nn{#1}{pdfradioindex} }
- \pdfdict_put:nnx { l_@@/field }{DV} { /\@@_property_ref:nn{#1}{pdfradioindex} }
+ \pdfdict_put:nne { l_@@/field }{V} { /\@@_property_ref:nn{#1}{pdfradioindex} }
+ \pdfdict_put:nne { l_@@/field }{DV} { /\@@_property_ref:nn{#1}{pdfradioindex} }
% \end{macrocode}
% now we create the field and set it as parent for the following annotation.
% \begin{macrocode}
@@ -828,8 +828,8 @@
{
\@@_property_ref:Vn\l_@@_fieldID_tl{pdfradioindex}
}
- { \pdfannot_dict_put:nnx {widget}{AS}{/\@@_property_ref:Vn\l_@@_fieldID_tl{pdfradioindex}} }
- { \pdfannot_dict_put:nnx {widget}{AS}{/Off} }
+ { \pdfannot_dict_put:nne {widget}{AS}{/\@@_property_ref:Vn\l_@@_fieldID_tl{pdfradioindex}} }
+ { \pdfannot_dict_put:nne {widget}{AS}{/Off} }
% \end{macrocode}
% Now we set the appearances, if no key has been use we take the default.
% \begin{macrocode}
@@ -906,14 +906,14 @@
{
\pdfxform_if_exist:nTF { #1 / Yes }
{
- \pdf_object_unnamed_write:nx
+ \pdf_object_unnamed_write:ne
{dict}
{
/\int_use:N \l_@@_radio_value_num_int
\c_space_tl \pdfxform_ref:n { #1/Yes}
/Off ~ \pdfxform_ref:n { #1/Off}
}
- \pdfannot_dict_put:nnx {widget/AP}{#2}{\pdf_object_ref_last:}
+ \pdfannot_dict_put:nne {widget/AP}{#2}{\pdf_object_ref_last:}
}
{
\msg_error:nnnn{pdffield}{appearance-missing}{#1}{#3}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
index 4b89a4d1d0..8a7962663b 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-radiobutton.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
index 4ab1db01f8..df091d3e60 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -135,7 +135,7 @@
% to use should be active)
% \begin{verbatim}
% \pdffield_textfield:n {name=text,font=F\pdffeedback~fontname\font}
-% \pdfmanagement_add:nxx{Catalog/AcroForm/DR/Font}
+% \pdfmanagement_add:nee{Catalog/AcroForm/DR/Font}
% {F\pdffeedback~fontname\font}
% {\pdffeedback~fontobjnum\font \c_space_tl 0 \c_space_tl R}
% \end{verbatim}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
index 491aff2815..38c9534fda 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield-textfield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
index 1e1eb23f1e..9261078e98 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.dtx
@@ -69,7 +69,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -287,7 +287,7 @@
%
%
% \begin{verbatim}
-% \pdfmanagement_add:nnx{Catalog/AcroForm}{Fields}{<obj ref>}
+% \pdfmanagement_add:nne{Catalog/AcroForm}{Fields}{<obj ref>}
% \end{verbatim}
%
% \end{function}
@@ -897,7 +897,7 @@
% ,\dim_new:N
% ,\endcsname
% ,\exp_args:Ne
-% ,\exp_args:Nnx
+% ,\exp_args:Nne
% ,\exp_args:NV
% ,\group_begin:
% ,\group_end:
@@ -910,7 +910,7 @@
% ,\keys_set:nn
% ,\mode_leave_vertical:
% ,\msg_error:nnnn
-% ,\msg_error:nnx
+% ,\msg_error:nne
% ,\msg_new:nnn
% ,\msg_warning:nn
% ,\msg_warning:nnn
@@ -922,23 +922,23 @@
% ,\pdf_object_new:n
% ,\pdf_object_ref:n
% ,\pdf_object_ref_last:
-% ,\pdf_object_unnamed_write:nx
-% ,\pdf_object_write:nnx
+% ,\pdf_object_unnamed_write:ne
+% ,\pdf_object_write:nne
% ,\pdf_string_from_unicode:nnN
% ,\pdfannot_box_ref_last:
% ,\pdfannot_dict_put:nnn
-% ,\pdfannot_dict_put:nnx
+% ,\pdfannot_dict_put:nne
% ,\pdfannot_dict_remove:nn
% ,\pdfannot_widget_box:nnn
% ,\pdfdict_if_empty:nTF
% ,\pdfdict_if_empty:nF
% ,\pdfdict_new:n
% ,\pdfdict_put:nnn
-% ,\pdfdict_put:nnx
+% ,\pdfdict_put:nne
% ,\pdfdict_remove:nn
% ,\pdfdict_use:n
% ,\pdfmanagement_add:nnn
-% ,\pdfmanagement_add:nnx
+% ,\pdfmanagement_add:nne
% ,\pdfmeta_standard_verify:nTF
% ,\pdfmeta_standard_verify:nT
% ,\pdfmeta_standard_verify:nF
@@ -948,7 +948,7 @@
% ,\ProvidesExplPackage
% ,\rule
% ,\seq_gput_right:Nn
-% ,\seq_gput_right:cx
+% ,\seq_gput_right:ce
% ,\seq_if_exist:NTF
% ,\seq_if_exist:cTF
% ,\seq_new:N
@@ -972,7 +972,7 @@
%<*package>
%<@@=pdffield>
\NeedsTeXFormat{LaTeX2e}
-\ProvidesExplPackage{l3pdffield-testphase}{2023-10-09}{0.96a}%
+\ProvidesExplPackage{l3pdffield-testphase}{2023-11-05}{0.96b}%
{form fields}
% \end{macrocode}
% \subsection{hyperref specific command}
@@ -1169,7 +1169,7 @@
\pdf_object_new:n {@@/field/Kids/#1}
\tl_if_empty:NTF \l_@@_currentparent_tl
{
- \pdfmanagement_add:nnx
+ \pdfmanagement_add:nne
{ Catalog / AcroForm }
{ Fields }
{\pdf_object_ref:n {@@/field/#1} }
@@ -1178,22 +1178,22 @@
\exp_args:Ne
\pdf_object_if_exist:nTF {@@/field/\l_@@_currentparent_tl}
{
- \pdfdict_put:nnx { l_@@/field }{Parent}
+ \pdfdict_put:nne { l_@@/field }{Parent}
{\exp_args:Ne \pdf_object_ref:n{@@/field/\l_@@_currentparent_tl}}
- \seq_gput_right:cx {g_@@_field/Kids/\l_@@_currentparent_tl _seq}
+ \seq_gput_right:ce {g_@@_field/Kids/\l_@@_currentparent_tl _seq}
{ \exp_args:Ne \pdf_object_ref:n{@@/field/#1}}
}
{
- \msg_error:nnx {pdffield}{parent-field-missing}{\l_@@_currentparent_tl}
+ \msg_error:nne {pdffield}{parent-field-missing}{\l_@@_currentparent_tl}
}
}
\seq_new:c {g_@@_field/Kids/#1_seq}
- \pdfdict_put:nnx {l_@@/field}
+ \pdfdict_put:nne {l_@@/field}
{Kids}
{
\pdf_object_ref:n {@@/field/Kids/#1}
}
- \pdfdict_put:nnx {l_@@/field}
+ \pdfdict_put:nne {l_@@/field}
{Ff}
{\bitset_to_arabic:N \l_@@_Ff_bitset }
\pdfdict_if_empty:nF{l_@@/field/AA}
@@ -1201,29 +1201,29 @@
\pdfmeta_standard_verify:nT
{annot_widget_no_AA}
{
- \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n {l_@@/field/AA}}
- \pdfdict_put:nnx
+ \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n {l_@@/field/AA}}
+ \pdfdict_put:nne
{l_@@/field}
{AA}
{\pdf_object_ref_last:}
\pdfdict_get:nnN {l_@@/field/AA}{C}\l_@@_tmpa_tl
\quark_if_no_value:NF \l_@@_tmpa_tl
{
- \prop_gput:Nxx\g_@@_CO_sortkeys_prop
+ \prop_gput:Nee\g_@@_CO_sortkeys_prop
{ \pdf_object_ref:n {@@/field/#1} }{ \l_@@_CO_sortkey_str }
- \seq_gput_right:Nx\g_@@_CO_sortkeys_seq
+ \seq_gput_right:Ne\g_@@_CO_sortkeys_seq
{ \pdf_object_ref:n {@@/field/#1} }
}
}
}
\hook_gput_code:nnn {shipout/lastpage}{pdffield} %xetex needs this ...
{
- \pdf_object_write:nnx {@@/field/Kids/#1} { array }
+ \pdf_object_write:nne {@@/field/Kids/#1} { array }
{
\seq_use:cn{g_@@_field/Kids/#1_seq}{~}
}
}
- \pdf_object_write:nnx {@@/field/#1} { dict } { \pdfdict_use:n {l_@@/field} }
+ \pdf_object_write:nne {@@/field/#1} { dict } { \pdfdict_use:n {l_@@/field} }
}
\hook_gput_code:nnn {shipout/lastpage}{pdffield}
@@ -1239,7 +1239,7 @@
{ \sort_return_swapped: }
{ \sort_return_same: }
}
- \pdfmanagement_add:nnx
+ \pdfmanagement_add:nne
{ Catalog / AcroForm }
{ CO }
{ \seq_use:Nn \g_@@_CO_sortkeys_seq{~} }
@@ -1274,21 +1274,21 @@
\bitset_set_false:Nn \l_@@_F_bitset {Invisible}
\bitset_set_false:Nn \l_@@_F_bitset {NoView}
}
- \pdfannot_dict_put:nnx {widget}{F}{ \bitset_to_arabic:N \l_@@_F_bitset }
+ \pdfannot_dict_put:nne {widget}{F}{ \bitset_to_arabic:N \l_@@_F_bitset }
\@@_tag_add_struct_parent:
\tl_if_empty:NF \l_@@_currentparent_tl
{
\exp_args:Ne
\pdf_object_if_exist:nTF { @@/field/\l_@@_currentparent_tl }
{
- \pdfannot_dict_put:nnx {widget}{Parent}
+ \pdfannot_dict_put:nne {widget}{Parent}
{
\exp_args:Ne
\pdf_object_ref:n{@@/field/\l_@@_currentparent_tl}
}
}
{
- \msg_error:nnx { pdffield }{parent-field-missing}{\l_@@_currentparent_tl}
+ \msg_error:nne { pdffield }{parent-field-missing}{\l_@@_currentparent_tl}
}
}
\mode_leave_vertical:
@@ -1303,19 +1303,19 @@
{ \l_@@_annot_dp_dim }
\hfill
}
- \tl_gset:Nx \g_@@_annot_ref_last_tl { \pdfannot_box_ref_last: }
+ \tl_gset:Ne \g_@@_annot_ref_last_tl { \pdfannot_box_ref_last: }
\exp_args:NV \@@_tag_add_objr:n \g_@@_annot_ref_last_tl
\@@_tag_struct_end:
\tl_if_empty:NF \l_@@_currentparent_tl
{
\seq_if_exist:cTF {g_@@_field/Kids/\l_@@_currentparent_tl _seq}
{
- \seq_gput_right:cx
+ \seq_gput_right:ce
{g_@@_field/Kids/\l_@@_currentparent_tl _seq}
{ \g_@@_annot_ref_last_tl }
}
{
- \msg_error:nnx { pdffield}{parent-field-missing}{\l_@@_currentparent_tl}
+ \msg_error:nne { pdffield}{parent-field-missing}{\l_@@_currentparent_tl}
}
}
}
@@ -1357,14 +1357,14 @@
{
\bool_if:NT \l_@@_tag_bool
{
- \pdfannot_dict_put:nnx {widget}{StructParent}{ \tag_struct_parent_int: }
+ \pdfannot_dict_put:nne {widget}{StructParent}{ \tag_struct_parent_int: }
}
}
\cs_set_protected:Npn \@@_tag_add_objr:n #1
{
\bool_if:NT \l_@@_tag_bool
{
- \exp_args:Nnx
+ \exp_args:Nne
\tag_struct_insert_annot:nn {#1}{ \tag_struct_parent_int: }
}
}
@@ -1437,7 +1437,7 @@
\pdf_string_from_unicode:nnN {utf8/string-raw}{#1}\l_@@_tmpa_str
\str_if_in:NnT \l_@@_tmpa_str {.}
{
- \msg_error:nnx {pdffield}{no-period}{\l_@@_tmpa_str}
+ \msg_error:nne {pdffield}{no-period}{\l_@@_tmpa_str}
}
\str_if_empty:NTF\l_@@_tmpa_str
{
@@ -1445,7 +1445,7 @@
\pdfdict_remove:nn { l_@@/field }{T}
}
{
- \pdfdict_put:nnx { l_@@/field }{T}{(\l_@@_tmpa_str)}
+ \pdfdict_put:nne { l_@@/field }{T}{(\l_@@_tmpa_str)}
}
}
,T .value_required:n = true
@@ -1462,7 +1462,7 @@
}
{
\pdf_string_from_unicode:nnN {utf16/hex}{#1}\l_@@_tmpa_str
- \pdfdict_put:nnx { l_@@/field }{TU}{\l_@@_tmpa_str}
+ \pdfdict_put:nne { l_@@/field }{TU}{\l_@@_tmpa_str}
}
}
,TU .groups:n = {field}
@@ -1476,7 +1476,7 @@
}
{
\pdf_string_from_unicode:nnN {utf16/hex}{#1}\l_@@_tmpa_str
- \pdfdict_put:nnx { l_@@/field }{TM}{\l_@@_tmpa_str}
+ \pdfdict_put:nne { l_@@/field }{TM}{\l_@@_tmpa_str}
}
}
,TM .groups:n = {field}
@@ -1515,7 +1515,7 @@
}
{
\@@_V_handler:nN{#1}\l_@@_tmpa_str
- \pdfdict_put:nnx { l_@@/field }{V}{ \l_@@_tmpa_str }
+ \pdfdict_put:nne { l_@@/field }{V}{ \l_@@_tmpa_str }
}
}
,V .groups:n = {field}
@@ -1527,7 +1527,7 @@
}
{
\@@_V_handler:nN{#1}\l_@@_tmpa_str
- \pdfdict_put:nnx { l_@@/field }{DV}{ \l_@@_tmpa_str }
+ \pdfdict_put:nne { l_@@/field }{DV}{ \l_@@_tmpa_str }
}
}
,DV .groups:n = {field}
@@ -1538,7 +1538,7 @@
\pdfdict_remove:nn { l_@@/field }{MaxLen}
}
{
- \pdfdict_put:nnx { l_@@/field }{MaxLen}{ #1 }
+ \pdfdict_put:nne { l_@@/field }{MaxLen}{ #1 }
}
}
,MaxLen .groups:n = {field}
@@ -1549,7 +1549,7 @@
\pdfdict_remove:nn { l_@@/field }{Lock}
}
{
- \pdfdict_put:nnx { l_@@/field }{Lock}{ \pdf_object_ref:n{#1} }
+ \pdfdict_put:nne { l_@@/field }{Lock}{ \pdf_object_ref:n{#1} }
}
}
,Lock .groups:n = {field}
@@ -1560,7 +1560,7 @@
\pdfdict_remove:nn { l_@@/field }{SV}
}
{
- \pdfdict_put:nnx { l_@@/field }{SV}{ \pdf_object_ref:n{#1} }
+ \pdfdict_put:nne { l_@@/field }{SV}{ \pdf_object_ref:n{#1} }
}
}
,SV .groups:n = {field}
@@ -1571,7 +1571,7 @@
\pdfdict_remove:nn { l_@@/field }{Opt}
}
{
- \pdfdict_put:nnx { l_@@/field }{Opt}{ \pdf_object_ref:n{#1} }
+ \pdfdict_put:nne { l_@@/field }{Opt}{ \pdf_object_ref:n{#1} }
}
}
,Opt .groups:n = {field}
@@ -1582,7 +1582,7 @@
\pdfdict_remove:nn { l_@@/field }{TI}
}
{
- \pdfdict_put:nnx { l_@@/field }{TI}{ #1 }
+ \pdfdict_put:nne { l_@@/field }{TI}{ #1 }
}
}
,TI .groups:n = {field}
@@ -1593,7 +1593,7 @@
\pdfdict_remove:nn { l_@@/field }{I}
}
{
- \pdfdict_put:nnx { l_@@/field }{I}{ \pdf_object_ref:n{#1} }
+ \pdfdict_put:nne { l_@@/field }{I}{ \pdf_object_ref:n{#1} }
}
}
,I .groups:n = {field}
@@ -1648,7 +1648,7 @@
\pdfdict_remove:nn {l_@@/field/AA}{#1}
}
{
- \pdfdict_put:nnx {l_@@/field/AA}
+ \pdfdict_put:nne {l_@@/field/AA}
{#1}
{<</S/JavaScript/JS\c_space_tl ##1>>}
}
@@ -1675,7 +1675,7 @@
\keys_define:nn {pdffield}
{
- sortkey .code:n = {\str_set:Nx \l_@@_CO_sortkey_str {\tl_to_str:n{#1}}}
+ sortkey .code:n = {\str_set:Ne \l_@@_CO_sortkey_str {\tl_to_str:n{#1}}}
}
% \end{macrocode}
% \end{macro}
@@ -1692,13 +1692,13 @@
\pdfdict_remove:nn { l_@@/field }{DA}
}
{
- \pdfdict_put:nnx { l_@@/field }{DA}{ (#1) }
+ \pdfdict_put:nne { l_@@/field }{DA}{ (#1) }
}
}
,DA .groups:n = {field}
,Q .choices:nn = {left,center,right}
{
- \pdfdict_put:nnx { l_@@/field }{Q}{ \int_eval:n{\l_keys_choice_int-1} }
+ \pdfdict_put:nne { l_@@/field }{Q}{ \int_eval:n{\l_keys_choice_int-1} }
}
,Q / .code:n = { \pdfdict_remove:nn { l_@@/field }{Q} }
,Q .groups:n = {field}
@@ -1761,7 +1761,7 @@
{
\pdfxform_if_exist:nTF { #1 }
{
- \pdfannot_dict_put:nnx {widget/AP}{#2}
+ \pdfannot_dict_put:nne {widget/AP}{#2}
{
\pdfxform_ref:n {#1}
}
@@ -1785,7 +1785,7 @@
\pdfannot_dict_remove:nn { widget }{AS}
}
{
- \pdfannot_dict_put:nnx {widget}{AS}{\pdf_name_from_unicode_e:n{#1}}
+ \pdfannot_dict_put:nne {widget}{AS}{\pdf_name_from_unicode_e:n{#1}}
}
}
,AS .groups:n = annot
@@ -1847,7 +1847,7 @@
{
MK/R .choices:nn = {0,90,180,270}
{
- \pdfannot_dict_put:nnx {widget/MK}{R}{#1}
+ \pdfannot_dict_put:nne {widget/MK}{R}{#1}
}
,MK/R / .code:n =
{
@@ -1868,7 +1868,7 @@
{
\@@_color_set:nn {@@/tmp}{#1}
\color_export:nnN{@@/tmp}{space-sep-rgb}\l_@@_tmpa_tl
- \pdfannot_dict_put:nnx {widget/MK}{BC}{[\l_@@_tmpa_tl]}
+ \pdfannot_dict_put:nne {widget/MK}{BC}{[\l_@@_tmpa_tl]}
}
}
,MK/BC .groups:n = annot
@@ -1886,7 +1886,7 @@
{
\@@_color_set:nn {@@/tmp}{#1}
\color_export:nnN{@@/tmp}{space-sep-rgb}\l_@@_tmpa_tl
- \pdfannot_dict_put:nnx {widget/MK}{BG}{[\l_@@_tmpa_tl]}
+ \pdfannot_dict_put:nne {widget/MK}{BG}{[\l_@@_tmpa_tl]}
}
}
,MK/BG .groups:n = annot
@@ -1905,7 +1905,7 @@
}
{
\pdf_string_from_unicode:nnN {utf8/string}{#1}\l_@@_tmpa_str
- \pdfannot_dict_put:nnx {widget/MK}{CA}{\l_@@_tmpa_str}
+ \pdfannot_dict_put:nne {widget/MK}{CA}{\l_@@_tmpa_str}
}
}
,MK/CA .groups:n = annot
@@ -1923,7 +1923,7 @@
}
{
\pdf_string_from_unicode:nnN {utf8/string}{#1}\l_@@_tmpa_str
- \pdfannot_dict_put:nnx {widget/MK}{RC}{\l_@@_tmpa_str}
+ \pdfannot_dict_put:nne {widget/MK}{RC}{\l_@@_tmpa_str}
}
}
,MK/RC .groups:n = annot
@@ -1941,7 +1941,7 @@
}
{
\pdf_string_from_unicode:nnN {utf8/string}{#1}\l_@@_tmpa_str
- \pdfannot_dict_put:nnx {widget/MK}{AC}{\l_@@_tmpa_str}
+ \pdfannot_dict_put:nne {widget/MK}{AC}{\l_@@_tmpa_str}
}
}
,MK/AC .groups:n = annot
@@ -1966,7 +1966,7 @@
\pdfannot_dict_remove:nn { widget/MK }{#1}
}
{
- \pdfannot_dict_put:nnx {widget/MK}{#1}{##1}
+ \pdfannot_dict_put:nne {widget/MK}{#1}{##1}
}
}
,MK/#1 .groups:n = annot
@@ -2030,7 +2030,7 @@
\pdfannot_dict_remove:nn {widget/AA}{#1}
}
{
- \pdfannot_dict_put:nnx {widget/AA}
+ \pdfannot_dict_put:nne {widget/AA}
{#1}
{<</S/JavaScript/JS\c_space_tl##1>>}
}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
index c121fc5ebf..0f29cb9597 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffield.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
index a98883d5c1..08ec26e76f 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -182,7 +182,7 @@
% in the |/Filespec| dictionary.
%
% \begin{verbatim}
-% \pdf_object_unnamed_write:nx {fstream}
+% \pdf_object_unnamed_write:ne {fstream}
% {
% {
% /Type /EmbeddedFile
@@ -196,7 +196,7 @@
% }
% {example-image.eps}
% }
-% \tl_set:Nx \l_my_fileobj_tl {\pdf_object_ref_last:}
+% \tl_set:Ne \l_my_fileobj_tl {\pdf_object_ref_last:}
% \end{verbatim}
%
% \begin{itemize}
@@ -226,7 +226,7 @@
% This name tree is a global resource and uncoordinated access can lead to
% clashes and files that are not visible or inaccessible.
% The access here is managed by the \pkg{l3pdfmanagement} module:\\[\smallskipamount]%
-% |\pdfmanagement_add:nnx{Catalog/Names}{EmbeddedFiles}{|\meta{objref}|}|
+% |\pdfmanagement_add:nne{Catalog/Names}{EmbeddedFiles}{|\meta{objref}|}|
%
% \subsection{Commands and tools of these module}
% \begin{function}{file, file/Params, file/streamParams,file/Filespec}
@@ -323,7 +323,7 @@
% The stream should not be too long, at least PS imposes a size limit for strings.
% \end{function}
%
-% \begin{function}{\pdffile_filespec:nnn,\pdffile_filespec:nnx}
+% \begin{function}{\pdffile_filespec:nnn,\pdffile_filespec:nne}
% \begin{syntax}
% \cs{ pdffile_filespec:nnn }\Arg{object name}\Arg{file name}{stream object reference}
% \end{syntax}
@@ -380,11 +380,11 @@
% \pdf_string_from_unicode:nnN {utf16/string}
% {this~is~an~odd~description~with~öäü}
% \l_tmpa_str
-% \pdfdict_put:nnx {l_pdffile/Filespec} {Desc}{\l_tmpa_str}
+% \pdfdict_put:nne {l_pdffile/Filespec} {Desc}{\l_tmpa_str}
% %embeds testinput.txt and calls it grüße.txt
% \pdffile_embed_file:nnn {testinput.txt}{grüße.txt}{mymodule/example1}
% %reference it in the panel
-% \pdfmanagement_add:nnx
+% \pdfmanagement_add:nne
% {Catalog/Names}
% {EmbeddedFiles}
% {\pdf_object_ref:n{mymodule/example1}}
@@ -398,7 +398,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdffile}{2023-10-09}{0.96a}
+\ProvidesExplPackage{l3pdffile}{2023-11-05}{0.96b}
{embedding and referencing files in PDF---LaTeX PDF management testphase bundle}
\RequirePackage{l3pdftools} %temporarly!!
%</header>
@@ -538,7 +538,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \pdffile_embed_show:
{
- \msg_show:nnx
+ \msg_show:nne
{pdffile}{show-files}
{
\prop_map_function:NN {\g_pdffile_embed_prop} \msg_show_item:nn
@@ -573,10 +573,10 @@
\l_@@_ext_str
\l_@@_tmpb_tl
{
- \tl_set:Nx #2 {/Subtype~\pdf_name_from_unicode_e:V \l_@@_tmpb_tl}
+ \tl_set:Ne #2 {/Subtype~\pdf_name_from_unicode_e:V \l_@@_tmpb_tl}
}
{
- \msg_warning:nnx { pdffile }{ mimetype-missing} {#1}
+ \msg_warning:nne { pdffile }{ mimetype-missing} {#1}
\tl_clear:N #2
}
}
@@ -589,7 +589,7 @@
% e.g. result from \@@_mimetype_set:NN
\cs_new_protected:Npn \@@_fstream_write:nN #1 #2
{
- \pdf_object_unnamed_write:nx { fstream }
+ \pdf_object_unnamed_write:ne { fstream }
{
{
#2
@@ -614,7 +614,7 @@
% e.g. result from \@@_mimetype_set:NN
\cs_new_protected:Npn \@@_stream_write:nN #1 #2
{
- \pdf_object_unnamed_write:nx { stream }
+ \pdf_object_unnamed_write:ne { stream }
{
{
#2
@@ -646,9 +646,9 @@
{
\group_begin:
\@@_filename_convert_to_print:nN { #2 } \l_@@_tmpa_str
- \pdfdict_put:nnx {l_pdffile/Filespec}{F} { \l_@@_tmpa_str }
- \pdfdict_put:nnx {l_pdffile/Filespec}{UF}{ \l_@@_tmpa_str }
- \pdf_object_write:nnx { #1 } { dict }
+ \pdfdict_put:nne {l_pdffile/Filespec}{F} { \l_@@_tmpa_str }
+ \pdfdict_put:nne {l_pdffile/Filespec}{UF}{ \l_@@_tmpa_str }
+ \pdf_object_write:nne { #1 } { dict }
{
\pdfdict_use:n { l_pdffile/Filespec}
\tl_if_empty:nF { #3 }
@@ -670,9 +670,9 @@
{
\group_begin:
\@@_filename_convert_to_print:nN { #1 } \l_@@_tmpa_str
- \pdfdict_put:nnx {l_pdffile/Filespec}{F} { \l_@@_tmpa_str }
- \pdfdict_put:nnx {l_pdffile/Filespec}{UF}{ \l_@@_tmpa_str }
- \pdf_object_unnamed_write:nx {dict}
+ \pdfdict_put:nne {l_pdffile/Filespec}{F} { \l_@@_tmpa_str }
+ \pdfdict_put:nne {l_pdffile/Filespec}{UF}{ \l_@@_tmpa_str }
+ \pdf_object_unnamed_write:ne {dict}
{
\pdfdict_use:n { l_pdffile/Filespec}
\tl_if_empty:nF { #2 }
@@ -680,14 +680,14 @@
/EF <</F~#2 /UF~#2>>
}
}
- \tl_gset:Nx\g_@@_tmpa_tl{\pdf_object_ref_last:}
+ \tl_gset:Ne\g_@@_tmpa_tl{\pdf_object_ref_last:}
\group_end:
\tl_set_eq:NN#3\g_@@_tmpa_tl
}
}
\cs_set_eq:NN \pdffile_filespec:nnn \@@_filespec_write:nnn
-\cs_generate_variant:Nn \pdffile_filespec:nnn {nnx}
+\cs_generate_variant:Nn \pdffile_filespec:nnn {nne,nnx}
%#1 {source filename}
%#2 {target filename}
%#3 { filespec object name } (will internally get a prefix! ??)
@@ -712,14 +712,14 @@
\@@_fstream_write:VN
\l_pdffile_source_name_str
\l_@@_automimetype_tl
- \tl_set:Nx \l_@@_embed_ref_tl { \pdf_object_ref_last: }
+ \tl_set:Ne \l_@@_embed_ref_tl { \pdf_object_ref_last: }
}
{
\msg_error:nnn { pdffile }{ file-not-found }{ #1 }
}
}
- \prop_gput:Nnx
+ \prop_gput:Nne
\g_pdffile_embed_prop
{ #3 }
{
@@ -734,7 +734,7 @@
\tl_if_blank:nTF { #2 }
{
\pdf_object_new:n { #3 }
- \exp_args:Nnnx
+ \exp_args:Nnne
\@@_filespec_write:nnn
%#1 dict, #2 target file name, #3 object ref
{ #3 }
@@ -743,7 +743,7 @@
}
{
\pdf_object_new:n { #3 }
- \exp_args:Nnnx
+ \exp_args:Nnne
\@@_filespec_write:nnn
%#1 dict, #2 target file name, #3 object ref
{ #3 }
@@ -765,7 +765,7 @@
\msg_error:nnn { pdffile }{ object-exists } { #3 }
}
{
- \prop_gput:Nnx
+ \prop_gput:Nne
\g_pdffile_embed_prop
{ #3 }
{{stream}{}{\tl_if_blank:nTF {#2}{stream.txt}{\exp_not:n{#2}}}}
@@ -775,9 +775,9 @@
\@@_stream_write:nN
{ #1 }
\l_@@_automimetype_tl
- \tl_set:Nx \l_@@_embed_ref_tl { \pdf_object_ref_last: }
+ \tl_set:Ne \l_@@_embed_ref_tl { \pdf_object_ref_last: }
\pdf_object_new:n { #3 }
- \exp_args:Nnxx
+ \exp_args:Nnee
\@@_filespec_write:nnn
%#1 dict, #2 target file name, #3 object ref
{ #3 }
@@ -794,14 +794,14 @@
\@@_stream_write:nN
{ #1 }
\l_@@_automimetype_tl
- \tl_set:Nx \l_@@_embed_ref_tl { \pdf_object_ref_last: }
- \exp_args:Nxx
+ \tl_set:Ne \l_@@_embed_ref_tl { \pdf_object_ref_last: }
+ \exp_args:Nee
\@@_filespec_write:nnN
%#1 target file name, #2 object ref of stream, #3 object ref of filespec
{ \tl_if_blank:nTF {#2}{stream.txt}{\exp_not:n{#2}} }
{\l_@@_embed_ref_tl}
#3
- \prop_gput:Nxx
+ \prop_gput:Nee
\g_pdffile_embed_prop
{ #3 }
{{stream}{}{\tl_if_blank:nTF {#2}{stream.txt}{\exp_not:n{#2}}}}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
index dc868ba43c..4b75eb1797 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdffile.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
index 6081864cb6..cdedd54040 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.dtx
@@ -57,7 +57,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -139,7 +139,7 @@
% \end{function}
% \begin{function}[added = 2020-04-06,updated=2021-07-23]
-% {\pdfmanagement_add:nnn,\pdfmanagement_add:nnx,\pdfmanagement_add:nxx,\pdfmanagement_add:xxx,
+% {\pdfmanagement_add:nnn,\pdfmanagement_add:nne,\pdfmanagement_add:nee,\pdfmanagement_add:eee,
% \PDFManagementAdd}
% \begin{syntax}
% \cs{pdfmanagement_add:nnn} \Arg{resource path} \Arg{name} \Arg{value}
@@ -153,7 +153,7 @@
% keys used in PDF dictionaries (see the l3pdfdict module) the name is escaped
% with \cs{str_convert_pdfname:n} when stored.
% \Arg{value} should be a valid PDF value for this Name in the
-% target dictionary. |\PDFManagementAdd| is a copy of |\pdfmanagement_add:xxx|
+% target dictionary. |\PDFManagementAdd| is a copy of |\pdfmanagement_add:eee|
% and so expands all its arguments.
%
%
@@ -250,7 +250,7 @@
% normally sensible:
% \begin{verbatim}
% \str_set_convert:Nnnn \l_tmpa_str { Grüße }{ default } {utf16/string}
-% \pdfmanagement_add:nnx {Info} {Title}{(\l_tmpa_str)}
+% \pdfmanagement_add:nne {Info} {Title}{(\l_tmpa_str)}
% \end{verbatim}
% \end{function}
%
@@ -539,13 +539,13 @@
% \begin{verbatim}
% \pdf_object_new:n {module/intent}
% \pdf_object_write:nnn {module/intent}{dict}{...}
-% \pdfmanagement_add:nnx {Catalog} {OutputIntents}{\pdf_object_ref:n {module/intent}}
+% \pdfmanagement_add:nne {Catalog} {OutputIntents}{\pdf_object_ref:n {module/intent}}
% \end{verbatim}
%
% or
% \begin{verbatim}
% \pdf_object_unnamed_write:nn {dict} { ... }
-% \pdfmanagement_add:nnx {Catalog} {OutputIntents}{\pdf_object_ref_last:}
+% \pdfmanagement_add:nne {Catalog} {OutputIntents}{\pdf_object_ref_last:}
% \end{verbatim}
%
%
@@ -582,7 +582,7 @@
% the AP names (for appearance streams) use
%
% \begin{verbatim}
-% \pdfmanagement_add:nnx { Catalog / Names / AP } {myAPname} {\pdf_object_ref_last:}
+% \pdfmanagement_add:nne { Catalog / Names / AP } {myAPname} {\pdf_object_ref_last:}
% \end{verbatim}
%
% Remarks:
@@ -632,7 +632,7 @@
%<@@=pdfmanagement>
%<*header>
%
-\ProvidesExplPackage{l3pdfmanagement}{2023-10-09}{0.96a}
+\ProvidesExplPackage{l3pdfmanagement}{2023-11-05}{0.96b}
{Management of core PDF dictionaries (LaTeX PDF management testphase bundle)}
%</header>
% \end{macrocode}
@@ -723,13 +723,13 @@
}
}
{
- \msg_warning:nnx {pdfmanagement}{inactive}
+ \msg_warning:nne {pdfmanagement}{inactive}
{\tl_to_str:n {\pdfmanagement_add:nnn}}
}
}
-\cs_generate_variant:Nn \pdfmanagement_add:nnn {nnx,nxx,xxx}
-\cs_set_eq:NN \PDFManagementAdd \pdfmanagement_add:xxx
+\cs_generate_variant:Nn \pdfmanagement_add:nnn {nne,nee,eee,nnx,nxx,xxx}
+\cs_set_eq:NN \PDFManagementAdd \pdfmanagement_add:eee
% \end{macrocode}
% \subsection{Hooks -- shipout and end of run code}
% Code is executed in three places: At shipout of every page,
@@ -831,7 +831,7 @@
{ @@_handler/#1/#2_gput:n }
{ \use:c {@@_handler/#1/#2_gput:n} {#3} } %special handler
{
- \exp_args:Nnx
+ \exp_args:Nne
\prop_gput:cnn
{ \__kernel_pdfdict_name:n { g__pdf_Core/#1 } }
{ \str_convert_pdfname:n { #2 } }
@@ -846,11 +846,11 @@
}
-\cs_generate_variant:Nn \@@_handler_gput:nnn {nxx}
+\cs_generate_variant:Nn \@@_handler_gput:nnn {nee}
\cs_new_protected:Npn \@@_get:nnN #1 #2 #3 %path,key,macro
{
- \exp_args:Nnx
+ \exp_args:Nne
\prop_get:cnN
{ \__kernel_pdfdict_name:n { g__pdf_Core/#1 } }
{ \str_convert_pdfname:n {#2} } #3
@@ -869,7 +869,7 @@
{ @@_handler/#1/#2_gremove: }
{ \use:c {@@_handler/#1/#2_gremove:} } %special handler
{
- \exp_args:Nnx
+ \exp_args:Nne
\prop_gremove:cn
{ \__kernel_pdfdict_name:n { g__pdf_Core/#1 } }
{ \str_convert_pdfname:n {#2} }
@@ -885,7 +885,7 @@
{
\pdfdict_if_exist:nTF { g__pdf_Core/#1 }
{
- \exp_args:Nnx
+ \exp_args:Nne
\prop_gremove:cn
{ \__kernel_pdfdict_name:n { g__pdf_Core/#1 } }
{ \str_convert_pdfname:n{#2} }
@@ -931,7 +931,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \pdfmanagement_show:n #1
{
- \@@_show:Nn \msg_show:nnxxxx {#1}
+ \@@_show:Nn \msg_show:nneeee {#1}
}
% \end{macrocode}
% \begin{macrocode}
@@ -999,7 +999,7 @@
{
\pdfdict_if_empty:nF { g__pdf_Core/Pages}
{
- \exp_args:Nx \__pdf_backend_Pages_primitive:n
+ \exp_args:Ne \__pdf_backend_Pages_primitive:n
{
\pdfdict_use:n { g__pdf_Core/Pages}
}
@@ -1279,10 +1279,10 @@
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AA } }
{
\pdf_object_new:n { @@/Catalog/AA }
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Catalog/AA }{ dict }
{ \pdfdict_use:n { g__pdf_Core/Catalog/AA } }
- \exp_args:Nnx
+ \exp_args:Nne
\__pdf_backend_catalog_gput:nn
{AA}
{
@@ -1309,10 +1309,10 @@
\seq_if_empty:cF { g_@@_/Catalog/AcroForm/Fields_seq }
{
\pdf_object_new:n { @@/Catalog/AcroForm/Fields }
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Catalog/AcroForm/Fields } { array }
{ \seq_use:cn { g_@@_/Catalog/AcroForm/Fields_seq } {~} }
- \exp_args:Nnnx
+ \exp_args:Nnne
\prop_gput:cnn %we have to use \prop here to avoid the handler ...
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } }
{ Fields }
@@ -1321,10 +1321,10 @@
\seq_if_empty:cF { g_@@_/Catalog/AcroForm/CO_seq }
{
\pdf_object_new:n { @@/Catalog/AcroForm/CO }
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Catalog/AcroForm/CO } { array }
{ \seq_use:cn { g_@@_/Catalog/AcroForm/CO_seq } {~} }
- \exp_args:Nnnx
+ \exp_args:Nnne
\prop_gput:cnn %we have to use \prop here to avoid the handler ...
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } }
{ CO }
@@ -1333,10 +1333,10 @@
\prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR/Font}}
{
\pdf_object_new:n { @@/Catalog/AcroForm/DR/Font }
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Catalog/AcroForm/DR/Font } { dict }
{ \pdfdict_use:n { g__pdf_Core/Catalog/AcroForm/DR/Font } }
- \exp_args:Nnnx
+ \exp_args:Nnne
\prop_gput:cnn %we have to use \prop here to avoid the handler ...
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR } }
{ Font }
@@ -1345,10 +1345,10 @@
\prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm/DR}}
{
\pdf_object_new:n { @@/Catalog/AcroForm/DR }
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Catalog/AcroForm/DR } { dict }
{ \pdfdict_use:n { g__pdf_Core/Catalog/AcroForm/DR } }
- \exp_args:Nnnx
+ \exp_args:Nnne
\prop_gput:cnn %we have to use \prop here to avoid the handler ...
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm } }
{ DR }
@@ -1357,10 +1357,10 @@
\prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/AcroForm} }
{
\pdf_object_new:n { @@/Catalog/AcroForm }
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Catalog/AcroForm } { dict }
{ \pdfdict_use:n { g__pdf_Core/Catalog/AcroForm } }
- \exp_args:Nnnx
+ \exp_args:Nnne
\@@_handler_gput:nnn
{ Catalog }
{ AcroForm }
@@ -1381,10 +1381,10 @@
{ g_@@_/Catalog/AF_seq }
{
\pdf_object_new:n { @@/Catalog/AF }
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Catalog/AF } { array }
{ \seq_use:cn { g_@@_/Catalog/AF_seq } {~} }
- \exp_args:Nnx
+ \exp_args:Nne
\__pdf_backend_catalog_gput:nn
{AF}
{
@@ -1404,10 +1404,10 @@
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/MarkInfo } }
{
\pdf_object_new:n { @@/Catalog/MarkInfo }
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Catalog/MarkInfo } { dict }
{ \pdfdict_use:n { g__pdf_Core/Catalog/MarkInfo } }
- \exp_args:Nnx
+ \exp_args:Nne
\__pdf_backend_catalog_gput:nn
{MarkInfo}
{
@@ -1445,7 +1445,7 @@
{
\pdf_object_new:n { @@/Catalog/OCProperties }
\seq_gpop_left:cN { g_@@_/Catalog/OCProperties/Configs_seq} \l_@@_tmpa_tl
- \pdf_object_write:nnx {@@/Catalog/OCProperties} {dict}
+ \pdf_object_write:nne {@@/Catalog/OCProperties} {dict}
{
/OCGs~[ \seq_use:cn { g_@@_/Catalog/OCProperties/OCGs_seq } {~} ]
/D~\l_@@_tmpa_tl~
@@ -1455,7 +1455,7 @@
[ \seq_use:cn { g_@@_/Catalog/OCProperties/Configs_seq} {~} ]
}
}
- \exp_args:Nnx
+ \exp_args:Nne
\__pdf_backend_catalog_gput:nn
{ OCProperties }
{ \__pdf_backend_object_ref:n {@@/Catalog/OCProperties} }
@@ -1474,10 +1474,10 @@
{ g_@@_/Catalog/OutputIntents_seq }
{
\pdf_object_new:n { @@/Catalog/OutputIntents }
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Catalog/OutputIntents } { array }
{ \seq_use:cn { g_@@_/Catalog/OutputIntents_seq } {~} }
- \exp_args:Nnx
+ \exp_args:Nne
\__pdf_backend_catalog_gput:nn
{OutputIntents}
{
@@ -1498,10 +1498,10 @@
{ g_@@_/Catalog/Requirements_seq }
{
\pdf_object_new:n { @@/Catalog/Requirements }
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Catalog/Requirements } { array }
{ \seq_use:cn { g_@@_/Catalog/Requirements_seq } {~} }
- \exp_args:Nnx
+ \exp_args:Nne
\__pdf_backend_catalog_gput:nn
{Requirements}
{
@@ -1522,10 +1522,10 @@
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/ViewerPreferences } }
{
\pdf_object_new:n { @@/Catalog/ViewerPreferences }
- \pdf_object_write:nnx
+ \pdf_object_write:nne
{ @@/Catalog/ViewerPreferences } { dict }
{ \pdfdict_use:n { g__pdf_Core/Catalog/ViewerPreferences } }
- \exp_args:Nnx
+ \exp_args:Nne
\__pdf_backend_catalog_gput:nn
{ViewerPreferences}
{
@@ -1571,12 +1571,12 @@
\cs_new_protected:cpn { @@_handler/Catalog/Names/EmbeddedFiles_gput:n } #1
{
\int_gincr:N \g_@@_EmbeddedFiles_int
- \exp_args:Nnx
+ \exp_args:Nne
\prop_gput:cnn
{ \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/Names/EmbeddedFiles }}
{ \@@_EmbeddedFiles_name: }
{ #1 }
- \exp_args:Nx
+ \exp_args:Ne
\__pdf_backend_NamesEmbeddedFiles_add:nn {\@@_EmbeddedFiles_name:} { #1 }
}
% \end{macrocode}
@@ -1601,7 +1601,7 @@
{ \sort_return_swapped: }
{ \sort_return_same: }
}
- \exp_args:Nnx \__pdf_backend_Names_gpush:nn
+ \exp_args:Nne \__pdf_backend_Names_gpush:nn
{#1}
{
\seq_use:Nn \l_@@_tmpa_seq {~}
@@ -1615,7 +1615,7 @@
% \begin{macrocode}
\cs_new_protected:cpn {@@_handler/Catalog/?_show:}
{
- \iow_term:x
+ \iow_term:e
{
\iow_newline:
The~Catalog~contains~in~the~top~level~the~single~value~entries
@@ -1627,7 +1627,7 @@
{
\seq_if_empty:cF { g_@@_/Catalog/##1_seq }
{
- \iow_term:x
+ \iow_term:e
{
The~'##1'~array~contains~the~entries
\seq_map_function:cN { g_@@_/Catalog/##1_seq } \msg_show_item:n
@@ -1638,7 +1638,7 @@
{
\prop_if_empty:cF { \__kernel_pdfdict_name:n { g__pdf_Core/Catalog/##1 } }
{
- \iow_term:x
+ \iow_term:e
{
The~Catalog~subdirectory~'##1'~contains~the~single~value~entries
\prop_map_function:cN
@@ -1647,7 +1647,7 @@
}
}
}
- \tl_show:x {\tl_to_str:n{\pdfmanagement_show:n{Catalog}}}
+ \tl_show:e {\tl_to_str:n{\pdfmanagement_show:n{Catalog}}}
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
index 0f2871f660..c43e204e23 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmanagement.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
index 1f30c5badf..0a55e2b9d7 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -566,7 +566,7 @@
% \begin{macrocode}
%<@@=pdfmeta>
%<*header>
-\ProvidesExplPackage{l3pdfmeta}{2023-10-09}{0.96a}
+\ProvidesExplPackage{l3pdfmeta}{2023-11-05}{0.96b}
{PDF-Standards---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
@@ -644,7 +644,7 @@
{
\cs_if_exist:cTF {@@_standard_verify_handler_#1:nn}
{
- \exp_args:Nnnx
+ \exp_args:Nnne
\use:c
{@@_standard_verify_handler_#1:nn}
{ #2 }
@@ -756,7 +756,7 @@
{ \__pdf_backend_omit_charset:n {1} }
\pdfmeta_standard_verify:nnF { min_pdf_version }
{ \pdf_version: }
- { \msg_warning:nnxxx {pdf}{wrong-pdfversion}
+ { \msg_warning:nneee {pdf}{wrong-pdfversion}
{\pdf_version:}{low}
{
\pdfmeta_standard_item:n{type}
@@ -766,7 +766,7 @@
}
\pdfmeta_standard_verify:nnF { max_pdf_version }
{ \pdf_version: }
- { \msg_warning:nnxxx {pdf}{wrong-pdfversion}
+ { \msg_warning:nneee {pdf}{wrong-pdfversion}
{\pdf_version:}{high}
{
\pdfmeta_standard_item:n{type}
@@ -970,7 +970,7 @@
% \end{verbatim}
% \item Write a |/OutputIntent| dictionary for this
% \begin{verbatim}
-% \pdf_object_unnamed_write:nx {dict}
+% \pdf_object_unnamed_write:ne {dict}
% {
% /Type /OutputIntent
% /S /GTS_PDFA1 % or GTS_PDFX or ISO_PDFE1 or ...
@@ -981,7 +981,7 @@
% \end{verbatim}
% \item Reference the dictionary in the catalog:
% \begin{verbatim}
-% \pdfmanagement_add:nnx {Catalog}{OutputIntents}{\pdf_object_ref_last:}
+% \pdfmanagement_add:nne {Catalog}{OutputIntents}{\pdf_object_ref_last:}
% \end{verbatim}
% \end{enumerate}
% But we need to do a bit more work, to get the interface right.
@@ -1085,7 +1085,7 @@
\pdf_object_if_exist:nF { __color_icc_ #1 }
{
\pdf_object_new:n { __color_icc_ #1 }
- \pdf_object_write:nnx { __color_icc_ #1 } { fstream }
+ \pdf_object_write:nne { __color_icc_ #1 } { fstream }
{
{/N\c_space_tl
\prop_item:cn{c_@@_colorprofile_#1}{N}
@@ -1098,8 +1098,8 @@
\cs_new_protected:Npn \@@_write_outputintent:nn #1 #2 %#1 file name, #2 subtype
{
\group_begin:
- \pdfdict_put:nnx {l_pdfmeta/outputintent}{S}{/\str_convert_pdfname:n{#2}}
- \pdfdict_put:nnx {l_pdfmeta/outputintent}
+ \pdfdict_put:nne {l_pdfmeta/outputintent}{S}{/\str_convert_pdfname:n{#2}}
+ \pdfdict_put:nne {l_pdfmeta/outputintent}
{DestOutputProfile}
{\pdf_object_ref:n{ __color_icc_ #1 }}
\clist_map_inline:nn { OutputConditionIdentifier, Info, RegistryName }
@@ -1110,12 +1110,12 @@
\l_@@_tmpa_tl
{
\pdf_string_from_unicode:nVN {utf8/string}\l_@@_tmpa_tl\l_@@_tmpa_str
- \pdfdict_put:nnx
+ \pdfdict_put:nne
{l_pdfmeta/outputintent}{##1}{\l_@@_tmpa_str}
}
}
- \pdf_object_unnamed_write:nx {dict}{\pdfdict_use:n {l_pdfmeta/outputintent} }
- \pdfmanagement_add:nnx {Catalog}{OutputIntents}{\pdf_object_ref_last:}
+ \pdf_object_unnamed_write:ne {dict}{\pdfdict_use:n {l_pdfmeta/outputintent} }
+ \pdfmanagement_add:nne {Catalog}{OutputIntents}{\pdf_object_ref_last:}
\group_end:
}
% \end{macrocode}
@@ -1143,18 +1143,18 @@
% Then we loop but take always the same profile.
% \begin{macrocode}
{
- \exp_args:NNx
+ \exp_args:NNe
\prop_if_in:NnF
\g_@@_outputintents_prop
{ \pdfmeta_standard_item:n { outputintent_A } }
{
- \exp_args:NNx
+ \exp_args:NNe
\prop_gput:Nnn
\g_@@_outputintents_prop
{ \pdfmeta_standard_item:n { outputintent_A } }
{ sRGB.icc }
}
- \exp_args:NNx
+ \exp_args:NNe
\prop_get:NnN
\g_@@_outputintents_prop
{ \pdfmeta_standard_item:n { outputintent_A } }
@@ -1191,8 +1191,8 @@
% \begin{macrocode}
\hook_gput_code:nnn{pdfmanagement/add}{pdfmanagement}
{
- \pdfmanagement_add:nnx {Info}{Producer}{(\c_sys_engine_exec_str-\c_sys_engine_version_str)}
- \pdfmanagement_add:nnx {Info}{Creator}{(LaTeX)}
+ \pdfmanagement_add:nne {Info}{Producer}{(\c_sys_engine_exec_str-\c_sys_engine_version_str)}
+ \pdfmanagement_add:nne {Info}{Creator}{(LaTeX)}
}
% \end{macrocode}
% \subsection{New document keys}
@@ -1390,7 +1390,7 @@
\cs_new_protected:Npn \@@_xmp_date_get:nNN #1 #2 #3
%#1 property, #2 tl var with PDF date, #3 seq for splitted date
{
- \tl_set:Nx #2 { \GetDocumentProperties{#1} }
+ \tl_set:Ne #2 { \GetDocumentProperties{#1} }
\tl_if_blank:VTF #2
{
\seq_set_eq:NN #3 \l_@@_xmp_currentdate_seq
@@ -1408,8 +1408,8 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_xmp_create_uuid:nN #1 #2
{
- \str_set:Nx#2 {\str_lowercase:f{\tex_mdfivesum:D{#1}}}
- \str_set:Nx#2
+ \str_set:Ne#2 {\str_lowercase:f{\tex_mdfivesum:D{#1}}}
+ \str_set:Ne#2
{ uuid:
\str_range:Nnn #2{1}{8}
-\str_range:Nnn#2{9}{12}
@@ -1433,8 +1433,8 @@
\group_begin:
\text_declare_purify_equivalent:Nn \& {\tl_to_str:N & }
\text_declare_purify_equivalent:Nn \texttilde {\c_tilde_str}
- \tl_set:Nx \l_@@_tmpa_tl { \text_purify:n {#1} }
- \str_gset:Nx \g_@@_tmpa_str { \tl_to_str:N \l_@@_tmpa_tl }
+ \tl_set:Ne \l_@@_tmpa_tl { \text_purify:n {#1} }
+ \str_gset:Ne \g_@@_tmpa_str { \tl_to_str:N \l_@@_tmpa_tl }
\str_greplace_all:Nnn\g_@@_tmpa_str {&}{&amp;}
\str_greplace_all:Nnn\g_@@_tmpa_str {<}{&lt;}
\str_greplace_all:Nnn\g_@@_tmpa_str {>}{&gt;}
@@ -1478,8 +1478,8 @@
\tl_set:Nn #3 {#1}
}
{
- \tl_set:Nx #2 {\seq_item:Nn\l_@@_tmpa_seq{2}}
- \tl_set:Nx #3 {\seq_item:Nn\l_@@_tmpa_seq{3}}
+ \tl_set:Ne #2 {\seq_item:Nn\l_@@_tmpa_seq{2}}
+ \tl_set:Ne #3 {\seq_item:Nn\l_@@_tmpa_seq{3}}
}
}
\cs_generate_variant:Nn \@@_xmp_lang_get:nNN {eNN,VNN}
@@ -1503,7 +1503,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_xmp_add_packet_chunk:n #1
{
- \tl_gput_right:Nx\g_@@_xmp_packet_tl
+ \tl_gput_right:Ne\g_@@_xmp_packet_tl
{
\@@_xmp_indent: \exp_not:n{#1}
}
@@ -1518,7 +1518,7 @@
% \begin{macrocode}
\cs_new_protected:Npn \@@_xmp_add_packet_chunk:nN #1 #2
{
- \tl_put_right:Nx#2
+ \tl_put_right:Ne#2
{
\@@_xmp_indent: \exp_not:n{#1}
}
@@ -1690,8 +1690,8 @@
% think if an error is needed for empty lang.
% \end{NOTE}
% \begin{macrocode}
- \tl_set:Nx \l_@@_xmp_doclang_tl {\GetDocumentProperties{document/lang}}
- \tl_set:Nx \l_@@_xmp_metalang_tl {\GetDocumentProperties{hyperref/pdfmetalang}}
+ \tl_set:Ne \l_@@_xmp_doclang_tl {\GetDocumentProperties{document/lang}}
+ \tl_set:Ne \l_@@_xmp_metalang_tl {\GetDocumentProperties{hyperref/pdfmetalang}}
\tl_if_blank:VT \l_@@_xmp_metalang_tl
{ \cs_set_eq:NN \l_@@_xmp_metalang_tl\l_@@_xmp_doclang_tl}
% \end{macrocode}
@@ -1768,17 +1768,17 @@
\prop_new:N \g_@@_xmp_xmlns_prop
% \end{macrocode}
% \end{variable}
-% \begin{macro}{\@@_xmp_xmlns_new:nn,\@@_xmp_xmlns_new:nx}
+% \begin{macro}{\@@_xmp_xmlns_new:nn,\@@_xmp_xmlns_new:ne}
% \begin{macrocode}
\cs_new_protected:Npn \@@_xmp_xmlns_new:nn #1 #2
{
\prop_gput:Nnn \g_@@_xmp_xmlns_prop {#1}{#2}
- \tl_gput_right:Nx \g_@@_xmp_xmlns_tl
+ \tl_gput_right:Ne \g_@@_xmp_xmlns_tl
{
\@@_xmp_indent:n{4} xmlns:\exp_not:n{#1="#2"}
}
}
-\cs_generate_variant:Nn \@@_xmp_xmlns_new:nn {nx}
+\cs_generate_variant:Nn \@@_xmp_xmlns_new:nn {ne}
% \end{macrocode}
% \end{macro}
% Now we fill the data. The list is more or less the same as in hyperxmp
@@ -1789,7 +1789,7 @@
\@@_xmp_xmlns_new:nn {photoshop}{http://ns.adobe.com/photoshop/1.0/}
\@@_xmp_xmlns_new:nn {xmp} {http://ns.adobe.com/xap/1.0/}
\@@_xmp_xmlns_new:nn {xmpMM} {http://ns.adobe.com/xap/1.0/mm/}
-\@@_xmp_xmlns_new:nx {stEvt}
+\@@_xmp_xmlns_new:ne {stEvt}
{http://ns.adobe.com/xap/1.0/sType/ResourceEvent\c_hash_str}
\@@_xmp_xmlns_new:nn {pdfaid} {http://www.aiim.org/pdfa/ns/id/}
\@@_xmp_xmlns_new:nn {pdfuaid} {http://www.aiim.org/pdfua/ns/id/}
@@ -1798,13 +1798,13 @@
\@@_xmp_xmlns_new:nn {prism} {http://prismstandard.org/namespaces/basic/3.0/}
%\@@_xmp_xmlns_new:nn {jav} {http://www.niso.org/schemas/jav/1.0/}
%\@@_xmp_xmlns_new:nn {xmpTPg} {http://ns.adobe.com/xap/1.0/t/pg/}
-\@@_xmp_xmlns_new:nx {stFnt} {http://ns.adobe.com/xap/1.0/sType/Font\c_hash_str}
+\@@_xmp_xmlns_new:ne {stFnt} {http://ns.adobe.com/xap/1.0/sType/Font\c_hash_str}
\@@_xmp_xmlns_new:nn {Iptc4xmpCore}{http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/}
\@@_xmp_xmlns_new:nn {pdfaExtension}{http://www.aiim.org/pdfa/ns/extension/}
-\@@_xmp_xmlns_new:nx {pdfaSchema}{http://www.aiim.org/pdfa/ns/schema\c_hash_str}
-\@@_xmp_xmlns_new:nx {pdfaProperty}{http://www.aiim.org/pdfa/ns/property\c_hash_str}
-\@@_xmp_xmlns_new:nx {pdfaType} {http://www.aiim.org/pdfa/ns/type\c_hash_str}
-\@@_xmp_xmlns_new:nx {pdfaField}{http://www.aiim.org/pdfa/ns/field\c_hash_str}
+\@@_xmp_xmlns_new:ne {pdfaSchema}{http://www.aiim.org/pdfa/ns/schema\c_hash_str}
+\@@_xmp_xmlns_new:ne {pdfaProperty}{http://www.aiim.org/pdfa/ns/property\c_hash_str}
+\@@_xmp_xmlns_new:ne {pdfaType} {http://www.aiim.org/pdfa/ns/type\c_hash_str}
+\@@_xmp_xmlns_new:ne {pdfaField}{http://www.aiim.org/pdfa/ns/field\c_hash_str}
% \end{macrocode}
% \subsection{Building the chunks: Extensions}
@@ -2191,14 +2191,14 @@
\@@_xmp_date_get:nNN
{document/creationdate}\l_@@_tmpa_tl\l_@@_tmpa_seq
\@@_xmp_add_packet_line:nne{xmp}{CreateDate}{\@@_xmp_print_date:N\l_@@_tmpa_seq}
- \pdfmanagement_add:nnx{Info}{CreationDate}{(\l_@@_tmpa_tl)}
+ \pdfmanagement_add:nne{Info}{CreationDate}{(\l_@@_tmpa_tl)}
% \end{macrocode}
% ModifyDate
% \begin{macrocode}
\@@_xmp_date_get:nNN
{document/moddate}\l_@@_tmpa_tl\l_@@_tmpa_seq
\@@_xmp_add_packet_line:nne{xmp}{ModifyDate}{\@@_xmp_print_date:N\l_@@_tmpa_seq}
- \pdfmanagement_add:nnx{Info}{ModDate}{(\l_@@_tmpa_tl)}
+ \pdfmanagement_add:nne{Info}{ModDate}{(\l_@@_tmpa_tl)}
% \end{macrocode}
% MetadataDate
% \begin{macrocode}
@@ -2273,7 +2273,7 @@
% \end{macrocode}
% pdfdocumentid / xmpMM:DocumentID
% \begin{macrocode}
- \str_set:Nx\l_@@_tmpa_str {\GetDocumentProperties{hyperref/pdfdocumentid}}
+ \str_set:Ne\l_@@_tmpa_str {\GetDocumentProperties{hyperref/pdfdocumentid}}
\str_if_empty:NT \l_@@_tmpa_str
{
\@@_xmp_create_uuid:nN
@@ -2285,7 +2285,7 @@
% \end{macrocode}
% pdfinstanceid / xmpMM:InstanceID
% \begin{macrocode}
- \str_set:Nx\l_@@_tmpa_str {\GetDocumentProperties{hyperref/pdfinstanceid}}
+ \str_set:Ne\l_@@_tmpa_str {\GetDocumentProperties{hyperref/pdfinstanceid}}
\str_if_empty:NT \l_@@_tmpa_str
{
\@@_xmp_create_uuid:nN
@@ -2473,7 +2473,7 @@
{
\@@_xmp_add_packet_open_attr:nnn
{Iptc4xmpCore}{CreatorContactInfo}{rdf:parseType="Resource"}
- \tl_gput_right:Nx\g_@@_xmp_packet_tl { \l_@@_xmp_iptc_data_tl }
+ \tl_gput_right:Ne\g_@@_xmp_packet_tl { \l_@@_xmp_iptc_data_tl }
\@@_xmp_add_packet_close:nn
{Iptc4xmpCore}{CreatorContactInfo}
}
@@ -2552,7 +2552,7 @@
% The page count is take from the previous run or from
% pdfnumpages.
% \begin{macrocode}
- \tl_set:Nx \l_@@_tmpa_tl { \GetDocumentProperties{hyperref/pdfnumpages} }
+ \tl_set:Ne \l_@@_tmpa_tl { \GetDocumentProperties{hyperref/pdfnumpages} }
\@@_xmp_add_packet_line:nne
{prism}{pageCount}
{\tl_if_blank:VTF \l_@@_tmpa_tl {\PreviousTotalPages}{\l_@@_tmpa_tl}}
@@ -2599,7 +2599,7 @@
\@@_xmp_build_packet:
\exp_args:No
\__pdf_backend_metadata_stream:n {\g_@@_xmp_packet_tl}
- \pdfmanagement_add:nnx {Catalog} {Metadata}{\pdf_object_ref_last:}
+ \pdfmanagement_add:nne {Catalog} {Metadata}{\pdf_object_ref_last:}
\bool_if:NT \g_@@_xmp_export_bool
{
\iow_open:Nn\g_tmpa_iow{\g_@@_xmp_export_str.xmpi}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
index a0edffc232..060a1e2326 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfmeta.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
index 6906727952..ce9958a9bb 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.dtx
@@ -49,7 +49,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -231,7 +231,7 @@
%
% \begin{macrocode}
%<*header>
-\ProvidesExplPackage{l3pdftools}{2023-10-09}{0.96a}
+\ProvidesExplPackage{l3pdftools}{2023-11-05}{0.96b}
{candidate commands for l3pdf---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
index 733d736ef7..8e72e27da0 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdftools.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
index 4df838e625..bb25497b41 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.dtx
@@ -48,7 +48,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -132,7 +132,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*header>
-\ProvidesExplPackage{l3pdfxform}{2023-10-09}{0.96a}
+\ProvidesExplPackage{l3pdfxform}{2023-11-05}{0.96b}
{command to create xforms (beta)---LaTeX PDF management testphase bundle}
%</header>
% \end{macrocode}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
index eec75e8d94..ea4ecb57a5 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/l3pdfxform.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
index 96da24d648..6501ef6715 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -220,7 +220,7 @@
% \begin{macrocode}
%<@@=pdfmanagement>
%<*header>
-\ProvidesExplPackage{ltdocinit}{2023-10-09}{0.96a}
+\ProvidesExplPackage{ltdocinit}{2023-11-05}{0.96b}
{Initialize document metadata}
%</header>
% \end{macrocode}
@@ -280,7 +280,7 @@
% \begin{macrocode}
\NewDocumentCommand\AddToDocumentProperties{O{\@currname}mm}
{
- \exp_args:NNx
+ \exp_args:NNe
\prop_gput:Nnn \g_@@_documentproperties_prop
{
\tl_if_blank:eTF {#1}{top-level/}{#1/} #2
@@ -333,7 +333,7 @@
}
\NewDocumentCommand\ShowDocumentProperties {}
{
- \msg_show:nnx {pdfmanagement}{show-properties}
+ \msg_show:nne {pdfmanagement}{show-properties}
{
\prop_map_function:NN \g_@@_documentproperties_prop \msg_show_item:nn
}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
index 692a6df4ac..4c2d341ee6 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/ltdocinit.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf b/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf
deleted file mode 100644
index dc8d376f76..0000000000
--- a/macros/latex/contrib/pdfmanagement-testphase/output-patches-tmp-ltx.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
index 29fcf8bafa..3835be9ef2 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -63,7 +63,7 @@
% |debug={firstaidoff={name1,name2,...},...}|.
% \begin{macrocode}
%<*package>
-\ProvidesExplPackage{pdfmanagement-firstaid}{2023-10-09}{0.96a}
+\ProvidesExplPackage{pdfmanagement-firstaid}{2023-11-05}{0.96b}
{LaTeX PDF management testphase bundle / firstaid-patches}
%<@@=pdfmanagement>
@@ -103,15 +103,78 @@
{
\bool_if:NT \g_@@_firstaid_fontspec_bool
{
- \@ifpackagelater{fontspec}{2023-03-10}
+ \AddToHook{package/fontspec/after}
{
- \__fontspec_keys_define_code:nnn {fontspec} {Color}
- {
- \tl_set:Nn \l__fontspec_hexcol_tl {#1}
- }
- }{}
+ \@ifpackagelater{fontspec}{2023-11-05}
+ {\typeout{PDF~Management:~fontspec~firstaid~ignored}}
+ {
+ \def\c__fontspec_opacity_tl{}
+ \__fontspec_keys_define_code:nnn {fontspec} {Color}
+ {
+ \color_if_exist:nTF {#1}
+ {
+ \tl_set:Nn \l__fontspec_hexcol_tl {#1}
+ }
+ {
+ \cs_if_exist:cTF { \token_to_str:N \color@ #1 }
+ {
+ \convertcolorspec{named}{#1}{HTML}\l__fontspec_hexcol_tl
+ }
+ {
+ \int_compare:nTF { \tl_count:n {#1} == 6 }
+ { \tl_set:Nn \l__fontspec_hexcol_tl {#1} }
+ {
+ \int_compare:nTF { \tl_count:n {#1} == 8 }
+ { \fontspec_parse_colour:viii #1 }
+ {
+ \bool_if:NF \l__fontspec_firsttime_bool
+ { \__fontspec_warning:nx {bad-colour} {#1} }
+ }
+ }
+ }
+ }
+ }
+% \end{macrocode}
+% add a comma
+% \begin{macrocode}
+ \__fontspec_keys_define_code:nnn {fontspec} {Opacity}
+ {
+ \int_set:Nn \l__fontspec_tmp_int {255}
+ \__fontspec_int_mult_truncate:Nn \l__fontspec_tmp_int { #1 }
+ \tl_if_eq:NNF \l__fontspec_opacity_tl \c__fontspec_opacity_tl
+ {
+ \bool_if:NF \l__fontspec_firsttime_bool
+ { \__fontspec_warning:nx {opa-twice} {#1} }
+ }
+ \tl_set:Nx \l__fontspec_opacity_tl
+ {
+ ,
+ \int_compare:nT { \l__fontspec_tmp_int <= "F } {0} % zero pad
+ \int_to_hex:n { \l__fontspec_tmp_int }
+ }
+ }
+% \end{macrocode}
+% and a brace
+% \begin{macrocode}
+ \cs_set:Nn \__fontspec_get_features:n
+ {
+ \__fontspec_init_fontface:
+ \__fontspec_keys_set_known:nxN {fontspec-renderer} {\l__fontspec_fontfeat_clist,#1}
+ \l__fontspec_keys_leftover_clist
+ \__fontspec_keys_set_known:nxN {fontspec} {\l__fontspec_keys_leftover_clist} \l__fontspec_keys_leftover_clist
+ \keys_set:nV {fontspec-opentype} \l__fontspec_keys_leftover_clist
+
+ \tl_if_empty:NF \l__fontspec_mapping_tl
+ { \__fontspec_update_featstr:n { mapping = \l__fontspec_mapping_tl } }
+
+ \str_if_eq:eeF { \l__fontspec_hexcol_tl \l__fontspec_opacity_tl }
+ { \c__fontspec_hexcol_tl \c__fontspec_opacity_tl }
+ { \__fontspec_update_featstr:n { color = {\l__fontspec_hexcol_tl\l__fontspec_opacity_tl } } }
+ }
+ }
}
}
+ }
% \end{macrocode}
% \subsection{\pkg{beamer}}
@@ -314,21 +377,21 @@
}
\cs_generate_variant:Nn \tl_trim_spaces:n{V}
-\cs_generate_variant:Nn \pdfmanagement_add:nnn {nex}
+\cs_generate_variant:Nn \pdfmanagement_add:nnn {nee}
\cs_new:Npn \@@_patch_pgfextgs:w #1/#2<<#3>>#4\q_stop
{
- \tl_set:Nx\l_tmpa_tl{#2}
- \pdfmanagement_add:nex
+ \tl_set:Ne\l_tmpa_tl{#2}
+ \pdfmanagement_add:nee
{Page/Resources/ExtGState}{\tl_trim_spaces:V\l_tmpa_tl}{<<#3 #4>>}
}
\cs_new:Npn \@@_patch_pgfpatterns:w #1/#2\space#3\q_stop
{
- \pdfmanagement_add:nex
+ \pdfmanagement_add:nee
{Page/Resources/Pattern}{\tl_trim_spaces:n{#2}}{#3}
}
\cs_new:Npn \@@_patch_pgfcolorspaces:w #1/#2[#3]#4\q_stop
{
- \pdfmanagement_add:nex
+ \pdfmanagement_add:nee
{Page/Resources/ColorSpace}{\tl_trim_spaces:n{#2}}{[#3]}
}
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
index 1bf780aa3b..e6911957d3 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-firstaid.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
index 0fa1b2130b..bb6140dd31 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.dtx
@@ -47,7 +47,7 @@
% }^^A
% }
%
-% \date{Version 0.96a, released 2023-10-09}
+% \date{Version 0.96b, released 2023-11-05}
%
% \maketitle
% \begin{documentation}
@@ -395,7 +395,7 @@
% \begin{macrocode}
%<@@=pdf>
%<*package>
-\ProvidesExplPackage{pdfmanagement-testphase}{2023-10-09}{0.96a}
+\ProvidesExplPackage{pdfmanagement-testphase}{2023-11-05}{0.96b}
{LaTeX PDF management testphase bundle}
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{2020-10-01}{}{
@@ -423,7 +423,7 @@
% to allow to set it in the document.
% \begin{macrocode}
%<*header>
-\ProvidesExplFile{pdfmanagement-testphase.ltx}{2023-10-09}{0.96a}
+\ProvidesExplFile{pdfmanagement-testphase.ltx}{2023-11-05}{0.96b}
{PDF~management~code~(testphase)}
% \end{macrocode}
% We define a boolean for the new delayed shipout. This is temporary. At some
diff --git a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
index d2898a3049..db319ff855 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
+++ b/macros/latex/contrib/pdfmanagement-testphase/pdfmanagement-testphase.pdf
Binary files differ
diff --git a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
index 29074b3de4..597c4669a2 100644
--- a/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
+++ b/macros/latex/contrib/pdfmanagement-testphase/xcolor-patches-tmp-ltx.sty
@@ -1,6 +1,6 @@
%% LaTeX2e file `xcolor-patches-tmp-ltx.sty'
%%
-\ProvidesPackage{xcolor-patches-tmp-ltx}[2023-10-09 v0.96a patch xcolor for l3color]
+\ProvidesPackage{xcolor-patches-tmp-ltx}[2023-11-05 v0.96b patch xcolor for l3color]
\@ifundefined{color_set:nn}{\RequirePackage{l3color}}{}
\ExplSyntaxOn
diff --git a/macros/latex/contrib/q-and-a/Q-and-A.cls b/macros/latex/contrib/q-and-a/Q-and-A.cls
index 20078cb62a..82e1cd7d5a 100644
--- a/macros/latex/contrib/q-and-a/Q-and-A.cls
+++ b/macros/latex/contrib/q-and-a/Q-and-A.cls
@@ -12,7 +12,7 @@
\NeedsTeXFormat{LaTeX2e}[2022-06-01]
\ProvidesExplClass
{Q-and-A}
- {2023/11/05} {}
+ {2023/11/07} {}
{Document class for typesetting Q&A conversation}
\keys_define:nn { Q-and-A }
@@ -33,6 +33,22 @@
, ChatGPT~dark .meta:n = { theme = ChatGPT-dark }
, ChatGPT dark .meta:n = { theme = ChatGPT-dark }
+ , numbered-question .bool_set:N = \l__QA_numbered_question_bool
+ , numbered-question .initial:n = { false }
+ , numbered~question .bool_set:N = \l__QA_numbered_question_bool
+ , numbered question .bool_set:N = \l__QA_numbered_question_bool
+ , question-number .bool_set:N = \l__QA_numbered_question_bool
+ , question~number .bool_set:N = \l__QA_numbered_question_bool
+ , question number .bool_set:N = \l__QA_numbered_question_bool
+
+ , numbered-answer .bool_set:N = \l__QA_numbered_answer_bool
+ , numbered-answer .initial:n = { false }
+ , numbered~answer .bool_set:N = \l__QA_numbered_answer_bool
+ , numbered answer .bool_set:N = \l__QA_numbered_answer_bool
+ , answer-number .bool_set:N = \l__QA_numbered_answer_bool
+ , answer~number .bool_set:N = \l__QA_numbered_answer_bool
+ , answer number .bool_set:N = \l__QA_numbered_answer_bool
+
, answer-outside-the-box .bool_set:N = \l__QA_answer_outside_the_box_bool
, answer-outside-the-box .initial:n = { false }
, answer~outside~the~box .bool_set:N = \l__QA_answer_outside_the_box_bool
@@ -153,7 +169,7 @@
}
\newlist { QA-entry } { description } { 1 }
-\setlist [ QA-entry ] { font = \normalfont\sffamily, leftmargin = \l_QA_list_indentation_dim, labelsep = \l_QA_list_labelsep_dim, labelwidth=!, parsep=\parskip }
+\setlist [ QA-entry ] { font = \normalfont\sffamily, leftmargin = \l_QA_list_indentation_dim, labelsep = \l_QA_list_labelsep_dim, labelwidth=3em, itemindent=0pt, parsep=\parskip }
\renewcommand{\descriptionlabel}[1]{#1}
\bool_new:N \l__QA_inside_list_bool
@@ -684,36 +700,84 @@
{
\tl_set:cn { l_QA_logo_code_ #1 _tl } { #2 }
}
+
% Set default logo code
\SetLogoCode[Q]{\textbf{\l_QA_label_Q_tl}}
\SetLogoCode[A]{\textbf{\l_QA_label_R_tl}}
-\projlib_langauge_define_multilingual_text:Nn \l_QA_label_Q_tl
+
+\newcounter{QA_Q}
+\newcounter{QA_A}
+\NewDocumentCommand \QAShowCounter { m }
+ {
+ \stepcounter{QA_#1}
+ \tl_use:c {theQA_#1}
+ }
+
+\bool_if:NTF \l__QA_numbered_question_bool
{
- , EN = { Q\,: }
- , FR = { Q: }
- , DE = { F\,: }
- , IT = { D\,: }
- , PT = { P\,: }
- , BR = { P\,: }
- , ES = { P\,: }
- , CN = { Q\,: }
- , TC = { Q\,: }
- , JP = { Q\,: }
- , RU = { B\,: }
- }
-\projlib_langauge_define_multilingual_text:Nn \l_QA_label_R_tl
+ \projlib_langauge_define_multilingual_text:Nn \l_QA_label_Q_tl
+ {
+ , EN = { Q \QAShowCounter{Q} \,: }
+ , FR = { Q \QAShowCounter{Q} : }
+ , DE = { F \QAShowCounter{Q} \,: }
+ , IT = { D \QAShowCounter{Q} \,: }
+ , PT = { P \QAShowCounter{Q} \,: }
+ , BR = { P \QAShowCounter{Q} \,: }
+ , ES = { P \QAShowCounter{Q} \,: }
+ , CN = { 问 \QAShowCounter{Q} \,:\hspace{-.5em} }
+ , TC = { 問 \QAShowCounter{Q} \,:\hspace{-.5em} }
+ , JP = { Q \QAShowCounter{Q} \,: }
+ , RU = { B \QAShowCounter{Q} \,: }
+ }
+ }
{
- , EN = { A\,: }
- , FR = { R: }
- , DE = { A\,: }
- , IT = { R\,: }
- , PT = { R\,: }
- , BR = { R\,: }
- , ES = { R\,: }
- , CN = { A\,: }
- , TC = { A\,: }
- , JP = { A\,: }
- , RU = { O\,: }
+ \projlib_langauge_define_multilingual_text:Nn \l_QA_label_Q_tl
+ {
+ , EN = { Q\,: }
+ , FR = { Q: }
+ , DE = { F\,: }
+ , IT = { D\,: }
+ , PT = { P\,: }
+ , BR = { P\,: }
+ , ES = { P\,: }
+ , CN = { 问\,:\hspace{-.33em} }
+ , TC = { 問\,:\hspace{-.33em} }
+ , JP = { Q\,: }
+ , RU = { B\,: }
+ }
+ }
+\bool_if:NTF \l__QA_numbered_answer_bool
+ {
+ \projlib_langauge_define_multilingual_text:Nn \l_QA_label_R_tl
+ {
+ , EN = { A \QAShowCounter{A} \,: }
+ , FR = { R \QAShowCounter{A} : }
+ , DE = { A \QAShowCounter{A} \,: }
+ , IT = { R \QAShowCounter{A} \,: }
+ , PT = { R \QAShowCounter{A} \,: }
+ , BR = { R \QAShowCounter{A} \,: }
+ , ES = { R \QAShowCounter{A} \,: }
+ , CN = { 答 \QAShowCounter{A} \,:\hspace{-.5em} }
+ , TC = { 答 \QAShowCounter{A} \,:\hspace{-.5em} }
+ , JP = { A \QAShowCounter{A} \,: }
+ , RU = { O \QAShowCounter{A} \,: }
+ }
+ }
+ {
+ \projlib_langauge_define_multilingual_text:Nn \l_QA_label_R_tl
+ {
+ , EN = { A\,: }
+ , FR = { R: }
+ , DE = { A\,: }
+ , IT = { R\,: }
+ , PT = { R\,: }
+ , BR = { R\,: }
+ , ES = { R\,: }
+ , CN = { 答\,:\hspace{-.33em} }
+ , TC = { 答\,:\hspace{-.33em} }
+ , JP = { A\,: }
+ , RU = { O\,: }
+ }
}
\prop_new:N \g__QA_prefix_type_prop
@@ -797,16 +861,16 @@
\AddLanguageSetting [ CN ]
{
\QARemoveAllPrefix
- \QASetTypePrefix { Q } { 问: , Q: , ? , ? }
- \QASetTypePrefix { A } { 答: , A: , : , : }
- \QASetTypePrefix { N } { 注: , N: , " , “ , ” , 「 }
+ \QASetTypePrefix { Q } { 问: , 问: , Q: , ? , ? }
+ \QASetTypePrefix { A } { 答: , 答: , A: , : , : }
+ \QASetTypePrefix { N } { 注: , 注: , N: , " , “ , ” , 「 }
}
\AddLanguageSetting [ TC ]
{
\QARemoveAllPrefix
- \QASetTypePrefix { Q } { 問: , Q: , ? , ? }
- \QASetTypePrefix { A } { 答: , A: , : , : }
- \QASetTypePrefix { N } { 註: , N: , " , “ , ” , 「 }
+ \QASetTypePrefix { Q } { 問: , 問: , Q: , ? , ? }
+ \QASetTypePrefix { A } { 答: , 答: , A: , : , : }
+ \QASetTypePrefix { N } { 註: , 註: , N: , " , “ , ” , 「 }
}
\AddLanguageSetting [ JP ]
{
diff --git a/macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn-content.tex b/macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn-content.tex
new file mode 100644
index 0000000000..6caa361359
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn-content.tex
@@ -0,0 +1,92 @@
+% 以下对话由 ChatGPT(使用 GPT-3.5)生成。
+
+Q:
+ 什么是计算机编程?
+
+A:
+ 计算机编程是为计算机创建指令以执行特定任务的过程。这是计算机科学领域的基本技能之一。编程涉及以计算机可理解的语言编写代码行。然后这些指令按顺序执行,允许执行各种操作,从简单的数学计算到管理复杂数据库或创建软件。
+
+Q:
+ 主要的编程语言有哪些?
+
+A:
+ 有许多编程语言,每种都有其自身的特点和特定的应用领域。一些常见的编程语言包括:
+
+ [Python]
+ 因其简单性和多功能性而备受赞誉,在数据科学、Web 开发和自动化领域广泛使用。
+
+ [Java]
+ 以其可移植性而闻名,用于 Android 应用程序开发、企业软件和嵌入式系统。
+
+ [C++]
+ 提供高性能,常用于游戏、桌面应用程序和实时系统。
+
+ [JavaScript]
+ 是 Web 开发的首选语言,运行在浏览器中,可创建交互式应用程序。
+
+ [Ruby]
+ 因其语法简单和优雅而备受赞誉,常用于 Web 开发和脚本编写。
+
+Q:
+ 如何在 Python 中编写 `for` 循环?
+
+A:
+ 在 Python 中,`for` 循环常用于迭代数据序列,如列表、字符串或字典。以下是 Python 中 `for` 循环的示例:
+
+ == [python] {code/Q-and-A-demo-cn-code-for.py}
+
+ 在此示例中,`for` 循环遍历从 0 到 4 的值,每次迭代时打印 `i` 的值。这使您能够高效执行重复的操作。
+
+Q:
+ 在 Python 中,什么是列表?
+
+A:
+ 在 Python 中,列表是一种数据结构,用于存储有序的元素集合。列表中的元素可以具有不同的类型,如数字、字符串,甚至其他列表。列表非常灵活多用,因此经常用于数据存储。以下是 Python 中列表的示例:
+
+ == [python] {code/Q-and-A-demo-cn-code-list.py}
+
+ 您可以使用它们的索引访问列表的元素。例如,`my\_list[2]` 将返回值 3,因为索引从 0 开始。
+
+Q:
+ 编程中局部变量和全局变量有什么区别?
+
+A:
+ 在编程中,变量的作用域是一个重要的概念。局部变量在函数内部声明,只能在该函数内部访问。它仅在函数执行期间存在,其名称与程序的其余部分隔离。相反,全局变量在所有函数外部声明,可以在程序的任何地方使用。它在函数调用之间保留其值,并可以被代码的任何部分修改。了解变量作用域对于避免代码中的意外错误至关重要。
+
+Q:
+ 如何在 Python 中声明函数?
+
+A:
+ 要在 Python 中声明函数,使用 `def` 关键字,后跟函数名称和参数。以下是一个函数声明的示例:
+
+ == [python] {code/Q-and-A-demo-cn-code-func.py}
+
+ 在此示例中,`my\_function` 是函数名称,它以 `parameter` 作为参数。函数内部执行操作,然后使用 `return` 关键字将结果值返回给调用者。函数对于组织代码并使其可重用非常重要。
+
+Q:
+ 解决编程问题的步骤是什么?
+
+A:
+ 解决编程问题包括多个关键步骤。
+
+ [理解问题]
+ [*] 确定目标。
+ [*] 分析输入数据。
+
+ [设计解决方案]
+ [*] 制定算法。
+ [*] 使用列表表示复杂的数据结构。
+
+ [编写代码]
+ [*] 将算法转化为代码。
+ [*] 使用列表和循环处理数据。
+
+ [测试和调试代码]
+ [*] 检查代码是否正确运行。
+ [*] 修复潜在错误(bug)。
+
+ [必要时进行优化]
+ [*] 改进代码效率。
+ [*] 使用高级技巧和列表以优化性能。
+
+ 这种结构化方法有助于程序员有效地解决计算机相关问题。
diff --git a/macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.pdf b/macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.pdf
new file mode 100644
index 0000000000..d8ac0d4a8e
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.tex b/macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.tex
new file mode 100644
index 0000000000..40eeb71b0f
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-cn/Q-and-A-demo-cn.tex
@@ -0,0 +1,28 @@
+\documentclass[%11pt,
+ numbered question,
+ numbered answer,
+ scroll,
+]{Q-and-A}
+
+\UseLanguage{Chinese}
+
+\begin{document}
+
+
+:: {Q-and-A-demo-cn-content}
+
+
+---
+
+"
+ 以下是这段对话的代码。
+
+ == {Q-and-A-demo-cn-content}
+
+"
+ 以下是主文档的代码。
+
+ == [latex] {\jobname}
+
+
+\end{document}
diff --git a/macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-for.py b/macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-for.py
new file mode 100644
index 0000000000..7049de3509
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-for.py
@@ -0,0 +1,2 @@
+for i in range(5):
+ print(i) \ No newline at end of file
diff --git a/macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-func.py b/macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-func.py
new file mode 100644
index 0000000000..449d842a97
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-func.py
@@ -0,0 +1,4 @@
+def my_function(parameter):
+ # 在函数内部执行操作
+ result = parameter * 2
+ return result \ No newline at end of file
diff --git a/macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-list.py b/macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-list.py
new file mode 100644
index 0000000000..b57a6ab114
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-cn/code/Q-and-A-demo-cn-code-list.py
@@ -0,0 +1 @@
+my_list = [1, 2, 3, 4, 5] \ No newline at end of file
diff --git a/macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de-content.tex b/macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de-content.tex
new file mode 100644
index 0000000000..85e95d710e
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de-content.tex
@@ -0,0 +1,92 @@
+% Das folgende Gespräch wurde von ChatGPT (mit GPT-3.5) generiert.
+
+F:
+ Was ist Computerprogrammierung?
+
+A:
+ Die Computerprogrammierung ist der Prozess, Anweisungen für einen Computer zu erstellen, um spezifische Aufgaben auszuführen. Es ist eine der grundlegenden Fähigkeiten im Bereich der Informatik. Die Programmierung besteht darin, Zeilen von Code in einer für die Maschine verständlichen Sprache zu schreiben. Diese Anweisungen werden dann sequenziell ausgeführt und ermöglichen verschiedene Operationen, von einfachen mathematischen Berechnungen bis hin zur Verwaltung komplexer Datenbanken oder zur Erstellung von Software.
+
+F:
+ Was sind die wichtigsten Programmiersprachen?
+
+A:
+ Es gibt zahlreiche Programmiersprachen, jede mit ihren eigenen Merkmalen und spezifischen Anwendungsdomänen. Einige der häufigsten Programmiersprachen sind:
+
+ [Python]
+ Sehr geschätzt für seine Einfachheit und Vielseitigkeit, wird es weit verbreitet in der Datenwissenschaft, Webentwicklung und Automatisierung eingesetzt.
+
+ [Java]
+ Bekannt für seine Portabilität, wird es in der Entwicklung von Android-Apps, Unternehmenssoftware und eingebetteten Systemen verwendet.
+
+ [C++]
+ Es bietet hohe Leistung und wird häufig für Spiele, Desktop-Anwendungen und Echtzeitsysteme eingesetzt.
+
+ [JavaScript]
+ Die bevorzugte Sprache für die Webentwicklung, sie wird in Browsern ausgeführt und ermöglicht die Erstellung interaktiver Anwendungen.
+
+ [Ruby]
+ Geschätzt für seine syntaktische Einfachheit und Eleganz, wird es häufig in der Webentwicklung und Skripting eingesetzt.
+
+F:
+ Wie schreibt man eine `for`-Schleife in Python?
+
+A:
+ In Python werden `for`-Schleifen häufig verwendet, um über Datenfolgen wie Listen, Zeichenketten oder Wörterbücher zu iterieren. Hier ist ein Beispiel für eine `for`-Schleife in Python:
+
+ == [python] {code/Q-and-A-demo-de-code-for.py}
+
+ In diesem Beispiel durchläuft die `for`-Schleife Werte von 0 bis 4, und in jeder Iteration wird der Wert von `i` gedruckt. Dies ermöglicht die effiziente Ausführung wiederholter Operationen.
+
+F:
+ Was ist eine Liste in Python?
+
+A:
+ In Python ist eine Liste eine Datenstruktur, mit der Sie eine geordnete Sammlung von Elementen speichern können. Elemente in einer Liste können unterschiedliche Typen haben, wie Zahlen, Zeichenketten oder sogar andere Listen. Listen sind sehr flexibel und vielseitig, weshalb sie eine häufige Wahl für die Datenspeicherung sind. Hier ist ein Beispiel für eine Liste in Python:
+
+ == [python] {code/Q-and-A-demo-de-code-list.py}
+
+ Sie können auf Elemente der Liste zugreifen, indem Sie ihren Index verwenden. Zum Beispiel würde `meine\_liste[2]` den Wert 3 zurückgeben, da die Indizes bei 0 beginnen.
+
+F:
+ Was ist der Unterschied zwischen einer lokalen und einer globalen Variablen in der Programmierung?
+
+A:
+ In der Programmierung ist der Gültigkeitsbereich von Variablen ein wichtiger Begriff. Eine lokale Variable wird innerhalb einer Funktion deklariert und ist nur innerhalb dieser Funktion zugänglich. Sie existiert nur während der Ausführung der Funktion, und ihr Name ist vom Rest des Programms isoliert. Im Gegensatz dazu wird eine globale Variable außerhalb aller Funktionen deklariert und kann überall im Programm verwendet werden. Sie behält ihren Wert zwischen Funktionsaufrufen bei und kann von jedem Teil des Codes geändert werden. Das Verständnis des Variablenbereichs ist entscheidend, um unerwartete Fehler in Ihrem Code zu vermeiden.
+
+F:
+ Wie deklariert man eine Funktion in Python?
+
+A:
+ Um eine Funktion in Python zu deklarieren, verwenden Sie das Schlüsselwort `def`, gefolgt vom Namen der Funktion und ihren Parametern. Hier ist ein Beispiel für die Deklaration einer Funktion:
+
+ == [python] {code/Q-and-A-demo-de-code-func.py}
+
+ In diesem Beispiel ist `meine\_funktion` der Name der Funktion, und sie nimmt `parameter` als Argument. Innerhalb der Funktion werden Operationen durchgeführt, und der resultierende Wert wird an den Aufrufer mit dem Schlüsselwort `return` zurückgegeben. Funktionen sind entscheidend, um den Code zu organisieren und wiederzuverwenden.
+
+F:
+ Welche Schritte sind erforderlich, um ein Programmierproblem zu lösen?
+
+A:
+ Die Lösung eines Programmierproblems umfasst mehrere wesentliche Schritte.
+
+ [Das Problem verstehen]
+ [*] Ziele identifizieren.
+ [*] Eingabedaten analysieren.
+
+ [Eine Lösung entwerfen]
+ [*] Einen Algorithmus entwickeln.
+ [*] Listen zur Darstellung komplexer Datenstrukturen verwenden.
+
+ [Den Code schreiben]
+ [*] Den Algorithmus in Code umsetzen.
+ [*] Listen und Schleifen verwenden, um Daten zu verarbeiten.
+
+ [Den Code testen und debuggen]
+ [*] Überprüfen, ob der Code korrekt funktioniert.
+ [*] Eventuelle Fehler (Bugs) beheben.
+
+ [Optimieren, wenn erforderlich]
+ [*] Die Codeeffizienz verbessern.
+ [*] Fortgeschrittene Techniken mit Listen verwenden, um die Leistung zu optimieren.
+
+ Diese strukturierte Herangehensweise hilft Programmierern dabei, Computerprobleme effektiv zu lösen.
diff --git a/macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.pdf b/macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.pdf
new file mode 100644
index 0000000000..e5bc82799b
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.tex b/macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.tex
new file mode 100644
index 0000000000..97380b0453
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-de/Q-and-A-demo-de.tex
@@ -0,0 +1,28 @@
+\documentclass[%11pt,
+ numbered question,
+ numbered answer,
+ scroll,
+]{Q-and-A}
+
+\UseLanguage{German}
+
+\begin{document}
+
+
+:: {Q-and-A-demo-de-content}
+
+
+---
+
+"
+ Hier ist der Code dieses Gesprächs.
+
+ == {Q-and-A-demo-de-content}
+
+"
+ Hier ist der Code des Hauptdokuments.
+
+ == [latex] {\jobname}
+
+
+\end{document}
diff --git a/macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-for.py b/macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-for.py
new file mode 100644
index 0000000000..7049de3509
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-for.py
@@ -0,0 +1,2 @@
+for i in range(5):
+ print(i) \ No newline at end of file
diff --git a/macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-func.py b/macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-func.py
new file mode 100644
index 0000000000..6eea5e601e
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-func.py
@@ -0,0 +1,4 @@
+def meine_funktion(parameter):
+ # Führen Sie Operationen innerhalb der Funktion durch
+ ergebnis = parameter * 2
+ return ergebnis \ No newline at end of file
diff --git a/macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-list.py b/macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-list.py
new file mode 100644
index 0000000000..dc5dc91a3b
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-de/code/Q-and-A-demo-de-code-list.py
@@ -0,0 +1 @@
+meine_liste = [1, 2, 3, 4, 5] \ No newline at end of file
diff --git a/macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en-content.tex b/macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en-content.tex
new file mode 100644
index 0000000000..dfe8970825
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en-content.tex
@@ -0,0 +1,92 @@
+% The following conversation is generated by ChatGPT (with GPT-3.5).
+
+Q:
+ What is computer programming?
+
+A:
+ Computer programming is the process of creating instructions for a computer to perform specific tasks. It is one of the fundamental skills in the field of computer science. Programming involves writing lines of code in a language understandable by the machine. These instructions are then executed sequentially, allowing for various operations, from simple mathematical calculations to managing complex databases or creating software.
+
+Q:
+ What are the main programming languages?
+
+A:
+ There are numerous programming languages, each with its own characteristics and specific application domains. Some of the most common programming languages include:
+
+ [Python]
+ Highly appreciated for its simplicity and versatility, it is widely used in data science, web development, and automation.
+
+ [Java]
+ Known for its portability, it is used in Android app development, enterprise software, and embedded systems.
+
+ [C++]
+ It offers high performance and is commonly used for games, desktop applications, and real-time systems.
+
+ [JavaScript]
+ The language of choice for web development, it runs in browsers and allows for creating interactive applications.
+
+ [Ruby]
+ Appreciated for its syntactical simplicity and elegance, it is commonly used in web development and scripting.
+
+Q:
+ How do you write a `for` loop in Python?
+
+A:
+ In Python, `for` loops are commonly used to iterate over data sequences, such as lists, strings, or dictionaries. Here's an example of a `for` loop in Python:
+
+ == [python] {code/Q-and-A-demo-en-code-for.py}
+
+ In this example, the `for` loop iterates through values from 0 to 4, and at each iteration, the value of `i` is printed. This allows you to perform repetitive operations efficiently.
+
+Q:
+ What is a list in Python?
+
+A:
+ In Python, a list is a data structure that allows you to store an ordered collection of elements. Elements in a list can be of different types, such as numbers, strings, or even other lists. Lists are very flexible and versatile, making them a common choice for data storage. Here's an example of a list in Python:
+
+ == [python] {code/Q-and-A-demo-en-code-list.py}
+
+ You can access elements of the list using their index; for example, `my\_list[2]` would return the value 3 because indices start at 0.
+
+Q:
+ What is the difference between a local variable and a global variable in programming?
+
+A:
+ In programming, the scope of variables is an important concept. A local variable is declared inside a function and is only accessible within that function. It exists only during the execution of the function, and its name is isolated from the rest of the program. In contrast, a global variable is declared outside of all functions and can be used anywhere in the program. It retains its value between function calls and can be modified by any part of the code. Understanding variable scope is essential to avoid unexpected errors in your code.
+
+Q:
+ How do you declare a function in Python?
+
+A:
+ To declare a function in Python, use the `def` keyword followed by the function name and its parameters. Here's an example of a function declaration:
+
+ == [python] {code/Q-and-A-demo-en-code-func.py}
+
+ In this example, `my\_function` is the function name, and it takes a `parameter` as an argument. Inside the function, operations are performed, and the resulting value is returned to the caller using the `return` keyword. Functions are essential for organizing code and making it reusable.
+
+Q:
+ What are the steps to solve a programming problem?
+
+A:
+ Solving a programming problem involves several essential steps.
+
+ [Understand the Problem]
+ [*] Identify the objectives.
+ [*] Analyze input data.
+
+ [Design a Solution]
+ [*] Develop an algorithm.
+ [*] Use lists to represent complex data structures.
+
+ [Write the Code]
+ [*] Transform your algorithm into code.
+ [*] Use lists and loops to process data.
+
+ [Test and Debug the Code]
+ [*] Check if the code works correctly.
+ [*] Fix any potential errors (bugs).
+
+ [Optimize if Necessary]
+ [*] Improve code efficiency.
+ [*] Use advanced techniques with lists to optimize performance.
+
+ This structured approach helps programmers effectively solve computer-related problems.
diff --git a/macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.pdf b/macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.pdf
new file mode 100644
index 0000000000..289a8e4e1a
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.tex b/macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.tex
new file mode 100644
index 0000000000..d39626a9dd
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-en/Q-and-A-demo-en.tex
@@ -0,0 +1,26 @@
+\documentclass[%11pt,
+ numbered question,
+ numbered answer,
+ scroll,
+]{Q-and-A}
+
+\begin{document}
+
+
+:: {Q-and-A-demo-en-content}
+
+
+---
+
+"
+ Below is the code of this conversation.
+
+ == {Q-and-A-demo-en-content}
+
+"
+ Below is the code of the main document.
+
+ == [latex] {\jobname}
+
+
+\end{document}
diff --git a/macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-for.py b/macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-for.py
new file mode 100644
index 0000000000..7049de3509
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-for.py
@@ -0,0 +1,2 @@
+for i in range(5):
+ print(i) \ No newline at end of file
diff --git a/macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-func.py b/macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-func.py
new file mode 100644
index 0000000000..a7a8f99b20
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-func.py
@@ -0,0 +1,4 @@
+def my_function(parameter):
+ # Perform operations inside the function
+ result = parameter * 2
+ return result \ No newline at end of file
diff --git a/macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-list.py b/macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-list.py
new file mode 100644
index 0000000000..b57a6ab114
--- /dev/null
+++ b/macros/latex/contrib/q-and-a/demo/lang-en/code/Q-and-A-demo-en-code-list.py
@@ -0,0 +1 @@
+my_list = [1, 2, 3, 4, 5] \ No newline at end of file
diff --git a/macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.pdf b/macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.pdf
index a1307f1deb..6713a86cf5 100644
--- a/macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.pdf
+++ b/macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.tex b/macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.tex
index 4f5ae4eded..140fafde78 100644
--- a/macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.tex
+++ b/macros/latex/contrib/q-and-a/demo/lang-fr/Q-and-A-demo-fr.tex
@@ -1,4 +1,6 @@
\documentclass[%11pt,
+ numbered question,
+ numbered answer,
scroll,
]{Q-and-A}
diff --git a/macros/latex/contrib/q-and-a/doc/Q-and-A-doc.pdf b/macros/latex/contrib/q-and-a/doc/Q-and-A-doc.pdf
index 6c884038c4..dadca3b63e 100644
--- a/macros/latex/contrib/q-and-a/doc/Q-and-A-doc.pdf
+++ b/macros/latex/contrib/q-and-a/doc/Q-and-A-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/q-and-a/doc/Q-and-A-doc.tex b/macros/latex/contrib/q-and-a/doc/Q-and-A-doc.tex
index 5405916bad..48894878d7 100644
--- a/macros/latex/contrib/q-and-a/doc/Q-and-A-doc.tex
+++ b/macros/latex/contrib/q-and-a/doc/Q-and-A-doc.tex
@@ -1,9 +1,11 @@
\documentclass[%11pt,
use style = classical,
+ % numbered answer,
+ % numbered question,
scroll,
]{Q-and-A}
-\def\PackageVersion{2023/11/05}
+\def\PackageVersion{2023/11/07}
\def\PackageSubVersion{}
\newcommand{\QApackage}{{\normalfont\textsf{Q-and-A}}}
@@ -69,9 +71,11 @@
The available class options include:
\begin{itemize}
\item Font size options such as `11pt`, `12pt`.
- \item `scroll`: turns the scroll mode on, which generates a single-page pdf similar to a long screenshot. It is recommended to use this option if your document contains some large piece of code.
+ \item `scroll`: turn the scroll mode on, which generates a single-page pdf similar to a long screenshot. It is recommended to use this option if your document contains some large piece of code.
\item `use theme = \meta{theme}`: use the selected theme, available choices include: `default` (like the current document), `ChatGPT-light` and `ChatGPT-dark` (see the demo documents).
- \item `answer outside the box`, or `answer out of the box` (or even omit `the`): enables another implementation for printing the answer that does not involve putting it into a colored box. This would be useful if the answers contain many long pieces of code while you still want the pages to break normally.
+ \item `numbered question`, or `question number`: enable the numbering of questions.
+ \item `numbered answer`, or `answer number`: enable the numbering of answers.
+ \item `answer outside the box`, or `answer out of the box` (or even omit `the`): enable another implementation for printing the answer that does not involve putting it into a colored box. This would be useful if the answers contain many long pieces of code while you still want the pages to break normally.
\end{itemize}
?
@@ -221,8 +225,14 @@
\item Use `\textbackslash SetLogoCode\{Q\}\{\meta{logo code}\}` to set the labels for questions.
\item Use `\textbackslash SetLogoCode\{A\}\{\meta{logo code}\}` to set the labels for answers.
\end{itemize}
- Here, \meta{logo code} is the actual code for displaying the corresponding label. For example, the default label for questions is preset via `\textbackslash SetLogoCode\{Q\}\{\textbackslash textbf\{Q\textbackslash,:\}\}`.
- >>> In the demo document, you can find an example on how to use this command to specify a logo for each role in the conversation.
+ Here, \meta{logo code} is the actual code for displaying the corresponding label. For example, the default label for (unnumbered) questions is preset via `\textbackslash SetLogoCode\{Q\}\{\textbackslash textbf\{Q\textbackslash,:\}\}`.
+ \QANote{In the demo document, you can find an example on how to use this command to specify a logo for each role in the conversation.}
+ If you wish to include the question number or answer number, you may use the command `\textbackslash QAShowCounter`:
+ \begin{itemize}
+ \item Use `\textbackslash QAShowCounter\{Q\}` to step the counter of question and print it.
+ \item Use `\textbackslash QAShowCounter\{A\}` to step the counter of answer and print it.
+ \end{itemize}
+ For example, the default label for numbered questions is preset by adding `\textbackslash QAShowCounter\{Q\}` to the unnumbered version: `\textbackslash SetLogoCode\{Q\}\{\textbackslash textbf\{Q\textbackslash QAShowCounter\{Q\}\textbackslash,:\}\}`.
##+ {Known Issues}
diff --git a/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.pdf b/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.pdf
index 1b5660f6b2..24a795b3ca 100644
--- a/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.pdf
+++ b/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.pdf
Binary files differ
diff --git a/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.tex b/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.tex
index 9323cc5037..09a9f712e8 100644
--- a/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.tex
+++ b/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-content-result.tex
@@ -1,8 +1,10 @@
\documentclass[%11pt,
+ numbered answer,
+ numbered question,
% scroll,
]{Q-and-A}
-\geometry{paperwidth=12cm, paperheight=7.2cm}
+\geometry{paperwidth=12cm, paperheight=8.2cm}
\begin{document}
diff --git a/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-document.tex b/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-document.tex
index 7d4f6bc6ae..29aa3599e1 100644
--- a/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-document.tex
+++ b/macros/latex/contrib/q-and-a/doc/code/Q-and-A-doc-code-sample-document.tex
@@ -1,7 +1,10 @@
\documentclass[%11pt,
use theme = (@@@\meta{theme}),
+ numbered question,
+ numbered answer,
+ % answer outside the box,
scroll,
-]{Q-A}
+]{Q-and-A}
\UseLanguage{(@@@\meta{language})} % For English this line can be omitted.
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 3e9be4b986..554c6ff609 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,24 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.3.8] - 2023-11-06
+
+### Deprecated
+- `x`-type variants
+ - `\siunitx_angle:x`
+ - `\siunitx_angle:xxx`
+ - `\siunitx_complex_number:x`
+ - `\siunitx_complex_quantity:xn`
+ - `\siunitx_print_number:x`
+ - `\siunitx_quantity_print:xV`
+ - `\siunitx_declare_prefix:Nnx`
+ - `\siunitx_declare_unit:Nx`
+ - `\siunitx_declare_unit:Nxn`
+
+### Fixed
+- Printing of `1` when `print-unity-mantissa = false` (see issue
+ [\#700](https://github.com/josephwright/siunitx/issues/700))
+
## [v3.3.7] - 2023-10-07
### Fixed
@@ -2025,7 +2043,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.7...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.3.8...HEAD
+[v3.3.8]: https://github.com/josephwright/siunitx/compare/v3.3.7...v3.3.8
[v3.3.7]: https://github.com/josephwright/siunitx/compare/v3.3.6...v3.3.7
[v3.3.6]: https://github.com/josephwright/siunitx/compare/v3.3.5...v3.3.6
[v3.3.5]: https://github.com/josephwright/siunitx/compare/v3.3.4...v3.3.5
diff --git a/macros/latex/contrib/siunitx/siunitx-angle.dtx b/macros/latex/contrib/siunitx/siunitx-angle.dtx
index 5489fbfec3..7b2b012e13 100644
--- a/macros/latex/contrib/siunitx/siunitx-angle.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-angle.dtx
@@ -64,8 +64,8 @@
%
% \begin{function}
% {
-% \siunitx_angle:n, \siunitx_angle:x,
-% \siunitx_angle:nnn, \siunitx_angle:xxx
+% \siunitx_angle:n, \siunitx_angle:e,
+% \siunitx_angle:nnn, \siunitx_angle:eee
% }
% \begin{syntax}
% \cs{siunitx_angle:n} \Arg{angle}
@@ -240,9 +240,9 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\siunitx_angle:n, \siunitx_angle:x, \@@_angle:n}
-% \begin{macro}{\siunitx_angle:nnn, \siunitx_angle:xxx}
-% \begin{macro}{\@@_arc_convert:n, \@@_arc_convert:x}
+% \begin{macro}{\siunitx_angle:n, \siunitx_angle:e, \@@_angle:n}
+% \begin{macro}{\siunitx_angle:nnn, \siunitx_angle:eee}
+% \begin{macro}{\@@_arc_convert:n, \@@_arc_convert:e}
% The first step here is to force format conversion if required. Going to
% a decimal is easy, going to arc format is a bit more painful: avoid
% repeating calculations mainly for code readability.
@@ -262,11 +262,11 @@
}
}
}
-\cs_generate_variant:Nn \siunitx_angle:n { x }
+\cs_generate_variant:Nn \siunitx_angle:n { e , x }
\cs_new_protected:Npn \@@_angle:n #1
{
\bool_if:NTF \l_@@_force_arc_bool
- { \@@_arc_convert:x { \fp_eval:n {#1} } }
+ { \@@_arc_convert:e { \fp_eval:n {#1} } }
{
\siunitx_number_parse:nN {#1} \l_@@_degrees_tl
\siunitx_number_process:NN \l_@@_degrees_tl \l_@@_degrees_tl
@@ -284,7 +284,7 @@
{
\bool_if:NTF \l_@@_force_decimal_bool
{
- \siunitx_angle:x
+ \siunitx_angle:e
{ \fp_eval:n { #1 + (#2) / 60 + (#3) / 3600 } }
}
{ \@@_arc_sign:nnn {#1} {#2} {#3} }
@@ -302,10 +302,10 @@
\l_@@_seconds_tl
}
}
-\cs_generate_variant:Nn \siunitx_angle:nnn { xxx }
+\cs_generate_variant:Nn \siunitx_angle:nnn { eee , xxx }
\cs_new_protected:Npn \@@_arc_convert:n #1
{
- \siunitx_angle:xxx
+ \siunitx_angle:eee
{ \fp_eval:n { trunc(#1,0) } }
{ \fp_eval:n { trunc((#1 - trunc(#1,0)) * 60,0) } }
{
@@ -319,7 +319,7 @@
}
}
}
-\cs_generate_variant:Nn \@@_arc_convert:n { x }
+\cs_generate_variant:Nn \@@_arc_convert:n { e }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index 0e2b1d9aef..71cc89e478 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-complex.dtx b/macros/latex/contrib/siunitx/siunitx-complex.dtx
index af0b882c94..644aa9c095 100644
--- a/macros/latex/contrib/siunitx/siunitx-complex.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-complex.dtx
@@ -66,7 +66,7 @@
% assumptions concerning \LaTeXe{} commands in the submodule beyond those in the
% core number and unit submodules.
%
-% \begin{function}{\siunitx_complex_number:n, \siunitx_complex_number:x}
+% \begin{function}{\siunitx_complex_number:n, \siunitx_complex_number:e}
% \begin{syntax}
% \cs{siunitx_complex_number:n} \Arg{number}
% \end{syntax}
@@ -96,7 +96,7 @@
% \begin{function}
% {
% \siunitx_complex_quantity:nn ,
-% \siunitx_complex_quantity:xn ,
+% \siunitx_complex_quantity:en ,
% \siunitx_complex_quantity:nnn
% }
% \begin{syntax}
@@ -691,9 +691,9 @@
% \end{macrocode}
% \end{variable}
%
-% \begin{macro}{\siunitx_complex_number:n, \siunitx_complex_number:x}
+% \begin{macro}{\siunitx_complex_number:n, \siunitx_complex_number:e}
% \begin{macro}{\siunitx_complex_number:nn, \@@_number:nn}
-% \begin{macro}{\siunitx_complex_quantity:nn, \siunitx_complex_quantity:xn}
+% \begin{macro}{\siunitx_complex_quantity:nn, \siunitx_complex_quantity:en}
% \begin{macro}{\siunitx_complex_quantity:nnn, \@@_quantity:nnn}
% The work here is pretty trivial: only conversion between forms makes
% things a bit more intricate.
@@ -722,7 +722,7 @@
}
}
}
-\cs_generate_variant:Nn \siunitx_complex_number:n { x }
+\cs_generate_variant:Nn \siunitx_complex_number:n { e, x }
\cs_new_protected:Npn \siunitx_complex_number:nn #1#2
{
\bool_lazy_or:nnTF
@@ -740,7 +740,7 @@
{ \l_@@_force_cartesian_bool }
{ \l_siunitx_number_parse_bool }
{
- \siunitx_complex_number:x
+ \siunitx_complex_number:e
{ \@@_convert_cartesian:nn {#1} {#2} }
}
{
@@ -770,7 +770,7 @@
{ \siunitx_quantity:nn {#1} {#2} }
}
}
-\cs_generate_variant:Nn \siunitx_complex_quantity:nn { x }
+\cs_generate_variant:Nn \siunitx_complex_quantity:nn { e , x }
\cs_new_protected:Npn \siunitx_complex_quantity:nnn #1#2#3
{
\bool_lazy_or:nnTF
@@ -788,7 +788,7 @@
{ \l_@@_force_cartesian_bool }
{ \l_siunitx_number_parse_bool }
{
- \siunitx_complex_quantity:xn
+ \siunitx_complex_quantity:en
{ \@@_convert_cartesian:nn {#1} {#2} }
{#3}
}
diff --git a/macros/latex/contrib/siunitx/siunitx-compound.dtx b/macros/latex/contrib/siunitx/siunitx-compound.dtx
index e6a2b67691..4083e3ac47 100644
--- a/macros/latex/contrib/siunitx/siunitx-compound.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-compound.dtx
@@ -535,7 +535,7 @@
% \begin{macro}{\siunitx_compound_number:n}
% \begin{macro}{\@@_format:n}
% \begin{macro}{\@@_format:nn}
-% \begin{macro}{\@@_format:nnn, \@@_format:xxn}
+% \begin{macro}{\@@_format:nnn, \@@_format:een}
% Printing a generic set starts with the question of whether we want to
% extract exponents. If we do, then there is the work to do with extraction.
% Either way, the printing is handed off to a common function. We do a quick
@@ -546,7 +546,7 @@
\group_begin:
\bool_set_false:N \l_@@_unit_bool
\@@_format:nn {#1} { }
- \@@_print:N \siunitx_print_number:x
+ \@@_print:N \siunitx_print_number:e
\group_end:
}
\cs_new_protected:Npn \@@_format:nn #1#2
@@ -554,7 +554,7 @@
\seq_clear:N \l_@@_tmp_seq
\bool_if:NTF \l_siunitx_number_parse_bool
{
- \@@_format:xxn
+ \@@_format:een
{ \tl_head:n {#1} }
{ \tl_tail:n {#1} }
{#2}
@@ -575,7 +575,7 @@
}
{ \@@_format_aux:nnn {#1} {#2} {#3} }
}
-\cs_generate_variant:Nn \@@_format:nnn { xx }
+\cs_generate_variant:Nn \@@_format:nnn { ee }
\cs_new_protected:Npn \@@_format_aux:nnn #1#2#3
{
\siunitx_number_parse:nN {#1} \l_@@_tmp_tl
@@ -855,17 +855,17 @@
\str_if_eq:VnT \l_siunitx_quantity_prefix_mode_tl { combine-exponent }
{ \tl_clear:N \l_@@_exp_tl }
\bool_if:NTF \l_@@_unit_repeat_bool
- { \@@_print:N \@@_print_quantity:x }
+ { \@@_print:N \@@_print_quantity:e }
{
\bool_lazy_and:nnTF
{ \l_@@_unit_bracket_bool }
{ \tl_if_empty_p:N \l_@@_exp_tl }
{
\siunitx_print_number:V \l_@@_bracket_open_tl
- \@@_print:N \siunitx_print_number:x
+ \@@_print:N \siunitx_print_number:e
\siunitx_print_number:V \l_@@_bracket_close_tl
}
- { \@@_print:N \siunitx_print_number:x }
+ { \@@_print:N \siunitx_print_number:e }
\@@_print_quantity:n { \c_empty_tl }
}
}
@@ -874,11 +874,11 @@
% \end{macro}
%
% \begin{macro}{\@@_print:N}
-% \begin{macro}{\@@_print:nnN, \@@_print:nVN, \@@_print:xnN, \@@_print:xxN}
-% \begin{macro}{\@@_print:nnnN, \@@_print:xnnN}
+% \begin{macro}{\@@_print:nnN, \@@_print:nVN, \@@_print:enN, \@@_print:eeN}
+% \begin{macro}{\@@_print:nnnN, \@@_print:ennN}
% \begin{macro}{\@@_print_aux:n}
% \begin{macro}{\@@_print_aux:nn}
-% \begin{macro}{\@@_print_quantity:n, \@@_print_quantity:x}
+% \begin{macro}{\@@_print_quantity:n, \@@_print_quantity:e}
% \begin{macro}
% {
% \@@_print_boundary:n, \@@_print_boundary:V,
@@ -894,7 +894,7 @@
{ \l_@@_exp_bracket_bool }
{ ! \tl_if_empty_p:N \l_@@_exp_tl }
{
- \@@_print:xxN
+ \@@_print:eeN
{ \exp_not:V \l_@@_bracket_open_tl }
{
\exp_not:V \l_@@_bracket_close_tl
@@ -906,10 +906,10 @@
}
\cs_new_protected:Npn \@@_print:nnN #1#2#3
{
- \@@_print:xnnN
+ \@@_print:ennN
{ \seq_count:N \l_@@_tmp_seq } {#1} {#2} #3
}
-\cs_generate_variant:Nn \@@_print:nnN { nV , x , xx }
+\cs_generate_variant:Nn \@@_print:nnN { nV , e , ee }
% \end{macrocode}
% A rather long auxiliary as we want a way to have the brackets/exponent
% available. The actual flow is simple enough: see how many entries there are
@@ -955,7 +955,7 @@
\@@_print_boundary:V \l_@@_boundary_close_tl
}
}
-\cs_generate_variant:Nn \@@_print:nnnN { x }
+\cs_generate_variant:Nn \@@_print:nnnN { e }
\cs_new_protected:Npn \@@_print_aux:n #1 { }
\cs_new_protected:Npn \@@_print_aux:nn #1#2
{
@@ -991,7 +991,7 @@
}
\cs_new_protected:Npn \@@_print_quantity:n #1
{ \siunitx_quantity_print:nV {#1} \l_@@_unit_tl }
-\cs_generate_variant:Nn \@@_print_quantity:n { x }
+\cs_generate_variant:Nn \@@_print_quantity:n { e }
\cs_new_protected:Npn \@@_print_boundary:n #1
{
\tl_if_blank:nF {#1}
@@ -1191,7 +1191,7 @@
% \begin{macro}{\siunitx_number_product:n}
% \begin{macro}{\siunitx_quantity_product:nn}
% \begin{macro}{\@@_aux:}
-% \begin{macro}{\@@_aux:n, \@@_aux:x}
+% \begin{macro}{\@@_aux:n, \@@_aux:e}
% Simply recover the settings and use as a list.
% \begin{macrocode}
\cs_new_protected:Npn \siunitx_number_product:n #1
@@ -1211,8 +1211,8 @@
\cs_new_protected:Npn \@@_aux:
{
\bool_if:NTF \l_@@_phrase_bool
- { \@@_aux:x { \exp_not:V \l_@@_phrase_tl } }
- { \@@_aux:x { { } \exp_not:V \l_@@_symbol_tl { } } }
+ { \@@_aux:e { \exp_not:V \l_@@_phrase_tl } }
+ { \@@_aux:e { { } \exp_not:V \l_@@_symbol_tl { } } }
}
\cs_new_protected:Npn \@@_aux:n #1
{
@@ -1235,7 +1235,7 @@
compound-units = \l_@@_units_tl
}
}
-\cs_generate_variant:Nn \@@_aux:n { x }
+\cs_generate_variant:Nn \@@_aux:n { e }
% \end{macrocode}
% \end{macro}
% \end{macro}
diff --git a/macros/latex/contrib/siunitx/siunitx-emulation.dtx b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
index 887cea9d20..4d82d7b426 100644
--- a/macros/latex/contrib/siunitx/siunitx-emulation.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
@@ -1050,7 +1050,7 @@
{
\quark_if_recursion_tail_stop:N #1
\bool_new:c { g_@@_unit_warning_ \token_to_str:N #1 _bool }
- \siunitx_declare_unit:Nx #1
+ \siunitx_declare_unit:Ne #1
{
\exp_not:N \bool_if:NF
\exp_not:c { g_@@_unit_warning_ \token_to_str:N #1 _bool }
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index 2218e61022..04b302cf51 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -1777,7 +1777,7 @@
% \begin{macro}
% {
% \@@_parse_uncert_marker:nnnnnnN ,
-% \@@_parse_uncert_marker:xnnnnnN
+% \@@_parse_uncert_marker:ennnnnN
% }
% \begin{macro}{\@@_parse_uncert_after:N}
% Parsing a combined uncertainty has a very restricted range of allowed
@@ -1954,7 +1954,7 @@
}
\cs_new_protected:Npn \@@_parse_uncert_marker:nnnnnN #1#2#3#4#5#6
{
- \@@_parse_uncert_marker:xnnnnnN
+ \@@_parse_uncert_marker:ennnnnN
{ \int_eval:n { \tl_count:n {#4} } }
{#1} {#2} {#3} {#4} {#5} #6
}
@@ -1990,7 +1990,7 @@
}
#5#6#7
}
-\cs_generate_variant:Nn \@@_parse_uncert_marker:nnnnnnN { x }
+\cs_generate_variant:Nn \@@_parse_uncert_marker:nnnnnnN { e }
% \end{macrocode}
% At the end of collection, we can either start another one or be done:
% either way we move the data around.
@@ -4148,7 +4148,11 @@
{ ! \str_if_eq_p:nn { #1 . #2 } { 1. } }
{
\bool_lazy_and_p:nn
- { \str_if_eq_p:nn {#3} { 0 } }
+ {
+ \bool_lazy_or_p:nn
+ { \tl_if_blank_p:n {#3} }
+ { \str_if_eq_p:nn {#3} { 0 } }
+ }
{ ! \l_@@_zero_exponent_bool }
}
{
diff --git a/macros/latex/contrib/siunitx/siunitx-print.dtx b/macros/latex/contrib/siunitx/siunitx-print.dtx
index 79d2d53840..6e1a89f629 100644
--- a/macros/latex/contrib/siunitx/siunitx-print.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-print.dtx
@@ -105,9 +105,9 @@
% \begin{function}
% {
% \siunitx_print_number:n, \siunitx_print_number:V,
-% \siunitx_print_number:x,
-% \siunitx_print_unit:n, \siunitx_print_unit:V, \siunitx_print_unit:o,
-% \siunitx_print_unit:x
+% \siunitx_print_number:e,
+% \siunitx_print_unit:n, \siunitx_print_unit:V, \siunitx_print_unit:e,
+% \siunitx_print_unit:o
% }
% \begin{syntax}
% \cs{siunitx_print_number:n} \Arg{material}
@@ -458,9 +458,9 @@
% \begin{macro}
% {
% \siunitx_print_number:n, \siunitx_print_number:V,
-% \siunitx_print_number:x,
-% \siunitx_print_unit:n, \siunitx_print_unit:V, \siunitx_print_unit:o,
-% \siunitx_print_unit:x
+% \siunitx_print_number:e,
+% \siunitx_print_unit:n, \siunitx_print_unit:V, \siunitx_print_unit:e,
+% \siunitx_print_unit:o
% }
% \begin{macro}{\@@_aux:nn}
% The main printing function doesn't actually need to do very much: just set
@@ -471,10 +471,10 @@
% \begin{macrocode}
\cs_new_protected:Npn \siunitx_print_number:n #1
{ \@@_aux:nn { number } {#1} }
-\cs_generate_variant:Nn \siunitx_print_number:n { V , x }
+\cs_generate_variant:Nn \siunitx_print_number:n { V , e , x }
\cs_new_protected:Npn \siunitx_print_unit:n #1
{ \@@_aux:nn { unit } {#1} }
-\cs_generate_variant:Nn \siunitx_print_unit:n { V , o , x }
+\cs_generate_variant:Nn \siunitx_print_unit:n { V , e , o , x }
\cs_new_protected:Npn \@@_aux:nn #1#2
{
\tl_if_empty:oF {#2}
diff --git a/macros/latex/contrib/siunitx/siunitx-quantity.dtx b/macros/latex/contrib/siunitx/siunitx-quantity.dtx
index d8e71d7f22..b9c7e107bb 100644
--- a/macros/latex/contrib/siunitx/siunitx-quantity.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-quantity.dtx
@@ -78,7 +78,7 @@
% \begin{function}
% {
% \siunitx_quantity_print:nn, \siunitx_quantity_print:nV,
-% \siunitx_quantity_print:VV, \siunitx_quantity_print:xV
+% \siunitx_quantity_print:VV, \siunitx_quantity_print:eV
% }
% \begin{syntax}
% \cs{siunitx_quantity_print:nn} \Arg{number} \Arg{unit}
@@ -311,7 +311,7 @@
{
\bool_if:NTF \l_@@_uncert_bracket_bool
{
- \siunitx_quantity_print:xV
+ \siunitx_quantity_print:eV
{
\exp_not:n {#2}
\exp_not:V \l_@@_bracket_open_tl
@@ -376,7 +376,7 @@
% \begin{macro}
% {
% \siunitx_quantity_print:nn, \siunitx_quantity_print:nV,
-% \siunitx_quantity_print:VV, \siunitx_quantity_print:xV
+% \siunitx_quantity_print:VV, \siunitx_quantity_print:eV
% }
% For printing a single part of a quantity. This is needed for compound
% quantities and so is public: that's also the reason for passing both
@@ -403,7 +403,7 @@
{ \siunitx_print_unit:o { \use_none:n #2 } }
}
}
-\cs_generate_variant:Nn \siunitx_quantity_print:nn { nV , VV , xV }
+\cs_generate_variant:Nn \siunitx_quantity_print:nn { nV , VV , eV , xV }
% \end{macrocode}
% \end{macro}
%
@@ -437,13 +437,13 @@
% in quantities. This is done here as it avoids a dependency in
% \pkg{siunitx-unit} on options it does not contain.
% \begin{macrocode}
-\siunitx_declare_unit:Nxn \arcminute
+\siunitx_declare_unit:Nen \arcminute
{ \@@_non_latin:n { "02B9 } }
{ quantity-product = { } }
-\siunitx_declare_unit:Nxn \arcsecond
+\siunitx_declare_unit:Nen \arcsecond
{ \@@_non_latin:n { "02BA } }
{ quantity-product = { } }
-\siunitx_declare_unit:Nxn \degree
+\siunitx_declare_unit:Nen \degree
{ \@@_non_latin:n { "00B0 } }
{ quantity-product = { } }
% \end{macrocode}
diff --git a/macros/latex/contrib/siunitx/siunitx-symbol.dtx b/macros/latex/contrib/siunitx/siunitx-symbol.dtx
index 037e39ffc7..c5ec0c39ce 100644
--- a/macros/latex/contrib/siunitx/siunitx-symbol.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-symbol.dtx
@@ -159,7 +159,7 @@
% \begin{macrocode}
\@@_if_replace:NnT \degree { "00B0 }
{
- \siunitx_declare_unit:Nxn \degree
+ \siunitx_declare_unit:Nen \degree
{
\exp_not:N \ifmmode
\@ifpackageloaded { unicode-math }
@@ -189,7 +189,7 @@
\str_if_eq:VVTF \l_@@_tmpa_tl \l_@@_tmpb_tl
{
\group_end:
- \siunitx_declare_unit:Nx \degreeCelsius
+ \siunitx_declare_unit:Ne \degreeCelsius
{
\exp_not:N \ifmmode
\@ifpackageloaded { unicode-math }
@@ -225,7 +225,7 @@
\exp_not:N \text
{ \exp_not:N \ensuremath { \exp_not:V \l_@@_tmpa_tl } }
}
- \siunitx_declare_unit:Nx \ohm
+ \siunitx_declare_unit:Ne \ohm
{
\@ifpackageloaded { fourier }
{
@@ -260,7 +260,7 @@
% \begin{macrocode}
\@@_if_replace:NnT \micro { "03BC }
{
- \siunitx_declare_prefix:Nnx \micro { -6 }
+ \siunitx_declare_prefix:Nne \micro { -6 }
{
\exp_not:N \text
{
@@ -286,7 +286,7 @@
{
\@ifpackageloaded { hyperref }
{
- \ExpandArgs { x } \pdfstringdefDisableCommands
+ \ExpandArgs { e } \pdfstringdefDisableCommands
{
\cs_set_eq:NN \siunitx_print_text:n \exp_not:N \use:n
\siunitx_declare_unit:Nn \exp_not:N \ohm
diff --git a/macros/latex/contrib/siunitx/siunitx-table.dtx b/macros/latex/contrib/siunitx/siunitx-table.dtx
index 1eaf959a6b..f900c741f8 100644
--- a/macros/latex/contrib/siunitx/siunitx-table.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-table.dtx
@@ -1263,7 +1263,7 @@
{ \siunitx_print_number:n { #1#2#3 } }
\hbox_set:Nn \l_@@_decimal_box
{
- \siunitx_print_number:x
+ \siunitx_print_number:e
{ \@@_print_marker_aux:w #4 \q_stop }
}
\@@_center_marker:
diff --git a/macros/latex/contrib/siunitx/siunitx-unit.dtx b/macros/latex/contrib/siunitx/siunitx-unit.dtx
index ee458b3f88..8c94acad0e 100644
--- a/macros/latex/contrib/siunitx/siunitx-unit.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-unit.dtx
@@ -191,7 +191,7 @@
%
% \section{Defining symbolic units}
%
-% \begin{function}{\siunitx_declare_prefix:Nnn, \siunitx_declare_prefix:Nnx}
+% \begin{function}{\siunitx_declare_prefix:Nnn, \siunitx_declare_prefix:Nne}
% \begin{syntax}
% \cs{siunitx_declare_prefix:Nnn} \meta{prefix} \Arg{power} \Arg{symbol}
% \end{syntax}
@@ -248,9 +248,9 @@
% \begin{function}
% {
% \siunitx_declare_unit:Nn,
-% \siunitx_declare_unit:Nx,
+% \siunitx_declare_unit:Ne,
% \siunitx_declare_unit:Nnn,
-% \siunitx_declare_unit:Nxn
+% \siunitx_declare_unit:Nen
% }
% \begin{syntax}
% \cs{siunitx_declare_unit:Nn} \meta{unit} \Arg{meaning}
@@ -868,7 +868,7 @@
% \end{macro}
%
% \begin{macro}{\siunitx_declare_prefix:Nn}
-% \begin{macro}{\siunitx_declare_prefix:Nnn, \siunitx_declare_prefix:Nnx}
+% \begin{macro}{\siunitx_declare_prefix:Nnn, \siunitx_declare_prefix:Nne}
% \begin{variable}
% {\l_@@_prefixes_forward_prop, \l_@@_prefixes_reverse_prop}
% For prefixes there are a couple of options. In all cases, the basic
@@ -890,7 +890,7 @@
\prop_put:Nnn \l_@@_prefixes_forward_prop {#3} {#2}
\prop_put:Nnn \l_@@_prefixes_reverse_prop {#2} {#3}
}
-\cs_generate_variant:Nn \siunitx_declare_prefix:Nnn { Nnx }
+\cs_generate_variant:Nn \siunitx_declare_prefix:Nnn { Nne , Nnx }
\prop_new:N \l_@@_prefixes_forward_prop
\prop_new:N \l_@@_prefixes_reverse_prop
% \end{macrocode}
@@ -911,14 +911,14 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\siunitx_declare_unit:Nn, \siunitx_declare_unit:Nx}
-% \begin{macro}{\siunitx_declare_unit:Nnn, \siunitx_declare_unit:Nxn}
+% \begin{macro}{\siunitx_declare_unit:Nn, \siunitx_declare_unit:Ne}
+% \begin{macro}{\siunitx_declare_unit:Nnn, \siunitx_declare_unit:Nen}
% For the unit parsing, allowing for variations in definition order requires
% that a test is made for the output of each unit at point of use.
% \begin{macrocode}
\cs_new_protected:Npn \siunitx_declare_unit:Nn #1#2
{ \siunitx_declare_unit:Nnn #1 {#2} { } }
-\cs_generate_variant:Nn \siunitx_declare_unit:Nn { Nx }
+\cs_generate_variant:Nn \siunitx_declare_unit:Nn { Ne , Nx }
\cs_new_protected:Npn \siunitx_declare_unit:Nnn #1#2#3
{
\seq_put_right:Nn \l_siunitx_unit_seq {#1}
@@ -933,7 +933,7 @@
\tl_if_empty:nF {#3}
{ \tl_set:cn { l_@@_options_ \token_to_str:N #1 _tl } {#3} }
}
-\cs_generate_variant:Nn \siunitx_declare_unit:Nnn { Nx }
+\cs_generate_variant:Nn \siunitx_declare_unit:Nnn { Ne , Nx }
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -2718,7 +2718,7 @@
\siunitx_declare_prefix:Nnn \femto { -15 } { f }
\siunitx_declare_prefix:Nnn \pico { -12 } { p }
\siunitx_declare_prefix:Nnn \nano { -9 } { n }
-\siunitx_declare_prefix:Nnx \micro { -6 } { \@@_non_latin:n { "03BC } }
+\siunitx_declare_prefix:Nne \micro { -6 } { \@@_non_latin:n { "03BC } }
\siunitx_declare_prefix:Nnn \milli { -3 } { m }
\siunitx_declare_prefix:Nnn \centi { -2 } { c }
\siunitx_declare_prefix:Nnn \deci { -1 } { d }
@@ -2775,7 +2775,7 @@
% Named derived units: first half of alphabet.
% \begin{macrocode}
\siunitx_declare_unit:Nn \becquerel { Bq }
-\siunitx_declare_unit:Nx \degreeCelsius { \@@_non_latin:n { "00B0 } C }
+\siunitx_declare_unit:Ne \degreeCelsius { \@@_non_latin:n { "00B0 } C }
\siunitx_declare_unit:Nn \coulomb { C }
\siunitx_declare_unit:Nn \farad { F }
\siunitx_declare_unit:Nn \gray { Gy }
@@ -2804,7 +2804,7 @@
% Named derived units: second half of alphabet.
% \begin{macrocode}
\siunitx_declare_unit:Nn \newton { N }
-\siunitx_declare_unit:Nx \ohm { \@@_non_latin:n { "2126 } }
+\siunitx_declare_unit:Ne \ohm { \@@_non_latin:n { "2126 } }
\siunitx_declare_unit:Nn \pascal { Pa }
\siunitx_declare_unit:Nn \radian { rad }
\siunitx_declare_unit:Nn \siemens { S }
@@ -2859,16 +2859,16 @@
% }
% Arc units: again, non-\acro{SI}, but accepted for general use.
% \begin{macrocode}
-\siunitx_declare_unit:Nx \arcminute { \@@_non_latin:n { "02B9 } }
-\siunitx_declare_unit:Nx \arcsecond { \@@_non_latin:n { "02BA } }
-\siunitx_declare_unit:Nx \degree { \@@_non_latin:n { "00B0 } }
+\siunitx_declare_unit:Ne \arcminute { \@@_non_latin:n { "02B9 } }
+\siunitx_declare_unit:Ne \arcsecond { \@@_non_latin:n { "02BA } }
+\siunitx_declare_unit:Ne \degree { \@@_non_latin:n { "00B0 } }
% \end{macrocode}
% \end{macro}
%
% \begin{macro}{\percent}
% For percent, the raw character is the most flexible way of handling output.
% \begin{macrocode}
-\siunitx_declare_unit:Nx \percent { \cs_to_str:N \% }
+\siunitx_declare_unit:Ne \percent { \cs_to_str:N \% }
% \end{macrocode}
% \end{macro}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index 88f313ab7f..e2870e43e6 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -121,7 +121,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2023-10-07} {3.3.7}
+\ProvidesExplPackage {siunitx} {2023-11-06} {3.3.8}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 59e098502a..73faebb49e 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/luatex/latex/innerscript/README.txt b/macros/luatex/latex/innerscript/README.txt
index dc4079f006..72c48e3e15 100644
--- a/macros/luatex/latex/innerscript/README.txt
+++ b/macros/luatex/latex/innerscript/README.txt
@@ -1,55 +1,128 @@
-This README file contains information about the LuaLaTeX package
-"innerscript" version 1.1 installation. Besides this README, the
-installation contains the following files:
+ LaTeX Package innerscript v. 1.2
+ Installation Guide/README
+ Conrad Kosowsky
- (1) innerscript.dtx: the primary file;
- and
+This file is README.txt from version 1.2 of the free and
+open-source LaTeX package "innerscript," released November
+2023, to be used with the LuaTeX engine. The innerscript
+package optionally modifies four aspects of TeX's automatic
+math formatting rules to improve typesetting. See the user
+guide for more information. See below for installation and
+license information.
- (2) innerscript.pdf: documentation of the package.
+*********************************************************
-To produce the package file innerscript.sty, run innerscript.dtx
-through LaTeX. Then complete the installation by moving the package
-file into a directory searchable by TeX.
+To install innerscript automatically, update your TeXLive or
+MacTeX distribution or use a package manager such as tlmgr.
+To install innerscript manually requires two steps as follows.
+Step 1: You need to generate the package file innerscript.sty
+from innerscript_code.dtx. You can do this in two ways:
+ (1) Running Plain TeX on innerscript_code.dtx will create
+ innerscript.sty as well as several other tex files that
+ can be used for typesetting documentation.
-Copyright 2021 by Conrad Kosowsky
+ (2) Running LaTeX on innerscript_code.dtx will produce the
+ files listed in point (1) including innerscript.sty as
+ well as innerscript_code.pdf, which documents the
+ package code.
-This file may be distributed and modified under the terms of the
-LaTeX Public Project License, version 1.3c or any later version.
-The most recent version of this license is available online at
+Step 2: Once you have created innerscript.sty, you should
+move it into a directory searchable by TeX to complete the
+installation. If you are unsure how to do this, consult your
+TeX distribution.
- https://www.latex-project.org/lppl/.
+*********************************************************
-This work has the LPPL status "maintained," and the current
-maintainer is the package author, Conrad Kosowsky. He can be
-reached at kosowsky.latex@gmail.com. The work consists of the
-following items:
+Besides this README, the installation contains the following
+items:
- (1) the base file innerscript.dtx;
+ (1) innerscript_code.dtx: the main file. See above for
+ instructions to generate innerscript.sty from this
+ file and complete the installation.
- (2) the package code contained in innerscript.sty;
+ (2) innerscript_code.pdf: documentation of the package
+ code.
- (3) the pdf documentation file innerscript.pdf;
+ (3) innerscript_user_guide.pdf: a user guide.
- (4) all other files created through the configuration process;
-
- and
+Typesetting innerscript_code.dtx will create
+innerscript_user_guide.tex, which is the tex file that
+produces the user guide in point (3) above.
+
+*********************************************************
+
+Copyright 2021,2023 by Conrad Kosowsky
+
+This file may be distributed and modified under the terms
+of the LaTeX Public Project License, version 1.3c or any
+later version. The most recent version of this license is
+available online at
- (5) this README.txt file.
+ https://www.latex-project.org/lppl/
-THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED
-WARRANTY. BY USING THIS SOFTWARE, YOU AGREE TO RELEASE THE PACKAGE
-AUTHOR, TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAW, FROM
-LIABILITY THAT RESULTS FROM YOUR USE OF THE SOFTWARE, AND YOU AGREE
-THAT ANY DAMAGES SOUGHT AGAINST THE PACKAGE AUTHOR WILL NOT EXCEED
-THE MINIMUM DAMAGES ALLOWED UNDER APPLICABLE LAW.
+This Work has the LPPL status "maintained," and the current
+maintainer is the package author, Conrad Kosowsky. He can
+be reached at kosowsky.latex@gmail.com. The Work consists
+of the following items:
-For more information, see the original innerscript.dtx file. To
-install innerscript on your computer, run innerscript.dtx through
-LaTeX and place the derived file innerscript.sty in a directory
-searchable by TeX.
+ (1) the base file:
+ innerscript.dtx
+
+ (2) the package file:
+ innerscript.sty
+
+ (3) the pdf documentation files:
+ innerscript_code.pdf
+ innerscript_user_guide.pdf
+
+ (4) the derived files:
+ innerscript_user_guide.tex
+ innerscript_heading.tex
+
+ (5) all other files created through the configuration
+ process
+
+ and
-Happy TeXing!
+ (6) this README.txt file
+
+PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT
+ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF
+THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING:
+
+THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE
+STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK
+`AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE,
+YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
+CORRECTION.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
+TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR
+NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY
+WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED
+ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
+SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
+OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK
+(INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING
+RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A
+RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY
+OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID
+AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+For more information, see the LaTeX Project Public License.
+Derivative works based on this software may come with their
+own license or terms of use, and the package author is not
+responsible for any third-party software.
+
+*********************************************************
+
+For more information, see innerscript_code.dtx. Happy TeXing!
diff --git a/macros/luatex/latex/innerscript/innerscript.dtx b/macros/luatex/latex/innerscript/innerscript.dtx
deleted file mode 100644
index ab371312c8..0000000000
--- a/macros/luatex/latex/innerscript/innerscript.dtx
+++ /dev/null
@@ -1,805 +0,0 @@
-% \iffalse ---!!! META-COMMENT !!!---
-%
-% This file is file from version 1.1 of the LuaLaTeX package
-% "innerscript," to be used in conjunction with the LuaTeX engine.
-%
-% Copyright 2021 by Conrad Kosowsky
-%
-% This file may be distributed and modified under the terms of the
-% LaTeX Public Project License, version 1.3c or any later version.
-% The most recent version of this license is available online at
-%
-% https://www.latex-project.org/lppl/.
-%
-% This work has the LPPL status "maintained," and the current
-% maintainer is the package author, Conrad Kosowsky. He can be
-% reached at kosowsky.latex@gmail.com. The work consists of the
-% following items:
-%
-% (1) the base file innerscript.dtx;
-%
-% (2) the package code contained in innerscript.sty;
-%
-% (3) the pdf documentation file innerscript.pdf;
-%
-% (4) all other files created through the configuration process;
-%
-% and
-%
-% (5) the associated README.txt file.
-%
-% THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED
-% WARRANTY. BY USING THIS SOFTWARE, YOU AGREE TO RELEASE THE PACKAGE
-% AUTHOR, TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAW, FROM
-% LIABILITY THAT RESULTS FROM YOUR USE OF THE SOFTWARE, AND YOU AGREE
-% THAT ANY DAMAGES SOUGHT AGAINST THE PACKAGE AUTHOR WILL NOT EXCEED
-% THE MINIMUM DAMAGES ALLOWED UNDER APPLICABLE LAW.
-%
-% For more information, see the original innerscript.dtx file. To
-% install innerscript on your computer, run innerscript.dtx through
-% LaTeX and place the derived file innerscript.sty in a directory
-% searchable by TeX.
-%
-% Happy TeXing!
-%
-% \fi
-% \iffalse
-%
-% The installation and driver files are incorporated into innerscript.dtx,
-% so we do not need to generate them separately. The <batchfile> and
-% <driver> tags are for reference.
-%
-%<*batchfile>
-\begingroup
-\input docstrip.tex
-\keepsilent
-\askforoverwritefalse
-\preamble
-
-This file is file from version 1.1 of the LuaLaTeX package
-"innerscript," to be used in conjunction with the LuaTeX engine.
-
-Copyright 2021 by Conrad Kosowsky
-
-This file may be distributed and modified under the terms of the
-LaTeX Public Project License, version 1.3c or any later version.
-The most recent version of this license is available online at
-
- https://www.latex-project.org/lppl/.
-
-This work has the LPPL status "maintained," and the current
-maintainer is the package author, Conrad Kosowsky. He can be
-reached at kosowsky.latex@gmail.com. The work consists of the
-following items:
-
- (1) the base file innerscript.dtx;
-
- (2) the package code contained in innerscript.sty;
-
- (3) the pdf documentation file innerscript.pdf;
-
- (4) all other files created through the configuration process;
-
- and
-
- (5) the associated README.txt file.
-
-THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED
-WARRANTY. BY USING THIS SOFTWARE, YOU AGREE TO RELEASE THE PACKAGE
-AUTHOR, TO THE MAXIMUM EXTENT PERMITTED UNDER APPLICABLE LAW, FROM
-LIABILITY THAT RESULTS FROM YOUR USE OF THE SOFTWARE, AND YOU AGREE
-THAT ANY DAMAGES SOUGHT AGAINST THE PACKAGE AUTHOR WILL NOT EXCEED
-THE MINIMUM DAMAGES ALLOWED UNDER APPLICABLE LAW.
-
-For more information, see the original innerscript.dtx file. To
-install innerscript on your computer, run innerscript.dtx through
-LaTeX and place the derived file innerscript.sty in a directory
-searchable by TeX.
-
-Happy TeXing!
-
-\endpreamble
-\generate{\file{innerscript.sty}{\from{innerscript.dtx}{package}}}
-\catcode`\ =12\relax
-\message{^^J^^J
-*******************************************^^J
-* *^^J
-* To finish the installation, move the *^^J
-* following file into a directory *^^J
-* searchable by TeX once *^^J
-* innerscript.dtx finishes compiling: *^^J
-* *^^J
-* innerscript.sty *^^J
-* *^^J
-*******************************************^^J^^J^^J^^J^^J^^J}
-\endgroup
-%</batchfile>
-%<*driver>
-\documentclass[12pt]{ltxdoc}
-\makeatletter
-\usepackage[margin=72.27pt]{geometry}
-\usepackage[factor=700,stretch=14,shrink=14,step=1]{microtype}
-\usepackage{booktabs}
-\usepackage{tabularx}
-\usepackage{amsmath}
-\usepackage{multicol}
-\pretolerance=20
-\hyphenpenalty=10
-\exhyphenpenalty=5
-\brokenpenalty=0
-\clubpenalty=0
-\widowpenalty=0
-\finalhyphendemerits=300
-\doublehyphendemerits=500
-\usepackage{graphicx}
-\MacroIndent=1.32em
-\begin{document}
-\DocInput{innerscript.dtx}
-\end{document}
-%</driver>
-%<*package>
-%
-% \fi
-%
-%
-% \CheckSum{1207}
-% \init@checksum
-%
-% \makeatother\CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-% \makeatletter
-%
-%
-%
-% \newenvironment{code}
-% {\strut\vadjust\bgroup\medskip\parindent\z@\leftskip=4em\relax
-% \noindent\strut\ignorespaces}
-% {\strut\par\medskip\egroup\hfill\break\strut\ignorespacesafterend}
-% \def\argtext#1{\ensuremath{\langle$\textit{#1}$\rangle}}
-% \def\vrb#1{\expandafter\texttt\expandafter{\string#1}}
-% \newdimen\displaypress
-% \displaypress=\textwidth
-% \divide\displaypress by 6
-% \def\showtwoeq#1#2{\global\advance\c@equation\@ne
-% \hbox to \hsize{\hskip\the\displaypress plus 0.1pt minus 0.1pt\relax
-% \hbox to 2\displaypress{\hss$\displaystyle#1$\hss}\relax
-% \hbox to 2\displaypress{\hss$\displaystyle#2$\hss}\relax
-% \hskip\the\displaypress plus 0.1pt minus 0.1pt\relax
-% \llap{(\the\c@equation)}}}
-%
-%
-% {\large
-% \parindent=0pt
-% \leftskip=0pt plus 1 fil
-% \rightskip=0pt plus 1fil
-% \parfillskip=0pt
-% {\strut\Large Package \textsf{innerscript} v.\ 1.1 Documentation}\par
-% \strut Conrad Kosowsky\par
-% \strut February 2021\par
-% \strut\texttt{kosowsky.latex@gmail.com}\par}
-%
-% \medskip
-%
-% \begin{figure}[h]
-% \hrule height \p@
-% \hbox to \hsize{\relax
-% \vrule width \p@\kern-\p@
-% \vbox{\medskip
-% \leftskip=8.5em\relax\rightskip=8.5em\relax
-% \noindent\strut For easy, off-the-shelf use, type the following
-% in your document preamble and compile using Lua\LaTeX:
-% \vskip\medskipamount
-% \noindent\hfil\strut|\usepackage{innerscript}|\hfil
-% \vskip\medskipamount}\relax
-% \kern-\p@\vrule width \p@}
-% \hrule height \p@
-% \end{figure}
-%
-%
-%
-% \begin{abstract}
-% \noindent The \textsf{mathinner} package modifies two aspects of \TeX's automatic interatom mathematics spacing. The package uses Lua\TeX's |\Umath| primitives to make superscripts and subscripts more closely resemble |\textstyle| and |\displaystyle| math and to treat |\mathinner| subformulas as |\mathord|, effectively eliminating this class. Users must load \textsf{innerscript} with the Lua\TeX\ engine.
-%
-% \medskip\smallskip
-%
-% \noindent Keywords: superscript, subscript, spacing, mathinner, scriptstyle, scriptscriptstyle, Lua\TeX, Umath, atom
-%
-% \end{abstract}
-%
-% \bigskip
-%
-% \noindent For several years now, I wondered whether it was possible to change two features of \TeX's mathematics spacing routine, namely the lack of automatic spacing in subscripts and superscripts and the extra space around |\mathinner| subformulas. For example, compare
-% \vadjust{\vskip\abovedisplayskip
-% \showtwoeq{\sum_{i=1}^n{}x_i^{1+a}}%
-% {f(x)=g\left(\frac1x\right)}
-% \smallskip\smallskip
-% \showtwoeq{\sum_{i\mskip\thinmuskip=\mskip\thinmuskip1}^n
-% x^{1\mskip 0.7\thinmuskip+\mskip 0.7\thinmuskip a}_i}
-% {f(x)=g{\left(\frac1x\right)}.}
-% \vskip\belowdisplayskip}\hfil\break
-% Equation~(1) uses traditional \TeX\ spacing, and equation~(2) incorporates small adjustments. On the left, the subscript under the summation symbol and the superscript of $x_i$ contain small amounts of extra space around the |=| and |+| signs respectively, and on the right, the $g$ is directly next to the parenthesis instead of being an extra |\thinmuskip| away. In traditional \TeX, automating these changes would be impossible to do easily, but Lua\TeX's extra math-mode primitives provide direct access to the interatom space parameters.\footnote{See section 7.5 of the Lua\TeX\ manual.} The \textsf{innerscript} package is my attempt to automate the changes in equation~(2) using |\Umath| spacing commands, and as far as I am aware, it is the first package to do so. (Although please let me know if this is incorrect!) It provides no user-level commands and alters spacing automatically. This file explains how to load the package and documents the internal code.
-%
-%
-%
-% Users can load \textsf{innerscript} with the standard
-% \begin{code}
-% |\usepackage[|\argtext{options}|]{innerscript}|
-% \end{code}
-% syntax.\vadjust{\break} The package must be loaded with Lua\LaTeX, and if it detects a different engine, \textsf{innerscript} will issue an error.\footnote{Specifically, \textsf{innerscript} checks whether \vrb\Umathordordspacing\ is defined.} It is possible to continue compiling past the error with no other issues, but if you do, \textsf{innerscript} will not be able to change any math spacing in your document. Table~1 shows the six package options, and by default \textsf{innerscript} selects the first three. The |script| and |scriptscript| options will affect spacing of symbols in superscripts and subscripts, and the |inner| option will eliminate extra spacing for |\mathinner| subformulas, such as fractions and |\left|-|\right| delimiter pairs. The |no-|~variants disable the spacing adjustments for the corresponding default option.
-%
-%
-% \begin{figure}[t]
-% \centering
-% Table~1: Package Options for \textsf{innerscript}
-% \vskip\smallskipamount
-% \begin{tabularx}\hsize{p{1.5in}>{\raggedright\arraybackslash}X}
-% \toprule
-% Package Option & Meaning\\
-% \midrule
-% |script| & Changes to |\scriptstyle| and |\crampedscriptstyle| spacing\\
-% |scriptscript| & Changes to |\scriptscriptstyle| and |\crampedscriptscriptstyle| spacing\\
-% |inner| & Treat |\mathinner| subformulas as |\mathord|\\\midrule
-% |no-script| & No changes to |\scriptstyle| and |\crampedscriptstyle| spacing\\
-% |no-scriptscript| & No changes to |\scriptscriptstyle| and |\crampedscriptscriptstyle| spacing\\
-% |no-inner| & No changes to treatment of |\mathinner| subformulas\\
-% \bottomrule
-% \end{tabularx}
-% \end{figure}
-%
-%
-% \begin{figure}[t!]
-% \centering
-% Table~2: Spacing Inserted by \textsf{innerscript} between Consecutive Atoms
-% \vskip\smallskipamount
-% \begin{tabularx}{\hsize}{XXX}
-% \toprule
-% Consecutive Atom Types & Option |script| & Option |scriptscript| \\\midrule
-% |\mathord||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathord||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-% |\mathord||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-% |\mathord||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathop||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathop||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathop||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-% |\mathop||\mathinner| & |\thinmuskip| & 0.7|\thinmuskip| \\
-% |\mathbin||\mathord| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-% |\mathbin||\mathop| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-% |\mathbin||\mathopen| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-% |\mathbin||\mathinner| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-% |\mathrel||\mathord| & |\thinmuskip| & 0.7|\thinmuskip| \\
-% |\mathrel||\mathop| & |\thinmuskip| & 0.7|\thinmuskip| \\
-% |\mathrel||\mathopen| & |\thinmuskip| & 0.7|\thinmuskip| \\
-% |\mathrel||\mathinner| & |\thinmuskip| & 0.7|\thinmuskip| \\
-% |\mathclose||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathclose||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-% |\mathclose||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-% |\mathclose||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathrel| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathclose| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathpunct||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathinner||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathinner||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathinner||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
-% |\mathinner||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
-% |\mathinner||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathinner||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% |\mathinner||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
-% \bottomrule
-% \end{tabularx}
-% \end{figure}
-%
-%
-% In standard mathematics typesetting, \TeX\ uses different font sizes for different portions of math lists, and it chooses a certain size based on the math style currently in use.\footnote{The eight math styles are \vrb\displaystyle, \vrb\textstyle, \vrb\scriptstyle, \vrb\scriptscriptstyle, and cramped versions of those four, where the control sequence begins with the word ``cramped.'' Technically a math style is an instruction to pull math symbols from a specific font associated with a math family and to apply certain rules for assembling formulas to this part of the math list. See Donald Knuth, \textit{The \TeX book,} (Addison Wesley, 1986), 140--143, 441--447; David Salomon, \textit{The Advanced \TeX book,} (Springer, 1995), 254--256.} \TeX\ uses |\displaystyle| and |\textstyle| as the default for display and inline math respectively, and while in either of these styles or the corresponding cramped versions, it adds extra space between symbols of certain math classes.\footnote{The eight classes are \vrb\mathord, \vrb\mathop, \vrb\mathbin, \vrb\mathrel, \vrb\mathopen, \vrb\mathclose, \vrb\mathpunct, and \vrb\mathinner. They are specific to particular symbols and determine spacing in math formulas. As part of its definition, every math symbol is associated with a certain math class. See Donald Knuth, \textit{The \TeX book,} 170; David Salomon, \textit{The Advanced \TeX book,} 256--258.} \TeX\ switches to |\scriptstyle|, |\scriptscriptstyle|, or the corresponding cramped versions to typeset superscripts and subscripts, and in doing so, it forgoes most of the spacing additions from |\textstyle|.
-%
-% The |script| and |scriptscript| options reverse this decision by forcing interatom spacing to more closely resemble that of |\textstyle|. Table~2 lists the amount of space that \textsf{innerscript} inserts between various pairs of math classes for each option, and adjustments of this type will resemble the changes to the summation from equation~(2). The |inner| package option forces all spacing around |\mathinner| subformulas to take the value it would if the formula had type |\mathord|. Traditionally \TeX\ places more space around |\mathinner| subformulas than it does around |\mathord| atoms, so loading \textsf{innerscript} with |inner| will remove a certain amount of space from math formulas. Changes of this type will typically resemble the adjustment to the function $g$ from equation~(2). Users who want to further change the spacing in their math formulas should manually add glue, muglue, or |\kern| to their math lists or provide new values for the |\Umath| spacing parameters in their document preamble.
-%
-% \vfil\eject
-% \section*{Implementation}
-%
-% Finally, we come to the implementation, and we begin by declaring the package. The conditionals |\ifIS@script|, |\ifIS@scriptscript|, and |\ifIS@inner| encode option information, and we set them according to the user's option declaration.
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{innerscript}[2021/02/07 v. 1.1 Package innerscript]
-\newif\ifIS@script\IS@scripttrue
-\newif\ifIS@scriptscript\IS@scriptscripttrue
-\newif\ifIS@inner\IS@innertrue
-\DeclareOption{script}{\IS@scripttrue}
-\DeclareOption{scriptscript}{\IS@scriptscripttrue}
-\DeclareOption{inner}{\IS@innertrue}
-\DeclareOption{no-script}{\IS@scriptfalse}
-\DeclareOption{no-scriptscript}{\IS@scriptscriptfalse}
-\DeclareOption{no-inner}{\IS@innerfalse}
-\ProcessOptions*
-% \end{macrocode}
-% Check whether |\Umathordordspacing| is defined. If not, issue an error and |\endinput|. We won't be able to print multiple spaces at once because \TeX\ collapses multiple space characters, so within a group, we change |+| to active and define it to be a space.
-% \begin{macrocode}
-\ifx\Umathordordspacing\@undefined
- \bgroup\catcode`\+=13
- \def+{ }
- \def\IS@LuaTeXError{\GenericError{}
- {\MessageBreak\MessageBreak
- Package innerscript error:
- \MessageBreak\MessageBreak
- ++*******************\MessageBreak
- ++*+++++++++++++++++*\MessageBreak
- ++*+++CANNOT LOAD+++*\MessageBreak
- ++*+++INNERSCRIPT+++*\MessageBreak
- ++*++LuaTeX Needed++*\MessageBreak
- ++*+++++++++++++++++*\MessageBreak
- ++*******************\MessageBreak\@gobbletwo}
- {See the innerscript package documentation for explanation.}
- {I need LuaTeX to make the innerscript package work. It\MessageBreak
- looks like the current engine is something else, so I\MessageBreak
- can't load the package file. To use innerscript, please\MessageBreak
- typeset with LuaLaTeX. To continue without innerscript,\MessageBreak
- press return.}}
- \IS@LuaTeXError
- \egroup
- \expandafter\endinput% we \endinput with a balanced conditional
-\fi
-% \end{macrocode}
-% We will use |\IS@skip| to store muglue information later.
-% \begin{macrocode}
-\newmuskip\IS@skip
-% \end{macrocode}
-% First we set the spacing for |\scriptstyle| and |\crampedscriptstyle| atoms. Each command has the form
-% \begin{code}
-% |\Umath|\argtext{math classes}|spacing\|\argtext{math style}|=|\argtext{factor}|\thinmuskip|,
-% \end{code}
-% where the \textit{math classes} are a pair of choices from |ord|, |op|, |bin|, |rel|, |open|, |close|, |punct|, and |inner|. The \textit{math style} is either |scriptstyle| or |crampedscriptstyle|, and the \textit{factor} corresponds to the spacing listed in Table~2. We set the |\scriptstyle| and |\scriptscriptstyle| spacing before handling |\mathinner| subformulas because we want to use updated spacing values for the |\mathinner| space adjustments. Otherwise, the |\scriptstyle| and |\scriptscriptstyle| adjustments will overwrite changes to |\mathinner| spacing.
-% \begin{macrocode}
-\ifIS@script
- \wlog{Package innerscript Info:
- Adjusting spacing for \string\scriptstyle.}
- \Umathordopspacing\scriptstyle=0.6\thinmuskip
- \Umathordbinspacing\scriptstyle=0.7\thinmuskip
- \Umathordrelspacing\scriptstyle=\thinmuskip
- \Umathordinnerspacing\scriptstyle=0.6\thinmuskip
- \Umathopordspacing\scriptstyle=0.6\thinmuskip
- \Umathopopspacing\scriptstyle=0.6\thinmuskip
- \Umathoprelspacing\scriptstyle=\thinmuskip
- \Umathopinnerspacing\scriptstyle=\thinmuskip
- \Umathbinordspacing\scriptstyle=0.7\thinmuskip
- \Umathbinopspacing\scriptstyle=0.7\thinmuskip
- \Umathbinopenspacing\scriptstyle=0.7\thinmuskip
- \Umathbininnerspacing\scriptstyle=0.7\thinmuskip
- \Umathrelordspacing\scriptstyle=\thinmuskip
- \Umathrelopspacing\scriptstyle=\thinmuskip
- \Umathrelopenspacing\scriptstyle=\thinmuskip
- \Umathrelinnerspacing\scriptstyle=\thinmuskip
- \Umathcloseopspacing\scriptstyle=0.6\thinmuskip
- \Umathclosebinspacing\scriptstyle=0.7\thinmuskip
- \Umathcloserelspacing\scriptstyle=\thinmuskip
- \Umathcloseinnerspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctordspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctopspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctrelspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctopenspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctclosespacing\scriptstyle=0.6\thinmuskip
- \Umathpunctpunctspacing\scriptstyle=0.6\thinmuskip
- \Umathpunctinnerspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerordspacing\scriptstyle=0.6\thinmuskip
- \Umathinneropspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerbinspacing\scriptstyle=0.7\thinmuskip
- \Umathinnerrelspacing\scriptstyle=\thinmuskip
- \Umathinneropenspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerpunctspacing\scriptstyle=0.6\thinmuskip
- \Umathinnerinnerspacing\scriptstyle=0.6\thinmuskip
- \wlog{Package innerscript Info:
- Adjusting spacing for \string\crampedscriptstyle.}
- \Umathordopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathordbinspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathordrelspacing\crampedscriptstyle=\thinmuskip
- \Umathordinnerspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathopordspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathopopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathoprelspacing\crampedscriptstyle=\thinmuskip
- \Umathopinnerspacing\crampedscriptstyle=\thinmuskip
- \Umathbinordspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathbinopspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathbinopenspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathbininnerspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathrelordspacing\crampedscriptstyle=\thinmuskip
- \Umathrelopspacing\crampedscriptstyle=\thinmuskip
- \Umathrelopenspacing\crampedscriptstyle=\thinmuskip
- \Umathrelinnerspacing\crampedscriptstyle=\thinmuskip
- \Umathcloseopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathclosebinspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathcloserelspacing\crampedscriptstyle=\thinmuskip
- \Umathcloseinnerspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctordspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctopspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctrelspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctopenspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctclosespacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctpunctspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathpunctinnerspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerordspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinneropspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerbinspacing\crampedscriptstyle=0.7\thinmuskip
- \Umathinnerrelspacing\crampedscriptstyle=\thinmuskip
- \Umathinneropenspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerpunctspacing\crampedscriptstyle=0.6\thinmuskip
- \Umathinnerinnerspacing\crampedscriptstyle=0.6\thinmuskip
-\fi
-% \end{macrocode}
-% Set the spacing for |\scriptscriptstyle| and |\crampedscriptscriptstyle|. The process is the same as it was for |\scriptstyle| except with different |\muskip| \textit{factors}.
-% \begin{macrocode}
-\ifIS@scriptscript
- \wlog{Package innerscript Info:
- Adjusting spacing for \string\scriptscriptstyle.}
- \Umathordopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathordbinspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathordrelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathordinnerspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathopordspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathopopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathoprelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathopinnerspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathbinordspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathbinopspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathbinopenspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathbininnerspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathrelordspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathrelopspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathrelopenspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathrelinnerspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathcloseopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathclosebinspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathcloserelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathcloseinnerspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctordspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctopspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctrelspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctopenspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctclosespacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctpunctspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathpunctinnerspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerordspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinneropspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerbinspacing\scriptscriptstyle=0.5\thinmuskip
- \Umathinnerrelspacing\scriptscriptstyle=0.7\thinmuskip
- \Umathinneropenspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerpunctspacing\scriptscriptstyle=0.4\thinmuskip
- \Umathinnerinnerspacing\scriptscriptstyle=0.4\thinmuskip
- \wlog{Package innerscript Info:
- Adjusting spacing for \string\crampedscriptscriptstyle.}
- \Umathordopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathordbinspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathordrelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathordinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathopordspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathopopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathoprelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathopinnerspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathbinordspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathbinopspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathbinopenspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathbininnerspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathrelordspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathrelopspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathrelopenspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathrelinnerspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathcloseopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathclosebinspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathcloserelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathcloseinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctordspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctopspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctrelspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctopenspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctclosespacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctpunctspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathpunctinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerordspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinneropspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerbinspacing\crampedscriptscriptstyle=0.5\thinmuskip
- \Umathinnerrelspacing\crampedscriptscriptstyle=0.7\thinmuskip
- \Umathinneropenspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerpunctspacing\crampedscriptscriptstyle=0.4\thinmuskip
- \Umathinnerinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
-\fi
-% \end{macrocode}
-% Now set the spacing for |\mathinner| subformulas. We store each |\mathord| spacing dimension in |\IS@skip| and use it to reset the |\mathinner| spacing. Each command has the form
-% \begin{code}
-% |\IS@skip\Umath|\argtext{math class}|ordspacing\|\argtext{math style}\\
-% |\Umath|\argtext{math class}|innerspacing\|\argtext{math style}|\IS@skip|
-% \end{code}
-% or
-% \begin{code}
-% |\IS@skip\Umathord|\argtext{math class}|spacing\|\argtext{math style}\\
-% |\Umathinner|\argtext{math class}|spacing\|\argtext{math style}|\IS@skip|,
-% \end{code}
-% where \textit{math class} is one of |ord|, |op|, |bin|, |rel|, |open|, |close|, |punct|, or |inner|. The \textit{math style} is either |displaystyle|, |textstyle|, |scriptstyle|, |scriptscriptstyle|, or the cramped version of any of those four.
-% \begin{macrocode}
-\ifIS@inner
- \wlog{Package innerscript Info:
- Adjusting spacing for \string\mathinner.}
- \IS@skip\Umathordordspacing\displaystyle
- \Umathordinnerspacing\displaystyle\IS@skip
- \IS@skip\Umathordordspacing\textstyle
- \Umathordinnerspacing\textstyle\IS@skip
- \IS@skip\Umathordordspacing\scriptstyle
- \Umathordinnerspacing\scriptstyle\IS@skip
- \IS@skip\Umathordordspacing\scriptscriptstyle
- \Umathordinnerspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathordordspacing\crampeddisplaystyle
- \Umathordinnerspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathordordspacing\crampedtextstyle
- \Umathordinnerspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathordordspacing\crampedscriptstyle
- \Umathordinnerspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathordordspacing\crampedscriptscriptstyle
- \Umathordinnerspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathopordspacing\displaystyle
- \Umathopinnerspacing\displaystyle\IS@skip
- \IS@skip\Umathopordspacing\textstyle
- \Umathopinnerspacing\textstyle\IS@skip
- \IS@skip\Umathopordspacing\scriptstyle
- \Umathopinnerspacing\scriptstyle\IS@skip
- \IS@skip\Umathopordspacing\scriptscriptstyle
- \Umathopinnerspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathopordspacing\crampeddisplaystyle
- \Umathopinnerspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathopordspacing\crampedtextstyle
- \Umathopinnerspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathopordspacing\crampedscriptstyle
- \Umathopinnerspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathopordspacing\crampedscriptscriptstyle
- \Umathopinnerspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathbinordspacing\displaystyle
- \Umathbininnerspacing\displaystyle\IS@skip
- \IS@skip\Umathbinordspacing\textstyle
- \Umathbininnerspacing\textstyle\IS@skip
- \IS@skip\Umathbinordspacing\scriptstyle
- \Umathbininnerspacing\scriptstyle\IS@skip
- \IS@skip\Umathbinordspacing\scriptscriptstyle
- \Umathbininnerspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathbinordspacing\crampeddisplaystyle
- \Umathbininnerspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathbinordspacing\crampedtextstyle
- \Umathbininnerspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathbinordspacing\crampedscriptstyle
- \Umathbininnerspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathbinordspacing\crampedscriptscriptstyle
- \Umathbininnerspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathrelordspacing\displaystyle
- \Umathrelinnerspacing\displaystyle\IS@skip
- \IS@skip\Umathrelordspacing\textstyle
- \Umathrelinnerspacing\textstyle\IS@skip
- \IS@skip\Umathrelordspacing\scriptstyle
- \Umathrelinnerspacing\scriptstyle\IS@skip
- \IS@skip\Umathrelordspacing\scriptscriptstyle
- \Umathrelinnerspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathrelordspacing\crampeddisplaystyle
- \Umathrelinnerspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathrelordspacing\crampedtextstyle
- \Umathrelinnerspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathrelordspacing\crampedscriptstyle
- \Umathrelinnerspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathrelordspacing\crampedscriptscriptstyle
- \Umathrelinnerspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathopenordspacing\displaystyle
- \Umathopeninnerspacing\displaystyle\IS@skip
- \IS@skip\Umathopenordspacing\textstyle
- \Umathopeninnerspacing\textstyle\IS@skip
- \IS@skip\Umathopenordspacing\scriptstyle
- \Umathopeninnerspacing\scriptstyle\IS@skip
- \IS@skip\Umathopenordspacing\scriptscriptstyle
- \Umathopeninnerspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathopenordspacing\crampeddisplaystyle
- \Umathopeninnerspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathopenordspacing\crampedtextstyle
- \Umathopeninnerspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathopenordspacing\crampedscriptstyle
- \Umathopeninnerspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathopenordspacing\crampedscriptscriptstyle
- \Umathopeninnerspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathcloseordspacing\displaystyle
- \Umathcloseinnerspacing\displaystyle\IS@skip
- \IS@skip\Umathcloseordspacing\textstyle
- \Umathcloseinnerspacing\textstyle\IS@skip
- \IS@skip\Umathcloseordspacing\scriptstyle
- \Umathcloseinnerspacing\scriptstyle\IS@skip
- \IS@skip\Umathcloseordspacing\scriptscriptstyle
- \Umathcloseinnerspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathcloseordspacing\crampeddisplaystyle
- \Umathcloseinnerspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathcloseordspacing\crampedtextstyle
- \Umathcloseinnerspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathcloseordspacing\crampedscriptstyle
- \Umathcloseinnerspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathcloseordspacing\crampedscriptscriptstyle
- \Umathcloseinnerspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathpunctordspacing\displaystyle
- \Umathpunctinnerspacing\displaystyle\IS@skip
- \IS@skip\Umathpunctordspacing\textstyle
- \Umathpunctinnerspacing\textstyle\IS@skip
- \IS@skip\Umathpunctordspacing\scriptstyle
- \Umathpunctinnerspacing\scriptstyle\IS@skip
- \IS@skip\Umathpunctordspacing\scriptscriptstyle
- \Umathpunctinnerspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathpunctordspacing\crampeddisplaystyle
- \Umathpunctinnerspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathpunctordspacing\crampedtextstyle
- \Umathpunctinnerspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathpunctordspacing\crampedscriptstyle
- \Umathpunctinnerspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathpunctordspacing\crampedscriptscriptstyle
- \Umathpunctinnerspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathordordspacing\displaystyle
- \Umathinnerordspacing\displaystyle\IS@skip
- \IS@skip\Umathordordspacing\textstyle
- \Umathinnerordspacing\textstyle\IS@skip
- \IS@skip\Umathordordspacing\scriptstyle
- \Umathinnerordspacing\scriptstyle\IS@skip
- \IS@skip\Umathordordspacing\scriptscriptstyle
- \Umathinnerordspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathordordspacing\crampeddisplaystyle
- \Umathinnerordspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathordordspacing\crampedtextstyle
- \Umathinnerordspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathordordspacing\crampedscriptstyle
- \Umathinnerordspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathordordspacing\crampedscriptscriptstyle
- \Umathinnerordspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathordopspacing\displaystyle
- \Umathinneropspacing\displaystyle\IS@skip
- \IS@skip\Umathordopspacing\textstyle
- \Umathinneropspacing\textstyle\IS@skip
- \IS@skip\Umathordopspacing\scriptstyle
- \Umathinneropspacing\scriptstyle\IS@skip
- \IS@skip\Umathordopspacing\scriptscriptstyle
- \Umathinneropspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathordopspacing\crampeddisplaystyle
- \Umathinneropspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathordopspacing\crampedtextstyle
- \Umathinneropspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathordopspacing\crampedscriptstyle
- \Umathinneropspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathordopspacing\crampedscriptscriptstyle
- \Umathinneropspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathordbinspacing\displaystyle
- \Umathinnerbinspacing\displaystyle\IS@skip
- \IS@skip\Umathordbinspacing\textstyle
- \Umathinnerbinspacing\textstyle\IS@skip
- \IS@skip\Umathordbinspacing\scriptstyle
- \Umathinnerbinspacing\scriptstyle\IS@skip
- \IS@skip\Umathordbinspacing\scriptscriptstyle
- \Umathinnerbinspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathordbinspacing\crampeddisplaystyle
- \Umathinnerbinspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathordbinspacing\crampedtextstyle
- \Umathinnerbinspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathordbinspacing\crampedscriptstyle
- \Umathinnerbinspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathordbinspacing\crampedscriptscriptstyle
- \Umathinnerbinspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathordrelspacing\displaystyle
- \Umathinnerrelspacing\displaystyle\IS@skip
- \IS@skip\Umathordrelspacing\textstyle
- \Umathinnerrelspacing\textstyle\IS@skip
- \IS@skip\Umathordrelspacing\scriptstyle
- \Umathinnerrelspacing\scriptstyle\IS@skip
- \IS@skip\Umathordrelspacing\scriptscriptstyle
- \Umathinnerrelspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathordrelspacing\crampeddisplaystyle
- \Umathinnerrelspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathordrelspacing\crampedtextstyle
- \Umathinnerrelspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathordrelspacing\crampedscriptstyle
- \Umathinnerrelspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathordrelspacing\crampedscriptscriptstyle
- \Umathinnerrelspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathordopenspacing\displaystyle
- \Umathinneropenspacing\displaystyle\IS@skip
- \IS@skip\Umathordopenspacing\textstyle
- \Umathinneropenspacing\textstyle\IS@skip
- \IS@skip\Umathordopenspacing\scriptstyle
- \Umathinneropenspacing\scriptstyle\IS@skip
- \IS@skip\Umathordopenspacing\scriptscriptstyle
- \Umathinneropenspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathordopenspacing\crampeddisplaystyle
- \Umathinneropenspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathordopenspacing\crampedtextstyle
- \Umathinneropenspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathordopenspacing\crampedscriptstyle
- \Umathinneropenspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathordopenspacing\crampedscriptscriptstyle
- \Umathinneropenspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathordclosespacing\displaystyle
- \Umathinnerclosespacing\displaystyle\IS@skip
- \IS@skip\Umathordclosespacing\textstyle
- \Umathinnerclosespacing\textstyle\IS@skip
- \IS@skip\Umathordclosespacing\scriptstyle
- \Umathinnerclosespacing\scriptstyle\IS@skip
- \IS@skip\Umathordclosespacing\scriptscriptstyle
- \Umathinnerclosespacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathordclosespacing\crampeddisplaystyle
- \Umathinnerclosespacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathordclosespacing\crampedtextstyle
- \Umathinnerclosespacing\crampedtextstyle\IS@skip
- \IS@skip\Umathordclosespacing\crampedscriptstyle
- \Umathinnerclosespacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathordclosespacing\crampedscriptscriptstyle
- \Umathinnerclosespacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathordpunctspacing\displaystyle
- \Umathinnerpunctspacing\displaystyle\IS@skip
- \IS@skip\Umathordpunctspacing\textstyle
- \Umathinnerpunctspacing\textstyle\IS@skip
- \IS@skip\Umathordpunctspacing\scriptstyle
- \Umathinnerpunctspacing\scriptstyle\IS@skip
- \IS@skip\Umathordpunctspacing\scriptscriptstyle
- \Umathinnerpunctspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathordpunctspacing\crampeddisplaystyle
- \Umathinnerpunctspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathordpunctspacing\crampedtextstyle
- \Umathinnerpunctspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathordpunctspacing\crampedscriptstyle
- \Umathinnerpunctspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathordpunctspacing\crampedscriptscriptstyle
- \Umathinnerpunctspacing\crampedscriptscriptstyle\IS@skip
- \IS@skip\Umathordordspacing\displaystyle
- \Umathinnerinnerspacing\displaystyle\IS@skip
- \IS@skip\Umathordordspacing\textstyle
- \Umathinnerinnerspacing\textstyle\IS@skip
- \IS@skip\Umathordordspacing\scriptstyle
- \Umathinnerinnerspacing\scriptstyle\IS@skip
- \IS@skip\Umathordordspacing\scriptscriptstyle
- \Umathinnerinnerspacing\scriptscriptstyle\IS@skip
- \IS@skip\Umathordordspacing\crampeddisplaystyle
- \Umathinnerinnerspacing\crampeddisplaystyle\IS@skip
- \IS@skip\Umathordordspacing\crampedtextstyle
- \Umathinnerinnerspacing\crampedtextstyle\IS@skip
- \IS@skip\Umathordordspacing\crampedscriptstyle
- \Umathinnerinnerspacing\crampedscriptstyle\IS@skip
- \IS@skip\Umathordordspacing\crampedscriptscriptstyle
- \Umathinnerinnerspacing\crampedscriptscriptstyle\IS@skip
-\fi
-% \end{macrocode}
-% \vfil\eject
-% \section*{Version History}
-% \begin{multicols*}{2}
-% \bgroup\raggedright\parskip\z@\parindent\z@\leftskip1em\obeylines
-% \setbox0\hbox{\hskip 1pt.\hskip 1pt}
-% \def\version#1#2{\bigskip\hbox to \hsize{\textbf{#1} \cleaders\copy0\hfill\ #2}\par}
-% \def\item{---\kern0.2ex\relax}
-%
-% \version{1.0}{February 2021}
-% \item initial release
-%
-% \version{1.1}{Fegruary 2021}
-% \item bug fix for |\mathinner| spacing
-% \item added |\IS@skip| muglue register
-%
-% \egroup
-% \end{multicols*}
-%
-%
-%
-% \iffalse
-%</package>
-% \fi
-%
-%
-% \check@checksum
-%
-%
-\endinput \ No newline at end of file
diff --git a/macros/luatex/latex/innerscript/innerscript.pdf b/macros/luatex/latex/innerscript/innerscript.pdf
deleted file mode 100644
index aa214fb36b..0000000000
--- a/macros/luatex/latex/innerscript/innerscript.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/luatex/latex/innerscript/innerscript_code.dtx b/macros/luatex/latex/innerscript/innerscript_code.dtx
new file mode 100644
index 0000000000..6c900172b6
--- /dev/null
+++ b/macros/luatex/latex/innerscript/innerscript_code.dtx
@@ -0,0 +1,1495 @@
+% \iffalse ---!!! FIRST META-COMMENT !!!---
+%
+%
+% This file is innerscript_code.dtx from version 1.2
+% of the free and open-source LaTeX package "innerscript,"
+% released November 2023, to be used with the LuaTeX engine.
+%
+% Running Plain TeX on innerscript_code.dtx will
+% produce the following files:
+%
+% (1) the package file innerscript.sty;
+%
+% (2) the derived files innerscript_heading.tex
+% and innerscript_user_guide.tex, which are
+% used for typesetting documentation;
+%
+% and
+%
+% (3) a number of other derived files.
+%
+% Running LaTeX on innerscript_code.dtx will produce the
+% files listed above as well as the following:
+%
+% (4) the pdf documentation file innerscript_code.pdf;
+%
+% and
+%
+% (5) a number of other derived files.
+%
+% To install innerscript on your computer, run this file
+% through Plain TeX or LaTeX and move innerscript.sty
+% to a directory searchable by TeX. See the associated
+% README.txt file for installation information.
+%
+%
+% \fi
+% \iffalse ---!!! SECOND META-COMMENT !!!---
+%
+%
+% This file is from version 1.2 of the free and open-source
+% LaTeX package "innerscript," released November 2023, to be
+% used with the LuaTeX engine.
+%
+% Copyright 2021, 2023 by Conrad Kosowsky
+%
+% This file may be distributed and modified under the terms
+% of the LaTeX Public Project License, version 1.3c or any
+% later version. The most recent version of this license is
+% available online at
+%
+% https://www.latex-project.org/lppl/
+%
+% This Work has the LPPL status "maintained," and the current
+% maintainer is the package author, Conrad Kosowsky. He can
+% be reached at kosowsky.latex@gmail.com. The Work consists
+% of the following items:
+%
+% (1) the base file innerscript.dtx;
+%
+% (2) the package file innerscript.sty;
+%
+% (3) the pdf documentation files innerscript_code.pdf
+% and innerscript_user_guide.pdf;
+%
+% (4) the derived file innerscript_heading.tex;
+%
+% (4) all other files created through the configuration
+% process;
+%
+% and
+%
+% (5) the associated README.txt file.
+%
+% PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT
+% ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF
+% THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING:
+%
+% THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE
+% STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK
+% `AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+% OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+% WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+% PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+% OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE,
+% YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
+% CORRECTION.
+%
+% IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
+% TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR
+% NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY
+% WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED
+% ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
+% SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
+% OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK
+% (INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING
+% RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A
+% RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY
+% OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID
+% AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE
+% POSSIBILITY OF SUCH DAMAGES.
+%
+% For more information, see the LaTeX Project Public License.
+% Derivative works based on this software may come with their
+% own license or terms of use, and the package author is not
+% responsible for any third-party software.
+%
+% Happy TeXing!
+%
+%
+% \fi
+% \iffalse
+%
+% The installation and driver files are incorporated into
+% innerscript_code.dtx, so we do not need to generate them
+% separately. The <batchfile> and <driver> tags are for
+% reference.
+%
+%<*batchfile>
+\begingroup
+\input docstrip.tex
+\keepsilent
+\askforoverwritefalse
+\preamble
+
+This file is from version 1.2 of the free and open-source
+LaTeX package "innerscript," released November 2023, to be
+used with the LuaTeX engine.
+
+Copyright 2021, 2023 by Conrad Kosowsky
+
+This file may be distributed and modified under the terms
+of the LaTeX Public Project License, version 1.3c or any
+later version. The most recent version of this license is
+available online at
+
+ https://www.latex-project.org/lppl/
+
+This work has the LPPL status "maintained," and the current
+maintainer is the package author, Conrad Kosowsky. He can
+be reached at kosowsky.latex@gmail.com.
+
+PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT
+ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF
+THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING:
+
+THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE
+STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK
+`AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
+OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE,
+YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR
+CORRECTION.
+
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED
+TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR
+NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY
+WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED
+ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
+SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT
+OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK
+(INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING
+RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A
+RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY
+OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID
+AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+For more information, see the LaTeX Project Public License.
+Derivative works based on this software may come with their
+own license or terms of use, and the package author is not
+responsible for any third-party software.
+
+Happy TeXing!
+
+\endpreamble
+\generate{\file{innerscript.sty}{\from{innerscript_code.dtx}{package}}
+ \file{innerscript_user_guide.tex}{\from{innerscript_code.dtx}{user}}
+ \file{innerscript_heading.tex}{\from{innerscript_code.dtx}{heading}}}
+\catcode`\ =12\relax
+\immediate\write0{^^J%
+****************************************************^^J%
+* Step 1 of the innerscript installation complete! *^^J%
+****************************************************^^J^^J%
+****************************************************^^J%
+* To finish installing the package, move *^^J%
+* innerscript.sty to a directory searchable by TeX *^^J%
+* after innerscript_code.tex is done typesetting *^^J%
+****************************************************^^J}
+\endgroup
+\ifx\LaTeX\undefined
+ \immediate\write0{Plain TeX format used; quitting now.}
+ \immediate\write0{To create innerscript_code.pdf, run^^J%
+ innerscript_code.dtx through LaTeX.^^J^^J}
+ \expandafter\end
+\fi
+%</batchfile>
+%<*driver>
+\makeatletter
+\documentclass[12pt,doc2,letterpaper]{ltxdoc}
+\usepackage[margin=72.27pt]{geometry}
+\usepackage[factor=700,stretch=14,shrink=14,step=1]{microtype}
+\usepackage{booktabs}
+\usepackage{tabularx}
+\usepackage{amsmath}
+\usepackage{multicol}
+\usepackage{graphicx}
+\begin{document}
+ \def\documentname{Implementation}
+ \input innerscript_heading.tex
+ \DocInput{innerscript_code.dtx}
+\end{document}
+%</driver>
+%<*package>
+%
+% \fi
+%
+%
+% \CheckSum{1921}
+% \init@checksum
+%
+% \makeatother
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+% \makeatletter
+%
+%
+%
+% \noindent This file documents the code for the \textsf{innerscript} package. It is not a user guide! If you are looking for instructions on how to load \textsf{innerscript} and what it can do for your document, see |innerscript_user_guide.pdf|, which is included with the \textsf{innerscript} installation and is available on \textsc{ctan}. Section~1 begins with the package declaration and option processing. Sections~2 and 3 contain the code to adjust spacing between symbols in |\scriptstyle| and |\scriptscriptstyle| respectively, and Section~4 contains the code for adjusting the spacing around |\mathinner| subformulas. Section~5 handles spacing between |\mathclose| and |\mathord| atoms, and section~6 fills out the resizable delimiter heights. Version history appears at the end of the document.
+%
+%
+%
+% \section{Setup}
+%
+% We begin the implementation by declaring the package. The counts |\IS@script| and |\IS@scriptscript| and the conditionals |\ifIS@inner|, |\ifIS@close|, and |\ifIS@cover| encode package option information. For the counts, a value of 0 means no changes, a value of 1 means default spacing, and a value of 2 means legacy spacing.
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{innerscript}[2023/11/06 v. 1.2 Package innerscript]
+\newcount\IS@script
+\newcount\IS@scriptscript
+\newif\ifIS@inner
+\newif\ifIS@close
+\newif\ifIS@cover
+% \end{macrocode}
+% And set default options.
+% \begin{macrocode}
+\IS@script\@ne
+\IS@scriptscript\@ne
+\IS@innertrue
+\IS@closetrue
+\IS@covertrue
+% \end{macrocode}
+% Now define and process the package options.
+% \begin{macrocode}
+\DeclareOption{script}{\IS@script\@ne}
+\DeclareOption{scriptscript}{\IS@scriptscript\@ne}
+\DeclareOption{inner}{\IS@innertrue}
+\DeclareOption{close}{\IS@closetrue}
+\DeclareOption{cover}{\IS@covertrue}
+\DeclareOption{legacy-script}{\IS@script\tw@}
+\DeclareOption{legacy-scriptscript}{\IS@scriptscript\tw@}
+\DeclareOption{no-script}{\IS@script\z@}
+\DeclareOption{no-scriptscript}{\IS@scriptscript\z@}
+\DeclareOption{no-inner}{\IS@innerfalse}
+\DeclareOption{no-close}{\IS@closefalse}
+\DeclareOption{no-cover}{\IS@coverfalse}
+\ProcessOptions*
+% \end{macrocode}
+% Check whether |\Umathordordspacing| is defined. If not, issue an error and |\endinput|. We normally can't print multiple spaces at once, so within a group, we change the space catcode to 12.
+% \begin{macrocode}
+\ifx\Umathordordspacing\@undefined
+\bgroup
+\catcode`\+=12\relax
+\def\IS@LuaTeXError{\GenericError{}%
+{\MessageBreak\MessageBreak
+Package innerscript error:%
+\MessageBreak\MessageBreak
+*******************\MessageBreak
+* *\MessageBreak
+* CANNOT LOAD *\MessageBreak
+* INNERSCRIPT *\MessageBreak
+* LuaTeX Needed *\MessageBreak
+* *\MessageBreak
+*******************\MessageBreak\@gobbletwo}%
+{See the innerscript package documentation for explanation.}%
+{I need LuaTeX to make the innerscript package work. It\MessageBreak
+looks like the current engine is something else, so I\MessageBreak
+can't load the package file. To use innerscript, please\MessageBreak
+typeset with LuaLaTeX. To continue without innerscript,\MessageBreak
+press return.}}%
+\expandafter\egroup
+\IS@LuaTeXError
+ \AtEndOfPackage{\typeout{Package innerscript failed to load \on@line!}}
+ \expandafter\endinput % we \endinput with a balanced conditional
+\fi
+% \end{macrocode}
+% To save space in the code, we define |\IS@info| to print an informational message in the |log| file. The macro |\scalemu| scales a muglue register. We use |\scalemu| instead of multiplying the register by a constant because |\scalemu| also affects the stretch and shrink instead of discarding them.
+% \begin{macrocode}
+\def\IS@info#1{\wlog{Package innerscript Info: #1}}
+\def\scalemu#1#2{\muexpr#2#1
+ \@plus\muexpr#2\gluetomu\gluestretch\mutoglue#1\relax
+ \@minus\muexpr#2\gluetomu\glueshrink\mutoglue#1\relax\relax}
+% \end{macrocode}
+%
+% \section{Scriptstyle Spacing}
+% First we set the spacing for |\scriptstyle| and |\crampedscriptstyle| atoms. Each space adjustment has the form
+% \begin{code}
+% |\Umath|\argtext{classes}|spacing|\meta{style}|=\scalemu{|\meta{skip}|}{0.6}|,
+% \end{code}
+% where the \meta{classes} are a pair of choices from |ord|, |op|, |bin|, |rel|, |open|, |close|, |punct|, and |inner|. The \meta{style} is either |\scriptstyle| or |\crampedscriptstyle|, and the \meta{skip} is the amount of muglue that typically appears between the \meta{classes} while in |\textstyle| or |\displaystyle|. As of version 1.2, we use |\scalemu| to scale the muglue registers. Table~1 shows the space inserted with option |script|.
+% \begin{figure}[t!]
+% \centerline{\bfseries\strut Table 1: Space Inserted with Option |script|}
+% \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}\toprule
+% Consecutive Atom Types & Default Space Added & Legacy Space Added\\\midrule
+% |\mathord||\mathop| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathord||\mathbin| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
+% |\mathord||\mathrel| & 0.6|\thickmuskip| & |\thinmuskip| \\
+% |\mathord||\mathinner| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\\midrule
+% |\mathop||\mathord| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathop||\mathop| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathop||\mathrel| & 0.6|\thickmuskip| & |\thinmuskip| \\
+% |\mathop||\mathinner| & 0.6|\thickmuskip| & |\thinmuskip| \\\midrule
+% |\mathbin||\mathord| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
+% |\mathbin||\mathop| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
+% |\mathbin||\mathopen| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
+% |\mathbin||\mathinner| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\\midrule
+% |\mathrel||\mathord| & 0.6|\thickmuskip| & |\thinmuskip| \\
+% |\mathrel||\mathop| & 0.6|\thickmuskip| & |\thinmuskip| \\
+% |\mathrel||\mathopen| & 0.6|\thickmuskip| & |\thinmuskip| \\
+% |\mathrel||\mathinner| & 0.6|\thickmuskip| & |\thinmuskip| \\\midrule
+% |\mathclose||\mathop| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathclose||\mathbin| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
+% |\mathclose||\mathrel| & 0.6|\thickmuskip| & |\thinmuskip| \\
+% |\mathclose||\mathinner| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\\midrule
+% |\mathpunct||\mathord| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathpunct||\mathop| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathpunct||\mathrel| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathpunct||\mathopen| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathpunct||\mathclose| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathpunct||\mathpunct| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathpunct||\mathinner| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\\midrule
+% |\mathinner||\mathord| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathinner||\mathop| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathinner||\mathbin| & 0.6|\medmuskip| & 0.7|\thinmuskip| \\
+% |\mathinner||\mathrel| & 0.6|\thickmuskip| & |\thinmuskip| \\
+% |\mathinner||\mathopen| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathinner||\mathpunct| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\
+% |\mathinner||\mathinner| & 0.6|\thinmuskip| & 0.6|\thinmuskip| \\\bottomrule
+% \end{tabular*}
+% \end{figure}
+% \begin{macrocode}
+\ifcase\IS@script % Case 0: No changes
+ \IS@info{No changes to space for \string\scriptstyle\space atoms.}
+ \IS@info{No changes to space for \string\crampedscriptstyle\space atoms.}
+\or % Case 1: Default changes
+ \IS@info{Adjusting space for \string\scriptstyle\space atoms.}
+ \IS@info{Adjusting space for \string\crampedscriptstyle\space atoms.}
+% \end{macrocode}
+% Default spacing changes for |\scriptstyle|.
+% \begin{macrocode}
+ % \scriptstyle
+ \Umathordopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathordbinspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathordrelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathordinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathopordspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathopopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathoprelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathopinnerspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathbinordspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathbinopspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathbinopenspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathbininnerspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathrelordspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathrelopspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathrelopenspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathrelinnerspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathcloseopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathclosebinspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathcloserelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathcloseinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctordspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctopspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctrelspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctopenspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctclosespacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctpunctspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathinnerordspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathinneropspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathinnerbinspacing\scriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathinnerrelspacing\scriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathinneropenspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathinnerpunctspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathinnerinnerspacing\scriptstyle=\scalemu{\thinmuskip}{0.6}
+% \end{macrocode}
+% Default spacing changes for |\crampedscriptstyle|.
+% \begin{macrocode}
+ % \crampedscriptstyle
+ \Umathordopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathordbinspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathordrelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathordinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathopordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathopopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathoprelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathopinnerspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathbinordspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathbinopspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathbinopenspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathbininnerspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathrelordspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathrelopspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathrelopenspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathrelinnerspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathcloseopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathclosebinspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathcloserelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathcloseinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctopspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctrelspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctopenspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctclosespacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctpunctspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathpunctinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathinnerordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathinneropspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathinnerbinspacing\crampedscriptstyle=\scalemu{\medmuskip}{0.6}
+ \Umathinnerrelspacing\crampedscriptstyle=\scalemu{\thickmuskip}{0.6}
+ \Umathinneropenspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathinnerpunctspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+ \Umathinnerinnerspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.6}
+% \end{macrocode}
+% For backwards compatibility, we provide an option to use the spacing from \textsf{innerscript} version 1.1. Note that the old spacing does not use |\scalemu|.
+% \begin{macrocode}
+\or % Case 2: Changes from previous version of innerscript
+ \IS@info{Using v. 1.1 space for \string\scriptstyle\space atoms.}
+ \IS@info{Using v. 1.1 space for \string\crampedscriptstyle\space atoms.}
+% \end{macrocode}
+% Legacy spacing for |\scriptstyle|.
+% \begin{macrocode}
+ % \scriptstyle
+ \Umathordopspacing\scriptstyle=0.6\thinmuskip
+ \Umathordbinspacing\scriptstyle=0.7\thinmuskip
+ \Umathordrelspacing\scriptstyle=\thinmuskip
+ \Umathordinnerspacing\scriptstyle=0.6\thinmuskip
+ \Umathopordspacing\scriptstyle=0.6\thinmuskip
+ \Umathopopspacing\scriptstyle=0.6\thinmuskip
+ \Umathoprelspacing\scriptstyle=\thinmuskip
+ \Umathopinnerspacing\scriptstyle=\thinmuskip
+ \Umathbinordspacing\scriptstyle=0.7\thinmuskip
+ \Umathbinopspacing\scriptstyle=0.7\thinmuskip
+ \Umathbinopenspacing\scriptstyle=0.7\thinmuskip
+ \Umathbininnerspacing\scriptstyle=0.7\thinmuskip
+ \Umathrelordspacing\scriptstyle=\thinmuskip
+ \Umathrelopspacing\scriptstyle=\thinmuskip
+ \Umathrelopenspacing\scriptstyle=\thinmuskip
+ \Umathrelinnerspacing\scriptstyle=\thinmuskip
+ \Umathcloseopspacing\scriptstyle=0.6\thinmuskip
+ \Umathclosebinspacing\scriptstyle=0.7\thinmuskip
+ \Umathcloserelspacing\scriptstyle=\thinmuskip
+ \Umathcloseinnerspacing\scriptstyle=0.6\thinmuskip
+ \Umathpunctordspacing\scriptstyle=0.6\thinmuskip
+ \Umathpunctopspacing\scriptstyle=0.6\thinmuskip
+ \Umathpunctrelspacing\scriptstyle=0.6\thinmuskip
+ \Umathpunctopenspacing\scriptstyle=0.6\thinmuskip
+ \Umathpunctclosespacing\scriptstyle=0.6\thinmuskip
+ \Umathpunctpunctspacing\scriptstyle=0.6\thinmuskip
+ \Umathpunctinnerspacing\scriptstyle=0.6\thinmuskip
+ \Umathinnerordspacing\scriptstyle=0.6\thinmuskip
+ \Umathinneropspacing\scriptstyle=0.6\thinmuskip
+ \Umathinnerbinspacing\scriptstyle=0.7\thinmuskip
+ \Umathinnerrelspacing\scriptstyle=\thinmuskip
+ \Umathinneropenspacing\scriptstyle=0.6\thinmuskip
+ \Umathinnerpunctspacing\scriptstyle=0.6\thinmuskip
+ \Umathinnerinnerspacing\scriptstyle=0.6\thinmuskip
+% \end{macrocode}
+% Legacy spacing for |\crampedscriptstyle|.
+% \begin{macrocode}
+ % \crampedscriptstyle
+ \Umathordopspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathordbinspacing\crampedscriptstyle=0.7\thinmuskip
+ \Umathordrelspacing\crampedscriptstyle=\thinmuskip
+ \Umathordinnerspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathopordspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathopopspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathoprelspacing\crampedscriptstyle=\thinmuskip
+ \Umathopinnerspacing\crampedscriptstyle=\thinmuskip
+ \Umathbinordspacing\crampedscriptstyle=0.7\thinmuskip
+ \Umathbinopspacing\crampedscriptstyle=0.7\thinmuskip
+ \Umathbinopenspacing\crampedscriptstyle=0.7\thinmuskip
+ \Umathbininnerspacing\crampedscriptstyle=0.7\thinmuskip
+ \Umathrelordspacing\crampedscriptstyle=\thinmuskip
+ \Umathrelopspacing\crampedscriptstyle=\thinmuskip
+ \Umathrelopenspacing\crampedscriptstyle=\thinmuskip
+ \Umathrelinnerspacing\crampedscriptstyle=\thinmuskip
+ \Umathcloseopspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathclosebinspacing\crampedscriptstyle=0.7\thinmuskip
+ \Umathcloserelspacing\crampedscriptstyle=\thinmuskip
+ \Umathcloseinnerspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathpunctordspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathpunctopspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathpunctrelspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathpunctopenspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathpunctclosespacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathpunctpunctspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathpunctinnerspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathinnerordspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathinneropspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathinnerbinspacing\crampedscriptstyle=0.7\thinmuskip
+ \Umathinnerrelspacing\crampedscriptstyle=\thinmuskip
+ \Umathinneropenspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathinnerpunctspacing\crampedscriptstyle=0.6\thinmuskip
+ \Umathinnerinnerspacing\crampedscriptstyle=0.6\thinmuskip
+\fi
+% \end{macrocode}
+%
+% \section{Scriptscriptstyle Spacing}
+%
+% Set the spacing for |\scriptscriptstyle| and |\crampedscriptscriptstyle|. The process is the same as it was for |\scriptstyle| except with a factor of 0.4 instead of 0.6. See Table~2 for amounts of space added with option |scriptscript|.
+% \begin{figure}[t!]
+% \centerline{\bfseries\strut Table 2: Space Inserted with Option |scriptscript|}
+% \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}\toprule
+% Consecutive Atom Types & Default Space Added & Legacy Space Added\\\midrule
+% |\mathord||\mathop| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathord||\mathbin| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
+% |\mathord||\mathrel| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
+% |\mathord||\mathinner| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
+% |\mathop||\mathord| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathop||\mathop| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathop||\mathrel| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
+% |\mathop||\mathinner| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\\midrule
+% |\mathbin||\mathord| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
+% |\mathbin||\mathop| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
+% |\mathbin||\mathopen| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
+% |\mathbin||\mathinner| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\\midrule
+% |\mathrel||\mathord| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
+% |\mathrel||\mathop| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
+% |\mathrel||\mathopen| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
+% |\mathrel||\mathinner| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\\midrule
+% |\mathclose||\mathop| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathclose||\mathbin| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
+% |\mathclose||\mathrel| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
+% |\mathclose||\mathinner| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
+% |\mathpunct||\mathord| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathpunct||\mathop| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathpunct||\mathrel| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathpunct||\mathopen| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathpunct||\mathclose| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathpunct||\mathpunct| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathpunct||\mathinner| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
+% |\mathinner||\mathord| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathinner||\mathop| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathinner||\mathbin| & 0.4|\medmuskip| & 0.5|\thinmuskip| \\
+% |\mathinner||\mathrel| & 0.4|\thickmuskip| & 0.7|\thinmuskip| \\
+% |\mathinner||\mathopen| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathinner||\mathpunct| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\
+% |\mathinner||\mathinner| & 0.4|\thinmuskip| & 0.4|\thinmuskip| \\\bottomrule
+% \end{tabular*}
+% \end{figure}
+% \begin{macrocode}
+\ifcase\IS@scriptscript % Case 0: No changes
+ \IS@info{No changes to space for \string\scriptscriptstyle\space atoms.}
+ \IS@info{No changes to space for
+ \string\crampedscriptscriptstyle\space atoms.}
+\or % Case 1: Default changes
+ \IS@info{Adjusting space for \string\scriptscriptstyle\space atoms.}
+ \IS@info{Adjusting space for
+ \string\crampedscriptscriptstyle\space atoms.}
+% \end{macrocode}
+% Default spacing changes for |\scriptscriptstyle|.
+% \begin{macrocode}
+ % \scriptscriptstyle
+ \Umathordopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathordbinspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
+ \Umathordrelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
+ \Umathordinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathopordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathopopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathoprelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
+ \Umathopinnerspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
+ \Umathbinordspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
+ \Umathbinopspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
+ \Umathbinopenspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
+ \Umathbininnerspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
+ \Umathrelordspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
+ \Umathrelopspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
+ \Umathrelopenspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
+ \Umathrelinnerspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
+ \Umathcloseopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathclosebinspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
+ \Umathcloserelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
+ \Umathcloseinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathpunctordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathpunctopspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathpunctrelspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathpunctopenspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathpunctclosespacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathpunctpunctspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathpunctinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathinnerordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathinneropspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathinnerbinspacing\scriptscriptstyle=\scalemu{\medmuskip}{0.4}
+ \Umathinnerrelspacing\scriptscriptstyle=\scalemu{\thickmuskip}{0.4}
+ \Umathinneropenspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathinnerpunctspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+ \Umathinnerinnerspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.4}
+% \end{macrocode}
+% Default spacing changes for |\crampedscriptscriptstyle|.
+% \begin{macrocode}
+ % \crampedscriptscriptstyle
+ \Umathordopspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathordbinspacing\crampedscriptscriptstyle=\scalemu
+ {\medmuskip}{0.4}
+ \Umathordrelspacing\crampedscriptscriptstyle=\scalemu
+ {\thickmuskip}{0.4}
+ \Umathordinnerspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathopordspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathopopspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathoprelspacing\crampedscriptscriptstyle=\scalemu
+ {\thickmuskip}{0.4}
+ \Umathopinnerspacing\crampedscriptscriptstyle=\scalemu
+ {\thickmuskip}{0.4}
+ \Umathbinordspacing\crampedscriptscriptstyle=\scalemu
+ {\medmuskip}{0.4}
+ \Umathbinopspacing\crampedscriptscriptstyle=\scalemu
+ {\medmuskip}{0.4}
+ \Umathbinopenspacing\crampedscriptscriptstyle=\scalemu
+ {\medmuskip}{0.4}
+ \Umathbininnerspacing\crampedscriptscriptstyle=\scalemu
+ {\medmuskip}{0.4}
+ \Umathrelordspacing\crampedscriptscriptstyle=\scalemu
+ {\thickmuskip}{0.4}
+ \Umathrelopspacing\crampedscriptscriptstyle=\scalemu
+ {\thickmuskip}{0.4}
+ \Umathrelopenspacing\crampedscriptscriptstyle=\scalemu
+ {\thickmuskip}{0.4}
+ \Umathrelinnerspacing\crampedscriptscriptstyle=\scalemu
+ {\thickmuskip}{0.4}
+ \Umathcloseopspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathclosebinspacing\crampedscriptscriptstyle=\scalemu
+ {\medmuskip}{0.4}
+ \Umathcloserelspacing\crampedscriptscriptstyle=\scalemu
+ {\thickmuskip}{0.4}
+ \Umathcloseinnerspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathpunctordspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathpunctopspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathpunctrelspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathpunctopenspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathpunctclosespacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathpunctpunctspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathpunctinnerspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathinnerordspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathinneropspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathinnerbinspacing\crampedscriptscriptstyle=\scalemu
+ {\medmuskip}{0.4}
+ \Umathinnerrelspacing\crampedscriptscriptstyle=\scalemu
+ {\thickmuskip}{0.4}
+ \Umathinneropenspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathinnerpunctspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+ \Umathinnerinnerspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.4}
+% \end{macrocode}
+% Again, provide an option to use spacing from previous version.
+% \begin{macrocode}
+\or % Case 2: Changes from previous version of innerscript
+ \IS@info{Using v. 1.1 space for \string\scriptscriptstyle\space atoms.}
+ \IS@info{Using v. 1.1 space for
+ \string\crampedscriptscriptstyle\space atoms.}
+% \end{macrocode}
+% Legacy spacing for |\scriptscriptstyle|.
+% \begin{macrocode}
+ % \scriptscriptstyle
+ \Umathordopspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathordbinspacing\scriptscriptstyle=0.5\thinmuskip
+ \Umathordrelspacing\scriptscriptstyle=0.7\thinmuskip
+ \Umathordinnerspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathopordspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathopopspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathoprelspacing\scriptscriptstyle=0.7\thinmuskip
+ \Umathopinnerspacing\scriptscriptstyle=0.7\thinmuskip
+ \Umathbinordspacing\scriptscriptstyle=0.5\thinmuskip
+ \Umathbinopspacing\scriptscriptstyle=0.5\thinmuskip
+ \Umathbinopenspacing\scriptscriptstyle=0.5\thinmuskip
+ \Umathbininnerspacing\scriptscriptstyle=0.5\thinmuskip
+ \Umathrelordspacing\scriptscriptstyle=0.7\thinmuskip
+ \Umathrelopspacing\scriptscriptstyle=0.7\thinmuskip
+ \Umathrelopenspacing\scriptscriptstyle=0.7\thinmuskip
+ \Umathrelinnerspacing\scriptscriptstyle=0.7\thinmuskip
+ \Umathcloseopspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathclosebinspacing\scriptscriptstyle=0.5\thinmuskip
+ \Umathcloserelspacing\scriptscriptstyle=0.7\thinmuskip
+ \Umathcloseinnerspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathpunctordspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathpunctopspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathpunctrelspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathpunctopenspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathpunctclosespacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathpunctpunctspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathpunctinnerspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathinnerordspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathinneropspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathinnerbinspacing\scriptscriptstyle=0.5\thinmuskip
+ \Umathinnerrelspacing\scriptscriptstyle=0.7\thinmuskip
+ \Umathinneropenspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathinnerpunctspacing\scriptscriptstyle=0.4\thinmuskip
+ \Umathinnerinnerspacing\scriptscriptstyle=0.4\thinmuskip
+% \end{macrocode}
+% Legacy spacing for |\crampedscriptscriptstyle|.
+% \begin{macrocode}
+ % \crampedscriptscriptstyle
+ \Umathordopspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathordbinspacing\crampedscriptscriptstyle=0.5\thinmuskip
+ \Umathordrelspacing\crampedscriptscriptstyle=0.7\thinmuskip
+ \Umathordinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathopordspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathopopspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathoprelspacing\crampedscriptscriptstyle=0.7\thinmuskip
+ \Umathopinnerspacing\crampedscriptscriptstyle=0.7\thinmuskip
+ \Umathbinordspacing\crampedscriptscriptstyle=0.5\thinmuskip
+ \Umathbinopspacing\crampedscriptscriptstyle=0.5\thinmuskip
+ \Umathbinopenspacing\crampedscriptscriptstyle=0.5\thinmuskip
+ \Umathbininnerspacing\crampedscriptscriptstyle=0.5\thinmuskip
+ \Umathrelordspacing\crampedscriptscriptstyle=0.7\thinmuskip
+ \Umathrelopspacing\crampedscriptscriptstyle=0.7\thinmuskip
+ \Umathrelopenspacing\crampedscriptscriptstyle=0.7\thinmuskip
+ \Umathrelinnerspacing\crampedscriptscriptstyle=0.7\thinmuskip
+ \Umathcloseopspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathclosebinspacing\crampedscriptscriptstyle=0.5\thinmuskip
+ \Umathcloserelspacing\crampedscriptscriptstyle=0.7\thinmuskip
+ \Umathcloseinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathpunctordspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathpunctopspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathpunctrelspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathpunctopenspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathpunctclosespacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathpunctpunctspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathpunctinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathinnerordspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathinneropspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathinnerbinspacing\crampedscriptscriptstyle=0.5\thinmuskip
+ \Umathinnerrelspacing\crampedscriptscriptstyle=0.7\thinmuskip
+ \Umathinneropenspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathinnerpunctspacing\crampedscriptscriptstyle=0.4\thinmuskip
+ \Umathinnerinnerspacing\crampedscriptscriptstyle=0.4\thinmuskip
+\fi
+% \end{macrocode}
+%
+% \section{Mathinner Subformulas}
+%
+% Now set the spacing for |\mathinner| subformulas. For every atom type from |ord|, |op|, |bin|, |rel|, |open|, |close|, |punct|, and |inner|, we set the spacing that appears between that atom and a |\mathinner| subformula to the amount that normally appears between that type and a |\mathord| atom. Specifically, every space adjustment has the form
+% \begin{code}
+% |\Umath|\meta{atom}|innerspacing|\meta{style}|=|\\
+% | \the\Umath|\meta{atom}|ordspacing|\meta{style}|\relax|
+% \end{code}
+% or the same with the \meta{atom} appearing after the |inner| or |ord|. The \meta{style} is one of the eight math style commands: |\displaystyle|, |\textstyle|, |\scriptstyle|, |\scriptscriptstyle|, and the cramped versions. Section~4 comes after Sections~2 and 3 because we make sure to capture all spacing changes in superscripts and subscripts.
+% \begin{macrocode}
+\ifIS@inner
+ \IS@info{Adjusting space for \string\mathinner\space subformulas.}
+% \end{macrocode}
+% First, we handle the cases where the first subformula is not |\mathinner| and the second subformula is |\mathinner|. We start with |\displaystyle|.
+% \begin{macrocode}
+ % \displaystyle
+ \Umathordinnerspacing\displaystyle=
+ \the\Umathordordspacing\displaystyle\relax
+ \Umathopinnerspacing\displaystyle=
+ \the\Umathopordspacing\displaystyle\relax
+ \Umathbininnerspacing\displaystyle=
+ \the\Umathbinordspacing\displaystyle\relax
+ \Umathrelinnerspacing\displaystyle=
+ \the\Umathrelordspacing\displaystyle\relax
+ \Umathopeninnerspacing\displaystyle=
+ \the\Umathopenordspacing\displaystyle\relax
+ \Umathcloseinnerspacing\displaystyle=
+ \the\Umathcloseordspacing\displaystyle\relax
+ \Umathpunctinnerspacing\displaystyle=
+ \the\Umathpunctordspacing\displaystyle\relax
+% \end{macrocode}
+% Changes for |\textstyle|.
+% \begin{macrocode}
+ % \textstyle
+ \Umathordinnerspacing\textstyle=
+ \the\Umathordordspacing\textstyle\relax
+ \Umathopinnerspacing\textstyle=
+ \the\Umathopordspacing\textstyle\relax
+ \Umathbininnerspacing\textstyle=
+ \the\Umathbinordspacing\textstyle\relax
+ \Umathrelinnerspacing\textstyle=
+ \the\Umathrelordspacing\textstyle\relax
+ \Umathopeninnerspacing\textstyle=
+ \the\Umathopenordspacing\textstyle\relax
+ \Umathcloseinnerspacing\textstyle=
+ \the\Umathcloseordspacing\textstyle\relax
+ \Umathpunctinnerspacing\textstyle=
+ \the\Umathpunctordspacing\textstyle\relax
+% \end{macrocode}
+% Changes for |\scriptstyle|.
+% \begin{macrocode}
+ % \scriptstyle
+ \Umathordinnerspacing\scriptstyle=
+ \the\Umathordordspacing\scriptstyle\relax
+ \Umathopinnerspacing\scriptstyle=
+ \the\Umathopordspacing\scriptstyle\relax
+ \Umathbininnerspacing\scriptstyle=
+ \the\Umathbinordspacing\scriptstyle\relax
+ \Umathrelinnerspacing\scriptstyle=
+ \the\Umathrelordspacing\scriptstyle\relax
+ \Umathopeninnerspacing\scriptstyle=
+ \the\Umathopenordspacing\scriptstyle\relax
+ \Umathcloseinnerspacing\scriptstyle=
+ \the\Umathcloseordspacing\scriptstyle\relax
+ \Umathpunctinnerspacing\scriptstyle=
+ \the\Umathpunctordspacing\scriptstyle\relax
+% \end{macrocode}
+% Changes for |\scriptscriptstyle|.
+% \begin{macrocode}
+ % \scriptscriptstyle
+ \Umathordinnerspacing\scriptscriptstyle=
+ \the\Umathordordspacing\scriptscriptstyle\relax
+ \Umathopinnerspacing\scriptscriptstyle=
+ \the\Umathopordspacing\scriptscriptstyle\relax
+ \Umathbininnerspacing\scriptscriptstyle=
+ \the\Umathbinordspacing\scriptscriptstyle\relax
+ \Umathrelinnerspacing\scriptscriptstyle=
+ \the\Umathrelordspacing\scriptscriptstyle\relax
+ \Umathopeninnerspacing\scriptscriptstyle=
+ \the\Umathopenordspacing\scriptscriptstyle\relax
+ \Umathcloseinnerspacing\scriptscriptstyle=
+ \the\Umathcloseordspacing\scriptscriptstyle\relax
+ \Umathpunctinnerspacing\scriptscriptstyle=
+ \the\Umathpunctordspacing\scriptscriptstyle\relax
+% \end{macrocode}
+% Changes for |\crampeddisplaystyle|.
+% \begin{macrocode}
+ % \crampeddisplaystyle
+ \Umathordinnerspacing\crampeddisplaystyle=
+ \the\Umathordordspacing\crampeddisplaystyle\relax
+ \Umathopinnerspacing\crampeddisplaystyle=
+ \the\Umathopordspacing\crampeddisplaystyle\relax
+ \Umathbininnerspacing\crampeddisplaystyle=
+ \the\Umathbinordspacing\crampeddisplaystyle\relax
+ \Umathrelinnerspacing\crampeddisplaystyle=
+ \the\Umathrelordspacing\crampeddisplaystyle\relax
+ \Umathopeninnerspacing\crampeddisplaystyle=
+ \the\Umathopenordspacing\crampeddisplaystyle\relax
+ \Umathcloseinnerspacing\crampeddisplaystyle=
+ \the\Umathcloseordspacing\crampeddisplaystyle\relax
+ \Umathpunctinnerspacing\crampeddisplaystyle=
+ \the\Umathpunctordspacing\crampeddisplaystyle\relax
+% \end{macrocode}
+% Changes for |\crampedtextstyle|.
+% \begin{macrocode}
+ % \crampedtextstyle
+ \Umathordinnerspacing\crampedtextstyle=
+ \the\Umathordordspacing\crampedtextstyle\relax
+ \Umathopinnerspacing\crampedtextstyle=
+ \the\Umathopordspacing\crampedtextstyle\relax
+ \Umathbininnerspacing\crampedtextstyle=
+ \the\Umathbinordspacing\crampedtextstyle\relax
+ \Umathrelinnerspacing\crampedtextstyle=
+ \the\Umathrelordspacing\crampedtextstyle\relax
+ \Umathopeninnerspacing\crampedtextstyle=
+ \the\Umathopenordspacing\crampedtextstyle\relax
+ \Umathcloseinnerspacing\crampedtextstyle=
+ \the\Umathcloseordspacing\crampedtextstyle\relax
+ \Umathpunctinnerspacing\crampedtextstyle=
+ \the\Umathpunctordspacing\crampedtextstyle\relax
+% \end{macrocode}
+% Changes for |\crampedscriptstyle|.
+% \begin{macrocode}
+ % \crampedscriptstyle
+ \Umathordinnerspacing\crampedscriptstyle=
+ \the\Umathordordspacing\crampedscriptstyle\relax
+ \Umathopinnerspacing\crampedscriptstyle=
+ \the\Umathopordspacing\crampedscriptstyle\relax
+ \Umathbininnerspacing\crampedscriptstyle=
+ \the\Umathbinordspacing\crampedscriptstyle\relax
+ \Umathrelinnerspacing\crampedscriptstyle=
+ \the\Umathrelordspacing\crampedscriptstyle\relax
+ \Umathopeninnerspacing\crampedscriptstyle=
+ \the\Umathopenordspacing\crampedscriptstyle\relax
+ \Umathcloseinnerspacing\crampedscriptstyle=
+ \the\Umathcloseordspacing\crampedscriptstyle\relax
+ \Umathpunctinnerspacing\crampedscriptstyle=
+ \the\Umathpunctordspacing\crampedscriptstyle\relax
+% \end{macrocode}
+% Changes for |\crampedscriptscriptstyle|.
+% \begin{macrocode}
+ % \crampedscriptscriptstyle
+ \Umathordinnerspacing\crampedscriptscriptstyle=
+ \the\Umathordordspacing\crampedscriptscriptstyle\relax
+ \Umathopinnerspacing\crampedscriptscriptstyle=
+ \the\Umathopordspacing\crampedscriptscriptstyle\relax
+ \Umathbininnerspacing\crampedscriptscriptstyle=
+ \the\Umathbinordspacing\crampedscriptscriptstyle\relax
+ \Umathrelinnerspacing\crampedscriptscriptstyle=
+ \the\Umathrelordspacing\crampedscriptscriptstyle\relax
+ \Umathopeninnerspacing\crampedscriptscriptstyle=
+ \the\Umathopenordspacing\crampedscriptscriptstyle\relax
+ \Umathcloseinnerspacing\crampedscriptscriptstyle=
+ \the\Umathcloseordspacing\crampedscriptscriptstyle\relax
+ \Umathpunctinnerspacing\crampedscriptscriptstyle=
+ \the\Umathpunctordspacing\crampedscriptscriptstyle\relax
+% \end{macrocode}
+% Now handle the case when the first subformula is |\mathinner| followed by something else. Again we start with |\displaystyle|.
+% \begin{macrocode}
+ % \displaystyle
+ \Umathinnerordspacing\displaystyle=
+ \the\Umathordordspacing\displaystyle\relax
+ \Umathinneropspacing\displaystyle=
+ \the\Umathordopspacing\displaystyle\relax
+ \Umathinnerbinspacing\displaystyle=
+ \the\Umathordbinspacing\displaystyle\relax
+ \Umathinnerrelspacing\displaystyle=
+ \the\Umathordrelspacing\displaystyle\relax
+ \Umathinneropenspacing\displaystyle=
+ \the\Umathordopenspacing\displaystyle\relax
+ \Umathinnerclosespacing\displaystyle=
+ \the\Umathordclosespacing\displaystyle\relax
+ \Umathinnerpunctspacing\displaystyle=
+ \the\Umathordpunctspacing\displaystyle\relax
+% \end{macrocode}
+% Changes for |\textstyle|.
+% \begin{macrocode}
+ % \textstyle
+ \Umathinnerordspacing\textstyle=
+ \the\Umathordordspacing\textstyle\relax
+ \Umathinneropspacing\textstyle=
+ \the\Umathordopspacing\textstyle\relax
+ \Umathinnerbinspacing\textstyle=
+ \the\Umathordbinspacing\textstyle\relax
+ \Umathinnerrelspacing\textstyle=
+ \the\Umathordrelspacing\textstyle\relax
+ \Umathinneropenspacing\textstyle=
+ \the\Umathordopenspacing\textstyle\relax
+ \Umathinnerclosespacing\textstyle=
+ \the\Umathordclosespacing\textstyle\relax
+ \Umathinnerpunctspacing\textstyle=
+ \the\Umathordpunctspacing\textstyle\relax
+% \end{macrocode}
+% Changes for |\scriptstyle|.
+% \begin{macrocode}
+ % \scriptstyle
+ \Umathinnerordspacing\scriptstyle=
+ \the\Umathordordspacing\scriptstyle\relax
+ \Umathinneropspacing\scriptstyle=
+ \the\Umathordopspacing\scriptstyle\relax
+ \Umathinnerbinspacing\scriptstyle=
+ \the\Umathordbinspacing\scriptstyle\relax
+ \Umathinnerrelspacing\scriptstyle=
+ \the\Umathordrelspacing\scriptstyle\relax
+ \Umathinneropenspacing\scriptstyle=
+ \the\Umathordopenspacing\scriptstyle\relax
+ \Umathinnerclosespacing\scriptstyle=
+ \the\Umathordclosespacing\scriptstyle\relax
+ \Umathinnerpunctspacing\scriptstyle=
+ \the\Umathordpunctspacing\scriptstyle\relax
+% \end{macrocode}
+% Changes for |\scriptscriptstyle|.
+% \begin{macrocode}
+ % \scriptscriptstyle
+ \Umathinnerordspacing\scriptscriptstyle=
+ \the\Umathordordspacing\scriptscriptstyle\relax
+ \Umathinneropspacing\scriptscriptstyle=
+ \the\Umathordopspacing\scriptscriptstyle\relax
+ \Umathinnerbinspacing\scriptscriptstyle=
+ \the\Umathordbinspacing\scriptscriptstyle\relax
+ \Umathinnerrelspacing\scriptscriptstyle=
+ \the\Umathordrelspacing\scriptscriptstyle\relax
+ \Umathinneropenspacing\scriptscriptstyle=
+ \the\Umathordopenspacing\scriptscriptstyle\relax
+ \Umathinnerclosespacing\scriptscriptstyle=
+ \the\Umathordclosespacing\scriptscriptstyle\relax
+ \Umathinnerpunctspacing\scriptscriptstyle=
+ \the\Umathordpunctspacing\scriptscriptstyle\relax
+% \end{macrocode}
+% Changes for |\crampeddisplaystyle|.
+% \begin{macrocode}
+ % \crampeddisplaystyle
+ \Umathinnerordspacing\crampeddisplaystyle=
+ \the\Umathordordspacing\crampeddisplaystyle\relax
+ \Umathinneropspacing\crampeddisplaystyle=
+ \the\Umathordopspacing\crampeddisplaystyle\relax
+ \Umathinnerbinspacing\crampeddisplaystyle=
+ \the\Umathordbinspacing\crampeddisplaystyle\relax
+ \Umathinnerrelspacing\crampeddisplaystyle=
+ \the\Umathordrelspacing\crampeddisplaystyle\relax
+ \Umathinneropenspacing\crampeddisplaystyle=
+ \the\Umathordopenspacing\crampeddisplaystyle\relax
+ \Umathinnerclosespacing\crampeddisplaystyle=
+ \the\Umathordclosespacing\crampeddisplaystyle\relax
+ \Umathinnerpunctspacing\crampeddisplaystyle=
+ \the\Umathordpunctspacing\crampeddisplaystyle\relax
+% \end{macrocode}
+% Changes for |\crampedtextstyle|.
+% \begin{macrocode}
+ % \crampedtextstyle
+ \Umathinnerordspacing\crampedtextstyle=
+ \the\Umathordordspacing\crampedtextstyle\relax
+ \Umathinneropspacing\crampedtextstyle=
+ \the\Umathordopspacing\crampedtextstyle\relax
+ \Umathinnerbinspacing\crampedtextstyle=
+ \the\Umathordbinspacing\crampedtextstyle\relax
+ \Umathinnerrelspacing\crampedtextstyle=
+ \the\Umathordrelspacing\crampedtextstyle\relax
+ \Umathinneropenspacing\crampedtextstyle=
+ \the\Umathordopenspacing\crampedtextstyle\relax
+ \Umathinnerclosespacing\crampedtextstyle=
+ \the\Umathordclosespacing\crampedtextstyle\relax
+ \Umathinnerpunctspacing\crampedtextstyle=
+ \the\Umathordpunctspacing\crampedtextstyle\relax
+% \end{macrocode}
+% Changes for |\crampedscriptstyle|.
+% \begin{macrocode}
+ % \crampedscriptstyle
+ \Umathinnerordspacing\crampedscriptstyle=
+ \the\Umathordordspacing\crampedscriptstyle\relax
+ \Umathinneropspacing\crampedscriptstyle=
+ \the\Umathordopspacing\crampedscriptstyle\relax
+ \Umathinnerbinspacing\crampedscriptstyle=
+ \the\Umathordbinspacing\crampedscriptstyle\relax
+ \Umathinnerrelspacing\crampedscriptstyle=
+ \the\Umathordrelspacing\crampedscriptstyle\relax
+ \Umathinneropenspacing\crampedscriptstyle=
+ \the\Umathordopenspacing\crampedscriptstyle\relax
+ \Umathinnerclosespacing\crampedscriptstyle=
+ \the\Umathordclosespacing\crampedscriptstyle\relax
+ \Umathinnerpunctspacing\crampedscriptstyle=
+ \the\Umathordpunctspacing\crampedscriptstyle\relax
+% \end{macrocode}
+% Changes for |\crampedscriptscriptstyle|.
+% \begin{macrocode}
+ % \crampedscriptscriptstyle
+ \Umathinnerordspacing\crampedscriptscriptstyle=
+ \the\Umathordordspacing\crampedscriptscriptstyle\relax
+ \Umathinneropspacing\crampedscriptscriptstyle=
+ \the\Umathordopspacing\crampedscriptscriptstyle\relax
+ \Umathinnerbinspacing\crampedscriptscriptstyle=
+ \the\Umathordbinspacing\crampedscriptscriptstyle\relax
+ \Umathinnerrelspacing\crampedscriptscriptstyle=
+ \the\Umathordrelspacing\crampedscriptscriptstyle\relax
+ \Umathinneropenspacing\crampedscriptscriptstyle=
+ \the\Umathordopenspacing\crampedscriptscriptstyle\relax
+ \Umathinnerclosespacing\crampedscriptscriptstyle=
+ \the\Umathordclosespacing\crampedscriptscriptstyle\relax
+ \Umathinnerpunctspacing\crampedscriptscriptstyle=
+ \the\Umathordpunctspacing\crampedscriptscriptstyle\relax
+% \end{macrocode}
+% Finally the case where both subformulas are |\mathinner|.
+% \begin{macrocode}
+ % both subformulas are \mathinner
+ \Umathinnerinnerspacing\displaystyle=
+ \the\Umathordordspacing\displaystyle\relax
+ \Umathinnerinnerspacing\textstyle=
+ \the\Umathordordspacing\textstyle\relax
+ \Umathinnerinnerspacing\scriptstyle=
+ \the\Umathordordspacing\scriptstyle\relax
+ \Umathinnerinnerspacing\scriptscriptstyle=
+ \the\Umathordordspacing\scriptscriptstyle\relax
+ \Umathinnerinnerspacing\crampeddisplaystyle=
+ \the\Umathordordspacing\crampeddisplaystyle\relax
+ \Umathinnerinnerspacing\crampedtextstyle=
+ \the\Umathordordspacing\crampedtextstyle\relax
+ \Umathinnerinnerspacing\crampedscriptstyle=
+ \the\Umathordordspacing\crampedscriptstyle\relax
+ \Umathinnerinnerspacing\crampedscriptscriptstyle=
+ \the\Umathordordspacing\crampedscriptscriptstyle\relax
+\else
+ \IS@info{No changes to space for \string\mathinner\space subformulas.}
+\fi
+% \end{macrocode}
+%
+% \section{Mathclose Spacing}
+%
+% In |\textstyle| and |\displaystyle|, we add half a |\thinmuskip| between |\mathclose| and |\mathord| atoms. As with the |script| and |scriptscript| options, we scale the spacing by 0.6 and 0.4 for |\scriptstyle| and |\scriptscriptstyle| respectively. Section~5 comes after Section~4 because we do not want to enlarge the spacing between |\mathclose| and |\mathinner| subformulas.
+%
+% \begin{macrocode}
+\ifIS@close
+ \IS@info{Adding space after closing delimiters.}
+ \Umathcloseordspacing\displaystyle=\scalemu{\thinmuskip}{0.5}
+ \Umathcloseordspacing\textstyle=\scalemu{\thinmuskip}{0.5}
+ \Umathcloseordspacing\crampedisplaystyle=\scalemu{\thinmuskip}{0.5}
+ \Umathcloseordspacing\crampedtextstyle=\scalemu{\thinmuskip}{0.5}
+ \ifnum\IS@script>0
+ \Umathcloseordspacing\scriptstyle=\scalemu{\thinmuskip}{0.3}
+ \Umathcloseordspacing\crampedscriptstyle=\scalemu{\thinmuskip}{0.3}
+ \fi
+ \ifnum\IS@scriptscript>0
+ \Umathcloseordspacing\scriptscriptstyle=\scalemu{\thinmuskip}{0.2}
+ \Umathcloseordspacing\crampedscriptscriptstyle=\scalemu
+ {\thinmuskip}{0.2}
+ \fi
+\else
+ \IS@info{No changes to space after delimiters.}
+\fi
+% \end{macrocode}
+%
+%
+% \section{Delimiter Heights}
+%
+% Finally, filling out the delimiter heights is easy. We simply set |\delimiterfactor| to 1000.
+% \begin{macrocode}
+\ifIS@cover
+ \IS@info{Setting delimiters to full height.}
+ \delimiterfactor\@m
+\else
+ \IS@info{No changes to delimiter heights.}
+\fi
+% \end{macrocode}
+% And that's a wrap!
+%
+% \vfil\eject
+% \section*{Version History}
+% \begin{multicols*}{2}
+% \bgroup\raggedright\parskip\z@\parindent\z@\leftskip1em\obeylines
+% \setbox0\hbox{\hskip 1pt.\hskip 1pt}
+% \def\version#1#2{\bigskip\hbox to \hsize{\textbf{#1} \cleaders\copy0\hfill\ #2}\par}
+% \def\item{---\kern0.2ex\relax}
+%
+% \version{1.0}{February 2021}
+% \item initial release
+%
+% \version{1.1}{February 2021}
+% \item bug fix for |\mathinner| spacing
+% \item added |\IS@skip| muglue register
+%
+% \version{1.2}{November 2023}
+% \item redesigned spacing for options |script| and |scriptscript|
+% \item no more |\IS@skip|---options |script| and |scriptscript| now use |\the|
+% \item added option |close|
+% \item added option |cover|
+% \item separated implementation and user guide
+%
+% \egroup
+% \end{multicols*}
+%
+%
+%
+% \iffalse
+%</package>
+%<*user>
+\makeatletter
+\documentclass[12pt]{article}
+\usepackage[margin=72.27pt]{geometry}
+\usepackage[factor=700,stretch=14,shrink=14,step=1]{microtype}
+\usepackage{booktabs}
+\usepackage{tabularx}
+\usepackage{amsmath}
+\usepackage{doc}[=v2]
+\MakeShortVerb{|}
+\interfootnotelinepenalty=0
+
+\newbox\fracbox
+\setbox\fracbox\hbox{$\displaystyle\left(\frac x2\right)$}
+
+\begin{document}
+
+\def\documentname{User Guide}
+\input innerscript_heading.tex
+
+\def\@oddhead{\ifnum\c@page>\@ne
+ \ifodd\c@page
+ \hfil\the\c@page
+ \else
+ \the\c@page\hfil
+ \fi\fi}
+
+
+\begin{figure}[b]
+\centerline{\strut\bfseries Table~1: Package Behavior Shown in Each Part of Equation (2)}
+\begin{tabular*}\textwidth{@{\extracolsep{\fill}}lllll}\toprule
+Part of equation (2) & Summation & Functions & Product & Fraction\\\midrule
+Option shown & |script| & |inner| & |close| & |cover|\\\bottomrule
+\end{tabular*}
+\end{figure}
+
+
+\noindent For several years before the first release of \textsf{innerscript}, I wondered whether it was possible to adjust two features of \TeX's automatic mathematics spacing, namely adding more space in superscripts and subscripts and removing the extra space around |\left|-|\right| delimiter pairs. Lua\TeX's extra math-mode primitives make these changes possible, and \textsf{innerscript} grew out of my desire to implement them in my documents. For example, compare the next two lines:
+\begin{flalign}
+&&\sum_{i=1}^n{}&x_i^{1+a}
+ &f(x)&=g\left(\frac1x\right)
+ &x(t)&y(t)
+ &\hskip0.5\wd\fracbox &\clap@math{\left(\frac{x}2\right)}
+ \hskip0.5\wd\fracbox
+ &&\\
+&&\sum_{i\mskip\scalemu{\thickmuskip}{0.6}=
+ \mskip\scalemu{\thickmuskip}{0.6}1}^n
+ {}&x_i^{1\mskip\scalemu{\medmuskip}{0.6}+
+ \mskip\scalemu{\medmuskip}{0.6} a}
+ &f(x)&=g{\left(\frac1x\right)}
+ &x(t)\mskip\scalemu{\thinmuskip}{0.25}&\mskip\scalemu{\thinmuskip}{0.25}y(t)
+ &\hskip0.5\wd\fracbox & \clap@math{\left(\frac{\vphantom{1}x}2\right)}
+ \hskip0.5\wd\fracbox
+ &&
+\end{flalign}
+Equation~(1) uses traditional \TeX\ formatting, and equation~(2) incorporates the small tweaks characteristic of \textsf{innerscript}. If you like equation~(2) more than equation~(1), then \textsf{innerscript} is the package for you! This file explains how to load \textsf{innerscript} and enable whichever adjustments you want to use. For version history and documentation of the code, see |innerscript_code.pdf|, which is included with the package installation and is available on \textsc{ctan}.
+
+Table~1 explains which parts of equation~(2) show different aspects of \textsf{innerscript}'s behavior. At far left, the subscript under the summation symbol and the superscript of $x_i$ have small amounts of extra space around the |=| and |+| signs respectively, and at center-left, the $g$ is directly next to the parenthesis. At center-right, the closing parenthesis is offset from the following $y$, and on the right, the parentheses cover the entire fraction instead of covering only most of it. Using the package will automate some or all of these changes for you depending on which options you specify.
+
+Users can load \textsf{innerscript} with the standard
+\begin{code}
+|\usepackage[|\meta{options}|]{innerscript}|
+\end{code}
+syntax, and when doing so, you must typeset with Lua\TeX. If it detects a different engine, \textsf{innerscript} will raise an error and stop loading, which will prevent it from changing the math in your document. The package provides no user-level commands---rather, you can control its functionality through the twelve options in Table~2. Options |script|, |legacy-|\penalty0|script|, and |no-script| determine how \textsf{innerscript} treats superscripts and subscripts. Options |scriptscript|, |legacy-scriptscript|, and |no-scriptscript| are the same except that they deal with second-order superscripts and subscripts. The |inner| option tells \TeX\ to avoid placing extra space around |\mathinner| subformulas, which in practice mostly means that \TeX\ will position |\left|-|\right| delimiter pairs the same way as ordinary variables such as $f$ or $g$ in equation~(2). The |close| option adds a small amount of space after a closing grouping symbol, such as a right parenthesis, when it comes before a regular variable or number, and |cover| tells \TeX\ to make sure that resizable delimiters fully cover their contents. The |no-|~variants disable formatting adjustments, and by default, \textsf{innerscript} selects the first five options from Table~2.
+
+
+
+
+\begin{figure}[t!]
+\centerline{\strut\bfseries Table~2: Package Options for \textsf{innerscript}}
+\begin{tabularx}\hsize{l>{\raggedright\arraybackslash}X}
+\toprule
+Package Option & Meaning\\
+\midrule
+|script| & Change |\scriptstyle| (and cramped style) spacing\\
+|scriptscript| & Change |\scriptscriptstyle| (and cramped style) spacing\\
+|inner| & Use |\mathord| spacing for |\mathinner| subformulas\\
+|close| & Extra space between \vrb\mathclose\vrb\mathord\ pairs\\
+|cover| & Resizable delimiters (i.e.\ |\left| and |\right|) fully cover contents\\\midrule
+|legacy-script| & Option |script| with legacy spacing (not recommended)\\
+|legacy-scriptscript| & Option |scriptscript| with legacy spacing (not recommended)\\\midrule
+|no-script| & No changes to |\scriptstyle| spacing\\
+|no-scriptscript| & No changes to |\scriptscriptstyle| spacing\\
+|no-inner| & No changes to treatment of |\mathinner| subformulas\\
+|no-close| & No changes to |\mathclose| atoms\\
+|no-cover| & No changes to resizable delimiters\\
+\bottomrule
+\end{tabularx}
+\end{figure}
+
+
+
+
+
+
+\begin{figure}[t!]
+\centerline{\bfseries\strut Table~3: Space Inserted by \textsf{innerscript}}
+\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lll}\toprule
+Consecutive Atom Types & Option |script| & Option |scriptscript|\\\midrule
+|\mathord||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathord||\mathbin| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
+|\mathord||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
+|\mathord||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
+|\mathop||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathop||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathop||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
+|\mathop||\mathinner| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\\midrule
+|\mathbin||\mathord| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
+|\mathbin||\mathop| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
+|\mathbin||\mathopen| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
+|\mathbin||\mathinner| & 0.6|\medmuskip| & 0.4|\medmuskip| \\\midrule
+|\mathrel||\mathord| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
+|\mathrel||\mathop| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
+|\mathrel||\mathopen| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
+|\mathrel||\mathinner| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\\midrule
+|\mathclose||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathclose||\mathbin| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
+|\mathclose||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
+|\mathclose||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
+|\mathpunct||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathrel| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathclose| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
+|\mathinner||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathinner||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathinner||\mathbin| & 0.6|\medmuskip| & 0.4|\medmuskip| \\
+|\mathinner||\mathrel| & 0.6|\thickmuskip| & 0.4|\thickmuskip| \\
+|\mathinner||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathinner||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathinner||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\bottomrule
+\end{tabular*}
+\end{figure}
+
+\iffalse % ignore
+\begin{figure}[t!]
+\centerline{\bfseries\strut Table~4: Legacy Space Inserted by \textsf{innerscript}}
+\begin{tabularx}{\hsize}{p{2in}Xl}\toprule
+Consecutive Atom Types & Option |legacy-script| & Option |legacy-scriptscript|\\\midrule
+|\mathord||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathord||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
+|\mathord||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
+|\mathord||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
+|\mathop||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathop||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathop||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
+|\mathop||\mathinner| & |\thinmuskip| & 0.7|\thinmuskip| \\\midrule
+|\mathbin||\mathord| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
+|\mathbin||\mathop| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
+|\mathbin||\mathopen| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
+|\mathbin||\mathinner| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\\midrule
+|\mathrel||\mathord| & |\thinmuskip| & 0.7|\thinmuskip| \\
+|\mathrel||\mathop| & |\thinmuskip| & 0.7|\thinmuskip| \\
+|\mathrel||\mathopen| & |\thinmuskip| & 0.7|\thinmuskip| \\
+|\mathrel||\mathinner| & |\thinmuskip| & 0.7|\thinmuskip| \\\midrule
+|\mathclose||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathclose||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
+|\mathclose||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
+|\mathclose||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
+|\mathpunct||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathrel| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathclose| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathpunct||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\midrule
+|\mathinner||\mathord| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathinner||\mathop| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathinner||\mathbin| & 0.7|\thinmuskip| & 0.5|\thinmuskip| \\
+|\mathinner||\mathrel| & |\thinmuskip| & 0.7|\thinmuskip| \\
+|\mathinner||\mathopen| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathinner||\mathpunct| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\
+|\mathinner||\mathinner| & 0.6|\thinmuskip| & 0.4|\thinmuskip| \\\bottomrule
+\end{tabularx}
+\end{figure}
+\fi % end ignore
+
+
+
+
+\begin{figure}[t]
+\centerline{\bfseries\strut Table 4: Factors of \vrb\thinmuskip\ in Legacy Spacing}
+\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lcc}\toprule
+Skip Used in Current Version & For Option |script| & For Option |scriptscript|\\\midrule
+|\thinmuskip| & 0.6 & 0.4 \\
+|\medmuskip| & 0.7 & 0.5 \\
+|\thickmuskip| & 1 & 0.7\\\bottomrule
+\end{tabular*}
+\end{figure}
+
+
+
+
+The |inner|, |close|, and |cover| options are straightforward, but the options |script| and |scriptscript| warrant more explanation. With its usual math formatting, \TeX\ adds small amounts of space between different math-mode characters depending on what types of symbols they represent, and \TeX's fine-tuned math spacing is part of what makes it a great program for typesetting equations.\footnote{\TeX\ classifies math symbols into eight categories: \vrb\mathord\ (ordinary), \vrb\mathop\ (big operator), \vrb\mathbin\ (binary operation), \vrb\mathrel\ (relation), \vrb\mathopen\ (opening delimiter), \vrb\mathclose\ (closing delimiter), \vrb\mathpunct\ (punctuation), and \vrb\mathinner\ (``inner'' subformula). As part of its definition, every math-mode character is assigned a math class.\vadjust{\bigskip} See Donald Knuth, \textit{The \TeX book} (Addison Wesley, 1986), 170; David Salomon, \textit{The Advanced \TeX book} (Springer, 1995), 256--258.} However, some spacing additions from inline and display math don't appear inside superscripts and subscripts. The |script| and |scriptscript| options address this situation by changing the space in superscripts and subscripts to scaled-down versions of the standard spacing rules.\footnote{Technically, \textsf{innerscript} scales down the standard spacing twice. The exact length of a \vrb\muskip\ register varries proportionally with the surrounding font size, so, for example, a \vrb\thinmuskip\ inside a superscript or subscript will be about two-thirds the size of a \vrb\thinmuskip\ in regular inline math. If \textsf{innerscript} always inserted the same amounts of muglue between math characters as with inline math, the spacing in superscripts and subscripts would be proportional to inline and display spacing. However, doing so produces math where the symbols appear too far apart, so \textsf{innerscript} scales the muglue by a factor of 0.6 in superscripts and subscripts and by a factor of 0.4 in second-order superscripts and subscripts.} Table~3 lists the spacing that \textsf{innerscript} adds under both options.
+
+Finally, in version 1.2, I redesigned the extra space amounts in the |script| and |scriptscript| options, and for backwards compatibility, the |legacy-| options implement the old spacing. In legacy spacing, all space additions are multiples of |\thinmuskip|, and Table~4 lists the factors of |\thinmuskip| from version 1.1. The factors correspond to whether a given row of Table~3 uses |\thinmuskip|, |\medmuskip|, or |\thickmuskip|. For example, the current version of \textsf{innerscript} adds a multiple of |\thinmuskip| between an ordinary math symbol and a large operator, so under legacy spacing, \textsf{innerscript} inserts 0.6|\thinmuskip| in superscripts and subscripts and 0.4|\thinmuskip| in second-order superscripts and subscripts. I changed the package this way so that superscripts and subscripts will parallel inline and display spacing. Now if you set the value of |\thinmuskip|, |\medmuskip|, or |\thickmuskip| before loading \textsf{innerscript}, the adjustment will have the same effect in all parts of your equation.
+
+
+
+
+\end{document}
+%
+%</user>
+%<*heading>
+%
+
+\csname count@\endcsname\catcode`\@
+\makeatletter
+
+% identifying macros
+\def\packageversion{1.2}
+\def\packagedate{November 2023}
+
+% general macros
+\MacroIndent=1.3em
+\def\scalemu#1#2{\muexpr#2#1
+ \@plus\muexpr#2\gluetomu\gluestretch\mutoglue#1\relax
+ \@minus\muexpr#2\gluetomu\glueshrink\mutoglue#1\relax\relax}
+\baselineskip=\the\baselineskip plus 0.3pt minus 0.3pt\relax
+
+% section, header, and footer commands
+\let\@@section\section
+\def\section{\@ifstar\star@sect\no@star@sect}
+\def\star@sect#1{\sectionhook{#1}\@@section*{#1}}
+\def\no@star@sect#1{\sectionhook{#1}\@@section{#1}}
+
+
+\def\sectionhook#1{%
+ \ifdim\dimexpr\pagegoal-\pagetotal-3pt\relax<6\bigskipamount
+ \vfill\eject
+ \fi
+ \def\sectionname{#1}}
+
+\def\@oddhead{%
+ \ifnum\count0>1\relax
+ \ifodd\c@page
+ \rlap{\textit{\sectionname}}\hfil
+ \hbox to 0pt{\hss\documentname\hss}\hfil
+ \llap{\the\count0}%
+ \else
+ \rlap{\the\count0}\hfil
+ \hbox to 0pt{\hss\documentname\hss}\hfil
+ \llap{\textit{\sectionname}}%
+ \fi
+ \fi}
+\def\@oddfoot{\hfil\ifnum\count0=1\relax1\fi\hfil}
+
+
+% penalties
+\pretolerance=-1
+\hyphenpenalty=20
+\exhyphenpenalty=15
+\brokenpenalty=0
+\clubpenalty=0
+\widowpenalty=0
+\finalhyphendemerits=500
+\doublehyphendemerits=2000
+
+
+% code environment
+\let\code\@undefined
+\let\endcode\@undefined
+\newenvironment{code}
+ {\strut\vadjust\bgroup\medskip\parindent\z@\leftskip=4em\relax
+ \noindent\strut\ignorespaces}
+ {\strut\par\medskip\egroup\hfill\break\strut\ignorespacesafterend}
+\def\argtext#1{\ensuremath{\langle$\textit{#1}$\rangle}}
+\def\vrb#1{\expandafter\texttt\expandafter{\string#1}}
+\def\clap@math#1{\hb@xt@\z@{\hss$\displaystyle#1$\hss}}
+
+
+% title line
+{\large
+\parindent=0pt
+\leftskip=0pt plus 1 fil
+\rightskip=0pt plus 1fil
+\parfillskip=0pt
+{\strut\Large Package \textsf{innerscript} v.\ 1.2 \documentname}\par
+\strut Conrad Kosowsky\par
+\strut \packagedate\par
+\strut\texttt{kosowsky.latex@gmail.com}\par}
+
+\bigskip
+
+% off-the-shelf insert
+\hrule height \p@
+\@@line{\vrule width \p@\kern-\p@
+ \vbox{\medskip
+ \leftskip=8em\relax\rightskip=8em\relax
+ \noindent\strut For easy, off-the-shelf use, type the following
+ in your document preamble and compile using Lua\LaTeX:
+ \vskip\medskipamount
+ \noindent\hfil\strut|\usepackage{innerscript}|\hfil
+ \vskip\medskipamount}\relax
+ \kern-\p@\vrule width \p@}
+\hrule height \p@
+
+\bigskip
+
+% abstract
+{\small
+\leftskip=0.5in
+\rightskip=0.5in
+\centerline{\bfseries Overview\strut}
+\noindent The \textsf{innerscript} package optionally modifies four aspects of \TeX's automatic math formatting to improve typesetting: (1) it adds extra space around relation and operation symbols in superscripts and subscripts; (2) it removes extra space around |\left|-|\right| delimiter pairs; (3) it adds extra space after right delimiters in certain situations; and (4) it forces |\left| and |\right| delimiters to completely cover their contents. Using Lua\LaTeX\ is required.\par}
+
+\bigskip\bigskip\nointerlineskip
+\centerline{\vrule height 0.5pt width 2.5in}\bigskip\bigskip
+\nointerlineskip
+
+\catcode`\@\count@
+
+%
+%</heading>
+% \fi
+%
+%
+% \check@checksum
+%
+%
+\endinput \ No newline at end of file
diff --git a/macros/luatex/latex/innerscript/innerscript_code.pdf b/macros/luatex/latex/innerscript/innerscript_code.pdf
new file mode 100644
index 0000000000..f05e92dd31
--- /dev/null
+++ b/macros/luatex/latex/innerscript/innerscript_code.pdf
Binary files differ
diff --git a/macros/luatex/latex/innerscript/innerscript_user_guide.pdf b/macros/luatex/latex/innerscript/innerscript_user_guide.pdf
new file mode 100644
index 0000000000..86ea58d448
--- /dev/null
+++ b/macros/luatex/latex/innerscript/innerscript_user_guide.pdf
Binary files differ
diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
index aa7acc161a..5c50be51f6 100644
--- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
@@ -43,12 +43,12 @@ $mirrors = {
'Japan' => {
'http://ring.airnet.ne.jp/archives/text/CTAN/' => 1,
'https://ftp.jaist.ac.jp/pub/CTAN/' => 1,
+ 'https://ftp.kddilabs.jp/CTAN/' => 1,
'https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/' => 1,
'https://jp.mirrors.cicku.me/ctan/' => 1,
},
'Korea' => {
'http://ftp.ktug.org/tex-archive/' => 1,
- 'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1,
'https://kr.mirrors.cicku.me/ctan/' => 1,
'https://lab.uklee.pe.kr/tex-archive/' => 1,
'https://mirror.kakao.com/CTAN/' => 1,
@@ -88,6 +88,7 @@ $mirrors = {
'https://ctan.mines-albi.fr/' => 1,
'https://ctan.tetaneutral.net/' => 1,
'https://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/ctan/' => 1,
+ 'https://mirror.ibcp.fr/pub/CTAN/' => 1,
'https://mirrors.ircam.fr/pub/CTAN/' => 1,
'https://texlive.mycozy.space/' => 1,
},
@@ -130,7 +131,6 @@ $mirrors = {
'https://ftp.snt.utwente.nl/pub/software/tex/' => 1,
'https://mirror.koddos.net/CTAN/' => 1,
'https://mirror.lyrahosting.com/CTAN/' => 1,
- 'https://mirrors.evoluso.com/CTAN/' => 1,
},
'Norway' => {
'https://ctan.uib.no/' => 1,
@@ -193,6 +193,7 @@ $mirrors = {
'https://ctan.math.washington.edu/tex-archive/' => 1,
'https://ctan.mirrors.hoobly.com/' => 1,
'https://mirror.las.iastate.edu/tex-archive/' => 1,
+ 'https://mirror.math.princeton.edu/pub/CTAN/' => 1,
'https://mirror.mwt.me/ctan/' => 1,
'https://mirrors.mit.edu/CTAN/' => 1,
'https://mirrors.rit.edu/CTAN/' => 1,
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index 3e313cd5f4..81b712c9b5 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,7 +26,7 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2023
-depend revision/68740
+depend revision/68742
name 00texlive.image
category TLCore
@@ -4800,7 +4800,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd
name 00texlive.installer
category TLCore
-revision 68740
+revision 68742
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
@@ -316586,7 +316586,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 68740
+revision 68742
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.
@@ -316594,10 +316594,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 114228
-containerchecksum 3d0d57bbf0c2f3c807ff1c4fc9997b4a537cf15453e6f91ffc5233cddc34b93d17bcd262425adeb4c0c73549983aba096cdd3ae1367d194a17b979d368f03c63
+containersize 114240
+containerchecksum be46ed48111cc31cea864f5dce36fadc0a40b03a44b585a9dea444a0a3ab7ab228107a64b340bd6744162cc4de3126b6b7411d3febbd5323065a4edba83e01b7
doccontainersize 428596
-doccontainerchecksum 77a7ae68b3dfcfa490e45a339a629dac8903997df9e6c57d9ec889aa62ceed83de7e316e506ae5dfae275c9917c3473c14bf21817718d2d4be38ae68c05b47b1
+doccontainerchecksum bd302f4b543682a6e222fbc4425e6007a95bf57f5499469d7654db52797fa0529fa6f84961e9851428ad9002d1582d0c222005b407626f1a1edc0a1eeb4c3d7a
docfiles size=550
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 63ff8fbe2b..e97dcb13c9 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-16763cfa9193b58aa981b2f880aed9fe texlive.tlpdb
+dc9101746a683fe15decaf6787a5b93c texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 92c728db2e..ec96b504f0 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-c346a67d5b0bb818ad583a63521fb1057ee5f6cda82ddf34dbd44c97a9a45bcd35e281158bb3a37b0af24735824698f2d86b5ca3576445d5b3549ad77a295ac3 texlive.tlpdb
+d1c11d8dd9103eade5e7d9b2362a32da1423e6755bc5c2889a1a53f4f441eef376e45b32698080b6c67236d17aa378c297ee4b44c2baa479302c770382e1b2c8 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index 77786a34ab..a05a4c8adf 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
@@ -1,11 +1,11 @@
-----BEGIN PGP SIGNATURE-----
-iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmVG5oMACgkQTOGHfhlD
-jHBj3gf/SLebKlWY3ao8LYEv7W4Bw7hL17dLqtwyKBQB+da8gJFux03skXI32GtM
-VVs+YzS6k3sHwGX1ih3JiS73U7LBA0ywzctwhaZOZiMfVLd05ILr/sXiJpEB1tV6
-qLJaN+BX1htjCIL09PBAregx+hkKdGeZANR3n4OeJWZlSiN7qRM9VvvNQhHjvyho
-ZUgPHqM6dZqYUiWWWPVASTStbMjgg6rkv8CY0qIOhw1Lyr7e2vMRgaLCfutqCjhR
-V54A9A2U8eZdxmOZ2aOEk2linC201q7BItvhFE6jqfG2lfhXk7TwxYFyEYtXsia+
-BRu7N6pV0MlwFhERRylIH96P65eQMg==
-=evq8
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmVINywACgkQTOGHfhlD
+jHAK1wf/ekhFn7k5yTRuiuPheCFbMeVS2OI5p8dLyb2meJmTfNeE0qIi2lQNxLYy
+LoVziYbJRPdC5YUmtAoFaqBqDzDqaPos8dwX1xEqaREh18FpzQxAK9sYS3LuLppl
+7tTIGWA50YhKREeHefgarrR9BawORkovxEqtM+OhDJgvWI+fTDXSHnAb0bqyxSrg
+jOoxHK7H4244p2jYzNgfQY+SpzqER5Sh6XrXFilOQoYZNWrh2gMpkh33rEirQPYV
+YsapUCM+3YG38WIymTo54zj9bQAe5dEBNSoiSLiHKtwiHGFozn1tpcWnTiXxORcr
+wKuITOFwNA9TuBQabOKpE0mYZ1IJcA==
+=9RsX
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index b7cd1f81b2..1bc69bd1f8 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/timestamp b/timestamp
index bc77064a31..0c786cb98e 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:
-2023-11-06-02-02
+2023-11-07-02-02