diff options
32 files changed, 2982 insertions, 414 deletions
diff --git a/FILES.byname b/FILES.byname index 2aed2d3a93..fb18ea08c6 100644 --- a/FILES.byname +++ b/FILES.byname @@ -2058,12 +2058,12 @@ 2023/10/05 | 1710 | biblio/citation-style-language/README.md 2023/10/05 | 12878 | biblio/citation-style-language/vancouver.csl 2023/10/05 | 4531754 | biblio/citation-style-language.zip -2023/10/17 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2023/10/18 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx 2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx -2023/10/17 | 2819463 | biblio/ctan-bibdata/ctan.bib -2023/10/17 | 3720159 | biblio/ctan-bibdata/ctan.pdf +2023/10/18 | 2819461 | biblio/ctan-bibdata/ctan.bib +2023/10/18 | 3719961 | biblio/ctan-bibdata/ctan.pdf 2023/01/16 | 1489 | biblio/ctan-bibdata/README -2023/10/17 | 4123335 | biblio/ctan-bibdata.zip +2023/10/18 | 4123225 | biblio/ctan-bibdata.zip 2023/02/23 | 3126 | biblio/pbibtex/pbibtex-base/cpp.awk 2023/02/23 | 1009 | biblio/pbibtex/pbibtex-base/generate.sh 2023/02/23 | 22362 | biblio/pbibtex/pbibtex-base/jabbrv.bst @@ -5423,7 +5423,7 @@ 1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp 1990/10/02 | 812 | dviware/vutex/vaxvms.ins 1990/10/02 | 127576 | dviware/vutex/vutex.web -2023/10/17 | 179017 | FILES.last07days +2023/10/18 | 85647 | 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 @@ -160385,11 +160385,11 @@ 2021/06/22 | 102511 | graphics/pgf/contrib/nndraw/nndraw.pdf 2021/06/22 | 1320 | graphics/pgf/contrib/nndraw/README 2021/06/22 | 105975 | graphics/pgf/contrib/nndraw.zip -2023/05/22 | 423840 | graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf -2023/05/22 | 33748 | graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex +2023/10/18 | 501125 | graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf +2023/10/18 | 38283 | graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex 2023/03/02 | 414 | graphics/pgf/contrib/outilsgeomtikz/README.md -2023/05/22 | 30671 | graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty -2023/05/22 | 426966 | graphics/pgf/contrib/outilsgeomtikz.zip +2023/10/18 | 35798 | graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty +2023/10/18 | 505320 | graphics/pgf/contrib/outilsgeomtikz.zip 2023/09/10 | 12246 | graphics/pgf/contrib/papiergurvan/doc/BelleAllure.pdf 2023/09/11 | 33219 | graphics/pgf/contrib/papiergurvan/doc/PapierGurvan-BelleAllure-A4.pdf 2023/09/11 | 2529 | graphics/pgf/contrib/papiergurvan/doc/PapierGurvan-BelleAllure-A4.tex @@ -234608,15 +234608,15 @@ 2023/01/02 | 9215 | macros/latex/contrib/proflycee/doc/graphics/pl-solve_b.png 2023/01/02 | 10175 | macros/latex/contrib/proflycee/doc/graphics/pl-solve_c.png 2023/01/02 | 10145 | macros/latex/contrib/proflycee/doc/graphics/pl-solve_d.png -2023/10/08 | 1153426 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf -2023/10/08 | 314511 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex +2023/10/18 | 1259752 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf +2023/10/18 | 319680 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex 2023/09/27 | 59868 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.pdf 2023/09/27 | 6908 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pyluatex.tex 2023/09/17 | 41175 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.pdf 2023/09/17 | 5435 | macros/latex/contrib/proflycee/doc/ProfLycee-exemples-pythontex.tex -2023/10/08 | 529 | macros/latex/contrib/proflycee/doc/testscript.py +2023/10/18 | 529 | macros/latex/contrib/proflycee/doc/testscript.py 2022/08/10 | 439 | macros/latex/contrib/proflycee/README.md -2023/10/06 | 7746 | macros/latex/contrib/proflycee/tex/ProfLycee.sty +2023/10/18 | 7793 | macros/latex/contrib/proflycee/tex/ProfLycee.sty 2023/05/18 | 4196 | macros/latex/contrib/proflycee/tex/proflycee-tools-aleatoire.tex 2023/05/14 | 22505 | macros/latex/contrib/proflycee/tex/proflycee-tools-analyse.tex 2023/10/08 | 25839 | macros/latex/contrib/proflycee/tex/proflycee-tools-arithm.tex @@ -234628,11 +234628,11 @@ 2023/09/30 | 7349 | macros/latex/contrib/proflycee/tex/proflycee-tools-piton.tex 2023/10/08 | 35636 | macros/latex/contrib/proflycee/tex/proflycee-tools-probas.tex 2023/09/17 | 6352 | macros/latex/contrib/proflycee/tex/proflycee-tools-pythontex.tex -2023/08/25 | 8967 | macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex +2023/10/18 | 12124 | macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex 2023/06/03 | 17918 | macros/latex/contrib/proflycee/tex/proflycee-tools-stats.tex 2023/04/13 | 6608 | macros/latex/contrib/proflycee/tex/proflycee-tools-suites.tex 2023/05/03 | 42723 | macros/latex/contrib/proflycee/tex/proflycee-tools-trigo.tex -2023/10/08 | 1495919 | macros/latex/contrib/proflycee.zip +2023/10/18 | 1602659 | macros/latex/contrib/proflycee.zip 2023/09/09 | 177327 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.pdf 2023/09/09 | 39863 | macros/latex/contrib/profmaquette/doc/profmaquette-doc.tex 2023/06/23 | 17412 | macros/latex/contrib/profmaquette/doc/TestParcoursPerso.pdf @@ -242254,30 +242254,31 @@ 2014/04/21 | 351465 | macros/latex/contrib/unamth-template/tesis.pdf 2014/04/21 | 5583 | macros/latex/contrib/unamth-template/tesis.tex 2014/04/22 | 5394231 | macros/latex/contrib/unamth-template.zip -2023/10/17 | 3003 | macros/latex/contrib/unbtex/README.md -2023/10/17 | 18060 | macros/latex/contrib/unbtex/unbtex.cls -2023/10/17 | 558 | macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex -2023/10/17 | 424 | macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex -2023/10/17 | 2714 | macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex -2023/10/17 | 624 | macros/latex/contrib/unbtex/unbtex-example/apendice-b.tex -2023/10/17 | 2758 | macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex -2023/10/17 | 28720 | macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex -2023/10/17 | 3511 | macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex -2023/10/17 | 2480 | macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex -2023/10/17 | 215 | macros/latex/contrib/unbtex/unbtex-example/capitulo5.tex -2023/10/17 | 373 | macros/latex/contrib/unbtex/unbtex-example/codigos/controle.m -2023/10/17 | 1671 | macros/latex/contrib/unbtex/unbtex-example/codigos/controleSmithPredictor.py -2023/10/17 | 972 | macros/latex/contrib/unbtex/unbtex-example/codigos/ModalReduction.jl -2023/10/17 | 19971 | macros/latex/contrib/unbtex/unbtex-example/figuras/1280px-LaTeX-logo.png -2023/10/17 | 86922 | macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.eps -2023/10/17 | 1356 | macros/latex/contrib/unbtex/unbtex-example/figuras/capa_fundo.pdf -2023/10/17 | 31319 | macros/latex/contrib/unbtex/unbtex-example/figuras/img-grafico.pdf -2023/10/17 | 245216 | macros/latex/contrib/unbtex/unbtex-example/figuras/img-marca.pdf -2023/10/17 | 1176887 | macros/latex/contrib/unbtex/unbtex-example.pdf -2023/10/17 | 5073 | macros/latex/contrib/unbtex/unbtex-example/references.bib -2023/10/17 | 11658 | macros/latex/contrib/unbtex/unbtex-example/referencias.bib -2023/10/17 | 16055 | macros/latex/contrib/unbtex/unbtex-example.tex -2023/10/17 | 1455598 | macros/latex/contrib/unbtex.zip +2023/10/18 | 59756 | macros/latex/contrib/unbtex/abntex2eng-alf.bst +2023/10/18 | 3161 | macros/latex/contrib/unbtex/README.md +2023/10/18 | 18068 | macros/latex/contrib/unbtex/unbtex.cls +2023/10/18 | 558 | macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex +2023/10/18 | 424 | macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex +2023/10/18 | 2714 | macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex +2023/10/18 | 624 | macros/latex/contrib/unbtex/unbtex-example/apendice-b.tex +2023/10/18 | 2758 | macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex +2023/10/18 | 28703 | macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex +2023/10/18 | 3511 | macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex +2023/10/18 | 2480 | macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex +2023/10/18 | 215 | macros/latex/contrib/unbtex/unbtex-example/capitulo5.tex +2023/10/18 | 373 | macros/latex/contrib/unbtex/unbtex-example/codigos/controle.m +2023/10/18 | 1671 | macros/latex/contrib/unbtex/unbtex-example/codigos/controleSmithPredictor.py +2023/10/18 | 972 | macros/latex/contrib/unbtex/unbtex-example/codigos/ModalReduction.jl +2023/10/18 | 19971 | macros/latex/contrib/unbtex/unbtex-example/figuras/1280px-LaTeX-logo.png +2023/10/18 | 86922 | macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.eps +2023/10/18 | 1356 | macros/latex/contrib/unbtex/unbtex-example/figuras/capa_fundo.pdf +2023/10/18 | 31319 | macros/latex/contrib/unbtex/unbtex-example/figuras/img-grafico.pdf +2023/10/18 | 245216 | macros/latex/contrib/unbtex/unbtex-example/figuras/img-marca.pdf +2023/10/18 | 1177269 | macros/latex/contrib/unbtex/unbtex-example.pdf +2023/10/18 | 5073 | macros/latex/contrib/unbtex/unbtex-example/references.bib +2023/10/18 | 12489 | macros/latex/contrib/unbtex/unbtex-example/referencias.bib +2023/10/18 | 16055 | macros/latex/contrib/unbtex/unbtex-example.tex +2023/10/18 | 1469269 | macros/latex/contrib/unbtex.zip 2006/09/09 | 3917 | macros/latex/contrib/underlin/underlin.dtx 1997/02/17 | 111 | macros/latex/contrib/underlin/underlin.ins 2006/09/09 | 83139 | macros/latex/contrib/underlin/underlin.pdf @@ -302512,7 +302513,7 @@ 2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz -2023/10/17 | 428248 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68560.tar.xz +2023/10/18 | 428184 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68572.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 @@ -302534,7 +302535,7 @@ 2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz -2023/10/17 | 114096 | systems/texlive/tlnet/archive/texlive-scripts.r68560.tar.xz +2023/10/18 | 114100 | systems/texlive/tlnet/archive/texlive-scripts.r68572.tar.xz 2022/09/13 | 580 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r64356.tar.xz 2023/05/14 | 60312 | systems/texlive/tlnet/archive/texlive-scripts.windows.r67095.tar.xz 2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r64356.tar.xz @@ -303027,8 +303028,8 @@ 2019/02/28 | 1472 | systems/texlive/tlnet/archive/titlepic.r43497.tar.xz 2019/02/28 | 200724 | systems/texlive/tlnet/archive/titleref.doc.r18729.tar.xz 2019/02/28 | 2924 | systems/texlive/tlnet/archive/titleref.r18729.tar.xz -2021/07/06 | 658700 | systems/texlive/tlnet/archive/titlesec.doc.r59845.tar.xz -2021/07/06 | 20028 | systems/texlive/tlnet/archive/titlesec.r59845.tar.xz +2023/10/18 | 682884 | systems/texlive/tlnet/archive/titlesec.doc.r68573.tar.xz +2023/10/18 | 20044 | systems/texlive/tlnet/archive/titlesec.r68573.tar.xz 2019/02/28 | 175188 | systems/texlive/tlnet/archive/titling.doc.r15878.tar.xz 2019/02/28 | 2524 | systems/texlive/tlnet/archive/titling.r15878.tar.xz 2019/02/28 | 14800 | systems/texlive/tlnet/archive/titling.source.r15878.tar.xz @@ -303454,8 +303455,8 @@ 2019/05/24 | 2984 | systems/texlive/tlnet/archive/unam-thesis.r51207.tar.xz 2019/02/28 | 5011364 | systems/texlive/tlnet/archive/unamth-template.doc.r33625.tar.xz 2019/02/28 | 504 | systems/texlive/tlnet/archive/unamth-template.r33625.tar.xz -2023/06/17 | 1427460 | systems/texlive/tlnet/archive/unbtex.doc.r67385.tar.xz -2023/06/17 | 6028 | systems/texlive/tlnet/archive/unbtex.r67385.tar.xz +2023/10/18 | 1405776 | systems/texlive/tlnet/archive/unbtex.doc.r68574.tar.xz +2023/10/18 | 6000 | systems/texlive/tlnet/archive/unbtex.r68574.tar.xz 2021/01/02 | 2036196 | systems/texlive/tlnet/archive/undergradmath.doc.r57286.tar.xz 2021/01/02 | 444 | systems/texlive/tlnet/archive/undergradmath.r57286.tar.xz 2019/02/28 | 70524 | systems/texlive/tlnet/archive/underlin.doc.r15878.tar.xz @@ -304414,16 +304415,16 @@ 2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz 2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz 2023/08/07 | 125713 | systems/texlive/tlnet/install-tl -2023/10/17 | 5742402 | systems/texlive/tlnet/install-tl-unx.tar.gz -2023/10/17 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2023/10/17 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2023/10/18 | 5743238 | systems/texlive/tlnet/install-tl-unx.tar.gz +2023/10/18 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2023/10/18 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat -2023/10/17 | 21038410 | systems/texlive/tlnet/install-tl-windows.exe -2023/10/17 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2023/10/17 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2023/10/17 | 26029191 | systems/texlive/tlnet/install-tl.zip -2023/10/17 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2023/10/17 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2023/10/18 | 21038263 | systems/texlive/tlnet/install-tl-windows.exe +2023/10/18 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2023/10/18 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2023/10/18 | 26029191 | systems/texlive/tlnet/install-tl.zip +2023/10/18 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2023/10/18 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2023/03/19 | 1229 | systems/texlive/tlnet/README.md 2023/03/19 | 0 | systems/texlive/tlnet/TEXLIVE_2023 2023/01/17 | 8401 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -304475,12 +304476,12 @@ 2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2023/10/17 | 18285941 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2023/10/17 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2023/10/18 | 18286003 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2023/10/18 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2023/10/16 | 87924 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2023/10/17 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2023/10/17 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2023/10/17 | 2479524 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2023/10/18 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2023/10/18 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2023/10/18 | 2479216 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2023/02/20 | 58928 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2023/06/11 | 42749 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2023/02/21 | 16138 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm @@ -315344,7 +315345,7 @@ 2014/07/05 | 611 | systems/win32/yandy/README 2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz 2014/07/05 | 1012416 | systems/win32/yandy.zip -2023/10/18 | 186 | timestamp +2023/10/19 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz Binary files differindex a49b31512f..8b63466a4b 100644 --- a/FILES.byname.gz +++ b/FILES.byname.gz diff --git a/FILES.last07days b/FILES.last07days index 8bc4b97035..eb9ffe339b 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,78 +1,93 @@ -2023/10/17 | 972 | macros/latex/contrib/unbtex/unbtex-example/codigos/ModalReduction.jl +2023/10/18 | 972 | macros/latex/contrib/unbtex/unbtex-example/codigos/ModalReduction.jl +2023/10/18 | 86922 | macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.eps +2023/10/18 | 7793 | macros/latex/contrib/proflycee/tex/ProfLycee.sty +2023/10/18 | 682884 | systems/texlive/tlnet/archive/titlesec.doc.r68573.tar.xz +2023/10/18 | 624 | macros/latex/contrib/unbtex/unbtex-example/apendice-b.tex +2023/10/18 | 6000 | systems/texlive/tlnet/archive/unbtex.r68574.tar.xz +2023/10/18 | 59756 | macros/latex/contrib/unbtex/abntex2eng-alf.bst +2023/10/18 | 5743238 | systems/texlive/tlnet/install-tl-unx.tar.gz +2023/10/18 | 558 | macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex +2023/10/18 | 529 | macros/latex/contrib/proflycee/doc/testscript.py +2023/10/18 | 5073 | macros/latex/contrib/unbtex/unbtex-example/references.bib +2023/10/18 | 505320 | graphics/pgf/contrib/outilsgeomtikz.zip +2023/10/18 | 501125 | graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf +2023/10/18 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2023/10/18 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2023/10/18 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2023/10/18 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2023/10/18 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2023/10/18 | 428184 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68572.tar.xz +2023/10/18 | 424 | macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex +2023/10/18 | 4123225 | biblio/ctan-bibdata.zip +2023/10/18 | 38283 | graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex +2023/10/18 | 373 | macros/latex/contrib/unbtex/unbtex-example/codigos/controle.m +2023/10/18 | 3719961 | biblio/ctan-bibdata/ctan.pdf +2023/10/18 | 35798 | graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty +2023/10/18 | 3511 | macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex +2023/10/18 | 319680 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex +2023/10/18 | 3161 | macros/latex/contrib/unbtex/README.md +2023/10/18 | 31319 | macros/latex/contrib/unbtex/unbtex-example/figuras/img-grafico.pdf +2023/10/18 | 28703 | macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex +2023/10/18 | 2819461 | biblio/ctan-bibdata/ctan.bib +2023/10/18 | 2758 | macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex +2023/10/18 | 2714 | macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex +2023/10/18 | 26029191 | systems/texlive/tlnet/install-tl.zip +2023/10/18 | 2480 | macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex +2023/10/18 | 2479216 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2023/10/18 | 245216 | macros/latex/contrib/unbtex/unbtex-example/figuras/img-marca.pdf +2023/10/18 | 215 | macros/latex/contrib/unbtex/unbtex-example/capitulo5.tex +2023/10/18 | 21038263 | systems/texlive/tlnet/install-tl-windows.exe +2023/10/18 | 20044 | systems/texlive/tlnet/archive/titlesec.r68573.tar.xz +2023/10/18 | 19971 | macros/latex/contrib/unbtex/unbtex-example/figuras/1280px-LaTeX-logo.png +2023/10/18 | 18286003 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2023/10/18 | 18068 | macros/latex/contrib/unbtex/unbtex.cls +2023/10/18 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx +2023/10/18 | 1671 | macros/latex/contrib/unbtex/unbtex-example/codigos/controleSmithPredictor.py +2023/10/18 | 16055 | macros/latex/contrib/unbtex/unbtex-example.tex +2023/10/18 | 1602659 | macros/latex/contrib/proflycee.zip +2023/10/18 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2023/10/18 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2023/10/18 | 1469269 | macros/latex/contrib/unbtex.zip +2023/10/18 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2023/10/18 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2023/10/18 | 1405776 | systems/texlive/tlnet/archive/unbtex.doc.r68574.tar.xz +2023/10/18 | 1356 | macros/latex/contrib/unbtex/unbtex-example/figuras/capa_fundo.pdf +2023/10/18 | 1259752 | macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf +2023/10/18 | 12489 | macros/latex/contrib/unbtex/unbtex-example/referencias.bib +2023/10/18 | 12124 | macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex +2023/10/18 | 1177269 | macros/latex/contrib/unbtex/unbtex-example.pdf +2023/10/18 | 114100 | systems/texlive/tlnet/archive/texlive-scripts.r68572.tar.xz 2023/10/17 | 91048 | systems/texlive/tlnet/archive/stex.r68569.tar.xz 2023/10/17 | 900204 | systems/texlive/tlnet/archive/yet-another-guide-latex2e.doc.r68564.tar.xz 2023/10/17 | 87316 | systems/texlive/tlnet/archive/hvlogos.doc.r68568.tar.xz -2023/10/17 | 86922 | macros/latex/contrib/unbtex/unbtex-example/figuras/blockdiagram.eps 2023/10/17 | 76136 | systems/texlive/tlnet/archive/crefthe.doc.r68565.tar.xz 2023/10/17 | 74452 | macros/latex/contrib/titlesec/titlesec.tex 2023/10/17 | 711340 | macros/latex/contrib/titlesec.zip 2023/10/17 | 6361456 | systems/texlive/tlnet/archive/stex.doc.r68569.tar.xz -2023/10/17 | 624 | macros/latex/contrib/unbtex/unbtex-example/apendice-b.tex -2023/10/17 | 5742402 | systems/texlive/tlnet/install-tl-unx.tar.gz 2023/10/17 | 572 | systems/texlive/tlnet/archive/yet-another-guide-latex2e.r68564.tar.xz 2023/10/17 | 5652784 | systems/texlive/tlnet/archive/newcomputermodern.r68563.tar.xz -2023/10/17 | 558 | macros/latex/contrib/unbtex/unbtex-example/anexo-a.tex 2023/10/17 | 549231 | macros/latex/contrib/hecthese/hecthese-en.pdf 2023/10/17 | 535488 | macros/latex/contrib/hecthese/hecthese.pdf 2023/10/17 | 523399 | macros/latex/contrib/titlesec/titlesec.pdf -2023/10/17 | 5073 | macros/latex/contrib/unbtex/unbtex-example/references.bib 2023/10/17 | 50020 | systems/texlive/tlnet/archive/stex.source.r68569.tar.xz -2023/10/17 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2023/10/17 | 48997 | macros/latex/contrib/titlesec/titlesec.sty -2023/10/17 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2023/10/17 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2023/10/17 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2023/10/17 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2023/10/17 | 4544 | macros/latex/contrib/hecthese/README.md 2023/10/17 | 4392 | systems/texlive/tlnet/archive/crefthe.r68565.tar.xz -2023/10/17 | 428248 | systems/texlive/tlnet/archive/texlive-scripts.doc.r68560.tar.xz -2023/10/17 | 424 | macros/latex/contrib/unbtex/unbtex-example/anexo-b.tex 2023/10/17 | 4132 | macros/latex/contrib/hecthese/hecthese-fr.ins -2023/10/17 | 4123335 | biblio/ctan-bibdata.zip 2023/10/17 | 3975 | macros/latex/contrib/hecthese/hecthese-en.ins -2023/10/17 | 373 | macros/latex/contrib/unbtex/unbtex-example/codigos/controle.m -2023/10/17 | 3720159 | biblio/ctan-bibdata/ctan.pdf -2023/10/17 | 3511 | macros/latex/contrib/unbtex/unbtex-example/capitulo3.tex 2023/10/17 | 31466 | macros/latex/contrib/titlesec/titleps.tex -2023/10/17 | 31319 | macros/latex/contrib/unbtex/unbtex-example/figuras/img-grafico.pdf -2023/10/17 | 3003 | macros/latex/contrib/unbtex/README.md -2023/10/17 | 28720 | macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex -2023/10/17 | 2819463 | biblio/ctan-bibdata/ctan.bib 2023/10/17 | 2764 | systems/texlive/tlnet/archive/hvlogos.r68568.tar.xz -2023/10/17 | 2758 | macros/latex/contrib/unbtex/unbtex-example/capitulo1.tex -2023/10/17 | 2714 | macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex -2023/10/17 | 26029191 | systems/texlive/tlnet/install-tl.zip 2023/10/17 | 2561 | macros/latex/contrib/titlesec/README.md 2023/10/17 | 25336 | macros/latex/contrib/titlesec/titleps.sty -2023/10/17 | 2480 | macros/latex/contrib/unbtex/unbtex-example/capitulo4.tex -2023/10/17 | 2479524 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz -2023/10/17 | 245216 | macros/latex/contrib/unbtex/unbtex-example/figuras/img-marca.pdf -2023/10/17 | 215 | macros/latex/contrib/unbtex/unbtex-example/capitulo5.tex -2023/10/17 | 21038410 | systems/texlive/tlnet/install-tl-windows.exe -2023/10/17 | 19971 | macros/latex/contrib/unbtex/unbtex-example/figuras/1280px-LaTeX-logo.png -2023/10/17 | 18285941 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2023/10/17 | 18060 | macros/latex/contrib/unbtex/unbtex.cls 2023/10/17 | 1732944 | systems/texlive/tlnet/archive/csvsimple.doc.r68566.tar.xz 2023/10/17 | 16869 | macros/latex/contrib/titlesec/titletoc.sty -2023/10/17 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx -2023/10/17 | 1671 | macros/latex/contrib/unbtex/unbtex-example/codigos/controleSmithPredictor.py -2023/10/17 | 16055 | macros/latex/contrib/unbtex/unbtex-example.tex 2023/10/17 | 15515644 | systems/texlive/tlnet/archive/hvfloat.doc.r68567.tar.xz -2023/10/17 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2023/10/17 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2023/10/17 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 2023/10/17 | 1455964 | systems/texlive/tlnet/archive/tex4ht.source.r68570.tar.xz -2023/10/17 | 1455598 | macros/latex/contrib/unbtex.zip -2023/10/17 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 2023/10/17 | 143282 | macros/latex/contrib/titlesec/titleps.pdf 2023/10/17 | 14220820 | systems/texlive/tlnet/archive/newcomputermodern.doc.r68563.tar.xz 2023/10/17 | 136384 | systems/texlive/tlnet/archive/tex4ht.doc.r68570.tar.xz -2023/10/17 | 1356 | macros/latex/contrib/unbtex/unbtex-example/figuras/capa_fundo.pdf 2023/10/17 | 13413 | macros/latex/contrib/titlesec/CHANGES.old -2023/10/17 | 1176887 | macros/latex/contrib/unbtex/unbtex-example.pdf 2023/10/17 | 11692 | systems/texlive/tlnet/archive/csvsimple.r68566.tar.xz -2023/10/17 | 11658 | macros/latex/contrib/unbtex/unbtex-example/referencias.bib -2023/10/17 | 114096 | systems/texlive/tlnet/archive/texlive-scripts.r68560.tar.xz 2023/10/17 | 11208 | systems/texlive/tlnet/archive/hvfloat.r68567.tar.xz 2023/10/17 | 1103704 | systems/texlive/tlnet/archive/tex4ht.r68570.tar.xz 2023/10/17 | 1090979 | macros/latex/contrib/hecthese.zip @@ -992,71 +1007,3 @@ 2023/10/12 | 103784 | systems/win32/miktex/tm/packages/miktex-lua53-bin-x64-2.9.tar.lzma 2023/10/12 | 103609 | systems/win32/miktex/tm/packages/miktex-bibtex8bit-bin-x64-2.9.tar.lzma 2023/10/12 | 1000 | systems/texlive/tlnet/archive/collection-plaingeneric.r68513.tar.xz -2023/10/11 | 891227 | systems/win32/miktex/tm/packages/l3backend__doc.tar.lzma -2023/10/11 | 889136 | systems/texlive/tlnet/archive/l3backend.doc.r68507.tar.xz -2023/10/11 | 8753320 | systems/texlive/tlnet/archive/pdfmanagement-testphase.doc.r68505.tar.xz -2023/10/11 | 8727193 | systems/win32/miktex/tm/packages/pdfmanagement-testphase__doc.tar.lzma -2023/10/11 | 8434 | macros/generic/etoolbox-generic.zip -2023/10/11 | 83900 | systems/texlive/tlnet/archive/luatexja.source.r68506.tar.xz -2023/10/11 | 80889 | systems/win32/miktex/tm/packages/l3experimental__source.tar.lzma -2023/10/11 | 80200 | systems/texlive/tlnet/archive/l3experimental.source.r68507.tar.xz -2023/10/11 | 6694 | systems/win32/miktex/tm/packages/non-decimal-units__source.tar.lzma -2023/10/11 | 6081 | systems/win32/miktex/tm/packages/non-decimal-units.tar.lzma -2023/10/11 | 602890 | systems/win32/miktex/tm/packages/l3kernel__source.tar.lzma -2023/10/11 | 600376 | systems/texlive/tlnet/archive/l3kernel.source.r68507.tar.xz -2023/10/11 | 5852 | systems/texlive/tlnet/archive/non-decimal-units.r68504.tar.xz -2023/10/11 | 564503 | systems/win32/miktex/tm/packages/indextools__doc.tar.lzma -2023/10/11 | 54108 | systems/win32/miktex/tm/packages/pdfmanagement-testphase.tar.lzma -2023/10/11 | 53900 | systems/texlive/tlnet/archive/pdfmanagement-testphase.r68505.tar.xz -2023/10/11 | 4831 | systems/win32/miktex/tm/packages/indextools.tar.lzma -2023/10/11 | 46865 | systems/win32/miktex/tm/packages/l3packages__source.tar.lzma -2023/10/11 | 46252 | systems/texlive/tlnet/archive/l3packages.source.r68507.tar.xz -2023/10/11 | 4403 | systems/win32/miktex/tm/packages/tkz-bernoulli__source.tar.lzma -2023/10/11 | 36401 | macros/generic/collargs.zip -2023/10/11 | 3499716 | systems/win32/miktex/tm/packages/l3experimental__doc.tar.lzma -2023/10/11 | 3498508 | systems/texlive/tlnet/archive/l3experimental.doc.r68507.tar.xz -2023/10/11 | 34428 | systems/win32/miktex/tm/packages/l3backend__source.tar.lzma -2023/10/11 | 33852 | systems/texlive/tlnet/archive/l3backend.source.r68507.tar.xz -2023/10/11 | 3319 | systems/win32/miktex/tm/packages/haranoaji__doc.tar.lzma -2023/10/11 | 3317 | systems/win32/miktex/tm/packages/haranoaji-extra__doc.tar.lzma -2023/10/11 | 3245540 | systems/texlive/tlnet/archive/luatexja.doc.r68506.tar.xz -2023/10/11 | 319776 | fonts/newcomputermodern/otf/NewCMSans10-Bold.otf -2023/10/11 | 3108660 | systems/win32/miktex/tm/packages/luatexja__doc.tar.lzma -2023/10/11 | 3044 | systems/texlive/tlnet/archive/haranoaji-extra.doc.r68500.tar.xz -2023/10/11 | 3032 | systems/texlive/tlnet/archive/haranoaji.doc.r68501.tar.xz -2023/10/11 | 2927 | systems/win32/miktex/tm/packages/tkz-bernoulli.tar.lzma -2023/10/11 | 2753204 | macros/generic/memoize.zip -2023/10/11 | 2736 | systems/texlive/tlnet/archive/tkz-bernoulli.r68503.tar.xz -2023/10/11 | 26270426 | systems/win32/miktex/tm/packages/haranoaji.tar.lzma -2023/10/11 | 26261739 | systems/win32/miktex/tm/packages/haranoaji-extra.tar.lzma -2023/10/11 | 26182680 | systems/texlive/tlnet/archive/haranoaji.r68501.tar.xz -2023/10/11 | 26018152 | systems/texlive/tlnet/archive/haranoaji-extra.r68500.tar.xz -2023/10/11 | 23969 | systems/win32/miktex/tm/packages/l3experimental.tar.lzma -2023/10/11 | 23632 | systems/texlive/tlnet/archive/l3experimental.r68507.tar.xz -2023/10/11 | 22457 | systems/win32/miktex/tm/packages/indextools__source.tar.lzma -2023/10/11 | 22389 | systems/win32/miktex/tm/packages/l3packages.tar.lzma -2023/10/11 | 22201 | macros/generic/advice.zip -2023/10/11 | 221721 | systems/win32/miktex/tm/packages/luatexja__source.tar.lzma -2023/10/11 | 22112 | systems/texlive/tlnet/archive/l3packages.r68507.tar.xz -2023/10/11 | 194188 | systems/win32/miktex/tm/packages/luatexja.tar.lzma -2023/10/11 | 193248 | systems/win32/miktex/tm/packages/circuitikz.tar.lzma -2023/10/11 | 193052 | systems/texlive/tlnet/archive/luatexja.r68506.tar.xz -2023/10/11 | 189396 | systems/texlive/tlnet/archive/tkz-bernoulli.doc.r68503.tar.xz -2023/10/11 | 186071 | systems/win32/miktex/tm/packages/tkz-bernoulli__doc.tar.lzma -2023/10/11 | 1835393 | systems/win32/miktex/tm/packages/l3packages__doc.tar.lzma -2023/10/11 | 1832932 | systems/texlive/tlnet/archive/l3packages.doc.r68507.tar.xz -2023/10/11 | 1822592 | systems/texlive/tlnet/archive/circuitikz.doc.r68502.tar.xz -2023/10/11 | 1822327 | systems/win32/miktex/tm/packages/circuitikz__doc.tar.lzma -2023/10/11 | 174964 | systems/win32/miktex/tm/packages/l3kernel.tar.lzma -2023/10/11 | 174792 | systems/texlive/tlnet/archive/circuitikz.r68502.tar.xz -2023/10/11 | 174520 | systems/texlive/tlnet/archive/l3kernel.r68507.tar.xz -2023/10/11 | 17299 | support/easydtx.zip -2023/10/11 | 16458 | systems/win32/miktex/tm/packages/l3backend.tar.lzma -2023/10/11 | 16220 | systems/texlive/tlnet/archive/l3backend.r68507.tar.xz -2023/10/11 | 157180 | systems/texlive/tlnet/archive/non-decimal-units.doc.r68504.tar.xz -2023/10/11 | 151971 | systems/win32/miktex/tm/packages/non-decimal-units__doc.tar.lzma -2023/10/11 | 141313 | systems/win32/miktex/tm/packages/pdfmanagement-testphase__source.tar.lzma -2023/10/11 | 137880 | systems/texlive/tlnet/archive/pdfmanagement-testphase.source.r68505.tar.xz -2023/10/11 | 12082 | fonts/newcomputermodern/README -2023/10/11 | 12036152 | systems/texlive/tlnet/archive/l3kernel.doc.r68507.tar.xz -2023/10/11 | 12031600 | systems/win32/miktex/tm/packages/l3kernel__doc.tar.lzma diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib index cc21a89425..1c6dc0946c 100644 --- a/biblio/ctan-bibdata/ctan.bib +++ b/biblio/ctan-bibdata/ctan.bib @@ -1,7 +1,7 @@ %% bib file of all CTAN packages %% (C) Herbert Voß %% -%% created at 18-10-2023, 02:00:15 +%% created at 19-10-2023, 02:01:20 %% %% This file is provided under the terms of the LPPL v1.3 or @@ -50700,8 +50700,8 @@ title = {The \texttt{OutilsGeomTikZ} package}, subtitle = {Some geometric tools, with TikZ}, author = {Cédric Pierquet}, - date = {2023-05-22}, - version = {0.1.2}, + date = {2023-10-18}, + version = {0.1.4}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/graphics/pgf/contrib/outilsgeomtikz}, url = {https://ctan.org/pkg/outilsgeomtikz}, @@ -55030,8 +55030,8 @@ title = {The \texttt{ProfLycee} package}, subtitle = {A \LaTeX{} package for French maths teachers in high school}, author = {Cédric Pierquet}, - date = {2023-10-08}, - version = {2.7.8}, + date = {2023-10-18}, + version = {2.7.9}, license = {lppl1.3c}, mirror = {https://mirror.ctan.org/macros/latex/contrib/proflycee}, url = {https://ctan.org/pkg/proflycee}, @@ -73477,8 +73477,8 @@ title = {The \texttt{UnBTeX} package}, subtitle = {A class for theses at University of Brasilia (UnB)}, author = {Henrique Cezar Ferreira}, - date = {2023-10-17}, - version = {1.3}, + date = {2023-10-18}, + version = {1.3.1}, license = {lppl1.3}, mirror = {https://mirror.ctan.org/macros/latex/contrib/unbtex}, url = {https://ctan.org/pkg/unbtex}, diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf Binary files differindex ac028a6771..331caca989 100644 --- a/biblio/ctan-bibdata/ctan.pdf +++ b/biblio/ctan-bibdata/ctan.pdf diff --git a/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf b/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf Binary files differindex e66c2c6c0f..2bd736f970 100644 --- a/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf +++ b/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.pdf diff --git a/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex b/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex index aa124a4596..3e30b249db 100644 --- a/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex +++ b/graphics/pgf/contrib/outilsgeomtikz/doc/OutilsGeomTikz-doc.tex @@ -4,8 +4,8 @@ \documentclass[french,a4paper,11pt]{article} \usepackage[margin=2cm,includefoot]{geometry} -\def\TPversion{0.1.2} -\def\TPdate{22 mai 2023} +\def\TPversion{0.1.4} +\def\TPdate{18 octobre 2023} \usepackage[table,svgnames]{xcolor} \usepackage[bold-style=ISO,math-style=french]{concmath-otf} %\usepackage[bold-style=ISO,math-style=french]{unicode-math} @@ -39,12 +39,7 @@ \let\TikZ\tikzlogo \newcommand\TableauDocumentation{% \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}} - {\LARGE \LaTeX} & & & & &\\ - & {\LARGE \hologo{pdfLaTeX}} & & & & \\ - & & {\LARGE \hologo{LuaLaTeX}} & & & \\ - & & & {\LARGE \TikZ} & & \\ - & & & & {\LARGE \TeXLive} & \\ - & & & & & {\LARGE \hologo{MiKTeX}} \\ + {\large \LaTeX} & {\large \hologo{pdfLaTeX}} & {\large \hologo{LuaLaTeX}} & {\large \TikZ} & {\large \TeXLive} & {\large \hologo{MiKTeX}} \\ \end{tblr} } @@ -171,14 +166,14 @@ \tkzRapporteur[Complet,Echelle=0.5,Origine={(13,3.25)},Rotation=25,Fond,CouleurFond=orange] \end{tikzpicture}\hfill~ -%\vspace{0.5cm} -% -%\hfill{}\textit{Merci à Denis Bitouzé et à Gilles Le Bourhis pour leurs retours et idées !} - \smallskip \vfill +\hfill\textit{Merci à Arnaud pour ses retours et idées !!} + +\vfill + \hrule \medskip @@ -202,11 +197,15 @@ \part{Historique} -\verb|v0.1.2|~:~~~~Ajout de la \textit{règle-repère} +\verb|v0.1.4 : |Possibilité de positionner certains outils avec deux points (angle calculé automatiquement) + +\verb|v0.1.3 : |Ajout du \textit{pourcenteur} + +\verb|v0.1.2 : |Ajout de la \textit{règle-repère} -\verb|v0.1.1|~:~~~~Correction d'un bug avec une ancienne syntaxe [join=...] +\verb|v0.1.1 : |Correction d'un bug avec une ancienne syntaxe \textsf{[join=...]} -\verb|v0.1.0|~:~~~~Version initiale. +\verb|v0.1.0 : |Version initiale. \vspace{1cm} @@ -225,7 +224,8 @@ Le package \textsf{OutilsGeomTikz} \textit{propose} des éléments graphiques, e \item un crayon ; \item une règle graduée ; \item une équerre graduée (30/60) ; - \item un rapporteur (180 ou 360); + \item un rapporteur (180 ou 360) ; + \item un pourcenteur ; \item une réquerre graduée ; \item une \og règle-repère \fg{} graduée ; \item une \og rappéquerre \fg{} graduée ; @@ -283,14 +283,15 @@ Les différents outils disponibles ont \textit{grosso-modo} le même mode de fon \begin{itemize} \item le \textit{nom} de la commande est sous la forme \texttt{\textbackslash tkz<Outil>} ; \item les outils ont été créés, en \TikZ, avec comme unité de base le centimètre ; - \item pour certains outils, des dimensions minimales sont requises pour un aspect conforme et acceptable ; + \item pour certains outils, des dimensions minimales sont requises pour un aspect acceptable ; \item les options personnalisables sont (sauf exceptions) : \begin{itemize} \item la \textit{taille} ; \item l'\textit{échelle} globale ou l'\textit{échelle} des éventuels labels ; \item les \textit{couleurs} ; \item le \textit{fond} (couleur et opacité) ; - \item la position (\textit{placement} et/ou \textit{rotation}). + \item la position (\textit{placement} et/ou \textit{rotation}) ; + \item un \textit{placement automatique} avec la données de 2 points. \end{itemize} \end{itemize} \vspace*{-\baselineskip}\leavevmode @@ -301,12 +302,10 @@ Les différents outils disponibles ont \textit{grosso-modo} le même mode de fon \begin{cautionblock} Les outils disponibles sont à insérer dans un environnement \TikZ, et pour le moment il existe : \begin{itemize} - \item \texttt{\textbackslash tkzRegle} ; - \item \texttt{\textbackslash tkzEquerre} ; - \item \texttt{\textbackslash tkzRapporteur} ; - \item \texttt{\textbackslash tkzRequerre} ; + \item \texttt{\textbackslash tkzRegle} et \texttt{\textbackslash tkzRegleRepere} ; + \item \texttt{\textbackslash tkzEquerre} et \texttt{\textbackslash tkzRequerre} ; + \item \texttt{\textbackslash tkzRapporteur} et \texttt{\textbackslash tkzPourcenteur} ; \item \texttt{\textbackslash tkzRappequerre} ; - \item \texttt{\textbackslash tkzRegleRepere} ; \item \texttt{\textbackslash tkzCompas} ; \item \texttt{\textbackslash tkzCrayon}. \end{itemize} @@ -317,6 +316,7 @@ Les outils disponibles sont à insérer dans un environnement \TikZ, et pour le \tkzRegle[clés] \tkzEquerre[clés] \tkzRapporteur[clés] +\tkzPourcenteur[clés] \tkzRequerre[clés] \tkzRappEquerre[clés] \tkzRegleRepere[clés] @@ -432,7 +432,8 @@ Quelques \Cle{clés} de personnalisation sont disponibles : \hfill~(défaut : \Cle{m}) \end{itemize} -\vspace*{-\baselineskip}\leavevmode + +À noter que pour la clé \Cle{Rotation}, il est possible de préciser un deuxième point, et dans ce cas la clé sera précisée sous la forme \Cle{Rotation=auto/pt}. Dans \textbf{ce cas}, les points \textit{support} \textbf{devront} avoir été déclarés au préalable ! \end{tipblock} \begin{noteblock} @@ -445,17 +446,21 @@ Toutes les \Cle{clés} ne seront pas présentées de manière indépendante, mai \begin{PresentationCode}{listing only} %environnement tikz +\coordinate (K) at (1,-3) ; +\coordinate (C) at (6,-8) ; \tkzRegle[Fond,CouleurFond=red] -\tkzRegle[Longueur=13,Largeur=2,Rotation=-45,Couleur=ForestGreen, Origine={(1,-3)},Fond,PosVal=hb] +\tkzRegle[Longueur=13,Largeur=2,Rotation=auto/C,Couleur=ForestGreen, Origine=K,Fond,PosVal=hb] \tkzRegle[Largeur=1.25,Longueur=9,Couleur=blue,Rotation=20,Origine={(0,3)}, AfficheValeurs=false] \end{PresentationCode} \begin{PresentationCode}{text only} \begin{tikzpicture} \affichegrille{-1}{13}{-14}{7} - \pointsutiles{(0,0),(1,-3),(0,3)} + \coordinate (K) at (1,-3) ; + \coordinate (C) at (6,-8) ; + \pointsutiles{(0,0),(1,-3),(0,3),(6,-8)} \tkzRegle[Fond,CouleurFond=red] - \tkzRegle[Longueur=13,Largeur=2,Rotation=-45,Couleur=ForestGreen,Origine={(1,-3)},Fond,PosVal=hb] + \tkzRegle[Longueur=13,Largeur=2,Rotation=auto/C,Couleur=ForestGreen, Origine=K,Fond,PosVal=hb] \tkzRegle[Largeur=1.25,Longueur=9,Couleur=blue,Rotation=20,Origine={(0,3)},AfficheValeurs=false] \end{tikzpicture} \end{PresentationCode} @@ -498,7 +503,8 @@ Quelques \Cle{clés} de personnalisation sont disponibles : \hfill~(défaut : \Cle{false}) \end{itemize} -\vspace*{-\baselineskip}\leavevmode + +À noter que pour la clé \Cle{Rotation}, il est possible de préciser un deuxième point, et dans ce cas la clé sera précisée sous la forme \Cle{Rotation=auto/pt}. Dans \textbf{ce cas}, les points \textit{support} \textbf{devront} avoir été déclarés au préalable ! \end{tipblock} \begin{noteblock} @@ -511,17 +517,21 @@ Toutes les \Cle{clés} ne seront pas présentées de manière indépendante, mai \begin{PresentationCode}{listing only} %environnement tikz +\coordinate (U) at (1,-5) ; +\coordinate (V) at (9,-7) ; \tkzRegleRepere[Fond,CouleurFond=red] -\tkzRegleRepere[Longueur=8,Rotation=-15,Couleur=ForestGreen, Origine={(1,-5)},Fond,AfficheValeurs=false] +\tkzRegleRepere[Longueur=8,Rotation=auto/V,Couleur=ForestGreen, Origine=U,Fond,AfficheValeurs=false] \tkzRegleRepere[Longueur=18,Echelle=0.5,Couleur=blue,Rotation=20, Origine={(3,3.25)},Retourne] \end{PresentationCode} \begin{PresentationCode}{text only} \begin{tikzpicture} - \affichegrille{-1}{13}{-12}{7} - \pointsutiles{(0,0),(1,-5),(3,3.25)} + \affichegrille{-1}{13}{-11}{7} + \coordinate (U) at (1,-5) ; + \coordinate (V) at (9,-7) ; + \pointsutiles{(0,0),(1,-5),(3,3.25),(9,-7)} \tkzRegleRepere[Fond,CouleurFond=red] - \tkzRegleRepere[Longueur=8,Rotation=-15,Couleur=ForestGreen, Origine={(1,-5)},Fond,AfficheValeurs=false] + \tkzRegleRepere[Longueur=8,Rotation=auto/V,Couleur=ForestGreen, Origine=U,Fond,AfficheValeurs=false] \tkzRegleRepere[Longueur=18,Echelle=0.5,Couleur=blue,Rotation=20,Origine={(3,3.25)},Retourne] \end{tikzpicture} \end{PresentationCode} @@ -556,24 +566,31 @@ Quelques \Cle{clés} de personnalisation sont disponibles : \item le booléen \Cle{Fond} pour afficher une couleur de fond pour l'équerre ;\hfill~(défaut : \Cle{false}) \item \Cle{CouleurFond} pour la couleur du fond de l'équerre ;\hfill~(défaut : \Cle{black}) \item \Cle{Opacite} pour régler l'opacité du fond de l'équerre ;\hfill~(défaut : \Cle{0.5}) - \item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des graduations.\hfill~(défaut : \Cle{true}) + \item le booléen \Cle{PetitCote} dans le cas d'un placement par deux points. \hfill~(défaut \Cle{false}) \end{itemize} -\vspace*{-\baselineskip}\leavevmode + +À noter que pour la clé \Cle{Rotation}, il est possible de préciser un deuxième point, et dans ce cas la clé sera précisée sous la forme \Cle{Rotation=auto/pt}. Dans \textbf{ce cas}, les points \textit{support} \textbf{devront} avoir été déclarés au préalable ! + +Le booléen \Cle{PetitCote} permet de forcer le placement de l'équerre sur le petit côté. \end{tipblock} \begin{PresentationCode}{listing only} %environnement tikz +\coordinate (P) at (8,6) ; +\coordinate (Q) at (11,10) ; \tkzEquerre[Fond] -\tkzEquerre[Echelle=0.5,Origine={(8,6)},Couleur=DarkBlue,Rotation=-45] +\tkzEquerre[Echelle=0.61,Origine=P,Couleur=DarkBlue,Rotation=auto/Q] \tkzEquerre[Longueur=10,Origine={(2.5,-1)},Couleur=red,Rotation=-105] \end{PresentationCode} \begin{PresentationCode}{text only} \begin{tikzpicture} \affichegrille{-1}{13}{-7}{11} - \pointsutiles{(0,0),(8,6),(2.5,-1)} + \coordinate (P) at (8,6) ; + \coordinate (Q) at (11,10) ; + \pointsutiles{(0,0),(8,6),(2.5,-1),(11,10)} \tkzEquerre[Fond] - \tkzEquerre[Echelle=0.5,Origine={(8,6)},Couleur=DarkBlue,Rotation=-45] + \tkzEquerre[Echelle=0.61,Origine=P,Couleur=DarkBlue,Rotation=auto/Q] \tkzEquerre[Longueur=10,Origine={(2.5,-1)},Couleur=red,Rotation=-105] \end{tikzpicture} \end{PresentationCode} @@ -642,6 +659,64 @@ Quelques \Cle{clés} de personnalisation sont disponibles : \pagebreak +\pagebreak + +\section{Le pourcenteur} + +\subsection{La commande} + +\begin{cautionblock} +Le package propose l'outil \textsf{Pourcenteur}. + +La forme générale du rapporteur (largeur $6$~cm) est \textit{fixée}, mais le pourcenteur peut être \textit{personnalisé}. +\end{cautionblock} + +\begin{PresentationCode}{tikz lower} +\tkzPourcenteur +\end{PresentationCode} + +\subsection{Clés et options} + +\begin{tipblock} +Quelques \Cle{clés} de personnalisation sont disponibles : + +\begin{itemize} + \item \Cle{Origine} pour le placer le pourcenteur (au niveau du \textit{centre}) ;\hfill~(défaut : \Cle{\{(0,0)\}}) + \item \Cle{Rotation} pour pivoter le pourcenteur (au niveau du \textit{centre}) ;\hfill~(défaut : \Cle{0}) + \item \Cle{Echelle} pour l'échelle globale du pourcenteur ;\hfill~(défaut : \Cle{1}) + \item \Cle{Couleur} pour la couleur des éléments du pourcenteur ;\hfill~(défaut : \Cle{black}) + \item le booléen \Cle{Fond} pour afficher une couleur de fond ;\hfill~(défaut : \Cle{false}) + \item \Cle{CouleurFond} pour la couleur du fond du pourcenteur ;\hfill~(défaut : \Cle{black}) + \item \Cle{Opacite} pour régler l'opacité du fond du pourcenteur ;\hfill~(défaut : \Cle{0.5}) + \item le booléen \Cle{Decoration} pour afficher les \textit{décorations d'intérieur} ; \hfill~(défaut : \Cle{true}) + \item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des pourcentages.\hfill~(défaut : \Cle{true}) +\end{itemize} +\vspace*{-\baselineskip}\leavevmode +\end{tipblock} + +\pagebreak + +\begin{PresentationCode}{listing only} +%environnement tikz +\tkzPourcenteur[Fond,CouleurFond=purple] +\tkzPourcenteur[Origine={(7,1)},Rotation=-45,Couleur=ForestGreen,Echelle=0.75] +\tkzPourcenteur[Decoration=false,AfficheValeurs=false,Origine={(9,-4)},Rotation=30, Couleur=DarkBlue,Fond,CouleurFond=DarkBlue,Echelle=0.66] +\tkzPourcenteur[Origine={(3,-4)},Rotation=90,Couleur=orange,Fond,CouleurFond=orange, Echelle=0.33] +\end{PresentationCode} + +\begin{PresentationCode}{text only} +\begin{tikzpicture} + \affichegrille{-4}{11}{-7}{4} + \pointsutiles{(0,0),(7,1),(9,-4)} + \tkzPourcenteur[Fond,CouleurFond=purple] + \tkzPourcenteur[Origine={(7,1)},Rotation=-45,Couleur=ForestGreen,Echelle=0.75] + \tkzPourcenteur[Decoration=false,AfficheValeurs=false,Origine={(9,-4)},Rotation=30,Couleur=DarkBlue, Fond,CouleurFond=DarkBlue,Echelle=0.66] + \tkzPourcenteur[Origine={(3,-4)},Rotation=90,Couleur=orange, Fond,CouleurFond=orange,Echelle=0.33] +\end{tikzpicture} +\end{PresentationCode} + +\pagebreak + \section{La réquerre} \subsection{La commande} @@ -673,23 +748,28 @@ Quelques \Cle{clés} de personnalisation sont disponibles : \item \Cle{Opacite} pour régler l'opacité du fond de la réquerre ;\hfill~(défaut : \Cle{0.5}) \item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des graduations.\hfill~(défaut : \Cle{true}) \end{itemize} -\vspace*{-\baselineskip}\leavevmode + +À noter que pour la clé \Cle{Rotation}, il est possible de préciser un deuxième point, et dans ce cas la clé sera précisée sous la forme \Cle{Rotation=auto/pt}. Dans \textbf{ce cas}, les points \textit{support} \textbf{devront} avoir été déclarés au préalable ! \end{tipblock} \begin{PresentationCode}{listing only} %environnement tikz +\coordinate (F) at (1,-5) ; +\coordinate (G) at (4,-4) ; \tkzRequerre[Fond,CouleurFond=yellow] \tkzRequerre[Echelle=0.5,Origine={(-5,-6)},Rotation=-80,Couleur=ForestGreen, Longueur=10,Largeur=3.5,AfficheValeurs=false] -\tkzRequerre[Origine={(1,-5)},Rotation=15,Couleur=DarkBlue, Longueur=9,Largeur=2.75] +\tkzRequerre[Origine=F,Rotation=auto/G,Couleur=DarkBlue, Longueur=9,Largeur=2.75] \end{PresentationCode} \begin{PresentationCode}{text only} \begin{tikzpicture} + \coordinate (F) at (1,-5) ; + \coordinate (G) at (4,-4) ; \affichegrille{-8}{7}{-9}{1} - \pointsutiles{(0,0),(-5,-6),(1,-5)} + \pointsutiles{(0,0),(-5,-6),(1,-5),(4,-4)} \tkzRequerre[Fond,CouleurFond=yellow] \tkzRequerre[Echelle=0.5,Origine={(-5,-6)},Rotation=-80,Couleur=ForestGreen, Longueur=10,Largeur=3.5,AfficheValeurs=false] - \tkzRequerre[Origine={(1,-5)},Rotation=15,Couleur=DarkBlue,Longueur=9,Largeur=2.75] + \tkzRequerre[Origine=F,Rotation=auto/G,Couleur=DarkBlue, Longueur=9,Largeur=2.75] \end{tikzpicture} \end{PresentationCode} @@ -722,28 +802,35 @@ Quelques \Cle{clés} de personnalisation sont disponibles : \item \Cle{EchelleValeurs} pour l'échelle des valeurs ;\hfill~(défaut : \Cle{1}) \item \Cle{Couleur} pour la couleur des éléments de la rappéquerre ;\hfill~(défaut : \Cle{black}) \item le booléen \Cle{Fond} pour afficher une couleur de fond pour la rappéquerre ;\hfill~(défaut : \Cle{false}) - \item \Cle{CouleurFond} pour la couleur du fond de la rappéquerre ;\hfill~(défaut : \Cle{black}) + \item \Cle{CouleurFond} pour la couleur du fond de la rappéquerre ; + + \hfill~(défaut : \Cle{black}) \item \Cle{Opacite} pour régler l'opacité du fond de la rappéquerre ;\hfill~(défaut : \Cle{0.5}) \item le booléen \Cle{AfficheAngles} pour afficher les valeurs des angles ;\hfill~(défaut : \Cle{true}) \item le booléen \Cle{AfficheValeurs} pour afficher les valeurs des graduations.\hfill~(défaut : \Cle{true}) \end{itemize} -\vspace*{-\baselineskip}\leavevmode + +À noter que pour la clé \Cle{Rotation}, il est possible de préciser un deuxième point, et dans ce cas la clé sera précisée sous la forme \Cle{Rotation=auto/pt}. Dans \textbf{ce cas}, les points \textit{support} \textbf{devront} avoir été déclarés au préalable ! \end{tipblock} \begin{PresentationCode}{listing only} %environnement tikz +\coordinate (S) at (2,-10) ; +\coordinate (T) at (0,-10.5) ; \tkzRappEquerre[Fond,Ombre] \tkzRappEquerre[Origine={(-5,-9)},Rotation=150,Couleur=ForestGreen,Echelle=0.5,Ombre] -\tkzRappEquerre[Origine={(2,-10)},Rotation=-170,Couleur=DarkBlue, Largeur=4,Fond,AfficheValeurs=false,AfficheAngles=false,CouleurFond=DarkBlue] +\tkzRappEquerre[Origine=S,Rotation=auto/T,Couleur=DarkBlue, Largeur=4,Fond,AfficheValeurs=false,AfficheAngles=false,CouleurFond=DarkBlue] \end{PresentationCode} \begin{PresentationCode}{text only} \begin{tikzpicture} \affichegrille{-8}{7}{-11}{1} - \pointsutiles{(0,0),(-5,-9),(2,-10)} + \coordinate (S) at (2,-10) ; + \coordinate (T) at (0,-10.5) ; + \pointsutiles{(0,0),(-5,-9),(2,-10),(0,-10.5)} \tkzRappEquerre[Fond,Ombre] \tkzRappEquerre[Origine={(-5,-9)},Rotation=150,Couleur=ForestGreen,Echelle=0.5,Ombre] - \tkzRappEquerre[Origine={(2,-10)},Rotation=-170,Couleur=DarkBlue,Largeur=4,Fond,AfficheValeurs=false,AfficheAngles=false,CouleurFond=DarkBlue] + \tkzRappEquerre[Origine=S,Rotation=auto/T,Couleur=DarkBlue, Largeur=4,Fond,AfficheValeurs=false,AfficheAngles=false,CouleurFond=DarkBlue] \end{tikzpicture} \end{PresentationCode} diff --git a/graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty b/graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty index 0f90563a4b..29bc489b0f 100644 --- a/graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty +++ b/graphics/pgf/contrib/outilsgeomtikz/tex/OutilsGeomTikz.sty @@ -2,7 +2,9 @@ % licence........: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{OutilsGeomTikz}[2023/05/22 v0.1.2 Outils geometriques en TikZ] +\ProvidesPackage{OutilsGeomTikz}[2023/10/18 v0.1.4 Outils geometriques en TikZ] +% 0.1.4 Possibilité de positionner les outils avec deux points (angle calculé automatiquement) +% 0.1.3 Ajout du pourcenteur % 0.1.2 Ajout de la règle-repère % 0.1.1 Correction d'un bug avec une ancienne syntaxe [join=...] % 0.1.0 Version initiale @@ -12,6 +14,7 @@ \RequirePackage{simplekv} \RequirePackage{xstring} \RequirePackage{nicefrac} +%\RequirePackage{tkz-euclide} %librairies tikz \usetikzlibrary{calc,positioning} @@ -53,7 +56,7 @@ Largeur=\def\REGLlargeur{#1},% Couleur=\def\REGLcouleur{#1},% CouleurFond=\def\REGLcouleurfond{#1},% - Origine=\def\REGLposOrigin{#1},% + Origine=\xdef\REGLposOrigin{#1},% Rotation=\def\REGLangle{#1},% Opacite=\def\REGLopac{#1},% PosVal=\def\REGLposval{#1} @@ -76,6 +79,12 @@ \NewDocumentCommand{\tkzRegle}{ O{} }{% \useKVdefault[RegleGeom]% \setKV[RegleGeom]{#1}% + \IfSubStr{\REGLangle}{auto/}% + {% + \StrBehind{\REGLangle}{/}[\tmppointdeux]% + \pgfmathanglebetweenpoints{\pgfpointanchor{\REGLposOrigin}{center}}{\pgfpointanchor{\tmppointdeux}{center}}% + \edef\REGLangle{\pgfmathresult}% + }{}% \xdef\REGLlongueur{\fpeval{max(3,\REGLlongueur)}}%valeurs mini \xdef\REGLlargeur{\fpeval{max(1.5,\REGLlargeur)}} \begin{scope}[shift={(\REGLposOrigin)},rotate=\REGLangle,scale=\REGLechelle] @@ -137,7 +146,13 @@ \useKVdefault[RegleRepereGeom]% \setKV[RegleRepereGeom]{#1}% \xdef\REGLREPlongueur{\fpeval{max(4,2*round(0.5*\REGLREPlongueur,0))}}%valeurs mini - \xdef\REGLREPlargeur{\fpeval{max(4,round(\REGLREPlargeur,0))}} + \xdef\REGLREPlargeur{\fpeval{max(4,round(\REGLREPlargeur,0))}}% + \IfSubStr{\REGLREPangle}{auto/}% + {% + \StrBehind{\REGLREPangle}{/}[\tmppointdeux]% + \pgfmathanglebetweenpoints{\pgfpointanchor{\REGLREPposOrigin}{center}}{\pgfpointanchor{\tmppointdeux}{center}}% + \edef\REGLREPangle{\pgfmathresult}% + }{}% \begin{scope}[shift={(\REGLREPposOrigin)},rotate=\REGLREPangle,scale=\REGLREPechelle] %bases de la règle-repère \ifboolKV[RegleRepereGeom]{Fond}% @@ -200,7 +215,13 @@ \useKVdefault[RequerreGeom]% \setKV[RequerreGeom]{#1}% \xdef\REQlongueur{\fpeval{max(6,\REQlongueur)}}%valeurs mini - \xdef\REQlargeur{\fpeval{max(1.5,\REQlargeur)}} + \xdef\REQlargeur{\fpeval{max(1.5,\REQlargeur)}}% + \IfSubStr{\REQangle}{auto/}% + {% + \StrBehind{\REQangle}{/}[\tmppointdeux]% + \pgfmathanglebetweenpoints{\pgfpointanchor{\REQposOrigin}{center}}{\pgfpointanchor{\tmppointdeux}{center}}% + \edef\REQangle{\pgfmathresult}% + }{}% \begin{scope}[shift={(\REQposOrigin)},rotate=\REQangle,scale=\REQechelle] \ifboolKV[RequerreGeom]{Fond} { @@ -250,14 +271,27 @@ Rotation=0,% AfficheValeurs=true,% Fond=false,% - Opacite=0.5 + Opacite=0.5,% + PetitCote=false } \NewDocumentCommand{\tkzEquerre}{ O{} }{% \useKVdefault[EquerreGeom]% \setKV[EquerreGeom]{#1}% \xdef\EQlongueur{\fpeval{max(4.5,\EQlongueur)}}%valeurs mini - \def\EQlargeur{\fpeval{\EQlongueur*tand(30)}} + \def\EQlargeur{\fpeval{\EQlongueur*tand(30)}}% + \IfSubStr{\EQangle}{auto/}% + {% + \StrBehind{\EQangle}{/}[\tmppointdeux]% + \pgfmathanglebetweenpoints{\pgfpointanchor{\EQposOrigin}{center}}{\pgfpointanchor{\tmppointdeux}{center}}% + \ifboolKV[EquerreGeom]{PetitCote}% + {% + \edef\EQangle{\pgfmathresult}% + }% + {% + \edef\EQangle{\fpeval{\pgfmathresult-90}}% + }% + }{}% \begin{scope}[shift={(\EQposOrigin)},rotate=\EQangle,scale=\EQechelle] \ifboolKV[EquerreGeom]{Fond} {% @@ -404,6 +438,82 @@ \end{scope} } +\defKV[Pourcenteur]{% + Echelle=\def\POURCechelle{#1},% + EchelleAngle=\def\POURCechangle{#1},% + Couleur=\def\POURCcouleur{#1},% + CouleurFond=\def\POURCcouleurfond{#1},% + Origine=\def\POURCposOrigin{#1},% + Rotation=\def\POURCangle{#1},% + Opacite=\def\POURCopac{#1} +} + +\setKVdefault[Pourcenteur]{% + Echelle=1,% + EchelleAngle=1,% + Couleur=black,% + CouleurFond=black,% + Origine={(0,0)},% + Rotation=0,% + AfficheValeurs=true,% + Fond=false,% + Opacite=0.5,% + Decoration=true +} + +\NewDocumentCommand{\tkzPourcenteur}{ O{} }{% + \useKVdefault[Pourcenteur]% + \setKV[Pourcenteur]{#1}% + \begin{scope}[shift={(\POURCposOrigin)},rotate=\POURCangle,scale=\POURCechelle,every node/.style={rotate=\POURCangle}] + \ifboolKV[Pourcenteur]{Fond} + {% + \fill[draw=none,fill=\POURCcouleurfond!10!white,fill opacity=\POURCopac] (0,0) circle[radius=3] ; + }% + {}% + \draw[\POURCcouleur,semithick] (0,0) circle[radius=3] ; + \draw[\POURCcouleur,semithick] ({-0.15*3},0)--({0.15*3},0) (0,{-0.15*3})--(0,{0.15*3}) ; + \foreach \pct in {0,1,...,199} + {\draw[\POURCcouleur,thin] ({0.5*\pct*3.6}:{3})--({0.5*\pct*3.6}:{3-0.2}) ;} + \foreach \pct in {0,10,...,90}{% + \draw[\POURCcouleur,thin] ({(\pct+1)*3.6}:{3})--({(\pct+1)*3.6}:{3-0.35}) ; + \filldraw[\POURCcouleur] ({(\pct+1)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ; + \draw[\POURCcouleur,thin] ({(\pct+2)*3.6}:{3})--({(\pct+2)*3.6}:{3-0.35}) ; + \filldraw[\POURCcouleur] ({(\pct+2)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ; + \draw[\POURCcouleur,thin] ({(\pct+3)*3.6}:{3})--({(\pct+3)*3.6}:{3-0.35}) ; + \filldraw[\POURCcouleur] ({(\pct+3)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ; + \draw[\POURCcouleur,thin] ({(\pct+4)*3.6}:{3})--({(\pct+4)*3.6}:{3-0.35}) ; + \filldraw[\POURCcouleur] ({(\pct+4)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ; + \draw[\POURCcouleur,thin] ({(\pct+6)*3.6}:{3})--({(\pct+6)*3.6}:{3-0.35}) ; + \filldraw[\POURCcouleur] ({(\pct+6)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ; + \draw[\POURCcouleur,thin] ({(\pct+7)*3.6}:{3})--({(\pct+7)*3.6}:{3-0.35}) ; + \filldraw[\POURCcouleur] ({(\pct+7)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ; + \draw[\POURCcouleur,thin] ({(\pct+8)*3.6}:{3})--({(\pct+8)*3.6}:{3-0.35}) ; + \filldraw[\POURCcouleur] ({(\pct+8)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ; + \draw[\POURCcouleur,thin] ({(\pct+9)*3.6}:{3})--({(\pct+9)*3.6}:{3-0.35}) ; + \filldraw[\POURCcouleur] ({(\pct+9)*3.6}:{3-0.35}) circle[fill=\POURCcouleur,radius=0.75pt] ; + } + \foreach \pct in {5,10,15,20,30,35,40,45,55,60,65,70,80,85,90,95}{% + \draw[\POURCcouleur,semithick] ({\pct*3.6}:{3})--({\pct*3.6}:{3-0.5}) ; + \ifboolKV[Pourcenteur]{AfficheValeurs} + {\draw ({-\pct*3.6+90}:{3-0.6}) node[\POURCcouleur,rotate={-3.6*\pct},scale=\fpeval{0.8*\POURCechelle*\POURCechangle},font=\tiny] {\pct\,\%} ;}{} + } + \foreach \pct in {0,25,50,75}{% + \draw[\POURCcouleur,semithick] ({\pct*3.6}:{3})--({\pct*3.6}:{3-0.5}) ; + \ifboolKV[Pourcenteur]{AfficheValeurs} + {% + \draw ({-\pct*3.6+90}:{3-0.61}) node[\POURCcouleur,rotate={-3.6*\pct},scale=\fpeval{0.8*\POURCechelle*\POURCechangle},font=\scriptsize\bfseries] {\pct\,\%} ; + \draw ({-\pct*3.6+90}:{2+0.15}) node[\POURCcouleur,rotate={-3.6*\pct},scale=\fpeval{0.8*\POURCechelle*\POURCechangle},font=\tiny\bfseries] {\pct\,\%} ; + }{}% + } + \draw[\POURCcouleur,semithick] (0,1)--(0,2) (1.6,0)--(2,0) (0,-1.6)--(0,-2) (-1.6,0)--(-2,0) ; + \ifboolKV[Pourcenteur]{Decoration} + {% + \foreach \arccc in {0.8,0.9,...,1.9} {\draw[\POURCcouleur] (0,\arccc) arc (90:47:\arccc) ;} + }% + {}% + \end{scope} +} + %--------RappÉquerre (OK) \defKV[RapporteurEquerreGeom]{% Echelle=\def\RAPPEQechelle{#1},% @@ -435,6 +545,12 @@ \useKVdefault[RapporteurEquerreGeom]% \setKV[RapporteurEquerreGeom]{#1}% \xdef\RAPPEQlargeur{\fpeval{max(3,\RAPPEQlargeur)}}%valeurs mini + \IfSubStr{\RAPPEQangle}{auto/}% + {% + \StrBehind{\RAPPEQangle}{/}[\tmppointdeux]% + \pgfmathanglebetweenpoints{\pgfpointanchor{\RAPPEQposOrigin}{center}}{\pgfpointanchor{\tmppointdeux}{center}}% + \edef\RAPPEQangle{\pgfmathresult}% + }{}% \begin{scope}[shift={(\RAPPEQposOrigin)},rotate=\RAPPEQangle,scale=\RAPPEQechelle,every node/.style={rotate=\RAPPEQangle}] %fond \ifboolKV[RapporteurEquerreGeom]{Fond} diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf Binary files differindex d30b6e2c4f..5dfac0ad10 100644 --- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf +++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.pdf diff --git a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex index 976a0f42c5..94e0d61436 100644 --- a/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex +++ b/macros/latex/contrib/proflycee/doc/ProfLycee-doc.tex @@ -5,8 +5,8 @@ % arara: lualatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)') \documentclass[a4paper,french,11pt]{article} -\def\PLversion{2.7.8} -\def\PLdate{8 octobre 2023} +\def\PLversion{2.7.9} +\def\PLdate{18 octobre 2023} \usepackage{amsfonts} \usepackage{ProfLycee} \useproflyclib{piton,minted,pythontex,ecritures} @@ -144,12 +144,12 @@ keywordstyle={\color{violet}},% classoffset=2,% alsoletter={-},% - morekeywords={\ResolutionApprochee,\SolutionTVI,\CalculTermeRecurrence,\ToileRecurrence,\SolutionSeuil,\IntegraleApprochee,\GrilleTikz,\AxesTikz,\AxexTikz,\AxeyTikz,\FenetreTikz,\FenetreSimpleTikz,\DeclareFonctionTikz,\CourbeTikz,\OrigineTikz,\SplineTikz,\TangenteTikz,\MiniSchemaSignes,\MiniSchemaSignesTkzTab,\IntegraleApprocheeTikz,\CartoucheCapytale,\PaveTikz,\TetraedreTikz,\CercleTrigo,\AffPoint,\AffVecteur,\TrouveEqCartPlan,\TrouveEqParamDroite,\TrouveEqCartDroite,\TrouveNorme,\TrouveDistancePtPlan,\EquationReduite,\CalculsRegLin,\PointsRegLin,\NuagePointsTikz,\PointMoyenTikz,\BoiteMoustaches,\BoiteMoustachesAxe,\Histogramme,\CalcBinomP,\CalcBinomC,\BinomP,\BinomC,\CalcPoissP,\CalcPoissC,\PoissonP,\PoissonC,\CalcGeomP,\CalcGeomC,\GeomP,\GeomC,\CalcHypergeomP,\CalcHypergeomP,\HypergeomP,\HypergeomC,\CalcNormC,\NormaleC,\CalcExpoC,\ExpoC,\ArbreProbasTikz,\LoiNormaleGraphe,\LoiExpoGraphe,\NbAlea,\VarNbAlea,\TirageAleatoireEntiers,\Arrangement,\Combinaison,\ConversionDecBin,\ConversionBinHex,\ConversionVersDec,\ConversionHexBin,\ConversionBaseDix,\ConversionDepuisBaseDix,\PresentationPGCD,\EquationDiophantienne,\ConversionFraction,\SimplificationRacine,\EcritureEnsemble,\EcritureTrinome,\MesurePrincipale,\LigneTrigo,\SudoMaths,\FonctionRepartTikz,\IntervalleFF,\IntervalleFO,\IntervalleOF,\IntervalleOO,\RepereOij,\RepereOuv,\RepereOijk,\ReperePlan,\RepereEspace,\jfalg,\jfexp,\LoiNormale,\LoiBinomiale,\LoiPoisson,\LoiExpo,\LoiUnif,\Courbe,\Suite,\CoordPtPl,\CoordPtEsp,\CoordVecPl,\CoordVecEsp,\MatDeux,\Vecteur,\Esper,\Varianc,\EcType,\dx,\Integrale,\Modulo,\Arrondi,\CodePythonLstFichier,\CodePythonLstFichierAlt,\colorlet,\PtsDiscontinuite,\ListeDiviseurs,\ArbreDiviseurs + morekeywords={\ResolutionApprochee,\SolutionTVI,\CalculTermeRecurrence,\ToileRecurrence,\SolutionSeuil,\IntegraleApprochee,\GrilleTikz,\AxesTikz,\AxexTikz,\AxeyTikz,\FenetreTikz,\FenetreSimpleTikz,\DeclareFonctionTikz,\CourbeTikz,\OrigineTikz,\SplineTikz,\TangenteTikz,\MiniSchemaSignes,\MiniSchemaSignesTkzTab,\IntegraleApprocheeTikz,\CartoucheCapytale,\PaveTikz,\TetraedreTikz,\CercleTrigo,\AffPoint,\AffVecteur,\TrouveEqCartPlan,\TrouveEqParamDroite,\TrouveEqCartDroite,\TrouveNorme,\TrouveDistancePtPlan,\EquationReduite,\CalculsRegLin,\PointsRegLin,\NuagePointsTikz,\PointMoyenTikz,\BoiteMoustaches,\BoiteMoustachesAxe,\Histogramme,\CalcBinomP,\CalcBinomC,\BinomP,\BinomC,\CalcPoissP,\CalcPoissC,\PoissonP,\PoissonC,\CalcGeomP,\CalcGeomC,\GeomP,\GeomC,\CalcHypergeomP,\CalcHypergeomP,\HypergeomP,\HypergeomC,\CalcNormC,\NormaleC,\CalcExpoC,\ExpoC,\ArbreProbasTikz,\LoiNormaleGraphe,\LoiExpoGraphe,\NbAlea,\VarNbAlea,\TirageAleatoireEntiers,\Arrangement,\Combinaison,\ConversionDecBin,\ConversionBinHex,\ConversionVersDec,\ConversionHexBin,\ConversionBaseDix,\ConversionDepuisBaseDix,\PresentationPGCD,\EquationDiophantienne,\ConversionFraction,\SimplificationRacine,\EcritureEnsemble,\EcritureTrinome,\MesurePrincipale,\LigneTrigo,\SudoMaths,\FonctionRepartTikz,\IntervalleFF,\IntervalleFO,\IntervalleOF,\IntervalleOO,\RepereOij,\RepereOuv,\RepereOijk,\ReperePlan,\RepereEspace,\jfalg,\jfexp,\LoiNormale,\LoiBinomiale,\LoiPoisson,\LoiExpo,\LoiUnif,\Courbe,\Suite,\CoordPtPl,\CoordPtEsp,\CoordVecPl,\CoordVecEsp,\MatDeux,\Vecteur,\Esper,\Varianc,\EcType,\dx,\Integrale,\Modulo,\Arrondi,\CodePythonLstFichier,\CodePythonLstFichierAlt,\colorlet,\PtsDiscontinuite,\ListeDiviseurs,\ArbreDiviseurs,\FractaleTikz,\EtapesFloconKoch },% keywordstyle={\color{CouleurVertForet}},% classoffset=3,% alsoletter={-},% - morekeywords={minimum-decimal-digits,scale,nonamssymb,build,Precision,Intervalle,Variable,NomFct,NomSol,va,vb,Stretch,Balayage,Calculatrice,Majuscule,No,UNo,NomSuite,Simple,Exact,Conclusion,Sens,ResultatBrut,Methode,NbSubDiv,AffFormule,Expr,Signe,Variables,Affp,Affs,Epaisseur,Police,ElargirOx,ElargirOy,Labelx,Labely,AffLabel,PosLabelx,PosLabely,EchelleFleche,TypeFleche,PosGrad,HautGrad,AffGrad,AffOrigine,Annee,Trigo,Dfrac,Style,Coeffs,AffPoints,TaillePoints,xl,xr,Code,Racines,Largeur,Hauteur,Cadre,Fct,Nom,PosLabel,DecalLabel,TailleLabel,AffTermes,RemplirbOpacite,CouleurRemplissage,Lignes,Gobble,Alignement,Filigrane,BarreTitre,CouleurNombres,Centre,EspacementVertical,Label,Titre,Profondeur,Angle,Fuite,Sommets,Math,Aff,Plein,Cube,Alpha,Beta,Rayon,Marge,TailleValeurs,TailleAngles,CouleurFond,Decal,MoinsPi,AffAngles,AffTraits,AffValeurs,Equationcos,Equationsin,sin,cos,AffTraitsEq,CouleurSol,OptionCoeffs,SimplifCoeffs,Facteur,OptionCoeffs,Reel,Oppose,Rgras,SimplifCoeffs,VectDirecteur,NomCoeffa,NomCoeffb,NomCoeffr,NomCoeffrd,NomXmin,NomXmax,Ox,Oy,xg,yg,AffNom,Elevation,Moyenne,AffMoyenne,Pointilles,Valeurs,Elargir,Min,Max,DebutOx,FinOx,ListeCouleurs,ElargirX,ElargirY,LabelX,LabelY,GradX,GradY,AffEffectifs,PosEffectifs,Opacite,AffBornes,GrilleV,PoliceAxes,PoliceEffectifs,EpaisseurTraits,Unite,EspaceNiveau,EspaceFeuille,Type,PoliceProbas,InclineProbas,Fleche,StyleTrait,EpaisseurTrait,CouleurAire,CouleurCourbe,AfficheM,AfficheCadre,ValMin,ValMax,NbVal,Sep,Tri,Repetition,Notation,NotationAncien,Formule,AffBase,Details,BaseDep,Zeros,DecalH,DecalV,Noeud,Rect,CouleurRes,DecalRect,Rectangle,CouleurResultat,AfficheConclusion,AfficheDelimiteurs,Lettre,Inconnues,Entier,Cadres,PresPGCD,Mathpunct,Option,Alea,Anegatif,Crochets,Brut,Etapes,Epaisseurg,CouleurCase,CouleurTexte,NbSubCol,NbLig,NbCol,Legendes,PoliceLeg,ListeLegV,ListeLegH,DecalLegende,Couleur,Uno,Grille,ExtraGrilleY,PosLegende,Pointilles,Extremite,Frac,PremLigne,Type,Pos,Echelle,AffNom,EspaceNiveau,CouleurDetails,Fleches,EspaceFeuille,Details},% + morekeywords={minimum-decimal-digits,scale,nonamssymb,build,Precision,Intervalle,Variable,NomFct,NomSol,va,vb,Stretch,Balayage,Calculatrice,Majuscule,No,UNo,NomSuite,Simple,Exact,Conclusion,Sens,ResultatBrut,Methode,NbSubDiv,AffFormule,Expr,Signe,Variables,Affp,Affs,Epaisseur,Police,ElargirOx,ElargirOy,Labelx,Labely,AffLabel,PosLabelx,PosLabely,EchelleFleche,TypeFleche,PosGrad,HautGrad,AffGrad,AffOrigine,Annee,Trigo,Dfrac,Style,Coeffs,AffPoints,TaillePoints,xl,xr,Code,Racines,Largeur,Hauteur,Cadre,Fct,Nom,PosLabel,DecalLabel,TailleLabel,AffTermes,RemplirbOpacite,CouleurRemplissage,Lignes,Gobble,Alignement,Filigrane,BarreTitre,CouleurNombres,Centre,EspacementVertical,Label,Titre,Profondeur,Angle,Fuite,Sommets,Math,Aff,Plein,Cube,Alpha,Beta,Rayon,Marge,TailleValeurs,TailleAngles,CouleurFond,Decal,MoinsPi,AffAngles,AffTraits,AffValeurs,Equationcos,Equationsin,sin,cos,AffTraitsEq,CouleurSol,OptionCoeffs,SimplifCoeffs,Facteur,OptionCoeffs,Reel,Oppose,Rgras,SimplifCoeffs,VectDirecteur,NomCoeffa,NomCoeffb,NomCoeffr,NomCoeffrd,NomXmin,NomXmax,Ox,Oy,xg,yg,AffNom,Elevation,Moyenne,AffMoyenne,Pointilles,Valeurs,Elargir,Min,Max,DebutOx,FinOx,ListeCouleurs,ElargirX,ElargirY,LabelX,LabelY,GradX,GradY,AffEffectifs,PosEffectifs,Opacite,AffBornes,GrilleV,PoliceAxes,PoliceEffectifs,EpaisseurTraits,Unite,EspaceNiveau,EspaceFeuille,Type,PoliceProbas,InclineProbas,Fleche,StyleTrait,EpaisseurTrait,CouleurAire,CouleurCourbe,AfficheM,AfficheCadre,ValMin,ValMax,NbVal,Sep,Tri,Repetition,Notation,NotationAncien,Formule,AffBase,Details,BaseDep,Zeros,DecalH,DecalV,Noeud,Rect,CouleurRes,DecalRect,Rectangle,CouleurResultat,AfficheConclusion,AfficheDelimiteurs,Lettre,Inconnues,Entier,Cadres,PresPGCD,Mathpunct,Option,Alea,Anegatif,Crochets,Brut,Etapes,Epaisseurg,CouleurCase,CouleurTexte,NbSubCol,NbLig,NbCol,Legendes,PoliceLeg,ListeLegV,ListeLegH,DecalLegende,Couleur,Uno,Grille,ExtraGrilleY,PosLegende,Pointilles,Extremite,Frac,PremLigne,Type,Pos,Echelle,AffNom,EspaceNiveau,CouleurDetails,Fleches,EspaceFeuille,Details,LongueurCote,AlignV,Offset,Remplir,Etape,Depart,Contour,Remplissage},% keywordstyle={\color{orange!75!black}} } } @@ -904,6 +904,10 @@ Elles sont présentées de manière \textit{succincte}, mais elles sont présent %sudomaths \SudoMaths[options]{liste} \begin{EnvSudoMaths}[options]{grille}...\end{EnvSudoMaths} + +%fractales +\FractaleTikz(*)[clés]<options tikz> +\EtapesFloconKoch[clés]{étapes} \end{PresCodeTexPL} \newpage @@ -7926,6 +7930,146 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0 \newpage +\section{Quelques fractales, en \TikZ}\label{fractales} + +\subsection{Introduction} + +\begin{tipblock} +\cmaj{2.7.9} L'idée est de proposer de quoi représenter quelques fractales, créées avec la librairie \ctex{lindenmayersystems}. + +\smallskip + +Pour le moment, il est possible de : + +\begin{itemize} + \item tracer un flocon de Koch à une étape donnée ; + \item tracer un triangle de Sierpinski \textit{classique} ; + \item présenter différentes étapes successives des flocons de Koch. +\end{itemize} +\vspace*{-\baselineskip}\leavevmode +\end{tipblock} + +\begin{importantblock} +Les figures sont créées en \TikZ, et peuvent être autonomes (sans environnement \ctex{tikzpicture}). + +Pour le triangle de Sierpinski, la forme \textit{générale} est \textit{bloquée} pour avoir un rendu \textit{classique}. +\end{importantblock} + +\subsection{Flocon de Koch et triangle de Sierpinski} + +\begin{tipblock} +La commande pour créer un flocon de Koch ou un triangle de Sierpinski est \ctex{\textbackslash FractaleTikz}. + +Les éléments de personnalisation sont présentés un peu plus bas. +\end{tipblock} + +\begin{PresCodeTexPL}{listing only} +%Flocon de Koch, autonome +\FractaleTikz[Type=Koch,clés]<options tikz> + +%Flocon de Koch, dans un environnement tikz +\begin{tikzpicture} + \FractaleTikz*[Type=Koch,clés] +\end{tikzpicture} +\end{PresCodeTexPL} + +\begin{PresCodeTexPL}{listing only} +%Triangle de Sierpinski, autonome +\FractaleTikz[Type=Sierp,clés]<options tikz> + +%Flocon de Koch, dans un environnement tikz +\begin{tikzpicture} + \FractaleTikz[Type=Sierp,clés] +\end{tikzpicture} +\end{PresCodeTexPL} + +\begin{cautionblock} +Les \Cle{clés} disponibles pour cette commande sont : + +\begin{itemize} + \item la clé \Cle{Epaisseur} pour fixer l'épaisseur des tracés ; \hfill~défaut \Cle{0.6pt} + \item la clé \Cle{Type}, parmi \Cle{Koch / Sierp} pour choisir le type de fractale ; \hfill~défaut \Cle{Koch} + \item la clé \Cle{Couleur} pour fixer la couleur des tracés ; \hfill~défaut \Cle{black} + \item la clé \Cle{LongueurCote} (en cm) pour fixer la longueur des côtés ; \hfill~défaut \Cle{3} + \item la clé \Cle{Etape} (pour \Cle{Type=Koch}, et limitée à 7) pour fixer l'étape ; \hfill~défaut \Cle{1} + \item le booléen \Cle{remplir} pour remplir la fractale ; \hfill~défaut \Cle{false} + \item la clé \Cle{Remplissage} pour fixer la couleur de remplissage ; \hfill~défaut \Cle{lightgray} + \item la clé \Cle{Depart} pour fixer le point de départ ; \hfill~défaut \Cle{(0,0)} + \item le booléen \Cle{AlignV} (pour \Cle{Type=Koch}) pour forcer l'alignement de la \textit{base} ; \hfill~défaut \Cle{false} + \item le booléen \Cle{Contour} (pour \Cle{Type=Sierp}) pour afficher le contour. \hfill~défaut \Cle{false} +\end{itemize} +\vspace*{-\baselineskip}\leavevmode +\end{cautionblock} + +\begin{PresCodeTexPL}{} +%Koch par défaut +\FractaleTikz +\end{PresCodeTexPL} + +\begin{PresCodeTexPL}{} +%Koch par défaut +\FractaleTikz[Etape=4,LongueurCote=4,Remplir,Remplissage=teal!5,Couleur=red,Epaisseur=1pt] +\end{PresCodeTexPL} + +\begin{PresCodeTexPL}{} +%dans un environnement tikz +\begin{tikzpicture} + \FractaleTikz*[Etape=0] + \FractaleTikz*[Depart={(4,0)},Etape=1,Remplir,Remplissage=yellow!25] + \FractaleTikz*[Depart={(8,0)},Etape=2,Remplir,Remplissage=orange!25] + \FractaleTikz*[Depart={(12,0)},Etape=3,Remplir,Remplissage=red!25] +\end{tikzpicture} +\end{PresCodeTexPL} + +\begin{PresCodeTexPL}{} +%Sierpinski par défaut +\FractaleTikz[Type=Sierp] +\end{PresCodeTexPL} + +\begin{PresCodeTexPL}{} +%Sierpinski par défaut +\FractaleTikz[Type=Sierp,LongueurCote=4,Couleur=blue,Remplir,Remplissage=red!5,Contour] +\end{PresCodeTexPL} + +\subsection{Affichage de plusieurs étapes pour les flocons de Koch} + +\begin{tipblock} +L'idée est de présenter des étapes successives pour le flocon de Koch. + +À noter que les \textit{bases} des flocons sont, dans ce cas, correctement alignées ! +\end{tipblock} + +\begin{PresCodeTexPL}{listing only} +%commande autonome, l'environnement tikz est créé +\EtapesFloconKoch[clés]{étapes} +\end{PresCodeTexPL} + +\begin{cautionblock} +Les \Cle{clés} disponibles sont reprises (pour celles dépendant de \Cle{Type=Koch} !) de la commande \ctex{\textbackslash FractaleTikz}, avec en plus : + +\begin{itemize} + \item la clé \Cle{Offset} pour fixer une espacement horizontal entre les figures. \hfill~défaut \Cle{2pt} +\end{itemize} + +L'argument obligatoire, et entre \ctex{\{...\}}, permet de spécifier les étapes à afficher, sous la forme \TikZ{} : + +\begin{itemize} + \item \ctex{n1,n2,n3} pour spécifier une liste d'étapes ; + \item \ctex{n1,...,n2} pour spécifier une plage d'étapes. +\end{itemize} +\vspace*{-\baselineskip}\leavevmode +\end{cautionblock} + +\begin{PresCodeTexPL}{} +\EtapesFloconKoch{0,...,4} +\end{PresCodeTexPL} + +\begin{PresCodeTexPL}{} +\EtapesFloconKoch[Offset=5mm,Couleur=red,Remplir,Remplissage=violet!25]{0,2,4,6} +\end{PresCodeTexPL} + +\newpage + \phantom{t}\par\vfill\par \begin{PART} \begin{center} @@ -7938,7 +8082,9 @@ La grille, créée en \TikZ, est portée par le rectangle de \og coins \fg{} $(0 \part{Historique} -{\small \bverb|v 2.7.8|~:~~~~Conversion présentée hexa/bin (page \pageref{convhexbin})} + Liste et arbres de diviseurs (page \pageref{listediv}) +{\small \bverb|v 2.7.9|~:~~~~Ajout de quelques fractales (Koch + Sierpinski) (page \pageref{fractales})} + +{\small \bverb|v 2.7.8|~:~~~~Conversion présentée hexa/bin (page \pageref{convhexbin}) + Liste et arbres de diviseurs (page \pageref{listediv})} {\small \bverb|v 2.7.7|~:~~~~Points de discontinuité pour des splines (page \pageref{discont})} diff --git a/macros/latex/contrib/proflycee/tex/ProfLycee.sty b/macros/latex/contrib/proflycee/tex/ProfLycee.sty index 8c89863d8c..176a4fd187 100644 --- a/macros/latex/contrib/proflycee/tex/ProfLycee.sty +++ b/macros/latex/contrib/proflycee/tex/ProfLycee.sty @@ -3,7 +3,8 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfLycee}[2023/10/06 2.7.8 Aide pour l'utilisation de LaTeX en lycee] +\ProvidesPackage{ProfLycee}[2023/10/18 2.7.9 Aide pour l'utilisation de LaTeX en lycee] +% 2.7.9 Ajout de fractales (Koch + Sierpenski) % 2.7.8 Conversion hexa->bin présentée % 2.7.7 Ajout d'une commande pour matérialiser des points de discontinuité % 2.7.6 Amélioration de la gestion de la console piton diff --git a/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex b/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex index a90d17e0dc..8578cf58a6 100644 --- a/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex +++ b/macros/latex/contrib/proflycee/tex/proflycee-tools-recreat.tex @@ -243,4 +243,99 @@ \end{tikzpicture} } +%=====FRACTALES +\usetikzlibrary{lindenmayersystems} + +\pgfdeclarelindenmayersystem{FloconKoch}{ + \rule{F -> F-F++F-F}} +\pgfdeclarelindenmayersystem{TriangleSierpinski}{ + \rule{F -> G-F-G} + \rule{G -> F+G+F}} + +\defKV[tikzfract]{% + Epaisseur=\def\fracttikzthick{#1},% + Type=\def\fracttikztype{#1},% + Couleur=\def\fracttikzcolor{#1},% + LongueurCote=\def\fracttikzlg{#1},% + Etape=\def\fracttikzstep{#1},% + Remplissage=\def\fracttikzfill{#1},% + Depart=\def\fracttikzdepart{#1},% + Offset=\def\fracttikzoffset{#1} +} + +\setKVdefault[tikzfract]{% + Epaisseur=0.6pt,% + Type=Koch,% + Couleur=black,% + LongueurCote=3,% + Etape=1,% + Remplir=false,% + Remplissage=lightgray,% + Depart={(0,0)},% + Contour=false,% + AlignV=false,% + Offset=2pt +} + +\NewDocumentCommand\FractaleTikz{ s O{} D<>{} }{% + \restoreKV[tikzfract]% + \setKV[tikzfract]{#2}% + \def\fracttikzlgstep{\fpeval{(\fracttikzlg)/(3^\fracttikzstep)}}% + \IfStrEq{\fracttikztype}{Sierp}% + {% + \def\fracttikzlgstep{\fpeval{(\fracttikzlg)/(128)}}% + }{}% + \IfBooleanF{#1}{\begin{tikzpicture}[#3]} + \ifboolKV[tikzfract]{Remplir}% + {% + \IfStrEq{\fracttikztype}{Koch}% + {% + \ifboolKV[tikzfract]{AlignV}% + {% + \node at ($(1/3*\fracttikzlg,0)+(-60:1/3*\fracttikzlg)$) {} ; + }{}% + \draw[line width =\fracttikzthick,shift=\fracttikzdepart,draw=\fracttikzcolor,fill=\fracttikzfill,l-system={FloconKoch,step=\fracttikzlgstep cm,angle=60,axiom=F++F++F,order=\fracttikzstep}] lindenmayer system -- cycle; + }{}% + \IfStrEq{\fracttikztype}{Sierp}% + {% + \ifboolKV[tikzfract]{Contour}% + {% + \draw[shift=\fracttikzdepart,line width=\fracttikzthick,\fracttikzcolor] (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ; + \clip (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ; + }{}% + \draw[line width=\fracttikzthick,shift=\fracttikzdepart,draw=\fracttikzcolor,fill=\fracttikzfill,l-system={TriangleSierpinski,step=\fracttikzlgstep cm,angle=60,axiom=F,order=8}] + lindenmayer system -- cycle; + }{}% + }% + {% + \IfStrEq{\fracttikztype}{Koch}% + {% + \ifboolKV[tikzfract]{AlignV}% + {% + \node at ($(1/3*\fracttikzlg,0)+(-60:1/3*\fracttikzlg)$) {} ; + }{}% + \draw [line width=\fracttikzthick,shift=\fracttikzdepart,\fracttikzcolor,l-system={FloconKoch,step=\fracttikzlgstep cm,angle=60,axiom=F++F++F,order=\fracttikzstep}] lindenmayer system -- cycle; + }{}% + \IfStrEq{\fracttikztype}{Sierp}% + {% + \ifboolKV[tikzfract]{Contour}% + {% + \draw[shift=\fracttikzdepart,line width=\fracttikzthick,\fracttikzcolor] (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ; + \clip (0,0) -- (60:\fracttikzlg cm) -- (\fracttikzlg cm,0) -- cycle ; + }{}% + \draw[line width=\fracttikzthick,shift=\fracttikzdepart,\fracttikzcolor,l-system={TriangleSierpinski,step=\fracttikzlgstep cm,angle=60,axiom=F,order=8}] + lindenmayer system -- cycle; + }{}% + }% + \IfBooleanF{#1}{\end{tikzpicture}}% +} + +\NewDocumentCommand\EtapesFloconKoch{ O{} D<>{} m }{% + \restoreKV[tikzfract]% + \setKV[tikzfract]{#1}% + \foreach \i in {#3} {% + \FractaleTikz[AlignV,#1,Etape=\i]<#2>\hspace{\fracttikzoffset}% + } +} + \endinput
\ No newline at end of file diff --git a/macros/latex/contrib/unbtex/README.md b/macros/latex/contrib/unbtex/README.md index 1ba57809fa..ad040dc031 100644 --- a/macros/latex/contrib/unbtex/README.md +++ b/macros/latex/contrib/unbtex/README.md @@ -1,6 +1,6 @@ # UnBTeX: A class for bachelor, master, and doctoral thesis at the University of Brasilia (UnB), Brazil. -Version 1.3 2023/10/17 +Version 1.3 2023/10/18 Copyright (C) 2021-2023 by Henrique C. Ferreira <hcferreira@unb.br> @@ -53,6 +53,9 @@ Here is a history of changes: . The indentation of lists of figures and tables have been corrected . The cleveref package is now being used for cross-references instead of the autoref command + 1.3.1 (2023-10-18): + . The abtex2eng-alf.bst file was included to format bibliographic + references in ABNT style for documents written in English. ## Overleaf diff --git a/macros/latex/contrib/unbtex/abntex2eng-alf.bst b/macros/latex/contrib/unbtex/abntex2eng-alf.bst new file mode 100644 index 0000000000..1e5d8cc611 --- /dev/null +++ b/macros/latex/contrib/unbtex/abntex2eng-alf.bst @@ -0,0 +1,2159 @@ +%% +%% abntex2eng-alf.bst bibliography style file is adapted from abntex-alf.bst to +%% format bibliographic references in ABNT style for documents written in English, +%% following sugestions avaliable at https://github.com/abntex/abntex2/issues/97 +%% +%% abntex2-alf.bst, v-1.9.7 laurocesar +%% Copyright 2012-2018 by abnTeX2 group at http://www.abntex.net.br/ +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is the abnTeX2 team, led +%% by Lauro César Araujo. Further information are available on +%% http://www.abntex.net.br/ + +ENTRY + { address author + booktitle booksubtitle + chapter conference-number conference-year conference-location + edition editor editortype + dimensions furtherresp + howpublished illustrated institution + isbn issn journal key month note marginnote number organization + org-short pages pagename + publisher reprinted-from reprinted-text school + series subtitle section title type url urlaccessdate + volume year year-presented + abnt-and-type + abnt-doi abnt-dont-use-etal + abnt-etal-cite abnt-etal-list abnt-etal-text abnt-emphasize abnt-experimental + abnt-full-initials + abnt-last-names abnt-ldots-type + abnt-missing-year abnt-cite-style abnt-no-etal-label abnt-note + abnt-repeated-author-omit abnt-repeated-title-omit + abnt-show-options abnt-refinfo abnt-thesis-year abnt-url-package + abnt-title-command + abnt-verbatim-entry + iso-abbreviation iso-author-punctuation iso-date-place + }{}{ label extra.label year.label} + +%revision string +STRINGS { abnt.bst.revision } + +%general purpose strings +STRINGS { r s t } + +%variables needed to implement the various abnt options +STRINGS {abnt.etal.text abnt.emphasize previous.author previous.title} +INTEGERS {abnt.alf abnt.cite.style abnt.doi + abnt.experimental abnt.etal.cite abnt.etal.list + abnt.full.initials + abnt.last.names abnt.ldots.type + abnt.missing.year + abnt.refinfo abnt.repeated.author.omit abnt.repeated.title.omit + abnt.show.options abnt.and.type + abnt.title.command + abnt.thesis.year + abnt.url.package abnt.verbatim.entry + iso.abbreviation iso.author.punctuation iso.date.place + repeated.author} + +%needed for title formatting +INTEGERS { title.lenght title.pos first.word no.bracket} +STRINGS { title.char} + +%needed for controlling the sentence position +INTEGERS {output.state before.all mid.sentence after.sentence after.block } + +%needed for url identification +INTEGERS {url.type} + +%static values for options +%values for abnt.doi +FUNCTION {abnt.doi.expand.to.url} {#0} %expands a doi address to its url correspondent +FUNCTION {abnt.doi.link} {#1} %links doi to its url correspondent +FUNCTION {abnt.doi.leave.as.is} {#2} %shows doi as is, external viewer will have + %to know what to do with a "doi:" document + +%values for url types +FUNCTION {unknown.url} {#0} +FUNCTION {http.url} {#1} +FUNCTION {file.url} {#2} +FUNCTION {ftp.url} {#3} +FUNCTION {doi.url} {#4} +FUNCTION {mailto.url} {#5} + +FUNCTION {init.state.consts} +{ #0 'before.all := + #1 'mid.sentence := + #2 'after.sentence := + #3 'after.block := +} + + +%output.nonnull decides what is written before the argument s, if a comma, period etc. +FUNCTION {output.nonnull} +{ 's := %the argument is written into s + output.state mid.sentence = + { ", " * write$ } %mid.sentence first write comma + { output.state after.block = + { add.period$ write$ newline$ } + { output.state before.all = 'write$ + { add.period$ " " * write$ } + if$} + if$ + mid.sentence 'output.state := } + if$ + s %now comes s +} +FUNCTION {output.nonnull.dash} +{ 's := %the argument is written into s + output.state mid.sentence = + { " --- " * write$ } %mid.sentence first write comma + { output.state after.block = + { add.period$ write$ newline$ write$} + { output.state before.all = 'write$ + { add.period$ " " * write$ } + if$} + if$ + mid.sentence 'output.state := } + if$ + s %now comes s +} +FUNCTION {output} %does nothing or calls output.nonull +{ duplicate$ empty$ + 'pop$ + 'output.nonnull + if$ +} +FUNCTION {output.dash} %does nothing or calls output.nonull +{ duplicate$ empty$ + 'pop$ + 'output.nonnull.dash + if$ +} +FUNCTION {output.check} %like ouput, but complains if t empty +{ 't := + duplicate$ empty$ + { pop$ "campo " t * " vazio em " * cite$ * warning$ } + 'output.nonnull + if$ +} + +FUNCTION {new.block} +{ output.state before.all = + 'skip$ + { after.block 'output.state := } + if$ +} +FUNCTION {new.sentence} +{ output.state after.block = + 'skip$ + { output.state before.all = + 'skip$ + { after.sentence 'output.state := } + if$ + } + if$ +} +FUNCTION {add.blank} { " " * before.all 'output.state :=} + +FUNCTION {date.block} {new.block} + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} +FUNCTION {new.block.checka} +{ empty$ + 'skip$ + 'new.block + if$ +} +FUNCTION {new.block.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.block + if$ +} +FUNCTION {new.sentence.checka} +{ empty$ + 'skip$ + 'new.sentence + if$ +} +FUNCTION {new.sentence.checkb} +{ empty$ + swap$ empty$ + and + 'skip$ + 'new.sentence + if$ +} +FUNCTION {field.or.null} +{ duplicate$ empty$ + { pop$ "" } + 'skip$ + if$ +} +FUNCTION {emphasize} +{ duplicate$ empty$ + { pop$ "" } + { abnt.emphasize "{" * swap$ * "}" * } + if$ +} + + +FUNCTION {tie.or.space.prefix} %if text length less than 3 chars. uses a tie +{ duplicate$ text.length$ #5 < + { "~" } + { " " } + if$ + swap$ +} + +FUNCTION {no.space} { { "" } swap$ } + + +FUNCTION {space.word} { " " swap$ * " " * } + +FUNCTION {bbl.and} +{ abnt.and.type #0 = {" and "} 'skip$ if$ +abnt.and.type #1 = {" \& "} 'skip$ if$} +FUNCTION {bbl.chapter} { "chap." } +FUNCTION {bbl.colon} {": "} +FUNCTION {bbl.editors} { "Eds." } +FUNCTION {bbl.editor} { "Ed." } +FUNCTION {bbl.edby} { "edited by" } +FUNCTION {bbl.edition} { "ed." } +FUNCTION {bbl.empty} {""} +FUNCTION {bbl.etal}{abnt.etal.text "" = {""} {" " abnt.etal.text *} if$} +FUNCTION {bbl.doi.url} {"http://dx.doi.org/"} +FUNCTION {bbl.in}{ "In" iso.abbreviation 'skip$ { bbl.colon *} if$} +FUNCTION {bbl.ldots} %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...} +{abnt.ldots.type +{abnt.ldots.type #1 = {"\ldots"} 'skip$ if$ +abnt.ldots.type #2 = {"$\ldots$"} 'skip$ if$ +abnt.ldots.type #3 = {"{...}"} 'skip$ if$} +{""} %for #0 use nothing +if$} +FUNCTION {bbl.master} { "Master of Science" } +FUNCTION {bbl.missing.year} +{abnt.missing.year +{"[s.d.]"} %#1 +{""} %#0 +if$} +FUNCTION {bbl.monography} { "Monography" } +FUNCTION {bbl.mthesis} { "Dissertation" } +FUNCTION {bbl.no.address} {"[S.l.]"} +FUNCTION {bbl.no.address.no.publisher} {"[S.l.: s.n.]"} +FUNCTION {bbl.no.publisher} {"[s.n.]"} +FUNCTION {bbl.number} { iso.abbreviation {"no."} {"n."} if$ } +FUNCTION {bbl.nr} { "n." } +FUNCTION {bbl.of} { "of" } +FUNCTION {bbl.phd} { "Doctor in Philosophy" } +FUNCTION {bbl.phdthesis} { "Thesis" } +FUNCTION {bbl.pages} +{pagename empty$ +{ "p." } +{pagename} +if$ +} +FUNCTION {bbl.page} { bbl.pages } +FUNCTION {bbl.reprint} {"Reprint from"} +FUNCTION {bbl.semicolon} { "; "} +FUNCTION {bbl.same.field} {"\underline{\ \ \ \ \ \ \ \ }"} +FUNCTION {bbl.techrep} { "Technical Report" } +FUNCTION {bbl.url.accessdate} +{iso.abbreviation { "Cited "} {"Accessed on: "} if$} +FUNCTION {bbl.url.available} +{ iso.abbreviation {"Available from Internet: "} {"Available at: "} if$} +FUNCTION {bbl.void} {""} +FUNCTION {bbl.volume} { iso.abbreviation {"vol."} {"v."} if$ } + + +MACRO {jan} {"Jan."} +MACRO {feb} {"Feb."} +MACRO {mar} {"Mar."} +MACRO {apr} {"Apr."} +MACRO {may} {"May"} +MACRO {jun} {"Jun."} +MACRO {jul} {"Jul."} +MACRO {aug} {"Aug."} +MACRO {sep} {"Sep."} +MACRO {oct} {"Oct."} +MACRO {nov} {"Nov."} +MACRO {dec} {"Dec."} + + +FUNCTION {is.num} +{ chr.to.int$ + duplicate$ "0" chr.to.int$ < not + swap$ "9" chr.to.int$ > not and +} +FUNCTION {str.to.int} +{ duplicate$ is.num + {chr.to.int$ #48 -} + 'skip$ + if$ +} +FUNCTION {bibinfo.check} %usage: field "field" bibinfo.check +{ swap$ duplicate$ missing$ + {pop$ pop$ ""} + { duplicate$ empty$ + {swap$ pop$} + {swap$ pop$} + if$ + } + if$ +} +FUNCTION {bibinfo.warn} +{ swap$ + duplicate$ missing$ + {swap$ "faltando " swap$ * " em " * cite$ * warning$ pop$ ""} + { duplicate$ empty$ + {swap$ "vazio " swap$ * " em " * cite$ * warning$} + {swap$ pop$} + if$ + } + if$ +} + +FUNCTION {write.field.verbatim} +{ +duplicate$ missing$ + {pop$ pop$} + { + s text.length$ #0 > + {s "," * newline$ write$ "" 's :=} + 'skip$ + if$ + swap$ + "={" * swap$ * "}" * + s swap$ * 's := + } +if$ +} + +FUNCTION {write.entry.verbatim1} +{ + "address" address write.field.verbatim + "author" author write.field.verbatim + "booktitle" booktitle write.field.verbatim + "booksubtitle" booksubtitle write.field.verbatim + "chapter" chapter write.field.verbatim + "conference-number" conference-number write.field.verbatim + "conference-year" conference-year write.field.verbatim + "conference-location" conference-location write.field.verbatim + "edition" edition write.field.verbatim + "editor" editor write.field.verbatim + "editortype" editortype write.field.verbatim + "dimensions" dimensions write.field.verbatim + "furtherresp" furtherresp write.field.verbatim + "howpublished" howpublished write.field.verbatim + "illustrated" illustrated write.field.verbatim + "institution" institution write.field.verbatim + "isbn" isbn write.field.verbatim + "issn" issn write.field.verbatim + "journal" journal write.field.verbatim +} +FUNCTION {write.entry.verbatim2} +{ + "key" key write.field.verbatim + "month" month write.field.verbatim + "note" note write.field.verbatim + "marginnote" marginnote write.field.verbatim + "number" number write.field.verbatim + "organization" organization write.field.verbatim + "org-short" org-short write.field.verbatim + "pages" pages write.field.verbatim + "pagename" pagename write.field.verbatim + "publisher" publisher write.field.verbatim + "reprinted-from" reprinted-from write.field.verbatim + "reprinted-text" reprinted-text write.field.verbatim + "school" school write.field.verbatim + "series" series write.field.verbatim + "subtitle" subtitle write.field.verbatim + "section" section write.field.verbatim + "title" title write.field.verbatim + "type" type write.field.verbatim +} +FUNCTION {write.entry.verbatim3} +{ + "url" url write.field.verbatim + "urlaccessdate" urlaccessdate write.field.verbatim + "volume" volume write.field.verbatim + "year" year write.field.verbatim + "abnt-emphasize" abnt-emphasize write.field.verbatim + "abnt-experimental" abnt-experimental write.field.verbatim + "abnt-doi" abnt-doi write.field.verbatim + "abnt-dont-use-etal" abnt-dont-use-etal write.field.verbatim + "abnt-full-initials" abnt-full-initials write.field.verbatim + "abnt-ldots-type" abnt-ldots-type write.field.verbatim + "abnt-missing-year" abnt-missing-year write.field.verbatim + "abnt-cite-style" abnt-cite-style write.field.verbatim + "abnt-no-etal-label" abnt-no-etal-label write.field.verbatim + %abnt-note + "abnt-repeated-author-omit" abnt-repeated-author-omit write.field.verbatim + "abnt-repeated-title-omit" abnt-repeated-title-omit write.field.verbatim + "abnt-show-options" abnt-show-options write.field.verbatim + "abnt-refinfo" abnt-refinfo write.field.verbatim + "abnt-thesis-year" abnt-thesis-year write.field.verbatim + "abnt-title-command" abnt-title-command write.field.verbatim + "abnt-url-package" abnt-url-package write.field.verbatim + "abnt-verbatim-entry" abnt-verbatim-entry write.field.verbatim +} + +FUNCTION {write.entry.verbatim} +{"" 's := "" 't := + abnt.verbatim.entry + {"{\footnotesize\begin{verbatim}" newline$ write$ + "@" type$ * "{" * cite$ * 's := + write.entry.verbatim1 + write.entry.verbatim2 + write.entry.verbatim3 + s "" = {"}"} {s "}" *} if$ + newline$ write$ + "\end{verbatim}}" newline$ write$} + {newline$} +if$} + +STRINGS { bibinfo} +INTEGERS { nameptr namesleft numnames } + +FUNCTION {get.person} {"{vv }{ll}{, jj}{, ff}" format.name$} +FUNCTION {get.last.name} {#1 "{ll}" format.name$} +FUNCTION {get.first.name} {#1 "{ff}" format.name$} +FUNCTION {get.von} {#1 "{vv}" format.name$} +FUNCTION {get.jr} {#1 "{jj}" format.name$} +FUNCTION {is.composed.von} + {get.person + get.von duplicate$ empty$ {pop$ #0} + {duplicate$ + get.first.name empty$ not + swap$ get.last.name empty$ not and + } if$ + } + +FUNCTION {recompose.name} + {get.person duplicate$ duplicate$ duplicate$ + get.von #1 "{ll }" format.name$ swap$ + get.last.name * + swap$ #1 "{, ff}" format.name$ * + swap$ get.von #1 "{ ff}" format.name$ * + } + + +FUNCTION {format.single.name} +{ +s nameptr get.person 'r := +abnt.last.names + {r #1 "{ll}{ jj}" format.name$ "u" change.case$ + abnt.full.initials + {r #1 "{, ff}{ vv}" format.name$ *} + {r #1 "{, f.}{ vv}" format.name$ *} + if$} + {%r #1 is.composed.von {r #1 recompose.name 'r :=} 'skip$ if$ + r #1 "{ll}" format.name$ + #1 "{ll}" format.name$ + r #1 "{ jj}" format.name$ * "u" change.case$ + abnt.full.initials + {r #1 "{, ff}{ vv}" format.name$ * + r #1 "{ll}" format.name$ + #1 "{ ff}{ vv}" format.name$ *} + {iso.author.punctuation + {r #1 "{, f{}}{ vv}" format.name$ *} + {r #1 "{, f.}{ vv}" format.name$ *} if$ + r #1 "{ll}" format.name$ + #1 "{ f.}{ vv}" format.name$ *} + if$} + +if$ +} +FUNCTION {format.names} +{ 'bibinfo := duplicate$ empty$ 'skip$ + {'s := + "" 't := + #1 'nameptr := s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { format.single.name + bibinfo bibinfo.check + 't := + nameptr #1 > + {nameptr #1 #1 + = numnames abnt.etal.list > and + {abnt.etal.list {"others" 't := #1 'namesleft :=} 'skip$ if$ } + 'skip$ + if$ + namesleft #1 > + { "; " * t * } + { numnames #2 > + { "" * } + 'skip$ + if$ + s nameptr "{ll}" format.name$ duplicate$ "others" = + { 't := } + { pop$ } + if$ + t "others" = + { bbl.etal *} + { "; " * t *} + if$ } + if$ } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := } + while$ + } if$ +} + +%from plain.bst +FUNCTION {format.names.plain} +{ 's := + #1 'nameptr := + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { s nameptr "{ff }{vv }{ll}{ jj}" format.name$ 't := + nameptr #1 > + { namesleft #1 > + { ", " * t * } + { numnames #20 > + { "," * } + 'skip$ + if$ + t "others" = + { bbl.etal * } + { bbl.and * t * } + if$ + } + if$ + } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} +FUNCTION {format.names.ed} {format.names} + +FUNCTION {format.authors} +{ +author "author" format.names +} + +FUNCTION {format.authors.plain} +{ +author format.names.plain +} + +FUNCTION {get.bbl.editor} { editor num.names$ #1 > 'bbl.editors 'bbl.editor if$ } + + +FUNCTION {format.book.pages} +{ pages "pages" bibinfo.check duplicate$ empty$ + 'skip$ + { "~" * bbl.pages * } + if$ +} +FUNCTION {format.dimensions} +{ dimensions empty$ + 'skip$ + { dimensions output} + if$ +} +FUNCTION {format.furtherresp} +{ furtherresp empty$ + 'skip$ + { furtherresp output} + if$ +} +FUNCTION {format.illustrated} +{ illustrated missing$ + 'skip$ + {illustrated empty$ + {"il." output} + {illustrated output} + if$} + if$ +} +FUNCTION {format.isbn} +{ isbn "isbn" bibinfo.check duplicate$ empty$ + 'skip$ + {new.block "ISBN " swap$ *} + if$ +} + +FUNCTION {format.issn} +{ issn "issn" bibinfo.check + duplicate$ empty$ 'skip$ + {new.block "ISSN " swap$ *} + if$ +} + +FUNCTION {format.note} +{ note empty$ + { "" } + { note #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ } + if$ + note #2 global.max$ substring$ * "note" bibinfo.check } + if$ +} + +FUNCTION {format.howpublished} +{ howpublished empty$ + { "" } + { howpublished #1 #1 substring$ + duplicate$ "{" = + 'skip$ + { output.state mid.sentence = + { "l" } + { "u" } + if$ + change.case$ } + if$ + howpublished #2 global.max$ substring$ * "howpublished" bibinfo.check } + if$ +} + + +%ABNT styles require that the title acts as an author if +%typical author fields are absent. In this case the first +%word is uppercase. Our main problem is to establish what +%the first word actually is since portuguese uses accents. +%For example: Fun{\c c}\ão (Função) is a whole word but contains a +%space, but if we write Fun\c{c}\ão \c is converted to uppercase... +%You get the problem, don't you? +FUNCTION {format.title.as.author} +{ 's := %holds the title + #1 'title.pos := %our position in the title + #1 'first.word := %boolean, true if we already have the first word + #1 'no.bracket := %boolean, false if we are inside a {} + "" 't := %holds the first title.pos characters of the title + {first.word} + {s title.pos #1 substring$ 'title.char := + %checks if the character is a { + title.char "{" = {#0 'no.bracket :=} 'skip$ if$ + %if we are in a bracket + no.bracket 'skip$ {title.char "}" = {#1 'no.bracket :=} 'skip$ if$} if$ + type$ "journalpart" = + {title.char "." = title.char ":" = or title.char "!" = or + title.char "," = or title.char ";" = or title.char "?" = or} + {title.char " " =} + if$ s t = or no.bracket and + {#0 'first.word := + t title.char * "u" change.case$ + title.pos #1 + 'title.pos := + s title.pos global.max$ substring$ * 's :=} + {title.pos #1 + 'title.pos := t title.char * 't :=} + if$ + } + while$ +s +} + + +%compares current title with the title of the previous entry +FUNCTION {compare.title} +{abnt.repeated.title.omit + {duplicate$ "" = 'skip$ + {duplicate$ previous.title = repeated.author and + {duplicate$ 'previous.title := pop$ bbl.same.field} + {duplicate$ 'previous.title :=} + if$} + if$} + 'skip$ + if$ +} + +FUNCTION {apply.title.command} +{abnt.title.command + {duplicate$ empty$ 'skip$ + {"\bibtextitlecommand{" type$ * "}{" * swap$ * "}" *} + if$} + 'skip$ if$ +} + +FUNCTION {format.title} +{author empty$ editor empty$ and organization empty$ and + {title format.title.as.author} + {title duplicate$ empty$ {pop$ ""} {"t" change.case$} if$} + if$ + subtitle empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$ + apply.title.command + compare.title +} + +FUNCTION {n.dashify} +{ + 't := + "" + { t empty$ not } + { t #1 #1 substring$ "-" = + { t #1 #2 substring$ "--" = not + { "--" * + t #2 global.max$ substring$ 't := + } + { { t #1 #1 substring$ "-" = } + { "-" * + t #2 global.max$ substring$ 't := + } + while$ + } + if$ + } + { t #1 #1 substring$ * + t #2 global.max$ substring$ 't := + } + if$ + } + while$ +} + +FUNCTION {word.in} { bbl.in " " * } + +FUNCTION {format.month} +{ month empty$ 'skip$ + {month "month" bibinfo.check} + if$ +} + +FUNCTION {format.date} +{ year empty$ + { month empty$ + { bbl.missing.year } + { "existe o campo month (mês) mas não o campo year (ano) em " cite$ * warning$ month} + if$} + { month empty$ + { year n.dashify} + { month " " * year * } + if$} + if$ +} +FUNCTION {format.btitle} +{author empty$ editor empty$ and organization empty$ and + {title format.title.as.author "title" bibinfo.check duplicate$ empty$ 'skip$ {} if$ + subtitle empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$} + {title "title" bibinfo.check emphasize duplicate$ empty$ 'skip$ {} if$ + subtitle empty$ 'skip$ {subtitle ": " swap$ * "t" change.case$ *} if$} +if$ +apply.title.command +compare.title +} +FUNCTION {either.or.check} +{ empty$ + 'pop$ + { "não posso usar ambos " swap$ * " os campos em " * cite$ * warning$ } + if$ +} + +FUNCTION {format.volume} %leaves formatted or empty volume on the stack +{volume duplicate$ empty$ + 'skip$ + {volume #1 #1 substring$ is.num + {bbl.volume swap$ tie.or.space.prefix * *} + 'skip$ + if$} + if$ +} + +FUNCTION {format.number} %leaves formatted or empty number on the stack +{ number duplicate$ empty$ + 'skip$ + {bbl.number swap$ tie.or.space.prefix * *} + if$ +} + +FUNCTION {format.patent.number} +{ number +} + +FUNCTION {format.bvolume} +{ volume empty$ + { "" } + { format.volume + number empty$ 'skip$ {output format.number} if$ + series "series" bibinfo.check + duplicate$ empty$ 'pop$ + { swap$ bbl.of space.word * swap$ + emphasize * } + if$ + } + if$ +} + +FUNCTION {format.bvolume.if.no.series} +{ series empty$ + { format.bvolume } + { "" } + if$ +} + + +FUNCTION {format.number.or.volume} +{number empty$ + {format.volume} + {number} %we use the pure number here without leading "n." + if$ +} + +FUNCTION {format.volume.and.number} +{format.volume output + format.number +} + +FUNCTION {format.volume.number.series} +{ number empty$ volume empty$ and + { series empty$ + { "" } + {" (" series "series" bibinfo.check * ")" *} + if$} + { series empty$ + {""} %{ format.number.or.volume } + { " (" series "series" bibinfo.check * ", " * + format.number.or.volume * ")" * } + if$ } + if$ +} + +FUNCTION {extract.num} +{ duplicate$ 't := + "" 's := + { t empty$ not } + { t #1 #1 substring$ + t #2 global.max$ substring$ 't := + duplicate$ is.num + { s swap$ * 's := } + { pop$ "" 't := } + if$ } + while$ + s empty$ + 'skip$ + { pop$ s } + if$ +} + +FUNCTION {format.edition} +{ edition duplicate$ empty$ 'skip$ + {output.state mid.sentence = { "l" } { "t" } if$ change.case$ + "edition" bibinfo.check + edition #1 #1 substring$ is.num {". " * bbl.edition * } 'skip$ if$} + if$ +} +INTEGERS { multiresult } +FUNCTION {multi.page.check} +{ 't := + #0 'multiresult := + { multiresult not + t empty$ not + and } + { t #1 #1 substring$ + duplicate$ "-" = + swap$ duplicate$ "," = + swap$ "+" = + or or + { #1 'multiresult := } + { t #2 global.max$ substring$ 't := } + if$ } + while$ + multiresult +} +FUNCTION {format.pages} +{ pages duplicate$ empty$ 'skip$ + { duplicate$ multi.page.check + { n.dashify bbl.pages swap$} + { bbl.page swap$ } + if$ + tie.or.space.prefix "pages" bibinfo.check * * } + if$ +} +FUNCTION {format.journal.pages} +{ pages empty$ {""} + { pages n.dashify bbl.pages + swap$ tie.or.space.prefix "pages" bibinfo.check * *} + if$ +} + +FUNCTION {get.url.type} +{s #1 #5 substring$ "http:" = {http.url} + {s #1 #6 substring$ "https:" = {http.url} + {s #1 #5 substring$ "file:" = {file.url} + {s #1 #4 substring$ "ftp:" = {ftp.url} + {s #1 #4 substring$ "doi:" = {doi.url} + {s #1 #7 substring$ "mailto:" = {mailto.url} {unknown.url} if$} + if$} + if$} + if$} + if$} + if$ + 'url.type := +} + +FUNCTION {expand.doi} +{s +url.type doi.url = + {#5 global.max$ substring$ bbl.doi.url swap$ *} + 'skip$ if$ +} + +INTEGERS {url.pos url.length} +FUNCTION {filter.url.tex} +{s text.length$ #1 + 'url.length := + #1 'url.pos := "" 't := + {url.pos url.length <} + {s url.pos #1 substring$ + duplicate$ "_" = {pop$ "\underline{\ }" } 'skip$ if$ + duplicate$ "%" = {pop$ "\%" } 'skip$ if$ + duplicate$ "&" = {pop$ "\&" } 'skip$ if$ + duplicate$ "~" = {pop$ "\~{}" } 'skip$ if$ + duplicate$ "/" = {pop$ "\-/" } 'skip$ if$ + duplicate$ "." = {pop$ "\-." } 'skip$ if$ + duplicate$ "\" = {pop$ "{\textbackslash}" } 'skip$ if$ + duplicate$ "#" = {pop$ "\#" } 'skip$ if$ + duplicate$ "_" = {pop$ "\_" } 'skip$ if$ + t swap$ * 't := + url.pos #1 + 'url.pos := + } + while$ +t +} +FUNCTION {filter.url.html} +{s text.length$ #1 + 'url.length := + #1 'url.pos := "" 't := + {url.pos url.length <} + {s url.pos #1 substring$ + duplicate$ "%" = {pop$ "\%" } 'skip$ if$ + duplicate$ "#" = {pop$ "\#" } 'skip$ if$ + duplicate$ "_" = {pop$ "\_" } 'skip$ if$ + t swap$ * 't := + url.pos #1 + 'url.pos := + } + while$ +t +} + +FUNCTION {compose.url} +{'s := + get.url.type + bbl.url.available + abnt.url.package #0 = + { "$<$" * + abnt.doi abnt.doi.expand.to.url = 'expand.doi {s} if$ + * "$>$" *} 'skip$ if$ + abnt.url.package #1 = + { "\url{" * filter.url.html * "}" *} 'skip$ if$ + abnt.url.package #2 = + {url.type http.url = + {"\htmladdnormallink{$<$" * filter.url.tex * "$>$}{" * filter.url.html * "}" *} + 'skip$ if$ + url.type doi.url = url.type ftp.url = or url.type mailto.url = or + {"\htmladdnormallink{$<$" * + abnt.doi abnt.doi.expand.to.url = 'expand.doi {s} if$ + * "$>$}{" * + abnt.doi abnt.doi.leave.as.is = {s} 'expand.doi if$ + * "}" * } + 'skip$ if$ + url.type unknown.url = + {"$<$" * filter.url.tex * "$>$" *} + 'skip$ if$} 'skip$ if$ +} +FUNCTION {format.url} +{ url empty$ 'skip$ + {url compose.url output new.sentence } + if$ + urlaccessdate duplicate$ empty$ 'skip$ + { bbl.url.accessdate swap$ *} + if$ + "urlaccessdate" bibinfo.check output new.sentence +} + +FUNCTION {format.conference.info} +{ conference-number empty$ + 'skip$ + {conference-number "." * output} + if$ + conference-year empty$ + 'skip$ + {conference-year output} + if$ + conference-location empty$ + 'skip$ + {conference-location output} + if$ + new.sentence +} + + +FUNCTION {format.chapter.pages} +{ chapter empty$ + 'format.pages + { type empty$ + { bbl.chapter } + { type "l" change.case$ + "type" bibinfo.check } + if$ + chapter tie.or.space.prefix "chapter" bibinfo.check * * + pages empty$ + 'skip$ + { ", " * format.pages * } + if$ } + if$ +} + +FUNCTION {format.booktitle} +{author empty$ editor empty$ and organization empty$ and + {booktitle format.title.as.author "booktitle" bibinfo.check duplicate$ empty$ 'skip$ {} if$ + booksubtitle empty$ 'skip$ {booksubtitle ": " swap$ * "t" change.case$ * + apply.title.command} if$} + {booktitle "booktitle" bibinfo.check emphasize duplicate$ empty$ 'skip$ {} if$ + booksubtitle empty$ 'skip$ {booksubtitle ": " swap$ * "t" change.case$ * + apply.title.command} if$} +if$ +} +FUNCTION {format.editors} +{ editor empty$ + {"inbook" type$ = 'bbl.same.field 'skip$ if$} + {author empty$ + {editor "editor" format.names " (" * + editortype empty$ {bbl.editor} {editortype} if$ + ")" * * } + {"inbook" type$ = + {bbl.same.field } + {editor "editor" format.names " (" * + editortype empty$ {bbl.editor} {editortype} if$ + ")" * *} + if$} + if$} + if$ +} +FUNCTION {format.in.ed.booktitle} +{ editor empty$ + {organization empty$ not author empty$ not and %if one of two not empty + {word.in organization "u" change.case$ * output + format.conference.info + booktitle empty$ {""} {new.sentence format.booktitle} if$} + {word.in + organization empty$ author empty$ and 'skip$ + {"inbook" type$ = {bbl.same.field * output new.sentence ""} + 'skip$ if$ } if$ + booktitle empty$ 'skip$ {format.booktitle *} if$} + if$} + {word.in format.editors * output + booktitle empty$ {""} {new.sentence format.booktitle} if$} + if$ + output + new.sentence +} +FUNCTION {empty.misc.check} +{ author empty$ title empty$ howpublished empty$ + month empty$ year empty$ note empty$ + and and and and and + key empty$ not and + { "todos os campos relevantes estão vazios ou faltando em " cite$ * warning$ } + 'skip$ + if$ +} +FUNCTION {format.type} +{ type "type" bibinfo.check + duplicate$ empty$ 'skip$ + {new.block "" swap$ * } + if$ +} + + +FUNCTION {format.year} +{year empty$ + { "campo year vazio ou faltando em " cite$ * + abnt.missing.year {" (vou colocar [s.d.])" *} 'skip$ if$ warning$ + abnt.missing.year {", " } {""} if$ bbl.missing.year *} + {year n.dashify "year" bibinfo.check} +if$ +} + +FUNCTION {format.year.presented} +{year-presented empty$ + {""} + {year-presented n.dashify} +if$ +} + +FUNCTION {format.field.address} +{ 't := + address empty$ organization empty$ and url empty$ and t empty$ and + {bbl.no.address.no.publisher} + {address empty$ + %if an url is present we don't give a missing address "[s.l.]" notice + {url empty$ {bbl.no.address ": "} {"" ""} if$} + {address ": "} + if$ + t empty$ + {%if an organization is present then it is OK not to have a publisher + organization empty$ {* bbl.no.publisher * } 'pop$ if$} + {* t * } + if$} + if$ +} + +FUNCTION {format.address} +{address empty$ + { bbl.no.address} + { address} + if$ +} + +FUNCTION {format.publisher.address} +{ publisher "publisher" bibinfo.check format.field.address} + +FUNCTION {format.publisher.address.relax} +{publisher empty$ address empty$ and {""} + {publisher "publisher" bibinfo.check format.field.address} +if$} + +FUNCTION {format.organization.address} +{ organization "organization" bibinfo.check format.field.address} + +%retains current authorship for future use +FUNCTION {compare.authorship} +{abnt.repeated.author.omit + {duplicate$ "" = 'skip$ + {duplicate$ previous.author = + {duplicate$ 'previous.author := + pop$ bbl.same.field + #1 'repeated.author :=} + {duplicate$ 'previous.author := + #0 'repeated.author :=} + if$} + if$} + 'skip$ + if$ +} + +FUNCTION {format.author.or.organization} +{ author empty$ + { organization empty$ 'skip$ + { organization "u" change.case$ "organization" bibinfo.check output} + if$} + { format.authors output.nonnull } + if$ + compare.authorship +} + + +FUNCTION {format.editor.or.organization} +{ editor empty$ + { organization empty$ 'skip$ + { organization "u" change.case$ "organization" bibinfo.check output} + if$} + { format.editors output.nonnull } + if$ + compare.authorship +} + +FUNCTION {format.author.or.editor.or.organization} +{ author empty$ + { editor empty$ + { organization empty$ + 'skip$ + { organization "u" change.case$ "organization" bibinfo.check output} + if$} + { format.editors output.nonnull } + if$} + { format.authors output.nonnull } + if$ + compare.authorship +} + +FUNCTION {format.reprint} +{ reprinted-text missing$ + {""} + {reprinted-text empty$ + {bbl.reprint} {reprinted-text} if$ + bbl.colon *} + if$ +} + +FUNCTION {format.journal} +{ + format.reprint + journal emphasize * +} + + +%generates the first label in \abntrefinfo to be used with \citeonline +FUNCTION {format.names.for.label1} %abnt-alf only +{ 's := "" 't := + #1 'nameptr := s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + {abnt.last.names + {s nameptr "{ll}{ jj}" format.name$} + {s nameptr "{ll}" format.name$ #1 "{ll}" format.name$ + s nameptr "{ jj}" format.name$ *} + if$ + 't := + nameptr #1 > + {namesleft #1 > + { numnames abnt.etal.cite > abnt.etal.cite #0 = not and + {#0 'namesleft := abnt.etal.cite {bbl.etal *} 'skip$ if$} + {", " * t * } if$ } + { t "others" = + {abnt.etal.cite {bbl.etal *} 'skip$ if$} + {numnames nameptr = + {bbl.and * t *} + 'skip$ if$} + if$ + } + if$ } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := } + while$ +} + +%generates the second label in \abntrefinfo to be used with \cite +FUNCTION {format.names.for.label2} %abnt-alf only +{ 's := "" 't := + #1 'nameptr := s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + {abnt.last.names + {s nameptr "{ll}{ jj}" format.name$} + {s nameptr "{ll}" format.name$ #1 "{ll}" format.name$ + s nameptr "{ jj}" format.name$ *} + if$ + abnt.cite.style #0 = {"u" change.case$} 'skip$ if$ 't := + nameptr #1 > + {namesleft #1 > + { numnames abnt.etal.cite > + {#0 'namesleft := abnt.etal.cite {bbl.etal *} 'skip$ if$} + {"; " * t * } if$ } + { t "OTHERS" = t "others" = or + {abnt.etal.cite {bbl.etal *} 'skip$ if$} + {numnames nameptr = { bbl.semicolon * t *} 'skip$ if$} + if$ + } + if$ } + 't + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := } + while$ +} + +FUNCTION {format.title.for.label} +{ 's := + #1 'title.pos := #1 'first.word := + "" 't := + {first.word} + {s title.pos #1 substring$ 'title.char := + title.char "." = title.char ":" = or title.char ";" = or + title.char "," = or title.char " " = or s t = or + {#0 'first.word := + title.pos #1 + 'title.pos :=} + {title.pos #1 + 'title.pos := t title.char * 't :=} + if$ + } + while$ +s t = %title equals first word, dont use bbl.ldots + {t "}{" * t + abnt.cite.style #0 = {"u" change.case$ * } 'skip$ if$} + {t bbl.ldots * "}{" * t + abnt.cite.style #0 = {"u" change.case$} 'skip$ if$ * bbl.ldots *} +if$ +} + +%cvs keys have the general form $key: value $ +INTEGERS {key.pos value.pos} +FUNCTION {extract.cvs.key} %we borrow the functionality of format.title.for.label +{ 's := %holds the entire cvs string + #1 'key.pos := + #0 'value.pos := %0= between first $ and :, 1=between : and second $, 2= at the end + "" 't := %holds the resulting value + {value.pos #0 = value.pos #1 = or} + { s key.pos #1 substring$ 'title.char := + value.pos #0 = + { title.char ":" = {#1 'value.pos := key.pos #1 + 'key.pos :=} 'skip$ if$} + { title.char "$" = + {#2 'value.pos :=} + {t title.char * 't :=} + if$} + if$ + key.pos #1 + 'key.pos := + } + while$ + t +} + +%generates and extended label of type {Author}{AUTHOR}{YEAR} +%for abnt.cite.style=1 they will be of type {Author}{Author}{YEAR} +%final result is placed into variable label +FUNCTION {calc.extended.label} +{ "{" + author empty$ not + {author format.names.for.label1 * "}{" * author format.names.for.label2 *} + {editor empty$ not + {editor format.names.for.label1 * "}{" * editor format.names.for.label2 *} + {org-short empty$ not + {org-short * "}{" * org-short "u" change.case$ *} + {organization empty$ not + {organization * "}{" * organization "u" change.case$ *} + {title empty$ not + {title format.title.for.label *} + {"nada}{NADA" *} + if$} + if$} + if$} + if$} + if$ + "}{" * + year empty$ 'skip$ {year *} if$ + 'label := %place the stack into label + % final } will be placed in reverse.pass +} +%generates and simple label of type "Author YEAR" +%final result is placed onto the stack +FUNCTION {calc.simple.label} +{ author empty$ not + {author format.names.for.label1} + {editor empty$ not + {editor format.names.for.label1} + {organization empty$ not + {organization} + {title empty$ not + {title} + {""} + if$} + if$} + if$} + if$ + year empty$ 'skip$ {" " * year *} if$ +} + +FUNCTION {output.bibitem} +{ newline$ + abnt.alf + {"\bibitem[" write$ + calc.simple.label + write$ "]{"} + {"\bibitem{"} + if$ + write$ cite$ write$ "}" write$ newline$ + abnt.refinfo #1 = {"\abntrefinfo" write$ label write$ newline$} 'skip$ if$ + "{" write$ + "" before.all 'output.state := +} +FUNCTION {output.hiddenbibitem} +{ newline$ + abnt.alf + {"\hiddenbibitem[" write$ + calc.simple.label + write$ "]{"} + {"\bibitem{"} + if$ + write$ cite$ write$ "}" write$ newline$ + abnt.refinfo #1 = {"\abntrefinfo" write$ label write$ newline$} 'skip$ if$ + "{" write$ + "" before.all 'output.state := +} +FUNCTION {fin.entry} +{ add.period$ write$ + reprinted-from empty$ 'skip$ + {" " reprinted-text empty$ + {bbl.reprint} {reprinted-text} if$ * bbl.colon * + "\abntreprintinfo{ " * reprinted-from * "}" * write$} + if$ + abnt-note empty$ 'skip$ + {"\footnote{" abnt-note * "}" * write$} if$ + "}" write$ + %newline$ + write.entry.verbatim +} + +FUNCTION { abnt.display.options} +{ 's := 't := + abnt.show.options #1 = % "warn" + {"opção " t * " passou para " * s * warning$ } 'skip$ if$ + + abnt.show.options #2 = % "list" + {"Op\c c\~ao selecionada {\tt " t * "=}\verb+" * s * "+" * output new.sentence } 'skip$ if$ +} + +FUNCTION { abnt-options1 } + { + abnt-show-options empty$ + 'skip$ + {abnt-show-options "no" = + {#0} {abnt-show-options "warn" = + {#1} {abnt-show-options "list" = + {#2 } {#0 } if$} if$} if$ + 'abnt.show.options :=} % #0 "no"; #1 "warn"; #2 "list" + if$ + + abnt.show.options #2 = + {output.bibitem "Mudan\c ca de estilo ap\'os este ponto com o comando \verb!\citeoption{" + cite$ * "}! " * + output new.sentence} 'skip$ if$ + + abnt-show-options empty$ + 'skip$ {"abnt-show-options" abnt-show-options abnt.display.options} if$ + + abnt-cite-style empty$ + 'skip$ + {abnt-cite-style "(AUTHOR, YEAR)" = + {#0 'abnt.cite.style :=} + {abnt-cite-style "(Author, YEAR)" = + {#1 'abnt.cite.style :=} + {"opção " abnt-cite-style * " desconhecida" * warning$} + if$} + if$ + "abnt-cite-style" abnt-cite-style abnt.display.options}if$ + + abnt-experimental empty$ + 'skip$ {abnt-experimental "yes" = 'abnt.experimental := + "abnt-experimental" abnt-experimental abnt.display.options} if$ + + abnt-emphasize duplicate$ empty$ + 'pop$ {'abnt.emphasize := + "abnt-emphasize" abnt.emphasize abnt.display.options + abnt-emphasize "\bf" = abnt-emphasize "\it" = or abnt-emphasize "\em" = or + abnt-emphasize "\bfseries" = or + {"não use " abnt-emphasize * " para abnt-emphasize em " * cite$ * + ", isto alterará TODO o texto. Use \textbf ou \emph. Veja a documentação abnt-bibtex-doc para mais detalhes." * warning$} + 'skip$ if$ + } if$ + + abnt-doi empty$ + 'skip$ + {abnt-doi "expand" = + {abnt.doi.expand.to.url 'abnt.doi :=} + {abnt-doi "link" = + {abnt.doi.link 'abnt.doi :=} + {abnt-doi "doi" = + {abnt.doi.leave.as.is 'abnt.doi :=} + {"opção " abnt-doi * " desconhecida" * warning$} + if$} + if$} + if$ + "abnt-doi" abnt-doi abnt.display.options}if$ + } +FUNCTION { abnt-options2 } + { + abnt-full-initials empty$ + 'skip$ {abnt-full-initials "yes" = 'abnt.full.initials := + "abnt-full-initials" abnt-full-initials abnt.display.options} if$ + + abnt-last-names empty$ + 'skip$ + {abnt-last-names "abnt" = {#0} + {abnt-last-names "bibtex" = {#1} {#0} if$} if$ + 'abnt.last.names := + "abnt-last-names" abnt-last-names abnt.display.options} + if$ + + + abnt-ldots-type empty$ + 'skip$ + {abnt-ldots-type "none" = {#0} + {abnt-ldots-type "normal" = {#1} + {abnt-ldots-type "math" = {#2} + {abnt-ldots-type "text" = {#1} {#0} + if$} if$} if$} if$ + 'abnt.ldots.type := + "abnt-ldots-type" abnt-ldots-type abnt.display.options} + if$ + + abnt-missing-year empty$ + 'skip$ + {abnt-missing-year "void" = {#0} + {abnt-missing-year "sd" = {#1} {#0} if$} + if$ + 'abnt.missing.year := + "abnt-missing-year" abnt-missing-year abnt.display.options} + if$ + + + abnt-and-type empty$ + 'skip$ {abnt-and-type "and" = + {#0} {abnt-and-type "&" = + {#1} {#0} if$} if$ + 'abnt.and.type := + "abnt-and-type" abnt-and-type abnt.display.options} + if$ + + abnt-thesis-year empty$ + 'skip$ {abnt-thesis-year "final" = + {#0} {abnt-thesis-year "title" = + {#1} {abnt-thesis-year "both" = + {#2} {#0} if$} if$} if$ + 'abnt.thesis.year := + "abnt-thesis-year" abnt-thesis-year abnt.display.options} + if$ + + abnt-refinfo empty$ + 'skip$ {abnt-refinfo "yes" = 'abnt.refinfo := + "abnt-refinfo" abnt-refinfo abnt.display.options} if$ +} +FUNCTION { abnt-options3 } + { + + abnt-dont-use-etal empty$ + 'skip$ {abnt-dont-use-etal "yes" = {#0 'abnt.etal.list :=} 'skip$ if$ + "Uso da opção abnt-dont-use-etal se tornou obsoleto, usamos abnt-etal-list." warning$ + "abnt-etal-list" abnt.etal.list int.to.str$ abnt.display.options} if$ + + abnt-etal-cite empty$ + 'skip$ {abnt-etal-cite str.to.int 'abnt.etal.cite := + "abnt-etal-cite" abnt.etal.cite int.to.str$ abnt.display.options} if$ + + abnt-etal-list empty$ + 'skip$ {abnt-etal-list str.to.int 'abnt.etal.list := + "abnt-etal-list" abnt.etal.list int.to.str$ abnt.display.options} if$ + + abnt-etal-text missing$ + 'skip$ {abnt-etal-text 'abnt.etal.text := + "abnt-etal-text" abnt.etal.text abnt.display.options} if$ + + abnt-no-etal-label empty$ + 'skip$ {abnt-no-etal-label "yes" = {#0 'abnt.etal.cite :=} 'skip$ if$ + "Uso da opção abnt-no-etal-label se tornou obsoleto, usamos abnt-etal-cite." warning$ + "abnt-etal-cite" abnt.etal.cite int.to.str$ abnt.display.options} if$ + + abnt-repeated-author-omit empty$ + 'skip$ {abnt-repeated-author-omit "yes" = + {#1 'abnt.repeated.author.omit :=} + {#0 'abnt.repeated.author.omit := "" 'previous.author :=} if$ + "abnt-repeated-author-omit" abnt-repeated-author-omit abnt.display.options} if$ + + abnt-repeated-title-omit empty$ 'skip$ + {abnt-repeated-title-omit "yes" = + {#1 'abnt.repeated.title.omit :=} + {#0 'abnt.repeated.title.omit := "" 'previous.title :=} if$ + "abnt-repeated-title-omit" abnt-repeated-title-omit abnt.display.options + abnt.repeated.author.omit not abnt.repeated.title.omit and + {"Use abnt-repeated-title-omit=yes junto com abnt-repeated-author-omit=yes" + warning$} 'skip$ if$} if$ + + abnt-title-command empty$ + 'skip$ {abnt-title-command "yes" = + {#1 'abnt.title.command :=} + {#0 'abnt.title.command :=} if$ + "abnt-title-command" abnt-title-command abnt.display.options} if$ + + abnt-url-package empty$ 'skip$ + {abnt-url-package "url" = + {#1 'abnt.url.package :=} + {abnt-url-package "hyperref" = {#2 'abnt.url.package :=} 'skip$ if$} + if$ + "abnt-url-package" abnt-url-package abnt.display.options} + if$ + + abnt-verbatim-entry empty$ + 'skip$ {abnt-verbatim-entry "yes" = 'abnt.verbatim.entry := + "abnt-verbatim-entry" abnt-verbatim-entry abnt.display.options} if$ + + abnt.show.options #2 = 'fin.entry 'skip$ if$ + } + +%we had to break this function in two parts because of the following message: +%Sorry---you've exceeded BibTeX's single function space 100 +%(That was a fatal error) +FUNCTION { iso-options1 } + { + iso-abbreviation empty$ + 'skip$ {iso-abbreviation "standard" = 'iso.abbreviation := + "iso-abbreviation" iso-abbreviation abnt.display.options} if$ + iso-author-punctuation empty$ + 'skip$ {iso-author-punctuation "void" = 'iso.author.punctuation := + "iso-author-punctuation" iso-author-punctuation abnt.display.options} if$ + iso-date-place empty$ + 'skip$ {iso-date-place "ISO" = 'iso.date.place := + "iso-date-place" iso-date-place abnt.display.options} if$ + } + +FUNCTION { abnt-options } + { + abnt-options1 + abnt-options2 + abnt-options3 + iso-options1 + } + +FUNCTION { iso-options } { abnt-options } + +FUNCTION { iso.year.label } +{ iso.date.place + { abnt.alf + {year.label output new.sentence} + 'skip$ if$} + 'skip$ if$} + +FUNCTION { iso.date } +{ iso.date.place + { abnt.alf + 'skip$ + {year output new.sentence} + if$} + 'skip$ if$} + +FUNCTION { non.iso.date } + {iso.date.place 'skip$ {format.date output} if$} + +FUNCTION {article} +{ output.bibitem + format.author.or.organization new.sentence + iso.year.label + format.title "title" output.check new.block + format.journal output + iso.date.place {format.year output} 'skip$ if$ + %iso.date.place {format.date output} 'skip$ if$ + %iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$} + % {format.year output new.sentence} if$ + section "section" bibinfo.check output.dash + publisher "publisher" bibinfo.check output + address "address" bibinfo.check output + format.volume output + format.number output + format.pages output + non.iso.date + format.issn output new.block + format.note output new.block + format.url + fin.entry +} +FUNCTION {book} +{ output.bibitem + format.author.or.editor.or.organization new.sentence + iso.year.label + format.type output new.sentence + format.btitle "title" output.check new.sentence + format.furtherresp new.sentence + format.edition output new.sentence + format.publisher.address output + iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$} + {format.year output new.sentence} if$ + format.volume output new.sentence + format.book.pages output + format.illustrated + format.dimensions new.sentence + format.howpublished output new.sentence + format.volume.number.series output new.sentence + format.note output + format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro + format.isbn output new.sentence + format.url + fin.entry +} +FUNCTION {booklet} +{ output.bibitem + format.author.or.editor.or.organization new.sentence + iso.year.label + format.type output new.sentence + format.btitle "title" output.check new.sentence + format.edition output new.sentence + address "address" bibinfo.check output + format.bvolume output + %format.date output new.sentence + iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$} + {format.year output new.sentence} if$ + format.book.pages output new.sentence + format.volume.number.series output new.sentence + format.note output + format.isbn output new.sentence + format.url + fin.entry +} + +FUNCTION {hidden} +{ output.hiddenbibitem + fin.entry} + +FUNCTION {inbook} +{ output.bibitem + format.author.or.organization new.sentence + iso.year.label + format.title "title" output.check new.block + format.in.ed.booktitle + format.furtherresp new.sentence + format.edition output new.sentence + format.publisher.address output + %format.year output new.sentence + iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$} + {format.year output new.sentence} if$ + format.bvolume.if.no.series output + format.volume.number.series output + format.chapter.pages output new.sentence + format.isbn output new.block + format.note output new.block + format.url + fin.entry +} + +FUNCTION {incollection} +{ output.bibitem + format.author.or.organization new.sentence + iso.year.label + format.title "title" output.check new.sentence + format.in.ed.booktitle + format.edition output new.sentence + format.publisher.address output + %format.year output + iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$} + {format.year output} if$ + format.volume.number.series output new.sentence + format.bvolume.if.no.series output + format.chapter.pages output new.sentence + format.isbn output new.block + format.note output new.block + format.url + fin.entry +} +FUNCTION {inproceedings} +{ output.bibitem + format.author.or.organization new.sentence + iso.year.label + format.title "title" output.check new.sentence + format.in.ed.booktitle + format.publisher.address output + %format.year output new.sentence + iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$} + {format.year output new.sentence} if$ + format.bvolume.if.no.series output + format.volume.number.series output + format.pages output + format.isbn output + format.issn output new.sentence + format.note output new.sentence + format.url + fin.entry +} +FUNCTION {journalpart} +{ output.bibitem + format.author.or.editor.or.organization new.sentence + iso.year.label + format.type output new.sentence + format.btitle "title" output.check new.sentence + format.furtherresp new.sentence + format.edition output new.sentence + format.publisher.address output + format.volume output + format.number output + %format.date output new.sentence + iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$} + {format.date output new.sentence} if$ + format.book.pages output + format.illustrated + format.dimensions new.sentence + format.note output + format.issn output %pode parecer curioso, mas revistas inteiras são tratadas como livro + format.isbn output new.sentence + format.url + fin.entry +} +FUNCTION {conference} { inproceedings } +FUNCTION {manual} +{ output.bibitem + format.author.or.editor.or.organization new.sentence + iso.year.label + format.btitle "title" output.check new.block + format.furtherresp new.sentence + format.edition output new.sentence + format.address output + %format.date output new.sentence + iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$} + {format.year output new.sentence} if$ + format.bvolume.if.no.series output + format.book.pages output new.sentence + format.volume.number.series output new.sentence + format.note output new.sentence + format.url + fin.entry +} + +FUNCTION {misc} +{ output.bibitem + format.author.or.editor.or.organization new.sentence + iso.year.label + format.type output + format.btitle output new.sentence + format.furtherresp new.sentence + format.publisher.address.relax output + %format.date output new.block + iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$} + {format.year output new.sentence} if$ + format.book.pages output new.sentence + format.illustrated + format.dimensions new.sentence + format.howpublished output new.block + format.volume.number.series output new.sentence + format.note output new.block + format.url + fin.entry + empty.misc.check +} + +FUNCTION {patent} +{ output.bibitem + format.editor.or.organization new.sentence + iso.year.label + format.authors.plain output new.sentence + format.btitle output new.sentence + format.furtherresp new.sentence + %format.date output new.block + iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$} + {format.year output new.sentence} if$ + format.patent.number output + format.howpublished output new.block + format.note output new.block + format.url + fin.entry + empty.misc.check +} + +FUNCTION {format.thesis.type} +{ type$ "phdthesis" = + {bbl.phdthesis} + {type$ "mastersthesis" = + {bbl.mthesis} + {type$ "monography" = + {bbl.monography} + {bbl.void} + if$} + if$} + if$ + type empty$ + {type missing$ + {type$ "phdthesis" = + { " (" bbl.phd * ")" *} + {type$ "mastersthesis" = { " (" bbl.master * ")" *} {pop$ ""} if$} + if$} + {""} + if$} + {type$ "thesis" = + {type} + {" (" type * ")" * "type" bibinfo.check} + if$} + if$ + * %joins first and second part of this function +} +FUNCTION {thesis} +{ output.bibitem + format.authors "author" output.check new.block + iso.year.label + format.btitle "title" output.check new.block + abnt.thesis.year #1 = abnt.thesis.year #2 = or + {format.date "year" output.check new.sentence} 'skip$ if$ + format.year.presented output new.sentence + format.book.pages output new.sentence + format.thesis.type output.nonnull + school "school" bibinfo.warn output.dash + address "address" bibinfo.check output + abnt.thesis.year #0 = abnt.thesis.year #2 = or + {format.date "year" output.check new.sentence} 'skip$ if$ + format.note output new.block + format.url + fin.entry +} + +FUNCTION {phdthesis} { thesis } +FUNCTION {mastersthesis} { thesis } +FUNCTION {monography} { thesis } + +FUNCTION {proceedings} +{ output.bibitem + iso.year.label + format.editor.or.organization + format.conference.info + format.btitle "title" output.check + format.bvolume output + format.volume.number.series output + editor empty$ + { publisher empty$ + 'skip$ + { new.sentence format.publisher.address output format.year output} + if$ + } + { publisher empty$ + { new.sentence + format.organization.address output format.year output} + { new.sentence + organization "organization" bibinfo.check output + format.publisher.address output format.year output} + if$ } + if$ + new.sentence format.book.pages output new.sentence + format.isbn output + format.issn output new.block + format.note output new.block + format.url + fin.entry +} + +FUNCTION {techreport} {manual} + +FUNCTION {unpublished} +{ output.bibitem + format.author.or.editor.or.organization new.sentence + iso.year.label + format.title "title" output.check new.sentence + format.note "note" output.check new.sentence + %format.date output new.sentence + iso.date.place {abnt.alf 'skip$ {format.year output new.sentence} if$} + {format.year output new.sentence} if$ + format.url + fin.entry +} + +FUNCTION {default.type} { misc } +READ +FUNCTION {sortify} +{ purify$ + "l" change.case$ +} +INTEGERS { len } +FUNCTION {chop.word} +{ 's := + 'len := + s #1 len substring$ = + { s len #1 + global.max$ substring$ } + 's + if$ +} +FUNCTION {sort.format.names} +{ 's := + #1 'nameptr := + "" + s num.names$ 'numnames := + numnames 'namesleft := + { namesleft #0 > } + { format.single.name 't := + nameptr #1 > + { + nameptr #3 + #1 + = + numnames #3 + > and + { "others" 't := + #1 'namesleft := } + 'skip$ + if$ + " " * + namesleft #1 = t "others" = and + { "zzzzz" * } + { t sortify * } + if$ + } + { t sortify * } + if$ + nameptr #1 + 'nameptr := + namesleft #1 - 'namesleft := + } + while$ +} + +FUNCTION {sort.format.title} +{ 't := + "A " #2 + "An " #3 + "The " #4 t chop.word + chop.word + chop.word + sortify + #1 global.max$ substring$ +} +FUNCTION {any.sort} +{ author empty$ + { organization empty$ + { editor empty$ + { title empty$ + { key empty$ + { "para ordenar, precisa dos campos author, organization, editor, title ou key in " cite$ * warning$ ""} + { key sortify } + if$} + { title sortify} + if$} + { editor sort.format.names } + if$} + { organization sortify } + if$} + { author sort.format.names } +if$ +} + +FUNCTION {presort} +{ + any.sort + " " * year field.or.null sortify * " " * title field.or.null + sort.format.title * #1 entry.max$ substring$ + %for non-alpha style we drop a void sort.key such that SORT has no effect + abnt.alf 'skip$ {pop$ ""} if$ 'sort.key$ := + year empty$ {""} {year} if$ 'year.label := + calc.extended.label +} + +FUNCTION {set.default.abnt.variables} +{ %if you change abnt-num to abnt-alf by hand you need also to change + %the name of RCSfile by hand, otherwise cvs takes care of it. + % + "$RCSfile: abnt-alf.bst,v $ " extract.cvs.key + % + "abnt-alf.bst,v " = 'abnt.alf := % #1 para abnt-alf #0 para abnt-num + "$Revision: v-1.9.7 $" extract.cvs.key 'abnt.bst.revision := + #0 'abnt.and.type := % #0 "and"; #1 "&" + "\emph" 'abnt.emphasize := + #0 'abnt.cite.style := %default norm version for NBR10520 + %#0 \cite=(AUTHOR, YEAR) + %#1 \cite=(Author, YEAR) + #0 'abnt.experimental := + abnt.doi.expand.to.url 'abnt.doi := + #3 'abnt.etal.cite := + #3 'abnt.etal.list := + "et al." 'abnt.etal.text := + #0 'abnt.full.initials := + #0 'abnt.last.names := %#0 abnt-style, #1 bibtex-style + #1 'abnt.ldots.type := %#0 use nothing, #1 use \ldots, #2 use $\ldots$, 3# use {...} + #0 'abnt.missing.year := %#0 "void"; #1 "[s.d.]" + #0 'repeated.author := + #0 'abnt.repeated.author.omit := + #0 'abnt.repeated.title.omit := + #1 'abnt.refinfo := + #0 'abnt.show.options := % #0 "no"; #1 "warn"; #2 "list" + #0 'abnt.thesis.year := % #0 "final"; #1 "title"; #2 "both" + #0 'abnt.title.command := % #0 "no"; #1 "yes" + #0 'abnt.url.package := % #0 "none"'; #2 "url"; #2 "hyperref" + #0 'abnt.verbatim.entry := +} +FUNCTION {set.default.iso.variables} +{ #0 'iso.abbreviation := % #0 ABNT-style; #1 ISO-style + #0 'iso.author.punctuation := % #0 ABNT (Smith, A. B.); #1 ISO (Smith, AB) + #0 'iso.date.place := % #0 ABNT-sty; #1 ISO-style +} +EXECUTE {set.default.abnt.variables} +EXECUTE {set.default.iso.variables} +FUNCTION {process.early.abnt.options} +{%here we intercept all entries which need priority handling + %note: we cannot use type$ at this point + abnt-and-type missing$ + abnt-experimental missing$ and + abnt-etal-cite missing$ and + abnt-etal-text missing$ and + abnt-ldots-type missing$ and + abnt-cite-style missing$ and + abnt-no-etal-label missing$ and + abnt-title-command missing$ and + 'skip$ {call.type$} if$ +} +ITERATE {process.early.abnt.options} +FUNCTION {search.reprinted} +{ reprinted-from missing$ 'skip$ + {"\nocite{" reprinted-from * "}" * write$ newline$ + } + if$ +} +ITERATE {search.reprinted} +FUNCTION {abntreprintinfo} +{"\providecommand{\abntreprintinfo}[1]{%" write$ newline$ + " \citeonline{#1}}" write$ newline$} +EXECUTE {abntreprintinfo} +ITERATE {presort} +SORT +STRINGS { last.label next.extra} +INTEGERS { last.extra.num } +FUNCTION {forward.pass} +{ last.label label = + { last.extra.num #1 + 'last.extra.num := + last.extra.num int.to.chr$ 'extra.label := + } + { "a" chr.to.int$ 'last.extra.num := + "" 'extra.label := + label 'last.label := + } + if$ +} + +FUNCTION {reverse.pass} +{ next.extra "b" = + { "a" 'extra.label := } + 'skip$ + if$ + label extra.label * 'label := + year.label extra.label * 'year.label := + extra.label 'next.extra := + label "}" * 'label := +} +ITERATE {forward.pass} +REVERSE {reverse.pass} +FUNCTION {begin.bib} +{ + abnt.alf + {"\setlength{\labelsep}{0pt}" write$} + 'skip$ + if$ + "\begin{thebibliography}{}" write$ newline$ + preamble$ empty$ + 'skip$ + { preamble$ write$ newline$ } + if$ + abnt.refinfo #1 = + {"\providecommand{\abntrefinfo}[3]{}" write$ newline$} + 'skip$ if$ + "\providecommand{\abntbstabout}[1]{}" write$ newline$ + abnt.title.command + {"\providecommand{\bibtextitlecommand}[2]{#2}" write$ newline$} + 'skip$ if$ + "\abntbstabout{" abnt.bst.revision * "}" * write$ newline$ + %Se você não usa abntcite e precisa que a margem direita não + %seja justificada, descomente a linha seguinte + %alternativamente coloque \bibliography{abnt-nrj,... +% "\setlength{\rightskip}{0pt plus 2cm}" write$ newline$ +} +EXECUTE {begin.bib} +EXECUTE {init.state.consts} +FUNCTION {process.entry}{call.type$} +ITERATE {process.entry} +FUNCTION {end.bib} +{ newline$ "\end{thebibliography}" write$ newline$ +} +EXECUTE {end.bib} +FUNCTION {apresentacao} +{ "+---------------------------------------------------------+" + "| http://www.abntex.net.br/ |" + "| Em caso de dúvidas ou problemas com este estilo procure |" + abnt.alf + {"| Estilo bibliográfico abntex2-alf.bst versão " abnt.bst.revision * " |" *} + {"| Estilo bibliográfico abntex2-num.bst versão " abnt.bst.revision * " |" *} + if$ + "+---------------------------------------------------------+" + stack$ +} +EXECUTE{apresentacao} diff --git a/macros/latex/contrib/unbtex/unbtex-example.pdf b/macros/latex/contrib/unbtex/unbtex-example.pdf Binary files differindex 28d6d900ef..c6ef433f41 100644 --- a/macros/latex/contrib/unbtex/unbtex-example.pdf +++ b/macros/latex/contrib/unbtex/unbtex-example.pdf diff --git a/macros/latex/contrib/unbtex/unbtex-example.tex b/macros/latex/contrib/unbtex/unbtex-example.tex index 3765e66942..420c6b3b5d 100644 --- a/macros/latex/contrib/unbtex/unbtex-example.tex +++ b/macros/latex/contrib/unbtex/unbtex-example.tex @@ -1,7 +1,7 @@ %% %% UnBTeX: A class for bachelor, master, and doctoral thesis at the %% University of Brasilia (UnB), Brazil -%% Version 1.3 2023/10/17 +%% Version 1.3.1 2023/10/18 %% Copyright (C) 2021-2023 by Henrique C. Ferreira <hcferreira@unb.br> %% %% This class file may be distributed and/or modified under the conditions @@ -38,23 +38,8 @@ % Bibliografia nas normas da ABNT, formato autor-data % O formato autor-data facilita a leitura, sobretudo de trabalhos com muitas páginas -\usepackage[brazilian,hyperpageref]{backref} % Paginas com as citações na lista de referências -\usepackage[alf,bibjustif]{abntex2cite} -% Configurações do pacote backref -% Usado sem a opção hyperpageref de backref -\renewcommand{\backrefpagesname}{Citado na(s) página(s):~} -% Texto padrão antes do número das páginas -\renewcommand{\backref}{} -% Define os textos da citação -\renewcommand*{\backrefalt}[4]{ - \ifcase #1 % - Nenhuma citação no texto.% - \or - Citado na página #2.% - \else - Citado #1 vezes nas páginas #2.% - \fi}% -% --- +\RequirePackage[english,brazilian,hyperpageref]{backref} % Paginas com as citações na lista de referências +\RequirePackage[alf,bibjustif]{abntex2cite} % Referências cruzadas automáticas, dependendo do tipo de referência (figuras, tabelas, equações, etc.) \RequirePackage[nameinlink,noabbrev,english,brazilian]{cleveref} @@ -140,7 +125,7 @@ % Local e data \local{Brasília} -\dia{17} +\dia{18} \mes{outubro} \ano{2023} @@ -162,9 +147,9 @@ % Membros da banca \membrodabancai{Prof. Dr. Lourenço Nassib Chehab, UnB/FT/ENE} % Membro 1 - Geralmente é o orientador \membrodabancaifuncao{Orientador} % Em português mesmo que o trabalho seja em inglês. -\membrodabancaii{Prof. Dr. Roberto Aureliano Salmeron, UnB/FT/ENM} % Membro 2 +\membrodabancaii{Prof. Dr. Wilson Gonçalves de Almeida, UnB/FT/ENE} % Membro 2 \membrodabancaiifuncao{Examinador interno} -\membrodabancaiii{Prof. Dr. Anísio Spínola Teixeira, UnB/FT/CIC} % Membro 3 +\membrodabancaiii{Prof. Dr. João Guedes de Campos Barros, UnB/FT/ENE} % Membro 3 \membrodabancaiiifuncao{Examinador interno} \membrodabancaiv{} % deixar vazio se não tiver o quarto membro \membrodabancaivfuncao{Examinador externo} @@ -201,6 +186,34 @@ \renewcommand{\apendicename}{Appendix} } +% Configurações do pacote backref +% Usado sem a opção hyperpageref de backref + +\IfStrEq*{\languagename}{brazil}{ +\renewcommand{\backrefpagesname}{Citado na(s) página(s):~} +% Texto padrão antes do número das páginas +\renewcommand{\backref}{} +% Define os textos da citação +\renewcommand*{\backrefalt}[4]{ + \ifcase #1 % + Nenhuma citação no texto.% + \or + Citado na p. #2.% + \else + Citado nas pp. #2.% + \fi}% + }{ +\renewcommand*{\backrefalt}[4]{% + \ifcase #1 % + No citations.% + \or + Cit. on p. #2.% + \else + Cit. on pp. #2.% + \fi} +} +% --- + % ------------------------------------------------------------------------ % ELEMENTOS PRÉ-TEXTUAIS % ------------------------------------------------------------------------ @@ -358,7 +371,7 @@ This is the english abstract. % --- %{\SingleSpacing \setlength{\nomitemsep}{-\parsep} -\printnomenclature[1.25cm] +\printnomenclature[1.2cm] % A opção do comando \printnomenclature define a largura da primeira coluna das listas \cleardoublepage % --- @@ -417,20 +430,14 @@ This is the english abstract. % Referências bibliográficas % --- -%\defbibheading{bibliography}[\bibname]{\chapter*{#1}} -%\cleardoublepage -%\phantomsection -%\tocprintchapternonum -%\addcontentsline{toc}{chapter}{\texorpdfstring{\bibname}{\bibname}} -%\printbibliography -%\markboth{}{} -% --- - % Arquivos com as referências bibliográficas +\IfStrEq*{\languagename}{english}{ +\bibliographystyle{abntex2eng-alf} +}{ +\bibliographystyle{abntex2-alf} +} \bibliography{unbtex-example/referencias,unbtex-example/references} -%\defbibheading{bibliography}[\refname]{\section*{#1}\sectionmark{\refname}} - % --- % Apêndices % --- diff --git a/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex b/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex index b986afb359..e70fab3bb4 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex +++ b/macros/latex/contrib/unbtex/unbtex-example/apendice-a.tex @@ -2,7 +2,7 @@ \chapter{Citações} % ---------------------------------------------------------- -Este modelo usa Bib\LaTeX\ para configurar as referências. Os arquivo referencias.bib e references.bib contêm várias entradas de bibliografia como modelos \cite{article,book,booklet,inbook}. Esses modelos podem ser utilizados para incluir outras entradas e citá-las por meio do seguinte comando: +Este modelo usa Bib\TeX\ para configurar as referências. Os arquivo referencias.bib e references.bib contêm várias entradas de bibliografia como modelos \cite{article,book,booklet,inbook}. Esses modelos podem ser utilizados para incluir outras entradas e citá-las por meio do seguinte comando: \begin{verbatim} \cite{nome_da_entrada} \end{verbatim} @@ -48,7 +48,7 @@ for preparation of his book series ``The Art of Computer Programming''. TEX has been made freely available by Knuth. \end{citacao} \end{verbatim} -Naturalmente, a referência \verb|grennwade93| deve estar definida no arquivo BibTeX (aqui, \verb|references.bib|). Confira o resultado: +Naturalmente, a referência \verb|grennwade93| deve estar definida no arquivo Bib\TeX\ (aqui, \verb|references.bib|). Confira o resultado: \begin{citacao}{\cite{greenwade93}} TEX is a typesetting program designed for high-quality composition of material that contains a lot of mathematical and technical expressions. It has been adopted by many authors and publishers who generate technical books and papers. It was created by Professor Donald E. Knuth of Stanford University, originally for preparation of his book series ``The Art of Computer Programming''. TEX has been made freely available by Knuth. \end{citacao}
\ No newline at end of file diff --git a/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex b/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex index 707e5ddbc3..148be47e04 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex +++ b/macros/latex/contrib/unbtex/unbtex-example/capitulo2.tex @@ -518,7 +518,7 @@ Além disso, o manual possui informações adicionais sobre as normas ABNT obser \section{Referências bibliográficas} % --- -Para referências bibliográficas que seguem as normas da ABNT são utilizados os pacotes \textsf{biblatex} e \textsf{biblatex-abnt}. Consulte os manuais \citeonline{biblatex} e \citeonline{biblatexabnt} para obter informações sobre como utilizar as referências bibliográficas. +A formatação das referências bibliográficas conforme as regras da ABNT são um dos principais objetivos do \abnTeX. Consulte os manuais \citeonline{abntex2cite} e \citeonline{abntex2cite-alf} para obter informações sobre como utilizar as referências bibliográficas. Embora as normas da ABNT permitam citações utilizando o formato numérico, é recomendado o uso do sistema autor-ano em trabalhos acadêmicos. A razão é que a leitura por parte do avaliador fica mais simples. Basta ver o nome e o ano para se lembrar rapidamente da referência, sem precisar recorrer frequentemente à lista de referências, que fica no final do texto, tornando a leitura mais agradável. @@ -542,7 +542,7 @@ neste modo quando houver conversão para letras maiúsculas. \begin{center} \begin{tabular}{ll}\hline\hline -acento & \textsf{bibtex}\\ +acento & bibtex\\ à á ã & \verb+\`a+ \verb+\'a+ \verb+\~a+\\ í & \verb+{\'\i}+\\ ç & \verb+{\c c}+\\ diff --git a/macros/latex/contrib/unbtex/unbtex-example/referencias.bib b/macros/latex/contrib/unbtex/unbtex-example/referencias.bib index a0b5ab4e88..101f20ada7 100644 --- a/macros/latex/contrib/unbtex/unbtex-example/referencias.bib +++ b/macros/latex/contrib/unbtex/unbtex-example/referencias.bib @@ -1,7 +1,5 @@ %% %% Arquivo utilizado no projeto abnTeX -%% O uso do biblatex no UnBTeX permitiu que o texto do arquivo bib -%% recebesse acentua{\c c}\~ao no padr\~ao pt-br %% @book{ibge1993, @@ -94,6 +92,28 @@ Title = {Configura{\c c}\~ao}, Year = {2012}} +@manual{abntex2cite, + Annote = {Este documento {\'e} derivado do \cite{abnt-bibtex-doc}}, + Author = {Lauro C{\'e}sar Araujo}, + Date-Added = {2013-01-09 10:37:45 +0000}, + Date-Modified = {2015-04-27 22:43:38 +0000}, + Organization = {Equipe abnTeX2}, + Title = {O pacote abntex2cite: Estilos bibliogr{\'a}ficos compat{\'\i}veis com a ABNT NBR 6023}, + Url = {http://www.abntex.net.br/}, + Year = {2015}, + Bdsk-Url-1 = {http://www.abntex.net.br/}} + +@manual{abntex2cite-alf, + Annote = {Este documento {\'e} derivado do \cite{abnt-bibtex-alf-doc}}, + Author = {Lauro C{\'e}sar Araujo}, + Date-Added = {2013-01-09 10:37:45 +0000}, + Date-Modified = {2015-04-27 22:43:44 +0000}, + Organization = {Equipe abnTeX2}, + Title = {O pacote abntex2cite: t{\'o}picos espec{\'\i}ficos da ABNT NBR 10520:2002 e o estilo bibliogr{\'a}fico alfab{\'e}tico (sistema autor-data)}, + Url = {http://www.abntex.net.br/}, + Year = {2015}, + Bdsk-Url-1 = {http://www.abntex.net.br/}} + @manual{memoir, Address = {Normandy Park, WA}, Author = {Peter Wilson and Lars Madsen}, diff --git a/macros/latex/contrib/unbtex/unbtex.cls b/macros/latex/contrib/unbtex/unbtex.cls index 4a78051380..1ee91df2a5 100644 --- a/macros/latex/contrib/unbtex/unbtex.cls +++ b/macros/latex/contrib/unbtex/unbtex.cls @@ -1,7 +1,7 @@ %% %% UnBTeX: A class for bachelor, master, and doctoral thesis at the %% University of Brasilia (UnB), Brazil -%% Version 1.3 2023/10/17 +%% Version 1.3.1 2023/10/18 %% Copyright (C) 2021-2023 by Henrique C. Ferreira <hcferreira@unb.br> %% %% This class file may be distributed and/or modified under the conditions @@ -17,11 +17,12 @@ %% This package consists of the following source file: %% unbtex.cls %% Template files: -%% unbtex-example.pdf, unbtex-example.tex and files within unbtex-example directory +%% unbtex-example.pdf, unbtex-example.tex and files within unbtex-example +%% directory %% \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{unbtex}[2023/10/17 v1.3 Modelo da Universidade de Brasília baseado em abnTeX2] +\ProvidesClass{unbtex}[2023/10/18 v1.3.1 Modelo da Universidade de Brasília baseado em abnTeX2] % --- % Repassa todos os parâmetros a classe abntex2, diff --git a/macros/texinfo/latest/texi2dvi b/macros/texinfo/latest/texi2dvi index f7fff97611..e65b4cfec7 100644 --- a/macros/texinfo/latest/texi2dvi +++ b/macros/texinfo/latest/texi2dvi @@ -1,7 +1,7 @@ #! /bin/sh # texi2dvi --- produce DVI (or PDF) files from Texinfo (or (La)TeX) sources. # -# Copyright 1992-2022 Free Software Foundation, Inc. +# Copyright 1992-2023 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -36,7 +36,7 @@ set -e program=`echo $0 | $SED -e 's!.*/!!'` build_mode=${TEXI2DVI_BUILD_MODE:-local} -build_dir=${TEXI2DVI_BUILD_DIRECTORY:-.} +build_dir=${TEXI2DVI_BUILD_DIRECTORY:-} orig_pwd=`pwd` @@ -151,12 +151,10 @@ Build modes: --tidy same as --build=tidy -c, --clean same as --build=clean --build-dir=DIR specify where the tidy compilation is performed; - implies --tidy; - defaults to TEXI2DVI_BUILD_DIRECTORY [$build_dir] + implies --tidy The MODE specifies where the TeX compilation takes place, and, as a -consequence, how auxiliary files are treated. The build mode can also -be set using the environment variable TEXI2DVI_BUILD_MODE. +consequence, how auxiliary files are treated. Valid values of MODE are: \`local' compile in the current directory, leaving all the auxiliary @@ -166,6 +164,10 @@ Valid values of MODE are: \`clean' same as \`tidy', but remove the auxiliary directory afterwards. Every compilation therefore requires the full cycle. +The build mode can also be set using the environment variable +TEXI2DVI_BUILD_MODE. The tidy build directory can also be set using +the environment variable TEXI2DVI_BUILD_DIRECTORY. + The values of these environment variables are used to run the corresponding commands, if they are set: @@ -195,9 +197,9 @@ EOF version () { cat <<EOF -texi2dvi (GNU Texinfo 7.0.1) +texi2dvi (GNU Texinfo 7.1) -Copyright (C) 2022 Free Software Foundation, Inc. +Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. @@ -1200,10 +1202,9 @@ to tex itself simply not working." # (running missing) and then we end up with things like '"-I"', # and "-I" (including the quotes) is not an option name. This # happens with gettext 0.14.5, at least. - $SED "$comment_iftex" "$command_line_filename" \ - | eval $makeinfo --footnote-style=end -I "$in_dir" $run_mi_includes \ - -o /dev/null --macro-expand=- \ - | $SED "$uncomment_iftex" >"$in_src" + eval $makeinfo -c TEXINFO_OUTPUT_FORMAT=plaintexinfo --iftex --no-ifinfo \ + --footnote-style=end -I "$in_dir" $run_mi_includes \ + "$command_line_filename" >"$in_src" # Continue only if everything succeeded. if test $? -ne 0 \ || test ! -r "$in_src"; then @@ -1214,59 +1215,6 @@ to tex itself simply not working." fi } -# Unfortunately, makeinfo --iftex --no-ifinfo doesn't work well enough -# in versions before 5.0, as makeinfo can't parse the TeX commands -# inside @tex blocks, so work around with sed. -# -# This sed script preprocesses Texinfo sources in order to keep the -# iftex sections only. We want to remove non-TeX sections, and comment -# (with `@c _texi2dvi') TeX sections so that makeinfo does not try to -# parse them. Nevertheless, while commenting TeX sections, don't -# comment @macro/@end macro so that makeinfo does propagate them. -# Similarly, preserve the @top node to avoid makeinfo complaining about -# it being missed. Comment it out after preprocessing, so that it does -# not appear in the generated document. -# -# We assume that `@c _texi2dvi' or `@c (_texi2dvi)' starting a line is -# not present in the document. Additionally, conditionally defined -# macros inside the @top node may end up with the wrong value, although -# this is unlikely in practice. -# -comment_iftex=\ -'/^@tex/,/^@end tex/{ - s/^/@c _texi2dvi/ -} -/^@iftex/,/^@end iftex/{ - s/^/@c _texi2dvi/ - /^@c _texi2dvi@macro/,/^@c _texi2dvi@end macro/{ - s/^@c _texi2dvi// - } -} -/^@ifnottex/,/^@end ifnottex/{ - s/^/@c (_texi2dvi)/ - /^@c (_texi2dvi)@node Top/,/^@c (_texi2dvi)@end ifnottex/ { - /^@c (_texi2dvi)@end ifnottex/b - s/^@c (_texi2dvi)// - } -} -/^@ifinfo/,/^@end ifinfo/{ - /^@node/p - /^@menu/,/^@end menu/p - t - s/^/@c (_texi2dvi)/ -} -s/^@ifnotinfo/@c _texi2dvi@ifnotinfo/ -s/^@end ifnotinfo/@c _texi2dvi@end ifnotinfo/' - -# Uncomment @iftex blocks by removing any leading `@c texi2dvi' (repeated -# copies can sneak in via macro invocations). Likewise, comment out -# the @top node inside a @ifnottex block. -uncomment_iftex=\ -'s/^@c _texi2dvi\(@c _texi2dvi\)*// -/^@c (_texi2dvi)@ifnottex/,/^@c (_texi2dvi)@end ifnottex/{ - s/^/@c (_texi2dvi)/ -}' - # insert_commands - Insert $textra commands at the beginning of the file. # Recommended to be used for @finalout, @smallbook, etc. @@ -1748,7 +1696,7 @@ while test x"$1" != x"$arg_sep"; do -~ ) verbose "Option -~ is obsolete: texi2dvi ignores it.";; -b | --batch) ;; # Obsolete --build) shift; build_mode=$1;; - --build-dir) shift; build_dir=$1; build_mode=tidy;; + --build-dir) shift; build_dir=$1;; -c | --clean) build_mode=clean;; -D | --debug) debug=true;; -e | -E | --expand) expand=true;; @@ -1797,6 +1745,11 @@ done # Pop the token shift +# If build_dir given, switch from --local to --tidy +if test x"$build_dir" != x"" && test x"$build_mode" = x"local" ; then + build_mode=tidy +fi + # $tidy: compile in a t2d directory. # $clean: remove all the aux files. case $build_mode in @@ -1902,7 +1855,8 @@ do # in compiling this document. case $build_dir in '' | . ) t2ddir=$out_noext.t2d ;; - *) # Avoid collisions between multiple occurrences of the same + *) ensure_dir "$build_dir" + # Avoid collisions between multiple occurrences of the same # file, so depend on the output path. Remove leading `./', # at least to avoid creating a file starting with `.!', i.e., # an invisible file. The sed expression is fragile if the cwd @@ -1914,7 +1868,7 @@ do # Remove it at exit if clean mode. trap "cleanup" 0 1 2 15 - ensure_dir "$build_dir" "$t2ddir" + ensure_dir "$t2ddir" # Sometimes there are incompatibilities between auxiliary files for # DVI and PDF. The contents can also change whether we work on PDF diff --git a/macros/texinfo/latest/texi2pdf b/macros/texinfo/latest/texi2pdf index 373d201319..2d2824613c 100644 --- a/macros/texinfo/latest/texi2pdf +++ b/macros/texinfo/latest/texi2pdf @@ -21,9 +21,9 @@ test -n "${ZSH_VERSION+set}" && alias -g '${1+"$@"}'='"$@"' # obliged to. if test "x$1" = x--version; then cat <<EOF -texi2pdf (GNU Texinfo 7.0.1) +texi2pdf (GNU Texinfo 7.1) -Copyright (C) 2022 Free Software Foundation, Inc. +Copyright (C) 2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. diff --git a/support/TeX4ht/source/ChangeLog b/support/TeX4ht/source/ChangeLog index c19010df41..310051b589 100644 --- a/support/TeX4ht/source/ChangeLog +++ b/support/TeX4ht/source/ChangeLog @@ -1,3 +1,9 @@ +2023-10-18 Michal Hoftich <michal.h21@gmail.com> + + * tex4ht-4ht.tex (cprotect.4ht): remove spurious characters from the + \cprotect command. + https://puszcza.gnu.org.ua/bugs/?246 + 2023-10-16 Michal Hoftich <michal.h21@gmail.com> * tex4ht-4ht.tex (hyperref.4ht): declare the \Hy@PageAnchorSlide diff --git a/support/TeX4ht/source/mktex4ht-cnf.tex b/support/TeX4ht/source/mktex4ht-cnf.tex index 67c9ab6e13..77190a86fe 100644 --- a/support/TeX4ht/source/mktex4ht-cnf.tex +++ b/support/TeX4ht/source/mktex4ht-cnf.tex @@ -1,4 +1,4 @@ -% $Id: mktex4ht-cnf.tex 1392 2023-10-16 09:25:25Z michal_h21 $ +% $Id: mktex4ht-cnf.tex 1395 2023-10-18 20:38:31Z michal_h21 $ % Manually-maintained file, listing *.4ht files created by tex4ht-4ht.tex. % Read by tex4ht-cond4ht. % @@ -297,6 +297,7 @@ \AddFile{7}{awesomebox} \AddFile{7}{transparent} \AddFile{7}{changepage} +\AddFile{7}{cprotect} \AddFile{7}{alltt} \AddFile{9}{lb} \AddFile{7}{latin1} diff --git a/support/TeX4ht/source/tex4ht-4ht.tex b/support/TeX4ht/source/tex4ht-4ht.tex index 53ca499d28..d9c2de66c3 100644 --- a/support/TeX4ht/source/tex4ht-4ht.tex +++ b/support/TeX4ht/source/tex4ht-4ht.tex @@ -1,4 +1,4 @@ -% $Id: tex4ht-4ht.tex 1394 2023-10-16 13:06:26Z michal_h21 $ +% $Id: tex4ht-4ht.tex 1395 2023-10-18 20:38:31Z michal_h21 $ % tex tex4ht-4ht or ht tex tex4ht-4ht % % Copyright 2009-2023 TeX Users Group @@ -33170,6 +33170,32 @@ format configuration. >>> %%%%%%%%%%%%%%%%%%%%%%% +\Section{cprotect.sty} +%%%%%%%%%%%%%%%%%%%%%%% +\<cprotect.4ht\><<< +% cprotect.4ht (|version), generated from |jobname.tex +% Copyright 2023 TeX Users Group +|<TeX4ht license text|> +|<cprotect shared config|> +\Hinput{cprotect} +\endinput + +>>> \AddFile{7}{cprotect} + +Cprotect package can protect commands and environments. It adds some +special characters at the end of the protected content. Because +of chatcode issues caused by redefinition of the hat character by TeX4ht, +these characters were displayed verbatim in the document. This definition +should fix the catcode issue and prevent this problem + +\<cprotect shared config\><<< +{ +\catcode`\^=7 +\gdef\CPT@hat@hat@E@hat@hat@L{^^E^^L} +} +>>> + +%%%%%%%%%%%%%%%%%%%%%%% \Section{alltt.sty} %%%%%%%%%%%%%%%%%%%%%%% diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl index 60710a9b03..eb88760178 100644 --- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl @@ -176,9 +176,6 @@ $mirrors = { 'https://mirror.quantum5.ca/CTAN/' => 1, 'https://muug.ca/mirror/ctan/' => 1, }, - 'Costa Rica' => { - 'https://mirrors.ucr.ac.cr/CTAN/' => 1, - }, 'USA' => { 'http://mirrors.ibiblio.org/pub/mirrors/CTAN/' => 1, 'https://ctan.math.illinois.edu/' => 1, diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index 6f54837f88..50438c8418 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb @@ -26,11 +26,11 @@ depend container_split_src_files/1 depend frozen/0 depend minrelease/2016 depend release/2023 -depend revision/68575 +depend revision/68588 name 00texlive.image category TLCore -revision 68545 +revision 68586 shortdesc TeX Live files only in the source repository longdesc The files here are not copied by the installer and containers longdesc are not built for them; they exist only in the source @@ -4793,7 +4793,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 68560 +revision 68577 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 @@ -142694,7 +142694,7 @@ catalogue-version 1.3 name hecthese category Package -revision 60455 +revision 68584 shortdesc A class for dissertations and theses at HEC Montreal relocated 1 longdesc This package provides the hecthese class, a class based on @@ -142711,11 +142711,11 @@ longdesc for each of the included articles and a general bibliography longdesc for the entire document. The hecthese class takes care of these longdesc requirements. The class depends on babel, color, enumitem, longdesc fontawesome, framed, numprint, url, and hyperref. -containersize 3980 -containerchecksum c7956496814a25dbcd42c7f0034e32cb40746da09e8a7d527b1b5cdc4d557971b55117ad35b60db18e21bd2433f13d3850fdf9e2364184c0dd9e7a248be2896b -doccontainersize 893252 -doccontainerchecksum 680b2cc373f0b7bb265ff01f3d07fff56c07e5c789a7528a2257b2e4282da510874611a4754c5b65d88ded8b8b32ad1343706dd1d77e8a4594c7291fa5b201d5 -docfiles size=304 +containersize 3780 +containerchecksum ca64dc8ca2265ea038ac3c2250c4ead4aedcfda74ee28077db2b9f4019f2ea304ed02e7349ad0a191012d2c903a1ed21b879459c048b29827ea3478115c935b0 +doccontainersize 891164 +doccontainerchecksum 28e1e4940bad5a6f76160f42adbf3f5f793cc9a7cd869dfee2389229335c09036044d79d3e14f179d5e8bf32304c04fd23ff997a116338c4a3500906fa6bd1c0 +docfiles size=313 RELOC/doc/latex/hecthese/README.md details="Readme" RELOC/doc/latex/hecthese/abstract-english.tex RELOC/doc/latex/hecthese/abstract-french.tex @@ -142756,20 +142756,20 @@ docfiles size=304 RELOC/doc/latex/hecthese/template-phd-articles.tex RELOC/doc/latex/hecthese/template-phd-classic.tex RELOC/doc/latex/hecthese/theoretical-framework.tex -srccontainersize 30608 -srccontainerchecksum fd4318bb47d45336d5010544f0e048a8b23d1a2f33cb0c7c24d54fcca59c20ae62887285dbb128f234170dc0cd057e96793b8012274ff400e2f63da0821dd309 -srcfiles size=34 +srccontainersize 28036 +srccontainerchecksum 348f79081082f3b1c6362b2bc7a59b7d55947955a482bc5f323119ce3a47158ac07f44c2a95aaeaa3a3c9f2d99f322f3a163b90bc7522d613d55311973639ee4 +srcfiles size=30 RELOC/source/latex/hecthese/hecthese-en.ins RELOC/source/latex/hecthese/hecthese-fr.ins RELOC/source/latex/hecthese/hecthese.dtx -runfiles size=4 +runfiles size=3 RELOC/tex/latex/hecthese/hecthese.cls catalogue-contact-home http://www.hec.ca/biblio catalogue-contact-repository https://github.com/metalogueur/hecthese catalogue-ctan /macros/latex/contrib/hecthese catalogue-license lppl1.3c catalogue-topics dissertation class -catalogue-version 1.5 +catalogue-version 2.0 name helmholtz-ellis-ji-notation category Package @@ -146608,7 +146608,7 @@ catalogue-version 0.37 name hvfloat category Package -revision 68567 +revision 68586 shortdesc Controlling captions, fullpage and doublepage floats relocated 1 longdesc This package defines a macro to place objects (tables and @@ -146620,11 +146620,11 @@ longdesc \hvFloat{figure}{\includegraphics{rose}}{Caption}{fig:0}. longdesc Options are provided to place captions to the right or left, longdesc and rotated. Setting nonFloat=true results in placing the float longdesc here. -containersize 11208 -containerchecksum cb535d6e859db2f09753e88e38f5413fe733d7f2c7045dbd840fa58256d2d08c44eebbf2c2bea775bab431914bb5e8393f7e239f55f2a0f9f577b67c3ecfd662 -doccontainersize 15515644 -doccontainerchecksum e067eacfcdd0d2862464baed252b5880d3ae2fe94f29ce098e373678764b3e0386cc0e57f5227bf4ac3f82609ad40b46fb24d8843feb6e8682b40c80b7ea9601 -docfiles size=8687 +containersize 14096 +containerchecksum 21124f93545ffc5a025e24a09f50457aa16b8936044c4a510a626c812ccb13cc028e6ef6cd89fb64064c39b328ed47d227d40986cab75d6efb54c734774c3cf8 +doccontainersize 15511220 +doccontainerchecksum 737fd24c8fe61f2af825ba28b71a16c2e094a50835543c8fea6b317cefecda94602afdb70c8df24a671a1e9af219350acaa368295072fba1193de8db566eca40 +docfiles size=8677 RELOC/doc/latex/hvfloat/CTAN.png RELOC/doc/latex/hvfloat/Changes RELOC/doc/latex/hvfloat/README details="Readme" @@ -146667,9 +146667,6 @@ docfiles size=8687 RELOC/doc/latex/hvfloat/fullpage1s1c.tex RELOC/doc/latex/hvfloat/fullpage1s2c.pdf RELOC/doc/latex/hvfloat/fullpage1s2c.tex - RELOC/doc/latex/hvfloat/hvfloat-0.inc - RELOC/doc/latex/hvfloat/hvfloat-1.inc - RELOC/doc/latex/hvfloat/hvfloat-2.inc RELOC/doc/latex/hvfloat/hvfloat.pdf details="Package documentation" RELOC/doc/latex/hvfloat/hvfloat.tex RELOC/doc/latex/hvfloat/inner1s2c.pdf @@ -146766,7 +146763,10 @@ docfiles size=8687 RELOC/doc/latex/hvfloat/wide1s2c.tex RELOC/doc/latex/hvfloat/wide2s2c.pdf RELOC/doc/latex/hvfloat/wide2s2c.tex -runfiles size=18 +runfiles size=28 + RELOC/tex/latex/hvfloat/hvfloat-0.inc + RELOC/tex/latex/hvfloat/hvfloat-1.inc + RELOC/tex/latex/hvfloat/hvfloat-2.inc RELOC/tex/latex/hvfloat/hvfloat-fps.sty RELOC/tex/latex/hvfloat/hvfloat.sty catalogue-also rotating @@ -259533,7 +259533,7 @@ catalogue-version 1.0 name proflycee category Package -revision 68482 +revision 68585 shortdesc A LaTeX package for French maths teachers in high school relocated 1 longdesc This package provides some commands to help French mathematics @@ -259542,11 +259542,11 @@ longdesc create splines with "derivative control"; longdesc \CalculFormelParametres and \CalculFormelLigne in order to longdesc create an xcas-windows-like; \CodePythonLstFichier to create longdesc code presentation and code execution with pythontex. -containersize 40712 -containerchecksum 0e2f2115a74069801e1904c27baee1df2d3517115d4308235b251f6b51d0732f8030b47ae85a7dbc72142d0eee9a0444c7cfd4b9939f839088fc734f4be35b47 -doccontainersize 1419076 -doccontainerchecksum 5cd85b039535d718fd1f600703cb9b0f7bab78b46a2d01f3d052f56f6329444216ee1b2dea382d1d461dab8f2146d60eb10890643caa8004208f1bd296164dea -docfiles size=439 +containersize 41292 +containerchecksum 47109a6faf77db977e5284177d7ac6becc2f7b74272d29fa1446f56b4097e3ce168014e7ad5beda54d482c5b41c731b96291eaef7dd4332f97c713dbba0271d9 +doccontainersize 1524896 +doccontainerchecksum ad3457e4cf6534df6cc575824d0d785daa38b1f21d74624a207658c1bbacc7f6411a5036c9a7948d8c081528962cac8f4b23b500512bf7c6df829aab577c2b8a +docfiles size=467 RELOC/doc/latex/proflycee/ProfLycee-doc.pdf details="Package documentation" language="fr" RELOC/doc/latex/proflycee/ProfLycee-doc.tex RELOC/doc/latex/proflycee/ProfLycee-exemples-pyluatex.pdf details="Examples using pyluatex" language="fr" @@ -259596,7 +259596,7 @@ catalogue-contact-repository https://github.com/cpierquet/ProfLycee catalogue-ctan /macros/latex/contrib/proflycee catalogue-license lppl1.3c catalogue-topics maths french teaching expl3 pgf-tikz -catalogue-version 2.7.8 +catalogue-version 2.7.9 name profmaquette category Package @@ -304368,7 +304368,7 @@ binfiles arch=x86_64-solaris size=1 name tex4ht category Package -revision 68570 +revision 68587 shortdesc Convert (La)TeX to HTML/XML longdesc A converter from TeX and LaTeX to SGML-based formats such as longdesc (X)HTML, MathML, OpenDocument, and Docbook, providing a @@ -304389,10 +304389,10 @@ longdesc files from them is nontrivial, and generally done with the longdesc Makefile in development, from which the TeX4ht package in TeX longdesc Live is updated. depend tex4ht.ARCH -containersize 1103704 -containerchecksum 74b9ff3f8a114e2aa0d6c2615f5034afff4d0b2d5287b050618dd58c04b5977c4985f2adbbb586d59c6444d674d8d711d31d3c2dcb3eb190f65a14cb35e2da33 +containersize 1103804 +containerchecksum a23d6a4adf5b12312db5493124c71357223591d8849daf7c3bc3dbecb0a8593824aafcacf4ab6eec9d29d9c68357f9112a80a98bcea920fa66ebeb441aa02aed doccontainersize 136384 -doccontainerchecksum 025cd141ff6ad612f54f304a4d004c2b3b7ee515eda7f8618fb5a47a9472b112b7a012e9aaaf4624410e9a90f465c47b16c37a07a82e5ceb1049870f13563d7f +doccontainerchecksum d949527685d07cebf3657cb0bfd0449f4dbe6f26bcf3426870da8ab52cab80a569d7063f9c7ca5c450540d6ebd8139fd6b74f5d22b5ac7701ee73c3c86eb781a docfiles size=260 texmf-dist/doc/generic/tex4ht/Makefile texmf-dist/doc/generic/tex4ht/README details="Readme" @@ -304464,9 +304464,9 @@ docfiles size=260 texmf-dist/doc/generic/tex4ht/mn56.html texmf-dist/doc/generic/tex4ht/mn5x.png texmf-dist/doc/generic/tex4ht/mn6x.png -srccontainersize 1455964 -srccontainerchecksum f4099f2e4a1a7fec95218090248160a5250fb6ae6f3b66f7fa7590a1efd094c62042f0ac0fedbd682a5f47542b04478eb97b1a9f5cec0b660a08706881fe9588 -srcfiles size=4398 +srccontainersize 1457616 +srccontainerchecksum 24d988f3d4fb6f0cd27976ed207130b5cc23eab158ba955659cb4f8c91c1b13e380e786d3f300f1e8bf065e8b464d35bb1d1df5c446144da821a81a6dfddca37 +srcfiles size=4399 texmf-dist/source/generic/tex4ht/ChangeLog texmf-dist/source/generic/tex4ht/Makefile texmf-dist/source/generic/tex4ht/README @@ -304545,7 +304545,7 @@ srcfiles size=4398 texmf-dist/source/generic/tex4ht/update-htfonts texmf-dist/source/generic/tex4ht/wripro.tex texmf-dist/source/generic/tex4ht/xtpipes.tex -runfiles size=12250 +runfiles size=12251 texmf-dist/scripts/tex4ht/ht.sh texmf-dist/scripts/tex4ht/htcopy.pl texmf-dist/scripts/tex4ht/htlatex.sh @@ -304659,6 +304659,7 @@ runfiles size=12250 texmf-dist/tex/generic/tex4ht/cp852.4ht texmf-dist/tex/generic/tex4ht/cp862.4ht texmf-dist/tex/generic/tex4ht/cp865.4ht + texmf-dist/tex/generic/tex4ht/cprotect.4ht texmf-dist/tex/generic/tex4ht/croatian.4ht texmf-dist/tex/generic/tex4ht/csbulletin.4ht texmf-dist/tex/generic/tex4ht/csquotes.4ht @@ -315970,7 +315971,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 68572 +revision 68577 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. @@ -315978,10 +315979,10 @@ depend texlive-scripts.ARCH depend texlive.infra execute addMap mathpple.map postaction shortcut type=menu name="TeX Live command-line" cmd=TEXDIR/tlpkg/installer/tl-cmd.bat -containersize 114100 -containerchecksum 299a4844698011c79e6c7c49e772f425c927020773792d7227caf9ab813cc3d708ceb311a2e2685ca942f93d7d8a659570872d407c627b42b7823ad71355062c +containersize 114068 +containerchecksum ecf81e87dfd194a220bbe2d133bac73afa8ee5749515ca82c94a9bfd8c82592d1a7ed6c178ee3fab6ca00d7844ea8fb2cb05d023497c348b581fee2ec17fe0dd doccontainersize 428184 -doccontainerchecksum 37d8cc934155669599b0dec7ec6661e9937e09921db3eb7b57dbff8fb993d85a463a6ec24743c66e3b4aa42074b8a671517f713dd0b00acfb3ef7365f81717d6 +doccontainerchecksum f9ed51a862b807f2a63d5f61654ef9319589963d790e8fcf1745bac1bf151468a767ff151d60ca145ac548c4b8e7688691133eb44a2b1b90e613b81ce74abb9e docfiles size=549 doc.html texmf-dist/doc/man/man1/fmtutil-sys.1 @@ -351848,7 +351849,7 @@ catalogue-topics biblatex name wintools.windows category TLCore -revision 68417 +revision 68588 shortdesc utilities provided only for Windows longdesc Common utilities, mainly from the w32tex distribution. postaction filetype name="TL.PSViewer.view" cmd='"TEXDIR/bin/windows/psviewer.exe" "%1"' @@ -351863,10 +351864,10 @@ postaction progid extension=.png filetype="TL.bitmap2eps.convert" postaction progid extension=.ps filetype="TL.PSViewer.view" postaction progid extension=.tif filetype="TL.bitmap2eps.convert" postaction progid extension=.tiff filetype="TL.bitmap2eps.convert" -containersize 5556880 -containerchecksum 4c7998cae5a1c38e948cf34995d21af7dae4356ca8012fd214f78a4ae658e59a3a36f8d9e260b23983e18681e10caf5c92984845db28a87103d508721efd07a3 +containersize 5549912 +containerchecksum 69b03e87dce2c8b45d63038d6418b0935dd6561593d286a6d20b0719e70db362bd31351a94be6a70486a9a454e59270022914c469d52a82b78f9029dc051fc27 doccontainersize 979592 -doccontainerchecksum e49e5b06682c03cf6984d3b4cb2b671d5caf84d34893c64d129366d27cd169e1749df841b3ecb9042fd52791fbe704e3cb3eb73f3737b4ba4c486393885c5808 +doccontainerchecksum fa81983116740c8363ecc25daf272059cb4502b9a23a00eb21b1515ffef338ceaff7db4251e5edfedf4b23f66e65333dc0c564434f34f2a10296e532f59500cc docfiles size=331 texmf-dist/doc/support/bitmap2eps/bitmap2eps.README texmf-dist/doc/support/psviewer/psviewer.README @@ -351907,7 +351908,7 @@ runfiles size=4 texmf-dist/scripts/psviewer/psviewer.vbs texmf-dist/scripts/tlaunch/tlaunchmode.pl texmf-dist/web2c/tlaunch.ini -binfiles arch=windows size=11209 +binfiles arch=windows size=11197 bin/windows/aftopl.exe bin/windows/bitmap2eps.exe bin/windows/bmeps.exe diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 index 9750b6b82b..883e989d9a 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -b13a1ea4f66121112c8873f7f2b20353 texlive.tlpdb +ac5300edfacd68000d6e26484c2586eb texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index e580dfbfa1..5eb4f60bde 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -b21e1cd1a0a11b24562e3e5a634f4a55d1adfd677f7d4e22d8f58b2fe5650baf8e16dfa5e0a40e7904a5a28da252fc51c716a81a8c827eb9211bf20cbe9753e3 texlive.tlpdb +334145dc3601b43a5e5a63147633663616ae539c6a4f291753290d6e2495cd9457472a6fdb45dc5e68e6e8a7e2514b03484424d103d5740ba6af335c9c5638f4 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index 8dc9b32d06..20932cfb9b 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc @@ -1,11 +1,11 @@ -----BEGIN PGP SIGNATURE----- -iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmUvHKEACgkQTOGHfhlD -jHAcwgf+KU2TcoImC9zcqrOihwvKf9BtXUNRwIAs4rdQIfk/hOSy7JNF5qWw1+gH -We0n474wwC//31J1ElUhIVOFJe0KBDeC5ADs57z6meIBoY3HHWUtVNikPB5Achdq -MnqP+NeHmMbWSQeisPa8hb1grXTxVmKMkvnbL4pXl3eMBcyeIdFec9UHOY4FGtMc -sp/zxnD8eTHdlbR4YFF62lhEcorE/E5fX359sRfcZx47paC5NdVL3mPCrwAgC7VR -qBEDAx9ptBWjr9cs9wfHLPR7mozIlbUZlcFSGerTXdNECd6PgQNGmIDZ1XkLISS2 -2jfptd0PnuHg1viHGGKfcwO852byew== -=Iw7Z +iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmUwbgQACgkQTOGHfhlD +jHD74gf9EmmBiS4Tg+UogyXo0Gl7YS8PMjv5wiGcD41pqUMo2PlhKl/6v0/eP2OL +wzjCE6ijTha5IjK/EaUN0nbRbeAzTA1aIVToMSEPY/Wmv6bRClmSteWfdEf540+B +1buR4hzXfSwIBiBDvcJgYbQHzVI6nWLetxjHsqr2pyukriPDGjAjnlSVr79N3m79 +FN2qIZcdGLPuC0jQ/Gjj6sX7BmgaQiFLK0byjTfQ7CRIe8JKxGDDStdGR0JF+YFc +8E2FiouoXR3MayZuMaa/TTV3itQ5KdyHTx/SCiT3cm2IwQ6yfbyYSX8S/ae9HE8a +V1V6Ntyan+k8WAUuZ2gmL3uqzEp6Cw== +=nVGE -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz Binary files differindex 0a259b7269..690c7947d0 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz @@ -2,4 +2,4 @@ # The source CTAN of this site's material: dante.ctan.org # The year-month-day-hour-minute of this site's material: -2023-10-18-02-02 +2023-10-19-02-02 |