diff options
54 files changed, 3812 insertions, 627 deletions
diff --git a/FILES.byname b/FILES.byname index 03abbd8fca..0ea34359df 100644 --- a/FILES.byname +++ b/FILES.byname @@ -5264,7 +5264,7 @@ 1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp 1990/10/02 | 812 | dviware/vutex/vaxvms.ins 1990/10/02 | 127576 | dviware/vutex/vutex.web -2022/08/15 | 97914 | FILES.last07days +2022/08/16 | 89788 | 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 @@ -159320,6 +159320,30 @@ 2020/06/30 | 590 | graphics/pgf/contrib/tikzducks/tikzlibraryducks.code.tex 2020/06/30 | 1603 | graphics/pgf/contrib/tikzducks/t-tikzducks.mkiv 2020/06/30 | 469453 | graphics/pgf/contrib/tikzducks.zip +2022/08/15 | 751 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-intro.tex +2022/08/16 | 9602 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-misc.tex +2022/08/16 | 3721 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.arcto.tex +2022/08/15 | 5868 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.ortho.tex +2022/08/16 | 4279 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.timer.tex +2022/08/14 | 1576 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-patterns.images.tex +2022/08/16 | 2158 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-topaths.arcthrough.tex +2022/08/14 | 5245 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-trans.tex +2022/08/16 | 3896 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-body.tex +2022/08/16 | 2498 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-preamble.tex +2022/08/14 | 5230 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-trans.tex +2022/08/16 | 233128 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.pdf +2022/08/16 | 823 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.tex +2022/08/14 | 3357 | graphics/pgf/contrib/tikz-ext/pgflibrarytransformations.mirror.code.tex +2022/08/16 | 624 | graphics/pgf/contrib/tikz-ext/README.md +2022/08/16 | 9476 | graphics/pgf/contrib/tikz-ext/tikzlibrarymisc.code.tex +2022/08/16 | 4668 | graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.arcto.code.tex +2022/08/14 | 8366 | graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.ortho.code.tex +2022/08/15 | 19678 | graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.ortho.tex +2022/08/14 | 8121 | graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.timer.code.tex +2022/08/14 | 2217 | graphics/pgf/contrib/tikz-ext/tikzlibrarypatterns.images.code.tex +2022/08/16 | 2497 | graphics/pgf/contrib/tikz-ext/tikzlibrarytopaths.arcthrough.code.tex +2022/08/14 | 3132 | graphics/pgf/contrib/tikz-ext/tikzlibrarytransformations.mirror.code.tex +2022/08/16 | 259454 | graphics/pgf/contrib/tikz-ext.zip 2019/08/19 | 2649 | graphics/pgf/contrib/tikz-feynhand/changes.txt 2019/08/19 | 1924 | graphics/pgf/contrib/tikz-feynhand/README.md 2016/08/12 | 48826 | graphics/pgf/contrib/tikz-feynhand/shell_escape.jpg @@ -197636,16 +197660,16 @@ 2015/04/18 | 4795 | macros/generic/lpform/lpform.sty 2014/07/14 | 902 | macros/generic/lpform/README 2015/04/18 | 271086 | macros/generic/lpform.zip -2022/08/08 | 1389 | macros/generic/lt3luabridge/docstrip.cfg -2022/08/08 | 181 | macros/generic/lt3luabridge/example.context -2022/08/08 | 217 | macros/generic/lt3luabridge/example.latex -2022/08/08 | 167 | macros/generic/lt3luabridge/example.plaintex -2022/08/08 | 19105 | macros/generic/lt3luabridge/LICENSE -2022/08/08 | 13969 | macros/generic/lt3luabridge/lt3luabridge.dtx -2022/08/08 | 253 | macros/generic/lt3luabridge/lt3luabridge.ins -2022/08/08 | 492084 | macros/generic/lt3luabridge/lt3luabridge.pdf -2022/08/08 | 896 | macros/generic/lt3luabridge/README.md -2022/08/08 | 489692 | macros/generic/lt3luabridge.zip +2022/08/16 | 1389 | macros/generic/lt3luabridge/docstrip.cfg +2022/08/16 | 181 | macros/generic/lt3luabridge/example.context +2022/08/16 | 217 | macros/generic/lt3luabridge/example.latex +2022/08/16 | 167 | macros/generic/lt3luabridge/example.plaintex +2022/08/16 | 19105 | macros/generic/lt3luabridge/LICENSE +2022/08/16 | 13969 | macros/generic/lt3luabridge/lt3luabridge.dtx +2022/08/16 | 253 | macros/generic/lt3luabridge/lt3luabridge.ins +2022/08/16 | 492628 | macros/generic/lt3luabridge/lt3luabridge.pdf +2022/08/16 | 896 | macros/generic/lt3luabridge/README.md +2022/08/16 | 490190 | macros/generic/lt3luabridge.zip 2020/09/22 | 66128 | macros/generic/ltxcmds/ltxcmds.dtx 2020/09/22 | 397106 | macros/generic/ltxcmds/ltxcmds.pdf 2020/09/22 | 379 | macros/generic/ltxcmds/README.md @@ -218414,16 +218438,16 @@ 2020/04/10 | 1003 | macros/latex/contrib/hepunits/README 2020/04/10 | 101262 | macros/latex/contrib/hepunits.zip 2005/12/14 | 3617 | macros/latex/contrib/hep.zip -2022/08/13 | 770 | macros/latex/contrib/hereapplies/ChangeLog.md -2022/02/13 | 34523 | macros/latex/contrib/hereapplies/COPYING -2022/08/13 | 49807 | macros/latex/contrib/hereapplies/hereapplies-example.pdf -2022/08/12 | 890 | macros/latex/contrib/hereapplies/hereapplies-example.tex -2022/08/13 | 9744 | macros/latex/contrib/hereapplies/hereapplies.sty -2022/08/12 | 4868 | macros/latex/contrib/hereapplies/lyx-module/hereapplies-example.lyx -2022/08/13 | 2190 | macros/latex/contrib/hereapplies/lyx-module/hereapplies.module -2022/08/13 | 611 | macros/latex/contrib/hereapplies/package.json -2022/08/13 | 4737 | macros/latex/contrib/hereapplies/README.md -2022/08/13 | 68350 | macros/latex/contrib/hereapplies.zip +2022/08/16 | 1121 | macros/latex/contrib/hereapplies/ChangeLog.md +2022/08/16 | 34523 | macros/latex/contrib/hereapplies/COPYING +2022/08/16 | 50857 | macros/latex/contrib/hereapplies/hereapplies-example.pdf +2022/08/16 | 1093 | macros/latex/contrib/hereapplies/hereapplies-example.tex +2022/08/16 | 13335 | macros/latex/contrib/hereapplies/hereapplies.sty +2022/08/16 | 5720 | macros/latex/contrib/hereapplies/lyx-module/hereapplies-example.lyx +2022/08/16 | 2256 | macros/latex/contrib/hereapplies/lyx-module/hereapplies.module +2022/08/16 | 611 | macros/latex/contrib/hereapplies/package.json +2022/08/16 | 5475 | macros/latex/contrib/hereapplies/README.md +2022/08/16 | 69999 | macros/latex/contrib/hereapplies.zip 2009/11/22 | 439 | macros/latex/contrib/here/here.sty 2009/11/22 | 399 | macros/latex/contrib/here/README 2009/11/22 | 866 | macros/latex/contrib/here.zip @@ -223000,15 +223024,15 @@ 2020/11/24 | 3537 | macros/latex/contrib/ms/multitoc.ins 2007/04/15 | 110362 | macros/latex/contrib/ms/multitoc.pdf 2021/01/17 | 401 | macros/latex/contrib/ms/README.md -2022/06/30 | 36041 | macros/latex/contrib/msu-thesis/msu-thesis.cls -2022/06/30 | 250087 | macros/latex/contrib/msu-thesis/msu-thesis.pdf -2022/06/30 | 36568 | macros/latex/contrib/msu-thesis/msu-thesis.tex -2022/06/30 | 1806 | macros/latex/contrib/msu-thesis/README.md -2022/06/30 | 7188 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex -2022/06/30 | 615 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.bib -2022/06/30 | 160096 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf -2022/06/30 | 9510 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex -2022/06/30 | 430812 | macros/latex/contrib/msu-thesis.zip +2022/08/16 | 36535 | macros/latex/contrib/msu-thesis/msu-thesis.cls +2022/08/16 | 253032 | macros/latex/contrib/msu-thesis/msu-thesis.pdf +2022/08/16 | 38202 | macros/latex/contrib/msu-thesis/msu-thesis.tex +2022/08/16 | 1806 | macros/latex/contrib/msu-thesis/README.md +2022/08/16 | 7188 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex +2022/08/16 | 615 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.bib +2022/08/16 | 160096 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf +2022/08/16 | 9510 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex +2022/08/16 | 434368 | macros/latex/contrib/msu-thesis.zip 2021/01/19 | 594454 | macros/latex/contrib/ms.zip 1999/07/29 | 5665 | macros/latex/contrib/mtgreek/mtgreek.dtx 1999/07/29 | 752 | macros/latex/contrib/mtgreek/mtgreek.ins @@ -226797,20 +226821,22 @@ 2011/03/16 | 68222 | macros/latex/contrib/pxgreeks/pxgreeks.pdf 2011/03/25 | 1502 | macros/latex/contrib/pxgreeks/README 2011/03/26 | 62655 | macros/latex/contrib/pxgreeks.zip -2020/12/21 | 62882 | macros/latex/contrib/pygmentex/blueshade.png -2020/12/21 | 300 | macros/latex/contrib/pygmentex/Factorial.java -2020/12/21 | 236 | macros/latex/contrib/pygmentex/pygmentex_demo.c -2020/12/21 | 115 | macros/latex/contrib/pygmentex/pygmentex_demo.delphi -2020/12/21 | 166 | macros/latex/contrib/pygmentex/pygmentex_demo.hs -2020/12/21 | 1719 | macros/latex/contrib/pygmentex/pygmentex_demo.java -2020/12/21 | 100 | macros/latex/contrib/pygmentex/pygmentex_demo.pas -2020/12/21 | 585220 | macros/latex/contrib/pygmentex/pygmentex_demo.pdf -2020/12/21 | 283 | macros/latex/contrib/pygmentex/pygmentex_demo.py -2020/12/21 | 23716 | macros/latex/contrib/pygmentex/pygmentex_demo.tex -2020/12/21 | 16261 | macros/latex/contrib/pygmentex/pygmentex.py -2020/12/21 | 11380 | macros/latex/contrib/pygmentex/pygmentex.sty -2020/12/21 | 773 | macros/latex/contrib/pygmentex/README -2020/12/21 | 663194 | macros/latex/contrib/pygmentex.zip +2022/08/16 | 62882 | macros/latex/contrib/pygmentex/blueshade.png +2022/08/16 | 300 | macros/latex/contrib/pygmentex/Factorial.java +2022/08/16 | 37310 | macros/latex/contrib/pygmentex/pygmentex_demo_2.pdf +2022/08/16 | 415 | macros/latex/contrib/pygmentex/pygmentex_demo_2.tex +2022/08/16 | 236 | macros/latex/contrib/pygmentex/pygmentex_demo.c +2022/08/16 | 115 | macros/latex/contrib/pygmentex/pygmentex_demo.delphi +2022/08/16 | 166 | macros/latex/contrib/pygmentex/pygmentex_demo.hs +2022/08/16 | 1719 | macros/latex/contrib/pygmentex/pygmentex_demo.java +2022/08/16 | 100 | macros/latex/contrib/pygmentex/pygmentex_demo.pas +2022/08/16 | 668777 | macros/latex/contrib/pygmentex/pygmentex_demo.pdf +2022/08/16 | 283 | macros/latex/contrib/pygmentex/pygmentex_demo.py +2022/08/16 | 25110 | macros/latex/contrib/pygmentex/pygmentex_demo.tex +2022/08/16 | 16261 | macros/latex/contrib/pygmentex/pygmentex.py +2022/08/16 | 12029 | macros/latex/contrib/pygmentex/pygmentex.sty +2022/08/16 | 773 | macros/latex/contrib/pygmentex/README +2022/08/16 | 784594 | macros/latex/contrib/pygmentex.zip 2017/02/09 | 1490 | macros/latex/contrib/pythonhighlight/LICENSE.rst 2017/02/09 | 4900 | macros/latex/contrib/pythonhighlight/pythonhighlight.sty 2017/02/09 | 662 | macros/latex/contrib/pythonhighlight/README.md @@ -284049,8 +284075,8 @@ 2019/02/28 | 1845796 | systems/texlive/tlnet/archive/eledmac.doc.r45418.tar.xz 2019/02/28 | 39444 | systems/texlive/tlnet/archive/eledmac.r45418.tar.xz 2019/02/28 | 164628 | systems/texlive/tlnet/archive/eledmac.source.r45418.tar.xz -2022/04/10 | 1307000 | systems/texlive/tlnet/archive/elegantbook.doc.r62989.tar.xz -2022/04/10 | 10776 | systems/texlive/tlnet/archive/elegantbook.r62989.tar.xz +2022/08/16 | 1849624 | systems/texlive/tlnet/archive/elegantbook.doc.r64122.tar.xz +2022/08/16 | 11876 | systems/texlive/tlnet/archive/elegantbook.r64122.tar.xz 2022/04/10 | 883488 | systems/texlive/tlnet/archive/elegantnote.doc.r62989.tar.xz 2022/04/10 | 4880 | systems/texlive/tlnet/archive/elegantnote.r62989.tar.xz 2022/04/10 | 558440 | systems/texlive/tlnet/archive/elegantpaper.doc.r62989.tar.xz @@ -284406,8 +284432,8 @@ 2021/03/02 | 49904 | systems/texlive/tlnet/archive/exam.r58023.tar.xz 2022/01/24 | 313712 | systems/texlive/tlnet/archive/exam-randomizechoices.doc.r61719.tar.xz 2022/01/24 | 5624 | systems/texlive/tlnet/archive/exam-randomizechoices.r61719.tar.xz -2022/08/13 | 1848288 | systems/texlive/tlnet/archive/exam-zh.doc.r64109.tar.xz -2022/08/13 | 32936 | systems/texlive/tlnet/archive/exam-zh.r64109.tar.xz +2022/08/16 | 1739528 | systems/texlive/tlnet/archive/exam-zh.doc.r64123.tar.xz +2022/08/16 | 33360 | systems/texlive/tlnet/archive/exam-zh.r64123.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/exceltex.aarch64-linux.r46208.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/exceltex.amd64-freebsd.r25860.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/exceltex.amd64-netbsd.r30191.tar.xz @@ -291866,7 +291892,7 @@ 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz -2022/08/15 | 419324 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64116.tar.xz +2022/08/16 | 419316 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64121.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 @@ -291890,7 +291916,7 @@ 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz -2022/08/15 | 113524 | systems/texlive/tlnet/archive/texlive-scripts.r64116.tar.xz +2022/08/16 | 113524 | systems/texlive/tlnet/archive/texlive-scripts.r64121.tar.xz 2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz 2022/04/19 | 36296 | systems/texlive/tlnet/archive/texlive-scripts.win32.r63068.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz @@ -293294,9 +293320,9 @@ 2022/04/24 | 693304 | systems/texlive/tlnet/archive/xduthesis.doc.r63116.tar.xz 2022/04/24 | 113392 | systems/texlive/tlnet/archive/xduthesis.r63116.tar.xz 2022/04/24 | 15976 | systems/texlive/tlnet/archive/xduthesis.source.r63116.tar.xz -2022/07/29 | 689216 | systems/texlive/tlnet/archive/xduts.doc.r63996.tar.xz -2022/07/29 | 521060 | systems/texlive/tlnet/archive/xduts.r63996.tar.xz -2022/07/29 | 38156 | systems/texlive/tlnet/archive/xduts.source.r63996.tar.xz +2022/08/16 | 689500 | systems/texlive/tlnet/archive/xduts.doc.r64124.tar.xz +2022/08/16 | 521088 | systems/texlive/tlnet/archive/xduts.r64124.tar.xz +2022/08/16 | 38168 | systems/texlive/tlnet/archive/xduts.source.r64124.tar.xz 2022/03/01 | 527308 | systems/texlive/tlnet/archive/xdvi.aarch64-linux.r62280.tar.xz 2022/02/27 | 566196 | systems/texlive/tlnet/archive/xdvi.amd64-freebsd.r62206.tar.xz 2022/02/27 | 488448 | systems/texlive/tlnet/archive/xdvi.amd64-netbsd.r62220.tar.xz @@ -293715,16 +293741,16 @@ 2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz 2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz 2022/07/17 | 124404 | systems/texlive/tlnet/install-tl -2022/08/15 | 5831614 | systems/texlive/tlnet/install-tl-unx.tar.gz -2022/08/15 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2022/08/15 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2022/08/16 | 5831833 | systems/texlive/tlnet/install-tl-unx.tar.gz +2022/08/16 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2022/08/16 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat -2022/08/15 | 20438462 | systems/texlive/tlnet/install-tl-windows.exe -2022/08/15 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2022/08/15 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2022/08/15 | 25516459 | systems/texlive/tlnet/install-tl.zip -2022/08/15 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2022/08/15 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2022/08/16 | 20435573 | systems/texlive/tlnet/install-tl-windows.exe +2022/08/16 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2022/08/16 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2022/08/16 | 25516448 | systems/texlive/tlnet/install-tl.zip +2022/08/16 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2022/08/16 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2022/04/03 | 1229 | systems/texlive/tlnet/README.md 2022/04/03 | 0 | systems/texlive/tlnet/TEXLIVE_2022 2022/02/28 | 7791 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -293734,7 +293760,7 @@ 2022/02/28 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg 2022/05/27 | 49794 | systems/texlive/tlnet/tlpkg/installer/config.guess 2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt -2022/08/14 | 7400 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2022/08/15 | 7302 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2022/07/21 | 222477 | 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 @@ -293777,12 +293803,12 @@ 2021/05/16 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2021/12/21 | 27582 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2022/08/15 | 17582646 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2022/08/15 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2022/08/16 | 17582550 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2022/08/16 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2022/04/18 | 86658 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2022/08/15 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2022/08/15 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2022/08/15 | 2400228 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2022/08/16 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2022/08/16 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2022/08/16 | 2398964 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2021/12/21 | 58848 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2022/08/01 | 42206 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2021/12/21 | 16130 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm @@ -299055,7 +299081,7 @@ 2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma 2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma 2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma -2022/08/15 | 659342 | systems/win32/miktex/tm/packages/files.csv.lzma +2022/08/16 | 659342 | systems/win32/miktex/tm/packages/files.csv.lzma 2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma 2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma 2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma @@ -300737,9 +300763,9 @@ 2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma 2022/07/26 | 39695 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma 2022/08/13 | 43580 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma -2022/08/15 | 289521 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2022/08/15 | 1482730 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2022/08/15 | 1364887 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2022/08/16 | 289498 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2022/08/16 | 1482723 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2022/08/16 | 1364945 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma 2022/07/26 | 13519 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma 2022/08/13 | 14417 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma 2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma @@ -300980,102 +301006,102 @@ 2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma 2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma 2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma -2022/08/15 | 659852 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2022/08/15 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2022/08/15 | 1161749 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2022/08/15 | 31588 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2022/08/15 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2022/08/15 | 65130 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2022/08/15 | 95468 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2022/08/15 | 77210 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2022/08/15 | 31563 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma -2022/08/15 | 394143 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2022/08/15 | 37050 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2022/08/15 | 57504 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2022/08/15 | 270465 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2022/08/15 | 196213 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2022/08/15 | 103245 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma -2022/08/15 | 24212 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2022/08/15 | 481894 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2022/08/15 | 52036 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2022/08/15 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2022/08/15 | 45795 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2022/08/15 | 135464 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2022/08/15 | 1458152 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2022/08/15 | 112978 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2022/08/15 | 48851 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2022/08/15 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2022/08/15 | 63240 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2022/08/15 | 155428 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2022/08/15 | 79065 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2022/08/15 | 81448 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma -2022/08/15 | 295944 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2022/08/15 | 25119 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2022/08/15 | 112879 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2022/08/15 | 73263 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2022/08/15 | 115578 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2022/08/15 | 43889 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2022/08/15 | 565081 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2022/08/15 | 247208 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma -2022/08/15 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma -2022/08/15 | 109650 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2022/08/15 | 18382 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2022/08/15 | 30570 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2022/08/15 | 682212 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2022/08/15 | 599104 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2022/08/15 | 527569 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2022/08/15 | 103598 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2022/08/15 | 2023133 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2022/08/15 | 74099 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2022/08/15 | 32074 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2022/08/15 | 8826 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma -2022/08/15 | 209137 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma -2022/08/15 | 286685 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2022/08/15 | 104923 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma -2022/08/15 | 140013 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2022/08/15 | 325483 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2022/08/15 | 181725 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2022/08/15 | 55320 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2022/08/15 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2022/08/15 | 43617 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2022/08/15 | 48037 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma -2022/08/15 | 52370 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2022/08/15 | 213849 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2022/08/15 | 41180 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma -2022/08/15 | 824996 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2022/08/15 | 203421 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2022/08/15 | 245151 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2022/08/15 | 88484 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2022/08/15 | 1323744 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2022/08/15 | 23950 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2022/08/15 | 37506 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2022/08/15 | 72979 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2022/08/15 | 58633 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2022/08/15 | 769653 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma -2022/08/15 | 1503054 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2022/08/15 | 52627 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2022/08/15 | 63802 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2022/08/15 | 27465 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2022/08/15 | 18510 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2022/08/15 | 70939 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma -2022/08/15 | 173177 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2022/08/15 | 68147 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma -2022/08/15 | 107437 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2022/08/15 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2022/08/15 | 62358 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma -2022/08/15 | 41189 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2022/08/15 | 33863 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2022/08/15 | 73686 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2022/08/15 | 352463 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2022/08/15 | 57501 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2022/08/15 | 630434 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2022/08/15 | 43527 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2022/08/15 | 289575 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2022/08/15 | 1481137 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2022/08/15 | 1364653 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2022/08/15 | 14434 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2022/08/16 | 659852 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2022/08/16 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2022/08/16 | 1161753 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2022/08/16 | 31587 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2022/08/16 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2022/08/16 | 65130 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2022/08/16 | 95468 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2022/08/16 | 77210 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2022/08/16 | 31562 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2022/08/16 | 394143 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2022/08/16 | 37052 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2022/08/16 | 57504 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2022/08/16 | 270466 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2022/08/16 | 196211 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2022/08/16 | 103247 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2022/08/16 | 24211 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2022/08/16 | 481893 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2022/08/16 | 52038 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2022/08/16 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2022/08/16 | 45794 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2022/08/16 | 135467 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2022/08/16 | 1458153 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2022/08/16 | 112978 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2022/08/16 | 48851 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2022/08/16 | 28507 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2022/08/16 | 63240 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2022/08/16 | 155431 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2022/08/16 | 79061 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2022/08/16 | 81448 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2022/08/16 | 295945 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2022/08/16 | 25118 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2022/08/16 | 112875 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2022/08/16 | 73263 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2022/08/16 | 115578 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2022/08/16 | 43889 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2022/08/16 | 565081 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2022/08/16 | 247206 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma +2022/08/16 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2022/08/16 | 109649 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2022/08/16 | 18380 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2022/08/16 | 30569 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2022/08/16 | 682212 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2022/08/16 | 599104 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2022/08/16 | 527570 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2022/08/16 | 103596 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2022/08/16 | 2023132 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2022/08/16 | 74099 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2022/08/16 | 32075 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2022/08/16 | 8825 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2022/08/16 | 209139 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2022/08/16 | 286686 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2022/08/16 | 104922 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2022/08/16 | 140013 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2022/08/16 | 325484 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2022/08/16 | 181724 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2022/08/16 | 55319 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2022/08/16 | 35229 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2022/08/16 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2022/08/16 | 48038 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2022/08/16 | 52370 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2022/08/16 | 213846 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2022/08/16 | 41179 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2022/08/16 | 824996 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2022/08/16 | 203420 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2022/08/16 | 245152 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2022/08/16 | 88483 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2022/08/16 | 1323745 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2022/08/16 | 23949 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2022/08/16 | 37506 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2022/08/16 | 72978 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2022/08/16 | 58632 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2022/08/16 | 769652 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma +2022/08/16 | 1503054 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2022/08/16 | 52628 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2022/08/16 | 63802 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2022/08/16 | 27464 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2022/08/16 | 18511 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2022/08/16 | 70939 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2022/08/16 | 173177 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2022/08/16 | 68146 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2022/08/16 | 107437 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2022/08/16 | 2821669 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2022/08/16 | 62360 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2022/08/16 | 41189 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2022/08/16 | 33861 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2022/08/16 | 73685 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2022/08/16 | 352463 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2022/08/16 | 57502 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2022/08/16 | 630436 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2022/08/16 | 43526 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2022/08/16 | 289544 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2022/08/16 | 1481734 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2022/08/16 | 1364716 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2022/08/16 | 14434 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma 2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma -2022/08/15 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini +2022/08/16 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini 2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma 2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma 2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma @@ -301564,7 +301590,7 @@ 2022/02/22 | 6917 | systems/win32/miktex/tm/packages/preview.tar.lzma 2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma 2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma -2022/08/15 | 933 | systems/win32/miktex/tm/packages/pr.ini +2022/08/16 | 933 | systems/win32/miktex/tm/packages/pr.ini 2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma 2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma 2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma @@ -303503,7 +303529,7 @@ 2004/06/04 | 404 | tds/tds.sed 2004/06/23 | 65418 | tds/tds.tex 2019/05/29 | 304264 | tds.zip -2022/08/16 | 186 | timestamp +2022/08/17 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2022/02/28 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz Binary files differindex b50f19d8b4..ed397fcba0 100644 --- a/FILES.byname.gz +++ b/FILES.byname.gz diff --git a/FILES.last07days b/FILES.last07days index c594e3db37..d916e05e6a 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,161 +1,230 @@ +2022/08/16 | 9602 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-misc.tex +2022/08/16 | 95468 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2022/08/16 | 9510 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.tex +2022/08/16 | 9476 | graphics/pgf/contrib/tikz-ext/tikzlibrarymisc.code.tex +2022/08/16 | 933 | systems/win32/miktex/tm/packages/pr.ini +2022/08/16 | 896 | macros/generic/lt3luabridge/README.md +2022/08/16 | 88483 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2022/08/16 | 8825 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2022/08/16 | 824996 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2022/08/16 | 823 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.tex +2022/08/16 | 81448 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2022/08/16 | 79061 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2022/08/16 | 784594 | macros/latex/contrib/pygmentex.zip +2022/08/16 | 773 | macros/latex/contrib/pygmentex/README +2022/08/16 | 77210 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2022/08/16 | 769652 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma +2022/08/16 | 74099 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2022/08/16 | 73685 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2022/08/16 | 73263 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2022/08/16 | 72978 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2022/08/16 | 7188 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-template.tex +2022/08/16 | 70939 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2022/08/16 | 69999 | macros/latex/contrib/hereapplies.zip +2022/08/16 | 689500 | systems/texlive/tlnet/archive/xduts.doc.r64124.tar.xz +2022/08/16 | 682212 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2022/08/16 | 68146 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2022/08/16 | 668777 | macros/latex/contrib/pygmentex/pygmentex_demo.pdf +2022/08/16 | 659852 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2022/08/16 | 659342 | systems/win32/miktex/tm/packages/files.csv.lzma +2022/08/16 | 65130 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2022/08/16 | 63802 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2022/08/16 | 63240 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2022/08/16 | 630436 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2022/08/16 | 62882 | macros/latex/contrib/pygmentex/blueshade.png +2022/08/16 | 624 | graphics/pgf/contrib/tikz-ext/README.md +2022/08/16 | 62360 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2022/08/16 | 615 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.bib +2022/08/16 | 611 | macros/latex/contrib/hereapplies/package.json +2022/08/16 | 599104 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2022/08/16 | 58632 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2022/08/16 | 5831833 | systems/texlive/tlnet/install-tl-unx.tar.gz +2022/08/16 | 57504 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2022/08/16 | 57502 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2022/08/16 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2022/08/16 | 5720 | macros/latex/contrib/hereapplies/lyx-module/hereapplies-example.lyx +2022/08/16 | 565081 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2022/08/16 | 55319 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2022/08/16 | 5475 | macros/latex/contrib/hereapplies/README.md +2022/08/16 | 527570 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2022/08/16 | 52628 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2022/08/16 | 52370 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2022/08/16 | 521088 | systems/texlive/tlnet/archive/xduts.r64124.tar.xz +2022/08/16 | 52038 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2022/08/16 | 50857 | macros/latex/contrib/hereapplies/hereapplies-example.pdf +2022/08/16 | 492628 | macros/generic/lt3luabridge/lt3luabridge.pdf +2022/08/16 | 490190 | macros/generic/lt3luabridge.zip +2022/08/16 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2022/08/16 | 48851 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2022/08/16 | 481893 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2022/08/16 | 48038 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2022/08/16 | 4668 | graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.arcto.code.tex +2022/08/16 | 45794 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2022/08/16 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2022/08/16 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2022/08/16 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2022/08/16 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2022/08/16 | 43889 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2022/08/16 | 43618 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2022/08/16 | 43526 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2022/08/16 | 434368 | macros/latex/contrib/msu-thesis.zip +2022/08/16 | 4279 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.timer.tex +2022/08/16 | 419316 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64121.tar.xz +2022/08/16 | 415 | macros/latex/contrib/pygmentex/pygmentex_demo_2.tex +2022/08/16 | 41189 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2022/08/16 | 41179 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2022/08/16 | 394143 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2022/08/16 | 3896 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-body.tex +2022/08/16 | 38202 | macros/latex/contrib/msu-thesis/msu-thesis.tex +2022/08/16 | 38168 | systems/texlive/tlnet/archive/xduts.source.r64124.tar.xz +2022/08/16 | 37506 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2022/08/16 | 37310 | macros/latex/contrib/pygmentex/pygmentex_demo_2.pdf +2022/08/16 | 3721 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.arcto.tex +2022/08/16 | 37052 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2022/08/16 | 36535 | macros/latex/contrib/msu-thesis/msu-thesis.cls +2022/08/16 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2022/08/16 | 352463 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2022/08/16 | 35229 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2022/08/16 | 34523 | macros/latex/contrib/hereapplies/COPYING +2022/08/16 | 33861 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2022/08/16 | 33360 | systems/texlive/tlnet/archive/exam-zh.r64123.tar.xz +2022/08/16 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2022/08/16 | 325484 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2022/08/16 | 32075 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2022/08/16 | 31587 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2022/08/16 | 31562 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2022/08/16 | 30569 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2022/08/16 | 300 | macros/latex/contrib/pygmentex/Factorial.java +2022/08/16 | 295945 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2022/08/16 | 289544 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2022/08/16 | 289498 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2022/08/16 | 286686 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2022/08/16 | 28507 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2022/08/16 | 283 | macros/latex/contrib/pygmentex/pygmentex_demo.py +2022/08/16 | 2821669 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2022/08/16 | 27464 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2022/08/16 | 270466 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2022/08/16 | 259454 | graphics/pgf/contrib/tikz-ext.zip +2022/08/16 | 25516448 | systems/texlive/tlnet/install-tl.zip +2022/08/16 | 253 | macros/generic/lt3luabridge/lt3luabridge.ins +2022/08/16 | 253032 | macros/latex/contrib/msu-thesis/msu-thesis.pdf +2022/08/16 | 25118 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2022/08/16 | 25110 | macros/latex/contrib/pygmentex/pygmentex_demo.tex +2022/08/16 | 2498 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-preamble.tex +2022/08/16 | 2497 | graphics/pgf/contrib/tikz-ext/tikzlibrarytopaths.arcthrough.code.tex +2022/08/16 | 247206 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma +2022/08/16 | 245152 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2022/08/16 | 24211 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2022/08/16 | 2398964 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2022/08/16 | 23949 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2022/08/16 | 236 | macros/latex/contrib/pygmentex/pygmentex_demo.c +2022/08/16 | 233128 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.pdf +2022/08/16 | 2256 | macros/latex/contrib/hereapplies/lyx-module/hereapplies.module +2022/08/16 | 217 | macros/generic/lt3luabridge/example.latex +2022/08/16 | 2158 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-topaths.arcthrough.tex +2022/08/16 | 213846 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2022/08/16 | 209139 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2022/08/16 | 20435573 | systems/texlive/tlnet/install-tl-windows.exe +2022/08/16 | 203420 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2022/08/16 | 2023132 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2022/08/16 | 196211 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2022/08/16 | 19105 | macros/generic/lt3luabridge/LICENSE +2022/08/16 | 18511 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2022/08/16 | 1849624 | systems/texlive/tlnet/archive/elegantbook.doc.r64122.tar.xz +2022/08/16 | 18380 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2022/08/16 | 181 | macros/generic/lt3luabridge/example.context +2022/08/16 | 181724 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2022/08/16 | 1806 | macros/latex/contrib/msu-thesis/README.md +2022/08/16 | 17582550 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2022/08/16 | 1739528 | systems/texlive/tlnet/archive/exam-zh.doc.r64123.tar.xz +2022/08/16 | 173177 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2022/08/16 | 1719 | macros/latex/contrib/pygmentex/pygmentex_demo.java +2022/08/16 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2022/08/16 | 167 | macros/generic/lt3luabridge/example.plaintex +2022/08/16 | 166 | macros/latex/contrib/pygmentex/pygmentex_demo.hs +2022/08/16 | 16261 | macros/latex/contrib/pygmentex/pygmentex.py +2022/08/16 | 160096 | macros/latex/contrib/msu-thesis/samples/MSU-thesis-testfile.pdf +2022/08/16 | 155431 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2022/08/16 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2022/08/16 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2022/08/16 | 1503054 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2022/08/16 | 1482723 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2022/08/16 | 1481734 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2022/08/16 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2022/08/16 | 1458153 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2022/08/16 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2022/08/16 | 14434 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2022/08/16 | 140013 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2022/08/16 | 13969 | macros/generic/lt3luabridge/lt3luabridge.dtx +2022/08/16 | 1389 | macros/generic/lt3luabridge/docstrip.cfg +2022/08/16 | 1364945 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2022/08/16 | 1364716 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2022/08/16 | 135467 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2022/08/16 | 13335 | macros/latex/contrib/hereapplies/hereapplies.sty +2022/08/16 | 1323745 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2022/08/16 | 12029 | macros/latex/contrib/pygmentex/pygmentex.sty +2022/08/16 | 11876 | systems/texlive/tlnet/archive/elegantbook.r64122.tar.xz +2022/08/16 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini +2022/08/16 | 1161753 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2022/08/16 | 115 | macros/latex/contrib/pygmentex/pygmentex_demo.delphi +2022/08/16 | 115578 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2022/08/16 | 113524 | systems/texlive/tlnet/archive/texlive-scripts.r64121.tar.xz +2022/08/16 | 112978 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2022/08/16 | 112875 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2022/08/16 | 1121 | macros/latex/contrib/hereapplies/ChangeLog.md +2022/08/16 | 109649 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2022/08/16 | 1093 | macros/latex/contrib/hereapplies/hereapplies-example.tex +2022/08/16 | 107437 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2022/08/16 | 104922 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2022/08/16 | 103596 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2022/08/16 | 103247 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2022/08/16 | 100 | macros/latex/contrib/pygmentex/pygmentex_demo.pas 2022/08/15 | 968 | macros/latex/contrib/proflycee/doc/cap.csv -2022/08/15 | 95468 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2022/08/15 | 933 | systems/win32/miktex/tm/packages/pr.ini 2022/08/15 | 8956 | macros/xetex/latex/exam-zh/CHANGELOG.md -2022/08/15 | 88484 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2022/08/15 | 8826 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma 2022/08/15 | 881135 | macros/xetex/latex/xduts/xdulogo.pdf 2022/08/15 | 873428 | macros/latex/contrib/proflycee.zip -2022/08/15 | 824996 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2022/08/15 | 81448 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma -2022/08/15 | 79065 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma 2022/08/15 | 789010 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf -2022/08/15 | 77210 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2022/08/15 | 769653 | systems/win32/miktex/tm/packages/next/miktex-ptex-bin-x64.tar.lzma -2022/08/15 | 74099 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2022/08/15 | 751 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-intro.tex 2022/08/15 | 736 | macros/latex/contrib/proflycee/doc/perroquet.csv -2022/08/15 | 73686 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2022/08/15 | 73263 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2022/08/15 | 72979 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2022/08/15 | 70939 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2022/08/15 | 7302 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2022/08/15 | 707491 | macros/xetex/latex/xduts/xduts.pdf 2022/08/15 | 69340 | macros/xetex/latex/exam-zh/tex/exam-zh.cls -2022/08/15 | 682212 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2022/08/15 | 68147 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma -2022/08/15 | 659852 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2022/08/15 | 659342 | systems/win32/miktex/tm/packages/files.csv.lzma -2022/08/15 | 65130 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2022/08/15 | 63802 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2022/08/15 | 63240 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma 2022/08/15 | 63056 | systems/texlive/tlnet/archive/hereapplies.doc.r64117.tar.xz -2022/08/15 | 630434 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2022/08/15 | 62358 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma 2022/08/15 | 62157 | macros/latex/contrib/proflycee/tex/ProfLycee.sty 2022/08/15 | 62108 | macros/latex/contrib/elegantbook/elegantbook-cn.tex -2022/08/15 | 599104 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2022/08/15 | 58633 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2022/08/15 | 5831614 | systems/texlive/tlnet/install-tl-unx.tar.gz -2022/08/15 | 57504 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2022/08/15 | 57501 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2022/08/15 | 57317 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2022/08/15 | 565081 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2022/08/15 | 5868 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.ortho.tex 2022/08/15 | 5548 | systems/texlive/tlnet/archive/nimsticks.source.r64118.tar.xz -2022/08/15 | 55320 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma 2022/08/15 | 53119 | macros/xetex/latex/exam-zh/tex/exam-zh-symbols.sty 2022/08/15 | 527780 | systems/texlive/tlnet/archive/armtex.r64119.tar.xz -2022/08/15 | 527569 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2022/08/15 | 52627 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2022/08/15 | 52370 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2022/08/15 | 52036 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma 2022/08/15 | 49015 | macros/latex/contrib/elegantbook/elegantbook.cls -2022/08/15 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 -2022/08/15 | 48851 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma 2022/08/15 | 48469 | macros/xetex/latex/exam-zh/tex/exam-zh-question.sty -2022/08/15 | 481894 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2022/08/15 | 48037 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma -2022/08/15 | 45795 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2022/08/15 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2022/08/15 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2022/08/15 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2022/08/15 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc -2022/08/15 | 43889 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2022/08/15 | 43617 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2022/08/15 | 43527 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma 2022/08/15 | 431480 | systems/texlive/tlnet/archive/armtex.doc.r64119.tar.xz -2022/08/15 | 419324 | systems/texlive/tlnet/archive/texlive-scripts.doc.r64116.tar.xz -2022/08/15 | 41189 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2022/08/15 | 41180 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma -2022/08/15 | 394143 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma 2022/08/15 | 38903 | macros/latex/contrib/elegantbook/elegantbook-en.tex -2022/08/15 | 37506 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2022/08/15 | 37050 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2022/08/15 | 35265 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2022/08/15 | 352463 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2022/08/15 | 35230 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2022/08/15 | 33863 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma 2022/08/15 | 32 | macros/latex/contrib/proflycee/doc/basique.csv -2022/08/15 | 325980 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2022/08/15 | 325483 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma 2022/08/15 | 3216 | systems/texlive/tlnet/archive/hereapplies.r64117.tar.xz -2022/08/15 | 32074 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2022/08/15 | 31588 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2022/08/15 | 31563 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma 2022/08/15 | 3061 | macros/latex/contrib/elegantbook/README.md -2022/08/15 | 30570 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2022/08/15 | 295944 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma 2022/08/15 | 2947940 | macros/latex/contrib/elegantbook.zip -2022/08/15 | 289575 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2022/08/15 | 289521 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2022/08/15 | 286685 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma 2022/08/15 | 2861 | macros/xetex/latex/xduts/README.md -2022/08/15 | 28510 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2022/08/15 | 2821671 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2022/08/15 | 27465 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2022/08/15 | 270465 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2022/08/15 | 25516459 | systems/texlive/tlnet/install-tl.zip -2022/08/15 | 25119 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2022/08/15 | 247208 | systems/win32/miktex/tm/packages/next/miktex-hitex-bin-x64.tar.lzma -2022/08/15 | 245151 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2022/08/15 | 24212 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2022/08/15 | 2400228 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz -2022/08/15 | 23950 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma 2022/08/15 | 239028 | macros/xetex/latex/xduts/xduts.dtx 2022/08/15 | 23034 | macros/xetex/latex/exam-zh/examples/example-multiple.tex 2022/08/15 | 2140 | systems/texlive/tlnet/archive/nimsticks.r64118.tar.xz -2022/08/15 | 213849 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma 2022/08/15 | 213532 | systems/texlive/tlnet/archive/nimsticks.doc.r64118.tar.xz -2022/08/15 | 209137 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma 2022/08/15 | 20723 | macros/xetex/latex/exam-zh/tex/exam-zh-chinese-english.sty 2022/08/15 | 20597 | macros/xetex/latex/exam-zh/tex/exam-zh-font.sty 2022/08/15 | 2051869 | macros/xetex/latex/exam-zh.zip -2022/08/15 | 20438462 | systems/texlive/tlnet/install-tl-windows.exe 2022/08/15 | 20365 | macros/xetex/latex/exam-zh/tex/exam-zh-choices.sty -2022/08/15 | 203421 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2022/08/15 | 2023133 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2022/08/15 | 196213 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2022/08/15 | 18510 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2022/08/15 | 18382 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2022/08/15 | 19678 | graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.ortho.tex 2022/08/15 | 1832 | macros/xetex/latex/exam-zh/doc/exam-zh-doc-setup.tex -2022/08/15 | 181725 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2022/08/15 | 17582646 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2022/08/15 | 173177 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2022/08/15 | 169678 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma 2022/08/15 | 168499 | macros/xetex/latex/exam-zh/examples/example-multiple.pdf 2022/08/15 | 1612630 | macros/xetex/latex/xduts.zip -2022/08/15 | 155428 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2022/08/15 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2022/08/15 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2022/08/15 | 1503054 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2022/08/15 | 1482730 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2022/08/15 | 1481137 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2022/08/15 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2022/08/15 | 1458152 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2022/08/15 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2022/08/15 | 14434 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma 2022/08/15 | 143461 | macros/xetex/latex/exam-zh/examples/example-single.pdf 2022/08/15 | 141078 | macros/latex/contrib/elegantbook/image/donate.jpg -2022/08/15 | 140013 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma 2022/08/15 | 136706 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex -2022/08/15 | 1364887 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma -2022/08/15 | 1364653 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2022/08/15 | 135464 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2022/08/15 | 1323744 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma 2022/08/15 | 1282398 | macros/latex/contrib/elegantbook/elegantbook-cn.pdf -2022/08/15 | 1172 | systems/win32/miktex/tm/packages/next/pr.ini -2022/08/15 | 1161749 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2022/08/15 | 115578 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma 2022/08/15 | 11384 | macros/xetex/latex/exam-zh/examples/example-single.tex -2022/08/15 | 113524 | systems/texlive/tlnet/archive/texlive-scripts.r64116.tar.xz -2022/08/15 | 112978 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2022/08/15 | 112879 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma 2022/08/15 | 1111 | macros/xetex/latex/xduts/xduts.ins 2022/08/15 | 1107168 | macros/xetex/latex/exam-zh/doc/exam-zh-doc.pdf -2022/08/15 | 109650 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2022/08/15 | 107437 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2022/08/15 | 104923 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma 2022/08/15 | 1036571 | macros/latex/contrib/elegantbook/elegantbook-en.pdf -2022/08/15 | 103598 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2022/08/15 | 103245 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma 2022/08/15 | 100383 | macros/xetex/latex/exam-zh/doc/body/usage.tex 2022/08/14 | 968 | systems/texlive/tlnet/archive/collection-plaingeneric.r64113.tar.xz 2022/08/14 | 9359 | systems/win32/miktex/tm/packages/runcode__source.tar.lzma @@ -169,18 +238,21 @@ 2022/08/14 | 90430 | language/armenian/armtex/fonts/source/arssb10.mf 2022/08/14 | 89139 | systems/win32/miktex/tm/packages/create-theorem__doc.tar.lzma 2022/08/14 | 852 | systems/texlive/tlnet/archive/transparent-io.r64113.tar.xz +2022/08/14 | 8366 | graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.ortho.code.tex +2022/08/14 | 8121 | graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.timer.code.tex 2022/08/14 | 8028 | systems/win32/miktex/tm/packages/media4svg.tar.lzma 2022/08/14 | 7997 | systems/win32/miktex/tm/packages/create-theorem__source.tar.lzma 2022/08/14 | 77433 | systems/win32/miktex/tm/packages/transparent-io__doc.tar.lzma 2022/08/14 | 76976 | systems/texlive/tlnet/archive/transparent-io.doc.r64113.tar.xz 2022/08/14 | 7629 | language/armenian/armtex/examples/plain/plraf-u8.tex 2022/08/14 | 7535 | language/armenian/armtex/examples/latex/raffi-u8.tex -2022/08/14 | 7400 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2022/08/14 | 65 | systems/mac/mactex/mactex-MacTeXtras-20220814.zip.md5 2022/08/14 | 61508 | systems/win32/miktex/tm/packages/hereapplies__doc.tar.lzma 2022/08/14 | 599265 | systems/win32/miktex/tm/packages/exam-zh__source.tar.lzma 2022/08/14 | 594191 | systems/win32/miktex/tm/packages/easybook__doc.tar.lzma 2022/08/14 | 5604 | macros/xetex/latex/exam-zh/doc/body/installation.tex +2022/08/14 | 5245 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-trans.tex +2022/08/14 | 5230 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-trans.tex 2022/08/14 | 515336371 | systems/mac/mactex/mactex-MacTeXtras-20220814.zip 2022/08/14 | 5137 | language/armenian/armtex/examples/plain/plraf.tex 2022/08/14 | 5031 | language/armenian/armtex/examples/latex/raffi.tex @@ -207,7 +279,9 @@ 2022/08/14 | 34822 | systems/win32/miktex/source/CHANGELOG.md 2022/08/14 | 34563 | language/armenian/armtex/tex/latex/armtex.sty 2022/08/14 | 3418 | systems/win32/miktex/tm/packages/hereapplies.tar.lzma +2022/08/14 | 3357 | graphics/pgf/contrib/tikz-ext/pgflibrarytransformations.mirror.code.tex 2022/08/14 | 33080 | systems/win32/miktex/tm/packages/exam-zh.tar.lzma +2022/08/14 | 3132 | graphics/pgf/contrib/tikz-ext/tikzlibrarytransformations.mirror.code.tex 2022/08/14 | 307607 | systems/win32/miktex/tm/packages/ucs.tar.lzma 2022/08/14 | 307448 | systems/texlive/tlnet/archive/ucs.r64114.tar.xz 2022/08/14 | 3055 | systems/win32/miktex/tm/packages/tikz-bagua__source.tar.lzma @@ -233,6 +307,7 @@ 2022/08/14 | 2279 | systems/win32/miktex/tm/packages/tikz-bagua.tar.lzma 2022/08/14 | 226936 | systems/texlive/tlnet/archive/ffcode.doc.r64112.tar.xz 2022/08/14 | 226440 | systems/win32/miktex/tm/packages/ffcode__doc.tar.lzma +2022/08/14 | 2217 | graphics/pgf/contrib/tikz-ext/tikzlibrarypatterns.images.code.tex 2022/08/14 | 2212 | language/armenian/armtex/tex/latex/ot6cmr.fd 2022/08/14 | 218217 | graphics/pgf/contrib/nimsticks.zip 2022/08/14 | 217224 | graphics/pgf/contrib/nimsticks/nimsticks.pdf @@ -264,6 +339,7 @@ 2022/08/14 | 161 | systems/mac/mactex/mactex-MacTeXtras-20220814.zip.sha512 2022/08/14 | 16152 | systems/win32/miktex/tm/packages/easybook.tar.lzma 2022/08/14 | 1612 | systems/mac/mactex/Licenses.txt +2022/08/14 | 1576 | graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-patterns.images.tex 2022/08/14 | 15369 | systems/win32/miktex/tm/packages/schulmathematik__source.tar.lzma 2022/08/14 | 1480090 | install/language/armenian/armtex.tds.zip 2022/08/14 | 1471752 | language/armenian/armtex.zip @@ -298,7 +374,6 @@ 2022/08/14 | 10114 | language/armenian/armtex/fonts/afm/arssr10.afm 2022/08/14 | 10109 | language/armenian/armtex/fonts/afm/arssb10.afm 2022/08/13 | 990 | macros/plain/contrib/transparent-io/TrIOlineno.org -2022/08/13 | 9744 | macros/latex/contrib/hereapplies/hereapplies.sty 2022/08/13 | 95776 | systems/texlive/tlnet/archive/create-theorem.doc.r64104.tar.xz 2022/08/13 | 95536 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma 2022/08/13 | 93943 | macros/plain/contrib/transparent-io.zip @@ -310,7 +385,6 @@ 2022/08/13 | 79053 | systems/win32/miktex/tm/packages/miktex-fonts-bin-x64-2.9.tar.lzma 2022/08/13 | 7824 | systems/texlive/tlnet/archive/media4svg.r64107.tar.xz 2022/08/13 | 77245 | systems/win32/miktex/tm/packages/miktex-bibtex-bin-x64-2.9.tar.lzma -2022/08/13 | 770 | macros/latex/contrib/hereapplies/ChangeLog.md 2022/08/13 | 768444 | systems/win32/miktex/tm/packages/miktex-ptex-bin-x64.tar.lzma 2022/08/13 | 74088 | systems/win32/miktex/tm/packages/miktex-lzma-bin-x64-2.9.tar.lzma 2022/08/13 | 73719 | systems/win32/miktex/tm/packages/miktex-web-bin-x64-2.9.tar.lzma @@ -321,7 +395,6 @@ 2022/08/13 | 717 | macros/plain/contrib/transparent-io/TrIOopenout.org 2022/08/13 | 716 | macros/plain/contrib/transparent-io/TrIOopenin.org 2022/08/13 | 70996 | systems/win32/miktex/tm/packages/miktex-tex4ht-bin-x64-2.9.tar.lzma -2022/08/13 | 68350 | macros/latex/contrib/hereapplies.zip 2022/08/13 | 681766 | systems/win32/miktex/tm/packages/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma 2022/08/13 | 68069 | systems/win32/miktex/tm/packages/miktex-texify-bin-x64-2.9.tar.lzma 2022/08/13 | 6712 | systems/texlive/tlnet/archive/collection-latexextra.r64106.tar.xz @@ -333,7 +406,6 @@ 2022/08/13 | 630268 | systems/win32/miktex/tm/packages/miktex-yap-bin-x64-2.9.tar.lzma 2022/08/13 | 62636 | systems/win32/miktex/tm/packages/miktex-ttf2pk2-bin-x64-2.9.tar.lzma 2022/08/13 | 613560 | systems/texlive/tlnet/archive/easybook.doc.r64105.tar.xz -2022/08/13 | 611 | macros/latex/contrib/hereapplies/package.json 2022/08/13 | 599718 | systems/win32/miktex/tm/packages/miktex-libressl-bin-x64-2.9.tar.lzma 2022/08/13 | 5952 | macros/plain/contrib/transparent-io/TrIOmacros.org 2022/08/13 | 594 | macros/plain/contrib/transparent-io/TrIOopen.org @@ -349,11 +421,9 @@ 2022/08/13 | 52554 | systems/win32/miktex/tm/packages/miktex-synctex-bin-x64-2.9.tar.lzma 2022/08/13 | 52357 | systems/win32/miktex/tm/packages/miktex-m-tx-bin-x64-2.9.tar.lzma 2022/08/13 | 51986 | systems/win32/miktex/tm/packages/miktex-dvicopy-bin-x64-2.9.tar.lzma -2022/08/13 | 49807 | macros/latex/contrib/hereapplies/hereapplies-example.pdf 2022/08/13 | 48825 | systems/win32/miktex/tm/packages/miktex-expat-bin-x64-2.9.tar.lzma 2022/08/13 | 481608 | systems/win32/miktex/tm/packages/miktex-doc.tar.lzma 2022/08/13 | 48007 | systems/win32/miktex/tm/packages/miktex-mtprint-bin-x64-2.9.tar.lzma -2022/08/13 | 4737 | macros/latex/contrib/hereapplies/README.md 2022/08/13 | 45834 | systems/win32/miktex/tm/packages/miktex-dvipng-bin-x64-2.9.tar.lzma 2022/08/13 | 4497 | macros/latex/contrib/ffcode/ffcode.tex 2022/08/13 | 43753 | systems/win32/miktex/tm/packages/miktex-gsf2pk-bin-x64-2.9.tar.lzma @@ -372,7 +442,6 @@ 2022/08/13 | 352473 | systems/win32/miktex/tm/packages/miktex-xetex-bin-x64-2.9.tar.lzma 2022/08/13 | 35214 | systems/win32/miktex/tm/packages/miktex-mspack-bin-x64-2.9.tar.lzma 2022/08/13 | 33851 | systems/win32/miktex/tm/packages/miktex-uriparser-bin-x64-2.9.tar.lzma -2022/08/13 | 32936 | systems/texlive/tlnet/archive/exam-zh.r64109.tar.xz 2022/08/13 | 327527 | systems/win32/miktex/tm/packages/miktex-mo-bin-x64-2.9.tar.lzma 2022/08/13 | 326163 | systems/win32/miktex/tm/packages/miktex-dvipdfmx-bin-x64-2.9.tar.lzma 2022/08/13 | 3230 | macros/latex/contrib/ffcode/ffcode.sty @@ -396,7 +465,6 @@ 2022/08/13 | 227303 | macros/latex/contrib/ffcode.zip 2022/08/13 | 2259285 | macros/latex/contrib/ucs.zip 2022/08/13 | 224152 | macros/latex/contrib/ffcode/ffcode.pdf -2022/08/13 | 2190 | macros/latex/contrib/hereapplies/lyx-module/hereapplies.module 2022/08/13 | 213564 | systems/win32/miktex/tm/packages/miktex-omegaware-bin-x64-2.9.tar.lzma 2022/08/13 | 209440 | systems/texlive/tlnet/archive/schulmathematik.doc.r64108.tar.xz 2022/08/13 | 209063 | systems/win32/miktex/tm/packages/miktex-metafont-bin-x64-2.9.tar.lzma @@ -407,7 +475,6 @@ 2022/08/13 | 192 | macros/plain/contrib/transparent-io/Transparent-IO-eccentric.tex 2022/08/13 | 1915276 | systems/texlive/tlnet/archive/simpleicons.doc.r64102.tar.xz 2022/08/13 | 18516 | systems/win32/miktex/tm/packages/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2022/08/13 | 1848288 | systems/texlive/tlnet/archive/exam-zh.doc.r64109.tar.xz 2022/08/13 | 18390 | systems/win32/miktex/tm/packages/miktex-kpathsea-bin-x64-2.9.tar.lzma 2022/08/13 | 181709 | systems/win32/miktex/tm/packages/miktex-mpfr-bin-x64-2.9.tar.lzma 2022/08/13 | 179120 | systems/texlive/tlnet/archive/tikz-bagua.doc.r64103.tar.xz @@ -448,7 +515,6 @@ 2022/08/12 | 9412 | macros/latex/contrib/ucs/data/uni-250.def 2022/08/12 | 9298 | macros/latex/contrib/ucs/data/uni-36.def 2022/08/12 | 9223 | macros/latex/contrib/ucs/data/uni-760.def -2022/08/12 | 890 | macros/latex/contrib/hereapplies/hereapplies-example.tex 2022/08/12 | 8760 | macros/latex/contrib/ucs/data/uni-156.def 2022/08/12 | 8709 | macros/latex/contrib/ucs/data/uni-4.def 2022/08/12 | 869 | macros/latex/contrib/media4svg/ChangeLog @@ -510,7 +576,6 @@ 2022/08/12 | 5212 | macros/latex/contrib/ucs/data/uni-19.def 2022/08/12 | 49797 | dviware/dvisvgm/config.guess 2022/08/12 | 4879 | dviware/dvisvgm/test-driver -2022/08/12 | 4868 | macros/latex/contrib/hereapplies/lyx-module/hereapplies-example.lyx 2022/08/12 | 4750943 | fonts/simpleicons.zip 2022/08/12 | 46500 | macros/latex/contrib/ucs/makeunidef.pl 2022/08/12 | 4643 | macros/latex/contrib/ucs/data/uni-172.def @@ -1080,74 +1145,3 @@ 2022/08/10 | 1046 | macros/xetex/latex/bhcexam/README.md 2022/08/10 | 10383 | macros/xetex/latex/bhcexam/examples/qrcode.png 2022/08/10 | 10311 | macros/luatex/generic/luatexja/src/addons/luatexja-ruby.sty -2022/08/09 | 9957 | macros/latex/contrib/tudscr/source/tudscr-version.dtx -2022/08/09 | 9877 | macros/latex/contrib/tudscr/source/tudscr-mathswap.dtx -2022/08/09 | 9645 | macros/latex/contrib/tudscr/source/doc/tudscr-introduction.tex -2022/08/09 | 92835 | macros/latex/contrib/tudscr/source/tudscr-area.dtx -2022/08/09 | 9250 | macros/latex/contrib/tudscr/source/tudscr-color.dtx -2022/08/09 | 8735 | macros/latex/contrib/tudscr/source/doc/tutorials/mathswap.tex -2022/08/09 | 865990 | macros/latex/contrib/tudscr/doc/tutorials/treatise.pdf -2022/08/09 | 74826 | macros/latex/contrib/tudscr/source/tudscr-base.dtx -2022/08/09 | 73061 | macros/latex/contrib/tudscr/source/tudscr-comp.dtx -2022/08/09 | 7179 | macros/latex/contrib/tudscr/source/doc/tutorials/mathtype.tex -2022/08/09 | 71550 | macros/latex/contrib/tudscr/source/tudscr-layout.dtx -2022/08/09 | 65715 | macros/latex/contrib/tudscr/source/tudscr-doc.dtx -2022/08/09 | 65604 | systems/texlive/tlnet/archive/siunitx.r64080.tar.xz -2022/08/09 | 6478 | macros/latex/contrib/tudscr/source/tudscr-twocolfix.dtx -2022/08/09 | 63452 | systems/texlive/tlnet/archive/njuthesis.source.r64081.tar.xz -2022/08/09 | 630 | macros/latex/contrib/tudscr/source/doc/examples/mathswap-example.tex -2022/08/09 | 62 | macros/latex/contrib/tudscr/source/doc/tutorials.bat -2022/08/09 | 6160 | macros/latex/contrib/tudscr/source/doc/tudscr-examples.tex -2022/08/09 | 5872 | systems/texlive/tlnet/archive/bookcover.r64078.tar.xz -2022/08/09 | 58119 | macros/latex/contrib/tudscr/source/tudscr-title.dtx -2022/08/09 | 53824 | macros/latex/contrib/tudscr/source/doc/tudscr-packages.tex -2022/08/09 | 53544 | systems/texlive/tlnet/archive/yfonts-otf.r64075.tar.xz -2022/08/09 | 5194062 | macros/latex/contrib/tudscr.zip -2022/08/09 | 5058 | macros/latex/contrib/tudscr/source/doc/tudscr.tex -2022/08/09 | 492 | macros/latex/contrib/tudscr/source/doc/examples/document.tex -2022/08/09 | 485328 | systems/texlive/tlnet/archive/lt3luabridge.doc.r64077.tar.xz -2022/08/09 | 48036 | macros/latex/contrib/tudscr/source/tudscr-frontmatter.dtx -2022/08/09 | 46127 | macros/latex/contrib/tudscr/source/tudscr-fields.dtx -2022/08/09 | 41870 | macros/latex/contrib/tudscr/source/tudscr-misc.dtx -2022/08/09 | 4110 | macros/latex/contrib/tudscr/source/doc/tudscr-index.tex -2022/08/09 | 4032 | systems/texlive/tlnet/archive/lt3luabridge.source.r64077.tar.xz -2022/08/09 | 39355 | macros/latex/contrib/tudscr/source/doc/tudscr-hints.tex -2022/08/09 | 38104 | macros/latex/contrib/tudscr/source/doc/tudscr-obsolete.tex -2022/08/09 | 38017 | macros/latex/contrib/tudscr/source/tudscr-localization.dtx -2022/08/09 | 3487 | macros/latex/contrib/tudscr/source/doc/tudscr-preface.tex -2022/08/09 | 3304 | systems/texlive/tlnet/archive/zlmtt.r64076.tar.xz -2022/08/09 | 320795 | macros/latex/contrib/tudscr/doc/tutorials/mathtype.pdf -2022/08/09 | 2952 | systems/texlive/tlnet/archive/lt3luabridge.r64077.tar.xz -2022/08/09 | 2900 | macros/latex/contrib/tudscr/source/tudscrsource.tex -2022/08/09 | 28543 | macros/latex/contrib/tudscr/source/doc/tudscr-installation.tex -2022/08/09 | 2630 | macros/latex/contrib/tudscr/source/doc/tudscr-additional.tex -2022/08/09 | 234904 | systems/texlive/tlnet/archive/zlmtt.doc.r64076.tar.xz -2022/08/09 | 218215 | macros/latex/contrib/tudscr/source/tudscr-manual.dtx -2022/08/09 | 20908 | macros/latex/contrib/tudscr/source/tudscr-supervisor.dtx -2022/08/09 | 1999 | macros/latex/contrib/tudscr/source/doc/examples/evaluation.tex -2022/08/09 | 19264 | systems/texlive/tlnet/archive/njuthesis.r64081.tar.xz -2022/08/09 | 19166 | macros/latex/contrib/tudscr/source/tudscr-texindy.dtx -2022/08/09 | 1832 | macros/latex/contrib/tudscr/source/doc/examples/notice.tex -2022/08/09 | 18117 | macros/latex/contrib/tudscr/source/doc/tudscr-bundle.tex -2022/08/09 | 1785192 | systems/texlive/tlnet/archive/bookcover.doc.r64078.tar.xz -2022/08/09 | 17472 | macros/latex/contrib/tudscr/source/doc/tudscr-supervisor.tex -2022/08/09 | 17402 | macros/latex/contrib/tudscr/README.md -2022/08/09 | 17370 | macros/latex/contrib/tudscr/source/doc/tudscr-poster.tex -2022/08/09 | 167065 | macros/latex/contrib/tudscr/source/doc/tudscr-mainclasses.tex -2022/08/09 | 1607 | macros/latex/contrib/tudscr/source/doc/examples/mathtype-example.tex -2022/08/09 | 156564 | macros/latex/contrib/tudscr/source/tudscr-fonts.dtx -2022/08/09 | 149860 | systems/texlive/tlnet/archive/yfonts-otf.doc.r64075.tar.xz -2022/08/09 | 14898 | macros/latex/contrib/tudscr/source/doc/examples/treatise-example.tex -2022/08/09 | 142137 | macros/latex/contrib/tudscr/source/doc/tutorials/treatise.tex -2022/08/09 | 14060 | systems/texlive/tlnet/archive/bookcover.source.r64078.tar.xz -2022/08/09 | 12880 | macros/latex/contrib/tudscr/source/tudscr-gitinfo.dtx -2022/08/09 | 125133 | macros/latex/contrib/tudscr/doc/tutorials/mathswap.pdf -2022/08/09 | 1242168 | systems/texlive/tlnet/archive/siunitx.doc.r64080.tar.xz -2022/08/09 | 11984 | macros/latex/contrib/tudscr/source/tudscr.ins -2022/08/09 | 1177448 | systems/texlive/tlnet/archive/njuthesis.doc.r64081.tar.xz -2022/08/09 | 116636 | systems/texlive/tlnet/archive/siunitx.source.r64080.tar.xz -2022/08/09 | 1145951 | macros/latex/contrib/tudscr/doc/tudscrsource.pdf -2022/08/09 | 1126953 | macros/latex/contrib/tudscr/doc/tudscr.pdf -2022/08/09 | 1111795 | macros/latex/contrib/tudscr/doc/tudscr_print.pdf -2022/08/09 | 1107 | macros/latex/contrib/tudscr/doc/LICENSE.md -2022/08/09 | 109371 | macros/latex/contrib/tudscr/source/tudscr-pagestyle.dtx diff --git a/graphics/pgf/contrib/tikz-ext/README.md b/graphics/pgf/contrib/tikz-ext/README.md new file mode 100644 index 0000000000..23910ccef1 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/README.md @@ -0,0 +1,26 @@ +# TikZ-Extensions + +## License + +This material is subject to the LaTeX Project Public License and the GNU Free Documentation License. + +## About the Author + +Name: Qrrbrbirlbel + +## Introduction + +This is not a LaTeX package but a collection of libraries for PGF and TikZ. + +These are + + * `transformations.mirror`, + * `paths.arcto`, + * `paths.ortho`, + * `paths.timer`, + * `patterns.images`, + * `topaths.arcthrough` and + * `misc`. + + These were developed in response to questions on tex.stackexchange.com. + Some of these can be find by searching for my [user id](https://tex.stackexchange.com/search?q=user%3A16595+%22my+library%22).
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-intro.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-intro.tex new file mode 100644 index 0000000000..5c90d0f5bf --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-intro.tex @@ -0,0 +1,19 @@ +\part{Introduction} +\begin{multicols}{2} +\section{Usage} +This package is called |tikz-ext|, however, one can't load it via |\usepackage|. +Instead, this package consists of multiple PGF and \tikzname\space libraries +which are loaded by either |\usepgflibrary| or |\usetikzlibrary|. + +\section{Why do we need it?} +Since I have been answering questions on \hyperlink{https://tex.stackexchange.com}{TeX.sx} +I've noticed that some questions come up again and again, +every time with a slightly different approach on how to solve them. + +I don't like reinventing the wheel which is why I've gathered the code of my answers in this package. + +And, yes, I am using them myself, too. + +\section{Should these libraries be part of \tikzname?} +I guess. +\end{multicols}
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-misc.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-misc.tex new file mode 100644 index 0000000000..dc9103b699 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-misc.tex @@ -0,0 +1,267 @@ +% !TeX spellcheck = en_US +% !TeX root = tikz-ext-manual.tex +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\begin{tikzlibrary}{misc} + This library adds miscelleaneos utilities to PGFmath, PGF or \tikzname. +\end{tikzlibrary} + +\section{PGFmath} + +\subsection{Postfix operator \texttt{R}} + +Similar to |\segments[<num>]| in PSTricks, the postfix operator |R| allows the user +to use an arbitrary number of segments of a circle to be used instead of an angle. + +\begin{key}{/tikz/full arc=\meta{num} (default |{}|)} + The number \meta{num} of segments will be set up. + Using |full arc| with an empty value disables the segmentation and |1R| equals $1^\circ$. + + The given value \meta{num} is evaluated when the key is used and doesn't change when + \meta{num} contains variables that change. +\end{key} +The |R| operator can then be used. +\begin{math-operator}{R}{postfix}{fullarc} + Multiplies \mvar{x} with $\frac{360}{\meta{num}}$. +\end{math-operator} + +\subsection{Functions} + +\begin{math-function}{strrepeat("\mvar{Text}", \mvar{x})} +\mathcommand + Returns a string with \mvar{Text} repeated \mvar{x} times. + +\begin{codeexample}[] +\pgfmathparse{strrepeat("foo", 5)} \pgfmathresult +\end{codeexample} +\end{math-function} + +\begin{math-function}{isInString("\mvar{String}", "\mvar{Text}")} +\mathcommand + Returns |1| (true) if \mvar{Text} contains \mvar{String}, + otherwise |0| (false). + +\begin{codeexample}[] +\pgfmathparse{isInString("foo", "bar")} \pgfmathresult +\ and\ +\pgfmathparse{isInString("foo", "foobar")} \pgfmathresult +\end{codeexample} +\end{math-function} + +\begin{math-function}{strcat("\mvar{Text A}", "\mvar{Text B}", …)} +\mathcommand + Returns the concatenation of all given parameters. + +\begin{codeexample}[] +\pgfmathparse{strcat("blue!", int(7*3), "!green")} \pgfmathresult +\end{codeexample} +\end{math-function} + + +\begin{math-function}{isEmpty("\mvar{Text}")} +\mathcommand + Returns |1| (true) if \mvar{Text} is empty, otherwise |0| (false). + % +\begin{codeexample}[] +\pgfmathparse{isEmpty("foo")} \pgfmathresult\ and\ +\pgfmathparse{isEmpty("")} \pgfmathresult\ and\ +\def\emptyText{} +\pgfmathparse{isEmpty("\emptyText")} \pgfmathresult +\end{codeexample} +\end{math-function} + +\begin{math-function}{atanXY(\mvar{x},\mvar{y})} +\mathcommand + Arctangent of $\mvar y\div \mvar x$ in degrees. This also takes into account the quadrant. + This is just a argument-swapped version of |atan2| which makes it easier to use + the |\p| commands of the |calc| library. + \index{atan2@\protect\texttt{atan2} math function}% + \index{Math functions!atan2@\protect\texttt{atan2}}% + % +\begin{codeexample}[] +\pgfmathparse{atanXY(3,4)} \pgfmathresult +\end{codeexample} +\end{math-function} +\begin{math-function}{atanYX(\mvar{y},\mvar{x})} +\mathcommand + Arctangent of $y\div x$ in degrees. This also takes into account the quadrant. +\begin{codeexample}[] +\pgfmathparse{atanYX(4,3)} \pgfmathresult +\end{codeexample} +\end{math-function} + +\subsection{Functions: using coordinates} +The following functions can only be used with PGF and/or \tikzname. +Since the arguments are usually plain text (and not numbers) one has to wrap +them in |"|. +\begin{math-function}{anglebetween("\mvar{p1}", "\mvar{p2}")}\mathcommand + Return the angle between the centers of the nodes \mvar{p1} and \mvar{p2}. +\end{math-function} +\begin{math-function}{qanglebetween("\mvar{p}")}\mathcommand + Return the angle between the origin and the center of the node \mvar{p}. +\end{math-function} +\begin{math-function}{distancebetween("\mvar{p1}", "\mvar{p2}")}\mathcommand + Return the distance (in pt) between the centers of the nodes \mvar{p1} and \mvar{p2}. +\end{math-function} +\begin{math-function}{qdistancebetween("\mvar{p}")}\mathcommand + Return the distance (in pt) between the origin and the center of the node \mvar{p}. +\end{math-function} +\begin{codeexample}[width=6cm,preamble=\usetikzlibrary{calc,misc,through}] +\begin{tikzpicture} +\path (0,0) coordinate (A) + (0:4) coordinate (B) +(75:4) coordinate (C); +\draw (A) -- (B) -- (C) -- cycle; +\foreach \cnt in {1,...,4}{ + \pgfmathsetmacro\triA{distancebetween("B","C")} + \pgfmathsetmacro\triB{distancebetween("C","A")} + \pgfmathsetmacro\triC{distancebetween("A","B")} + \path (barycentric cs:A=\triA,B=\triB,C=\triC) coordinate (M) + node [draw, circle through=($(A)!(M)!(C)$)] (M) {}; + \draw ($(C)-(A)$) coordinate (vecB) + (M.75-90) coordinate (@) + (intersection of @--[shift=(vecB)]@ and B--C) coordinate (C) -- + (intersection of @--[shift=(vecB)]@ and B--A) coordinate (A);} +\end{tikzpicture} +\end{codeexample} +\section{PGFkeys} + +\subsection{Conditionals} + +\begin{key}{/utils/if=\meta{cond}\meta{true}\opt{\meta{false}}} + This key checks the conditional \meta{cond} and applies the styles \meta{true} + if \meta{cond} is true, otherwise \meta{false}. + \meta{cond} can be anything that PGFmath understands. + + As a side effect on how PGFkeys parses argument, the \meta{false} argument is + actually optional. +\end{key} + +The following keys use \TeX' macros |\if|, |\ifx|, |\ifnum| and |\ifdim| for faster +executions. + +\begin{key}{/utils/TeX/if=\meta{token A}\meta{token B}\meta{true}\opt{\meta{false}}} + This key checks via |\if| if \meta{token A} matches \meta{token B} + and applies the styles \meta{true} if it does, otherwise \meta{false}. + + As a side effect on how PGFkeys parses argument, the \meta{false} argument is + actually optional. +\end{key} + +\begin{key}{/utils/TeX/ifx=\meta{token A}\meta{token B}\meta{true}\opt{\meta{false}}} + As above. +\end{key} + +\begin{key}{/utils/TeX/ifnum=\meta{num cond}\meta{true}\\opt{\meta{false}}} + This key checks |\ifnum|\meta{num cond} + and applies the styles \meta{true} if true, otherwise \meta{false}. + A delimiting |\relax| will be inserted after \meta{num cond}. + + As a side effect on how PGFkeys parses argument, the \meta{false} argument is + actually optional. +\end{key} + +\begin{key}{/utils/TeX/ifdim=\meta{dim cond}\meta{true}\opt{\meta{false}}} + As above. +\end{key} + +\begin{key}{/utils/TeX/ifempty=\meta{Text}\meta{true}\opt{\meta{false}}} + This checks whether \meta{Text} is empty and applies styles \meta{true} if true, + otherwise \meta{false}. +\end{key} + + +\subsection{Handlers} + +While already a lot of values given to keys are evaluated by PGFmath at some point, +not all of them are. + +\begin{handler}{{.pgfmath}|=|\meta{eval}} + This handler evaluates \meta{eval} before it is handed to the key. +\end{handler} + +\begin{handler}{{.pgfmath int}|=|\meta{eval}} + As above but truncates the result. +\end{handler} + +\begin{handler}{{.pgfmath strcat}|=|\meta{eval}} + As above but uses the |strcat| function. + + In the example below, one could have used the |/pgf/foreach/evaluate| key from |\foreach|. +\begin{codeexample}[width=6cm,preamble=\usetikzlibrary{misc}] +\tikz\foreach \i in {0,10,...,100} + \draw[line width=+.2cm, color/.pgfmath strcat={"red!",sqrt(\i)*10,"!blue"}] + (0,\i/50) -- +(right:3); +\end{codeexample} +\end{handler} + +\begin{handler}{{.List}|=|\meta{\meta{e1}, \meta{e2}, \dots, \meta{en}}} + This handler evaluates the given list with |\foreach| and concatenates the element and + the result is then given to the used key. +\begin{codeexample}[width=6cm,preamble=\usetikzlibrary{fit,misc}] +\begin{tikzpicture}[nodes={draw, dashed, inner sep=+10pt}] + \foreach \point [count=\cnt] in {(0,0), (0,2), (2,0), (2,2), (3,3), (-1,-1)} + \fill \point circle[radius=.1] coordinate (point-\cnt); + \node[gray, fit/.List={(point-1),(point-...),(point-4)}] {}; + \node[red, fit/.List={(point-1),(point-...),(point-5)}] {}; + \node[blue, fit/.List={(point-1),(point-...),(point-6)}] {}; +\end{tikzpicture} +\end{codeexample} +\end{handler} +\begin{center} +\begin{codeexample}[width=10cm,preamble=\usetikzlibrary{graphs,graphdrawing} \usegdlibrary{force}] +\tikzset{ + mynode/.style={ + circle, minimum size=10mm, draw, densely dashdotted, thick, + decide color/.expand once=#1}, + decide color/.style 2 args={ + /utils/TeX/if=c#1 + {/utils/TeX/ifnum={#2<5}{bluelight}{bluedark}} + {/utils/TeX/ifnum={#2<8}{light}{dark}}}, + light/.style={fill=gray!20}, bluelight/.style={fill=blue!10}, + dark/.style ={fill=gray!60}, bluedark/.style ={fill=blue!30}} +\tikz\graph[ + spring electrical layout, vertical=c2 to p13, + node distance=1.5cm, typeset=$n_{\tikzgraphnodetext}$, + nodes={mynode=\tikzgraphnodetext}] { + % outer ring + c2 -- {p1, p11, p6}; + p1 -- {p8, c6, p11}; + p8 -- {p3, p10, c6}; + p3 -- {p13, p15, p10}; + p13 -- {p15, c7}; + c7 -- {c3, c4, p15}; + c3 -- {p14, c4}; + p14 -- {p7, c4}; + p7 -- {p9, p2, c4}; + p9 -- {c5, p12, p2}; + c5 -- {c1, p4, p12}; + c1 -- {p6, p4}; + p6 -- {p11, p4}; + % inner ring + p11 -- {c6, p12, p4}; + p5 -- {c6 -- {p10, p12}, p10 -- p15, p15 -- c4, c4 -- p2, p2 -- p12, p12 -- p4}; +}; +\end{codeexample} +\end{center} + +\section{PGFfor} + +Instead of |\foreach \var in {start, start + delta, ..., end}| one can use +|\foreach \var[use int=start to end step delta]|. + +\begin{key}{/pgf/foreach/use int=\meta{start}|to|\meta{end}\opt{|step|\meta{delta}}} +The values \meta{start}, \meta{end} and \meta{delta} are evaluates by PGFmath at initialization. +The part |step |\meta{delta} is optional (\meta{delta} = 1). +\end{key} + +\begin{key}{/pgf/foreach/use float=\meta{start}| o|\meta{end}opt{|step|\meta{delta}}} +Same as above, however the results are not truncated. +\end{key} + +%TODO: edges to and edges through +\endinput
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.arcto.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.arcto.tex new file mode 100644 index 0000000000..f219f34691 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.arcto.tex @@ -0,0 +1,107 @@ +% !TeX root = tikz-ext-manual.tex +% !TeX spellcheck = en_US +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\section{Arc \emph{to} a point} +\label{library:paths.arcto} + +\begin{tikzlibrary}{paths.arcto} + This library adds new path specifications |arc to| that specifies an arc \emph{to} a point~-- + without the user having to specify any angles. +\end{tikzlibrary} + +\begin{codeexample}[width=.5\linewidth,preamble=\usetikzlibrary{paths.arcto}] +\begin{tikzpicture}[ultra thick,dot/.style={label={#1}}] +\coordinate[dot=below left:$a$] (a) at (0,0); +\coordinate[dot=above right:$b$] (b) at (2,3); +\begin{scope}[ + radius=3, + nodes={ + shape=circle, + fill=white, + fill opacity=.9, + text opacity=1, + inner sep=+0pt, + sloped, + allow upside down + }] +\draw[blue] (a) arc to[] + node[near start] {.25} node {.5} node[near end] {.75} (b); +\draw[red] (a) arc to[clockwise] + node[near start] {.25} node {.5} node[near end] {.75} (b); +\draw[blue!50] (a) arc to[large] + node[near start] {.25} node {.5} node[near end] {.75} (b); +\draw[red!50] (a) arc to[large, clockwise] + node[near start] {.25} node {.5} node[near end] {.75} (b); +\end{scope} + +\fill[radius=2pt] (a) circle[] (b) circle[]; +\end{tikzpicture} +\end{codeexample} + +\begin{pathoperation}{arc to}{\opt{\oarg{options}}\meta{coordinate or cycle}} +When this operation is used, the path gets extended by an arc that goes through +the current point and \meta{coordinate}. + +For two points there exist two circles or four arcs that go through or connect +these two points. Which one of these is constructed is determined by the following +options that can be used inside of \meta{options}. + +\begin{stylekey}{/tikz/arc to/clockwise} + This constructs an arc that goes clockwise. +\end{stylekey} + +\begin{stylekey}{/tikz/arc to/counter clockwise} + This constructs an arc that goes counter clockwise. + + This is the default. +\end{stylekey} + +\begin{stylekey}{/tikz/arc to/large} + This constructs an arc whose angle is larger than $180^\circ$. +\end{stylekey} + +\begin{stylekey}{/tikz/arc to/small} + This constructs an arc whose angle is smaller than $180^\circ$. +\end{stylekey} + +\begin{key}{/tikz/arc to/rotate=\meta{degree}} + Rotates the arc by \meta{degree}. + This only takes effect when |x radius| and |y radius| is different. +\end{key} + +\begin{key}{/tikz/arc to/x radius=\meta{value}} + This forwards the \meta{value} to |/tikz/x radius|. +\end{key} + +\begin{key}{/tikz/arc to/y radius=\meta{value}} + This forwards the \meta{value} to |/tikz/y radius|. +\end{key} + +\begin{key}{/tikz/arc to/radius=\meta{value}} + This forwards the \meta{value} to both |/tikz/x radius| and |/tikz/y radius|. +\end{key} + +\begin{stylekey}{/tikz/every arc to} + After |/tikz/every arc| this will also be applied before any \meta{options} are set. +\end{stylekey} + +It should be noted that this uses |\pgfpatharcto| where the \tikzname\space manual warns of: +\begin{quote}\itshape + The internal computations necessary for this command are numerically very unstable. + In particular, the arc will not always really end at the \meta{target coordinate}, + but may be off by up to several points. + A more precise positioning is currently infeasible due to \TeX's numerical weaknesses. + The only case it works quite nicely is when the resulting angle is a multiple of $90^\circ$. +\end{quote} + +The |arc to| path operation will also work only in the |canvas| coordinate system. +The lengths of the vectors $(1, 0)$ and $(0, 1)$ will be used for the calculation of the radii +but no further consideration is done. +\end{pathoperation}
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.ortho.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.ortho.tex new file mode 100644 index 0000000000..32adea7af0 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.ortho.tex @@ -0,0 +1,138 @@ +% !TeX root = tikz-ext-manual.tex +% !TeX spellcheck = en_US +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\section{More Horizontal and Vertical Lines} +\label{library:paths.ortho} + +\begin{tikzlibrary}{paths.ortho} + This library adds new path specifications \verb!|-|!, \verb!-|-! as well as + |r-ud|, |r-du|, |r-lr| and |r-rl|. +\end{tikzlibrary} + +\subsection{Zig-Zag} +Similar to the path operations \verb!|-! and \verb!-|! this library adds +the path operations \verb!|-|! and \verb!-|-!. +{\catcode`\|=12 +\begin{pathoperation}[noindex]{|-|}{\opt{\oarg{options}}\meta{coordinate or cycle}} + \index{---1@\protect\texttt{\protect\pgfmanualbar-\protect\pgfmanualbar} path operation}% + \index{Path operations!---1@\protect\texttt{\protect\pgfmanualbar-\protect\pgfmanualbar}}% + \pgfmanualpdflabel[\catcode`\|=12 ]{|-|}{}% + This operation means ``first vertical, then horizontal and then vertical again''. +\end{pathoperation} +\begin{pathoperation}[noindex]{-|-}{\opt{\oarg{options}}\meta{coordinate or cycle}} + \index{--1@\protect\texttt{-\protect\pgfmanualbar-} path operation}% + \index{Path operations!--1@\protect\texttt{-\protect\pgfmanualbar-}}% + \pgfmanualpdflabel[\catcode`\|=12 ]{-|-}{}% + This operation means ``first horizontal, then vertical and then horizontal again''. +\end{pathoperation} +} +\begin{key}{/tikz/hvvh/ratio=\meta{ratio} (initially 0.5)} + This sets the ratio for the middle part of the Zig-Zag connection. + + For values $\meta{ratio} < 0$ and $\meta{ratio} > 1$ the Zig-Zag lines will + look more like Zig-Zig lines. + \begin{codeexample}[preamble=\usetikzlibrary{paths.ortho}] +\begin{tikzpicture}[very thick] +\draw[help lines] (-.25, -1.25) grid (2.25, 1.25); +\draw (0, 0) -|- (2, 1) -- + (2, 0) -|-[ratio=.25] (0,-1) -- cycle; +\end{tikzpicture} + \end{codeexample} +\end{key} +%TODO: hvvh/distance needs fixing. +\begin{key}{/tikz/hvvh/distance=\meta{distance}} + This sets the distance between the start point + and the middle part of the Zig-Zag connection. + + For values $\meta{distance} < 0$ the distance will be used for the target coordinate. +\begin{codeexample}[width=8cm,preamble=\usetikzlibrary{paths.ortho}] +\begin{tikzpicture}[very thick,-latex] +\draw[help lines,-] (-.25, -.25) grid (5.25, 3.25); +\draw (0, 0) -|-[distance= .5cm] ++(2, 1); +\draw (0, 1.5) -|-[distance=-.5cm] ++(2, 1); + +\tikzset{xshift=3cm} +\draw (2, 1) -|-[distance= .5cm] ++(-2, -1); +\draw (2, 2.5) -|-[distance=-.5cm] ++(-2, -1); +\end{tikzpicture} +\end{codeexample} +\end{key} +\begin{key}{/tikz/hvvh/from center=\opt{\meta{true or false}} (initially false, default true)} + When nodes get connected the placement of the middle part of the Zig-Zag + and the Zig-Zig (see below) connections will be calculated from the border + of these nodes. + The middle part of the connections can be calculated from the nodes' center + if this key is set to |true|. +\end{key} + +New timers are setup for both the Zig-Zag and the Zig-Zig connections, +these can be configured through the following keys. +\begin{codeexample}[width=8cm,preamble=\usetikzlibrary{paths.ortho}] +\tikz \draw (0,0) -|- (2,3) + foreach \p in {0.0, 0.25, 0.5, 0.75, 1.0}{ + node [pos=\p] {\p}}; +\end{codeexample} +\begin{key}{/tikz/hvvh/spacing=\meta{number} (initially 4)} + Unless $\meta{number} = 0$ is set + \begin{itemize} + \item |pos = 0| will be at the start, + \item |pos = 1| will be at the end, + \item |pos = |$\frac{1}{\meta{number}}$ will be at the first kink, + \item |pos = |$\frac{\meta{number}-1}{\meta{number}}$ will be at the second kink and + \item |pos = .5| will be in the middle of the middle part of the connection. + \end{itemize} + + If $\meta{number} = 0$ then + \begin{itemize} + \item |pos = -1| will be at the start, + \item |pos = 2| will be at the end, + \item |pos = 0| will be at the first kink, + \item |pos = 1| will be at the second kink and + \item |pos = .5| will still be in the middle of the middle part of the connection. + \end{itemize} +\end{key} +\begin{key}{/tikz/hvvh/middle 0 to 1} + This is an alias for |spacing = 0|. +\end{key} + +\subsection{Zig-Zig} +\begin{pathoperation}{r-ud}{\opt{\oarg{options}}\meta{coordinate or cycle}} + This operation means ``first up, then horizontal and then down''. + \begin{key}{/tikz/udlr/ud distance=\meta{length} (initially .5cm)} + This sets the distance between the start and the horizontal line to \meta{length}. + \end{key} +\end{pathoperation} +\begin{pathoperation}{r-du}{\opt{\oarg{options}}\meta{coordinate or cycle}} + This operation means ``first down, then horizontal and then up''. + \begin{key}{/tikz/udlr/du distance=\meta{length} (initially .5cm)} + This sets the distance between the start and the horizontal line to \meta{length}. + \end{key} +\end{pathoperation} +\begin{pathoperation}{r-lr}{\opt{\oarg{options}}\meta{coordinate or cycle}} + This operation means ``left down, then vertical and then right''. + \begin{key}{/tikz/udlr/lr distance=\meta{length} (initially .5cm)} + This sets the distance between the start and the vertical line to \meta{length}. + \end{key} +\end{pathoperation} +\begin{pathoperation}{r-rl}{\opt{\oarg{options}}\meta{coordinate or cycle}} + This operation means ``first right, then vertical and then down''. + \begin{key}{/tikz/udlr/rl distance=\meta{length} (initially .5cm)} + This sets the distance between the start and the vertical line to \meta{length}. + \end{key} +\end{pathoperation} + +All distances can be set with on key. +\begin{key}{/tikz/udlr/distance=\meta{length}} + Sets all distances in the |/tikz/udlr| namespace. +\end{key} + +\begin{key}{/tikz/udlr/from center=\opt{\meta{true or false}} (initially false, default true)} + This is an alias for |/tikz/hvvh/from center|. +\end{key}
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.timer.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.timer.tex new file mode 100644 index 0000000000..d3670726d7 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-paths.timer.tex @@ -0,0 +1,116 @@ +% !TeX root = tikz-ext-manual.tex +% !TeX spellcheck = en_US +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% +\makeatletter +\newenvironment{pathoperation'}[3][]{ + \begin{pgfmanualentry} + \def\pgfmanualtest{#1}% + \pgfmanualentryheadline{% + \ifx\pgfmanualtest\@empty% + \pgfmanualpdflabel{#2}{}% + \fi% + %\textcolor{gray}{{\ttfamily\char`\\path}\ \ \dots} + %\declare{\texttt{\noligs{#2}}}#3\ \textcolor{gray}{\dots\texttt{;}} + }% + \ifx\pgfmanualtest\@empty% + \index{#2@\protect\texttt{#2} path operation}% + \index{Path operations!#2@\protect\texttt{#2}}% + \fi% + \pgfmanualbody +} +{ + \end{pgfmanualentry} +} +\makeatother +\section{Extending the Path Timers} +\label{library:timer} + +\begin{tikzlibrary}{paths.timer} + This library adds timers to the path specifications |rectangle|, |parabola|, |sin| and |cos|. +\end{tikzlibrary} + +In \tikzname, the path specification |rectangle|, |parabola|, |sin| and |cos| do not provide +their own timer, i.\,e. a node placing algorithm that is dependent on the actual path. +For |rectangle| the timer of the straight line between the rectangle's corners is used, for +the other paths, nodes, coordinates, pics, etc. are placed on the last coordinate. + +This library allows this. + +\subsection{Rectangle} +%\index{Path operations!\protect\texttt{rectangle}}% +%\index{\texttt{rectangle} path operation}% +\begin{pathoperation'}{rectangle}{}\end{pathoperation'} + +For the |rectangle| path operator, the timer starts with |pos = 0| (= |at start|) from +the starting coordinate in a counter-clockwise direction along the rectangle. +The corners will be at positions 0.0, 0.25, 0.5, 0.75 and 1.0. + +\begin{codeexample}[width=10cm,preamble=\usetikzlibrary{paths.timer}] +\begin{tikzpicture}[scale=2, every pin edge/.style={latex-, gray}] +\coordinate [label=above right:Target] (A) at (0,0); +\coordinate [label=below left:Start] (B) at (1,2); +\draw[->, help lines] ([shift=(50:.3 and .75)] .5,1) + arc[start angle=50, delta angle=340, x radius=.3, y radius=.75]; +\draw (B) rectangle (A) + foreach \pos/\ang in {at start/60, very near start/90, near start/180, pos=.375/180, + midway/180, pos=.625/270, near end/0, very near end/0, at end/0}{ + node[pin=\ang:\pos, style/.expanded=\pos]{}}; +\end{tikzpicture} +\end{codeexample} + +\subsection{Parabola} +\index{Path operations!\protect\texttt{parabola}}% +\index{\texttt{parabola} path operation}% + +For the |parabola| path operator the timer is similar to the |.. controls ..| operator. + +The position 0.5 will lie at the |bend|. +\begin{codeexample}[width=.3\linewidth,preamble=\usetikzlibrary{paths.timer}] +\begin{tikzpicture} +\draw[help lines] (-2.25, -1.25) grid (2.25, 3.25); +\draw ( 2,-1) parabola bend (0,0) (-1,3); +\draw[ultra thick] (-2,-1) parabola bend (0,0) ( 1,3) + foreach \pos in {1,...,4,6,7,...,9}{ + node[ + pos=.\pos, sloped, fill=white, font=\small, inner sep=+0pt + ] {\pos} + }; +\end{tikzpicture} +\end{codeexample} + +If no |bend| is specified half the positions will collapse into one end of the curve. + +\begin{codeexample}[width=.3\linewidth,preamble=\usetikzlibrary{paths.timer}] +\begin{tikzpicture}[every pin edge/.style={latex-, shorten <=1pt, gray}] +\draw (-2,-2) parabola (1,0) + foreach \pos in {0, 1, ..., 10} { + node [pos=\pos/10, pin={[anchor=-18*\pos+90]-18*\pos+270:\pos}]{} + }; +\end{tikzpicture} +\end{codeexample} + +\subsection{Sine/Cosine} +\index{Path operations!\protect\texttt{sin}}% +\index{Path operations!\protect\texttt{cos}}% +\index{\texttt{sin} path operation}% +\index{\texttt{cos} path operation}% + +The |sin| and |cos| path operators also allow placing of nodes along their paths. + +\begin{codeexample}[width=.3\linewidth,preamble=\usetikzlibrary{paths.timer}] +\begin{tikzpicture}[mark nodes on line/.style={insert path={ + foreach \pos in {1, ..., 9} {node[ + sloped, fill=white, font=\small, inner sep=+0pt, pos=\pos/10] {\pos}}}}] +\draw[help lines] (-2.1,-2.1) grid (2.1,0.1); +\draw (-2,-2) sin (1,0) [mark nodes on line]; +\draw[shift=(0:1)](-2,-2) cos (1,0) [mark nodes on line]; +\end{tikzpicture} +\end{codeexample} + +\endinput diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-patterns.images.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-patterns.images.tex new file mode 100644 index 0000000000..2c02b157a9 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-patterns.images.tex @@ -0,0 +1,50 @@ +% !TeX spellcheck = en_US +% !TeX root = tikz-ext-manual.tex +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% +\clearpage +\section{Using Images as a Pattern} +\label{library:patterns.images} + +\begin{tikzlibrary}{patterns.images} + This library allows to use an image to be used as a repeating pattern for a path. +\end{tikzlibrary} + +With this library arbitrary images (or indeed PDF documents) can be used as +a repeating pattern for the background of a path. + +This is a two-step process: +\begin{enumerate} +\item Declaring an image as an ``image-pattern''. +\item Using the ``image-pattern''. +\end{enumerate} + +\begin{command}{\pgfsetupimageaspattern\oarg{options}\marg{name}\marg{image}} +\end{command} + +\begin{key}{/tikz/image as pattern=\meta{options} (default |\{\}|)} + +\begin{codeexample}[preamble=\usetikzlibrary{patterns.images}] +\pgfsetupimageaspattern[width=.5cm]{grid}{example-image-1x1} +\tikz \node[star, minimum size=3cm, draw, + image as pattern={name=grid,options={left, bottom, y=-.5cm, rotate=45}}] {}; +\end{codeexample} +\end{key} + +\begin{key}{/tikz/image as pattern/name=\meta{name}} +Specifies the name of the ``image-pattern'' to be used. +\end{key} + +\begin{stylekey}{/tikz/image as pattern/option} +Options that's be used by the internal |\pgftext|, +only keys from |/pgf/text| should be used. +\end{stylekey} + +\begin{stylekey}{/tikz/image as pattern/options=\meta{style}} +Appends style |/tikz/image as pattern/option|. +\end{stylekey}
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-topaths.arcthrough.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-topaths.arcthrough.tex new file mode 100644 index 0000000000..10b125a39b --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-topaths.arcthrough.tex @@ -0,0 +1,60 @@ +% !TeX root = tikz-ext-manual.tex +% !TeX spellcheck = en_US +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\section{Arcs through Three Points} +\label{library:topaths.arcthrough} +\begin{tikzlibrary}{topaths.arcthrough} + This library allows to use an arc defined by three points. +\end{tikzlibrary} + +\begin{codeexample}[width=10cm,preamble=\usetikzlibrary{topaths.arcthrough}] +\begin{tikzpicture} +\coordinate[label=above right:$A$] (A) at ( 3, 1); +\coordinate[label=above:$B$] (B) at ( 1, 2); +\coordinate[label=below left:$C$] (C) at (-2,-2); + +\draw[ultra thick, draw=green, fill=green!50] + (B) to[arc through={clockwise,(A)}] (C) + -- (arc through center) -- cycle; +\draw[ultra thick, draw=blue, fill=blue!50] + (B) to[arc through=(A)] (C) + -- (arc through center) -- cycle; + +\foreach \p in {A,B,C, arc through center} \fill[red] (\p) circle[radius=2pt]; +\end{tikzpicture} +\end{codeexample} + +This can only by used for circles in the |canvas| coordinate system. + +\begin{key}{/tikz/arc through/through=\meta{coordinate} (initially {(0,0)})} + The coordinate on the circle that defines~-- together with the + starting and target point~-- a circle. +\end{key} + +\begin{key}{/tikz/arc through/center suffix=\meta{suffix} (initially {})} + The |arc through| will define a coordinate named |arc through center|\meta{suffix} + so that it can referenced later. +\end{key} + +\begin{key}{/tikz/arc through/clockwise} + The resulting arc will go clockwise from the starting point to the target point. + This will not necessarily go through the |through| point. +\end{key} + +\begin{key}{/tikz/arc through/counter clockwise} + The resulting arc will go counter clockwise from the starting point to the target point. + This will not necessarily go through the |through| point. +\end{key} + +\begin{key}{/tikz/arc through=\meta{key-value}} + This key should be used with |to| or |edge|. + A parameter other than |center suffix|, |clockwise| or |counter clockwise| will + be assumed to be the |through| coordinate. +\end{key} diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-trans.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-trans.tex new file mode 100644 index 0000000000..ef1fb70ac2 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-library-trans.tex @@ -0,0 +1,134 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\clearpage +\section{Mirror, Mirror on the Wall} +\label{library:mirror} + +\begin{tikzlibrary}{transformations.mirror} + This library adds more transformations to \tikzname. +\end{tikzlibrary} + +As explained in section~\ref{pgflibrary:transformations}, they are two approaches to setting a mirror transformation. +As with the commands in PGF, we'll be using lowercase |m| for the ``Spiegelungsmatrix'' and uppercase |M| for the built-in approach. + +\subsection{Using the ``Spiegelungsmatrix''} + +\begin{codeexample}[width=.4\linewidth,preamble=\usetikzlibrary{shapes.geometric,transformations.mirror}] +\begin{tikzpicture}[line join=round, thick, reg poly/.style={ + shape=regular polygon, regular polygon sides={#1}}] +\node[reg poly=5, minimum size=+2cm, draw, very thick] (a) {}; +\foreach \i[evaluate={\col=(\i-1)/.04}] in {1,...,5} + \node [mirror=(a.corner \i)--(a.side \i), transform shape, + reg poly=5, minimum size=+2cm, draw=red!\col!blue] {}; +\end{tikzpicture} +\end{codeexample} + +\begin{key}{/tikz/xmirror=\meta{value or coordinate}} + Sets up a transformation that mirrors along a horizontal line that goes through point $(\text{\meta{value}}, 0)$ or \meta{coordinate}. + +\begin{codeexample}[preamble=\usetikzlibrary{transformations.mirror}] +\begin{tikzpicture} +\draw[help lines] (-0.25, -.25) grid (3.25, 1.25); +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); + +\draw[dashed] (1.5, -.25) coordinate (m) -- (1.5, 1.25); +\draw[xmirror=(m),-latex] (0,0) .. controls (.5,1) .. (1,1); +\end{tikzpicture} +\end{codeexample} +\end{key} + +\begin{key}{/tikz/ymirror=\meta{value or coordinate}} + Sets up a transformation that mirrors along a vertical line that goes through point $(0, \text{\meta{value}})$ or \meta{coordinate}. +\end{key} + + +\begin{key}{/tikz/mirror x=\meta{coordinate}} + Similar to |/tikz/xmirror|, this however uses the |xyz| coordinate system instead of the |canvas| system. +\begin{codeexample}[preamble=\usetikzlibrary{transformations.mirror}] +\begin{tikzpicture}[x=.5cm, y=(45:1cm)] + +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); + +\draw[dashed] (1.5, -.25) coordinate (m) -- (1.5, 1.25); + +\draw[ xmirror=(m), -latex, red, dotted] (0,0) .. controls (.5,1) .. (1,1); +\draw[mirror x=(m), -latex] (0,0) .. controls (.5,1) .. (1,1); +\end{tikzpicture} +\end{codeexample} +\end{key} + +\begin{key}{/tikz/mirror y=\meta{coordinate}} + Similar to |/tikz/ymirror|, this however uses the |xyz| coordinate system instead of the |canvas| system. +\end{key} + + +\begin{key}{/tikz/mirror=\meta{point A}|--|\meta{point B}} + Sets up a transformation that mirrors along a line that goes through \meta{point A} and \meta{point B}. + + When only \meta{point A} is given that line goes through \meta{point A} and the origin. +\end{key} + +\subsection{Using built-in transformations} + +\begin{codeexample}[width=.4\linewidth,preamble=\usetikzlibrary{shapes.geometric,transformations.mirror}] +\begin{tikzpicture}[line join=round, thick, reg poly/.style={ + shape=regular polygon, regular polygon sides={#1}}] +\node[reg poly=5, minimum size=+2cm, draw, very thick] (a) {}; +\foreach \i[evaluate={\col=(\i-1)/.04}] in {1,...,5} + \node [Mirror=(a.corner \i)--(a.side \i), transform shape, + reg poly=5, minimum size=+2cm, draw=red!\col!blue] {}; +\end{tikzpicture} +\end{codeexample} + +\begin{key}{/tikz/xMirror=\meta{value or coordinate}} + Sets up a transformation that mirrors along a horizontal line that goes through point $(\text{\meta{value}}, 0)$ or \meta{coordinate}. + +\begin{codeexample}[preamble=\usetikzlibrary{transformations.mirror}] +\begin{tikzpicture} +\draw[help lines] (-0.25, -.25) grid (3.25, 1.25); +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); + +\draw[dashed] (1.5, -.25) coordinate (m) -- (1.5, 1.25); +\draw[xMirror=(m),-latex] (0,0) .. controls (.5,1) .. (1,1); +\end{tikzpicture} +\end{codeexample} +\end{key} + +\begin{key}{/tikz/yMirror=\meta{value or coordinate}} + Sets up a transformation that mirrors along a vertical line that goes through point $(0, \text{\meta{value}})$ or \meta{coordinate}. +\end{key} + + +\begin{key}{/tikz/Mirror x=\meta{coordinate}} + Similar to |/tikz/xMirror|, this however uses the |xyz| coordinate system instead of the |canvas| system. +\begin{codeexample}[preamble=\usetikzlibrary{transformations.mirror}] +\begin{tikzpicture}[x=.5cm, y=(45:1cm)] + +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); + +\draw[dashed] (1.5, -.25) coordinate (m) -- (1.5, 1.25); + +\draw[ xMirror=(m), -latex, red, dotted] (0,0) .. controls (.5,1) .. (1,1); +\draw[Mirror x=(m), -latex] (0,0) .. controls (.5,1) .. (1,1); +\end{tikzpicture} +\end{codeexample} +\end{key} + +\begin{key}{/tikz/Mirror y=\meta{coordinate}} + Similar to |/tikz/yMirror|, this however uses the |xyz| coordinate system instead of the |canvas| system. +\end{key} + + +\begin{key}{/tikz/Mirror=\meta{point A}\opt{|--|\meta{point B}}} + Sets up a transformation that mirrors along a line that goes through \meta{point A} and \meta{point B}. + + When only \meta{point A} is given that line goes through \meta{point A} and the origin. +\end{key} + +\endinput
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-body.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-body.tex new file mode 100644 index 0000000000..10deb02792 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-body.tex @@ -0,0 +1,127 @@ +% !TeX spellcheck = en_US +% !TeX root = tikz-ext-manual.tex +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% +\newcommand*\tikzextname{Ti\textit kZ-Extensions} +\newcommand*\tikzextversion{0.1} + +%\includeonly{ +% tikz-ext-manual-en-library-paths.arcto, +% tikz-ext-manual-en-library-paths.ortho, +% tikz-ext-manual-en-library-paths.timer, +% tikz-ext-manual-en-library-patterns.images, +% tikz-ext-manual-en-library-topaths.arcthrough, +% tikz-ext-manual-en-library-trans, +% tikz-ext-manual-en-pgf-trans, +% tikz-ext-manual-en-library-misc, +%} +\begin{document} + +\title{\bfseries The \tikzextname\space Package\\ + \large Manual for version \tikzextversion\\[1mm] +\large\href{https://github.com/Qrrbrbirlbel/tikz-extensions}{\texttt{https://github.com/Qrrbrbirlbel/tikz-extensions}} +\author{Qrrbrbirlbel}} + +\maketitle +\label{table-of-contents} + +\tableofcontents + + +\include{tikz-ext-manual-en-intro} + +\part{\tikzname\space Libraries} +\label{part:tikz} + +These libraries only work with \tikzname. +\vspace{1em} +\begin{center} +\begin{tikzpicture}[ + very thick, + scale=2.7, + grow cyclic, + level distance=1cm, + level/.style={ + level distance/.expanded=\ifnum#1>1 \tikzleveldistance/1.5\else\tikzleveldistance\fi, + nodes/.expanded={\ifodd#1 fill\else fill=none\fi} + }, + level 1/.style={sibling angle=120}, + level 2/.style={sibling angle=90}, + level 3/.style={sibling angle=90}, + level 4/.style={sibling angle=45}, + nodes={circle,draw,inner sep=+0pt, minimum size=+5pt}, + ] +\path[rotate=30] + node {} + child foreach \cntI in {1,...,3} { + node {} + child foreach \cntII in {1,...,2} { + node {} + child foreach \cntIII in {1,...,2} { + node {} + child foreach \cntIV in {1,...,2} { + node {} + child foreach \cntV in {1,...,2} {} + } + } + } + }; +\end{tikzpicture} +\end{center} + +\include{tikz-ext-manual-en-library-paths.arcto} +\include{tikz-ext-manual-en-library-paths.ortho} +\include{tikz-ext-manual-en-library-paths.timer} +\include{tikz-ext-manual-en-library-patterns.images} +\include{tikz-ext-manual-en-library-topaths.arcthrough} +\include{tikz-ext-manual-en-library-trans} + +\part{PGF Libraries} +\label{part:pgf} +These libraries (should) work with both PGF and \tikzname. + +\include{tikz-ext-manual-en-pgf-trans} + +\part{Miscellaneous} + +\label{part:misc} +\vfill +\begin{codeexample}[width=6cm, preamble=\usetikzlibrary{misc}] +\begin{tikzpicture}[ + declare function={bigR(\n)=smallR+.05*\n;}, + declare constant={smallR=1; segments=20;}, + full arc=segments] +\foreach \iN[evaluate={\endRadius=bigR(\iN+1);}, use int=0 to segments-1] + \filldraw[fill=gray!50] (\iN R:\endRadius) + arc [radius=\endRadius, start angle=\iN R, delta angle=+1R] -- (\iN R+1R:smallR) + arc [radius=smallR, end angle=\iN R, delta angle=-1R] -- cycle; + +\node {$\phi^2$}; +\node at (north west:{sqrt 2 * bigR(segments/2)}) {$\{\Omega\}_{i=1}^n$}; +\node[rotate=-.5R, right] at (-.5R: bigR segments) {$\partial \varphi$}; + +\tikzset{yshift=-5cm, declare constant={segments=25;}, full arc=segments} +\filldraw[fill=gray!50] (right:smallR) + \foreach \iN[evaluate={\endRadius=bigR(\iN+1);}, use int=0 to segments-1] { + -- (\iN R:\endRadius) arc[radius=\endRadius, start angle=\iN R, delta angle=1R]} + -- (right:smallR) arc[radius=smallR, start angle=0, delta angle=-360]; + +\node {$\phi^2$}; +\node at (north west:{sqrt 2 * bigR(segments/2)}) {$\{\Omega\}_{i=1}^n$}; +\node[rotate=-.5R, right] at (-.5R: bigR segments) {$\partial \varphi$}; +\end{tikzpicture} +\end{codeexample} +\vfill + +\include{tikz-ext-manual-en-library-misc} + +%%% END +\printindex + +%\typeout{Examples: \the\codeexamplecount}% +\end{document}
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-preamble.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-preamble.tex new file mode 100644 index 0000000000..a1897bbf70 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-main-preamble.tex @@ -0,0 +1,105 @@ +% !TeX spellcheck = en_US +% !TeX root = tikz-ext-manual.tex +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\usepackage[version=latest]{pgf} + +\usepackage{xkeyval,calc,listings,tikz,fp} + +\usepackage{imakeidx} +\makeindex +\usepackage{hyperref} +\hypersetup{% + colorlinks=false, % use true to enable colors below: + linkcolor=blue,%red, + filecolor=blue,%magenta, + urlcolor=blue,%cyan, + citecolor=blue, + pdfborder=0 0 0, +} + +\usepackage[a4paper,left=2.25cm,right=2.25cm,top=2.5cm,bottom=2.5cm,nohead,columnsep=1cm]{geometry} +\usepackage{amsmath,amssymb} +\usepackage{xxcolor} +\usepackage{pifont} + +\usepackage[T1]{fontenc} +% Promote `Missing character` reports to full errors +% require texlive 2021 or above +\tracinglostchars=3 + +\input{pgfmanual-en-macros} + +\usepackage{unicode-math} +\setmathfont[Scale=MatchUppercase]{libertinusmath-regular.otf} +\usepackage[ttscale=.85]{libertine} +\setmonofont[Scale=0.8]{Bitstream Vera Sans Mono} + +\makeatletter +\renewcommand*\l@section[2]{% + \ifnum \c@tocdepth >\z@ + \addpenalty\@secpenalty + \addvspace{1.0em \@plus\p@}% + \setlength\@tempdima{2.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + #1\nobreak\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par + \endgroup + \fi} +\renewcommand*\l@subsection{\@dottedtocline{2}{2.5em}{3.3em}} +\renewcommand*\l@subsubsection{\@dottedtocline{3}{5.8em}{4.2em}} +\def\@pnumwidth{2.2em} +\makeatother + +% Global styles: +\tikzset{ + every plot/.style={prefix=plots/pgf-}, + shape example/.style={ + color=black!30, + draw, + fill=yellow!30, + line width=.5cm, + inner xsep=2.5cm, + inner ysep=0.5cm} +} + +% Detect changed labels +% by David Carlisle https://tex.stackexchange.com/a/169245 +\makeatletter +\def\@testdef#1#2#3{% + \def\reserved@a{#3}% + \expandafter\ifx\csname #1@#2\endcsname\reserved@a\else + \typeout{^^JLabel `#2' changed:^^J\meaning\reserved@a^^J\expandafter\meaning\csname #1@#2\endcsname^^J}% + \@tempswatrue + \fi} +\makeatother + +\usetikzlibrary{ + misc, + paths.arcto, + paths.ortho, + paths.timer, + patterns.images, + topaths.arcthrough, + transformations.mirror, + % + calc, + fit, + shapes.geometric, + through, + trees, +} + +%% needs Lua! +\usetikzlibrary{graphs,graphdrawing} +\usegdlibrary{force} diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-trans.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-trans.tex new file mode 100644 index 0000000000..3788e0c9a4 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual-en-pgf-trans.tex @@ -0,0 +1,157 @@ +% !TeX spellcheck = en_US +% !TeX root = tikz-ext-manual.tex +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\section{Transformations: Mirroring} +\label{pgflibrary:transformations} + +\begin{pgflibrary}{transformations.mirror} + This library adds mirror transformations to PGF. +\end{pgflibrary} + +Two approaches to mirror transformation exist: +\begin{enumerate} +\item Using the ``Spiegelmatrix`` (see section~\ref{pgflibrary:transformations:spiegelungsmatrix}). + + This depends on |\pgfpointnormalised| which involves the sine and the cosine functions of PGFmath. + +\item Using built-in transformations (see section~\ref{pgflibrary:transformations:builtin}). + + This depends on |\pgfmathanglebetween| which involves the arctangent (|atan2|) function of PGFmath. +\end{enumerate} + +Which one is better? I don't know. +Choose one you're comfortable with. + +\subsection{Using the ``Spiegelungsmatrix''} +\label{pgflibrary:transformations:spiegelungsmatrix} + +The following commands use the ``Spiegelungsmatrix'' that sets the transformation matrix following +\begin{equation*} + A = \frac{1}{\Vert\vec l\Vert^2} \begin{bmatrix} + l_x^2-l_y^2 & 2l_xl_y \\ + 2l_xl_y & l_y^2-l_x^2\\ + \end{bmatrix}. +\end{equation*} + + +\begin{command}{\pgftransformxmirror\marg{value}} + Sets up a transformation that mirrors along a vertical line that goes through point $(\text{\meta{value}}, 0)$. + +\begin{codeexample}[preamble=\usepgflibrary{transformations.mirror}] +\begin{tikzpicture} +\draw[help lines] (-0.25, -.25) grid (3.25, 1.25); +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); + +\draw[dashed] (1.5, -.25) -- (1.5, 1.25); +\pgftransformxmirror{1.5} + +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); +\end{tikzpicture} +\end{codeexample} +\end{command} + +\begin{command}{\pgftransformymirror\marg{value}} + Sets up a transformation that mirrors along a horizontal line that goes through point $(0, \text{\meta{value})}$. +\end{command} + +\begin{command}{\pgftransformmirror\marg{point A}\marg{point B}} + Sets up a transformation that mirrors along the line that goes through \meta{point A} and \meta{point B}. + +\begin{codeexample}[preamble=\usepgflibrary{transformations.mirror}] +\begin{tikzpicture} +\draw[help lines] (-.25, -2.25) grid (2.5, 1.25); +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); + +\draw[dashed] (0, -1) -- (2, 0); +\pgftransformmirror{\pgfpointxy{0}{-1}}{\pgfpointxy{2}{0}} + +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); +\end{tikzpicture} +\end{codeexample} +\end{command} + +\begin{command}{\pgfqtransformmirror\marg{point A}} + Sets up a transformation that mirrors along the line that goes through the origin and \meta{point A}. + +\begin{codeexample}[preamble=\usepgflibrary{transformations.mirror}] +\begin{tikzpicture} +\draw[help lines] (-.25, -.25) grid (2.25, 1.25); +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); + +\draw[dashed] (0, 0) -- (2, 1); +\pgfqtransformmirror{\pgfpointxy{2}{1}} + +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); +\end{tikzpicture} +\end{codeexample} +\end{command} + + +\subsection{Using built-in transformations} +\label{pgflibrary:transformations:builtin} + +The following commands use a combination of shifting, rotating, $-1$ scaling, rotating back and shifting back to reach the mirror transformation. + +The commands are named the same as above, only the |m| in |mirror| is capitalized. + + +\begin{command}{\pgftransformxMirror\marg{value}} + Sets up a transformation that mirrors along a vertical line that goes through point $(\text{\meta{value}}, 0)$. + +\begin{codeexample}[preamble=\usepgflibrary{transformations.mirror}] +\begin{tikzpicture} +\draw[help lines] (-0.25, -.25) grid (3.25, 1.25); +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); + +\draw[dashed] (1.5, -.25) -- (1.5, 1.25); +\pgftransformxMirror{1.5} + +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); +\end{tikzpicture} +\end{codeexample} +\end{command} + +\begin{command}{\pgftransformyMirror\marg{value}} + Sets up a transformation that mirrors along a horizontal line that goes through point $(0, \text{\meta{value})}$. +\end{command} + +\begin{command}{\pgftransformMirror\marg{point A}\marg{point B}} + Sets up a transformation that mirrors along the line that goes through \meta{point A} and \meta{point B}. + +\begin{codeexample}[preamble=\usepgflibrary{transformations.mirror}] +\begin{tikzpicture} +\draw[help lines] (-.25, -2.25) grid (2.5, 1.25); +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); + +\draw[dashed] (0, -1) -- (2, 0); +\pgftransformMirror{\pgfpointxy{0}{-1}}{\pgfpointxy{2}{0}} + +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); +\end{tikzpicture} +\end{codeexample} +\end{command} + +\begin{command}{\pgfqtransformMirror\marg{point A}} + Sets up a transformation that mirrors along the line that goes through the origin and \meta{point A}. + +\begin{codeexample}[preamble=\usepgflibrary{transformations.mirror}] +\begin{tikzpicture} +\draw[help lines] (-.25, -.25) grid (2.25, 1.25); +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); + +\draw[dashed] (0, 0) -- (2, 1); +\pgfqtransformMirror{\pgfpointxy{2}{1}} + +\draw[-latex] (0,0) .. controls (.5,1) .. (1,1); +\end{tikzpicture} +\end{codeexample} +\end{command} + +\endinput
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.pdf b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.pdf Binary files differnew file mode 100644 index 0000000000..57ce1debf8 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.pdf diff --git a/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.tex b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.tex new file mode 100644 index 0000000000..1b9754d629 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/doc/tikz-ext-manual.tex @@ -0,0 +1,31 @@ +% !TeX TS-program = lualatex +% !TeX spellcheck = en_US +% !TeX root = tikz-ext-manual.tex +% arara: lualatex +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\documentclass[a4paper,doc2,landscape]{ltxdoc} + +\input{tikz-ext-manual-en-main-preamble.tex} +\usetikzlibrary{external} +\newif\iftikzextmanualexternalize +\tikzextmanualexternalizetrue +\iftikzextmanualexternalize + \tikzexternalize[ + prefix=doc/tikz/, + mode=graphics if exists, + %mode=list and make, + %mode=list only,export=true,% simply skips EVERY picture -> good for debugging the text. + ] + \tikzifexternalizing{% + \pgfkeys{/pdflinks/codeexample links=false}% + }{}% +\fi + +\input{tikz-ext-manual-en-main-body.tex} diff --git a/graphics/pgf/contrib/tikz-ext/pgflibrarytransformations.mirror.code.tex b/graphics/pgf/contrib/tikz-ext/pgflibrarytransformations.mirror.code.tex new file mode 100644 index 0000000000..4d962ccb1c --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/pgflibrarytransformations.mirror.code.tex @@ -0,0 +1,96 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% +\def\pgftransformxmirror#1{ + \pgfmathparse{#1}% + \ifpgfmathunitsdeclared + \pgf@xa\pgfmathresult pt\relax + \multiply\pgf@xa2 + \pgftransformcm{-1}{0}{0}{1}{\pgfqpoint{\pgf@xa}{0pt}}% + \else + \pgftransformmirror{\pgfqpointxy{\pgfmathresult}{0}}{\pgfpointadd{\pgfqpointxy{\pgfmathresult}{0}}{\pgfqpointxy{0}{1}}}% + \fi +} +\def\pgftransformymirror#1{ + \pgfmathparse{#1}% + \ifpgfmathunitsdeclared + \pgf@ya\pgfmathresult pt\relax + \multiply\pgf@ya2 + \pgftransformcm{1}{0}{0}{-1}{\pgfqpoint{0pt}{\pgf@ya}}% + \else + \edef\pgf@marshal{\noexpand\pgftransformmirror{\noexpand\pgfqpointxy{0}{\pgfmathresult}}% + {\noexpand\pgfpointadd{\noexpand\pgfqpointxy{0}{\pgfmathresult}}{\noexpand\pgfqpointxy{1}{0}}}}% + \pgf@marshal + \fi} +\def\pgftransformmirror#1#2{% + \pgfextract@process\pgf@tempa{#1}% + \pgfpointnormalised{\pgfpointdiff{\pgf@tempa}{#2}}% + \pgf@xa=\pgf@sys@tonumber\pgf@y\pgf@x + \pgf@xb=\pgf@sys@tonumber\pgf@x\pgf@x + \pgf@yb=\pgf@sys@tonumber\pgf@y\pgf@y + \multiply\pgf@xa2 + \pgf@xc=-\pgf@yb\advance\pgf@xc\pgf@xb + \pgf@yc=-\pgf@xb\advance\pgf@yc\pgf@yb + \edef\pgf@temp{{\the\pgf@xc}{+\the\pgf@xa}{+\the\pgf@xa}{+\the\pgf@yc}}% + \expandafter\pgf@transformcm\pgf@temp{\pgf@tempa}% + \pgftransformshift{\pgfpointscale{-1}{\pgf@tempa}}% +} + +\def\pgfqtransformmirror#1{% + \pgfpointnormalised{#1}% + \pgf@xa=\pgf@sys@tonumber\pgf@y\pgf@x + \pgf@xb=\pgf@sys@tonumber\pgf@x\pgf@x + \pgf@yb=\pgf@sys@tonumber\pgf@y\pgf@y + \multiply\pgf@xa2 + \pgf@xc=-\pgf@yb\advance\pgf@xc\pgf@xb + \pgf@yc=-\pgf@xb\advance\pgf@yc\pgf@yb + \edef\pgf@temp{{\the\pgf@xc}{+\the\pgf@xa}{+\the\pgf@xa}{+\the\pgf@yc}}% + \expandafter\pgf@transformcm\pgf@temp{\pgfpointorigin}% +} + +% Using existant transformation (shift, rotate, yscale=-1, rotate back, shift back) +\def\pgftransformxMirror#1{ + \pgfmathparse{#1}% + \ifpgfmathunitsdeclared + \pgf@xa\pgfmathresult pt\relax + \multiply\pgf@xa2 + \pgftransformcm{-1}{0}{0}{1}{\pgfqpoint{\pgf@xa}{0pt}}% + \else + \pgftransformMirror{\pgfqpointxy{\pgfmathresult}{0}}{\pgfpointadd{\pgfqpointxy{\pgfmathresult}{0}}{\pgfqpointxy{0}{1}}}% + \fi +} +\def\pgftransformyMirror#1{ + \pgfmathparse{#1}% + \ifpgfmathunitsdeclared + \pgf@ya\pgfmathresult pt\relax + \multiply\pgf@ya2 + \pgftransformcm{1}{0}{0}{-1}{\pgfqpoint{0pt}{\pgf@ya}}% + \else + \edef\pgf@marshal{\noexpand\pgftransformMirror{\noexpand\pgfqpointxy{0}{\pgfmathresult}}% + {\noexpand\pgfpointadd{\noexpand\pgfqpointxy{0}{\pgfmathresult}}{\noexpand\pgfqpointxy{1}{0}}}}% + \pgf@marshal + \fi} + +\def\pgftransformMirror#1#2{% + \pgfextract@process\pgf@tempa{#1}% + \pgfmathanglebetweenpoints{\pgf@tempa}{#2}% + \let\pgf@temp\pgfmathresult + \pgftransformshift{\pgf@tempa}% + \pgftransformrotate{\pgf@temp}% + \pgftransformyscale{-1}% + \pgftransformrotate{-\pgf@temp}% + \pgftransformshift{\pgfqpointscale{-1}{\pgf@tempa}}% +} + +\def\pgfqtransformMirror#1{% + \pgfmathanglebetweenpoints{\pgfpointorigin}{#1}% + \let\pgf@temp\pgfmathresult + \pgftransformrotate{\pgf@temp}% + \pgftransformyscale{-1}% + \pgftransformrotate{-\pgf@temp}% +} +\endinput
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibrarymisc.code.tex b/graphics/pgf/contrib/tikz-ext/tikzlibrarymisc.code.tex new file mode 100644 index 0000000000..b68520081c --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tikzlibrarymisc.code.tex @@ -0,0 +1,251 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% +%% full arc +%% https://tex.stackexchange.com/a/144297/16595 +%% The postfix operator R is added to PGFmath, +%% it allows the use of angular segments. +%% full arc = 10 makes it so that +%% 1R = 36° +%% 2R = 72° +%% … +%% 10R = 360° +%% Calling the full arc key with an empty value +%% makes 1R = 1° +\pgfset{full arc/.code=% + \def\pgf@temp{#1}% + \ifx\pgfutil@empty\pgf@temp + \let\pgfmath@fullarc@factor\pgfutil@empty + \else + \pgfmathsetmacro\pgfmath@fullarc@factor{360/(#1)}% + \fi,full arc=} +\pgfmathdeclareoperator{R}{full arc}{1}{postfix}{950} +\pgfmathdeclarefunction{full arc}{1}{% + \begingroup + \pgfmath@x=#1pt\relax + \ifx\pgfmath@fullarc@factor\pgfutil@empty\else + \pgfmath@x\pgfmath@fullarc@factor\pgfmath@x + \fi + \pgfmath@returnone\pgfmath@x + \endgroup} + +%% foreach +%% http://tex.stackexchange.com/a/126418/16595 +%% instead of \foreach \var in {start, start + delta, ..., end} +%% this allows to use \foreach[use int={start to end step delta}] without(!) a list in {} +%% the values start, end and delta are evaluated by PGFmath at the start of the loop. +%% In addition to use int, there's also use float. +\newif\ifqrr@pgf@foreach@no@list +\pgfqkeys{/pgf/foreach}{ + use int/.code={% + \qrr@pgf@foreach@no@list@parse@to\pgfmathtruncatemacro#1\pgffor@stop + }, + use float/.code={% + \qrr@pgf@foreach@no@list@parse@to\pgfmathsetmacro#1\pgffor@stop + } +} + +\def\qrr@pgf@foreach@no@list@parse@to#1#2to#3\pgffor@stop{% + \qrr@pgf@foreach@no@listtrue + #1\foreachStart{#2}% + \pgfutil@in@{step}{#3} + \ifpgfutil@in@ + \qrr@pgf@foreach@no@list@parse@step{#1}#3\pgffor@stop + \else + \qrr@pgf@foreach@no@list@parse@step{#1}#3step1\pgffor@stop + \fi + \edef\qrr@pgf@foreach@no@list@list{\foreachStart,\foreachSecond,...,\foreachEnd}% +} +\def\qrr@pgf@foreach@no@list@parse@step#1#2step#3\pgffor@stop{% + #1\foreachEnd{#2}% + #1\foreachSecond{\foreachStart+#3}% +} +\def\pgffor@vars{% manually extended, better etoolbox + \pgfutil@ifnextchar i{\pgffor@@vars@end}{% + \pgfutil@ifnextchar[{\pgffor@@vars@opt}{%] + \pgfutil@ifnextchar/{\pgffor@@vars@slash@gobble}{% + \ifqrr@pgf@foreach@no@list\expandafter\pgfutil@firstoftwo\else + \expandafter\pgfutil@secondoftwo\fi + {\qrr@pgf@foreach@no@listfalse\pgffor@macro@list\qrr@pgf@foreach@no@list@list} + {\pgffor@@vars}}}}}% + +%% Handlers +%% .pgfmath evaluates values given to keys in PGFmath before handing them over. +%% .pgfmath int truncates the result +%% .pgfmath strcat concatenates the given values +\pgfkeys{/handlers/.pgfmath/.code=\pgfmathparse{#1}\expandafter\pgfkeys@exp@call\expandafter{\pgfmathresult}} +\pgfkeys{/handlers/.pgfmath int/.code=\pgfmathint{#1}\expandafter\pgfkeys@exp@call\expandafter{\pgfmathresult}} +\pgfkeys{/handlers/.pgfmath strcat/.code=\pgfmathstrcat{#1}\expandafter\pgfkeys@exp@call\expandafter{\pgfmathresult}} + +%% http://tex.stackexchange.com/a/144187/16595 +%% key/.List={(point-1),(point-2),(point-...),(point-6)} will call +%% key=(point-1)(point-2)(point-3)(point-4)(point-5),(point-6) +\pgfkeys{/handlers/.List/.code={% + \let\pgfkeys@global@temp\pgfutil@empty + \foreach \pgfkeys@temp in{#1}{ + \ifx\pgfkeys@global@temp\pgfutil@empty + \global\let\pgfkeys@global@temp\pgfkeys@temp + \else + \expandafter\pgfutil@g@addto@macro\expandafter\pgfkeys@global@temp\expandafter + {\pgfkeys@temp}% + \fi}% + \expandafter\pgfkeys@exp@call\expandafter{\pgfkeys@global@temp}}} + +%% PGFmath +%% strrepeat("x", 5) = "xxxxx" +\pgfmathdeclarefunction{strrepeat}{2}{% + \begingroup\pgfmathint{#2}\pgfmath@count\pgfmathresult + \let\pgfmathresult\pgfutil@empty + \pgfutil@loop\ifnum\pgfmath@count>0\relax + \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult#1}% + \advance\pgfmath@count-1\relax + \pgfutil@repeat\pgfmath@smuggleone\pgfmathresult\endgroup} + +%% isInString("foo", "foobar") = true (= 1) +%% isInString("boo", "foobar") = false (= 0) +\pgfmathdeclarefunction{isInString}{2}{% + \pgfutil@in@{#1}{#2}% + \ifpgfutil@in@\def\pgfmathresult{1}\else\def\pgfmathresult{0}\fi} + +%% strcat("foo", "bar") = "foobar" (can have more than two parameters) +\pgfutil@IfUndefined{pgfmathstrcat@}{ + \pgfmathdeclarefunction{strcat}{...}{% + \begingroup + \let\pgfmathresult\pgfutil@empty + \pgfmathstrcat@@#1\pgfmath@stop} + \def\pgfmathstrcat@@#1{% + \ifx\pgfmath@stop#1% + \def\pgfmath@next{\pgfmath@smuggleone\pgfmathresult\endgroup} + \else + \expandafter\def\expandafter\pgfmathresult\expandafter{\pgfmathresult#1}% + \let\pgfmath@next\pgfmathstrcat@@ + \fi + \pgfmath@next} +}{} + +% http://tex.stackexchange.com/questions/244569/bounding-lines-around-tax-nodes/244619#244619 +\pgfmathdeclarefunction{atanXY}{2}{\pgfmathatantwo@{#2}{#1}} +\pgfmathdeclarefunction{atanYX}{2}{\pgfmathatantwo@{#1}{#2}} + +%% http://tex.stackexchange.com/a/132939/16595 +\tikzset{ + @edges through/.code={{{% three braces to protect \pgfeov + \pgfutil@ifnextchar[{\pgfkeysvalueof{/tikz/@@edges through/.@cmd}} + {\pgfkeysvalueof{/tikz/@@edges through/.@cmd}[]}#1\pgfeov}}}, + @@edges through/.style args={[#1]#2}{/tikz/insert path={edge[#1] (#2) (#2)}}, + edges through/.style={/tikz/@edges through/.list={#1}}} +\tikzset{ + @edges to/.code={{{% three braces to protect \pgfeov + \pgfutil@ifnextchar[{\pgfkeysvalueof{/tikz/@@edges to/.@cmd}} + {\pgfkeysvalueof{/tikz/@@edges to/.@cmd}[]}#1\pgfeov}}}, + @@edges to/.style args={[#1]#2}{/tikz/insert path={edge[#1] (#2)}}, + edges to/.style={/tikz/@edges to/.list={#1}}} +\tikzset{ + @tos to/.code={{{% three braces to protect \pgfeov + \pgfutil@ifnextchar[{\pgfkeysvalueof{/tikz/@@tos to/.@cmd}} + {\pgfkeysvalueof{/tikz/@@tos to/.@cmd}[]}#1\pgfeov}}}, + @@tos to/.style args={[#1]#2}{/tikz/insert path={to[#1] (#2)}}, + tos to/.style={/tikz/@tos to/.list={#1}}} + + +\pgfmathdeclarefunction{distancebetween}{2}{% only coordinates/nodes + \begingroup + \pgfpointdiff{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}% + \edef\pgfmath@temp{{\pgf@sys@tonumber\pgf@x}{\pgf@sys@tonumber\pgf@y}}% + \expandafter\pgfmathveclen@\pgfmath@temp + \pgfmath@smuggleone\pgfmathresult + \endgroup} +\pgfmathdeclarefunction{qdistancebetween}{1}{% only coordinates/nodes + \begingroup + \pgfpointdiff{\pgfpointorigin}{\pgfpointanchor{#1}{center}}% + \edef\pgfmath@temp{{\pgf@sys@tonumber\pgf@x}{\pgf@sys@tonumber\pgf@y}}% + \expandafter\pgfmathveclen@\pgfmath@temp + \pgfmath@smuggleone\pgfmathresult + \endgroup} + +\pgfmathdeclarefunction{qanglebetween}{1}{% + \pgfmathanglebetweenpoints{\pgfpointorigin}{\pgfpointanchor{#1}{center}}} + +\pgfmathdeclarefunction{anglebetween}{2}{% + \pgfmathanglebetweenpoints{\pgfpointanchor{#1}{center}}{\pgfpointanchor{#2}{center}}} + +\pgfmathdeclarefunction{isEmpty}{1}{% + \begingroup + \edef\pgfmath@temp{#1}% + \pgfutil@ifxempty\pgfmath@temp{\def\pgfmathresult{1}}{\def\pgfmathresult{0}}% + \pgfmath@smuggleone\pgfmathresult + \endgroup} + +\pgfqkeys{/utils}{ + if/.code n args=3{% + \pgfmathparse{#1}% + \ifdim\pgfmathresult pt=0pt + \expandafter\pgfutil@firstoftwo + \else + \expandafter\pgfutil@secondoftwo + \fi + {\pgfkeysalso{#3}}% + {\pgfkeysalso{#2}}}, + IF/.code args={(#1)#2}{% + \pgfmathparse{#1}% + \pgfutil@in@{else}{#2}% + \ifpgfutil@in@ + \expandafter\pgfutil@firstoftwo + \else + \expandafter\pgfutil@secondoftwo + \fi + {\qrr@misc@handle@else#2\pgf@stop}{\qrr@misc@handle@else#2else\pgf@stop}% + }, + TeX/if/.code n args={4}{% + \if#1#2\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi + {\pgfkeysalso{#3}}{\pgfkeysalso{#4}}% + }, + TeX/ifnum/.code n args={3}{% + \ifnum#1\relax\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi + {\pgfkeysalso{#2}}{\pgfkeysalso{#3}}% + }, + TeX/ifdim/.code n args={3}{% + \ifdim#1\relax\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi + {\pgfkeysalso{#2}}{\pgfkeysalso{#3}}% + }, + TeX/ifx/.code n args={4}{% + \ifx#1#2\relax\expandafter\pgfutil@firstoftwo\else\expandafter\pgfutil@secondoftwo\fi + {\pgfkeysalso{#3}}{\pgfkeysalso{#4}}% + }, + TeX/ifempty/.code n args={3}{% + \edef\pgfkeys@temp{#1}% + \pgfutil@ifxempty\pgfkeys@temp{\pgfkeysalso{#2}}{\pgfkeysalso{#3}}% + }, + tex/.search also=/utils/TeX, +} +\def\qrr@misc@handle@else#1else#2\pgf@stop{% + \ifdim\pgfmathresult pt=0pt + \expandafter\pgfutil@firstoftwo + \else + \expandafter\pgfutil@secondoftwo + \fi + {\pgfkeysalso{#2}}% + {\pgfkeysalso{#1}}} + +\pgfset{ + declare constant/.code={% + \let\pgfmathdeclareconstant@@@\pgfutil@empty + \pgfkeysvalueof{/pgf/declare function/execute at begin function}% + \pgfmathdeclareconstant@#1@=@;\pgf@stop + \pgfkeysvalueof{/pgf/declare function/execute at end function}% + \pgfmathdeclareconstant@@@ + }} +\def\pgfmathdeclareconstant@{% + \pgfutil@ifnextchar x\pgfmathdeclareconstant@@\pgfmathdeclareconstant@@ +} +\def\pgfmathdeclareconstant@@#1=#2;#3\pgf@stop{% + \edef\pgfmath@local@temp{#1}% + \pgfutil@ifx\pgfmath@local@temp\pgfmath@local@at{}{% + \pgfutil@g@addto@macro\pgfmathdeclareconstant@@@{\pgfmathdeclarepseudoconstant{#1}{\def\pgfmathresult{#2}}}% + \pgfmathdeclareconstant@#3\pgf@stop + }% +}
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.arcto.code.tex b/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.arcto.code.tex new file mode 100644 index 0000000000..213fc1b74a --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.arcto.code.tex @@ -0,0 +1,104 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% +\tikzset{ + arc to/.code=\pgfqkeys{/tikz/arc to}{#1}, + arc to={ + counter clockwise/.code=\pgfkeyssetvalue{/tikz/arc to/ccw flag}{1}, + clockwise/.code=\pgfkeyssetvalue{/tikz/arc to/ccw flag}{0}, + x radius/.code=\pgfkeyssetvalue{/tikz/x radius}{#1}, + y radius/.code=\pgfkeyssetvalue{/tikz/y radius}{#1}, + radius/.code=\pgfkeyssetvalue{/tikz/x radius}{#1}\pgfkeyssetvalue{/tikz/y radius}{#1}, + large/.code=\pgfkeyssetvalue{/tikz/arc to/large flag}{1}, + small/.code=\pgfkeyssetvalue{/tikz/arc to/large flag}{0}, + % defaults + rotate/.initial=0, counter clockwise, small, + counter clockwise/.value forbidden, + clockwise/.value forbidden, + large/.value forbidden, + small/.value forbidden}} +\def\tikz@arcA rc{\pgfutil@ifnextchar t% + {\tikz@flush@moveto\expandafter\expandafter\expandafter\tikz@arcB@cont\expandafter\pgfutil@gobble\pgfutil@gobble} + {\tikz@flush@moveto\tikz@arc@cont}} +\def\tikz@arcB@cont{% + \pgfutil@ifnextchar[\tikz@@do@arcB{ + \advance\tikz@expandcount by -10\relax% go down quickly + \ifnum\tikz@expandcount<0\relax% + \def\@next{\tikz@@do@arcB[]}% + \else% + \def\@next{\expandafter\tikz@arcB@cont}% + \fi% + \@next}}% +\def\tikz@@do@arcB[#1]{% + \def\tikz@arcB@options{#1}% + \tikz@do@@arcB} +\def\tikz@do@@arcB{% + \pgfutil@ifnextchar n{\tikz@collect@label@onpath\tikz@do@@arcB} + {\pgfutil@ifnextchar c{\tikz@collect@coordinate@onpath\tikz@do@@arcB} + {\pgfutil@ifnextchar p{\tikz@collect@pic@onpath\tikz@do@@arcB} + {\tikz@scan@one@point\tikz@do@arcB}}}} + +\def\tikz@do@arcB#1{% + \edef\tikz@timer@start{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}} + \tikz@make@last@position{#1}% + \edef\tikz@timer@end{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \iftikz@shapeborder + \edef\tikz@moveto@waiting{\tikz@shapeborder@name}% + \fi + \begingroup + \tikzset{every arc/.try,every arc to/.try,arc to/.expand once=\tikz@arcB@options}% + \pgfmathsetmacro\tikz@arc@x{\pgfkeysvalueof{/tikz/x radius}}% + \ifpgfmathunitsdeclared + \pgfmathsetmacro\tikz@arc@y{\pgfkeysvalueof{/tikz/y radius}}% + \ifpgfmathunitsdeclared + \pgfpatharcto{\tikz@arc@x pt}{\tikz@arc@y pt} + {\pgfkeysvalueof{/tikz/arc to/rotate}}{\pgfkeysvalueof{/tikz/arc to/large flag}} + {\pgfkeysvalueof{/tikz/arc to/ccw flag}}{#1}% + \else + \tikzerror{You cannot mix dimensions and dimension values in an arc}% + \fi + \else + \pgfmathsetmacro\tikz@arc@y{\pgfkeysvalueof{/tikz/y radius}}% + \ifpgfmathunitsdeclared + \tikzerror{You cannot mix dimensions and dimension values in an arc}% + \else + \pgf@process{\pgfpointxy{\tikz@arc@x}{0}}% + \pgfmathveclen@{\pgf@sys@tonumber\pgf@x}{\pgf@sys@tonumber\pgf@y}% + \let\tikz@arc@x\pgfmathresult + \pgf@process{\pgfpointxy{0}{\tikz@arc@y}}% + \pgfmathveclen@{\pgf@sys@tonumber\pgf@x}{\pgf@sys@tonumber\pgf@y}% + \let\tikz@arc@y\pgfmathresult + \pgfpatharcto{+\tikz@arc@x pt}{+\tikz@arc@y pt} + {\pgfkeysvalueof{/tikz/arc to/rotate}}{\pgfkeysvalueof{/tikz/arc to/large flag}} + {\pgfkeysvalueof{/tikz/arc to/ccw flag}}{#1}% + \fi + \fi + \endgroup + % check whether \pgf@marshall starts with \pgfpathlineto + \pgfutil@ifxempty\pgf@marshal{}{% + \edef\tikz@temp{\expandafter\expandafter\expandafter\noexpand\expandafter\pgfutil@firstgobblerest\pgf@marshal\relax}% + \expandafter\let\expandafter\tikz@temp\tikz@temp + \pgfutil@ifx\tikz@temp\pgfpathlineto{}{% + % getting rid of \pgfpatharcaxes inside \pgf@marshal + \expandafter\expandafter\expandafter\def\expandafter\expandafter\expandafter\pgf@marshal + \expandafter\expandafter\expandafter{\expandafter\pgfutil@gobble\pgf@marshal}% + % extracting the other four values needed for the timer + \edef\tikz@timer@start@angle{\expandafter\pgfutil@firstoffour\pgf@marshal}% + \edef\tikz@timer@end@angle{\expandafter\pgfutil@secondoffour\pgf@marshal}% + \pgfextract@process\tikz@timer@zero@axis{\expandafter\pgfutil@thirdoffour\pgf@marshal}% + \pgfextract@process\tikz@timer@ninety@axis{\expandafter\pgfutil@fourthoffour\pgf@marshal}% + % + \let\tikz@timer=\tikz@timer@arc + }% + }% + \tikz@scan@next@command +} +\def\pgfutil@firstoffour#1#2#3#4{#1} +\def\pgfutil@secondoffour#1#2#3#4{#2} +\def\pgfutil@thirdoffour#1#2#3#4{#3} +\def\pgfutil@fourthoffour#1#2#3#4{#4} +\def\pgfutil@firstgobblerest#1#2\relax{#1}
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.ortho.code.tex b/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.ortho.code.tex new file mode 100644 index 0000000000..8f322fbd35 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.ortho.code.tex @@ -0,0 +1,183 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +%% For the operators r-lr, r-rl, r-ud and r-du we need to check after TikZ found r +\let\tikz@orig@rect\tikz@rect +\def\tikz@rect{\pgfutil@ifnextchar e\tikz@orig@rect\qrr@tikz@r} +\def\qrr@tikz@r -{% + \pgfutil@ifnextchar l\qrr@tikz@lr@lineto{% + \pgfutil@ifnextchar r\qrr@tikz@rl@lineto{% + \pgfutil@ifnextchar u\qrr@tikz@ud@lineto{% + \pgfutil@ifnextchar d\qrr@tikz@du@lineto\tikz@expand + }% + }% + }% +} +%% For the operator |-| we need to check after TikZ found |- +\let\tikz@orig@vh@lineto@next\tikz@vh@lineto@next +\def\tikz@vh@lineto@next{% + \pgfutil@ifnextchar|{\expandafter\qrr@tikz@vhv@lineto\pgfutil@gobble}% + {\pgfutil@ifnextchar\tikz@activebar{\expandafter\qrr@tikz@vhv@lineto\pgfutil@gobble}% + {\tikz@orig@vh@lineto@next}}} +%% For the operator -|- we need to check after TikZ found -| +\let\tikz@orig@hv@lineto\tikz@hv@lineto +\def\tikz@hv@lineto{% + \pgfutil@ifnextchar-{\expandafter\qrr@tikz@hvh@lineto\pgfutil@gobble}% + {\tikz@orig@hv@lineto}} + +%% |-|[<opts>] and -|-[<opts>] are allowed +\def\qrr@tikz@vhv@lineto{\pgfutil@ifnextchar[{\qrr@tikz@collect@hvvh@options\qrr@tikz@vhv@lineto@next}{\qrr@tikz@collect@hvvh@options\qrr@tikz@vhv@lineto@next[]}} +\def\qrr@tikz@hvh@lineto{\pgfutil@ifnextchar[{\qrr@tikz@collect@hvvh@options\qrr@tikz@hvh@lineto@next}{\qrr@tikz@collect@hvvh@options\qrr@tikz@hvh@lineto@next[]}} + +%% r-rl[<opts>], r-lr[<opts>], etc. +\def\qrr@tikz@rl@lineto rl{\pgfutil@ifnextchar[{\qrr@tikz@collect@hvvh@options\qrr@tikz@rl@lineto@next}{\qrr@tikz@collect@hvvh@options\qrr@tikz@rl@lineto@next[]}} +\def\qrr@tikz@lr@lineto lr{\pgfutil@ifnextchar[{\qrr@tikz@collect@hvvh@options\qrr@tikz@lr@lineto@next}{\qrr@tikz@collect@hvvh@options\qrr@tikz@lr@lineto@next[]}} +\def\qrr@tikz@du@lineto du{\pgfutil@ifnextchar[{\qrr@tikz@collect@hvvh@options\qrr@tikz@du@lineto@next}{\qrr@tikz@collect@hvvh@options\qrr@tikz@du@lineto@next[]}} +\def\qrr@tikz@ud@lineto ud{\pgfutil@ifnextchar[{\qrr@tikz@collect@hvvh@options\qrr@tikz@ud@lineto@next}{\qrr@tikz@collect@hvvh@options\qrr@tikz@ud@lineto@next[]}} + +%% TikZ interjects are done, the rest is independent: +\input tikzlibrarypaths.ortho.tex + +%% a few nice to haves, use with to or edge operator +\let\tikz@origtotarget\pgfutil@empty +\tikzset{ + node as new start/.is if=tikz@ortho@preflush, + node as new start, + horizontal vertical/.style={to path={-| (\tikztotarget) \tikztonodes}}, + vertical horizontal/.style={to path={|- (\tikztotarget) \tikztonodes}}, + horizontal vertical horizontal/.style={to path={-|- (\tikztotarget) \tikztonodes}}, + vertical horizontal vertical/.style={to path={|-| (\tikztotarget) \tikztonodes}}, + only vertical second/.style={to path={ + \pgfextra + \let\tikz@ortho@anchor\pgfutil@empty + \let\tikz@origtotarget\pgfutil@empty + \tikz@scan@one@point\pgfutil@firstofone(\tikztostart)\relax + \iftikz@shapeborder + \tikz@scan@one@point\pgfutil@firstofone(\tikztotarget)\relax + \ifdim\pgf@y>\tikz@lasty\relax + \edef\tikztostart{\tikztostart.north}% + \iftikz@shapeborder\def\tikz@ortho@anchor{.south}\fi + \else + \edef\tikztostart{\tikztostart.south}% + \iftikz@shapeborder\def\tikz@ortho@anchor{.north}\fi + \fi + \fi + \def\tikz@tempa{#1}% + \ifx\tikz@tempa\pgfutil@empty\else + \let\tikz@origtotarget\tikztotarget + \edef\tikztotarget{[xshift={#1}]\tikztotarget\tikz@ortho@anchor}% + \fi + \endpgfextra + [insert path/.expanded={ + (perpendicular cs: horizontal line through={(\tikztostart)}, + vertical line through={(\tikztotarget)}) -- (\tikztotarget)}] \tikztonodes + \pgfextra + \ifx\tikz@origtotarget\pgfutil@empty\else + \iftikz@ortho@preflush(\tikz@origtotarget)\fi\fi\endpgfextra}}, + only vertical second/.default=, + only horizontal second/.style={to path={ + \pgfextra + \let\tikz@ortho@anchor\pgfutil@empty + \let\tikz@origtotarget\pgfutil@empty + \tikz@scan@one@point\pgfutil@firstofone(\tikztostart)\relax + \iftikz@shapeborder + \tikz@scan@one@point\pgfutil@firstofone(\tikztotarget)\relax + \ifdim\pgf@x>\tikz@lastx\relax + \edef\tikztostart{\tikztostart.east}% + \iftikz@shapeborder\def\tikz@ortho@anchor{.west}\fi + \else + \edef\tikztostart{\tikztostart.west}% + \iftikz@shapeborder\def\tikz@ortho@anchor{.east}\fi + \fi + \fi + \def\tikz@tempa{#1}% + \ifx\tikz@tempa\pgfutil@empty\else + \let\tikz@origtotarget\tikztotarget + \edef\tikztotarget{[yshift={#1}]\tikztotarget\tikz@ortho@anchor}% + \fi + \endpgfextra + [insert path/.expanded={ + (perpendicular cs: vertical line through={(\tikztostart)}, + horizontal line through={(\tikztotarget)}) -- (\tikztotarget)}] \tikztonodes + \pgfextra + \ifx\tikz@origtotarget\pgfutil@empty\else + \iftikz@ortho@preflush(\tikz@origtotarget)\fi\fi\endpgfextra}}, + only horizontal second/.default=, + only vertical first/.style={to path={ + \pgfextra + \let\tikz@ortho@anchor\pgfutil@empty + \let\tikz@origtotarget\pgfutil@empty + \tikz@scan@one@point\pgfutil@firstofone(\tikztotarget)\relax + \iftikz@shapeborder + \let\tikz@origtotarget\tikztotarget + \tikz@scan@one@point\pgfutil@firstofone(\tikztostart)\relax + \ifdim\pgf@y>\tikz@lasty\relax + \edef\tikztotarget{\tikztotarget.south}% + \iftikz@shapeborder\def\tikz@ortho@anchor{.north}\fi + \else + \edef\tikztotarget{\tikztotarget.north}% + \iftikz@shapeborder\def\tikz@ortho@anchor{.south}\fi + \fi + \fi + \def\tikz@tempa{#1}% + \ifx\tikz@tempa\pgfutil@empty\else + \edef\tikztostart{[xshift={#1}]\tikztostart\tikz@ortho@anchor}% + \fi + \endpgfextra + [insert path/.expanded={(\tikztostart)}] + -- (perpendicular cs: vertical line through/.expanded={(\tikztostart)}, + horizontal line through={(\tikztotarget)}) + \tikztonodes + \pgfextra + \ifx\tikz@origtotarget\pgfutil@empty\else + \iftikz@ortho@preflush(\tikz@origtotarget)\fi\fi\endpgfextra}}, + only vertical first/.default=, + only horizontal first/.style={to path={ + \pgfextra + \let\tikz@ortho@anchor\pgfutil@empty + \let\tikz@origtotarget\pgfutil@empty + \tikz@scan@one@point\pgfutil@firstofone(\tikztotarget)\relax + \iftikz@shapeborder + \let\tikz@origtotarget\tikztotarget + \tikz@scan@one@point\pgfutil@firstofone(\tikztostart)\relax + \ifdim\pgf@x>\tikz@lastx\relax + \edef\tikztotarget{\tikztotarget.west}% + \iftikz@shapeborder\def\tikz@ortho@anchor{.east}\fi + \else + \edef\tikztotarget{\tikztotarget.east}% + \iftikz@shapeborder\def\tikz@ortho@anchor{.west}\fi + \fi + \fi + \def\tikz@tempa{#1}% + \ifx\tikz@tempa\pgfutil@empty\else + \edef\tikztostart{[yshift={#1}]\tikztostart\tikz@ortho@anchor}% + \fi + \endpgfextra + [insert path/.expanded={(\tikztostart)}] + -- (perpendicular cs: horizontal line through/.expanded={(\tikztostart)}, + vertical line through={(\tikztotarget)}) + \tikztonodes \pgfextra + \ifx\tikz@origtotarget\pgfutil@empty\else + \iftikz@ortho@preflush(\tikz@origtotarget)\fi\fi\endpgfextra}}, + only horizontal first/.default=, + only vertical first to center/.style={to path={ + \pgfextra + \let\tikz@origtotarget\tikztotarget + \endpgfextra + (\tikztostart) -- (perpendicular cs: vertical line through={(\tikztostart)}, + horizontal line through={(\tikztotarget)}) + \tikztonodes \ifx\tikz@origtotarget\pgfutil@empty\else\iftikz@ortho@preflush(\tikz@origtotarget)\fi\fi}}, + only horizontal first to center/.style={to path={ + \pgfextra + \let\tikz@origtotarget\tikztotarget + \endpgfextra + (\tikztostart) -- (perpendicular cs: horizontal line through={(\tikztostart)}, + vertical line through={(\tikztotarget)}) + \tikztonodes \ifx\tikz@origtotarget\pgfutil@empty\else\iftikz@ortho@preflush(\tikz@origtotarget)\fi\fi}}% +} +\endinput
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.ortho.tex b/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.ortho.tex new file mode 100644 index 0000000000..2c4aae04c2 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.ortho.tex @@ -0,0 +1,509 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\newlength\qrr@tikz@udlr@distance +\newlength\qrr@tikz@hvvh@distance +\newif\ifqrr@tikz@hvvh@middle % checks whether spacing = 0 was selected +\newif\ifqrr@tikz@hvvh@fromcenter +\newif\iftikz@ortho@preflush +\tikz@ortho@preflushtrue +\let\tikz@origtotarget\pgfutil@empty + +%%% HVVH/UDLR +\tikzset{% + hvvh/.code={\pgfqkeys{/tikz/hvvh}{#1}},% + udlr/.code={\pgfqkeys{/tikz/udlr}{#1}},% + hvvh/.search also=/tikz,% + udlr/.search also=/tikz,% + hvvh/middle 0 to 1/.style={hvvh/spacing=0},% + hvvh/from center/.is if=qrr@tikz@hvvh@fromcenter,% + udlr/from center/.style={/tikz/hvvh/from center={#1}}, + hvvh/spacing/.code=% spacing = 0 means that the middle part are the pos-itions 0 to 1, + % the first part is -1 to 0, the last part is to 2 + \pgfmathint{#1}\let\qrr@tikz@hvvh@timing@parts\pgfmathresult% in case they are calculations to be done + \ifcase\qrr@tikz@hvvh@timing@parts\relax + \qrr@tikz@hvvh@middletrue + \def\qrr@tikz@hvvh@timing@parts{1}% + \def\qrr@tikz@hvvh@timing@first{0}% + \def\qrr@tikz@hvvh@timing@last{1}% + \def\qrr@tikz@hvvh@timing@subtr{0}% + \def\qrr@tikz@hvvh@timing@factor{1}% + \else % in all other cases n > 0 the kinks are at pos = 1/n and (n - 1)/n + \qrr@tikz@hvvh@middlefalse + \pgfmathreciprocal{#1}\let\qrr@tikz@hvvh@timing@first\pgfmathresult + \pgfmathsetmacro\qrr@tikz@hvvh@timing@last{1-\pgfmathresult}% + \pgfmathreciprocal{#1-2}% + \let\qrr@tikz@hvvh@timing@subtr\pgfmathresult + \pgfmathsetmacro\qrr@tikz@hvvh@timing@factor{1+2*\pgfmathresult}% + \fi,% + hvvh/ratio/.code=\pgfmathsetmacro\qrr@tikz@hvvh@ratio{#1},% + % TODO: not possible to do distance in TikZ coordinate system + hvvh/distance/.code=\pgfmathsetlength\qrr@tikz@hvvh@distance{#1}\let\qrr@tikz@hvvh@ratio\pgfutil@empty,% + udlr/distance/.style={% + /tikz/udlr/ud distance={#1},% + /tikz/udlr/du distance={#1},% + /tikz/udlr/lr distance={#1},% + /tikz/udlr/rl distance={#1}},% + udlr/ud distance/.initial=+.5cm,% + udlr/du distance/.initial=+.5cm,% + udlr/lr distance/.initial=+.5cm,% + udlr/rl distance/.initial=+.5cm,% + hvvh/ratio=.5,% default value + hvvh/spacing=4,% default value +}% + +%BEGIN_FOLD Timer +\def\tikz@timer@hvhline{% + \pgf@process{\tikz@timer@start}\pgf@ya\pgf@y + \pgf@process{\tikz@timer@end}\pgf@yc\pgf@y + \pgf@process{\tikz@timer@middle}\pgf@xb\tikz@time pt% + \ifdim\tikz@time pt<\qrr@tikz@hvvh@timing@first pt% first quarter + \ifqrr@tikz@hvvh@middle + \advance\pgf@xb1pt% + \else + \pgf@xb\qrr@tikz@hvvh@timing@parts\pgf@xb + \fi + \edef\tikz@marshal{\noexpand\pgftransformlineattime{\pgf@sys@tonumber{\pgf@xb}}{\noexpand\tikz@timer@start}{% + \noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@ya}}}% + \else + \ifdim\tikz@time pt>\qrr@tikz@hvvh@timing@last pt% last quarter + \ifqrr@tikz@hvvh@middle + \advance\pgf@xb-1pt% + \else + \pgf@xb\qrr@tikz@hvvh@timing@parts\pgf@xb + \fi + \advance\pgf@xb\dimexpr-\qrr@tikz@hvvh@timing@parts pt+1pt\relax% + \edef\tikz@marshal{\noexpand\pgftransformlineattime{\pgf@sys@tonumber{\pgf@xb}}% + {\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@yc}}{\noexpand\tikz@timer@end}}% + \else% middle half + \pgf@xb\qrr@tikz@hvvh@timing@factor\pgf@xb% + \advance\pgf@xb-\qrr@tikz@hvvh@timing@subtr pt% + \edef\tikz@marshal{\noexpand\pgftransformlineattime{\pgf@sys@tonumber{\pgf@xb}}% + {\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@ya}}{\noexpand\tikz@timer@middle}}% + \fi\fi\tikz@marshal} +\def\tikz@timer@vhvline{% + \pgf@process{\tikz@timer@start}\pgf@xa\pgf@x + \pgf@process{\tikz@timer@end}\pgf@xc\pgf@x + \pgf@process{\tikz@timer@middle}\pgf@xb\tikz@time pt% + \ifdim\tikz@time pt<\qrr@tikz@hvvh@timing@first pt% first quarter + \ifqrr@tikz@hvvh@middle + \advance\pgf@xb1pt% + \else + \pgf@xb\qrr@tikz@hvvh@timing@parts\pgf@xb + \fi + \edef\tikz@marshal{\noexpand\pgftransformlineattime{\pgf@sys@tonumber{\pgf@xb}}{\noexpand\tikz@timer@start}{% + \noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@y}}}% + \else + \ifdim\tikz@time pt>\qrr@tikz@hvvh@timing@last pt% last quarter + \ifqrr@tikz@hvvh@middle + \advance\pgf@xb-1pt% + \else + \pgf@xb\qrr@tikz@hvvh@timing@parts\pgf@xb + \fi + \advance\pgf@xb by\dimexpr-\qrr@tikz@hvvh@timing@parts pt+1pt\relax% + \edef\tikz@marshal{\noexpand\pgftransformlineattime{\pgf@sys@tonumber{\pgf@xb}}% + {\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@y}}{\noexpand\tikz@timer@end}}% + \else% middle half + \pgf@xb=\qrr@tikz@hvvh@timing@factor\pgf@xb + \advance\pgf@xb by-\qrr@tikz@hvvh@timing@subtr pt% + \edef\tikz@marshal{\noexpand\pgftransformlineattime{\pgf@sys@tonumber{\pgf@xb}}% + {\noexpand\pgfqpoint{\the\pgf@xa}{\the\pgf@y}}{\noexpand\tikz@timer@middle}}% + \fi\fi\tikz@marshal}% + +%% collect options and nodes, coordinates and pics onpath +\let\tikz@hvvh@currentoption\pgfutil@empty +\def\qrr@tikz@collect@hvvh@options#1[#2]{\edef\tikz@hvvh@currentoption{#2}#1} +\def\qrr@tikz@hvh@lineto@next{% + \pgfutil@ifnextchar n{\tikz@collect@label@onpath\qrr@tikz@hvh@lineto@next} + {\pgfutil@ifnextchar c{\tikz@collect@coordinate@onpath\qrr@tikz@hvh@lineto@next}% + {\pgfutil@ifnextchar p{\tikz@collect@pic@onpath\qrr@tikz@hvh@lineto@next}{\tikz@scan@one@point\qrr@tikz@@hvh@lineto}}}}% +\def\qrr@tikz@vhv@lineto@next{% + \pgfutil@ifnextchar n{\tikz@collect@label@onpath\qrr@tikz@vhv@lineto@next} + {\pgfutil@ifnextchar c{\tikz@collect@coordinate@onpath\qrr@tikz@vhv@lineto@next}% + {\pgfutil@ifnextchar p{\tikz@collect@pic@onpath\qrr@tikz@vhv@lineto@next}{\tikz@scan@one@point\qrr@tikz@@vhv@lineto}}}}% +\def\qrr@tikz@ud@lineto@next{% + \pgfutil@ifnextchar n{\tikz@collect@label@onpath\qrr@tikz@ud@lineto@next} + {\pgfutil@ifnextchar c{\tikz@collect@coordinate@onpath\qrr@tikz@ud@lineto@next} + {\pgfutil@ifnextchar p{\tikz@collect@pic@onpath\qrr@tikz@ud@lineto@next}{\tikz@scan@one@point\qrr@tikz@@ud@lineto}}}}% +\def\qrr@tikz@du@lineto@next{% + \pgfutil@ifnextchar n{\tikz@collect@label@onpath\qrr@tikz@du@lineto@next} + {\pgfutil@ifnextchar c{\tikz@collect@coordinate@onpath\qrr@tikz@du@lineto@next} + {\pgfutil@ifnextchar p{\tikz@collect@pic@onpath\qrr@tikz@du@lineto@next}{\tikz@scan@one@point\qrr@tikz@@du@lineto}}}}% +\def\qrr@tikz@lr@lineto@next{% + \pgfutil@ifnextchar n{\tikz@collect@label@onpath\qrr@tikz@lr@lineto@next} + {\pgfutil@ifnextchar c{\tikz@collect@coordinate@onpath\qrr@tikz@lr@lineto@next} + {\pgfutil@ifnextchar p{\tikz@collect@pic@onpath\qrr@tikz@lr@lineto@next}{\tikz@scan@one@point\qrr@tikz@@lr@lineto}}}}% +\def\qrr@tikz@rl@lineto@next{% + \pgfutil@ifnextchar n{\tikz@collect@label@onpath\qrr@tikz@rl@lineto@next} + {\pgfutil@ifnextchar c{\tikz@collect@coordinate@onpath\qrr@tikz@rl@lineto@next} + {\pgfutil@ifnextchar p{\tikz@collect@pic@onpath\qrr@tikz@rl@lineto@next}{\tikz@scan@one@point\qrr@tikz@@rl@lineto}}}}% + +\def\tikz@do@hvvh#1#2#3#4#5{% +% #1 = first kink +% #2 = second kink +% #3 = end +% #4 = timer +% #5 = tikz@shapeborder@name + \pgfpathlineto{#1}% + \pgfpathlineto{#2}% + \pgfpathlineto{#3}% + \def\tikz@timer@middle{#2}% + \def\tikz@timer@end{#3}% + \let\tikz@timer#4 + \edef\pgf@temp{#5}% + \ifx\pgf@temp\pgfutil@empty + \let\tikz@moveto@waiting\relax + \else + \let\tikz@moveto@waiting\pgf@temp + \fi + \tikz@scan@next@command}% + +%% -|- operator +\def\qrr@tikz@@hvh@lineto#1{% + \edef\tikz@timer@start{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \pgf@xb=\tikz@lastx + \pgf@xc=\tikz@lastx + \pgf@yc=\tikz@lasty + \tikz@make@last@position{#1}% + \tikz@flush@moveto@toward{\pgfqpoint{\tikz@lastx}{\pgf@yc}}\pgf@xc\pgf@yc + \begingroup + \pgfqkeys{/tikz/hvvh}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% + \iftikz@shapeborder + \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\pgf@xb}{\tikz@lasty}}}% + \ifqrr@tikz@hvvh@fromcenter + \pgf@xc\pgf@xb + \fi + \pgfutil@ifxempty\qrr@tikz@hvvh@ratio{% + \ifdim\qrr@tikz@hvvh@distance<0pt\relax + \ifqrr@tikz@hvvh@fromcenter + \pgf@xc\tikz@lastx + \else + \pgf@xc\pgf@x + \fi + \fi + \ifdim\pgf@xb>\tikz@lastx + \qrr@tikz@hvvh@distance-\qrr@tikz@hvvh@distance + \fi + }{% + \ifqrr@tikz@hvvh@fromcenter + \qrr@tikz@hvvh@distance\tikz@lastx + \else + \qrr@tikz@hvvh@distance\pgf@x + \fi + \advance\qrr@tikz@hvvh@distance-\pgf@xc + \qrr@tikz@hvvh@distance\qrr@tikz@hvvh@ratio\qrr@tikz@hvvh@distance + }% + \advance\pgf@xc\qrr@tikz@hvvh@distance + \edef\pgf@tempa{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + \edef\pgf@tempb{\noexpand\pgfqpoint{\the\pgf@xc}{\the\tikz@lasty}}% + \edef\pgf@temp{\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + \else + \let\tikz@shapeborder@name\pgfutil@empty + \ifqrr@tikz@hvvh@fromcenter + \pgf@xc\pgf@xb + \fi + \pgfutil@ifxempty\qrr@tikz@hvvh@ratio{% + \ifdim\qrr@tikz@hvvh@distance<0pt\relax + \pgf@xc\tikz@lastx + \fi + \ifdim\pgf@xb>\tikz@lastx + \qrr@tikz@hvvh@distance-\qrr@tikz@hvvh@distance + \fi + }{% + \qrr@tikz@hvvh@distance\tikz@lastx + \advance\qrr@tikz@hvvh@distance-\pgf@xc + \qrr@tikz@hvvh@distance\qrr@tikz@hvvh@ratio\qrr@tikz@hvvh@distance + }% + \advance\pgf@xc\qrr@tikz@hvvh@distance + \edef\pgf@tempa{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + \edef\pgf@tempb{\noexpand\pgfqpoint{\the\pgf@xc}{\the\tikz@lasty}}% + \edef\pgf@temp{\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \fi% + \xdef\pgf@marshal{% + \noexpand\tikz@do@hvvh + {\expandafter\noexpand\pgf@tempa}% + {\expandafter\noexpand\pgf@tempb}% + {\expandafter\noexpand\pgf@temp}% + {\noexpand\tikz@timer@hvhline}{\tikz@shapeborder@name}}% + \endgroup + \pgf@marshal}% + +%% |-| operator +\def\qrr@tikz@@vhv@lineto#1{% + \edef\tikz@timer@start{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \pgf@xc=\tikz@lastx + \pgf@yb=\tikz@lasty + \pgf@yc=\tikz@lasty + \tikz@make@last@position{#1}% + \tikz@flush@moveto@toward{\pgfqpoint{\pgf@xc}{\tikz@lasty}}\pgf@xc\pgf@yc + \begingroup + \pgfqkeys{/tikz/hvvh}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% + \iftikz@shapeborder + \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\tikz@lastx}{\pgf@yb}}}% + \ifqrr@tikz@hvvh@fromcenter + \pgf@yc\pgf@yb + \fi + \ifx\qrr@tikz@hvvh@ratio\pgfutil@empty + \ifdim\qrr@tikz@hvvh@distance<0pt\relax + \ifqrr@tikz@hvvh@fromcenter + \pgf@yc\tikz@lasty + \else + \pgf@yc\pgf@y + \fi + \fi + \ifdim\pgf@yb>\tikz@lasty + \qrr@tikz@hvvh@distance-\qrr@tikz@hvvh@distance + \fi + \else + \ifqrr@tikz@hvvh@fromcenter + \qrr@tikz@hvvh@distance\tikz@lasty + \else + \qrr@tikz@hvvh@distance\pgf@y + \fi + \advance\qrr@tikz@hvvh@distance-\pgf@yc + \qrr@tikz@hvvh@distance\qrr@tikz@hvvh@ratio\qrr@tikz@hvvh@distance + \fi + \advance\pgf@yc\qrr@tikz@hvvh@distance + \edef\pgf@tempa{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + \edef\pgf@tempb{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\pgf@yc}}% + \edef\pgf@temp{\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + \else + \let\tikz@shapeborder@name\pgfutil@empty + \ifqrr@tikz@hvvh@fromcenter + \pgf@yc\pgf@yb + \fi + \ifx\qrr@tikz@hvvh@ratio\pgfutil@empty + \ifdim\qrr@tikz@hvvh@distance<0pt\relax + \pgf@yc\tikz@lasty + \fi + \ifdim\pgf@yb>\tikz@lasty + \qrr@tikz@hvvh@distance-\qrr@tikz@hvvh@distance + \fi + \else + \qrr@tikz@hvvh@distance\tikz@lasty + \advance\qrr@tikz@hvvh@distance-\pgf@yc + \qrr@tikz@hvvh@distance\qrr@tikz@hvvh@ratio\qrr@tikz@hvvh@distance + \fi + \advance\pgf@yc\qrr@tikz@hvvh@distance + \edef\pgf@tempa{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + \edef\pgf@tempb{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\pgf@yc}}% + \edef\pgf@temp{\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \fi% + \xdef\pgf@marshal{% + \noexpand\tikz@do@hvvh + {\expandafter\noexpand\pgf@tempa}% + {\expandafter\noexpand\pgf@tempb}% + {\expandafter\noexpand\pgf@temp}% + {\noexpand\tikz@timer@vhvline}{\tikz@shapeborder@name}}% + \endgroup + \pgf@marshal}% + +%% r-ud operator +\def\qrr@tikz@@ud@lineto#1{% + \edef\tikz@timer@start{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \pgf@xc\tikz@lastx + \pgf@yb\tikz@lasty + \advance\tikz@lasty1pt% + \let\pgf@temp\tikz@moveto@waiting + \tikz@flush@moveto@toward{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}\pgf@xc\pgf@yc + \tikz@make@last@position{#1}% + \begingroup + \pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% + \pgfmathsetlength\qrr@tikz@udlr@distance{\pgfkeysvalueof{/tikz/udlr/ud distance}}% + \iftikz@shapeborder + \advance\pgf@y1pt% + \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\pgf@x}{\pgf@y}}}% + \ifqrr@tikz@hvvh@fromcenter + \pgf@yc\pgf@yb + \else\ifx\pgf@temp\relax + \pgf@yc\pgf@yb + \fi + \fi + \ifdim\pgf@yc<\pgf@y + \ifqrr@tikz@hvvh@fromcenter + \pgf@yc=\tikz@lasty + \else + \pgf@yc=\pgf@y + \fi + \fi + \advance\pgf@yc\qrr@tikz@udlr@distance + \edef\pgf@temp{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + \else + \let\tikz@shapeborder@name\pgfutil@empty + \ifx\pgf@temp\relax\else + \ifqrr@tikz@hvvh@fromcenter\else + \pgf@yb\pgf@yc + \fi + \fi + \ifdim\pgf@yb<\tikz@lasty\pgf@yb\tikz@lasty\fi + \advance\pgf@yb\qrr@tikz@udlr@distance + \pgf@yc\pgf@yb + \edef\pgf@temp{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \fi + \xdef\pgf@marshal{% + \noexpand\tikz@do@hvvh + {\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + {\noexpand\pgfqpoint{\the\tikz@lastx}{\the\pgf@yc}}% + {\expandafter\noexpand\pgf@temp}% + {\noexpand\tikz@timer@vhvline}{\tikz@shapeborder@name}}% + \endgroup + \pgf@marshal}% + +%% r-du operator +\def\qrr@tikz@@du@lineto#1{% + \edef\tikz@timer@start{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \pgf@xc\tikz@lastx + \pgf@yb\tikz@lasty + \advance\tikz@lasty-1pt% + \let\pgf@temp\tikz@moveto@waiting + \tikz@flush@moveto@toward{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}\pgf@xc\pgf@yc + \tikz@make@last@position{#1}% + \begingroup + \pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% + \pgfmathsetlength\qrr@tikz@udlr@distance{\pgfkeysvalueof{/tikz/udlr/du distance}}% + \iftikz@shapeborder + \advance\pgf@y-1pt% + \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\pgf@x}{\pgf@y}}}% + \ifqrr@tikz@hvvh@fromcenter + \pgf@yc\pgf@yb + \else\ifx\pgf@temp\relax + \pgf@yc\pgf@yb + \fi + \fi + \ifdim\pgf@yc>\pgf@y + \ifqrr@tikz@hvvh@fromcenter + \pgf@yc=\tikz@lasty + \else + \pgf@yc=\pgf@y + \fi + \fi + \advance\pgf@yc-\qrr@tikz@udlr@distance + \edef\pgf@temp{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + \else + \let\tikz@shapeborder@name\pgfutil@empty + \ifx\pgf@temp\relax\else + \ifqrr@tikz@hvvh@fromcenter\else + \pgf@yb\pgf@yc + \fi + \fi + \ifdim\pgf@yb>\tikz@lasty\pgf@yb\tikz@lasty\fi + \advance\pgf@yb-\qrr@tikz@udlr@distance + \pgf@yc\pgf@yb + \edef\pgf@temp{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \fi + \xdef\pgf@marshal{% + \noexpand\tikz@do@hvvh + {\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + {\noexpand\pgfqpoint{\the\tikz@lastx}{\the\pgf@yc}}% + {\expandafter\noexpand\pgf@temp}% + {\noexpand\tikz@timer@vhvline}{\tikz@shapeborder@name}}% + \endgroup + \pgf@marshal}% + +%% r-lr operator +\def\qrr@tikz@@lr@lineto#1{% + \edef\tikz@timer@start{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \pgf@xb\tikz@lastx + \pgf@yc\tikz@lasty + \advance\tikz@lastx-1pt% + \let\pgf@temp\tikz@moveto@waiting + \tikz@flush@moveto@toward{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}\pgf@xc\pgf@yc + \tikz@make@last@position{#1}% + \begingroup + \pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% + \pgfmathsetlength\qrr@tikz@udlr@distance{\pgfkeysvalueof{/tikz/udlr/lr distance}}% + \iftikz@shapeborder + \advance\pgf@x-1pt% + \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\pgf@x}{\pgf@y}}}% + \ifqrr@tikz@hvvh@fromcenter + \pgf@xc\pgf@xb + \else\ifx\pgf@temp\relax + \pgf@xc\pgf@xb + \fi + \fi + \ifdim\pgf@xc>\pgf@x + \ifqrr@tikz@hvvh@fromcenter + \pgf@xc=\tikz@lastx + \else + \pgf@xc=\pgf@x + \fi + \fi + \advance\pgf@xc-\qrr@tikz@udlr@distance + \edef\pgf@temp{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + \else + \let\tikz@shapeborder@name\pgfutil@empty + \ifx\pgf@temp\relax\else + \ifqrr@tikz@hvvh@fromcenter\else + \pgf@xb\pgf@xc + \fi + \fi + \ifdim\pgf@xb>\tikz@lastx\pgf@xb\tikz@lastx\fi + \advance\pgf@xb-\qrr@tikz@udlr@distance + \pgf@xc\pgf@xb + \edef\pgf@temp{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \fi + \xdef\pgf@marshal{% + \noexpand\tikz@do@hvvh + {\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + {\noexpand\pgfqpoint{\the\pgf@xc}{\the\tikz@lasty}}% + {\expandafter\noexpand\pgf@temp}% + {\noexpand\tikz@timer@hvhline}{\tikz@shapeborder@name}}% + \endgroup + \pgf@marshal}% + +%% r-rl operator +\def\qrr@tikz@@rl@lineto#1{% + \edef\tikz@timer@start{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \pgf@xb\tikz@lastx + \pgf@yc\tikz@lasty + \advance\tikz@lastx1pt% + \let\pgf@temp\tikz@moveto@waiting + \tikz@flush@moveto@toward{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}\pgf@xc\pgf@yc + \tikz@make@last@position{#1}% + \begingroup + \pgfqkeys{/tikz/udlr}{/tikz/style/.expand once=\tikz@hvvh@currentoption}% + \pgfmathsetlength\qrr@tikz@udlr@distance{\pgfkeysvalueof{/tikz/udlr/rl distance}}% + \iftikz@shapeborder% + \advance\pgf@x1pt% + \pgf@process{\pgfpointshapeborder{\tikz@shapeborder@name}{\pgfqpoint{\pgf@x}{\pgf@y}}}% + \ifqrr@tikz@hvvh@fromcenter + \pgf@xc\pgf@xb + \else\ifx\pgf@temp\relax + \pgf@xc\pgf@xb + \fi + \fi + \ifdim\pgf@xc<\pgf@x + \ifqrr@tikz@hvvh@fromcenter + \pgf@xc=\tikz@lastx + \else + \pgf@xc=\pgf@x + \fi + \fi + \advance\pgf@xc\qrr@tikz@udlr@distance + \edef\pgf@temp{\noexpand\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% + \else + \let\tikz@shapeborder@name\pgfutil@empty% + \ifx\pgf@temp\relax\else + \ifqrr@tikz@hvvh@fromcenter\else + \pgf@xb\pgf@xc + \fi + \fi + \ifdim\pgf@xb<\tikz@lastx\pgf@xb\tikz@lastx\fi + \advance\pgf@xb\qrr@tikz@udlr@distance + \pgf@xc\pgf@xb + \edef\pgf@temp{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \fi + \xdef\pgf@marshal{% + \noexpand\tikz@do@hvvh + {\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + {\noexpand\pgfqpoint{\the\pgf@xc}{\the\tikz@lasty}}% + {\expandafter\noexpand\pgf@temp}% + {\noexpand\tikz@timer@hvhline}{\tikz@shapeborder@name}}% + \endgroup + \pgf@marshal}% +\endinput diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.timer.code.tex b/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.timer.code.tex new file mode 100644 index 0000000000..3a4d30e68f --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tikzlibrarypaths.timer.code.tex @@ -0,0 +1,188 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% +\def\tikz@rectB#1{% originally from tikz.code.tex + \tikz@make@last@position{#1}% + \edef\tikz@timer@end{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% + \let\tikz@timer\tikz@timer@rectangle% %% Timer: new timer + \tikz@@movetosave{\pgfqpoint{\pgf@xa}{\pgf@ya}}% + \tikz@path@lineto{\pgfqpoint{\pgf@xa}{\tikz@lasty}}% + \tikz@path@lineto{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}% + \tikz@path@lineto{\pgfqpoint{\tikz@lastx}{\pgf@ya}}% + \iftikz@snaked + \tikz@path@lineto{\pgfqpoint{\pgf@xa}{\pgf@ya}}% + \fi + \pgfpathclose + \tikz@@movetosave{\pgfqpoint{\tikz@lastx}{\tikz@lasty}}% + \def\pgfstrokehook{}% + \let\tikz@tangent\relax + \tikz@scan@next@command +}% + +\def\tikz@@sine#1{% originally from tikz.code.tex + \let\tikz@tangent\tikz@tangent@lookup + \tikz@flush@moveto + \edef\tikz@timer@start{\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% %% Timer: save start position + \pgf@process{#1}% + \edef\tikz@timer@end{\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% %% Timer: saver target position + \pgf@xc=\pgf@x + \pgf@yc=\pgf@y + \advance\pgf@xc by-\tikz@lastx + \advance\pgf@yc by-\tikz@lasty + \advance\tikz@lastx by\pgf@xc + \advance\tikz@lasty by\pgf@yc + \tikz@lastxsaved=\tikz@lastx + \tikz@lastysaved=\tikz@lasty + \tikz@updatecurrenttrue + \let\tikz@timer=\tikz@timer@sine% %% Timer: new timer + \pgfpathsine{\pgfqpoint{\pgf@xc}{\pgf@yc}}% + \tikz@scan@next@command +} + +\def\tikz@@cosine#1{% originally from tikz.code.tex + \let\tikz@tangent\tikz@tangent@lookup + \tikz@flush@moveto + \edef\tikz@timer@start{\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% %% Timer: save start position + \pgf@process{#1}% + \edef\tikz@timer@end{\pgfqpoint{\the\pgf@x}{\the\pgf@y}}% %% Timer: save target position + \pgf@xc=\pgf@x + \pgf@yc=\pgf@y + \advance\pgf@xc by-\tikz@lastx + \advance\pgf@yc by-\tikz@lasty + \advance\tikz@lastx by\pgf@xc + \advance\tikz@lasty by\pgf@yc + \tikz@lastxsaved=\tikz@lastx + \tikz@lastysaved=\tikz@lasty + \tikz@updatecurrenttrue + \let\tikz@timer=\tikz@timer@cosine% %% Timer: new timer + \pgfpathcosine{\pgfqpoint{\pgf@xc}{\pgf@yc}}% + \tikz@scan@next@command +} + +\def\tikz@timer@rectangle{% + \pgfutil@tempdima\tikz@time pt + \ifdim\pgfutil@tempdima<.5pt\else % if we're at the return pos-ition we switch start and end + \advance\pgfutil@tempdima-.5pt + \let\pgf@tempa\tikz@timer@start + \let\tikz@timer@start\tikz@timer@end + \let\tikz@timer@end\pgf@tempa + \fi + \multiply\pgfutil@tempdima2 + \edef\tikz@time{\strip@pt\pgfutil@tempdima}% + \tikz@timer@hvline}% + +\def\tikz@parabola@semifinal#1{% + \tikz@flush@moveto + % Save original start: + \edef\tikz@timer@start{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% %% Timer: save start position + \pgf@xb=\tikz@lastx + \pgf@yb=\tikz@lasty + \tikz@make@last@position{#1}% + \edef\tikz@timer@end{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}% %% Timer: save target position + \pgf@xc=\tikz@lastx + \pgf@yc=\tikz@lasty + \begingroup% now calculate bend: + \let\tikz@after@path\pgfutil@empty + \expandafter\tikzset\expandafter{\tikz@parabola@option}% + \tikz@lastxsaved=\tikz@parabola@bend@factor\tikz@lastx + \tikz@lastysaved=\tikz@parabola@bend@factor\tikz@lasty + \advance\tikz@lastxsaved by\pgf@xb + \advance\tikz@lastysaved by\pgf@yb + \advance\tikz@lastxsaved by-\tikz@parabola@bend@factor\pgf@xb + \advance\tikz@lastysaved by-\tikz@parabola@bend@factor\pgf@yb + \expandafter\tikz@make@last@position\expandafter{\tikz@parabola@bend}% + \edef\tikz@timer@middle{{\the\tikz@lastx}{\the\tikz@lasty}}% %% Timer: save bend postion + % Calculate delta from bend + \advance\pgf@xc by-\tikz@lastx + \advance\pgf@yc by-\tikz@lasty + % Ok, now calculate delta to bend + \advance\tikz@lastx by-\pgf@xb + \advance\tikz@lasty by-\pgf@yb + \edef\tikz@marshall{% + \noexpand\let\noexpand\tikz@timer\noexpand\tikz@timer@parabola + \noexpand\edef\noexpand\tikz@timer@middle{\noexpand\pgfqpoint\tikz@timer@middle}% + \noexpand\pgfpathparabola{\noexpand\pgfqpoint{\the\tikz@lastx}{\the\tikz@lasty}}{\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + }% + \expandafter\endgroup% + \tikz@marshall + \expandafter\tikz@scan@next@command\tikz@after@path% +}% + +\def\tikz@timer@parabola{% following calculations, see \def of \pgfpathparabola in pgfcorepathconstruct.code.tex (l. 1261) + \ifdim\tikz@time pt<.5pt\relax % first part + \pgf@process{\tikz@timer@middle}% + \pgf@xc\pgf@x\pgf@yc\pgf@y + \pgf@xb\pgf@x\pgf@yb\pgf@y + \pgf@process{\tikz@timer@start}% + \advance\pgf@xc-\pgf@x\pgf@xc.1125\pgf@xc + \advance\pgf@xc\pgf@x % = start_x + .1125 (middle_x - start_x) + \advance\pgf@yc-\pgf@y\pgf@yc.225\pgf@yc + \advance\pgf@yc\pgf@y % = start_y + .225 (middle_y - start_y) + \advance\pgf@xb\pgf@x\pgf@xb.5\pgf@xb % = .5 (middle_x + start_x) = start_x + .5 (middle_x - start_x) + \pgf@xa=\tikz@time pt% + \pgf@xa=2\pgf@xa % = 2 * \tikz@time + \edef\tikz@marshall{\noexpand\pgftransformcurveattime{\strip@pt\pgf@xa}{\noexpand\tikz@timer@start}% + {\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}% + {\noexpand\tikz@timer@middle}}% + \else % second part + \pgf@process{\tikz@timer@end}% + \pgf@xc\pgf@x + \pgf@xb\pgf@x + \pgf@yb\pgf@y + \pgf@process{\tikz@timer@middle}% + \advance\pgf@xc\pgf@x\pgf@xc.5\pgf@xc % = .5 (end_x + middle_x) = middle_x + .5 (end_x - middle_x) + \advance\pgf@xb-\pgf@x\pgf@xb.8875\pgf@xb + \advance\pgf@xb\pgf@x % = middle_x + .8875 (end_x - middle_x) + \advance\pgf@yb-\pgf@y\pgf@yb.775\pgf@yb + \advance\pgf@yb\pgf@y % = middle_y + .775 (end_y - middle_y) + \pgf@xa=\tikz@time pt% + \advance\pgf@xa-.5pt% + \pgf@xa=2\pgf@xa % = 2 (\tikz@zime - .5) + \edef\tikz@marshall{\noexpand\pgftransformcurveattime{\strip@pt\pgf@xa}{\noexpand\tikz@timer@middle}% + {\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@y}}% + {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}% + {\noexpand\tikz@timer@end}}% + \fi + \tikz@marshall +} + +\def\tikz@timer@sine{% following calculations, see \def of \pgfpathsine in pgfcorepathconstruct.code.tex (l. 1315) + \pgf@process{\tikz@timer@end}% + \pgf@xc\pgf@x\pgf@yc\pgf@y + \pgf@xb\pgf@x\pgf@yb\pgf@y + \pgf@process{\tikz@timer@start}% + \advance\pgf@xc-\pgf@x\pgf@xc.3260\pgf@xc + \advance\pgf@xc\pgf@x % = start_x + .3260 (end_x - start_x) + \advance\pgf@yc-\pgf@y\pgf@yc.5120\pgf@yc + \advance\pgf@yc\pgf@y % = start_y + .5120 (end_y - start_y) + \advance\pgf@xb-\pgf@x\pgf@xb.6380\pgf@xb % = start_x + .6380 (end_x - start_x) + \advance\pgf@xb\pgf@x + \edef\tikz@marshall{\noexpand\pgftransformcurveattime{\tikz@time}{\noexpand\tikz@timer@start}% + {\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@yc}}% + {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}% + {\noexpand\tikz@timer@end}}% + \tikz@marshall +} +\def\tikz@timer@cosine{% following calculations, see \def of \pgfpathcosine in pgfcorepathconstruct.code.tex (l. 1345) + \pgf@process{\tikz@timer@end}% + \pgf@xc\pgf@x\pgf@yc\pgf@y + \pgf@xb\pgf@x\pgf@yb\pgf@y + \pgf@process{\tikz@timer@start}% + \advance\pgf@xb-\pgf@x\pgf@xb.6740\pgf@xb + \advance\pgf@xb\pgf@x % = start_x + .6740 (end_x - start_x) + \advance\pgf@yb-\pgf@y\pgf@yb.4880\pgf@yb + \advance\pgf@yb\pgf@y % = start_y + .4880 (end_y - start_y) + \advance\pgf@xc-\pgf@x\pgf@xc.3620\pgf@xc % = start_x + .3620 (end_x - start_x) + \advance\pgf@xc\pgf@x + \edef\tikz@marshall{\noexpand\pgftransformcurveattime{\tikz@time}{\noexpand\tikz@timer@start}% + {\noexpand\pgfqpoint{\the\pgf@xc}{\the\pgf@y}}% + {\noexpand\pgfqpoint{\the\pgf@xb}{\the\pgf@yb}}% + {\noexpand\tikz@timer@end}}% + \tikz@marshall +} +\endinput
\ No newline at end of file diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibrarypatterns.images.code.tex b/graphics/pgf/contrib/tikz-ext/tikzlibrarypatterns.images.code.tex new file mode 100644 index 0000000000..7cad25e42b --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tikzlibrarypatterns.images.code.tex @@ -0,0 +1,53 @@ +% This is the TikZ library patterns.images +% Load with \usetikzlibrary{patterns.images} +% +% Macro: +% - \pgfSetupImageAsPattern[<opt arguments for \pgfdeclareimage>]{<name>}{<path/file>} +% +% Keys are: +% - use image as pattern=<name> +% - image as pattern=<opt arguments for \pgftext> + +\def\pgfsetupimageaspattern{\pgfutil@ifnextchar[\qrr@pgfsetupimageaspattern{\qrr@pgfsetupimageaspattern[]}} +\def\qrr@pgfsetupimageaspattern[#1]#2#3{% #1 = options + % #2 = image name + % #3 = file name + \pgfdeclareimage[#1]{qrr@pgf@iap@#2}{#3}% + \sbox\pgfutil@tempboxa{\pgfuseimage{qrr@pgf@iap@#2}}% + \expandafter\edef\csname qrr@pgf@iap@#2@\endcsname{{\the\wd\pgfutil@tempboxa}{\the\ht\pgfutil@tempboxa}}% +} +\tikzset{ + image as pattern/name/.initial=, + image as pattern/option/.style=, + image as pattern/options/.style={/tikz/image as pattern/option/.append style={#1}}, + image as pattern/.default=, + image as pattern/.code={ + \tikzset{image as pattern/.cd,#1} + \pgfkeysgetvalue{/tikz/image as pattern/name}\tikz@temp + \pgfutil@ifxempty\tikz@temp{% + \tikzerror{You need to specify a name for the ``image-pattern'' to be used.}% + }{% + \edef\tikz@tempa{\expandafter\expandafter\expandafter\pgfutil@firstoftwo\csname qrr@pgf@iap@\tikz@temp @\endcsname}% + \edef\tikz@tempb{\expandafter\expandafter\expandafter\pgfutil@secondoftwo\csname qrr@pgf@iap@\tikz@temp @\endcsname}% + \pgfkeysalso{/tikz/path picture={% + \pgf@process{\pgfpointanchor{path picture bounding box}{north east}}% + \pgf@xa\pgf@x\pgf@ya\pgf@y + \pgf@process{\pgfpointanchor{path picture bounding box}{south west}}% + \pgf@xb\pgf@x\pgf@yb\pgf@y\pgf@yc\pgf@yb + \pgfutil@loop + {% + \pgfutil@loop + \expandafter\pgftext\expandafter[/tikz/image as pattern/option,at=\pgfqpoint{\pgf@xb}{\pgf@yb}]{\pgfuseimage{qrr@pgf@iap@\tikz@temp}}% + \ifdim\pgf@yb<\pgf@ya + \advance\pgf@yb\tikz@tempb + \pgfutil@repeat + }% + \ifdim\pgf@xb<\pgf@xa + \advance\pgf@xb\tikz@tempa + \pgf@yb\pgf@yc + \pgfutil@repeat + }}% + } + } +} +\endinput diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibrarytopaths.arcthrough.code.tex b/graphics/pgf/contrib/tikz-ext/tikzlibrarytopaths.arcthrough.code.tex new file mode 100644 index 0000000000..d90a2edc78 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tikzlibrarytopaths.arcthrough.code.tex @@ -0,0 +1,50 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% + +\pgfqkeys{/tikz/arc through}{ + .unknown/.code=\pgfkeyssetevalue{/tikz/arc through/through}{\pgfkeyscurrentname}, + through/.initial={(0,0)}, + center suffix/.initial=, + clockwise/.code=% + \def\tikz@arcthrough@clockwise{% + \pgfmathsubtract@{\pgfkeysvalueof{/tikz/end angle}}{360}% + \pgfkeyssetevalue{/tikz/end angle}{+\pgfmathresult}}, + counter clockwise/.code=\let\tikz@arcthrough@clockwise\relax, + clockwise/.value forbidden, counter clockwise/.value forbidden, counter clockwise} +\tikzset{ + arc through/.code={% + \tikzset{every arc through/.try}% + \pgfqkeys{/tikz/arc through}{#1}% + \pgfkeysgetvalue{/tikz/arc through/through}\tikz@temp + \pgfextract@process\pgf@tostart{\tikz@scan@one@point\pgfutil@firstofone(\tikztostart)\relax}% + \expandafter\pgfextract@process\expandafter\pgf@tothrough\expandafter + {\expandafter\tikz@scan@one@point\expandafter\pgfutil@firstofone\tikz@temp\relax}% + \pgfextract@process\pgf@totarget{\tikz@scan@one@point\pgfutil@firstofone(\tikztotarget)\relax}% + \pgfextract@process\pgf@topointMidA{\pgfpointlineattime{.5}{\pgf@tostart}{\pgf@tothrough}}% + \pgfextract@process\pgf@topointMidB{\pgfpointlineattime{.5}{\pgf@totarget}{\pgf@tothrough}}% + \pgfextract@process\pgf@tocenter{% + \pgfpointintersectionoflines + {\pgf@topointMidA}{\pgfmathrotatepointaround{\pgf@tothrough}{\pgf@topointMidA}{90}}% + {\pgf@topointMidB}{\pgfmathrotatepointaround{\pgf@tothrough}{\pgf@topointMidB}{90}}}% + \pgfcoordinate{arc through center\pgfkeysvalueof{/tikz/arc through/center suffix}}{\pgf@tocenter}% + \pgfpointdiff{\pgf@tocenter}{\pgf@tostart}% + \pgfmathveclen@{\pgfmath@tonumber\pgf@x}{\pgfmath@tonumber\pgf@y}% + \pgfkeyssetevalue{/tikz/x radius}{+\pgfmathresult pt}% + \pgfkeyssetevalue{/tikz/y radius}{+\pgfmathresult pt}% + \pgfmathanglebetweenpoints{\pgf@tocenter}{\pgf@totarget}% + \pgfkeyssetevalue{/tikz/end angle}{+\pgfmathresult}% + \pgfmathanglebetweenpoints{\pgf@tocenter}{\pgf@tostart}% + \ifdim\pgfmathresult pt>\pgfkeysvalueof{/tikz/end angle}pt\relax + \pgfmathsubtract@{\pgfmathresult}{360}% + \fi + \pgfkeyssetevalue{/tikz/start angle}{+\pgfmathresult}% + \tikz@arcthrough@clockwise + \pgfkeyslet{/tikz/delta angle}\pgfutil@empty + \def\tikz@to@path{arc[]\tikztonodes}% + }% +} diff --git a/graphics/pgf/contrib/tikz-ext/tikzlibrarytransformations.mirror.code.tex b/graphics/pgf/contrib/tikz-ext/tikzlibrarytransformations.mirror.code.tex new file mode 100644 index 0000000000..7b5b02f722 --- /dev/null +++ b/graphics/pgf/contrib/tikz-ext/tikzlibrarytransformations.mirror.code.tex @@ -0,0 +1,70 @@ +% Copyright 2022 by Qrrbrbirlbel +% +% This file may be distributed and/or modified +% +% 1. under the LaTeX Project Public License and/or +% 2. under the GNU Free Documentation License. +% +\usepgflibrary{transformations.mirror} +\tikzset{ + mirror/.code={% + \pgfutil@in@{--}{#1}% + \ifpgfutil@in@ + \tikz@trans@mirror#1\@nil + \else + \tikz@scan@one@point\pgfqtransformmirror#1\relax + \fi}, + ymirror/.code={\pgfutil@ifnextchar(\tikz@trans@ymirror@coordinate\tikz@trans@ymirror@simple#1\@nil}, + xmirror/.code={\pgfutil@ifnextchar(\tikz@trans@xmirror@coordinate\tikz@trans@xmirror@simple#1\@nil}, + mirror x/.code={% + \pgfextract@process\tikz@temp{\tikz@scan@one@point\pgfutil@firstofone#1\relax}% + \pgftransformmirror{\tikz@temp}{\pgfpointadd{\tikz@temp}{\pgfqpointxy{0}{1}}}}, + mirror y/.code={% + \pgfextract@process\tikz@temp{\tikz@scan@one@point\pgfutil@firstofone#1\relax}% + \pgftransformmirror{\tikz@temp}{\pgfpointadd{\tikz@temp}{\pgfqpointxy{1}{0}}}}, + mirror/.value required, + ymirror/.value required, + xmirror/.value required, + mirror x/.value required, + mirror y/.value required} +\def\tikz@trans@mirror#1--#2\@nil{% + \pgftransformmirror{\tikz@scan@one@point\pgfutil@firstofone#1\relax} + {\tikz@scan@one@point\pgfutil@firstofone#2\relax}} +\def\tikz@trans@xmirror@simple#1\@nil{\pgftransformxmirror{#1}} +\def\tikz@trans@ymirror@simple#1\@nil{\pgftransformymirror{#1}} +\def\tikz@trans@xmirror@coordinate#1\@nil{% + \tikz@scan@one@point\pgfutil@firstofone#1\pgftransformxmirror{+\the\pgf@x}} +\def\tikz@trans@ymirror@coordinate#1\@nil{% + \tikz@scan@one@point\pgfutil@firstofone#1\pgftransformymirror{+\the\pgf@y}} + +\tikzset{ + Mirror/.code={% + \pgfutil@in@{--}{#1}% + \ifpgfutil@in@ + \tikz@trans@Mirror#1\@nil + \else + \tikz@scan@one@point\pgfqtransformMirror#1\relax + \fi}, + yMirror/.code={\pgfutil@ifnextchar(\tikz@trans@yMirror@coordinate\tikz@trans@yMirror@simple#1\@nil}, + xMirror/.code={\pgfutil@ifnextchar(\tikz@trans@xMirror@coordinate\tikz@trans@xMirror@simple#1\@nil}, + Mirror x/.code={% + \pgfextract@process\tikz@temp{\tikz@scan@one@point\pgfutil@firstofone#1\relax}% + \pgftransformMirror{\tikz@temp}{\pgfpointadd{\tikz@temp}{\pgfqpointxy{0}{1}}}}, + Mirror y/.code={% + \pgfextract@process\tikz@temp{\tikz@scan@one@point\pgfutil@firstofone#1\relax}% + \pgftransformMirror{\tikz@temp}{\pgfpointadd{\tikz@temp}{\pgfqpointxy{1}{0}}}}, + Mirror/.value required, + yMirror/.value required, + xMirror/.value required, + Mirror x/.value required, + Mirror y/.value required} +\def\tikz@trans@Mirror#1--#2\@nil{% + \pgftransformMirror{\tikz@scan@one@point\pgfutil@firstofone#1\relax} + {\tikz@scan@one@point\pgfutil@firstofone#2\relax}} +\def\tikz@trans@xMirror@simple#1\@nil{\pgftransformxMirror{#1}} +\def\tikz@trans@yMirror@simple#1\@nil{\pgftransformyMirror{#1}} +\def\tikz@trans@xMirror@coordinate#1\@nil{% + \tikz@scan@one@point\pgfutil@firstofone#1\pgftransformxMirror{+\the\pgf@x}} +\def\tikz@trans@yMirror@coordinate#1\@nil{% + \tikz@scan@one@point\pgfutil@firstofone#1\pgftransformyMirror{+\the\pgf@y}} +\endinput diff --git a/macros/generic/lt3luabridge/lt3luabridge.dtx b/macros/generic/lt3luabridge/lt3luabridge.dtx index 39e353a123..c7d7cc3508 100644 --- a/macros/generic/lt3luabridge/lt3luabridge.dtx +++ b/macros/generic/lt3luabridge/lt3luabridge.dtx @@ -47,7 +47,7 @@ % }^^A % } % -% \date{Released 2022-08-08} +% \date{Released 2022-08-16} % % \maketitle % @@ -330,7 +330,7 @@ } \iow_now:NV \g_tmpa_iow - \l_tmpa_tl + \l_tmpb_tl \iow_close:N \g_tmpa_iow \msg_info:nnV @@ -461,8 +461,8 @@ \RequirePackage{expl3} \ProvidesExplPackage {lt3luabridge}% - {2022-08-08}% - {2.0.0}% + {2022-08-16}% + {2.0.1}% {An expl3 package that allows you to execute Lua code in LuaTeX or any other TeX engine that exposes the shell} \input lt3luabridge\relax diff --git a/macros/generic/lt3luabridge/lt3luabridge.pdf b/macros/generic/lt3luabridge/lt3luabridge.pdf Binary files differindex b2e54a0897..a282009843 100644 --- a/macros/generic/lt3luabridge/lt3luabridge.pdf +++ b/macros/generic/lt3luabridge/lt3luabridge.pdf diff --git a/macros/latex/contrib/hereapplies/ChangeLog.md b/macros/latex/contrib/hereapplies/ChangeLog.md index 0835e321b9..7f1fda1e25 100644 --- a/macros/latex/contrib/hereapplies/ChangeLog.md +++ b/macros/latex/contrib/hereapplies/ChangeLog.md @@ -2,6 +2,25 @@ Change Log ========== +## 0.4.0 (2022-08-16) + +Changes: + +* The `\whereapplies` macro and its starred counterpart now support page ranges + and a more robust indexing (a partial rewrite of the code and the addition of + the `refcount` dependency were necessary) +* The LyX module has been updated +* Documentation +* Examples + + +## 0.3.1 (2022-08-15) + +Changes: + +* Documentation + + ## 0.3.0 (2022-08-13) Changes: diff --git a/macros/latex/contrib/hereapplies/README.md b/macros/latex/contrib/hereapplies/README.md index 8ffda3cd99..2ef03857e6 100644 --- a/macros/latex/contrib/hereapplies/README.md +++ b/macros/latex/contrib/hereapplies/README.md @@ -7,38 +7,43 @@ A LaTeX package for cross-linking concepts to their applications Overview -------- -**Here Applies** is a LaTeX package that implements an _informal glossary_. Its -core mechanism is identical to that of a conventional glossary – i.e. some -concepts are marked as “important” and indicized every time they appear in the -document – but it does not produce any nomenclature section, nor relies on the -conventions that normally take part in a glossary. - -In fact, normally, besides an indicization mechanism, a proper glossary should -be able to produce a dedicated section (usually at the end of the document) +**Here Applies** is a LaTeX package that implements an _informal glossary_ for +cross-linking concepts to their applications. Its core mechanism is identical +to that of a conventional glossary – i.e. some concepts are marked as +“important” and indicized every time they appear in the document – but it does +not produce any nomenclature section, nor relies on the conventions that +normally take part in a glossary. + +Besides an indicization mechanism, in fact, a proper glossary should normally +be able to produce a dedicated section – usually at the end of the document – where the terms are collected in alphabetical order, their definitions are -shown, and the lists of their occurrences are presented. By design, all these -things but the last one are missing in **Here Applies**. +shown, and the lists of their occurrences are presented. All these things but +the last one, by design, are missing in **Here Applies**. Instead, the package offers only two macros: `\hereapplies` and `\whereapplies` (plus their “starred” versions `\hereapplies*` and `\whereapplies*`). In both cases a “concept name” is passed as argument – and this can be any string invented in the moment, as long as it contains only letters. -Every time `\hereapplies` is invoked again on an identical string the document -knows that the same concept from previous invocations is occurring at that -point. And so every time the `\whereapplies` macro is invoked, all the -occurrences of that concept within the entire document will be printed in the -form of a linkable page number list (“pp. 1, 2, 3, 4, …”). +Every time `\hereapplies` is invoked again on an identical string, the document +is made aware that the same concept from previous invocations is occurring at +that point. And so, every time the `\whereapplies` macro is invoked on that +same string, all the occurrences of that concept within the entire document +will be printed in the form of a linkable page number list (e.g. “pp. 1, 5, +8–9, 14–20…”). As `\hereapplies` is designed to be invoked in the middle of a chapter or a -section and make it linkable, the `\phantomsection` macro is invoked by default -before a label is added to that place. To avoid calling `\phantomsection`, -the “starred” macro `\hereapplies*` is available. +section, and that location must be made linkable, the `\phantomsection` macro +is invoked by default before a label is added. To avoid calling +`\phantomsection`, the “starred” macro `\hereapplies*` is available. Finally, like `\whereapplies` resembles a pluralizable version of `\pageref`, its “starred” version `\whereapplies*` resembles a pluralizable version of `\pageref*`. +If you use LyX, the package ships a LyX module as well (please check the +`lyx-module` subdirectory). + Example usage ------------- @@ -53,29 +58,34 @@ The following LaTeX manuscript \begin{document} \title{Some title} + \author{Some author} \maketitle -This is concept one. To find this concept applied, please -see \whereapplies{conceptOne}. - -This is concept two. To find this concept applied, please -see \whereapplies{conceptTwo}. +This is concept one. To find this concept applied, please see +\whereapplies{conceptOne}. -\newpage +This is concept two. To find this concept applied, please see +\whereapplies{conceptTwo}.\newpage \hereapplies{conceptOne}This is page \thepage. As you can see, ``concept one'' applies here.\newpage -\hereapplies{conceptTwo}This is page \thepage. As you can see, -``concept two'' applies here.\newpage +\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +two'' applies here.\newpage \hereapplies{conceptOne}This is page \thepage. As you can see, ``concept one'' applies here.\newpage -\hereapplies{conceptTwo}This is page \thepage. As you can see, -``concept two'' applies here.\newpage +\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +two'' applies here.\newpage + +\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +two'' applies here.\newpage + +\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +two'' applies here.\newpage \hereapplies[myref]{conceptOne}This is page \thepage. As you can see, ``concept one'' applies here. This point in the document is @@ -90,27 +100,31 @@ will generate [this document][1]. A minimal tutorial ------------------ -### Macro `\hereapplies[label]{concept_name}` +### Macro `\hereapplies[Label]{ConceptName}` The `\hereapplies` macro notifies the document that a particular concept -applies to a particular point and creates a label for it. +applies to a particular point and adds a label to it. If the optional argument is passed the label created will be named accordingly, otherwise an opaque name will be assigned to it. This argument may contain only what is legal in both `\label` and `\pageref`. -The `concept_name` argument may contain only letters and the “at” sign (`@`). +The `ConceptName` argument may contain only Latin letters and the “at” sign +(`@`). This string remains confined within the internal scope of the package +and does not create conflicts with possible macros or labels of the same name. The “starred” version of this macro (`\hereapplies*`) does not invoke the `\phantomsection` directive. -### Macro `\whereapplies{concept_name}` +### Macro `\whereapplies{ConceptName}` The `\whereapplies` macro prints all the occurrences of a concept, in the form -“p. …” or “pp. …” +“p. …” or “pp. …” (with page range support). -The `concept_name` argument may contain only letters and the “at” sign (`@`). +The `ConceptName` argument may contain only Latin letters and the “at” sign +(`@`). This string remains confined within the internal scope of the package +and does not create conflicts with possible macros or labels of the same name. The “starred” version of this macro (`\whereapplies*`) will use `\pageref*` instead of `\pageref` for generating the page list. diff --git a/macros/latex/contrib/hereapplies/hereapplies-example.pdf b/macros/latex/contrib/hereapplies/hereapplies-example.pdf Binary files differindex 7e58c9011e..a6406da256 100644 --- a/macros/latex/contrib/hereapplies/hereapplies-example.pdf +++ b/macros/latex/contrib/hereapplies/hereapplies-example.pdf diff --git a/macros/latex/contrib/hereapplies/hereapplies-example.tex b/macros/latex/contrib/hereapplies/hereapplies-example.tex index 18b2154e10..ef76ef5ce0 100644 --- a/macros/latex/contrib/hereapplies/hereapplies-example.tex +++ b/macros/latex/contrib/hereapplies/hereapplies-example.tex @@ -5,29 +5,34 @@ \begin{document} \title{Some title} + \author{Some author} \maketitle -This is concept one. To find this concept applied, please -see \whereapplies{conceptOne}. - -This is concept two. To find this concept applied, please -see \whereapplies{conceptTwo}. +This is concept one. To find this concept applied, please see +\whereapplies{conceptOne}. -\newpage +This is concept two. To find this concept applied, please see +\whereapplies{conceptTwo}.\newpage \hereapplies{conceptOne}This is page \thepage. As you can see, ``concept one'' applies here.\newpage -\hereapplies{conceptTwo}This is page \thepage. As you can see, -``concept two'' applies here.\newpage +\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +two'' applies here.\newpage \hereapplies{conceptOne}This is page \thepage. As you can see, ``concept one'' applies here.\newpage -\hereapplies{conceptTwo}This is page \thepage. As you can see, -``concept two'' applies here.\newpage +\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +two'' applies here.\newpage + +\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +two'' applies here.\newpage + +\hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +two'' applies here.\newpage \hereapplies[myref]{conceptOne}This is page \thepage. As you can see, ``concept one'' applies here. This point in the document is diff --git a/macros/latex/contrib/hereapplies/hereapplies.sty b/macros/latex/contrib/hereapplies/hereapplies.sty index 734881ca8f..c83693fb4a 100644 --- a/macros/latex/contrib/hereapplies/hereapplies.sty +++ b/macros/latex/contrib/hereapplies/hereapplies.sty @@ -1,5 +1,5 @@ % -*- Mode: latex; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- - +% % % hereapplies.sty % @@ -7,9 +7,9 @@ % % https://github.com/madmurphy/hereapplies.sty % -% Version 0.3.0 +% Version 0.4.0 % -% Copyright (c) 2022 madmurphy <madmurphy333@gmail.com> +% Copyright (C) 2022 madmurphy <madmurphy333@gmail.com> % % **Here Applies** is free software: you can redistribute it and/or modify it % under the terms of the GNU Affero General Public License as published by the @@ -35,29 +35,34 @@ % \begin{document} % % \title{Some title} +% % \author{Some author} % % \maketitle % -% This is concept one. To find this concept applied, please -% see \whereapplies{conceptOne}. +% This is concept one. To find this concept applied, please see +% \whereapplies{conceptOne}. % -% This is concept two. To find this concept applied, please -% see \whereapplies{conceptTwo}. -% -% \newpage +% This is concept two. To find this concept applied, please see +% \whereapplies{conceptTwo}.\newpage % % \hereapplies{conceptOne}This is page \thepage. As you can see, ``concept % one'' applies here.\newpage % -% \hereapplies{conceptTwo}This is page \thepage. As you can see, -% ``concept two'' applies here.\newpage +% \hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +% two'' applies here.\newpage % % \hereapplies{conceptOne}This is page \thepage. As you can see, ``concept % one'' applies here.\newpage % -% \hereapplies{conceptTwo}This is page \thepage. As you can see, -% ``concept two'' applies here.\newpage +% \hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +% two'' applies here.\newpage +% +% \hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +% two'' applies here.\newpage +% +% \hereapplies{conceptTwo}This is page \thepage. As you can see, ``concept +% two'' applies here.\newpage % % \hereapplies[myref]{conceptOne}This is page \thepage. As you can % see, ``concept one'' applies here. This point in the document is @@ -68,6 +73,7 @@ % \ProvidesPackage{hereapplies} \RequirePackage{hyperref} +\RequirePackage{refcount} % % % @@ -75,65 +81,158 @@ % =================== % % -% Assign a unique number to each applicable concept +% Assign a unique number to each concept \newcounter{@ha@concept@counter} % Assign a unique number to each unnamed occurrence of a concept \newcounter{@ha@unlabeled@counter} % % -% Macro `\@ha@newapplicable{concept_name}` +% Macro `\@ha@makeoccurrencelist{HyperrefMacro}{LabelList}` % ***************************************************************************** % -% Initialize a new applicable concept +% Generate the list of page numbers with page range support +% +% This macro is for internal purposes only. When invoked, it scans the list of +% labels provided (`LabelList`) and checks which labels refer to duplicate page +% numbers and which page numbers can be grouped together. +% +% The `HyperrefMacro` argument is the macro from the `hyperref` package that +% will process the label name. This should be either `T@pageref` -- equivalent +% to `\pageref` -- or `@pagerefstar` -- equivalent to `\pageref*`. +% +% The `ConceptName` argument may contain only Latin letters and the "at" sign +% (`@`). This string remains confined within the internal scope of the package +% and does not create conflicts with possible macros or labels of the same +% name. +% +% The `LabelList` must be a comma-separated list of labels. +% +\newcommand{\@ha@makeoccurrencelist}[2]{% + % Reset the current page number + \def\@ha@tmp@@currp{-1}% + % Reset the current range offset + \def\@ha@tmp@@prangeoffs{-1}% + % Iterate through the `LabelList` argument + \@for\@ha@tmp@@thislabel:=#2\do{% + % Store the page number associated with this label + \edef\@ha@tmp@@nextp{\getpagerefnumber{\@ha@tmp@@thislabel}}% + % Check that we are not on the same page as in the last iteration + \unless\ifnum\@ha@tmp@@currp=\@ha@tmp@@nextp% + % This is not the same page as in the last iteration + % Is this the first page in which this concept appears? + \unless\ifnum\@ha@tmp@@currp=-1% + % This is not the first page in which this concept appears + % Does this page follow immediately the previous label's page? + \ifnum\numexpr\@ha@tmp@@currp+1=\@ha@tmp@@nextp% + % This page follows immediately the previous label's page + % Are these the first contiguous pages that we encounter? + \ifnum\@ha@tmp@@prangeoffs=-1% + % These are the first contiguous pages we encounter + % Store the first page number of the pair + \edef\@ha@tmp@@prangeoffs{\@ha@tmp@@currp}% + % Store the first label of the pair + \edef\@ha@tmp@@currrangelbl{\@ha@tmp@@currlbl}% + \fi% + \else% + % This page is far from the previous label's page + % Was the previous page part of a contiguous range? + \ifnum\@ha@tmp@@prangeoffs=-1% + % The previous page was a standalone page + % Print "[p], " + {\csname #1\endcsname{\@ha@tmp@@currlbl}, }% + \else% + % The previous page was part of a contiguous range + % Print "[p--q], " + {\csname #1\endcsname{\@ha@tmp@@currrangelbl}--\csname + #1\endcsname{\@ha@tmp@@currlbl}, }% + % Reset the current range offset + \def\@ha@tmp@@prangeoffs{-1}% + \fi% + \fi% + \fi% + % Prepare the next page number + \edef\@ha@tmp@@currp{\@ha@tmp@@nextp}% + % Prepare the next label + \edef\@ha@tmp@@currlbl{\@ha@tmp@@thislabel}% + \fi% + }% + % Print the last page number + % Is there at least one page to print? + \unless\ifnum\@ha@tmp@@currp=-1% + % There is at least one page to print + % Was the previous page part of a contiguous range? + \ifnum\@ha@tmp@@prangeoffs=-1% + % The previous page was a standalone page + % Print "[p], " + {\csname #1\endcsname{\@ha@tmp@@currlbl}}% + \else% + % The previous page was part of a contiguous range + % Print "[p--q], " + {\csname #1\endcsname{\@ha@tmp@@currrangelbl}--\csname + #1\endcsname{\@ha@tmp@@currlbl}}% + \fi% + \fi% +} +% +% +% Macro `\@ha@newconcept{ConceptName}` +% ***************************************************************************** +% +% Initialize a new concept % -% Thie macro is for internal purposes only. When invoked, it sets up the helper +% This macro is for internal purposes only. When invoked, it sets up the helper % macros, counters and auxiliary files needed for keeping track of a concept. -% If the concept was already initialized this macro will be no op. +% If the concept was already initialized the macro will be no op. % -% The `concept_name` argument may contain only letters and the "at" sign (`@`). +% The `ConceptName` argument may contain only Latin letters and the "at" sign +% (`@`). This string remains confined within the internal scope of the package +% and does not create conflicts with possible macros or labels of the same +% name. % -\newcommand{\@ha@newapplicable}[1]{% +\newcommand{\@ha@newconcept}[1]{% % Was this concept already initialized? - \expandafter\ifx\csname @ha@prop@@cursor@#1\endcsname\relax% + \expandafter\ifx\csname @ha@prop@@count@#1\endcsname\relax% % The concept was never initialized - % Move the counter to the current id - \stepcounter{@ha@concept@counter}% % Set the output to "??" - it will be updated by the .haN file - \expandafter\def\csname @ha@prop@@uoutput@#1\endcsname{\textbf{??}}% + \expandafter\gdef\csname @ha@prop@@uoutput@#1\endcsname{\textbf{??}}% % Set the starred output to "??" - it will be updated by the .haN file - \expandafter\def\csname @ha@prop@@soutput@#1\endcsname{\textbf{??}}% - % The last page that applies - \expandafter\def\csname @ha@prop@@cursor@#1\endcsname{-1}% - % Store the id of the current concept - \expandafter\edef\csname @ha@prop@@id@#1\endcsname{\arabic{@ha@concept@counter}}% + \expandafter\gdef\csname @ha@prop@@soutput@#1\endcsname{\textbf{??}}% + % Use "p." for the preamble when there is only one occurrence + \expandafter\gdef\csname @ha@prop@@preamble@#1\endcsname{p.~}% + % Increase the counter of concepts + \stepcounter{@ha@concept@counter}% + % Store the current value of the counter of concepts + \expandafter\xdef\csname + @ha@prop@@count@#1\endcsname{\the@ha@concept@counter}% % Initialize the .haN file % Previous versions had this line, which created unwanted whitespaces: - %\@starttoc{ha\csname @ha@prop@@id@#1\endcsname}% + %\@starttoc{ha\csname @ha@prop@@count@#1\endcsname}% % I am thankful to David Carlisle for the following replacement: - {\endlinechar=\m@ne\@starttoc{ha\csname @ha@prop@@id@#1\endcsname}}% + {\endlinechar=\m@ne\@starttoc{ha\csname @ha@prop@@count@#1\endcsname}}% % Store all the occurrences when the document reaches the end \AtEndDocument{% % Make sure that there are occurrences - \expandafter\ifcsname @ha@prop@@preamble@#1\endcsname% + \expandafter\ifcsname @ha@prop@@labels@#1\endcsname% % There are occurrences - % When `\hereapplies` is the last directive of the document and - % is not followed by any text, due to an unknown bug - % `\whereapplies` prints "??" even when there are occurrences - % of a concept. Uncommenting the `\phantom` macro below fixes - % the bug, yet it might be wiser to leave the choice to the - % user and search for more final solutions in the meanwhile. - % The `\phantom{}` directive can also be inserted - % manually at the end of the document. - %\phantom{}% % Set the .haN file as output - \addtocontents{ha\csname @ha@prop@@id@#1\endcsname}{% + \addtocontents{ha\csname @ha@prop@@count@#1\endcsname}{% % Write "p./pp. \pageref..." to the output \gdef\expandafter\protect\csname @ha@prop@@uoutput@#1\endcsname{% - \csname @ha@prop@@preamble@#1\endcsname\csname @ha@prop@@ucache@#1\endcsname% + % Preamble (either "p." or "pp.") + \csname @ha@prop@@preamble@#1\endcsname% + % `\T@pageref` is a synonym of `\pageref` + \expandafter\protect\csname + @ha@makeoccurrencelist\endcsname{T@pageref}{\csname + @ha@prop@@labels@#1\endcsname}% }% % Write "p./pp. \pageref*..." to the starred output \gdef\expandafter\protect\csname @ha@prop@@soutput@#1\endcsname{% - \csname @ha@prop@@preamble@#1\endcsname\csname @ha@prop@@scache@#1\endcsname% + % Preamble (either "p." or "pp.") + \csname @ha@prop@@preamble@#1\endcsname% + % `\@pagerefstar` is a synonym of `\pageref*` + \expandafter\protect\csname + @ha@makeoccurrencelist\endcsname{@pagerefstar}{\csname + @ha@prop@@labels@#1\endcsname}% }% }% \fi% @@ -142,72 +241,61 @@ } % % -% Macro: `\@ha@getpropat{property_name}{concept_name}` +% Macro: `\@ha@getpropat{PropertyName}{ConceptName}` % ***************************************************************************** % -% Get the current value of a concept's property +% Get the value of a concept's property % -% Thie macro is for internal purposes (but nothing forbids invoking it -% directly). +% This macro is for internal purposes (but nothing forbids invoking it +% directly). If a concept was never initialized the macro will initialize it. % -% Possible values for the `property_name` argument are: `cursor`, `id`, -% `preamble`, `scache`, `soutput`, `ucache`, `uoutput`. +% Possible values for the `PropertyName` argument are: `count`, `labels`, +% `preamble`, `soutput`, `uoutput`. % -% The `concept_name` argument may contain only letters and the "at" sign (`@`). +% The `ConceptName` argument may contain only Latin letters and the "at" sign +% (`@`). This string remains confined within the internal scope of the package +% and does not create conflicts with possible macros or labels of the same +% name. % \newcommand{\@ha@getpropat}[2]{% - % Make sure that the applicable concept is initialized - \@ha@newapplicable{#2}% - % Print all the occurrences of the concept + % Make sure that the concept is initialized + \@ha@newconcept{#2}% + % Print the concept's property \csname @ha@prop@@#1@#2\endcsname% } % % -% Macro: `\starred@labeled@hereapplies{label}{concept_name}` +% Macro: `\starred@labeled@hereapplies{Label}{ConceptName}` % ***************************************************************************** % % Equivalent to `\hereapplies*`, but the two arguments are both mandatory % -% Thie macro is for internal purposes (but nothing forbids invoking it +% This macro is for internal purposes (but nothing forbids invoking it % directly). See the documentation of `\hereapplies` for more information. % \newcommand{\starred@labeled@hereapplies}[2]{% % Make sure that the concept has been initialized - \@ha@newapplicable{#2}% + \@ha@newconcept{#2}% % Assign a label to this occurrence \label{#1}% - % If the cursor already points to the current page do nothing - \unless\ifnum\csname @ha@prop@@cursor@#2\endcsname=\thepage% - % Is this the first occurrence? - \expandafter\ifcsname @ha@prop@@preamble@#2\endcsname% - % This is *not* the first occurrence - % Use "pp." for the preamble when there are multiple occurrences - \expandafter\def\csname @ha@prop@@preamble@#2\endcsname{pp.~}% - % Populate the cache - \expandafter\g@addto@macro\csname @ha@prop@@ucache@#2\endcsname{, \pageref{#1}}% - % Populate the starred cache - \expandafter\g@addto@macro\csname @ha@prop@@scache@#2\endcsname{, \pageref*{#1}}% - \else% - % This is the first occurrence - % Use "p." for the preamble when there is only one occurrence - \expandafter\def\csname @ha@prop@@preamble@#2\endcsname{p.~}% - % Initialize the cache - \expandafter\def\csname @ha@prop@@ucache@#2\endcsname{\pageref{#1}}% - % Initialize the starred cache - \expandafter\def\csname @ha@prop@@scache@#2\endcsname{\pageref*{#1}}% - \fi% - % Make the cursor point to the current page - \expandafter\edef\csname @ha@prop@@cursor@#2\endcsname{\thepage}% + \expandafter\ifcsname @ha@prop@@labels@#2\endcsname% + % This is *not* the first occurrence + \expandafter\g@addto@macro\csname @ha@prop@@labels@#2\endcsname{,#1}% + % Use "pp." for the preamble when there are multiple occurrences + \expandafter\gdef\csname @ha@prop@@preamble@#2\endcsname{pp.~}% + \else% + % This is the first occurrence + \expandafter\gdef\csname @ha@prop@@labels@#2\endcsname{#1}% \fi% } % % -% Macro: `\starred@hereapplies[label]{concept_name}` +% Macro: `\starred@hereapplies[Label]{ConceptName}` % ***************************************************************************** % % Equivalent to `\hereapplies*` % -% Thie macro is for internal purposes (but nothing forbids invoking it +% This macro is for internal purposes (but nothing forbids invoking it % directly). See the documentation of `\hereapplies` for more information. % \newcommand{\starred@hereapplies}[2][]{% @@ -217,7 +305,9 @@ % Assign a unique number to the unnamed occurrence \stepcounter{@ha@unlabeled@counter}% % Call `\starred@hereapplies` with an opaque label - \edef\tmp{\noexpand\starred@labeled@hereapplies{#2:__appl\arabic{@ha@unlabeled@counter}__}{#2}}\tmp% + {\edef\tmp{\noexpand\starred@labeled@hereapplies{% + ha:#2-unnamed\the@ha@unlabeled@counter}{#2}% + }\tmp}% \else% % The macro has been called with two arguments \starred@labeled@hereapplies{#1}{#2}% @@ -230,7 +320,7 @@ % =================== % % -% Macro: `\hereapplies[label]{concept_name}` +% Macro: `\hereapplies[Label]{ConceptName}` % ***************************************************************************** % % Notify the document that a particular concept applies and create a label for @@ -240,7 +330,10 @@ % accordingly, otherwise an opaque name will be assigned to it. This argument % may contain only what is legal in both `\label` and `\pageref`. % -% The `concept_name` argument may contain only letters and the "at" sign (`@`). +% The `ConceptName` argument may contain only Latin letters and the "at" sign +% (`@`). This string remains confined within the internal scope of the package +% and does not create conflicts with possible macros or labels of the same +% name. % % The starred version of this macro (`\hereapplies*`) does not invoke the % `\phantomsection` directive. @@ -251,12 +344,16 @@ } % % -% Macro: `\whereapplies{concept_name}` +% Macro: `\whereapplies{ConceptName}` % ***************************************************************************** % % Print all the occurrences of a concept in the form "p. ..." or "pp. ..." +% with page range support % -% The `concept_name` argument may contain only letters and the "at" sign (`@`). +% The `ConceptName` argument may contain only Latin letters and the "at" sign +% (`@`). This string remains confined within the internal scope of the package +% and does not create conflicts with possible macros or labels of the same +% name. % % The starred version of this macro (`\whereapplies*`) will use `\pageref*` % instead of `\pageref` for generating the page list. diff --git a/macros/latex/contrib/hereapplies/lyx-module/hereapplies-example.lyx b/macros/latex/contrib/hereapplies/lyx-module/hereapplies-example.lyx index 0b9e259dca..8f77964e19 100644 --- a/macros/latex/contrib/hereapplies/lyx-module/hereapplies-example.lyx +++ b/macros/latex/contrib/hereapplies/lyx-module/hereapplies-example.lyx @@ -297,6 +297,84 @@ concept two status open \begin_layout Plain Layout +conceptTwo +\end_layout + +\end_inset + +This is page +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +thepage +\end_layout + +\end_inset + +. + As you can see, +\begin_inset Quotes eld +\end_inset + +concept two +\begin_inset Quotes erd +\end_inset + + applies here. +\begin_inset Newpage newpage +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Flex Here applies +status open + +\begin_layout Plain Layout +conceptTwo +\end_layout + +\end_inset + +This is page +\begin_inset ERT +status collapsed + +\begin_layout Plain Layout + + +\backslash +thepage +\end_layout + +\end_inset + +. + As you can see, +\begin_inset Quotes eld +\end_inset + +concept two +\begin_inset Quotes erd +\end_inset + + applies here. +\begin_inset Newpage newpage +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset Flex Here applies +status open + +\begin_layout Plain Layout \begin_inset Argument 1 status open diff --git a/macros/latex/contrib/hereapplies/lyx-module/hereapplies.module b/macros/latex/contrib/hereapplies/lyx-module/hereapplies.module index 6d927540ca..27438dde66 100644 --- a/macros/latex/contrib/hereapplies/lyx-module/hereapplies.module +++ b/macros/latex/contrib/hereapplies/lyx-module/hereapplies.module @@ -34,6 +34,9 @@ InsetLayout Flex:Here_applies BgColor lightgray Argument 1 Decoration Classic + Font + Color blue + EndFont LabelString "Label" MenuString "Instance label" Tooltip "A string that will become the label of the instance (which can be referenced with \ref, \pageref, etc.)" @@ -64,6 +67,9 @@ InsetLayout Flex:Here_applies* BgColor lightgray Argument 1 Decoration Classic + Font + Color blue + EndFont LabelString "Label" MenuString "Instance label" Tooltip "A string that will become the label of the instance (which can be referenced with \ref, \pageref, etc.)" @@ -81,7 +87,7 @@ InsetLayout Flex:Where_applies EndFont LabelFont Family Serif - Color green + Color purple Size Small EndFont LabelString "Applications of" @@ -104,7 +110,7 @@ InsetLayout Flex:Where_applies* EndFont LabelFont Family Serif - Color green + Color purple Size Small EndFont LabelString "Applications of*" diff --git a/macros/latex/contrib/hereapplies/package.json b/macros/latex/contrib/hereapplies/package.json index b74ebec02c..74dd5ed4a9 100644 --- a/macros/latex/contrib/hereapplies/package.json +++ b/macros/latex/contrib/hereapplies/package.json @@ -1,6 +1,6 @@ { "name": "hereapplies.sty", - "version": "0.3.0", + "version": "0.4.0", "description": "A LaTeX package for cross-linking concepts to their applications", "homepage": "https://madmurphy.github.io/hereapplies.sty", "author": "madmurphy", diff --git a/macros/latex/contrib/msu-thesis/README.md b/macros/latex/contrib/msu-thesis/README.md index ca01a2226f..c49830bee6 100644 --- a/macros/latex/contrib/msu-thesis/README.md +++ b/macros/latex/contrib/msu-thesis/README.md @@ -1,4 +1,4 @@ -# MSU Thesis Class Version 3.4 2022/06/30 +# MSU Thesis Class Version 3.5 2022/08/15 Copyright 2011-2022 by Alan Munn <amunn@msu.edu> diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.cls b/macros/latex/contrib/msu-thesis/msu-thesis.cls index b7d90a5fc7..07e3fee9c3 100644 --- a/macros/latex/contrib/msu-thesis/msu-thesis.cls +++ b/macros/latex/contrib/msu-thesis/msu-thesis.cls @@ -168,11 +168,12 @@ % Version 3.4 2022/06/30 Added a starred version of \makecopyrightpage; % removed colons from captions; % updated documentation on algorithms and captions +% Version 3.5 2022/08/15 Added \setabstractnamespace to allow user control over thesis office idiocy % % Report bugs/problems/questions to <amunn@msu.edu> % -\def\msu@version{3.4} -\def\msu@date{2022/06/30} +\def\msu@version{3.5} +\def\msu@date{2022/08/15} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{msu-thesis}[\msu@date\space Michigan State University Thesis Class version \msu@version] \newif\ifmsu@dissertation\msu@dissertationtrue % added v2.7 boolean for \msu@thesistype @@ -506,6 +507,11 @@ \feetbelowfloat % footnotes will appear below bottom floats % set up abstract and public abstract +% The thesis office is inconsistent in how they measure what they call a "double space". +% Adding a fudge factor that can be changed at the user level (v3.5 8/15/2022) +% We'll set it to 1 for the moment; 0 is what should be 1 double space, but they seem to want more +\newcommand\setabstractnamespace[1]{\gdef\msu@abstractnamespacefactor{#1}} +\setabstractnamespace{1} \renewenvironment{abstract}{% \setlength{\afterchapskip}{\onelineskip} % changed 2020/12/14 again removed manual spacing from 2016 \chapter*{\abstractname} @@ -514,7 +520,7 @@ \begin{center} \MakeUppercase{\thetitle}\plainbreak{1}By\plainbreak{1}\theauthor \end{center} -% \plainbreak{-.5} % changed 2016/06/08 after complaints + \plainbreak{\msu@abstractnamespacefactor} % changed 2016/06/08 after complaints \DoubleSpacing }{\par} % diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.pdf b/macros/latex/contrib/msu-thesis/msu-thesis.pdf Binary files differindex c9487ce6ca..37f508b169 100644 --- a/macros/latex/contrib/msu-thesis/msu-thesis.pdf +++ b/macros/latex/contrib/msu-thesis/msu-thesis.pdf diff --git a/macros/latex/contrib/msu-thesis/msu-thesis.tex b/macros/latex/contrib/msu-thesis/msu-thesis.tex index 6ee63661cd..ae36197dbe 100644 --- a/macros/latex/contrib/msu-thesis/msu-thesis.tex +++ b/macros/latex/contrib/msu-thesis/msu-thesis.tex @@ -2,8 +2,8 @@ \documentclass[11pt]{article} -\def\msuversion{3.4} -\def\msudate{2022/06/30} +\def\msuversion{3.5} +\def\msudate{2022/08/15} \title{\textbf{Using the MSU Thesis Class}} \author{\textbf{Alan Munn}\\Department of Linguistics, Languages, and Cultures\\Michigan State University\\\texttt{\href{mailto:amunn@msu.edu}{amunn@msu.edu}}} \date{Version \msuversion\\\msudate} @@ -14,6 +14,7 @@ \usepackage{enumitem} \usepackage{fancyvrb,listings,url} \usepackage[sf]{titlesec} +\usepackage[section]{placeins} \usepackage[colorlinks=true]{hyperref} @@ -75,7 +76,7 @@ Formatting a dissertation according to a University's thesis requirements is not The MSU Thesis Class is based on the \pkg{memoir} document class. The \pkg{memoir} class is an extensive class that incorporates the functionality of many other packages into it. The class is extensively documented, and the documentation (\pkg{memman.pdf}) should be available with any \TeX\ distribution. I strongly recommend that you familiarize yourself with \pkg{memoir} as you use the present class. \section{Class Options} In addition to any options passed to the \pkg{memoir} class (e.g. |oldfontcommands|; see Section \ref{sec:fonts}, font size), the \pkg{msu-thesis} takes six options: one to specify the type of degree, (see Table~\ref{degrees}), one to enable landscape page numbering, two to enable per-chapter bibliographies and appendices, two to make small adjustments to Table of Contents. If no degree option is specified, a Ph.D. dissertation is assumed. -\begin{table} +\begin{table}[htpb] \centering \begin{tabularx}{.8\textwidth}{>{\ttfamily}lX} \toprule @@ -118,18 +119,34 @@ I also have received inconsistent formatting requirements for per-chapter biblio As of v2.9, the class now supports |10pt|, |11pt| and |12pt| font sizes. The default is |12pt|. If you are using a small font like Times New Roman or equivalent, you should stick to the default. If you are using a larger font like Computer Modern, |11pt| is probably fine. Use |10pt| at your own peril, as I suspect the Thesis Office will not accept it! \section{User commands} -In addition to all the user functionality defined by \pkg{memoir}, the \pkg{msu-thesis} class defines seven new titling commands. -\begin{quote} -\begin{description} -\item[\texttt{\bs maketitlepage}] Makes the main title page for the thesis. -\item[\texttt{\bs fieldofstudy\{\}}] Takes one argument corresponding to your field of study. -\item[\texttt{\bs dedication\{\}}] Takes one argument (should be short), your dedication. -\item[\texttt{\{publicabstract\}}] Environment for the public abstract (unnumbered, uncounted). -\item[\texttt{\bs makecopyrightpage}] Creates the copyright page (use |\makecopyrightpage*| to align the text on the left.) -\item[\texttt{\bs makededicationpage}] Creates the dedication page. -\item[\texttt{\bs makebibliographypage}] Creates the bibliography cover page. -\end{description} -\end{quote} +In addition to all the user functionality defined by \pkg{memoir}, the \pkg{msu-thesis} class defines seven new titling commands, and two “appeasement” commands, i.e., commands to tweak the formatting to appease the the thesis office’s inconsistency. +\begin{table}[htpb] +\centering +\begin{tabularx}{.8\textwidth}{>{\ttfamily}lX} +\toprule +{\bs maketitlepage} & Makes the main title page for the thesis.\\ +{\bs fieldofstudy\{\}} & Takes one argument corresponding to your field of study.\\ +{\bs dedication\{\}} & Takes one argument (should be short), your dedication.\\ +{\{publicabstract\}} & Environment for the public abstract (unnumbered, uncounted).\\ +{\bs makecopyrightpage} & Creates the copyright page (use \texttt{\bs makecopyrightpage*} to align the text on the left.)\\ +{\bs makededicationpage} & Creates the dedication page.\\ +{\bs makebibliographypage} & Creates the bibliography cover page.\\ +\bottomrule +\end{tabularx} +\caption{Class titling commands} +\end{table} + +\begin{table}[htpb] +\centering +\begin{tabularx}{.8\textwidth}{>{\ttfamily}lX} +\toprule +{\bs msucaptiondelim} & Delimiter for floating elements (see section \ref{captiondelim}).\\ +{\bs setabstractnamespace} & Changes spacing after the name in the abstract (see section \ref{abstractspacing}).\\ +\bottomrule +\end{tabularx} +\caption{Appeasement commands} +\end{table} + \section{Using the class} \subsection{Logical parts of the document} @@ -277,8 +294,15 @@ before the contents lists and |\microtypesetup{protrusion=true}| afterwards. Sc \microtypesetup{protrusion=true} \end{lstlisting} \end{quote} +\subsection{Abstracts} +MSU requires you to have an abstract, but you may also have a public abstract, which is weirdly unnumbered and uncounted. + +\subsubsection{Spacing after the author name in the abstract}\label{abstractspacing} +The thesis office is very inconsistent in how it determines what it thinks is a “double space”, and this especially seems to be true after the author name in the the abstract. Because of this, I’ve created a way to change the spacing within the user document so that you can appease the thesis office bureaucrats without reporting an issue to me. + +Use the command |\setabstractnamespace| to change the spacing after the author name in the abstract. This command takes a value typically between 0 and 1 where 0 reduces the space to a single baselineskip, while 1 adds an extra baselineskip. The default is set to 1, but if that’s too large, try 0.5 or 0 as needed. -\subsection{Public abstract} +\subsubsection{Public abstract} If your thesis requires a public abstract, it should go immediately before the regular abstract. Use the |{publicabstract}| environment for this. Please note that you \emph{must} have an abstract even if you also have a public abstract. \subsection{Landscape figures and tables} If you have large figures and tables that must be rotated, you should use the |[lscape]| class option. This enables a pagestyle |lscape| and places the page numbers correctly on the long edge of the page. The option loads the \pkg{pdflscape} package which provides a |landscape| environment to place the landscape figure in. Before the landscape environment, you need to issue a |\clearpage| command and change the pagestyle to |lscape|, and afterwards, change it back to |plain|. Schematically, then, any landscape pages should be created in the following way. @@ -371,10 +395,10 @@ I'm happy to answer emails about formatting issues with the class, especially wh \subsection{Archiving your thesis for the future} Since the current version of the \pkg{msu-thesis} class satisfies the Graduate School requirements at any one time, as these requirements change, you may find that if you need to recompile your thesis after you have graduated that the formatting changes. To avoid this, I would recommend saving an archived version of the \pkg{msu-thesis.cls} file in the same folder as your thesis file. You only need to do this once you have completely finished your thesis however; there's no need to do it during the writing process. \subsection{Major Version history} -Previous versions of \pkg{msu-thesis} (versions 1.0--1.4b) were created for non-electronic submission and should not be used. Versions 1.5--1.6 (the first electronic submission versions) contained a |\makeabstract| command and a separate |msuabstract| environment. These have been removed as of version 1.7. Users who are upgrading from earlier versions to version 1.7 do not need to change these commands however but their use will trigger a warning.) Version 2.0 implemented landscape pages; version 2.1 added support for \pkg{hyperref}. Versions 2.2--2.5 mainly accommodated to the ever changing whims of the MSU Graduate School. Version 2.6 fixed some appendix bugs introduced by the previous whim accommodation. Version 2.7 fixed various small spacing issues, fixed a bug which prevented a new chapter page to be a landscape page, added support for the \pkg{apacite} package, and updated degree options. Version 2.8 fixed some spacing and capitalization issues and added support for the public abstract. Version 2.9 removed subscript/superscript size restrictions, added font size options and made small spacing changes to appease the thesis office. Version 3.0 added full support for per-chapter bibliographies and appendices, and automated bibliography spacing for |natbib| and |biblatex| produced bibliographies. Version 3.1 added support for an |{algorithm}| environment and a list of algorithms to combat incompatibilities with the \pkg{algorithm} and \pkg{algorithm2e} packages. Version 3.2 fixed some lingering problems with per-chapter appendices. Version 3.3 added code to accommodate the insane inconsistencies in formatting requirements that the thesis office requires, including a new contents option which hopefully should never be used, and fixed some numbering problems with per-chapter appendices. Version 3.4 added a starred option to the |\makecopyrightpage| command after complaints about placement. The documentation has also been updated to include more information about caption formatting and removed colons from the default caption format. +Previous versions of \pkg{msu-thesis} (versions 1.0--1.4b) were created for non-electronic submission and should not be used. Versions 1.5--1.6 (the first electronic submission versions) contained a |\makeabstract| command and a separate |msuabstract| environment. These have been removed as of version 1.7. Users who are upgrading from earlier versions to version 1.7 do not need to change these commands however but their use will trigger a warning.) Version 2.0 implemented landscape pages; version 2.1 added support for \pkg{hyperref}. Versions 2.2--2.5 mainly accommodated to the ever changing whims of the MSU Graduate School. Version 2.6 fixed some appendix bugs introduced by the previous whim accommodation. Version 2.7 fixed various small spacing issues, fixed a bug which prevented a new chapter page to be a landscape page, added support for the \pkg{apacite} package, and updated degree options. Version 2.8 fixed some spacing and capitalization issues and added support for the public abstract. Version 2.9 removed subscript/superscript size restrictions, added font size options and made small spacing changes to appease the thesis office. Version 3.0 added full support for per-chapter bibliographies and appendices, and automated bibliography spacing for |natbib| and |biblatex| produced bibliographies. Version 3.1 added support for an |{algorithm}| environment and a list of algorithms to combat incompatibilities with the \pkg{algorithm} and \pkg{algorithm2e} packages. Version 3.2 fixed some lingering problems with per-chapter appendices. Version 3.3 added code to accommodate the insane inconsistencies in formatting requirements that the thesis office requires, including a new contents option which hopefully should never be used, and fixed some numbering problems with per-chapter appendices. Version 3.4 added a starred option to the |\makecopyrightpage| command after complaints about placement. The documentation has also been updated to include more information about caption formatting and removed colons from the default caption format. Version 3.5 added user level way to change the spacing after the author’s name in the abstract, to deal with thesis office inconsistency. \section{Acknowledgements} -Thanks to Lars Madsen, Ulrike Fischer and Peter Wilson for help with setting up parts of the memoir code for versions 1.0--1.4 (now eliminated due to changed requirements). Thanks to Wolfgang Sternefeld for supplying the \pkg{linguex} spacing fix code, Leo Liu for the landscape page numbering code, which greatly simplified my original version, and Florent Chervet for the \pkg{hyperref} code. Thanks also to the following students who have reported problems over the years: Irina Agafonova, Ali Al-jiboory, Julian Blank, Dmitriy Bryndin, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk Jung, Adam Liter, Vanessa Maldonado, William Muir, Alicia Parrish, Neil ver Planck, Giacomo Romanini, William Sands, Adam Soliman, Erik Stitt, Eremey Valetov, Matthew Vincent, Michael Wojcik, Stephen Yowono, Ali Zare, and Yisu Zhou. A special thank you to Non Thongprong who graciously provided a copy of his entire thesis which allowed me to debug some especially subtle spacing inconsistencies. +Thanks to Lars Madsen, Ulrike Fischer and Peter Wilson for help with setting up parts of the memoir code for versions 1.0--1.4 (now eliminated due to changed requirements). Thanks to Wolfgang Sternefeld for supplying the \pkg{linguex} spacing fix code, Leo Liu for the landscape page numbering code, which greatly simplified my original version, and Florent Chervet for the \pkg{hyperref} code. Thanks also to the following students who have reported problems over the years: Irina Agafonova, Ali Al-jiboory, Abubakr Ayesh, Julian Blank, Dmitriy Bryndin, Greg Christian, Kyle Crayne, Ciaron Hamilton, Matt Husband, Changkuk Jung, Adam Liter, Vanessa Maldonado, William Muir, Alicia Parrish, Neil ver Planck, Giacomo Romanini, William Sands, Adam Soliman, Erik Stitt, Eremey Valetov, Matthew Vincent, Michael Wojcik, Stephen Yowono, Ali Zare, and Yisu Zhou. A special thank you to Non Thongprong who graciously provided a copy of his entire thesis which allowed me to debug some especially subtle spacing inconsistencies. \appendix \renewcommand{\thesection}{Appendix \Alph{section}} diff --git a/macros/latex/contrib/pygmentex/pygmentex.sty b/macros/latex/contrib/pygmentex/pygmentex.sty index 60e7bcda30..4e07211490 100644 --- a/macros/latex/contrib/pygmentex/pygmentex.sty +++ b/macros/latex/contrib/pygmentex/pygmentex.sty @@ -2,13 +2,19 @@ \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{pygmentex}[2020/12/21 v0.10 A Pygmentex layer for LaTeX] +\ProvidesPackage{pygmentex}[2022/08/15 v0.11 A Pygmentex layer for LaTeX] + +\newif\ifpygmented@opt@force\pygmented@opt@forcefalse +\DeclareOption{force}{\pygmented@opt@forcetrue} + +\ProcessOptions\relax \RequirePackage{fancyvrb} \RequirePackage{color} \RequirePackage{ifthen} %\RequirePackage[font=small,format=plain,labelfont=bf,up,textfont=it,up]{caption} \RequirePackage{caption} +\RequirePackage{shellesc} \RequirePackage{pgfkeys} \RequirePackage{efbox} \RequirePackage[framemethod=tikz]{mdframed} @@ -117,6 +123,7 @@ colback/.store in = \pygmented@opt@colback, font/.store in = \pygmented@opt@font, % + force/.default = false, texcomments/.default = true, mathescape/.default = true, linenos/.default = true, @@ -383,7 +390,18 @@ } \AtEndDocument{% - \closeout\pygmented@outfile% + \immediate\closeout\pygmented@outfile% + \ifpygmented@opt@force + \typeout{>>>> running pygmentex (option force=true) ...}% + \ShellEscape{pygmentex \jobname.snippets}% + \typeout{>>>> ... done.}% + \else + \IfFileExists{\jobname.pygmented}% + {\typeout{>>>> file \jobname.pygmented exists, not running pygmentex}}% + {\typeout{>>>> no file \jobname.pygmented, running pygmentex ...}% + \ShellEscape{pygmentex \jobname.snippets}% + \typeout{>>>> ... done.}}% + \fi } \endinput diff --git a/macros/latex/contrib/pygmentex/pygmentex_demo.pdf b/macros/latex/contrib/pygmentex/pygmentex_demo.pdf Binary files differindex a444bffd44..73b3171514 100644 --- a/macros/latex/contrib/pygmentex/pygmentex_demo.pdf +++ b/macros/latex/contrib/pygmentex/pygmentex_demo.pdf diff --git a/macros/latex/contrib/pygmentex/pygmentex_demo.tex b/macros/latex/contrib/pygmentex/pygmentex_demo.tex index 5a07f49bed..1b6888022c 100644 --- a/macros/latex/contrib/pygmentex/pygmentex_demo.tex +++ b/macros/latex/contrib/pygmentex/pygmentex_demo.tex @@ -1,5 +1,4 @@ \documentclass[10pt,a4paper]{article} - %\usepackage[margin=13mm]{geometry} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} @@ -24,7 +23,10 @@ \begin{document} \title{Testing the Pygmen\TeX{} package} -\author{José Romildo Malaquias} +\author{José Romildo Malaquias\\ +\href{mailto:malaquias@ufop.edu.br}{malaquias@ufop.edu.br}\\ +\href{https://bitbucket.org/romildo/pygmentex/src/master/}{bitbucket.org/romildo/pygmentex} +} \maketitle \section{The Pygmen\TeX{} package} @@ -42,7 +44,7 @@ listings in a \LaTeX{} document: \begin{itemize} \item the \verb|pygmented| environment typesets its contents as a source code listing, - \item the \verb|includepygmented| command typesets the contents of a + \item the \verb|\inputpygmented| command typesets the contents of a file, including the result in the \LaTeX{} document, and \item the \verb|\pyginline| command typesets its contents, keeping the result in the same line. @@ -53,35 +55,49 @@ many ways. Read the remaining of this document to have an idea of what the package is capable of. +\section{Requirements} + +Current versions of Pygmen\TeX require Python version 3. Earlier versions +required Python version 2. All versions require the Python Pygments library. + \section{How to use the package} -In order to use the package, start by putting +\paragraph{1.} Add the package to the document preamble. \begin{verbatim} \usepackage{pygmentex} \end{verbatim} -in the preamble of the document. -Use the environment or commands mentioned previously to include source +\paragraph{2.} Use the environment or commands mentioned previously to include source code listings on your document. -When compiling the document (with \texttt{pdflatex}, for instance), all -the source code listings in the document wil be collected and saved in a -temporary file with the extension \texttt{.snippets} in its name. Then -the auxiliary program \texttt{pygmentex} (a Python application -distributed with the Pygmen\TeX{} package) should be run taking this -file as input. It will produce another temporary file with the extension +\paragraph{3.} Compile using \texttt{pdflatex}.\footnote{Other \LaTeX compilers +may also work but have not been tested by the author.} +All the source code listings in the document wil be collected and saved in a +temporary file with the extension \texttt{.snippets} in its name. + +\paragraph{4.} Run \texttt{pygmentex documentname.snippets}. +The python application \texttt{pygmentex} is +distributed with the Pygmen\TeX{} package). +It will produce another temporary file with the extension \texttt{.pygmented}, containing \LaTeX{} code for the code listings previously collected. The next time the document is compiled, they are included to produce the final typeset document. -The programming language of the listing code can be specified using the -\verb|lang| option. +\paragraph{5.} Rerun \texttt{pdflatex} as usual. -To get a list of all available languages, execute the following command -on the command line: +\paragraph{Note.} Running the external python application +\texttt{pygmentex} can be done automatically from withing \LaTeX{} if +the optional argument \texttt{--shell-escape} is used. + +With \begin{verbatim} -$ pygmentize -L lexers +pdflatex --shell-escape <file> \end{verbatim} +the external run of \texttt{pygmentex} is not needed. It will be run +automatically at the end of the document compilation. + +There is a package option \texttt{force} that will force running +\texttt{pygmentex} every time the document is compiled. \section{First examples} @@ -122,7 +138,18 @@ Next you can see a Java program to calculate the factorial of a number. \inputpygmented[lang=java]{Factorial.java} \end{Example} -\section{Choosing different Pygments styles} +\section{Options} +\subsection{\texttt{lang}} +The programming language of the listing code can be specified using the +\verb|lang| option. + +To get a list of all available languages, execute the following command +on the command line: +\begin{verbatim} +$ pygmentize -L lexers +\end{verbatim} + +\subsection{\texttt{sty}} Instead of using the default style you may choose another stylesheet provided by Pygments by its name using the \verb|sty| option. @@ -142,7 +169,7 @@ As examples you can see a C program typeset with different styles. \noindent \begin{minipage}[t]{0.49\linewidth} \begin{pygmented}[lang=c,gobble=4,sty=murphy] - #include<stdio.h> + #include<stdio.h> main() { int n; printf("Enter a number: "); @@ -158,7 +185,7 @@ As examples you can see a C program typeset with different styles. \hfil \begin{minipage}[t]{0.49\linewidth} \begin{pygmented}[lang=c,gobble=4,sty=trac] - #include<stdio.h> + #include<stdio.h> main() { int n; printf("Enter a number: "); @@ -173,7 +200,7 @@ As examples you can see a C program typeset with different styles. \end{minipage} \end{Example} -\section{Choosing a font} +\subsection{\texttt{font}} The value of the option \verb|font| is typeset before the content of the listing. Usualy it is used to specify a font to be used. See the @@ -193,23 +220,23 @@ object bigint extends Application { \end{pygmented} \end{Example} -\section{Changing the background color} +\subsection{\texttt{colback}} The option \verb|colback| can be used to choose a background color, as is shown in the folowing example. \begin{Example} \begin{pygmented}[lang=fsharp,colback=green!25] -let rec factorial n = - if n = 0 - then 1 +let rec factorial n = + if n = 0 + then 1 else n * factorial (n - 1) System.Console.WriteLine(factorial anInt) \end{pygmented} \end{Example} -\section{Supressing initial characters} +\subsection{\texttt{gobble}} The option \verb|gobble| specifies the number of characters to suppress at the beginning of each line (up to a maximum of 9). This is mainly @@ -232,7 +259,7 @@ A code snippet inside a minipage: \end{Example} -\section{Size of tabulator} +\subsection{\texttt{tabsize}} The option \verb|tabsize| specifies the number of of spaces given by a tab character (Default: 8). @@ -254,7 +281,7 @@ tab character (Default: 8). \end{pygmented} -\section{Numbering lines} +\subsection{\texttt{linenos}, \texttt{linenostart}, \texttt{linenostep}, \texttt{linenosep}} The lines of a listing can be numbered. The followig options control numbering of lines. @@ -277,7 +304,7 @@ factorial of a number. ;; Building a list of squares from 0 to 9. ;; Note: loop is simply an arbitrary symbol used as ;; a label. Any symbol will do. - + (define (list-of-squares n) (let loop ((i n) (res '())) (if (< i 0) @@ -286,7 +313,7 @@ factorial of a number. \end{pygmented} \end{Example} -\section{Captioning} +\subsection{\texttt{caption} and \texttt{label}} The option \verb|caption| can be used to set a caption for the listing. The option \verb|label| allows the assignment of a label to the listing. @@ -314,7 +341,7 @@ int main() Listing \ref{lst:test} is a C++ program. \end{Example} -\section{Escaping to \LaTeX{} inside a code snippet} +\subsection{\texttt{texcomments}, \texttt{mathescape} and \texttt{escapeinside}} The option \verb|texcomments|, if set to \texttt{true}, enables \LaTeX{} comment lines. That is, LaTex markup in comment tokens is not escaped @@ -364,13 +391,13 @@ else \end{Example} -\section{Enclosing command and environment} +\subsection{\texttt{inline method} and \texttt{boxing method}} After being prettified by Pygments, the listings are enclosed in a command (for \verb|\pyginline|) or in an environment (for -\verb|pygmented| and \verb|includepygmented|). By default +\verb|pygmented| and \verb|inputpygmented|). By default \verb|\pyginline| uses the command \verb|\efbox| from the \texttt{efbox} -package, and \verb|pygmented| and \verb|includepygmented| use the +package, and \verb|pygmented| and \verb|inputpygmented| use the environment \verb|mdframed| from the \texttt{mdframed} package. The enclosing command or environment should be configurable using a list @@ -388,7 +415,7 @@ The enclosing command for \end{Example} The enclosing environment for \verb|pygmented| and -\verb|includepygmented| can be changed with the option +\verb|inputpygmented| can be changed with the option \verb|boxing method|. For instance, here is a hello world program in C\#, enclosed in a \verb|tcolorbox| environment: @@ -461,7 +488,7 @@ END \begin{pygmented}[test, lang=vbnet] Module Module1 - Sub Main() + Sub Main() Console.WriteLine("Hello, world!") End Sub End Module @@ -595,7 +622,7 @@ def qsort(xs: List[Int]): List[Int] = } \end{pygmented} \lipsum[32] - + \item[Another item] \lipsum[33] \begin{pygmented}[lang=lua,colback=yellow] function entry0 (o) @@ -704,9 +731,9 @@ int main(int argc, char** argv) { /* This program prints a hello world message to the console. */ - + import std.stdio; - + void main() { writeln("Hello, World!"); @@ -725,7 +752,7 @@ The followig example uses \texttt{mdframed} to typeset the code listing. \begin{pygmented}[boxing method=mdframed,lang=ada,style=exampledefault] with Ada.Text_IO; - + procedure Hello_World is use Ada.Text_IO; begin @@ -739,7 +766,7 @@ end; \begin{pygmented}[boxing method=mdframed,lang=pascal,style=exampledefault,frametitle={Saying \emph{hello} from Pascal}] program HelloWorld; - + begin WriteLn('Hello, world!'); end. @@ -814,9 +841,9 @@ END Hello. \begin{pygmented}[boxing method=mdframed,lang=go,style=exercisestyle] // hello world in 'go' package main - + import "fmt" - + func main() { fmt.Println("Hello, world!") } @@ -827,7 +854,7 @@ func main() { #import <stdio.h> #import <Foundation/Foundation.h> - + int main(void) { NSLog(@"Hello, world!\n"); @@ -853,6 +880,11 @@ int main(int argc, char **argv) { } \end{pygmented} +\section{Debugging} +Paths given to \verb|\inputpygmented| should be relative to the top level project +directory, not to the file that contains the command (if that file is in a +subdirectory). Pygmen\TeX generates only a single top-level \texttt{.snippets} file, +and paths are not munged to account for code in subdirectories. \section{Conclusion} diff --git a/macros/latex/contrib/pygmentex/pygmentex_demo_2.pdf b/macros/latex/contrib/pygmentex/pygmentex_demo_2.pdf Binary files differnew file mode 100644 index 0000000000..b824f9695f --- /dev/null +++ b/macros/latex/contrib/pygmentex/pygmentex_demo_2.pdf diff --git a/macros/latex/contrib/pygmentex/pygmentex_demo_2.tex b/macros/latex/contrib/pygmentex/pygmentex_demo_2.tex new file mode 100644 index 0000000000..fc684fa615 --- /dev/null +++ b/macros/latex/contrib/pygmentex/pygmentex_demo_2.tex @@ -0,0 +1,23 @@ +\documentclass{article} +\usepackage[T1]{fontenc} +\usepackage[scaled=0.85]{beramono} +\usepackage[force]{pygmentex} + +\begin{document} + +This is my C program: + +\begin{pygmented}[lang=c] +#include <stdio.h> +int main(void) +{ + int a, b, c; + printf("Enter two numbers to add: "); + scanf("%d%d", &a, &b); + c = a + b; + printf("Sum of entered numbers = %d\n", c); + return 0; +} +\end{pygmented} + +\end{document} diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl index 66fa8aa5d0..b82571c1d5 100644 --- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl @@ -47,7 +47,6 @@ $mirrors = { 'Korea' => { 'http://ftp.ktug.org/tex-archive/' => 1, 'https://cran.asia/tex/' => 1, - 'https://ftp.harukasan.org/CTAN/' => 1, 'https://ftp.kaist.ac.kr/pub/tex-archive/' => 1, 'https://mirror.kakao.com/CTAN/' => 1, 'https://mirror.navercorp.com/CTAN/' => 1, @@ -112,6 +111,7 @@ $mirrors = { 'https://ftp.tu-chemnitz.de/pub/tex/' => 1, 'https://mirror.clientvps.com/CTAN/' => 1, 'https://mirror.dogado.de/tex-archive/' => 1, + 'https://mirror.informatik.hs-fulda.de/tex-archive/' => 1, 'https://mirror.physik.tu-berlin.de/pub/CTAN/' => 1, 'https://packages.oth-regensburg.de/ctan/' => 1, }, diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index 4111af47b8..a2585dc691 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb @@ -26,7 +26,7 @@ depend container_split_src_files/1 depend frozen/0 depend minrelease/2016 depend release/2022 -depend revision/64124 +depend revision/64131 name 00texlive.image category TLCore @@ -4611,7 +4611,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 64121 +revision 64126 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 @@ -188986,16 +188986,16 @@ catalogue-version 0.1.9 name lt3luabridge category Package -revision 64077 +revision 64128 shortdesc Execute Lua code in any TeX engine that exposes the shell relocated 1 longdesc This is an expl3(-generic) package for plain TeX, LaTeX, and longdesc ConTeXt that allows you to execute Lua code in LuaTeX or any longdesc other TeX engine that exposes the shell. -containersize 2952 -containerchecksum b29cf24ff77522ed015c30c1a939a97225c78a6e623d07e0a6de9598926e25db6ad97753e7d8234f11b2ed72e1d919de755a35a62ba8be101dff1492a4d82e5e -doccontainersize 485328 -doccontainerchecksum 64c65ff7e0370a564b02abd10e49954686be1cfe76ee6ddf33a59de8e4eb74e9a7b8aa9178f1718166e750652875dddef952f9afbd17211c72629488f15720fe +containersize 2948 +containerchecksum dfa6b8977a39aefac3a609f6b72931eaf6110d63b248cf450a62022053f55457d062873de810df92cbd958267147fa6bb003494ae11527b4903856fd20e1137b +doccontainersize 485896 +doccontainerchecksum 0492658bdbaf8e474f52ebe05ed1e1f9b3d133a03740fbe0b5d10d061872bdaff189e9308c6f184d4c766acb3725fd8775622c2d35ab05c3d460c78a25571b73 docfiles size=131 RELOC/doc/generic/lt3luabridge/LICENSE RELOC/doc/generic/lt3luabridge/README.md details="Readme" @@ -189005,7 +189005,7 @@ docfiles size=131 RELOC/doc/generic/lt3luabridge/example.plaintex RELOC/doc/generic/lt3luabridge/lt3luabridge.pdf details="Package documentation" srccontainersize 4032 -srccontainerchecksum 70b832168f82f907fb057bd9cfeea81327da1ac5c07e19b125cab11a927e0051fca716caf7ca5d9973c0149dc4a9e90d6bd2c07feb2ffe357868dc8bc88dccfd +srccontainerchecksum e0c999e49f01a1ff0a402c4d2bb28393cbc852c0252c6daf5ec7f252152e430dc9d4fa2a169060938698b4309e7f1061fc10e299a1afebbe26251ec42b35f819 srcfiles size=5 RELOC/source/generic/lt3luabridge/lt3luabridge.dtx RELOC/source/generic/lt3luabridge/lt3luabridge.ins @@ -189020,7 +189020,7 @@ catalogue-contact-repository https://github.com/witiko/lt3luabridge catalogue-ctan /macros/generic/lt3luabridge catalogue-license lppl1.3c catalogue-topics exec-foreign expl3 -catalogue-version 2.0.0 +catalogue-version 2.0.1 name lt3rawobjects category Package @@ -213789,7 +213789,7 @@ catalogue-topics psychology journalpub bibtex-sty apa name msu-thesis category Package -revision 63777 +revision 64129 shortdesc Class for Michigan State University Master's and PhD theses relocated 1 longdesc This is a class file for producing dissertations and theses @@ -213799,11 +213799,11 @@ longdesc Dissertations. The class should meet all current requirements longdesc and is updated whenever the university guidelines change. The longdesc class is based on the memoir document class, and inherits the longdesc functionality of that class. -containersize 11208 -containerchecksum 39743d51ecb3412dd2d75589bb710b20f9e126f9da30d082022d959c0597092f8f26498ed7ffc558c7de7ebcb4a66bad8de3d3ef4d4bfa6ad8ca633689bd4eea -doccontainersize 417108 -doccontainerchecksum c9508a5966c50ff6d49e3788dcc8460da329c170c5750652353245d03995f13896239c2b3ccad7aadfc279aa38490ea9bcf5c84751b11be97f554739588c98e0 -docfiles size=118 +containersize 11356 +containerchecksum 3480a702717e1e3295352086426bbfd69bb361d12576074e07cffb2ff3f3407ba8352a8ce2d4129dc75dce9a918b5511026f0b459d7b4c9afe03839956e483bb +doccontainersize 420604 +doccontainerchecksum 891f5c262526e48c9cd62cb2fcbf6dcfe82f2ecec4f330ca1244a5a77e80ad7787f36e88de057def6c6a1d94472f383949582d909e2cae4ffeab79992e54941f +docfiles size=119 RELOC/doc/latex/msu-thesis/README.md details="Readme" RELOC/doc/latex/msu-thesis/msu-thesis.pdf details="Package documentation" RELOC/doc/latex/msu-thesis/msu-thesis.tex @@ -213818,7 +213818,7 @@ catalogue-contact-repository https://github.com/amunn/msu-thesis catalogue-ctan /macros/latex/contrib/msu-thesis catalogue-license lppl1.3 catalogue-topics class dissertation doc-templ std-conform -catalogue-version 3.4 +catalogue-version 3.5 name mtgreek category Package @@ -251852,7 +251852,7 @@ catalogue-version 1.0 name proflycee category Package -revision 64090 +revision 64130 shortdesc A LaTeX package for French maths teachers in high school relocated 1 longdesc This package provides some commands to help French mathematics @@ -251861,11 +251861,11 @@ longdesc create splines with "derivative control"; \paramCF and \ligneCF longdesc in order to create an xcas-windows-like; \envconsolepythontex longdesc and \envcodepythontex to create code presentation and code longdesc execution with pythontex. -containersize 12680 -containerchecksum 69bccc0696621835bfaf0371da9d72bb113eead0c4f0216a03c1296429aad4286af0f6b96b76f1da1d67dbd82efab5e5383b687a8e8ed38d58c88742227c51c9 -doccontainersize 795584 -doccontainerchecksum e89ecd6b264040543700578f9027ba43e9444d08e090536f98cd731f24b240f9dd91390906e8da91e4f5093a2cf2fb1d42673f400c56931bcf39cf9b080cbc68 -docfiles size=230 +containersize 14512 +containerchecksum a77224a98f26546f26199170335b1b1310d339487886047b75917058db3e13ebb2844c0658d0657f5822c440d5370045951d18c2eab983e8c66e8436a9521eca +doccontainersize 855220 +doccontainerchecksum 2c58f9fdb4a174b8e763432ea7cfe7e1cf6ca7d28259032c6077cce93f5adcd3cd9cf8eecebf18dbc45a8fc5416873f81ef85a32a0eeb9aba530c6139332e24f +docfiles size=249 RELOC/doc/latex/proflycee/ProfLycee-doc.pdf details="Package documentation" language="fr" RELOC/doc/latex/proflycee/ProfLycee-doc.tex RELOC/doc/latex/proflycee/README.md details="Readme" @@ -251878,7 +251878,7 @@ docfiles size=230 RELOC/doc/latex/proflycee/pl-doc-stats_c2.png RELOC/doc/latex/proflycee/pl-doc-stats_d.png RELOC/doc/latex/proflycee/pl-doc-stats_e.png -runfiles size=13 +runfiles size=16 RELOC/tex/latex/proflycee/ProfLycee.sty catalogue-also profcollege catalogue-contact-bugs https://github.com/cpierquet/ProfLycee/issues @@ -251886,7 +251886,7 @@ catalogue-contact-repository https://github.com/cpierquet/ProfLycee catalogue-ctan /macros/latex/contrib/proflycee catalogue-license lppl1.3c catalogue-topics maths french teaching -catalogue-version 1.2 +catalogue-version 1.2.2 name program category Package @@ -260733,7 +260733,7 @@ catalogue-version 0.6 name pygmentex category Package -revision 57190 +revision 64131 shortdesc Use Pygments to format code listings in documents longdesc PygmenTeX is a Python-based LaTeX package that can be used for longdesc typesetting code listings in a LaTeX document using Pygments. @@ -260741,11 +260741,11 @@ longdesc Pygments is a generic syntax highlighter for general use in all longdesc kinds of software such as forum systems, wikis or other longdesc applications that need to prettify source code. depend pygmentex.ARCH -containersize 7420 -containerchecksum 6dc3ca792953c15b2777457b62a08c8d3b0275df8f8da9442590f61b64cc0640ddeebd7190375dfdb8d4bbc8582ed6da5ab7035bb0ff6617a27c2ddc0824d523 -doccontainersize 594336 -doccontainerchecksum a4ef61d97ea11b6595ab94b68697091b88d4b1b83a150f7faf30863ef91e7d1681662410d7c45bad9426644b554fa078979d0a3b3c8baa11a6714d49b811f5d1 -docfiles size=173 +containersize 7560 +containerchecksum 097a1eec7e6a969b0c2aef3915d8231d7e6b6c234abe79caa7f7325df22f4976d1bcf2b111c87c9b457250a2c89b5b0a29afd7deb81ee309753901768fb3fd08 +doccontainersize 715568 +doccontainerchecksum 050bf2576a7305eda104ac928cb332e6fd1437e1852726442694fb7ec88ebe7fb9e7e54987a13b76aa103afcc446019a57b8e011f4e638469ea34a9788a8e7cf +docfiles size=206 texmf-dist/doc/latex/pygmentex/Factorial.java texmf-dist/doc/latex/pygmentex/README details="Readme" texmf-dist/doc/latex/pygmentex/blueshade.png @@ -260757,13 +260757,15 @@ docfiles size=173 texmf-dist/doc/latex/pygmentex/pygmentex_demo.pdf details="Package documentation" texmf-dist/doc/latex/pygmentex/pygmentex_demo.py texmf-dist/doc/latex/pygmentex/pygmentex_demo.tex + texmf-dist/doc/latex/pygmentex/pygmentex_demo_2.pdf details="Small example of use" + texmf-dist/doc/latex/pygmentex/pygmentex_demo_2.tex runfiles size=7 texmf-dist/scripts/pygmentex/pygmentex.py texmf-dist/tex/latex/pygmentex/pygmentex.sty catalogue-ctan /macros/latex/contrib/pygmentex catalogue-license lppl1.3 catalogue-topics listing synt-hlt -catalogue-version 0.10 +catalogue-version 0.11 name pygmentex.aarch64-linux category Package @@ -306241,7 +306243,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 64121 +revision 64126 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. @@ -306250,9 +306252,9 @@ depend texlive.infra execute addMap mathpple.map postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat containersize 113524 -containerchecksum 722391d59dbf5e74ac76f27618ca97609e7752730f31a8d6127ffb7e577186d36938784f619e4e051b07ebc610d26e9e8083e54510b5084499deb1f2c1bdc22a -doccontainersize 419316 -doccontainerchecksum 12ce43adb28a821a4084394880afb09801a00e59b556b7f8ea9b631408e38baee8c2e0cd35bd1e640660589e23242c7d92ffe50cacc5e22ee80340acecc52fe3 +containerchecksum 391bad7eb0dbf7053974a72daecccf5311041d2185131c4e3db261530ed66b28b3c20f499069ee673734c2a4d425004557a9b416be47c0acc627a39112ac7b2c +doccontainersize 419496 +doccontainerchecksum fa4ee4c36d9ffc4e51a6b88f301771d8facf2b2eb05c1d640999f66a413cae5347bd2b7db255ea0801fd2b2085ad8d8033b8bdc47fd49088d1aba52baf4d99ec docfiles size=517 doc.html texmf-dist/doc/man/man1/fmtutil-sys.1 diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 index 56310326d7..5b41339df9 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -297baec7b5e7fa69adc82140813379fb texlive.tlpdb +a338e96274b2a3ad30e229410cbb035a texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index 5dc93d77e3..d6d580721b 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -dc22367527633971e3e65763d147b4d171a85bb9eccb0b13e1bf7f3a4b79cc41a8f7658e4fa95e201590fcc271380fa47c2facc9a5687b5e2538b41bc9fcd07f texlive.tlpdb +227fc6a762db327c6276df4ec58c0c3a458ecaf15bc833f885dc5b5b06a2b2c839cae91a0704be1a58f7932ac931f134a7666d53e8f8971f34c4c69bf1cb34e5 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index 7b6d7b50bc..01c1203d3a 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc @@ -1,10 +1,10 @@ -----BEGIN PGP SIGNATURE----- -iQEcBAEBCgAGBQJi+tywAAoJEEzhh34ZQ4xwXDoIAK7rg9z1MNUOgu+FAIvNa4QO -j9UbOglU1DIdVciBbGIMFC6OESWGYZJnzY3KajBhRSCp4DqgIpM7TPUPFL+HKDqN -dE8t2S/dV2mvKvPBBiWZA1Y5ZAf5W7CzUDVvkwKhB7pRYMJNsMcICbnK3N8Wn/Lq -mZ5dhgsyO8KtQIVd5Cj9hvSfdgtYcxB+Oc1G5i6ystGGdGB9RQ/Nk6u38bmfCCU/ -8HPnw7I9+qqno837HAZimd27ok7K2xHKvDx6/xpVOyKbmULQC4p8XuIsoZFTY+V8 -cLGBnx0FRmROmu3Gj6sFO6i2GtFhWWPNg0pfrNKYXjmnHWlv/TkuAJlhvz6+FzI= -=YdZF +iQEcBAEBCgAGBQJi/C3WAAoJEEzhh34ZQ4xwH/AH/2VniPW35y9gERCVo5DuqQI0 +F6w3/K0P9Qlm87mwtE5aGc4F4cE4yRhS+u9tmkDgYKPGhs0p0oGusoeljVsULYsk ++9THw0H2T14eivZxKHdsJrEwUdLrykKzDMMUmeRcSVF82vTJJHj9wLo8lL7iJKVP +tZAsx9Vw2ysIIdOpAM4/KCvxqhhQYdaWKgKCV0b+GzJQdDDwqxbPpsgzF+wwyl0p +KppMbAV/2nOJ9m6PSk7GMlNIsyCW06Q/pQjLhZ7Q2GfJ0xTAsYDRXS+aOLaVH4O1 +7Ws1qUxS2FAc4pqGvckRsQJbcnLWzrRrXcnxEjuXwPsf5nrh7sBNiyN9Lq71Gz0= +=bKkK -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz Binary files differindex 7296f25dc0..08ba6c5cb4 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini index a0e32589da..66a83279d6 100644 --- a/systems/win32/miktex/tm/packages/next/pr.ini +++ b/systems/win32/miktex/tm/packages/next/pr.ini @@ -1,13 +1,13 @@ [repository]
-date=1660594711
+date=1660681058
lastupd=miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-x64-2.9 miktex-cjkutils-bin-x64-2.9 miktex-console-bin-x64-2.9 miktex-curl-bin-x64-2.9 miktex-cweb-bin-x64-2.9 miktex-devnag-bin-x64-2.9 miktex-doc miktex-dvicopy-bin-x64-2.9 miktex-dvipdfmx-bin-x64-2.9 miktex-dvipng-bin-x64-2.9 miktex-dvips-bin-x64-2.9
-lstdigest=81e18a37437a75c6469f0217addf1752
+lstdigest=43525d898f66a342cea5529128687999
numpkg=5869
relstate=next
-version=8262
+version=8263
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: izqGeO6pxr4WEsv9UbaEnXterKTJNhcsEpDjTv6KJH6wJHEQkjaWstveMImvdBq5Klri+4FjW8wELUL0KASAfYeufzm4lsZQQIUljBap60614eadpT5JzWEtTfEnRkg7t/rkT1P+NaElBgfe3co0suuMzjsSCxh1ftGfoed7m4glNg1ROea7kkPtLvQaqztajUfj5JvwAjxGQ1EVvsRmMFxy6eLAFNtBXKQG8BS79SH0PYdL8ZCcYugSs0zJWTb2YNdPZrXVYIumpAnyLEy8GKiGankDv5hmtaVS5v6WNmHuOlfx7ylpJLKmjQZxPhv5Yn4TxwePqf2Df3/ruYrP8g==
+;;;; signature/miktex: KQv88hphZIFzTubOB2W3lkrEN+2WckA7u18KGHZAtYugdsGzD0yzSf1v+F1AwrqEbcsCjWNvYUQlTD+leGjQn1HQvVjfmqDN4gMsHLlPm/blpL9P92zA+Q84SztvdcdjFwJHiFuACzgiiHuHFBlrBu14nALqJoYLoAoXaA64GfZZYsyWuIs3yRUPuhiUVPeojbz0eF0jdHtIozTjfq6dz1ca0cP5MXWbjqOHo4wCtM3wGsmG3aecdInnAx/6r+DK8n+fIaFER3XHWOPwWOwqXJqNl00mcLzNY3ehRASuPlKUrozaMcNtkjbK+YBqrhA7gc0a+spL0SxQ+PSc0EWFpA==
;;;;-----END MIKTEX SIGNATURE-----
diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini index c508b1b6fe..aa4f805daf 100644 --- a/systems/win32/miktex/tm/packages/pr.ini +++ b/systems/win32/miktex/tm/packages/pr.ini @@ -1,13 +1,13 @@ [repository]
-date=1660594308
+date=1660680701
lastupd=asymptote create-theorem create-theorem__doc create-theorem__source easybook easybook__doc easybook__source exam-zh exam-zh__doc exam-zh__source ffcode ffcode__doc ffcode__source fixdif fixdif__doc fixdif__source hereapplies hereapplies__doc hereapplies__source media4svg
-lstdigest=cbfa8862155abe712878a49e62a95c7c
+lstdigest=f29b21145f6f5a3a718165a09a51f346
numpkg=5869
relstate=stable
-version=8262
+version=8263
;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows.
;;;;-----BEGIN MIKTEX SIGNATURE-----
-;;;; signature/miktex: Txpu6IEBKcEdzHk2kJ4LMvlJcZX2ZACyCZBHzK6jfYD1EtlXGWk3Hyjs7HnVK0jwIJ2n3NRRmeN4G+BjtCyCME1K5ILjoQ6tpfkYsBkvjxAYRxQyeXM6AI2JF8GQA69K2uyjUmKKmiLdjSabFsi/1GVQJV5HhH6kGmv9vKZWXph4+chuTGD8diZxobN1WylyEHYCZlGVSsXSpxkS03lcHzxyGq65J2+eg+yiSDoryDxYfFZ7pkE3VdGKesGxYth4hRqaJ0KUQZgZRCBPC02dCWqj54S0cCdxLP1Z1BdutKE49qkoTcAH5HWVXDlSoc/MJrGXdkQ1GulyFfnKtoCgtA==
+;;;; signature/miktex: EFy0qFxCVgZTozIqNsXVHnfMAuWChVVGtzK6Y6QkX0XqT7WvCvZcjA7FUO2/5qDzY0FXU+bfdQLCMggH/OQveOrPcpadAPZ0NP+siNkHWvZd1gIm5iMuF1OcF85+td10Sp6cT6dDZ+RYPKHDXrnvxB+nG9Uq2H1Rq9x/asT/NVQDzl7V7OUdMnxi1SHROfqSPGG3GbZ3CCM0HLOfU8dWcKDaCXPLzheMNvyd+0V7ouf+jz924YUSi0nthJnqEpbRejjaM7akJfeje7PldFaqicT0m7fjhHv13Ijt6u5qd+/qach8j7D29/cECk48ISWaW254eRoRsLMDrjWHrXHE5g==
;;;;-----END MIKTEX SIGNATURE-----
@@ -2,4 +2,4 @@ # The source CTAN of this site's material: dante.ctan.org # The year-month-day-hour-minute of this site's material: -2022-08-16-02-02 +2022-08-17-02-02 |