From c4dbe7c982d00abf62e9a8927ecdef11521773a8 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 18 Jan 2024 03:01:29 +0000 Subject: CTAN sync 202401180301 --- FILES.byname | 459 +++++++++++---------- FILES.byname.gz | Bin 2592248 -> 2592169 bytes FILES.last07days | 458 ++++++++++---------- biblio/bibtex/utils/bibcop/bibcop.1 | 2 +- biblio/bibtex/utils/bibcop/bibcop.dtx | 28 +- biblio/bibtex/utils/bibcop/bibcop.pdf | Bin 348056 -> 347804 bytes biblio/bibtex/utils/bibcop/bibcop.pl | 8 +- biblio/ctan-bibdata/ctan.bib | 49 ++- .../kaytannollista-latexia.pdf | Bin 911212 -> 922644 bytes .../kaytannollista-latexia.tex | 4 +- info/kaytannollista-latexia/luku-asetukset.tex | 414 ++++++++++++------- info/kaytannollista-latexia/luku-erikoiset.tex | 2 +- info/kaytannollista-latexia/luku-merkintakieli.tex | 2 +- info/kaytannollista-latexia/luku-rakenne.tex | 38 +- .../luku-valmistautuminen.tex | 51 ++- info/kaytannollista-latexia/tavutusvihjeet.tex | 3 + info/kaytannollista-latexia/versio.tex | 2 +- macros/latex/contrib/easybook/easybook.dtx | 28 +- macros/latex/contrib/easybook/easybook.pdf | Bin 601383 -> 599045 bytes macros/latex/contrib/easybook/easybook.tex | 18 +- macros/latex/contrib/pagelayout/README.md | 51 ++- macros/latex/contrib/pagelayout/doc/banner.tex | 2 +- .../latex/contrib/pagelayout/doc/example-book.tex | 2 +- .../pagelayout/doc/example-borders-and-shadows.tex | 2 +- .../contrib/pagelayout/doc/example-graphic.tex | 2 +- .../latex/contrib/pagelayout/doc/example-grid.tex | 2 +- .../contrib/pagelayout/doc/example-template.tex | 2 +- .../latex/contrib/pagelayout/doc/example-text.tex | 2 +- .../doc/pagelayout-manual-layout-guides.tex | 2 +- .../contrib/pagelayout/doc/pagelayout-manual.pdf | Bin 75095 -> 75292 bytes .../contrib/pagelayout/doc/pagelayout-manual.tex | 176 ++++---- .../latex/contrib/pagelayout/doc/quickstart-1.svg | 2 +- .../latex/contrib/pagelayout/doc/quickstart-2.svg | 2 +- .../latex/contrib/pagelayout/doc/quickstart-3.svg | 2 +- macros/latex/contrib/pagelayout/doc/quickstart.pdf | Bin 121788 -> 103111 bytes macros/latex/contrib/pagelayout/doc/quickstart.tex | 43 +- .../latex/contrib/pagelayout/scripts/pagelayoutapi | 12 +- macros/latex/contrib/pagelayout/scripts/textestvis | 4 +- macros/latex/contrib/pagelayout/tex/pagelayout.cls | 372 +++++++++++++++-- macros/latex/contrib/preview/preview.dtx | 6 +- macros/latex/contrib/preview/preview.pdf | Bin 343676 -> 343466 bytes macros/latex/contrib/pythonimmediate/README | 2 +- .../contrib/pythonimmediate/pythonimmediate.pdf | Bin 431593 -> 437287 bytes .../contrib/pythonimmediate/pythonimmediate.sty | 18 +- .../contrib/pythonimmediate/pythonimmediate.tex | 51 ++- .../pythonimmediate/pythonimmediate_helper.lua | 131 +++++- macros/latex/contrib/runcode/README | 2 +- macros/latex/contrib/runcode/runcode.pdf | Bin 251374 -> 251370 bytes macros/latex/contrib/runcode/runcode.sty | 47 ++- macros/latex/contrib/runcode/runcode.tex | 21 +- macros/latex/contrib/unicode-math-input/README | 2 +- .../unicode-math-input-script.py | 311 ++++++++------ .../unicode-math-input-table.tex | 96 ++--- .../unicode-math-input/unicode-math-input.pdf | Bin 98884 -> 107101 bytes .../unicode-math-input/unicode-math-input.sty | 63 ++- .../unicode-math-input/unicode-math-input.tex | 115 +++++- support/TeX4ht/source/ChangeLog | 9 + support/TeX4ht/source/tex4ht-4ht.tex | 15 +- support/latexindent/LatexIndent/Replacement.pm | 2 +- support/latexindent/LatexIndent/Version.pm | 4 +- support/latexindent/README | 2 +- support/latexindent/bin/linux/latexindent | Bin 6173556 -> 6173561 bytes support/latexindent/bin/macos/latexindent | Bin 6402792 -> 6402796 bytes support/latexindent/defaultSettings.yaml | 2 +- .../documentation/latexindent-yaml-schema.json | 2 +- support/latexindent/documentation/latexindent.pdf | Bin 1280662 -> 1280496 bytes support/latexindent/latexindent.pl | 2 +- systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm | 36 +- systems/texlive/tlnet/tlpkg/installer/config.guess | 11 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb | 348 +++++++++------- systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 | 2 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 | 2 +- .../texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc | 16 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz | Bin 2520276 -> 2521520 bytes timestamp | 2 +- 75 files changed, 2188 insertions(+), 1378 deletions(-) mode change 100644 => 100755 macros/latex/contrib/unicode-math-input/unicode-math-input-script.py diff --git a/FILES.byname b/FILES.byname index f5282122d7..5fb2028a5c 100644 --- a/FILES.byname +++ b/FILES.byname @@ -1530,16 +1530,16 @@ 1997/02/27 | 18375 | biblio/bibtex/utils/bibclean/bibclean-2.11.3.tar-lst 2006/06/02 | 55589 | biblio/bibtex/utils/bibclean/bibclean.pdf 2006/06/02 | 26456 | biblio/bibtex/utils/bibclean/README -2024/01/16 | 958 | biblio/bibtex/utils/bibcop/bibcop.1 -2024/01/16 | 16344 | biblio/bibtex/utils/bibcop/bibcop.dtx -2024/01/16 | 2628 | biblio/bibtex/utils/bibcop/bibcop.ins -2024/01/16 | 5100 | biblio/bibtex/utils/bibcop/bibcop-logo.pdf -2024/01/16 | 348056 | biblio/bibtex/utils/bibcop/bibcop.pdf -2024/01/16 | 26644 | biblio/bibtex/utils/bibcop/bibcop.pl -2024/01/16 | 211 | biblio/bibtex/utils/bibcop/DEPENDS.txt -2024/01/16 | 1083 | biblio/bibtex/utils/bibcop/LICENSE.txt -2024/01/16 | 2917 | biblio/bibtex/utils/bibcop/README.md -2024/01/16 | 367397 | biblio/bibtex/utils/bibcop.zip +2024/01/17 | 958 | biblio/bibtex/utils/bibcop/bibcop.1 +2024/01/17 | 16186 | biblio/bibtex/utils/bibcop/bibcop.dtx +2024/01/17 | 2628 | biblio/bibtex/utils/bibcop/bibcop.ins +2024/01/17 | 5100 | biblio/bibtex/utils/bibcop/bibcop-logo.pdf +2024/01/17 | 347804 | biblio/bibtex/utils/bibcop/bibcop.pdf +2024/01/17 | 26686 | biblio/bibtex/utils/bibcop/bibcop.pl +2024/01/17 | 211 | biblio/bibtex/utils/bibcop/DEPENDS.txt +2024/01/17 | 1083 | biblio/bibtex/utils/bibcop/LICENSE.txt +2024/01/17 | 2917 | biblio/bibtex/utils/bibcop/README.md +2024/01/17 | 367094 | biblio/bibtex/utils/bibcop.zip 2019/03/30 | 43446 | biblio/bibtex/utils/bibexport/bibexport.dtx 2019/03/30 | 2002 | biblio/bibtex/utils/bibexport/bibexport.ins 2019/03/30 | 256849 | biblio/bibtex/utils/bibexport/bibexport.pdf @@ -2077,12 +2077,12 @@ 2023/10/05 | 1710 | biblio/citation-style-language/README.md 2023/10/05 | 12878 | biblio/citation-style-language/vancouver.csl 2023/10/05 | 4531754 | biblio/citation-style-language.zip -2024/01/16 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2024/01/17 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx 2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx -2024/01/16 | 2839351 | biblio/ctan-bibdata/ctan.bib -2024/01/16 | 3708800 | biblio/ctan-bibdata/ctan.pdf +2024/01/17 | 2839741 | biblio/ctan-bibdata/ctan.bib +2024/01/17 | 3708800 | biblio/ctan-bibdata/ctan.pdf 2023/01/16 | 1489 | biblio/ctan-bibdata/README -2024/01/16 | 4115526 | biblio/ctan-bibdata.zip +2024/01/17 | 4115596 | 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 @@ -5444,7 +5444,7 @@ 1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp 1990/10/02 | 812 | dviware/vutex/vaxvms.ins 1990/10/02 | 127576 | dviware/vutex/vutex.web -2024/01/16 | 81817 | FILES.last07days +2024/01/17 | 89293 | 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 @@ -195730,20 +195730,20 @@ 2019/01/28 | 1187 | info/joy-of-tex/README 2019/01/29 | 3973964 | info/joy-of-tex.zip 1995/01/19 | 36098 | info/jrtex12a -2024/01/01 | 911212 | info/kaytannollista-latexia/kaytannollista-latexia.pdf -2024/01/01 | 14365 | info/kaytannollista-latexia/kaytannollista-latexia.tex -2024/01/01 | 3039 | info/kaytannollista-latexia/kirjallisuutta.bib -2024/01/01 | 130477 | info/kaytannollista-latexia/luku-asetukset.tex -2024/01/01 | 21322 | info/kaytannollista-latexia/luku-erikoiset.tex -2024/01/01 | 2633 | info/kaytannollista-latexia/luku-esipuhe.tex -2024/01/01 | 88544 | info/kaytannollista-latexia/luku-merkintakieli.tex -2024/01/01 | 12366 | info/kaytannollista-latexia/luku-muuta.tex -2024/01/01 | 321049 | info/kaytannollista-latexia/luku-rakenne.tex -2024/01/01 | 20785 | info/kaytannollista-latexia/luku-valmistautuminen.tex -2024/01/01 | 5851 | info/kaytannollista-latexia/README.md -2024/01/01 | 12648 | info/kaytannollista-latexia/tavutusvihjeet.tex -2024/01/01 | 27 | info/kaytannollista-latexia/versio.tex -2024/01/01 | 1064123 | info/kaytannollista-latexia.zip +2024/01/17 | 922644 | info/kaytannollista-latexia/kaytannollista-latexia.pdf +2024/01/17 | 14425 | info/kaytannollista-latexia/kaytannollista-latexia.tex +2024/01/17 | 3039 | info/kaytannollista-latexia/kirjallisuutta.bib +2024/01/17 | 135554 | info/kaytannollista-latexia/luku-asetukset.tex +2024/01/17 | 21323 | info/kaytannollista-latexia/luku-erikoiset.tex +2024/01/17 | 2633 | info/kaytannollista-latexia/luku-esipuhe.tex +2024/01/17 | 88547 | info/kaytannollista-latexia/luku-merkintakieli.tex +2024/01/17 | 12366 | info/kaytannollista-latexia/luku-muuta.tex +2024/01/17 | 321037 | info/kaytannollista-latexia/luku-rakenne.tex +2024/01/17 | 20691 | info/kaytannollista-latexia/luku-valmistautuminen.tex +2024/01/17 | 5851 | info/kaytannollista-latexia/README.md +2024/01/17 | 12686 | info/kaytannollista-latexia/tavutusvihjeet.tex +2024/01/17 | 29 | info/kaytannollista-latexia/versio.tex +2024/01/17 | 1076305 | info/kaytannollista-latexia.zip 2017/08/18 | 333896 | info/knuth/cwebman.pdf 2023/06/15 | 620037 | info/knuth-hint/bibtex/bibtex-changes.hnt 2023/06/15 | 745152 | info/knuth-hint/bibtex/bibtex.hnt @@ -199038,7 +199038,7 @@ 2022/12/16 | 34891 | install/macros/latex/contrib/ocgx2.tds.zip 2012/12/08 | 1025300 | install/macros/latex/contrib/ocgx.tds.zip 2023/04/18 | 543445 | install/macros/latex/contrib/pagecolor.tds.zip -2023/12/21 | 4719139 | install/macros/latex/contrib/pagelayout.tds.zip +2024/01/17 | 4935296 | install/macros/latex/contrib/pagelayout.tds.zip 2009/09/03 | 151471 | install/macros/latex/contrib/pagenote.tds.zip 2015/12/21 | 991192 | install/macros/latex/contrib/pageslts.tds.zip 2023/04/12 | 444471 | install/macros/latex/contrib/papermas.tds.zip @@ -224501,12 +224501,12 @@ 2008/02/10 | 19110 | macros/latex/contrib/ean13isbn/License.txt 2021/01/24 | 422 | macros/latex/contrib/ean13isbn/README 2021/01/24 | 322624 | macros/latex/contrib/ean13isbn.zip -2024/01/16 | 76095 | macros/latex/contrib/easybook/easybook.dtx +2024/01/17 | 75632 | macros/latex/contrib/easybook/easybook.dtx 2024/01/04 | 2081 | macros/latex/contrib/easybook/easybook.ins -2024/01/16 | 601383 | macros/latex/contrib/easybook/easybook.pdf -2024/01/16 | 88258 | macros/latex/contrib/easybook/easybook.tex +2024/01/17 | 599045 | macros/latex/contrib/easybook/easybook.pdf +2024/01/17 | 88205 | macros/latex/contrib/easybook/easybook.tex 2024/01/03 | 801 | macros/latex/contrib/easybook/README.md -2024/01/16 | 644406 | macros/latex/contrib/easybook.zip +2024/01/17 | 641945 | macros/latex/contrib/easybook.zip 2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf 2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf 2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf @@ -237094,45 +237094,45 @@ 2022/09/22 | 337475 | macros/latex/contrib/pagegrid/pagegrid.pdf 2022/09/22 | 252 | macros/latex/contrib/pagegrid/README.md 2022/09/22 | 333189 | macros/latex/contrib/pagegrid.zip -2023/12/21 | 1028 | macros/latex/contrib/pagelayout/doc/1x1.pdf -2023/12/21 | 1064 | macros/latex/contrib/pagelayout/doc/2x1.pdf -2023/12/21 | 1067 | macros/latex/contrib/pagelayout/doc/3x2.pdf -2023/12/21 | 8993 | macros/latex/contrib/pagelayout/doc/banner.pdf -2023/12/21 | 17433 | macros/latex/contrib/pagelayout/doc/banner.svg -2023/12/21 | 1191 | macros/latex/contrib/pagelayout/doc/banner.tex -2023/12/21 | 137910 | macros/latex/contrib/pagelayout/doc/example-book.pdf -2023/12/21 | 1985 | macros/latex/contrib/pagelayout/doc/example-book.tex -2023/12/21 | 133420 | macros/latex/contrib/pagelayout/doc/example-borders-and-shadows.pdf -2023/12/21 | 1097 | macros/latex/contrib/pagelayout/doc/example-borders-and-shadows.tex -2023/12/21 | 37253 | macros/latex/contrib/pagelayout/doc/example-graphic.pdf -2023/12/21 | 758 | macros/latex/contrib/pagelayout/doc/example-graphic.tex -2023/12/21 | 12036 | macros/latex/contrib/pagelayout/doc/example-grid.pdf -2023/12/21 | 2212 | macros/latex/contrib/pagelayout/doc/example-grid.tex -2023/12/21 | 6305 | macros/latex/contrib/pagelayout/doc/example-template.pdf -2023/12/21 | 955 | macros/latex/contrib/pagelayout/doc/example-template.tex -2023/12/21 | 11123 | macros/latex/contrib/pagelayout/doc/example-text.pdf -2023/12/21 | 1075 | macros/latex/contrib/pagelayout/doc/example-text.tex -2023/12/21 | 1419852 | macros/latex/contrib/pagelayout/doc/kopi.jpg -2023/12/21 | 6493 | macros/latex/contrib/pagelayout/doc/pagelayout-manual-layout-guides.pdf -2023/12/21 | 817 | macros/latex/contrib/pagelayout/doc/pagelayout-manual-layout-guides.tex -2023/12/21 | 75095 | macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf -2023/12/21 | 24244 | macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex -2023/12/21 | 14146 | macros/latex/contrib/pagelayout/doc/quickstart-1.svg -2023/12/21 | 5436 | macros/latex/contrib/pagelayout/doc/quickstart-2.svg -2023/12/21 | 127290 | macros/latex/contrib/pagelayout/doc/quickstart-3.svg -2023/12/21 | 121788 | macros/latex/contrib/pagelayout/doc/quickstart.pdf -2023/12/21 | 1277 | macros/latex/contrib/pagelayout/doc/quickstart.tex -2023/12/21 | 19040 | macros/latex/contrib/pagelayout/LICENSE -2023/12/21 | 3642 | macros/latex/contrib/pagelayout/README.md -2023/12/21 | 8918 | macros/latex/contrib/pagelayout/scripts/pagelayoutapi -2023/12/21 | 3378 | macros/latex/contrib/pagelayout/scripts/pagelayoutapi.1 -2023/12/21 | 3114 | macros/latex/contrib/pagelayout/scripts/pagelayoutapi.1.md -2023/12/21 | 12199 | macros/latex/contrib/pagelayout/scripts/textestvis -2023/12/21 | 1680 | macros/latex/contrib/pagelayout/scripts/textestvis.1 -2023/12/21 | 1419 | macros/latex/contrib/pagelayout/scripts/textestvis.1.md -2023/12/21 | 2671192 | macros/latex/contrib/pagelayout/tests.zip -2023/12/21 | 141454 | macros/latex/contrib/pagelayout/tex/pagelayout.cls -2023/12/21 | 4715965 | macros/latex/contrib/pagelayout.zip +2024/01/17 | 1028 | macros/latex/contrib/pagelayout/doc/1x1.pdf +2024/01/17 | 1064 | macros/latex/contrib/pagelayout/doc/2x1.pdf +2024/01/17 | 1067 | macros/latex/contrib/pagelayout/doc/3x2.pdf +2024/01/17 | 8993 | macros/latex/contrib/pagelayout/doc/banner.pdf +2024/01/17 | 17433 | macros/latex/contrib/pagelayout/doc/banner.svg +2024/01/17 | 1191 | macros/latex/contrib/pagelayout/doc/banner.tex +2024/01/17 | 137910 | macros/latex/contrib/pagelayout/doc/example-book.pdf +2024/01/17 | 1985 | macros/latex/contrib/pagelayout/doc/example-book.tex +2024/01/17 | 133420 | macros/latex/contrib/pagelayout/doc/example-borders-and-shadows.pdf +2024/01/17 | 1097 | macros/latex/contrib/pagelayout/doc/example-borders-and-shadows.tex +2024/01/17 | 37253 | macros/latex/contrib/pagelayout/doc/example-graphic.pdf +2024/01/17 | 758 | macros/latex/contrib/pagelayout/doc/example-graphic.tex +2024/01/17 | 12036 | macros/latex/contrib/pagelayout/doc/example-grid.pdf +2024/01/17 | 2212 | macros/latex/contrib/pagelayout/doc/example-grid.tex +2024/01/17 | 6305 | macros/latex/contrib/pagelayout/doc/example-template.pdf +2024/01/17 | 955 | macros/latex/contrib/pagelayout/doc/example-template.tex +2024/01/17 | 11123 | macros/latex/contrib/pagelayout/doc/example-text.pdf +2024/01/17 | 1075 | macros/latex/contrib/pagelayout/doc/example-text.tex +2024/01/17 | 1419852 | macros/latex/contrib/pagelayout/doc/kopi.jpg +2024/01/17 | 6493 | macros/latex/contrib/pagelayout/doc/pagelayout-manual-layout-guides.pdf +2024/01/17 | 817 | macros/latex/contrib/pagelayout/doc/pagelayout-manual-layout-guides.tex +2024/01/17 | 75292 | macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf +2024/01/17 | 24795 | macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex +2024/01/17 | 31780 | macros/latex/contrib/pagelayout/doc/quickstart-1.svg +2024/01/17 | 5771 | macros/latex/contrib/pagelayout/doc/quickstart-2.svg +2024/01/17 | 99929 | macros/latex/contrib/pagelayout/doc/quickstart-3.svg +2024/01/17 | 103111 | macros/latex/contrib/pagelayout/doc/quickstart.pdf +2024/01/17 | 1870 | macros/latex/contrib/pagelayout/doc/quickstart.tex +2024/01/17 | 19040 | macros/latex/contrib/pagelayout/LICENSE +2024/01/17 | 4031 | macros/latex/contrib/pagelayout/README.md +2024/01/17 | 8993 | macros/latex/contrib/pagelayout/scripts/pagelayoutapi +2024/01/17 | 3378 | macros/latex/contrib/pagelayout/scripts/pagelayoutapi.1 +2024/01/17 | 3114 | macros/latex/contrib/pagelayout/scripts/pagelayoutapi.1.md +2024/01/17 | 12199 | macros/latex/contrib/pagelayout/scripts/textestvis +2024/01/17 | 1680 | macros/latex/contrib/pagelayout/scripts/textestvis.1 +2024/01/17 | 1419 | macros/latex/contrib/pagelayout/scripts/textestvis.1.md +2024/01/17 | 2916987 | macros/latex/contrib/pagelayout/tests.zip +2024/01/17 | 153857 | macros/latex/contrib/pagelayout/tex/pagelayout.cls +2024/01/17 | 4932119 | macros/latex/contrib/pagelayout.zip 1998/09/23 | 10073 | macros/latex/contrib/pageno/pageno.dtx 1998/09/23 | 1573 | macros/latex/contrib/pageno/pageno.ins 2012/05/29 | 84419 | macros/latex/contrib/pageno/pageno.pdf @@ -238982,11 +238982,11 @@ 2023/04/18 | 14600 | macros/latex/contrib/prettytok/prettytok.tex 2023/04/18 | 863 | macros/latex/contrib/prettytok/README 2023/04/18 | 497691 | macros/latex/contrib/prettytok.zip -2023/04/23 | 80018 | macros/latex/contrib/preview/preview.dtx -2023/04/23 | 1594 | macros/latex/contrib/preview/preview.ins -2023/04/23 | 343676 | macros/latex/contrib/preview/preview.pdf -2023/04/23 | 2576 | macros/latex/contrib/preview/README -2023/04/23 | 359978 | macros/latex/contrib/preview.zip +2024/01/17 | 80018 | macros/latex/contrib/preview/preview.dtx +2024/01/17 | 1594 | macros/latex/contrib/preview/preview.ins +2024/01/17 | 343466 | macros/latex/contrib/preview/preview.pdf +2024/01/17 | 2576 | macros/latex/contrib/preview/README +2024/01/17 | 359769 | macros/latex/contrib/preview.zip 2019/06/19 | 346581 | macros/latex/contrib/prftree/prftreedoc.pdf 2019/06/19 | 94089 | macros/latex/contrib/prftree/prftreedoc.tex 2019/06/19 | 61107 | macros/latex/contrib/prftree/prftree.sty @@ -239912,13 +239912,13 @@ 2017/02/09 | 4900 | macros/latex/contrib/pythonhighlight/pythonhighlight.sty 2017/02/09 | 662 | macros/latex/contrib/pythonhighlight/README.md 2017/02/09 | 3487 | macros/latex/contrib/pythonhighlight.zip -2023/03/07 | 35 | macros/latex/contrib/pythonimmediate/DEPENDS.txt -2023/03/07 | 803 | macros/latex/contrib/pythonimmediate/pythonimmediate_helper.lua -2023/03/07 | 431593 | macros/latex/contrib/pythonimmediate/pythonimmediate.pdf -2023/03/07 | 7771 | macros/latex/contrib/pythonimmediate/pythonimmediate.sty -2023/03/07 | 19803 | macros/latex/contrib/pythonimmediate/pythonimmediate.tex -2023/03/07 | 737 | macros/latex/contrib/pythonimmediate/README -2023/03/07 | 440347 | macros/latex/contrib/pythonimmediate.zip +2024/01/17 | 35 | macros/latex/contrib/pythonimmediate/DEPENDS.txt +2024/01/17 | 3490 | macros/latex/contrib/pythonimmediate/pythonimmediate_helper.lua +2024/01/17 | 437287 | macros/latex/contrib/pythonimmediate/pythonimmediate.pdf +2024/01/17 | 8045 | macros/latex/contrib/pythonimmediate/pythonimmediate.sty +2024/01/17 | 20653 | macros/latex/contrib/pythonimmediate/pythonimmediate.tex +2024/01/17 | 737 | macros/latex/contrib/pythonimmediate/README +2024/01/17 | 447179 | macros/latex/contrib/pythonimmediate.zip 2021/08/03 | 3375 | macros/latex/contrib/python/python.sty 2012/06/11 | 934 | macros/latex/contrib/python/README 2021/06/07 | 70760 | macros/latex/contrib/pythontex/depythontex2.py @@ -240954,21 +240954,21 @@ 2019/04/18 | 4724 | macros/latex/contrib/rulerbox/rulerbox.sty 2019/04/18 | 5847 | macros/latex/contrib/rulerbox/rulerbox.tex 2019/04/18 | 60473 | macros/latex/contrib/rulerbox.zip -2023/09/08 | 60 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln2.tex -2023/09/08 | 25 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln4.tex -2023/09/08 | 25 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln5.tex -2023/09/08 | 4 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln6.tex -2023/09/08 | 80 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln7.tex -2023/09/08 | 80 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln8.tex -2023/09/08 | 12 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln9.tex -2023/09/08 | 554 | macros/latex/contrib/runcode/generated/testWithrunR.tex -2023/09/08 | 1449 | macros/latex/contrib/runcode/README -2023/09/08 | 251374 | macros/latex/contrib/runcode/runcode.pdf -2023/09/08 | 19096 | macros/latex/contrib/runcode/runcode.sty -2023/09/08 | 16824 | macros/latex/contrib/runcode/runcode.tex -2023/09/08 | 161688 | macros/latex/contrib/runcode/runcode_troubleshoot.pdf -2023/09/08 | 18978 | macros/latex/contrib/runcode/runcode_troubleshoot.tex -2023/09/09 | 421028 | macros/latex/contrib/runcode.zip +2024/01/17 | 60 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln2.tex +2024/01/17 | 25 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln4.tex +2024/01/17 | 25 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln5.tex +2024/01/17 | 4 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln6.tex +2024/01/17 | 80 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln7.tex +2024/01/17 | 80 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln8.tex +2024/01/17 | 12 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln9.tex +2024/01/17 | 554 | macros/latex/contrib/runcode/generated/testWithrunR.tex +2024/01/17 | 1449 | macros/latex/contrib/runcode/README +2024/01/17 | 251370 | macros/latex/contrib/runcode/runcode.pdf +2024/01/17 | 19644 | macros/latex/contrib/runcode/runcode.sty +2024/01/17 | 17022 | macros/latex/contrib/runcode/runcode.tex +2024/01/17 | 161688 | macros/latex/contrib/runcode/runcode_troubleshoot.pdf +2024/01/17 | 18978 | macros/latex/contrib/runcode/runcode_troubleshoot.tex +2024/01/17 | 421177 | macros/latex/contrib/runcode.zip 2005/12/01 | 13008 | macros/latex/contrib/r_und_s/eng_rs.sty 2005/12/01 | 11585 | macros/latex/contrib/r_und_s/eng_rs.tex 2005/12/01 | 14228 | macros/latex/contrib/r_und_s/fr_rs.sty @@ -247345,14 +247345,14 @@ 2023/05/10 | 2397 | macros/latex/contrib/unicodefonttable/unicodefonttable.ins 2023/05/10 | 656010 | macros/latex/contrib/unicodefonttable/unicodefonttable-samples.pdf 2023/05/10 | 2317523 | macros/latex/contrib/unicodefonttable.zip -2023/05/12 | 21 | macros/latex/contrib/unicode-math-input/DEPENDS.txt -2023/05/12 | 832 | macros/latex/contrib/unicode-math-input/README -2023/05/12 | 98884 | macros/latex/contrib/unicode-math-input/unicode-math-input.pdf -2023/05/12 | 16312 | macros/latex/contrib/unicode-math-input/unicode-math-input-script.py -2023/05/12 | 27845 | macros/latex/contrib/unicode-math-input/unicode-math-input.sty -2023/05/12 | 101318 | macros/latex/contrib/unicode-math-input/unicode-math-input-table.tex -2023/05/12 | 17011 | macros/latex/contrib/unicode-math-input/unicode-math-input.tex -2023/05/12 | 129681 | macros/latex/contrib/unicode-math-input.zip +2024/01/17 | 21 | macros/latex/contrib/unicode-math-input/DEPENDS.txt +2024/01/17 | 832 | macros/latex/contrib/unicode-math-input/README +2024/01/17 | 107101 | macros/latex/contrib/unicode-math-input/unicode-math-input.pdf +2024/01/17 | 19889 | macros/latex/contrib/unicode-math-input/unicode-math-input-script.py +2024/01/17 | 28945 | macros/latex/contrib/unicode-math-input/unicode-math-input.sty +2024/01/17 | 102640 | macros/latex/contrib/unicode-math-input/unicode-math-input-table.tex +2024/01/17 | 21025 | macros/latex/contrib/unicode-math-input/unicode-math-input.tex +2024/01/17 | 141085 | macros/latex/contrib/unicode-math-input.zip 2021/10/04 | 494976 | macros/latex/contrib/unifith/examples/Dottorato.pdf 2021/10/04 | 8618 | macros/latex/contrib/unifith/examples/Dottorato.tex 2021/10/04 | 497301 | macros/latex/contrib/unifith/examples/Laurea.pdf @@ -289296,61 +289296,61 @@ 2018/04/15 | 1313 | support/latex-git-log/po/de.po 2020/02/26 | 3353 | support/latex-git-log/README.md 2020/02/27 | 87742 | support/latex-git-log.zip -2024/01/01 | 6173556 | support/latexindent/bin/linux/latexindent -2024/01/01 | 6402792 | support/latexindent/bin/macos/latexindent -2024/01/01 | 9939470 | support/latexindent/bin/windows/latexindent.exe -2024/01/01 | 22214 | support/latexindent/defaultSettings.yaml -2024/01/01 | 6664 | support/latexindent/documentation/contributors.bib -2024/01/01 | 7161 | support/latexindent/documentation/figure-schematic.png -2024/01/01 | 4402 | support/latexindent/documentation/latex-indent.bib -2024/01/01 | 1280662 | support/latexindent/documentation/latexindent.pdf -2024/01/01 | 443043 | support/latexindent/documentation/latexindent.tex -2024/01/01 | 61245 | support/latexindent/documentation/latexindent-yaml-schema.json -2024/01/01 | 44096 | support/latexindent/documentation/logo.png -2024/01/01 | 68177 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm -2024/01/01 | 24449 | support/latexindent/LatexIndent/Arguments.pm -2024/01/01 | 6277 | support/latexindent/LatexIndent/BackUpFileProcedure.pm -2024/01/01 | 4860 | support/latexindent/LatexIndent/BlankLines.pm -2024/01/01 | 12653 | support/latexindent/LatexIndent/Braces.pm -2024/01/01 | 5432 | support/latexindent/LatexIndent/Check.pm -2024/01/01 | 10648 | support/latexindent/LatexIndent/Command.pm -2024/01/01 | 25334 | support/latexindent/LatexIndent/Document.pm -2024/01/01 | 1500 | support/latexindent/LatexIndent/DoubleBackSlash.pm -2024/01/01 | 6391 | support/latexindent/LatexIndent/Else.pm -2024/01/01 | 8346 | support/latexindent/LatexIndent/Environment.pm -2024/01/01 | 11509 | support/latexindent/LatexIndent/FileContents.pm -2024/01/01 | 8819 | support/latexindent/LatexIndent/FileExtension.pm -2024/01/01 | 54602 | support/latexindent/LatexIndent/GetYamlSettings.pm -2024/01/01 | 11206 | support/latexindent/LatexIndent/Heading.pm -2024/01/01 | 13470 | support/latexindent/LatexIndent/HiddenChildren.pm -2024/01/01 | 3517 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm -2024/01/01 | 8893 | support/latexindent/LatexIndent/IfElseFi.pm -2024/01/01 | 20870 | support/latexindent/LatexIndent/Indent.pm -2024/01/01 | 6890 | support/latexindent/LatexIndent/Item.pm -2024/01/01 | 5478 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm -2024/01/01 | 9859 | support/latexindent/LatexIndent/Lines.pm -2024/01/01 | 13435 | support/latexindent/LatexIndent/LogFile.pm -2024/01/01 | 2320 | support/latexindent/LatexIndent/Logger.pm -2024/01/01 | 7379 | support/latexindent/LatexIndent/MandatoryArgument.pm -2024/01/01 | 18591 | support/latexindent/LatexIndent/ModifyLineBreaks.pm -2024/01/01 | 1558 | support/latexindent/latexindent-module-installer.pl -2024/01/01 | 4388 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm -2024/01/01 | 6620 | support/latexindent/LatexIndent/OptionalArgument.pm -2024/01/01 | 3415 | support/latexindent/latexindent.pl -2024/01/01 | 2733 | support/latexindent/LatexIndent/Preamble.pm -2024/01/01 | 3509 | support/latexindent/LatexIndent/Replacement.pm -2024/01/01 | 4404 | support/latexindent/LatexIndent/RoundBrackets.pm -2024/01/01 | 22321 | support/latexindent/LatexIndent/Sentence.pm -2024/01/01 | 13935 | support/latexindent/LatexIndent/Special.pm -2024/01/01 | 2712 | support/latexindent/LatexIndent/Switches.pm -2024/01/01 | 3353 | support/latexindent/LatexIndent/Tokens.pm -2024/01/01 | 6953 | support/latexindent/LatexIndent/TrailingComments.pm -2024/01/01 | 5857 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm -2024/01/01 | 27422 | support/latexindent/LatexIndent/Verbatim.pm -2024/01/01 | 838 | support/latexindent/LatexIndent/Version.pm -2024/01/01 | 35225 | support/latexindent/LatexIndent/Wrap.pm -2024/01/01 | 2008 | support/latexindent/README -2024/01/01 | 12425816 | support/latexindent.zip +2024/01/17 | 6173561 | support/latexindent/bin/linux/latexindent +2024/01/17 | 6402796 | support/latexindent/bin/macos/latexindent +2024/01/17 | 9939474 | support/latexindent/bin/windows/latexindent.exe +2024/01/17 | 22214 | support/latexindent/defaultSettings.yaml +2024/01/17 | 6664 | support/latexindent/documentation/contributors.bib +2024/01/17 | 7161 | support/latexindent/documentation/figure-schematic.png +2024/01/17 | 4402 | support/latexindent/documentation/latex-indent.bib +2024/01/17 | 1280496 | support/latexindent/documentation/latexindent.pdf +2024/01/17 | 443043 | support/latexindent/documentation/latexindent.tex +2024/01/17 | 61245 | support/latexindent/documentation/latexindent-yaml-schema.json +2024/01/17 | 44096 | support/latexindent/documentation/logo.png +2024/01/17 | 68177 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm +2024/01/17 | 24449 | support/latexindent/LatexIndent/Arguments.pm +2024/01/17 | 6277 | support/latexindent/LatexIndent/BackUpFileProcedure.pm +2024/01/17 | 4860 | support/latexindent/LatexIndent/BlankLines.pm +2024/01/17 | 12653 | support/latexindent/LatexIndent/Braces.pm +2024/01/17 | 5432 | support/latexindent/LatexIndent/Check.pm +2024/01/17 | 10648 | support/latexindent/LatexIndent/Command.pm +2024/01/17 | 25334 | support/latexindent/LatexIndent/Document.pm +2024/01/17 | 1500 | support/latexindent/LatexIndent/DoubleBackSlash.pm +2024/01/17 | 6391 | support/latexindent/LatexIndent/Else.pm +2024/01/17 | 8346 | support/latexindent/LatexIndent/Environment.pm +2024/01/17 | 11509 | support/latexindent/LatexIndent/FileContents.pm +2024/01/17 | 8819 | support/latexindent/LatexIndent/FileExtension.pm +2024/01/17 | 54602 | support/latexindent/LatexIndent/GetYamlSettings.pm +2024/01/17 | 11206 | support/latexindent/LatexIndent/Heading.pm +2024/01/17 | 13470 | support/latexindent/LatexIndent/HiddenChildren.pm +2024/01/17 | 3517 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm +2024/01/17 | 8893 | support/latexindent/LatexIndent/IfElseFi.pm +2024/01/17 | 20870 | support/latexindent/LatexIndent/Indent.pm +2024/01/17 | 6890 | support/latexindent/LatexIndent/Item.pm +2024/01/17 | 5478 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm +2024/01/17 | 9859 | support/latexindent/LatexIndent/Lines.pm +2024/01/17 | 13435 | support/latexindent/LatexIndent/LogFile.pm +2024/01/17 | 2320 | support/latexindent/LatexIndent/Logger.pm +2024/01/17 | 7379 | support/latexindent/LatexIndent/MandatoryArgument.pm +2024/01/17 | 18591 | support/latexindent/LatexIndent/ModifyLineBreaks.pm +2024/01/17 | 1558 | support/latexindent/latexindent-module-installer.pl +2024/01/17 | 4388 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm +2024/01/17 | 6620 | support/latexindent/LatexIndent/OptionalArgument.pm +2024/01/17 | 3415 | support/latexindent/latexindent.pl +2024/01/17 | 2733 | support/latexindent/LatexIndent/Preamble.pm +2024/01/17 | 3515 | support/latexindent/LatexIndent/Replacement.pm +2024/01/17 | 4404 | support/latexindent/LatexIndent/RoundBrackets.pm +2024/01/17 | 22321 | support/latexindent/LatexIndent/Sentence.pm +2024/01/17 | 13935 | support/latexindent/LatexIndent/Special.pm +2024/01/17 | 2712 | support/latexindent/LatexIndent/Switches.pm +2024/01/17 | 3353 | support/latexindent/LatexIndent/Tokens.pm +2024/01/17 | 6953 | support/latexindent/LatexIndent/TrailingComments.pm +2024/01/17 | 5857 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm +2024/01/17 | 27422 | support/latexindent/LatexIndent/Verbatim.pm +2024/01/17 | 838 | support/latexindent/LatexIndent/Version.pm +2024/01/17 | 35225 | support/latexindent/LatexIndent/Wrap.pm +2024/01/17 | 2008 | support/latexindent/README +2024/01/17 | 12426251 | support/latexindent.zip 2021/10/26 | 16439 | support/latex-make/figlatex.dtx 2021/10/26 | 238535 | support/latex-make/figlatex.pdf 2001/06/07 | 302 | support/latexmake/latexmake.diz @@ -292256,7 +292256,7 @@ 2021/05/03 | 629 | support/TeX4ht/doc/README 2020/08/24 | 358454 | support/TeX4ht/doc/TeX4ht-doc.tex 2021/05/11 | 262 | support/TeX4ht/README -2024/01/15 | 242798 | support/TeX4ht/source/ChangeLog +2024/01/16 | 243108 | support/TeX4ht/source/ChangeLog 2021/05/03 | 1375 | support/TeX4ht/source/checklog.lua 2021/05/03 | 1189 | support/TeX4ht/source/common-code.tex 2021/05/03 | 2727 | support/TeX4ht/source/common-info.tex @@ -292268,7 +292268,7 @@ 2021/05/03 | 1121 | support/TeX4ht/source/README 2021/05/03 | 1744 | support/TeX4ht/source/t1fontmake.lua 2021/05/03 | 297 | support/TeX4ht/source/t1fontsample.tex -2024/01/15 | 1174354 | support/TeX4ht/source/tex4ht-4ht.tex +2024/01/16 | 1175107 | support/TeX4ht/source/tex4ht-4ht.tex 2021/05/03 | 7127 | support/TeX4ht/source/tex4ht-auto-script.tex 2021/05/16 | 1539 | support/TeX4ht/source/tex4ht-bibtex2.tex 2023/10/16 | 21307 | support/TeX4ht/source/tex4ht-cond4ht.tex @@ -296264,6 +296264,9 @@ 2022/12/04 | 467744 | systems/texlive/tlnet/archive/amiri.r65191.tar.xz 2020/11/08 | 169360 | systems/texlive/tlnet/archive/amiweb2c-guide.doc.r56878.tar.xz 2020/11/08 | 536 | systems/texlive/tlnet/archive/amiweb2c-guide.r56878.tar.xz +2024/01/17 | 1544912 | systems/texlive/tlnet/archive/amnestyreport.doc.r69439.tar.xz +2024/01/17 | 5240 | systems/texlive/tlnet/archive/amnestyreport.r69439.tar.xz +2024/01/17 | 11396 | systems/texlive/tlnet/archive/amnestyreport.source.r69439.tar.xz 2022/09/13 | 209324 | systems/texlive/tlnet/archive/amsaddr.doc.r64357.tar.xz 2022/09/13 | 1932 | systems/texlive/tlnet/archive/amsaddr.r64357.tar.xz 2022/09/13 | 4056 | systems/texlive/tlnet/archive/amsaddr.source.r64357.tar.xz @@ -297099,13 +297102,13 @@ 2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.amd64-freebsd.r65257.tar.xz 2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.amd64-netbsd.r65257.tar.xz 2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.armhf-linux.r65257.tar.xz -2024/01/13 | 359716 | systems/texlive/tlnet/archive/bibcop.doc.r69395.tar.xz +2024/01/17 | 359716 | systems/texlive/tlnet/archive/bibcop.doc.r69454.tar.xz 2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.i386-freebsd.r65257.tar.xz 2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.i386-linux.r65257.tar.xz 2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.i386-netbsd.r65257.tar.xz 2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.i386-solaris.r65257.tar.xz -2024/01/13 | 8168 | systems/texlive/tlnet/archive/bibcop.r69395.tar.xz -2024/01/13 | 6244 | systems/texlive/tlnet/archive/bibcop.source.r69395.tar.xz +2024/01/17 | 8180 | systems/texlive/tlnet/archive/bibcop.r69454.tar.xz +2024/01/17 | 6240 | systems/texlive/tlnet/archive/bibcop.source.r69454.tar.xz 2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.universal-darwin.r65257.tar.xz 2023/02/20 | 2304 | systems/texlive/tlnet/archive/bibcop.windows.r65891.tar.xz 2022/12/13 | 340 | systems/texlive/tlnet/archive/bibcop.x86_64-cygwin.r65257.tar.xz @@ -297482,9 +297485,9 @@ 2021/05/18 | 23164 | systems/texlive/tlnet/archive/bnumexpr.source.r59244.tar.xz 2023/11/10 | 470968 | systems/texlive/tlnet/archive/bodegraph.doc.r68785.tar.xz 2023/11/10 | 16268 | systems/texlive/tlnet/archive/bodegraph.r68785.tar.xz -2024/01/13 | 738136 | systems/texlive/tlnet/archive/bodeplot.doc.r69397.tar.xz -2024/01/13 | 5788 | systems/texlive/tlnet/archive/bodeplot.r69397.tar.xz -2024/01/13 | 17376 | systems/texlive/tlnet/archive/bodeplot.source.r69397.tar.xz +2024/01/17 | 554784 | systems/texlive/tlnet/archive/bodeplot.doc.r69442.tar.xz +2024/01/17 | 5792 | systems/texlive/tlnet/archive/bodeplot.r69442.tar.xz +2024/01/17 | 17324 | systems/texlive/tlnet/archive/bodeplot.source.r69442.tar.xz 2022/04/08 | 424416 | systems/texlive/tlnet/archive/bohr.doc.r62977.tar.xz 2022/04/08 | 3652 | systems/texlive/tlnet/archive/bohr.r62977.tar.xz 2019/02/28 | 939068 | systems/texlive/tlnet/archive/boisik.doc.r15878.tar.xz @@ -298325,7 +298328,7 @@ 2020/03/04 | 408 | systems/texlive/tlnet/archive/collection-langpolish.r54074.tar.xz 2023/05/16 | 400 | systems/texlive/tlnet/archive/collection-langportuguese.r67125.tar.xz 2023/06/09 | 396 | systems/texlive/tlnet/archive/collection-langspanish.r67307.tar.xz -2024/01/12 | 7068 | systems/texlive/tlnet/archive/collection-latexextra.r69389.tar.xz +2024/01/17 | 7072 | systems/texlive/tlnet/archive/collection-latexextra.r69452.tar.xz 2023/12/14 | 704 | systems/texlive/tlnet/archive/collection-latex.r69131.tar.xz 2023/12/14 | 736 | systems/texlive/tlnet/archive/collection-latexrecommended.r69131.tar.xz 2024/01/13 | 1020 | systems/texlive/tlnet/archive/collection-luatex.r69404.tar.xz @@ -298335,10 +298338,10 @@ 2024/01/14 | 1668 | systems/texlive/tlnet/archive/collection-pictures.r69409.tar.xz 2023/10/28 | 1004 | systems/texlive/tlnet/archive/collection-plaingeneric.r68675.tar.xz 2022/12/27 | 816 | systems/texlive/tlnet/archive/collection-pstricks.r65367.tar.xz -2023/12/05 | 1728 | systems/texlive/tlnet/archive/collection-publishers.r69033.tar.xz +2024/01/17 | 1736 | systems/texlive/tlnet/archive/collection-publishers.r69439.tar.xz 2020/03/04 | 340 | systems/texlive/tlnet/archive/collection-texworks.r54074.tar.xz 2023/02/20 | 388 | systems/texlive/tlnet/archive/collection-wintools.r65952.tar.xz -2022/11/08 | 660 | systems/texlive/tlnet/archive/collection-xetex.r64951.tar.xz +2024/01/17 | 652 | systems/texlive/tlnet/archive/collection-xetex.r69452.tar.xz 2019/02/28 | 272712 | systems/texlive/tlnet/archive/collref.doc.r46358.tar.xz 2019/02/28 | 1696 | systems/texlive/tlnet/archive/collref.r46358.tar.xz 2019/02/28 | 7172 | systems/texlive/tlnet/archive/collref.source.r46358.tar.xz @@ -299684,9 +299687,9 @@ 2021/07/19 | 313228 | systems/texlive/tlnet/archive/easing.doc.r59975.tar.xz 2021/07/19 | 2220 | systems/texlive/tlnet/archive/easing.r59975.tar.xz 2021/07/19 | 7876 | systems/texlive/tlnet/archive/easing.source.r59975.tar.xz -2024/01/14 | 622156 | systems/texlive/tlnet/archive/easybook.doc.r69411.tar.xz -2024/01/14 | 16444 | systems/texlive/tlnet/archive/easybook.r69411.tar.xz -2024/01/14 | 16356 | systems/texlive/tlnet/archive/easybook.source.r69411.tar.xz +2024/01/17 | 625352 | systems/texlive/tlnet/archive/easybook.doc.r69457.tar.xz +2024/01/17 | 16612 | systems/texlive/tlnet/archive/easybook.r69457.tar.xz +2024/01/17 | 16480 | systems/texlive/tlnet/archive/easybook.source.r69457.tar.xz 2019/02/28 | 4540 | systems/texlive/tlnet/archive/easy.doc.r19440.tar.xz 2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.aarch64-linux.r68514.tar.xz 2023/10/12 | 344 | systems/texlive/tlnet/archive/easydtx.amd64-freebsd.r68514.tar.xz @@ -302558,7 +302561,7 @@ 2019/02/28 | 384 | systems/texlive/tlnet/archive/latexdiff.x86_64-solaris.r18442.tar.xz 2021/01/04 | 186924 | systems/texlive/tlnet/archive/latex-doc-ptr.doc.r57311.tar.xz 2021/01/04 | 520 | systems/texlive/tlnet/archive/latex-doc-ptr.r57311.tar.xz -2023/11/02 | 34912628 | systems/texlive/tlnet/archive/latex.doc.r68720.tar.xz +2024/01/17 | 34918312 | systems/texlive/tlnet/archive/latex.doc.r69443.tar.xz 2019/02/28 | 8008 | systems/texlive/tlnet/archive/latexfileinfo-pkgs.doc.r26760.tar.xz 2019/02/28 | 856 | systems/texlive/tlnet/archive/latexfileinfo-pkgs.r26760.tar.xz 2019/02/28 | 8120 | systems/texlive/tlnet/archive/latexfileinfo-pkgs.source.r26760.tar.xz @@ -302693,10 +302696,10 @@ 2019/02/28 | 348 | systems/texlive/tlnet/archive/latex-papersize.x86_64-linuxmusl.r46840.tar.xz 2019/02/28 | 344 | systems/texlive/tlnet/archive/latex-papersize.x86_64-linux.r42296.tar.xz 2019/02/28 | 348 | systems/texlive/tlnet/archive/latex-papersize.x86_64-solaris.r42296.tar.xz -2023/11/02 | 238136 | systems/texlive/tlnet/archive/latex.r68720.tar.xz +2024/01/17 | 238228 | systems/texlive/tlnet/archive/latex.r69443.tar.xz 2019/02/28 | 5020492 | systems/texlive/tlnet/archive/latex-refsheet.doc.r45076.tar.xz 2019/02/28 | 480 | systems/texlive/tlnet/archive/latex-refsheet.r45076.tar.xz -2023/11/02 | 750128 | systems/texlive/tlnet/archive/latex.source.r68720.tar.xz +2024/01/17 | 750220 | systems/texlive/tlnet/archive/latex.source.r69443.tar.xz 2023/11/03 | 5316020 | systems/texlive/tlnet/archive/latex-tools-dev.doc.r68730.tar.xz 2023/11/03 | 43360 | systems/texlive/tlnet/archive/latex-tools-dev.r68730.tar.xz 2023/11/03 | 229376 | systems/texlive/tlnet/archive/latex-tools-dev.source.r68730.tar.xz @@ -302829,8 +302832,8 @@ 2023/09/22 | 1303788 | systems/texlive/tlnet/archive/libertinus-otf.doc.r68333.tar.xz 2023/09/22 | 4252 | systems/texlive/tlnet/archive/libertinus-otf.r68333.tar.xz 2022/01/24 | 972 | systems/texlive/tlnet/archive/libertinus.r61719.tar.xz -2023/12/09 | 1533708 | systems/texlive/tlnet/archive/libertinust1math.doc.r69062.tar.xz -2023/12/09 | 1248760 | systems/texlive/tlnet/archive/libertinust1math.r69062.tar.xz +2024/01/17 | 1533744 | systems/texlive/tlnet/archive/libertinust1math.doc.r69440.tar.xz +2024/01/17 | 1248764 | systems/texlive/tlnet/archive/libertinust1math.r69440.tar.xz 2023/06/24 | 1447396 | systems/texlive/tlnet/archive/libertinus-type1.doc.r67450.tar.xz 2023/06/24 | 8564832 | systems/texlive/tlnet/archive/libertinus-type1.r67450.tar.xz 2022/11/14 | 159184 | systems/texlive/tlnet/archive/libgreek.doc.r65004.tar.xz @@ -303743,13 +303746,13 @@ 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.amd64-freebsd.r68515.tar.xz 2023/10/12 | 392 | systems/texlive/tlnet/archive/memoize.amd64-netbsd.r68515.tar.xz 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.armhf-linux.r68515.tar.xz -2024/01/04 | 2501412 | systems/texlive/tlnet/archive/memoize.doc.r69285.tar.xz +2024/01/17 | 2501444 | systems/texlive/tlnet/archive/memoize.doc.r69456.tar.xz 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.i386-freebsd.r68515.tar.xz 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.i386-linux.r68515.tar.xz 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.i386-netbsd.r68515.tar.xz 2023/10/12 | 392 | systems/texlive/tlnet/archive/memoize.i386-solaris.r68515.tar.xz -2024/01/04 | 27692 | systems/texlive/tlnet/archive/memoize.r69285.tar.xz -2024/01/04 | 38860 | systems/texlive/tlnet/archive/memoize.source.r69285.tar.xz +2024/01/17 | 27704 | systems/texlive/tlnet/archive/memoize.r69456.tar.xz +2024/01/17 | 38880 | systems/texlive/tlnet/archive/memoize.source.r69456.tar.xz 2023/10/12 | 396 | systems/texlive/tlnet/archive/memoize.universal-darwin.r68515.tar.xz 2023/10/12 | 2404 | systems/texlive/tlnet/archive/memoize.windows.r68515.tar.xz 2023/10/12 | 400 | systems/texlive/tlnet/archive/memoize.x86_64-cygwin.r68515.tar.xz @@ -304505,8 +304508,8 @@ 2024/01/12 | 6054248 | systems/texlive/tlnet/archive/newtx.r69381.tar.xz 2023/05/09 | 263224 | systems/texlive/tlnet/archive/newtxsf.doc.r67051.tar.xz 2023/05/09 | 105976 | systems/texlive/tlnet/archive/newtxsf.r67051.tar.xz -2020/03/24 | 171356 | systems/texlive/tlnet/archive/newtxtt.doc.r54512.tar.xz -2020/03/24 | 116976 | systems/texlive/tlnet/archive/newtxtt.r54512.tar.xz +2024/01/17 | 194632 | systems/texlive/tlnet/archive/newtxtt.doc.r69451.tar.xz +2024/01/17 | 117944 | systems/texlive/tlnet/archive/newtxtt.r69451.tar.xz 2019/02/28 | 389624 | systems/texlive/tlnet/archive/newunicodechar.doc.r47382.tar.xz 2019/02/28 | 2116 | systems/texlive/tlnet/archive/newunicodechar.r47382.tar.xz 2019/02/28 | 6964 | systems/texlive/tlnet/archive/newunicodechar.source.r47382.tar.xz @@ -305477,9 +305480,9 @@ 2020/07/28 | 2536 | systems/texlive/tlnet/archive/pinoutikz.r55966.tar.xz 2019/02/28 | 110192 | systems/texlive/tlnet/archive/pitex.doc.r24731.tar.xz 2019/02/28 | 22664 | systems/texlive/tlnet/archive/pitex.r24731.tar.xz -2024/01/07 | 813280 | systems/texlive/tlnet/archive/piton.doc.r69320.tar.xz -2024/01/07 | 16704 | systems/texlive/tlnet/archive/piton.r69320.tar.xz -2024/01/07 | 48396 | systems/texlive/tlnet/archive/piton.source.r69320.tar.xz +2024/01/17 | 830348 | systems/texlive/tlnet/archive/piton.doc.r69437.tar.xz +2024/01/17 | 17356 | systems/texlive/tlnet/archive/piton.r69437.tar.xz +2024/01/17 | 49484 | systems/texlive/tlnet/archive/piton.source.r69437.tar.xz 2019/02/28 | 317704 | systems/texlive/tlnet/archive/pittetd.doc.r15878.tar.xz 2019/02/28 | 8884 | systems/texlive/tlnet/archive/pittetd.r15878.tar.xz 2019/02/28 | 38588 | systems/texlive/tlnet/archive/pittetd.source.r15878.tar.xz @@ -305699,9 +305702,9 @@ 2019/02/28 | 317360 | systems/texlive/tlnet/archive/ppr-prv.doc.r15878.tar.xz 2019/02/28 | 5596 | systems/texlive/tlnet/archive/ppr-prv.r15878.tar.xz 2019/02/28 | 9460 | systems/texlive/tlnet/archive/ppr-prv.source.r15878.tar.xz -2023/11/10 | 789572 | systems/texlive/tlnet/archive/ppt-slides.doc.r68764.tar.xz -2023/11/10 | 4204 | systems/texlive/tlnet/archive/ppt-slides.r68764.tar.xz -2023/11/10 | 6516 | systems/texlive/tlnet/archive/ppt-slides.source.r68764.tar.xz +2024/01/17 | 791348 | systems/texlive/tlnet/archive/ppt-slides.doc.r69458.tar.xz +2024/01/17 | 4112 | systems/texlive/tlnet/archive/ppt-slides.r69458.tar.xz +2024/01/17 | 6680 | systems/texlive/tlnet/archive/ppt-slides.source.r69458.tar.xz 2022/01/24 | 386136 | systems/texlive/tlnet/archive/pracjourn.doc.r61719.tar.xz 2022/01/24 | 4628 | systems/texlive/tlnet/archive/pracjourn.r61719.tar.xz 2022/01/24 | 15248 | systems/texlive/tlnet/archive/pracjourn.source.r61719.tar.xz @@ -306547,8 +306550,8 @@ 2019/02/28 | 57844 | systems/texlive/tlnet/archive/robustcommand.doc.r15878.tar.xz 2019/02/28 | 1176 | systems/texlive/tlnet/archive/robustcommand.r15878.tar.xz 2019/02/28 | 2852 | systems/texlive/tlnet/archive/robustcommand.source.r15878.tar.xz -2023/11/15 | 691812 | systems/texlive/tlnet/archive/robust-externalize.doc.r68842.tar.xz -2023/11/15 | 27184 | systems/texlive/tlnet/archive/robust-externalize.r68842.tar.xz +2024/01/17 | 1342484 | systems/texlive/tlnet/archive/robust-externalize.doc.r69459.tar.xz +2024/01/17 | 35040 | systems/texlive/tlnet/archive/robust-externalize.r69459.tar.xz 2019/02/28 | 420516 | systems/texlive/tlnet/archive/robustindex.doc.r49877.tar.xz 2019/02/28 | 5032 | systems/texlive/tlnet/archive/robustindex.r49877.tar.xz 2019/02/28 | 19996 | systems/texlive/tlnet/archive/roex.r45818.tar.xz @@ -307689,13 +307692,13 @@ 2023/08/16 | 108860 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r67940.tar.xz 2023/08/16 | 87320 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r67940.tar.xz 2023/08/16 | 69948 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r67940.tar.xz -2024/01/14 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69412.tar.xz +2024/01/17 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69463.tar.xz 2023/08/16 | 93764 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r67940.tar.xz 2023/08/16 | 91236 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r67940.tar.xz 2023/08/16 | 76184 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r67940.tar.xz 2023/08/16 | 83936 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r67940.tar.xz -2024/01/14 | 1116136 | systems/texlive/tlnet/archive/tex4ht.r69412.tar.xz -2024/01/14 | 1484084 | systems/texlive/tlnet/archive/tex4ht.source.r69412.tar.xz +2024/01/17 | 1116308 | systems/texlive/tlnet/archive/tex4ht.r69463.tar.xz +2024/01/17 | 1479264 | systems/texlive/tlnet/archive/tex4ht.source.r69463.tar.xz 2023/08/16 | 184636 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r67940.tar.xz 2023/10/23 | 62056 | systems/texlive/tlnet/archive/tex4ht.windows.r68621.tar.xz 2023/08/16 | 57992 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r67940.tar.xz @@ -307973,7 +307976,7 @@ 2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz -2024/01/15 | 431400 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69415.tar.xz +2024/01/17 | 431496 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69447.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 @@ -307995,7 +307998,7 @@ 2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz -2024/01/15 | 114276 | systems/texlive/tlnet/archive/texlive-scripts.r69415.tar.xz +2024/01/17 | 114280 | systems/texlive/tlnet/archive/texlive-scripts.r69447.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 @@ -308049,12 +308052,12 @@ 2021/12/17 | 340 | systems/texlive/tlnet/archive/texlogsieve.amd64-freebsd.r61328.tar.xz 2021/12/17 | 340 | systems/texlive/tlnet/archive/texlogsieve.amd64-netbsd.r61328.tar.xz 2021/12/17 | 336 | systems/texlive/tlnet/archive/texlogsieve.armhf-linux.r61328.tar.xz -2023/12/09 | 114904 | systems/texlive/tlnet/archive/texlogsieve.doc.r69072.tar.xz +2024/01/17 | 115048 | systems/texlive/tlnet/archive/texlogsieve.doc.r69436.tar.xz 2021/12/17 | 340 | systems/texlive/tlnet/archive/texlogsieve.i386-freebsd.r61328.tar.xz 2021/12/17 | 340 | systems/texlive/tlnet/archive/texlogsieve.i386-linux.r61328.tar.xz 2021/12/17 | 336 | systems/texlive/tlnet/archive/texlogsieve.i386-netbsd.r61328.tar.xz 2021/12/17 | 336 | systems/texlive/tlnet/archive/texlogsieve.i386-solaris.r61328.tar.xz -2023/12/09 | 46836 | systems/texlive/tlnet/archive/texlogsieve.r69072.tar.xz +2024/01/17 | 46980 | systems/texlive/tlnet/archive/texlogsieve.r69436.tar.xz 2021/12/17 | 340 | systems/texlive/tlnet/archive/texlogsieve.universal-darwin.r61328.tar.xz 2023/02/20 | 2308 | systems/texlive/tlnet/archive/texlogsieve.windows.r65891.tar.xz 2021/12/17 | 340 | systems/texlive/tlnet/archive/texlogsieve.x86_64-cygwin.r61328.tar.xz @@ -308501,18 +308504,18 @@ 2019/02/28 | 175188 | systems/texlive/tlnet/archive/titling.doc.r15878.tar.xz 2019/02/28 | 2524 | systems/texlive/tlnet/archive/titling.r15878.tar.xz 2019/02/28 | 14800 | systems/texlive/tlnet/archive/titling.source.r15878.tar.xz -2023/02/24 | 373140 | systems/texlive/tlnet/archive/tkz-base.doc.r66115.tar.xz -2023/02/24 | 16308 | systems/texlive/tlnet/archive/tkz-base.r66115.tar.xz +2024/01/17 | 368052 | systems/texlive/tlnet/archive/tkz-base.doc.r69460.tar.xz +2024/01/17 | 16296 | systems/texlive/tlnet/archive/tkz-base.r69460.tar.xz 2021/01/22 | 924656 | systems/texlive/tlnet/archive/tkz-berge.doc.r57485.tar.xz 2021/01/22 | 8444 | systems/texlive/tlnet/archive/tkz-berge.r57485.tar.xz 2023/11/10 | 194800 | systems/texlive/tlnet/archive/tkz-bernoulli.doc.r68780.tar.xz 2023/11/10 | 2588 | systems/texlive/tlnet/archive/tkz-bernoulli.r68780.tar.xz 2023/10/27 | 34436 | systems/texlive/tlnet/archive/tkz-doc.doc.r68665.tar.xz 2023/10/27 | 6744 | systems/texlive/tlnet/archive/tkz-doc.r68665.tar.xz -2023/12/25 | 684280 | systems/texlive/tlnet/archive/tkz-elements.doc.r69213.tar.xz -2023/12/25 | 16596 | systems/texlive/tlnet/archive/tkz-elements.r69213.tar.xz -2023/11/08 | 1175256 | systems/texlive/tlnet/archive/tkz-euclide.doc.r68747.tar.xz -2023/11/08 | 41924 | systems/texlive/tlnet/archive/tkz-euclide.r68747.tar.xz +2024/01/17 | 747488 | systems/texlive/tlnet/archive/tkz-elements.doc.r69461.tar.xz +2024/01/17 | 17216 | systems/texlive/tlnet/archive/tkz-elements.r69461.tar.xz +2024/01/17 | 1172932 | systems/texlive/tlnet/archive/tkz-euclide.doc.r69462.tar.xz +2024/01/17 | 41944 | systems/texlive/tlnet/archive/tkz-euclide.r69462.tar.xz 2022/07/16 | 96832 | systems/texlive/tlnet/archive/tkzexample.doc.r63908.tar.xz 2022/07/16 | 3872 | systems/texlive/tlnet/archive/tkzexample.r63908.tar.xz 2022/02/09 | 749696 | systems/texlive/tlnet/archive/tkz-fct.doc.r61949.tar.xz @@ -309885,8 +309888,8 @@ 2019/02/28 | 1384 | systems/texlive/tlnet/archive/zwgetfdate.r15878.tar.xz 2022/04/19 | 646716 | systems/texlive/tlnet/archive/zwpagelayout.doc.r63074.tar.xz 2022/04/19 | 8880 | systems/texlive/tlnet/archive/zwpagelayout.r63074.tar.xz -2021/10/24 | 631596 | systems/texlive/tlnet/archive/zx-calculus.doc.r60838.tar.xz -2021/10/24 | 19132 | systems/texlive/tlnet/archive/zx-calculus.r60838.tar.xz +2024/01/17 | 1158936 | systems/texlive/tlnet/archive/zx-calculus.doc.r69455.tar.xz +2024/01/17 | 38400 | systems/texlive/tlnet/archive/zx-calculus.r69455.tar.xz 2019/02/28 | 1708 | systems/texlive/tlnet/archive/zxjafbfont.doc.r28539.tar.xz 2019/02/28 | 1052 | systems/texlive/tlnet/archive/zxjafbfont.r28539.tar.xz 2022/03/21 | 171908 | systems/texlive/tlnet/archive/zxjafont.doc.r62864.tar.xz @@ -309896,16 +309899,16 @@ 2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz 2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz 2024/01/07 | 125782 | systems/texlive/tlnet/install-tl -2024/01/15 | 5747621 | systems/texlive/tlnet/install-tl-unx.tar.gz -2024/01/15 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2024/01/15 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2024/01/17 | 5745739 | systems/texlive/tlnet/install-tl-unx.tar.gz +2024/01/17 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2024/01/17 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat -2024/01/15 | 21032224 | systems/texlive/tlnet/install-tl-windows.exe -2024/01/15 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2024/01/15 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2024/01/15 | 26032969 | systems/texlive/tlnet/install-tl.zip -2024/01/15 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2024/01/15 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2024/01/17 | 21029762 | systems/texlive/tlnet/install-tl-windows.exe +2024/01/17 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2024/01/17 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2024/01/17 | 26032746 | systems/texlive/tlnet/install-tl.zip +2024/01/17 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2024/01/17 | 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 2024/01/02 | 9011 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -309913,9 +309916,9 @@ 2016/04/12 | 0 | systems/texlive/tlnet/tlpkg/gpg/secring.gpg 2022/09/11 | 2395 | systems/texlive/tlnet/tlpkg/gpg/tl-key-extension.txt 2024/01/02 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg -2023/09/20 | 50622 | systems/texlive/tlnet/tlpkg/installer/config.guess +2024/01/16 | 50726 | systems/texlive/tlnet/tlpkg/installer/config.guess 2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt -2024/01/14 | 7407 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2024/01/16 | 7407 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2023/12/13 | 226639 | 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 @@ -309957,17 +309960,17 @@ 2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2024/01/07 | 5844 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2024/01/15 | 18800987 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2024/01/15 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2024/01/17 | 18803079 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2024/01/17 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2023/10/16 | 87924 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2024/01/15 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2024/01/15 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2024/01/15 | 2520276 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2024/01/17 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2024/01/17 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2024/01/17 | 2521520 | 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 2024/01/07 | 158142 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm -2023/02/21 | 38011 | systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm +2024/01/15 | 37373 | systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm 2021/05/20 | 6032 | systems/texlive/tlnet/tlpkg/TeXLive/trans.pl 2023/02/20 | 76288 | systems/texlive/tlnet/tlpkg/tlperl/bin/libgcc_s_seh-1.dll 2023/02/20 | 1424384 | systems/texlive/tlnet/tlpkg/tlperl/bin/libstdc++-6.dll @@ -321035,7 +321038,7 @@ 2014/07/05 | 611 | systems/win32/yandy/README 2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz 2014/07/05 | 1012416 | systems/win32/yandy.zip -2024/01/17 | 186 | timestamp +2024/01/18 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz index 99ba079dbf..38009afe6f 100644 Binary files a/FILES.byname.gz and b/FILES.byname.gz differ diff --git a/FILES.last07days b/FILES.last07days index ce184f4f5e..1a7c323122 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,4 +1,227 @@ -2024/01/16 | 958 | biblio/bibtex/utils/bibcop/bibcop.1 +2024/01/17 | 99929 | macros/latex/contrib/pagelayout/doc/quickstart-3.svg +2024/01/17 | 9939474 | support/latexindent/bin/windows/latexindent.exe +2024/01/17 | 9859 | support/latexindent/LatexIndent/Lines.pm +2024/01/17 | 958 | biblio/bibtex/utils/bibcop/bibcop.1 +2024/01/17 | 955 | macros/latex/contrib/pagelayout/doc/example-template.tex +2024/01/17 | 922644 | info/kaytannollista-latexia/kaytannollista-latexia.pdf +2024/01/17 | 8993 | macros/latex/contrib/pagelayout/scripts/pagelayoutapi +2024/01/17 | 8993 | macros/latex/contrib/pagelayout/doc/banner.pdf +2024/01/17 | 8893 | support/latexindent/LatexIndent/IfElseFi.pm +2024/01/17 | 88547 | info/kaytannollista-latexia/luku-merkintakieli.tex +2024/01/17 | 88205 | macros/latex/contrib/easybook/easybook.tex +2024/01/17 | 8819 | support/latexindent/LatexIndent/FileExtension.pm +2024/01/17 | 838 | support/latexindent/LatexIndent/Version.pm +2024/01/17 | 8346 | support/latexindent/LatexIndent/Environment.pm +2024/01/17 | 832 | macros/latex/contrib/unicode-math-input/README +2024/01/17 | 830348 | systems/texlive/tlnet/archive/piton.doc.r69437.tar.xz +2024/01/17 | 8180 | systems/texlive/tlnet/archive/bibcop.r69454.tar.xz +2024/01/17 | 817 | macros/latex/contrib/pagelayout/doc/pagelayout-manual-layout-guides.tex +2024/01/17 | 80 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln8.tex +2024/01/17 | 80 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln7.tex +2024/01/17 | 8045 | macros/latex/contrib/pythonimmediate/pythonimmediate.sty +2024/01/17 | 80018 | macros/latex/contrib/preview/preview.dtx +2024/01/17 | 791348 | systems/texlive/tlnet/archive/ppt-slides.doc.r69458.tar.xz +2024/01/17 | 758 | macros/latex/contrib/pagelayout/doc/example-graphic.tex +2024/01/17 | 75632 | macros/latex/contrib/easybook/easybook.dtx +2024/01/17 | 75292 | macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf +2024/01/17 | 750220 | systems/texlive/tlnet/archive/latex.source.r69443.tar.xz +2024/01/17 | 747488 | systems/texlive/tlnet/archive/tkz-elements.doc.r69461.tar.xz +2024/01/17 | 737 | macros/latex/contrib/pythonimmediate/README +2024/01/17 | 7379 | support/latexindent/LatexIndent/MandatoryArgument.pm +2024/01/17 | 7161 | support/latexindent/documentation/figure-schematic.png +2024/01/17 | 7072 | systems/texlive/tlnet/archive/collection-latexextra.r69452.tar.xz +2024/01/17 | 6953 | support/latexindent/LatexIndent/TrailingComments.pm +2024/01/17 | 6890 | support/latexindent/LatexIndent/Item.pm +2024/01/17 | 68177 | support/latexindent/LatexIndent/AlignmentAtAmpersand.pm +2024/01/17 | 6680 | systems/texlive/tlnet/archive/ppt-slides.source.r69458.tar.xz +2024/01/17 | 6664 | support/latexindent/documentation/contributors.bib +2024/01/17 | 6620 | support/latexindent/LatexIndent/OptionalArgument.pm +2024/01/17 | 652 | systems/texlive/tlnet/archive/collection-xetex.r69452.tar.xz +2024/01/17 | 6493 | macros/latex/contrib/pagelayout/doc/pagelayout-manual-layout-guides.pdf +2024/01/17 | 641945 | macros/latex/contrib/easybook.zip +2024/01/17 | 6402796 | support/latexindent/bin/macos/latexindent +2024/01/17 | 6391 | support/latexindent/LatexIndent/Else.pm +2024/01/17 | 6305 | macros/latex/contrib/pagelayout/doc/example-template.pdf +2024/01/17 | 6277 | support/latexindent/LatexIndent/BackUpFileProcedure.pm +2024/01/17 | 625352 | systems/texlive/tlnet/archive/easybook.doc.r69457.tar.xz +2024/01/17 | 6240 | systems/texlive/tlnet/archive/bibcop.source.r69454.tar.xz +2024/01/17 | 6173561 | support/latexindent/bin/linux/latexindent +2024/01/17 | 61245 | support/latexindent/documentation/latexindent-yaml-schema.json +2024/01/17 | 60 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln2.tex +2024/01/17 | 599045 | macros/latex/contrib/easybook/easybook.pdf +2024/01/17 | 5857 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm +2024/01/17 | 5851 | info/kaytannollista-latexia/README.md +2024/01/17 | 5792 | systems/texlive/tlnet/archive/bodeplot.r69442.tar.xz +2024/01/17 | 5771 | macros/latex/contrib/pagelayout/doc/quickstart-2.svg +2024/01/17 | 5745739 | systems/texlive/tlnet/install-tl-unx.tar.gz +2024/01/17 | 554 | macros/latex/contrib/runcode/generated/testWithrunR.tex +2024/01/17 | 554784 | systems/texlive/tlnet/archive/bodeplot.doc.r69442.tar.xz +2024/01/17 | 5478 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm +2024/01/17 | 54602 | support/latexindent/LatexIndent/GetYamlSettings.pm +2024/01/17 | 5432 | support/latexindent/LatexIndent/Check.pm +2024/01/17 | 5240 | systems/texlive/tlnet/archive/amnestyreport.r69439.tar.xz +2024/01/17 | 5100 | biblio/bibtex/utils/bibcop/bibcop-logo.pdf +2024/01/17 | 4 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln6.tex +2024/01/17 | 49484 | systems/texlive/tlnet/archive/piton.source.r69437.tar.xz +2024/01/17 | 4935296 | install/macros/latex/contrib/pagelayout.tds.zip +2024/01/17 | 4932119 | macros/latex/contrib/pagelayout.zip +2024/01/17 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2024/01/17 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2024/01/17 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2024/01/17 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2024/01/17 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2024/01/17 | 4860 | support/latexindent/LatexIndent/BlankLines.pm +2024/01/17 | 46980 | systems/texlive/tlnet/archive/texlogsieve.r69436.tar.xz +2024/01/17 | 447179 | macros/latex/contrib/pythonimmediate.zip +2024/01/17 | 443043 | support/latexindent/documentation/latexindent.tex +2024/01/17 | 44096 | support/latexindent/documentation/logo.png +2024/01/17 | 4404 | support/latexindent/LatexIndent/RoundBrackets.pm +2024/01/17 | 4402 | support/latexindent/documentation/latex-indent.bib +2024/01/17 | 4388 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm +2024/01/17 | 437287 | macros/latex/contrib/pythonimmediate/pythonimmediate.pdf +2024/01/17 | 431496 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69447.tar.xz +2024/01/17 | 421177 | macros/latex/contrib/runcode.zip +2024/01/17 | 41944 | systems/texlive/tlnet/archive/tkz-euclide.r69462.tar.xz +2024/01/17 | 4115596 | biblio/ctan-bibdata.zip +2024/01/17 | 4112 | systems/texlive/tlnet/archive/ppt-slides.r69458.tar.xz +2024/01/17 | 4031 | macros/latex/contrib/pagelayout/README.md +2024/01/17 | 38880 | systems/texlive/tlnet/archive/memoize.source.r69456.tar.xz +2024/01/17 | 38400 | systems/texlive/tlnet/archive/zx-calculus.r69455.tar.xz +2024/01/17 | 37253 | macros/latex/contrib/pagelayout/doc/example-graphic.pdf +2024/01/17 | 3708800 | biblio/ctan-bibdata/ctan.pdf +2024/01/17 | 368052 | systems/texlive/tlnet/archive/tkz-base.doc.r69460.tar.xz +2024/01/17 | 367094 | biblio/bibtex/utils/bibcop.zip +2024/01/17 | 35 | macros/latex/contrib/pythonimmediate/DEPENDS.txt +2024/01/17 | 359769 | macros/latex/contrib/preview.zip +2024/01/17 | 359716 | systems/texlive/tlnet/archive/bibcop.doc.r69454.tar.xz +2024/01/17 | 35225 | support/latexindent/LatexIndent/Wrap.pm +2024/01/17 | 3517 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm +2024/01/17 | 3515 | support/latexindent/LatexIndent/Replacement.pm +2024/01/17 | 35040 | systems/texlive/tlnet/archive/robust-externalize.r69459.tar.xz +2024/01/17 | 34918312 | systems/texlive/tlnet/archive/latex.doc.r69443.tar.xz +2024/01/17 | 3490 | macros/latex/contrib/pythonimmediate/pythonimmediate_helper.lua +2024/01/17 | 347804 | biblio/bibtex/utils/bibcop/bibcop.pdf +2024/01/17 | 343466 | macros/latex/contrib/preview/preview.pdf +2024/01/17 | 3415 | support/latexindent/latexindent.pl +2024/01/17 | 3378 | macros/latex/contrib/pagelayout/scripts/pagelayoutapi.1 +2024/01/17 | 3353 | support/latexindent/LatexIndent/Tokens.pm +2024/01/17 | 321037 | info/kaytannollista-latexia/luku-rakenne.tex +2024/01/17 | 31780 | macros/latex/contrib/pagelayout/doc/quickstart-1.svg +2024/01/17 | 3114 | macros/latex/contrib/pagelayout/scripts/pagelayoutapi.1.md +2024/01/17 | 3039 | info/kaytannollista-latexia/kirjallisuutta.bib +2024/01/17 | 29 | info/kaytannollista-latexia/versio.tex +2024/01/17 | 2917 | biblio/bibtex/utils/bibcop/README.md +2024/01/17 | 2916987 | macros/latex/contrib/pagelayout/tests.zip +2024/01/17 | 28945 | macros/latex/contrib/unicode-math-input/unicode-math-input.sty +2024/01/17 | 2839741 | biblio/ctan-bibdata/ctan.bib +2024/01/17 | 27704 | systems/texlive/tlnet/archive/memoize.r69456.tar.xz +2024/01/17 | 27422 | support/latexindent/LatexIndent/Verbatim.pm +2024/01/17 | 2733 | support/latexindent/LatexIndent/Preamble.pm +2024/01/17 | 2712 | support/latexindent/LatexIndent/Switches.pm +2024/01/17 | 26686 | biblio/bibtex/utils/bibcop/bibcop.pl +2024/01/17 | 2633 | info/kaytannollista-latexia/luku-esipuhe.tex +2024/01/17 | 2628 | biblio/bibtex/utils/bibcop/bibcop.ins +2024/01/17 | 26032746 | systems/texlive/tlnet/install-tl.zip +2024/01/17 | 25 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln5.tex +2024/01/17 | 25 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln4.tex +2024/01/17 | 2576 | macros/latex/contrib/preview/README +2024/01/17 | 25334 | support/latexindent/LatexIndent/Document.pm +2024/01/17 | 2521520 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2024/01/17 | 251370 | macros/latex/contrib/runcode/runcode.pdf +2024/01/17 | 2501444 | systems/texlive/tlnet/archive/memoize.doc.r69456.tar.xz +2024/01/17 | 24795 | macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex +2024/01/17 | 24449 | support/latexindent/LatexIndent/Arguments.pm +2024/01/17 | 238228 | systems/texlive/tlnet/archive/latex.r69443.tar.xz +2024/01/17 | 2320 | support/latexindent/LatexIndent/Logger.pm +2024/01/17 | 22321 | support/latexindent/LatexIndent/Sentence.pm +2024/01/17 | 22214 | support/latexindent/defaultSettings.yaml +2024/01/17 | 2212 | macros/latex/contrib/pagelayout/doc/example-grid.tex +2024/01/17 | 21 | macros/latex/contrib/unicode-math-input/DEPENDS.txt +2024/01/17 | 21323 | info/kaytannollista-latexia/luku-erikoiset.tex +2024/01/17 | 211 | biblio/bibtex/utils/bibcop/DEPENDS.txt +2024/01/17 | 21029762 | systems/texlive/tlnet/install-tl-windows.exe +2024/01/17 | 21025 | macros/latex/contrib/unicode-math-input/unicode-math-input.tex +2024/01/17 | 20870 | support/latexindent/LatexIndent/Indent.pm +2024/01/17 | 20691 | info/kaytannollista-latexia/luku-valmistautuminen.tex +2024/01/17 | 20653 | macros/latex/contrib/pythonimmediate/pythonimmediate.tex +2024/01/17 | 2008 | support/latexindent/README +2024/01/17 | 19889 | macros/latex/contrib/unicode-math-input/unicode-math-input-script.py +2024/01/17 | 1985 | macros/latex/contrib/pagelayout/doc/example-book.tex +2024/01/17 | 19644 | macros/latex/contrib/runcode/runcode.sty +2024/01/17 | 194632 | systems/texlive/tlnet/archive/newtxtt.doc.r69451.tar.xz +2024/01/17 | 19040 | macros/latex/contrib/pagelayout/LICENSE +2024/01/17 | 18978 | macros/latex/contrib/runcode/runcode_troubleshoot.tex +2024/01/17 | 18803079 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2024/01/17 | 1870 | macros/latex/contrib/pagelayout/doc/quickstart.tex +2024/01/17 | 18591 | support/latexindent/LatexIndent/ModifyLineBreaks.pm +2024/01/17 | 17433 | macros/latex/contrib/pagelayout/doc/banner.svg +2024/01/17 | 1736 | systems/texlive/tlnet/archive/collection-publishers.r69439.tar.xz +2024/01/17 | 17356 | systems/texlive/tlnet/archive/piton.r69437.tar.xz +2024/01/17 | 17324 | systems/texlive/tlnet/archive/bodeplot.source.r69442.tar.xz +2024/01/17 | 17216 | systems/texlive/tlnet/archive/tkz-elements.r69461.tar.xz +2024/01/17 | 17022 | macros/latex/contrib/runcode/runcode.tex +2024/01/17 | 1680 | macros/latex/contrib/pagelayout/scripts/textestvis.1 +2024/01/17 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2024/01/17 | 16612 | systems/texlive/tlnet/archive/easybook.r69457.tar.xz +2024/01/17 | 16480 | systems/texlive/tlnet/archive/easybook.source.r69457.tar.xz +2024/01/17 | 16296 | systems/texlive/tlnet/archive/tkz-base.r69460.tar.xz +2024/01/17 | 16186 | biblio/bibtex/utils/bibcop/bibcop.dtx +2024/01/17 | 161688 | macros/latex/contrib/runcode/runcode_troubleshoot.pdf +2024/01/17 | 1594 | macros/latex/contrib/preview/preview.ins +2024/01/17 | 1558 | support/latexindent/latexindent-module-installer.pl +2024/01/17 | 1544912 | systems/texlive/tlnet/archive/amnestyreport.doc.r69439.tar.xz +2024/01/17 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2024/01/17 | 153857 | macros/latex/contrib/pagelayout/tex/pagelayout.cls +2024/01/17 | 1533744 | systems/texlive/tlnet/archive/libertinust1math.doc.r69440.tar.xz +2024/01/17 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2024/01/17 | 1500 | support/latexindent/LatexIndent/DoubleBackSlash.pm +2024/01/17 | 1479264 | systems/texlive/tlnet/archive/tex4ht.source.r69463.tar.xz +2024/01/17 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2024/01/17 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2024/01/17 | 1449 | macros/latex/contrib/runcode/README +2024/01/17 | 14425 | info/kaytannollista-latexia/kaytannollista-latexia.tex +2024/01/17 | 1419 | macros/latex/contrib/pagelayout/scripts/textestvis.1.md +2024/01/17 | 1419852 | macros/latex/contrib/pagelayout/doc/kopi.jpg +2024/01/17 | 141085 | macros/latex/contrib/unicode-math-input.zip +2024/01/17 | 13935 | support/latexindent/LatexIndent/Special.pm +2024/01/17 | 137910 | macros/latex/contrib/pagelayout/doc/example-book.pdf +2024/01/17 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69463.tar.xz +2024/01/17 | 135554 | info/kaytannollista-latexia/luku-asetukset.tex +2024/01/17 | 13470 | support/latexindent/LatexIndent/HiddenChildren.pm +2024/01/17 | 13435 | support/latexindent/LatexIndent/LogFile.pm +2024/01/17 | 1342484 | systems/texlive/tlnet/archive/robust-externalize.doc.r69459.tar.xz +2024/01/17 | 133420 | macros/latex/contrib/pagelayout/doc/example-borders-and-shadows.pdf +2024/01/17 | 12 | macros/latex/contrib/runcode/generated/runcode_troubleshoot_inln9.tex +2024/01/17 | 1280496 | support/latexindent/documentation/latexindent.pdf +2024/01/17 | 12686 | info/kaytannollista-latexia/tavutusvihjeet.tex +2024/01/17 | 12653 | support/latexindent/LatexIndent/Braces.pm +2024/01/17 | 1248764 | systems/texlive/tlnet/archive/libertinust1math.r69440.tar.xz +2024/01/17 | 12426251 | support/latexindent.zip +2024/01/17 | 12366 | info/kaytannollista-latexia/luku-muuta.tex +2024/01/17 | 12199 | macros/latex/contrib/pagelayout/scripts/textestvis +2024/01/17 | 12036 | macros/latex/contrib/pagelayout/doc/example-grid.pdf +2024/01/17 | 1191 | macros/latex/contrib/pagelayout/doc/banner.tex +2024/01/17 | 117944 | systems/texlive/tlnet/archive/newtxtt.r69451.tar.xz +2024/01/17 | 1172932 | systems/texlive/tlnet/archive/tkz-euclide.doc.r69462.tar.xz +2024/01/17 | 1158936 | systems/texlive/tlnet/archive/zx-calculus.doc.r69455.tar.xz +2024/01/17 | 11509 | support/latexindent/LatexIndent/FileContents.pm +2024/01/17 | 115048 | systems/texlive/tlnet/archive/texlogsieve.doc.r69436.tar.xz +2024/01/17 | 114280 | systems/texlive/tlnet/archive/texlive-scripts.r69447.tar.xz +2024/01/17 | 11396 | systems/texlive/tlnet/archive/amnestyreport.source.r69439.tar.xz +2024/01/17 | 11206 | support/latexindent/LatexIndent/Heading.pm +2024/01/17 | 1116308 | systems/texlive/tlnet/archive/tex4ht.r69463.tar.xz +2024/01/17 | 11123 | macros/latex/contrib/pagelayout/doc/example-text.pdf +2024/01/17 | 1097 | macros/latex/contrib/pagelayout/doc/example-borders-and-shadows.tex +2024/01/17 | 1083 | biblio/bibtex/utils/bibcop/LICENSE.txt +2024/01/17 | 1076305 | info/kaytannollista-latexia.zip +2024/01/17 | 1075 | macros/latex/contrib/pagelayout/doc/example-text.tex +2024/01/17 | 107101 | macros/latex/contrib/unicode-math-input/unicode-math-input.pdf +2024/01/17 | 1067 | macros/latex/contrib/pagelayout/doc/3x2.pdf +2024/01/17 | 1064 | macros/latex/contrib/pagelayout/doc/2x1.pdf +2024/01/17 | 10648 | support/latexindent/LatexIndent/Command.pm +2024/01/17 | 103111 | macros/latex/contrib/pagelayout/doc/quickstart.pdf +2024/01/17 | 1028 | macros/latex/contrib/pagelayout/doc/1x1.pdf +2024/01/17 | 102640 | macros/latex/contrib/unicode-math-input/unicode-math-input-table.tex 2024/01/16 | 94352 | macros/latex/contrib/ppt-slides/socrates.jpg 2024/01/16 | 935899 | macros/latex/contrib/ppt-slides/ppt-slides.pdf 2024/01/16 | 9130 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_triangles.lua @@ -6,13 +229,12 @@ 2024/01/16 | 9000 | macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-math.tex 2024/01/16 | 8993 | macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-circles.tex 2024/01/16 | 8983 | macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-circles.tex -2024/01/16 | 88258 | macros/latex/contrib/easybook/easybook.tex 2024/01/16 | 8453 | macros/generic/memoize/doc/memoize-code.sty 2024/01/16 | 8280 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_circle.lua 2024/01/16 | 808825 | macros/latex/contrib/tkz/tkz-elements.zip 2024/01/16 | 7860 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_point.lua 2024/01/16 | 7780 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-utilities.tex -2024/01/16 | 76095 | macros/latex/contrib/easybook/easybook.dtx +2024/01/16 | 7407 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2024/01/16 | 7236 | macros/latex/contrib/tkz/tkz-elements/README.md 2024/01/16 | 7078 | macros/generic/memoize/INSTALL.md 2024/01/16 | 6837 | macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points.tex @@ -26,13 +248,11 @@ 2024/01/16 | 6521 | macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points.tex 2024/01/16 | 6482 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-arith.tex 2024/01/16 | 6464 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_intersections.lua -2024/01/16 | 644406 | macros/latex/contrib/easybook.zip 2024/01/16 | 642250 | macros/latex/contrib/tkz/tkz-elements/doc/tkz-elements.pdf 2024/01/16 | 6364 | macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-points.tex 2024/01/16 | 6344 | macros/generic/memoize/memoize-clean.py 2024/01/16 | 626771 | macros/generic/memoize/doc/memoize-code.pdf 2024/01/16 | 618605 | macros/latex/contrib/regulatory.zip -2024/01/16 | 601383 | macros/latex/contrib/easybook/easybook.pdf 2024/01/16 | 5854 | macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-circles.tex 2024/01/16 | 5841 | macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-utilities.tex 2024/01/16 | 552 | graphics/pgf/contrib/zx-calculus/README.md @@ -43,7 +263,7 @@ 2024/01/16 | 52584 | macros/latex/contrib/regulatory/doc/example2-en.pdf 2024/01/16 | 5248 | macros/generic/memoize/memoize-clean.pl 2024/01/16 | 5166 | macros/generic/memoize/doc/memoize-doc-common.sty -2024/01/16 | 5100 | biblio/bibtex/utils/bibcop/bibcop-logo.pdf +2024/01/16 | 50726 | systems/texlive/tlnet/tlpkg/installer/config.guess 2024/01/16 | 5036 | macros/generic/memoize/doc/memoize-extract.1.md 2024/01/16 | 4906 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-marks.tex 2024/01/16 | 4685 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_circles.lua @@ -57,21 +277,17 @@ 2024/01/16 | 437438 | macros/latex/contrib/tkz/tkz-base.zip 2024/01/16 | 4368 | macros/latex/contrib/tkz/tkz-base/latex/tkz-lib-marks.tex 2024/01/16 | 4178 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_rectangle.lua -2024/01/16 | 4115526 | biblio/ctan-bibdata.zip 2024/01/16 | 4085 | macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-polygons.tex 2024/01/16 | 3989 | macros/latex/contrib/ppt-slides/ppt-templates/ppt-9x6.tex 2024/01/16 | 3975 | macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-compass.tex 2024/01/16 | 3948 | macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-polygons.tex 2024/01/16 | 3903 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_ellipse.lua 2024/01/16 | 3884 | macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-angles.tex -2024/01/16 | 3708800 | biblio/ctan-bibdata/ctan.pdf -2024/01/16 | 367397 | biblio/bibtex/utils/bibcop.zip 2024/01/16 | 3582 | macros/latex/contrib/tkz/tkz-base/latex/tkz-base.sty 2024/01/16 | 356502 | macros/latex/contrib/tkz/tkz-base/doc/tkz-base.pdf 2024/01/16 | 3497 | macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-base.tex 2024/01/16 | 3496 | macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-base.tex 2024/01/16 | 3484 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-misc.tex -2024/01/16 | 348056 | biblio/bibtex/utils/bibcop/bibcop.pdf 2024/01/16 | 3476 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-base.tex 2024/01/16 | 3473 | macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-grids.tex 2024/01/16 | 3468 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-grids.tex @@ -84,10 +300,8 @@ 2024/01/16 | 2987 | macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-text.tex 2024/01/16 | 2980 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-text.tex 2024/01/16 | 2951 | macros/latex/contrib/tkz/tkz-base/README.md -2024/01/16 | 2917 | biblio/bibtex/utils/bibcop/README.md 2024/01/16 | 28466 | macros/generic/memoize/memoize-extract.pl 2024/01/16 | 2843707 | install/macros/generic/memoize.tds.zip -2024/01/16 | 2839351 | biblio/ctan-bibdata/ctan.bib 2024/01/16 | 2794 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_maths.lua 2024/01/16 | 2792473 | macros/generic/memoize.zip 2024/01/16 | 2749 | macros/latex/contrib/tkz/tkz-euclide/latex/tools/tkz-tools-eu-modules.tex @@ -95,9 +309,7 @@ 2024/01/16 | 2726 | macros/latex/contrib/tkz/tkz-base/latex/tkz-obj-rep.tex 2024/01/16 | 2705 | macros/latex/contrib/tkz/tkz-base/latex/tkz-tools-print.tex 2024/01/16 | 269282 | macros/latex/contrib/robust-externalize/robust-externalize.tex -2024/01/16 | 26644 | biblio/bibtex/utils/bibcop/bibcop.pl 2024/01/16 | 2640 | macros/latex/contrib/ppt-slides/ppt-slides.ins -2024/01/16 | 2628 | biblio/bibtex/utils/bibcop/bibcop.ins 2024/01/16 | 25767 | macros/latex/contrib/regulatory/doc/example1-en.pdf 2024/01/16 | 25612 | macros/latex/contrib/regulatory/doc/example1-nl.pdf 2024/01/16 | 2529 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_functions_points.lua @@ -105,6 +317,7 @@ 2024/01/16 | 25253 | macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-spc.tex 2024/01/16 | 251893 | graphics/pgf/contrib/zx-calculus/zx-calculus.tex 2024/01/16 | 2487 | macros/generic/memoize/doc/memoize-code.tex +2024/01/16 | 243108 | support/TeX4ht/source/ChangeLog 2024/01/16 | 23932 | macros/latex/contrib/tkz/tkz-base/doc/latex/TKZdoc-base-point.tex 2024/01/16 | 23353 | macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-spc.tex 2024/01/16 | 2328 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_regular.lua @@ -118,7 +331,6 @@ 2024/01/16 | 21718 | macros/latex/contrib/tkz/tkz-euclide/latex/drawings/tkz-draw-eu-angles.tex 2024/01/16 | 21574 | macros/generic/memoize/doc/memoize-doc.sty 2024/01/16 | 2138 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_quadrilateral.lua -2024/01/16 | 211 | biblio/bibtex/utils/bibcop/DEPENDS.txt 2024/01/16 | 20921 | macros/latex/contrib/ppt-slides/ppt-slides.dtx 2024/01/16 | 2058 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_parallelogram.lua 2024/01/16 | 2005 | macros/latex/contrib/tkz/tkz-euclide/latex/libs/tkz-lib-eu-shape.tex @@ -137,8 +349,6 @@ 2024/01/16 | 17804 | macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-triangles.tex 2024/01/16 | 1735 | macros/generic/memoize/memoize.ins 2024/01/16 | 1701 | macros/latex/contrib/regulatory/doc/regulatory-nl.tex -2024/01/16 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx -2024/01/16 | 16344 | biblio/bibtex/utils/bibcop/bibcop.dtx 2024/01/16 | 1630 | macros/generic/memoize/doc/memoize-clean.1.md 2024/01/16 | 1596591 | macros/latex/contrib/robust-externalize/robust-externalize.pdf 2024/01/16 | 1584 | macros/latex/contrib/ppt-slides/README.md @@ -167,6 +377,7 @@ 2024/01/16 | 1207093 | graphics/pgf/contrib/zx-calculus.zip 2024/01/16 | 1206 | macros/latex/contrib/regulatory/doc/example1-nl.tex 2024/01/16 | 1205 | macros/latex/contrib/regulatory/doc/example1-en.tex +2024/01/16 | 1175107 | support/TeX4ht/source/tex4ht-4ht.tex 2024/01/16 | 11651 | macros/latex/contrib/tkz/tkz-elements/latex/tkz_elements_triangle.lua 2024/01/16 | 1142885 | graphics/pgf/contrib/zx-calculus/zx-calculus.pdf 2024/01/16 | 11280 | macros/latex/contrib/tkz/tkz-euclide/latex/tkz-euclide.cfg @@ -176,7 +387,6 @@ 2024/01/16 | 11099 | macros/latex/contrib/tkz/tkz-euclide/latex/tools-lua/tkz-tools-eu-lua-math.tex 2024/01/16 | 10 | macros/generic/memoize/doc/memoize-doc.mst 2024/01/16 | 1083 | macros/latex/contrib/ppt-slides/LICENSE.txt -2024/01/16 | 1083 | biblio/bibtex/utils/bibcop/LICENSE.txt 2024/01/16 | 10839 | macros/latex/contrib/tkz/tkz-euclide/latex/obj-lua/tkz-obj-eu-lua-points-with.tex 2024/01/16 | 10740 | macros/latex/contrib/regulatory/tex/fc-dutch.def 2024/01/16 | 10652 | macros/latex/contrib/tkz/tkz-euclide/latex/obj/tkz-obj-eu-points-with.tex @@ -258,7 +468,6 @@ 2024/01/15 | 58547 | macros/latex/base/ltfssaxes.dtx 2024/01/15 | 5825 | macros/latex/base/ltnews10.tex 2024/01/15 | 5775 | macros/latex/base/ltnews16.tex -2024/01/15 | 5747621 | systems/texlive/tlnet/install-tl-unx.tar.gz 2024/01/15 | 5737 | fonts/libertinust1math/README 2024/01/15 | 5732 | macros/latex/base/ltnews08.tex 2024/01/15 | 5714 | macros/latex/base/inputenc.ins @@ -303,12 +512,7 @@ 2024/01/15 | 498750 | macros/latex/base/ltcmdhooks-doc.pdf 2024/01/15 | 4945 | macros/latex/base/lthyphen.dtx 2024/01/15 | 49020 | macros/latex/base/ltboxes.dtx -2024/01/15 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2024/01/15 | 489925 | macros/latex/base/clsguide.pdf -2024/01/15 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2024/01/15 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2024/01/15 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2024/01/15 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2024/01/15 | 488968 | macros/latex/base/ltsockets-doc.pdf 2024/01/15 | 47896 | macros/latex/base/lttab.dtx 2024/01/15 | 477695 | macros/latex/base/usrguide.pdf @@ -326,7 +530,6 @@ 2024/01/15 | 4324 | macros/latex/base/cmfonts.ins 2024/01/15 | 43212 | macros/latex/base/tlc3.err 2024/01/15 | 431636 | systems/texlive/tlnet/archive/armtex.doc.r69418.tar.xz -2024/01/15 | 431400 | systems/texlive/tlnet/archive/texlive-scripts.doc.r69415.tar.xz 2024/01/15 | 43094308 | macros/latex/base.zip 2024/01/15 | 4298 | macros/latex/base/ltalloc.dtx 2024/01/15 | 4273 | macros/latex/base/docstrip.ins @@ -349,6 +552,7 @@ 2024/01/15 | 376933 | macros/latex/base/ltnews28.pdf 2024/01/15 | 37673 | macros/latex/base/ltsockets.dtx 2024/01/15 | 375493 | macros/latex/base/slides.pdf +2024/01/15 | 37373 | systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm 2024/01/15 | 3725 | macros/latex/base/ltlogos.dtx 2024/01/15 | 36154 | macros/latex/base/ltlists.dtx 2024/01/15 | 35984 | macros/latex/base/ltdirchk.dtx @@ -402,12 +606,10 @@ 2024/01/15 | 269064 | systems/texlive/tlnet/archive/docsurvey.doc.r69417.tar.xz 2024/01/15 | 265497 | macros/latex/base/ltnews24.pdf 2024/01/15 | 264168 | macros/latex/base/cfgguide.pdf -2024/01/15 | 26032969 | systems/texlive/tlnet/install-tl.zip 2024/01/15 | 257825 | macros/latex/base/modguide.pdf 2024/01/15 | 257359 | macros/latex/base/cyrguide.pdf 2024/01/15 | 2560 | systems/texlive/tlnet/archive/iexec.r69420.tar.xz 2024/01/15 | 252497 | macros/latex/base/lb2.pdf -2024/01/15 | 2520276 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2024/01/15 | 251750 | macros/luatex/latex/piton/piton.dtx 2024/01/15 | 251283 | macros/latex/base/ltnews27.pdf 2024/01/15 | 24585 | macros/latex/contrib/medmath/medmath.pdf @@ -416,7 +618,6 @@ 2024/01/15 | 243 | macros/latex/base/ltproperties-doc.tex 2024/01/15 | 24385 | support/texlogsieve/texlogsieve.tex 2024/01/15 | 24286 | macros/latex/base/ltcounts.dtx -2024/01/15 | 242798 | support/TeX4ht/source/ChangeLog 2024/01/15 | 242471 | macros/latex/base/doc.dtx 2024/01/15 | 241 | macros/latex/base/ltfilehook-doc.tex 2024/01/15 | 240 | macros/latex/base/ltsockets-doc.tex @@ -443,7 +644,6 @@ 2024/01/15 | 21488 | macros/latex/base/ltnews.cls 2024/01/15 | 21229 | macros/latex/base/lgc2.err 2024/01/15 | 211171 | macros/latex/base/nfssfont.pdf -2024/01/15 | 21032224 | systems/texlive/tlnet/install-tl-windows.exe 2024/01/15 | 210170 | support/texlogsieve/texlogsieve 2024/01/15 | 20876 | systems/texlive/tlnet/archive/profmaquette.r69420.tar.xz 2024/01/15 | 205100 | macros/latex/base/ltnews25.pdf @@ -457,7 +657,6 @@ 2024/01/15 | 19040 | macros/latex/base/lppl.txt 2024/01/15 | 190015 | macros/latex/base/syntonly.pdf 2024/01/15 | 18944 | macros/latex/base/ltnews29.tex -2024/01/15 | 18800987 | systems/texlive/tlnet/tlpkg/texlive.tlpdb 2024/01/15 | 18753 | macros/latex/base/ifthen.dtx 2024/01/15 | 18399 | macros/latex/base/nfssfont.dtx 2024/01/15 | 183132 | macros/latex/base/ltcmd.dtx @@ -527,11 +726,9 @@ 2024/01/15 | 1548 | fonts/newtxtt/tfm/newtxbttsla.tfm 2024/01/15 | 1548 | fonts/newtxtt/tfm/newtxbttslaq.tfm 2024/01/15 | 15431 | macros/latex/base/source2e.tex -2024/01/15 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 2024/01/15 | 1537 | macros/latex/contrib/amnestyreport/Makefile 2024/01/15 | 15346 | macros/latex/base/ltvers.dtx 2024/01/15 | 153073 | macros/latex/contrib/amnestyreport/amnestyreport.pdf -2024/01/15 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 2024/01/15 | 152551 | macros/latex/base/ltnews04.pdf 2024/01/15 | 151773 | macros/latex/base/ltnews02.pdf 2024/01/15 | 151324 | macros/latex/base/ltnews03.pdf @@ -539,9 +736,7 @@ 2024/01/15 | 1488 | fonts/newtxtt/tfm/tcxttzsl.tfm 2024/01/15 | 148294 | macros/latex/base/ltoutenc.dtx 2024/01/15 | 146199 | macros/latex/base/webcomp.pdf -2024/01/15 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 2024/01/15 | 145334 | macros/latex/base/ltclass.dtx -2024/01/15 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 2024/01/15 | 14421 | macros/latex/base/lppl-1-2.txt 2024/01/15 | 14341 | macros/latex/base/lppl-1-1.txt 2024/01/15 | 142867 | macros/latex/base/ltnews06.pdf @@ -645,9 +840,7 @@ 2024/01/15 | 12334 | macros/latex/base/ltnews24.tex 2024/01/15 | 12246 | macros/latex/base/tulm.fdd 2024/01/15 | 1200 | fonts/newtxtt/tfm/txttz.tfm -2024/01/15 | 1174354 | support/TeX4ht/source/tex4ht-4ht.tex 2024/01/15 | 11463 | macros/latex/base/manifest.txt -2024/01/15 | 114276 | systems/texlive/tlnet/archive/texlive-scripts.r69415.tar.xz 2024/01/15 | 112208 | macros/latex/base/ltnews11.pdf 2024/01/15 | 108248 | macros/latex/base/fntguide.tex 2024/01/15 | 107 | macros/latex/base/ltproperties-code.tex @@ -670,9 +863,7 @@ 2024/01/14 | 93200 | info/docsurvey/docsurvey.tex 2024/01/14 | 883835 | graphics/pgf/contrib/bodeplot/bodeplot-doc.pdf 2024/01/14 | 817 | info/docsurvey/README.txt -2024/01/14 | 7407 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2024/01/14 | 7248 | systems/texlive/tlnet/archive/docshots.source.r69410.tar.xz -2024/01/14 | 622156 | systems/texlive/tlnet/archive/easybook.doc.r69411.tar.xz 2024/01/14 | 56640 | macros/latex/contrib/profmaquette/doc/ProfMaquette-doc.tex 2024/01/14 | 487 | macros/latex/contrib/amnestyreport/README 2024/01/14 | 431196 | systems/texlive/tlnet/archive/tikzquads.doc.r69409.tar.xz @@ -690,16 +881,11 @@ 2024/01/14 | 243 | macros/latex/contrib/iexec/DEPENDS.txt 2024/01/14 | 18083 | macros/latex/contrib/iexec/iexec.dtx 2024/01/14 | 1668 | systems/texlive/tlnet/archive/collection-pictures.r69409.tar.xz -2024/01/14 | 16444 | systems/texlive/tlnet/archive/easybook.r69411.tar.xz -2024/01/14 | 16356 | systems/texlive/tlnet/archive/easybook.source.r69411.tar.xz -2024/01/14 | 1484084 | systems/texlive/tlnet/archive/tex4ht.source.r69412.tar.xz 2024/01/14 | 1476 | macros/latex/contrib/iexec/README.md 2024/01/14 | 1471923 | language/armenian/armtex.zip 2024/01/14 | 1416 | graphics/pgf/contrib/bodeplot/bodeplot.ins -2024/01/14 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r69412.tar.xz 2024/01/14 | 126 | macros/latex/contrib/medmath/README 2024/01/14 | 122500 | macros/latex/contrib/profmaquette/latex/ProfMaquette.sty -2024/01/14 | 1116136 | systems/texlive/tlnet/archive/tex4ht.r69412.tar.xz 2024/01/14 | 1083 | macros/latex/contrib/iexec/LICENSE.txt 2024/01/14 | 1038 | macros/latex/contrib/amnestyreport/amnestytemplate.tex 2024/01/14 | 102948 | graphics/pgf/contrib/bodeplot/bodeplot.dtx @@ -714,15 +900,11 @@ 2024/01/13 | 90430 | language/armenian/armtex/fonts/source/arssb10.mf 2024/01/13 | 8668 | systems/texlive/tlnet/archive/metalogox.source.r69401.tar.xz 2024/01/13 | 8248 | systems/texlive/tlnet/archive/braids.r69398.tar.xz -2024/01/13 | 8168 | systems/texlive/tlnet/archive/bibcop.r69395.tar.xz 2024/01/13 | 783420 | systems/texlive/tlnet/archive/braids.doc.r69398.tar.xz 2024/01/13 | 7629 | language/armenian/armtex/examples/plain/plraf-u8.tex 2024/01/13 | 7535 | language/armenian/armtex/examples/latex/raffi-u8.tex -2024/01/13 | 738136 | systems/texlive/tlnet/archive/bodeplot.doc.r69397.tar.xz 2024/01/13 | 71332 | graphics/pgf/contrib/tikzquads/latex/tikzquads.sty 2024/01/13 | 7108 | systems/texlive/tlnet/archive/keyfloat.r69399.tar.xz -2024/01/13 | 6244 | systems/texlive/tlnet/archive/bibcop.source.r69395.tar.xz -2024/01/13 | 5788 | systems/texlive/tlnet/archive/bodeplot.r69397.tar.xz 2024/01/13 | 5340 | systems/texlive/tlnet/archive/lua-placeholders.r69404.tar.xz 2024/01/13 | 5137 | language/armenian/armtex/examples/plain/plraf.tex 2024/01/13 | 5031 | language/armenian/armtex/examples/latex/raffi.tex @@ -744,7 +926,6 @@ 2024/01/13 | 38481 | language/armenian/armtex/fonts/type1/arssbs10.pfb 2024/01/13 | 3817 | language/armenian/armtex/examples/latex/alphabet.tex 2024/01/13 | 380132 | systems/texlive/tlnet/archive/metalogox.doc.r69401.tar.xz -2024/01/13 | 359716 | systems/texlive/tlnet/archive/bibcop.doc.r69395.tar.xz 2024/01/13 | 35113 | language/armenian/armtex/fonts/type1/arssr10.pfb 2024/01/13 | 34896 | language/armenian/armtex/fonts/type1/arssb10.pfb 2024/01/13 | 34675 | language/armenian/armtex/tex/latex/armtex.sty @@ -779,7 +960,6 @@ 2024/01/13 | 19695 | language/armenian/armtex/tex/plain/arm.tex 2024/01/13 | 1899 | language/armenian/armtex/fonts/source/ps2mfbas.mf 2024/01/13 | 18600 | language/armenian/armtex/tex/plain/armkb-u8.tex -2024/01/13 | 17376 | systems/texlive/tlnet/archive/bodeplot.source.r69397.tar.xz 2024/01/13 | 1688 | language/armenian/armtex/fonts/tfm/arssbs10.tfm 2024/01/13 | 1688 | language/armenian/armtex/fonts/tfm/arssb10.tfm 2024/01/13 | 1684 | language/armenian/armtex/fonts/tfm/arsssl10.tfm @@ -830,7 +1010,6 @@ 2024/01/12 | 859091 | graphics/pgf/contrib/braids.zip 2024/01/12 | 8048 | systems/texlive/tlnet/archive/fontsetup.r69390.tar.xz 2024/01/12 | 7268 | macros/luatex/latex/lua-placeholders/scripts/lua-placeholders.lua -2024/01/12 | 7068 | systems/texlive/tlnet/archive/collection-latexextra.r69389.tar.xz 2024/01/12 | 6863 | macros/luatex/latex/lua-placeholders/scripts/lua-placeholders-types.lua 2024/01/12 | 67505 | macros/luatex/latex/lua-placeholders/doc/lua-placeholders-example/example.pdf 2024/01/12 | 6657 | macros/luatex/latex/lua-placeholders/doc/lua-placeholders-example/example.tex @@ -1028,22 +1207,17 @@ 2024/01/11 | 322088 | macros/latex/contrib/tikzquests.zip 2024/01/11 | 316868 | systems/texlive/tlnet/archive/texshade.source.r69371.tar.xz 2024/01/11 | 313084 | systems/texlive/tlnet/archive/physics2.doc.r69369.tar.xz -2024/01/11 | 3043 | macros/latex/contrib/superiors/doc/footsnippet2.tex 2024/01/11 | 29988 | fonts/newtx/tex/newtxtext.sty 2024/01/11 | 29836 | macros/latex/contrib/lwarp/lwarpmk.lua 2024/01/11 | 2947 | macros/latex/contrib/lwarp/lwarp_tutorial.txt -2024/01/11 | 2926 | macros/latex/contrib/superiors/doc/footsnippet3.tex 2024/01/11 | 2914650 | macros/latex/contrib/lwarp/lwarp.dtx -2024/01/11 | 2882 | macros/latex/contrib/superiors/doc/footsnippet4.tex 2024/01/11 | 277782 | macros/latex/contrib/superiors/doc/superiors-doc.pdf 2024/01/11 | 27640 | systems/texlive/tlnet/archive/changebar.source.r69367.tar.xz -2024/01/11 | 26459 | macros/latex/contrib/superiors/doc/footsnippet2-crop.pdf 2024/01/11 | 263 | macros/latex/contrib/ffcode/DEPENDS.txt 2024/01/11 | 263204 | dviware/dvisvgm/tests/Makefile.in 2024/01/11 | 2628 | macros/latex/contrib/ffcode/ffcode.ins 2024/01/11 | 2628 | macros/latex/contrib/eolang/eolang.ins 2024/01/11 | 25465973 | fonts/newcomputermodern.zip -2024/01/11 | 25447 | macros/latex/contrib/superiors/doc/footsnippet1-crop.pdf 2024/01/11 | 24828 | macros/latex/contrib/tikzquests/doc/tikzquests.tex 2024/01/11 | 24766 | dviware/dvisvgm/libs/woff2/Makefile.in 2024/01/11 | 24703 | macros/unicodetex/latex/fontsetup/doc/fontsetup-doc.tex @@ -1072,7 +1246,6 @@ 2024/01/11 | 1940589 | macros/latex/contrib/eolang/eolang.pdf 2024/01/11 | 1940069 | macros/latex/contrib/eolang.zip 2024/01/11 | 18926 | dviware/dvisvgm/src/dvisvgm.cpp -2024/01/11 | 18804 | macros/latex/contrib/superiors/doc/superiors-doc.tex 2024/01/11 | 1869 | macros/latex/contrib/tikzquests/README.md 2024/01/11 | 1834952 | macros/latex/contrib/proflycee.zip 2024/01/11 | 1705 | macros/latex/contrib/pgfkeysearch/README.md @@ -1103,176 +1276,3 @@ 2024/01/11 | 10241 | dviware/dvisvgm/src/options.xml 2024/01/11 | 100840 | systems/texlive/tlnet/archive/pyluatex.doc.r69372.tar.xz 2024/01/11 | 1003064 | systems/texlive/tlnet/archive/texshade.doc.r69371.tar.xz -2024/01/10 | 981 | macros/latex/contrib/tcolorbox/tcbxparse.code.tex -2024/01/10 | 949 | macros/latex/contrib/tcolorbox/tcolorbox.doc.xparse.tex -2024/01/10 | 9373 | macros/latex/contrib/tcolorbox/tcbraster.code.tex -2024/01/10 | 9105 | macros/latex/contrib/tcolorbox/tcbexternal.code.tex -2024/01/10 | 90339 | macros/latex/contrib/physics2/physics2.pdf -2024/01/10 | 8855 | macros/latex/contrib/tcolorbox/tcolorbox.doc.intro.tex -2024/01/10 | 88234484 | systems/texlive/tlnet/archive/junicode.r69355.tar.xz -2024/01/10 | 84115 | macros/latex/contrib/tcolorbox/tcbskins.code.tex -2024/01/10 | 8356 | macros/latex/contrib/tcolorbox/tcolorbox-example.tex -2024/01/10 | 83317 | macros/luatex/latex/pyluatex/pyluatex.pdf -2024/01/10 | 82676 | macros/latex/contrib/physics2/physics2-legacy.pdf -2024/01/10 | 821957 | macros/latex/contrib/texshade/texshade.pdf -2024/01/10 | 7977 | macros/latex/contrib/tcolorbox/tcolorbox.doc.graphics.tex -2024/01/10 | 76829 | macros/latex/contrib/tcolorbox/goldshade.png -2024/01/10 | 752036 | systems/texlive/tlnet/archive/l3build.doc.r69360.tar.xz -2024/01/10 | 717 | macros/luatex/latex/pyluatex/example/readme-example.tex -2024/01/10 | 71598 | macros/latex/contrib/tcolorbox/CHANGES.md -2024/01/10 | 71150 | fonts/newpx/doc/newpxdoc.tex -2024/01/10 | 6844 | macros/luatex/latex/pyluatex/pyluatex.lua -2024/01/10 | 684388 | fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf -2024/01/10 | 684099 | fonts/newtx/doc/newtxdoc.pdf -2024/01/10 | 6684 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_snippet.sty -2024/01/10 | 6445 | macros/latex/contrib/tcolorbox/tcolorbox.doc.bib -2024/01/10 | 6424 | macros/latex/contrib/tcolorbox/tcolorbox.doc.beamer.tex -2024/01/10 | 64096 | macros/latex/contrib/tcolorbox/tcolorbox.doc.listings.tex -2024/01/10 | 6386 | macros/latex/contrib/tcolorbox/tcolorbox.doc.recording.tex -2024/01/10 | 6343417 | install/macros/latex/contrib/tcolorbox.tds.zip -2024/01/10 | 6343155 | macros/latex/contrib/tcolorbox.zip -2024/01/10 | 629124 | fonts/newcomputermodern/otf/NewCM08-BookItalic.otf -2024/01/10 | 628 | macros/luatex/latex/pyluatex/example/readme-custom-env.tex -2024/01/10 | 62882 | macros/latex/contrib/tcolorbox/blueshade.png -2024/01/10 | 612060 | fonts/newcomputermodern/otf/NewCM08-Book.otf -2024/01/10 | 60533 | macros/latex/contrib/tcolorbox/tcolorbox.doc.documentation.tex -2024/01/10 | 602032 | fonts/newcomputermodern/otf/NewCM10-Book.otf -2024/01/10 | 5990 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.tex -2024/01/10 | 57964 | macros/latex/contrib/tcolorbox/tcolorbox.doc.skincatalog.tex -2024/01/10 | 573968 | fonts/newcomputermodern/otf/NewCM10-Regular.otf -2024/01/10 | 5636 | macros/latex/contrib/tcolorbox/tcbmagazine.code.tex -2024/01/10 | 560420 | fonts/newcomputermodern/otf/NewCM08-Italic.otf -2024/01/10 | 5577 | macros/latex/contrib/tcolorbox/tcolorbox.doc.quickref.tex -2024/01/10 | 557288 | fonts/newcomputermodern/otf/NewCM10-BookItalic.otf -2024/01/10 | 5459 | macros/latex/contrib/tcolorbox/tcolorbox.doc.abstract.tex -2024/01/10 | 538726 | support/latexmk.zip -2024/01/10 | 533672 | fonts/newcomputermodern/otf/NewCM08-Regular.otf -2024/01/10 | 52303 | fonts/newcomputermodern/doc/newcm-doc.tex -2024/01/10 | 5168 | systems/texlive/tlnet/archive/ukbill.r69362.tar.xz -2024/01/10 | 513497 | support/latexmk/latexmk.pl -2024/01/10 | 512 | fonts/newcomputermodern/tex/newcomputermodern.sty -2024/01/10 | 5121 | macros/latex/contrib/texshade/README -2024/01/10 | 5112 | macros/latex/contrib/tcolorbox/tcolorbox.doc.filling.tex -2024/01/10 | 5111 | macros/luatex/latex/pyluatex/pyluatex-interpreter.py -2024/01/10 | 508780 | fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf -2024/01/10 | 505472 | fonts/newcomputermodern/otf/NewCM10-Bold.otf -2024/01/10 | 5048 | macros/latex/contrib/tcolorbox/README.md -2024/01/10 | 5031 | macros/latex/contrib/tcolorbox/tcolorbox.doc.verbatim.tex -2024/01/10 | 50052 | macros/latex/contrib/physics2/physics2-code.dtx -2024/01/10 | 4859487 | macros/latex/contrib/tcolorbox/tcolorbox.pdf -2024/01/10 | 471548 | fonts/newcomputermodern/otf/NewCM10-Italic.otf -2024/01/10 | 456512 | fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf -2024/01/10 | 447103 | macros/latex/contrib/tcolorbox/tcolorbox-example.pdf -2024/01/10 | 44098 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.tex -2024/01/10 | 438624 | fonts/newcomputermodern/otf/NewCMMono10-Book.otf -2024/01/10 | 438130 | macros/latex/contrib/tcolorbox/tcolorbox-tutorial-poster.pdf -2024/01/10 | 4328 | macros/luatex/latex/pyluatex/example/data-visualization.tex -2024/01/10 | 42887 | support/latexmk/CHANGES -2024/01/10 | 426049 | fonts/newpx/doc/newpxdoc.pdf -2024/01/10 | 4237 | macros/latex/contrib/physics2/physics2.ins -2024/01/10 | 417680 | fonts/newcomputermodern/otf/NewCMMono10-Italic.otf -2024/01/10 | 41486 | macros/latex/contrib/tcolorbox/tcolorbox.doc.theorems.tex -2024/01/10 | 409160 | systems/texlive/tlnet/archive/thematicpuzzle.doc.r69356.tar.xz -2024/01/10 | 405848 | fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf -2024/01/10 | 40185 | macros/latex/contrib/tcolorbox/tcolorbox.doc.breakable.tex -2024/01/10 | 398328 | fonts/newcomputermodern/otf/NewCMSans08-Book.otf -2024/01/10 | 392136 | fonts/newcomputermodern/otf/NewCMSans10-Book.otf -2024/01/10 | 39167 | macros/luatex/latex/pyluatex/example/population.csv -2024/01/10 | 388644 | fonts/newcomputermodern/otf/NewCMSans08-Regular.otf -2024/01/10 | 382928 | systems/texlive/tlnet/archive/lni.doc.r69361.tar.xz -2024/01/10 | 373808 | fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf -2024/01/10 | 37188 | systems/texlive/tlnet/archive/mptopdf.r69363.tar.xz -2024/01/10 | 36704 | systems/texlive/tlnet/archive/l3build.r69360.tar.xz -2024/01/10 | 365848 | fonts/newcomputermodern/otf/NewCMSans10-Regular.otf -2024/01/10 | 363240 | fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf -2024/01/10 | 35224 | macros/latex/contrib/tcolorbox/lichtspiel.jpg -2024/01/10 | 3486 | macros/latex/contrib/tcolorbox/tcolorbox.tex -2024/01/10 | 348336 | fonts/newcomputermodern/otf/NewCMMono10-Regular.otf -2024/01/10 | 34667 | macros/latex/contrib/tcolorbox/tcbbreakable.code.tex -2024/01/10 | 343616 | fonts/newcomputermodern/otf/NewCMSans10-Bold.otf -2024/01/10 | 3414 | macros/latex/contrib/tcolorbox/tcblistings.code.tex -2024/01/10 | 3403 | macros/latex/contrib/tcolorbox/tcbminted.code.tex -2024/01/10 | 3315 | macros/luatex/latex/pyluatex/example/beamer.tex -2024/01/10 | 329706 | macros/latex/contrib/physics2.zip -2024/01/10 | 32786 | macros/latex/contrib/tcolorbox/tcolorbox.doc.raster.tex -2024/01/10 | 322756 | fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf -2024/01/10 | 31929 | macros/latex/contrib/tcolorbox/tcbdocumentation.code.tex -2024/01/10 | 31768 | systems/texlive/tlnet/archive/l3build.source.r69360.tar.xz -2024/01/10 | 311644 | fonts/newcomputermodern/otf/NewCMMono10-Bold.otf -2024/01/10 | 3108 | macros/luatex/latex/pyluatex/pyluatex.sty -2024/01/10 | 3080 | systems/texlive/tlnet/archive/href-ul.source.r69359.tar.xz -2024/01/10 | 3012 | macros/latex/contrib/superiors/doc/footsnippet1.tex -2024/01/10 | 298936 | fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf -2024/01/10 | 29872 | macros/latex/contrib/tcolorbox/tcolorbox.doc.technical.tex -2024/01/10 | 2954 | macros/latex/contrib/physics2/phy2docdef.tex -2024/01/10 | 29389 | macros/latex/contrib/tcolorbox/tcolorbox.doc.hooks.tex -2024/01/10 | 285100 | systems/texlive/tlnet/archive/href-ul.doc.r69359.tar.xz -2024/01/10 | 28432 | macros/latex/contrib/tcolorbox/tcolorbox.doc.vignette.tex -2024/01/10 | 274323 | macros/latex/contrib/tcolorbox/tcolorbox-example-poster.pdf -2024/01/10 | 264865 | fonts/newcomputermodern/doc/newcm-doc.pdf -2024/01/10 | 25657 | macros/latex/contrib/tcolorbox/tcolorbox.doc.external.tex -2024/01/10 | 25640 | systems/texlive/tlnet/archive/lni.source.r69361.tar.xz -2024/01/10 | 25559 | macros/latex/contrib/tcolorbox/tcolorbox.doc.poster.tex -2024/01/10 | 25424 | fonts/newpx/README -2024/01/10 | 25380 | fonts/newpx/tex/newpxtext.sty -2024/01/10 | 2525 | support/latexmk/README -2024/01/10 | 2524 | systems/texlive/tlnet/archive/thematicpuzzle.r69356.tar.xz -2024/01/10 | 24663 | macros/latex/contrib/tcolorbox/tcolorbox.doc.fitting.tex -2024/01/10 | 242842 | support/latexmk/latexmk.txt -2024/01/10 | 2400 | macros/luatex/latex/pyluatex/example/typesetting-listings.tex -2024/01/10 | 2349 | macros/latex/contrib/tcolorbox/tcbprocessing.code.tex -2024/01/10 | 23286 | macros/latex/contrib/tkz/tkz-euclide/doc/latex/TKZdoc-euclide-presentation.tex -2024/01/10 | 2310 | macros/luatex/latex/pyluatex/example/repl.tex -2024/01/10 | 230284 | support/latexmk/latexmk.pdf -2024/01/10 | 22785 | macros/latex/contrib/physics2/physics2.tex -2024/01/10 | 22407 | macros/latex/contrib/tcolorbox/Basilica_5.png -2024/01/10 | 21886 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coremacros.tex -2024/01/10 | 21663 | macros/latex/contrib/tcolorbox/crinklepaper.png -2024/01/10 | 2144 | macros/luatex/latex/piton/piton.ins -2024/01/10 | 2105 | macros/luatex/latex/pyluatex/example/typesetting-minted.tex -2024/01/10 | 21021 | macros/latex/contrib/physics2/physics2-legacy.tex -2024/01/10 | 202888 | systems/texlive/tlnet/archive/ukbill.doc.r69362.tar.xz -2024/01/10 | 20273 | macros/latex/contrib/tcolorbox/tcolorbox.doc.magazine.tex -2024/01/10 | 1996068 | systems/texlive/tlnet/archive/junicode.doc.r69355.tar.xz -2024/01/10 | 195651 | support/latexmk/latexmk.1 -2024/01/10 | 1849 | macros/luatex/latex/pyluatex/example/matplotlib-pgf.tex -2024/01/10 | 183540 | macros/latex/contrib/tcolorbox/tcolorbox.doc.coreoptions.tex -2024/01/10 | 18293 | macros/latex/contrib/tcolorbox/tcolorbox.doc.initoptions.tex -2024/01/10 | 18025 | CTAN.sites -2024/01/10 | 17976 | support/latexmk/INSTALL -2024/01/10 | 1722 | macros/latex/contrib/superiors/README -2024/01/10 | 17164 | macros/latex/contrib/tcolorbox/tcbfitting.code.tex -2024/01/10 | 16147 | macros/latex/contrib/tcolorbox/tcblistingscore.code.tex -2024/01/10 | 1551 | macros/luatex/latex/pyluatex/README.md -2024/01/10 | 1540 | systems/texlive/tlnet/archive/href-ul.r69359.tar.xz -2024/01/10 | 1527 | macros/luatex/latex/pyluatex/example/matplotlib-external.tex -2024/01/10 | 15166 | macros/latex/contrib/tcolorbox/pink_marble.png -2024/01/10 | 1495481 | macros/latex/contrib/texshade/texshade.dtx -2024/01/10 | 148 | macros/latex/contrib/tcolorbox/tcolorbox.doc.references.tex -2024/01/10 | 14517 | fonts/newcomputermodern/README -2024/01/10 | 1429 | macros/luatex/latex/pyluatex/example/sessions.tex -2024/01/10 | 14291 | macros/luatex/latex/pyluatex/pyluatex.tex -2024/01/10 | 1414 | macros/latex/contrib/tcolorbox/tcblistingsutf8.code.tex -2024/01/10 | 13992868 | fonts/newcomputermodern/source.txz -2024/01/10 | 137750 | macros/latex/contrib/physics2/physics2-code.pdf -2024/01/10 | 13620 | systems/texlive/tlnet/archive/mptopdf.doc.r69363.tar.xz -2024/01/10 | 13405 | macros/latex/contrib/tcolorbox/tcolorbox.doc.sidebyside.tex -2024/01/10 | 13399 | support/TeX4ht/source/tex4ht-options.tex -2024/01/10 | 131652 | fonts/newtx/doc/newtxdoc.tex -2024/01/10 | 12784 | systems/texlive/tlnet/archive/lni.r69361.tar.xz -2024/01/10 | 12747 | macros/latex/contrib/tcolorbox/tcbvignette.code.tex -2024/01/10 | 12634 | macros/latex/contrib/tcolorbox/tcbtheorems.code.tex -2024/01/10 | 1250048 | fonts/newcomputermodern/otf/NewCMMath-Book.otf -2024/01/10 | 12459 | macros/latex/contrib/tcolorbox/tcbposter.code.tex -2024/01/10 | 11830 | macros/latex/contrib/tcolorbox/tcolorbox.doc.s_main.sty -2024/01/10 | 1180639 | macros/latex/contrib/texshade.zip -2024/01/10 | 116834 | macros/luatex/latex/pyluatex.zip -2024/01/10 | 113061 | macros/latex/contrib/tcolorbox/tcolorbox.doc.skins.tex -2024/01/10 | 112 | macros/latex/contrib/tcolorbox/tcolorbox.doc.index.tex -2024/01/10 | 1123460 | fonts/newcomputermodern/otf/NewCMMath-Regular.otf -2024/01/10 | 1106 | macros/latex/contrib/tcolorbox/tcolorbox.doc.picturecredits.tex -2024/01/10 | 1049 | macros/luatex/latex/pyluatex/example/typesetting-example.tex -2024/01/10 | 10373 | macros/latex/contrib/tcolorbox/tcbhooks.code.tex -2024/01/10 | 103614 | macros/latex/contrib/tcolorbox/tcolorbox.sty -2024/01/10 | 1022 | macros/latex/contrib/physics2/README.md -2024/01/10 | 10040 | macros/latex/contrib/tcolorbox/tcbskinsjigsaw.code.tex diff --git a/biblio/bibtex/utils/bibcop/bibcop.1 b/biblio/bibtex/utils/bibcop/bibcop.1 index b4752f9544..725f82cfce 100644 --- a/biblio/bibtex/utils/bibcop/bibcop.1 +++ b/biblio/bibtex/utils/bibcop/bibcop.1 @@ -1,4 +1,4 @@ -.TH bibcop 1 "2024-01-16" +.TH bibcop 1 "2024-01-17" .SH NAME bibcop \- Style Checker and Fixer of BibTeX Files (.bib) .SH SYNOPSIS diff --git a/biblio/bibtex/utils/bibcop/bibcop.dtx b/biblio/bibtex/utils/bibcop/bibcop.dtx index b4bc9b9cf9..00a162fb81 100644 --- a/biblio/bibtex/utils/bibcop/bibcop.dtx +++ b/biblio/bibtex/utils/bibcop/bibcop.dtx @@ -50,7 +50,7 @@ %\NeedsTeXFormat{LaTeX2e} %\ProvidesPackage{bibcop} %<*package> -[2024-01-16 0.0.18 Style Checker of Bibliography Files] +[2024-01-17 0.0.19 Style Checker of Bibliography Files] % %<*driver> \documentclass{ltxdoc} @@ -460,25 +460,19 @@ booktitle = {{Proceedings of the International \RequirePackage{shellesc} \makeatletter \newcommand\bibcop@exec[1]{ - \ifnum\ShellEscapeStatus=1 - \iexec{\bibcop@script\space - \ifdefined\bibcop@verbose--verbose\fi\space - \ifdefined\bibcop@notags--no:tags\fi\space - \ifdefined\bibcop@noinproc--no:org\fi\space - \ifdefined\bibcop@noinproc--no:inproc\fi\space - \ifdefined\bibcop@nodoi--no:doi\fi\space - \ifdefined\bibcop@nocaps--no:caps\fi\space - \ifdefined\bibcop@nowraps--no:wraps\fi\space - --latex '#1'}% - \message{bibcop: style checking finished for #1^^J}% - \else% - \message{bibcop: since -shell-escape is not set, no - style checking performed for #1^^J}% - \fi% + \iexec[maybe]{\bibcop@script\space + \ifdefined\bibcop@verbose--verbose\fi\space + \ifdefined\bibcop@notags--no:tags\fi\space + \ifdefined\bibcop@noinproc--no:org\fi\space + \ifdefined\bibcop@noinproc--no:inproc\fi\space + \ifdefined\bibcop@nodoi--no:doi\fi\space + \ifdefined\bibcop@nocaps--no:caps\fi\space + \ifdefined\bibcop@nowraps--no:wraps\fi\space + --latex '#1'}% + \message{bibcop: style checking finished for #1^^J}% } \makeatother - % \begin{macro}{\bibliography} % Then, we re-define the |\bibliography| command: % \begin{macrocode} diff --git a/biblio/bibtex/utils/bibcop/bibcop.pdf b/biblio/bibtex/utils/bibcop/bibcop.pdf index bf900181a5..7181610159 100644 Binary files a/biblio/bibtex/utils/bibcop/bibcop.pdf and b/biblio/bibtex/utils/bibcop/bibcop.pdf differ diff --git a/biblio/bibtex/utils/bibcop/bibcop.pl b/biblio/bibtex/utils/bibcop/bibcop.pl index f1e5121ffc..89d101eccf 100755 --- a/biblio/bibtex/utils/bibcop/bibcop.pl +++ b/biblio/bibtex/utils/bibcop/bibcop.pl @@ -21,7 +21,7 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -# 2024-01-16 0.0.18 +# 2024-01-17 0.0.19 package bibcop; use warnings; @@ -893,7 +893,9 @@ sub fail { } } -if (not basename($0) eq 'bibcop.pl') { +my $script = basename($0); +$script =~ s/\.pl$//g; +if (not $script eq 'bibcop') { goto END; } @@ -917,7 +919,7 @@ if (@ARGV+0 eq 0 or exists $args{'--help'} or exists $args{'-?'}) { " --latex Report errors in LaTeX format using \\PackageWarningNoLine command\n\n" . "If any issues, report to GitHub: https://github.com/yegor256/bibcop"); } elsif (exists $args{'--version'} or exists $args{'-v'}) { - info('0.0.18 2024-01-16'); + info('0.0.19 2024-01-17'); } else { my ($file) = grep { not($_ =~ /^-.*$/) } @ARGV; if (not $file) { diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib index 95cf96b878..7213582c2d 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 16-01-2024, 02:00:03 +%% created at 17-01-2024, 02:00:04 %% %% This file is provided under the terms of the LPPL v1.3 or @@ -6877,8 +6877,8 @@ title = {The \texttt{bibcop} package}, subtitle = {Style checker for .bib files}, author = {Yegor Bugayenko}, - date = {2024-01-12}, - version = {0.0.17}, + date = {2024-01-16}, + version = {0.0.18}, license = {mit}, mirror = {https://mirror.ctan.org/biblio/bibtex/utils/bibcop}, url = {https://ctan.org/pkg/bibcop}, @@ -20696,8 +20696,8 @@ title = {The \texttt{easybook} package}, subtitle = {Easily typesetting Chinese theses or books}, author = {Qu Yi}, - date = {2024-01-14}, - version = {2024H}, + date = {2024-01-16}, + version = {2024I}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/easybook}, url = {https://ctan.org/pkg/easybook}, @@ -44746,8 +44746,8 @@ title = {The \texttt{Memoize} package}, subtitle = {Externalization of graphics and memoization of compilation results in general}, author = {Sašo Živanović}, - date = {2024-01-02}, - version = {1.1.0}, + date = {2024-01-16}, + version = {1.1.1}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/generic/memoize}, url = {https://ctan.org/pkg/memoize}, @@ -55021,8 +55021,8 @@ title = {The \texttt{ppt-slides} package}, subtitle = {Good-looking slide decks à la PowerPoint (PPT)}, author = {Yegor Bugayenko}, - date = {2023-11-08}, - version = {0.3.0}, + date = {2024-01-16}, + version = {0.3.1}, license = {mit}, mirror = {https://mirror.ctan.org/macros/latex/contrib/ppt-slides}, url = {https://ctan.org/pkg/ppt-slides}, @@ -59352,6 +59352,17 @@ url = {https://ctan.org/pkg/regstats}, } +@manual{ctan-regulatory, + title = {The \texttt{regulatory} package}, + subtitle = {Flexible drafting of legal documents, especially in Dutch}, + author = {Erik Nijenhuis}, + date = {2024-01-16}, + version = {}, + license = {lppl1.3c}, + mirror = {https://mirror.ctan.org/macros/latex/contrib/regulatory}, + url = {https://ctan.org/pkg/regulatory}, +} + @manual{ctan-reledmac, title = {The \texttt{reledmac} package}, subtitle = {Typeset scholarly editions}, @@ -59976,8 +59987,8 @@ title = {The \texttt{robust-externalize} package}, subtitle = {Cache anything (TikZ, python, ...) in a robust, efficient and pure way}, author = {Léo Colisson}, - date = {2023-11-14}, - version = {2.2}, + date = {2024-01-16}, + version = {2.5}, license = {mit}, mirror = {https://mirror.ctan.org/macros/latex/contrib/robust-externalize}, url = {https://ctan.org/pkg/robust-externalize}, @@ -71350,8 +71361,8 @@ title = {The \texttt{tkz-base} package}, subtitle = {Tools for drawing with a cartesian coordinate system}, author = {Alain Matthes}, - date = {2023-02-15}, - version = {4.2c}, + date = {2024-01-16}, + version = {4.21c}, license = {lppl1.3}, mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/tkz-base}, url = {https://ctan.org/pkg/tkz-base}, @@ -71397,8 +71408,8 @@ title = {The \texttt{tkz-elements} package}, subtitle = {A Lua library for drawing Euclidean geometry with TikZ or tkz-euclide}, author = {Alain Matthes}, - date = {2023-12-24}, - version = {1.72c}, + date = {2024-01-16}, + version = {1.82c}, license = {lppl1.3}, mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/tkz-elements}, url = {https://ctan.org/pkg/tkz-elements}, @@ -71408,8 +71419,8 @@ title = {The \texttt{tkz-euclide} package}, subtitle = {Tools for drawing Euclidean geometry}, author = {Alain Matthes}, - date = {2023-11-06}, - version = {5.04c}, + date = {2024-01-16}, + version = {5.05c}, license = {lppl1.3}, mirror = {https://mirror.ctan.org/macros/latex/contrib/tkz/tkz-euclide}, url = {https://ctan.org/pkg/tkz-euclide}, @@ -79586,8 +79597,8 @@ title = {The \texttt{zx-calculus} package}, subtitle = {A library to typeset ZX Calculus diagrams}, author = {Léo Colisson}, - date = {2021-10-22}, - version = {}, + date = {2024-01-16}, + version = {2.0}, license = {mit}, mirror = {https://mirror.ctan.org/graphics/pgf/contrib/zx-calculus}, url = {https://ctan.org/pkg/zx-calculus}, diff --git a/info/kaytannollista-latexia/kaytannollista-latexia.pdf b/info/kaytannollista-latexia/kaytannollista-latexia.pdf index 9cac30e789..a8cacb8784 100644 Binary files a/info/kaytannollista-latexia/kaytannollista-latexia.pdf and b/info/kaytannollista-latexia/kaytannollista-latexia.pdf differ diff --git a/info/kaytannollista-latexia/kaytannollista-latexia.tex b/info/kaytannollista-latexia/kaytannollista-latexia.tex index d1b0c921a9..f9bc3d6b65 100644 --- a/info/kaytannollista-latexia/kaytannollista-latexia.tex +++ b/info/kaytannollista-latexia/kaytannollista-latexia.tex @@ -10,7 +10,7 @@ \usepackage[math-style=ISO]{unicode-math} \usepackage[finnish, showseconds=false]{datetime2} \usepackage{ragged2e} -\usepackage[hang,bottom,norule]{footmisc} +\usepackage[hang,bottom]{footmisc} \usepackage[clearempty]{titlesec} \usepackage{titletoc} \usepackage{graphicx} @@ -78,6 +78,8 @@ datezeros=false]{biblatex} \usepackage[oldstyle,semibold,ScaleSF=MatchLowercase,StretchTT=.8] {libertinus-otf} +\newfontface{\swashfontti}{TeX Gyre Chorus}[Scale=MatchLowercase] + \renewcommand{\scriptsize}{\fontsize{7bp}{7bp}\selectfont} \renewcommand{\footnotesize}{\fontsize{8bp}{9bp}\selectfont} \renewcommand{\small}{\fontsize{9bp}{10bp}\selectfont} diff --git a/info/kaytannollista-latexia/luku-asetukset.tex b/info/kaytannollista-latexia/luku-asetukset.tex index c9e074aaf9..ea230a80cc 100644 --- a/info/kaytannollista-latexia/luku-asetukset.tex +++ b/info/kaytannollista-latexia/luku-asetukset.tex @@ -1062,8 +1062,8 @@ asetusten näkökulmasta. \hfill {\ttfamily\addfontfeatures{FakeStretch=1, Scale=4.5}Amf} }{ - \caption{Vasemmalla pääteviivallinen, keskellä pääteviivaton ja - oikealla tasalevyinen pääteviivallinen kirjainperhe} + \caption{Vasemmalla pääteviivallinen (antiikva), keskellä + pääteviivaton (groteski) ja oikealla tasalevyinen kirjainperhe} \label{kuva/kirjainperhetyypit} } @@ -1104,11 +1104,45 @@ seuraavan esimerkin mukaisesti: \setmonofont{TeX Gyre Cursor}[Scale=MatchLowercase] \end{koodilohkosis} +\leijutlk{ + \begin{tabular}{ll} + \toprule + \ots{Kirjainperhe} & \ots{Tyyli} \\ + \midrule + Garamond Libre & antiikva, renessanssi, ranskalainen \\ + TeX Gyre Pagella & antiikva, renessanssi, ranskalainen \\ + TeX Gyre Termes & antiikva, renessanssi, alankomainen \\ + Libertinus Serif & antiikva, barokki, siirtymäkausi \\ + Latin Modern Roman & antiikva, uusantiikva \\ + TeX Gyre Schola & antiikva, vahvapäätteinen \\ + TeX Gyre Bonum & antiikva, vahvapäätteinen \\ + DejaVu Serif & antiikva, vahvapäätteinen \\ + TeX Gyre Chorus & kalligrafinen \\ + \midrule + Libertinus Sans & groteski, humanistinen, kaksivahvuinen \\ + TeX Gyre Heros & groteski, uusgroteski \\ + DejaVu Sans & groteski, uusgroteski \\ + TeX Gyre Adventor & groteski, geometrinen \\ + \midrule + Libertinus Mono & tasalevyinen \\ + TeX Gyre Cursor & tasalevyinen \\ + DejaVu Sans Mono & tasalevyinen \\ + \bottomrule + \end{tabular} +}{ + \caption{Vapaita fontteja ja kirjainperheitä, jotka toimitetaan Tex + Live \=/jakelun tai käyttöjärjestelmän mukana. Tyylit viittaavat + kirjainmuotoon tai historialliseen kirjaintyyliin} + \label{tlk/vapaita-fontteja} +} + \noindent Edellisessä esimerkissä \englanti{TeX Gyre Termes, Heros} ja -\englanti{Cursor} ovat kirjainperheiden nimiä. Fonttitiedostojen -tulee olla asennettuna käyttöjärjestelmän normaalien käytäntöjen -mukaisesti tai Latex\-/jakelun käytäntöjen mukaisesti. +\englanti{Cursor} ovat kirjainperheiden nimiä. Fonttitiedostojen tulee +olla asennettuna käyttöjärjestelmän normaalien käytäntöjen mukaisesti +tai Latex\-/jakelun käytäntöjen mukaisesti. Taulukkoon +\ref{tlk/vapaita-fontteja} on koottu erityylisiä, vapaasti käytettävissä +olevia kirjainperheitä. Kirjainperheiden käyttöönoton yhteydessä voi määritellä lukuisia asetuksia kuten ligatuureja, gemenanumeroita, optisia kokoja ja muita @@ -1140,7 +1174,7 @@ lihavoinnin. On kuitenkin mahdollista määritellä kirjainperheeseen kuuluvia leikkausten nimiä tai fonttitiedostoja erikseen. Tällainen on tarpeen esimerkiksi silloin, kun kirjainperhe sisältää useita eri vahvuuksia ja halutaan itse määritellä, mikä niistä tulee -perusvahvuudeksi ja mikä lihavoiduksi. +perusvahvuudeksi ja mikä lihavaksi. Esimerkki \ref{esim/fontit-leik-omin} selventää, kuinka kirjainperheen eri leikkausten nimet tai fonttitiedostot määritellään. Kullekin @@ -1148,7 +1182,8 @@ leikkaukselle voi määrittää myös omat asetuksensa \koodi{Fea\-tures}\-/ sanaan päättyvällä valitsimella. Samaa asiaa havainnollistetaan myös konkreettisemmin esimerkissä \ref{esim/fontit-leik-omin-käyt}. Leikkauksen nimessä voi käyttää tähteä (\koodi{*}), joka korvautuu -kirjainperheen nimellä (\englanti{Macklin Text}). +kirjainperheen nimellä (\englanti{Macklin Text}). Fonttien nimeämisestä +on lisätietoa luvussa \ref{luku/luatex-xetex-fonttitekn}. \begin{esimerkki*} \komentoi{setmainfont} @@ -1160,7 +1195,9 @@ kirjainperheen nimellä (\englanti{Macklin Text}). BoldItalicFont={…}, BoldItalicFeatures={…}, SlantedFont={…}, SlantedFeatures={…}, BoldSlantedFont={…}, BoldSlantedFeatures={…}, - SmallCapsFont={…}, SmallCapsFeatures={…}] + SmallCapsFont={…}, SmallCapsFeatures={…}, + SwashFont={…}, SwashFeatures={…}, + BoldSwashFont={…}, BoldSwashFeatures={…}] \end{koodilohko} \caption{Kirjainperheeseen sisältyvien leikkausten nimien ja kirjainleikkauskohtaisten ominaisuuksien määrittely} @@ -1335,76 +1372,113 @@ rivikorkeus on parasta asettaa \komento{fontsize}\-/komennolla. Latexissa on joukko korkean tason fonttikomentoja, jotka on tarkoitettu käytettäväksi sen jälkeen, kun matalan tason asetukset on kerran -määritetty. Taulukossa \ref{tlk/fonttimallikomennot} on komennot -kirjainperheen ja kirjainleikkauksen valintaan. Joka rivillä ensin -mainittu komento (esim. \komento{rmfamily}) vaikuttaa tekstiin, joka -tulee komennon jälkeen. Vaikutusalue rajoittuu nykyisen ympäristön (luku -\ref{luku/ympäristöt}) sisään tai aaltosulkeilla (luku -\ref{luku/aaltosulkeet}) rajatun alueen sisään. Rivillä toisena olevalle -komennolle (esim. \komentox{textrm}) annetaan yksi argumentti, ja -komennon vaikutus koskee vain argumenttina olevaa tekstiä. +määritetty. Taulukoissa \ref{tlk/komennot-kirjainperhe} ja +\ref{tlk/komennot-kirjainleikk} ovat komennot kirjainperheen ja +kirjainleikkauksen valintaan. Joka rivillä ensin mainittu komento (esim. +\komento{rmfamily}) vaikuttaa tekstiin, joka tulee komennon jälkeen. +Vaikutusalue rajoittuu nykyisen ympäristön (luku \ref{luku/ympäristöt}) +sisään tai aaltosulkeilla (luku \ref{luku/aaltosulkeet}) rajatun alueen +sisään. Rivillä toisena olevalle komennolle (esim. \komentox{textrm}) +annetaan yksi argumentti, ja komennon vaikutus koskee vain argumenttina +olevaa tekstiä. \leijutlk{ \providecommand{\rivi}{} - \renewcommand{\rivi}[4]{% - \komento{#1} & \komento{#2}\komentoarg{\dots} & #3 & #4 \\} - \begin{tabular}{llll} + \renewcommand{\rivi}[3]{% + \komento{#1} & \komento{#2}\komentoarg{\dots} & #3 \\} + \begin{tabular}{lll} \toprule - \multicolumn{2}{l}{\ots{Komento}} - & \multicolumn{2}{l}{\ots{Merkitys}} \\ + \multicolumn{2}{l}{\ots{Komento}} & \ots{Merkitys} \\ \midrule - \rivi {rmfamily} {textrm} {\rmfamily perhe} - {perus, yl. antiikva, serif, roman} - \rivi {sffamily} {textsf} {\sffamily perhe} - {groteski, sans serif, gothic} - \rivi {ttfamily} {texttt} {\ttfamily perhe} - {tasalevyinen, typewriter} + \rivi {rmfamily} {textrm} + {\textrm{perus, yleensä antiikva, serif, roman}} + \rivi {sffamily} {textsf} + {\textsf{groteski, sans serif, gothic}} + \rivi {ttfamily} {texttt} + {\texttt{tasalevyinen, typewriter}} + + \bottomrule + \end{tabular} +}{ + \caption{Komennot kirjainperheen valintaan. Perustila on + \komento{rmfamily}} + \label{tlk/komennot-kirjainperhe} +} + +\leijutlk{ + \providecommand{\rivi}{} + \renewcommand{\rivi}[3]{% + \komento{#1} & \komento{#2}\komentoarg{\dots} & #3 \\} + \begin{tabular}{llll} + \toprule + \multicolumn{2}{l}{\ots{Komento}} & \ots{Merkitys} \\ \midrule - \rivi {mdseries} {textmd} {\mdseries leikkaus} - {tavallinen vahvuus, medium} - \rivi {bfseries} {textbf} {\bfseries leikkaus} - {lihavoitu, bold} + \rivi {mdseries} {textmd} + {\textmd{tavallinen vahvuus, medium}} + \rivi {bfseries} {textbf} + {\textbf{lihavoitu, bold}} \midrule - \rivi {upshape} {textup} {\upshape leikkaus} - {pystyasento, tavallinen} - \rivi {itshape} {textit} {\itshape leikkaus} - {kursiivi, italic} - \rivi {slshape} {textsl} {\slshape leikkaus} - {kalteva, slanted, oblique} - \rivi {scshape} {textsc} {\scshape leikkaus} - {pienversaali, kapiteeli, small caps} + \rivi {upshape} {textup} + {\textup{pystyasento, tavallinen}} + \rivi {itshape} {textit} + {\textit{kursiivi, italic}} + \rivi {slshape} {textsl} + {\textsl{kalteva, slanted, oblique}} + \rivi {swshape} {textsw} + {{\swashfontti Koristeellinen, swash}} + \rivi {scshape} {textsc} + {\textsc{pienversaali, kapiteeli, small caps}} + \bottomrule \end{tabular} }{ - \caption{Komennot kirjainperheen ja kirjainleikkauksen valintaan. - Perustila on \komento{rmfamily}, \komento{mdseries} ja - \komento{upshape}} - \label{tlk/fonttimallikomennot} + \caption{Komennot kirjainleikkauksen valintaan saman kirjainperheen + sisällä. Perustila on \komento{mdseries} ja \komento{upshape}} + \label{tlk/komennot-kirjainleikk} } -Taulukossa on ensimmäisillä riveillä kirjainperhekomennot (3\,kpl), -jotka vaihtavat koko perheen kaikkine leikkauksineen. Niiden jälkeen -tulevat kirjainleikkauskomennot, jotka valitsevat toisen leikkauksen -samasta perheestä. Kirjainleikkauksen asetukset jaetaan kahteen ryhmään: -\englantik{series} 'sarja' ja \englantik{shape} 'muoto'. Kummastakin -ryhmästä on valittuna aina yksi ominaisuus, eli samanaikaisesti voi olla -voimassa esimerkiksi \komento{bfseries} (\textbf{lihavoitu}) ja -\komento{itshape} (\textit{kursiivi}), ja tuloksena on \textbf{\itshape - lihavoitua kursiivia}. +Taulukossa \ref{tlk/komennot-kirjainperhe} ovat kirjainperhekomennot, +jotka vaihtavat koko perheen kaikkine leikkauksineen. Taulukon +\ref{tlk/komennot-kirjainleikk} komennot puolestaan valitsevat toisen +leikkauksen samasta perheestä. Kirjainleikkauksen asetukset jaetaan +kahteen ryhmään: \englantik{series} 'sarja' ja \englantik{shape} +'muoto'. Kummastakin ryhmästä on valittuna aina yksi ominaisuus, eli +samanaikaisesti voi olla voimassa esimerkiksi \komento{bfseries} +(\textbf{lihavoitu}) ja \komento{itshape} (\textit{kursiivi}), ja +tuloksena on \textbf{\itshape lihavoitua kursiivia}. Useimmissa fonteissa kursiivileikkaus (\komento{itshape}) ja kalteva leikkaus (\komento{slshape}) tuottavat saman lopputuloksen, mutta käsitteellisesti ne ovat eri asia. Kursiivi on aina muodoltaan erilainen leikkaus, joka hieman mukailee käsialakirjoitusta, joskaan kirjaimia ei ole sidottu toisiinsa. Sen sijaan kalteva leikkaus on tavallisen eli -pystyasentoisen leikkauksen kallistettu versio. Kallistus voi olla -kirjainmuotoilijan piirtämä leikkaus, tai kallistus on voitu toteuttaa -mekaanisesti. Kallistuksen voi tehdä myös Latexissa (luku -\ref{luku/fontit-venytys}). +pystyasentoisen leikkauksen kallistettu versio. + +Jos kallistus on kirjainmuotoilijan piirtämä, kursiivista poikkeava +leikkaus eli ihan oma fonttitiedostonsa, kallistettu leikkaus täytynee +erikseen määrittää osaksi kirjainperhettä \koodi{Slanted\-Font}\-/ +asetuksella (esimerkki \ref{esim/fontit-leik-omin}). Kallistuksen voi +tehdä myös keinotekoisesti Latexissa. Katso lisätietoa luvusta +\ref{luku/fontit-venytys}. + +Jotkut \englanti{Open Type} \=/fontit sisältävät erillisen +koristeellisen tyylin (\komento{swshape}), joka voi sisältyä esimerkiksi +kursiivileikkaukseen mutta joka täytyy silti kytkeä erikseen päälle. +Sellaisen saa määritettyä osaksi kirjainperhettä käyttämällä valitsimia +\koodi{Swash\-Font} ja \koodi{Swash\-Fea\-tures} (esimerkki +\ref{esim/fontit-leik-omin}) seuraavalla tavalla: +\komentoi{setmainfont} +\begin{koodilohkosis} +\setmainfont{Garamond Premier Pro}[ + SwashFont={GaramondPremrPro-It}, % kursiivileikkaus + SwashFeatures={Style=Swash}] % koristeellinen swash-tyyli +\end{koodilohkosis} + +\noindent Komennot fontin koon valintaan ovat taulukossa \ref{tlk/fonttikokokomennot}. Taulukko kertoo myös, mitä fontin pistekokoa (pt) mikäkin komento tarkoittaa oletuksena. Oletus riippuu @@ -1445,6 +1519,7 @@ fonttikokovalitsimista \koodi{10pt}, \koodi{11pt} ja \koodi{12pt}. \ymparistoi{upshape} \ymparistoi{itshape} \ymparistoi{slshape} +\ymparistoi{swshape} \ymparistoi{scshape} \ymparistoi{tiny} \ymparistoi{scriptsize} @@ -1649,7 +1724,7 @@ samoja mutta ilman skaalausta. Uusien skaalaamattomien kirjainperheiden komentojen nimiksi on valittu \komentox{sf\-fam\-i\-ly\-abs} ja \komentox{tt\-fam\-i\-ly\-abs} (vrt. \komento{sffamily} ja \komento{ttfamily}, taulukko -\ref{tlk/fonttimallikomennot}), ja näillä komennoilla kirjainperheet +\ref{tlk/komennot-kirjainperhe}), ja näillä komennoilla kirjainperheet kytketään päälle. Jos esimerkiksi jonkin julkaisun vaatimuksiin kuuluu, että otsikossa täytyy olla 20 pisteen lihavoitu TeX Gyre Heros \=/kirjainleikkaus, voi esimerkissä \ref{esim/fontti-absoluuttinen} @@ -1694,6 +1769,61 @@ myös teknisesti eheä eli toimii Latexin sisäisen logiikan näkökulmasta oikein. Haittana voi pitää sitä, että kaikki koot täytyy määritellä erikseen. +\subsection{Lualatex, Xelatex ja fonttitekniikka} +\label{luku/luatex-xetex-fonttitekn} + +Kääntäjät Lualatex ja Xelatex (Luatex ja Xetex) käsittelevät fontteja +sisäisesti eri tavalla. Ne esimerkiksi hyväksyvät kirjainperheiden tai +\=/leikkausten nimet hieman toisistaan poikkeavalla tavalla, ja +kääntäjää vaihtaessa saattaa joskus huomata, ettei jotakin +kirjainperhettä tai yksittäistä leikkausta enää löydykään. + +Ongelma korjaantuu nimeämällä kirjainperheen tai \=/leikkauksen eri +tavalla. Yleispätevää ohjetta nimeämiseen on vaikeaa antaa, mutta jos +tulee ongelmia, kannatta fonttitiedostoista tutkia kirjainperheelle tai +\=/leikkaukselle annettuja nimiä. Se onnistuu käyttöjärjestelmän +komentotulkissa \koodi{otfinfo}\-/ komennolla, joka tulostaa jotakin +esimerkin \ref{esim/otfinfo-fonttinimiä} kaltaista. Kokeilemalla +tulosteessa olevia nimiä saa kyllä fontit toimimaan. + +\begin{esimerkki*} +\begin{koodilohko} +Family: Garamond Premr Pro +Subfamily: Regular +Full name: GaramondPremrPro +PostScript name: GaramondPremrPro +Preferred family: Garamond Premier Pro +Mac font menu name: Garamond Premr Pro +\end{koodilohko} + \caption{\koodi{otfinfo}\-/ komennon tuloste kertoo fontista muun + muassa kirjainperheen ja \=/leikkauksen nimiä} + \label{esim/otfinfo-fonttinimiä} +\end{esimerkki*} + +\begin{koodilohkosis} +otfinfo -i GaramondPremrPro.otf +\end{koodilohkosis} + +\noindent +Lualatex (Luatex) käyttää ulkoisia tekniikoita fonttien latomiseen eli +''renderöimiseen'', ja näitä tekniikoita voi vaihtaa fontin +määrittelemisen yhteydessä. Eri vaihtoehtojen kokeilu voi olla tarpeen, +jos oletusasetuksilla ei synny toivottua jälkeä. Asetuksia muutetaan +käyttämällä valitsinta \koodi{Renderer} seuraavan esimerkin tavoin: + +\komentoi{setmainfont} +\begin{koodilohkosis} +\setmainfont{…}[Renderer=Node] +\end{koodilohkosis} + +\noindent +Tavallisimpia \koodi{Renderer}\-/ valitsimen arvoja ovat +\koodi{\mbox{Node}}, \koodi{Harf\-Buzz} ja \koodi{Open\-Type}. +Lisätietoa voi lukea \paketti{fontspec}\-/ paketin ohjekirjan luvusta, +joka käsittelee Luatexin erityispiirteitä. Myös Xelatexissa (Xetex) on +fontteihin liittyviä ominaisuuksia, joita ei muissa kääntäjissä ole. +Niistäkin kerrotaan \paketti{fontspec}\-/ paketin ohjekirjassa. + \subsection{Fonttien oletusasetuksia} \label{luku/fontit-oletusasetukset} @@ -1784,8 +1914,8 @@ Komennon valinnaisella argumentilla voi rajata, mitä kirjainperheitä oletusasetukset koskevat. Valinnaiseen argumenttiin kirjoitetaan yksi tai useampia pilkulla erotettuja komentoja, joilla kirjainperheet kytketään päälle: \komento{rmfamily}, \komento{sffamily}, -\komento{ttfamily} (taulukko \ref{tlk/fonttimallikomennot}, -s.~\pageref{tlk/fonttimallikomennot}) tai komennolla +\komento{ttfamily} (taulukko \ref{tlk/komennot-kirjainperhe}, +s.~\pageref{tlk/komennot-kirjainperhe}) tai komennolla \komento{newfontfamily} määritelty fonttikomento (luku \ref{luku/fontin-valinta}). @@ -1979,6 +2109,13 @@ kirjainperheeseen kuuluvaan pienversaaliin, käytetään valitsinta \setmainfont{…}[SmallCapsFeatures={LetterSpace=6}] \end{koodilohkosis} +\noindent +\koodi{Letter\-Space}\-/ ominaisuus ei ole aina toiminut kunnolla +kaikilla Lualatexin fontinladontatekniikoilla. Jos merkkien välistys +toimii epätasaisesti, kannattaa kokeilla vaihtaa tekniikkaa +\koodi{Renderer}\-/ valitsimella. Lisätietoa on luvussa +\ref{luku/luatex-xetex-fonttitekn}. + \subsection{Keinotekoinen venytys, lihavointi ja kallistus} \label{luku/fontit-venytys} @@ -2003,8 +2140,8 @@ Kirjainleikkauksen leventäminen tekee tekstistä samalla lihavampaa, koska kirjainten viivat tulevat vahvemmiksi leveyssuunnassa. Korkeussuunnassa vahvuus säilyy ennallaan, joten kirjainten viivakontrasti muuttuu. Kirjainleikkauksen kutistaminen vaikuttaa -lihavuuteen päinvastaisesti. Tällainen mekaaninen fontin -''korjaileminen'' ei välttämättä tuota typografisesti kovin hyvää jälkeä +lihavuuteen päinvastaisesti. Tällainen keinotekoinen fontin +korjaileminen ei välttämättä tuota typografisesti kovin hyvää jälkeä mutta voi sopia lievästi käytettynä esimerkiksi otsikoihin. Tämän oppaan tasalevyistä kirjainperhettä on hieman kutistettu, koska alkuperäinen on kohtuuttoman leveä ({\ttfamily\addfontfeatures{FakeStretch=1} @@ -2026,20 +2163,21 @@ pysty {\addfontfeatures{FakeSlant=.2} kalteva} \end{tulossis} \noindent -Mekaanisen lihavoinnin tai kallistuksen saa osaksi kirjainperhettä, kun -asettaa kirjainperheen määrittelyn yhteydessä halutun kirjainleikkauksen -valitsimella \koodi{Bold\-Font} tai \koodi{Slanted\-Font} ja määrittää -niille erityisiä ominaisuuksia valitsimella \koodi{Bold\-Fea\-tures} tai -\koodi{Slanted\-Fea\-tures}. Seuraava esimerkki asettaa dokumentin -perusfontille kaltevan leikkauksen. Tämän jälkeen komento -\komento{slshape} valitsee \textsl{kaltevan} leikkauksen, joka on siis -eri asia kuin \textit{kursiivi} (\komento{itshape}). +Keinotekoisen lihavoinnin tai kallistuksen saa osaksi kirjainperhettä, +kun asettaa kirjainperheen määrittelyn yhteydessä halutun +kirjainleikkauksen valitsimella \koodi{Bold\-Font} tai +\koodi{Slanted\-Font} ja määrittää niille erityisiä ominaisuuksia +valitsimella \koodi{Bold\-Fea\-tures} tai \koodi{Slanted\-Fea\-tures}. +Seuraava esimerkki asettaa dokumentin perusfontille kaltevan +leikkauksen. Tämän jälkeen komennot \komento{slshape} ja +\komento{textsl} valitsevat \textsl{kaltevan} leikkauksen, joka on siis +eri asia kuin \textit{kursiivi} (\komento{itshape}, \komento{textit}). \komentoi{setmainfont} \begin{koodilohkosis} -\setmainfont{…}[ - SlantedFont={…}, % tähän pystyasentoinen leikkaus - SlantedFeatures={FakeSlant=.2}] +\setmainfont{TeX Gyre Termes}[ % kirjainperhe + SlantedFont={TeX Gyre Termes Regular}, % pystyasentoinen leikkaus + SlantedFeatures={FakeSlant=.2}] % keinotekoinen kallistus \end{koodilohkosis} \subsection{Keinotekoinen pienversaali} @@ -2077,7 +2215,9 @@ joka täytyy ladata muiden matematiikkaan tai fontteihin liittyvien pakettien jälkeen. Paketti tuo komennon \komento{setmathfont}, joka on matematiikkatilan vastine luvussa \ref{luku/fontin-valinta} esitellyille fontinmäärittelykomennoille \komento{setmainfont}, \komento{setsansfont} -ja \komento{setmonofont}. +ja \komento{setmonofont}. Lähes aina on järkevää käyttää +matematiikkatilan fontille asetusta \koodi{Scale=\katk MatchLowercase}. +Se asettaa fontin samankokoiseksi kuin vastaava peruskirjainperhe. \pakettii{fontspec} \pakettii{unicode-math} @@ -2086,8 +2226,8 @@ ja \komento{setmonofont}. \begin{koodilohkosis} \usepackage{fontspec} \usepackage{unicode-math} -\setmainfont{TeX Gyre Pagella} % tekstitilan perusfontti -\setmathfont{TeX Gyre Pagella Math} % matematiikkatilan fontti +\setmainfont{TeX Gyre Pagella} % tekstitilan perusfontti +\setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase] \end{koodilohkosis} \leijutlk{ @@ -2137,43 +2277,37 @@ voi tutkia esimerkiksi käyttöjärjestelmän komentotulkissa otfinfo -s texgyrepagella-math.otf \end{koodilohkosis} -\noindent -Tex Live \=/jakelun mukana tulee muutama \englanti{Open Type} -\=/kirjainperhe, joihin kuuluvat myös matematiikan symbolit. Niitä ovat -ainakin Libertinus, eri TeX Gyre \=/perheet sekä \englanti{Latin Modern - Roman}, jonka kanssa sopii matematiikkafontti \englanti{Latin Modern - Math}. Libertinus\-/ perheen voi ottaa käyttöön hyvin -yksinkertaisesti: ladataan vain paketti \paketti{libertinus}, joka -määrittää kerralla antiikvan, groteskin, tasalevyisen ja -matematiikkafontin. Toisaalta Libertinus\-/ perhettä voi käyttää myös -tavallisten fontinmäärityskomentojen avulla. - -\begin{esimerkki*} - \komentoi{setmathfont} - -\begin{koodilohko} -\setmathfont{Libertinus Math Regular} -\setmathfont{TeX Gyre Bonum Math} -\setmathfont{TeX Gyre Dejavu Math} -\setmathfont{TeX Gyre Pagella Math} -\setmathfont{TeX Gyre Schola Math} -\setmathfont{TeX Gyre Termes Math} -\setmathfont{Latin Modern Math} -\end{koodilohko} - - \caption{Matematiikan symboleja sisältäviä vapaita fontteja. Komento - \komento{setmathfont} sisältyy pakettiin \paketti{unicode-math}} - \label{esim/matematiikka-fontteja} -\end{esimerkki*} +\leijutlk{ + \providecommand{\rivi}{} + \renewcommand{\rivi}[2]{#1 & $\longleftrightarrow$ & #2 \\} -Esimerkissä \ref{esim/matematiikka-fontteja} on komentoja joidenkin -matematiikkafonttien lataamiseen. Lähes aina on järkevää käyttää -asetusta \koodi{Scale=\katk MatchLowercase}, joka asettaa fontin -samankokoiseksi kuin vastaava peruskirjainperhe. + \begin{tabular}{r@{\enspace}c@{\enspace}l} + \toprule + \ots{Leipäteksti} && \ots{Matematiikkatila} \\ + \midrule + \rivi{Libertinus Serif}{Libertinus Math} + \rivi{TeX Gyre Bonum}{TeX Gyre Bonum Math} + \rivi{TeX Gyre Pagella}{TeX Gyre Pagella Math} + \rivi{TeX Gyre Schola}{TeX Gyre Schola Math} + \rivi{TeX Gyre Termes}{TeX Gyre Termes Math} + \rivi{DejaVu Serif}{TeX Gyre Dejavu Math} + \rivi{Garamond Libre}{Garamond Math} + \rivi{Latin Modern Roman}{Latin Modern Math} + \bottomrule + \end{tabular} +}{ + \caption{Ulkoasultaan yhteensopivia leipätekstin ja matematiikkatilan + fontteja} + \label{tlk/matematiikka-fontteja} +} -\begin{koodilohkosis} -\setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase] -\end{koodilohkosis} +\noindent +Taulukkoon \ref{tlk/matematiikka-fontteja} on koottu \englanti{Open + Type} \=/fontteja, joissa on yhteensopiva leipätekstin ja +matematiikkatilan kirjainperhe. Teknisesti kaikkia voi käyttää kaikkien +kanssa, mutta on tietenkin toivottavaa, että kirjainleikkaukset sopivat +ulkoasultaan yhteen. Kaikki fontit ovat vapaita ja toimitetaan Tex Live +\=/jakelun tai käyttöjärjestelmän mukana. \section{Kieli} \label{luku/kieliasetukset} @@ -2301,10 +2435,8 @@ kohdekielelle ja \=/kirjainperheelle on määritelty sopiva fonttikomento. \subsection{Babel} \label{luku/babel} -Vanha kunnon \pakettictan{babel}\yipilkku\footnote{Katso myös - \paketti{babel}\-/ paketin mukana toimitettavat kielikohtaiset - dokumentit, esimerkiksi tiedosto \koodi{finnish.pdf}.} toimii useiden -eri Latex\-/ kääntäjien kanssa. Ennen dokumentit kirjoitettiin +Vanha kunnon \pakettictan{babel}\yipilkku\avctan{babel-finnish} toimii +useiden eri Latex\-/ kääntäjien kanssa. Ennen dokumentit kirjoitettiin rajallisilla merkistöillä (kuten \textsc{iso-8859\=/1}), jotka sisältävät vain reilut kaksisataa ihmiskielten kirjoitusmerkkiä. \paketti{babel} kuitenkin toimii myös Lualatex\-/\ ja Xelatex\-/ @@ -2491,6 +2623,7 @@ tavutusvihjeen siten, että se sallii sanan tavutuksen muistakin kohdista kuin tavutusvihjeen kohdalta. \subsection{Tavutus sanan reunasta} +\label{luku/tavutus-reunasta} Asetukset \komento{lefthyphenmin}\komentojatko{=N} ja \komento{righthyphenmin}\komentojatko{=N} vaikuttavat tavutukseen sanan @@ -2677,14 +2810,12 @@ kohdista. Lisätietoa suomen tavutuksen erityispiirteistä on luvussa \subsection{Babel ja tavutus} \label{luku/tavutus-babel} -Kielipaketti \pakettictan{babel}\yipilkku\footnote{Katso myös - \paketti{babel}\-/ paketin mukana toimitettavat kielikohtaiset - dokumentit, esimerkiksi tiedosto \koodi{finnish.pdf}.} (myös luku -\ref{luku/babel}) lisää automaattisesti moniin kieliin -- myös suomen -kieleen -- muutaman erikoismerkin, joilla voi vaikuttaa tavutukseen. -Erikoismerkit saa pois päältä käyttämällä paketin lataamisen yhteydessä -valitsinta \koodi{shorthands=\katk off}. Seuraavassa on selitetty suomen -kielen erikoismerkkejä. +Kielipaketti \pakettictan{babel}\yipilkku\avctan{babel-finnish} (myös +luku \ref{luku/babel}) lisää automaattisesti moniin kieliin -- myös +suomen kieleen -- muutaman erikoismerkin, joilla voi vaikuttaa +tavutukseen. Erikoismerkit saa pois päältä käyttämällä paketin +lataamisen yhteydessä valitsinta \koodi{shorthands=\katk off}. +Seuraavassa on selitetty suomen kielen erikoismerkkejä. \begin{maaritelma}{\koodi{#1}} \item [\komento{-}] Tämä on Texin normaali tavutusvihje (luku @@ -2772,7 +2903,7 @@ seuraavasti: \pakettii{babel} \komentoi{babelprovide} \begin{koodilohkosis} -\babelprovide[transforms = prehyphen.nobreak]{finnish} +\babelprovide[transforms=prehyphen.nobreak]{finnish} \end{koodilohkosis} \noindent @@ -2797,20 +2928,14 @@ esimerkissä asetetaan tavutusvihjeitä vain suomen kielen sanoille: \noindent Vaihtoehtoisen suomen kielen tavutussäännöstön voi kytkeä päälle -lataamalla paketin \pakettictan{hyphsubst} ja kertomalla sen -asetuksissa, että tavutuksen kieli \koodi{finnish} korvataan kielellä -\koodi{school\-finnish}. Paketti \paketti{hyphsubst} täytyy ladata -\paketti{babel}\-/ paketin jälkeen, seuraavan esimerkin mukaisesti. Tämä -tavutusvaihtoehto sallii tavutuksen kaikista mahdollisista kohdista. -Lisätietoa suomen tavutuksen erityispiirteistä on luvussa -\ref{luku/suomi-tavutus}. +komennolla \komento{babelprovide}, seuraavan esimerkin mukaisesti. Tämä +vaihtoehto sallii sanan katkaisemisen kaikista mahdollisista suomen +kielen tavutuskohdista. Lisätietoa suomen tavutuksen erityispiirteistä +on luvussa \ref{luku/suomi-tavutus}. -\komentoi{usepackage} -\pakettii{babel} -\pakettii{hyphsubst} +\komentoi{babelprovide} \begin{koodilohkosis} -\usepackage[main=finnish]{babel} -\usepackage[finnish=schoolfinnish]{hyphsubst} +\babelprovide[hyphenrules=schoolfinnish]{finnish} \end{koodilohkosis} \subsection{Viivojen erikoispaketti extdash} @@ -3000,19 +3125,22 @@ toimi muiden kääntäjien kanssa. Suomen kielelle on olemassa Latexissa kaksi erilaista tavutussäännöstöä. Oletuksena toimivat säännöt kuvaavat tavallisimmat tavujen rakenteet -mutta pyrkivät huomioimaan myös typografisia suosituksia. Sanaa ei -esimerkiksi katkaista vokaalien välistä, koska se ei ole suositeltavaa. -Myös jotkin yleiset vierasperäisten sanojen konsonanttiyhdistelmät -pidetään yhdessä, vaikka ne suomen tavurakenteen mukaan kuuluisivat -joskus eri tavuihin. +mutta pyrkivät huomioimaan myös typografisia suosituksia. Esimerkiksi +sanaa ei välttämättä katkaista vokaalien välistä, koska se ei ole +suositeltavaa. Myös jotkin yleiset vierasperäisten sanojen +konsonanttiyhdistelmät pidetään yhdessä, vaikka ne suomen tavurakenteen +mukaan kuuluisivat joskus eri tavuihin. Toinen, vaihtoehtoinen tavutussäännöstö kuvaa pelkästään suomen tavujen rakenteen, eli se tavuttaa sanat kaikista mahdollisista kohdista eikä huomioi typografisia suosituksia mitenkään.% \footnote{Lisätietoa: - \url{https://github.com/hyphenation/basic-finnish}} Tämä -vaihtoehtoinen tavutustapa täytyy kytkeä erikseen päälle kielipaketin -asetuksista tai lisäkomennoilla. Katso kielipakettikohtaiset ohjeet + \url{https://github.com/hyphenation/basic-finnish}} Asetus sanan +reunasta tavuttamisesta on kuitenkin voimassa (luku +\ref{luku/tavutus-reunasta}). Tämä vaihtoehtoinen tavutustapa täytyy +kytkeä erikseen päälle kielipaketin asetuksista. Sen nimi on Latexissa +\emph{\englanti{school}}, koska se on ''peruskoulutavuttamista'' eikä +typografian mukaista tavuttamista. Katso kielipakettikohtaiset ohjeet luvuista \ref{luku/tavutus-polyglossia} ja \ref{luku/tavutus-babel}. Texin kirjainyhdistelmiin perustuvat tavutussäännöt eivät yksinään ole diff --git a/info/kaytannollista-latexia/luku-erikoiset.tex b/info/kaytannollista-latexia/luku-erikoiset.tex index 7c5e77f4e4..c87d9c4150 100644 --- a/info/kaytannollista-latexia/luku-erikoiset.tex +++ b/info/kaytannollista-latexia/luku-erikoiset.tex @@ -390,7 +390,7 @@ aloitusdian (\komento{maketitle}) otsikon kirjainperheen ja \rivi{title}{aloitusdian otsikko (\komento{maketitle})} \rivi{frametitle}{diojen otsikot} \rivi{framesubtitle}{diojen alaotsikot} - \rivi{blocktitle}{\ymparisto{block}\-/ ympäristön otsikot} + \rivi{block title}{\ymparisto{block}\-/ ympäristön otsikot} \rivi{normal text}{normaali teksti diojen sisällä} \rivi{footnote}{alaviitteet} \rivi{item}{luetelmien luetelmamerkit} diff --git a/info/kaytannollista-latexia/luku-merkintakieli.tex b/info/kaytannollista-latexia/luku-merkintakieli.tex index b1170a4560..4c18794a42 100644 --- a/info/kaytannollista-latexia/luku-merkintakieli.tex +++ b/info/kaytannollista-latexia/luku-merkintakieli.tex @@ -858,7 +858,7 @@ lopulta yksi \koodi{]}-merkki. Komennon yhteydessä sanavälejä käsitellään hieman poikkeuksellisesti. Esimerkiksi komennon nimen perässä olevat sanavälit syödään pois, jos komennolle ei anneta yhtään argumenttia. Seuraavassa esimerkissä sana -''Latex'' ladotaan ehjänä, jos vain \komentox{komento} itsessään ei +\emph{Latex} ladotaan ehjänä, jos vain \komentox{komento} itsessään ei kirjoita mitään eikä vaikuta tekstin latomiseen. \begin{koodilohkosis} diff --git a/info/kaytannollista-latexia/luku-rakenne.tex b/info/kaytannollista-latexia/luku-rakenne.tex index 788980dc50..32b6bd7253 100644 --- a/info/kaytannollista-latexia/luku-rakenne.tex +++ b/info/kaytannollista-latexia/luku-rakenne.tex @@ -850,7 +850,7 @@ tavalla: \noindent Edellä oleva esimerkki tekee kolmerivisen upotetun A\-/anfangin, jonka -perässä oleva sanan osa ''nfangi'' ladotaan pienversaalilla. +perässä oleva sanan osa \emph{nfangi} ladotaan pienversaalilla. Valitsimella \koodi{lover\-size} kasvatetaan hieman anfangikirjaimen kokoa, ja \koodi{lhang}\-/ valitsimella siirretään kirjainta hieman vasemmalle marginaalin puolelle. Valitsin \koodi{findent} määrittää @@ -2158,7 +2158,7 @@ yhteydessä ladotaan suomen kieliasetuksilla ilmaus ''\chaptername~1'', Jos omassa dokumentissa haluaa kutsua teoksen osia tai päälukuja joksikin muuksi, voi määritellä edellä mainitut komennot uudelleen. Seuraavassa esimerkissä voisi olla jokin romaani, jossa teoksen osat -ovat ''kausia'' ja pääluvut ovat ''päiviä''. +ovat \emph{kausia} ja pääluvut ovat \emph{päiviä}. \komentoi{addto} \komentoi{captionsfinnish} @@ -4297,10 +4297,10 @@ se on lähdetiedostossa. Se on kuitenkin vain ehdotus eikä useinkaan toteudu: Latex lisää automaattisesti aina \koodi{h}\=/ valitsimen perään \koodi{t}:n eli sivun yläosaan sijoittamisen. Latex käyttää sitä, jos se saa sillä tavoin omasta mielestään paremman lopputuloksen. Lataamalla -paketin \pakettictan{floatrow} voi käyttää myös myös valitsinta -\koodi{H}. Se tarkoittaa ehdotonta vaatimusta, että juuri tähän kohtaan -leijuva osa pitää sijoittaa. Tätä valitsinta ei voi yhdistää muiden -valitsimien kanssa. +paketin \paketti{floatrow} voi käyttää myös myös valitsinta \koodi{H}. +Se tarkoittaa ehdotonta vaatimusta, että juuri tähän kohtaan leijuva osa +pitää sijoittaa. Tätä valitsinta ei voi yhdistää muiden valitsimien +kanssa. Valitsinta \koodi{!} käytetään yhdessä edellä mainittujen valitsimien \koodi{tbp} kanssa. Se poistaa tietyt sijoitteluun vaikuttavat säännöt @@ -4414,7 +4414,7 @@ tällainen raja automaattisesti \komento{section}\-/ otsikoille. Leijuvan osan sisäisen asettelun, ulkoasun ja muun typografian hallintaan ja muokkaamiseen tarvitaan yleensä paketteja -\pakettictan{floatrow} ja \pakettictan{caption}. Jälkimmäisen avulla +\paketti{floatrow} ja \pakettictan{caption}. Jälkimmäisen avulla muokataan kuvatekstin fonttia ja rivitystä, ja sitä käsitellään myöhemmin tässä alaluvussa. @@ -4574,7 +4574,7 @@ osan asetukset voisivat näyttää vaikka seuraavanlaiselta: \end{koodilohkosis} \noindent -Kuvatekstien fonttia ja rivittämistä hallitaan \pakettictan{caption}\-/ +Kuvatekstien fonttia ja rivittämistä hallitaan \paketti{caption}\-/ paketin avulla. Tärkein komento on \komento{captionsetup}, joka yleensä sijoitetaan dokumentin esittelyosaan tai muuten alkuun, koska silloin se vaikuttaa koko dokumentissa. Komennon voi sijoittaa myös yksittäisen @@ -4861,13 +4861,13 @@ lähdedokumentissa esimerkiksi seuraavasti: \komentoi{ref} \komentoi{pageref} \begin{koodilohkosis} -Katso taulukko \ref{tlk/fonttimallikomennot} sivulla -\pageref{tlk/fonttimallikomennot}. +Katso taulukko \ref{tlk/komennot-kirjainperhe} sivulla +\pageref{tlk/komennot-kirjainperhe}. \end{koodilohkosis} \begin{tulossis} - Katso taulukko \ref{tlk/fonttimallikomennot} sivulla - \pageref{tlk/fonttimallikomennot}. + Katso taulukko \ref{tlk/komennot-kirjainperhe} sivulla + \pageref{tlk/komennot-kirjainperhe}. \end{tulossis} \noindent @@ -6275,7 +6275,7 @@ seuraavalla komennolla: \end{tulossis} \noindent -\pakettictan{biblatex}\-/ paketti sisältää valtavan paljon asetuksia ja +\paketti{biblatex}\-/ paketti sisältää valtavan paljon asetuksia ja mahdollisuuksia lähdeluettelon ja \=/viitteiden ulkoasun säätämiseen. Esimerkiksi komennolla \komento{DeclareBibliographyDriver} voi ottaa täysin haltuun, miten tietty teostyyppi ladotaan lähdeluetteloon. @@ -6418,10 +6418,10 @@ Ohjelmalle on olemassa pari vaihtoehtoa, ja sen voi valita valitsimella lataamisen yhteydessä. Katso luku \ref{luku/asiasanat-asetukset}.} ja \koodi{xindy}, joka käytännössä suorittaa \koodi{texindy}\-/ nimisen ohjelman. Näillä ohjelmilla on omat ohjekirjansa, joita pääsee lukemaan -\textsc{gnu}/\katk Linux\-/ järjestelmissä \koodi{man}\-/ komennolla. -Jos käyttää vaihtoehtoa \koodi{program=\katk xindy}, täytyy Latexin -kääntäjälle (\koodi{lualatex} tai \koodi{xelatex}) antaa -komentorivivalitsin \koodi{\=/shell-escape}, joka kytkee päälle erään +Linux\-/ järjestelmissä \koodi{man}\-/ komennolla. Jos käyttää +vaihtoehtoa \koodi{program=\katk xindy}, täytyy Latexin kääntäjälle +(\koodi{lualatex} tai \koodi{xelatex}) antaa komentorivivalitsin +\koodi{\=/shell-escape}, joka kytkee päälle erään lisäominaisuuden.\footnote{Lisätietoa \koodi{tex}\-/ komennon ohjekirjasta, komennolla \koodi{man tex}.} @@ -6497,7 +6497,7 @@ Edellä mainittua aakkostustoimintoa tarvitaan myös silloin, kun hakemiston sanojen latomisessa käytetään Latex\-/ komentoja eli asiasana ei ole pelkkää tekstiä. Seuraavassa esimerkissä asiahakemistoon lisätään Latex\-/ komento \komento{textbullet}. Se aakkostetaan sanan -''\englanti{textbullet}'' mukaan mutta hakemistoon se ladotaan +\emph{\englanti{textbullet}} mukaan mutta hakemistoon se ladotaan tasalevyisellä fontilla (\komento{texttt}) ja alkuun lisätään kenoviiva (\komento{textbackslash}). @@ -6518,7 +6518,7 @@ Asiasanat voi järjestää hakemistoon hierarkkisesti eli aihepiirien mukaisesti. Se toteutetaan \komento{index}\-/ komennon argumentissa \koodi{!}\=/ merkin avulla, jolla erotetaan ylemmäntasoiset käsitteet alemmantasoisista. Seuraava esimerkki lisää asiahakemistoon sanan -''fontit'' ja sen alle kaksi asiasanaa sivunumeroineen: +\emph{fontit} ja sen alle kaksi asiasanaa sivunumeroineen: \komentoi{index} \begin{koodilohkosis} diff --git a/info/kaytannollista-latexia/luku-valmistautuminen.tex b/info/kaytannollista-latexia/luku-valmistautuminen.tex index af59275e1d..cc508893c0 100644 --- a/info/kaytannollista-latexia/luku-valmistautuminen.tex +++ b/info/kaytannollista-latexia/luku-valmistautuminen.tex @@ -81,30 +81,30 @@ nykyaikaisia \englanti{True Type}- ja \englanti{Open Type} \=/fontteja, mitä alkuperäinen Latex ja Tex eivät osaa. Lualatexilla ja Xelatexilla ei ole ohjelmien käyttäjän kannalta -suurtakaan eroa -- ei välttämättä mitään näkyvää eroa. Miksi sitten on -olemassa kaksi, ulkoisesti lähes samanlaista kääntäjää? Xelatex tehtiin -ensin. Tarkoituksena oli saada Unicode\-/ merkistön tuki ja fonttiasiat -ajan tasalle. Myöhemmin jotkut ajattelivat, että Lua\-/ ohjelmointikieli -täytyy saada mukaan: ominaisuudella on merkitystä joillekuille -laajennuspakettien tekijöille. Lua\-/ kielen sisällyttäminen oikeastaan -pakotti kirjoittamaan koko kääntäjän koodin uusiksi, ja syntyi Lualatex. -Toteutuksissa on muitakin sisäisiä eroja. Xelatex oli pitkään suositumpi -ja paremmin tuettu eri laajennuspaketeissa, mutta erot ovat sittemmin -tasoittuneet. +suurtakaan eroa -- ei välttämättä mitään näkyvää eroa. Xelatex tehtiin +ensin, ja tarkoituksena oli saada Unicode\-/ merkistön tuki ja +fonttiasiat ajan tasalle. Myöhemmin jotkut ajattelivat, että Lua\-/ +ohjelmointikieli täytyy saada mukaan, koska ominaisuudesta on hyötyä +joillekuille laajennuspakettien tekijöille. Lua\-/ kielen +sisällyttäminen oikeastaan pakotti kirjoittamaan koko kääntäjän koodin +uusiksi, ja syntyi Lualatex. + +Kääntäjien toteutuksissa on muitakin sisäisiä eroja, esimerkiksi +fonttien käsittelyssä. Xelatex oli pitkään suositumpi ja paremmin tuettu +eri laajennuspaketeissa, mutta erot ovat sittemmin tasoittuneet. Lua\-/ +ohjelmointikieli on alkanut vaikuttaa Lualatexin eduksi. On joitakin +laajennuspaketteja tai niiden yksittäisiä ominaisuuksia, jotka vaativat +toimiakseen Lualatexin. Sen tulevaisuus vaikuttaa valoisammalta. Latexin käytön alkutaipaleella voi vaikka arpoa kolikon avulla, kumpaa kääntäjää käyttää, sillä niiden erot eivät ihan helposti tule esiin. -Jotkin harvat laajennuspaketit eivät toimi Lualatexissa, kun taas toiset -eivät toimi Xelatexissa. Joskus saattaa jopa tulla vastaan yksittäinen, -kehityksestä ehkä jälkeen jäänyt paketti, joka ei toimi kummassakaan -vaan ainoastaan perinteisillä kääntäjillä (\koodi{latex}, -\koodi{pdflatex}). Tässäkin oppaassa mainitaan siellä täällä -ominaisuuksia, jotka toimivat vain toisella kääntäjällä: toiset -Lualatexilla, toiset Xelatexilla. +Kääntäjän vaihtaminen on joka tapauksessa helppoa. Tässä oppaassa +mainitaan siellä täällä pari ominaisuutta, jotka toimivat vain toisella +kääntäjällä: toiset Lualatexilla, toiset Xelatexilla. \subsection{Latex yläkäsitteenä} -Jotta kaikki olisi mahdollisimman sekavaa, ''Latex'' toimii myös +Jotta kaikki olisi mahdollisimman sekavaa, \emph{Latex} toimii myös yleisnimityksenä tälle kaikelle. Se esiintyy ilmauksissa kuten ''Toteutin dokumentin Latexilla'' tai ''Tämä artikkeli on tehty Latexilla''. Ilmaukset sitten tarkoittavat suunnilleen seuraavanlaista: @@ -225,10 +225,10 @@ latexmk -xelatex teksti.tex \noindent Työskentelyä erityisen paljon helpottava valitsin on \koodi{\=/pvc}. Kun tuo valitsin on mukana komennossa, Latexmk jää tarkkailemaan annettua -Latex\-/ tiedostoa, ja kun se huomaa tiedoston muuttuneen, se kääntää -tiedoston automaattisesti uudelleen. Kirjoittajan ei siis tarvitse muuta -kuin tallentaa tiedosto tekstieditorista, ja tarkkailutilassa oleva -Latexmk kääntää sen aina itsestään. +Latex\-/ lähdetiedostoa, ja kun se huomaa tiedoston muuttuneen, se +kääntää tiedoston automaattisesti uudelleen. Kirjoittajan ei siis +tarvitse muuta kuin tallentaa tiedosto tekstieditorista, ja +tarkkailutilassa oleva Latexmk kääntää sen aina itsestään. Muitakin hyödyllisiä toimintoja on mukana. Seuraavista esimerkeistä ensimmäinen komento poistaa kääntämisen aikana luodut @@ -308,10 +308,9 @@ haluaa tutustua esimerkissä \ref{esim/ensimmäinen} mainittavaan \label{luku/lähdetiedosto} Latexin lähdetiedostot eli lähdedokumentit ovat tekstitiedostoja eli -puhdasta tekstiä. Esimerkki \ref{esim/ensimmäinen} näyttää, mitä -tiedosto voisi sisältää. Siinä on tyypillisen dokumentin -vähimmäissisältö, jota voi käyttää harjoitteluun sekä myöhemminkin -pohjana omille töille. +puhdasta tekstiä. Esimerkissä \ref{esim/ensimmäinen} on tyypillisen +dokumentin vähimmäissisältö, jota voi käyttää harjoitteluun sekä +myöhemminkin pohjana omille töille. Tallenna esimerkin sisältö tekstieditorin avulla tiedostoon vaikkapa nimellä \koodi{teksti.\katk tex}. Käännä eli lado se pdf\-/ tiedostoksi diff --git a/info/kaytannollista-latexia/tavutusvihjeet.tex b/info/kaytannollista-latexia/tavutusvihjeet.tex index a243d83792..2bd84bde03 100644 --- a/info/kaytannollista-latexia/tavutusvihjeet.tex +++ b/info/kaytannollista-latexia/tavutusvihjeet.tex @@ -537,6 +537,7 @@ real-scripts ref-name ref-step-counter reg-tot-counter +Ren-der-er re-new-com-mand re-new-en-vi-ron-ment re-size-box @@ -624,6 +625,7 @@ sub-section-mark sub-sub-sec-tion suo-jaus-omi-nai-suus suur-aak-kos-ten +sw-shape sym-bo-li-esi-tys säh-kö-pos-ti-osoi-te säh-kö-pos-ti-osoit-tei-den @@ -780,6 +782,7 @@ vaih-to-eh-dot vaih-to-eh-to vaih-to-eh-toi-ses-ti vaih-to-eh-to-ja +vaih-to-eh-to-jen vaih-to-eh-to-na vai-ku-tus-alue vai-ku-tus-alueena diff --git a/info/kaytannollista-latexia/versio.tex b/info/kaytannollista-latexia/versio.tex index 16d00c6929..95b35ef616 100644 --- a/info/kaytannollista-latexia/versio.tex +++ b/info/kaytannollista-latexia/versio.tex @@ -1 +1 @@ -\newcommand{\versio}{2024} +\newcommand{\versio}{2024.1} diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index 94cecae2dc..47c8f1d4f2 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -15,7 +15,7 @@ %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e} -\ProvidesExplClass{easybook}{2024/01/16}{2024I} +\ProvidesExplClass{easybook}{2024/01/18}{2024J} {Easily typesetting Chinese theses or books} \bool_set_false:N \l__eb_compile_draft_bool @@ -302,7 +302,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplPackage{easybase}{2024/01/16}{2024I} +\ProvidesExplPackage{easybase}{2024/01/18}{2024J} {Easily typesetting Chinese theses or books} \cs_generate_variant:Nn \dim_set:Nn { NV } @@ -1371,7 +1371,6 @@ { \tl_clear:N \eb@bitoc@title } { \tl_set:Nn \eb@bitoc@title {#2} } } -\prop_new:N \l__eb_toc_float_label_prop \cs_new_protected:Npn \eb_toc_start_multi_column_ext:n #1 { \int_compare:nNnTF { \l__eb_toc_columns_int } > { 1 } @@ -1424,34 +1423,21 @@ #1 .meta:nn = { ctex/#1 } {##1}, #1/between .tl_set:c = l__eb_toc_#1_between_hook_tl, #1/tocline .cs_set:cp = { eb@tocline@#1 } ##1##2, - #1/tocline .initial:n = \listnumberline{#1}##2 + #1/tocline .initial:n = \listnumberline{##1}##2 } - \prop_put_from_keyval:Nn \l__eb_toc_float_label_prop - { #1 = \use:c { eb@tocline@#1 } } } \DeclareFloatList{table}{lot} \DeclareFloatList{figure}{lof} \DeclareFloatList{lstlisting}{lol} \cs_gset:Npn \caption@@@addcontentsline #1#2#3#4 { - \exp_args:Nnnx \addcontentsline{#1}{#2} { - \prop_if_in:NnTF \l__eb_toc_float_label_prop {#2} - { \prop_item:Nn \l__eb_toc_float_label_prop {#2} } - { \protect\numberline } - {#3}{#4} + \cs_if_exist_use:cTF { eb@tocline@#2 } + { {#2}{#4} } + { \protect\numberline{#3}{#4} } } } -\ctex_patch_cmd:Nnn \lst@MakeCaption - { - \addcontentsline{lol}{lstlisting} - {\protect\numberline{\thelstlisting}\lst@@caption} - } - { - \addcontentsline{lol}{lstlisting} - {\eb@tocline@lstlisting{\thelstlisting}{\lst@@caption}} - } \ctex_define:n { bicontentsname .tl_set:N = \bicontentsname, @@ -2348,7 +2334,7 @@ } % %<*tcolorbox> -\ProvidesExplFile{eb-tcolorbox.cfg}{2024/01/16}{2024I} +\ProvidesExplFile{eb-tcolorbox.cfg}{2024/01/18}{2024J} {Customization of tcolorbox for easybook} \cs_set_protected:Npn \addtotcbstyle #1#2 diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf index a0fea3d113..f6999524ac 100644 Binary files a/macros/latex/contrib/easybook/easybook.pdf and b/macros/latex/contrib/easybook/easybook.pdf differ diff --git a/macros/latex/contrib/easybook/easybook.tex b/macros/latex/contrib/easybook/easybook.tex index d0df41762e..80069337fe 100644 --- a/macros/latex/contrib/easybook/easybook.tex +++ b/macros/latex/contrib/easybook/easybook.tex @@ -23,8 +23,8 @@ name = easybook, color-scheme = blue, title = EASYBOOK使用手册, - version = v2024I, - date = 2024/01/16, + version = v2024J, + date = 2024/01/18, authors = 瞿毅, info = 简便地排版中文学位论文或书籍, email = toquyi@163.com, @@ -813,7 +813,7 @@ \keyval{tocbelow}{距离命令}\dtag 在目录条目下方执行的代码,可以插入垂直距离等命令。 \keyval{tocline}{条目定义}\dtag[\textcolor{red}{\ding{73}}] - 这个选项在章节标题基础上扩展了浮动环境的题注标题在目录文件中的定义。由于设计的原因,章节标题选项中参数 \code{\#1} 代表标题编号 \cs*{the}\meta{计数器} 对应的计数器名称,而题注标题选项中参数 \code{\#1} 代表标题编号 \cs*{the}\meta{计数器} 的值,章节和题注标题中参数 \code{\#2} 均代表相应标题内容。 + 这个选项在章节标题基础上扩展了浮动环境的题注标题在目录文件中的定义。章节和题注标题选项中参数 \code{\#1} 代表标题编号 \cs*{the}\meta{计数器} 对应的计数器名称,参数 \code{\#2} 则代表相应标题内容。 \begin{ctexexam} \ctexset { @@ -854,13 +854,13 @@ \SetTocStyle{chapter}{fancy}{tocformat = \color{red}\zihao{3}} \UseTocStyle{chapter}{fancy}{toc} \end{ctexexam} - \command{listnumberline}[\marg{条目名}] - 在图表等浮动环境的题注目录中插入条目标签,默认标签的名字可以由格式命令 \cs{labelformat} 设置。注意其中 \meta{条目名} 需要用对应名称\textbf{显式指定}。 + \command{listnumberline}[\marg{计数器名}] + 在图表等浮动环境的题注目录中插入条目标签,默认标签的名字可以由格式命令 \cs{labelformat} 设置。其中 \meta{计数器名} 一般与 \meta{条目名} 相同,可以用参数 \code{\#1} 指定或用对应计数器名称显式指定。 \begin{ctexexam} \ctexset { - figure/tocline = \listnumberline{figure}#2, - lstlisting/tocline = \protect\numberline{代码#1\hspace{1em}}#2 + lstlisting/tocline = \listnumberline{#1}#2, + figure/tocline = \protect\numberline{图\thefigure\hspace{1em}}#2 } \end{ctexexam} \command{contentsmargin}[\marg{右边距}] @@ -1350,9 +1350,9 @@ \shortversion{v = 1.638,date = 2022/03/04,changes = 增加目录条目样式选项注册命令 \cs{RegisterTocName}。} \shortversion{v = 1.644,date = 2022/03/10,changes = 增加浮动环境目录声明命令 \cs{DeclareFloatList} 配合 \pkg*{caption} 宏包。} \shortversion{v = 1.682,date = 2022/05/01,changes = 将迷你页判断命令 \cs{notminipage} 改为被保护命令兼容 \pkg*{circledtext} 宏包。} - \begin{version}[v = 2024I,date = 2024/01/16,simple] + \begin{version}[v = 2024J,date = 2024/01/18,simple] \item 核对依赖宏包的更新改动,优化使用手册的内容细节。 - \item 修复图表题注目录中条目标签编号的计数器值显示错误问题。 + \item 修复图表等浮动环境题注目录中条目标签编号的计数器值显示错误问题。 \item 新增目录风格定义命令 \cs{SetTocStyle} 和使用命令 \cs{UseTocStyle}。 \end{version} \end{changelog} diff --git a/macros/latex/contrib/pagelayout/README.md b/macros/latex/contrib/pagelayout/README.md index 1947399306..4d62838bf4 100644 --- a/macros/latex/contrib/pagelayout/README.md +++ b/macros/latex/contrib/pagelayout/README.md @@ -1,6 +1,6 @@ ![The pagelayout LaTeX class](doc/banner.svg) -The pagelayout class enables you to layout pages declaratively using simple macros for pages, covers, grids, templates, text, and graphics to create graphic rich, perfectly typeset, and print ready PDFs. +The pagelayout class enables you to design pages declaratively using simple macros for pages, covers, grids, templates, text, and graphics to create graphic rich, perfectly typeset, and print ready PDFs. The integration of [Inkscape](https://inkscape.org) allows your to create box shadows. Text shadows and SVG filters are ideas for future releases. @@ -10,23 +10,27 @@ The pagelayout class also integrates the [TikZ](https://www.ctan.org/pkg/pgf) an ## Quick Start -### Generic Templates +### Pages -Generic templates are the easiest way to put content on a page. The template name describes the layout. You can arrange [l]andscape, [p]ortrait, [s]quare, [w]ide, [g]olden ratio, g[o]lden upright ratio or [f]lexible placeholders in rows [-]. A valid template name for example is `sg-ff`. Notice you cannot combine flexible with fixed aspect ratio placeholders within a row. +Create a page with the `\page` command. A grid with rows and cells helps you to arrange content. Use the `\setgrid` command to define your grid. The following example shows a grid with one row containing two cells. ```latex -\template{ff}{ - \text{ - This text fills the first placeholder. +\page{ + \setgrid{ + {{}{}} + } + \text[breakable]{ + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. Nulla et lectus vestibulum urna fringilla ultrices. Phasellus eu tellus sit amet tortor gravida placerat. } + \usetext } ``` -![Generic template](doc/quickstart-1.svg) +![A page with a two column layout](doc/quickstart-1.svg) -### Custom Templates +### Templates -You can use the grid to layout content on a page. The grid has rows with cells. You can set width relations between cells and height relations between rows. You can give cells a explicit aspect ratio by adding a `!`. +You can set width relations between grid cells and height relations between grid rows. You can give cells a explicit aspect ratio by adding a `!`. With the `\newtemplate` command you can create reusable layouts. ```latex \newtemplate{my template}{ @@ -34,31 +38,36 @@ You can use the grid to layout content on a page. The grid has rows with cells. {[2]{3!}{2!}} } \placeholder{0 0 1 1} + \placeholder{0 1 1 2} } \template{my template}{} ``` -![Custom template](doc/quickstart-2.svg) +![A template with two placeholders](doc/quickstart-2.svg) -You can set margin and gutter for a single grid, on document level, or on page level. +You can set margin and gutter at grid, page, or document level. ### Graphics You can scale and position a graphic. And you can add borders and box shadows to graphics and text frames. ```latex -\newborder{my border}{width=2mm, color=white, radius=5mm} -\newshadow{my shadow}{size=8} +\newborder{my border}{ + width = 1mm, + color = white, + radius = 5mm +} +\newshadow{my shadow}{size = 7} -\template[margin=7mm]{s}{ +\template{my template}{ \graphic[ - scale=1.1, - hpos=0.2, - unsharp=3x1, - shadow=my shadow, - border=my border, - border radius=0mm + scale = 1.1, + vpos = 0.3, + unsharp = 3x1, + shadow = my shadow, + border = my border, + border radius = 0mm ]{kopi} } ``` @@ -73,7 +82,7 @@ For a complete reference, read the [manual](doc/pagelayout-manual.pdf). In general, you should use the package manager shipped with your TeX distribution to install the pagelayout package. -To install manually, copy the contents of [pagelayout.tds.zip](https://github.com/friedemannbartels/latex-pagelayout/releases/download/v1.0.5/pagelayout.tds.zip) to your local TeX directory tree and run the command `texhash`. +To install manually, copy the contents of [pagelayout.tds.zip](https://github.com/friedemannbartels/latex-pagelayout/releases/download/1.1.0/pagelayout-1.1.0.tds.zip) to your local TeX directory tree and run the command `texhash`. To enable image optimization, shadow creation, and preflight, perform these installation steps: diff --git a/macros/latex/contrib/pagelayout/doc/banner.tex b/macros/latex/contrib/pagelayout/doc/banner.tex index 4f4dece806..bb0736c96a 100644 --- a/macros/latex/contrib/pagelayout/doc/banner.tex +++ b/macros/latex/contrib/pagelayout/doc/banner.tex @@ -1,5 +1,5 @@ %% -%% Copyright (c) 2022-2023 by Friedemann Bartels +%% Copyright (c) 2022-2024 by Friedemann Bartels %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either diff --git a/macros/latex/contrib/pagelayout/doc/example-book.tex b/macros/latex/contrib/pagelayout/doc/example-book.tex index 04e9dd4db6..49b0605cda 100644 --- a/macros/latex/contrib/pagelayout/doc/example-book.tex +++ b/macros/latex/contrib/pagelayout/doc/example-book.tex @@ -1,5 +1,5 @@ %% -%% Copyright (c) 2022-2023 by Friedemann Bartels +%% Copyright (c) 2022-2024 by Friedemann Bartels %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either diff --git a/macros/latex/contrib/pagelayout/doc/example-borders-and-shadows.tex b/macros/latex/contrib/pagelayout/doc/example-borders-and-shadows.tex index 33c0b14e65..4f248cc9c2 100644 --- a/macros/latex/contrib/pagelayout/doc/example-borders-and-shadows.tex +++ b/macros/latex/contrib/pagelayout/doc/example-borders-and-shadows.tex @@ -1,5 +1,5 @@ %% -%% Copyright (c) 2022-2023 by Friedemann Bartels +%% Copyright (c) 2022-2024 by Friedemann Bartels %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either diff --git a/macros/latex/contrib/pagelayout/doc/example-graphic.tex b/macros/latex/contrib/pagelayout/doc/example-graphic.tex index 5eb085bef7..86ad3be5f4 100644 --- a/macros/latex/contrib/pagelayout/doc/example-graphic.tex +++ b/macros/latex/contrib/pagelayout/doc/example-graphic.tex @@ -1,5 +1,5 @@ %% -%% Copyright (c) 2022-2023 by Friedemann Bartels +%% Copyright (c) 2022-2024 by Friedemann Bartels %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either diff --git a/macros/latex/contrib/pagelayout/doc/example-grid.tex b/macros/latex/contrib/pagelayout/doc/example-grid.tex index 6bc3573867..d31b2c1864 100644 --- a/macros/latex/contrib/pagelayout/doc/example-grid.tex +++ b/macros/latex/contrib/pagelayout/doc/example-grid.tex @@ -1,5 +1,5 @@ %% -%% Copyright (c) 2022-2023 by Friedemann Bartels +%% Copyright (c) 2022-2024 by Friedemann Bartels %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either diff --git a/macros/latex/contrib/pagelayout/doc/example-template.tex b/macros/latex/contrib/pagelayout/doc/example-template.tex index b10e8a7486..b6dbbf50b9 100644 --- a/macros/latex/contrib/pagelayout/doc/example-template.tex +++ b/macros/latex/contrib/pagelayout/doc/example-template.tex @@ -1,5 +1,5 @@ %% -%% Copyright (c) 2022-2023 by Friedemann Bartels +%% Copyright (c) 2022-2024 by Friedemann Bartels %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either diff --git a/macros/latex/contrib/pagelayout/doc/example-text.tex b/macros/latex/contrib/pagelayout/doc/example-text.tex index 82376d1abc..d1979be95f 100644 --- a/macros/latex/contrib/pagelayout/doc/example-text.tex +++ b/macros/latex/contrib/pagelayout/doc/example-text.tex @@ -1,5 +1,5 @@ %% -%% Copyright (c) 2022-2023 by Friedemann Bartels +%% Copyright (c) 2022-2024 by Friedemann Bartels %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either diff --git a/macros/latex/contrib/pagelayout/doc/pagelayout-manual-layout-guides.tex b/macros/latex/contrib/pagelayout/doc/pagelayout-manual-layout-guides.tex index def8cdfda0..75ea0002ac 100644 --- a/macros/latex/contrib/pagelayout/doc/pagelayout-manual-layout-guides.tex +++ b/macros/latex/contrib/pagelayout/doc/pagelayout-manual-layout-guides.tex @@ -1,5 +1,5 @@ %% -%% Copyright (c) 2022-2023 by Friedemann Bartels +%% Copyright (c) 2022-2024 by Friedemann Bartels %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either diff --git a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf index a09ac3d752..6913eb17ce 100644 Binary files a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf and b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.pdf differ diff --git a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex index 15e57bcafc..460f1170d0 100644 --- a/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex +++ b/macros/latex/contrib/pagelayout/doc/pagelayout-manual.tex @@ -1,9 +1,9 @@ %% -%% Copyright (c) 2022-2023 by Friedemann Bartels +%% Copyright (c) 2022-2024 by Friedemann Bartels %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either -%% version 1.3c of this license or (at your option) any later +%% version 1.3c of this license or (at your argument) any later %% version. The latest version of this license is in: %% %% http://www.latex-project.org/lppl.txt @@ -18,7 +18,7 @@ \usepackage{tikz} \OnlyDescription \hypersetup{pdfborder={0 0 0}} -\def\pagelayoutversion{1.0.5} +\def\pagelayoutversion{1.1.0} \begin{document} @@ -43,15 +43,15 @@ In 2020, I started to develop my own solution. What started with some SVG templates and shell scripts ended up in the pagelayout class, a declarative desktop publishing approach. \par With the pagelayout class you can create single- and double-sided documents, create pages with margins, safety margins, and bleed, use templates, align text and graphics in a grid, wrap text across multiple pages and use before pages. -Generic templates, automatic grid layout and a simple and consistent user interface make it easier than ever to create graphics-rich documents with \LaTeX. +Automatic grid layout and a simple and consistent user interface make it easier than ever to create graphics-rich documents with \LaTeX. Under the hood the TikZ and tcolorbox packages, ImageMagick and Inkscape are used. \section{Document}\label{sec:document} -The document options described in the following can be either set as a document option (|\documentclass[twoside]{pagelayout}|) or with a macro (|\twoside|) in the preamble. +The document arguments described in the following can be either set as a document argument (|\documentclass[twoside]{pagelayout}|) or with a command (|\twoside|) in the preamble. \DescribeMacro {\documentclass} -Use the class with the |\documentclass|\oarg{options}|{pagelayout}| macro. +Use the class with the |\documentclass|\oarg{arguments}|{pagelayout}| command. A single sided document is the default. \begin{figure}[h!] \begin{tikzpicture} @@ -65,7 +65,7 @@ A single sided document is the default. \end{figure} \DescribeMacro {\twoside} -Using the document option |twoside| results in a document with left and right pages. +Using the document argument |twoside| results in a document with left and right pages. When you create a two-sided document, your document always has an even number of pages. If you create a document with an odd number of pages, an additional page is automatically inserted. Two-sided documents start with a right page by default. @@ -83,7 +83,7 @@ Two-sided documents start with a right page by default. \end{figure} \DescribeMacro {\beginleft} -Use the option |beginleft| to begin with a left page. +Use the argument |beginleft| to begin with a left page. \begin{figure}[h!] \begin{tikzpicture} \draw[black, thin] (0,0) rectangle (1,1); @@ -99,7 +99,7 @@ Use the option |beginleft| to begin with a left page. By default, each page is placed on one paper. \DescribeMacro {\fanfold} -With the |fanfold| option you can change this behavior so that a left and a right page are placed on one paper. +With the |fanfold| argument you can change this behavior so that a left and a right page are placed on one paper. In this case, the first page is a left one by default. \begin{figure}[h!] \begin{tikzpicture} @@ -113,7 +113,7 @@ In this case, the first page is a left one by default. \end{figure} \DescribeMacro {\cover} -The |cover| option is similar to the |fanfold| option, but only applied to cover pages. +The |cover| argument is similar to the |fanfold| argument, but only applied to cover pages. Read more about cover pages in section~\ref{sec:pages}. \begin{figure}[h!] \begin{tikzpicture} @@ -126,7 +126,7 @@ Read more about cover pages in section~\ref{sec:pages}. \end{figure} \DescribeMacro {\beginright} -If you want your fanfold document to start with a right hand page, you can use the option |beginright|. +If you want your fanfold document to start with a right hand page, you can use the argument |beginright|. \begin{figure}[h!] \begin{tikzpicture} \draw[black, thin] (0,0) rectangle (1,1); @@ -147,7 +147,7 @@ If you want your fanfold document to start with a right hand page, you can use t \subsection{Lengths}\label{subsec:size} -The document lengths described below can be set either as a document option (|\documentclass[page width=21cm]{pagelayout}|) or by assigning the dimension directly (|\pagewidth=21cm|) in the preamble or in the document. +The document lengths described below can be set either as a document argument (|\documentclass[page width=21cm]{pagelayout}|) or by assigning the dimension directly (|\pagewidth=21cm|) in the preamble or in the document. \DescribeMacro {\pagewidth} \DescribeMacro {\pageheight} @@ -163,7 +163,7 @@ The paper size results from the page size and the bleed. \DescribeMacro {\safetymargin} The |safety margin| is the only length that has no influence on the final result. -Its only purpose is to control the safe zone during editing. +Its only purpose is to control the safe zone when editing. It is |0mm| by default and can be configured for each edge by defining |top safety margin|, |inner safety margin|, |bottom safety margin| and |outer safety margin|. \DescribeMacro {\margin} @@ -178,7 +178,7 @@ You can create documents with cover pages. Read more about creating cover pages in section~\ref{sec:pages}. You can set the lengths |coverwidth| and |coverheight|. By default, the cover pages are the same size as the inside pages. -If you want to create a cover with a spine, use the |fanfold| or |cover| option described in section~\ref{sec:document}. +If you want to create a cover with a spine, use the |fanfold| or |cover| argument described in section~\ref{sec:document}. In this case the length |spinewidth| takes effect. The default spine width is |3mm|. \par @@ -188,26 +188,26 @@ For example, define |cover inner bleed| or |cover safety margin|. \subsection{Page Graphics and Colors}\label{subsec:colors} -You can define a page graphic and a page color with the options |page graphic| and |page color|. -Set the option |color| to define the text color. -These options can be defined for the document or for each page (see section~\ref{sec:pages}). +You can define a page graphic and a page color with the arguments |page graphic| and |page color|. +Set the argument |color| to define the text color. +These arguments can be defined for the document or for each page (see section~\ref{sec:pages}). \par -Read how to set the scale and crop of a page graphic with the |\newgraphic| macro in section~\ref{sec:content}. +Read how to set the scale and crop of a page graphic with the |\newgraphic| command in section~\ref{sec:content}. \subsection{Layout Guides} -The layout guides described in the following can be either set as a document option (|\documentclass[grid]{pagelayout}|) or using a macro (|\grid|) in the preamble or the document. +The layout guides described in the following can be either set as a document argument (|\documentclass[grid]{pagelayout}|) or using a command (|\grid|) in the preamble or the document. Layout guides can be switched on (|\safezone|) or off (|\nosafezone|). \DescribeMacro {\grid} -The |grid| option visualizes the margin and the grid gutters with green lines. +The |grid| argument visualizes the margin and the grid gutters with green lines. Read more about the grid in section~\ref{sec:grid}. \DescribeMacro {\safezone} The |safezone| layout guide shows a red border for the bleed and a thin pink line to indicate the safety margin. \DescribeMacro {\cuttingmarks} As an alternative to |safezone|, you can also use |cutting marks| to display cutting marks. \DescribeMacro {\graphpaper} -Show a graph paper with the |graph paper| option. +Show a graph paper with the |graph paper| argument. \begin{figure}[h] \begin{tikzpicture} @@ -228,59 +228,59 @@ Show a graph paper with the |graph paper| option. \end{figure} \DescribeMacro {\placeholders} -The |placeholders| option shows template placeholders. +The |placeholders| argument shows template placeholders. Read more about templates in section~\ref{sec:templates}. \DescribeMacro {\fillpages} -If you create a document with a cover and a first right hand page, use the |fill pages| option during editing to add blank pages to get a better impression of the final result. +If you create a document with a cover and a first right hand page, use the |fill pages| argument during editing to add blank pages to get a better impression of the final result. \subsection{Draft Mode}\label{subsec:draftmode} -The |draft| option is a shortcut to enable the options |placeholders|, |cutting marks| and |fill pages|. +The |draft| argument is a shortcut to enable the arguments |placeholders|, |cutting marks| and |fill pages|. It also speeds up rebuilding the PDF when changing the document. \section{Pages}\label{sec:pages} \DescribeMacro {\page} -Create a page with the macro |\page|\oarg{options}\marg{content}. -You can overwrite the document options |margin|, |top margin|, |bottom margin|, |inner margin|, |outer margin|, |gutter|, |page color|, |page graphic| and |color| for each page. +Create a page with the command |\page|\oarg{arguments}\marg{content}. +You can overwrite the document arguments |margin|, |top margin|, |bottom margin|, |inner margin|, |outer margin|, |gutter|, |page color|, |page graphic| and |color| for each page. -Use the option |double| to create a double page. +Use the argument |double| to create a double page. When creating a double page after a left page, a right page is automatically inserted before the double page. -The option |double| is only recognized for double sided documents. +The argument |double| is only recognized for double sided documents. \par -Use the options |front cover| or |back cover| to create a front or back cover. +Use the arguments |front cover| or |back cover| to create a front or back cover. If you have a back cover and a front cover, the back cover page must be defined first. -If no option is active, the front cover is placed as the first page and the back cover as the last page of the document. +If no argument is active, the front cover is placed as the first page and the back cover as the last page of the document. In this case, the only difference from normal pages is that the cover pages are not counted in the page numbering. \par -If the option |fanfold| or |cover| is selected, the back and front covers are laid out on one paper so that the cover is suitable for a book with a hard or soft cover (see section~\ref{sec:document}). +If the argument |fanfold| or |cover| is selected, the back and front covers are laid out on one paper so that the cover is suitable for a book with a hard or soft cover (see section~\ref{sec:document}). Space is reserved between the back and front covers for the spine. -Set the |spine width| document option as described in section~\ref{subsec:size}. +Set the |spine width| document argument as described in section~\ref{subsec:size}. \par -With the options |hpos| and |vpos| you can set the default grid alignment for a page. +With the arguments |hpos| and |vpos| you can set the default grid alignment for a page. Read more about the grid in the next section. -\DescribeMacro {\setpagecolor}Alternativly to the option you can use the macro |\setpagecolor|\marg{color} to set the page color for all following pages. +\DescribeMacro {\setpagecolor}Alternativly to the argument you can use the command |\setpagecolor|\marg{color} to set the page color for all following pages. -\DescribeMacro {\setpagegraphic}With the macro |\setpagegraphic|\oarg{options}\marg{name} you can define a page graphic for all following pages. -The name references a graphic version created with the |\newgraphic| macro (see section~\ref{sec:content}). -If no graphic version with the given name exists, the macro uses the name as the file name. -You can change the clipping by defining relative decimal values for the options |scale| (>1), |hpos| and |vpos| (0-1). +\DescribeMacro {\setpagegraphic}With the command |\setpagegraphic|\oarg{arguments}\marg{name} you can define a page graphic for all following pages. +The name references a graphic version created with the |\newgraphic| command (see section~\ref{sec:content}). +If no graphic version with the given name exists, the command uses the name as the file name. +You can change the clipping by defining relative decimal values for the arguments |scale| (>1), |hpos| and |vpos| (0-1). -\DescribeMacro {\newbeforepage}With the macro |\newbeforepage|\marg{name}\marg{content} you can create a reusable page layer, that can be set before pages. +\DescribeMacro {\newbeforepage}With the command |\newbeforepage|\marg{name}\marg{content} you can create a reusable page layer, that can be set before pages. \DescribeMacro {\setbeforepage} -Use the macro |\setbeforepage|\marg{name} to define a before page for all following pages or use the page option |before page| to specify a before page for a individual page. +Use the command |\setbeforepage|\marg{name} to define a before page for all following pages or use the page argument |before page| to specify a before page for a individual page. \DescribeMacro {\ifleftpage} \DescribeMacro {\ifrightpage} Use the condition |\ifleftpage|\marg{content} and |\ifrightpage|\marg{content} to check for the current page alignment. \DescribeMacro {\leftpage} -Within a page scope you can use the |\leftpage|\marg{content} macro to place content only on a left page. -In comparison to the |\ifleftpage|\marg{content} condition, the macro sets a grid for a single page. +Within a page scope you can use the |\leftpage|\marg{content} command to place content only on a left page. +In comparison to the |\ifleftpage|\marg{content} condition, the command sets a grid for a single page. That way you can combine single with double page layouts. \DescribeMacro {\rightpage} -Accordingly you can use the |\rightpage|\marg{content} macro. +Accordingly you can use the |\rightpage|\marg{content} command. \section{Grid}\label{sec:grid} @@ -290,7 +290,7 @@ All definitions are relative. The size and position results from these relations and the configured dimensions page width, page height, margin and gutter. \DescribeMacro{\setgrid} -Create a grid with the macro |\setgrid|\oarg{options}\marg{config}. +Create a grid with the command |\setgrid|\oarg{arguments}\marg{config}. The grid configuration is a nested list of rows and cells. A cell is defined by a number that describes the width ratio to the other cells in the row. The default grid describes a row with one cell: @@ -335,30 +335,30 @@ The cells in the second row share the available width in the ratio one to two: If the height of fixed and forced rows exceeds the available height, the grid shrinks to fit the available space. The defined aspect ratios of the cells are preserved and the grid is centered horizontally. -In this case you can define the |hpos| option to align the grid horizontally. +In this case you can define the |hpos| argument to align the grid horizontally. A value of |0| aligns the grid to the left, a value of |1| aligns the grid to the right. The default is a value of |0.5|. If the height of fixed and forced rows is less than the available height, all flexible rows share the excess height. If there are no flexible rows, the grid is centered vertically. -In this case you can define the |vpos| option to align the grid vertically. +In this case you can define the |vpos| argument to align the grid vertically. A value of |0| aligns the grid to the top, a value of |1| aligns the grid to the bottom. The default is a value of |0.5|. -As for a document or a page you can set |margin| and |gutter| options for a specific grid. -With the options |width|, |height|, |x| and |y| you can override the intrinsic grid size and position. +As for a document or a page you can set |margin| and |gutter| arguments for a specific grid. +With the arguments |width|, |height|, |x| and |y| you can override the intrinsic grid size and position. When overriding the grid size and position, you can calculate with the intrinsic values, for example |x=\x-1cm|. \subsection{Placing Content} The grid aligns content (see section~\ref{sec:content}) automatically in the given grid cells. -To set the position of a content box manually use the macro |\place|\marg{fromrow fromcell torow tocell}. +To set the position of a content box manually use the command |\place|\marg{fromrow fromcell torow tocell}. \DescribeMacro{\place} -To place content in the first row and first cell use the macro |\place{0 0 1 1}| before the content. +To place content in the first row and first cell use the command |\place{0 0 1 1}| before the content. The definded place applies only for the following content box. The next boxes are then again placed with auto layout. \par -The macro accepts decimals. +The command accepts decimals. That allows you to place content everywhere within the grid. The |gutter| is taken into account when calculating the positions. @@ -367,80 +367,84 @@ The |gutter| is taken into account when calculating the positions. \subsection{Text} \DescribeMacro{\text} -With the macro |\text|\oarg{options}\marg{text} you can place text. -Align the text vertically with the |center| and |bottom| options. +With the command |\text|\oarg{arguments}\marg{text} you can place text. +Align the text vertically with the |center| and |bottom| arguments. \par -The |\text| macro uses the package tcolorbox and accepts tcolorbox options, for example to set text, frame or background color and transparency. +The |\text| command uses the package tcolorbox and accepts tcolorbox arguments, for example to set text, frame or background color and transparency. The tcolorbox behaves slightly diffenrent then the standalone version: spacings, rules and background are removed by default. -You can change the behaviour with the tcolorbox macro |\tcbset|\marg{options}. -Also the |arc| options behaves different: if you set the |arc| to |0pt| the |outer arc| is also set to |0pt|. +You can change the behaviour with the tcolorbox command |\tcbset|\marg{arguments}. +Also the |arc| arguments behaves different: if you set the |arc| to |0pt| the |outer arc| is also set to |0pt|. \par -Add the option |breakable| to break text over multiple boxes and pages. +Add the argument |breakable| to break text over multiple boxes and pages. \DescribeMacro{\usetext} -Use the macro |\usetext|\oarg{name} to place the following text boxes in the grid. -If you want to use multiple breakable text boxes you can initialize the text with the |name| option and define a name that you then can pass to the |\usetext| option. +Use the command |\usetext|\oarg{name} to place the following text boxes in the grid. +If you want to use multiple breakable text boxes you can initialize the text with the |name| argument and define a name that you then can pass to the |\usetext| argument. +Breakable text boxes may have different heights and positions. +To align the baselines use the |baselinesnap| argument and set the baseline dimension, for example |baselinesnap=\baselineskip|. \par -The |\text| macro accepts the options |shadow|, |shadow size|, |shadow color|, |shadow opacity|, |shadow xshift|, |shadow yshift|, |border|, |border width|,\break |border color| and |border radius|. +The |\text| command accepts the arguments |shadow|, |shadow size|, |shadow color|, |shadow opacity|, |shadow xshift|, |shadow yshift|, |border|, |border width|,\break |border color| and |border radius|. Read more about shadows and borders in section~\ref{subsec:borders}. \subsection{Graphics} \DescribeMacro{\newgraphic} -Create a reusable graphic version with the |\newgraphic|\marg{name}\marg{options} macro. -Define the options |scale| (>1), |hpos| and |vpos| (0-1) to set the clipping of the graphic. -With the option |file| you can link a file. +Create a reusable graphic version with the |\newgraphic|\marg{name}\marg{arguments} command. +Define the arguments |scale| (>1), |hpos| and |vpos| (0-1) to set the clipping of the graphic. +With the argument |file| you can link a file. If no file is defined, the name is used as the file name. \DescribeMacro{\graphic} -The |\graphic|\oarg{options}\marg{name} macro places a graphic. -The name references a graphic version created with the |\newgraphic| macro. -If no graphic version with the given name exists, the macro uses the name as the file name. +The command |\graphic|\oarg{arguments}\marg{name} places a graphic. +The name references a graphic version created with the command |\newgraphic|. +If no graphic version with the given name exists, the command uses the name as the file name. The graphic is scaled to fit in the content box. If the aspect ratio of the graphic differs from that of the defined content box, the graphic is cropped. -You can change the cropping by defining relative decimal values for the options |scale| (>1), |hpos| and |vpos| (0-1). -Same as the |\text| macro, the |\graphic| macro accepts the |border| and |shadow| options described in section~\ref{subsec:borders}. +You can change the cropping by defining relative decimal values for the arguments |scale| (>1), |hpos| and |vpos| (0-1). +With the |orientation| argument you can set the Exif orientation flag (1-8). +To flip a graphic horizontally or vertically use the arguments |hflip| or |vflip|. +Same as the |\text| command, the |\graphic| command accepts the |border| and |shadow| arguments described in section~\ref{subsec:borders}. \DescribeMacro{\graphicspath} -You can use the macro |\graphicspath|\marg{dir-list} of the graphics package to specify a list of directories in which to search for graphic files. +You can use the command |\graphicspath|\marg{dir-list} of the graphics package to specify a list of directories in which to search for graphic files. \subsection{Other} \DescribeMacro{\xput} -The macro |\xput|\marg{code} is an easy way to place arbitrary content in the grid. +The command |\xput|\marg{code} is an easy way to place arbitrary content in the grid. Within the code block the dimensions |\width| and |\height| represent the size of the content area and can be used to create graphics, that fit and adapt to the available size. \par \DescribeMacro{\tikzgraphic} -The macro |\tikzgraphic|\marg{tikz code} works like the |\xput| macro, but wraps your input in a |tikzpicture|. +The command |\tikzgraphic|\marg{tikz code} works like the |\xput| command, but wraps your input in a |tikzpicture|. \subsection{Shadows and Borders}\label{subsec:borders} Text and graphic content can be placed with a border or a shadow. -You can define a border or shadow for a specific content box by using the options |border width|, |border color|, |border radius| to add a border or |shadow size|, |shadow color|, |shadow opacity|, |shadow xshift|, |shadow yshift| to add a shadow. +You can define a border or shadow for a specific content box by using the arguments |border width|, |border color|, |border radius| to add a border or |shadow size|, |shadow color|, |shadow opacity|, |shadow xshift|, |shadow yshift| to add a shadow. \par \DescribeMacro{\newborder} \DescribeMacro{\newshadow} -Define a reusable border or shadow with the |\newborder|\marg{name}\marg{options} or |\newshadow|\marg{name}\marg{options} macros. -Apply the border or shadow to |\text| or |\graphic| with the option |border| or |shadow|. +Define a reusable border or shadow with the |\newborder|\marg{name}\marg{arguments} or |\newshadow|\marg{name}\marg{arguments} commands. +Apply the border or shadow to |\text| or |\graphic| with the argument |border| or |shadow|. \par \DescribeMacro{\setborder} \DescribeMacro{\setshadow} -To set a border or shadow within a page or document scope, use the macros |\setborder|\oarg{options}\marg{name} or |\setshadow|\oarg{options}\marg{name}. +To set a border or shadow within a page or document scope, use the commands |\setborder|\oarg{arguments}\marg{name} or |\setshadow|\oarg{arguments}\marg{name}. \section{Templates}\label{sec:templates} \DescribeMacro{\newtemplate} -With the macro |\newtemplate|\marg{name}\marg{layout} you can create a reusable layout. +With the command |\newtemplate|\marg{name}\marg{layout} you can create a reusable layout. Creating a template works the same way as creating a page. In addition to graphics and text you can define placeholders. \DescribeMacro{\placeholder} -Use the macro |\placeholder|\marg{fromrow fromcell torow tocell} to define a content area that can later be filled with a text or a graphic. +Use the command |\placeholder|\marg{fromrow fromcell torow tocell} to define a content area that can later be filled with a text or a graphic. \DescribeMacro{\template} -To use a template use the macro |\template|\oarg{options}\marg{name}\marg{content}. -The available options are the same as for pages. +Use a template with the command |\template|\oarg{arguments}\marg{name}\marg{content}. +The available arguments are the same as for pages. -The macro |\template| comes with an easy way to generate templates by using a name pattern. +The command |\template| comes with an easy way to generate templates by using a name pattern. For example the template name \textit{sp} creates a template with a square and a portrait format placeholder. In this case the letter |s| specifies a square (1:1) and the letter |p| a portrait (2:3) format placeholder. Use the letter |l| to define a landscape ratio (3:2), |g| for golden ratio (5:3), |o| for golden upright ratio (3:5), |w| for wide ratio (2:1) or |f| for a flexible ratio. @@ -450,23 +454,23 @@ Within a row you can mix the fixed placeholders (|s|, |p|, |l|, |g|, |o|, |w|) o \section{Image Optimization}\label{sec:optimization} \DescribeMacro{\optimize} -With the macro |\optimize|\oarg{options} you can enable image optimization. +With the command |\optimize|\oarg{arguments} you can enable image optimization. When enabled, JPG and PNG images are croped, resized and cached. This results in fast rebuilds when changing the document. -You can set the options |density|, |quality|, |unsharp| and |downsample threshold|. -The |density| option takes a number of the pixels per inch (default |300|), the |quality| option takes numbers between 1 and 100, the |unsharp| option an ImageMagick unsharp configuration (default |2x1|) and the |downsample threshold| a decimal value greater or equal 1 (default |1.2|). -The |unsharp| option can also be applied for individual graphics. +You can set the arguments |density|, |quality|, |unsharp| and |downsample threshold|. +The |density| argument takes a number of the pixels per inch (default |300|), the |quality| argument takes numbers between 1 and 100, the |unsharp| argument an ImageMagick unsharp configuration (default |2x1|) and the |downsample threshold| a decimal value greater or equal 1 (default |1.2|). +The |unsharp| argument can also be applied for individual graphics. \par If you use image optimization and change the original graphics files, you must delete the cached versions so that the cache will update. \DescribeMacro{\import} -The |\import| macro helps you to streamline this process. +The |\import| command helps you to streamline this process. When enabled, you need an import directory in which to place the modified files. When the document is created, the files are moved to your image directory and the corresponding cached versions are automatically regenerated. The import directory is either the directory \emph{import} in your working directory. Or you can set a system wide import directory by defining the shell variable |PAGELAYOUT_IMPORT_DIRECTORY|. \par \DescribeMacro{\preflight} -Use the |\preflight| macro to proof the image resolution. +Use the |\preflight| command to proof the image resolution. If images have a final resolution less then 300 ppi you get a warning, if less then 200 ppi you get an error. With preflight enabled the maximum possible resolution is shown next to each graphic. diff --git a/macros/latex/contrib/pagelayout/doc/quickstart-1.svg b/macros/latex/contrib/pagelayout/doc/quickstart-1.svg index 5d184af7e0..e5f5312e10 100644 --- a/macros/latex/contrib/pagelayout/doc/quickstart-1.svg +++ b/macros/latex/contrib/pagelayout/doc/quickstart-1.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/macros/latex/contrib/pagelayout/doc/quickstart-2.svg b/macros/latex/contrib/pagelayout/doc/quickstart-2.svg index 6f865a348a..68823636c4 100644 --- a/macros/latex/contrib/pagelayout/doc/quickstart-2.svg +++ b/macros/latex/contrib/pagelayout/doc/quickstart-2.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/macros/latex/contrib/pagelayout/doc/quickstart-3.svg b/macros/latex/contrib/pagelayout/doc/quickstart-3.svg index 15bf2ea4b6..ee995fbe40 100644 --- a/macros/latex/contrib/pagelayout/doc/quickstart-3.svg +++ b/macros/latex/contrib/pagelayout/doc/quickstart-3.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/macros/latex/contrib/pagelayout/doc/quickstart.pdf b/macros/latex/contrib/pagelayout/doc/quickstart.pdf index 2af22e071a..6ae93506b1 100644 Binary files a/macros/latex/contrib/pagelayout/doc/quickstart.pdf and b/macros/latex/contrib/pagelayout/doc/quickstart.pdf differ diff --git a/macros/latex/contrib/pagelayout/doc/quickstart.tex b/macros/latex/contrib/pagelayout/doc/quickstart.tex index 3a503dd28d..f5c22be13b 100644 --- a/macros/latex/contrib/pagelayout/doc/quickstart.tex +++ b/macros/latex/contrib/pagelayout/doc/quickstart.tex @@ -1,5 +1,5 @@ %% -%% Copyright (c) 2022-2023 by Friedemann Bartels +%% Copyright (c) 2022-2024 by Friedemann Bartels %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -12,7 +12,7 @@ %% LaTeX version 2008/05/04 or later. %% -\documentclass[draft,graphpaper,preflight,optimize={density=600}]{pagelayout} +\documentclass[draft,grid,graphpaper,preflight,optimize={density=600}]{pagelayout} \usepackage{microtype} \usepackage{fontspec} @@ -23,36 +23,49 @@ \margin=5mm \gutter=5mm \bleed=2mm +\setpagecolor{white} \begin{document} - \fontsize{6.3pt}{8.6pt}\selectfont + \fontsize{4pt}{4.8pt}\selectfont - % generic template - \template{ff}{ - \text{ - This text fills the first placeholder. + % page + \page{ + \setgrid{ + {{}{}} + } + \text[breakable]{ + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. + Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis. + Curabitur dictum gravida mauris. + Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna. + Donec vehicula augue eu neque. + Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. + Mauris ut leo. Cras viverra metus rhoncus sem. + Nulla et lectus vestibulum urna fringilla ultrices. + Phasellus eu tellus sit amet tortor gravida placerat. } + \usetext } - % custom template - \grid + % template \newtemplate{my template}{ \setgrid{ {[2]{3!}{2!}} } \placeholder{0 0 1 1} + \placeholder{0 1 1 2} } \template{my template}{} - \nogrid - % graphics - \newborder{my border}{width=2mm, color=white, radius=5mm} - \newshadow{my shadow}{size=8} - \template[margin=7mm]{s}{ + % graphic + \nogrid + \newborder{my border}{width = 1mm, color = white, radius = 5mm} + \newshadow{my shadow}{size = 7} + \template{my template}{ \graphic[ scale=1.05, hpos=0, - vpos=0, + vpos=0.3, shadow=my shadow, border=my border, border radius=0mm diff --git a/macros/latex/contrib/pagelayout/scripts/pagelayoutapi b/macros/latex/contrib/pagelayout/scripts/pagelayoutapi index 7533cf722e..be034baaa7 100755 --- a/macros/latex/contrib/pagelayout/scripts/pagelayoutapi +++ b/macros/latex/contrib/pagelayout/scripts/pagelayoutapi @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (c) 2022-2023 by Friedemann Bartels +# Copyright (c) 2022-2024 by Friedemann Bartels # # This file may be distributed and/or modified under the # conditions of the LaTeX Project Public License, either @@ -13,7 +13,7 @@ # LaTeX version 2008/05/04 or later. # -version=1.0.5 +version=1.1.0 _convert() { turbo=$1 @@ -181,7 +181,7 @@ makeshadow() { /dev/null 2>&1; then + cores=$( nproc ) + else + cores=1 + fi [ $cores -gt $length ] && cores=$length while [ $length -gt 0 ]; do diff --git a/macros/latex/contrib/pagelayout/scripts/textestvis b/macros/latex/contrib/pagelayout/scripts/textestvis index 53dcedddca..8ddcde77e1 100755 --- a/macros/latex/contrib/pagelayout/scripts/textestvis +++ b/macros/latex/contrib/pagelayout/scripts/textestvis @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (c) 2022-2023 by Friedemann Bartels +# Copyright (c) 2022-2024 by Friedemann Bartels # # This file may be distributed and/or modified under the # conditions of the LaTeX Project Public License, either @@ -13,7 +13,7 @@ # LaTeX version 2008/05/04 or later. # -version=1.0.5 +version=1.1.0 OK="$( tput setaf 2 )•$( tput sgr0 )" FAILED="$( tput setaf 1 )$( tput bold )x$( tput sgr0 )" diff --git a/macros/latex/contrib/pagelayout/tex/pagelayout.cls b/macros/latex/contrib/pagelayout/tex/pagelayout.cls index fbc4a507ff..8e7d3616ae 100644 --- a/macros/latex/contrib/pagelayout/tex/pagelayout.cls +++ b/macros/latex/contrib/pagelayout/tex/pagelayout.cls @@ -1,5 +1,5 @@ %% -%% Copyright (c) 2022-2023 by Friedemann Bartels +%% Copyright (c) 2022-2024 by Friedemann Bartels %% %% This file may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either @@ -13,8 +13,8 @@ %% \NeedsTeXFormat{LaTeX2e}[2020/10/01] -\ProvidesClass{pagelayout}[2023/12/21 Layout graphic rich documents] -\def\pagelayoutversion{1.0.5} +\ProvidesClass{pagelayout}[2024/01/17 Layout graphic rich documents] +\def\pagelayoutversion{1.1.0} % packages \RequirePackage{pgfopts} @@ -85,7 +85,7 @@ \newdimen\pal@topsafetymargin\newdimen\pal@bottomsafetymargin\newdimen\pal@innersafetymargin\newdimen\pal@outersafetymargin \newdimen\pal@topmargin\newdimen\pal@topmargintmp\newdimen\pal@innermargin\newdimen\pal@bottommargin\newdimen\pal@outermargin \newdimen\pal@gutter -\newdimen\pal@x\newdimen\pal@y\newdimen\pal@xx\newdimen\pal@yy\newdimen\width\newdimen\height\newdimen\x\newdimen\y +\newdimen\pal@x\newdimen\pal@y\newdimen\pal@xx\newdimen\pal@yy\newdimen\pal@yytmp\newdimen\width\newdimen\height\newdimen\x\newdimen\y \newdimen\pal@gridoffsethorizontal\newdimen\pal@gridoffsetvertical\newdimen\pal@gridoffsethorizontaln\newdimen\pal@gridoffsetverticaln \newdimen\pal@graphpaperx\newdimen\pal@graphpapery\newdimen\pal@graphpaperoffset\newdimen\pal@graphpapersnap @@ -868,13 +868,18 @@ % graphic \newif\ifpal@isvisible \newif\ifpal@calculatecrop +\newif\ifpal@trimnext +\newif\ifpal@hflip +\newif\ifpal@vflip +\newif\ifpal@graphicoptionhflip +\newif\ifpal@graphicoptionvflip \newdimen\pal@originalgraphicwidth\newdimen\pal@originalgraphicheight \newdimen\pal@cropx\newdimen\pal@cropy \newdimen\pal@cropleft\newdimen\pal@cropright \newdimen\pal@cropbottom\newdimen\pal@croptop \newdimen\pal@cropstart\newdimen\pal@cropend \newdimen\pal@snapleft\newdimen\pal@snapright -\newdimen\pal@snapbottom\newdimen\pal@snaptop +\newdimen\pal@snapbottom\newdimen\pal@snaptop\newdimen\pal@dimentmp \newdimen\pal@viewportwidth\newdimen\pal@viewportheight \newdimen\pal@frameborderwidth \newdimen\pal@frameborderradius @@ -1000,6 +1005,9 @@ /graphic, file/.store in=\pal@graphicoptionfile, scale/.store in=\pal@graphicoptionscale, + orientation/.store in=\pal@graphicoptionorientation, + hflip/.is if=pal@graphicoptionhflip, + vflip/.is if=pal@graphicoptionvflip, vpos/.store in=\pal@graphicoptionvpos, hpos/.store in=\pal@graphicoptionhpos, unsharp/.store in=\pal@graphicoptionunsharp, @@ -1259,16 +1267,31 @@ \def\newgraphic#1#2{ \expandafter\newcommand\csname pal@graphic@#1\endcsname[2][0]{% \ifnum##1=0 - \pgfkeys{pagegraphic,file={#1},scale=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,#2,##2} + \pgfkeys{pagegraphic,file={#1},scale=1,orientation=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,#2,##2} \else \ifnum##1=1 - \pgfkeys{backcoverpagegraphic,file={#1},scale=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,#2} + \pgfkeys{backcoverpagegraphic,file={#1},scale=1,orientation=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,#2} \else - \pgfkeys{graphic,file={#1},scale=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,#2,##2} + \pgfkeys{graphic,file={#1},scale=1,orientation=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,#2,##2} \fi \fi }% } +\def\togglesnapv{ + \pal@dimentmp=\pal@snaptop + \pal@snaptop=\pal@snapbottom + \pal@snapbottom=\pal@dimentmp +} +\def\togglesnaph{ + \pal@dimentmp=\pal@snapleft + \pal@snapleft=\pal@snapright + \pal@snapright=\pal@dimentmp +} +\def\togglepos{ + \xdef\pal@tmp{\pal@graphicoptionhpos} + \xdef\pal@graphicoptionhpos{\pal@graphicoptionvpos} + \xdef\pal@graphicoptionvpos{\pal@tmp} +} \newcommand\pal@putgraphic[6][]{ \pal@x=\posx{1}{#2}{1}{#3} \pal@yy=\posy{1}{#2} @@ -1298,13 +1321,156 @@ \pal@snapbleedbottom=\pal@null \begingroup - \xdef\pal@filename{#6-\pal@density-\pal@graphicoptionscale-\pal@graphicoptionhpos-\pal@graphicoptionvpos-\the\numexpr\pal@snaptop\relax-\the\numexpr\pal@snapright\relax-\the\numexpr\pal@snapbottom\relax-\the\numexpr\pal@snapleft\relax-\the\numexpr\width\relax-\the\numexpr\height\relax-\pal@downsamplethreshold-\pal@graphicoptionunsharp-\pal@quality} + \pal@hflipfalse + \pal@vflipfalse + + \ifnum\pal@graphicoptionorientation=1 + \def\pal@angle{0} + \ifpal@graphicoptionhflip + \pal@hfliptrue + \togglesnaph + \fi + \ifpal@graphicoptionvflip + \pal@vfliptrue + \togglesnapv + \fi + \pgfmathqparse{1pt-\pal@graphicoptionvpos pt} + \edef\pal@graphicoptionvpos{\pgfmathresult} + \else + \ifnum\pal@graphicoptionorientation=2 + \def\pal@angle{0} + \ifpal@graphicoptionhflip + \else + \pal@hfliptrue + \togglesnaph + \fi + \ifpal@graphicoptionvflip + \pal@vfliptrue + \togglesnapv + \fi + \pgfmathqparse{1pt-\pal@graphicoptionvpos pt} + \edef\pal@graphicoptionvpos{\pgfmathresult} + \pgfmathqparse{1pt-\pal@graphicoptionhpos pt} + \edef\pal@graphicoptionhpos{\pgfmathresult} + \else + \ifnum\pal@graphicoptionorientation=3 + \def\pal@angle{180} + \ifpal@graphicoptionhflip + \pal@hfliptrue + \else + \togglesnaph + \fi + \ifpal@graphicoptionvflip + \pal@vfliptrue + \else + \togglesnapv + \fi + \pgfmathqparse{1pt-\pal@graphicoptionhpos pt} + \edef\pal@graphicoptionhpos{\pgfmathresult} + \else + \ifnum\pal@graphicoptionorientation=4 + \def\pal@angle{180} + \ifpal@graphicoptionhflip + \togglesnaph + \else + \pal@hfliptrue + \fi + \ifpal@graphicoptionvflip + \pal@vfliptrue + \else + \togglesnapv + \fi + \else + \ifnum\pal@graphicoptionorientation=5 + \def\pal@angle{270} + \ifpal@graphicoptionhflip + \pal@hfliptrue + \else + \togglesnaph + \fi + \ifpal@graphicoptionvflip + \togglesnapv + \else + \pal@vfliptrue + \fi + \togglepos + \pgfmathqparse{1pt-\pal@graphicoptionvpos pt} + \edef\pal@graphicoptionvpos{\pgfmathresult} + \pgfmathqparse{1pt-\pal@graphicoptionhpos pt} + \edef\pal@graphicoptionhpos{\pgfmathresult} + \else + \ifnum\pal@graphicoptionorientation=6 + \def\pal@angle{270} + \ifpal@graphicoptionhflip + \pal@hfliptrue + \else + \togglesnaph + \fi + \ifpal@graphicoptionvflip + \pal@vfliptrue + \else + \togglesnapv + \fi + \togglepos + \pgfmathqparse{1pt-\pal@graphicoptionhpos pt} + \edef\pal@graphicoptionhpos{\pgfmathresult} + \else + \def\pal@angle{90} + \ifpal@graphicoptionhflip + \pal@hfliptrue + \togglesnaph + \fi + \ifnum\pal@graphicoptionorientation=7 + \ifpal@graphicoptionvflip + \else + \pal@vfliptrue + \togglesnapv + \fi + \togglepos + \else + \ifpal@graphicoptionvflip + \pal@vfliptrue + \togglesnapv + \fi + \togglepos + \pgfmathqparse{1pt-\pal@graphicoptionvpos pt} + \edef\pal@graphicoptionvpos{\pgfmathresult} + \fi + \fi + \fi + \fi + \fi + \fi + \fi + + \ifnum\pal@graphicoptionorientation<5 + \xdef\pal@filename{#6-\pal@density-\pal@graphicoptionscale-\pal@graphicoptionhpos-\pal@graphicoptionvpos-\the\numexpr\pal@snaptop\relax-\the\numexpr\pal@snapright\relax-\the\numexpr\pal@snapbottom\relax-\the\numexpr\pal@snapleft\relax-\the\numexpr\width\relax-\the\numexpr\height\relax-\pal@downsamplethreshold-\pal@graphicoptionunsharp-\pal@quality} + \else + \xdef\pal@filename{#6-\pal@density-\pal@graphicoptionscale-\pal@graphicoptionhpos-\pal@graphicoptionvpos-\the\numexpr\pal@snapleft\relax-\the\numexpr\pal@snaptop\relax-\the\numexpr\pal@snapright\relax-\the\numexpr\pal@snapbottom\relax-\the\numexpr\height\relax-\the\numexpr\width\relax-\pal@downsamplethreshold-\pal@graphicoptionunsharp-\pal@quality} + \fi + \ifpal@optimize \IfFileExists{./cache/\pal@filename/g.jpg}{ - \def\pal@nextincludegraphic{\includegraphics[width=\width]{cache/\pal@filename/g.jpg}} + \ifnum\pal@graphicoptionorientation<3 + \def\pal@nextincludegraphic{\includegraphics[width=\width]{cache/\pal@filename/g.jpg}} + \else + \ifnum\pal@graphicoptionorientation<5 + \def\pal@nextincludegraphic{\includegraphics[width=\width,angle=\pal@angle]{cache/\pal@filename/g.jpg}} + \else + \def\pal@nextincludegraphic{\includegraphics[height=\width,angle=\pal@angle]{cache/\pal@filename/g.jpg}} + \fi + \fi }{ \IfFileExists{./cache/\pal@filename/g.png}{ - \def\pal@nextincludegraphic{\includegraphics[width=\width]{cache/\pal@filename/g.png}} + \ifnum\pal@graphicoptionorientation<3 + \def\pal@nextincludegraphic{\includegraphics[width=\width]{cache/\pal@filename/g.png}} + \else + \ifnum\pal@graphicoptionorientation<5 + \def\pal@nextincludegraphic{\includegraphics[width=\width,angle=\pal@angle]{cache/\pal@filename/g.png}} + \else + \def\pal@nextincludegraphic{\includegraphics[height=\width,angle=\pal@angle]{cache/\pal@filename/g.png}} + \fi + \fi }{ \pal@calculatecroptrue } @@ -1332,10 +1498,13 @@ \pal@disablegraphicsfilecheck \ifpal@calculatecrop % graphic crop - \settowidth{\pal@originalgraphicwidth}{\includegraphics{\pal@currfilebase\pal@currfileext}} - \settoheight{\pal@originalgraphicheight}{\includegraphics{\pal@currfilebase\pal@currfileext}} - \pgfmathqparse{1pt-\pal@graphicoptionvpos pt} - \edef\pal@graphicoptionvpos{\pgfmathresult} + \ifnum\pal@graphicoptionorientation<5 + \settowidth{\pal@originalgraphicwidth}{\includegraphics{\pal@currfilebase\pal@currfileext}} + \settoheight{\pal@originalgraphicheight}{\includegraphics{\pal@currfilebase\pal@currfileext}} + \else + \settoheight{\pal@originalgraphicwidth}{\includegraphics{\pal@currfilebase\pal@currfileext}} + \settowidth{\pal@originalgraphicheight}{\includegraphics{\pal@currfilebase\pal@currfileext}} + \fi \pgfmathqparse{\pal@originalgraphicwidth/\pal@originalgraphicheight} \edef\pal@graphicratio{\pgfmathresult} \pgfmathqparse{\width/\height} @@ -1408,6 +1577,7 @@ \pal@snapoptimizedgraphic \fi + \pal@trimnextfalse \ifdefined\pal@nextincludegraphic \else \ifpal@optimize @@ -1418,19 +1588,39 @@ \isoptimizable{\pal@currfileext}{\pal@optimizegraphic{\pal@currfilebase}{\pal@currfileext}} \ifdefined\pal@optimizedext \IfFileExists{./cache/\pal@filename/g\pal@optimizedext}{ - \def\pal@nextincludegraphic{\includegraphics[width=\width]{cache/\pal@filename/g\pal@optimizedext}} + \ifnum\pal@graphicoptionorientation<3 + \def\pal@nextincludegraphic{\includegraphics[width=\width]{cache/\pal@filename/g\pal@optimizedext}} + \else + \ifnum\pal@graphicoptionorientation<5 + \def\pal@nextincludegraphic{\includegraphics[width=\width,angle=\pal@angle]{cache/\pal@filename/g\pal@optimizedext}} + \else + \def\pal@nextincludegraphic{\includegraphics[height=\width,angle=\pal@angle]{cache/\pal@filename/g\pal@optimizedext}} + \fi + \fi }{ \ifx\pal@processresult\pal@ok \ClassError{pagelayout}{Unexpected error. File not optimized}{File `cache/#6/g\pal@optimizedext' not found.\MessageBreak Try to delete the `cache' directory.\MessageBreak\MessageBreak\@ehc} \fi - \def\pal@nextincludegraphic{\includegraphics[trim={\pal@cropleft} {\pal@cropbottom} {\pal@cropright} {\pal@croptop},\pal@clip,width=\width]{\pal@currfilebase\pal@currfileext}} + \pal@trimnexttrue } \else - \def\pal@nextincludegraphic{\includegraphics[trim={\pal@cropleft} {\pal@cropbottom} {\pal@cropright} {\pal@croptop},\pal@clip,width=\width]{\pal@currfilebase\pal@currfileext}} + \pal@trimnexttrue \fi \fi \else + \pal@trimnexttrue + \fi + \fi + + \ifpal@trimnext + \ifnum\pal@graphicoptionorientation<3 \def\pal@nextincludegraphic{\includegraphics[trim={\pal@cropleft} {\pal@cropbottom} {\pal@cropright} {\pal@croptop},\pal@clip,width=\width]{\pal@currfilebase\pal@currfileext}} + \else + \ifnum\pal@graphicoptionorientation<5 + \def\pal@nextincludegraphic{\includegraphics[trim={\pal@cropleft} {\pal@cropbottom} {\pal@cropright} {\pal@croptop},\pal@clip,width=\width,angle=\pal@angle]{\pal@currfilebase\pal@currfileext}} + \else + \def\pal@nextincludegraphic{\includegraphics[trim={\pal@cropbottom} {\pal@cropright} {\pal@croptop} {\pal@cropleft},\pal@clip,height=\width,angle=\pal@angle]{\pal@currfilebase\pal@currfileext}} + \fi \fi \fi @@ -1475,7 +1665,11 @@ \ifdim\pal@defaultborderradius>0pt \pal@ismaskrequiredtrue \else - \pal@ismaskrequiredfalse + \ifnum\pal@graphicoptionorientation=1 + \pal@ismaskrequiredfalse + \else + \pal@ismaskrequiredtrue + \fi \fi \fi \else @@ -1498,9 +1692,27 @@ \fi \draw[draw opacity=0,rounded corners=\pal@defaultborderradius,path picture={ - \node at (0.5\width,0.5\height){ - \pal@nextincludegraphic - }; + \ifpal@hflip + \ifpal@vflip + \node[xscale=-1,yscale=-1] at (0.5\width,0.5\height){ + \pal@nextincludegraphic + }; + \else + \node[xscale=-1] at (0.5\width,0.5\height){ + \pal@nextincludegraphic + }; + \fi + \else + \ifpal@vflip + \node[yscale=-1] at (0.5\width,0.5\height){ + \pal@nextincludegraphic + }; + \else + \node at (0.5\width,0.5\height){ + \pal@nextincludegraphic + }; + \fi + \fi }] (0,0) rectangle ++(\width,\height);% \end{tikzpicture}% \else% @@ -1574,12 +1786,19 @@ } % pagegraphic +\newif\ifpal@pagegraphicoptionhflip +\newif\ifpal@pagegraphicoptionvflip +\newif\ifpal@backcoveroptionpagegraphichflip +\newif\ifpal@backcoveroptionpagegraphicvflip \def\pal@pagegraphic{} \pgfkeys{ /pagegraphic/.is family, /pagegraphic, file/.store in=\pal@pagegraphic, scale/.store in=\pal@pagegraphicoptionscale, + orientation/.store in=\pal@pagegraphicoptionorientation, + hflip/.is if=pal@pagegraphicoptionhflip, + vflip/.is if=pal@pagegraphicoptionvflip, vpos/.store in=\pal@pagegraphicoptionvpos, hpos/.store in=\pal@pagegraphicoptionhpos, unsharp/.store in=\pal@pagegraphicoptionunsharp, @@ -1589,6 +1808,9 @@ /backcoverpagegraphic, file/.store in=\pal@backcoveroptionpagegraphicfile, scale/.store in=\pal@backcoveroptionpagegraphicscale, + orientation/.store in=\pal@backcoveroptionpagegraphicorientation, + hflip/.is if=pal@backcoveroptionpagegraphichflip, + vflip/.is if=pal@backcoveroptionpagegraphicvflip, vpos/.store in=\pal@backcoveroptionpagegraphicvpos, hpos/.store in=\pal@backcoveroptionpagegraphichpos, unsharp/.store in=\pal@backcoveroptionpagegraphicunsharp, @@ -1601,7 +1823,7 @@ \innermargin=\pal@null \outermargin=\pal@null \setgrid{{{1}}} - \pgfkeys{graphic,scale=\pal@pagegraphicoptionscale,hpos=\pal@pagegraphicoptionhpos,vpos=\pal@pagegraphicoptionvpos,unsharp=\pal@pagegraphicoptionunsharp,border width=0pt,border radius=0pt,shadow size=0,shadow xshift=0pt,shadow yshift=0pt} + \pgfkeys{graphic,scale=\pal@pagegraphicoptionscale,orientation=\pal@pagegraphicoptionorientation,hflip=\ifpal@pagegraphicoptionhflip true\else false\fi,vflip=\ifpal@pagegraphicoptionvflip true\else false\fi,hpos=\pal@pagegraphicoptionhpos,vpos=\pal@pagegraphicoptionvpos,unsharp=\pal@pagegraphicoptionunsharp,border width=0pt,border radius=0pt,shadow size=0,shadow xshift=0pt,shadow yshift=0pt} \pal@putgraphic{0}{0}{1}{1}{\pal@pagegraphic} \endgroup } @@ -1609,7 +1831,7 @@ \ifcsname pal@graphic@#2\endcsname% \csname pal@graphic@#2\endcsname{#1} \else% - \pgfkeys{pagegraphic,file={#2},scale=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,#1} + \pgfkeys{pagegraphic,file={#2},scale=1,orientation=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,#1} \fi } \def\nopagegraphic{\setpagegraphic{}} @@ -1660,6 +1882,7 @@ colframe/.store in=\pal@defaultbordercolor, opacityframe/.store in=\pal@defaultborderopacity, breakable/.is if=pal@text@option@breakable, + % baselinesnap/.store in=\pal@text@option@baselinesnap, .unknown/.code=, library/.unknown/.code=, } @@ -1697,6 +1920,7 @@ height/.code={\originaltcbset{height=#1}\def\pal@text@option@height{#1}}, parbox/.is if=pal@text@option@parbox, breakable/.is if=pal@text@option@breakable, + baselinesnap/.store in=\pal@text@option@baselinesnap, border radius/.code={\originaltcbset{arc=#1}\ifdim\pal@null=\dimexpr#1\relax\originaltcbset{outer arc=#1}\else\originaltcbset{auto outer arc}\fi\def\pal@defaultborderradius{#1}}, arc/.forward to=/text/border radius, border width/.forward to=/text/boxrule, @@ -1711,6 +1935,7 @@ .unknown/.code={\originaltcbset{\pgfkeyscurrentname=#1}} } \newdimen\pal@tcbheight +\newcount\pal@breakabletextindex \newcommand\pal@puttext[5]{ \ifpal@isbatchmode \else @@ -1779,6 +2004,14 @@ \fi \ifpal@text@option@breakable + \global\expandafter\edef\csname pal@breakabletext@name@\the\pal@breakabletextindex\endcsname{\pal@text@option@name} + \global\expandafter\edef\csname pal@breakabletext@breakat@\pal@text@option@name\endcsname{\the\height} + \global\expandafter\edef\csname pal@breakabletext@startat@\pal@text@option@name\endcsname{\the\pal@yy} + \ifdefined\pal@text@option@baselinesnap + \global\expandafter\edef\csname pal@breakabletext@baselinesnap@\pal@text@option@name\endcsname{\pal@text@option@baselinesnap} + \fi + % \errmessage{\the\pal@yy, \the\pal@y, \the\height, \the\pageheight} + \global\advance\pal@breakabletextindex by 1 \expandafter\xdef\csname pal@textarray@\pal@text@option@name @offsetx\endcsname{\pal@text@option@leftrule} \expandafter\xdef\csname pal@textarray@\pal@text@option@name @offsety\endcsname{\pal@text@option@bottomrule} \else @@ -1797,7 +2030,8 @@ standard jigsaw, width=\width, enforce breakable, - break at=\height, + break at=\ifcsname pal@breakable@\pal@text@option@name\endcsname\csname pal@breakable@\pal@text@option@name\endcsname\else\height\fi, + % break at=\height/\height/\height/\height/\height/\height/46.633pt/\height, height fixed for=all, reset box array=\pal@text@option@name, store to box array=\pal@text@option@name, @@ -1872,6 +2106,7 @@ \fi \fi } + \newcommand\pal@putusetext[5][default]{ \ifpal@isbatchmode \else @@ -1879,6 +2114,24 @@ \pal@xx=\posx{-1}{#4}{-1}{#5} \pal@y=\posy{-1}{#4} \pal@yy=\posy{1}{#2} + \ifdim\csname pal@breakabletext@startat@#1\endcsname=\the\pal@yy + \else + \ifcsname pal@breakabletext@baselinesnap@#1\endcsname + \pal@yytmp=\dimexpr\csname pal@breakabletext@startat@#1\endcsname\relax + \ifdim\pal@yytmp>\pal@yy + \loop + \pal@yytmp=\dimexpr\pal@yytmp-\csname pal@breakabletext@baselinesnap@#1\endcsname\relax + \ifdim\pal@yytmp>\pal@yy\repeat + \else + \ifdim\dimexpr\pal@yytmp+\csname pal@breakabletext@baselinesnap@#1\endcsname\relax<\pal@yy + \loop + \pal@yytmp=\dimexpr\pal@yytmp+\csname pal@breakabletext@baselinesnap@#1\endcsname\relax + \ifdim\dimexpr\pal@yytmp+\csname pal@breakabletext@baselinesnap@#1\endcsname\relax<\pal@yy\repeat + \fi + \fi + \pal@yy=\pal@yytmp + \fi + \fi \width=\dimexpr(\pal@xx - \pal@x)\relax \height=\dimexpr(\pal@yy - \pal@y)\relax \pal@textboxwidth=\dimexpr(\pal@xx - \pal@x)\relax @@ -1887,6 +2140,7 @@ \pal@checkvisibility \ifpal@isvisible \ifcsname pal@textarray@#1@index\endcsname + \global\expandafter\edef\csname pal@breakabletext@breakat@#1\endcsname{\csname pal@breakabletext@breakat@#1\endcsname/\the\height} \global\expandafter\advance\csname pal@textarray@#1@index\endcsname by 1% \pal@y=\dimexpr\pal@yy-\pal@textboxheight\relax @@ -2078,13 +2332,14 @@ } \def\pal@drawshadow{ \pal@ifshadow{ - \xdef\pal@shadowid{shadow-\pal@defaultshadowsize-\pal@defaultshadowcolor-\pal@defaultshadowopacity-\the\numexpr\pal@frameshadowwidth\relax-\the\numexpr\pal@frameshadowheight\relax-\the\numexpr\pal@frameshadowradius\relax-\the\numexpr\pal@frameshadowborder\relax} + \convertcolorspec{named}{\pal@defaultshadowcolor}{RGB}\pal@colortmp + \xdef\pal@shadowid{shadow-\pal@defaultshadowsize-\pal@colortmp-\pal@defaultshadowopacity-\the\numexpr\pal@frameshadowwidth\relax-\the\numexpr\pal@frameshadowheight\relax-\the\numexpr\pal@frameshadowradius\relax-\the\numexpr\pal@frameshadowborder\relax} \IfFileExists{./cache/\pal@shadowid/s.pdf}{ \put(\pal@dimentonumber{\dimexpr\pal@x-5cm-\pal@frameshadowoffsetx+\pal@defaultshadowxshift\relax},\pal@dimentonumber{\dimexpr\pal@y-5cm-\pal@frameshadowoffsety-\pal@defaultshadowyshift\relax}){% \includegraphics[width=\pal@frameshadowwidth]{cache/\pal@shadowid/s.pdf} } }{ - \pal@makeshadow{\pal@shadowid} + \pal@makeshadow{\pal@shadowid}{\pal@colortmp} \IfFileExists{./cache/\pal@shadowid/s.pdf}{ \put(\pal@dimentonumber{\dimexpr\pal@x-5cm-\pal@frameshadowoffsetx+\pal@defaultshadowxshift\relax},\pal@dimentonumber{\dimexpr\pal@y-5cm-\pal@frameshadowoffsety-\pal@defaultshadowyshift\relax}){% \includegraphics[width=\pal@frameshadowwidth]{cache/\pal@shadowid/s.pdf} @@ -2550,11 +2805,11 @@ \ifx\pal@pagecolor\pal@emptystring \else \begingroup - \margin=\pal@null - \topmargin=\pal@null - \bottommargin=\pal@null - \innermargin=\pal@null - \outermargin=\pal@null + \margin=-1pt + \topmargin=-1pt + \bottommargin=-1pt + \innermargin=\ifpal@fanfold\pal@null\else-1pt\fi + \outermargin=-1pt \setgrid{{{1}}} \ifx\pal@pagecolormodel\pal@emptystring \else @@ -2596,6 +2851,7 @@ \global\let\pal@defaultshadowxshift\pal@defaultshadowxshift \global\let\pal@defaultshadowyshift\pal@defaultshadowyshift \global\let\pal@pagegraphicoptionscale\pal@pagegraphicoptionscale + \global\let\pal@pagegraphicoptionorientation\pal@pagegraphicoptionorientation \global\let\pal@pagegraphicoptionvpos\pal@pagegraphicoptionvpos \global\let\pal@pagegraphicoptionhpos\pal@pagegraphicoptionhpos \global\let\pal@pagegraphicoptionunsharp\pal@pagegraphicoptionunsharp @@ -2782,6 +3038,17 @@ \else \def\pal@pagegraphic{\pal@backcoveroptionpagegraphicfile} \def\pal@pagegraphicoptionscale{\pal@backcoveroptionpagegraphicscale} + \def\pal@pagegraphicoptionorientation{\pal@backcoveroptionpagegraphicorientation} + \ifpal@backcoveroptionpagegraphichflip + \pal@pagegraphicoptionhfliptrue + \else + \pal@pagegraphicoptionhflipfalse + \fi + \ifpal@backcoveroptionpagegraphicvflip + \pal@pagegraphicoptionvfliptrue + \else + \pal@pagegraphicoptionvflipfalse + \fi \def\pal@pagegraphicoptionvpos{\pal@backcoveroptionpagegraphicvpos} \def\pal@pagegraphicoptionhpos{\pal@backcoveroptionpagegraphichpos} \def\pal@pagegraphicoptionunsharp{\pal@backcoveroptionpagegraphicunsharp} @@ -2970,6 +3237,9 @@ \ifdefined\pal@pagegraphicoptionscale \let\pal@backcoveroptionpagegraphicscale\pal@pagegraphicoptionscale \fi + \ifdefined\pal@pagegraphicoptionorientation + \let\pal@backcoveroptionpagegraphicorientation\pal@pagegraphicoptionorientation + \fi \ifdefined\pal@pagegraphicoptionhpos \let\pal@backcoveroptionpagegraphichpos\pal@pagegraphicoptionhpos \fi @@ -3299,7 +3569,7 @@ \ifnum\pal@contentcounter=\pal@placeholdercounter \def\pal@currentplaceholdertype{graphic} \def\pal@currentplaceholderoptions{} - \pgfkeys{graphic,file={#2},scale=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,#1} + \pgfkeys{graphic,file={#2},scale=1,orientation=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,#1} \ifcsname pal@graphic@#2\endcsname% \csname pal@graphic@#2\endcsname[2]{#1}% \fi @@ -3402,7 +3672,7 @@ \csname pal@graphic@##2\endcsname[2]{##1} \else \ifpal@template\else - \pgfkeys{graphic,file={##2},scale=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,##1} + \pgfkeys{graphic,file={##2},scale=1,orientation=1,vpos=0.5,hpos=0.5,unsharp=\pal@unsharp,##1} \fi \fi \fi @@ -3546,6 +3816,12 @@ \fi } \AtEndDocument{ + \ifnum\pal@breakabletextindex>0 + \loop + \advance\pal@breakabletextindex by -1 + \immediate\write\@auxout{\gdef\string\pal@breakable@\csname pal@breakabletext@name@\the\pal@breakabletextindex\endcsname{\csname pal@breakabletext@breakat@\csname pal@breakabletext@name@\the\pal@breakabletextindex\endcsname\endcsname}} + \ifnum\pal@breakabletextindex>0\repeat + \fi \ifpal@beginleft \ifpal@leftpage \pal@hasoddnumberofpagestrue @@ -3646,9 +3922,17 @@ \pal@errmsg@magicknotinstalled{Ppi not calculated} \else \ifdim\pal@originalgraphicwidth<\pal@originalgraphicheight - \pgfmathqparse{(\pal@originalgraphicwidth - \pal@cropleft - \pal@cropright) / \pal@originalgraphicwidth * \pal@graphicsize pt / \the\width * 72.27pt} + \ifnum\pal@graphicoptionorientation<5 + \pgfmathqparse{(\pal@originalgraphicwidth - \pal@cropleft - \pal@cropright) / \pal@originalgraphicwidth * \pal@graphicsize pt / \the\width * 72.27pt} + \else + \pgfmathqparse{(\pal@originalgraphicheight - \pal@croptop - \pal@cropbottom) / \pal@originalgraphicheight * \pal@graphicsize pt / \the\height * 72.27pt} + \fi \else - \pgfmathqparse{(\pal@originalgraphicheight - \pal@croptop - \pal@cropbottom) / \pal@originalgraphicheight * \pal@graphicsize pt / \the\height * 72.27pt} + \ifnum\pal@graphicoptionorientation<5 + \pgfmathqparse{(\pal@originalgraphicheight - \pal@croptop - \pal@cropbottom) / \pal@originalgraphicheight * \pal@graphicsize pt / \the\height * 72.27pt} + \else + \pgfmathqparse{(\pal@originalgraphicwidth - \pal@cropleft - \pal@cropright) / \pal@originalgraphicwidth * \pal@graphicsize pt / \the\width * 72.27pt} + \fi \fi \pgfmathint{\pgfmathresult} @@ -3659,7 +3943,11 @@ \immediate\closein\pal@scriptresult } \newcommand\pal@optimizegraphic[2]{ - \immediate\openin\pal@scriptresult={|pagelayoutapi optimize\% "#1#2" \% "\pal@filename" \%\pal@optimizedext\%\the\numexpr\pal@originalgraphicwidth\%\the\numexpr\pal@originalgraphicheight\%\the\numexpr\pal@cropleft\%\the\numexpr\pal@cropright\%\the\numexpr\pal@croptop\%\the\numexpr\pal@cropbottom\%\the\numexpr\pal@density\%\the\numexpr\width\%\the\numexpr\height\%\pal@downsamplethreshold\%\pal@graphicoptionunsharp\%\pal@quality} + \ifnum\pal@graphicoptionorientation<5 + \immediate\openin\pal@scriptresult={|pagelayoutapi optimize\% "#1#2" \% "\pal@filename" \%\pal@optimizedext\%\the\numexpr\pal@originalgraphicwidth\%\the\numexpr\pal@originalgraphicheight\%\the\numexpr\pal@cropleft\%\the\numexpr\pal@cropright\%\the\numexpr\pal@croptop\%\the\numexpr\pal@cropbottom\%\the\numexpr\pal@density\%\the\numexpr\width\%\the\numexpr\height\%\pal@downsamplethreshold\%\pal@graphicoptionunsharp\%\pal@quality} + \else + \immediate\openin\pal@scriptresult={|pagelayoutapi optimize\% "#1#2" \% "\pal@filename" \%\pal@optimizedext\%\the\numexpr\pal@originalgraphicheight\%\the\numexpr\pal@originalgraphicwidth\%\the\numexpr\pal@cropbottom\%\the\numexpr\pal@croptop\%\the\numexpr\pal@cropleft\%\the\numexpr\pal@cropright\%\the\numexpr\pal@density\%\the\numexpr\height\%\the\numexpr\width\%\pal@downsamplethreshold\%\pal@graphicoptionunsharp\%\pal@quality} + \fi \ifeof\pal@scriptresult \pal@errmsg@shellaccessforbidden{File not optimized} \else @@ -3676,8 +3964,8 @@ \fi \immediate\closein\pal@scriptresult } -\newcommand\pal@makeshadow[1]{ - \immediate\openin\pal@scriptresult={|pagelayoutapi makeshadow\%#1\%\pal@defaultshadowsize\%\pal@defaultshadowopacity\%\pal@defaultshadowcolor\%\the\pal@frameshadowwidth\%\the\pal@frameshadowheight\%\the\pal@frameshadowframewidth\%\the\pal@frameshadowframeheight\%\the\pal@frameshadowborder\%\the\pal@frameshadowradius} +\newcommand\pal@makeshadow[2]{ + \immediate\openin\pal@scriptresult={|pagelayoutapi makeshadow\%#1\%\pal@defaultshadowsize\%\pal@defaultshadowopacity\%#2\%\the\pal@frameshadowwidth\%\the\pal@frameshadowheight\%\the\pal@frameshadowframewidth\%\the\pal@frameshadowframeheight\%\the\pal@frameshadowborder\%\the\pal@frameshadowradius} \ifeof\pal@scriptresult \edef\pal@processresult{\pal@err@shellaccessforbidden} \pal@errmsg@shellaccessforbidden{Shadow not created} @@ -3724,7 +4012,11 @@ \immediate\closein\pal@scriptresult } \newcommand\pal@addtobatchlist[2]{ - \global\edef\pal@batchlist{\pal@batchlist\% "#1#2" \% "\pal@filename" \%\pal@optimizedext\%\the\numexpr\pal@originalgraphicwidth\%\the\numexpr\pal@originalgraphicheight\%\the\numexpr\pal@cropleft\%\the\numexpr\pal@cropright\%\the\numexpr\pal@croptop\%\the\numexpr\pal@cropbottom\%\the\numexpr\pal@density\%\the\numexpr\width\%\the\numexpr\height\%\pal@downsamplethreshold\%\pal@graphicoptionunsharp\%\pal@quality} + \ifnum\pal@graphicoptionorientation<5 + \global\edef\pal@batchlist{\pal@batchlist\% "#1#2" \% "\pal@filename" \%\pal@optimizedext\%\the\numexpr\pal@originalgraphicwidth\%\the\numexpr\pal@originalgraphicheight\%\the\numexpr\pal@cropleft\%\the\numexpr\pal@cropright\%\the\numexpr\pal@croptop\%\the\numexpr\pal@cropbottom\%\the\numexpr\pal@density\%\the\numexpr\width\%\the\numexpr\height\%\pal@downsamplethreshold\%\pal@graphicoptionunsharp\%\pal@quality} + \else + \global\edef\pal@batchlist{\pal@batchlist\% "#1#2" \% "\pal@filename" \%\pal@optimizedext\%\the\numexpr\pal@originalgraphicheight\%\the\numexpr\pal@originalgraphicwidth\%\the\numexpr\pal@cropbottom\%\the\numexpr\pal@croptop\%\the\numexpr\pal@cropleft\%\the\numexpr\pal@cropright\%\the\numexpr\pal@density\%\the\numexpr\height\%\the\numexpr\width\%\pal@downsamplethreshold\%\pal@graphicoptionunsharp\%\pal@quality} + \fi } \newcommand\pal@batchoptimize{ \immediate\openin\pal@scriptresult={|pagelayoutapi batchoptimize\pal@batchlist} diff --git a/macros/latex/contrib/preview/preview.dtx b/macros/latex/contrib/preview/preview.dtx index c68ea26425..f8b72e0522 100644 --- a/macros/latex/contrib/preview/preview.dtx +++ b/macros/latex/contrib/preview/preview.dtx @@ -3,7 +3,7 @@ %% Developed as part of AUCTeX . % % Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, -% 2010, 2017-2023 Free Software Foundation +% 2010, 2017-2024 Free Software Foundation % % This program is free software; you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by @@ -437,8 +437,8 @@ %<*style> %<*!active> \NeedsTeXFormat{LaTeX2e} -\def\pr@version{13.2} -\def\pr@date{2023/01/17} +\def\pr@version{13.3} +\def\pr@date{2024/01/17} \ProvidesPackage{preview}[\pr@date\space \pr@version\space (AUCTeX/preview-latex)] % \end{macrocode} % \end{macro} diff --git a/macros/latex/contrib/preview/preview.pdf b/macros/latex/contrib/preview/preview.pdf index 294804eae8..4728d12e42 100644 Binary files a/macros/latex/contrib/preview/preview.pdf and b/macros/latex/contrib/preview/preview.pdf differ diff --git a/macros/latex/contrib/pythonimmediate/README b/macros/latex/contrib/pythonimmediate/README index 43c413e62c..9a6d7b9e1a 100644 --- a/macros/latex/contrib/pythonimmediate/README +++ b/macros/latex/contrib/pythonimmediate/README @@ -7,7 +7,7 @@ Report bugs at https://github.com/user202729/pythonimmediate-tex ======== -Copyright 2022-2023 user202729 +Copyright 2022-2024 user202729 This work may be distributed and/or modified under the conditions of the LaTeX Project Public License (LPPL), either version 1.3c of this license or diff --git a/macros/latex/contrib/pythonimmediate/pythonimmediate.pdf b/macros/latex/contrib/pythonimmediate/pythonimmediate.pdf index 5b8bf34442..cfcc852434 100644 Binary files a/macros/latex/contrib/pythonimmediate/pythonimmediate.pdf and b/macros/latex/contrib/pythonimmediate/pythonimmediate.pdf differ diff --git a/macros/latex/contrib/pythonimmediate/pythonimmediate.sty b/macros/latex/contrib/pythonimmediate/pythonimmediate.sty index 4556973831..1e632aba96 100644 --- a/macros/latex/contrib/pythonimmediate/pythonimmediate.sty +++ b/macros/latex/contrib/pythonimmediate/pythonimmediate.sty @@ -1,5 +1,5 @@ % File: pythonimmediate.sty -% Copyright 2022-2023 user202729 +% Copyright 2022-2024 user202729 % % This work may be distributed and/or modified under the conditions of the % LaTeX Project Public License (LPPL), either version 1.3c of this license or @@ -12,9 +12,10 @@ % % The Current Maintainer of this work is user202729. -\ProvidesExplPackage{pythonimmediate}{2023/03/07}{0.4.0}{Library to run Python code} +\ProvidesExplPackage{pythonimmediate}{2024/01/18}{0.5.0}{Library to run Python code} \RequirePackage{saveenv} +\PassOptionsToPackage{abspath}{currfile} % try to enable abspath if possible (i.e. if package isn't loaded) but otherwise don't give option-clash error \RequirePackage{currfile} \RequirePackage{l3keys2e} \RequirePackage{precattl} @@ -110,11 +111,14 @@ \bool_if:NTF \_pythonimmediate_child_process { \newwrite \_pythonimmediate_write_file - %\immediate\openout \_pythonimmediate_write_file=symlink-to-stderr.txt~ - % tried this method, it seems to work except that it's buffered when stderr is redirected to a file... - \immediate\openout \_pythonimmediate_write_file=|"\_pythonimmediate_python_executable \space \_pythonimmediate_python_flags \space -m ~ pythonimmediate.copy_to_stderr"~ - - + \sys_if_engine_luatex:TF { + % use Lua to write to stderr + \directlua{ (require "pythonimmediate_helper")() } + } { + %\immediate\openout \_pythonimmediate_write_file=symlink-to-stderr.txt~ + % tried this method, it seems to work except that it's buffered when stderr is redirected to a file... + \immediate\openout \_pythonimmediate_write_file=|"\_pythonimmediate_python_executable \space \_pythonimmediate_python_flags \space -m ~ pythonimmediate.copy_to_stderr"~ + } } { \sys_if_engine_luatex:TF { diff --git a/macros/latex/contrib/pythonimmediate/pythonimmediate.tex b/macros/latex/contrib/pythonimmediate/pythonimmediate.tex index 539a770fc2..9e6b0c1d8b 100644 --- a/macros/latex/contrib/pythonimmediate/pythonimmediate.tex +++ b/macros/latex/contrib/pythonimmediate/pythonimmediate.tex @@ -1,4 +1,4 @@ -\ProvidesFile{pythonimmediate.tex}[2023/03/07 0.4.0 Library to run Python code] +\ProvidesFile{pythonimmediate.tex}[2024/01/18 0.5.0 Library to run Python code] \RequirePackage{fvextra} \documentclass{l3doc} \usepackage{tikz} @@ -6,7 +6,8 @@ \usetikzlibrary{arrows.meta} \EnableCrossrefs \CodelineIndex -\fvset{breaklines=true,gobble=0,tabsize=4,frame=single,numbers=left,numbersep=3pt} +\fvset{breaklines=true,breakanywhere,gobble=0,tabsize=4,frame=single,numbers=left,numbersep=3pt} +\usepackage{cleveref} \AtBeginDocument{\DeleteShortVerb\"} % https://tex.stackexchange.com/a/650966/250119 \MakeOuterQuote{"} @@ -17,6 +18,7 @@ \begin{document} +\hfuzz=15pt % hack to make quotes inside |...| straight \edef\temp{\def\noexpand|{\noexpand\Verb\string|}}\temp @@ -53,7 +55,7 @@ In addition to the \LaTeX\ package, you need the Python \pkg{pythonimmediate-tex installation instruction can be found at \url{https://pypi.org/project/pythonimmediate-tex/}. Note that not all \TeX\ package versions are compatible with all Python package versions. -This \TeX\ package is compatible with Python package version |0.4.0|. +This \TeX\ package is compatible with Python package version |0.6.0|. Remember to enable unrestricted\footnote{ There's little point in supporting restricted mode, since it's possible to execute arbitrary shell commands in Python anyway. @@ -73,39 +75,43 @@ Instruction: \begin{itemize} \item Download the following files and place it in the root folder of Overleaf: \begin{itemize} - \item \file{saveenv.sty} - \item \file{precattl.sty} \item \file{pythonimmediate.sty} \item \file{pythonimmediate_helper.lua} - \item \file{pythonimmediate-tex-0.4.0.zip} + \item \file{pythonimmediate-tex-0.6.0.zip} \end{itemize} - The |0.4.0| part should be replaced with the desired version + The |0.6.0| part should be replaced with the desired version of the Python package. The |.sty| files can be downloaded from CTAN at - \url{https://ctan.org/pkg/saveenv}, - \url{https://ctan.org/pkg/precattl}, - \url{https://ctan.org/pkg/pythonimmediate} - respectively. + \url{https://ctan.org/pkg/pythonimmediate}. The |.zip| file containing Python source code can be downloaded from PyPI: \url{https://pypi.org/project/pythonimmediate-tex/\#files}. + Remark: Currently the \LaTeX\ package version 0.4.0 is included in \TeX\ Live 2023, you would need to download \LaTeX\ version 0.5.0 from CTAN. + + \item In older \TeX\ Live versions (2022 or less), you will in addition need to download the following files: + \begin{itemize} + \item \file{saveenv.sty} (from \url{https://ctan.org/pkg/saveenv}), + \item \file{precattl.sty} (from \url{https://ctan.org/pkg/precattl}). + \end{itemize} + Also place in the root folder of Overleaf. + \item Write the following in the preamble: \begin{verbatim} \usepackage[abspath]{currfile} -\usepackage[python-executable={PYTHONPATH=pythonimmediate-tex-0.4.0.zip/pythonimmediate-tex-0.4.0/ python3},args={--mode=unnamed-pipe}]{pythonimmediate} +\usepackage[python-executable={PYTHONPATH=pythonimmediate-tex-0.6.0.zip/pythonimmediate-tex-0.6.0/ python3},args={--mode=unnamed-pipe}]{pythonimmediate} \end{verbatim} -As above, replace both occurrences of |0.4.0| with the downloaded version specified in the zip file above. +As above, replace both occurrences of |0.6.0| with the downloaded version specified in the zip file above. -Refer to \ref{troubleshoot-source-file-not-found} for explanation of the |abspath| option. +Refer to \cref{troubleshoot-source-file-not-found} for explanation of the |abspath| option. \end{itemize} For some unknown reason in the default mode on Overleaf (|\nonstopmode|), when there's an error the log file might be truncated, so in that case consider writing |\errorstopmode|. -Refer to \ref{troubleshoot-Python-error} to read the error traceback in case of Python error. +Refer to \cref{troubleshoot-Python-error} to read the error traceback in case of Python error. Some construct inside the |pycode| block might make the code editor on Overleaf report an error, even though the code is valid. Refer to \url{https://www.overleaf.com/learn/how-to/Code_Check#Code_Check_Limitations}. @@ -131,7 +137,7 @@ The documentation is also available at The name/path to the Python executable. Default to |python3|. Can also be used to provide environment variables to the Python process. -An example how to do that is explained in \ref{installation-on-overleaf}. +An example how to do that is explained in \cref{installation-on-overleaf}. \DescribeOption{python-flags=} Flags to be passed to the Python interpreter. For example pass |-O| to disable assertions. @@ -202,7 +208,7 @@ Execute some Python code provided as an argument (the argument will be interpret The command is not expandable -- roughly speaking, you can only use this at "top level". -Any output (as described in \ref{print-to-TeX}) will be typesetted. +Any output (as described in \cref{print-to-TeX}) will be typesetted. The difference between |\py| and |\pyc| is that the argument of |\py| should be a Python expression (suitable for passing into |eval()| Python function) while the argument of |\pyc| should be a Python @@ -217,7 +223,7 @@ Therefore, \end{itemize} \DescribeMacro{\pycq} -Same as above, but output (\ref{print-to-TeX}) will not be typesetted. +Same as above, but output (\cref{print-to-TeX}) will not be typesetted. \DescribeMacro{\pyfile} Given an argument being the file name, execute that file. @@ -240,7 +246,7 @@ pythonimmediate.print("123") Special note: white spaces at the end of lines are preserved. -Any output (as described in \ref{print-to-TeX}) will be typesetted. +Any output (as described in \cref{print-to-TeX}) will be typesetted. \DescribeEnv{pycodeq} Same as above, but output will not be typesetted. @@ -366,7 +372,7 @@ $f(x)=1$, $f_i(x)=2$, $f_{ij}(x)=3$ \DescribePython{.get_arg_estr()} \DescribePython{.get_optional_arg_estr()} Similar to some functions above, except that the argument is fully expanded and "escapes" of common characters are handled correctly, -similar to how |\py| command (\ref{py-command}) reads its arguments. +similar to how |\py| command (\cref{py-command}) reads its arguments. \DescribePython{.execute()} Takes a string and execute it immediately. (so that any |.execute()| will be executed before any |.print_TeX()|) @@ -398,6 +404,11 @@ and as the second line throws an error, the Python traceback will point to that \section{Troubleshooting} +\subsection{"Incompatible TeX package version" error message}\label{troubleshoot-incompatible-version} +Exactly what it means. You can upgrade both the Python package and the TeX package to the latest version. + +Alternatively, you can also \emph{downgrade} whichever package that is newer. For instance, Python package version 0.5.0 (download from \url{https://pypi.org/project/pythonimmediate-tex/0.5.0/#files}) is compatible with \LaTeX\ package version 0.4.0. + \subsection{"Source file not found!" error message}\label{troubleshoot-source-file-not-found} In order to obtain the exact code with trailing spaces and produce error traceback diff --git a/macros/latex/contrib/pythonimmediate/pythonimmediate_helper.lua b/macros/latex/contrib/pythonimmediate/pythonimmediate_helper.lua index 8590233242..f5c54c1239 100644 --- a/macros/latex/contrib/pythonimmediate/pythonimmediate_helper.lua +++ b/macros/latex/contrib/pythonimmediate/pythonimmediate_helper.lua @@ -1,20 +1,125 @@ return function(cmd) - local process = io.popen(cmd, "w") + -- as mentioned in the .sty file this allows explicit flush after each write + -- it's not easy to eliminate having to spawn 2 Python processes even with Lua https://stackoverflow.com/questions/8716527/interactive-popen-lua-call + + + -- if this is a child process, should write to stderr, in which case cmd will be nil + local send_content + if cmd==nil then + send_content=function(str) + io.stderr:write(str.."\n") + io.stderr:flush() + end + else + process = io.popen(cmd, "w") + send_content=function(str) + process:write(str.."\n") + process:flush() + end + end local function_table=lua.get_functions_table() -- https://tex.stackexchange.com/questions/632408/how-can-i-exclude-tex-macros-when-counting-a-strings-characters-in-lua/632464?noredirect=1#comment1623008_632464 this only work in Lua 5.3 or assume it's allocated sequentially local send_content_index=#function_table+1 function_table[send_content_index]=function() - process:write(token.scan_string()) - process:write("\n") - process:flush() - end - - local close_index=#function_table+1 - function_table[close_index]=function() - process:close() - end - - tex.print([[\protected \luadef \_pythonimmediate_send_content:e ]] .. send_content_index .. [[\protected \luadef \_pythonimmediate_close_write: ]] .. close_index .. [[\relax]]) - end + send_content(token.scan_string()) + end + + local close_index=#function_table+1 + function_table[close_index]=function() + process:close() + end + + local bgroup=token.create(0x7b, 1) + local egroup=token.create(0x7d, 2) + + token.put_next( + bgroup, + token.create("ifodd"), + token.create(0x31, 12), + token.create("fi"), + egroup + ) + local frozen_relax_tok=token.scan_toks(false, true)[1].tok + local null_cs_tok=0x20000000 -- \csname\endcsname + + local cmdname_to_type={ + left_brace="1", + right_brace="2", + math_shift="3", + tab_mark ="4", + mac_param ="6", + sup_mark ="7", + sub_mark ="8", + spacer ="A", + letter ="B", + other_char="C", + } + local function serialize(tl) + local result={} + for _, v in ipairs(tl) do + local s -- serialized result of v + local function handle_character(cat, index, char) + if index<32 then + s="^"..cat..utf8.char(index+64) + else + s=cat..char + end + end + if v.csname~=nil then + if v.active then + handle_character("D", utf8.codepoint(v.csname), v.csname) + elseif v.tok==frozen_relax_tok then + s="R" + elseif v.tok==null_cs_tok then + s="\\ " + else + local c=v.csname + s="" + for i=1, #c do + if c:byte(i)<33 then s=s.."*" end + end + s="\\" + for i=1, #c do + if c:byte(i)<33 then + s=s.." "..string.char(c:byte(i)+64) + else + s=s..c:sub(i,i) + end + end + s=s.." " + end + else + assert(cmdname_to_type[v.cmdname]~=nil) + handle_character(cmdname_to_type[v.cmdname], v.mode, utf8.char(v.mode)) + end + result[#result+1]=s + end + return table.concat(result) + end + + local serialize_index=#function_table+1 + function_table[serialize_index]=function() + local result_token=token.get_next() + assert(result_token.csname~=nil and not result_token.active) + local tl=token.scan_toks() + --token.set_macro(-2, result_token.csname, table.concat(result)) + tex.sprint{token.create "def", result_token, bgroup} + tex.sprint(-2, serialize(tl)) + tex.sprint(egroup) + end + + local send_balanced_index=#function_table+1 + function_table[send_balanced_index]=function() + local tl=token.scan_toks() + send_content(serialize(tl)) + end + + tex.print( + [[\protected \luadef \_pythonimmediate_send_content:e ]] .. send_content_index .. + [[\protected \luadef \_pythonimmediate_close_write: ]] .. close_index .. + [[\protected \luadef \_pythonimmediate_tlserialize_nodot_unchecked:Nn ]] .. serialize_index .. + [[\protected \luadef \_pythonimmediate_send_balanced_tl:n ]] .. send_balanced_index .. + [[\relax]]) +end diff --git a/macros/latex/contrib/runcode/README b/macros/latex/contrib/runcode/README index 6075685680..4216dbceea 100644 --- a/macros/latex/contrib/runcode/README +++ b/macros/latex/contrib/runcode/README @@ -1,4 +1,4 @@ -LaTeX Package: runcode 2023/09/08 v2.2 +LaTeX Package: runcode 2024/01/12 v2.3 ---------------------------------------- The runcode package enables the execution of source code (e.g., R, Julia, Matlab, shell, Python, etc.) and embed the results in the pdf file diff --git a/macros/latex/contrib/runcode/runcode.pdf b/macros/latex/contrib/runcode/runcode.pdf index 0a2d35f5e0..9d91e7e7c9 100644 Binary files a/macros/latex/contrib/runcode/runcode.pdf and b/macros/latex/contrib/runcode/runcode.pdf differ diff --git a/macros/latex/contrib/runcode/runcode.sty b/macros/latex/contrib/runcode/runcode.sty index 06c3d346e0..0e1f8014d3 100644 --- a/macros/latex/contrib/runcode/runcode.sty +++ b/macros/latex/contrib/runcode/runcode.sty @@ -4,7 +4,7 @@ % % This package is based on an ongoing work by Haim Bar and HaiYing Wang, and comments and questions are welcome! -\ProvidesPackage{runcode}[2023/09/08 runcode v2.2] +\ProvidesPackage{runcode}[2024/01/12 runcode v2.3] \def \langs {} @@ -424,10 +424,9 @@ \newcommand{\runcmd}[2] {python3 -c 'from talk2stat.talk2stat import client; client("./","#1",#2)'} -% R -% It will be used as a template for other languages -\newcommand{\LANG}{R} -\newcommand{\LANGcmd}{R} +% a generic LANG - it will be used as a template for other languages +\newcommand{\LANG}{LANG} +\newcommand{\LANGcmd}{LANGcmd} \expandafter\NewDocumentCommand\csname run\LANG\endcsname {O{} m m O{}} @@ -451,6 +450,7 @@ {\inln{\runcmd{\LANGcmd}{"\tmpname.txt"}}{#2}[#3][#4]} } {\inln{#1}{#2}[#3][#4]} + \unskip\unskip\unskip } \expandafter\NewDocumentCommand\csname run\LANG Chunk\endcsname @@ -459,46 +459,59 @@ {\csname run\LANG IncOut\endcsname[#1]{\generated/#2-#3.txt}[#4][#2-#3][#6]} } +% R +\NewDocumentCommand{\runR}{O{} m m O{}} +{{\renewcommand{\LANGcmd}{R}\runLANG[#1]{#2}{#3}[#4]}} + +\NewDocumentCommand{\runRIncOut}{O{} m O{} O{} O{vbox}} +{{\renewcommand{\LANGcmd}{R}\runLANGIncOut[#1]{#2}[#3][#4][#5]}} + +\NewDocumentCommand{\inlnR}{O{} m O{} O{inline}} +{{\renewcommand{\LANGcmd}{R}\inlnLANG[#1]{#2}[#3][#4]}} + +\NewDocumentCommand{\runRChunk}{O{} m m O{} O{} O{vbox}} +{{\renewcommand{\LANGcmd}{R}\runLANGChunk[#1]{#2}{#3}[#4][#5][#6]}} + % Julia \NewDocumentCommand{\runJulia}{O{} m m O{}} -{\renewcommand{\LANGcmd}{julia} \runR[#1]{#2}{#3}[#4]} +{{\renewcommand{\LANGcmd}{julia}\runLANG[#1]{#2}{#3}[#4]}} \NewDocumentCommand{\runJuliaIncOut}{O{} m O{} O{} O{vbox}} -{\renewcommand{\LANGcmd}{julia} \runRIncOut[#1]{#2}[#3][#4][#5]} +{{\renewcommand{\LANGcmd}{julia}\runLANGIncOut[#1]{#2}[#3][#4][#5]}} \NewDocumentCommand{\inlnJulia}{O{} m O{} O{inline}} -{\renewcommand{\LANGcmd}{julia} \inlnR[#1]{#2}[#3][#4]} +{{\renewcommand{\LANGcmd}{julia}\inlnLANG[#1]{#2}[#3][#4]}} \NewDocumentCommand{\runJuliaChunk}{O{} m m O{} O{} O{vbox}} -{\renewcommand{\LANGcmd}{julia} \runRChunk[#1]{#2}{#3}[#4][#5][#6]} +{{\renewcommand{\LANGcmd}{julia}\runLANGChunk[#1]{#2}{#3}[#4][#5][#6]}} % Matlab \NewDocumentCommand{\runMatLab}{O{} m m O{}} -{\renewcommand{\LANGcmd}{matlab} \runR[#1]{#2}{#3}[#4]} +{{\renewcommand{\LANGcmd}{matlab}\runLANG[#1]{#2}{#3}[#4]}} \NewDocumentCommand{\runMatLabIncOut}{O{} m O{} O{} O{vbox}} -{\renewcommand{\LANGcmd}{matlab} \runRIncOut[#1]{#2}[#3][#4][#5]} +{{\renewcommand{\LANGcmd}{matlab}\runLANGIncOut[#1]{#2}[#3][#4][#5]}} \NewDocumentCommand{\inlnMatLab}{O{} m O{} O{inline}} -{\renewcommand{\LANGcmd}{matlab} \inlnR[#1]{#2}[#3][#4]} +{{\renewcommand{\LANGcmd}{matlab}\inlnLANG[#1]{#2}[#3][#4]}} \NewDocumentCommand{\runMatLabChunk}{O{} m m O{} O{} O{vbox}} -{\renewcommand{\LANGcmd}{matlab} \runRChunk[#1]{#2}{#3}[#4][#5][#6]} +{{\renewcommand{\LANGcmd}{matlab}\runLANGChunk[#1]{#2}{#3}[#4][#5][#6]}} % Python \NewDocumentCommand{\runPython}{O{} m m O{}} -{\renewcommand{\LANGcmd}{python} \runR[#1]{#2}{#3}[#4]} +{{\renewcommand{\LANGcmd}{python}\runLANG[#1]{#2}{#3}[#4]}} \NewDocumentCommand{\runPythonIncOut}{O{} m O{} O{} O{vbox}} -{\renewcommand{\LANGcmd}{python} \runRIncOut[#1]{#2}[#3][#4][#5]} +{{\renewcommand{\LANGcmd}{python}\runLANGIncOut[#1]{#2}[#3][#4][#5]}} \NewDocumentCommand{\inlnPython}{O{} m O{} O{inline}} -{\renewcommand{\LANGcmd}{python} \inlnR[#1]{#2}[#3][#4]} +{{\renewcommand{\LANGcmd}{python}\inlnLANG[#1]{#2}[#3][#4]}} \NewDocumentCommand{\runPythonChunk}{O{} m m O{} O{} O{vbox}} -{\renewcommand{\LANGcmd}{python} \runRChunk[#1]{#2}{#3}[#4][#5][#6]} +{{\renewcommand{\LANGcmd}{python}\runLANGChunk[#1]{#2}{#3}[#4][#5][#6]}} %%%%%%%% diff --git a/macros/latex/contrib/runcode/runcode.tex b/macros/latex/contrib/runcode/runcode.tex index 23f833bdf5..fb1fd2530e 100644 --- a/macros/latex/contrib/runcode/runcode.tex +++ b/macros/latex/contrib/runcode/runcode.tex @@ -1,4 +1,4 @@ -% LaTeX Package: runcode 2023/09/08 v2.2 +% LaTeX Package: runcode 2024/01/12 v2.3 % % Copyright (C) 2020-2023 by Haim Bar and HaiYing Wang % @@ -49,7 +49,7 @@ package’s github repository, at \url{https://github.com/Ossifragus/runcode}. \end{abstract} \section{Installation} -\label{sec:org6031edc} +\label{sec:orgbc0a4bf} You can simply put the runcode.sty file in the \LaTeX{} project folder. The server mode requires the @@ -65,9 +65,9 @@ compiling a \LaTeX{} document. \section{Usage} -\label{sec:org46d9194} +\label{sec:org6167b11} \subsection{Load the package:} -\label{sec:orgdf4d2a5} +\label{sec:orgc46beda} \begin{minted}[]{latex} \usepackage[options]{runcode} \end{minted} @@ -139,7 +139,7 @@ be customized with \texttt{\textbackslash{}tcbset}, \end{minted} \subsection{Basic commands:} -\label{sec:org1eb4192} +\label{sec:org9029154} \begin{itemize} \item \texttt{\textbackslash{}runExtCode\{Arg1\}\{Arg2\}\{Arg3\}[Arg4]} runs an external code. @@ -223,7 +223,7 @@ default \texttt{label==} and \texttt{===end}. \subsection{Extended commands:} -\label{sec:org2e715a7} +\label{sec:orgf48d3c2} \begin{itemize} \item \texttt{\textbackslash{}runCodeIncOut\{Arg1\}\{Arg2\}[Arg3][Arg4][Arg5]} runs an external code and embeds the output. This is a combination of \texttt{\textbackslash{}runExtCode} and \texttt{\textbackslash{}includeOutput}. @@ -240,7 +240,7 @@ functionality is the same as that of \texttt{Arg3} of \texttt{\textbackslash{}in \end{itemize} \subsection{Language specific shortcuts:} -\label{sec:org04ff6f1} +\label{sec:org506ce7a} Replace \texttt{LANG} with \texttt{Julia}, \texttt{MatLab}, \texttt{Python}, or \texttt{R}, for the \href{https://julialang.org/}{Julia}, \href{https://www.mathworks.com/products/matlab.html}{MatLab}, \href{https://www.python.org/}{Python}, \href{https://www.r-project.org/}{R} language, respectively, for the following commands. @@ -305,8 +305,11 @@ installed via \texttt{pip3 install dill}. \section{Revisions} -\label{sec:orgae938b1} +\label{sec:orgb2671cf} \begin{itemize} +\item v2.3, January 12, 2024: two bug fixes (1. removed an extra space after +\texttt{\textbackslash{}inlnX}; 2. when an underscore appeared inside R code, the tex file would +compile with an error). \item v2.2, September 8, 2023: add \texttt{\textbackslash{}showChunk} basic command and \texttt{\textbackslash{}runLANGChunk} commands for multiple languages. \item v2.1, June 30, 2023: detokenize code which is passed to \texttt{\textbackslash{}inln}. This is @@ -341,7 +344,7 @@ code files, zero bytes in output files.) \end{itemize} \section{Contributing} -\label{sec:org9eb0902} +\label{sec:org3c84ea7} We welcome your contributions to this package by opening issues on GitHub and/or making a pull request. We also appreciate more example documents written using \texttt{runcode}. diff --git a/macros/latex/contrib/unicode-math-input/README b/macros/latex/contrib/unicode-math-input/README index 5533cf6261..c4682e9852 100644 --- a/macros/latex/contrib/unicode-math-input/README +++ b/macros/latex/contrib/unicode-math-input/README @@ -8,7 +8,7 @@ Report bugs at https://github.com/user202729/TeXlib ======== -Copyright 2022-2023 user202729 +Copyright 2022-2024 user202729 This work may be distributed and/or modified under the conditions of the LaTeX Project Public License (LPPL), either version 1.3c of this license or diff --git a/macros/latex/contrib/unicode-math-input/unicode-math-input-script.py b/macros/latex/contrib/unicode-math-input/unicode-math-input-script.py old mode 100644 new mode 100755 index a3dbbb4625..34fd90ff5b --- a/macros/latex/contrib/unicode-math-input/unicode-math-input-script.py +++ b/macros/latex/contrib/unicode-math-input/unicode-math-input-script.py @@ -1,6 +1,46 @@ #!/bin/python3 -# This file is not used while TeX is running. It's for generating unicode-math-input-table.tex file only. -# This requires pythonimmediate (not sure which version is compatible but commit 63f94476a5cb11e33db1215a9bf7c17657d9773d on Python 3.10.10 is) +""" +This file is not used while TeX is running. It's for generating unicode-math-input-table.tex file only. +This requires pythonimmediate (not sure which version is compatible but +commit 020068db8a966c138b5b0b93695c0fefdef03d0a on Python 3.11.3 is) + +To generate: run:: + python3 unicode-math-input-script.py > unicode-math-input-table.tex + +How does it work? + +The mapping is determined from multiple sources: + +* The unicode-math package itself, which defines a "command → Unicode character" mapping. + This does not always work because different TeX packages may name the command differently. + +* Synonym table, obtained by looking at STIX's command definition + +* TeX's glyph → unicode mapping (used to facilitate copy-paste in PDF), + e.g. /usr/share/texmf-dist/tex/generic/pdftex/glyphtounicode.tex + This should be good, but is currently not used. Furthermore, not all TeX commands are implemented by + getting a single character from a font... + +How does the Unicode mapping work? + +First there's the `pdftex.map` file, then there's umsa.cmap for msam10.tfm/afm/pfm/pfb/mf (metafont source file) + +/usr/share/texmf-dist/fonts/source/public/amsfonts/symbols/msam10.mf + /usr/share/texmf-dist/fonts/source/public/amsfonts/symbols/asymbols.mf + +/usr/share/texmf-dist/fonts/afm/public/amsfonts/symbols/msam10.afm +→ plaintext-looking file may work + +/usr/share/texmf-dist/fonts/tfm/public/amsfonts/symbols/msam10.tfm +/usr/share/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfm +/usr/share/texmf-dist/fonts/type1/public/amsfonts/symbols/msam10.pfb + +The glyphtounicode.tex may be a bit problematic... + https://tex.stackexchange.com/questions/66300/how-to-fix-missing-or-incorrect-mappings-from-glyphtounicode-tex + +See also: section 3.2 How to find a table of correspondences? in https://tex.stackexchange.com/a/628285/250119 + +""" from __future__ import annotations @@ -8,7 +48,8 @@ from pythonimmediate.engine import ChildProcessEngine from pythonimmediate.engine import default_engine from pythonimmediate import* import pythonimmediate -from collections import defaultdict +from collections import defaultdict, Counter +from itertools import groupby import os import json import subprocess @@ -25,11 +66,8 @@ print(r'% This file is automatically generated from unicode-math-input-script.py # ======== start a luatex engine -engine=ChildProcessEngine("luatex", env={**os.environ, "hash_extra": "0"}) # https://tex.stackexchange.com/questions/574607/tex-hashtokens-incomplete -default_engine.set_engine(engine) - -Catcode.active("a").meaning_str() +default_engine.set_engine(ChildProcessEngine("luatex", env={**os.environ, "hash_extra": "0"})) """ @@ -93,10 +131,108 @@ for line in lines: assert match unicode_char=chr(int(match[1], 16)) csname=match[2] - #unicode_math_table_.append(Item(unicode_char=unicode_char, csname=csname)) + #unicode_math_table_.append(Item(unicode_char=unicode_char, csname)) unicode_math_table_[unicode_char].append(csname) unicode_math_table={unicode_char: tuple(csnames) for unicode_char, csnames in unicode_math_table_.items()} +# ======== extract unicode-math synonyms + +def control_sequences()->list[str]: + return (lua_try_eval(r""" + do + local s={} + for k, v in pairs(tex.hashtokens()) do + if v:find("^[A-Za-z]+$") then + s[v]=0 + end + end + local t={} + for v, _ in pairs(s) do table.insert(t, v) end + return table.concat(t, "\x00") + end + """) or "").split("\x00") + +extra_synonyms_list: list[list[str]] = [ + ["adots", "iddots"], + ["unicodecdots", "cdots"], # https://github.com/wspr/unicode-math/issues/571 + ["unicodeellipsis", "ldots"], + #["llbracket", "lBrack"], + #["rrbracket", "rBrack"], + ] + + + + +c=control_sequences() +m={x: T[x].meaning_str() for x in c} + +pattern=re.compile(r'\\protected macro:->\\([A-Za-z]+) ?') + +extra_synonyms_list += [[c, match[1]] for c, m in m.items() + if (match:=pattern.fullmatch(m)) + ] + +def same_meaning_control_sequences(meaning: dict[str, str])->list[list[str]]: + return [ + l + for m, l0 in groupby(sorted(c, key=lambda x: meaning[x]), lambda x: meaning[x]) + if m!="undefined" + for l in [[*l0]] + if len(l)>=2 + ] + +extra_synonyms_list += same_meaning_control_sequences(m) + +# ======== extract amsmath&stix synonyms + + +m_values=[] +for preamble in [ +r""" +\documentclass{article} +\usepackage{amsmath} +\usepackage{amssymb} +\usepackage{amsfonts} +\begin{document} +""", +r""" +\documentclass{article} +\usepackage{stix} +\begin{document} +""" +]: + with ChildProcessEngine("luatex", env={**os.environ, "hash_extra": "0"}) as e, default_engine.set_engine(e): + execute(preamble) + c=control_sequences() + m={x: T[x].meaning_str() for x in c} + extra_synonyms_list += same_meaning_control_sequences(m) + m_values.append(m) +[amsmath_meaning, stix_meaning]=m_values +# ======== build extra_synonyms table + +while True: + tmp=Counter([x for l in extra_synonyms_list for x in l]) + [(item, frequency)]=tmp.most_common(1) + if frequency==1: break + assert frequency>1 + extra_synonyms_list=[ + # the group that contain item + [*{x for l in extra_synonyms_list if item in l for x in l}] + ] + [ + # remaining groups + l for l in extra_synonyms_list if item not in l] + + +extra_synonyms_list=sorted([sorted(l) for l in {frozenset( + item for item in l + if item not in ("dotsc", "dotsm", "dotsb", "dots") # some simple filtering -- we will just use \cdots and \ldots + ) for l in extra_synonyms_list} if len(l)>1]) # deduplicate + +tmp=Counter(sum(extra_synonyms_list, [])) +assert tmp.most_common()[0][1]==1, tmp + +extra_synonyms = {v: u for u in extra_synonyms_list for v in u} + # ======== check how much of the table is valid on unicode-math/luatex def getdelcode(x: str)->tuple[int, int, int, int]: @@ -289,11 +425,11 @@ math_alphabet_redundant_greek = { r"\Zeta" : "Z", } -extra_synonyms = {v: u for u in - [ - ["adots", "iddots"] - ] - for v in u} + +ASCII_symbol_synonym = { + "minus": "-", + "mid": "|", + } ## @@ -306,18 +442,27 @@ for i in range(ord("!"), ord("~")+1): if fullch in remaining_chars: remaining_chars.remove(fullch) print(r'\__umi_define_char{' + fullch + r'}{\char'+str(i)+' }') -defined_csnames = {x for l in unicode_math_table.values() for x in l} +defined_csnames = {x for l in unicode_math_table.values() for x in l} | {*stix_meaning} | {*amsmath_meaning} pdf_engine=ChildProcessEngine("pdftex") -execute(r""" +with default_engine.set_engine(pdf_engine): execute(r""" \documentclass{article} \usepackage{amsmath} \usepackage{amssymb} \usepackage{amsfonts} \usepackage{mathrsfs} \begin{document} -""", engine=pdf_engine) +""") + +def remove_not(a: str)->Optional[str]: + global defined_csnames + if a in (r"\ni", r"\nu"): return None + if a.startswith(r"\not") and a.removeprefix(r"\not") in defined_csnames: + return '\\' + a.removeprefix(r"\not") + elif a.startswith(r"\n") and a.removeprefix(r"\n") in defined_csnames: + return '\\' + a.removeprefix(r"\n") + else: return None for unicode_char, csnames_ in unicode_math_table.items(): csnames = [*csnames_] @@ -374,16 +519,18 @@ for unicode_char, csnames_ in unicode_math_table.items(): for csname in [*csnames]: if csname in extra_synonyms: csnames+=extra_synonyms[csname] - csnames=[*set(csnames)] + csnames=[*{csname: None for csname in csnames}] items1=[] for csname in csnames: if not is_delimiter: - assert "delimiter" not in T[csname].meaning_str(engine=pdf_engine), (unicode_char, csname) + with default_engine.set_engine(pdf_engine): + assert "delimiter" not in T[csname].meaning_str(), (unicode_char, csname) # that is the symbol is not a delimiter in pdf_engine either (check is not particularly reliable but okay) for prefix, replacement in math_alphabet_translate.items(): if csname.startswith(prefix): + assert csname not in ASCII_symbol_synonym cs = math_alphabet_csname_translation[csname.removeprefix(prefix)] def wrap_in_alphabet_selector(cs: str)->str: if replacement is None: return cs @@ -398,30 +545,39 @@ for unicode_char, csnames_ in unicode_math_table.items(): break else: items1.append("\\" + csname) + if csname in ASCII_symbol_synonym: items1+=ASCII_symbol_synonym[csname] + + assert items1 + if is_delimiter and len(items1)>1: + print("Warning: Synonym for delimiter not supported?", unicode_char, delimiter, items1, file=sys.stderr) + del items1[1:] if len(items1)==1: a = items1[0] - if a.startswith(r"\not") and a.removeprefix(r"\not") in defined_csnames: - assert not is_delimiter - b='\\' + a.removeprefix(r"\not") - print(f"\\__umi_define_char{{{optional_space}{unicode_char}}}{{\__umi_alternatives_not{a}{b}}}") - a.removeprefix(r"\not") - elif a.startswith(r"\n") and a.removeprefix(r"\n") in defined_csnames: + b = remove_not(a) + if b is not None: assert not is_delimiter - b='\\' + a.removeprefix(r"\n") print(f"\\__umi_define_char{{{optional_space}{unicode_char}}}{{\__umi_alternatives_not{a}{b}}}") - a.removeprefix(r"\n") else: if is_delimiter: print(f"\\__umi_define_char_maybe_delimiter{{{optional_space}{unicode_char}}}{{{a}}}") else: print(f"\\__umi_define_char{{{optional_space}{unicode_char}}}{{{a}}}") - else: - assert not is_delimiter, (unicode_char, delimiter) - assert len(items1)==2, items1 + elif len(items1)==2: assert re.fullmatch(r'\\[a-zA-Z]+', items1[0]), items1 - assert re.fullmatch(r'\\[a-zA-Z]+', items1[1]), items1 - print(f"\\__umi_define_char{{{optional_space}{unicode_char}}}{{\\__umi_alternatives{items1[0]}{items1[1]}}}") + assert re.fullmatch(r'\\[a-zA-Z]+|[^a-zA-Z]', items1[1]), items1 + b=remove_not(items1[0]) + if b is not None: + d=remove_not(items1[1]) + assert d is not None, items1 + print(f"\\__umi_define_char{{{optional_space}{unicode_char}}}{{\\__umi_alternatives_not_two{items1[0]}{items1[1]}{b}{d}}}") + else: + print(f"\\__umi_define_char{{{optional_space}{unicode_char}}}{{\\__umi_alternatives{items1[0]}{items1[1]}}}") + else: + assert len(items1)>=3, items1 + assert all(remove_not(x) is None for x in items1), items1 + assert all(re.fullmatch(r'\\[a-zA-Z]+', c) for c in items1), items1 + print(f"\\__umi_define_char{{{optional_space}{unicode_char}}}{{\\__umi_alternatives_m{{{''.join(items1)}}}}}") ## @@ -431,94 +587,12 @@ sys.exit() # ======== part below are draft. -T.longdivisionsign.meaning_str() - - - -T.mathexclam.meaning_str() - -T.symoperators.meaning_str() - -T.perp.meaning_str() - -umathcode[" ̅"[1]] - -BalancedTokenList(r'\the\Udelcode `̅').expand_o().int() - -x = BalancedTokenList(r'\the\Udelcode `!').expand_o().int() -print(hex(x)) - -hex(BalancedTokenList(r'\the\delcode `!').expand_o().int()) - - - - - -if 0: - - data = TokenList([r"\directlua", TokenList.fstr( - r""" - for k, v in pairs(tex.hashtokens()) do - tex.print(-2, v .. "\0") - end - """ - )]).expand_x().str() - control_sequences = data.split("\x00") - assert control_sequences[-1]=="" - del control_sequences[-1] - - -Path("/tmp/control_sequences.json").write_text(json.dumps(control_sequences)) # type: ignore -control_sequences = json.loads(Path("/tmp/control_sequences.json").read_text()) # type: ignore - - -Path("/tmp/control_sequences_unicode_math.json").write_text(json.dumps(control_sequences)) -control_sequences = json.loads(Path("/tmp/control_sequences_unicode_math.json").read_text()) -assert "mitrho" in control_sequences - -if 0: - # try some other random things - - control_sequences = data.split("\x00") - assert control_sequences[-1]=="" - del control_sequences[-1] - - - - BalancedTokenList(r'\the\Umathcode `′').expand_o().int() == 0x1000000 - - -control_sequences - -BalancedTokenList(r'\the\mathcode`⨁').expand_o().int() - -Catcode.active("⨁").meaning_str(engine=engine) - -Catcode.active("′").meaning_str(engine=engine) - -T.bigoplus_sym.meaning_str() - -T.bigoplusop.meaning_str() - -T.bigoplus.meaning_str() - - - -T.rho.meaning_str() - -T.mitrho.meaning_str() - -T.bigoplus.meaning_str() - -engine._stdout_lines[-100:] + [bytes(engine._stdout_buffer)] - - - -T.mscrA.meaning_str() - - +default_engine.set_engine(ChildProcessEngine("luatex", env={**os.environ, "hash_extra": "0"}, autorestart=True)) +execute(r'\documentclass{article}\usepackage{unicode-math}\begin{document}') +execute(r'\documentclass{article}\usepackage{amsmath,amssymb,amsfonts}\begin{document}') +execute(r'\documentclass{article}\usepackage{amsmath}\usepackage{amssymb}\usepackage{amsfonts}\usepackage{tikz}') @functools.lru_cache(maxsize=None) @@ -586,6 +660,3 @@ BalancedTokenList(r"\def\aa{bb}").execute(engine=test_engine) BalancedTokenList(r"\csname\noexpand\aa\endcsname").expand_o(engine=test_engine) # give error BalancedTokenList(r"\csname\string\aa\endcsname").expand_o(engine=test_engine) # \[\aa] as expected -T.iddots.meaning_str(engine=engine) - -T.adots.meaning_str(engine=engine) diff --git a/macros/latex/contrib/unicode-math-input/unicode-math-input-table.tex b/macros/latex/contrib/unicode-math-input/unicode-math-input-table.tex index 7ab364cedd..f72a488c86 100644 --- a/macros/latex/contrib/unicode-math-input/unicode-math-input-table.tex +++ b/macros/latex/contrib/unicode-math-input/unicode-math-input-table.tex @@ -96,12 +96,12 @@ \__umi_define_char{£}{\mathsterling} \__umi_define_char{¥}{\mathyen} \__umi_define_char{§}{\mathsection} -\__umi_define_char{¬}{\neg} +\__umi_define_char{¬}{\__umi_alternatives\neg\lnot} \__umi_define_char{±}{\pm} \__umi_define_char{¶}{\mathparagraph} -\__umi_define_char{·}{\cdotp} +\__umi_define_char{·}{\__umi_alternatives\cdotp\centerdot} \__umi_define_char{×}{\times} -\__umi_define_char{ð}{\matheth} +\__umi_define_char{ð}{\__umi_alternatives\matheth\eth} \__umi_define_char{÷}{\div} \__umi_define_char{Ƶ}{\Zbar} \__umi_define_char{Α}{\__umi_alternatives_iisafe\Alpha A} @@ -156,22 +156,22 @@ \__umi_define_char{ϑ}{\vartheta} \__umi_define_char{ϕ}{\phi} \__umi_define_char{ϖ}{\varpi} -\__umi_define_char{Ϝ}{\upDigamma} -\__umi_define_char{ϝ}{\updigamma} +\__umi_define_char{Ϝ}{\__umi_alternatives\upDigamma\Digamma} +\__umi_define_char{ϝ}{\__umi_alternatives\updigamma\digamma} \__umi_define_char{ϰ}{\varkappa} \__umi_define_char{ϱ}{\varrho} \__umi_define_char{ϴ}{\varTheta} \__umi_define_char{ϵ}{\epsilon} -\__umi_define_char{϶}{\upbackepsilon} +\__umi_define_char{϶}{\__umi_alternatives\upbackepsilon\backepsilon} \__umi_define_char{‐}{\mathhyphen} \__umi_define_char{―}{\horizbar} \__umi_define_char_maybe_delimiter{‖}{\Vert} \__umi_define_char{‗}{\twolowline} \__umi_define_char{†}{\dagger} \__umi_define_char{‡}{\ddagger} -\__umi_define_char{•}{\smblkcircle} +\__umi_define_char{•}{\__umi_alternatives_m{\smblkcircle\bullet\vysmblkcircle}} \__umi_define_char{‥}{\enleadertwodots} -\__umi_define_char{…}{\unicodeellipsis} +\__umi_define_char{…}{\__umi_alternatives\unicodeellipsis\ldots} \__umi_define_char{‸}{\caretinsert} \__umi_define_char{‼}{\Exclam} \__umi_define_char{⁀}{\tieconcat} @@ -191,7 +191,7 @@ \__umi_define_char{ℌ}{\umiMathfrak{H}} \__umi_define_char{ℍ}{\umiMathbb{H}} \__umi_define_char{ℎ}{\Planckconst} -\__umi_define_char{ℏ}{\hslash} +\__umi_define_char{ℏ}{\__umi_alternatives\hslash\hbar} \__umi_define_char{ℐ}{\umiMathscr{I}} \__umi_define_char{ℑ}{\Im} \__umi_define_char{ℒ}{\umiMathscr{L}} @@ -236,9 +236,9 @@ \__umi_define_char{ⅉ}{\umiMathbbit{j}} \__umi_define_char{⅊}{\PropertyLine} \__umi_define_char{⅋}{\upand} -\__umi_define_char{←}{\leftarrow} +\__umi_define_char{←}{\__umi_alternatives\leftarrow\gets} \__umi_define_char_maybe_delimiter{↑}{\uparrow} -\__umi_define_char{→}{\rightarrow} +\__umi_define_char{→}{\__umi_alternatives\rightarrow\to} \__umi_define_char_maybe_delimiter{↓}{\downarrow} \__umi_define_char{↔}{\leftrightarrow} \__umi_define_char_maybe_delimiter{↕}{\updownarrow} @@ -246,7 +246,7 @@ \__umi_define_char{↗}{\nearrow} \__umi_define_char{↘}{\searrow} \__umi_define_char{↙}{\swarrow} -\__umi_define_char{↚}{\__umi_alternatives_not\nleftarrow\leftarrow} +\__umi_define_char{↚}{\__umi_alternatives_not_two\nleftarrow\ngets\leftarrow\gets} \__umi_define_char{↛}{\__umi_alternatives_not\nrightarrow\rightarrow} \__umi_define_char{↜}{\leftwavearrow} \__umi_define_char{↝}{\rightwavearrow} @@ -313,7 +313,7 @@ \__umi_define_char{⇚}{\Lleftarrow} \__umi_define_char{⇛}{\Rrightarrow} \__umi_define_char{⇜}{\leftsquigarrow} -\__umi_define_char{⇝}{\rightsquigarrow} +\__umi_define_char{⇝}{\__umi_alternatives\rightsquigarrow\leadsto} \__umi_define_char_maybe_delimiter{⇞}{\nHuparrow} \__umi_define_char_maybe_delimiter{⇟}{\nHdownarrow} \__umi_define_char{⇠}{\leftdasharrow} @@ -344,39 +344,39 @@ \__umi_define_char{∂}{\partial} \__umi_define_char{∃}{\exists} \__umi_define_char{∄}{\__umi_alternatives_not\nexists\exists} -\__umi_define_char{∅}{\varnothing} +\__umi_define_char{∅}{\__umi_alternatives\varnothing\emptyset} \__umi_define_char{∆}{\increment} \__umi_define_char{∇}{\nabla} \__umi_define_char{∈}{\in} \__umi_define_char{∉}{\__umi_alternatives_not\notin\in} \__umi_define_char{∊}{\smallin} -\__umi_define_char{∋}{\ni} +\__umi_define_char{∋}{\__umi_alternatives\ni\owns} \__umi_define_char{∌}{\__umi_alternatives_not\nni\ni} \__umi_define_char{∍}{\smallni} \__umi_define_char{∎}{\QED} \__umi_define_char{∏}{\prod} \__umi_define_char{∐}{\coprod} \__umi_define_char{∑}{\sum} -\__umi_define_char{−}{\minus} +\__umi_define_char{−}{\__umi_alternatives\minus-} \__umi_define_char{∓}{\mp} \__umi_define_char{∔}{\dotplus} \__umi_define_char_maybe_delimiter{∕}{\divslash} \__umi_define_char{∖}{\smallsetminus} \__umi_define_char{∗}{\ast} -\__umi_define_char{∘}{\vysmwhtcircle} -\__umi_define_char{∙}{\vysmblkcircle} +\__umi_define_char{∘}{\__umi_alternatives_m{\vysmwhtcircle\circ\smwhtcircle}} +\__umi_define_char{∙}{\__umi_alternatives_m{\vysmblkcircle\bullet\smblkcircle}} \__umi_define_char{∝}{\propto} \__umi_define_char{∞}{\infty} \__umi_define_char{∟}{\rightangle} \__umi_define_char{∠}{\angle} \__umi_define_char{∡}{\measuredangle} \__umi_define_char{∢}{\sphericalangle} -\__umi_define_char{∣}{\mid} +\__umi_define_char{∣}{\__umi_alternatives\mid|} \__umi_define_char{∤}{\__umi_alternatives_not\nmid\mid} \__umi_define_char{∥}{\parallel} \__umi_define_char{∦}{\__umi_alternatives_not\nparallel\parallel} -\__umi_define_char{∧}{\wedge} -\__umi_define_char{∨}{\vee} +\__umi_define_char{∧}{\__umi_alternatives\wedge\land} +\__umi_define_char{∨}{\__umi_alternatives\vee\lor} \__umi_define_char{∩}{\cap} \__umi_define_char{∪}{\cup} \__umi_define_char{∫}{\int} @@ -404,7 +404,7 @@ \__umi_define_char{≁}{\__umi_alternatives_not\nsim\sim} \__umi_define_char{≂}{\eqsim} \__umi_define_char{≃}{\__umi_alternatives\simeq\sime} -\__umi_define_char{≄}{\__umi_alternatives\nsimeq\nsime} +\__umi_define_char{≄}{\__umi_alternatives_not_two\nsime\nsimeq\sime\simeq} \__umi_define_char{≅}{\cong} \__umi_define_char{≆}{\simneqq} \__umi_define_char{≇}{\__umi_alternatives_not\ncong\cong} @@ -417,7 +417,7 @@ \__umi_define_char{≎}{\Bumpeq} \__umi_define_char{≏}{\bumpeq} \__umi_define_char{≐}{\doteq} -\__umi_define_char{≑}{\Doteq} +\__umi_define_char{≑}{\__umi_alternatives\Doteq\doteqdot} \__umi_define_char{≒}{\fallingdotseq} \__umi_define_char{≓}{\risingdotseq} \__umi_define_char{≔}{\coloneq} @@ -432,12 +432,12 @@ \__umi_define_char{≝}{\eqdef} \__umi_define_char{≞}{\measeq} \__umi_define_char{≟}{\questeq} -\__umi_define_char{≠}{\ne} +\__umi_define_char{≠}{\__umi_alternatives\ne\neq} \__umi_define_char{≡}{\equiv} \__umi_define_char{≢}{\__umi_alternatives_not\nequiv\equiv} \__umi_define_char{≣}{\Equiv} -\__umi_define_char{≤}{\leq} -\__umi_define_char{≥}{\geq} +\__umi_define_char{≤}{\__umi_alternatives\leq\le} +\__umi_define_char{≥}{\__umi_alternatives\geq\ge} \__umi_define_char{≦}{\leqq} \__umi_define_char{≧}{\geqq} \__umi_define_char{≨}{\lneqq} @@ -448,8 +448,8 @@ \__umi_define_char{≭}{\__umi_alternatives_not\nasymp\asymp} \__umi_define_char{≮}{\__umi_alternatives_not\nless\less} \__umi_define_char{≯}{\ngtr} -\__umi_define_char{≰}{\__umi_alternatives_not\nleq\leq} -\__umi_define_char{≱}{\__umi_alternatives_not\ngeq\geq} +\__umi_define_char{≰}{\__umi_alternatives_not_two\nleq\nle\leq\le} +\__umi_define_char{≱}{\__umi_alternatives_not_two\ngeq\nge\geq\ge} \__umi_define_char{≲}{\lesssim} \__umi_define_char{≳}{\gtrsim} \__umi_define_char{≴}{\__umi_alternatives_not\nlesssim\lesssim} @@ -532,7 +532,7 @@ \__umi_define_char{⋁}{\bigvee} \__umi_define_char{⋂}{\bigcap} \__umi_define_char{⋃}{\bigcup} -\__umi_define_char{⋄}{\smwhtdiamond} +\__umi_define_char{⋄}{\__umi_alternatives\smwhtdiamond\diamond} \__umi_define_char{⋅}{\cdot} \__umi_define_char{⋆}{\star} \__umi_define_char{⋇}{\divideontimes} @@ -546,14 +546,14 @@ \__umi_define_char{⋏}{\curlywedge} \__umi_define_char{⋐}{\Subset} \__umi_define_char{⋑}{\Supset} -\__umi_define_char{⋒}{\Cap} -\__umi_define_char{⋓}{\Cup} +\__umi_define_char{⋒}{\__umi_alternatives\Cap\doublecap} +\__umi_define_char{⋓}{\__umi_alternatives\Cup\doublecup} \__umi_define_char{⋔}{\pitchfork} \__umi_define_char{⋕}{\equalparallel} \__umi_define_char{⋖}{\lessdot} \__umi_define_char{⋗}{\gtrdot} -\__umi_define_char{⋘}{\lll} -\__umi_define_char{⋙}{\ggg} +\__umi_define_char{⋘}{\__umi_alternatives\lll\llless} +\__umi_define_char{⋙}{\__umi_alternatives\ggg\gggtr} \__umi_define_char{⋚}{\lesseqgtr} \__umi_define_char{⋛}{\gtreqless} \__umi_define_char{⋜}{\eqless} @@ -575,8 +575,8 @@ \__umi_define_char{⋬}{\__umi_alternatives_not\ntrianglelefteq\trianglelefteq} \__umi_define_char{⋭}{\__umi_alternatives_not\ntrianglerighteq\trianglerighteq} \__umi_define_char{⋮}{\vdots} -\__umi_define_char{⋯}{\unicodecdots} -\__umi_define_char{⋰}{\__umi_alternatives\iddots\adots} +\__umi_define_char{⋯}{\__umi_alternatives\unicodecdots\cdots} +\__umi_define_char{⋰}{\__umi_alternatives\adots\iddots} \__umi_define_char{⋱}{\ddots} \__umi_define_char{⋲}{\disin} \__umi_define_char{⋳}{\varisins} @@ -673,8 +673,8 @@ \__umi_define_char{░}{\blockqtrshaded} \__umi_define_char{▒}{\blockhalfshaded} \__umi_define_char{▓}{\blockthreeqtrshaded} -\__umi_define_char{■}{\mdlgblksquare} -\__umi_define_char{□}{\mdlgwhtsquare} +\__umi_define_char{■}{\__umi_alternatives\mdlgblksquare\blacksquare} +\__umi_define_char{□}{\__umi_alternatives_m{\mdlgwhtsquare\Box\square}} \__umi_define_char{▢}{\squoval} \__umi_define_char{▣}{\blackinwhitesquare} \__umi_define_char{▤}{\squarehfill} @@ -692,7 +692,7 @@ \__umi_define_char{▰}{\parallelogramblack} \__umi_define_char{▱}{\parallelogram} \__umi_define_char{▲}{\bigblacktriangleup} -\__umi_define_char{△}{\bigtriangleup} +\__umi_define_char{△}{\__umi_alternatives_m{\bigtriangleup\triangle\varbigtriangleup}} \__umi_define_char{▴}{\blacktriangle} \__umi_define_char{▵}{\vartriangle} \__umi_define_char{▶}{\blacktriangleright} @@ -702,7 +702,7 @@ \__umi_define_char{►}{\blackpointerright} \__umi_define_char{▻}{\whitepointerright} \__umi_define_char{▼}{\bigblacktriangledown} -\__umi_define_char{▽}{\bigtriangledown} +\__umi_define_char{▽}{\__umi_alternatives\bigtriangledown\varbigtriangledown} \__umi_define_char{▾}{\blacktriangledown} \__umi_define_char{▿}{\triangledown} \__umi_define_char{◀}{\blacktriangleleft} @@ -715,8 +715,8 @@ \__umi_define_char{◇}{\mdlgwhtdiamond} \__umi_define_char{◈}{\blackinwhitediamond} \__umi_define_char{◉}{\fisheye} -\__umi_define_char{◊}{\mdlgwhtlozenge} -\__umi_define_char{○}{\mdlgwhtcircle} +\__umi_define_char{◊}{\__umi_alternatives_m{\mdlgwhtlozenge\Diamond\lozenge}} +\__umi_define_char{○}{\__umi_alternatives\mdlgwhtcircle\bigcirc} \__umi_define_char{◌}{\dottedcircle} \__umi_define_char{◍}{\circlevertfill} \__umi_define_char{◎}{\bullseye} @@ -743,7 +743,7 @@ \__umi_define_char{◣}{\llblacktriangle} \__umi_define_char{◤}{\ulblacktriangle} \__umi_define_char{◥}{\urblacktriangle} -\__umi_define_char{◦}{\smwhtcircle} +\__umi_define_char{◦}{\__umi_alternatives_m{\smwhtcircle\circ\vysmwhtcircle}} \__umi_define_char{◧}{\squareleftblack} \__umi_define_char{◨}{\squarerightblack} \__umi_define_char{◩}{\squareulblack} @@ -889,9 +889,9 @@ \__umi_define_char{⤋}{\Ddownarrow} \__umi_define_char{⤌}{\leftbkarrow} \__umi_define_char{⤍}{\rightbkarrow} -\__umi_define_char{⤎}{\leftdbkarrow} -\__umi_define_char{⤏}{\dbkarrow} -\__umi_define_char{⤐}{\drbkarrow} +\__umi_define_char{⤎}{\__umi_alternatives\leftdbkarrow\dashleftarrow} +\__umi_define_char{⤏}{\__umi_alternatives_m{\dbkarrow\dasharrow\dashrightarrow\dbkarow}} +\__umi_define_char{⤐}{\__umi_alternatives\drbkarrow\drbkarow} \__umi_define_char{⤑}{\rightdotarrow} \__umi_define_char{⤒}{\baruparrow} \__umi_define_char{⤓}{\downarrowbar} @@ -912,8 +912,8 @@ \__umi_define_char{⤢}{\neswarrow} \__umi_define_char{⤣}{\hknwarrow} \__umi_define_char{⤤}{\hknearrow} -\__umi_define_char{⤥}{\hksearrow} -\__umi_define_char{⤦}{\hkswarrow} +\__umi_define_char{⤥}{\__umi_alternatives\hksearrow\hksearow} +\__umi_define_char{⤦}{\__umi_alternatives\hkswarrow\hkswarow} \__umi_define_char{⤧}{\tona} \__umi_define_char{⤨}{\toea} \__umi_define_char{⤩}{\tosa} @@ -1351,7 +1351,7 @@ \__umi_define_char{⫙}{\forkv} \__umi_define_char{⫚}{\topfork} \__umi_define_char{⫛}{\mlcp} -\__umi_define_char{⫝̸}{\forks} +\__umi_define_char{⫝̸}{\__umi_alternatives\forks\nforksnot} \__umi_define_char{⫝}{\forksnot} \__umi_define_char{⫞}{\shortlefttack} \__umi_define_char{⫟}{\shortdowntack} diff --git a/macros/latex/contrib/unicode-math-input/unicode-math-input.pdf b/macros/latex/contrib/unicode-math-input/unicode-math-input.pdf index 80d94c1908..2bfddf791b 100644 Binary files a/macros/latex/contrib/unicode-math-input/unicode-math-input.pdf and b/macros/latex/contrib/unicode-math-input/unicode-math-input.pdf differ diff --git a/macros/latex/contrib/unicode-math-input/unicode-math-input.sty b/macros/latex/contrib/unicode-math-input/unicode-math-input.sty index dcb72f6a30..b9696c3a32 100644 --- a/macros/latex/contrib/unicode-math-input/unicode-math-input.sty +++ b/macros/latex/contrib/unicode-math-input/unicode-math-input.sty @@ -1,5 +1,5 @@ % File: unicode-math-input.sty -% Copyright 2022-2023 user202729 +% Copyright 2022-2024 user202729 % % This work may be distributed and/or modified under the conditions of the % LaTeX Project Public License (LPPL), either version 1.3c of this license or @@ -14,7 +14,7 @@ \RequirePackage{expl3} \RequirePackage{iftex} -\ProvidesExplPackage{unicode-math-input}{2023-05-12}{0.0.0}{Allow entering Unicode symbols in math formulas} +\ProvidesExplPackage{unicode-math-input}{2024-01-18}{0.1.0}{Allow entering Unicode symbols in math formulas} \makeatletter \AtBeginDocument{ @@ -38,7 +38,17 @@ \cs_new_protected:Npn \umiMathbf {\__umi_check_math_alphabet \mathbf \umiMathbf } \cs_new_protected:Npn \umiMathit {\__umi_check_math_alphabet \mathit \umiMathit } \cs_new_protected:Npn \umiMathbfit {\__umi_check_math_alphabet \bm \umiMathbfit } -\cs_new_protected:Npn \umiMathscr {\__umi_check_math_alphabet \mathscr \umiMathscr } +\cs_new_protected:Npn \umiMathscr { + \ifdefined \mathscr + \expandafter \mathscr + \else + \ifdefined \mathcal + \expandafter \expandafter \expandafter \mathcal + \else + \msg_error:nnnn {unicode-math-input} {define-math-alphabet} {\mathscr/\mathcal} {\umiMathscr} + \fi + \fi +} \cs_new_protected:Npn \umiMathbfscr {\__umi_check_math_alphabet \mathbfscr \umiMathbfscr } \cs_new_protected:Npn \umiMathfrak {\__umi_check_math_alphabet \mathfrak \umiMathfrak } \cs_new_protected:Npn \umiMathbb {\__umi_check_math_alphabet \mathbb \umiMathbb } @@ -79,11 +89,23 @@ \ifdefined #2 #2 \else - \msg_error:nnn {unicode-math-input} {undefined-cs} {#1#2} + \__umi_raise_error {#1#2} \fi \fi } +\cs_new_protected:Npn \__umi_alternatives_m #1 { + \tl_map_inline:nn {#1} { + \ifdefined ##1 + ##1 + \tl_map_break:n {\use_none:nn} + \fi + } + \__umi_raise_error {#1} +} + +\cs_new_protected:Npn \__umi_raise_error { \msg_error:nnn {unicode-math-input} {undefined-cs} } + % #1 is control sequence, #2 is anything (must not peek ahead!) \cs_new_protected:Npn \__umi_alternatives_iisafe #1 #2 { \ifdefined #1 @@ -107,6 +129,16 @@ \fi } +\cs_new_protected:Npn \__umi_alternatives_not_two #1 #2 #3 #4{ + \ifdefined #1 #1 \else + \ifdefined #2 #2 \else + \ifdefined #3 \not#3 \else + \ifdefined #4 \not#4 \else + \msg_error:nnn {unicode-math-input} {undefined-cs} {#1#2#3#4} + \fi \fi \fi \fi +} + + % ======== \__umi_require_math \msg_new:nnn {unicode-math-input} {not-math-mode} { This~symbol~can~only~be~used~in~math~mode! @@ -213,8 +245,8 @@ } - \cs_new_eq:NN \umiDefineMathChar \__umi_define_char_single - \cs_new_protected:Npn \umiDefineMathDelimiter #1 #2 { + \cs_new_eq:NN \umiDeclareMathChar \__umi_define_char_single + \cs_new_protected:Npn \umiDeclareMathDelimiter #1 #2 { \cs_new_protected:Npn \__umi_check_delimiter_defined_not_delimiter ##1 ##2 { \msg_error:nnnn {unicode-math-input} {not-delimiter} {##1} {##2} } @@ -278,16 +310,23 @@ \cs_new_eq:NN \__umi_define_char_maybe_delimiter \__umi_define_char - \cs_new_protected:Npn \umiDefineMathChar #1 #2{ + \cs_new_protected:Npn \umiDeclareMathChar #1 #2{ \ifnum \str_count:n{#1}=1 \__umi_define_char_single #1 {#2} \else \cs_gset_protected:cpx {u8:\detokenize{#1}} {\unexpanded{\__umi_require_math #2}} \fi } - \cs_new_eq:NN \umiDefineMathDelimiter \umiDefineMathChar + \cs_new_eq:NN \umiDeclareMathDelimiter \umiDeclareMathChar } + +\cs_new_eq:NN \umiDefineMathChar \umiDeclareMathChar +\cs_new_eq:NN \umiDefineMathDelimiter \umiDeclareMathDelimiter % backwards compatibility + +\cs_new_protected:Npn \umiDeclareMathCharCopy { \__umi_internal_error } +\cs_new_protected:Npn \umiDeclareMathDelimiterCopy { \__umi_internal_error } + \__umi_if_engine_unicode { \tl_build_begin:N \__umi_delimiter_list } {} @@ -451,8 +490,9 @@ \expandafter \__umi_continue_script_aux \exp:w\exp_end_continue_f:w \char_generate:nn {\expandafter \__umi_gobble_the_character \meaning #1} {13} } { - \cs_gset_eq:NN \__umi_script \__umi_put_script_normal - ^{\l_tmpa_tl} #1 + % is not the case, finished (put back the #1) + \__umi_script_collect_done + \__umi_script_cat{\l_tmpa_tl} #1 } } @@ -492,12 +532,13 @@ } \def \__umi_brace_error {\__umi_internal_error \l_tmpa_tl} + \def \__umi_brace_nobrace {\l_tmpa_tl} \def \__umi_brace_two #1 #2 {\l_tmpa_tl {#1 #2}} \def \__umi_brace_three #1 #2 #3 {\l_tmpa_tl {#1 #2 #3}} \def \__umi_brace_four #1 #2 #3 #4 {\l_tmpa_tl {#1 #2 #3 #4}} \int_step_inline:nnn {"00} {"7F} { - \expandafter\let\csname __umi_brace_handle_ \char_generate:nn {#1} {12} \endcsname \relax + \expandafter\let\csname __umi_brace_handle_ \char_generate:nn {#1} {12} \endcsname \__umi_brace_nobrace } \int_step_inline:nnn {"80} {"BF} { \expandafter\let\csname __umi_brace_handle_ \char_generate:nn {#1} {12} \endcsname \__umi_brace_error diff --git a/macros/latex/contrib/unicode-math-input/unicode-math-input.tex b/macros/latex/contrib/unicode-math-input/unicode-math-input.tex index 7b385c34cc..61fe577ced 100644 --- a/macros/latex/contrib/unicode-math-input/unicode-math-input.tex +++ b/macros/latex/contrib/unicode-math-input/unicode-math-input.tex @@ -1,5 +1,6 @@ %! TEX program = lualatex -\ProvidesFile{unicode-math-input.tex} [2023/05/12 v0.0.0 ] +\ProvidesFile{unicode-math-input.tex} [2024/01/18 v0.1.0 ] +\PassOptionsToPackage{hyphens}{url} \RequirePackage{fvextra} \documentclass{l3doc} \usepackage[svgnames]{xcolor} @@ -15,7 +16,12 @@ \tracinglostchars=3 \newcommand\csref[1]{\texttt{\hyperref[doc/function//#1]{\textbackslash #1}}} \newcommand\varref[1]{\texttt{\hyperref[doc/function//#1]{#1}}} +\usepackage{precattl} \begin{document} +\precattlExec{ +\NewDocumentEnvironment{option}{v}{\begin{variable}{#1\cO\}\iffalse}\fi Package option.\par}{\end{variable}} +} + \hfuzz=1pt \GetFileInfo{\jobname.tex} @@ -45,6 +51,15 @@ they does not cover a lot of characters and/or does not handle several issues we We compare the situation with several existing packages: \begin{itemize} + \item \pkg{commonunicode}: + \begin{itemize} + \item defines all characters to be active, which means it breaks usage of |α| in \pkg{fancyvrb}'s |Verbatim| environment for example. + \item changes the behavior of e.g. |½| in text mode in PDF\LaTeX. + \item does not always select best option, for example |∄| always get mapped to |\not\exists| even though the outcome is worse than |\nexists|. + \item fakes several symbols such as |≝| even when there's better option e.g. |\eqdef|, + \item uses |\ensuremath| extensively, which means no error message when it's used in text mode, + \item not as good symbol coverage. + \end{itemize} \item \pkg{unixode}: \begin{itemize} \item defines |′| to be |\prime| which is big and not usable, it should be |^{\prime}| @@ -177,6 +192,13 @@ We need to get the following things correct: corresponding Unicode character (|π|) will also change. This will incur a small loss in efficiency however. (modulo the issue with |\Udelcode| mentioned above) + + \item The character |⋯| is mapped to |\cdots| and |…| is mapped to |\ldots|. Note that |\dots| behaves + the same as |\ldots| without \pkg{amsmath} package loaded, but with it it smartly detect which variant to use + depends on the following character, for example |$\dots +$| prints $\dots +$ but |$\dots ,$| prints $\dots ,$. + + There's another discrepancy with the spacing around these 2 characters, + see \url{https://github.com/wspr/unicode-math/issues/571}. \end{itemize} There are some issues however: @@ -227,6 +249,8 @@ Because by default the \pkg{unicode-math} package will already allow entering Un For example you can |\renewcommand\umiMathbf[1]{\mathbf{#1}}| which is the default behavior. + Or you can execute, for example, |\renewcommand\umiMathscr[1]{\mathcal{#1}}| to use the calligraphic instead of the script alphabet for script characters. + More usefully, you may want to |\renewcommand\umiMathbf{\bm}| to make entered characters such as $𝐚$ appear bold italic in the output, remember to load package \pkg{bm} if you want to do so (which is |unicode-math| behavior with |[bold-style=ISO]| package option). @@ -240,27 +264,27 @@ Because by default the \pkg{unicode-math} package will already allow entering Un |\let\umiFrac\tfrac| (or more clearly, |\renewcommand\umiFrac[2]{\tfrac{#1}{#2}}|) to customize the appearance of Unicode characters like |½|. - If you want to customize the appearance of individual symbols, consider using \csref{umiDefineMathChar}. + If you want to customize the appearance of individual symbols, consider using \csref{umiDeclareMathChar}. \end{function} -\begin{function}{\umiDefineMathChar} +\begin{function}{\umiDeclareMathChar} \begin{syntax} - |\umiDefineMathChar {α} {\alpha}| + |\umiDeclareMathChar {α} {\alpha}| \end{syntax} - Does what it says. + Does what it says. Will override existing definitions, if any. Note that the Unicode character must be braced. - (You may choose to call \csref{umiPatchCmdUnicodeArg}| \umiDefineMathChar| + (You may choose to call \csref{umiPatchCmdUnicodeArg}| \umiDeclareMathChar| beforehand so bracing is not necessary, but this is not really recommended) This might or might not destroy the existing text-mode definition. For now, - one way to preserve it is |\umiDefineMathChar {²} {\TextOrMath{\texttwosuperior}{^2}}|. + one way to preserve it is |\umiDeclareMathChar {²} {\TextOrMath{\texttwosuperior}{^2}}|. \end{function} -\begin{function}{\umiDefineMathDelimiter} +\begin{function}{\umiDeclareMathDelimiter} \begin{syntax} - |\umiDefineMathDelimiter {⟨} \langle| + |\umiDeclareMathDelimiter {⟨} \langle| \end{syntax} You must use this in order to use the Unicode character with |\left|, |\big|, |\bigl| etc. (because of the internal detail being that in Xe\LaTeX\ and Lua\LaTeX, @@ -269,9 +293,14 @@ Because by default the \pkg{unicode-math} package will already allow entering Un In that case the second argument must be a single token. - Unfortunately, the command does not always work. + Unfortunately, the command does not always work -- it must detect the second argument to be a delimiter, but + if the detection fails it may not work. \end{function} +\emph{Note}: There's no need to provide |\umiDeclareMathAlphabet|, |\umiDeclareMathAccent| or |\umiDeclareMathRadical|, for |\umiDeclareMathChar| suffices. +It's not supported to define \emph{control sequences}, for that the typical |\RenewDocumentCommand| +or |\RenewCommandCopy| suffices. + \begin{function}{\umiRefreshDelimiterList} \begin{syntax} |\umiRefreshDelimiterList| @@ -282,17 +311,15 @@ Because by default the \pkg{unicode-math} package will already allow entering Un This command will check all the normal delimiter Unicode characters. In PDF\LaTeX\ this command does nothing. - Another way is to use \csref{umiDefineMathDelimiter} to manually refresh individual Unicode characters, + Another way is to use \csref{umiDeclareMathDelimiter} to manually refresh individual Unicode characters, this is also useful if you define an Unicode character that is not "normally" a delimiter. \end{function} -\begin{variable}{ignore-refresh-delimiter-list} - Package option. - +\begin{option}{ignore-refresh-delimiter-list} \csref{umiRefreshDelimiterList} will be run |\AtBeginDocument|. Pass this to disable it running. Only needed if there's some package clash or if there's spurious warning on "not determined to be a delimiter" etc. -\end{variable} +\end{option} \begin{function}{\umiPatchCmdUnicodeArg,\umiUnpatchCmdUnicodeArg} \begin{syntax} @@ -336,12 +363,14 @@ Because by default the \pkg{unicode-math} package will already allow entering Un The command being patched must take exactly one argument. This is useful because some \TeX\ primitives such as |^| or |\mathopen| - requires either a single "character" or a group braced with |{...}| / |\bgroup...\egroup|. + requires either a single "character" or a group braced with |{...}| / |\bgroup...\egroup| -- + in particular, |\Big|'s original definition is such that |\Bigl| being defined + as |\mathopen \Big| can work, and we must ensure it still work after the patch. \end{function} -\begin{variable}{ignore-patch-delimiter-commands} - Package option. Pass this to avoid patching |\Big| etc. with the command above (only needed if there's some package clash). -\end{variable} +\begin{option}{ignore-patch-delimiter-commands} + Pass this to avoid patching |\Big| etc. with the command above (only needed if there's some package clash). +\end{option} \begin{function}{\umiBraceNext} \begin{syntax} @@ -362,11 +391,11 @@ Because by default the \pkg{unicode-math} package will already allow entering Un then |\big⟨| will eventually execute |\oldbig{⟨}| which is the desired behavior (that |\oldbig| expects one braced argument). \end{function} -\begin{variable}{ignore-patch-prime} +\begin{option}{ignore-patch-prime} Do not patch the default definition of |'| in math mode. By default it's patched to allow |G'²| and |G²'| to work. Only use this when there's some package clash. -\end{variable} +\end{option} \begin{function}{\umiPatchPrime,\umiUnpatchPrime} \begin{syntax} @@ -384,6 +413,50 @@ then |\big⟨| will eventually execute |\oldbig{⟨}| which is the desired behav This package should have tested with various \TeX\ distribution versions on Overleaf. +\section{Advanced remarks} + +As mentioned before, by design this package defines the Unicode character in math mode to do whatever the corresponding +\LaTeX\ command does \emph{at the time of use}, so if you redefine the meaning of |\alpha|, then the Unicode character |α| +will change as well. + +The other "standard" way to define commands in \LaTeX\ is to assign the mathcode to the character/control sequence directly, +using |\DeclareMathSymbol| etc. which is used to define almost all the standard control sequences. +For efficiency reasons or other reasons, you may want to \emph{copy} the definition of an existing control sequence +(this way the definition of the Unicode character is not changed when the control sequence changes), +you can do that by: + +\begin{function}{\umiDeclareMathCharCopy} + \begin{syntax} + |\umiDeclareMathCharCopy {±} \pm| + \end{syntax} + Does what it says. + + The second argument must be a single control sequence. +\end{function} + +\begin{function}{\umiDeclareMathDelimiterCopy} + \begin{syntax} + |\umiDeclareMathDelimiterCopy {‖} \Vert| + \end{syntax} + Does what it says. Refer to \csref{umiDeclareMathDelimiter} for difference between this command and \csref{umiDeclareMathCharCopy}. +\end{function} + +In case you want to explicitly specify a font/slot pair for an Unicode character, you can use |\DeclareMathSymbol| etc. +directly, then use one of the commands above to copy it to the Unicode character. + +Useful resources: + +\begin{sloppypar} + \hbadness=10000 +\begin{itemize} + \item \url{https://tex.stackexchange.com/questions/98781/create-a-font-table-for-all-available-characters-for-a-particular-font} + \item \url{https://tex.stackexchange.com/questions/380775/font-table-for-opentype-truetype-fonts} + \item \url{https://ctan.org/pkg/fonttable} (need double quotes if font name has spaces: \url{https://tex.stackexchange.com/a/506246/250119}) + \item Although there's always |texdoc encguide| for the default (non-Unicode) encodings. +\end{itemize} +\end{sloppypar} + + \PrintChanges \PrintIndex \Finale diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog index 8371f083c7..319d184bf6 100644 --- a/support/TeX4ht/source/ChangeLog +++ b/support/TeX4ht/source/ChangeLog @@ -1,3 +1,12 @@ +2024-01-16 Michal Hoftich + + * tex4ht-4ht.tex (unicode-math-hooks.4ht): added support for various + Unicode prime and back-prime symbols. + + * tex4ht-4ht.tex (hyperref.4ht): fixed support for the `]` + characters in URLs in the \href command. + https://tex.stackexchange.com/a/707193/2891 + 2024-01-15 Michal Hoftich * tex4ht-4ht.tex (tcolorbox.4ht): don't use \RecallEndP in diff --git a/support/TeX4ht/source/tex4ht-4ht.tex b/support/TeX4ht/source/tex4ht-4ht.tex index 9372b02b23..113c21f337 100644 --- a/support/TeX4ht/source/tex4ht-4ht.tex +++ b/support/TeX4ht/source/tex4ht-4ht.tex @@ -1,4 +1,4 @@ -% $Id: tex4ht-4ht.tex 1442 2024-01-15 22:00:31Z karl $ +% $Id: tex4ht-4ht.tex 1444 2024-01-16 16:58:10Z michal_h21 $ % tex tex4ht-4ht or ht tex tex4ht-4ht % % Copyright 2009-2024 TeX Users Group @@ -4374,6 +4374,14 @@ document. \DeclareDocumentCommand \setmathfont { O{} m O{} }{} \DeclareDocumentCommand \unimathsetup {m} {} \catcode`\:=11\makeatletter +% declare prime and backprime Unicode symbols. they shouldn't be used with +% explicit superscripts +\DeclareDocumentCommand\dprime{}{\sp{\ht:special{t4ht@+\string&{35}x2033;}x}} +\DeclareDocumentCommand\trprime{}{\sp{\ht:special{t4ht@+\string&{35}x2034;}x}} +\DeclareDocumentCommand\qprime{}{\sp{\ht:special{t4ht@+\string&{35}x2057;}x}} +\DeclareDocumentCommand\backprime{}{\sp{\ht:special{t4ht@+\string&{35}x2035;}x}} +\DeclareDocumentCommand\backdprime{}{\sp{\ht:special{t4ht@+\string&{35}x2036;}x}} +\DeclareDocumentCommand\backtrprime{}{\sp{\ht:special{t4ht@+\string&{35}x2037;}x}} \endinput >>> \AddFile{9}{unicode-math-hooks} @@ -5547,7 +5555,10 @@ be removed safely. \let\HyRef@currentHtag\empty \Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink \else - \Link[#2]{}{}\Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink\EndLink + % we use this trick to hide possible ] characters in the URL + % https://tex.stackexchange.com/a/707193/2891 + \def\:currentlink{#2} + \Link[\noexpand\:currentlink]{}{}\Hy@colorlink{\@urlcolor}#1\Hy@endcolorlink\EndLink \global\let\hyper:normalise|=\:UnDef \fi \endgroup } diff --git a/support/latexindent/LatexIndent/Replacement.pm b/support/latexindent/LatexIndent/Replacement.pm index c1df5db131..a261c4dc03 100644 --- a/support/latexindent/LatexIndent/Replacement.pm +++ b/support/latexindent/LatexIndent/Replacement.pm @@ -71,7 +71,7 @@ sub make_replacements { # my $this = quotemeta( ${$_}{this} ); my $that = ( defined ${$_}{that} ) ? qq{${$_}{that}} : q(); - ${$self}{body} = join( $that, split( $this, ${$self}{body} ) ); + ${$self}{body} = join( $that, split( /$this/, ${$self}{body}, -1 ) ); } else { # diff --git a/support/latexindent/LatexIndent/Version.pm b/support/latexindent/LatexIndent/Version.pm index d5ea0dd260..f56a438ec0 100644 --- a/support/latexindent/LatexIndent/Version.pm +++ b/support/latexindent/LatexIndent/Version.pm @@ -20,6 +20,6 @@ use warnings; use Exporter qw/import/; our @EXPORT_OK = qw/$versionNumber $versionDate/; -our $versionNumber = '3.23.5'; -our $versionDate = '2024-01-01'; +our $versionNumber = '3.23.6'; +our $versionDate = '2024-01-17'; 1 diff --git a/support/latexindent/README b/support/latexindent/README index 019150fcab..9a21dd77ce 100644 --- a/support/latexindent/README +++ b/support/latexindent/README @@ -1,5 +1,5 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - latexindent.pl, version 3.23.5, 2024-01-01 + latexindent.pl, version 3.23.6, 2024-01-17 PERL script to indent code within environments, and align delimited environments in .tex files. diff --git a/support/latexindent/bin/linux/latexindent b/support/latexindent/bin/linux/latexindent index 2c335323a2..831e122a92 100644 Binary files a/support/latexindent/bin/linux/latexindent and b/support/latexindent/bin/linux/latexindent differ diff --git a/support/latexindent/bin/macos/latexindent b/support/latexindent/bin/macos/latexindent index 0470b4bdd2..ad7ab51add 100644 Binary files a/support/latexindent/bin/macos/latexindent and b/support/latexindent/bin/macos/latexindent differ diff --git a/support/latexindent/defaultSettings.yaml b/support/latexindent/defaultSettings.yaml index 1943c272da..a00474e143 100644 --- a/support/latexindent/defaultSettings.yaml +++ b/support/latexindent/defaultSettings.yaml @@ -1,5 +1,5 @@ # -# latexindent.pl, version 3.23.5, 2024-01-01 +# latexindent.pl, version 3.23.6, 2024-01-17 # # defaultSettings.yaml, the default settings for latexindent.pl # diff --git a/support/latexindent/documentation/latexindent-yaml-schema.json b/support/latexindent/documentation/latexindent-yaml-schema.json index 43739e7af6..0bb03ddc43 100644 --- a/support/latexindent/documentation/latexindent-yaml-schema.json +++ b/support/latexindent/documentation/latexindent-yaml-schema.json @@ -2,7 +2,7 @@ "$schema": "http://json-schema.org/schema", "$id": "latexindent-yaml-schema.json", "title": "latexindent.pl YAML schema", - "description": "latexindent.pl YAML schema helper, V3.23.5 2024-01-01", + "description": "latexindent.pl YAML schema helper, V3.23.6 2024-01-17", "type": "object", "properties": { "fileExtensionPreference": { diff --git a/support/latexindent/documentation/latexindent.pdf b/support/latexindent/documentation/latexindent.pdf index e698d5923f..fe0fa82176 100644 Binary files a/support/latexindent/documentation/latexindent.pdf and b/support/latexindent/documentation/latexindent.pdf differ diff --git a/support/latexindent/latexindent.pl b/support/latexindent/latexindent.pl index a8e82f2bd9..e5c034dd77 100755 --- a/support/latexindent/latexindent.pl +++ b/support/latexindent/latexindent.pl @@ -1,6 +1,6 @@ #!/usr/bin/env perl # -# latexindent.pl, version 3.23.5, 2024-01-01 +# latexindent.pl, version 3.23.6, 2024-01-17 # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm b/systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm index e468d8719a..b70f8c0d69 100644 --- a/systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm +++ b/systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm @@ -1,4 +1,4 @@ -# $Id: TLWinGoo.pm 65994 2023-02-20 23:40:00Z karl $ +# $Id: TLWinGoo.pm 69435 2024-01-15 20:05:55Z siepo $ # TeXLive::TLWinGoo.pm - Windows goop. # Copyright 2008-2023 Siep Kroonenberg, Norbert Preining # This file is licensed under the GNU General Public License version 2 @@ -13,7 +13,7 @@ package TeXLive::TLWinGoo; -my $svnrev = '$Revision: 65994 $'; +my $svnrev = '$Revision: 69435 $'; my $_modulerevision; if ($svnrev =~ m/: ([0-9]+) /) { $_modulerevision = $1; @@ -34,7 +34,6 @@ C -- TeX Live Windows-specific support =head2 DIAGNOSTICS - TeXLive::TLWinGoo::is_ten; TeXLive::TLWinGoo::admin; TeXLive::TLWinGoo::non_admin; TeXLive::TLWinGoo::reg_country; @@ -91,7 +90,6 @@ BEGIN { use vars qw( @ISA @EXPORT @EXPORT_OK $Registry); @ISA = qw( Exporter ); @EXPORT = qw( - &is_ten &admin &non_admin ); @@ -179,36 +177,8 @@ if ($is_win) { =head2 DIAGNOSTICS -=over 4 - -=item C - -C returns the Windows version number as stored in the -registry: 5.0 for Windows 2000, 5.1 for Windows XP and 6.0 for Vista. - =cut -my $windows_version = 0; -my $windows_subversion = 0; - -if ($is_win) { - my $ver = `ver`; - chomp $ver; - $ver =~ s/^[^0-9]*//; - $ver =~ s/[^0-9.]*$//; - ($windows_version = $ver) =~ s/\..*$//; - ($windows_subversion = $ver) =~ s/^[^\.]*\.//; - $windows_subversion =~ s/\..*$//; -} - -=item C - -C returns 1 if windows version is >= 10.0, otherwise 0. - -=cut - -sub is_ten { return $windows_version >= 10; } - # permissions with which we try to access the system environment my $is_admin = 1; @@ -1272,7 +1242,7 @@ UNEND3 # but not for a user install under win10 because then # it shows up in Settings / Apps / Apps & features, # where it will trigger an inappropriate UAC prompt - if (admin() || !is_ten()) { + if (admin()) { &log("Registering uninstaller\n"); my $k; my $uninst_key = $Registry -> Open((admin() ? "LMachine" : "CUser") . diff --git a/systems/texlive/tlnet/tlpkg/installer/config.guess b/systems/texlive/tlnet/tlpkg/installer/config.guess index cdfc439204..f6d217a49f 100755 --- a/systems/texlive/tlnet/tlpkg/installer/config.guess +++ b/systems/texlive/tlnet/tlpkg/installer/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. -# Copyright 1992-2023 Free Software Foundation, Inc. +# Copyright 1992-2024 Free Software Foundation, Inc. # shellcheck disable=SC2006,SC2268 # see below for rationale -timestamp='2023-08-22' +timestamp='2024-01-01' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -60,7 +60,7 @@ version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright 1992-2023 Free Software Foundation, Inc. +Copyright 1992-2024 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -165,6 +165,8 @@ Linux|GNU|GNU/*) LIBC=dietlibc #elif defined(__GLIBC__) LIBC=gnu + #elif defined(__LLVM_LIBC__) + LIBC=llvm #else #include /* First heuristic to detect musl libc. */ @@ -1593,6 +1595,9 @@ EOF *:Unleashed:*:*) GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE ;; + *:Ironclad:*:*) + GUESS=$UNAME_MACHINE-unknown-ironclad + ;; esac # Do we have a guess based on uname results? diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index 31122bbb3c..251021d7a9 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb @@ -26,11 +26,11 @@ depend container_split_src_files/1 depend frozen/0 depend minrelease/2016 depend release/2023 -depend revision/69420 +depend revision/69463 name 00texlive.image category TLCore -revision 69420 +revision 69452 shortdesc TeX Live files only in the source repository longdesc The files here are not copied by the installer and containers longdesc are not built for them; they exist only in the source @@ -462,6 +462,7 @@ runfiles size=13630 tlpkg/tlpsrc/altsubsup.tlpsrc tlpkg/tlpsrc/amiri.tlpsrc tlpkg/tlpsrc/amiweb2c-guide.tlpsrc + tlpkg/tlpsrc/amnestyreport.tlpsrc tlpkg/tlpsrc/amsaddr.tlpsrc tlpkg/tlpsrc/amscdx.tlpsrc tlpkg/tlpsrc/amscls-doc.tlpsrc @@ -4834,7 +4835,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 69415 +revision 69447 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 @@ -17525,6 +17526,39 @@ catalogue-license lppl1.3c catalogue-topics documentation catalogue-version 1.0 +name amnestyreport +category Package +revision 69439 +shortdesc A LaTeX class for Amnesty International +relocated 1 +longdesc This package provides a class for Amnesty International reports +longdesc according to guidelines at https://brandhub.amnesty.org/. +containersize 5240 +containerchecksum 9fb76037c976d48259609295b876a256e5b72e611c7ece52cbc39b7df607d58a90ce2b0a0ff33d816c08f869e911a2cf979b8635a044697af8331d8769382be5 +doccontainersize 1544912 +doccontainerchecksum e3a3989cd630e3776bfc103d5ebd7fcdd39464e49338b638b165e1c486a7afb58ebc907e2fcaaf008be5463f3496e66aa36b0bebea87d1d945a0497469f36eb5 +docfiles size=392 + RELOC/doc/latex/amnestyreport/BoschFragment.png + RELOC/doc/latex/amnestyreport/README details="Readme" + RELOC/doc/latex/amnestyreport/amnestyreport.pdf details="Package documentation" + RELOC/doc/latex/amnestyreport/amnestytemplate.tex + RELOC/doc/latex/amnestyreport/examplereferences.bib + RELOC/doc/latex/amnestyreport/sample.Rmd + RELOC/doc/latex/amnestyreport/sample.pdf details="Example of use" + RELOC/doc/latex/amnestyreport/sample.tex +srccontainersize 11396 +srccontainerchecksum bacce1f1ab7f2c6220c1fb59ecd63a4dc93405e57654390f377c5b6b511a5f732198e869b955211a752e94aa8c1601c4ea13d3d0aea7324a3ae38e035ff3e43e +srcfiles size=11 + RELOC/source/latex/amnestyreport/Makefile + RELOC/source/latex/amnestyreport/amnestyreport.dtx + RELOC/source/latex/amnestyreport/amnestyreport.ins +runfiles size=4 + RELOC/tex/latex/amnestyreport/amnestyreport.cls +catalogue-ctan /macros/latex/contrib/amnestyreport +catalogue-license lppl1.3 +catalogue-topics class report-like std-conform +catalogue-version 1.2 + name amsaddr category Package revision 64357 @@ -37087,7 +37121,7 @@ catalogue-version 2.6 name bibcop category Package -revision 69395 +revision 69454 shortdesc Style checker for .bib files longdesc This LaTeX package checks the quality of your .bib file and longdesc emits warning messages if any issues are found. For this, the @@ -37098,10 +37132,10 @@ longdesc Windows. depend bibcop.ARCH depend iexec depend pgfopts -containersize 8168 -containerchecksum e4520627247c144f8fdaa3f3923f150297714171124f3e76e0d772ef0455d89c8229574a3e9bc8875c6902103465dace4eda81b0e30de3830152f3cd260bc794 +containersize 8180 +containerchecksum 31f7f19f43b7e2c89da45b73e7049eac432dacf1d9c78d4e9334422838dab9367318c31100b7caf9837cc98699fb6bc9782c80845a8d9982364469459b3a1749 doccontainersize 359716 -doccontainerchecksum 30ee2abd74da23ece25080c25c9c94bf44a54dea50088fa6a04109a7f67c9ddbd08973679499854cc4a29ed432a110283319cd2f8f53f6aed005a03218d0ab0c +doccontainerchecksum 3f0a1ba3c2ac798a57250c38c8b95e3029fd414d0fc85f7fb0d6d1fb62f6893b9044ab58697c9f4b2450480581acf891da3fdf90425e4c5a13eadc033ae85b26 docfiles size=95 texmf-dist/doc/bibtex/bibcop/DEPENDS.txt texmf-dist/doc/bibtex/bibcop/LICENSE.txt @@ -37110,8 +37144,8 @@ docfiles size=95 texmf-dist/doc/bibtex/bibcop/bibcop.pdf details="Package documentation" texmf-dist/doc/man/man1/bibcop.1 texmf-dist/doc/man/man1/bibcop.man1.pdf -srccontainersize 6244 -srccontainerchecksum e2bfecbc459f92887760ce2862874f05a392970c8d5dc5564a46128564f7da7d8dec4d4fa27ae4381efc79222760d76c74f19f5a6216fc234a377f83402ee0db +srccontainersize 6240 +srccontainerchecksum 23aa6b5a8d7826cef40c29e5e2675aa8390e4ebbdc478037f861068a3ceab43e8f91b73a688998e9522b0907e28829ba90df845d3cb4b794d1d3af7648ace05b srcfiles size=5 texmf-dist/source/bibtex/bibcop/bibcop.dtx texmf-dist/source/bibtex/bibcop/bibcop.ins @@ -37122,7 +37156,7 @@ catalogue-contact-repository https://github.com/yegor256/bibcop catalogue-ctan /biblio/bibtex/utils/bibcop catalogue-license mit catalogue-topics biblio-supp ext-code -catalogue-version 0.0.17 +catalogue-version 0.0.18 name bibcop.aarch64-linux category Package @@ -43967,7 +44001,7 @@ catalogue-version 1.6 name bodeplot category Package -revision 69397 +revision 69442 shortdesc Draw Bode, Nyquist and Nichols plots with gnuplot or pgfplots relocated 1 longdesc This is a LaTeX package to plot Bode, Nichols, and Nyquist @@ -43981,15 +44015,15 @@ longdesc and unstable second order transfer functions. Support for both longdesc Gnuplot (default) and pgfplots (package option pgf). Support longdesc for linear and asymptotic approximation of magnitude and phase longdesc plots of any transfer function given poles, zeros, and gain. -containersize 5788 -containerchecksum ce07cd6d21576123e5fcbefe15417f90a3c8bb65344a0700cb017bbcf76a27b2a3938e7d3f13e12a06398f6af739af69d4e09e614f1ca58850f2d74150bedb71 -doccontainersize 738136 -doccontainerchecksum 478f633335f8fd55c712c37b11f54523c9d51a650d9025bd0f09b4ba77241710a6921fac8caac6ab0c4aeab252ba89886871c3887b327d1abc01771e6e9c5618 -docfiles size=267 +containersize 5792 +containerchecksum c8adf79728e4aaca8762d6125b4f0c04254d27811077388ca5e89e2fa7b03337ee494ccebe74e1b92c51e4ba0f56c4da8029cfb9d980a15f55c1cb50e744a830 +doccontainersize 554784 +doccontainerchecksum 74baacbe307a7fe9b0a6400d32fa9d78064a656fd29791a2bc34ccecf0f4d6cc3e8c52f7da91f36a656da5363d34e85c4e7b74fac6e0345c8cc69ddb424eed20 +docfiles size=217 RELOC/doc/latex/bodeplot/README.md details="Readme" RELOC/doc/latex/bodeplot/bodeplot-doc.pdf details="Package documentation" -srccontainersize 17376 -srccontainerchecksum 53c0f4825ad3323af7cb59ee07327d628a075e86dc880edffcac25dd0b3891d2f156085764cf0153c4b7bb9549f6e9253d090a4b08c0d12d195e872dbab02686 +srccontainersize 17324 +srccontainerchecksum c2b6ae18ac11fc793ef15fcb89e5b4f5670a074cdcc24229492b247bc980a20e7526ad3a9793a44f2060097c5aa013fba281d923a28162ac63086354ea2b0f3d srcfiles size=27 RELOC/source/latex/bodeplot/bodeplot.dtx RELOC/source/latex/bodeplot/bodeplot.ins @@ -44001,7 +44035,7 @@ catalogue-contact-repository https://github.com/rlkamalapurkar/bodeplot catalogue-ctan /graphics/pgf/contrib/bodeplot catalogue-license lppl1.3c catalogue-topics engineering graphics-plot pgf-tikz -catalogue-version 1.1.5 +catalogue-version 1.1.6 name bohr category Package @@ -71681,7 +71715,7 @@ containerchecksum 889eae40b82f31c7c4b3a17740399c763dabec7986fcb39261b252afff69a0 name collection-latexextra category Collection -revision 69389 +revision 69452 shortdesc LaTeX additional packages relocated 1 longdesc A very large collection of add-on packages for LaTeX. @@ -71748,6 +71782,7 @@ depend autonum depend autopdf depend autopuncitems depend avremu +depend awesomebox depend axessibility depend background depend bankstatement @@ -73210,8 +73245,8 @@ depend zref-clever depend zref-vario depend zwgetfdate depend zwpagelayout -containersize 7068 -containerchecksum 9241966245fa9c875e458a781779f1ab00b615cfee8e5b4a591bd2fe71ed0ef148f7ed40559e7a54c6a46c63305838bb2e46634a2f434d550e80366af2f329a1 +containersize 7072 +containerchecksum bb1fbab6ef9acc1f4ac06d524b36deb92044dcd22e81c5c725d4558eb8770700f7c60d4045ec1c76cff0d94a45a45cc96a81662756a96e1fccf16468fcf51790 name collection-latexrecommended category Collection @@ -74297,7 +74332,7 @@ containerchecksum 508276fe37018f3d9773fc7cda0cb37edcdd28e9cf8ab54ed5be16b07c2066 name collection-publishers category Collection -revision 69033 +revision 69439 shortdesc Publisher styles, theses, etc. relocated 1 depend aastex @@ -74312,6 +74347,7 @@ depend afparticle depend afthesis depend aguplus depend aiaa +depend amnestyreport depend anonymous-acm depend anufinalexam depend aomart @@ -74586,8 +74622,8 @@ depend yathesis depend yazd-thesis depend yb-book depend york-thesis -containersize 1728 -containerchecksum 3bef1e82951ac3624c88c3f42e7d9dfdb4aaef71648852a0df777276139a1fa121f640420d5977a5eae99a590a53eb96854dc97b6637bbebf76e63a7c1248228 +containersize 1736 +containerchecksum 07d08a200302a0395d26630c10c44b439513ce922047f24d39b3b796133d1bf18d7662293c037c0b47abd24aafe0bb3c3b55272c2b20ce1c173df3a2a5d04ad3 name collection-texworks category Collection @@ -74614,13 +74650,12 @@ containerchecksum 8af5c376990a7ed062588a0eb8695455936a92376b94f157d75a22f976f620 name collection-xetex category Collection -revision 64951 +revision 69452 shortdesc XeTeX and packages relocated 1 longdesc Packages for XeTeX, the Unicode/OpenType-enabled TeX by longdesc Jonathan Kew, http://tug.org/xetex. depend arabxetex -depend awesomebox depend bidi-atbegshi depend bidicontour depend bidipagegrid @@ -74662,8 +74697,8 @@ depend xetexfontinfo depend xetexko depend xevlna depend zbmath-review-template -containersize 660 -containerchecksum 457c4e7a3e2089adc69173950c5d3fa177c6e03c5936c49328bbd3c276d9940ba5aca974aea4b97c5dd51b6ec1ca9ebe28861e730aef63b1312589e0cb16df1e +containersize 652 +containerchecksum 5ec49133c1a9f43a8c025fc3b46d855d13f230f2885ed1d2cf57aa32f071a471a9c77c590e1269c885be045ea9c8cd36334a4b4fe647aa23454e91e42c229089 name collref category Package @@ -105670,7 +105705,7 @@ catalogue-topics notes editorial name easybook category Package -revision 69411 +revision 69457 shortdesc Easily typesetting Chinese theses or books relocated 1 longdesc easybook is a pure academic template created based on the @@ -105681,16 +105716,16 @@ longdesc providing multiple commands and interfaces allows users to longdesc easily customize the thesis template. Its basic macro package longdesc easybase can also be used with CTeX and standard document longdesc classes. -containersize 16444 -containerchecksum 384ca42bbf351ddcde2675f202c4fc8d8413b074415d55f80858e982d8cc487583b00618b8a9a0fa084305b0bc425438c5859a18e8b2127d7cc58976049148cb -doccontainersize 622156 -doccontainerchecksum 8a9ec5d3147540f5ebebc7c85a2c1413a86d96d5961d7dadf9f24179bdf546f7645dc157a7f1b3ec12daefe243dafec828380532e867958733fa554baea45dcf +containersize 16612 +containerchecksum 1d4753fb37f821708a1aaf3f7afb2074427b13539fdd69953db5e5f394a4467eeeeb25b7618c145e61bba18696de56a42dda9fae280c6350b70264efe5639d23 +doccontainersize 625352 +doccontainerchecksum 0cfdd40633811e41a9877d41d44f5c257277aee092f60d3cbb3ae437eba5a324d3905d0c0047d3152f0ccc89d1ed5ed8568b01cc3fc4ae0435faced4627f2161 docfiles size=170 RELOC/doc/latex/easybook/README.md details="Readme" RELOC/doc/latex/easybook/easybook.pdf details="Package documentation" language="zh" RELOC/doc/latex/easybook/easybook.tex -srccontainersize 16356 -srccontainerchecksum aef472cd48badc742213b17cfad43b5c5b59b4bc185548a3332a733542301f6cb6f9de10b60d6b7d860f6e2e62c43b9338a14eb5683456563e38377d84bc08dd +srccontainersize 16480 +srccontainerchecksum 6eff17397a34e39b2ddfbac8ea6273a763e90cdca3de424e7f2643883d8c7f164382849332939010c3717917d1535f5900887d51c4a0d96a9352f91c64f691a9 srcfiles size=20 RELOC/source/latex/easybook/easybook.dtx RELOC/source/latex/easybook/easybook.ins @@ -105703,7 +105738,7 @@ catalogue-contact-repository https://gitee.com/texno3/easybook catalogue-ctan /macros/latex/contrib/easybook catalogue-license lppl1.3c catalogue-topics book-pub dissertation class doc-templ chinese expl3 -catalogue-version 2024G +catalogue-version 2024I name easydtx category Package @@ -179980,7 +180015,7 @@ catalogue-version 2.0e name latex category Package -revision 68720 +revision 69443 shortdesc A TeX macro package that defines LaTeX relocated 1 longdesc LaTeX is a widely-used macro package for TeX, providing many @@ -180002,11 +180037,11 @@ depend latex-fonts depend latexconfig depend luatex depend pdftex -containersize 238136 -containerchecksum 5db84e105289993a7b03358f17af52568fc826c677368aec4c9326c1ca974961de01833b038aae6b95101a05dbd60f6714756d866e1a144c30199a0bd661e30c -doccontainersize 34912628 -doccontainerchecksum 53f76796c526b4357b48df1443baedf5af5304da87b21ed2ee6619184c9daec33c8fd7a059f92c0dc037c1b19c3bedf804e907c8031385b1f62d199c7af67e2b -docfiles size=11018 +containersize 238228 +containerchecksum b6696892356c87acc788255f0023f081078878f4f76408be138b8b9b62f0fe01f8dd8bb68c8049fea319b41dfe4dafadb3237869fcde797ff5580ba94d68a473 +doccontainersize 34918312 +doccontainerchecksum d599e1fb7c4433658aa65df89ca318467b3c6689d3e4e2d16bddd9397968888052937900d382fdd43fe627813e40d242d7728325a1bc15c8ab5658fd6ea4c912 +docfiles size=11016 RELOC/doc/latex/base/README.md RELOC/doc/latex/base/alltt.pdf RELOC/doc/latex/base/bugs.txt @@ -180187,8 +180222,8 @@ docfiles size=11018 RELOC/doc/latex/base/utf8ienc.pdf RELOC/doc/latex/base/webcomp.err RELOC/doc/latex/base/webcomp.pdf -srccontainersize 750128 -srccontainerchecksum c6c5244599aa46ee18f66dfbb59e59411625cdb75333bd84a461f3c03b3f4d0400e3d6100b1f511107d779f0adc7dc1ae50952c1315ed587b95432dd3b659a0c +srccontainersize 750220 +srccontainerchecksum 4b156445e50bd24dc3ab2f90088b0ae5e25930818fa14b7db3ccc1aec4642cb3172f07c57bf0dab3e17f91cf22e1b5d5fa08e705e392635328fd366514da7a24 srcfiles size=1107 RELOC/source/latex/base/alltt.dtx RELOC/source/latex/base/alltt.ins @@ -180467,7 +180502,7 @@ runfiles size=674 catalogue-contact-home http://www.latex-project.org/ catalogue-license lppl1.3c catalogue-topics format -catalogue-version 2023-06-01 PL1 +catalogue-version 2023-11-01 PL1 name latex-amsmath-dev category Package @@ -194407,7 +194442,7 @@ catalogue-topics font font-body font-type1 font-serif font-sans font-proportiona name libertinust1math category Package -revision 69062 +revision 69440 shortdesc A Type 1 font and LaTeX support for Libertinus Math relocated 1 longdesc The package provides a Type1 version of Libertinus Math, with a @@ -194416,10 +194451,10 @@ longdesc allow it to serve as a math accompaniment to Libertine under longdesc LaTeX. In addition, with option sansmath, it can function as a longdesc standalone math font with sans serif Roman and Greek letters. execute addMap libertinust1math.map -containersize 1248760 -containerchecksum 9a44af1c4f96453aa69c83658c9474838efcf1020c9301d12577a403371d2b3127fefb57baa0bd5fa5ef737e842abd4f9c368761ee38f6285aeb5a2dd88ad1af -doccontainersize 1533708 -doccontainerchecksum 14c87d5e0d19d818152bf1a5dd7533eb651d5b477f3e42d42277fc4040a263114fc2006000af25884c7dfc64de0936d950fcacdf7fc55e4d09c2d756400c34f3 +containersize 1248764 +containerchecksum ad93607e4accadbc0a429bab7d6bb8ba964a98324a9c65fc1993db025a728dfb8b3e48e3d67552a88bbecad247db573d1b1f7386e1aacce7954b00ace4feacb3 +doccontainersize 1533744 +doccontainerchecksum 012227a7d46da30dc4a20b403a0f0abc0010d6902585c18a0bb3fea1e4b7cf58b629ae8c49597c6c39a264cf25a7a80877cb09e99b0f59b01d37198c5c4db769 docfiles size=1246 RELOC/doc/fonts/libertinust1math/FONTLOG.txt RELOC/doc/fonts/libertinust1math/LibertinusT1Math-doc.pdf details="Package documentation" @@ -194523,7 +194558,7 @@ runfiles size=543 catalogue-ctan /fonts/libertinust1math catalogue-license ofl lppl catalogue-topics font-serif font-sans font-maths font-type1 -catalogue-version 2.0.3 +catalogue-version 2.0.4 name libgreek category Package @@ -211561,7 +211596,7 @@ catalogue-version 1.7e name memoize category Package -revision 69285 +revision 69456 shortdesc Externalization of graphics and memoization of compilation results in general longdesc Memoize is a package for externalization of graphics and longdesc memoization of compilation results in general, allowing the @@ -211576,10 +211611,10 @@ longdesc cross-referencing, TikZ overlays and Beamer, (v) works with all longdesc major engines and formats, and (vi) is adaptable to any longdesc workflow. depend memoize.ARCH -containersize 27692 -containerchecksum 1464aad053b69b821e1c99c72a6e448a231a554c1f04d31550fe29401698705fca9c97149435655269d3128885601d4917c7954be2990905360cde1de73db477 -doccontainersize 2501412 -doccontainerchecksum d210344a90649cdd67b118aca5096db266fede551b7170de088eec4a40b765b9a66b890824092329f76969ebab71dfe6faa3a55ba46bd8b5af9d092cf4fb4aa1 +containersize 27704 +containerchecksum 5e4016350f1bd7455890c7cb068b9f61545545821b722d91a2c29d8ba83c3bbe64b4c67d4dbfbd9cd1aff4d6ae7a8c2f8c073a9a7b2f95564da33890b0bcc0fc +doccontainersize 2501444 +doccontainerchecksum 0ffcd2fef90f2295d440fbefa4bcb1cbaa2988096c9045b46d14af77dbc4fb14a90b9f090308bd88b7fba3946fc39ab2d21916b2e514a91fc2252884b659ac5d docfiles size=870 texmf-dist/doc/generic/memoize/CHANGELOG.md texmf-dist/doc/generic/memoize/FILES @@ -211611,8 +211646,8 @@ docfiles size=870 texmf-dist/doc/man/man1/memoize-extract.pl.man1.pdf texmf-dist/doc/man/man1/memoize-extract.py.1 texmf-dist/doc/man/man1/memoize-extract.py.man1.pdf -srccontainersize 38860 -srccontainerchecksum 68ac9d4a8af74c5d4922da8d8f2c89518bf855d8d578d0df1d9fd798f242c0a339a0e76d10b913a178c0c4195ffbd2e1aab7d3927ba4ea6133fb5e45ce4f9eef +srccontainersize 38880 +srccontainerchecksum 8724636e205cd0ad5349ecd82748fd1170b341091cf20efbfacd7a27225139a1c897e804d7d2a6ef1ffe91dec86cf0f642daccda33b0a41d5246b988b89742b5 srcfiles size=39 texmf-dist/source/generic/memoize/Makefile texmf-dist/source/generic/memoize/memoize.edtx @@ -211637,7 +211672,7 @@ catalogue-contact-repository https://github.com/sasozivanovic/memoize catalogue-ctan /macros/generic/memoize catalogue-license lppl1.3c catalogue-topics compilation ext-code cond-comp macro-gen graphics -catalogue-version 1.1.0 +catalogue-version 1.1.1 name memoize.aarch64-linux category Package @@ -233711,7 +233746,7 @@ catalogue-version 1.055 name newtxtt category Package -revision 54512 +revision 69451 shortdesc Enhancement of typewriter fonts from newtx relocated 1 longdesc The package provides enhanced fonts with LaTeX support files @@ -233719,15 +233754,15 @@ longdesc providing access to the typewriter fonts from newtx. Regular longdesc and bold weights, slanted variants and a choice of four longdesc different styles for zero. execute addMap newtxtt.map -containersize 116976 -containerchecksum 8d453dd25a50384aa0ffc620448a7c1ecff58b51b2cefd0ee2a3ea98ef274ffe1a11e6e26ccabc1d218d4a3f69da4cb254b3e9c6ee9fa99ac32d8714c15a9164 -doccontainersize 171356 -doccontainerchecksum 0a29f11edadeec4284ac9c9c04230a925517b198eb3653a456ab68bf495a9dd0b846cea4c3e1a425539f0b834d37f8f9a7f20e5945e8c8efea7ab4bb9342f6fd -docfiles size=45 +containersize 117944 +containerchecksum 8139f2084b0ea3cbd7b03951152aadd1d2658106806ccb52f09203fba2a657138227da5512fcaf8954efc56d2b7976738eeed6530ed8d709c92d8031ea6f6b12 +doccontainersize 194632 +doccontainerchecksum 533360ee2cb99b4c71bd9a1b77e51e4aa341c8ea58ad587252a896c8ecf4dc2b92c92f9ed2af4db042ab68a5710022186c3cdc8787d47459037ec8171be73e40 +docfiles size=52 RELOC/doc/fonts/newtxtt/README details="Readme" RELOC/doc/fonts/newtxtt/newtxtt-doc.pdf details="Package documentation" RELOC/doc/fonts/newtxtt/newtxtt-doc.tex -runfiles size=204 +runfiles size=205 RELOC/fonts/enc/dvips/newtxtt/txttAec.enc RELOC/fonts/enc/dvips/newtxtt/txttAqec.enc RELOC/fonts/enc/dvips/newtxtt/txttBec.enc @@ -233863,6 +233898,7 @@ runfiles size=204 RELOC/fonts/tfm/public/newtxtt/tcxbttzsl.tfm RELOC/fonts/tfm/public/newtxtt/tcxttz.tfm RELOC/fonts/tfm/public/newtxtt/tcxttzsl.tfm + RELOC/fonts/tfm/public/newtxtt/txttz.tfm RELOC/fonts/type1/public/newtxtt/newtxbtt.pfb RELOC/fonts/type1/public/newtxtt/newtxbttsc.pfb RELOC/fonts/type1/public/newtxtt/newtxtt.pfb @@ -233875,7 +233911,7 @@ runfiles size=204 catalogue-ctan /fonts/newtxtt catalogue-license gpl3 lppl catalogue-topics font font-type1 font-mono font-supp font-t1enc -catalogue-version 1.056 +catalogue-version 1.057 name newunicodechar category Package @@ -258919,28 +258955,28 @@ catalogue-topics doc-supp name piton category Package -revision 69320 +revision 69437 shortdesc Typeset Python listings with LPEG relocated 1 longdesc This package uses the Lua library LPEG to typeset and highlight longdesc informatic listings in several languages (Python, OCaml, SQL longdesc and C++). It requires the use of LuaLaTeX. It won't work with longdesc XeLaTeX, nor pdfLaTeX. -containersize 16704 -containerchecksum 95028768d96516ebd9b44abd790d47694716edc795bafed8ec8ddc54626792b0590295e87ee8d06740b50d42b2e4a00c326cc8ce737ff31b2f0d42130f8a57c5 -doccontainersize 813280 -doccontainerchecksum 11825345e1017add9674e543d146dd151fb3d9dbcc228ec0660392a12e0baa7ec08f224d7024f059ca125f26e744e083369fb972c308173e17908b0d48ce2aa1 -docfiles size=353 +containersize 17356 +containerchecksum a698dbcb6406981b94000609c6e75e1f669f6f82b0ddeedb686b654fcd45a7dcc678f03e0d68549e57e8f5c6f921e7a5591f70af5ff956cdf46af08c0a261aad +doccontainersize 830348 +doccontainerchecksum cb704c81b4bebbe8dbfdbcc9978476f0377d029c7f9f187db58297453977ffa09294f41847b56f843f64789a98dad4b98b4cff196108b9cd7aa28a77968004dd +docfiles size=366 RELOC/doc/lualatex/piton/README.md details="Readme" RELOC/doc/lualatex/piton/piton-french.pdf details="Package documentation (French)" language="fr" RELOC/doc/lualatex/piton/piton-french.tex RELOC/doc/lualatex/piton/piton.pdf details="Package documentation (English)" -srccontainersize 48396 -srccontainerchecksum f29cdafeb5efbe3a0d927a68183687aaa6ac6f932a24d362af32827377de566f69c8721329546d07c1a1127da587b25fa3b649ffed0579056e88bf9e987bb7c6 -srcfiles size=60 +srccontainersize 49484 +srccontainerchecksum 88e7a9a60ec494211a7710e9a3065b07ff7161f250e1e603fb8b0456c1aa2f82e111bd94742b64114130bc1cf104cf2f94a2e1081aafca1e6f63bd6f817c4160 +srcfiles size=63 RELOC/source/lualatex/piton/piton.dtx RELOC/source/lualatex/piton/piton.ins -runfiles size=23 +runfiles size=26 RELOC/tex/lualatex/piton/piton.lua RELOC/tex/lualatex/piton/piton.sty catalogue-also codehigh @@ -258948,7 +258984,7 @@ catalogue-contact-repository https://github.com/fpantigny/piton catalogue-ctan /macros/luatex/latex/piton catalogue-license lppl1.3 catalogue-topics listing synt-hlt luatex expl3 -catalogue-version 2.3 +catalogue-version 2.4 name pittetd category Package @@ -265405,7 +265441,7 @@ catalogue-version 0.13c name ppt-slides category Package -revision 68764 +revision 69458 shortdesc Good-looking slide decks a la PowerPoint (PPT) relocated 1 longdesc This LaTeX package helps you create slide decks as good-looking @@ -265424,19 +265460,19 @@ depend tikzpagenodes depend tools depend varwidth depend xcolor -containersize 4204 -containerchecksum 6b4748adc7f9823f7ff3dce2a73c4535085974a9f7cda33b53a934acd3399e310a85dbdf367102f71c310b8678119d3396f71f36e3e26063569a85af0c77595c -doccontainersize 789572 -doccontainerchecksum e258319f37ef32ce20ec72e055755ce1782e2133a98fdfaeee6402c404df02e1c60ef9fbdaff39306da947534b6bd79fd16c2b82d4a635325ad8c94858b4cbea +containersize 4112 +containerchecksum 59191fec553512620c04c25f1d9967440253cf54503f34c6e1502e734a14dc9877ede13d334fd7f87bd86f5671fb410eef0c0068d707f8bb0566a12f4e2c2a7f +doccontainersize 791348 +doccontainerchecksum ccb47339e04eb07325dd489f389a569e523614d5808988070848d14f00d9e6e4abbff3cc9175f04c4af374b6e95629cf32752dffdec008af62b3de658592c1da docfiles size=256 RELOC/doc/latex/ppt-slides/DEPENDS.txt RELOC/doc/latex/ppt-slides/LICENSE.txt RELOC/doc/latex/ppt-slides/README.md details="Readme" RELOC/doc/latex/ppt-slides/ppt-slides.pdf details="Package documentation and example of use" RELOC/doc/latex/ppt-slides/socrates.jpg -srccontainersize 6516 -srccontainerchecksum a5f1384b3d4fd1e33e924b2bc51498c509772136bac0c03abab8125ab5ef0720f5583ffb9236ce9a044bb87127e0f42ae6668c4fd2b0b98f07e32ded13ce619b -srcfiles size=6 +srccontainersize 6680 +srccontainerchecksum b7c0f8c8503900f84ae8e98b9cdc4b0b68ea72bab031f09cc602a55063a12f750fd9c290e1079ec9f46c1e65b86144cec73388fcc134359266442c960d3078c3 +srcfiles size=7 RELOC/source/latex/ppt-slides/ppt-slides.dtx RELOC/source/latex/ppt-slides/ppt-slides.ins runfiles size=7 @@ -265450,7 +265486,7 @@ catalogue-contact-repository https://github.com/yegor256/ppt-slides catalogue-ctan /macros/latex/contrib/ppt-slides catalogue-license mit catalogue-topics presentation -catalogue-version 0.3.0 +catalogue-version 0.3.1 name pracjourn category Package @@ -285409,7 +285445,7 @@ catalogue-topics font font-body font-proportional font-mono font-sans font-serif name robust-externalize category Package -revision 68842 +revision 69459 shortdesc Cache anything (TikZ, python, ...) in a robust, efficient and pure way relocated 1 longdesc This package provides a LaTeX library to cache anything (TikZ, @@ -285417,15 +285453,15 @@ longdesc python, ...), in a robust, efficient and pure way. We also longdesc provide a template system with placeholders to provide longdesc configurable templates. For more information, see the longdesc documentation and the github repository. -containersize 27184 -containerchecksum b210a9adbfa6bc7d0063e624a30abb885eb49a7e7dd3e215f97784e5da4c79886fe4d19aa012395894098833c18209c117e913b14091fd2f3eb8904a356fd792 -doccontainersize 691812 -doccontainerchecksum e1732e10a355b4f54d870420acfa3bbeb6256b0a7c0136f5cfde829ff02885422b175c2834b229bf22a4b4a28a1c8e80932af2b0a826b1658d0d8ec58de909bf -docfiles size=244 +containersize 35040 +containerchecksum e15a349a1b9b3283ef8efc534cfc3f506fe0b2114189941e344a029a9104bd9946d13f540c3626501c678f20ba66b2ab4b0aa103499cb6127bd2c0c1645b9e20 +doccontainersize 1342484 +doccontainerchecksum 05a2619dc2b3c43df9dfc32dc5de2ffc6845a23cd3f85df9f6a2955c3a1a9c3c819cacbbcb82ed1b033073b632d035c8367d6e1c3fe17cfad7cefbe57fd3f976 +docfiles size=457 RELOC/doc/latex/robust-externalize/README.md details="Readme" RELOC/doc/latex/robust-externalize/robust-externalize.pdf details="Package documentation" RELOC/doc/latex/robust-externalize/robust-externalize.tex -runfiles size=35 +runfiles size=45 RELOC/tex/latex/robust-externalize/robust-externalize.sty catalogue-contact-announce https://github.com/leo-colisson/robust-externalize/releases catalogue-contact-bugs https://github.com/leo-colisson/robust-externalize/issues @@ -285433,7 +285469,7 @@ catalogue-contact-repository https://github.com/leo-colisson/robust-externalize/ catalogue-ctan /macros/latex/contrib/robust-externalize catalogue-license mit catalogue-topics compilation expl3 -catalogue-version 2.2 +catalogue-version 2.5 name robustcommand category Package @@ -311569,7 +311605,7 @@ binfiles arch=x86_64-solaris size=1 name tex4ht category Package -revision 69412 +revision 69463 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 @@ -311590,10 +311626,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 1116136 -containerchecksum 59848f9a4accb16164f2af9c7c26ae4a28af826116ac85f68fd1d9a399b979cff18e0d15ad85cbcdec5a955a01da1f46fc7ea6c817a216cc8aaf0df88c5b9ef6 +containersize 1116308 +containerchecksum 9ef08eb11e654575d48957cedc168b1fee5f4edc2dfc1c068e5a1bfa8bdf2d89edb8df8a176ff1507986f8940f9afbf745ba7e99af2e02ad4b9165af666fe8ec doccontainersize 136384 -doccontainerchecksum 6756a4022af3e42e47e090638e114a2d4c4a50bcfef7473bb8ebac3a9d2adea6153b7596144f65955cf02a697c0df47a631877118cdfe8b25a00ffcd5b1737de +doccontainerchecksum d8a76bc65f6b6af3498b42550103c543ac036c97cf547098cfcafc9a9ab7e6362b43e40f31d8368084f96557bea1848661b4a4db327afe1d2a3d465d99707dd0 docfiles size=260 texmf-dist/doc/generic/tex4ht/Makefile texmf-dist/doc/generic/tex4ht/README details="Readme" @@ -311665,8 +311701,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 1484084 -srccontainerchecksum c1c3746084f4eb88f6aab21c20168e9a520f4757eeec5d6742e905d81aff44d5b2b0265efcad2066fab8669a59186a05d634bbe87f28b44f6e58cf3a0fac52ae +srccontainersize 1479264 +srccontainerchecksum a3611eecca3260f0ba8d06ab4d5a5da2c20f097570a4846a6608a51a10fe6e41bdcef0f66fcf0b11724c7aabddb70ca000339cbb64f78856a852199354c4fd04 srcfiles size=4632 texmf-dist/source/generic/tex4ht/ChangeLog texmf-dist/source/generic/tex4ht/Makefile @@ -311747,7 +311783,7 @@ srcfiles size=4632 texmf-dist/source/generic/tex4ht/update-htfonts texmf-dist/source/generic/tex4ht/wripro.tex texmf-dist/source/generic/tex4ht/xtpipes.tex -runfiles size=13077 +runfiles size=13078 texmf-dist/scripts/tex4ht/ht.sh texmf-dist/scripts/tex4ht/htcopy.pl texmf-dist/scripts/tex4ht/htlatex.sh @@ -312109,6 +312145,7 @@ runfiles size=13077 texmf-dist/tex/generic/tex4ht/pdfbase-hooks.4ht texmf-dist/tex/generic/tex4ht/pdfpages.4ht texmf-dist/tex/generic/tex4ht/pdfx-hooks.4ht + texmf-dist/tex/generic/tex4ht/pgf-hooks.4ht texmf-dist/tex/generic/tex4ht/pgf.4ht texmf-dist/tex/generic/tex4ht/physics.4ht texmf-dist/tex/generic/tex4ht/picins.4ht @@ -324077,7 +324114,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 69415 +revision 69447 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. @@ -324085,10 +324122,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 114276 -containerchecksum fe322c525f5787a17d4ee7e7b6f2fbaad5574ce83b08c31f5878c8f11a8dbb50e50d47a914289ac0c39ac6bf0ab451c4e812fb459ee8a75a5206ae16733048a0 -doccontainersize 431400 -doccontainerchecksum d9016f7838fd24c0b335fee6dc2544b957d8b49ee148a25371dfcbdc5ebf0f87599cdd2e33bfc9293e5df0001b36772c4401aa2f19e4c08824ac96a38a1cb94b +containersize 114280 +containerchecksum 96b666030ebc16b6ce9e540b36bbb6ced1c24cd17301ea96ee015468818ba3ae06f1fa36e5ca7995501ed1acc5552e273a33031f871fe749bfc64c810ce2dbcc +doccontainersize 431496 +doccontainerchecksum 61e12e21be2a86b339735b7a5cb589fb6acb232c28f9b452ba41c0be46beaa5a72a9e24331d4427103e81693e01785684532f13ab01039f7954381ebd1e4e6ad docfiles size=562 doc.html texmf-dist/doc/man/man1/fmtutil-sys.1 @@ -325755,26 +325792,26 @@ catalogue-version 1.3.1 name texlogsieve category Package -revision 69072 +revision 69436 shortdesc Filter and summarize LaTeX log files longdesc texlogsieve reads a LaTeX log file (or the standard input if no longdesc file is specified), filters out less relevant messages, and longdesc displays a summary report. It is a texlua script, similar in longdesc spirit to tools such as texfot, texloganalyser, rubber-info, -longdesc textlog_extract, texlogparser, and others. Highlights: Two -longdesc reports: the most important messages from the log file followed -longdesc by a summary of repeated messages, undefined references etc.; -longdesc The program goes to great lengths to correctly handle TeX line -longdesc wrapping and does a much better job at that than existing -longdesc tools; Multiline messages are treated as a single entity; -longdesc Several options to control which messages should be filtered -longdesc out; No messages are accidentally removed; The summary report -longdesc is currently simple, but useful. +longdesc textlog_extract, texlogparser, texlogfilter, and others. +longdesc Highlights: Two reports: the most important messages from the +longdesc log file followed by a summary of repeated messages, undefined +longdesc references etc.; The program goes to great lengths to correctly +longdesc handle TeX line wrapping and does a much better job at that +longdesc than existing tools; Multiline messages are treated as a single +longdesc entity; Several options to control which messages should be +longdesc filtered out; No messages are accidentally removed; The summary +longdesc report is currently simple, but useful. depend texlogsieve.ARCH -containersize 46836 -containerchecksum 22822a9ea14652674238224914fd84d9ea09ba1a19fd8eca288fad52c35b0c7e0a0003730b1214e9f358d068eeda191a92dbb2cf2e14bf29297b61177af1a1b4 -doccontainersize 114904 -doccontainerchecksum 507ed977b9c272c789fabe42b48b60722c09f0548c4f857d9f3207651b05ac593a6e2b94a53f66527591cc3bc15b61a3849a540db3923d196f135dd7cce11836 +containersize 46980 +containerchecksum a4e94f5674cc2bb54f03e285aa18a19d3c389455f2ab15e40998aed6d211435bde3fcf549c989364673bc77a93458e4146b0e662d4bd139e18880a36d4445832 +doccontainersize 115048 +doccontainerchecksum 47d11f611bc3a440dab6dea06cc55053802d2b78133eec21af4eb8d44e74b013a4dd8df0667b946afcbdd8132821ab1429f30f74da610bc1e1283793d465c454 docfiles size=46 texmf-dist/doc/man/man1/texlogsieve.1 texmf-dist/doc/man/man1/texlogsieve.man1.pdf @@ -325788,7 +325825,7 @@ catalogue-contact-repository https://gitlab.com/lago/texlogsieve catalogue-ctan /support/texlogsieve catalogue-license gpl3+ catalogue-topics comp-mgmt log-manip use-lua -catalogue-version 1.4.0 +catalogue-version 1.4.1 name texlogsieve.aarch64-linux category Package @@ -332867,17 +332904,17 @@ catalogue-version 2.1d name tkz-base category Package -revision 66115 +revision 69460 shortdesc Tools for drawing with a cartesian coordinate system relocated 1 longdesc The bundle is a set of packages, designed to give mathematics longdesc teachers (and students) easy access to programming of drawings longdesc with TikZ. -containersize 16308 -containerchecksum 1bcee5c2d6ce967369dbd6fc7c55a69793410c2d1a4de6c66c79071a360c3a0889c014eaab27ac73c771424c0d0655cabe62f9e2514dc13de418c336ea09ef80 -doccontainersize 373140 -doccontainerchecksum 3c2f7a584b1580c4fe15a5945b45a912960bff6c25ad637be8a43ee82b752949e1228008179d7a311b6961b1d0d4aa08fc44daa02696d2fdcc51777512db80c7 -docfiles size=133 +containersize 16296 +containerchecksum a26cb6c8fda3baad6d455a989a4c0f46b5e3b1364acb8f32a866f5ed946344574d29b310c2fbf4e3534dde555d068ae588f9e04b430d15a59ccfdedfe31bd2ca +doccontainersize 368052 +doccontainerchecksum 9da2aa2bad4901e14cb4c8fa747af000de891005c38175bdce88d706fe83166b534f0d5b39c8557e5ae5975b8b58212cfafee7d2d22c07e76d41ba77ce1403fe +docfiles size=132 RELOC/doc/latex/tkz-base/README.md details="Readme" RELOC/doc/latex/tkz-base/TKZdoc-base-BB.tex RELOC/doc/latex/tkz-base/TKZdoc-base-axes.tex @@ -332922,7 +332959,7 @@ catalogue-contact-home http://altermundus.fr catalogue-ctan /macros/latex/contrib/tkz/tkz-base catalogue-license lppl1.3 catalogue-topics pgf-tikz -catalogue-version 4.2c +catalogue-version 4.21c name tkz-berge category Package @@ -333166,7 +333203,7 @@ catalogue-version 1.45c name tkz-elements category Package -revision 69213 +revision 69461 shortdesc A Lua library for drawing Euclidean geometry with TikZ or tkz-euclide relocated 1 longdesc This package provides a library written in Lua, allowing to @@ -333177,11 +333214,11 @@ longdesc main possibility of programmation proposed is oriented "object longdesc programming" with object classes like point, line, triangle, longdesc circle and ellipse. For the moment, once the calculations are longdesc done, it is tkz-euclide or TikZ which allows the drawings. -containersize 16596 -containerchecksum 66380dcbb489c8afd4f916024baf3008975543424a391e0449f261f9fdb66118f9dd4bc8ad988a4f48ed2a770daca48fdb98243456025d545736e61e2b42aed3 -doccontainersize 684280 -doccontainerchecksum 4f6630df37eb9192cd2b9d0f0b4f687762e39b83ac6b4249e86defe945093ead57dcad5414a0ae1edceca75eef7f8be706b3b626dd4557b2377354d8717bea1b -docfiles size=261 +containersize 17216 +containerchecksum de69c7074684a308bc04b97d182ba6977ea24797e71db1f86de0ea7f0599927e9fe092bfe29e77263c99fa618a3ed9e90cd37c7eeb29b72049c3a3574c1cec90 +doccontainersize 747488 +doccontainerchecksum 95681e2aa14371df774ae0ab6b57d61f57a17e62bef58c780004f498c11546de66bafaa2bfdf1a853692403147e76dcf205e19c8684ec1c28dfcacfd2d40acaf +docfiles size=291 RELOC/doc/latex/tkz-elements/README.md details="Readme" RELOC/doc/latex/tkz-elements/TKZdoc-elements-classes-circle.tex RELOC/doc/latex/tkz-elements/TKZdoc-elements-classes-ellipse.tex @@ -333199,9 +333236,12 @@ docfiles size=261 RELOC/doc/latex/tkz-elements/TKZdoc-elements-examples.tex RELOC/doc/latex/tkz-elements/TKZdoc-elements-indepthstudy.tex RELOC/doc/latex/tkz-elements/TKZdoc-elements-intersection.tex + RELOC/doc/latex/tkz-elements/TKZdoc-elements-inversion.tex RELOC/doc/latex/tkz-elements/TKZdoc-elements-main.tex + RELOC/doc/latex/tkz-elements/TKZdoc-elements-organization.tex RELOC/doc/latex/tkz-elements/TKZdoc-elements-presentation.tex RELOC/doc/latex/tkz-elements/TKZdoc-elements-structure.tex + RELOC/doc/latex/tkz-elements/TKZdoc-elements-tests.tex RELOC/doc/latex/tkz-elements/TKZdoc-elements-transferts.tex RELOC/doc/latex/tkz-elements/TKZdoc-elements-why.tex RELOC/doc/latex/tkz-elements/examples/tkz-elements-demo_1.pdf @@ -333212,8 +333252,10 @@ docfiles size=261 RELOC/doc/latex/tkz-elements/examples/tkz-elements-demo_3.tex RELOC/doc/latex/tkz-elements/examples/tkz-elements-demo_4.pdf RELOC/doc/latex/tkz-elements/examples/tkz-elements-demo_4.tex + RELOC/doc/latex/tkz-elements/gold_preamble.lua + RELOC/doc/latex/tkz-elements/sangaku.lua RELOC/doc/latex/tkz-elements/tkz-elements.pdf details="Package documentation" -runfiles size=33 +runfiles size=35 RELOC/tex/latex/tkz-elements/tkz-elements.sty RELOC/tex/latex/tkz-elements/tkz_elements_circle.lua RELOC/tex/latex/tkz-elements/tkz_elements_class.lua @@ -333240,21 +333282,21 @@ catalogue-contact-home https://altermundus.fr catalogue-ctan /macros/latex/contrib/tkz/tkz-elements catalogue-license lppl1.3 catalogue-topics maths calculation luatex -catalogue-version 1.72c +catalogue-version 1.82c name tkz-euclide category Package -revision 68747 +revision 69462 shortdesc Tools for drawing Euclidean geometry relocated 1 longdesc The tkz-euclide package is a set of files designed to give math longdesc teachers and students easy access to the programming of longdesc Euclidean geometry with TikZ. -containersize 41924 -containerchecksum 14e39eb45f188f8563b8c49b16cceffe62117ac3cb17d484d1722122b6f3ca927b35ed0dc15cf0650d877f584eaf05f6473dcd8ca83f4766f5d421a07eced464 -doccontainersize 1175256 -doccontainerchecksum ba09b1cbb47c65ab74119c7e52fc4d08c3174ddfebe0cae6c3b0ad9954d40e78bb57a219acb12584cc67616d51d70212de284a4f30286ecdfc3bd70c4ef9bf8b -docfiles size=392 +containersize 41944 +containerchecksum bdac2d5f2bb723b25612257659444a67efe515990bb1ae6a1901cd1eec40f645c8da55c9fd3652d3b7ef8e60162181db232c7fedf7f094cb31e9e74ea336095e +doccontainersize 1172932 +doccontainerchecksum 23e70d1723b07f7d802e71222611934876db06f238db13f2ac659ab064905060769947a08ea2e0812f2103c4f7a402ed34fc4b2ce51a7b7efe5e4e5327ee1135 +docfiles size=391 RELOC/doc/latex/tkz-euclide/README.md details="Readme" RELOC/doc/latex/tkz-euclide/TKZdoc-euclide-FAQ.tex RELOC/doc/latex/tkz-euclide/TKZdoc-euclide-angles.tex @@ -333340,7 +333382,7 @@ catalogue-contact-home https://altermundus.fr catalogue-ctan /macros/latex/contrib/tkz/tkz-euclide catalogue-license lppl1.3 catalogue-topics maths graphics-use use-luatex pgf-tikz -catalogue-version 5.04c +catalogue-version 5.05c name tkz-fct category Package @@ -375285,7 +375327,7 @@ catalogue-version 1.4e name zx-calculus category Package -revision 60838 +revision 69455 shortdesc A library to typeset ZX Calculus diagrams relocated 1 longdesc This library (based on the great TikZ and TikZ-cd packages) @@ -375294,15 +375336,16 @@ longdesc with many pre-built wire shapes, a highly customizable node longdesc style (with multiple flavours for putting labels inside or longdesc outside nodes), and a "debugging" mode to avoid getting lost in longdesc big diagrams. -containersize 19132 -containerchecksum 17854656622c012a3c0a4711e9c38d2c100a156072e7556b3ba3d6ce6edf1463c69078073bd72b83d3136e96e72e4adfff3982a73d4fd4d66fa98ff6823eafb5 -doccontainersize 631596 -doccontainerchecksum 076a25ef96775d28fad2e97027ef69b983f1cc44f11866b7f6db0408bca45759b8ed0f3914516712f235ee4a670bb3fcb28954a2b3f745786e6d6f8f7c06cde9 -docfiles size=185 +containersize 38400 +containerchecksum 5849c1cebc5e3cd88f8c9d5f5841c6ae037ace8182b47135c83738ec97b4ddacb236912707a7fee72ad0aa3ea7c472111237d5227434fbeef95dcd9289e9f856 +doccontainersize 1158936 +doccontainerchecksum 1cc693a10173fa3d8b8542b401b2a8f68c4fc1358e1c60116f3b3505cd3bf46f4fadd0592d9e1d1283de027ecb626dd74244ba20fdd4dc8d29d7a8332909a835 +docfiles size=345 RELOC/doc/latex/zx-calculus/README.md details="Readme" + RELOC/doc/latex/zx-calculus/biblio.bib RELOC/doc/latex/zx-calculus/zx-calculus.pdf details="Package documentation" RELOC/doc/latex/zx-calculus/zx-calculus.tex -runfiles size=21 +runfiles size=46 RELOC/tex/latex/zx-calculus/tikzlibraryzx-calculus.code.tex RELOC/tex/latex/zx-calculus/zx-calculus.sty catalogue-contact-bugs https://github.com/leo-colisson/zx-calculus/issues @@ -375310,6 +375353,7 @@ catalogue-contact-repository https://github.com/leo-colisson/zx-calculus catalogue-ctan /graphics/pgf/contrib/zx-calculus catalogue-license mit catalogue-topics pgf-tikz diagram +catalogue-version 2.0 name zxjafbfont category Package diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 index c361b583bb..699fece1e3 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -b08f5bbaf519ff9a58180840eee2f0b3 texlive.tlpdb +b10ba2c0e7ff72886468afd6c3943b8b texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index 4064fb7a25..817da199a4 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -d54fa1dbb7fe99f3609079322fe9d8b945c3ae7a88a8cec18234cb67be454939f20b064561f873d934d410dbf0fbda8f83522b2a023cb0ee3db03c6ed7f8ace2 texlive.tlpdb +e73f388021f4d116f14a475074a3eac01f9055b29297be1923abc71667a89a4f8b21c0c53de2178790616594092715b9f6329d7a055f8fea0527aa44f917a2a3 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index b57773db33..18952c56a1 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+QqiBBqTOGHfhlDjHAFAmWkgC8ACgkQTOGHfhlD -jHBK0Af/cMu3agQj/3QXmRbGE0bWeamv2l5uAS+GI+f58GpxemBaezK+8GBlC2/2 -jpRIvy7X4mQ4ZHRdHKm2O1u6u6kP00r84IwfUbeC5ZwccnKRiE0iUPZT6d+Jf5wN -Ry8Ztem/XrhPaJyqAXc7qDK/Bj0ztnrWIfSLT9PQuDrmdD5a4vsPRN61wu2vZg/2 -bzQW8rgmeWSvtelafltOMdxKDtxCrifSABu1UHXNrhhwuirQQYd8CtzwCKOifK+Z -HMml7mFg5MVzCWEsMkhyct/LYEXm1+IlLKGHHRuhWIPzxfHN/VB1DyHG5KEq7jvJ -Q1VW9tjnG/Yl70Eg45KNDQVS6MygRQ== -=UOJZ +iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmWnI4QACgkQTOGHfhlD +jHA24Af/TPb/SnSjaleevpDGDA+tQRT91KUA+md2DumJMlOsaFLkGXydmFbKD3lc +1fcJysMGHKm9X97pbT3Uj54pMuo3zOH5qL8bR13g4pHyjY69uR4l0oeVWnpE8JuT +gbsFX8EZ7uGaNXSRViiPCrXqKfeZqBIJdNe/DuwRjqWyyxMffGygkFMIubrNH1wa +1W+iDoIfWjLs+KIQl4HYI0b7yLxGow526F/SWfwjSUDtMKxDY0WQOphs7Lu1G1Hf +xvyJ/WNXedLVz4bbYPZdx/xXM6g0nneYbGtW6i+yNFv1W1OhNRr2A3nssK3e3cea +zEVDlc8ii3GfHaaewlW9yzHMYDURyA== +=D8ke -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz index 7e2271c81e..9858397bf1 100644 Binary files a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz and b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz differ diff --git a/timestamp b/timestamp index b4e062df94..7b94ead4d6 100644 --- a/timestamp +++ b/timestamp @@ -2,4 +2,4 @@ # The source CTAN of this site's material: dante.ctan.org # The year-month-day-hour-minute of this site's material: -2024-01-17-02-02 +2024-01-18-02-02 -- cgit v1.2.3