diff options
28 files changed, 1393 insertions, 1263 deletions
diff --git a/CTAN.sites b/CTAN.sites index a0d1e9d5e8..097b63355c 100644 --- a/CTAN.sites +++ b/CTAN.sites @@ -22,6 +22,10 @@ by country): URL: https://mirror.marwan.ma/ctan/ + ftp.sun.ac.za (South Africa) + URL: ftp://ftp.sun.ac.za/CTAN/ + URL: http://ftp.sun.ac.za/ftp/CTAN/ + mirror.ufs.ac.za (South Africa) URL: rsync://mirror.ufs.ac.za/CTAN/ URL: https://mirror.ufs.ac.za/ctan/ @@ -127,6 +131,9 @@ by country): ftp.yz.yamagata-u.ac.jp (Japan) URL: https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/ + ring.airnet.ne.jp (Japan) + URL: http://ring.airnet.ne.jp/archives/text/CTAN/ + cran.asia (Korea) URL: https://cran.asia/tex/ @@ -137,6 +144,10 @@ by country): URL: http://ftp.kaist.ac.kr/pub/tex-archive/ URL: https://ftp.kaist.ac.kr/pub/tex-archive/ + ftp.ktug.org (Korea) + URL: http://ftp.ktug.org/tex-archive/ + URL: ftp://ftp.ktug.org/tex-archive/ + lab.uklee.pe.kr (Korea) URL: http://lab.uklee.pe.kr/tex-archive/ URL: https://lab.uklee.pe.kr/tex-archive/ @@ -409,6 +420,9 @@ by country): ctan.javinator9889.com (Spain) URL: https://ctan.javinator9889.com/ + osl.ugr.es (Spain) + URL: https://osl.ugr.es/CTAN/ + ftp.acc.umu.se (Sweden) URL: rsync://ftp.acc.umu.se/mirror/CTAN/ @@ -432,6 +446,10 @@ by country): URL: https://mirror.metanet.ch/tex-archive/ + ftp.cvut.cz (The Czech Republic) + URL: ftp://ftp.cvut.cz/tex-archive/ + URL: http://ftp.cvut.cz/tex-archive/ + mirrors.nic.cz (The Czech Republic) URL: rsync://mirrors.nic.cz/CTAN/ URL: https://mirrors.nic.cz/tex-archive/ diff --git a/FILES.byname b/FILES.byname index a29de68056..1e20616aee 100644 --- a/FILES.byname +++ b/FILES.byname @@ -2056,12 +2056,12 @@ 2023/07/04 | 1675 | biblio/citation-style-language/README.md 2023/07/04 | 12878 | biblio/citation-style-language/vancouver.csl 2023/07/04 | 4522435 | biblio/citation-style-language.zip -2023/07/24 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2023/07/25 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx 2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx -2023/07/24 | 2796546 | biblio/ctan-bibdata/ctan.bib -2023/07/24 | 3687413 | biblio/ctan-bibdata/ctan.pdf +2023/07/25 | 2796958 | biblio/ctan-bibdata/ctan.bib +2023/07/25 | 3689053 | biblio/ctan-bibdata/ctan.pdf 2023/01/16 | 1489 | biblio/ctan-bibdata/README -2023/07/24 | 4086233 | biblio/ctan-bibdata.zip +2023/07/25 | 4089360 | 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 @@ -5421,7 +5421,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/07/24 | 67416 | FILES.last07days +2023/07/25 | 40529 | 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 @@ -194591,7 +194591,7 @@ 2021/11/10 | 657160 | install/macros/latex/contrib/sdaps.tds.zip 2023/07/04 | 2531068 | install/macros/latex/contrib/se2thesis.tds.zip 2019/12/10 | 544332 | install/macros/latex/contrib/selinput.tds.zip -2023/07/20 | 1566330 | install/macros/latex/contrib/siunitx.tds.zip +2023/07/25 | 1567980 | 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 @@ -221795,12 +221795,12 @@ 2011/11/01 | 3207 | macros/latex/contrib/fcltxdoc/fcltxdoc.ins 2011/11/01 | 721679 | macros/latex/contrib/fcltxdoc/fcltxdoc.pdf 2011/11/01 | 664312 | macros/latex/contrib/fcltxdoc.zip -2022/02/01 | 69532 | macros/latex/contrib/fcolumn/fcolumn.dtx -2022/02/01 | 2281 | macros/latex/contrib/fcolumn/fcolumn.ins -2022/02/01 | 319237 | macros/latex/contrib/fcolumn/fcolumn.pdf -2022/02/01 | 816 | macros/latex/contrib/fcolumn/makefile -2022/02/01 | 3054 | macros/latex/contrib/fcolumn/README -2022/02/01 | 341514 | macros/latex/contrib/fcolumn.zip +2023/07/25 | 73415 | macros/latex/contrib/fcolumn/fcolumn.dtx +2023/07/25 | 2191 | macros/latex/contrib/fcolumn/fcolumn.ins +2023/07/25 | 517071 | macros/latex/contrib/fcolumn/fcolumn.pdf +2023/07/25 | 838 | macros/latex/contrib/fcolumn/makefile +2023/07/25 | 3048 | macros/latex/contrib/fcolumn/README +2023/07/25 | 540760 | macros/latex/contrib/fcolumn.zip 2023/05/27 | 223432 | macros/latex/contrib/fduthesis/fduthesis-code.dtx 2023/05/27 | 977509 | macros/latex/contrib/fduthesis/fduthesis-code.pdf 2023/05/27 | 62429 | macros/latex/contrib/fduthesis/fduthesis-doc.dtx @@ -236790,33 +236790,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/07/20 | 73211 | macros/latex/contrib/siunitx/CHANGELOG.md -2023/07/20 | 996 | macros/latex/contrib/siunitx/README.md -2023/07/20 | 10931 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx -2023/07/20 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg -2023/07/20 | 17885 | macros/latex/contrib/siunitx/siunitx-angle.dtx -2023/07/20 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg -2023/07/20 | 2951 | macros/latex/contrib/siunitx/siunitx-binary.dtx -2023/07/20 | 642405 | macros/latex/contrib/siunitx/siunitx-code.pdf -2023/07/20 | 2636 | macros/latex/contrib/siunitx/siunitx-code.tex -2023/07/20 | 8866 | macros/latex/contrib/siunitx/siunitx-command.dtx -2023/07/20 | 38831 | macros/latex/contrib/siunitx/siunitx-complex.dtx -2023/07/20 | 33867 | macros/latex/contrib/siunitx/siunitx-compound.dtx -2023/07/20 | 21746 | macros/latex/contrib/siunitx/siunitx.dtx -2023/07/20 | 31776 | macros/latex/contrib/siunitx/siunitx-emulation.dtx -2023/07/20 | 3687 | macros/latex/contrib/siunitx/siunitx.ins -2023/07/20 | 5544 | macros/latex/contrib/siunitx/siunitx-locale.dtx -2023/07/20 | 153028 | macros/latex/contrib/siunitx/siunitx-number.dtx -2023/07/20 | 691136 | macros/latex/contrib/siunitx/siunitx.pdf -2023/07/20 | 36052 | macros/latex/contrib/siunitx/siunitx-print.dtx -2023/07/20 | 15153 | macros/latex/contrib/siunitx/siunitx-quantity.dtx -2023/07/20 | 9198 | macros/latex/contrib/siunitx/siunitx-symbol.dtx -2023/07/20 | 54011 | macros/latex/contrib/siunitx/siunitx-table.dtx -2023/07/20 | 160366 | macros/latex/contrib/siunitx/siunitx.tex -2023/07/20 | 103395 | macros/latex/contrib/siunitx/siunitx-unit.dtx -2023/07/20 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty -2023/07/20 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg -2023/07/21 | 1520812 | macros/latex/contrib/siunitx.zip +2023/07/25 | 73491 | macros/latex/contrib/siunitx/CHANGELOG.md +2023/07/25 | 996 | macros/latex/contrib/siunitx/README.md +2023/07/25 | 10931 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx +2023/07/25 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg +2023/07/25 | 17885 | macros/latex/contrib/siunitx/siunitx-angle.dtx +2023/07/25 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg +2023/07/25 | 2951 | macros/latex/contrib/siunitx/siunitx-binary.dtx +2023/07/25 | 643576 | macros/latex/contrib/siunitx/siunitx-code.pdf +2023/07/25 | 2636 | macros/latex/contrib/siunitx/siunitx-code.tex +2023/07/25 | 8866 | macros/latex/contrib/siunitx/siunitx-command.dtx +2023/07/25 | 38831 | macros/latex/contrib/siunitx/siunitx-complex.dtx +2023/07/25 | 34004 | macros/latex/contrib/siunitx/siunitx-compound.dtx +2023/07/25 | 21746 | macros/latex/contrib/siunitx/siunitx.dtx +2023/07/25 | 31776 | macros/latex/contrib/siunitx/siunitx-emulation.dtx +2023/07/25 | 3687 | macros/latex/contrib/siunitx/siunitx.ins +2023/07/25 | 5544 | macros/latex/contrib/siunitx/siunitx-locale.dtx +2023/07/25 | 152930 | macros/latex/contrib/siunitx/siunitx-number.dtx +2023/07/25 | 691136 | macros/latex/contrib/siunitx/siunitx.pdf +2023/07/25 | 36555 | macros/latex/contrib/siunitx/siunitx-print.dtx +2023/07/25 | 15153 | macros/latex/contrib/siunitx/siunitx-quantity.dtx +2023/07/25 | 9198 | macros/latex/contrib/siunitx/siunitx-symbol.dtx +2023/07/25 | 54011 | macros/latex/contrib/siunitx/siunitx-table.dtx +2023/07/25 | 160366 | macros/latex/contrib/siunitx/siunitx.tex +2023/07/25 | 103395 | macros/latex/contrib/siunitx/siunitx-unit.dtx +2023/07/25 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty +2023/07/25 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg +2023/07/25 | 1522456 | 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 @@ -292027,7 +292027,7 @@ 2022/06/10 | 700 | systems/texlive/tlnet/archive/collection-latex.r63515.tar.xz 2023/01/11 | 744 | systems/texlive/tlnet/archive/collection-latexrecommended.r65512.tar.xz 2023/07/05 | 1000 | systems/texlive/tlnet/archive/collection-luatex.r67550.tar.xz -2023/07/16 | 1680 | systems/texlive/tlnet/archive/collection-mathscience.r67641.tar.xz +2023/07/25 | 1688 | systems/texlive/tlnet/archive/collection-mathscience.r67725.tar.xz 2023/05/12 | 564 | systems/texlive/tlnet/archive/collection-metapost.r67071.tar.xz 2023/02/18 | 496 | systems/texlive/tlnet/archive/collection-music.r65862.tar.xz 2023/06/07 | 1596 | systems/texlive/tlnet/archive/collection-pictures.r67297.tar.xz @@ -292345,8 +292345,8 @@ 2019/02/28 | 1544 | systems/texlive/tlnet/archive/crbox.r29803.tar.xz 2023/07/24 | 99940 | systems/texlive/tlnet/archive/create-theorem.doc.r67712.tar.xz 2023/07/24 | 11304 | systems/texlive/tlnet/archive/create-theorem.r67712.tar.xz -2023/07/24 | 74512 | systems/texlive/tlnet/archive/crefthe.doc.r67713.tar.xz -2023/07/24 | 4380 | systems/texlive/tlnet/archive/crefthe.r67713.tar.xz +2023/07/25 | 75892 | systems/texlive/tlnet/archive/crefthe.doc.r67721.tar.xz +2023/07/25 | 4340 | systems/texlive/tlnet/archive/crefthe.r67721.tar.xz 2022/10/01 | 34252 | systems/texlive/tlnet/archive/crimson.doc.r64559.tar.xz 2022/10/02 | 85180 | systems/texlive/tlnet/archive/crimsonpro.doc.r64565.tar.xz 2022/10/02 | 2549080 | systems/texlive/tlnet/archive/crimsonpro.r64565.tar.xz @@ -296040,9 +296040,9 @@ 2019/02/28 | 254872 | systems/texlive/tlnet/archive/lastpackage.doc.r34481.tar.xz 2019/02/28 | 980 | systems/texlive/tlnet/archive/lastpackage.r34481.tar.xz 2019/02/28 | 2580 | systems/texlive/tlnet/archive/lastpackage.source.r34481.tar.xz -2023/04/14 | 555388 | systems/texlive/tlnet/archive/lastpage.doc.r66839.tar.xz -2023/04/14 | 3980 | systems/texlive/tlnet/archive/lastpage.r66839.tar.xz -2023/04/14 | 20980 | systems/texlive/tlnet/archive/lastpage.source.r66839.tar.xz +2023/07/25 | 553800 | systems/texlive/tlnet/archive/lastpage.doc.r67722.tar.xz +2023/07/25 | 4264 | systems/texlive/tlnet/archive/lastpage.r67722.tar.xz +2023/07/25 | 21520 | systems/texlive/tlnet/archive/lastpage.source.r67722.tar.xz 2023/01/16 | 2122104 | systems/texlive/tlnet/archive/latex2e-help-texinfo.doc.r65552.tar.xz 2022/08/30 | 2221448 | systems/texlive/tlnet/archive/latex2e-help-texinfo-fr.doc.r64228.tar.xz 2022/08/30 | 444 | systems/texlive/tlnet/archive/latex2e-help-texinfo-fr.r64228.tar.xz @@ -296923,6 +296923,8 @@ 2023/04/05 | 156684 | systems/texlive/tlnet/archive/luamplib.doc.r66762.tar.xz 2023/04/05 | 12108 | systems/texlive/tlnet/archive/luamplib.r66762.tar.xz 2023/04/05 | 27432 | systems/texlive/tlnet/archive/luamplib.source.r66762.tar.xz +2023/07/25 | 136860 | systems/texlive/tlnet/archive/luanumint.doc.r67725.tar.xz +2023/07/25 | 2260 | systems/texlive/tlnet/archive/luanumint.r67725.tar.xz 2022/10/31 | 32152 | systems/texlive/tlnet/archive/luaoptions.doc.r64870.tar.xz 2022/10/31 | 6052 | systems/texlive/tlnet/archive/luaoptions.r64870.tar.xz 2019/02/28 | 348 | systems/texlive/tlnet/archive/luaotfload.aarch64-linux.r46208.tar.xz @@ -297833,8 +297835,8 @@ 2020/03/04 | 8972 | systems/texlive/tlnet/archive/mslapa.r54080.tar.xz 2021/01/20 | 3064 | systems/texlive/tlnet/archive/ms.r57473.tar.xz 2021/01/20 | 10948 | systems/texlive/tlnet/archive/ms.source.r57473.tar.xz -2023/07/21 | 538508 | systems/texlive/tlnet/archive/msu-thesis.doc.r67682.tar.xz -2023/07/21 | 13212 | systems/texlive/tlnet/archive/msu-thesis.r67682.tar.xz +2023/07/25 | 540036 | systems/texlive/tlnet/archive/msu-thesis.doc.r67723.tar.xz +2023/07/25 | 13236 | systems/texlive/tlnet/archive/msu-thesis.r67723.tar.xz 2019/02/28 | 160144 | systems/texlive/tlnet/archive/mtgreek.doc.r17967.tar.xz 2019/02/28 | 1744 | systems/texlive/tlnet/archive/mtgreek.r17967.tar.xz 2019/02/28 | 2800 | systems/texlive/tlnet/archive/mtgreek.source.r17967.tar.xz @@ -299872,9 +299874,9 @@ 2019/02/28 | 2884 | systems/texlive/tlnet/archive/qobitree.r15878.tar.xz 2019/02/28 | 7044 | systems/texlive/tlnet/archive/qpxqtx.doc.r45797.tar.xz 2019/02/28 | 12932 | systems/texlive/tlnet/archive/qpxqtx.r45797.tar.xz -2023/03/03 | 86352 | systems/texlive/tlnet/archive/qrbill.doc.r66301.tar.xz -2023/03/03 | 23060 | systems/texlive/tlnet/archive/qrbill.r66301.tar.xz -2023/03/03 | 15420 | systems/texlive/tlnet/archive/qrbill.source.r66301.tar.xz +2023/07/25 | 92884 | systems/texlive/tlnet/archive/qrbill.doc.r67724.tar.xz +2023/07/25 | 23148 | systems/texlive/tlnet/archive/qrbill.r67724.tar.xz +2023/07/25 | 16068 | systems/texlive/tlnet/archive/qrbill.source.r67724.tar.xz 2019/02/28 | 245688 | systems/texlive/tlnet/archive/qrcode.doc.r36065.tar.xz 2019/02/28 | 19636 | systems/texlive/tlnet/archive/qrcode.r36065.tar.xz 2019/02/28 | 26296 | systems/texlive/tlnet/archive/qrcode.source.r36065.tar.xz @@ -301484,7 +301486,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/07/24 | 428028 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67710.tar.xz +2023/07/25 | 428040 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67720.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 @@ -301506,7 +301508,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/07/24 | 114016 | systems/texlive/tlnet/archive/texlive-scripts.r67710.tar.xz +2023/07/25 | 114024 | systems/texlive/tlnet/archive/texlive-scripts.r67720.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 @@ -303375,16 +303377,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/03/12 | 125532 | systems/texlive/tlnet/install-tl -2023/07/24 | 5734050 | systems/texlive/tlnet/install-tl-unx.tar.gz -2023/07/24 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2023/07/24 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2023/07/25 | 5737244 | systems/texlive/tlnet/install-tl-unx.tar.gz +2023/07/25 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2023/07/25 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat -2023/07/24 | 21037810 | systems/texlive/tlnet/install-tl-windows.exe -2023/07/24 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2023/07/24 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2023/07/24 | 26025364 | systems/texlive/tlnet/install-tl.zip -2023/07/24 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2023/07/24 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2023/07/25 | 21037775 | systems/texlive/tlnet/install-tl-windows.exe +2023/07/25 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2023/07/25 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2023/07/25 | 26025374 | systems/texlive/tlnet/install-tl.zip +2023/07/25 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2023/07/25 | 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 @@ -303394,7 +303396,7 @@ 2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg 2023/06/25 | 49936 | systems/texlive/tlnet/tlpkg/installer/config.guess 2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt -2023/07/22 | 7228 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2023/07/24 | 7274 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2023/05/31 | 215902 | 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 @@ -303436,12 +303438,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/07/24 | 18162352 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2023/07/24 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2023/07/25 | 18164679 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2023/07/25 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2023/02/20 | 86803 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2023/07/24 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2023/07/24 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2023/07/24 | 2460624 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2023/07/25 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2023/07/25 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2023/07/25 | 2459576 | 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 @@ -314048,7 +314050,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/07/25 | 186 | timestamp +2023/07/26 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz Binary files differindex d3c450d725..065c531ade 100644 --- a/FILES.byname.gz +++ b/FILES.byname.gz diff --git a/FILES.last07days b/FILES.last07days index 6eb06ef51c..156e5ea0e4 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,3 +1,70 @@ +2023/07/25 | 996 | macros/latex/contrib/siunitx/README.md +2023/07/25 | 92884 | systems/texlive/tlnet/archive/qrbill.doc.r67724.tar.xz +2023/07/25 | 9198 | macros/latex/contrib/siunitx/siunitx-symbol.dtx +2023/07/25 | 8866 | macros/latex/contrib/siunitx/siunitx-command.dtx +2023/07/25 | 838 | macros/latex/contrib/fcolumn/makefile +2023/07/25 | 75892 | systems/texlive/tlnet/archive/crefthe.doc.r67721.tar.xz +2023/07/25 | 73491 | macros/latex/contrib/siunitx/CHANGELOG.md +2023/07/25 | 73415 | macros/latex/contrib/fcolumn/fcolumn.dtx +2023/07/25 | 691136 | macros/latex/contrib/siunitx/siunitx.pdf +2023/07/25 | 643576 | macros/latex/contrib/siunitx/siunitx-code.pdf +2023/07/25 | 5737244 | systems/texlive/tlnet/install-tl-unx.tar.gz +2023/07/25 | 5544 | macros/latex/contrib/siunitx/siunitx-locale.dtx +2023/07/25 | 553800 | systems/texlive/tlnet/archive/lastpage.doc.r67722.tar.xz +2023/07/25 | 540760 | macros/latex/contrib/fcolumn.zip +2023/07/25 | 54011 | macros/latex/contrib/siunitx/siunitx-table.dtx +2023/07/25 | 540036 | systems/texlive/tlnet/archive/msu-thesis.doc.r67723.tar.xz +2023/07/25 | 517071 | macros/latex/contrib/fcolumn/fcolumn.pdf +2023/07/25 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2023/07/25 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2023/07/25 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2023/07/25 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2023/07/25 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2023/07/25 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg +2023/07/25 | 4340 | systems/texlive/tlnet/archive/crefthe.r67721.tar.xz +2023/07/25 | 428040 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67720.tar.xz +2023/07/25 | 4264 | systems/texlive/tlnet/archive/lastpage.r67722.tar.xz +2023/07/25 | 4089360 | biblio/ctan-bibdata.zip +2023/07/25 | 38831 | macros/latex/contrib/siunitx/siunitx-complex.dtx +2023/07/25 | 3689053 | biblio/ctan-bibdata/ctan.pdf +2023/07/25 | 3687 | macros/latex/contrib/siunitx/siunitx.ins +2023/07/25 | 36555 | macros/latex/contrib/siunitx/siunitx-print.dtx +2023/07/25 | 34004 | macros/latex/contrib/siunitx/siunitx-compound.dtx +2023/07/25 | 31776 | macros/latex/contrib/siunitx/siunitx-emulation.dtx +2023/07/25 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg +2023/07/25 | 3048 | macros/latex/contrib/fcolumn/README +2023/07/25 | 2951 | macros/latex/contrib/siunitx/siunitx-binary.dtx +2023/07/25 | 2796958 | biblio/ctan-bibdata/ctan.bib +2023/07/25 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty +2023/07/25 | 2636 | macros/latex/contrib/siunitx/siunitx-code.tex +2023/07/25 | 26025374 | systems/texlive/tlnet/install-tl.zip +2023/07/25 | 2459576 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2023/07/25 | 23148 | systems/texlive/tlnet/archive/qrbill.r67724.tar.xz +2023/07/25 | 2260 | systems/texlive/tlnet/archive/luanumint.r67725.tar.xz +2023/07/25 | 2191 | macros/latex/contrib/fcolumn/fcolumn.ins +2023/07/25 | 21746 | macros/latex/contrib/siunitx/siunitx.dtx +2023/07/25 | 21520 | systems/texlive/tlnet/archive/lastpage.source.r67722.tar.xz +2023/07/25 | 21037775 | systems/texlive/tlnet/install-tl-windows.exe +2023/07/25 | 18164679 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2023/07/25 | 17885 | macros/latex/contrib/siunitx/siunitx-angle.dtx +2023/07/25 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg +2023/07/25 | 1688 | systems/texlive/tlnet/archive/collection-mathscience.r67725.tar.xz +2023/07/25 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2023/07/25 | 16068 | systems/texlive/tlnet/archive/qrbill.source.r67724.tar.xz +2023/07/25 | 160366 | macros/latex/contrib/siunitx/siunitx.tex +2023/07/25 | 1567980 | install/macros/latex/contrib/siunitx.tds.zip +2023/07/25 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2023/07/25 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2023/07/25 | 152930 | macros/latex/contrib/siunitx/siunitx-number.dtx +2023/07/25 | 1522456 | macros/latex/contrib/siunitx.zip +2023/07/25 | 15153 | macros/latex/contrib/siunitx/siunitx-quantity.dtx +2023/07/25 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2023/07/25 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2023/07/25 | 136860 | systems/texlive/tlnet/archive/luanumint.doc.r67725.tar.xz +2023/07/25 | 13236 | systems/texlive/tlnet/archive/msu-thesis.r67723.tar.xz +2023/07/25 | 114024 | systems/texlive/tlnet/archive/texlive-scripts.r67720.tar.xz +2023/07/25 | 10931 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx +2023/07/25 | 103395 | macros/latex/contrib/siunitx/siunitx-unit.dtx 2023/07/24 | 99940 | systems/texlive/tlnet/archive/create-theorem.doc.r67712.tar.xz 2023/07/24 | 9981 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex 2023/07/24 | 94656 | systems/texlive/tlnet/archive/lm-math.doc.r67718.tar.xz @@ -11,7 +78,7 @@ 2023/07/24 | 7748408 | systems/texlive/tlnet/archive/tex-gyre.r67718.tar.xz 2023/07/24 | 77136 | systems/texlive/tlnet/archive/yamlvars.doc.r67715.tar.xz 2023/07/24 | 7492 | systems/texlive/tlnet/archive/lutabulartools.r67714.tar.xz -2023/07/24 | 74512 | systems/texlive/tlnet/archive/crefthe.doc.r67713.tar.xz +2023/07/24 | 7274 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2023/07/24 | 70914 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.pdf 2023/07/24 | 6817740 | systems/texlive/tlnet/archive/poltawski.r67718.tar.xz 2023/07/24 | 6771 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex @@ -20,62 +87,42 @@ 2023/07/24 | 594236 | systems/texlive/tlnet/archive/tikz3d-fr.doc.r67718.tar.xz 2023/07/24 | 577190 | macros/latex/contrib/lastpage.zip 2023/07/24 | 57625 | macros/latex/contrib/qrbill/qrbill.dtx -2023/07/24 | 5734050 | systems/texlive/tlnet/install-tl-unx.tar.gz 2023/07/24 | 56970 | macros/latex/contrib/qrbill/qrbill-qrencode.lua 2023/07/24 | 5660 | systems/texlive/tlnet/archive/yamlvars.r67715.tar.xz 2023/07/24 | 563932 | macros/latex/contrib/msu-thesis.zip 2023/07/24 | 5200 | macros/latex/contrib/lastpage/README 2023/07/24 | 492 | systems/texlive/tlnet/archive/tex-virtual-academy-pl.r67718.tar.xz -2023/07/24 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 -2023/07/24 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2023/07/24 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2023/07/24 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2023/07/24 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2023/07/24 | 4695648 | systems/texlive/tlnet/archive/visualfaq-fr.doc.r67718.tar.xz 2023/07/24 | 463 | macros/latex/contrib/qrbill/qrbill-latexluaqrcode.lua 2023/07/24 | 451476 | systems/texlive/tlnet/archive/wordle.doc.r67718.tar.xz 2023/07/24 | 4483 | macros/latex/contrib/crefthe/README.md 2023/07/24 | 439739 | macros/latex/contrib/lastpage/lastpage.pdf -2023/07/24 | 4380 | systems/texlive/tlnet/archive/crefthe.r67713.tar.xz 2023/07/24 | 42958 | macros/latex/contrib/msu-thesis/msu-thesis.cls -2023/07/24 | 428028 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67710.tar.xz 2023/07/24 | 42159 | macros/latex/contrib/msu-thesis/docs/msu-thesis.tex -2023/07/24 | 4086233 | biblio/ctan-bibdata.zip 2023/07/24 | 393 | macros/latex/contrib/msu-thesis/samples/chap2bib.tex 2023/07/24 | 377796 | systems/texlive/tlnet/archive/lm-math.r67718.tar.xz -2023/07/24 | 3687413 | biblio/ctan-bibdata/ctan.pdf 2023/07/24 | 3336 | systems/texlive/tlnet/archive/tikz3d-fr.r67718.tar.xz 2023/07/24 | 3280 | macros/latex/contrib/qrbill/README.md 2023/07/24 | 327 | macros/latex/contrib/msu-thesis/samples/chap4bib.tex 2023/07/24 | 319 | macros/latex/contrib/msu-thesis/samples/chap3bib.tex 2023/07/24 | 2936 | macros/latex/contrib/msu-thesis/README.md 2023/07/24 | 2821672 | systems/texlive/tlnet/archive/simpleicons.r67718.tar.xz -2023/07/24 | 2796546 | biblio/ctan-bibdata/ctan.bib 2023/07/24 | 277 | macros/latex/contrib/msu-thesis/samples/chap1bib.tex 2023/07/24 | 274432 | systems/texlive/tlnet/archive/tikz-nfold.doc.r67718.tar.xz 2023/07/24 | 2708 | systems/texlive/tlnet/archive/wordle.r67718.tar.xz -2023/07/24 | 26025364 | systems/texlive/tlnet/install-tl.zip 2023/07/24 | 251380 | systems/texlive/tlnet/archive/msc.doc.r67718.tar.xz 2023/07/24 | 2511620 | systems/texlive/tlnet/archive/lm.doc.r67718.tar.xz -2023/07/24 | 2460624 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2023/07/24 | 23660 | systems/texlive/tlnet/archive/penlight.doc.r67716.tar.xz 2023/07/24 | 21655 | macros/latex/contrib/crefthe/crefthe.sty 2023/07/24 | 215121 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf -2023/07/24 | 21037810 | systems/texlive/tlnet/install-tl-windows.exe 2023/07/24 | 2067384 | systems/texlive/tlnet/archive/simpleicons.doc.r67718.tar.xz 2023/07/24 | 20168 | systems/texlive/tlnet/archive/msc.r67718.tar.xz 2023/07/24 | 19106 | macros/latex/contrib/crefthe/LICENSE 2023/07/24 | 18837 | macros/latex/contrib/crefthe/crefthe-doc.tex -2023/07/24 | 18162352 | systems/texlive/tlnet/tlpkg/texlive.tlpdb 2023/07/24 | 1814 | macros/luatex/latex/luanumint/README.txt 2023/07/24 | 17827 | CTAN.sites 2023/07/24 | 1738 | macros/latex/contrib/qrbill/qrbill.ins -2023/07/24 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx 2023/07/24 | 159784 | macros/luatex/latex/luanumint/luanumint.pdf -2023/07/24 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2023/07/24 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2023/07/24 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2023/07/24 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 2023/07/24 | 141489 | macros/luatex/latex/luanumint.zip 2023/07/24 | 140567 | install/macros/latex/contrib/qrbill.tds.zip 2023/07/24 | 139889 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-chapterbib-testfile.pdf @@ -86,7 +133,6 @@ 2023/07/24 | 119 | macros/latex/contrib/qrbill/DEPENDS.txt 2023/07/24 | 11944816 | systems/texlive/tlnet/archive/lm.r67718.tar.xz 2023/07/24 | 1153 | macros/latex/contrib/qrbill/qrbill_swiss-cross.pdf -2023/07/24 | 114016 | systems/texlive/tlnet/archive/texlive-scripts.r67710.tar.xz 2023/07/24 | 113842 | macros/latex/contrib/msu-thesis/msu-thesis.pdf 2023/07/24 | 11335 | macros/luatex/latex/luanumint/luanumint.tex 2023/07/24 | 11304 | systems/texlive/tlnet/archive/create-theorem.r67712.tar.xz @@ -124,7 +170,6 @@ 2023/07/22 | 7472568 | systems/texlive/tlnet/archive/inter.r67697.tar.xz 2023/07/22 | 740736 | systems/texlive/tlnet/archive/polyglossia.doc.r67694.tar.xz 2023/07/22 | 73548 | systems/texlive/tlnet/archive/cweb.doc.r67693.tar.xz -2023/07/22 | 7228 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2023/07/22 | 706 | graphics/pgf/contrib/tikz-nfold/README.md 2023/07/22 | 66212 | systems/texlive/tlnet/archive/siunitx.r67695.tar.xz 2023/07/22 | 644 | macros/latex/contrib/esami/doc/examples/problem1.tex @@ -240,7 +285,6 @@ 2023/07/21 | 616264 | systems/texlive/tlnet/archive/nostarch.doc.r67683.tar.xz 2023/07/21 | 599431 | macros/unicodetex/latex/polyglossia.zip 2023/07/21 | 57968 | macros/latex/contrib/esami/doc/esami-doc-it.tex -2023/07/21 | 538508 | systems/texlive/tlnet/archive/msu-thesis.doc.r67682.tar.xz 2023/07/21 | 53683 | macros/latex/contrib/esami/doc/esami-doc-en.tex 2023/07/21 | 5144064 | fonts/simpleicons.zip 2023/07/21 | 49541 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.tex @@ -350,12 +394,10 @@ 2023/07/21 | 175650 | macros/latex/contrib/reledmac/examples/3-reledpar_mwe.pdf 2023/07/21 | 1590940 | systems/texlive/tlnet/archive/euler-math.doc.r67679.tar.xz 2023/07/21 | 15233 | graphics/metapost/contrib/macros/mpchess/metapost/mpchess-skak.mp -2023/07/21 | 1520812 | macros/latex/contrib/siunitx.zip 2023/07/21 | 1501 | fonts/simpleicons/tex/simpleicons.sty 2023/07/21 | 139705 | fonts/inter/doc/inter-samples.pdf 2023/07/21 | 13625992 | macros/latex/contrib/reledmac.zip 2023/07/21 | 134145 | fonts/simpleicons/doc/bindings.tex -2023/07/21 | 13212 | systems/texlive/tlnet/archive/msu-thesis.r67682.tar.xz 2023/07/21 | 131063 | macros/latex/contrib/mitthesis/examples/cover_page_samples/Two_authors_two_degrees.pdf 2023/07/21 | 1309 | graphics/metapost/contrib/macros/mpchess/doc/fond.pdf 2023/07/21 | 1268973 | install/macros/unicodetex/latex/polyglossia.tds.zip @@ -383,56 +425,38 @@ 2023/07/21 | 1046914 | macros/latex/contrib/reledmac/reledpar.pdf 2023/07/21 | 1005336 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-fr.pdf 2023/07/21 | 1000703 | graphics/metapost/contrib/macros/mpchess/doc/mpchess-doc-en.pdf -2023/07/20 | 996 | macros/latex/contrib/siunitx/README.md -2023/07/20 | 9198 | macros/latex/contrib/siunitx/siunitx-symbol.dtx 2023/07/20 | 8977 | fonts/erewhon-math/fourier-otf.sty -2023/07/20 | 8866 | macros/latex/contrib/siunitx/siunitx-command.dtx 2023/07/20 | 820820 | install/macros/latex/contrib/l3build.tds.zip 2023/07/20 | 816929 | macros/latex/contrib/l3build.zip 2023/07/20 | 8065 | macros/latex/contrib/l3build/l3build-variables.lua 2023/07/20 | 7805 | macros/latex/contrib/l3build/l3build-arguments.lua 2023/07/20 | 744371 | macros/latex/contrib/l3build/l3build.pdf 2023/07/20 | 7408 | fonts/erewhon-math/README.md -2023/07/20 | 73211 | macros/latex/contrib/siunitx/CHANGELOG.md 2023/07/20 | 7206 | macros/latex/contrib/l3build/l3build-manifest.lua 2023/07/20 | 69809693 | support/texshop/texshop515.zip -2023/07/20 | 691136 | macros/latex/contrib/siunitx/siunitx.pdf 2023/07/20 | 6878 | fonts/xcharter-math/xcharter-otf.sty 2023/07/20 | 6762 | macros/latex/contrib/l3build/l3build.lua -2023/07/20 | 642405 | macros/latex/contrib/siunitx/siunitx-code.pdf 2023/07/20 | 6313 | macros/latex/contrib/l3build/l3build-aux.lua 2023/07/20 | 6020 | macros/latex/contrib/l3build/l3build-typesetting.lua -2023/07/20 | 5544 | macros/latex/contrib/siunitx/siunitx-locale.dtx 2023/07/20 | 5540 | fonts/concmath-otf/concmath-otf.sty -2023/07/20 | 54011 | macros/latex/contrib/siunitx/siunitx-table.dtx 2023/07/20 | 4972 | macros/latex/contrib/l3build/l3build-ctan.lua 2023/07/20 | 482492 | fonts/euler-math/Euler-Math.otf 2023/07/20 | 4767 | fonts/euler-math/euler-math.sty -2023/07/20 | 4748 | macros/latex/contrib/siunitx/siunitx-abbreviations.cfg 2023/07/20 | 4338 | macros/latex/contrib/l3build/l3build-stdmain.lua 2023/07/20 | 4167 | macros/luatex/latex/luaplot/luaplot.sty 2023/07/20 | 4150 | macros/latex/contrib/l3build/l3build-zip.lua 2023/07/20 | 4149 | fonts/concmath-otf/README.md 2023/07/20 | 410 | fonts/euler-math/neo-euler.sty -2023/07/20 | 38831 | macros/latex/contrib/siunitx/siunitx-complex.dtx 2023/07/20 | 378036 | fonts/erewhon-math/Erewhon-Math.otf 2023/07/20 | 37064 | macros/latex/contrib/l3build/l3build-check.lua -2023/07/20 | 3687 | macros/latex/contrib/siunitx/siunitx.ins -2023/07/20 | 36052 | macros/latex/contrib/siunitx/siunitx-print.dtx 2023/07/20 | 3604 | fonts/xcharter-math/README.md 2023/07/20 | 3429 | fonts/euler-math/README.md -2023/07/20 | 33867 | macros/latex/contrib/siunitx/siunitx-compound.dtx 2023/07/20 | 326404 | fonts/xcharter-math/XCharter-Math.otf -2023/07/20 | 31776 | macros/latex/contrib/siunitx/siunitx-emulation.dtx -2023/07/20 | 31738 | macros/latex/contrib/siunitx/siunitx-version-1.cfg 2023/07/20 | 30829 | fonts/erewhon-math/Erewhon-Math.ltx 2023/07/20 | 306827 | macros/latex/contrib/reledmac/reledpar.dtx 2023/07/20 | 301024 | fonts/concmath-otf/Concrete-Math.otf -2023/07/20 | 2951 | macros/latex/contrib/siunitx/siunitx-binary.dtx 2023/07/20 | 2745 | macros/latex/contrib/l3build/l3build-unpack.lua -2023/07/20 | 273398 | macros/latex/contrib/siunitx/siunitx-v2.sty 2023/07/20 | 26783 | fonts/xcharter-math/XCharter-Math.ltx -2023/07/20 | 2636 | macros/latex/contrib/siunitx/siunitx-code.tex 2023/07/20 | 2473 | macros/latex/contrib/l3build/l3build-help.lua 2023/07/20 | 244880 | systems/texlive/tlnet/archive/rouequestions.doc.r67670.tar.xz 2023/07/20 | 2382514 | fonts/erewhon-math.zip @@ -440,7 +464,6 @@ 2023/07/20 | 2285 | macros/latex/contrib/l3build/l3build-tagging.lua 2023/07/20 | 22514 | fonts/concmath-otf/concmath-otf.ltx 2023/07/20 | 221310 | fonts/erewhon-math/Erewhon-Math.pdf -2023/07/20 | 21746 | macros/latex/contrib/siunitx/siunitx.dtx 2023/07/20 | 2157953 | fonts/concmath-otf.zip 2023/07/20 | 2149 | macros/latex/contrib/l3build/l3build-clean.lua 2023/07/20 | 20648 | macros/latex/contrib/l3build/CHANGELOG.md @@ -451,9 +474,7 @@ 2023/07/20 | 1847909 | fonts/erewhon-math/unimath-erewhon.pdf 2023/07/20 | 1844313 | fonts/concmath-otf/unimath-concrete.pdf 2023/07/20 | 1816 | macros/latex/contrib/l3build/l3build.1 -2023/07/20 | 17885 | macros/latex/contrib/siunitx/siunitx-angle.dtx 2023/07/20 | 17797 | fonts/euler-math/Euler-Math.ltx -2023/07/20 | 1729 | macros/latex/contrib/siunitx/siunitx-binary.cfg 2023/07/20 | 1718 | macros/latex/contrib/reledmac/makefile 2023/07/20 | 17127 | fonts/xcharter-math/unimath-xcharter.ltx 2023/07/20 | 16947 | fonts/erewhon-math/unimath-erewhon.ltx @@ -462,11 +483,7 @@ 2023/07/20 | 168173 | fonts/concmath-otf/concmath-otf.pdf 2023/07/20 | 164783 | fonts/euler-math/Euler-Math.pdf 2023/07/20 | 1608 | macros/luatex/latex/luaplot/README.txt -2023/07/20 | 160366 | macros/latex/contrib/siunitx/siunitx.tex -2023/07/20 | 1566330 | install/macros/latex/contrib/siunitx.tds.zip 2023/07/20 | 1540 | macros/latex/contrib/l3build/l3build.ins -2023/07/20 | 153028 | macros/latex/contrib/siunitx/siunitx-number.dtx -2023/07/20 | 15153 | macros/latex/contrib/siunitx/siunitx-quantity.dtx 2023/07/20 | 151288 | fonts/erewhon-math/Erewhon-Math-Bold.otf 2023/07/20 | 1497504 | fonts/euler-math/unimath-euler.pdf 2023/07/20 | 147672 | macros/luatex/latex/luaplot/luaplot.pdf @@ -477,9 +494,7 @@ 2023/07/20 | 12469 | macros/latex/contrib/l3build/l3build-file-functions.lua 2023/07/20 | 112740 | macros/latex/contrib/l3build/l3build.dtx 2023/07/20 | 11070 | macros/latex/contrib/l3build/l3build-install.lua -2023/07/20 | 10931 | macros/latex/contrib/siunitx/siunitx-abbreviation.dtx 2023/07/20 | 10786 | macros/latex/contrib/l3build/l3build-manifest-setup.lua -2023/07/20 | 103395 | macros/latex/contrib/siunitx/siunitx-unit.dtx 2023/07/20 | 1019 | macros/latex/contrib/l3build/README.md 2023/07/19 | 8976 | systems/texlive/tlnet/archive/tensor.source.r67667.tar.xz 2023/07/19 | 85652 | systems/texlive/tlnet/archive/nicematrix.source.r67665.tar.xz @@ -499,20 +514,3 @@ 2023/07/19 | 1219 | macros/latex/contrib/nostarch/README 2023/07/19 | 11169 | graphics/pgf/contrib/rouequestions/doc/RoueQuestionsDoc.tex 2023/07/19 | 102126 | macros/latex/contrib/nostarch/nostarch.dtx -2023/07/18 | 93108 | systems/texlive/tlnet/archive/bxjscls.source.r67657.tar.xz -2023/07/18 | 73061 | macros/latex/contrib/recorder-fingering/recorder-fingering-RecorderInCchart.png -2023/07/18 | 643 | macros/latex/contrib/recorder-fingering/recorder-fingering.bib -2023/07/18 | 454 | macros/latex/contrib/recorder-fingering/README.md -2023/07/18 | 3497960 | systems/texlive/tlnet/archive/rit-fonts.r67659.tar.xz -2023/07/18 | 34740 | systems/texlive/tlnet/archive/bxjscls.r67657.tar.xz -2023/07/18 | 337718 | macros/latex/contrib/tensor.zip -2023/07/18 | 311272 | systems/texlive/tlnet/archive/rit-fonts.doc.r67659.tar.xz -2023/07/18 | 26975 | macros/latex/contrib/recorder-fingering/recorder-fingering.sty -2023/07/18 | 26581 | macros/latex/contrib/tensor/tensor.dtx -2023/07/18 | 2011 | macros/latex/contrib/tensor/tensor.ins -2023/07/18 | 2000 | systems/texlive/tlnet/archive/collection-fontsextra.r67659.tar.xz -2023/07/18 | 185274 | macros/latex/contrib/recorder-fingering.zip -2023/07/18 | 18260 | macros/latex/contrib/recorder-fingering/recorder-fingering.tex -2023/07/18 | 1283184 | systems/texlive/tlnet/archive/bxjscls.doc.r67657.tar.xz -2023/07/18 | 115853734 | macros/context/latest/cont-tmf.zip -2023/07/18 | 108036 | macros/latex/contrib/recorder-fingering/recorder-fingering.pdf diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib index eca9606e51..569cdbd65f 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 25-07-2023, 02:03:39 +%% created at 26-07-2023, 02:00:54 %% %% This file is provided under the terms of the LPPL v1.3 or @@ -24647,8 +24647,8 @@ title = {The \texttt{fcolumn} package}, subtitle = {Typesetting financial tables}, author = {Edgar Olthof}, - date = {2022-02-01}, - version = {1.4.1}, + date = {2023-07-25}, + version = {1.4.2}, license = {lppl1.3}, mirror = {https://mirror.ctan.org/macros/latex/contrib/fcolumn}, url = {https://ctan.org/pkg/fcolumn}, @@ -41541,7 +41541,7 @@ title = {The \texttt{luanumint} package}, subtitle = {Numerical integration using Lua inside \LaTeX{} documents}, author = {{Chetan Shirore and Ajit Kumar}}, - date = {2023-07-24}, + date = {2023-07-25}, version = {1.0}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/luatex/latex/luanumint}, @@ -62551,8 +62551,8 @@ title = {The \texttt{siunitx} package}, subtitle = {A comprehensive (SI) units package}, author = {Joseph Wright}, - date = {2023-07-21}, - version = {3.2.7}, + date = {2023-07-25}, + version = {3.2.8}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/siunitx}, url = {https://ctan.org/pkg/siunitx}, diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf Binary files differindex 9841fed4bb..8cf04c4921 100644 --- a/biblio/ctan-bibdata/ctan.pdf +++ b/biblio/ctan-bibdata/ctan.pdf diff --git a/macros/latex/contrib/fcolumn/README b/macros/latex/contrib/fcolumn/README index 2e9980d6a2..a195ad4949 100644 --- a/macros/latex/contrib/fcolumn/README +++ b/macros/latex/contrib/fcolumn/README @@ -16,7 +16,7 @@ is using 3,2 as #3, meaning that numbers are typeset with 2 decimal digits and grouping is done on 3 digits. The grouping character is ``.'' and the decimal separator is ``,'', thereby coding for the continental European standard. People in the Anglo-Saxon world would -rather code |\newcolumntype{f}{F{,}{.}{3,2}{}}|. +rather code |\newcolumntype{f}{F,.{3,2}{}}|. To show where and how the f-column is used, let's look at a typical financial table. @@ -40,7 +40,7 @@ cash & 145,85 & profit & 27542,62 \\ \end{tabular} The column specifier ``f'' (for ``finance'') is able to do the -typesetting. It constructs the sum line, typesets the numbers, +typesetting. It constructs the sumline, typesets the numbers, calculates the totals, makes rules of the correct widths, and checks whether the two columns are in balance; if not, the user is warned via a message. A special command \resetsumline exists @@ -53,9 +53,9 @@ fcolumn.pdf. To install: ----------- -Run the file fcolumn.ins through (La)TeX (in a directory also -containing fcolumn.dtx) or type ``make install'' and move the -resultant file fcolumn.sty to a place searched by TeX. +Type ``make install'' or run the file fcolumn.ins through +(La)TeX (in a directory also containing fcolumn.dtx) and move +the resultant file fcolumn.sty to a place searched by TeX. To generate the documentation: ------------------------------ diff --git a/macros/latex/contrib/fcolumn/fcolumn.dtx b/macros/latex/contrib/fcolumn/fcolumn.dtx index 0aef28889c..53dbfcbabe 100644 --- a/macros/latex/contrib/fcolumn/fcolumn.dtx +++ b/macros/latex/contrib/fcolumn/fcolumn.dtx @@ -1,5 +1,5 @@ % \iffalse meta-comment -% Copyright (C) 2015--2022 by Edgar Olthof +% Copyright (C) 2015--2023 by Edgar Olthof % % This file may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -14,7 +14,7 @@ % \fi % \iffalse %<package>\ProvidesPackage{fcolumn} -%<package> [2022/02/01 v1.4.1 Automatic Currency Package (EHTO)] +%<package> [2023/07/25 v1.4.2 Automatic Currency Package (EHTO)] %<package>\NeedsTeXFormat{LaTeX2e} %<package>\RequirePackage{array}[v2.4k] %<*driver> @@ -24,245 +24,278 @@ \usepackage{fcolumn} \usepackage{booktabs} \usepackage[tableposition=top,aboveskip=0pt]{caption} -\DeclareCaptionStyle{normal}{labelfont={rm,bf,small},textfont={rm,small},% +\DeclareCaptionStyle{normal}{labelfont={rm,bf,small},textfont={rm,small}, indention=0pt,labelsep=colon,justification=raggedright} \captionsetup[table]{style=normal} \captionsetup{singlelinecheck=false} \usepackage{paralist} \usepackage{url} -\usepackage[hyperfootnotes=false,hidelinks]{hyperref} \usepackage{eurosym} \usepackage{color} +\usepackage[hang,symbol*]{footmisc} +\usepackage[hidelinks]{hyperref} \EnableCrossrefs \CodelineIndex \begin{document} \DocInput{fcolumn.dtx} \end{document} %</driver> -% \fi -% \RecordChanges -% \CheckSum{1200} -% \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 \~} +%\fi +%\RecordChanges +%\CheckSum{1224} +%\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 \~} % -% \changes{v0.1}{2015/02/06}{First working version.} -% \changes{v1.0}{2015/03/07}{Three-argument version is working properly.} -% \changes{v1.1}{2015/09/14}{Automatic checking of column balance performed when number of -% F-columns is even (behaviour can be overridden). Empty entries are now recognised and -% correctly treated as such, except for the one ended by the double backslash. Not serious; -% workaround possible. Furthermore optimisation of code: minimised the number of private -% counts and resetting of column counter done in a nicer way.} -% \changes{v1.1.1}{2015/09/27}{Installation procedure changed from .ins-in-.dtx to separate -% .ins and .dtx after discussion with Karl Berry as well as some minor code improvements.} -% \changes{v1.1.2}{2015/09/29}{Some inconsistencies between explanatory text and actual -% code removed.} -% \changes{v1.2}{2019/03/06}{Input parsing changed after comment from Frank -% Mittelbach. He (Frank) also gave various suggestions for improving robustness -% or user friendlyness of this package. This version is only backwards compatible -% when zero decimal digits were and are specified as modifier.} -% \changes{v1.3}{2021/01/03}{Christian Hoff requested the possibility to provide extra formatting -% information to a column, e.g., colouring. That was implemented by having an extra parameter -% to the generic F-column. The current solution is not very robust, as font and/or size change -% in math environment are very tricky, but providing colour information works, see the example -% in the main text. This version is now compatible with package longtable. Version~1.3 is -% backwards compatible to~1.2: it only adds functionality.} -% \changes{v1.4}{2021/11/21}{More robust version on the extra formatting information: alternative -% formatting after the comma (if any), instead of additional information. Corrected a few typos.} -% \changes{v1.4.1}{2022/01/31}{Definition needed for longtable only if that package is loaded. -% General update, streamlining code. Excess digits silently ignored when all zero.} -% \GetFileInfo{fcolumn.sty} -% \DoNotIndex{\@@endpbox,\@@startpbox,\@acol,\@arstrut,\@arstrutbox,\@classiv,\@classz,\@depth} -% \DoNotIndex{\@firstampfalse,\@firstamptrue,\@gobble,\@halignto,\@height,\@mkpream,\@ne,\@nextchar} -% \DoNotIndex{\@preamble,\@sharp,\@tempdima,\@tempswafalse,\@tempswatrue,\@\temptokena,\@tfor} -% \DoNotIndex{\@whilesw,\@width,\advance,\arraystretch,\baselineskip,\begingroup,\bgroup,\count} -% \DoNotIndex{\count@,\cr,\csname,\def,\divide,\do,\dp,\edef,\egroup,\hfil,\hline,\ht,\if,\if@firstamp} -% \DoNotIndex{\if@tempswa,\ifcase,\kill,\lineskip,\LT@@hl,\LT@@tabarray,\LT@bchunk,\LT@caption,\LT@endpbox} -% \DoNotIndex{\LT@hline,\LT@kill,\LT@LL@FM@cr,\LT@make@row,\LT@mcol,\LT@no@pgbk,\LT@nofcols,\LT@rows} -% \DoNotIndex{\LT@setprevdepth,\LT@startpbox,\LT@tabularcr,\LTleft,\LTright,\loop,\m@ne,\m@th,\message} -% \DoNotIndex{\multiply,\or,\par,\prepnext@tok,\protect,\refstepcounter,\repeat,\setbox,\space,\string} -% \DoNotIndex{\strutbox,\tabskip,\tabularnewline,\the,\the@toks,\thr@@,\tw@,\unhbox,\vbox,\vcenter,\vrule} -% \DoNotIndex{\vskip,\vtop,\wd,\xdef,\z@,\z@skip} -% \title{The \textsf{fcolumn} package\thanks{This file has version number \fileversion, last -% revised \filedate.}} -% \author{Edgar Olthof\\ -% \texttt{edgar <dot> olthof <at> inter <dot> nl <dot> net}} -% \date{Printed \today} -% \maketitle -% \begin{abstract} -% In financial reports, text and currency amounts are regularly put in -% one table, e.g., a year balance or a profit-and-loss overview. This -% package provides the settings for automatically typesetting and checking -% such columns, including the sum line (preceded by a rule of the correct -% width), using the specifier |f|. -% \end{abstract} +%\changes{v0.1}{2015/02/06}{First working version.} +%\changes{v1.0}{2015/03/07}{Three-argument version is working properly.} +%\changes{v1.1}{2015/09/14}{Automatic checking of column balance performed when number of +% F-columns is even (behaviour can be overridden). Empty entries are now recognised and +% correctly treated as such, except for the one ended by the double backslash. Not serious; +% workaround possible. Furthermore optimisation of code: minimised the number of private +% counts and resetting of column counter done in a nicer way.} +%\changes{v1.1.1}{2015/09/27}{Installation procedure changed from .ins-in-.dtx to separate +% .ins and .dtx after discussion with Karl Berry, as well as some minor code improvements.} +%\changes{v1.1.2}{2015/09/29}{Some inconsistencies between explanatory text and actual +% code removed.} +%\changes{v1.2}{2019/03/06}{Input parsing changed after comment from Frank +% Mittelbach. He (Frank) also gave various suggestions for improving robustness +% or user friendliness of this package. This version is only backwards compatible +% when zero decimal digits were and are specified as modifier.} +%\changes{v1.3}{2021/01/03}{Christian Hoff requested the possibility to provide extra formatting +% information to a column, e.g., colouring. That was implemented by having an extra parameter +% to the generic F-column. The current solution is not very robust, as font and/or size change +% in math environment are very tricky, but providing colour information works, see the example +% in the main text. This version is now compatible with package longtable and backwards +% compatible to fcolumn v1.2: it only adds functionality.} +%\changes{v1.4}{2021/11/21}{More robust version on the extra formatting information: alternative +% formatting after the comma (if any), instead of additional information. Corrected a few typos.} +%\changes{v1.4.1}{2022/02/01}{Definition needed for longtable only if that package is loaded. +% General update, streamlining code. Excess digits silently ignored when all zero.} +%\changes{v1.4.2}{2023/07/25}{Better documentation. Removed redundant endgroup/begingroup +% pairs and other small improvements. Unbalanced columns are reported by stating their +% difference. Implementation of option ``red''. No changes in user experience.} +%\GetFileInfo{fcolumn.sty} +%\DoNotIndex{\@@endpbox,\@@startpbox,\@acol,\@arstrut,\@arstrutbox,\@classiv,\@classz,\@depth} +%\DoNotIndex{\@endpbox,\@firstampfalse,\@firstamptrue,\@gobble,\@halignto,\@height,\@mkpream} +%\DoNotIndex{\@ne,\@nextchar,\@preamble,\@sharp,\@startpbox,\@tabacol,\@tabarray,\@tabclassiv} +%\DoNotIndex{\@tabclassz,\@tempdima,\@tempswafalse,\@tempswatrue,\@\temptokena,\@tfor,\@whilesw} +%\DoNotIndex{\@width,\advance,\arraystretch,\baselineskip,\bgroup,\break,\count,\count@,\cr} +%\DoNotIndex{\def,\divide,\do,\dp,\edef,\else,\egroup,\fi,\global,\hfil,\hline,\ht,\hsize} +%\DoNotIndex{\if,\if@firstamp,\if@tempswa,\ifcase,\ifdim,\ifnum,\ifodd,\ifx,\kill,\lineskip} +%\DoNotIndex{\LT@@hl,\LT@@tabarray,\LT@bchunk,\LT@caption,\LT@endpbox,\LT@hline,\LT@kill} +%\DoNotIndex{\LT@LL@FM@cr,\LT@make@row,\LT@mcol,\LT@no@pgbk,\LT@nofcols,\LT@rows,\LT@setprevdepth} +%\DoNotIndex{\LT@startpbox,\LT@tabularcr,\LTleft,\LTright,\let,\loop,\m@ne,\m@th,\message} +%\DoNotIndex{\multiply,\newpage,\nopagebreak,\or,\pagebreak,\par,\prepnext@tok,\protect} +%\DoNotIndex{\refstepcounter,\relax,\repeat,\rlap,\setbox,\space,\stepcounter,\string} +%\DoNotIndex{\strutbox,\tabcolsep,\tabskip,\tabularnewline,\the,\the@toks,\thr@@,\tw@} +%\DoNotIndex{\unhbox,\vbox,\vcenter,\vrule,\vskip,\vtop,\wd,\xdef,\z@,\z@skip} +%\title{The \textsf{fcolumn} package\thanks{This file has version number~\fileversion, +%last revised~\filedate.}} +%\author{Edgar Olthof\\ +%\texttt{edgar <dot> olthof <at> inter <dot> nl <dot> net}} +%\date{Printed \today} +%\maketitle +%\begin{abstract} +%\noindent In financial reports, text and currency amounts are regularly put in +%one table, e.g., a year balance or a profit-and-loss overview. This +%package provides the settings for automatically typesetting and checking +%such columns, including the sum line (preceded by a rule of the correct +%width), using the specifier |f|. +%\end{abstract} % -% \section{Introduction}\label{intro} -% The package |fcolumn| provides the macros for an extra tabular specifier -% that makes creating financial tables easy. The column specifier |f| -% itself is rather simple; it is the predefined version of a generic -% column |F|. The generic version expects four arguments: 1)~grouping -% character of the integer part on output, 2)~decimal mark used on output, -% 3)~compact additional information on input/output characteristics, and -% 4)~anything, but primarily used for providing formatting information, see below. +%\section{Introduction}\label{intro} +%The package |fcolumn| provides the macros for an extra tabular specifier +%that makes creating financial tables easy. The column specifier~|f| +%itself is rather simple; it is the predefined version of a generic +%column~|F|. The generic version expects four arguments: 1)~grouping +%character of the integer part on output, 2)~decimal mark used on output, +%3)~compact additional information on input/output characteristics, and +%4)~anything, but primarily used for providing formatting information, see below. % -% The f-column in the current version of the package is defined for the -% continental European standard: |\newcolumntype{f}{F{.}{,}{3,2}{}}|. This -% means that a number like 12345,67 will be typeset as $12{.}345{,}67$. -% People in the Anglo-Saxon world would rather code -% |\newcolumntype{f}{F{,}{.}{3,2}{}}| for the same input, yielding -% $12{,}345{.}67$ as output for the number given above. The default -% value for |#3| is |3,2|, indicating that grouping of the integer -% part is by three digits, that a comma is used in the \TeX-source to -% indicate the decimal mark, and that the decimal part consists of -% two digits. However, if in your country or company grouping is done -% with a thinspace every four digits, that the decimal mark in the -% source should be the character |p|, and there are three digits after -% the decimal mark---that happens to be a |\cdot|---, then simply specify -% |\newcolumntype{f}{F{\,}{\cdot}{4p3}{}}| in that case. The input could -% be 123456p78 then, yielding $12{\,}3456{\cdot}780$ as output. +%The f-column in the current version of the package is defined for the +%continental European standard: |\newcolumntype{f}{F.,{3,2}{}}|. This +%means that a number like 12345,67 will be typeset as $12{.}345{,}67$. +%People in the Anglo-Saxon world would rather code +%|\newcolumntype{f}{F,.{3,2}{}}| for the same input, yielding +%$12{,}345{.}67$ as output for the number given above. The default +%value for |#3| is |3,2|, indicating that grouping of the integer +%part is by three digits, that a comma is used in the \TeX-source to +%indicate the decimal mark, and that the decimal part consists of +%two digits. However, if in your country or company grouping is done +%with a thinspace every four digits, that the decimal mark in the +%source should be the character |p|, and there are three digits after +%the decimal mark---that happens to be a |\cdot|---, then simply specify +%|\newcolumntype{f}{F{\,}{\cdot}{4p3}{}}| in that case. The input could +%be 123456p78 then, yielding $12{\,}3456{\cdot}780$ as output. % -% By default two digits are used for the decimal part, so if you really -% want no decimal digits (in that case of course also skipping the decimal -% mark) you have to explicitly specify |x,0|. If you want no grouping -% character, specify |0,x|. +%By default two digits are used for the decimal part, so if you really +%want no decimal digits (in that case of course also skipping the decimal +%mark) you have to explicitly specify~|x,0|. If you want no grouping +%character, specify~|0,x|. % -% As the fourth parameter you can insert anything just before the typesetting -% of an amount in a column takes place. Its purpose is to add additional -% formatting information, e.g., |\color{red}| to have the contents of a column -% coloured red, but it can be misused, so use with care. And it can't do all! +%As the fourth parameter you can insert anything just before the typesetting +%of an amount in a column takes place. Its purpose is to add additional +%formatting information, e.g., |\color{blue}| to have the contents of a column +%coloured blue, but it can be misused, so use with care. And it can't do all! % -% This package requires and loads the |array| package~\cite{array}. To -% show where and how the |F|-column is used, let's look at some typical -% financial information as shown in Table~\ref{tab:ex1} -% \begin{table}[htb] -% \caption{Example Table.} -% \label{tab:ex1} -% \begin{tabular}{@{}lflf@{}} -% \multicolumn4c{\bfseries Balance sheet}\\ -% \toprule -% properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\ -% \midrule -% house & 200000 & equity capital & 50000 \\ -% bank account & -603,23 & mortgage & 150000 \\ -% savings & 28000 \\ -% cash & 145,85 & profit & 27542,62 \\ -% \sumline -% \bottomrule -% \end{tabular} -% \end{table} -% and how this is entered in \LaTeX\ (Table~\ref{tab:ex2}). -% \begin{table}[htb] -% \caption{Verbatim version of Example Table~\ref{tab:ex1}.} -% \label{tab:ex2} -% \begin{verbatim} +%\floatsep=5pt plus 2pt minus 3pt +%\textfloatsep=5pt plus 2pt minus 3pt +%\renewcommand{\bottomfraction}{0.9} +%\renewcommand{\textfraction}{0.1} %\begin{table}[htb] -%\caption{Example Table.} -%\label{tab:ex1} +%\caption{Example Table.} \label{tab:ex1} %\begin{tabular}{@{}lflf@{}} -%\multicolumn4c{\bfseries Balance sheet}\\ +%\multicolumn4{@{}c@{}}{\bfseries Balance sheet}\\ %\toprule %properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\ %\midrule -%house & 200000 & equity capital & 50000 \\ -%bank account & -603,23 & mortgage & 150000 \\ -%savings & 28000 \\ -%cash & 145,85 & profit & 27542,62 \\ +%house & 200000 & equity capital & 50000 \\ +%bank account & -603,23 & mortgage & 150000 \\ +%savings & 28000 \\ +%cash & 145,85 & profit & 27542,62 \\ +%\sumline +%\bottomrule +%\end{tabular} +%\end{table} +%This package requires and loads the |array| package~\cite{array}. To +%show where and how the |F|-column is used, let's look at some typical +%financial information as shown in Table~\ref{tab:ex1} +%and how this is entered in \LaTeX\ (Table~\ref{tab:ex2}). +%\begin{table}[htb] +%\caption{Verbatim version of Example Table~\ref{tab:ex1}.} +%\label{tab:ex2} \topsep0pt +%\begin{verbatim} +%\begin{table}[htb] +%\caption{Example Table.} \label{tab:ex1} +%\begin{tabular}{@{}lflf@{}} +%\multicolumn4{@{}c@{}}{\bfseries Balance sheet}\\ +%\toprule +%properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\ +%\midrule +%house & 200000 & equity capital & 50000 \\ +%bank account & -603,23 & mortgage & 150000 \\ +%savings & 28000 \\ +%cash & 145,85 & profit & 27542,62 \\ %\sumline %\bottomrule %\end{tabular} %\end{table} -% \end{verbatim} -% \end{table} -% All the work was done by the column specifier ``f'' (for ``finance''). -% In this case it constructs the |\sumline|, typesets the numbers, -% calculates the totals, determines the widths of the sumrules, and checks -% whether the two columns are in balance; if not, the user is warned via a -% |\PackageWarning|. Of course for nice settings the |booktabs| -% package~\cite{booktabs} was used, but that is not the point here. +%\end{verbatim} +%\end{table} +%All the work was done by the column specifier~|f| (for ``finance''). +%In this case it constructs the |\sumline|, typesets the numbers, +%calculates the totals, determines the widths of the sumrules, and checks +%whether the two columns are in balance; if not, the user is warned via a +%|\PackageWarning|. Of course for nice settings the |booktabs| +%package~\cite{booktabs} was used, but that is not the point here. % -% This package is heavily inspired by the |dcolumn| package by -% David Carlisle~\cite{dcolumn}; some constructions are more or less -% copied from that package. From version~1.3 onwards it incorporates the idea -% of Christian Hoff of providing additional (formatting) information per column. -% A rather contrived example is given in Table~\ref{tab:ex3}, combining colour and fonts. -% \newcolumntype{q}[1]{F{.}{,}{3,2}{#1}} -% \begin{table}[htb] -% \caption{Example Table with column formatting.} -% \label{tab:ex3} -% \begin{tabular}{@{}lq{\color{red}\mathsf,\mathbf}lq{\color{green}}@{}} -% \multicolumn4c{\bfseries Balance sheet}\\ -% \toprule -% properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\ -% \midrule -% house & 200000 & equity capital & 50000 \\ -% bank account & -603,23 & mortgage & 150000 \\ -% savings & 28000 \\ -% cash & 145,85 & profit & 27542,62 \\ -% \sumline -% \bottomrule -% \end{tabular} -% \end{table} -% How this is entered in \LaTeX\ is shown in Table~\ref{tab:ex4}. -% \begin{table}[htb] -% \caption{Almost verbatim version of Example Table~\ref{tab:ex3}.} -% \label{tab:ex4} -% \begin{verbatim} -%\newcolumntype{q}[1]{F{.}{,}{3,2}{#1}} +%This package is heavily inspired by the |dcolumn| package by +%David Carlisle~\cite{dcolumn}; some constructions are more or less +%copied from that package. From version~1.3 onwards it incorporates the idea +%of Christian Hoff of providing additional (formatting) information per column. +%A rather contrived example is given in Table~\ref{tab:ex3}, combining colour and fonts. +%\newcolumntype{q}[1]{F.,{3,2}{#1}} +%\begin{table}[htb] +%\caption{Example Table with column formatting.} \label{tab:ex3} +%\begin{tabular}{@{}lq{\color{blue}\mathsf,\mathbf}lq{\color{magenta}}@{}} +%\multicolumn4{@{}c@{}}{\bfseries Balance sheet}\\ +%\toprule +%properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\ +%\midrule +%house & 200000 & equity capital & 50000 \\ +%bank account & -603,23 & mortgage & 150000 \\ +%savings & 28000 \\ +%cash & 145,85 & profit & 27542,62 \\ +%\sumline +%\bottomrule +%\end{tabular} +%\end{table} +%How this is entered in \LaTeX\ is shown in Table~\ref{tab:ex4}. The font changing commands +%like |\mathsf| and |\mathbf| act on an argument, hence require braces, +%but these are already provided internally for this purpose. For that reason this +%type of commands must be given last, without braces (and if you don't specify a font +%changing command, these extra internal braces are just redundant). The fourth argument to the +%\begin{table}[htb] +%\caption{Almost verbatim version of Example Table~\ref{tab:ex3}.} +%\label{tab:ex4} \topsep0pt +%\begin{verbatim} +%\newcolumntype{q}[1]{F.,{3,2}{#1}} %\begin{table}[htb] -%\caption{Example Table with column formatting.} -%\label{tab:ex3} -%\begin{tabular}{@{}lq{\color{red}\mathsf,\mathbf}lq{\color{green}}@{}} -%\multicolumn4c{\bfseries Balance sheet}\\ +%\caption{Example Table with column formatting.} \label{tab:ex3} +%\begin{tabular}{@{}lq{\color{blue}\mathsf,\mathbf}lq{\color{magenta}}@{}} +%\multicolumn4{@{}c@{}}{\bfseries Balance sheet}\\ %... %... (Same financial contents as in Table 1.) %... %\end{tabular} %\end{table} -% \end{verbatim} -% \end{table} -% The font changing commands like |\mathsf| and |\mathbf| act on an argument, hence require -% braces, but these are already provided internally for this purpose. For that reason this -% type of commands must be given last, without braces (and if you don't specify a font -% changing command, these extra internal braces are just redundant). The fourth argument to the -% new columntype may consist of two parts, separated by a comma. In that case, the part to -% the left of the comma is applied to the data entered by the user and the right part -% is applied to the result. The example in Table~\ref{tab:ex3} shows this: the bold font -% is only used in the |\sumline| and there is no colour specification, so that's back to -% the default (black). If you want formatting for the whole column, like green colour as -% in the last column of Table~\ref{tab:ex3}, leave out the comma. +%\end{verbatim} +%\end{table} +%new columntype may consist of two parts, separated by a comma. In that case, the part to +%the left of the comma is applied to the data entered by the user and the right part, if +%non-empty, is the replacement formatting for the result. The example in Table~\ref{tab:ex3} +%shows this: the bold font is only used in the |\sumline| and there is no colour specification, +%so that's back to the default (black). If you want formatting for the whole column, like magenta +%in the case of the last column of Table~\ref{tab:ex3}, leave out the comma. +%Font size changes, e.g., ``|\huge|'' in ``|\huge\mathbf|'' +%as parameter to column type |q| are ignored by \LaTeX, since the formatting +%information is used in math environment, which has its own way of handling this. +%This isn't bad, as size changes in one column, without overall changes to the +%table look terrible. If you want something huge, make a |\huge| table. % -% Note that changes in font size, e.g., ``|\huge|'' in ``|\huge\color{red}\mathbf|'' -% as parameter to column type |q| are ignored by \LaTeX, since the formatting -% information is used in math environment, which has its own way of handling this. -% This isn't bad, as size changes in one column, without overall changes to the -% table look terrible. If you want something huge, make a |\huge| table. -% -% This package now also works with |longtable|~\cite{longtable}, provided -% |longtable| is loaded before |fcolumn|; it checks for that. For a change, -% the raw formatting of the multipage table is shown first, in Table~\ref{tab:ex5}. -% For more information on how to handle |\endhead| and related commands, see the -% documentation of |longtable|~\cite{longtable}. -% \begin{table}[htb] -% \caption{Almost verbatim version of Example Table~\ref{tab:ex6}.} -% \label{tab:ex5} -% \begin{verbatim} %\begin{longtable}[l]{@{}lflf@{}} -%\caption{\label{tab:ex6}Table showing compatibility of fcolumn and +%\caption{\label{tab:ex5}Table showing compatibility of fcolumn and +% longtable.}\\ +%\multicolumn4{@{}c@{}}{\bfseries Balance sheet}\\ +%\toprule +%properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\ +%\midrule +%\endfirsthead +%\caption[]{\textit{(continued from previous page)\/}}\\ +%\toprule +%properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\ +%\midrule +%\endhead +%\bottomrule +%\multicolumn4{@{}r@{}}{\small\textit{(Table continues on next page)\/}}\\ +%\endfoot +%\bottomrule +%\endlastfoot +%house & 200000 & equity capital & 50000 \\ +%bank account & -603,23 & mortgage & 150000 \\ +%savings 1 & 7000 \\ +%savings 2 & 7000 \\ +%savings 3 & 7000 \\ +%savings 4 & 7000 \\ +%cash & 145,85 & profit & 27542,62 \\ +%\sumline +%\end{longtable} +%As is demonstrated in the preceding page break, the package |fcolumn| now also works +%with |longtable|~\cite{longtable}, provided |longtable| is loaded +%before~|fcolumn|; it checks +%for that. The raw formatting of the multipage table +%is shown in Table~\ref{tab:ex6}. +%\begin{table}[htb] +%\caption{Almost verbatim version of Example Table~\ref{tab:ex5}.} +%\label{tab:ex6} \topsep0pt +%\begin{verbatim} +%\begin{longtable}[l]{@{}lflf@{}} +%\caption{\label{tab:ex5}Table showing compatibility of fcolumn and % longtable.}\\ -%\multicolumn4c{\bfseries Balance sheet}\\ +%\multicolumn4{@{}c@{}}{\bfseries Balance sheet}\\ %\toprule %properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\ %\midrule @@ -273,307 +306,306 @@ indention=0pt,labelsep=colon,justification=raggedright} %\midrule %\endhead %\bottomrule -%\multicolumn4{r@{}}{\small\textit{(Table continues on next page)\/}}\\ +%\multicolumn4{@{}r@{}}{\small\textit{(Table continues on next page)\/}}\\ %\endfoot %\bottomrule %\endlastfoot -%house & 200000 & equity capital & 50000 \\ +%house & 200000 & equity capital & 50000 \\ %... %... (Somewhat altered financial contents compared to %... Table 1 to demonstrate the page break.) %... %\sumline %\end{longtable} -% \end{verbatim} -% \end{table} +%\end{verbatim} +%\end{table} +%For more information on how to handle |\endhead| and its ilk, see the +%documentation of |longtable|~\cite{longtable}. Not shown here are the new |fcolumn| +%formatting possibilities (like new fonts and/or colours), but it has been +%checked they do work in combination with |longtable|. |fcolumn| also works happily +%together with |supertabular|~\cite{supertabular}, so you can choose which package you +%want if you need this. There is no race condition with |supertabular|: you can load +%it before or after |fcolumn|. % -% \noindent And here is the result (it's ugly, but it had to be this long to -% demonstrate the page break). Not shown here are the new |fcolumn| -% formatting possibilities (like new fonts and/or colours), but it has been -% checked they do work in combination with |longtable|. -% \begin{longtable}[l]{@{}lflf@{}} -% \caption{\label{tab:ex6}Table showing compatibility of fcolumn and -% longtable.}\\ -% \multicolumn4c{\bfseries Balance sheet}\\ -% \toprule -% properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\ -% \midrule -% \endfirsthead -% \caption[]{\textit{(continued from previous page)\/}}\\ -% \toprule -% properties & \leeg{31 dec 2014} & debts & \leeg{31 dec 2014}\\ -% \midrule -% \endhead -% \bottomrule -% \multicolumn4{r@{}}{\small\textit{(Table continues on next page)\/}}\\ -% \endfoot -% \bottomrule -% \endlastfoot -% house & 200000 & equity capital & 50000 \\ -% bank account & -603,23 & mortgage & 150000 \\ -% savings 1 & 4000 \\ -% savings 2 & 4000 \\ -% savings 3 & 4000 \\ -% savings 4 & 4000 \\ -% savings 5 & 4000 \\ -% savings 6 & 4000 \\ -% savings 7 & 4000 \\ -% cash & 145,85 & profit & 27542,62 \\ -% \sumline -% \end{longtable} -% \section{Commands} -% The user only needs to know six commands or constructions. These six are given here. -% \begin{macro}{F} -% In the tabular the column specifier |F| can be given with arguments, or -% the predefined version~|f|, where the four arguments of |F| are |{.}|, -% |{,}|, |{3,2}|, and |{}|. If you want |g| to be your own definition like the -% curious one given in Section~\ref{intro}, then specify -% |\newcolumntype{g}{F{\,}{\cdot}{4p3}{}}| prior to using |g| in a tabular. -% -% Entries in an F-column are, from that moment on, treated as numbers unless -% explicitly escaped by |\leeg|, see below. The numbers are typeset -% according to the template the user gives with his/her |F|-column. -% The ``middle'' character of |#3| is an important switch: it does more -% than just setting the input decimal mark. By default the input grouping -% character is the dot, except when the dot is specified as input decimal -% mark; in that case the comma is acting as input grouping character. With -% this convention continental Europe and the Anglo-Saxon part of the world -% is served. And using input grouping markers is optional anyway. -% \end{macro} -% \begin{macro}{\sumline} -% The numbers in an |F|-column are typeset as a financial amount, but the real -% benefit comes with the |\sumline|. It does three things: -% \begin{compactenum}[1)] -% \item It calculates the total of the column so far and the maximum width -% encountered so far, including the width of the total; -% \item It generates a rule with width calculated in the first item; -% \item It checks the columns that are supposed to balance whether or not they -% actually do. If so, nothing happens. If not, a |\PackageWarning| is given -% that column~$i$ and~$j$ do not balance, where $i$ and $j$ are the relevant -% columns. This is only done if the total number of |F|-columns is even, -% e.g., if there are six |F|-columns, then~1 is checked against~4, 2 against~5, -% and 3 against~6. If the number of |F|-columns is odd then anything could be -% possible in that table and nothing is assumed about structure within the -% table. This behaviour can be overridden, see below. -% \end{compactenum} -% By default the vertical separation between the rule and the total is -% 2\thinspace pt, but this can be changed by the optional argument to -% |\sumline|. Give, e.g., |\sumline[10pt]|, in case you want this spacing -% to be 10\thinspace pt. And you may even give two options, like in -% |\sumline[10pt][5pt]|, in which the second option is the extra space below -% the summary row. In fact that second option is parsed to |\\|, that is -% implicit in |\sumline|. -% \end{macro} -% \begin{macro}{\resetsumline} -% Suppose you want to typeset one tabular with the profit-and-loss of many -% projects individually. The layout of those tabulars is the same and it -% were nice if all columns were aligned. This can be done by making it one -% big tabular with a fresh start for each project. The macro -% |\resetsumline| is used for that: it resets all totals and all column -% widths, see for example Table~\ref{tab:ex7}. -% \begin{table}[htb] -% \caption{Example: multiple projects.} -% \label{tab:ex7} -% \begin{tabular}{@{}lfflff@{}} -% \multicolumn6c{\bfseries Project~1}\\ -% \toprule -% expense & \leeg{actual} & \leeg{budget} & -% income & \leeg{actual} & \leeg{budget} \\ -% \midrule -% food & 450,20 & 500 & tickets & 1200 & 1000 \\ -% drinks & 547,5 & 400 \\ -% music & 180 & 100 \\ -% profit & 22,3 \\ -% \sumline -% \resetsumline -% \multicolumn6c{\bfseries Project~2}\\ -% \toprule -% expense & \leeg{actual} & \leeg{budget} & -% income & \leeg{actual} & \leeg{budget} \\ -% \midrule -% food & 250 & 300 & tickets & 400 & 450 \\ -% drinks & 100 & 80 \\ -% music & 80 & 70 & loss & 30 \\ -% \sumline -% \bottomrule -% \end{tabular} -% \end{table} -% Note that the rules in the first and third |F|-columns of project~1 cover -% $1{.}200{,}00$ whereas in project~2 those rules are narrower since they -% only cover $430{,}00$; still the columns are aligned. The verbatim way -% of setting up Table~\ref{tab:ex7} is given in Table~\ref{tab:ex8}. -% \begin{table}[htb] -% \caption{Verbatim version of Table~\ref{tab:ex7}.} -% \label{tab:ex8} -% \begin{verbatim} +%Unlike in the package |dcolumn|~\cite{dcolumn}, the alignment on the decimal mark in +%|fcolumn| is achieved by right aligning numbers that all have the same number of +%digits to the right of this mark, in combination with the fact that all decimal glyphs +%have the same width\footnote{No common font is known in which this is not the case, but +%exceptions may exist.}. This width is font specific, so changing fonts within a table +%may ruin the alignment, see e.g., the first |F|-column in Table~\ref{tab:ex3}. +%\section{Commands} +%The user only needs to know six commands or constructions. These six are given here. +%\begin{macro}{F} +%In the tabular the column specifier |F| can be given with arguments, or +%the predefined version~|f|, where the four arguments of |F| are |{.}|, +%|{,}|, |{3,2}|, and |{}|. If you want |g| to be your own definition like the +%curious one given in Section~\ref{intro}, then specify +%|\newcolumntype{g}{F{\,}{\cdot}{4p3}{}}| prior to using |g| in a tabular. +% +%Entries in an |F|-column are, from that moment on, treated as numbers unless +%explicitly escaped by |\leeg|, see below. The numbers are typeset +%according to the template the user gives with his/her |F|-column. +%The ``middle'' character of |#3| is an important switch: it does more +%than just setting the input decimal mark. By default the input grouping +%character is the dot, except when the dot is specified as input decimal +%mark; in that case the comma is acting as input grouping character. With +%this convention continental Europe and the Anglo-Saxon part of the world +%are served. This is hard coded, but using input grouping markers is optional anyway. +%\end{macro} +%\begin{macro}{\sumline} +%The numbers in an |F|-column are typeset as a financial amount, but the real +%benefit comes with the |\sumline|. It does three things: +%\begin{compactenum}[1)] +%\item It calculates and shows the total of the column so far and the maximum +%width encountered so far, including the width of the total; +%\item It generates a rule with width calculated in the first item; +%\item It checks the columns that are supposed to balance whether or not they +%actually do. If so, nothing happens. Otherwise a |\PackageWarning| is given +%that column~$i$ and~$j$ do not balance, where $i$ and $j$ are the relevant +%columns. This is only done if the total number of |F|-columns is even, +%e.g., if there are six |F|-columns, then~1 is checked against~4, 2 against~5, +%and 3 against~6. If the number of |F|-columns is odd then anything could be +%possible in that table and nothing is assumed about structure within the +%table. This behaviour can be overridden, see below. +%\end{compactenum} +%By default the vertical separation between the rule and the total is +%2\thinspace pt, but this can be changed by the optional argument to +%|\sumline|. Give, e.g., |\sumline[10pt]|, in case you want this spacing +%to be 10\thinspace pt. And you may even give two options, like in +%|\sumline[10pt][5pt]|, in which the second option is the extra space below +%the summary row. In fact that second option is parsed to |\\|, that is +%implicit in |\sumline|. +%\end{macro} +%\begin{macro}{\resetsumline} +%Suppose you want to typeset one tabular with the profit-and-loss of many +%projects individually. In case the layout of those tabulars is similar it +%were nice if all columns were aligned. This can be done by making it one +%big tabular with a fresh start for each project. The macro |\resetsumline| +%is used for that: it resets all totals and all column widths, see for example +%Table~\ref{tab:ex7}. %\begin{table}[htb] -%\caption{Example: multiple projects.} -%\label{tab:ex3} +%\caption{Example: multiple projects.} \label{tab:ex7} %\begin{tabular}{@{}lfflff@{}} -%\multicolumn6c{\bfseries Project~1}\\ +%\multicolumn6{@{}c@{}}{\bfseries Project~1}\\ +%\toprule +%expense & \leeg{actual} & \leeg{budget} & +%income & \leeg{actual} & \leeg{budget} \\ +%\midrule +%food & 450,20 & 500 & tickets & 1200 & 1000 \\ +%drinks & 547,5 & 400 \\ +%music & 180 & 100 \\ +%profit & 22,3 \\ +%\sumline[2pt][10pt] +%\resetsumline +%\multicolumn6{@{}c@{}}{\bfseries Project~2}\\ %\toprule %expense & \leeg{actual} & \leeg{budget} & %income & \leeg{actual} & \leeg{budget} \\ %\midrule -%food & 450,2 & 500 & tickets & 1200 & 1000 \\ -%drinks & 547,5 & 400 \\ -%music & 180 & 100 \\ -%profit & 22,3 \\ +%food & 250 & 300 & tickets & 400 & 450 \\ +%drinks & 100 & 80 \\ +%music & 80 & 70 & loss & 30 \\ %\sumline +%\bottomrule +%\end{tabular} +%\end{table} +%Note that the rules in the first and third |F|-columns of Project~1 cover +%$1{.}200{,}00$ whereas in Project~2 those rules are narrower since they +%only cover $430{,}00$; still the columns are aligned (similar story for +%|F|-columns two and four). The verbatim way of setting up Table~\ref{tab:ex7} +%is given in Table~\ref{tab:ex8}. +%\begin{table}[htb] +%\caption{Verbatim version of Table~\ref{tab:ex7}.} +%\label{tab:ex8} \topsep0pt +%\begin{verbatim} +%\begin{table}[htb] +%\caption{Example: multiple projects.} \label{tab:ex7} +%\begin{tabular}{@{}lfflff@{}} +%\multicolumn6{@{}c@{}}{\bfseries Project~1}\\ +%expense & \leeg{actual} & \leeg{budget} & +%income & \leeg{actual} & \leeg{budget} \\ +%\midrule +%food & 450,20 & 500 & tickets & 1200 & 1000 \\ +%drinks & 547,5 & 400 \\ +%music & 180 & 100 \\ +%profit & 22,3 \\ +%\sumline[2pt][10pt] %\resetsumline -%\multicolumn6c{\bfseries Project~2}\\ +%\multicolumn6{@{}c@{}}{\bfseries Project~2}\\ %\toprule %expense & \leeg{actual} & \leeg{budget} & -%income & \leeg{actual} & \leeg{budget} \\ +%income & \leeg{actual} & \leeg{budget} \\ %\midrule -%food & 250 & 300 & tickets & 400 & 450 \\ -%drinks & 100 & 80 \\ -%music & 80 & 70 & loss & 30 \\ +%food & 250 & 300 & tickets & 400 & 450 \\ +%drinks & 100 & 80 \\ +%music & 80 & 70 & loss & 30 \\ %\sumline %\bottomrule %\end{tabular} %\end{table} -% \end{verbatim} -% \end{table} -% \end{macro} -% \begin{macro}{\leeg} -% If an |F|-column should be empty then simply leave it empty. If however -% it should not be empty but the entry should be treated as text---even -% if it is a number---, this can be done with |\leeg|. It expects an -% argument and this argument is typeset in the column. The common case is -% where |p.m.| (\textit{pro memoria}) is entered. In contrast to v1.1.2 -% of this package, now even an empty |F|-column followed by |\\| is allowed. -% \end{macro} -% \begin{macro}{\checkfcolumns} -% The automatic column balance check can also be done manually. If -% |F|-columns~1 and~4 should balance and you want them to be checked, -% then simply say |\checkfcolumns14|. With more than nine |F|-columns -% you may be forced to say something like |\checkfcolumns{10}{12}|. If -% |\checkfcolumns| is used, the automatic check is disabled. Multiple -% |\checkfcolumns|s are supported; if |F|-columns~1, 2, and~3 should -% balance, you specify |\checkfcolumns12| and |\checkfcolumns23|. -% There is no explicit command to disable all checking, but -% |\checkfcolumns11| obviously does the trick. -% \end{macro} -% \begin{macro}{\ifstrict@ccounting} -% In the rare occasion that a negative number occurs in a financial table, -% the sign of that number can be an explicit minus sign~($-$) or the number -% is coloured red, or it is typeset between parentheses, and there may be -% even other ways. By default (for aesthetic reasons) |fcolumn| typesets -% it with a minus~sign, but strict accounting prescibes that the number -% should be put between parentheses. The latter can be accomplished by -% setting |\strict@ccountingtrue|, but since this contains a non-letter, -% it is also possible to invoke |fcolumn| with the option |strict|, i.e., -% |\usepackage[strict]{fcolumn}|, which sets this flag. -% \end{macro} -% \StopEventually{\PrintChanges\PrintIndex} -% \section{The macros} -% Here follows the actual code. -% \subsection{Option} -% \begin{macro}{option strict} -% There is one option. If set, strict accounting rules are used in display. -% \begin{macrocode} +%\end{verbatim} +%\end{table} +%\end{macro} +%\begin{macro}{\leeg} +%If an |F|-column should be empty then simply leave it empty. If however +%it should not be empty but the entry should be treated as text---even +%if it is a number---, this can be done with |\leeg|. It expects an +%argument and this argument is typeset in the column. The common case is +%where |p.m.| (\textit{pro memoria}) is entered. In contrast to v1.1.2 +%of this package, now even an empty |F|-column followed by |\\| is allowed. +%\end{macro} +%\begin{macro}{\checkfcolumns} +%The automatic column balance check can also be done manually. If +%|F|-columns~1 and~4 should balance and you want them to be checked, +%then simply say |\checkfcolumns14|. With more than nine |F|-columns +%you may be forced to say something like |\checkfcolumns{10}{12}|. If +%|\checkfcolumns| is used, the automatic check is disabled. Multiple +%|\checkfcolumns|s are supported; if |F|-columns~1, 2, and~3 should +%balance, you specify |\checkfcolumns12| and |\checkfcolumns23|. +%There is no explicit command to disable all checking, but +%|\checkfcolumns11| obviously does the trick at the expense of +%some trivial calculations. +%\end{macro} +%\begin{macro}{\ifstrict@ccounting} +%\begin{macro}{\ifminusr@d} +%In the rare occasion that a negative number occurs in a financial table, +%the sign of that number can be an explicit minus sign, i.e.,~`$-$' or the +%number is coloured red, or it is typeset between parentheses, and there +%may be even other ways. By default (for aesthetic reasons) |fcolumn| +%typesets it with a minus~sign, but strict accounting prescribes that the +%number should be put between parentheses. The latter can be accomplished +%by setting |\strict@ccountingtrue|, but since this contains a non-letter, +%it is also possible to invoke |fcolumn| with the option |strict|, i.e., +%|\usepackage[strict]{fcolumn}|, which sets this flag. If you want the +%negative numbers to be coloured red, use the option |red|, i.e., +%|\usepackage[red]{fcolumn}|, but note that |strict| and |red| +%are mutually exclusive: if both are used, |red| is reset because +%|strict| is strict. +%\end{macro} +%\end{macro} +%\StopEventually{\PrintChanges\PrintIndex} +%\section{The macros} +%Here follows the actual code. +%\subsection{Options} +%\begin{macro}{option red} +%\begin{macro}{option strict} +%There are two options. If |red| is set, negative numbers are displayed in red. +%If |strict| is set, strict accounting rules are used in display and this overrules +%a possibly set |red|. Depending on the two booleans associated with these options +%the |color| package~\cite{color} will be loaded or not. +% \begin{macrocode} +\newif\ifminusr@d \minusr@dfalse \newif\ifstrict@ccounting \strict@ccountingfalse +\DeclareOption{red}{\minusr@dtrue} \DeclareOption{strict}{\strict@ccountingtrue} -\ProcessOptions +\ProcessOptions \ifminusr@d \ifstrict@ccounting \minusr@dfalse +\PackageWarningNoLine{fcolumn}{Option `red' is reset due to use + of `strict'}\else\usepackage{color}\fi\fi % \end{macrocode} -% \end{macro} +%\end{macro} +%\end{macro} %\subsection{Definitions} -% \begin{macro}{column F} -% \begin{macro}{column f} -% The column specifier |F| is the generic one, and |f| is the default -% (continental European) one for easy use. Note that the definition of the -% column type |f| does not use private macros (no~|@|), so overriding its -% definition is easy for a user. +%\begin{macro}{column F} +%\begin{macro}{column f} +%The column specifier |F| is the generic one, and |f| is the default +%(continental European) one for easy use. Note that the definition of the +%column type |f| does not use private macros (no~|@|), so overriding its +%definition is easy for a user. % \begin{macrocode} \newcolumntype{F}[4]{>{\b@fi{#1}{#2}{#3}{#4}}r<{\e@fi}} -\newcolumntype{f}{F{.}{,}{3,2}{}} -% \end{macrocode} -% \end{macro} -% \end{macro} -% \begin{macro}{\FCsc@l} -% \begin{macro}{\FCtc@l} -% Two \meta{count}s are defined, that both start at zero: the \meta{count} -% |\FCsc@l|, that keeps track at which F-column the tabular is working on -% and the \meta{count} |\FCtc@l|, that records the number of F-columns -% that were encountered so far. Later in the package the code can be -% found for generating a new \meta{count} and a new \meta{dimen} if the -% number of requested |F|-columns is larger than currently available. -% This is of course the case when an |F|-column is used for the first time. +\newcolumntype{f}{F.,{3,2}{}} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\FCsc@l} +%\begin{macro}{\FCtc@l} +%Two \meta{count}s are defined, that both start at zero: the \meta{count} +%|\FCsc@l|, that keeps track at which |F|-column the tabular is working on +%and the \meta{count} |\FCtc@l|, that records the number of |F|-columns +%that were encountered so far. Later in the package the code can be +%found for generating a new \meta{count} and a new \meta{dimen} if the +%number of requested |F|-columns is larger than currently available. +%This is of course the case when an |F|-column is used for the first time. % \begin{macrocode} \newcount\FCsc@l \FCsc@l=0 \newcount\FCtc@l \FCtc@l=0 % \end{macrocode} -% \end{macro} -% \end{macro} -% \begin{macro}{\geldm@cro} -% The macro |\geldm@cro| takes a number and by default interprets this as -% an amount expressed in cents (dollar cents, euro cents, centen, Pfennige, -% centimes, kopecks, groszy) and typesets it as the amount in entire -% currency units (dollars, euros, guldens, Marke, francs, rubles, z\l oty) -% with comma as decimal mark and the dot as grouping character -% (thousand separator if the first part of |#1| is~3). -% As explained, this can be changed. It uses two private booleans: -% |\withs@p| and |\strict@ccounting|. The latter is used to typeset -% negative numbers between parentheses. By default it doesn't do this: -% a minus sign is used. +%\end{macro} +%\end{macro} +%\begin{macro}{\geldm@cro} +%The macro |\geldm@cro| takes a number and by default interprets this as +%an amount expressed in cents (dollar cents, euro cents, centen, Pfennige, +%centimes, kopecks, groszy) and typesets it as the amount in entire +%currency units (dollars, euros, guldens, Marke, francs, rubles, z\l oty) +%with comma as decimal mark and the dot as grouping character +%(thousand separator if the first part of |#1| is~3). +%As explained, this can be changed. It uses three private booleans: +%|\ifwiths@p|, |\ifstrict@ccounting|, and |\ifminusr@d|. The latter two +%are used to typeset negative numbers in a special way. By default it +%doesn't do this: a minus sign is used. % \begin{macrocode} \newif\ifwiths@p % \end{macrocode} -% Actually |\geldm@cro| is only a wrapper around |\g@ldm@cro|. +%Actually |\geldm@cro| is only a wrapper around |\g@ldm@cro|. % \begin{macrocode} \def\geldm@cro#1#2{\withs@pfalse \afterassignment\g@ldm@cro\count@#1\relax{#2}} % \end{macrocode} -% \end{macro} -% \begin{macro}{\g@ldm@cro} -% After setting the environment for formatting, this macro starts by looking -% at the sign of |#2|: if it is negative, it prints -% the correct indicator (a parenthesis or a minus sign), assigns the absolute value -% of~|#2| to |\count2| and goes on. Note that |\geldm@cro| and therefore |\g@ldm@cro| -% are always used within |$|s, so it is really a minus sign that is printed, not a hyphen. -% All calculations are done with |\count0|, |\count1|, etc.\ i.e., without |F|-column-specific -% \meta{count}s because it is all done locally. Leaving the tabular environment will -% restore their values. This is also true for the effect of |\FCform@t|, so that -% formatting information is local to this column. The reason for inserting the |{| -% between |\FCform@t| and |\ifnum| (and the accompanying |}| just before finishing -% this definition) is to facilitate the possible use of |\mathbf| or any other font -% changing command as the last item in |\FCform@t|. -% \begin{macrocode} -\def\g@ldm@cro#1\relax#2{\FCform@t{\ifnum#2<0 \ifstrict@ccounting - (\else -\fi \count2=-#2 \else\count2=#2 \fi -% \end{macrocode} -% Calculate the entire currency units: this is the result of $x/a$ as integer -% division, with $a=10^n$ and $n$ the part of |#1| after the separator (if any). -% Here the first character of |#1| is discarded, so the separator in |#1| is not strict: -% you could also specify |3.2| instead of |3,2| (or even |3p2|). -% \begin{macrocode} -\count4=\ifx\relax#1\relax 2 \else \@gobble#1\relax\fi +%\end{macro} +%\begin{macro}{\g@ldm@cro} +%After setting the environment for formatting, this macro starts by looking +%at the sign of |#2|: if it is negative, it prints +%the correct indicator (a parenthesis or a minus sign), assigns the absolute value +%of~|#2| to |\count2| and goes on. Note that |\geldm@cro| and therefore |\g@ldm@cro| +%are always used within |$|s, so it is really a minus sign that is printed, not a hyphen. +%All calculations are done with |\count0|, |\count1|, etc.\ i.e., without |F|-column-specific +%\meta{count}s because it is all done locally. Leaving the tabular environment will +%restore their values. This is also true for the effect of |\FCform@t|, so that +%formatting information is local to this column. The reason for inserting the |{| +%between |\FCform@t| and |\ifnum| (and the accompanying |}| just before finishing +%this definition) is to facilitate the possible use of |\mathbf| or any other font +%changing command as the last item in |\FCform@t|. +% +%When |\FCform@t| includes a colour change, this is overruled for negative numbers +%when option |red| is set. For that reason it is unwise to use a red colour for the +%whole column in combination with the option |red|: sign information is obscured then. +% \begin{macrocode} +\def\g@ldm@cro#1\relax#2{\ifstrict@ccounting\def\bm@nus{(} + \def\em@nus{)}\else\def\em@nus{}\ifminusr@d\def\bm@nus{\color{red}} + \else\def\bm@nus{-}\fi\fi\FCform@t{\ifnum#2<0 \bm@nus\count2=-#2 + \else\count2=#2 \fi +% \end{macrocode} +%Calculate the entire currency units: this is the result of $x/a$ as integer +%division, with $a=10^n$ and $n$ the part of |#1| after the separator (if any). +%Here the first character of |#1| is discarded, so the separator in |#1| is not strict: +%you could also specify |3.2| instead of |3,2| (or even |3p2|). +% \begin{macrocode} +\count4=\ifx\relax#1\relax 2 \else\@gobble#1\relax\fi \count3=0 \loop\ifnum\count3<\count4 \divide\count2 by 10 \advance\count3 by \@ne \repeat % \end{macrocode} -% Note that |\count3| now equals |\count4|: this going up-and-down will be used more often, -% it saves several assignments. The value in |\count2| is then output by |\g@ldens| using -% the separation given (and stored in |\count@|). +%Note that |\count3| now equals |\count4|: this going up-and-down will be used more often, +%it saves several assignments. The value in |\count2| is then output by |\g@ldens| using +%the separation given (and stored in |\count@|). % \begin{macrocode} \g@ldens{\the\count@}% % \end{macrocode} -% If there is a decimal part\dots +%If there is a decimal part\dots % \begin{macrocode} -\ifnum\count3>0\decim@lmark +\ifnum\count3>0 {\decim@lmark} % \end{macrocode} -% Next the decimal part is dealt with. Now $x\bmod a$ is calculated in the -% usual way: $x-(x/a)*a$ with integer division. The minus sign necessary -% for this calculation is introduced in the next line by changing the -% comparison from |<| to |>|. +%Next the decimal part is dealt with. Now $x\bmod a$ is calculated in the +%usual way: $x-(x/a)*a$ with integer division. The minus sign necessary +%for this calculation is introduced in the next line by changing the +%comparison from |<| to |>|. % \begin{macrocode} \ifnum#2>0 \count2=-#2\else\count2=#2 \fi \loop\ifnum\count3>0 \divide\count2 by 10 \advance\count3 by \m@ne \repeat % \end{macrocode} -% The value of |\count3| is now~0, so counting up again. +%The value of |\count3| is now~0, so counting up again. % \begin{macrocode} \loop\ifnum\count3<\count4 \multiply\count2 by 10 \advance\count3 by \@ne @@ -584,62 +616,52 @@ indention=0pt,labelsep=colon,justification=raggedright} \zerop@d{\number\count3}{\number\count2}% \fi % \end{macrocode} -% If the negative number is indicated by putting it between parentheses, -% then the closing parenthesis should stick out of the column, otherwise -% the alignment of this entry in the column is wrong. This is done by an -% |\rlap| and therefore does not influence the column width. For the last -% column this means that this parenthesis may even stick out of the table. -% I don't like this, therefore I chose to put |\strict@ccountingfalse|. -% Change if you like, by setting the option |strict|. -% -% If overflow was detected, an exclamation mark is output to the right of -% the value that caused this. This of course ruins the appearance of the -% table, but in this case that serves a clear goal: there's something wrong -% and you should know. +%If the negative number is indicated by putting it between parentheses, +%then the closing parenthesis should stick out of the column, otherwise +%the alignment of this entry in the column is wrong. This is done by an +%|\rlap| and therefore does not influence the column width. For the last +%column this means that this parenthesis may even stick out of the table. +%I don't like this, therefore I chose to put |\strict@ccountingfalse|. +%Change if you like, by setting the option |strict|. +% +%If overflow was detected, an exclamation mark is output to the right of +%the value that caused this. This of course ruins the appearance of the +%table, but in this case that serves a clear goal: there's something wrong +%and you should know. % \begin{macrocode} -\ifx\FCs@gn\m@ne \ifnum#2<0 \ifstrict@ccounting - \rlap{)~!}\else\rlap{~!}\fi\else\ifstrict@ccounting - \rlap{\phantom{)}~!}\else\rlap{~!}\fi\fi -\else \ifnum#2<0 \ifstrict@ccounting\rlap{)}\fi\fi -\fi}} +\ifx\FCs@gn\m@ne\ifnum#2<0 \rlap{\em@nus~!} + \else\rlap{\phantom{\em@nus}~!}\fi +\else\ifnum#2<0 \rlap{\em@nus}\fi\fi}} % \end{macrocode} % \end{macro} -% \begin{macro}{\g@ldens} -% Here the whole currency units are dealt with. The macro |\g@ldens| is -% used recursively, therefore the double braces; this allows to use -% |\count0| locally. This also implies that tail recursion is not -% possible here, but that is not very important, as the largest number -% (which is $2^{31}-1$) will only cause a threefold recursion using the -% default |3,2| (ninefold when using~|1,0|, but who does that?). The -% largest amount this package can deal with is therefore 2.147.483.647 -% (using |3,0|). For most people this is probably more than enough if -% the currency is euros or dollars. And otherwise make clear that you -% use a currency unit of~k\EUR{} (or even M\EUR{} for the very rich). -% The author is thinking of ways to use two counters for each number. -% The maximum then becomes $2^{63}-1$. Even expressed in cents this -% would lead to a maximum of slightly more than 92.2\thinspace P\EUR{}; -% about 100 times the current world economy~\cite{world_economy}. Yet -% another method is to use Heiko Oberdiek's package |bigintcalc|: -% then only memory restrictions apply. This, however, would require -% a major rewrite of |fcolumn|. +%\begin{macro}{\g@ldens} +%Here the whole currency units are dealt with. The macro |\g@ldens| is +%used recursively, therefore the double braces; this allows to use +%|\count0| locally. This also implies that tail recursion is not +%possible here, but that is not very important, as the largest number +%(which is $2^{31}-1$) will only cause a threefold recursion using the +%default |3,2| (ninefold when using~|1,0|, but who does that?). The +%largest amount this package can deal with is therefore 2.147.483.647 +%(using |3,0|). For most people this is probably more than enough if +%the currency is euros or dollars. And otherwise clearly state that you +%use a currency unit of~k\EUR{} (or even M\EUR{} for the very rich). % -% There is no straightforward interpretation of |#1| being zero or -% negative, therefore this is used as an indicator that no grouping -% character should be used. +%There is no obvious interpretation of |#1| being zero or negative, +%therefore this is used as an indicator that no grouping character should be used. % \begin{macrocode} \def\g@ldens#1{{\count3=\count2 \count0=#1 % \end{macrocode} -% First divide by $10^n$, where $n$ is |#1|. +%First divide by $10^n$, where $n$ is |#1|. % \begin{macrocode} \ifnum\count0<1 \count0=3 \fi \loop \ifnum\count0>0 \divide\count2 by 10 \advance\count0 by \m@ne \repeat % \end{macrocode} -% Here is the recursive part, +%Here is the recursive part, % \begin{macrocode} \ifnum\count2>0 \g@ldens{#1}\fi % \end{macrocode} -% and then reconstruct the rest of the number. +%and then reconstruct the rest of the number. % \begin{macrocode} \count0=#1 \ifnum\count0<1 \count0=3 \fi @@ -648,38 +670,38 @@ indention=0pt,labelsep=colon,justification=raggedright} \count2=-\count2 \advance\count2 by \count3 \du@zendprint{#1}}} % \end{macrocode} -% \end{macro} -% \begin{macro}{\du@zendprint} -% The macro |\du@zendprint| takes care for correctly printing the separator -% and possible trailing zeros. The former, however, is only done if |#1| -% is larger than zero. +%\end{macro} +%\begin{macro}{\du@zendprint} +%The macro |\du@zendprint| takes care for correctly printing the separator +%and possible trailing zeros. The former, however, is only done if |#1| +%is larger than zero. % \begin{macrocode} -\def\du@zendprint#1{\ifwiths@p\ifnum#1>0 \sep@rator\fi +\def\du@zendprint#1{\ifwiths@p\ifnum#1>0 {\sep@rator}\fi \zerop@d{#1}{\number\count2}% \else\zerop@d1{\number\count2}\fi\global\withs@ptrue} % \end{macrocode} -% \end{macro} -% \begin{macro}{\zerop@d} -% The macro |\zerop@d| uses at least |#1| digits for printing the -% number |#2|, padding with zeros when necessary. Note: |#1| being -% zero or negative is a flag that it should be interpreted as 3. -% A bit ugly, but it works, since the related code knows about this. +%\end{macro} +%\begin{macro}{\zerop@d} +%The macro |\zerop@d| uses at least |#1| digits for printing the +%number |#2|, padding with zeros when necessary. Note: |#1| being +%zero or negative is a flag that it should be interpreted as 3. +%A bit ugly, but it works, since the related code knows about this. % -% It is done within an extra pair of braces, so that |\count0| -% and |\count1| can be used without disturbing their values in other macros. +%It is done within an extra pair of braces, so that |\count0| +%and |\count1| can be used without disturbing their values in other macros. % \begin{macrocode} \def\zerop@d#1#2{{\count0=1 \count1=#2 % \end{macrocode} -% First determine the number of digits of |#2| (expressed in the decimal -% system). This number is in |\count0| and is at least~1. +%First determine the number of digits of |#2| (expressed in the decimal +%system). This number is in |\count0| and is at least~1. % \begin{macrocode} \loop \divide \count1 by 10 \ifnum\count1>0 \advance\count0 by \@ne \repeat % \end{macrocode} -% If |#1| is positive, the number of zeros to be padded is -% $\max(0,|#1-\count0|)$ (the second argument can be negative), so a -% simple loop suffices. If it is zero or negative, this is a signal -% that it should be interpreted as 3 (and no separator will be output). +%If |#1| is positive, the number of zeros to be padded is +%$\max(0,|#1-\count0|)$ (the second argument can be negative), so a +%simple loop suffices. If it is zero or negative, this is a signal +%that it should be interpreted as 3 (and no separator will be output). % \begin{macrocode} \ifnum#1>0 \loop \ifnum\count0<#1\relax 0\advance\count0 by \@ne @@ -690,21 +712,21 @@ indention=0pt,labelsep=colon,justification=raggedright} \repeat \fi\number#2}} % \end{macrocode} -% \end{macro} -% \begin{macro}{\zetg@ld} -% This macro takes care for several things: it increases the subtotal for a -% given F-column, it checks whether or not that subtotal has overflown, it -% records the largest width of the entries in that column and it typesets -% |#1| via |\geldm@cro|. +%\end{macro} +%\begin{macro}{\zetg@ld} +%This macro takes care for several things: it increases the subtotal for a +%given |F|-column, it checks whether or not that subtotal has overflown, it +%records the largest width of the entries in that column and it typesets +%|#1| via |\geldm@cro|. % \begin{macrocode} \def\zetg@ld#1#2{\count0=#2\relax \let\FCs@gn=\@ne % \end{macrocode} -% First it checks whether there is a risk of overflow in this step. If -% $A$ and $B$ are two \TeX-registers and $B$ is to be added to $A$, -% overflow will not occur if one is (or both are) zero or if $A$ and~$B$ -% have different signs; otherwise be careful. Note that \TeX\ does not -% check for overflow when performing an |\advance| (done in section~1238 -% of Ref.~\cite{CandTB}), in contrast to |\multiply|, see section~105. +%First it checks whether there is a risk of overflow in this step. If +%$A$ and $B$ are two \TeX-registers and $B$ is to be added to $A$, +%overflow cannot occur if 1)~one is (or both are) zero or 2)~if $A$ and~$B$ +%have different signs; otherwise be careful. Note that \TeX\ does not +%check for overflow when performing an |\advance| (done in section~1238 +%of Ref.~\cite{CandTB}), in contrast to |\multiply|, see section~105. % \begin{macrocode} \ifnum\count0<0 \ifnum\csname FCtot@\romannumeral\FCsc@l\endcsname<0 @@ -719,469 +741,483 @@ indention=0pt,labelsep=colon,justification=raggedright} \global\advance\csname FCtot@\romannumeral\FCsc@l\endcsname by \count0 \ifx\FCs@gn\m@ne % \end{macrocode} -% They have the same sign, hence risk of overflow. Record the sign -% of |\count0| (and of the original total of this column; we just established -% they were the same) in |\FCs@gn|. Table~\ref{tab:ex9} -% \begin{table}[htb] -% \def\PackageError#1#2#3{\PackageWarning{#1}{#2: #3}} -% \caption{Examples on overflow.} -% \label{tab:ex9} -% \begin{tabular}{@{}lfff@{}} -% \multicolumn4c{\bfseries Projects}\\ -% \toprule -% income & \leeg{31 dec 2014} & \leeg{31 dec 2015} & \leeg{31 dec 2016} \\ -% \midrule -% item~1 & 20000000 & 20000000 &20000000 \\ -% item~2 & 10000000 & 2000000 &-1500000 \\ -% item~3 & 5000000 & -1500000 & 2000000 \\ -% \checkfcolumns12 -% \checkfcolumns23 -% \sumline -% \bottomrule -% \end{tabular} -% \end{table} -% shows what can go wrong if the numbers are too large: in the left -% |F|-column the sumline is incorrect and the number that caused -% the overflow is indicated by an exclamation mark. In the middle -% |F|-column, overflow occurs twice and because this is once positive, -% once negative here, cancellation of errors occurs and the sumline -% is correct in the end. Nevertheless, it is advised to swap the two -% items that caused the overflow, as shown in the right |F|-column. +%They have the same sign, hence risk of overflow. Record the sign +%of |\count0| (and of the original total of this column; we just established +%they were the same) in |\FCs@gn|. Table~\ref{tab:ex9} +%\begin{table}[htb] +%\def\PackageError#1#2#3{\PackageWarning{#1}{#2: #3}} +%\caption{Examples on overflow.} +%\label{tab:ex9} +%\begin{tabular}{@{}lfff@{}} +%\multicolumn4{@{}c@{}}{\bfseries Projects}\\ +%\toprule +%income & \leeg{31 dec 2014} & \leeg{31 dec 2015} & \leeg{31 dec 2016} \\ +%\midrule +%item~1 & 20000000 & 20000000 & 20000000 \\ +%item~2 & 10000000 & 2000000 & -1500000 \\ +%item~3 & 5000000 & -1500000 & 2000000 \\ +%\checkfcolumns23 +%\sumline +%\bottomrule +%\end{tabular} +%\end{table} +%shows what can go wrong if the numbers are too large: in the left +%|F|-column the sumline is incorrect and the number that caused +%the overflow is indicated by an exclamation mark. In the middle +%|F|-column, overflow occurs twice and because this is once positive, +%once negative here, cancellation of errors occurs and the sumline +%is correct in the end. Nevertheless, it is advised to swap the two +%items that caused the overflow, as shown in the right |F|-column. % -% Check that the sign of the updated column total is still correct. -% If so, |\FCs@gn| is reset (to |\@ne|) at the end of this chunk. +%Check that the sign of the updated column total is still correct. +%If so, |\FCs@gn| is reset (to |\@ne|) at the end of this chunk. % \begin{macrocode} \ifnum\count0>0 \let\FCs@gn\@ne \fi \count0=\csname FCtot@\romannumeral\FCsc@l\endcsname \ifnum\FCs@gn<0 \count0=-\count0 \fi \ifnum\count0<0 \let\FCs@gn=\m@ne - \PackageError{fcolumn}{Register overflow}{Overflow occurred - in fcolumn \number\FCsc@l.\MessageBreak You can press <enter> - now and I'll proceed, but check\MessageBreak your table. The - offending entry is indicated with an\MessageBreak exclamation - mark in the output.}% + \PackageError{fcolumn}{Register overflow}{Overflow occurred in + fcolumn \number\FCsc@l\space near or at line \the\inputlineno. + You can\MessageBreak press <enter> now and I'll proceed, but check + your table.\MessageBreak The offending entry is indicated with an + exclamation mark\MessageBreak in the output.}% \else\let\FCs@gn=\@ne \fi \fi % \end{macrocode} -% The value of |\FCs@gn| is used in |\geldm@cro| below. +%The value of |\FCs@gn| is used in |\geldm@cro| below. % \begin{macrocode} \setbox0=\hbox{$\geldm@cro{#1}{#2}$}% \ifdim\wd0>\csname FCwd@\romannumeral\FCsc@l\endcsname \global\csname FCwd@\romannumeral\FCsc@l\endcsname=\wd0 \fi\unhbox0} % \end{macrocode} -% \end{macro} +%\end{macro} % -% The \meta{count}s |\FC@l| and |\FC@r| capture the parts to the left and to the -% right of the decimal mark, respectively. +%The \meta{count}s |\FC@l| and |\FC@r| capture the parts to the left and to the +%right of the decimal mark, respectively. % \begin{macrocode} \newcount\FC@l \newcount\FC@r % \end{macrocode} -% Some auxiliary definitions for capturing compacted information. +%Some auxiliary definitions for capturing compacted information. % \begin{macrocode} \def\setucc@de#1#2\relax{\uccode`\~=`#1 } \def\assignform@t#1,#2,#3\assignform@t{\def\FCform@t{#1}% \def\FCform@tt{#2}\ifx\FCform@tt\@empty \def\FCform@tt{#1}\fi} % \end{macrocode} -% \begin{macro}{\m@thcodeswitch} -% As will be shown below, once the first digit, or sign, or decimal mark, or -% grouping character is scanned, the decimal digits should loose their -% activeness. That is done here for the digits in a rather blunt way, by putting their -% |\mathcode|s to zero if |#1| equals~0, since the actual |\mathcode| is not important---as -% long as it is not |"8000|---because the digits are not used for typesetting. -% (And even if they were; it's inside |\box0|, whose contents will be discarded.) -% When the |$| in |\e@fi| is encountered, the digits get back their original -% |\mathcode|s so that the actual typesetting in |\zetg@ld| is correct again. -% With a non-zero |#1| the activeness is switched on. +%\begin{macro}{\m@thcodeswitch} +%As will be shown below, once the first digit, or sign, or decimal mark, or +%grouping character is scanned, the decimal digits should loose their activeness. +%That is done here for the digits in a rather blunt way, by putting their +%|\mathcode|s to zero if |#1| equals~0, since the actual |\mathcode| is not +%important---as long as it is not |"8000|---because the digits are not used for +%typesetting. (And even if they were; it's inside |\box0|, whose contents will be +%discarded.) When the |$| in |\e@fi| is encountered, the digits get back their +%original |\mathcode|s so that the actual typesetting in |\zetg@ld| is correct again. +%With a non-zero |#1| the activeness is switched on. % \begin{macrocode} \def\m@thcodeswitch#1{\count0=10 \loop\ifnum\count0>0 \advance\count0 by \m@ne\mathcode\expandafter`\the\count0= \ifnum#1=0 0 \else "8000 \fi\repeat} % \end{macrocode} -% \end{macro} -% \def\<#1>{\leavevmode\hbox{$\langle$#1\/$\rangle$}} -% \begin{macro}{\b@fi} -% The macro |\b@fi| provides the beginning of the financial column. It -% will be inserted in the column to capture the number entered by the user. -% The separator and decimal mark are within a math environment, so you -% can indeed specify |\,| instead of |\thinspace|, but there is an extra -% brace around, so it doesn't affect the spacing between the digits -% (trick copied from |dcolumn|, Ref.~\cite{dcolumn}). -% \begin{macrocode} -\def\b@fi#1#2#3#4{% -% \end{macrocode} -% An intermediate macro |\sep@xt| to extract the first character -% of |#1|, which in most cases will be the only character. -% \begin{macrocode} -\def\sep@xt##1##2\end{\def\sep@rator{{##1}}}\sep@xt#1\end -\def\decim@lmark{{#2}}\def\sp@l{#3}\assignform@t#4,,\assignform@t -\global\advance\FCsc@l by \@ne\global\FC@l=0 \global\FC@r=1 -% \end{macrocode} -% The value specified by the user is then captured by |\FC@l| and -% this is done in a special way: |\FC@l| is assigned globally within -% |\box0|. Why? To use it as scribbling paper to examine what the -% user entered, without dumping it into the horizontal list. +%\end{macro} +%\def\<#1>{\leavevmode\hbox{$\langle$#1\/$\rangle$}} +%\begin{macro}{\b@fi} +%The macro |\b@fi| provides the beginning of the financial column. It +%will be inserted in the column to capture the number entered by the user. +%The separator and decimal mark are within a math environment, so you +%can indeed specify |\,| instead of |\thinspace|, but there are extra +%braces around them in the code where they are used, so it doesn't +%affect the spacing between the digits (trick copied from |dcolumn|, +%Ref.~\cite{dcolumn}). +% \begin{macrocode} +\def\b@fi#1#2#3#4{\sep@xt#1\sep@xt\def\decim@lmark{#2}\def\sp@l{#3}% +\assignform@t#4,,\assignform@t\global\advance\FCsc@l by \@ne +\global\FC@l=0 \global\FC@r=1 +% \end{macrocode} +%The value specified by the user is then captured by |\FC@l| and +%this is done in a special way: |\FC@l| is assigned globally within +%|\box0|. Why? To use it as scribbling paper to examine what the +%user entered, without dumping it into the horizontal list. % -% There are four parts to an |F|-column entry, all parts optional, -% making 16 combinations. The sequence is -% (in the Backus--Naur notation of Ref.~\cite{CandTA}): -% \<sign> \<integer constant> \<decimal mark> -% \<integer constant>. Here \<sign> is a plus or minus character with -% category code~12, \<integer constant> is a sequence of zero -% or more (decimal) \<digit>s, and \<decimal mark> is the middel -% part of |#3|, i.e., the comma in |3,2| or the period in |3.2|. If -% the \<decimal mark> is absent with no space characters between the -% two \<integer constant> terms, these merge, making four redundant -% entries. One of the combinations is \<empty>, a sequence of characters -% outside the ones that are made active, e.g., plain text or nothing at all: -% this is the only combination that doesn't put anything in an |F|-column---and -% was the most difficult part to handle. +%There are four parts to an |F|-column entry, all parts optional, +%making 16 combinations. The sequence is +%(in the Backus--Naur notation of Ref.~\cite{CandTA}): +%\<sign> \<integer constant> \<decimal mark> +%\<integer constant>. Here \<sign> is a plus or minus character with +%category code~12, \<integer constant> is a sequence of zero +%or more (decimal) \<digit>s, and \<decimal mark> is the middel +%part of |#3|, i.e., the comma in |3,2| or the period in |3.2|. If +%the \<decimal mark> is absent with no space characters between the +%two \<integer constant> terms, these merge, making four redundant +%entries. One of the combinations is \<empty>, a sequence of characters +%outside the ones that are made active, e.g., plain text or nothing at all: +%this is the only combination that doesn't put anything in an |F|-column---and +%was the most difficult part to handle. % -% The minus sign must be captured separately, because in an entry like -% |-0,07| the 7~cents are negative, but this cannot be seen from the -% part to the left of the decimal mark, since $-0$ is~$0$ in \TeX\ (in -% fact in most computer languages, but not in~MIX~\cite{TAOCP1}), so -% |\ifnum-0<0| yields |false|. |\FCs@gn| is a general purpose flag. Its -% first use is to capture the sign. +%The minus sign must be captured separately, because in an entry like +%|-0,07| the 7~cents are negative, but this cannot be seen from the +%part to the left of the decimal mark, since $-0$ is~$0$ in \TeX\ (in +%fact in most computer languages, but not in~MIX~\cite{TAOCP1}), so +%|\ifnum-0<0| yields |false|. |\FCs@gn| is a general purpose flag. Its +%first use is to capture the sign. % \begin{macrocode} \let\FCs@gn=\@ne\relax \setbox0\hbox\bgroup$ % \end{macrocode} -% Do the scan inside a box and inside math mode. Start with defining all -% characters that may appear as the first one in an |F|-column as active; -% digits first. This needs a complicated |\edef| with accompanying |\noexpand| -% because the starting digit for |\FC@l| must be packed inside each definition. +%Do the scan inside a box and inside math mode. Start with defining all +%characters that may appear as the first one in an |F|-column as active; +%digits first. This needs a complicated |\edef| with accompanying |\noexpand| +%because the starting digit for |\FC@l| must be packed inside each definition. % \begin{macrocode} \count@=10 \loop\ifnum\count@>0 \advance\count@ by \m@ne \uccode`\~=\expandafter`\the\count@ \uppercase{\edef~}{\noexpand \m@thcodeswitch0 \global\FC@l=\the\count@}\repeat % \end{macrocode} -% For the input decimal mark something extra is needed: if it is the -% first character in an |F|-column (like in |,07|), it should also -% restore the |\mathcode|s of the digits. Checking whether or not it -% is the first is easy, since in that case the |\mathcode|s of the -% decimal digits is still |"8000|. The assignment to |\FC@r| starts -% with~1, so that appended digits get captured correctly, even if they -% start with~0; postprocessing of |\FC@r| is done in |\e@fi|. -% The input decimal mark switches itself off as active character, -% so at most one input decimal mark is allowed (N.B.: -% this makes sense). -% \begin{macrocode} -\def\deactdecm@rk##1##2\relax{\mathcode`##1=0 }% +%For the input decimal mark something extra is needed: if it is the +%first character in an |F|-column (like in |,07|), it should also +%restore the |\mathcode|s of the digits. Checking whether or not it +%is the first is easy, since in that case the |\mathcode|s of the +%decimal digits are still |"8000|. The assignment to |\FC@r| starts +%with~1 (with no space following), so that appended digits get captured +%correctly, even if they start with~0; postprocessing of |\FC@r| is done +%in |\e@fi|. The input decimal mark switches itself off as active +%character, so at most one input decimal mark is allowed (N.B.: +%this makes sense). +% \begin{macrocode} \afterassignment\setucc@de\count@#3\relax \uppercase{\def~}{\ifnum\mathcode`\0="8000 \m@thcodeswitch0 \fi \afterassignment\deactdecm@rk\count@#3\relax \global\FC@r=1}% % \end{macrocode} -% The input grouping character effectively expands to ``nothing, i.e., -% ignore'' in a complicated way: it ignores the character and resumes -% scanning the number. The test prior to that action is needed if -% the grouping character is the first character encountered in the -% |F|-column. Which part to continue with depends on whether or not an -% input decimal mark was encountered; that can be checked by looking -% at its |\mathcode|. -% -% The input grouping character is the dot ``|.|'', except when that character -% was already chosen as input decimal mark. In that case, the grouping -% character will be the comma. This is easy to check because the |\uccode| -% of |`\~| is still preserved. +%The input grouping character effectively expands to ``nothing, i.e., +%ignore'' in a complicated way: it ignores the character and resumes +%scanning the number. The test prior to that action is needed if +%the grouping character is the first character encountered in the +%|F|-column. Which part to continue with depends on whether or not an +%input decimal mark was encountered; that can be checked by looking +%at its |\mathcode|. +% +%The input grouping character is the dot ``|.|'', except when that character +%was already chosen as input decimal mark. In that case, the grouping +%character will be the comma. This is easy to check because the |\uccode| +%of |`\~| is still preserved. % \begin{macrocode} -\def\d@cm##1##2{\count@=\mathcode`##1 } \ifnum\uccode`\~=`. \uccode`\~=`,\relax\else \uccode`\~=`.\relax\fi \uppercase{\def~}{\ifnum\mathcode`\0="8000 \m@thcodeswitch0 \fi \afterassignment\d@cm\count@#3\relax % \end{macrocode} -% The |\expandafter| below is necessary because the global assignment -% should act after the |\fi|. +%The |\expandafter| below is necessary because the global assignment +%should act after the |\fi|. % \begin{macrocode} \ifnum\count@=\mathcode`- \expandafter\global\FC@l=\the\FC@l \else \expandafter\global\FC@r=\the\FC@r\fi}% % \end{macrocode} -% The signs are relatively simple: record the sign, restore |\mathcode|s if -% needed (it should be: a minus sign between digits screws up everything), -% and start scanning the number. +%The signs are relatively simple: record the sign, restore |\mathcode|s if +%needed (it should be: a minus sign between digits screws up everything), +%and start scanning the number. % \begin{macrocode} \uccode`\~=`+\relax \uppercase{\def~}{\ifnum\mathcode`\0="8000 \m@thcodeswitch0 \fi\global\FC@l=0} \uccode`\~=`-\relax \uppercase{\def~}{\ifnum\mathcode`\0="8000 \m@thcodeswitch0 \fi\global\let\FCs@gn\m@ne \global\FC@l=0}% % \end{macrocode} -% Now actually activate all these codes. +%Now actually activate all these codes. % \begin{macrocode} \mathcode`-="8000 \mathcode`+="8000 \mathcode`.="8000 % \end{macrocode} -% These three remain active until the |$| in |\e@fi| is encountered. -% The following ones will, except in the \<empty> case, have their activeness -% turned off at some time. -% \begin{macrocode} -\m@thcodeswitch1 \def\actdecm@rk##1##2\relax{% -\ifx##1.\relax \mathcode`,="8000 \else \mathcode`##1="8000 \fi}% -\afterassignment\actdecm@rk\count@#3\relax} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\e@fi} -% If the digits are still active then either nothing was entered or only -% characters that did not deactivate the digits were entered. In -% both cases the output should be \<empty>. To flag this outside -% the group that started with the opening |$| of |\b@fi|, |\FC@r| is set -% globally to a negative value. This doesn't harm, because it didn't -% contain relevant information anyway. Outside the group, the sign -% of |\FC@r| can then be tested. This is a slight misuse of this -% |\count|, but now it's documented. In effect, |\FC@r| can only be~|-1|, -% |1|, or at least~|10|, so the comparison |\ifnum\FC@r>0| does not miss~0. +%These three remain active until the |$| in |\e@fi| is encountered. +%The following ones will, except in the \<empty> case, have their activeness +%turned off at some time. +% \begin{macrocode} +\m@thcodeswitch1 \afterassignment\actdecm@rk\count@#3\relax} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\sep@xt} +%\begin{macro}{\actdecm@rk} +%\begin{macro}{\deactdecm@rk} +%\begin{macro}{\d@cm} +%Again a few small macros to do important work. At first |\sep@xt| to extract +%the first character of |#1|, which in most cases will be the only character. +%Then |\actdecm@rk| and |\deactdecm@rk| to activate and deactive respectively the +%decimal mark. Finally, |\d@cm| captures a |\mathcode| for further investigation. +% \begin{macrocode} +\def\sep@xt#1#2\sep@xt{\def\sep@rator{#1}} +\def\actdecm@rk#1#2\relax{\ifx#1.\relax \mathcode`,="8000 + \else \mathcode`#1="8000 \fi} +\def\deactdecm@rk#1#2\relax{\mathcode`#1=0 }% +\def\d@cm#1#2{\count@=\mathcode`#1 } +% \end{macrocode} +%\end{macro} +%\end{macro} +%\end{macro} +%\end{macro} +%\begin{macro}{\e@fi} +%If the digits are still active then either nothing, or only +%characters that did not deactivate the digits were entered. In +%both cases the output should be \<empty>. To flag this situation outside +%the group that started with the opening |$| of |\b@fi|, |\FC@r| is set +%globally to a negative value. This doesn't harm, because it didn't +%contain relevant information anyway. Outside the group, the sign +%of |\FC@r| can then be tested. This is a slight misuse of this +%|\count|, but now it's documented. In effect, |\FC@r| can only be~$-1$, +%1, or at least~10, so the comparison |\ifnum\FC@r>0| does not miss~0. % \begin{macrocode} \def\e@fi{\ifnum\mathcode`\0="8000 \global\FC@r=\m@ne\fi$\egroup \ifnum\FC@r>0 % \end{macrocode} -% If there was no decimal mark or if there was a decimal mark but no -% decimal part, |\FC@r| will still be~1, which doesn't parse well with -% |\secd@xt|, so a zero is appended, i.e., yielding~|10|. +%If there was no decimal mark or if there was a decimal mark but no +%decimal part, |\FC@r| will still be~1, which doesn't parse well with +%|\secd@xt|, so a zero is appended, i.e., yielding~|10|. % \begin{macrocode} \ifnum\FC@r=1 \FC@r=10 \fi % \end{macrocode} -% Next is a loop for bringing the decimal part in the correct way to -% the integer part. The loop is performed the number of decimal -% digits to be printed (the~2 in |3,2| of the default setting). -% \begin{macrocode} - \def\i@ts##1##2{\count0=##2} - \afterassignment\i@ts\count@\sp@l - \loop\ifnum\count0>0 \multiply\FC@l by 10 - \expandafter\secd@xt\number\FC@r\secd@xt \advance\count0 by \m@ne - \repeat -% \end{macrocode} -% This also means that if you provided more decimal digits than this, the excess -% digit(s) will not be handled. This is truncation, not rounding! If all -% truncated digits are zero, this truncation is a no-op and they are silently ignored, -% see the example Table~\ref{tab:ex10}, -% \begin{table}[htb] -% \newcolumntype{d}{D{,}{,}{-1}} -% \caption{Truncating excess digits.} -% \label{tab:ex10} -% \begin{tabular}{@{}ldfl@{}} -% \toprule -% composer & \multicolumn1c{raw entry} & \leeg{debt} & remark \\ -% \midrule -% Berg & 123,450 & 123,450 & ``0'' silently ignored \\ -% Eisler & 234,567 & 234,567 & ``7'' ignored with warning \\ -% Sch\"onberg & 345,6709 & 345,6709 & ``09'' ignored with warning \\ -% Webern & 2,3456 & 2,3456 & ``56'' ignored with warning \\ -% \sumline -% \bottomrule -% \end{tabular} -% \end{table} -% that was created with |@{}ldfl@{}| (|d| for centering on the decimal -% mark~\cite{dcolumn}) as tabular key. If, however, at least one of them is -% not zero, a |\PackageWarning| will be given, showing the excess digit(s). +%Next is a loop for bringing the decimal part in the correct way to +%the integer part. This loop is performed the number of decimal +%digits to be printed (the~2 in |3,2| of the default setting). The higher +%this number is, e.g., 6~when |3,6| is chosen as |#3|---but who does that?---, +%the lower the maximum initial value for |\FC@l| can be, before a low-level +%\TeX\ arithmetic overflow will occur, so don't overdo it. +% \begin{macrocode} +\afterassignment\i@ts\count@\sp@l + \loop\ifnum\count0>0 \multiply\FC@l by 10 \expandafter\secd@xt + \number\FC@r\secd@xt \advance\count0 by \m@ne \repeat +% \end{macrocode} +%This also means that if more decimal digits than this are provided, the excess +%digit(s) will not be handled. This is truncation, not rounding! If all +%truncated digits are zero, this truncation is exact and they are silently ignored, +%see the example Table~\ref{tab:ex10}, +%\begin{table}[htb] +%\newcolumntype{d}{D{,}{,}{-1}} +%\caption{Truncating excess digits.} +%\label{tab:ex10} +%\begin{tabular}{@{}ldfl@{}} +%\toprule +%composer & \multicolumn1c{raw entry} & \leeg{debt} & remark \\ +%\midrule +%Berg & 123,450 & 123,450 & silently ignoring digit ``0'' \\ +%Eisler & 234,563 & 234,563 & warning: digit ``3'' ignored \\ +%Sch\"onberg & 345,6704 & 345,6704 & warning: digits ``04'' ignored \\ +%Webern & 2,3456 & 2,3456 & warning: digits ``56'' ignored, i.e.,\\ +% & & & \quad without rounding this entry to 2,35 \\ +%\sumline +%\bottomrule +%\end{tabular} +%\end{table} +%that was created with |@{}ldfl@{}| (|d| for centering on the decimal +%mark~\cite{dcolumn}) as tabular key. If, however, at least one of them is +%not zero, a |\PackageWarning| will be given, showing the discarded digit(s). +%There is nothing magical about the constant~19 below: it is simply the +%concatenation of~|1| and the largest decimal digit. The smallest next value +%that |\FC@r| can have is~100, so all values from~19 up to and including~99 +%would have worked here. % \begin{macrocode} \ifnum\expandafter\@gobble\number\FC@r>0 - \def\tw@l##1##2\relax{##2} \PackageWarning{fcolumn}{Excess digit\ifnum\FC@r>19 s\fi\space ``\expandafter\tw@l\number\FC@r\relax'' in decimal part \MessageBreak ignored near or} \fi % \end{macrocode} -% Don't forget to correct for the sign (once this is done, |\FCs@gn| -% is free again and can and will be used for other purposes). -% Then output the result. +%Don't forget to correct for the sign (once this is done, |\FCs@gn| +%is free again and can and will be used for other purposes). +%Then output the result. % \begin{macrocode} - \ifx\FCs@gn\m@ne\relax \FC@l=-\FC@l \fi - \zetg@ld{\sp@l}{\FC@l}% + \ifx\FCs@gn\m@ne\relax\FC@l=-\FC@l\fi\zetg@ld{\sp@l}{\FC@l}% \fi} % \end{macrocode} -% \end{macro} -% \begin{macro}{\secd@xt} -% The second digit from the left is needed from a string of characters -% representing a decimal number. The macro |\secd@xt| extracts that digit, -% provided that the number has at least two digits, but that is guaranteed by -% |\e@fi|. That second digit is then added to |\FC@l|. -% A new number is assigned to |\FC@r|, that consists -% of the digits of |#1#3|. If |#3| was empty, 10 is assigned. In this way -% |\FC@r| is prepared for insertion in the next invocation of |\secd@xt|. -% In iterating: 1234 yields~134, yields~14, yields~10, stays~10, etc. -% \begin{macrocode} -\def\secd@xt#1#2#3\secd@xt{\advance\FC@l by #2 -\FC@r=#1#3 \ifnum\FC@r=1 \FC@r=10 \fi} -% \end{macrocode} -% \end{macro} -% \subsection{Adaptations to existing macros} -% \begin{macro}{\@array} -% The definition of |\@array| had to be extended slightly because it should -% also include |\@mksumline| (acting on the same |#2| as |\@mkpream| gets). -% This change is transparant: it only adds functionality and if you don't -% use that, you won't notice the difference. It starts by just copying the -% original definition from v2.4k of the |array| package~\cite{array}, -% compacted. +%\end{macro} +%\begin{macro}{\i@ts} +%\begin{macro}{\tw@l} +%Macro |\e@fi| uses two very tiny macros, given here. In previous versions +%these were defined inside |\e@fi|, so they also got undefined when |\e@fi| +%ended. The current solution makes execution a bit faster. +% \begin{macrocode} +\def\i@ts#1#2{\count0=#2} \def\tw@l#1#2\relax{#2} +% \end{macrocode} +%\end{macro} +%\end{macro} +%\begin{macro}{\secd@xt} +%The second digit from the left is needed from a string of characters +%representing a decimal number (that should be at least 10 and start with +%a~|1|, but that is guaranteed by |\e@fi|). The macro |\secd@xt| extracts +%that digit, which is then added to |\FC@l|. A new number is assigned to +%|\FC@r|, that consists of the digits of |1#2|, unless |#2| was empty; in +%that case~10 is assigned. In this way |\FC@r| is prepared for insertion +%in the next invocation of |\secd@xt|. In iterating: 1234 yields~134, +%yields~14, yields~10, stays~10, etc. +% \begin{macrocode} +\def\secd@xt1#1#2\secd@xt{\advance\FC@l by #1 + \FC@r=1#2 \ifnum\FC@r=1 \FC@r=10 \fi} +% \end{macrocode} +%\end{macro} +%\subsection{Adaptations to existing macros} +%\begin{macro}{\@array} +%The definition of |\@array| had to be extended slightly because it should +%also include |\@mksumline| (acting on the same |#2| as |\@mkpream| gets). +%This change is transparant: it only adds functionality and if you don't +%use that, you won't notice the difference. It starts by just copying the +%original definition from v2.4k (or later) of the |array| package~\cite{array}, +%compacted. % \begin{macrocode} \def\@array[#1]#2{\@tempdima\ht\strutbox\advance\@tempdima by \extrarowheight\setbox\@arstrutbox\hbox{\vrule\@height\arraystretch \@tempdima\@depth\arraystretch\dp\strutbox\@width\z@}% % \end{macrocode} -% Here comes the first change: after each |\\| (or |\cr| for that matter) -% the \meta{count} |\FCsc@l| should be reset. This is easiest done with -% |\everycr|, but |\everycr| is put to |{}| by |\ialign|, so that definition -% should change. The resetting should be done globally. +%Here comes the first change: after each |\\| (or |\cr| for that matter) +%the \meta{count} |\FCsc@l| should be reset. This is easiest done with +%|\everycr|, but |\everycr| is put to |{}| by |\ialign|, so that definition +%should change. The resetting should be done globally. % \begin{macrocode} \def\ialign{\everycr{\noalign{\global\FCsc@l=0 }}\tabskip\z@skip\halign} % \end{macrocode} -% Then the definition is picked up again. +%Then the definition is picked up again. % \begin{macrocode} \begingroup\@mkpream{#2}\xdef\@preamble{\noexpand\ialign\@halignto \bgroup\@arstrut\@preamble\tabskip\z@\cr}% -\endgroup -% \end{macrocode} -% The combination |\endgroup| in the previous chunk followed by |\begingroup| -% in the next chunk seems redundant, but that is not the case: the |\endgroup| -% restores everything that was not |\global|. With the following |\begingroup| -% it is ensured that |\@mksumline| experiences the same settings as |\@mkpream| did. -% \begin{macrocode} -\begingroup\@mksumline{#2}\endgroup % \end{macrocode} -% As a side product of |\@mksumline| also the \meta{count}s for the totals -% and \meta{dimen}s for the widths of the colums are created. The columns -% should start fresh, i.e., totals are~0 and widths are 0\thinspace pt. +%Before ending the |\begingroup|, the sumline is created. +%As a side product of |\@mksumline| also the \meta{count}s for the totals +%and \meta{dimen}s for the widths of the columns are created. All columns +%should start fresh, i.e., totals are~0 and widths are 0\thinspace pt. % \begin{macrocode} -\res@tsumline +\@mksumline{#2}\endgroup\res@tsumline % \end{macrocode} -% From here on it is just the old definition of |array.sty|. +%From here on it is just the old definition of |array.sty|. % \begin{macrocode} \@arrayleft\if #1t\vtop\else\if#1b\vbox\else\vcenter\fi\fi\bgroup \let\@sharp ##\let\protect\relax\lineskip\z@\baselineskip\z@ \m@th \let\\\@arraycr \let\tabularnewline\\\let\par\@empty \@preamble} % \end{macrocode} -% Because |\@array| was changed here and it is this version that should -% be used, |\@@array| should be |\let| equal to |\@array| again. +%Because |\@array| was changed here and it is this version that should +%be used, |\@@array| should be |\let| equal to |\@array| again. % \begin{macrocode} \let\@@array=\@array % \end{macrocode} -% \end{macro} -% Much of the techniques here are repeated in |\LT@array|. -% \subsection{The sumline, close to a postamble} -% \begin{macro}{\@mksumline} -% The construction of the sumline is much easier than that of the preamble -% for several reasons. It may be safely assumed that the preamble specifier -% is grammatically correct because it has already been screened by |\@mkpream|. -% Furthermore, most entries will simply add nothing to |\s@ml@ne|, e.g., |@|, |!|, -% and \verb+|+ can be fully ignored. Ampersands are only inserted by |c|, |l|, |r|, -% |p|, |m|, and |b|. So, if |\a| is a macro that prints the desired result of the -% column (see below), then a specifier like |@{}lflf@{}| will yield the sumline -% |&\a&&\a\\|. Had the specifier been \verb+l|f||@{ }l|f+, then the same -% sumline must be constructed: all difficulties are already picked up and -% solved in the creation of the preamble. +%\end{macro} +%Much of the techniques here are repeated in |\LT@array|, see Section~\ref{multipage}. +%\subsection{The sumline, close to a postamble} +%\begin{macro}{\@mksumline} +%The construction of the sumline is much easier than that of the preamble +%for several reasons. It may be safely assumed that the preamble specifier +%is grammatically correct because it has already been screened by |\@mkpream|. +%Furthermore, most entries will simply add nothing to |\s@ml@ne|, e.g., |@|, |!|, +%and \verb+|+ can be fully ignored. Ampersands are only inserted by |c|, |l|, |r|, +%|p|, |m|, and |b|. So, if |\a| is a macro that prints the desired result of the +%column (see below), then a specifier like |@{}lflf@{}| will yield the sumline +%|&\a&&\a\\|. Had the specifier been \verb+l|f||@{ }l|f+, then the same +%sumline must be constructed: all difficulties are already picked up and +%solved in the creation of the preamble. % -% In reality the sumline must be constructed from the expanded form of the -% specifier, so |@{}lf@{}| will expand as -% |@{}l>{\b@fi{.}{,}{3,2}{}}r<{\e@fi}@{}|. The rules for constructing the -% sumline are now very simple: -% \begin{compactitem}[$\bullet$] -% \item add an ampersand when |c|, |l|, |r|, |p|, |m|, or |b| is found, -% unless it is the first one (this is the same as in the preamble); -% \item add a |\a| when |<{\e@fi}| is found; -% \item ignore everything else; -% \item close with a |\\|. -% \end{compactitem} -% (For completeness' sake it should be mentioned that prior to the |\\| also the column -% check is inserted, see |\aut@check|.) -% To discriminate, a special version of |\@testpach|~\cite{array} -% could be written, but that is not necessary: |\@testpach| can do all the work, -% although much of it will be discarded. Here speed is sacrificed for space -% and this can be afforded because the creation of the sumline is done only -% once per |\tabular| or |\longtable|. -% -% The start is copied from |\@mkpream|. +%In reality the sumline must be constructed from the expanded form of the +%specifier, so |@{}lf@{}| will expand as +%|@{}l>{\b@fi.,{3,2}{}}r<{\e@fi}@{}|. The rules for constructing the +%sumline are now very simple: +%\begin{compactitem}[$\bullet$] +%\item add an ampersand when |c|, |l|, |r|, |p|, |m|, or |b| is found, +%unless it is the first one (this is the same as in the preamble); +%\item add a |\a| when |<{\e@fi}| is found; +%\item ignore everything else; +%\item close with a |\\|. +%\end{compactitem} +%(For completeness' sake it should be mentioned that prior to the |\\| also the column +%check is inserted, see |\aut@check|.) +%To discriminate, a special version of |\@testpach|~\cite{array} +%could be written, but that is not necessary: |\@testpach| can do all the work, +%although much of it will be discarded. Here speed is sacrificed for space +%and this can be afforded because the creation of the sumline is done only +%once per |tabular| or |longtable|. +% +%The start is copied from |\@mkpream|. % \begin{macrocode} \def\@mksumline#1{\gdef\s@ml@ne{}\@lastchclass 4 \@firstamptrue % \end{macrocode} -% At first the column number is reset and the actual code for what was -% called |\a| above is made inactive. +%At first the column number is reset and the actual code for what was +%called |\a| above is made inactive. % \begin{macrocode} -\global\FCsc@l=0 -\let\prr@sult=\relax +\global\FCsc@l=0 \let\prr@sult=\relax % \end{macrocode} -% Then |\@mkpream| is picked up again. +%Then |\@mkpream| is picked up again. % \begin{macrocode} \@temptokena{#1}\@tempswatrue\@whilesw\if@tempswa\fi{\@tempswafalse \the\NC@list}\count0\m@ne\let\the@toks\relax\prepnext@tok % \end{macrocode} -% Next is the loop over all tokens in the expanded form of the specifier. The change -% with respect to |\@mkpream| is that the body of the loop is now only dealing -% with F-classes~0, 2, and 10. What to do in those cases is of course different from -% what to do when constructing the preamble, so special definitions are created, see -% below. +%Next is the loop over all tokens in the expanded form of the specifier. The change +%with respect to |\@mkpream| is that the body of the loop is now only dealing +%with F-classes~0, 2, and 10. What to do in those cases is of course different from +%what to do when constructing the preamble, so special definitions are created, see +%below. % \begin{macrocode} \expandafter\@tfor\expandafter\@nextchar\expandafter:\expandafter=\the \@temptokena\do{\@testpach\ifcase\@chclass\@classfz\or\or\@classfii\or \or\or\or\or\or\or\or\@classfx\fi\@lastchclass\@chclass}% % \end{macrocode} -% And the macro is finished by applying the |\aut@check| and appending the -% |\\| to the sumline. Note that the |\aut@check| is performed {\itshape -% in\/} the last column, but since it does not put anything in the -% horizontal list---it only writes to screen and transcript file---, this -% is harmless. +%And the macro is finished by applying the |\aut@check| and appending the +%|\\| to the sumline. Note that the |\aut@check| is performed {\itshape +%in\/} the last column, but since it does not put anything in the +%horizontal list---it only writes to screen and transcript file---, this +%is harmless. % \begin{macrocode} \xdef\s@ml@ne{\s@ml@ne\noexpand\aut@check\noexpand\\}} % \end{macrocode} -% \end{macro} -% \begin{macro}{\@addtosumline} -% Macro |\@addtosumline|, as its name already suggests, adds something to the -% sumline, like its counterpart |\@addtopreamble| did to the preamble. +%\end{macro} +%\begin{macro}{\@addtosumline} +%Macro |\@addtosumline|, as its name already suggests, adds something to the +%sumline, like its counterpart |\@addtopreamble| did to the preamble. % \begin{macrocode} \def\@addtosumline#1{\xdef\s@ml@ne{\s@ml@ne #1}} % \end{macrocode} -% \end{macro} -% \begin{macro}{\@classfx} -% Class~f10 for the sumline creation is a stripped down version of |\@classx|: add an -% ampersand unless it is the first. It deals with the specifiers |b|, |m|, |p|, |c|, -% |l|, and |r|. +%\end{macro} +%\begin{macro}{\@classfx} +%Class~f10 for the sumline creation is a stripped down version of |\@classx|: add an +%ampersand unless it is the first. It deals with the specifiers |b|, |m|, |p|, |c|, +%|l|, and |r|. % \begin{macrocode} \def\@classfx{\if@firstamp \@firstampfalse \else \@addtosumline &\fi} % \end{macrocode} -% \end{macro} -% \begin{macro}{\@classfz} -% Class~f0 is applicable for specifiers |c|, |l|, and |r|, and if the arguments -% of |p|, |m|, or |b| are given. The latter three cases, with |\@chnum| is 0, -% 1, or~2 should be ignored and the first three cases are now similar to class~f10. +%\end{macro} +%\begin{macro}{\@classfz} +%Class~f0 is applicable for specifiers |c|, |l|, and |r|, and if the arguments +%of |p|, |m|, or |b| are given. The latter three cases, with |\@chnum| is 0, +%1, or~2 should be ignored and the first three cases are now similar to class~f10. % \begin{macrocode} \def\@classfz{\ifnum\@chnum<\thr@@ \@classfx\fi} % \end{macrocode} % \end{macro} -% \begin{macro}{\@classfii} -% Here comes the nice and nasty part. Class~f2 is applicable if a~|<| is -% specified. This is tested by checking |\@lastchclass|, which should be -% equal to~8. Then it is checked that the argument to |<| is indeed -% |\e@fi|. This check is rather clumsy but this was the first way, after -% many attempts, that worked. It is necessary because the usage of |<| -% is not restricted to |\e@fi|: the user may have specified other -% \LaTeX-code using~|<|. +%\begin{macro}{\@classfii} +%Here comes the nice and nasty part. Class~f2 is applicable if a~|<| is +%specified. This is tested by checking |\@lastchclass|, which should be +%equal to~8. Then it is checked that the argument to |<| is indeed +%|\e@fi|. This check is rather clumsy but this was the first way, after +%many attempts, that worked. It is necessary because the usage of |<| +%is not restricted to |\e@fi|: the user may have specified other +%\LaTeX-code using~|<|. % \begin{macrocode} \def\@classfii{\ifnum\@lastchclass=8 \edef\t@stm{\expandafter\string\@nextchar} - \edef\t@stn{\string\e@fi} - \ifx\t@stm\t@stn + \edef\t@stn{\string\e@fi} \ifx\t@stm\t@stn % \end{macrocode} -% If both tests yield |true|, i.e., we encountered a |<{\e@fi}| where we expect -% one to find, then add the macro to typeset everything. +%If both tests yield |true|, i.e., we encountered a |<{\e@fi}| where we expect +%one to find, then add the macro to typeset everything. % \begin{macrocode} \@addtosumline{\prr@sult} % \end{macrocode} -% But we're not done yet: in the following lines of code the appropriate -% \meta{count}s and \meta{dimen}s are created, if necessary. Note that -% |\FCsc@l| was set to~0 in the beginning of |\@mksumline|, so it is -% well-defined when |\@classfii| is used. -% \begin{macrocode} - \global\advance\FCsc@l by \@ne - \ifnum\FCsc@l>\FCtc@l -% \end{macrocode} -% Apparently the number of requested columns is larger than the currently -% available number of relevant \meta{count}s and \meta{dimen}s, so new ones -% should be created. What is checked here is merely the existence of -% |\FCtot@<some romannumeral>|. If it already exists---although it may not -% even be a \meta{count}; that cannot be checked---it is not created by -% |fcolumn| and an error is given. In case it is a \meta{count} you're just -% lucky, and you could ignore that error, although any change to this -% \meta{count} is global anyway, so things will be overwritten. In the -% case it is not a \meta{count}, things will go haywire and you'll soon -% find out. The remedy then is to rename your \meta{count} prior to -% |fcolumn| to avoid this name clash. +%But we're not done yet: in the following lines of code the appropriate +%\meta{count}s and \meta{dimen}s are created, if necessary. Note that +%|\FCsc@l| was set to~0 in the beginning of |\@mksumline|, so it is +%well-defined when |\@classfii| is used. +% \begin{macrocode} + \global\advance\FCsc@l by \@ne \ifnum\FCsc@l>\FCtc@l +% \end{macrocode} +%Apparently the number of requested columns is larger than the currently +%available number of relevant \meta{count}s and \meta{dimen}s, so new ones +%should be created. What is checked here is merely the existence of +%|\FCtot@<some romannumeral>|. If it already exists---although it may not +%even be a \meta{count}; that cannot be checked---it is not created by +%|fcolumn| and an error is given. In case it is a \meta{count} you're just +%lucky, and you could ignore that error, although any change to this +%\meta{count} is global anyway, so things will be overwritten. In the +%case it is not a \meta{count}, things will go haywire and you'll soon +%find out. The remedy then is to rename your \meta{count} prior to +%|fcolumn| to avoid this name clash. % \begin{macrocode} \expandafter\ifx\csname FCtot@\romannumeral\FCsc@l\endcsname\relax \expandafter\newcount\csname FCtot@\romannumeral\FCsc@l\endcsname @@ -1193,14 +1229,14 @@ indention=0pt,labelsep=colon,justification=raggedright} will get overwritten.}% \fi % \end{macrocode} -% And the same is applicable for the \meta{dimen}: in case of a name -% clash you have to rename your \meta{dimen} prior to |fcolumn|. +%And the same is applicable for the \meta{dimen}: in case of a name +%clash you have to rename your \meta{dimen} prior to |fcolumn|. % \begin{macrocode} \expandafter\ifx\csname FCwd@\romannumeral\FCsc@l\endcsname\relax \expandafter\newdimen\csname FCwd@\romannumeral\FCsc@l\endcsname % \end{macrocode} -% If the creation was successful, the \meta{count} |\FCtc@l| should be -% increased. +%If the creation was successful, the \meta{count} |\FCtc@l| should be +%increased. % \begin{macrocode} \global\FCtc@l=\FCsc@l \else @@ -1214,40 +1250,41 @@ indention=0pt,labelsep=colon,justification=raggedright} \fi \fi} % \end{macrocode} -% Once created, it is not necessary to initialise them here because that -% is done later in one go. -% \end{macro} -% \begin{macro}{\sumline} -% The command for the sumline has one optional argument: the separation -% between the rule and the total. By default this is 2\thinspace pt, but -% the user may specify |\sumline[10pt]| if that separation needs to be -% 10\thinspace pt. The assignment needs to be global, because it is done -% in the first column of the tabular, but is valid for the whole line. +%Once created, it is not necessary to initialise them here because that +%is done later in one go. +%\end{macro} +%\begin{macro}{\sumline} +%The command for the sumline has one optional argument: the separation +%between the rule and the total. By default this is 2\thinspace pt, but +%the user may specify |\sumline[10pt]| if that separation needs to be +%10\thinspace pt. The assignment needs to be global, because it is done +%in the first column of the tabular, but is valid for the whole line. % \begin{macrocode} \newdimen\s@mlinesep \def\sumline{\@ifnextchar[\s@mline{\s@mline[2pt]}} \def\s@mline[#1]{\global\s@mlinesep=#1 \s@ml@ne} % \end{macrocode} -% In the introduction it was stated that |\sumline| has two options, but in -% reality that second option is the option to |\\| that is issued by |\s@ml@ne|. -% \end{macro} -% \begin{macro}{\prr@sult} -% The macro |\prr@sult| actually puts the information together. It starts -% like |\leeg|. +%In the introduction it was stated that |\sumline| has two options, but in +%reality that second option is the option to |\\| that is issued by |\s@ml@ne|. +%\end{macro} +%\begin{macro}{\prr@sult} +%The macro |\prr@sult| actually puts the information together. It starts +%like |\leeg|. % \begin{macrocode} \def\prr@sult{$\egroup \let\e@fi=\relax \let\FCform@t=\FCform@tt % \end{macrocode} -% Then the information for the last line is computed. It is not sufficient -% to calculate the width of the result (in points) to use that as the width -% of the rule separating the individual entries and the result. It may happen -% that the sum is wider (in points) than any of the entries, e.g., when the -% result of $6+6$ (using specifier~|3,2|) is typeset. The width of the rule -% should be equal to the width of |\hbox{$12{,}00$}| then. On the other -% hand the width of the rule when summing $24$ and $-24$ should be that of -% |\hbox{$-24{,}00$}| (or |\hbox{$(24{,}00$}|, see above), not the width of -% the result |\hbox{$0{,}00$}|. Therefore the maximum of all entry widths, -% including the result, was calculated. -% \begin{macrocode} +%Then the information for the last line is computed. It is not sufficient +%to calculate the width of the result (in points) to use that as the width +%of the rule separating the individual entries and the result. It may happen +%that the sum is wider (in points) than any of the entries, e.g., when the +%result of $6+6$ (using specifier~|3,2|) is typeset. The width of the rule +%should be equal to the width of |\hbox{$12{,}00$}| then. On the other +%hand the width of the rule when summing $24$ and $-24$ should be that of +%|\hbox{$-24{,}00$}| (or |\hbox{$(24{,}00$}|, see above), not the width of +%the result |\hbox{$0{,}00$}|. Therefore the maximum of all entry widths, +%including the result, was calculated. This excludes the extension to the +%right in case parentheses are used, again for aesthetic reasons. +% \begin{macrocode} \setbox0=\hbox{$\geldm@cro{\sp@l}{\number\csname FCtot@\romannumeral\FCsc@l\endcsname}$}% \ifdim\wd0>\csname FCwd@\romannumeral\FCsc@l\endcsname @@ -1257,144 +1294,149 @@ FCtot@\romannumeral\FCsc@l\endcsname}$}% \vskip\s@mlinesep \hbox to \csname FCwd@\romannumeral\FCsc@l\endcsname{\hfil\unhbox0}}} % \end{macrocode} -% \end{macro} -% \subsection{Other checks} -% \begin{macro}{\leeg} -% This macro is used to overrule the default behaviour of the pair |\b@fi| -% and |\e@fi|. It starts with ending the groups in the -% same way that |\e@fi| would normally do. Then the effect of |\e@fi| -% (that is still in the preamble) is annihilated by |\let|ting it to -% be |\relax|. This |\let| is only local to the current column. Then -% the argument to |\leeg| is treated in a similar way as |\e@fi| would -% do with a typeset number. +%\end{macro} +%\subsection{Other checks} +%\begin{macro}{\leeg} +%This macro is used to overrule the default behaviour of the pair |\b@fi| +%and |\e@fi|. It starts with ending the groups in the +%same way that |\e@fi| would normally do. Then the effect of |\e@fi| +%(that is still in the preamble) is annihilated by |\let|ting it to +%be |\relax|. This |\let| is only local to the current column. Then +%the argument to |\leeg| is processed in the normal way for a right +%aligned column. % -% Since the user may from time to time also need a column entry other than -% a number in the table, e.g., |\leeg{p.m.}|, this definition is without -% at-sign. By defining |\leeg| in this way, instead of |\multicolumn1r{}| -% (which contains |\omit|), the default spacing in the column is retained. -% It doesn't alter the width of the sumrule, but has its normal effect on -% the column width, so be careful: don't insert the unabridged version of -% Romeo and Juliet~\cite{RJ} here. It is not typeset in math mode, nor -% does it use the extra (formatting) information of |#4| of the fcolumn, -% so you're completely free here. +%Since the user may from time to time also need a column entry other than +%a number in the table, e.g., |\leeg{p.m.}|, this definition is without +%at-sign. By defining |\leeg| in this way, instead of |\multicolumn1r{}| +%(which contains |\omit|), the default spacing in the column is retained. +%It doesn't alter the width of the sumrule, but has its normal effect on +%the column width, so be careful: don't insert the unabridged version of +%Romeo and Juliet~\cite{RJ} here. It is not typeset in math mode, nor +%does it use the extra (formatting) information of |#4| of the fcolumn, +%so you're completely free here. % \begin{macrocode} \def\leeg#1{$\egroup \let\e@fi=\relax #1} % \end{macrocode} -% Note that anything may be given as argument to |\leeg|, so in principle -% it can also be used to cheat: |\leeg{0,03}| will insert the text~|0,03| -% in the table but it doesn't increase the totals of that column by~3 -% (assuming |3,2| coding for the separations). But you won't cheat, won't you? -% \end{macro} -% \begin{macro}{\res@tsumline} -% Since all changes to the totals and widths of the columns are global, -% they have to be reset actively at the start of a tabular or array. -% That is an action by itself, but it may occur more often, on request -% of the user, therefore a special macro is defined. A side effect of -% this macro is that |\FCsc@l| is reset to~0. This is an advantage: -% it should be zero at the beginning of a line in the table (for other -% lines this is done by the |\\|). +%Note that anything may be given as argument to |\leeg|, so in principle +%it can also be used to cheat: |\leeg{0,03}| will insert the text~|0,03| +%in the table but it doesn't increase the totals of that column by~3 +%(assuming |3,2| coding for the separations). But you won't cheat, won't you? +%\end{macro} +%\begin{macro}{\res@tsumline} +%Since all changes to the totals and widths of the columns are global, +%they have to be reset actively at the start of a tabular or array. +%That is an action by itself, but it may occur more often, on request +%of the user, therefore a special macro is defined. A side effect of +%this macro is that |\FCsc@l| is reset to~0. This is an advantage: +%it should be zero at the beginning of a line in the table (for other +%lines this is done by the |\\|). % \begin{macrocode} \def\res@tsumline{\FCsc@l=\FCtc@l\loop\ifnum\FCsc@l>0 \global\csname FCtot@\romannumeral\FCsc@l\endcsname=0 \global\csname FCwd@\romannumeral\FCsc@l\endcsname=\z@ \advance\FCsc@l by \m@ne\repeat} % \end{macrocode} -% \end{macro} -% \begin{macro}{\resetsumline} -% To reset a sumline within a table, it should be done within a |\noalign|. +%\end{macro} +%\begin{macro}{\resetsumline} +%To reset a sumline within a table, it should be done within a |\noalign|. % \begin{macrocode} \def\resetsumline{\noalign{\res@tsumline}} % \end{macrocode} -% \end{macro} -% \begin{macro}{\aut@check} -% If the number of F-columns is even, it is assumed that they are part of -% two sets of columns of which each column of the first set should balance -% the appropriate column of the second set. If on the other hand the number -% of columns is odd, then at least one column has nothing to balance against -% and no checking occurs. It is correct to check for oddness of |\FCsc@l| -% since this |\aut@check| is only performed in the last column of the -% tabular: the value of |\FCsc@l| now equals the number of columns used -% in the current tabular (and may differ from |\FCtc@l|). +%\end{macro} +%\begin{macro}{\aut@check} +%If the number of |F|-columns is even, it is assumed that they are part of +%two sets of columns of which each column of the first set should balance +%the appropriate column of the second set. If on the other hand the number +%of columns is odd, then at least one column has nothing to balance against +%and no checking occurs. It is correct to check for oddness of |\FCsc@l| +%since this |\aut@check| is only performed in the last column of the +%tabular: the value of |\FCsc@l| now equals the number of columns used +%in the current tabular (and may be less than |\FCtc@l|). % -% The output is only to screen and the transcript file; it doesn't change -% the appearance of your document, so in case the assumption is wrong you -% can safely ignore the result and go on. The \meta{count}s 0 and~1 are -% used here and this can be done because any content of those \meta{count}s -% from previous calculations has become irrelevant at this moment. +%The output is only to screen and the transcript file; it doesn't change +%the appearance of your document, so in case the assumption is wrong you +%can safely ignore the result and go on. The \meta{count}s~0 and~1 are +%used here and this can be done because any content of those \meta{count}s +%from previous calculations has become irrelevant at this moment. % -% If the list |\FC@chklist| is empty, the list for the automatic check is -% generated (which will remain empty if |\FCsc@l| is odd). +%If the list |\FC@chklist| is empty, the list for the automatic check is +%generated (which will remain empty if |\FCsc@l| is odd). % \begin{macrocode} \def\FC@chklist{} \def\aut@check{\ifx\@empty\FC@chklist\relax \ifodd\FCsc@l\else - \count0=\@ne \count1=\FCsc@l - \divide\count1 by \tw@ - \loop\ifnum\count1<\FCsc@l - \advance\count1 by \@ne + \count0=\@ne \count1=\FCsc@l \divide\count1 by \tw@ + \loop\ifnum\count1<\FCsc@l \advance\count1 by \@ne \xdef\FC@chklist{\FC@chklist\number\count0,\number\count1;}% - \advance\count0 by\@ne - \repeat + \advance\count0 by\@ne \repeat \fi \fi % \end{macrocode} -% Then this list is peeled off and processed. -% \begin{macrocode} -\loop -\ifx\FC@chklist\@empty\let\FCs@gn=\@ne\else\let\FCs@gn=\m@ne\fi -\ifx\FCs@gn\m@ne - \expandafter\fre@t\FC@chklist\end - \ifnum\csname FCtot@\romannumeral\count0\endcsname= - \csname FCtot@\romannumeral\count1\endcsname\else - \PackageWarning{fcolumn}{F-columns \number\count0 \space and - \number\count1 \space do not balance due to \string\sumline - \MessageBreak near or}% +%Then this list is peeled off and processed. +%The comparison is done between the internal representation of the totals, +%so this only makes sense when the decimal part, i.e., the |2| of |3,2| in +%the default value for |#3| of~|f| is the same for both columns. That is +%almost always the case due to the nature of this type of tabulars. The +%\meta{count} |\FC@l| is free to be used for the calculations needed here. +% \begin{macrocode} +\loop\ifx\FC@chklist\@empty\else + \expandafter\fre@t\FC@chklist\fre@t + \FC@l=\csname FCtot@\romannumeral\count0\endcsname + \advance\FC@l by -\csname FCtot@\romannumeral\count1\endcsname + \ifnum\FC@l=0 \else \ifnum\FC@l<0 \FC@l=-\FC@l \fi + \PackageWarning{fcolumn}{Representations of F-columns \number\count0 + \space and \number\count1 \space differ by\MessageBreak + \number\FC@l\space due to \string\sumline\space near or}% \fi \repeat} % \end{macrocode} -% When |\aut@check| is finished, |\FC@chklist| is empty again, i.e., well -% prepared for the next time it is used. This also means that the default -% behaviour kicks in again: if that's not what you want, you should -% specify the appropriate |\checkfcolumns| lines again. -% \end{macro} -% \begin{macro}{\fre@t} -% This function eats the first two numbers off |\FC@chklist|. -% \begin{macrocode} -\def\fre@t#1,#2;#3\end{\count0=#1 \count1=#2 \xdef\FC@chklist{#3}} -% \end{macrocode} -% \end{macro} -% \begin{macro}{\checkfcolumns} -% But the assumptions for |\aut@check| may be wrong, therefore manual -% control on this checking is also made possible here. The macro -% |\checkfcolumns| provides a way to the user to check that the appropriate -% columns are balanced (as it should in a balance). Arguments |#1| and -% |#2| are the |F|-column numbers to compare. It is the responsibility of -% the user to provide the correct numbers here, otherwise bogus output -% is generated. If this manual check is inserted, the automatic check -% will not be performed. +%When |\aut@check| is finished, |\FC@chklist| is empty again, i.e., well +%prepared for the next time it is used. This also means that the default +%behaviour kicks in again: if that's not what you want, you should +%specify the appropriate |\checkfcolumns| lines again. +%\end{macro} +%\begin{macro}{\fre@t} +%This function eats the first two numbers off |\FC@chklist|. +% \begin{macrocode} +\def\fre@t#1,#2;#3\fre@t{\count0=#1 \count1=#2 \xdef\FC@chklist{#3}} +% \end{macrocode} +%\end{macro} +%\begin{macro}{\checkfcolumns} +%But the assumptions for |\aut@check| may be wrong, therefore manual +%control on this checking is also made possible here. The macro +%|\checkfcolumns| provides a way to the user to check that the appropriate +%columns are balanced (as it should in a balance). Arguments |#1| and +%|#2| are the |F|-column numbers to compare. It is the responsibility of +%the user to provide the correct numbers here, otherwise bogus output +%is generated. If this manual check is inserted, the automatic check +%will not be performed. % \begin{macrocode} \def\checkfcolumns#1#2{\noalign{\xdef\FC@chklist{\FC@chklist #1,#2;}}} % \end{macrocode} -% \end{macro} -% \subsection{Support for package longtable} -% Package |longtable| is used for tables that may span multiple pages. The -% packages |fcolumn| and |longtable| work together provided |longtable| is -% loaded first, so that |fcolumn| can adapt one definition of |longtable|. If -% |longtable| is not loaded, it's a waste of memory having that definition, so -% it is only defined when necessary. For that reason the user is warned (not -% loading |longtable| is obviously not an error if you don't use it) if -% |fcolumn| is loaded without prior loading of |longtable|. +%\end{macro} +%\subsection{Support for multipage tables}\label{multipage} +%Packages |longtable|~\cite{longtable} and |supertabular|~\cite{supertabular} +%can be used for tables that span multiple pages. Package |supertabular| works +%with |fcolumn| out of the box (no changes needed), but may lead to different +%column widths on individual pages. If you don't want that, use |longtable|. +%The packages |fcolumn| and |longtable| also work together provided |longtable| +%is loaded first, so that |fcolumn| can adapt one definition of |longtable|. +%It's a long definition, so if |longtable| is not loaded, it's a waste of memory +%having it; that's why it is only defined when necessary. For that reason the +%user is politely warned (not loading |longtable| is obviously not an error if +%you don't use it) if |fcolumn| is loaded without prior loading of |longtable|. % \begin{macrocode} \ifx\longtable\@undefined - \PackageWarningNoLine{fcolumn}{fcolumn is loaded without longtable. - That's OK, but\MessageBreak if you want to load longtable as well, - make sure \MessageBreak it is done before loading fcolumn}\else + \PackageWarningNoLine{fcolumn}{fcolumn is loaded without package + longtable.\MessageBreak That's perfectly OK, but if you want to + load\MessageBreak longtable as well, make sure it is done before + \MessageBreak loading fcolumn}\else % \end{macrocode} -% \begin{macro}{\LT@array} -% And here is the only definition of |longtable| that needs to be extended -% to make |fcolumn| work with that package. The lines are compacted a bit -% w.r.t.\ the original |longtable| code; if you want to study the -% code, have a look at the documentation~\cite{longtable}. +%\begin{macro}{\LT@array} +%And here is the only definition of |longtable| that needs to be extended +%to make |fcolumn| work with that package. The lines are compacted a bit +%w.r.t.\ the original |longtable| code; if you want to study the +%code, have a look at the documentation~\cite{longtable}. % \begin{macrocode} \def\LT@array[#1]#2{\refstepcounter{table}\stepcounter{LT@tables}\if l#1 \LTleft\z@\LTright\fill\else\if r#1 \LTleft\fill\LTright\z@\else @@ -1415,46 +1457,51 @@ FCtot@\romannumeral\FCsc@l\endcsname}$}% \begingroup\@mkpream{#2}\xdef\LT@bchunk{\global\advance\c@LT@chunks \@ne\global\LT@rows\z@\setbox\z@\vbox\bgroup\LT@setprevdepth\tabskip \LTleft\noexpand\halign to\hsize\bgroup\tabskip\z@\@arstrut\@preamble - \tabskip\LTright\cr}\endgroup + \tabskip\LTright\cr} % \end{macrocode} -% Until this line it was just the code for |\LT@array| from package~|longtable|. -% The two lines of the next chunk are new to |\LT@array|. Their -% purpose is the same as in |\@array| above. +%Until this line it was just the code for |\LT@array| from package~|longtable|. +%The two lines of the next chunk are new to |\LT@array|. Their +%purpose is the same as in |\@array| above. % \begin{macrocode} - \begingroup\@mksumline{#2}\endgroup\res@tsumline + \@mksumline{#2}\endgroup\res@tsumline \everycr{\noalign{\global\FCsc@l=0 }}% % \end{macrocode} -% From here on |\LT@array| is picked up again, ending with the |\fi| that belongs -% to the |\ifx| that started this definition. +%From here on |\LT@array| is picked up again, ending with the |\fi| that belongs +%to the |\ifx| that started this definition. % \begin{macrocode} \expandafter\LT@nofcols\LT@bchunk&\LT@nofcols\LT@make@row\m@th\let \par\@empty\lineskip\z@\baselineskip\z@\LT@bchunk} \fi % \end{macrocode} % \end{macro} -% That's it! -% \section*{Acknowledgement} -% Thanks to Karl Berry for valuable comments regarding the consistency of the -% installation procedure of this version. Frank Mittelbach gave various useful -% suggestions for improving the input parsing as well as hints to make the package -% more \LaTeX-like. He also challenged me to make |fcolumn| compatible with -% |longtable|. Christian Hoff's request on column formatting triggered many -% happy hours of coding. -% \bibliographystyle{plain} -% \begin{thebibliography}{9} -% \itemsep0pt -% \parsep0pt -% \parskip0pt -% \bibitem{array} Frank Mittelbach and David Carlisle. -% A new implementation of \LaTeX's |tabular| and |array| environment. -% \bibitem{booktabs} Simon Fear. The |booktabs| package. Publication quality tables in \LaTeX. -% \bibitem{dcolumn} David Carlisle. The |dcolumn| package. -% \bibitem{longtable} David Carlisle. The |longtable| package. -% \bibitem{world_economy} According to the IMF \url{www.imf.org}. -% \bibitem{CandTB} Donald Knuth, Computers \& Typesetting/B, \TeX: the program. -% \bibitem{CandTA} Donald Knuth, Computers \& Typesetting/A, The \TeX book. -% \bibitem{TAOCP1} Donald Knuth, The Art of Computers Programming, volume~1. -% \bibitem{RJ} William Shakespeare, Romeo and Juliet, a tragedy (1597). -% \end{thebibliography} -% \Finale +%That's it! +% +%\section*{Acknowledgement} +%Thanks to Karl Berry for valuable comments regarding the consistency of the +%installation procedure of this version. Frank Mittelbach gave various useful +%suggestions for improving the input parsing as well as hints to make the package +%more \LaTeX-like. He also challenged me to make |fcolumn| compatible with +%|longtable|. Christian Hoff's request on column formatting triggered many +%happy hours of coding. +%\bibliographystyle{plain} +%\begin{thebibliography}{10} +%\itemsep0pt \parsep0pt \parskip0pt +%\bibitem{array} Frank Mittelbach and David Carlisle. +% A new implementation of \LaTeX's |tabular| and |array| environment. +%\bibitem{booktabs} Simon Fear. The |booktabs| package. Publication quality tables in \LaTeX. +%\bibitem{dcolumn} David Carlisle. The |dcolumn| package. +%\bibitem{longtable} David Carlisle. The |longtable| package. +%\bibitem{supertabular} Theo +% Jurriens \iffalse I checked with Theo that `Jurriens' is correct; not `Jurri\"ens'. \fi +% and Johannes Braams. The |supertabular| package. +%\bibitem{color} David Carlisle. The |color| package. +%\bibitem{CandTB} Donald Knuth, {\it Computers \& Typesetting/B, ``\TeX: the program,''\/} +% Addison-Wesley, Reading (1991). +%\bibitem{CandTA} Donald Knuth, {\it Computers \& Typesetting/A, ``The \TeX book,''\/} +% Addison-Wesley, Reading (1991). +%\bibitem{TAOCP1} Donald Knuth, {\it The Art of Computers Programming, volume~1, +% ``Fundamental Algorithms,''\/} Addison-Wesley, Reading (1997). +%\bibitem{RJ} William Shakespeare, Romeo and Juliet, a tragedy (1597). +%\end{thebibliography} +%\Finale \endinput diff --git a/macros/latex/contrib/fcolumn/fcolumn.ins b/macros/latex/contrib/fcolumn/fcolumn.ins index d4074c1507..a759d441c6 100644 --- a/macros/latex/contrib/fcolumn/fcolumn.ins +++ b/macros/latex/contrib/fcolumn/fcolumn.ins @@ -15,9 +15,7 @@ \keepsilent \preamble -This is a generated file. - -Copyright (C) 2015--2022 by Edgar Olthof +Copyright (C) 2015--2023 by Edgar Olthof This file may be distributed and/or modified under the conditions of the LaTeX Project Public License, either @@ -32,26 +30,24 @@ LaTeX version 1999/12/01 or later. \askforoverwritefalse \usedir{tex/latex/tools} \generate{\file{fcolumn.sty}{\from{fcolumn.dtx}{package}}} - \obeyspaces \Msg{*******************************************************} \Msg{* *} -\Msg{* To finish the installation you have to move the *} -\Msg{* following file *} +\Msg{* To finish the installation you should move the file *} \Msg{* *} -\Msg{* fcolumn.sty *} +\Msg{* fcolumn.sty *} \Msg{* *} \Msg{* into a directory searched by TeX. *} \Msg{* To generate the documentation, type ``make'' or *} \Msg{* run the file fcolumn.dtx through LaTeX. Make sure *} \Msg{* the glossary and index are updated by makeindex: *} \Msg{* *} -\Msg{* makeindex -s gglo.ist -o fcolumn.gls fcolumn.glo *} -\Msg{* makeindex -s gind.ist -o fcolumn.ind fcolumn.idx *} +\Msg{* makeindex -s gglo.ist -o fcolumn.gls fcolumn.glo *} +\Msg{* makeindex -s gind.ist -o fcolumn.ind fcolumn.idx *} \Msg{* *} \Msg{* and then LaTeX again; presto! *} \Msg{* *} -\Msg{* Happy TeXing! *} +\Msg{* Happy TeXing! *} \Msg{* *} \Msg{*******************************************************} \endbatchfile diff --git a/macros/latex/contrib/fcolumn/fcolumn.pdf b/macros/latex/contrib/fcolumn/fcolumn.pdf Binary files differindex e6755b2495..e3bdff4822 100644 --- a/macros/latex/contrib/fcolumn/fcolumn.pdf +++ b/macros/latex/contrib/fcolumn/fcolumn.pdf diff --git a/macros/latex/contrib/fcolumn/makefile b/macros/latex/contrib/fcolumn/makefile index 6a05537aa6..58b140ea85 100644 --- a/macros/latex/contrib/fcolumn/makefile +++ b/macros/latex/contrib/fcolumn/makefile @@ -1,4 +1,4 @@ -.SUFFIXES: .dtx .glo .gls .idx .ind .ins .pdf .sty +.SUFFIXES: .dtx .glo .gls .idx .ind .ins .pdf .sty .tex DIST=fcolumn.dtx fcolumn.ins fcolumn.pdf makefile README .ins.sty: @@ -19,13 +19,16 @@ DIST=fcolumn.dtx fcolumn.ins fcolumn.pdf makefile README .dtx.pdf: pdflatex $< -all: fcolumn.sty fcolumn.pdf +.tex.pdf: + pdflatex $< + +all: fcolumn.pdf install: pdftex fcolumn.ins dist: $(DIST) - mkdir FCv1.4.1temp; cp $(DIST) FCv1.4.1temp; tar -czf fcolumn.tgz FCv1.4.1temp; rm -r FCv1.4.1temp + mkdir FCv1.4.2temp ; cp $(DIST) FCv1.4.2temp/ ; tar -czf fcolumn.tgz FCv1.4.2temp/ ; rm -r FCv1.4.2temp/ fcolumn.pdf: fcolumn.dtx fcolumn.gls fcolumn.ind fcolumn.sty fcolumn.glo fcolumn.idx: fcolumn.dtx diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md index a471996dcf..cbd19e3d0d 100644 --- a/macros/latex/contrib/siunitx/CHANGELOG.md +++ b/macros/latex/contrib/siunitx/CHANGELOG.md @@ -7,6 +7,13 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to ## [Unreleased] +## [v3.2.8] - 2023-07-25 + +### Fixed +- Suppression of leading `1` when `per-mode = symbol` is used with + non-repeated units ranges (see issue + [\#677](https://github.com/josephwright/siunitx/issues/677)) + ## [v3.2.7] - 2023-07-20 ### Fixed @@ -1914,7 +1921,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.2.7...HEAD +[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.2.8...HEAD +[v3.2.8]: https://github.com/josephwright/siunitx/compare/v3.2.7...v3.2.8 [v3.2.7]: https://github.com/josephwright/siunitx/compare/v3.2.6...v3.2.7 [v3.2.6]: https://github.com/josephwright/siunitx/compare/v3.2.5...v3.2.6 [v3.2.5]: https://github.com/josephwright/siunitx/compare/v3.2.4...v3.2.5 diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf Binary files differindex ad5229ba63..bdd6dfe01a 100644 --- a/macros/latex/contrib/siunitx/siunitx-code.pdf +++ b/macros/latex/contrib/siunitx/siunitx-code.pdf diff --git a/macros/latex/contrib/siunitx/siunitx-compound.dtx b/macros/latex/contrib/siunitx/siunitx-compound.dtx index c4d2248845..51701c6915 100644 --- a/macros/latex/contrib/siunitx/siunitx-compound.dtx +++ b/macros/latex/contrib/siunitx/siunitx-compound.dtx @@ -337,7 +337,6 @@ % \l_@@_exp_bracket_bool , % \l_@@_exp_combine_bool , % \l_@@_unit_bracket_bool , -% \l_@@_unit_repeat_bool , % \l_@@_unit_repeat_bool % } % List options. @@ -667,7 +666,9 @@ % % \begin{macro}{\siunitx_compound_quantity:nn} % For quantities, life is more complex as there are interactions between the -% options for exponents and units. +% options for exponents and units. The \cs{c_empty_tl} suppresses any +% leading \texttt{1} if the unit starts \cs{per}; the \pkg{siunitx-print} +% module will skip any printing in this case. % \begin{macrocode} \cs_new_protected:Npn \siunitx_compound_quantity:nn #1#2 { @@ -698,7 +699,7 @@ \siunitx_print_number:V \l_@@_bracket_close_tl } { \@@_print:N \siunitx_print_number:x } - \@@_print_quantity:n { } + \@@_print_quantity:n { \c_empty_tl } } \group_end: } diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx index 0b51a9cd1c..8bc0a2dd71 100644 --- a/macros/latex/contrib/siunitx/siunitx-number.dtx +++ b/macros/latex/contrib/siunitx/siunitx-number.dtx @@ -2619,7 +2619,8 @@ % } % \begin{macro}[EXP]{\@@_round_auxiv:nnN, \@@_round_auxv:nnN} % \begin{macro}[EXP]{\@@_round_auxvi:nN} -% \begin{macro}[EXP]{\@@_round_auxvii:nnN, \@@_round_auxviii:nnN} +% \begin{macro}[EXP]{\@@_round_auxvii:nnTF} +% \begin{macro}[EXP]{\@@_round_auxviii:nnN, \@@_round_auxix:nnN} % \begin{macro}[EXP]{\@@_round_final_integer:nnw, \@@_round_final_decimal:nnw} % \begin{macro}[EXP]{\@@_round_final_signicant:n} % \begin{macro}[EXP]{\@@_round_final_signicant:N} @@ -2731,37 +2732,32 @@ \@@_round_auxvi:nnN {#1} { } #2 \q_recursion_tail \q_recursion_stop } - \bool_lazy_or:nnTF - { \int_compare_p:nNn { 0 \tl_head:n {#1} } < 5 } - { - \bool_lazy_all_p:n - { - { \l_@@_round_half_even_bool } - { ! \int_if_odd_p:n {#3} } - { \@@_round_if_half_p:n {#1} } - } - } + \@@_round_auxvii:nnTF {#1} {#3} { \@@_round_final_decimal:nnw } - { \@@_round_auxvii:nnN } + { \@@_round_auxviii:nnN } {#2} { } #3 } \cs_new:Npn \@@_round_auxvi:nnN #1#2#3 { \quark_if_recursion_tail_stop_do:Nn #3 { { 0 } { } } + \@@_round_auxvii:nnTF {#1} {#3} + { \@@_round_final_integer:nnw } + { \@@_round_auxix:nnN } + { } {#2} #3 + } +\cs_new:Npn \@@_round_auxvii:nnTF #1#2 + { \bool_lazy_or:nnTF { \int_compare_p:nNn { 0 \tl_head:n {#1} } < 5 } { \bool_lazy_all_p:n { { \l_@@_round_half_even_bool } - { ! \int_if_odd_p:n {#3} } + { ! \int_if_odd_p:n {#2} } { \@@_round_if_half_p:n {#1} } } } - { \@@_round_final_integer:nnw } - { \@@_round_auxviii:nnN } - { } {#2} #3 } % \end{macrocode} % The main rounding routines. These are only every called when there is @@ -2771,7 +2767,7 @@ % where a zero is rounded up: that automatically means a need to trim % the other end. % \begin{macrocode} -\cs_new:Npn \@@_round_auxvii:nnN #1#2#3 +\cs_new:Npn \@@_round_auxviii:nnN #1#2#3 { \quark_if_recursion_tail_stop_do:Nn #3 { @@ -2782,12 +2778,12 @@ { \@@_round_truncate:n {#2} } } { - \@@_round_auxviii:nnN {#2} { } #1 + \@@_round_auxix:nnN {#2} { } #1 \q_recursion_tail \q_recursion_stop } } \int_compare:nNnTF {#3} = 9 - { \@@_round_auxvii:nnN {#1} { 0 #2 } } + { \@@_round_auxviii:nnN {#1} { 0 #2 } } { \int_compare:nNnTF {#3} = 0 { @@ -2810,7 +2806,7 @@ } } } -\cs_new:Npn \@@_round_auxviii:nnN #1#2#3 +\cs_new:Npn \@@_round_auxix:nnN #1#2#3 { \quark_if_recursion_tail_stop_do:Nn #3 { @@ -2830,7 +2826,7 @@ } } \int_compare:nNnTF {#3} = 9 - { \@@_round_auxviii:nnN {#1} { 0 #2 } } + { \@@_round_auxix:nnN {#1} { 0 #2 } } { \@@_round_final:fn { \int_eval:n { #3 + 1 } } @@ -2985,6 +2981,7 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} % % \begin{macro}[EXP]{\@@_round_if_half_p:n} % \begin{macro}[EXP]{\@@_round_if_half:N} diff --git a/macros/latex/contrib/siunitx/siunitx-print.dtx b/macros/latex/contrib/siunitx/siunitx-print.dtx index 0e8277cd93..8654060651 100644 --- a/macros/latex/contrib/siunitx/siunitx-print.dtx +++ b/macros/latex/contrib/siunitx/siunitx-print.dtx @@ -106,7 +106,8 @@ % roman font, and |^| and |_| will typically be used to indicate super- and % subscripts, respectively. These elements will be correctly handled when % printing for example using |\mathsf| in math mode, or using only text -% fonts. +% fonts. No printing takes place if the \cs{material} is entirely empty +% after a single expansion. % \end{function} % % \begin{function} @@ -120,7 +121,8 @@ % with a fixed text or math mode output. The printing does \emph{not} set % color (which is managed on a |unit|/|number| basis), but otherwise sets % the font as described above. The |match| function uses either the prevailing -% math or text mode. +% math or text mode. No printing takes place if the \cs{material} is entirely +% empty after a single expansion. % \end{function} % % \subsection{Key--value options} @@ -449,7 +451,10 @@ % } % \begin{macro}{\@@_aux:nn} % The main printing function doesn't actually need to do very much: just set -% the color and select the correct sub-function. +% the color and select the correct sub-function. The \cs{tl_if_empty:oF} is +% needed to allow a leading \texttt{1} to be omitted in the case of a unit +% starting \cs{per} in cases where we can't simply use an entirely empty +% value: see the \pkg{siunitx-compound} submodule. % \begin{macrocode} \cs_new_protected:Npn \siunitx_print_number:n #1 { \@@_aux:nn { number } {#1} } @@ -459,17 +464,20 @@ \cs_generate_variant:Nn \siunitx_print_unit:n { V , x } \cs_new_protected:Npn \@@_aux:nn #1#2 { - \tl_if_empty:cTF { l_@@_ #1 _color_tl } - { \use:n } - { \exp_args:Nv \textcolor { l_@@_ #1 _color_tl } } - { - \use:c + \tl_if_empty:oF {#2} + { + \tl_if_empty:cTF { l_@@_ #1 _color_tl } + { \use:n } + { \exp_args:Nv \textcolor { l_@@_ #1 _color_tl } } { - siunitx_print_ - \tl_use:c { l_@@_ #1 _mode_tl } :n + \use:c + { + siunitx_print_ + \tl_use:c { l_@@_ #1 _mode_tl } :n + } + {#2} } - {#2} - } + } } % \end{macrocode} % \end{macro} diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx index 31b3e79181..75b83bf182 100644 --- a/macros/latex/contrib/siunitx/siunitx.dtx +++ b/macros/latex/contrib/siunitx/siunitx.dtx @@ -122,7 +122,7 @@ % % Identify the package and give the over all version information. % \begin{macrocode} -\ProvidesExplPackage {siunitx} {2023-07-20} {3.2.7} +\ProvidesExplPackage {siunitx} {2023-07-25} {3.2.8} {A comprehensive (SI) units package} % \end{macrocode} % diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf Binary files differindex c89c21174a..3d9dd8b90c 100644 --- a/macros/latex/contrib/siunitx/siunitx.pdf +++ b/macros/latex/contrib/siunitx/siunitx.pdf diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog index 4dcd714589..10b01a415d 100644 --- a/support/TeX4ht/source/ChangeLog +++ b/support/TeX4ht/source/ChangeLog @@ -1,3 +1,12 @@ +2023-07-25 Michal Hoftich <michal.h21@gmail.com> + + * tex4ht-4ht.tex (usepackage.4ht, mathtools-hooks.4ht): fixed + commands declared by \DeclarePairedDelimiter with MathML. + https://github.com/michal-h21/make4ht/issues/126 + + * tex4ht-4ht.tex (listings.4ht): fixed captions in inputed listings. + https://tex.stackexchange.com/a/691965/2891 + 2023-07-11 Michal Hoftich <michal.h21@gmail.com> * tex4ht-mathml.tex (mathml.4ht): fixed \tilde accent in MathML. diff --git a/support/TeX4ht/source/mktex4ht-cnf.tex b/support/TeX4ht/source/mktex4ht-cnf.tex index baaa811433..14e936ccd0 100644 --- a/support/TeX4ht/source/mktex4ht-cnf.tex +++ b/support/TeX4ht/source/mktex4ht-cnf.tex @@ -1,4 +1,4 @@ -% $Id: mktex4ht-cnf.tex 1325 2023-04-21 13:23:46Z michal_h21 $ +% $Id: mktex4ht-cnf.tex 1349 2023-07-25 14:28:00Z michal_h21 $ % Manually-maintained file, listing *.4ht files created by tex4ht-4ht.tex. % Read by tex4ht-cond4ht. % @@ -136,6 +136,7 @@ \AddFile{5}{amstex1} \AddFile{9}{braket} \AddFile{9}{mathtools} +\AddFile{9}{mathtools-hooks} \AddFile{9}{llncs} \AddFile{9}{llncs-a} \AddFile{9}{lncse} diff --git a/support/TeX4ht/source/tex4ht-4ht.tex b/support/TeX4ht/source/tex4ht-4ht.tex index bccb26c5a2..5e2194d73c 100644 --- a/support/TeX4ht/source/tex4ht-4ht.tex +++ b/support/TeX4ht/source/tex4ht-4ht.tex @@ -1,4 +1,4 @@ -% $Id: tex4ht-4ht.tex 1339 2023-06-11 15:01:09Z karl $ +% $Id: tex4ht-4ht.tex 1349 2023-07-25 14:28:00Z michal_h21 $ % tex tex4ht-4ht or ht tex tex4ht-4ht % % Copyright 2009-2023 TeX Users Group @@ -22080,6 +22080,45 @@ $\m@th\displaystyle{{}#}$% \NewConfigure{dcases*}{6} >>> +\<add to usepackage\><<< +\Configure{PackageHooks}{mathtools.sty}{mathtools-hooks.4ht} +>>> + +\<mathtools-hooks.4ht\><<< +% mathtools-hooks.4ht, generated from |jobname.tex +% Copyright 2023 TeX Users Group +|<TeX4ht license text|> +|<mathtools inner wrapper|> +>>> +\AddFile{9}{mathtools-hooks} + + +This should prevent compilation errors with commands declared using \''\DeclarePairedDelimiter' and MathML. +We need to patch the command at the moment when it is declared, so it must be available +already in the preamble. This is why we use early hooks. + +\<mathtools inner wrapper\><<< +\ExplSyntaxOn +\:AtEndOfPackage{ +\renewcommand\MT_delim_default_inner_wrappers:n [1]{ + \@namedef{MT_delim_\MH_cs_to_str:N #1 _star_wrapper:nnn}##1##2##3{ + \ifx\EndPicture\undefined + \bgroup ##1 ##2 ##3\egroup + \else + \mathopen{}\mathclose\bgroup ##1 ##2 \aftergroup\egroup ##3 + \fi + } + \@namedef{MT_delim_\MH_cs_to_str:N #1 _nostarscaled_wrapper:nnn}##1##2##3{ + \mathopen{##1}##2\mathclose{##3} + } + \@namedef{MT_delim_\MH_cs_to_str:N #1 _nostarnonscaled_wrapper:nnn}##1##2##3{ + \mathopen##1##2\mathclose##3 + } + } +} +\ExplSyntaxOff +>>> + %%%%%%%%%%%%%%%%%%%%%% \Chapter{Other} %%%%%%%%%%%%%%%%%%%%%% @@ -32410,7 +32449,10 @@ Configure list of listings \expandafter\lstset\expandafter{\lst@set}% \lsthk@DisplayStyle% \catcode\active=\active% - \a:lstinputlisting\ht:special{t4ht@[}\lst@Init\relax \let\lst@gobble\z@% + \a:lstinputlisting\ht:special{t4ht@[} + \pend:def\cptA:{\ht:special{t4ht@]}} + \append:def\cptD:{\ht:special{t4ht@[}} + \lst@Init\relax \let\lst@gobble\z@% \lst@SkipToFirst% \lst@ifprint \def\lst@next{\input{#1}}% \else \let\lst@next\@empty \fi% diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl index 7cf4006c32..a6b120836c 100644 --- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl @@ -45,7 +45,6 @@ $mirrors = { 'https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/' => 1, }, 'Korea' => { - 'https://cran.asia/tex/' => 1, 'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1, 'https://lab.uklee.pe.kr/tex-archive/' => 1, 'https://mirror.kakao.com/CTAN/' => 1, diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index cbbb8e16de..66b1f8c326 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/67725 +depend revision/67731 name 00texlive.image category TLCore @@ -4769,7 +4769,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 67720 +revision 67727 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 @@ -119635,7 +119635,7 @@ catalogue-version 1.0 name fcolumn category Package -revision 61855 +revision 67729 shortdesc Typesetting financial tables relocated 1 longdesc In financial reports, text and currency amounts are regularly @@ -119643,25 +119643,25 @@ longdesc put in one table, e.g., a year balance or a profit-and-loss longdesc overview. This package provides the settings for automatically longdesc typesetting such columns, including the sum line (preceded by a longdesc rule of the correct width) using the specifier "f". -containersize 4300 -containerchecksum 17820804588458b805a65eee92f4fff31a73b7285f85546e0006ca6ee374706bc4df9f78eb044d8b79ea26b27b16f3ae38f035d8843906efc0043e1754f6ed3d -doccontainersize 320148 -doccontainerchecksum d7822b79097ec0d58468dbf46e0b2651f97e763c3212102def2c247ff3088dab4088afe2c4aa5d97bd6360b24e38da6e872fd25f9928724f151c03769ce2c219 -docfiles size=80 +containersize 4392 +containerchecksum 0edaa6ad0c01a2cf9cc06c65fec3bc13b85be893d7fcf4a92b0c8760d1999e5c3b90975e44c586ef104b020eaa0a18cfc4476b3abb243c5f2862941864113bd2 +doccontainersize 517888 +doccontainerchecksum 9be3c50f25522c3fafb52432b74f6ab755afc02df04da84383ebb466bd9424c716082d3d6ff176d32c03c9097b6e39c6f54e70cd8218784492d2ebe37de0ebd8 +docfiles size=129 RELOC/doc/latex/fcolumn/README details="Readme" RELOC/doc/latex/fcolumn/fcolumn.pdf details="Package documentation" RELOC/doc/latex/fcolumn/makefile -srccontainersize 21760 -srccontainerchecksum f3d27931c2586d48fd34fe59b5277c67a3e1a6e25f486a1c3226385b3ada23c655cfbd25b26470ca84b80cd7d9c1d9b72172a0b11e1e0f35899cd3a3608f42ac -srcfiles size=18 +srccontainersize 23008 +srccontainerchecksum e122343109c0367d3f22bfc2b3775ae10545a01d18908cd227422060ba3c685e35beae26c6892479e03c3a4f774e2f9edfcfd60d6cba0880a4279e610de1050a +srcfiles size=19 RELOC/source/latex/fcolumn/fcolumn.dtx RELOC/source/latex/fcolumn/fcolumn.ins -runfiles size=3 +runfiles size=4 RELOC/tex/latex/fcolumn/fcolumn.sty catalogue-ctan /macros/latex/contrib/fcolumn catalogue-license lppl1.3 catalogue-topics table -catalogue-version 1.4.1 +catalogue-version 1.4.2 name fdsymbol category Package @@ -285219,7 +285219,7 @@ catalogue-version 1.36 name siunitx category Package -revision 67695 +revision 67730 shortdesc A comprehensive (SI) units package relocated 1 longdesc Typesetting values with units requires care to ensure that the @@ -285244,17 +285244,17 @@ longdesc The package relies on LaTeX 3 support from the l3kernel and longdesc l3packages bundles. depend l3kernel depend l3packages -containersize 66212 -containerchecksum e010102003a30fd4ec661fe5e2be684987cd35ed21e2bd11629a7e7dd8af6e00608fc4ba7bfb4ba33535cf1d89b6b0d628adbbe395358dd9ec918fe0ca2c0c8d -doccontainersize 1268316 -doccontainerchecksum 36d4053b489780f4a812e98adc9bbde2e3fbf9a370383b60c36e996c7406b9291cd5726e93a564dc93ea11903c2ce4f4b762a33de1bc8d55d799d82598ce1fb1 -docfiles size=345 +containersize 66248 +containerchecksum ad25a8cd669bc1a2ca62aa58c7c82409c0c92c4c6420daeb96fa58ece7171e28f22239689ec0921284973ce1c6d8b4c52f65adbff79ddc3292722f7c7cc59f60 +doccontainersize 1269712 +doccontainerchecksum 0aed04072144d56994af080d5e8befe56c3e5fb24405e85fee194640c74de55ecc9be8d9267894f9716858ce0a86a89ae45767fe54da41f0c3bc9a88e34569ba +docfiles size=346 RELOC/doc/latex/siunitx/CHANGELOG.md RELOC/doc/latex/siunitx/README.md details="Readme" RELOC/doc/latex/siunitx/siunitx-code.pdf details="Code documentation" RELOC/doc/latex/siunitx/siunitx.pdf details="User manual" -srccontainersize 118216 -srccontainerchecksum 3b961662a5ab00a95e4c734ca9c6054af357d5bacd406bb15d63b06b56cf378aac808bd4c47a3479cc1e7eb8f24aaeefc8c37114825e7badb160997d5bc635a3 +srccontainersize 118388 +srccontainerchecksum fc7c3f98376e91e667816b89ca4476a2eceadb3c59173e9c71e715ea81fcc470b3c4bdf5b676700e0c08b4fb36b3d2509cada36114ea9478c12475e82a0ce0b8 srcfiles size=183 RELOC/source/latex/siunitx/siunitx-abbreviation.dtx RELOC/source/latex/siunitx/siunitx-angle.dtx @@ -285286,7 +285286,7 @@ catalogue-contact-repository https://github.com/josephwright/siunitx catalogue-ctan /macros/latex/contrib/siunitx catalogue-license lppl1.3c catalogue-topics units scientific-docs expl3 -catalogue-version 3.2.7 +catalogue-version 3.2.8 name skak category Package @@ -302098,7 +302098,7 @@ binfiles arch=x86_64-solaris size=1 name tex4ht category Package -revision 67610 +revision 67731 shortdesc Convert (La)TeX to HTML/XML longdesc A converter from TeX and LaTeX to SGML-based formats such as longdesc (X)HTML, MathML, OpenDocument, and Docbook, providing a @@ -302119,10 +302119,10 @@ longdesc files from them is nontrivial, and generally done with the longdesc Makefile in development, from which the TeX4ht package in TeX longdesc Live is updated. depend tex4ht.ARCH -containersize 1092008 -containerchecksum ea02ea71f3491455b17101ea4c7738d39e1f05430a9c512c3327eb204d2c738f563ca0735ad45fe4fff077cdc44dbc532c314041312fbe50d32cebab7199cfe5 +containersize 1092156 +containerchecksum 3efa494641cefc51db8c9edea5f80e4c9bc851ab272a57cae4b9f67562fcd5818bb7b4c4b3d41c8109c05ed58219c18412b359e1ef73844caa117f665da026c6 doccontainersize 136384 -doccontainerchecksum eb2d5611ad12d458f692d71feb5a3a0510ddc976e23c097e9aa9fec34165c9b8406e485aadee903d62efdb73d3e240d834616ae2a3db9eda75b2a50ee8d7d89e +doccontainerchecksum 6f18e6db0fb1418fbd329ac894266ed996f5fe865a8761bd45c28300a739107b8f6ba1dde3ab6e8e094dcf967cece1a48d389ba36542762a6e59d218cd15e24a docfiles size=260 texmf-dist/doc/generic/tex4ht/Makefile texmf-dist/doc/generic/tex4ht/README details="Readme" @@ -302194,8 +302194,8 @@ docfiles size=260 texmf-dist/doc/generic/tex4ht/mn56.html texmf-dist/doc/generic/tex4ht/mn5x.png texmf-dist/doc/generic/tex4ht/mn6x.png -srccontainersize 1455676 -srccontainerchecksum 258b80c6291c9896853215d1058f3eb0da27df022b8eff9fe1c5083dd8ea21a28c35c09023da6ecd9c5f044decde38aa33224f6831b371ce10b5c9223c82a616 +srccontainersize 1450424 +srccontainerchecksum f826253b2e6530ad0e59804e75b372f641cbe52d98396367951148516eb0378b6de7da800dedfb87f7012a3674d215908cca21e5340b76cbd204d014a155b518 srcfiles size=4392 texmf-dist/source/generic/tex4ht/ChangeLog texmf-dist/source/generic/tex4ht/Makefile @@ -302275,7 +302275,7 @@ srcfiles size=4392 texmf-dist/source/generic/tex4ht/update-htfonts texmf-dist/source/generic/tex4ht/wripro.tex texmf-dist/source/generic/tex4ht/xtpipes.tex -runfiles size=12240 +runfiles size=12241 texmf-dist/scripts/tex4ht/ht.sh texmf-dist/scripts/tex4ht/htcontext.sh texmf-dist/scripts/tex4ht/htcopy.pl @@ -302576,6 +302576,7 @@ runfiles size=12240 texmf-dist/tex/generic/tex4ht/mathltx.4ht texmf-dist/tex/generic/tex4ht/mathml.4ht texmf-dist/tex/generic/tex4ht/mathplayer.4ht + texmf-dist/tex/generic/tex4ht/mathtools-hooks.4ht texmf-dist/tex/generic/tex4ht/mathtools.4ht texmf-dist/tex/generic/tex4ht/mdframed.4ht texmf-dist/tex/generic/tex4ht/mdwlist.4ht @@ -313711,7 +313712,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 67720 +revision 67727 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. @@ -313719,10 +313720,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 114024 -containerchecksum 0d7bccb24ee65cba050e397bda4952a059d7c49437a4d4cecf599096260df8e9e9c36cbac42d29146376d508bca1f50c93c1e3cd96a89c19afe623cd51fc1bf4 -doccontainersize 428040 -doccontainerchecksum 6c10c113bc069b0298ea3f2c71a07a6c9fa4af62bd5709b12ee94d8ce9699bcce6b464bfd75c1c292e50b190d7f421d480ebe69c613f8d19c7774598146c95ba +containersize 114016 +containerchecksum d3fe8bb76464c573c01da76ccca3c0b5365007b0f2794d7143a6a0b128a0a4ea4e23951547082106769c957e99a9e550635e42a4e2d9c8f728e874c7e9a43163 +doccontainersize 428184 +doccontainerchecksum c292db5885990de7dd5a8a6dc5c7b1eb38c7d1fb77e03809330b501dd3b57bc73000426757fe64fc879eb31956c9520a50accd004cb967541b610565c2ea82de docfiles size=547 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 963266be69..0173a8798c 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -a6520f5cfd1f37693ed91295d1ecb9f2 texlive.tlpdb +40d8f5c418bef5637b70b5fc99e54924 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index 59e1718a3d..f243cd8946 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -e6881b68932bc55d9e52641f4b31f0046d1e27fe4e0d4df2f0d69c692fe14482f58e3c6f1f331f376ba1a68a3531b8343351aeabd8a44370a1e24f9cc303ce78 texlive.tlpdb +1f75ae5b5a7dd7963eaf760bf217e98ade1b5ce1bcf7da8829edd3da3c8e143ad09cd7255e7fc5965ea04525785cf3540e80cdf6f87daa0662dafd6e6d6bee5b texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index a2dfc29fd7..92c0381bab 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+QqiBBqTOGHfhlDjHAFAmS/DR4ACgkQTOGHfhlD -jHAGjQgApceIFNCPvucNnW6fijrDfyy+OJf7iKpL08TbIijRiAzRKftM9nqXWzVt -dpe9PsD87cV3MJ+gDghMVWJqyOwFnzU4Him981tMWGz3ELzpbyTHTAhlK7LTtjlO -nf6XrfESVI7PQjHnjE2i+A1kafhFUQI9OK2kFVCP9M6uWkXu04ZLy3ZAWcVmXZhm -V8R0pSH/RiLsIm0sGJSWp7PgctoYBUu5+qf/7M5g6QsGPfwchrRhsWVCDHtDIrgW -CgkP96cJK6M3p4na9ntxlV0JD/VZllyRSMhG32z6x3TSyBmGi7Fy1trvgFn0oBSF -xq/+/uknXPKWTuK5GOXxfCUWR0mfmw== -=NL4u +iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmTAXs0ACgkQTOGHfhlD +jHC7OQf+PJEH1Cb4JM2p9GG2KF1fRSivwRXFNnatcfDy89Dth9JuIjhuHxnA/FRx +zuI/GinZyfDZSTJaESOe9ZR2MA1IzX2bAShs1RccJIQqCzZGMw9RJ4b+gPYT9MzP +3JJZHoXpacxI5leEOmbX3+tyRDRruZAAh4EGD6sQe5NO65AXBryhyAyB1EKBsGkU +Qjs4hm3peBY5s6eWT31Mvj0MnBfE3MUFf/63/fSGefsnD5gyN3L3v5bq21AfS98F +x2OEQKg4O7KCkY3lseuhBHKJG4B0jsomrgwbgX6JcrHReaZqxsXz9aTu8IacIdup +IYo/zp5+VpF0v43D5Gy5FMPTuMdvRQ== +=JObw -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz Binary files differindex f082cad72d..3f65c23f2b 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz @@ -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-07-25-02-02 +2023-07-26-02-02 |