summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CTAN.sites3
-rw-r--r--FILES.byname163
-rw-r--r--FILES.byname.gzbin2537087 -> 2537098 bytes
-rw-r--r--FILES.last07days214
-rw-r--r--biblio/ctan-bibdata/ctan.bib24
-rw-r--r--biblio/ctan-bibdata/ctan.pdfbin3684256 -> 3685645 bytes
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdfbin692493 -> 307885 bytes
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex379
-rw-r--r--graphics/pgf/contrib/profsio/tex/ProfSio.sty583
-rw-r--r--graphics/pstricks/contrib/pst-math/Changes1
-rw-r--r--graphics/pstricks/contrib/pst-math/README7
-rw-r--r--graphics/pstricks/contrib/pst-math/doc/pst-math-doc.pdfbin228170 -> 253131 bytes
-rw-r--r--graphics/pstricks/contrib/pst-math/doc/pst-math-doc.tex4
-rw-r--r--graphics/pstricks/contrib/pst-math/latex/pst-math.sty8
-rw-r--r--graphics/pstricks/contrib/pst-math/tex/pst-math.tex4
-rw-r--r--language/japanese/BX/bxjscls/README-ja.md2
-rw-r--r--language/japanese/BX/bxjscls/README.md1
-rw-r--r--language/japanese/BX/bxjscls/bxjscls-manual.pdfbin395561 -> 395675 bytes
-rw-r--r--language/japanese/BX/bxjscls/bxjscls-manual.tex4
-rw-r--r--language/japanese/BX/bxjscls/bxjscls.dtx187
-rw-r--r--language/japanese/BX/bxjscls/bxjscls.pdfbin863059 -> 864780 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdfbin128266 -> 128252 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdfbin139142 -> 168279 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex42
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdfbin74184 -> 74185 bytes
-rw-r--r--macros/latex/contrib/lettrine/doc/lettrine.pdfbin122711 -> 125776 bytes
-rw-r--r--macros/latex/contrib/lettrine/lettrine-2023-04-18.sty290
-rw-r--r--macros/latex/contrib/lettrine/lettrine.dtx137
-rw-r--r--macros/xetex/latex/facture/Makefile28
-rw-r--r--macros/xetex/latex/facture/README7
-rw-r--r--macros/xetex/latex/facture/README.md91
-rw-r--r--macros/xetex/latex/facture/exemple.pdfbin23292 -> 19097 bytes
-rw-r--r--macros/xetex/latex/facture/exemple.tex10
-rw-r--r--macros/xetex/latex/facture/exemplesansTVA.pdfbin19387 -> 16117 bytes
-rw-r--r--macros/xetex/latex/facture/exemplesansTVA.tex6
-rw-r--r--macros/xetex/latex/facture/exemplesansremise.pdfbin22875 -> 18831 bytes
-rw-r--r--macros/xetex/latex/facture/exemplesansremise.tex8
-rw-r--r--macros/xetex/latex/facture/facture.dtx978
-rw-r--r--macros/xetex/latex/facture/facture.ins10
-rw-r--r--macros/xetex/latex/facture/facture.pdfbin97571 -> 73082 bytes
-rw-r--r--macros/xetex/latex/facture/issue7.pdfbin23183 -> 0 bytes
-rw-r--r--macros/xetex/latex/facture/makefile27
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb115
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.md52
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha5122
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc16
-rw-r--r--systems/texlive/tlnet/tlpkg/texlive.tlpdb.xzbin2457188 -> 2457384 bytes
-rw-r--r--timestamp2
48 files changed, 2434 insertions, 921 deletions
diff --git a/CTAN.sites b/CTAN.sites
index 2446a05ced..1a179194e0 100644
--- a/CTAN.sites
+++ b/CTAN.sites
@@ -211,9 +211,6 @@ by country):
URL: https://www.texlive.info/CTAN/
- ctan.crest.fr (France)
- URL: https://ctan.crest.fr/tex-archive/
-
ctan.gutenberg-asso.fr (France)
URL: https://ctan.gutenberg-asso.fr/
diff --git a/FILES.byname b/FILES.byname
index d844f84ed3..7523989761 100644
--- a/FILES.byname
+++ b/FILES.byname
@@ -2056,12 +2056,12 @@
2023/04/13 | 1675 | biblio/citation-style-language/README.md
2023/04/13 | 11957 | biblio/citation-style-language/vancouver.csl
2023/04/13 | 4516625 | biblio/citation-style-language.zip
-2023/07/02 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/07/03 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2022/10/08 | 127 | biblio/ctan-bibdata/biblatex-ctan/ctan.cbx
-2023/07/02 | 2793122 | biblio/ctan-bibdata/ctan.bib
-2023/07/02 | 3684208 | biblio/ctan-bibdata/ctan.pdf
+2023/07/03 | 2793475 | biblio/ctan-bibdata/ctan.bib
+2023/07/03 | 3684256 | biblio/ctan-bibdata/ctan.pdf
2023/01/16 | 1489 | biblio/ctan-bibdata/README
-2023/07/02 | 4083389 | biblio/ctan-bibdata.zip
+2023/07/03 | 4083815 | 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
@@ -2218,7 +2218,7 @@
1989/12/11 | 6196 | biblio/tib/tib.man
1989/03/29 | 23265 | biblio/tib/vitaMake
2005/12/15 | 366385 | biblio/tib.zip
-2023/06/25 | 18746 | CTAN.sites
+2023/07/03 | 18605 | CTAN.sites
1990/10/03 | 5032 | dviware/beebe/00readme.txt
1990/10/03 | 479 | dviware/beebe/doc/00dir.cmd
1990/10/03 | 1209 | dviware/beebe/doc/00dir.lst
@@ -5417,7 +5417,7 @@
1990/10/02 | 5440 | dviware/vutex/vaxvms.hlp
1990/10/02 | 812 | dviware/vutex/vaxvms.ins
1990/10/02 | 127576 | dviware/vutex/vutex.web
-2023/07/02 | 404174 | FILES.last07days
+2023/07/03 | 124707 | 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
@@ -160259,11 +160259,11 @@
2023/06/11 | 5638 | graphics/pgf/contrib/playcards/playcards.sty
2023/06/11 | 284 | graphics/pgf/contrib/playcards/README.md
2023/06/11 | 561830 | graphics/pgf/contrib/playcards.zip
-2023/06/26 | 692493 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
-2023/06/26 | 41261 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
+2023/07/03 | 307885 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
+2023/07/03 | 54556 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
2023/06/23 | 443 | graphics/pgf/contrib/profsio/README.md
-2023/06/26 | 23522 | graphics/pgf/contrib/profsio/tex/ProfSio.sty
-2023/06/26 | 687118 | graphics/pgf/contrib/profsio.zip
+2023/07/03 | 39045 | graphics/pgf/contrib/profsio/tex/ProfSio.sty
+2023/07/03 | 319031 | graphics/pgf/contrib/profsio.zip
2023/06/18 | 649 | graphics/pgf/contrib/prooftrees/manifest.txt
2023/06/18 | 899 | graphics/pgf/contrib/prooftrees/prooftrees_biber.bib
2023/06/18 | 911388 | graphics/pgf/contrib/prooftrees/prooftrees.pdf
@@ -164511,15 +164511,15 @@
2019/04/25 | 1316 | graphics/pstricks/contrib/pst-marble/README.md
2019/04/30 | 4944 | graphics/pstricks/contrib/pst-marble/tex/pst-marble.tex
2019/05/01 | 21853987 | graphics/pstricks/contrib/pst-marble.zip
-2022/10/17 | 724 | graphics/pstricks/contrib/pst-math/Changes
+2023/07/03 | 790 | graphics/pstricks/contrib/pst-math/Changes
2020/06/07 | 4482 | graphics/pstricks/contrib/pst-math/doc/pst-math-doc.bib
-2022/10/17 | 228170 | graphics/pstricks/contrib/pst-math/doc/pst-math-doc.pdf
-2020/06/07 | 20547 | graphics/pstricks/contrib/pst-math/doc/pst-math-doc.tex
+2023/07/03 | 253131 | graphics/pstricks/contrib/pst-math/doc/pst-math-doc.pdf
+2023/07/03 | 20587 | graphics/pstricks/contrib/pst-math/doc/pst-math-doc.tex
2021/09/11 | 10096 | graphics/pstricks/contrib/pst-math/dvips/pst-math.pro
-2022/10/17 | 2852 | graphics/pstricks/contrib/pst-math/latex/pst-math.sty
-2020/06/07 | 186 | graphics/pstricks/contrib/pst-math/README
-2022/10/17 | 758 | graphics/pstricks/contrib/pst-math/tex/pst-math.tex
-2022/10/17 | 185984 | graphics/pstricks/contrib/pst-math.zip
+2023/07/03 | 2903 | graphics/pstricks/contrib/pst-math/latex/pst-math.sty
+2023/07/03 | 427 | graphics/pstricks/contrib/pst-math/README
+2023/07/03 | 758 | graphics/pstricks/contrib/pst-math/tex/pst-math.tex
+2023/07/03 | 235384 | graphics/pstricks/contrib/pst-math.zip
2021/09/14 | 495 | graphics/pstricks/contrib/pst-mirror/Changes
2021/09/14 | 344 | graphics/pstricks/contrib/pst-mirror/doc/createEPS/make2.sh
2021/09/14 | 271 | graphics/pstricks/contrib/pst-mirror/doc/createEPS/make.sh
@@ -199056,15 +199056,15 @@
2019/10/20 | 1086 | language/japanese/BX/bxjatoucs/LICENSE
2019/10/20 | 2776 | language/japanese/BX/bxjatoucs/README.md
2019/10/22 | 69213 | language/japanese/BX/bxjatoucs.zip
-2023/06/20 | 450966 | language/japanese/BX/bxjscls/bxjscls.dtx
+2023/07/03 | 452010 | language/japanese/BX/bxjscls/bxjscls.dtx
2022/03/20 | 855 | language/japanese/BX/bxjscls/bxjscls.ins
-2023/06/20 | 395561 | language/japanese/BX/bxjscls/bxjscls-manual.pdf
-2023/06/20 | 93010 | language/japanese/BX/bxjscls/bxjscls-manual.tex
-2023/06/20 | 863059 | language/japanese/BX/bxjscls/bxjscls.pdf
+2023/07/03 | 395675 | language/japanese/BX/bxjscls/bxjscls-manual.pdf
+2023/07/03 | 93010 | language/japanese/BX/bxjscls/bxjscls-manual.tex
+2023/07/03 | 864780 | language/japanese/BX/bxjscls/bxjscls.pdf
2023/06/14 | 1461 | language/japanese/BX/bxjscls/LICENSE
-2023/06/20 | 17051 | language/japanese/BX/bxjscls/README-ja.md
-2023/06/20 | 6803 | language/japanese/BX/bxjscls/README.md
-2023/06/22 | 1383722 | language/japanese/BX/bxjscls.zip
+2023/07/03 | 17133 | language/japanese/BX/bxjscls/README-ja.md
+2023/07/03 | 6837 | language/japanese/BX/bxjscls/README.md
+2023/07/03 | 1386088 | language/japanese/BX/bxjscls.zip
2019/04/01 | 44 | language/japanese/BX/bxwareki/bxwareki2019.def
2019/05/27 | 3941 | language/japanese/BX/bxwareki/bxwareki-cd.def
2019/05/28 | 182364 | language/japanese/BX/bxwareki/bxwareki.pdf
@@ -228197,26 +228197,27 @@
2017/07/11 | 1480 | macros/latex/contrib/lettre/testfaxe.tex
2019/05/15 | 4894 | macros/latex/contrib/lettre/testfaxf.tex
2020/04/13 | 1084282 | macros/latex/contrib/lettre.zip
-2023/04/18 | 1055 | macros/latex/contrib/lettrine/contrib/optfile.cfl
-2023/04/18 | 5136 | macros/latex/contrib/lettrine/contrib/pacl.cfl
-2023/04/18 | 5159 | macros/latex/contrib/lettrine/contrib/padl.cfl
-2023/04/18 | 3961 | macros/latex/contrib/lettrine/contrib/pzc2.cfl
-2023/04/18 | 4165 | macros/latex/contrib/lettrine/contrib/pzc3.cfl
-2023/04/18 | 128266 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
-2023/04/18 | 9741 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.tex
-2023/04/18 | 139142 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
-2023/04/18 | 11992 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
-2023/04/18 | 74184 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
-2023/04/18 | 4298 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.tex
-2023/04/18 | 122711 | macros/latex/contrib/lettrine/doc/lettrine.pdf
-2023/04/18 | 14470 | macros/latex/contrib/lettrine/doc/W.pdf
-2023/04/18 | 6679 | macros/latex/contrib/lettrine/lettrine-2006-03-17.sty
-2023/04/18 | 8127 | macros/latex/contrib/lettrine/lettrine-2015-08-31.sty
-2023/04/18 | 9119 | macros/latex/contrib/lettrine/lettrine-2018-08-18.sty
-2023/04/18 | 10337 | macros/latex/contrib/lettrine/lettrine-2022-09-25.sty
-2023/04/18 | 45959 | macros/latex/contrib/lettrine/lettrine.dtx
-2023/04/18 | 1552 | macros/latex/contrib/lettrine/README.md
-2023/04/18 | 485862 | macros/latex/contrib/lettrine.zip
+2023/07/03 | 1055 | macros/latex/contrib/lettrine/contrib/optfile.cfl
+2023/07/03 | 5136 | macros/latex/contrib/lettrine/contrib/pacl.cfl
+2023/07/03 | 5159 | macros/latex/contrib/lettrine/contrib/padl.cfl
+2023/07/03 | 3961 | macros/latex/contrib/lettrine/contrib/pzc2.cfl
+2023/07/03 | 4165 | macros/latex/contrib/lettrine/contrib/pzc3.cfl
+2023/07/03 | 128252 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
+2023/07/03 | 9741 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.tex
+2023/07/03 | 168279 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
+2023/07/03 | 13607 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
+2023/07/03 | 74185 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
+2023/07/03 | 4298 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.tex
+2023/07/03 | 125776 | macros/latex/contrib/lettrine/doc/lettrine.pdf
+2023/07/03 | 14470 | macros/latex/contrib/lettrine/doc/W.pdf
+2023/07/03 | 6679 | macros/latex/contrib/lettrine/lettrine-2006-03-17.sty
+2023/07/03 | 8127 | macros/latex/contrib/lettrine/lettrine-2015-08-31.sty
+2023/07/03 | 9119 | macros/latex/contrib/lettrine/lettrine-2018-08-18.sty
+2023/07/03 | 10337 | macros/latex/contrib/lettrine/lettrine-2022-09-25.sty
+2023/07/03 | 9682 | macros/latex/contrib/lettrine/lettrine-2023-04-18.sty
+2023/07/03 | 47458 | macros/latex/contrib/lettrine/lettrine.dtx
+2023/07/03 | 1552 | macros/latex/contrib/lettrine/README.md
+2023/07/03 | 520587 | macros/latex/contrib/lettrine.zip
1995/05/17 | 15851 | macros/latex/contrib/levy/levy.dtx
1995/05/17 | 3256 | macros/latex/contrib/levy/levy.ins
2005/04/30 | 7287 | macros/latex/contrib/levy.zip
@@ -248152,7 +248153,7 @@
2023/04/02 | 24594 | macros/texinfo/latest/htmlxref.cnf
2022/11/30 | 58633 | macros/texinfo/latest/texi2dvi
2022/11/30 | 1165 | macros/texinfo/latest/texi2pdf
-2023/06/10 | 380117 | macros/texinfo/latest/texinfo.tex
+2023/07/02 | 380132 | macros/texinfo/latest/texinfo.tex
2022/12/01 | 67 | macros/texinfo/texinfo/ABOUT-NLS
2023/03/26 | 48078 | macros/texinfo/texinfo/aclocal.m4
2022/02/11 | 2201 | macros/texinfo/texinfo/AUTHORS
@@ -255046,19 +255047,18 @@
2018/10/27 | 3490 | macros/xetex/latex/facture-belge-simple-sans-tva/README.md
2018/10/27 | 1671 | macros/xetex/latex/facture-belge-simple-sans-tva/signature.png
2018/10/27 | 320512 | macros/xetex/latex/facture-belge-simple-sans-tva.zip
-2017/04/12 | 23292 | macros/xetex/latex/facture/exemple.pdf
-2017/04/12 | 22875 | macros/xetex/latex/facture/exemplesansremise.pdf
-2016/12/16 | 626 | macros/xetex/latex/facture/exemplesansremise.tex
-2017/04/12 | 19387 | macros/xetex/latex/facture/exemplesansTVA.pdf
-2016/12/16 | 668 | macros/xetex/latex/facture/exemplesansTVA.tex
-2016/12/16 | 619 | macros/xetex/latex/facture/exemple.tex
-2017/04/12 | 23708 | macros/xetex/latex/facture/facture.dtx
-2016/03/02 | 1488 | macros/xetex/latex/facture/facture.ins
-2017/04/12 | 97571 | macros/xetex/latex/facture/facture.pdf
-2017/04/12 | 23183 | macros/xetex/latex/facture/issue7.pdf
-2016/12/16 | 553 | macros/xetex/latex/facture/makefile
-2016/12/16 | 411 | macros/xetex/latex/facture/README
-2017/04/13 | 190430 | macros/xetex/latex/facture.zip
+2023/07/03 | 19097 | macros/xetex/latex/facture/exemple.pdf
+2023/07/03 | 18831 | macros/xetex/latex/facture/exemplesansremise.pdf
+2023/07/03 | 612 | macros/xetex/latex/facture/exemplesansremise.tex
+2023/07/03 | 16117 | macros/xetex/latex/facture/exemplesansTVA.pdf
+2023/07/03 | 654 | macros/xetex/latex/facture/exemplesansTVA.tex
+2023/07/03 | 606 | macros/xetex/latex/facture/exemple.tex
+2023/07/03 | 24214 | macros/xetex/latex/facture/facture.dtx
+2023/07/03 | 1589 | macros/xetex/latex/facture/facture.ins
+2023/07/03 | 73082 | macros/xetex/latex/facture/facture.pdf
+2023/07/03 | 619 | macros/xetex/latex/facture/Makefile
+2023/07/03 | 2877 | macros/xetex/latex/facture/README.md
+2023/07/03 | 135049 | macros/xetex/latex/facture.zip
2011/02/05 | 26664 | macros/xetex/latex/fixlatvian/fixlatvian.dtx
2011/02/05 | 2293 | macros/xetex/latex/fixlatvian/fixlatvian.ins
2011/02/05 | 167318 | macros/xetex/latex/fixlatvian/fixlatvian.pdf
@@ -291884,7 +291884,7 @@
2020/03/04 | 408 | systems/texlive/tlnet/archive/collection-langpolish.r54074.tar.xz
2023/05/16 | 400 | systems/texlive/tlnet/archive/collection-langportuguese.r67125.tar.xz
2023/06/09 | 396 | systems/texlive/tlnet/archive/collection-langspanish.r67307.tar.xz
-2023/06/17 | 6904 | systems/texlive/tlnet/archive/collection-latexextra.r67384.tar.xz
+2023/07/03 | 6908 | systems/texlive/tlnet/archive/collection-latexextra.r67530.tar.xz
2022/06/10 | 700 | systems/texlive/tlnet/archive/collection-latex.r63515.tar.xz
2023/01/11 | 744 | systems/texlive/tlnet/archive/collection-latexrecommended.r65512.tar.xz
2023/06/13 | 996 | systems/texlive/tlnet/archive/collection-luatex.r67348.tar.xz
@@ -293847,6 +293847,9 @@
2019/02/28 | 156268 | systems/texlive/tlnet/archive/facture.doc.r43865.tar.xz
2019/02/28 | 3284 | systems/texlive/tlnet/archive/facture.r43865.tar.xz
2019/02/28 | 7356 | systems/texlive/tlnet/archive/facture.source.r43865.tar.xz
+2023/07/03 | 309192 | systems/texlive/tlnet/archive/fail-fast.doc.r67530.tar.xz
+2023/07/03 | 1428 | systems/texlive/tlnet/archive/fail-fast.r67530.tar.xz
+2023/07/03 | 2676 | systems/texlive/tlnet/archive/fail-fast.source.r67530.tar.xz
2019/02/28 | 80952 | systems/texlive/tlnet/archive/faktor.doc.r15878.tar.xz
2019/02/28 | 1420 | systems/texlive/tlnet/archive/faktor.r15878.tar.xz
2019/02/28 | 4296 | systems/texlive/tlnet/archive/faktor.source.r15878.tar.xz
@@ -296087,14 +296090,14 @@
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.amd64-freebsd.r32150.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.amd64-netbsd.r32150.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.armhf-linux.r32150.tar.xz
-2023/06/07 | 1325036 | systems/texlive/tlnet/archive/latexindent.doc.r67296.tar.xz
+2023/07/03 | 1325500 | systems/texlive/tlnet/archive/latexindent.doc.r67531.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.i386-freebsd.r32150.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.i386-linux.r32150.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.i386-netbsd.r32150.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.i386-solaris.r32150.tar.xz
-2023/06/07 | 74032 | systems/texlive/tlnet/archive/latexindent.r67296.tar.xz
+2023/07/03 | 74104 | systems/texlive/tlnet/archive/latexindent.r67531.tar.xz
2021/02/25 | 344 | systems/texlive/tlnet/archive/latexindent.universal-darwin.r57908.tar.xz
-2023/06/07 | 3547800 | systems/texlive/tlnet/archive/latexindent.windows.r67296.tar.xz
+2023/07/03 | 3548164 | systems/texlive/tlnet/archive/latexindent.windows.r67531.tar.xz
2019/02/28 | 344 | systems/texlive/tlnet/archive/latexindent.x86_64-cygwin.r33557.tar.xz
2019/02/28 | 352 | systems/texlive/tlnet/archive/latexindent.x86_64-darwinlegacy.r43871.tar.xz
2019/02/28 | 348 | systems/texlive/tlnet/archive/latexindent.x86_64-linuxmusl.r46840.tar.xz
@@ -301335,7 +301338,7 @@
2022/09/13 | 600 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r64356.tar.xz
-2023/07/02 | 427756 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67521.tar.xz
+2023/07/03 | 427756 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67529.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
@@ -301357,7 +301360,7 @@
2022/09/13 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r64356.tar.xz
2022/09/13 | 596 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r64356.tar.xz
-2023/07/02 | 114048 | systems/texlive/tlnet/archive/texlive-scripts.r67521.tar.xz
+2023/07/03 | 114080 | systems/texlive/tlnet/archive/texlive-scripts.r67529.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
@@ -303224,16 +303227,16 @@
2020/07/18 | 47816 | systems/texlive/tlnet/archive/zztex.doc.r55862.tar.xz
2020/07/18 | 101724 | systems/texlive/tlnet/archive/zztex.r55862.tar.xz
2023/03/12 | 125532 | systems/texlive/tlnet/install-tl
-2023/07/02 | 5738282 | systems/texlive/tlnet/install-tl-unx.tar.gz
-2023/07/02 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
-2023/07/02 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/07/03 | 5735880 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/07/03 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/07/03 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/05/13 | 5083 | systems/texlive/tlnet/install-tl-windows.bat
-2023/07/02 | 21034415 | systems/texlive/tlnet/install-tl-windows.exe
-2023/07/02 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/07/02 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/07/02 | 26025411 | systems/texlive/tlnet/install-tl.zip
-2023/07/02 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/07/02 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/07/03 | 21035889 | systems/texlive/tlnet/install-tl-windows.exe
+2023/07/03 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/07/03 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/07/03 | 26025435 | systems/texlive/tlnet/install-tl.zip
+2023/07/03 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/07/03 | 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
@@ -303243,7 +303246,7 @@
2023/01/17 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg
2023/06/25 | 49936 | systems/texlive/tlnet/tlpkg/installer/config.guess
2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt
-2023/07/01 | 7387 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
+2023/07/02 | 7510 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/05/31 | 215902 | systems/texlive/tlnet/tlpkg/installer/curl/curl-ca-bundle.crt
2020/04/15 | 2606592 | systems/texlive/tlnet/tlpkg/installer/curl/curl.exe
2017/04/16 | 2629 | systems/texlive/tlnet/tlpkg/installer/installer-options.txt
@@ -303285,12 +303288,12 @@
2023/02/21 | 20371 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm
2021/12/21 | 5429 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm
2023/04/08 | 28167 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm
-2023/07/02 | 18146279 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
-2023/07/02 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/07/03 | 18147732 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/07/03 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
2023/02/20 | 86803 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm
-2023/07/02 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
-2023/07/02 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/07/02 | 2457636 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/07/03 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/07/03 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/07/03 | 2457188 | 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
@@ -313851,7 +313854,7 @@
2014/07/05 | 611 | systems/win32/yandy/README
2014/07/05 | 1004628 | systems/win32/yandy/yandy-src.tar.xz
2014/07/05 | 1012416 | systems/win32/yandy.zip
-2023/07/03 | 186 | timestamp
+2023/07/04 | 186 | timestamp
2002/08/26 | 61898 | usergrps/dante/antrag.pdf
2002/08/26 | 118217 | usergrps/dante/antrag.ps
2021/11/11 | 917 | usergrps/dante/dtk/doc/beispiel.bib
diff --git a/FILES.byname.gz b/FILES.byname.gz
index 0d58396bc4..f5563bc873 100644
--- a/FILES.byname.gz
+++ b/FILES.byname.gz
Binary files differ
diff --git a/FILES.last07days b/FILES.last07days
index e1035a886e..4a0bed2cf1 100644
--- a/FILES.last07days
+++ b/FILES.last07days
@@ -1,9 +1,89 @@
+2023/07/03 | 9741 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.tex
+2023/07/03 | 9682 | macros/latex/contrib/lettrine/lettrine-2023-04-18.sty
+2023/07/03 | 93010 | language/japanese/BX/bxjscls/bxjscls-manual.tex
+2023/07/03 | 9119 | macros/latex/contrib/lettrine/lettrine-2018-08-18.sty
+2023/07/03 | 864780 | language/japanese/BX/bxjscls/bxjscls.pdf
+2023/07/03 | 8127 | macros/latex/contrib/lettrine/lettrine-2015-08-31.sty
+2023/07/03 | 790 | graphics/pstricks/contrib/pst-math/Changes
+2023/07/03 | 758 | graphics/pstricks/contrib/pst-math/tex/pst-math.tex
+2023/07/03 | 74185 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
+2023/07/03 | 74104 | systems/texlive/tlnet/archive/latexindent.r67531.tar.xz
+2023/07/03 | 73082 | macros/xetex/latex/facture/facture.pdf
+2023/07/03 | 6908 | systems/texlive/tlnet/archive/collection-latexextra.r67530.tar.xz
+2023/07/03 | 6837 | language/japanese/BX/bxjscls/README.md
+2023/07/03 | 6679 | macros/latex/contrib/lettrine/lettrine-2006-03-17.sty
+2023/07/03 | 654 | macros/xetex/latex/facture/exemplesansTVA.tex
+2023/07/03 | 619 | macros/xetex/latex/facture/Makefile
+2023/07/03 | 612 | macros/xetex/latex/facture/exemplesansremise.tex
+2023/07/03 | 606 | macros/xetex/latex/facture/exemple.tex
+2023/07/03 | 5735880 | systems/texlive/tlnet/install-tl-unx.tar.gz
+2023/07/03 | 54556 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
+2023/07/03 | 520587 | macros/latex/contrib/lettrine.zip
+2023/07/03 | 5159 | macros/latex/contrib/lettrine/contrib/padl.cfl
+2023/07/03 | 5136 | macros/latex/contrib/lettrine/contrib/pacl.cfl
+2023/07/03 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+2023/07/03 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
+2023/07/03 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
+2023/07/03 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
+2023/07/03 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
+2023/07/03 | 47458 | macros/latex/contrib/lettrine/lettrine.dtx
+2023/07/03 | 452010 | language/japanese/BX/bxjscls/bxjscls.dtx
+2023/07/03 | 4298 | macros/latex/contrib/lettrine/doc/lettrine-demo-lua.tex
+2023/07/03 | 427 | graphics/pstricks/contrib/pst-math/README
+2023/07/03 | 427756 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67529.tar.xz
+2023/07/03 | 4165 | macros/latex/contrib/lettrine/contrib/pzc3.cfl
+2023/07/03 | 4083815 | biblio/ctan-bibdata.zip
+2023/07/03 | 3961 | macros/latex/contrib/lettrine/contrib/pzc2.cfl
+2023/07/03 | 395675 | language/japanese/BX/bxjscls/bxjscls-manual.pdf
+2023/07/03 | 39045 | graphics/pgf/contrib/profsio/tex/ProfSio.sty
+2023/07/03 | 3684256 | biblio/ctan-bibdata/ctan.pdf
+2023/07/03 | 3548164 | systems/texlive/tlnet/archive/latexindent.windows.r67531.tar.xz
+2023/07/03 | 319031 | graphics/pgf/contrib/profsio.zip
+2023/07/03 | 309192 | systems/texlive/tlnet/archive/fail-fast.doc.r67530.tar.xz
+2023/07/03 | 307885 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
+2023/07/03 | 2903 | graphics/pstricks/contrib/pst-math/latex/pst-math.sty
+2023/07/03 | 2877 | macros/xetex/latex/facture/README.md
+2023/07/03 | 2793475 | biblio/ctan-bibdata/ctan.bib
+2023/07/03 | 2676 | systems/texlive/tlnet/archive/fail-fast.source.r67530.tar.xz
+2023/07/03 | 26025435 | systems/texlive/tlnet/install-tl.zip
+2023/07/03 | 253131 | graphics/pstricks/contrib/pst-math/doc/pst-math-doc.pdf
+2023/07/03 | 2457188 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+2023/07/03 | 24214 | macros/xetex/latex/facture/facture.dtx
+2023/07/03 | 235384 | graphics/pstricks/contrib/pst-math.zip
+2023/07/03 | 21035889 | systems/texlive/tlnet/install-tl-windows.exe
+2023/07/03 | 20587 | graphics/pstricks/contrib/pst-math/doc/pst-math-doc.tex
+2023/07/03 | 19097 | macros/xetex/latex/facture/exemple.pdf
+2023/07/03 | 18831 | macros/xetex/latex/facture/exemplesansremise.pdf
+2023/07/03 | 18605 | CTAN.sites
+2023/07/03 | 18147732 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
+2023/07/03 | 17133 | language/japanese/BX/bxjscls/README-ja.md
+2023/07/03 | 168279 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
+2023/07/03 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
+2023/07/03 | 16117 | macros/xetex/latex/facture/exemplesansTVA.pdf
+2023/07/03 | 1589 | macros/xetex/latex/facture/facture.ins
+2023/07/03 | 1552 | macros/latex/contrib/lettrine/README.md
+2023/07/03 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
+2023/07/03 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
+2023/07/03 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
+2023/07/03 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+2023/07/03 | 14470 | macros/latex/contrib/lettrine/doc/W.pdf
+2023/07/03 | 1428 | systems/texlive/tlnet/archive/fail-fast.r67530.tar.xz
+2023/07/03 | 1386088 | language/japanese/BX/bxjscls.zip
+2023/07/03 | 13607 | macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
+2023/07/03 | 135049 | macros/xetex/latex/facture.zip
+2023/07/03 | 1325500 | systems/texlive/tlnet/archive/latexindent.doc.r67531.tar.xz
+2023/07/03 | 128252 | macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
+2023/07/03 | 125776 | macros/latex/contrib/lettrine/doc/lettrine.pdf
+2023/07/03 | 114080 | systems/texlive/tlnet/archive/texlive-scripts.r67529.tar.xz
+2023/07/03 | 1055 | macros/latex/contrib/lettrine/contrib/optfile.cfl
+2023/07/03 | 10337 | macros/latex/contrib/lettrine/lettrine-2022-09-25.sty
2023/07/02 | 9839 | support/latexindent/LatexIndent/Lines.pm
2023/07/02 | 8829 | support/latexindent/LatexIndent/IfElseFi.pm
2023/07/02 | 8762 | support/latexindent/LatexIndent/FileExtension.pm
2023/07/02 | 8705316 | support/latexindent/bin/windows/latexindent.exe
2023/07/02 | 838 | support/latexindent/LatexIndent/Version.pm
2023/07/02 | 822040 | systems/texlive/tlnet/archive/install-latex-guide-zh-cn.doc.r67522.tar.xz
+2023/07/02 | 7510 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/07/02 | 7428 | support/latexindent/LatexIndent/BackUpFileProcedure.pm
2023/07/02 | 7280 | support/latexindent/LatexIndent/MandatoryArgument.pm
2023/07/02 | 7161 | support/latexindent/documentation/figure-schematic.png
@@ -19,18 +99,12 @@
2023/07/02 | 6271 | support/latexindent/LatexIndent/Else.pm
2023/07/02 | 6165688 | support/latexindent/bin/linux/latexindent
2023/07/02 | 5808 | support/latexindent/LatexIndent/UnNamedGroupingBracesBrackets.pm
-2023/07/02 | 5738282 | systems/texlive/tlnet/install-tl-unx.tar.gz
2023/07/02 | 568 | systems/texlive/tlnet/archive/install-latex-guide-zh-cn.r67522.tar.xz
2023/07/02 | 54582 | support/latexindent/LatexIndent/GetYamlSettings.pm
2023/07/02 | 54385 | support/latexindent/documentation/latexindent-yaml-schema.json
2023/07/02 | 5429 | support/latexindent/LatexIndent/KeyEqualsValuesBraces.pm
2023/07/02 | 5390 | support/latexindent/LatexIndent/Check.pm
2023/07/02 | 5260 | systems/texlive/tlnet/archive/lettrine.r67527.tar.xz
-2023/07/02 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
-2023/07/02 | 488 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
-2023/07/02 | 488 | systems/texlive/tlnet/install-tl.zip.sha512.asc
-2023/07/02 | 488 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc
-2023/07/02 | 488 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc
2023/07/02 | 4816 | support/latexindent/LatexIndent/BlankLines.pm
2023/07/02 | 44096 | support/latexindent/documentation/logo.png
2023/07/02 | 4402 | support/latexindent/documentation/latex-indent.bib
@@ -38,43 +112,31 @@
2023/07/02 | 436097 | support/latexindent/documentation/latexindent.tex
2023/07/02 | 4339 | support/latexindent/LatexIndent/NamedGroupingBracesBrackets.pm
2023/07/02 | 428360 | systems/texlive/tlnet/archive/biblatex-publist.doc.r67523.tar.xz
-2023/07/02 | 427756 | systems/texlive/tlnet/archive/texlive-scripts.doc.r67521.tar.xz
-2023/07/02 | 4083389 | biblio/ctan-bibdata.zip
2023/07/02 | 406792 | systems/texlive/tlnet/archive/lettrine.doc.r67527.tar.xz
+2023/07/02 | 380132 | macros/texinfo/latest/texinfo.tex
2023/07/02 | 3747 | support/latexindent/LatexIndent/Replacement.pm
-2023/07/02 | 3684208 | biblio/ctan-bibdata/ctan.pdf
2023/07/02 | 3482 | support/latexindent/LatexIndent/HorizontalWhiteSpace.pm
2023/07/02 | 34785 | support/latexindent/LatexIndent/Wrap.pm
2023/07/02 | 3415 | support/latexindent/latexindent.pl
2023/07/02 | 3339 | support/latexindent/LatexIndent/Tokens.pm
2023/07/02 | 311269 | macros/latex/contrib/fail-fast.zip
-2023/07/02 | 2793122 | biblio/ctan-bibdata/ctan.bib
2023/07/02 | 27328 | support/latexindent/LatexIndent/Verbatim.pm
2023/07/02 | 2701 | support/latexindent/LatexIndent/Switches.pm
2023/07/02 | 2690 | support/latexindent/LatexIndent/Preamble.pm
-2023/07/02 | 26025411 | systems/texlive/tlnet/install-tl.zip
2023/07/02 | 25007 | support/latexindent/LatexIndent/Document.pm
-2023/07/02 | 2457636 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
2023/07/02 | 24410 | support/latexindent/LatexIndent/Arguments.pm
2023/07/02 | 2320 | support/latexindent/LatexIndent/Logger.pm
2023/07/02 | 23140 | support/latexindent/defaultSettings.yaml
-2023/07/02 | 21034415 | systems/texlive/tlnet/install-tl-windows.exe
2023/07/02 | 20797 | support/latexindent/LatexIndent/Indent.pm
2023/07/02 | 20766 | support/latexindent/LatexIndent/Sentence.pm
2023/07/02 | 2008 | support/latexindent/README
2023/07/02 | 18522 | support/latexindent/LatexIndent/ModifyLineBreaks.pm
-2023/07/02 | 18146279 | systems/texlive/tlnet/tlpkg/texlive.tlpdb
2023/07/02 | 17816 | systems/texlive/tlnet/archive/numerica.r67525.tar.xz
-2023/07/02 | 1678 | biblio/ctan-bibdata/biblatex-ctan/ctan.bbx
2023/07/02 | 1644144 | systems/texlive/tlnet/archive/eolang.doc.r67524.tar.xz
2023/07/02 | 1608 | systems/texlive/tlnet/archive/typeoutfileinfo.r67526.tar.xz
2023/07/02 | 15844 | systems/texlive/tlnet/archive/eolang.source.r67524.tar.xz
2023/07/02 | 1558 | support/latexindent/latexindent-module-installer.pl
-2023/07/02 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512
-2023/07/02 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512
2023/07/02 | 1485 | support/latexindent/LatexIndent/DoubleBackSlash.pm
-2023/07/02 | 145 | systems/texlive/tlnet/install-tl.zip.sha512
-2023/07/02 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
2023/07/02 | 13890 | support/latexindent/LatexIndent/Special.pm
2023/07/02 | 13744 | systems/texlive/tlnet/archive/lettrine.source.r67527.tar.xz
2023/07/02 | 13419 | support/latexindent/LatexIndent/HiddenChildren.pm
@@ -82,7 +144,6 @@
2023/07/02 | 12646 | support/latexindent/LatexIndent/Braces.pm
2023/07/02 | 12504 | systems/texlive/tlnet/archive/biblatex-publist.r67523.tar.xz
2023/07/02 | 1250154 | support/latexindent/documentation/latexindent.pdf
-2023/07/02 | 114048 | systems/texlive/tlnet/archive/texlive-scripts.r67521.tar.xz
2023/07/02 | 11300 | support/latexindent/LatexIndent/FileContents.pm
2023/07/02 | 11171972 | support/latexindent.zip
2023/07/02 | 11142 | support/latexindent/LatexIndent/Heading.pm
@@ -95,7 +156,6 @@
2023/07/01 | 836032 | info/install-latex-guide-zh-cn.zip
2023/07/01 | 796831 | info/install-latex-guide-zh-cn/install-latex-guide-zh-cn.pdf
2023/07/01 | 7788 | systems/texlive/tlnet/archive/bibcop.r67510.tar.xz
-2023/07/01 | 7387 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl
2023/07/01 | 65417 | macros/latex/contrib/biblatex-contrib/biblatex-publist/publist.bbx
2023/07/01 | 641 | macros/latex/contrib/eolang/eolang.bib
2023/07/01 | 63634 | macros/latex/contrib/biblatex-contrib/biblatex-publist/biblatex-publist.tex
@@ -1149,115 +1209,3 @@
2023/06/27 | 10850 | graphics/pgf/contrib/rouequestions/doc/RoueQuestionsDoc.tex
2023/06/27 | 1068 | macros/luatex/generic/blopentype/LICENSE
2023/06/27 | 1012656 | systems/texlive/tlnet/archive/babel.doc.r67485.tar.xz
-2023/06/26 | 941853 | macros/latex/required/babel/base/locale.zip
-2023/06/26 | 90556 | systems/texlive/tlnet/archive/hyperref.r67471.tar.xz
-2023/06/26 | 890 | macros/latex/contrib/photobook/scripts/make-spreads.cfg.example
-2023/06/26 | 887 | fonts/newcomputermodern/tex/NewCMSans10-Book.fontspec
-2023/06/26 | 886 | fonts/newcomputermodern/tex/NewCMSans10-Regular.fontspec
-2023/06/26 | 8837 | macros/latex/required/babel/base/babel.ins
-2023/06/26 | 876 | macros/plain/contrib/mlawriter/README
-2023/06/26 | 8668 | systems/texlive/tlnet/archive/churchslavonic.r67474.tar.xz
-2023/06/26 | 81130 | macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.pdf
-2023/06/26 | 8015 | fonts/newcomputermodern/doc/newcomputermodern-sample.tex
-2023/06/26 | 79796 | graphics/pgf/contrib/rouequestions/doc/sample.png
-2023/06/26 | 770414 | macros/latex/required/babel/base/babel.dtx
-2023/06/26 | 692493 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
-2023/06/26 | 6895 | info/install-latex-guide-zh-cn/appendix/updateinfo.tex
-2023/06/26 | 68800 | systems/texlive/tlnet/archive/japanese-otf.source.r67475.tar.xz
-2023/06/26 | 687118 | graphics/pgf/contrib/profsio.zip
-2023/06/26 | 6835 | info/install-latex-guide-zh-cn/chapter/overleaf.tex
-2023/06/26 | 672348 | fonts/newcomputermodern/otf/NewCMMono10-BoldOblique.otf
-2023/06/26 | 6423 | fonts/newcomputermodern/doc/opticalmathlm-cropped.pdf
-2023/06/26 | 625101 | macros/latex/required/babel/base/babel-code.pdf
-2023/06/26 | 618756 | fonts/newcomputermodern/otf/NewCM08-BookItalic.otf
-2023/06/26 | 6102 | fonts/newcomputermodern/doc/integral.pdf
-2023/06/26 | 597564 | fonts/newcomputermodern/otf/NewCM08-Book.otf
-2023/06/26 | 591644 | fonts/newcomputermodern/otf/NewCM10-Book.otf
-2023/06/26 | 5832 | systems/texlive/tlnet/archive/pslatex.r67469.tar.xz
-2023/06/26 | 5724 | systems/texlive/tlnet/archive/luafindfont.r67468.tar.xz
-2023/06/26 | 572316 | systems/texlive/tlnet/archive/covington.doc.r67472.tar.xz
-2023/06/26 | 566756 | fonts/newcomputermodern/otf/NewCM10-Regular.otf
-2023/06/26 | 551252 | fonts/newcomputermodern/otf/NewCM10-BookItalic.otf
-2023/06/26 | 537592 | fonts/newcomputermodern/otf/NewCM08-Italic.otf
-2023/06/26 | 517056 | fonts/newcomputermodern/otf/NewCM08-Regular.otf
-2023/06/26 | 496564 | fonts/newcomputermodern/otf/NewCMMono10-BookItalic.otf
-2023/06/26 | 495488 | fonts/newcomputermodern/otf/NewCM10-Bold.otf
-2023/06/26 | 489171 | macros/latex/contrib/mitthesis/MIT-Thesis.pdf
-2023/06/26 | 465192 | fonts/newcomputermodern/otf/NewCM10-Italic.otf
-2023/06/26 | 462 | macros/latex/contrib/photobook/DEPENDS.txt
-2023/06/26 | 448536 | fonts/newcomputermodern/otf/NewCM10-BoldItalic.otf
-2023/06/26 | 421632 | fonts/newcomputermodern/otf/NewCMMono10-Book.otf
-2023/06/26 | 42032 | systems/texlive/tlnet/archive/japanese-otf.doc.r67475.tar.xz
-2023/06/26 | 4197 | macros/latex/contrib/mitthesis/README.md
-2023/06/26 | 4172 | macros/latex/contrib/photobook/scripts/cls2tex.sh
-2023/06/26 | 414252 | systems/texlive/tlnet/archive/hyperref.source.r67471.tar.xz
-2023/06/26 | 41261 | graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
-2023/06/26 | 404372 | macros/latex/required/babel/base/babel.pdf
-2023/06/26 | 399792 | fonts/newcomputermodern/otf/NewCMMono10-Italic.otf
-2023/06/26 | 391276 | fonts/newcomputermodern/otf/NewCMSans08-BookOblique.otf
-2023/06/26 | 3888 | fonts/newcomputermodern/doc/opticalmathlm.pdf
-2023/06/26 | 374692 | fonts/newcomputermodern/otf/NewCMSans08-Book.otf
-2023/06/26 | 368888 | fonts/newcomputermodern/otf/NewCMSans10-Book.otf
-2023/06/26 | 3658 | macros/plain/contrib/mlawriter/testmla.tex
-2023/06/26 | 365824 | fonts/newcomputermodern/otf/NewCMSans08-Regular.otf
-2023/06/26 | 3633644 | systems/texlive/tlnet/archive/hyperref.doc.r67471.tar.xz
-2023/06/26 | 362 | graphics/pgf/contrib/rouequestions/README.txt
-2023/06/26 | 360944 | fonts/newcomputermodern/otf/NewCMSans10-BoldOblique.otf
-2023/06/26 | 360164 | fonts/newcomputermodern/otf/NewCMSans08-Oblique.otf
-2023/06/26 | 3526 | macros/latex/required/babel/base/bbidxglo.dtx
-2023/06/26 | 348608 | fonts/newcomputermodern/otf/NewCMSans10-BookOblique.otf
-2023/06/26 | 34859 | fonts/newcomputermodern/doc/newcm-doc.tex
-2023/06/26 | 340 | fonts/newcomputermodern/tex/newcomputermodern.sty
-2023/06/26 | 337268 | fonts/newcomputermodern/otf/NewCMMono10-Regular.otf
-2023/06/26 | 3368540 | install/macros/latex/required/babel-base.tds.zip
-2023/06/26 | 328992 | fonts/newcomputermodern/otf/NewCMSans10-Bold.otf
-2023/06/26 | 318572 | fonts/newcomputermodern/otf/NewCMSans10-Regular.otf
-2023/06/26 | 31788 | macros/plain/contrib/mlawriter.zip
-2023/06/26 | 30208 | fonts/newcomputermodern/otf/NewCMUncial10-Regular.otf
-2023/06/26 | 297576 | fonts/newcomputermodern/otf/NewCMMono10-Bold.otf
-2023/06/26 | 28602 | macros/plain/contrib/mlawriter/testmla.pdf
-2023/06/26 | 284580 | fonts/newcomputermodern/otf/NewCMSans10-Oblique.otf
-2023/06/26 | 27682 | macros/latex/contrib/mitthesis/mitthesis-doc/mitthesis-doc.tex
-2023/06/26 | 27424 | macros/latex/contrib/mitthesis/mitthesis.cls
-2023/06/26 | 267160 | systems/texlive/tlnet/archive/fonts-churchslavonic.doc.r67473.tar.xz
-2023/06/26 | 2563 | macros/latex/contrib/photobook/README.md
-2023/06/26 | 255780 | systems/texlive/tlnet/archive/japanese-otf.r67475.tar.xz
-2023/06/26 | 239448 | systems/texlive/tlnet/archive/churchslavonic.doc.r67474.tar.xz
-2023/06/26 | 2373 | macros/latex/required/babel/base/README.md
-2023/06/26 | 23522 | graphics/pgf/contrib/profsio/tex/ProfSio.sty
-2023/06/26 | 234 | fonts/newcomputermodern/tex/NewCMMono10-Regular.fontspec
-2023/06/26 | 232 | fonts/newcomputermodern/tex/NewCMMono10-Book.fontspec
-2023/06/26 | 23196 | fonts/newcomputermodern/otf/NewCMUncial08-Book.otf
-2023/06/26 | 23030697 | fonts/newcomputermodern.zip
-2023/06/26 | 22876 | fonts/newcomputermodern/otf/NewCMUncial10-Book.otf
-2023/06/26 | 22464 | fonts/newcomputermodern/otf/NewCMUncial08-Regular.otf
-2023/06/26 | 22356 | fonts/newcomputermodern/otf/NewCMUncial08-Bold.otf
-2023/06/26 | 21890 | macros/latex/required/babel/base/bbcompat.dtx
-2023/06/26 | 2173096 | macros/latex/required/babel/base.zip
-2023/06/26 | 21076 | fonts/newcomputermodern/otf/NewCMUncial10-Bold.otf
-2023/06/26 | 2071376 | systems/texlive/tlnet/archive/fonts-churchslavonic.r67473.tar.xz
-2023/06/26 | 205 | fonts/newcomputermodern/doc/opticalmathlm.tex
-2023/06/26 | 194978 | macros/latex/contrib/photobook.zip
-2023/06/26 | 191 | fonts/newcomputermodern/doc/integral.tex
-2023/06/26 | 1845 | macros/plain/contrib/mlawriter/mlawriter.tex
-2023/06/26 | 183185 | fonts/newcomputermodern/doc/newcm-doc.pdf
-2023/06/26 | 174418 | macros/latex/contrib/photobook/photobook.cls
-2023/06/26 | 17019 | macros/latex/contrib/photobook/scripts/make-spreads.sh
-2023/06/26 | 16144 | fonts/newcomputermodern/doc/newcm-unimath-symbols.ltx
-2023/06/26 | 1527 | macros/latex/contrib/photobook/LICENSE
-2023/06/26 | 144078 | macros/latex/contrib/photobook/photobook.pdf
-2023/06/26 | 14221 | macros/latex/contrib/photobook/scripts/README.md
-2023/06/26 | 141279 | fonts/newcomputermodern/doc/newcomputermodern-sample.pdf
-2023/06/26 | 1303962 | fonts/newcomputermodern/doc/newcm-unimath-symbols.pdf
-2023/06/26 | 12687556 | fonts/newcomputermodern/source.txz
-2023/06/26 | 122708 | systems/texlive/tlnet/archive/luafindfont.doc.r67468.tar.xz
-2023/06/26 | 12220 | systems/texlive/tlnet/archive/covington.r67472.tar.xz
-2023/06/26 | 12198 | macros/latex/contrib/mitthesis/MIT-thesis-template/MIT-Thesis.tex
-2023/06/26 | 1204 | systems/texlive/tlnet/archive/pslatex.source.r67469.tar.xz
-2023/06/26 | 12033 | fonts/newcomputermodern/README
-2023/06/26 | 115641 | macros/xetex/latex/exam-zh/doc/body/usage.tex
-2023/06/26 | 1140312 | fonts/newcomputermodern/otf/NewCMMath-Book.otf
-2023/06/26 | 10389 | macros/latex/contrib/photobook/Makefile
-2023/06/26 | 1034 | fonts/newcomputermodern/tex/NewCM10-Regular.fontspec
-2023/06/26 | 1014 | fonts/newcomputermodern/tex/NewCM10-Book.fontspec
-2023/06/26 | 1006492 | fonts/newcomputermodern/otf/NewCMMath-Regular.otf
diff --git a/biblio/ctan-bibdata/ctan.bib b/biblio/ctan-bibdata/ctan.bib
index 45740e0be1..6acd94a3a9 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 03-07-2023, 02:01:21
+%% created at 04-07-2023, 02:01:11
%%
%% This file is provided under the terms of the LPPL v1.3 or
@@ -10130,8 +10130,8 @@
title = {The \texttt{BXjscls} package},
subtitle = {Japanese document class collection for all major engines},
author = {Takayuki Yato},
- date = {2023-06-22},
- version = {2.8a},
+ date = {2023-07-03},
+ version = {2.8b},
license = {bsd2},
mirror = {https://mirror.ctan.org/language/japanese/BX/bxjscls},
url = {https://ctan.org/pkg/bxjscls},
@@ -24111,8 +24111,8 @@
title = {The \texttt{facture} package},
subtitle = {Generate an invoice},
author = {Maïeul Rouquette and Joël Gombin and Étienne Deparis},
- date = {2023-05-19},
- version = {1.2.2},
+ date = {2023-07-03},
+ version = {1.3},
license = {cc-by-sa-2},
mirror = {https://mirror.ctan.org/macros/xetex/latex/facture},
url = {https://ctan.org/pkg/facture},
@@ -24133,7 +24133,7 @@
title = {The \texttt{fail-fast} package},
subtitle = {Turn warnings into errors},
author = {Yegor Bugayenko},
- date = {2023-07-02},
+ date = {2023-07-03},
version = {0.0.1},
license = {mit},
mirror = {https://mirror.ctan.org/macros/latex/contrib/fail-fast},
@@ -38684,8 +38684,8 @@
title = {The \texttt{lettrine} package},
subtitle = {Typeset dropped capitals},
author = {Daniel Flipo},
- date = {2023-04-18},
- version = {2.40},
+ date = {2023-07-03},
+ version = {2.50},
license = {lppl1.3},
mirror = {https://mirror.ctan.org/macros/latex/contrib/lettrine},
url = {https://ctan.org/pkg/lettrine},
@@ -54510,8 +54510,8 @@
title = {The \texttt{profsio} package},
subtitle = {Commands (with TikZ) to work with French “BTS SIO” maths themes},
author = {Cédric Pierquet},
- date = {2023-06-26},
- version = {0.1.1},
+ date = {2023-07-03},
+ version = {0.1.2},
license = {lppl1.3c},
mirror = {https://mirror.ctan.org/graphics/pgf/contrib/profsio},
url = {https://ctan.org/pkg/profsio},
@@ -55928,8 +55928,8 @@
title = {The \texttt{pst-math} package},
subtitle = {Enhancement of PostScript math operators to use with PSTricks},
author = {Christophe Jorssen and Herbert Voß},
- date = {2022-10-17},
- version = {0.66},
+ date = {2023-07-03},
+ version = {0.67},
license = {lppl},
mirror = {https://mirror.ctan.org/graphics/pstricks/contrib/pst-math},
url = {https://ctan.org/pkg/pst-math},
diff --git a/biblio/ctan-bibdata/ctan.pdf b/biblio/ctan-bibdata/ctan.pdf
index 61ff28ddb3..22ca6a7e6d 100644
--- a/biblio/ctan-bibdata/ctan.pdf
+++ b/biblio/ctan-bibdata/ctan.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
index e90084029e..3c07f06d1c 100644
--- a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
index ac11dc168a..0d7a8b3b51 100644
--- a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
@@ -1,13 +1,14 @@
% !TeX TXS-program:compile = txs:///arara
-% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode}
-% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: lualatex: {shell: yes, synctex: no, interaction: batchmode}
\documentclass[french,a4paper,11pt]{article}
\usepackage[margin=2cm,includefoot]{geometry}
-\def\TPversion{0.1.1}
-\def\TPdate{26 juin 2023}
-\usepackage[utf8]{inputenc}
-\usepackage[T1]{fontenc}
+\def\TPversion{0.1.2}
+\def\TPdate{3 juillet 2023}
+%\usepackage[utf8]{inputenc}
+%\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb}
\usepackage{ProfSio}
\usepackage{awesomebox}
@@ -17,6 +18,7 @@
\usepackage{enumitem}
\usepackage{wrapstuff}
\usepackage{lipsum}
+\UseTblrLibrary{booktabs}
\usepackage{fancyvrb}
\usepackage{fancyhdr}
\fancyhf{}
@@ -48,7 +50,7 @@
\AddThinSpaceBeforeFootnotes
\FrenchFootnotes
-\usepackage{listings}
+%\usepackage{listings}
\usepackage{newverbs}
\newverbcommand{\motcletex}{\color{cyan!75!black}}{}
@@ -79,10 +81,10 @@
keywordstyle={\color{violet}},%
classoffset=2,%
alsoletter={-},%
- morekeywords={\MPMPlaceTache,\MPMPlaceNotice,\MPMPlaceDuree,GrapheMPM,TableKarnaugh,\KarnaughCasesResult,\KarnaughBlocRegroup,\MPMPlaceTaches,\MPMPlaceDurees,GrapheTikz,\GrphPlaceSommets,\GrphTraceAretes,\tikzset,\DiagrammeSagittal,\draw},%
+ morekeywords={\MPMPlaceTache,\MPMPlaceNotice,\MPMPlaceDuree,GrapheMPM,TableKarnaugh,\KarnaughCasesResult,\KarnaughBlocRegroup,\MPMPlaceTaches,\MPMPlaceDurees,GrapheTikz,\GrphPlaceSommets,\GrphTraceAretes,\tikzset,\DiagrammeSagittal,\draw,\DiagrammeSagittalCompo,\TableVerite},%
keywordstyle={\color{green!50!black}},%
classoffset=3,%
- morekeywords={CouleurDurees,CouleurFleches,LargeurCases,Epaisseur,Police,CouleurDates,CouleurBords,NoirBlanc,Grille,DecalHorizDeb,DecalVertDeb,DecalHorizFin,DecalVertFin,Coude,SensCoude,Unite,Variables,Swap,Aide,CouleurCases,Decalage,Couleur,Type,Legende,PosVarLaterale,CouleurLegende,CouleurSommets,TypeSommets,Unite,CouleurFT,DimensionSommets,PositionFleches,EchelleFleches,TypeFleche,Droit,Milieu,AngleGauche,AngleDroite,Boucle,GrphStyleArc,GrphStyleSommet,Poids,GrphStylepoids,DistElem,DistEns,LargEns,NomAppli,CouleurE,CouleurAppli,CouleurF,CouleurFleches,TypeFleche,Epaisseur,Labels,Ensembles,PosLabels,PoliceLabels},%
+ morekeywords={CouleurDurees,CouleurFleches,LargeurCases,Epaisseur,Police,CouleurDates,CouleurBords,NoirBlanc,Grille,DecalHorizDeb,DecalVertDeb,DecalHorizFin,DecalVertFin,Coude,SensCoude,Unite,Variables,Swap,Aide,CouleurCases,Decalage,Couleur,Type,Legende,PosVarLaterale,CouleurLegende,CouleurSommets,TypeSommets,Unite,CouleurFT,DimensionSommets,PositionFleches,EchelleFleches,TypeFleche,Droit,Milieu,AngleGauche,AngleDroite,Boucle,GrphStyleArc,GrphStyleSommet,Poids,GrphStylepoids,DistElem,DistEns,LargEns,NomAppli,CouleurE,CouleurAppli,CouleurF,CouleursFleches,TypeFleche,Epaisseur,Labels,Ensembles,PosLabels,PoliceLabels,Offset,NomApplis,CouleursAppli,VF,LargeursColonnes,CouleurEnonce,CodeAvant,CodeApres},%
keywordstyle={\color{orange}}
},%
#1
@@ -126,8 +128,6 @@
{\Huge \texttt{ProfSio} [fr]}\\
\\
{\LARGE Des outils pour les Maths en BTS SIO.} \\
- \\
- {\large (Services Informatiques aux Organisations)}
\end{tabular}
\bigskip
@@ -140,8 +140,7 @@
\begin{center}
\begin{tabular}{c}
- \texttt{Cédric Pierquet}\\
- {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{Cédric Pierquet} ({\ttfamily c pierquet -- at -- outlook . fr})\\
\texttt{\url{https://github.com/cpierquet/profsio}}
\end{tabular}
\end{center}
@@ -162,6 +161,10 @@
{$\blacktriangleright$~~Créer des graphes simples ou des diagrammes sagittaux.
+\vspace{0.15cm}
+
+{$\blacktriangleright$~~Créer des tables de vérité (via \hologo{LuaLaTeX}) grâce au code du package \packagetex!luatruthtable!\footnotemark\footnotetext{Package \LaTeX{} : \href{https://ctan.org/pkg/luatruthtable}{[Lien]} sur le site du CTAN}.
+
\vspace{1cm}
\hfill
@@ -195,18 +198,20 @@
\hfill~
\hfill
-\begin{TableKarnaugh}<scale=0.9>
+\begin{TableKarnaugh}<scale=0.9,baseline=(current bounding box.center)>
\KarnaughCasesResult{0,1,1,0,1,1,1,1}
\KarnaughBlocRegroup[Type=Centre,Couleur=blue!75,Decalage=-1.5pt]{10}{32}
\KarnaughBlocRegroup[Type=Gauche,Couleur=red!75,Decalage=-1.5pt]{00}{11}
\KarnaughBlocRegroup[Type=Droite,Couleur=red!75,Decalage=-1.5pt]{40}{31}
\end{TableKarnaugh}
\hspace{1cm}
-\begin{TableKarnaugh}[Variables=u/v/w,Swap,CouleurCases=lime]
+\begin{TableKarnaugh}[Variables=u/v/w,Swap,CouleurCases=lime]<scale=0.9,baseline=(current bounding box.center)>
\KarnaughCasesResult*{1,1,1,1,1,0,0,0}
\KarnaughBlocRegroup[Type=Centre,Couleur=blue!75,Decalage=-1.5pt]{00}{12}
\KarnaughBlocRegroup[Type=Centre,Couleur=red!75,Decalage=-1.15pt]{01}{42}
\end{TableKarnaugh}
+\hspace{1cm}
+\TableVerite<baseline=c>{P,Q}{$P$,$Q$}{lognot*P,P*logand*Q,P*imp*Q}{$\lnot P$,$P \lor Q$,$P \Rightarrow Q$}
\hfill~
\vspace{0.5cm}
@@ -246,8 +251,14 @@
\vfill
+\newpage
+
\section{Historique}
+\verb|v0.1.2|~:~~~~Clé \Cle{Offset} pour les diagrammes sagittaux + Diagrammes sagittaux de composées.
+
+\verb| |~:~~~~Ajout des tables de vérité (via \hologo{LuaLaTeX}).
+
\verb|v0.1.1|~:~~~~Mise à jour de la documentation + Diagrammes sagittaux.
\verb|v0.1.0|~:~~~~Version initiale.
@@ -264,13 +275,18 @@ Le package \packagetex!ProfSio! propose quelques commandes pour travailler sur d
\begin{itemize}
\item graphe d'ordonnancement par la méthode MPM ;
\item tableau de Karnaugh à 3 variables ;
- \item graphes \textit{simples} orientés, pondérés.
+ \item graphes \textit{simples} orientés ou pondérés, des diagrammes sagittaux ;
+ \item des tables de vérité (via \hologo{LuaLaTeX}).
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{noteblock}
\begin{warningblock}
Le code ne propose par de \og résolution \fg{} du graphe MPM, de \og simplification \fg{} d'expressions booléennes ou de représentation \og automatique \fg{} d'un graphe, il ne consiste \textit{qu'en} une mise en forme du graphe MPM, du tableau de Karnaugh ou du graphe.
+
+\smallskip
+
+Par contre, pour les tables de vérité, le code se charge de créer le tableau \underline{entièrement}, grâce aux données du package \packagetex!luatruthtable! (légèrement \textit{patchées} pour obtenir une alternance un peu plus homogène).
\end{warningblock}
\subsection{Chargement du package, packages utilisés}
@@ -291,20 +307,17 @@ Il n'existe pas d'option pour le package, et \packagetex!xcolor! n'est pas charg
\packagetex!ProfSio! charge les packages suivantes :
\begin{itemize}
- \item \packagetex!tikz!, \packagetex!pgffor! et \packagetex!xintexpr! ;
- \item \packagetex!tabularray!, \packagetex!simplekv!, \packagetex!xstring! et \packagetex!listofitems! ;
+ \item \packagetex!tikz!, \packagetex!pgffor!, \packagetex!xintexpr!, \packagetex!tabularray!, \packagetex!simplekv!, \packagetex!xstring! et \packagetex!listofitems! ;
+ \item \packagetex!luacode! et \packagetex!nicematrix! (uniquement si le compilateur détecté est \hologo{LuaLaTeX}) ;
\item les librairies \packagetex!tikz! :
\begin{itemize}
- \item \motcletex!tikz.positioning!
+ \item \motcletex!tikz.positioning!, \motcletex!tikz.babel!, \motcletex!tikz.calc! ;
\item \motcletex!tikz.decorations.pathreplacing! et \motcletex!tikz.decorations.markings! ;
- \item \motcletex!tikz.babel! ;
- \item \motcletex!tikz.calc! ;
- \item \motcletex!tikz.shapes! et \motcletex!tikz.shapes.geometric! ;
- \item \motcletex!tikz.arrows! et \motcletex!tikz.arrows.meta!.
+ \item \motcletex!tikz.shapes!, \motcletex!tikz.shapes.geometric!, \motcletex!tikz.arrows! et \motcletex!tikz.arrows.meta!.
\end{itemize}
\end{itemize}
-Il est compatible avec les compilations usuelles en \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} ou \textsf{xelatex}.
+Il est compatible avec les compilations usuelles en \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} (obligatoire pour les tables de vérité !) ou \textsf{xelatex}.
\end{noteblock}
\subsection{Fonctionnement global}
@@ -321,7 +334,7 @@ Le choix a été fait de :
\begin{itemize}
\item présenter l'ordonnancement par la méthode MPM, avec présentation des tâches \textit{fixée} ;
\item limiter les tableaux de Karnaugh pour 3 variables, avec présentation \textit{fixée} ;
- \item de ne pas forcément proposer de modification de la présentation \textit{globale}
+ \item de ne pas forcément proposer de modification de la présentation \textit{globale}.
\end{itemize}
\vspace*{-\baselineskip}\leavevmode
\end{noteblock}
@@ -1006,7 +1019,7 @@ Pour marquer une fermeture transitive, on peut utiliser le style \verb|FT| dans
\pagebreak
-\section{Diagrammes sagittaux}
+\section{Diagramme sagittal d'une application}
\subsection{Commande et fonctionnement global}
@@ -1075,12 +1088,13 @@ Les \Cle{clés} disponibles sont :
\item \Cle{DistElem} := distance verticale entre les éléments ; \hfill{}défaut : \Cle{0.75}
\item \Cle{DistEns} := distance entre les \og patates \fg{} ; \hfill{}défaut : \Cle{4}
\item \Cle{LargEns} := largeur des \og patates \fg{} ; \hfill{}défaut : \Cle{1.5}
- \item \Cle{NomAppli} := nom de l'application ; \hfill{}défaut : \Cle{$f$}
+ \item \Cle{NomAppli} := nom de l'application ; \hfill{}défaut : \Cle{\$f\$}
\item \Cle{CouleurE} := couleur de l'ensemble de départ ; \hfill{}défaut : \Cle{blue}
\item \Cle{CouleurAppli} := couleur de l'application ; \hfill{}défaut : \Cle{violet}
\item \Cle{CouleurF} := couleur de l'ensemble d'arrivée ; \hfill{}défaut : \Cle{red}
\item \Cle{CouleurFleches} := couleur des flèches ; \hfill{}défaut : \Cle{teal}
\item \Cle{TypeFleche} := type de la flèche ; \hfill{}défaut : \Cle{Latex}
+ \item \Cle{Offset} := décalage entre les flèches et les éléments (points) ; \hfill{}défaut : \Cle{2pt}
\item \Cle{Epaisseur} := épaisseur des tracés ; \hfill{}défaut : \Cle{0.8pt}
\item \Cle{Police} := police pour les éléments ; \hfill{}défaut : \Cle{vide}
\item \Cle{NoirBlanc} := booléen pour forcer l'affichage en N\&{}B ; \hfill{}défaut : \Cle{false}
@@ -1105,7 +1119,7 @@ Le troisième argument, obligatoire et entre \texttt{\{...\}}, permet de précis
\begin{DemoCode}[]
\DiagrammeSagittal[%
E={1,2,3,4,5,6,7},F={a,b,c,d,e},Labels=false,%
- DistElem=1,DistEns=6,LargEns=2,%
+ DistElem=1,DistEns=6,LargEns=2,Offset=4pt,%
CouleurE=teal,CouleurF=orange,CouleurAppli=brown,CouleurFleches=brown
]{1/a,2/b,3/b,4/c,5/d,6/e,7/e}
\end{DemoCode}
@@ -1121,4 +1135,313 @@ Le troisième argument, obligatoire et entre \texttt{\{...\}}, permet de précis
\end{tikzpicture}
\end{DemoCode}
+\pagebreak
+
+\section{Diagramme sagittal d'une composée d'applications}
+
+\subsection{Commande et fonctionnement global}
+
+\begin{cautionblock}
+La commande dédiée à la création d'un diagramme sagittal pour une application est \motcletex!\DiagrammeSagittalCompo!.
+
+Le diagramme créé est réalisé avec un environnement \motcletex!tikzpicture!.
+\end{cautionblock}
+
+\begin{DemoCode}[listing only]
+%commande autonome
+\DiagrammeSagittalCompo[clés]<options tikz>{liaisons1}{liaisons2}
+
+%commande à insérer dans un environnement tikzpicture
+\begin{tikzpicture}
+ \DiagrammeSagittalCompo*[clés]{liaisons1}{liaisons2}
+\end{tikzpicture}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\DiagrammeSagittalCompo%
+ [E={a,b,c,d},F={A,B,C,E,F,G,H},G={1,2,3,4,5}]%
+ {a/B,d/H}%
+ {B/1,B/2,H/5}
+\end{DemoCode}
+
+\begin{warningblock}
+La majorité des paramètres sont personnalisables, mais le \textit{thème} général est globalement \textit{fixé}, dans le sens où ce sont les éléments \textit{cosmétiques} qui pourront être modifiés.
+
+\smallskip
+
+La commande de création de \packagetex!ProfSio! est volontairement pour des applications basiques, dans l'optique de travailler avec exemples en adéquation avec le programme de BTS SIO.
+\end{warningblock}
+
+\subsection{Arguments et clés}
+
+\begin{DemoCode}[listing only]
+\DiagrammeSagittalCompo[clés]<options tikz>{liaisons1}{liaisons2}
+
+\begin{tikzpicture}
+ \DiagrammeSagittalCompo*[clés]{liaisons1}{liaisons2}
+\end{tikzpicture}
+\end{DemoCode}
+
+\begin{noteblock}
+Le code se charge, grâce aux \Cle{clés}, de positionner et d'aligner les éléments des ensembles et les flèches.
+
+De ce fait, les \textit{écarts} entre les éléments d'un ensemble sont fixées globalement, tout comme le style général des flèches.
+\end{noteblock}
+
+\begin{tipblock}
+La version \textit{étoilé} permet de ne pas créer l'environnement \motcletex!tikzpicture!, pour d'éventuels rajouts ultérieurs :
+
+\begin{itemize}
+ \item les éléments de l'ensemble de départ sont des nœuds nommés \verb!(E...)! ;
+ \item les éléments de l'ensemble du milieu sont des nœuds nommés \verb!(F...)! ;
+ \item les éléments de l'ensemble d'arrivée sont des nœuds nommés \verb!(G...)!.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{tipblock}
+Les \Cle{clés} disponibles sont :
+
+\begin{itemize}
+ \item \Cle{DistElem} := distance verticale entre les éléments ; \hfill{}défaut : \Cle{0.75}
+ \item \Cle{DistEns} := distance entre les \og patates \fg{} ; \hfill{}défaut : \Cle{4}
+ \item \Cle{LargEns} := largeur des \og patates \fg{} ; \hfill{}défaut : \Cle{1.5}
+ \item \Cle{NomApplis} := nom des applications ; \hfill{}défaut : \Cle{\$f\$/\$g\$}
+ \item \Cle{CouleurE} := couleur de l'ensemble de départ ; \hfill{}défaut : \Cle{blue}
+ \item \Cle{CouleurApplis} := couleurs des applications, \Cle{Couleur} ou \Cle{Couleur\_f/Couleur\_g} ;
+
+ \hfill{}défaut : \Cle{violet}
+ \item \Cle{CouleurF} := couleur de l'ensemble du milieu ; \hfill{}défaut : \Cle{red}
+ \item \Cle{CouleurG} := couleur de l'ensemble d'arrivée ; \hfill{}défaut : \Cle{gray}
+ \item \Cle{CouleursFleches} := couleurs des flèches, \Cle{Couleur} ou \Cle{Couleur\_f/Couleur\_g} ;
+
+ \hfill{}défaut : \Cle{teal}
+ \item \Cle{TypeFleche} := type de la flèche ; \hfill{}défaut : \Cle{Latex}
+ \item \Cle{Offset} := décalage entre les flèches et les éléments (points) ; \hfill{}défaut : \Cle{2pt}
+ \item \Cle{Epaisseur} := épaisseur des tracés ; \hfill{}défaut : \Cle{0.8pt}
+ \item \Cle{Police} := police pour les éléments ; \hfill{}défaut : \Cle{vide}
+ \item \Cle{NoirBlanc} := booléen pour forcer l'affichage en N\&{}B ; \hfill{}défaut : \Cle{false}
+ \item \Cle{Labels} := booléen pour afficher les noms des ensembles ; \hfill{}défaut : \Cle{true}
+ \item \Cle{Ensembles} := nom des ensembles ;
+
+ \hfill{}défaut : \Cle{\$\textbackslash mathcal\{E\}\$/\$\textbackslash mathcal\{F\}\$/\$\textbackslash mathcal\{G\}\$}
+ \item \Cle{PosLabels} := position des labels, parmi \Cle{haut/bas}. \hfill{}défaut : \Cle{bas}
+\end{itemize}
+
+Le deuxième argument, optionnel et entre \texttt{<...>} propose des options, en langage \packagetex!tikz! à passer à l'environnement.
+
+\smallskip
+
+Les arguments \texttt{3} et \texttt{4}, obligatoires et entre \texttt{\{...\}}, permettent de préciser les \textit{liaisons} sous la forme \verb!x1/f(x1),x2/f(x2),...! et \verb!y1/g(y1),y2/g(y2),...! .
+\end{tipblock}
+
+\subsection{Exemples}
+
+\begin{DemoCode}[]
+\DiagrammeSagittalCompo%
+ [DistElem=1,DistEns=5,LargEns=1.75,Police={\Large\ttfamily},%
+ Epaisseur=1pt,NomApplis={$h$/$\varphi$},CouleursFleches={teal/lime},%
+ E={a,b,c,d,e,f},F={A,C,H,P},G={1,2,3,4,5},PoliceLabels=\Large]%
+ {a/A,a/P,b/H,e/P,c/C}%
+ {A/5,C/3,H/3,P/4}%
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\DiagrammeSagittalCompo%
+ [E={a,b,c,d,e},F={1,2,3,4,5,6,7},G={a,b,c,d,e},%
+ Ensembles={E/F/E}]%
+ {a/1,b/2,c/4,d/5,e/6}%
+ {1/a,2/b,3/b,4/c,5/d,6/e,7/e}%
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\begin{tikzpicture}
+ \DiagrammeSagittalCompo*%
+ [E={a,b,c,d,e},F={1,2,3,4,5,6,7},G={a,b,c,d,e},%
+ Ensembles={E/F/E}]%
+ {a/1,b/2,c/4,d/5,e/6}%
+ {1/a,2/b,3/b,4/c,5/d,6/e,7/e}%
+ \draw[orange!50!black,<-,thick,dashed,>=Latex] ($(Gc)+(12pt,0)$) to[bend left=10]++ (2,-1) node[right] {\parbox{4cm}{On a donc $g\,{\small\circ\,}f(c)=c$}} ;
+\end{tikzpicture}
+\end{DemoCode}
+
+\pagebreak
+
+\section{Table de vérité}
+
+\subsection{Commande et fonctionnement global}
+
+\begin{cautionblock}
+La commande dédiée à la création d'une table de vérité (à deux variables minimum) est \motcletex!\TableVerite!.
+
+La commande est accessible \textbf{uniquement} en cas d'une compilation en \hologo{LuaLaTeX} !
+
+Le tableau est créé grâce au package \packagetex!nicematrix!.
+\end{cautionblock}
+
+\begin{importantblock}
+Une \textbf{double compilation} peut être nécessaire pour le placement correct des filets !
+
+Les fonction \textsf{LUA} utilisées sont issues du \packagetex!luatruthtable!, elles sont légèrement modifiées pour \textit{coller} à une présentation plus classique.
+\end{importantblock}
+
+\begin{DemoCode}[listing only]
+\TableVerite[clés]<opts nicematrix>{vars}{colonnes_vars}{calculs}{colonnes_calculs}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\TableVerite{P}{$P$}%
+ {lognot*P,P*logand*P,P*logor*P,P*iff*P,P*imp*P}%
+ {$\lnot P$,$P \land P$,$P \lor P$,$P \Leftrightarrow P$,$P \Rightarrow P$}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\TableVerite{P,Q}{$P$,$Q$}{lognot*P,P*logand*Q}{$\lnot P$,$P \land Q$}
+\end{DemoCode}
+
+\subsection{Arguments et clés pour la commande}
+
+\begin{DemoCode}[listing only]
+\TableVerite[clés]<opts nicematrix>{vars}{colonnes_vars}{calculs}{colonnes_calculs}
+\end{DemoCode}
+
+\begin{tipblock}
+En ce qui concerne la création du tableau, les \Cle{clés} sont :
+
+\begin{itemize}
+ \item \Cle{VF} := pour préciser Vrai/Faux ; \hfill~défaut : \Cle{V/F}
+ \item \Cle{Swap} := booléen pour commencer par FFF au lieu de VVV ; \hfill~défaut : \Cle{false}
+ \item \Cle{LargeursColonnes} := largeur des colonnes, \Cle{auto} ou \Cle{largeurG} ou \Cle{LargeurVar/LargeurCalc} ;
+
+ \hfill~défaut : \Cle{auto}
+ \item \Cle{CouleurEnonce} := couleur de fond de la première ligne ; \hfill~défaut : \Cle{vide}
+ \item \Cle{CodeAvant} := code \texttt{CodeBefore} (et avant l'éventuel coloriage de la première ligne) pour \motcletex!nicetabular! ;
+
+ \hfill~défaut : \Cle{vide}
+ \item \Cle{CodeApres} := code \texttt{CodeAfter} pour \motcletex!nicetabular!. \hfill~défaut : \Cle{vide}
+\end{itemize}
+
+Le deuxième argument, optionnel et entre \texttt{<...>} propose des options, en langage \packagetex!nicematrix! à passer à la commande.
+\end{tipblock}
+
+\pagebreak
+
+\begin{tipblock}
+Le troisième argument, obligatoire et entre \texttt{\{...\}}, permet de spécifier les calculs à effectuer, en langage \motcletex!luatruthtable!, notamment :
+
+\begin{itemize}
+ \item \texttt{lognot*} pour le \textsf{CONTRAIRE} ;
+ \item \texttt{*logand*} pour le \textsf{ET} ;
+ \item \texttt{*logor*} pour le \textsf{OU} ;
+ \item \texttt{*iff*} pour le \textsf{ÉQUIVALENT} ;
+ \item \texttt{*imp*} pour le \textsf{IMPLIQUE} ;
+ \item le reste est disponible dans la documentation (\url{http://mirrors.ctan.org/macros/luatex/latex/luatruthtable/luatruthtable.pdf}).
+\end{itemize}
+
+Le dernier argument, obligatoire et entre \texttt{\{...\}}, permet de spécifier les labels des calculs, en langage \LaTeX{} cette fois-ci.
+\end{tipblock}
+
+\subsection{Compléments pour le package luatruthtable}
+
+\begin{tipblock}
+Le tableau suivant présente les connecteurs logiques issues du package \packagetex!luatruthtable! :
+
+\begin{center}
+ \begin{tblr}{colspec={Q[m,l]Q[m,l]Q[m,l]Q[m,l]},row{1}={fg=red!50!black,font=\sffamily},cell{2-Z}{1-2}={fg=cyan!75!black},column{3}={c}}
+ \toprule
+ Opérateur & Syntaxe & Expression & Description \\
+ \toprule
+ \texttt{lognot*} & \texttt{lognot*P} & $\lnot P$ & Négation de P \\
+ \midrule
+ \texttt{*logand*} & \texttt{P*logand*Q} & $P \land Q$ & Conjonction (et) de P et Q \\
+ \midrule
+ \texttt{*logor*} & \texttt{P*logor*Q} & $P \lor Q$ & Disjonction (ou) de P et Q \\
+ \midrule
+ \texttt{*imp*} & \texttt{P*imp*Q} & $P \Rightarrow Q$ & Implication de P vers Q \\
+ \midrule
+ \texttt{*iff*} & \texttt{P*iff*Q} & $P \Leftrightarrow Q$ & Équivalence de P et Q \\
+ \midrule
+ \texttt{*lognand*} & \texttt{P*lognand*Q} & $\lnot(P \land Q)$ & NAND de P et Q \\
+ \midrule
+ \texttt{*logxor*} & \texttt{P*logxor*Q} & $(P \lor Q) \land \lnot (P \land Q)$ & XOR de P et Q \\
+ \midrule
+ \texttt{*lognor*} & \texttt{P*lognor*Q} & $\lnot(P \lor Q)$ & NOR de P et Q \\
+ \midrule
+ \texttt{*logxnor*} & \texttt{P*logxnor*Q} & $(P \land Q) \lor (\lnot P \land \lnot Q)$ & XNOR de P et Q \\
+ \bottomrule
+ \end{tblr}
+\end{center}
+\end{tipblock}
+
+\subsection{Exemples}
+
+\begin{DemoCode}[]
+\TableVerite{P,Q}{$P$,$Q$}{lognot*P,P*logand*Q}{$\lnot P$,$P \land Q$}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\TableVerite[LargeursColonnes=2cm]{P,Q}{$P$,$Q$}{lognot*P,P*logand*Q}{$\lnot P$,$P \land Q$}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\TableVerite[LargeursColonnes=1cm/2cm]{P,Q}{$P$,$Q$}{lognot*P,P*logand*Q}{$\lnot P$,$P \land Q$}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\TableVerite[CouleurEnonce=lightgray!25]{P,Q}{$P$,$Q$}{lognot*P,P*logand*Q}{$\lnot P$,$P \land Q$}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\TableVerite%
+ [CodeAvant={\columncolor{red!15}{1}\columncolor{teal!15}{4}}]%
+ {P,Q}{$P$,$Q$}{lognot*P,P*logand*Q}{$\lnot P$,$P \land Q$}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\TableVerite%
+ [CodeApres={\UnderBrace[yshift=4pt]{1-4}{5-4}{et}}]%
+ {P,Q}{$P$,$Q$}{lognot*P,P*logand*Q}{$\lnot P$,$P \land Q$}
+\hspace{5mm}
+\TableVerite%
+ [Swap,CodeApres={\UnderBrace[yshift=4pt]{1-4}{5-4}{et}}]%
+ {P,Q}{$P$,$Q$}{lognot*P,P*logand*Q}{$\lnot P$,$P \land Q$}
+\hspace{5mm}
+\TableVerite%
+ [VF={Vrai/Faux},CodeApres={\UnderBrace[yshift=4pt]{1-4}{5-4}{et}}]%
+ {P,Q}{$P$,$Q$}{lognot*P,P*logand*Q}{$\lnot P$,$P \land Q$}
+\vspace*{0.75cm}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\TableVerite%
+ [CodeAvant={\columncolor{red!15}{5}\columncolor{red!15}{8}}]%
+ {P,Q,R}%
+ {$P$,$Q$,$R$}%
+ {%
+ Q*logand*R,P*logor*(Q*logand*R),P*logor*Q,%
+ Q*logor*R,(P*logor*Q)*logand*(P*logor*R)
+ }%
+ {$Q \land R$,$P \lor (Q \land R)$,$P \lor Q$,$Q \lor R$,$(P \lor Q) \land (P \lor R)$}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%Loi de De Morgan
+
+\TableVerite%
+ [CouleurEnonce=lightgray!15,LargeursColonnes=0.75cm/2cm,%
+ CodeAvant={\columncolor{teal!10}{6}\columncolor{teal!10}{7}}]%
+ {P,Q}{$P$,$Q$}%
+ {lognot*P,lognot*Q,P*logand*Q,
+ lognot*(P*logand*Q),(lognot*P)*logor*(lognot*Q)}%
+ {$\lnot P$,$\lnot Q$,$P\land Q$,$\lnot(P\land Q)$,$(\lnot P)\lor(\lnot Q)$}
+
+\TableVerite%
+ [CouleurEnonce=lightgray!15,LargeursColonnes=0.75cm/2cm,VF={1/0},%
+ CodeAvant={\columncolor{orange!10}{6}\columncolor{orange!10}{7}}]%
+ {P,Q}{$P$,$Q$}%
+ {lognot*P,lognot*Q,P*logand*Q,
+ lognot*(P*logand*Q),(lognot*P)*logor*(lognot*Q)}%
+ {$\lnot P$,$\lnot Q$,$P\land Q$,$\lnot(P\land Q)$,$(\lnot P)\lor(\lnot Q)$}
+\end{DemoCode}
+
\end{document} \ No newline at end of file
diff --git a/graphics/pgf/contrib/profsio/tex/ProfSio.sty b/graphics/pgf/contrib/profsio/tex/ProfSio.sty
index 103b2667dd..1de0681384 100644
--- a/graphics/pgf/contrib/profsio/tex/ProfSio.sty
+++ b/graphics/pgf/contrib/profsio/tex/ProfSio.sty
@@ -1,12 +1,15 @@
% Author : C. Pierquet
% licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
+% : Luatruthtable from Chetan Shirore and Dr. Ajit Kumar https://ctan.org/pkg/luatruthtable
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfSio}[2023/06/26 0.1.1 Pour les enseignants en BTS SIO]
+\ProvidesPackage{ProfSio}[2023/07/03 0.1.2 Pour les enseignants en BTS SIO]
+%0.1.2 Ajout d'une option [Offset] pour les diagrammes sagittaux + Diagrammes sagittaux de composée + Tables de vérité
%0.1.1 Correction de la documentation + Ajout des diagrammes sagittaux
%0.1.0 Version initiale
%------Packages utiles
+\RequirePackage{iftex}
\RequirePackage{tikz,pgffor}
\RequirePackage{tabularray}
\RequirePackage{simplekv}
@@ -557,7 +560,8 @@
Police=\def\DSPolicePatates{#1},%
PoliceLabels=\def\DSPoliceLabels{#1},%
Ensembles=\def\DSNomEns{#1},%
- PosLabels=\def\DSPosLabels{#1}
+ PosLabels=\def\DSPosLabels{#1},%
+ Offset=\def\DSOffset{#1}
}
\setKVdefault[DiagSagitt]{%
@@ -576,7 +580,8 @@
Labels=true,%
Ensembles={$\mathcal{E}$/$\mathcal{F}$},%{E/F},%
PosLabels=bas,%
- PoliceLabels={}
+ PoliceLabels={},%
+ Offset=2pt
}
\NewDocumentCommand\DiagrammeSagittal{s O{} D<>{} m }{%
@@ -631,11 +636,581 @@
}%
%ARCS
\foreach \Deb/\Fin in {#4} {%
- \draw[line width=\DSThick,->,>=\DSTypeFleche,\DSCouleurArc] (E\Deb)--(F\Fin) ;
+ \draw[line width=\DSThick,->,>=\DSTypeFleche,\DSCouleurArc] ([xshift=\DSOffset]E\Deb)--([xshift=-\DSOffset]F\Fin) ;
}%
\IfBooleanTF{#1}%
{}%
{\end{tikzpicture}}%
}
+%------Diagramme Sagittal Compo
+\defKV[DiagSagittCompo]{%
+ E=\def\DSListeEltE{#1},%
+ F=\def\DSListeEltF{#1},%
+ G=\def\DSListeEltG{#1},%
+ DistElem=\def\DSEcartIN{#1},%
+ DistEns=\def\DSEcartIP{#1},%
+ LargEns=\def\DSLargPatates{#1},%
+ NomApplis=\def\DSNomsFcts{#1},%
+ CouleurE=\def\DSCouleurE{#1},%
+ CouleursAppli=\def\DSCouleursFct{#1},%
+ CouleurF=\def\DSCouleurF{#1},%
+ CouleursFleches=\def\DSCouleurArc{#1},%
+ CouleurG=\def\DSCouleurG{#1},%
+ TypeFleche=\def\DSTypeFleche{#1},%
+ Epaisseur=\def\DSThick{#1},%
+ Police=\def\DSPolicePatates{#1},%
+ PoliceLabels=\def\DSPoliceLabels{#1},%
+ Ensembles=\def\DSNomEns{#1},%
+ PosLabels=\def\DSPosLabels{#1},%
+ Offset=\def\DSOffset{#1}
+}
+
+\setKVdefault[DiagSagittCompo]{%
+ DistElem=0.75,%
+ DistEns=4,%
+ LargEns=1.5,%
+ NomApplis={$f$/$g$},%
+ CouleurE={blue},%
+ CouleursAppli={violet},%
+ CouleurF={red},%
+ CouleurG={gray},%
+ CouleursFleches={teal},%
+ TypeFleche=Latex,%
+ Epaisseur=0.8pt,%
+ Police={},%
+ NoirBlanc=false,%
+ Labels=true,%
+ Ensembles={$\mathcal{E}$/$\mathcal{F}$/$\mathcal{G}$},%
+ PosLabels=bas,%
+ PoliceLabels={},%
+ Offset=2pt
+}
+
+\NewDocumentCommand\DiagrammeSagittalCompo{s O{} D<>{} m m }{%
+ \restoreKV[DiagSagittCompo]%paramètres par défaut
+ \setKV[DiagSagittCompo]{#2}%
+ \readlist*\DSLstE{\DSListeEltE}%
+ \readlist*\DSLstF{\DSListeEltF}%
+ \readlist*\DSLstG{\DSListeEltG}%
+ \def\DSHauteurPatateE{\fpeval{\DSEcartIN*(1+\DSLstElen)}}%
+ \def\DSHauteurPatateF{\fpeval{1.1*\DSEcartIN*(1+\DSLstFlen)}}%
+ \def\DSHauteurPatateG{\fpeval{\DSEcartIN*(1+\DSLstGlen)}}%
+ \def\DSMaxHauteursPatates{\fpeval{max(\DSHauteurPatateE,\DSHauteurPatateF,\DSHauteurPatateG)}}%
+ \def\DSOffsetPatateF{\fpeval{0.5*\DSHauteurPatateF-0.5*\DSHauteurPatateE}}%
+ \def\DSOffsetPatateG{\fpeval{0.5*\DSHauteurPatateG-0.5*\DSHauteurPatateE}}%
+ \IfStrEq{\DSPosLabels}{bas}%
+ {%
+ \def\DSHautLegende{\fpeval{min(0,-\DSOffsetPatateF,-\DSOffsetPatateG)-0.5*\DSEcartIN}}%
+ \def\DSHautCompo{\fpeval{max(\DSHauteurPatateE,\DSHauteurPatateF-\DSOffsetPatateF,\DSHauteurPatateG-\DSOffsetPatateG)+0.5*\DSEcartIN}}%
+ \def\DSposlabelcompo{above}%
+ }{}%
+ \IfStrEq{\DSPosLabels}{haut}%
+ {%
+ \def\DSHautLegende{\fpeval{max(\DSHauteurPatateE,\DSHauteurPatateF-\DSOffsetPatateF,\DSHauteurPatateG-\DSOffsetPatateG)+0.5*\DSEcartIN}}%
+ \def\DSHautCompo{\fpeval{min(0,-\DSOffsetPatateF,-\DSOffsetPatateG)-0.5*\DSEcartIN}}%
+ \def\DSposlabelcompo{below}%
+ }{}
+ %découpage des couleurs et des noms
+ \IfSubStr{\DSCouleursFct}{/}%
+ {%
+ \StrCut{\DSCouleursFct}{/}{\DSCouleursFctF}{\DSCouleursFctG}%
+ }%
+ {%
+ \def\DSCouleursFctF{\DSCouleursFct}\def\DSCouleursFctG{\DSCouleursFct}%
+ }%
+ \IfSubStr{\DSCouleurArc}{/}%
+ {%
+ \StrCut{\DSCouleurArc}{/}{\DSCouleurArcF}{\DSCouleurArcG}%
+ }%
+ {%
+ \def\DSCouleurArcF{\DSCouleurArc}\def\DSCouleurArcG{\DSCouleurArc}%
+ }%
+ \ifboolKV[DiagSagittCompo]{NoirBlanc}%
+ {%
+ \def\DSCouleurE{black}%
+ \def\DSCouleurF{black}%
+ \def\DSCouleurG{black}%
+ \def\DSCouleurArcF{black}%
+ \def\DSCouleurArcG{black}%
+ \def\DSCouleurArcG{black}%
+ \def\DSCouleurFctF{black}%
+ \def\DSCouleurFctG{black}%
+ }{}%
+ %CONSTRUCTION
+ \IfBooleanTF{#1}%
+ {}%
+ {\begin{tikzpicture}[#3]}%
+ %LABELS
+ %\draw[lightgray,thin,->] (-1,0)--++({3*\DSEcartIP},0) ;
+ \ifboolKV[DiagSagittCompo]{Labels}%
+ {%
+ \saveexpandmode\expandarg
+ %découpage des noms d'ensembles
+ \StrBefore{\DSNomEns}{/}[\DSNomE]
+ \StrBetween[1,2]{\DSNomEns}{/}{/}[\DSNomF]
+ \StrBehind[2]{\DSNomEns}{/}[\DSNomG]
+ %découpage des fonctions
+ \StrCut{\DSNomsFcts}{/}{\DSNomFctF}{\DSNomFctG}%
+ \restoreexpandmode
+ \draw (0,{\DSHautLegende}) node[\DSCouleurE,inner sep=1pt,font=\DSPoliceLabels] {\DSNomE} ;
+ \draw ({\DSEcartIP},{\DSHautLegende}) node[\DSCouleurF,inner sep=1pt,font=\DSPoliceLabels] {\DSNomF} ;
+ \draw ({2*\DSEcartIP},{\DSHautLegende}) node[\DSCouleurG,inner sep=1pt,font=\DSPoliceLabels] {\DSNomG} ;
+ \draw (0,{\DSHautCompo}) node[\DSCouleurE,inner sep=1pt,font=\DSPoliceLabels] {\DSNomE} ;
+ \draw ({2*\DSEcartIP},{\DSHautCompo}) node[\DSCouleurG,inner sep=1pt,font=\DSPoliceLabels] {\DSNomG} ;
+ \draw[line width=\DSThick,->,>=\DSTypeFleche] ({0.45},{\DSHautLegende})--({\DSEcartIP-0.45},{\DSHautLegende}) node[midway,above=2pt,inner sep=1pt,text=\DSCouleursFctF,font=\DSPoliceLabels] {\DSNomFctF} ;
+ \draw[line width=\DSThick,->,>=\DSTypeFleche] ({\DSEcartIP+0.45},{\DSHautLegende})--({2*\DSEcartIP-0.45},{\DSHautLegende}) node[midway,above=2pt,inner sep=1pt,text=\DSCouleursFctG,font=\DSPoliceLabels] {\DSNomFctG} ;
+ \draw[line width=\DSThick,->,>=\DSTypeFleche] ({0.45},{\DSHautCompo}) -- ({2*\DSEcartIP-0.45},{\DSHautCompo}) node[midway,\DSposlabelcompo=2pt,inner sep=1pt,font=\DSPoliceLabels] {\textcolor{\DSCouleursFctG}{\DSNomFctG}{\small\,$\circ$\,}\textcolor{\DSCouleursFctF}{\DSNomFctF}} ;
+ }{}%
+ %PATATE_E (ok)
+ \draw[line width=\DSThick] (0,{0.5*\DSHauteurPatateE}) ellipse ({0.5*\DSLargPatates} and {0.5*\DSHauteurPatateE} );
+ \foreach \i in {1,...,\DSLstElen}{%
+ \coordinate (E\DSLstE[\i]) at ({0.05*\DSLargPatates},{(\DSLstElen-\i+1)*\DSEcartIN}) ;%
+ \filldraw[\DSCouleurE] (E\DSLstE[\i]) circle[radius=1.5pt] node[left,font=\DSPolicePatates] {\DSLstE[\i]} ;%
+ }%
+ %PATATE_F (ok)
+ \draw[line width=\DSThick] ({\DSEcartIP},{0.5*\DSHauteurPatateF-\DSOffsetPatateF}) ellipse ({0.5*\DSLargPatates} and {0.5*\DSHauteurPatateF} );
+ \foreach \i in {1,...,\DSLstFlen}{%
+ \coordinate (F\DSLstF[\i]) at ({\DSEcartIP},{(\DSLstFlen-\i+1)*1.1*\DSEcartIN-\DSOffsetPatateF}) ;%
+ \filldraw[\DSCouleurF] (F\DSLstF[\i]) circle[radius=1.5pt] node[above=0pt,font=\DSPolicePatates] {\DSLstF[\i]} ;%
+ }%
+ %PATATE_G (ok)
+ \draw[line width=\DSThick] ({2*\DSEcartIP},{0.5*\DSHauteurPatateG-\DSOffsetPatateG}) ellipse ({0.5*\DSLargPatates} and {0.5*\DSHauteurPatateG} );
+ \foreach \i in {1,...,\DSLstGlen}{%
+ \coordinate (G\DSLstG[\i]) at ({2*\DSEcartIP-0.05*\DSLargPatates},{(\DSLstGlen-\i+1)*\DSEcartIN-\DSOffsetPatateG}) ;%
+ \filldraw[\DSCouleurG] (G\DSLstG[\i]) circle[radius=1.5pt] node[right,font=\DSPolicePatates] {\DSLstG[\i]} ;%
+ }%
+ %ARCSf
+ \foreach \Deb/\Fin in {#4} {%
+ \draw[line width=\DSThick,->,>=\DSTypeFleche,\DSCouleurArcF] ([xshift=\DSOffset]E\Deb)--([xshift=-\DSOffset]F\Fin) ;
+ }%
+ %ARCSg
+ \foreach \Deb/\Fin in {#5} {%
+ \draw[line width=\DSThick,->,>=\DSTypeFleche,\DSCouleurArcG] ([xshift=\DSOffset]F\Deb)--([xshift=-\DSOffset]G\Fin) ;
+ }%
+ \IfBooleanTF{#1}%
+ {}%
+ {\end{tikzpicture}}%
+}
+
+%------Table de vérité
+\ifluatex
+\RequirePackage{xkeyval}
+\RequirePackage{luacode}
+\RequirePackage{nicematrix}
+
+%patchs pour luatruthtable (échange 1ère ligne <-> dernière ligne), à voir si le package sera patché pour éviter de "piquer" le code !
+%patchs from luatruthtable
+\begin{luacode*}
+local function toBinary(x,y)
+ y = y or math.max(1, select(2, math.frexp(x)))
+ local res = {}
+ for i = y, 1, -1 do
+ res[i] = math.fmod(x, 2)
+ x = math.floor((x - res[i]) / 2)
+ end
+ return res
+end
+
+local function _not(a)
+ if a ==0 then return 1
+ else return 0 end
+end
+
+local lognot = {}
+
+local not_mt= {
+ __mul = function(a,b)
+ return _not(b)
+end
+}
+
+setmetatable(lognot, not_mt)
+_G.lognot = lognot
+
+local function _and(a, b)
+ if a == 1 and b == 1 then return 1
+ else return 0 end
+end
+
+local tmp1 = {}
+local logand = {}
+local v1 = 0
+
+local and_mt= {
+ __mul = function(a,b)
+ if b==logand then
+ v1 = v1 + 1
+ tmp1[v1]=a
+ return tmp1
+ elseif a == tmp1 then
+ local w1 = _and(tmp1[v1], b)
+ v1 = v1 - 1
+ return w1
+ end
+end
+}
+
+setmetatable(tmp1, and_mt)
+setmetatable(logand, and_mt)
+_G.logand = logand
+
+local function _or(a, b)
+ if a == 0 and b == 0 then return 0
+ else return 1 end
+end
+
+local tmp2 = {}
+local logor = {}
+local v2 = 0
+
+local or_mt= {
+ __mul = function(a,b)
+ if b==logor then
+ v2 = v2 + 1
+ tmp2[v2] = a
+ return tmp2
+ elseif a == tmp2 then
+ local w2 = _or(tmp2[v2], b)
+ v2 = v2 - 1
+ return w2
+ end
+end
+}
+
+setmetatable(tmp2, or_mt)
+setmetatable(logor, or_mt)
+_G.logor = logor
+
+local function _imp(a, b)
+ if a == 1 and b == 0 then return 0
+ else return 1 end
+end
+
+local tmp3 = {}
+local imp = {}
+local v3 = 0
+
+local imp_mt= {
+ __mul = function(a,b)
+ if b==imp then
+ v3 = v3 + 1
+ tmp3[v3]=a
+ return tmp3
+ elseif a == tmp3 then
+ local w3 = _imp(tmp3[v3], b)
+ v3 = v3 - 1
+ return w3
+ end
+end
+}
+
+setmetatable(tmp3, imp_mt)
+setmetatable(imp, imp_mt)
+_G.imp = imp
+
+local function _iff(a, b)
+ if a == b then return 1
+ else return 0 end
+end
+
+local tmp4 = {}
+local iff = {}
+local v4 = 0
+
+local iff_mt= {
+ __mul = function(a,b)
+ if b==iff then
+ v4 = v4 + 1
+ tmp4[v4]=a
+ return tmp4
+ elseif a == tmp4 then
+ local w4 = _iff(tmp4[v4], b)
+ v4 = v4 - 1
+ return w4
+ end
+end
+}
+
+setmetatable(tmp4, iff_mt)
+setmetatable(iff, iff_mt)
+_G.iff = iff
+
+local function _xor(a, b)
+ if a ~= b then return 1
+ else return 0 end
+end
+
+local tmp5 = {}
+local logxor = {}
+local v5 = 0
+
+local xor_mt= {
+ __mul = function(a,b)
+ if b==logxor then
+ v5 = v5 + 1
+ tmp5[v5]=a
+ return tmp5
+ elseif a == tmp5 then
+ local w5 = _xor(tmp5[v5], b)
+ v5 = v5 - 1
+ return w5
+ end
+end
+}
+
+setmetatable(tmp5, xor_mt)
+setmetatable(logxor, xor_mt)
+_G.logxor = logxor
+
+local function _nand(a, b)
+ if a ==1 and b == 1 then return 0
+ else return 1 end
+end
+
+local tmp6 = {}
+local lognand = {}
+local v6 = 0
+
+local nand_mt= {
+ __mul = function(a,b)
+ if b==lognand then
+ v6 = v6 + 1
+ tmp6[v6]=a
+ return tmp6
+ elseif a == tmp6 then
+ local w6 = _nand(tmp6[v6], b)
+ v6 = v6 - 1
+ return w6
+ end
+end
+}
+
+setmetatable(tmp6, nand_mt)
+setmetatable(lognand, nand_mt)
+_G.lognand = lognand
+
+local function _nor(a, b)
+ if a ==0 and b == 0 then return 1
+ else return 0 end
+end
+
+local tmp7 = {}
+local lognor = {}
+local v7 = 0
+
+local nor_mt= {
+ __mul = function(a,b)
+ if b==lognor then
+ v7 = v7 + 1
+ tmp7[v7]=a
+ return tmp7
+ elseif a == tmp7 then
+ local w7 = _nor(tmp7[v7], b)
+ v7 = v7 - 1
+ return w7
+ end
+end
+}
+
+setmetatable(tmp7, nor_mt)
+setmetatable(lognor, nor_mt)
+_G.lognor = lognor
+
+local function _xnor(a, b)
+ if a == b then return 1
+ else return 0 end
+end
+
+local tmp8 = {}
+local logxnor = {}
+local v8 = 0
+
+local xnor_mt= {
+ __mul = function(a,b)
+ if b==logxnor then
+ v8 = v8 + 1
+ tmp8[v8]=a
+ return tmp8
+ elseif a == tmp8 then
+ local w8 = _xnor(tmp8[v8], b)
+ v8 = v8 - 1
+ return w8
+ end
+end
+}
+
+setmetatable(tmp8, xnor_mt)
+setmetatable(logxnor, xnor_mt)
+_G.logxnor = logxnor
+
+function TruthTbl(str0,str,trtext,fltext)
+ local eval=""
+ local names={lognot=lognot,logand=logand,logor=logor, imp=imp, iff=iff, logxor=logxor,lognand=lognand,lognor=lognor, logxnor=logxnor}
+ local vars={}
+ local expr={}
+ local countexp = 1
+ local countvars =1
+ local res=""
+ local sep=" & "
+ trtext = trtext or "$T$"
+ fltext = fltext or "$F$"
+ for variables in string.gmatch(str0, '([^,]+)') do
+ vars[countvars] = variables
+ countvars = countvars + 1
+ end
+ for subexp in string.gmatch(str, '([^,]+)') do
+ expr[countexp] = subexp
+ countexp = countexp + 1
+ end
+ local n =#vars
+ for i =1,2^n do
+ itr = toBinary(i,n)
+ for j=1, #itr do
+ names[vars[j]] = itr[j]
+ end
+ for k = 1, #expr do
+ res= res ..sep.. load("return " .. expr[k],nil,"t",names)()
+ end
+ if i~=2^n then
+ eval = eval .. table.concat(toBinary(i,n)," & ") .. res .. "\\\\"
+ else
+ eval = table.concat(toBinary(i,n)," & ") .. res .. "\\\\" .. eval
+ end
+ res=""
+ end
+ eval=eval:sub(1,-3)
+ if trtext:gsub("%s+", "") =="0" or trtext:gsub("%s+", "") == "$0$" or fltext:gsub("%s+", "") =="1" or fltext:gsub("%s+", "") == "$1$" then
+ eval=eval
+ else
+ eval=eval:gsub(0,fltext):gsub(1,trtext)
+ end
+ return eval
+end
+
+function TruthTblSwap(str0,str,trtext,fltext)
+ local eval=""
+ local names={lognot=lognot,logand=logand,logor=logor, imp=imp, iff=iff, logxor=logxor,lognand=lognand,lognor=lognor, logxnor=logxnor}
+ local vars={}
+ local expr={}
+ local countexp = 1
+ local countvars =1
+ local res=""
+ local sep=" & "
+ trtext = trtext or "$T$"
+ fltext = fltext or "$F$"
+ for variables in string.gmatch(str0, '([^,]+)') do
+ vars[countvars] = variables
+ countvars = countvars + 1
+ end
+ for subexp in string.gmatch(str, '([^,]+)') do
+ expr[countexp] = subexp
+ countexp = countexp + 1
+ end
+ local n =#vars
+ for i =1,2^n do
+ itr = toBinary(i,n)
+ for j=1, #itr do
+ names[vars[j]] = itr[j]
+ end
+ for k = 1, #expr do
+ res= res ..sep.. load("return " .. expr[k],nil,"t",names)()
+ end
+ if i~=2^n then
+ eval = table.concat(toBinary(i,n)," & ") .. res .. "\\\\" .. eval
+ else
+ eval = eval .. table.concat(toBinary(i,n)," & ") .. res .. "\\\\"
+ end
+ res=""
+ end
+ eval=eval:sub(1,-3)
+ if trtext:gsub("%s+", "") =="0" or trtext:gsub("%s+", "") == "$0$" or fltext:gsub("%s+", "") =="1" or fltext:gsub("%s+", "") == "$1$" then
+ eval=eval
+ else
+ eval=eval:gsub(0,fltext):gsub(1,trtext)
+ end
+ return eval
+end
+\end{luacode*}
+
+\define@key{LuaTruthTable}{trtext}{\def\luatrtbl@trtext{#1}}
+\define@key{LuaTruthTable}{fltext}{\def\luatrtbl@fltext{#1}}
+\setkeys{LuaTruthTable}{trtext=$T$,fltext=$F$}%
+
+\NewDocumentCommand\GenTruthTable{ s O{} m m }{%1=swap
+ \setkeys{LuaTruthTable}{#2}%
+ \IfBooleanTF{#1}%
+ {%
+ \directlua{tex.sprint(TruthTblSwap(\luastringN{#3},\luastringN{#4},'\luatrtbl@trtext','\luatrtbl@fltext'))}%
+ }%
+ {%
+ \directlua{tex.sprint(TruthTbl(\luastringN{#3},\luastringN{#4},'\luatrtbl@trtext','\luatrtbl@fltext'))}%
+ }%
+}
+
+\defKV[tableverite]{%
+ VF=\def\TTABLEtruefalse{#1},%
+ LargeursColonnes=\def\TTABLElargeurs{#1},%
+ CouleurEnonce=\def\TTABLEcoul{#1},%
+ CodeAvant=\def\TTABLEcodebefore{#1},%
+ CodeApres=\def\TTABLEcodeafter{#1}
+}
+
+\setKVdefault[tableverite]{%
+ VF={V/F},%
+ LargeursColonnes=auto,%
+ CouleurEnonce={},
+ CodeAvant={},%
+ CodeApres={},%
+ Swap=false
+}
+
+\NewDocumentCommand\TableVerite{ O{} D<>{} m m m m }{%
+ %1=options/clés
+ %2=variables
+ %3=colonnes des variables
+ %4=calculs
+ %5=colonne des calculs
+ \useKVdefault[tableverite]%
+ \setKV[tableverite]{#1}%
+ \setsepchar{,}%
+ \readlist*\TableVeriteVariables{#4}%
+ \readlist*\TableVeriteEnonce{#5}%
+ \readlist*\TableVeriteCalculs{#6}%
+ \StrCut{\TTABLEtruefalse}{/}{\TTTrue}{\TTFalse}%
+ \xdef\TTNbCol{\fpeval{\TableVeriteVariableslen+\TableVeriteEnoncelen}}%\TTNbCol%
+ \IfStrEq{\TTABLElargeurs}{auto}%
+ {%
+ \begin{NiceTabular}[cell-space-limits=3pt,#2]{|*{\TTNbCol}{c|}}%
+ }%
+ {%
+ \IfSubStr{\TTABLElargeurs}{/}%
+ {%
+ \StrCut{\TTABLElargeurs}{/}{\TTlargvars}{\TTlargcals}%
+ }%
+ {%
+ \def\TTlargvars{\TTABLElargeurs}\def\TTlargcals{\TTABLElargeurs}%
+ }%
+ \begin{NiceTabular}[cell-space-limits=3pt,#2]{|*{\TableVeriteVariableslen}{W{c}{\TTlargvars}|}*{\TableVeriteEnoncelen}{W{c}{\TTlargcals}|}}%
+ }%
+ \CodeBefore
+ \IfStrEq{\TTABLEcodebefore}{}{}{\TTABLEcodebefore}%
+ \IfStrEq{\TTABLEcoul}{}{}{\rowcolor{\TTABLEcoul}{1}}%
+ \Body
+ \hline
+ {\TableVeriteVariables[1]}\xintifboolexpr{\TableVeriteVariableslen==1}{}{\xintFor*##1in{\xintSeq{2}{\TableVeriteVariableslen}}\do{&\TableVeriteVariables[##1]}}&\TableVeriteCalculs[1]\xintifboolexpr{\TableVeriteCalculslen==1}{}{\xintFor*##1in{\xintSeq{2}{\TableVeriteCalculslen}}\do{&\TableVeriteCalculs[##1]}} \\ \hline
+ \ifboolKV[tableverite]{Swap}%
+ {%
+ \GenTruthTable[trtext=\TTTrue,fltext=\TTFalse]{#3}{#5} \\ \hline
+ }%
+ {%
+ \GenTruthTable*[trtext=\TTTrue,fltext=\TTFalse]{#3}{#5} \\ \hline
+ }%
+ \CodeAfter
+ \IfStrEq{\TTABLEcodeafter}{}{}{\TTABLEcodeafter}%
+ \end{NiceTabular}%
+}
+
+\fi
+
\endinput \ No newline at end of file
diff --git a/graphics/pstricks/contrib/pst-math/Changes b/graphics/pstricks/contrib/pst-math/Changes
index fe248f97a8..62de93b697 100644
--- a/graphics/pstricks/contrib/pst-math/Changes
+++ b/graphics/pstricks/contrib/pst-math/Changes
@@ -1,4 +1,5 @@
..... pst-math.sty/pro
+0.67 2023-07-03 - fix bug with random list (doubled first entry)
0.66 2022-10-17 - fix bug with random list (doubled first entry)
0.65 2018-12-16 - allow lists with more than 100 numbers
0.64 2018-12-13 - added macros for creating lists of randoms
diff --git a/graphics/pstricks/contrib/pst-math/README b/graphics/pstricks/contrib/pst-math/README
index 2838a7bf4b..1b37f432ee 100644
--- a/graphics/pstricks/contrib/pst-math/README
+++ b/graphics/pstricks/contrib/pst-math/README
@@ -1,8 +1,13 @@
pst-math: PostScript extension for mathematical functions:
The macros for random numbers cannot be used with xelatex!
+Use lualatex instead, it has an buildin postscript
hvoss@tug.org
+%% This program can be redistributed and/or modified under the terms
+%% of the LaTeX Project Public License Distributed from CTAN archives
+%% in directory CTAN:/macros/latex/base/lppl.txt.
-%% $Id: README 864 2018-12-15 21:15:11Z herbert $
+
+%% $Id: README 741 2023-07-03 17:53:43Z herbert $
diff --git a/graphics/pstricks/contrib/pst-math/doc/pst-math-doc.pdf b/graphics/pstricks/contrib/pst-math/doc/pst-math-doc.pdf
index a9fee0d9d3..16dc2baf17 100644
--- a/graphics/pstricks/contrib/pst-math/doc/pst-math-doc.pdf
+++ b/graphics/pstricks/contrib/pst-math/doc/pst-math-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-math/doc/pst-math-doc.tex b/graphics/pstricks/contrib/pst-math/doc/pst-math-doc.tex
index c3c2a80746..e0b76d200b 100644
--- a/graphics/pstricks/contrib/pst-math/doc/pst-math-doc.tex
+++ b/graphics/pstricks/contrib/pst-math/doc/pst-math-doc.tex
@@ -1,4 +1,5 @@
-%% $Id: pst-math-doc.tex 887 2018-12-29 13:17:59Z herbert $
+%% $Id: pst-math-doc.tex 741 2023-07-03 17:53:43Z herbert $
+\DocumentMetadata{}
\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,
headings=small, headinclude=false,footinclude=false,oneside,abstract=on]{pst-doc}
\usepackage{pst-math}
@@ -43,6 +44,7 @@ defines all the new mathematical functions for use with PostScript.
\vfill\noindent
Thanks to: \\
Denis Bitouzé;
+Frédéric Bréal;
Jacques L'helgoualc'h;
Patrice M\'egret;
Dominik Rodriguez
diff --git a/graphics/pstricks/contrib/pst-math/latex/pst-math.sty b/graphics/pstricks/contrib/pst-math/latex/pst-math.sty
index ce7a536d8b..257bee7e4c 100644
--- a/graphics/pstricks/contrib/pst-math/latex/pst-math.sty
+++ b/graphics/pstricks/contrib/pst-math/latex/pst-math.sty
@@ -1,10 +1,10 @@
-% $Id: pst-math.sty 867 2018-12-16 12:07:22Z herbert $
+% $Id: pst-math.sty 741 2023-07-03 17:53:43Z herbert $
%%
%% This is file `pst-math.sty'.
%%
%% IMPORTANT NOTICE:
%%
-%% pst-math Copyright (C) 2019- Herbert Voss <hvoss@tug.org>
+%% pst-math Copyright (C) 2023- Herbert Voss <hvoss@tug.org>
%%
%% This package may be distributed under the terms of the LaTeX Project
%% Public License, as described in lppl.txt in the base LaTeX distribution.
@@ -12,7 +12,9 @@
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{pst-math}[2022/10/17 v 0.66 package wrapper for PSTricks pst-math.tex]
+\ProvidesPackage{pst-math}[2023/07/03 v 0.67 package wrapper for PSTricks pst-math.tex]
+\RequirePackage{multido}
+\RequirePackage{pstricks}
\RequirePackage{pst-calculate}
\RequirePackage{ifluatex}
\RequirePackage{xstring}
diff --git a/graphics/pstricks/contrib/pst-math/tex/pst-math.tex b/graphics/pstricks/contrib/pst-math/tex/pst-math.tex
index b3c0e69f00..050a042f17 100644
--- a/graphics/pstricks/contrib/pst-math/tex/pst-math.tex
+++ b/graphics/pstricks/contrib/pst-math/tex/pst-math.tex
@@ -20,8 +20,8 @@
\csname PSTmathLoaded\endcsname
\let\PSTmathLoaded\endinput
\ifx\PSTricksLoaded\endinput\else\input pstricks.tex\fi
-\def\fileversion{0.66}
-\def\filedate{2022/10/17}
+\def\fileversion{0.67}
+\def\filedate{2023/07/03}
\message{`pst-math' v\fileversion\space, (CJ,hv)}
\pstheader{pst-math.pro}
diff --git a/language/japanese/BX/bxjscls/README-ja.md b/language/japanese/BX/bxjscls/README-ja.md
index 82d511c64f..f758f23e23 100644
--- a/language/japanese/BX/bxjscls/README-ja.md
+++ b/language/japanese/BX/bxjscls/README-ja.md
@@ -110,6 +110,8 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使
更新履歴
--------
+ * Version 2.8b 〈2023/07/01〉
+ - バグや細かい不具合を修正。
* Version 2.8a 〈2023/06/20〉
- バグ修正。
* Version 2.8 〈2023/06/14〉
diff --git a/language/japanese/BX/bxjscls/README.md b/language/japanese/BX/bxjscls/README.md
index 31dddc9d71..137ddeb656 100644
--- a/language/japanese/BX/bxjscls/README.md
+++ b/language/japanese/BX/bxjscls/README.md
@@ -100,6 +100,7 @@ This package is distributed under the BSD 2-Clause License.
Revision History
----------------
+ * Version 2.8b 〈2023/07/01〉
* Version 2.8a 〈2023/06/20〉
* Version 2.8 〈2023/06/14〉
- Sync with jsclasses 2023/02/23.
diff --git a/language/japanese/BX/bxjscls/bxjscls-manual.pdf b/language/japanese/BX/bxjscls/bxjscls-manual.pdf
index 04d9fabb53..bc68ec02aa 100644
--- a/language/japanese/BX/bxjscls/bxjscls-manual.pdf
+++ b/language/japanese/BX/bxjscls/bxjscls-manual.pdf
Binary files differ
diff --git a/language/japanese/BX/bxjscls/bxjscls-manual.tex b/language/japanese/BX/bxjscls/bxjscls-manual.tex
index 295f723b95..e7f77dc206 100644
--- a/language/japanese/BX/bxjscls/bxjscls-manual.tex
+++ b/language/japanese/BX/bxjscls/bxjscls-manual.tex
@@ -12,8 +12,8 @@
\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
-\newcommand{\PkgVersion}{2.8a}
-\newcommand{\PkgDate}{2023/06/20}
+\newcommand{\PkgVersion}{2.8b}
+\newcommand{\PkgDate}{2023/07/01}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}\nobr#1\nobr\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
diff --git a/language/japanese/BX/bxjscls/bxjscls.dtx b/language/japanese/BX/bxjscls/bxjscls.dtx
index 2b9e52b070..550795b7b2 100644
--- a/language/japanese/BX/bxjscls/bxjscls.dtx
+++ b/language/japanese/BX/bxjscls/bxjscls.dtx
@@ -56,7 +56,8 @@
%<*driver>
\ProvidesFile{bxjscls.dtx}
%</driver>
- [2023/06/20 v2.8a BXJS document classes]
+ [2023/07/01 v2.8b BXJS document classes]
+% [2023/06/20 v2.8a BXJS document classes]
% [2023/06/14 v2.8 BXJS document classes]
% based on jsclasses [2023/02/23]
% [2022/04/10 v2.7a BXJS document classes]
@@ -1542,8 +1543,7 @@
% \end{ZRnote}
%
% \paragraph{エンジン・ドライバオプション \ZRX}
-% \mbox{}
-% \begin{ZRnote}
+%
% \begin{macro}{\bxjs@engine@given}
% 〔暗黙文字トークン〕
% オプションで明示されたエンジンの種別。
@@ -1616,7 +1616,7 @@
% \end{macrocode}
% \end{macro}
%
-% \Note |nodvidriver*| はBXJSクラスの仕様上は |nodvidriver| と完全に
+% \Note |class-nodvidriver| はBXJSクラスの仕様上は |nodvidriver| と完全に
% 等価であるが、「グローバルオプションに何があるか」の点で異なる。
% \begin{macrocode}
\DeclareOption{dvips}{%
@@ -1634,8 +1634,8 @@
\DeclareOption{nodvidriver}{%
\def\bxjs@driver@opt{nodvidriver}%
\let\bxjs@driver@given\bxjs@driver@@none}
-\DeclareOption{nodvidriver*}{%
- \def\bxjs@driver@opt{nodvidriver*}%
+\DeclareOption{class-nodvidriver}{%
+ \def\bxjs@driver@opt{class-nodvidriver}%
\let\bxjs@driver@given\bxjs@driver@@none}
\DeclareOption{pdftex}{%
\def\bxjs@driver@opt{pdftex}%
@@ -1653,11 +1653,8 @@
\DeclareOption{dvipdfmx-if-dvi}{\bxjs@depre@opt@do{dvipdfmx-if-dvi}{dvi=dvipdfmx}}
% \end{macrocode}
%
-% \end{ZRnote}
-%
% \paragraph{その他のBXJS独自オプション \ZRX}
-% \mbox{}
-% \begin{ZRnote}
+%
% \TODO 互換用オプションを分離する(2.0版で?)。
%
% \begin{macro}{\bxjs@depre@opt}
@@ -1719,8 +1716,6 @@
\bxjs@oldfontcommandstrue}
% \end{macrocode}
%
-% \end{ZRnote}
-%
% \paragraph{JSクラスのオプションで無効なもの \ZRX}
% |ltjsclasses| に倣って警告を出す。
%
@@ -1740,8 +1735,7 @@
% \end{macrocode}
%
% \paragraph{keyval型のオプション \ZRX}
-% \mbox{}
-% \begin{ZRnote}
+%
% その他のオプションは |keyval| の機構を用いて処理する。
% \begin{macrocode}
\DeclareOption*{%
@@ -1771,10 +1765,9 @@
\def\bxjs@declare@enum@option#1#2#3{%
\bxjs@csletcs{bxjs@#2}{bxjs@#2@@#3}%
\define@key{bxjs}{#1}{%
- \expandafter\ifx\csname bxjs@#2@@##1\endcsname\relax
+ \@ifundefined{bxjs@#2@@##1}{%
\bxjs@error@keyval{#1}{##1}%
- \else \bxjs@csletcs{bxjs@#2}{bxjs@#2@@##1}%
- \fi}}
+ }{\bxjs@csletcs{bxjs@#2}{bxjs@#2@@##1}}}}
% \end{macrocode}
% \end{macro}
%
@@ -1789,10 +1782,9 @@
\csname newif\expandafter\endcsname\csname ifbxjs@#2\endcsname
\@nameuse{bxjs@#2#3}%
\define@key{bxjs}{#1}[true]{%
- \expandafter\ifx\csname bxjs@#2##1\endcsname\relax
+ \@ifundefined{bxjs@#2##1}{%
\bxjs@error@keyval{#1}{##1}%
- \else \@nameuse{bxjs@#2##1}%
- \fi}}
+ }{\@nameuse{bxjs@#2##1}}}}
% \end{macrocode}
% \end{macro}
%
@@ -2018,7 +2010,7 @@
\let\bxjs@dvidriver@@dviout=\bxjs@driver@@dvimode
\let\bxjs@dvidriver@@xdvi=\bxjs@driver@@dvimode
\let\bxjs@dvidriver@@nodvidriver=\bxjs@driver@@none
-\bxjs@cslet{bxjs@dvidriver@@nodvidriver*}\bxjs@driver@@none
+\bxjs@cslet{bxjs@dvidriver@@class-nodvidriver}\bxjs@driver@@none
% \end{macrocode}
%
% |dvi| オプションの処理。
@@ -2206,8 +2198,6 @@
% \end{macrocode}
% \end{macro}
%
-% \end{ZRnote}
-%
% \paragraph{オプションの実行}
% \mbox{}
% \begin{ZRnote}
@@ -2241,21 +2231,22 @@
% \end{macrocode}
%
% 後処理
+% \Note |landscape| の処理のコードはBXJSでは無意味なので除外する。
%
% \begin{macrocode}
\if@slide
\def\maybeblue{\@ifundefined{ver@color.sty}{}{\color{blue}}}
\fi
+%<*jsclasses>
\if@landscape
\setlength\@tempdima {\paperheight}
\setlength\paperheight{\paperwidth}
\setlength\paperwidth {\@tempdima}
\fi
+%</jsclasses>
% \end{macrocode}
%
% \paragraph{グローバルオプションの整理 \ZRX}
-% \mbox{}
-% \begin{ZRnote}
%
% グローバルオプションのトークン列に |{ }| が含まれていると、
% やはり後のパッケージの読込処理で不具合を起こすようである
@@ -2290,8 +2281,6 @@
{noscale}\@classoptionslist\@classoptionslist
% \end{macrocode}
%
-% \end{ZRnote}
-%
% \paragraph{使用エンジンの検査・自動判定}
%
% デフォルトで現在使われているエンジンが p\LaTeX か up\LaTeX かを判定します。
@@ -2362,6 +2351,8 @@
\fi
% \end{macrocode}
%
+% \end{ZRnote}
+%
% \paragraph{ドライバ指定 \ZRX}
%
% ドライバ指定のオプションが与えられた場合は、
@@ -2577,20 +2568,6 @@
% \end{macrocode}
% \end{macro}
%
-% \end{ZRnote}
-% \begin{ZRnote}
-%
-% 8bit欧文{\TeX}の場合は、高位バイトをアクティブ化しておく。
-% (和文を含むマクロ定義を通用させるため。)
-% \begin{macrocode}
-\if \if p\jsEngine T\else\if n\jsEngine T\else F\fi\fi T
- \@tempcnta="80 \loop \ifnum\@tempcnta<"100
- \catcode\@tempcnta\active
- \advance\@tempcnta\@ne
- \repeat
-\fi
-% \end{macrocode}
-%
% |disguise-js=true| 指定時は、jsarticle(または jsbook)クラスを
% 読込済のように振舞う。
% \Note 「2つのクラスを読み込んだ状態」は |\LoadClass| を使用した
@@ -2617,7 +2594,6 @@
\AtEndOfClass{\allowoldfontcommands}
\fi
% \end{macrocode}
-% \end{ZRnote}
%
% \paragraph{papersizeスペシャルの出力}
%
@@ -3497,8 +3473,6 @@
% \@xipt 10.95 \@xiipt 12 \@xivpt 14.4
%\end{verbatim}
%
-%^^A\begin{macro}{\@setfontsize}
-%
% ここでは |\@setfontsize| の定義を少々変更して,
% 段落の字下げ |\parindent|,
% 和文文字間のスペース |\kanjiskip|,
@@ -3522,21 +3496,38 @@
% [2008-02-18] |english| オプションで |\parindent| を 1em にしました。
%
% \begin{ZRnote}
-% \begin{macro}{\set@fontsize}
% |\fontsize| 命令(|\large| 等でなく)でフォントサイズ変更した場合
% にもフックが実行されるように、|\@setfontsize| では
% なく |\set@fontsize| に対してパッチを当てるように変更。
-% \begin{macrocode}
-\def\bxjs@tmpa{\def\set@fontsize##1##2##3}
+% \begin{macro}{\bxjs@patch@set@fontsize}
+% |\set@fontsize| にパッチを当てる。
+% \Note |\set@fontsize| を書き換えるパッケージへの対策のため、
+% クラス読込中に複数回実行する。
+% 前回の実行直後から |\set@fontsize| が更新されている場合にのみ
+% 実際にパッチを当てる。
+% \TODO 新しい{\LaTeX}カーネルでは |selectfont| フックを利用したい。
+% \begin{macrocode}
+%\let\bxjs@prev@set@fontsize\@undefined
+\@onlypreamble\bxjs@patch@set@fontsize
+\def\bxjs@patch@set@fontsize{%
+ \ifx\bxjs@prev@set@fontsize\set@fontsize\else
+ \def\bxjs@tmpa{\def\set@fontsize####1####2####3}%
\expandafter\bxjs@tmpa\expandafter{%
- \set@fontsize{#1}{#2}{#3}%
+ \set@fontsize{##1}{##2}{##3}%
% 末尾にコードを追加
\expandafter\def\expandafter\size@update\expandafter{%
\size@update
\jsFontSizeChanged}%
}
+ \let\bxjs@prev@set@fontsize\set@fontsize
+ \fi}
% \end{macrocode}
% \end{macro}
+% この場とパッケージ末尾で作動させる。
+% \begin{macrocode}
+\bxjs@patch@set@fontsize
+\AtEndOfPackage{\bxjs@patch@set@fontsize}
+% \end{macrocode}
%
% \begin{macro}{\jsFontSizeChanged}
% フォントサイズ変更時に呼ばれるフック。
@@ -3558,7 +3549,7 @@
% \begin{macro}{\jsResetDimen}
% ユーザ定義用のフック。
% \begin{macrocode}
-\newcommand*\jsResetDimen{}
+\providecommand*\jsResetDimen{}
% \end{macrocode}
% \end{macro}
% \end{ZRnote}
@@ -4021,7 +4012,6 @@
%
% \paragraph{準備 \ZRX}
% \mbox{}
-% \begin{ZRnote}
%
% \begin{macro}{\bxjs@bd@pre@geometry@hook}
% begin-documentフックのコード内で、|geometry| パッケージが挿入する
@@ -4285,11 +4275,10 @@
\bxjs@layout@paper,\bxjs@layout}
% \end{macrocode}
% \end{macro}
-% \end{ZRnote}
%
% \paragraph{geometry パッケージを読み込む \ZRX}
% \mbox{}
-% \begin{ZRnote}
+%
% \begin{macro}{\bxjs@apply@bd@pre@geometry@hook}
% |geometry| パッケージのbegin-documentフックの処理に割り込む。
% \Note {\LaTeX}のフックシステムがある場合はムニャムニャ。
@@ -4395,11 +4384,8 @@
% \end{macrocode}
% \end{macro}
%
-% \end{ZRnote}
-%
% \paragraph{geometry パッケージを読み込まない \ZRX}
-% \mbox{}
-% \begin{ZRnote}
+%
% |geometry=user|の場合の処理。
% \begin{macrocode}
\else\ifx\bxjs@geometry\bxjs@geometry@@user
@@ -4435,8 +4421,9 @@
%
\fi\fi
% \end{macrocode}
-% \end{ZRnote}
%
+% \paragraph{縦方向のスペース}
+% \mbox{}
% \begin{ZRnote}
% ここでは、|jsclasse.dtx| との差分を抑制するために、
% オリジナルのコードを無効化した状態で挿入しておく。
@@ -4445,8 +4432,6 @@
%<*jsclasses>
% \end{macrocode}
%
-% \paragraph{縦方向のスペース}
-%
% \begin{macro}{\headheight}
% \begin{macro}{\topskip}
%
@@ -4820,7 +4805,7 @@
%</jsclasses>
% \end{macrocode}
%
-% \paragraph{JSクラスと共通処理の開始 \ZRX}
+% \paragraph{脚注}
% \mbox{}
% \begin{ZRnote}
% ここからのコードは以下の点を除いて JS クラスのものを踏襲する。
@@ -4830,8 +4815,6 @@
% \end{itemize}
% \end{ZRnote}
%
-% \paragraph{脚注}
-%
% \begin{macro}{\footnotesep}
%
% 各脚注の頭に入る支柱(strut)の高さです。
@@ -5678,10 +5661,7 @@
% 未定義ならばカウンタの出力書式 |\theXXX| が使われる。
% \begin{macrocode}
\def\bxjs@label@sect#1{%
- \expandafter\ifx\csname label#1\endcsname\relax
- \csname the#1\endcsname
- \else \csname label#1\endcsname
- \fi}
+ \@ifundefined{label#1}{\@nameuse{the#1}}{\@nameuse{label#1}}}
\def\@seccntformat#1{\bxjs@label@sect{#1}\quad}
% \end{macrocode}
% \end{macro}
@@ -7518,8 +7498,8 @@
\global\let\bxjs@warnoldfontcmd@final\@empty
\let\@tempa\@empty
\def\do##1{%
- \expandafter\ifx\csname bxjs@ofc/\string##1\endcsname\relax\else
- \edef\@tempa{\@tempa \space\string##1}\fi}
+ \@ifundefined{bxjs@ofc/\string##1}{}{%else
+ \edef\@tempa{\@tempa \space\string##1}}}%
\bxjs@oldfontcmd@list
\ifx\@tempa\@empty\else
\ClassWarningNoLine\bxjs@clsname
@@ -8857,20 +8837,22 @@
\let\bxjs@iai\@empty
}
\bxjs@decl@Seireki@cmds
-\let\bxjs@unxp\@firstofone \let\bxjs@onxp\@firstofone
-\bxjs@test@engine\unexpanded{%
- \let\bxjs@unxp\unexpanded \def\bxjs@onxp{\unexpanded\expandafter}}
% \end{macrocode}
% \end{macro}
% \end{macro}
%
% \begin{macro}{\ifbxjs@bxwareki@avail}
% |bxwareki| パッケージが使用できるか。
+% \Note 8ビット欧文でかつ非e-TeXなエンジン(現状ではサポート外だが)
+% では |bxwareki| を読むだけでエラーが発生してしまうので、
+% この場合は読込を回避する。
% \begin{macrocode}
\newif\ifbxjs@bxwareki@avail
\IfFileExists{bxwareki.sty}{%
- \RequirePackage{bxwareki}[]%
- \bxjs@bxwareki@availtrue}{}
+ \if \if n\jsEngine \ifjsWitheTeX T\else F\fi\else T\fi T%
+ \RequirePackage{bxwareki}[2018/04/08]%v0.2
+ \bxjs@bxwareki@availtrue
+ \fi}{}
% \end{macrocode}
% \end{macro}
%
@@ -8942,11 +8924,16 @@
令和\pltx@today@year@{2018}%
\fi\fi}
%</jsclasses>
+\begingroup
\let\bxjs@next\relax
\ifbxjs@bxwareki@avail \ifx\warekigengo\@empty\else
- \def\bxjs@next{\bxjs@onxp{\warekitoday}}
+ \def\bxjs@next{\warekitoday}
+ \bxjs@test@engine\unexpanded{%
+ \def\bxjs@next{\unexpanded\expandafter{\warekitoday}}}
\fi\fi
-\edef\bxjs@today{%
+\def\!#1#2#3{\noexpand#1\noexpand#2\noexpand#3}
+\ifx\bxjs@iai\@empty \let\!\@empty \fi
+\xdef\bxjs@today{%
\if@english
\ifcase\month\or
January\or February\or March\or April\or May\or June\or
@@ -8956,11 +8943,12 @@
\ifx\bxjs@next\relax \expandafter\@firstoftwo
\else \noexpand\bxjs@if@use@seireki
\fi {%
- \number\year\bxjs@iai\bxjs@unxp{年}%
- \bxjs@iai\number\month\bxjs@iai\bxjs@unxp{月}%
- \bxjs@iai\number\day\bxjs@iai\bxjs@unxp{日}%
+ \number\year\bxjs@iai\!年%
+ \bxjs@iai\number\month\bxjs@iai\!月%
+ \bxjs@iai\number\day\bxjs@iai\!日%
}{\bxjs@next}%
\fi}
+\endgroup
\let\today\bxjs@today
% \end{macrocode}
% \end{macro}
@@ -9011,8 +8999,6 @@
%
%
% \paragraph{BXJS独自の追加処理 \ZRX}
-% \mbox{}
-% \begin{ZRnote}
%
% フックを実行する。
% \begin{macrocode}
@@ -9023,9 +9009,6 @@
\input{bxjsja-\bxjs@jadriver.def}
% \end{macrocode}
%
-% おしまい。
-% \end{ZRnote}
-%
% \section{実験的コード}
%
% \begin{ZRnote}
@@ -11137,6 +11120,10 @@
\noexpand\RequirePackage[scale=\jsScale]{luatexja-fontspec}[2015/08/26]%
}\bxjs@next
% \end{macrocode}
+% |\set@fontsize| へのパッチ適用を再度行う。
+% \begin{macrocode}
+\bxjs@patch@set@fontsize
+% \end{macrocode}
%
% フォント代替の明示的定義。
% \begin{macrocode}
@@ -11485,9 +11472,16 @@
%^^A----------------
% \subsection{準備}
%
-% standardドライバの設定を引き継ぐ。
+% |space| してはいけない。
% \begin{macrocode}
%<*pandoc>
+\if x\jsEngine
+ \PassOptionsToPackage{nospace}{xeCJK}
+\fi
+% \end{macrocode}
+%
+% standardドライバの設定を引き継ぐ。
+% \begin{macrocode}
\input{bxjsja-standard.def}
% \end{macrocode}
%
@@ -12319,6 +12313,7 @@
\edef\bxac@tmpa{\string#1}%
\edef\bxac@tmpb{\meaning#1}%
\ifx\bxac@tmpa\bxac@tmpb #2\fi}
+\bxac@do\kanjiskip{\let\bxac@engine=j}
\bxac@do\XeTeXversion{\let\bxac@engine=x}
\bxac@do\luatexversion{\let\bxac@engine=l}
% \end{macrocode}
@@ -12350,7 +12345,27 @@
% \end{macro}
%
%^^A----------------
-% \subsection{{\XeTeX}部分}
+% \subsection{8bit欧文{\TeX}}
+% \begin{macrocode}
+\ifx n\bxac@engine
+% \end{macrocode}
+%
+% 和文を含むマクロ定義を通用させるため、
+% 高位バイトをアクティブ化しておく。
+% \begin{macrocode}
+\@tempcnta="80 \loop \ifnum\@tempcnta<"100
+ \catcode\@tempcnta\active
+ \advance\@tempcnta\@ne
+\repeat
+% \end{macrocode}
+%
+% 以上。
+% \begin{macrocode}
+\fi
+% \end{macrocode}
+%
+%^^A----------------
+% \subsection{\XeTeX}
% \begin{macrocode}
\ifx x\bxac@engine
% \end{macrocode}
@@ -12426,7 +12441,7 @@
% \end{macrocode}
%
%^^A----------------
-% \subsection{{\LuaTeX}部分}
+% \subsection{\LuaTeX}
% \begin{macrocode}
\ifx l\bxac@engine
% \end{macrocode}
diff --git a/language/japanese/BX/bxjscls/bxjscls.pdf b/language/japanese/BX/bxjscls/bxjscls.pdf
index d37640682f..b7e2acf090 100644
--- a/language/japanese/BX/bxjscls/bxjscls.pdf
+++ b/language/japanese/BX/bxjscls/bxjscls.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
index bf74f1840c..5e71166cd7 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-de.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
index c14ada6737..b12099b93a 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
index 21e525ed06..d49d889089 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-fr.tex
@@ -10,6 +10,7 @@
\renewcommand{\ttdefault}{lmtt} % Courier chasse trop !
\fi
\usepackage{microtype}
+\usepackage{multicol,ragged2e}
\usepackage{Rothdn, Typocaps} % cfr-initials (p. 3)
\usepackage{graphicx,color}
@@ -230,6 +231,47 @@ l'une des « abbayes de sel» dont il ne reste que quelques vestiges.
\newpage
\begin{center}
+\large\bfseries Multicolonnes : Ajustement de \texttt{novskip}
+\end{center}
+
+\renewcommand{\LettrineFontHook}{}
+
+Avec \texttt{loversize=0.2} pas de problème :
+
+\vspace{\baselineskip}
+\begin{multicols}{2}\RaggedRight
+ \lettrine[loversize=0.2]{E}{n plein marais de la Souteyranne},
+à quelques kilomètres au nord d'Aigues-Mortes la Tour Carbonnière.
+Construite au XIII\ieme~siècle, elle contrôlait l'unique voie d'accès
+terrestre de la ville fortifiée, celle qui menait à Psalmody,
+l'une des « abbayes de sel» dont il ne reste que des vestiges.
+\end{multicols}
+
+Avec \texttt{loversize=0.6} il y a un gros décallage entre colonnes :
+
+\vspace{\baselineskip}
+\begin{multicols}{2}\RaggedRight
+ \lettrine[loversize=0.6]{E}{n plein marais de la Souteyranne},
+à quelques kilomètres au nord d'Aigues-Mortes la Tour Carbonnière.
+Construite au XIII\ieme~siècle, elle contrôlait l'unique voie d'accès
+terrestre de la ville fortifiée, celle qui menait à Psalmody,
+l'une des « abbayes de sel» dont il ne reste que des vestiges.
+\end{multicols}
+
+Correction : ajouter \texttt{novskip=13pt} ($>$ Top vskip = 12.16344pt lu
+dans le fichier \texttt{.log})
+
+\begin{multicols}{2}\RaggedRight
+ \lettrine[loversize=0.6,novskip=13pt]{E}{n plein marais de la Souteyranne},
+à quelques kilomètres au nord d'Aigues-Mortes la Tour Carbonnière.
+Construite au XIII\ieme~siècle, elle contrôlait l'unique voie d'accès
+terrestre de la ville fortifiée, celle qui menait à Psalmody,
+l'une des « abbayes de sel» dont il ne reste que des vestiges.
+\end{multicols}
+
+
+\newpage
+\begin{center}
\large\bfseries Utilisation d'une image comme lettrine
\end{center}
diff --git a/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf b/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
index 40694cd70b..31d231ce83 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine-demo-lua.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/doc/lettrine.pdf b/macros/latex/contrib/lettrine/doc/lettrine.pdf
index 5f4c521e91..0299b73102 100644
--- a/macros/latex/contrib/lettrine/doc/lettrine.pdf
+++ b/macros/latex/contrib/lettrine/doc/lettrine.pdf
Binary files differ
diff --git a/macros/latex/contrib/lettrine/lettrine-2023-04-18.sty b/macros/latex/contrib/lettrine/lettrine-2023-04-18.sty
new file mode 100644
index 0000000000..58ca5035c5
--- /dev/null
+++ b/macros/latex/contrib/lettrine/lettrine-2023-04-18.sty
@@ -0,0 +1,290 @@
+%%
+%% This is file `lettrine.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% lettrine.dtx (with options: `sty')
+%%
+%% IMPORTANT NOTICE:
+%% For the copyright see the source file `lua-typo.dtx’.
+%%
+\NeedsTeXFormat{LaTeX2e}[2022-06-01]
+\ProvidesFile{lettrine.sty}
+ [2023-04-18 v2.40 (Daniel Flipo)]
+\DeclareRelease{v1.6}{1999-03-03}{lettrine-2006-03-17.sty}
+\DeclareRelease{v1.9}{2012-07-20}{lettrine-2015-08-31.sty}
+\DeclareRelease{v2.0}{2018-07-21}{lettrine-2018-08-18.sty}
+\DeclareRelease{v2.3}{2022-09-25}{lettrine-2022-09-25.sty}
+\DeclareCurrentRelease{}{2023-04-18}
+\RequirePackage{xfp}
+\newcounter{DefaultLines}
+\setcounter{DefaultLines}{2}
+\newcounter{DefaultDepth}
+\newcommand*{\DefaultOptionsFile}{\relax}
+\newcommand*{\DefaultLoversize}{0}
+\newcommand*{\DefaultLraise}{0}
+\newcommand*{\DefaultLhang}{0}
+\newdimen\DefaultFindent
+\setlength{\DefaultFindent}{\z@}
+\newdimen\DefaultNindent
+\setlength{\DefaultNindent}{0.5em}
+\newdimen\DefaultSlope
+\setlength{\DefaultSlope}{\z@}
+\newdimen\DiscardVskip
+\setlength{\DiscardVskip}{0.2\p@}
+\newif\ifLettrineImage
+\newif\ifLettrineOnGrid
+\newif\ifLettrineRealHeight
+\newsavebox{\L@lbox}
+\newsavebox{\L@tbox}
+\newcounter{L@lines}
+\newcounter{L@depth}
+\newdimen\L@Pindent
+\newdimen\L@Findent
+\newdimen\L@Nindent
+\newdimen\L@lraise
+\newdimen\L@first
+\newdimen\L@next
+\newdimen\L@slope
+\newdimen\L@height
+\newdimen\L@novskip
+\newdimen\L@target@ht
+\newdimen\L@target@dp
+\newdimen\L@target@tht
+\newdimen\LettrineWidth
+\newdimen\LettrineHeight
+\newdimen\LettrineDepth
+\newcommand*{\L@file}{}
+\newcommand*{\L@hang}{}
+\newcommand*{\L@oversize}{}
+\newcommand*{\L@raise}{}
+\newcommand*{\L@ante}{}
+\newif\ifL@image
+\newif\ifL@grid
+\newif\ifL@realh
+\newcommand*{\LettrineTestString}{EFTZ}
+\InputIfFileExists{lettrine.cfg}
+ {\typeout{Loading lettrine.cfg}}
+ {\typeout{lettrine.cfg not found, using default values}}
+\DeclareKeys[LettrineGlobal]
+ {
+ lines.code = \setcounter{DefaultLines}{#1} ,
+ depth.code = \setcounter{DefaultDepth}{#1} ,
+ lhang.store = \DefaultLhang ,
+ loversize.store = \DefaultLoversize ,
+ lraise.store = \DefaultLraise ,
+ findent.code = \setlength{\DefaultFindent}{#1} ,
+ nindent.code = \setlength{\DefaultNindent}{#1} ,
+ slope.code = \setlength{\DefaultSlope}{#1} ,
+ novskip.code = \setlength{\DiscardVskip}{#1} ,
+ image.if = LettrineImage ,
+ grid.if = LettrineOnGrid ,
+ realheight.if = LettrineRealHeight ,
+ refstring.default:n = \l@initial ,
+ refstring.store = \LettrineTestString ,
+ optionsfile.store = \DefaultOptionsFile
+ }
+\ProcessKeyOptions[LettrineGlobal]
+\DeclareKeys[LettrineLocal]
+ {
+ lines.code = \setcounter{L@lines}{#1} ,
+ depth.code = \setcounter{L@depth}{#1} ,
+ lhang.code = \renewcommand*{\L@hang}{#1} ,
+ loversize.code = \renewcommand*{\L@oversize}{#1} ,
+ lraise.code = \renewcommand*{\L@raise}{#1} ,
+ ante.code = \renewcommand*{\L@ante}{#1} ,
+ findent.code = \setlength{\L@Findent}{#1} ,
+ nindent.code = \setlength{\L@Nindent}{#1} ,
+ slope.code = \setlength{\L@slope}{#1} ,
+ novskip.code = \setlength{\L@novskip}{#1} ,
+ image.if = L@image ,
+ grid.if = L@grid ,
+ realheight.if = L@realh ,
+ refstring.default:n = \l@initial ,
+ refstring.store = \l@refstring
+ }
+\newcommand*{\LettrineTextFont}{\scshape}
+\newcommand*{\LettrineSecondString}{x}
+\newcommand*{\LettrineFontHook}{}
+\def\computeL@height{%
+ \setlength{\L@target@ht}{\ht\L@tbox}%
+ \@tempdima=\baselineskip
+ \setlength{\L@target@dp}{\value{L@lines}\@tempdima}%
+ \ifnum\value{L@lines}>1
+ \addtolength{\L@target@dp}{-\@tempdima}%
+ \else
+ \addtolength{\L@target@ht}{\L@target@dp}%
+ \setlength{\L@target@dp}{0pt}%
+ \fi
+ \setlength{\L@target@tht}{\L@target@ht}%
+ \addtolength{\L@target@tht}{\L@target@dp}%
+ \setlength{\L@height}{\L@target@tht}%
+ \addtolength{\L@height}{\L@oversize\L@target@tht}%
+}
+\def\compute@fontsize{%
+ \ifx\l@refstring\@empty
+ \def\Lettrine@RefString{\LettrineTestString}%
+ \else
+ \def\Lettrine@RefString{\l@refstring}%
+ \fi
+ \sbox{\@tempboxa}{\LettrineFontHook
+ \fontsize{\L@height}{\L@height}\selectfont
+ \Lettrine@RefString}%
+ \@tempcnta=\ht\@tempboxa
+ \ifnum\@tempcnta=0
+ \PackageWarning{lettrine}{Unable to compute \protect\fontsize!%
+ \MessageBreak \protect\LettrineTestString\space empty? reported}
+ \def\L@factor{1}%
+ \else
+ \@tempcntb=\L@height
+ \def\L@factor{\fpeval{\the\@tempcntb/\the\@tempcnta}}%
+ \fi
+}
+\newcommand*{\LettrineFont}{%
+ \LettrineFontHook
+ \fontsize{\L@factor\L@height}{\L@factor\L@height}%
+ \selectfont
+}
+\newcommand*{\LettrineImage}{%
+ \LettrineFontHook\includegraphics[height=\L@height]%
+}
+\def\setupL@lbox{%
+ \computeL@height
+ \ifL@image
+ \sbox{\L@lbox}{\LettrineImage{\l@initial}}%
+ \else
+ \compute@fontsize
+ \sbox{\L@lbox}{\LettrineFont \l@initial}%
+ \fi
+}
+\newcommand*{\LettrineOptionsFor}[2]{%
+ \edef\l@tmpa{#1}%
+ \begingroup
+ \def\color##1##{\l@color{##1}}%
+ \let\l@color\@gobbletwo
+ \def\textcolor##1##{\l@textcolor{##1}}%
+ \def\l@textcolor##1##2##3{##3}%
+ \xdef\l@tmpb{\l@initial}%
+ \endgroup
+ \ifx\l@tmpa\l@tmpb \SetKeys[LettrineLocal]{#2}\fi
+ }
+\def\lettrine{\@ifnextchar[\@lettrine{\@lettrine[]}}
+\def\@lettrine[#1]#2#3{%
+ \def\l@initial{#2}\let\l@refstring\@empty
+ \setcounter{L@lines}{\value{DefaultLines}}%
+ \setcounter{L@depth}{\value{DefaultDepth}}%
+ \renewcommand*{\L@hang}{\DefaultLhang}%
+ \renewcommand*{\L@oversize}{\DefaultLoversize}%
+ \renewcommand*{\L@raise}{\DefaultLraise}%
+ \renewcommand*{\L@ante}{}%
+ \setlength{\L@Findent}{\DefaultFindent}%
+ \setlength{\L@Nindent}{\DefaultNindent}%
+ \setlength{\L@slope}{\DefaultSlope}%
+ \setlength{\L@novskip}{\DiscardVskip}%
+ \ifLettrineImage\L@imagetrue\else\L@imagefalse\fi
+ \ifLettrineOnGrid\L@gridtrue\else\L@gridfalse\fi
+ \ifLettrineRealHeight\L@realhtrue\else\L@realhfalse\fi
+ \SetKeys[LettrineLocal]{#1}%
+ \sbox{\L@tbox}{\LettrineTextFont{\LettrineSecondString}}%
+ \ifL@realh
+ \def\@tempa{#3}%
+ \ifx\@tempa\@empty
+ \PackageWarning{lettrine.sty}%
+ {Empty second argument,\MessageBreak
+ ignoring option `realheight';}%
+ \else
+ \sbox{\L@tbox}{{\LettrineTextFont{#3}}}%
+ \fi
+ \fi
+ \if\DefaultOptionsFile\relax
+ \else
+ \setupL@lbox
+ \setlength{\LettrineWidth}{\wd\L@lbox}%
+ \InputIfFileExists{\DefaultOptionsFile}%
+ {}%
+ {\PackageWarning{lettrine.sty}%
+ {File \DefaultOptionsFile\space not found}%
+ }%
+ \SetKeys[LettrineLocal]{#1}%
+ \fi
+ \setupL@lbox
+ \setlength{\LettrineWidth}{\wd\L@lbox}%
+ \setlength{\LettrineHeight}{\ht\L@lbox}%
+ \setlength{\LettrineDepth}{\dp\L@lbox}%
+ \begingroup
+ \def\IeC##1{##1}%
+ \@tempdima=\L@oversize pt\relax
+ \PackageInfo{lettrine.sty}%
+ {Targeted height = \the\L@target@tht\MessageBreak
+ (for loversize=0, accent excluded),\MessageBreak
+ Lettrine height = \the\LettrineHeight\space (#2)%
+ \ifdim\@tempdima=\z@\else\space loversize=\L@oversize\fi;%
+ \MessageBreak reported}%
+ \endgroup
+ \sbox{\L@tbox}{{\LettrineTextFont{#3}}}%
+ \setlength{\L@first}{\LettrineHeight}%
+ \setlength{\L@lraise}{\L@raise\L@target@tht}%
+ \addtolength{\L@first}{\L@lraise}%
+ \ifnum\value{L@lines}=1
+ \addtolength{\L@first}{-\ht\L@tbox}%
+ \else
+ \addtolength{\L@first}{-\L@target@tht}%
+ \addtolength{\L@lraise}{-\L@target@dp}%
+ \fi
+ \par
+ \ifdim\L@first>\L@novskip
+ \ifL@grid
+ \@tempdima=\baselineskip
+ \@tempdimb=\@tempdima
+ \advance\@tempdimb by \L@novskip
+ \@tempcnta=1
+ \loop\ifdim\L@first>\@tempdimb
+ \advance\@tempcnta by 1
+ \advance\L@first by -\@tempdima
+ \repeat
+ \L@first=\@tempcnta\baselineskip
+ \fi
+ \vskip\L@first
+ \fi
+ \setlength{\L@Pindent}{\wd\L@lbox}%
+ \addtolength{\L@Pindent}{-\L@hang\wd\L@lbox}%
+ \settowidth{\L@first}{\L@ante}%
+ \addtolength{\L@Pindent}{\L@first}%
+ \addtolength{\L@Pindent}{\L@Findent}%
+ \setlength{\L@first}{\linewidth}%
+ \addtolength{\L@first}{-\L@Pindent}%
+ \addtolength{\L@Nindent}{\L@Pindent}%
+ \setlength{\L@next}{\linewidth}%
+ \addtolength{\L@next}{-\L@Nindent}%
+ \addtolength{\L@Pindent}{\@totalleftmargin}%
+ \addtolength{\L@Nindent}{\@totalleftmargin}%
+ \addtocounter{L@lines}{1}%
+ \addtocounter{L@lines}{\value{L@depth}}%
+ \def\L@parshape{\c@L@lines \the\L@Pindent \the\L@first}%
+ \@tempcnta=\tw@
+ \@whilenum \@tempcnta<\c@L@lines\do{%
+ \edef\L@parshape{\L@parshape \the\L@Nindent \the\L@next}%
+ \addtolength{\L@Nindent}{\L@slope}%
+ \addtolength{\L@next}{-\L@slope}%
+ \advance\@tempcnta\@ne}%
+ \edef\L@parshape{\L@parshape \@totalleftmargin \the\linewidth}%
+ \noindent
+ \parshape=\L@parshape\relax
+ \smash{\llap{\mbox{\L@ante}\raisebox{\L@lraise}{\usebox{\L@lbox}}%
+ \hskip \the\L@Findent}}%
+ \unhcopy\L@tbox\relax
+ \ifnum\@listdepth>0 \Lreset@listparshape \fi
+}
+\newtoks\Llist@everypar
+\def\Lreset@listparshape{%
+ \let\Lnew@everypar\everypar
+ \Llist@everypar=\expandafter{\the\everypar}%
+ \Lnew@everypar={\the\Llist@everypar
+ \parshape=\@ne \@totalleftmargin \linewidth \relax
+ \let\everypar\Llist@everypar
+ }%
+}
+%%
+%%
+%% End of file `lettrine.sty'.
diff --git a/macros/latex/contrib/lettrine/lettrine.dtx b/macros/latex/contrib/lettrine/lettrine.dtx
index be96ffe2f8..8403bc644b 100644
--- a/macros/latex/contrib/lettrine/lettrine.dtx
+++ b/macros/latex/contrib/lettrine/lettrine.dtx
@@ -106,7 +106,7 @@
\ProvidesFile{lettrine.dtx}
%</dtx>
%<*sty|dtx>
- [2023-04-18 v2.40 (Daniel Flipo)]
+ [2023-07-02 v2.50 (Daniel Flipo)]
%</sty|dtx>
% \fi
%
@@ -195,7 +195,7 @@
% number of |\baselineskip|. This option is meant for grid
% typesetting.
% \item \lopt{novskip=}\meta{dimen} overrides |\DiscardVskip|
-% (default=0.2pt). In some cases (see options \lopt{lraise},
+% (default=1pt). In some cases (see options \lopt{lraise},
% \lopt{loversize} or accentuated dropped capitals,…) the top of
% the dropped capital will raise above the top of following text
% (usually in small caps), this will trigger a corresponding vertical
@@ -260,8 +260,10 @@
% Another possibility to colour initials globally is described
% below, see |\LettrineFontHook|.
%
-% Three dimensions, |\LettrineWidth|, |\LettrineHeight| and
-% |\LettrineDepth|, store the final size of the initial.
+% Three dimensions, |\LettrineHeight|, |\LettrineDepth| and
+% |\LettrineWidth| hold the final size of the initial
+% (\textit{height} and \textit{depth} being measured from
+% the paragraph’s $n$-th baseline if |lines=|$n$.
%
% Have a look at files \file{lettrine-demo-fr.tex} and
% \file{lettrine-demo-lua.tex} and at the resulting PDFs in the
@@ -293,7 +295,7 @@
% \item |\setlength{\DefaultFindent}{0pt}|,
% \item |\setlength{\DefaultNindent}{0.5em}|,
% \item |\setlength{\DefaultSlope}{0pt}|.
-% \item |\setlength{\DiscardVskip}{0.2pt}|,
+% \item |\setlength{\DiscardVskip}{1pt}|,
% \item |\LettrineImagefalse|,
% \item |\LettrineOnGridfalse|,
% \item |\LettrineRealHeightfalse|.
@@ -384,7 +386,24 @@
% (Palatino, Times, Utopia…), or any OpenType font, they are
% fully scalable too!
%
-% \newpage{}
+% \newpage
+% \textbf{Breaking change in version~2.50:} in order to improve the
+% alignment of side by side parboxes starting with a dropped cap, the
+% internals of the |\lettrine{}| command have changed. Formerly, the
+% initial was completely smashed (\textit{height}=0,
+% \textit{depth}=0) and a |\vskip| was added in case the initial
+% sticked out too much above the paragraph’s first baseline. From
+% version~2.50 on, the initial gets a null \textit{depth} and its
+% proper \textit{height} (measured from the paragraph’s first
+% baseline, please note that it is different from |\LettrineHeight|).
+% This change has the following side effect: in multicolumn
+% typesetting, when a dropped cap starts a column and sticks out
+% significantly above the baseline, it might be necessary to `smash’
+% the dropped cap and eventually to add a |\vspace{}| before
+% the multicolumn environment. See \file{lettrine-demo-fr.pdf} p.~4
+% for an example. Using the rollback mechanism to switch back to
+% version~2.40 is another option: |\usepackage{lettrine}[=v2.4]|.
+%
% \textbf{Known issues:}
% \begin{itemize}
% \item Nothing is done to prevent page-breaking in a paragraph
@@ -425,6 +444,7 @@
%
% \StopEventually{}
%
+% \newpage
% \section{\TeX{}nical details}
%
% \iffalse
@@ -447,7 +467,8 @@
\DeclareRelease{v1.9}{2012-07-20}{lettrine-2015-08-31.sty}
\DeclareRelease{v2.0}{2018-07-21}{lettrine-2018-08-18.sty}
\DeclareRelease{v2.3}{2022-09-25}{lettrine-2022-09-25.sty}
-\DeclareCurrentRelease{}{2023-04-18}
+\DeclareRelease{v2.4}{2023-04-18}{lettrine-2023-04-18.sty}
+\DeclareCurrentRelease{}{2023-07-02}
\RequirePackage{xfp}
% \end{macrocode}
%
@@ -470,6 +491,9 @@
%
% \changes{v2.1}{2018/08/14}{New option `refstring’.}
%
+% \changes{v2.50}{2023/05/30}{\cs{DiscardVskip} default value enlarged
+% from 0.2pt to 1pt.}
+%
% \begin{macrocode}
\newcounter{DefaultLines}
\setcounter{DefaultLines}{2}
@@ -485,7 +509,7 @@
\newdimen\DefaultSlope
\setlength{\DefaultSlope}{\z@}
\newdimen\DiscardVskip
-\setlength{\DiscardVskip}{0.2\p@}
+\setlength{\DiscardVskip}{1\p@}
\newif\ifLettrineImage
\newif\ifLettrineOnGrid
\newif\ifLettrineRealHeight
@@ -499,6 +523,7 @@
% \changes{v1.6}{2015/02/06}{Added newif \cs{ifL@grid}.}
%
% \begin{macrocode}
+\newsavebox{\L@lettrine}
\newsavebox{\L@lbox}
\newsavebox{\L@tbox}
\newcounter{L@lines}
@@ -512,6 +537,7 @@
\newdimen\L@slope
\newdimen\L@height
\newdimen\L@novskip
+\newdimen\L@ruleht
\newdimen\L@target@ht
\newdimen\L@target@dp
\newdimen\L@target@tht
@@ -944,23 +970,6 @@
\setlength{\LettrineHeight}{\ht\L@lbox}%
\setlength{\LettrineDepth}{\dp\L@lbox}%
% \end{macrocode}
-%
-% \changes{v2.0}{2018/07/21}{Add informations about targeted
-% and actual height of the initial to the .log file.}
-%
-% and print some informations about accuracy to the log file,
-% \begin{macrocode}
- \begingroup
- \def\IeC##1{##1}%
- \@tempdima=\L@oversize pt\relax
- \PackageInfo{lettrine.sty}%
- {Targeted height = \the\L@target@tht\MessageBreak
- (for loversize=0, accent excluded),\MessageBreak
- Lettrine height = \the\LettrineHeight\space (#2)%
- \ifdim\@tempdima=\z@\else\space loversize=\L@oversize\fi;%
- \MessageBreak reported}%
- \endgroup
-% \end{macrocode}
% and reset |\L@tbox|’s content (mandatory in case
% \lopt{realheight=false}):
%
@@ -972,9 +981,9 @@
\sbox{\L@tbox}{{\LettrineTextFont{#3}}}%
% \end{macrocode}
%
-% Start a new paragraph, skipping the necessary amount of space
-% if the dropped capital sticks out of the top of paragraph.
-% We use |\L@first| to compute the amount of space to be skipped.
+% Start a new paragraph and compute in |\L@ruleht| the height of
+% the top part of the dropped capital which raises above the
+% paragraph’s first baseline.
%
% \changes{v0.9}{1998/02/23}{Calculations of length
% \cs{L@first} changed. Do not `vskip’ small lengths ($<$0.2pt),
@@ -991,40 +1000,53 @@
% |\LettrineFont|) is |\L@target@tht|.
%
% \begin{macrocode}
- \setlength{\L@first}{\LettrineHeight}%
+ \par
+ \setlength{\L@ruleht}{\LettrineHeight}%
\setlength{\L@lraise}{\L@raise\L@target@tht}%
- \addtolength{\L@first}{\L@lraise}%
- \ifnum\value{L@lines}=1
- \addtolength{\L@first}{-\ht\L@tbox}%
- \else
- \addtolength{\L@first}{-\L@target@tht}%
+ \addtolength{\L@ruleht}{\L@lraise}%
+ \ifnum\value{L@lines}>\@ne
+ \@tempcnta=\value{L@lines}%
+ \advance\@tempcnta \m@ne
+ \addtolength{\L@ruleht}{-\@tempcnta\baselineskip}%
\addtolength{\L@lraise}{-\L@target@dp}%
\fi
- \par
-% \end{macrocode}
-% |\L@first| now holds the height of the needed |\vskip|; if too
-% small it will be discarded.
-% \begin{macrocode}
- \ifdim\L@first>\L@novskip
% \end{macrocode}
-% When the \lopt{grid} option is \lopt{true}, let’s round up
-% |\L@first| to the next integer number of |\baselineskip|.
+% When |\L@ruleht| is larger than |\baselineskip - \L@novskip| and
+% the \lopt{grid} option is \lopt{true}, let’s skip an integer number
+% of |\baselineskip| (and smash the dropped cap, see below).
% \begin{macrocode}
+ \@tempdima=\L@ruleht
+ \advance\@tempdima \L@novskip
+ \@tempdimb=\baselineskip
+ \ifdim\@tempdima>\@tempdimb
\ifL@grid
- \@tempdima=\baselineskip
- \@tempdimb=\@tempdima
- \advance\@tempdimb by \L@novskip
- \@tempcnta=1
- \loop\ifdim\L@first>\@tempdimb
- \advance\@tempcnta by 1
- \advance\L@first by -\@tempdima
+ \@tempcnta=\z@
+ \loop\ifdim\@tempdima>\@tempdimb
+ \advance\@tempcnta \@ne
+ \advance\@tempdima -\@tempdimb
\repeat
- \L@first=\@tempcnta\baselineskip
+ \vskip\@tempcnta\baselineskip
\fi
- \vskip\L@first
\fi
% \end{macrocode}
-% Again, we (mis)use the length |\L@first| to compute the width of
+%
+% \changes{v2.0}{2018/07/21}{Add informations about targeted
+% and actual height of the initial to the .log file.}
+%
+% Print some informations about accuracy to the log file,
+% \begin{macrocode}
+ \begingroup
+ \def\IeC##1{##1}%
+ \@tempdima=\L@oversize pt\relax
+ \PackageInfo{lettrine.sty}%
+ {Targeted height = \the\L@target@tht\MessageBreak
+ (for loversize=0, accent excluded),\MessageBreak
+ Lettrine height = \the\LettrineHeight\space (#2)%
+ \ifdim\@tempdima>\z@\space loversize=\L@oversize\fi;%
+ \MessageBreak reported}%
+ \endgroup
+% \end{macrocode}
+% We (mis)use the length |\L@first| to compute the width of
% the text eventually coming before the dropped capital. It is
% reset later on to hold the first line’s length.
% \begin{macrocode}
@@ -1091,11 +1113,16 @@
% \changes{v2.40}{2023/04/18}{Replace \cs{usebox} by \cs{unhcopy}
% for box \cs{L@tbox} to allow footnote calls and microtype action.}
%
+% \changes{v2.50}{2023/07/02}{Remove the top \cs{vskip}, smash the
+% dropped cap, add a \cs{rule} to mimic its height above the baseline
+% instead.}
+%
% Write the dropped capital into the left margin, and wrap
% the rest of paragraph around it.
% \begin{macrocode}
- \smash{\llap{\mbox{\L@ante}\raisebox{\L@lraise}{\usebox{\L@lbox}}%
- \hskip \the\L@Findent}}%
+ \llap{\mbox{\L@ante}\smash{\raisebox{\L@lraise}{\usebox{\L@lbox}}}%
+ \ifL@grid\else\rule{0pt}{\L@ruleht}\fi
+ \hskip \the\L@Findent}%
\unhcopy\L@tbox\relax
% \end{macrocode}
%
@@ -1155,7 +1182,7 @@
%%\setlength{\DefaultFindent}{0pt}
%%\setlength{\DefaultNindent}{0.5em}
%%\setlength{\DefaultSlope}{0mm}
-%%\setlength{\DiscardVskip}{0.2pt}
+%%\setlength{\DiscardVskip}{1pt}
%%
%% Theses are *flags* (value=true/false):
%%\LettrineImagefalse
diff --git a/macros/xetex/latex/facture/Makefile b/macros/xetex/latex/facture/Makefile
new file mode 100644
index 0000000000..a5283e4b19
--- /dev/null
+++ b/macros/xetex/latex/facture/Makefile
@@ -0,0 +1,28 @@
+.PHONY: clean
+
+EXAMPLES = exemple.tex exemplesansTVA.tex exemplesansremise.tex
+EXAMPLES_PDF = $(EXAMPLES:%.tex=%.pdf)
+
+all: facture.pdf $(EXAMPLES_PDF)
+
+facture.zip: all
+ mkdir -p facture
+ cp $(EXAMPLES) $(EXAMPLES_PDF) facture.{dtx,ins,pdf} README.md Makefile facture/
+ zip -r facture.zip facture
+
+facture.cls:
+ @xelatex facture.ins
+
+facture.pdf:
+ @xelatex facture.dtx
+ @makeindex -s gglo.ist -o facture.gls facture.glo
+ @xelatex facture.dtx
+ @xelatex facture.dtx
+
+%.pdf: %.tex facture.cls
+ @xelatex $*
+
+clean:
+ rm -f *.aux *.cls *.log *.glo *.gls *.hd *.idx *.ilg *.out *.pdf *.toc
+ rm -f facture.zip
+ rm -rf facture
diff --git a/macros/xetex/latex/facture/README b/macros/xetex/latex/facture/README
deleted file mode 100644
index 439a0f102f..0000000000
--- a/macros/xetex/latex/facture/README
+++ /dev/null
@@ -1,7 +0,0 @@
-Classe XeLaTeX de facture, sous licence Créative Commons - partage des conditions initiales à l'identique - Paternité.
-
-http://creativecommons.org/licenses/by-sa/2.0/fr/
-
-La documentation se situe dans le fichier PDF généré lors de la compilation XeLaTeX du fichier .dtx
-
-Pour tout demande de corrections ou d'améliorations, merci d'ouvrir un ticket sur Github : https://github.com/maieul/facture/issues. \ No newline at end of file
diff --git a/macros/xetex/latex/facture/README.md b/macros/xetex/latex/facture/README.md
new file mode 100644
index 0000000000..e91d0c52cf
--- /dev/null
+++ b/macros/xetex/latex/facture/README.md
@@ -0,0 +1,91 @@
+# Classe XeLaTeX de facture
+
+The `facture` document class allows one to easily typeset invoices or quotes,
+with or without VAT, by automatically computing due amounts. Different
+addresses for delivery and for billing are permitted.
+
+This class follows tax laws from France and thus only targets people from
+France. That’s why all default labels and the documentation are currently
+written in french only.
+
+---
+
+La class `facture` permet de rédiger factures et devis, avec ou sans TVA, en
+calculant automatiquement les sommes dûes. Différentes adresses pour la
+livraison et la facturation peuvent être utilisées… ou pas.
+
+Plutôt orienté pour la France (taux de TVA en vigueur ou rappel aux textes de
+loi en l’absence de TVA), les libellés utilisés par défaut et la documentation
+ne sont disponibles qu’en français. Les libellés sont néanmoins modifiables si
+nécessaires (par exemple pour générer des factures bilingues).
+
+Cette classe est conçue pour ne fonctionner qu’avec XeLaTeX. Elle ne
+fonctionne donc pas avec LaTeX (ou pdflatex) ou LuaLaTeX.
+
+Elle est disponible sous licence Créative Commons -- partage des conditions
+initiales à l'identique -- Paternité.
+
+http://creativecommons.org/licenses/by-sa/2.0/fr/
+
+## Documentation
+
+La documentation est disponible [ici en PDF](facture.pdf).
+
+## Corrections ou améliorations
+
+Pour tout demande de corrections ou d'améliorations, merci d'ouvrir un ticket
+sur Gitlab : https://framagit.org/gutenberg/facture/-/issues
+
+## Installation
+
+### Généralités
+
+La classe `facture` est intégrée à la distribution TexLive dans sa collection
+« collection-langfrench ». Vous pouvez vous rapporter à la documentation de
+votre système pour savoir comment installer cette collection particulière.
+
+Elle est également disponible dans la distribution MiKTeX.
+
+### Debian
+
+Voici les packets nécessaires au fonctionnement de la classe sous Debian :
+
+- `texlive-lang-french`
+- `texlive-xetex`
+- `texlive-latex-extra`
+- `texlive-plain-generic`
+- `texlive-latex-recommended`
+- `texlive-fonts-extra`
+
+### Archlinux
+
+Voici les packets nécessaires au fonctionnement de la classe sous Archlinux :
+
+- `texlive-langfrench`
+- `texlive-xetex`
+- `texlive-latexextra`
+- `texlive-plaingeneric`
+- `texlive-latexrecommended`
+- `texlive-fontsextra`
+
+## Génération et compilation
+
+### Généralités
+
+Pour lancer la génération de la classe et la compilation de la documentation
+et des fichiers d’exemple fournis, il suffit de lancer la commande `make`
+seule. Quatre fichiers sont alors générés : `exemple.pdf`,
+`exemplesansremise.pdf`, `exemplesansTVA.pdf` et `facture.pdf` (la
+documentation).
+
+### Extraction simple de la classe elle-même
+
+ make facture.cls
+
+### Extraction simple de la documentation
+
+ make facture.pdf
+
+### Génération d’une archive compatible CTAN
+
+ make facture.zip
diff --git a/macros/xetex/latex/facture/exemple.pdf b/macros/xetex/latex/facture/exemple.pdf
index 97cc517f2a..91a3c02620 100644
--- a/macros/xetex/latex/facture/exemple.pdf
+++ b/macros/xetex/latex/facture/exemple.pdf
Binary files differ
diff --git a/macros/xetex/latex/facture/exemple.tex b/macros/xetex/latex/facture/exemple.tex
index 09c586e7ab..c3c0e63a74 100644
--- a/macros/xetex/latex/facture/exemple.tex
+++ b/macros/xetex/latex/facture/exemple.tex
@@ -1,7 +1,7 @@
\documentclass{facture}
\usepackage{lipsum}
\usepackage[top=2 cm, bottom=2 cm, left=1.5 cm, right=2.5 cm]{geometry}
-\setmainfont[Mapping=tex-text]{Linux Libertine O}
+\usepackage[nomath]{libertinus-otf}
\datelimite{30}
\dest{Client\\
Dans telle rue\\
@@ -17,10 +17,10 @@ CP Ville\\
courriel@domaine.tld \\
Tel : 01 23 45 67 89 \\
}
-\codedest{Ent}
+%\codedest{Ent}
\numero{24}
\type{Devis}
-\pied{Payable à l’ordre de XXXX ---
+\pied{Payable à l’ordre de XXXX ---
SIRET : XXXX
}
\begin{document}
@@ -31,5 +31,5 @@ SIRET : XXXX
\ligne{Produit 2}{10}[2]
\end{facture}
-\lipsum[1-6]
-\end{document} \ No newline at end of file
+\lipsum[1-5]
+\end{document}
diff --git a/macros/xetex/latex/facture/exemplesansTVA.pdf b/macros/xetex/latex/facture/exemplesansTVA.pdf
index c01b81aabf..65cf19f347 100644
--- a/macros/xetex/latex/facture/exemplesansTVA.pdf
+++ b/macros/xetex/latex/facture/exemplesansTVA.pdf
Binary files differ
diff --git a/macros/xetex/latex/facture/exemplesansTVA.tex b/macros/xetex/latex/facture/exemplesansTVA.tex
index 9c939baa3c..7785cd03c0 100644
--- a/macros/xetex/latex/facture/exemplesansTVA.tex
+++ b/macros/xetex/latex/facture/exemplesansTVA.tex
@@ -1,7 +1,7 @@
\documentclass[sansTVA]{facture}
\usepackage{lipsum}
\usepackage[top=2 cm, bottom=2 cm, left=1.5 cm, right=2.5 cm]{geometry}
-\setmainfont[Mapping=tex-text]{Linux Libertine O}
+\usepackage[nomath]{libertinus-otf}
\datelimite{30}
\dest{Client\\
Dans telle rue\\
@@ -20,7 +20,7 @@ Tel : 01 23 45 67 89 \\
\codedest{Ent}
\numero{24}
\type{Devis}
-\pied{Payable à l’ordre de XXXX ---
+\pied{Payable à l’ordre de XXXX ---
SIRET : XXXX
}
\begin{document}
@@ -31,4 +31,4 @@ SIRET : XXXX
\ligne{Produit 2}{10}[2]
\end{facture}
\lipsum[1-2]
-\end{document} \ No newline at end of file
+\end{document}
diff --git a/macros/xetex/latex/facture/exemplesansremise.pdf b/macros/xetex/latex/facture/exemplesansremise.pdf
index ed8f12a399..1d4f673f89 100644
--- a/macros/xetex/latex/facture/exemplesansremise.pdf
+++ b/macros/xetex/latex/facture/exemplesansremise.pdf
Binary files differ
diff --git a/macros/xetex/latex/facture/exemplesansremise.tex b/macros/xetex/latex/facture/exemplesansremise.tex
index 93778fa08a..22d9665c1f 100644
--- a/macros/xetex/latex/facture/exemplesansremise.tex
+++ b/macros/xetex/latex/facture/exemplesansremise.tex
@@ -1,7 +1,7 @@
\documentclass[sansremise]{facture}
\usepackage{lipsum}
\usepackage[top=2 cm, bottom=2 cm, left=1.5 cm, right=2.5 cm]{geometry}
-\setmainfont[Mapping=tex-text]{Linux Libertine O}
+\usepackage[nomath]{libertinus-otf}
\datelimite{30}
\dest{Client\\
Dans telle rue\\
@@ -20,7 +20,7 @@ Tel : 01 23 45 67 89 \\
\codedest{Ent}
\numero{24}
\type{Devis}
-\pied{Payable à l’ordre de XXXX ---
+\pied{Payable à l’ordre de XXXX ---
SIRET : XXXX
}
\begin{document}
@@ -31,5 +31,5 @@ SIRET : XXXX
\ligne{Produit 2}{10}
\end{facture}
-\lipsum[1-6]
-\end{document} \ No newline at end of file
+\lipsum[1-5]
+\end{document}
diff --git a/macros/xetex/latex/facture/facture.dtx b/macros/xetex/latex/facture/facture.dtx
index b1878b4eba..8069002070 100644
--- a/macros/xetex/latex/facture/facture.dtx
+++ b/macros/xetex/latex/facture/facture.dtx
@@ -1,9 +1,10 @@
% \iffalse meta-comment
-% Droits d'auteur :
-% - Maïeul Rouquette 2011-…
+% Droits d'auteur :
+% - Maïeul Rouquette 2011-2023
% - Joël Gombin 2014
-% Licence Creative Commons - Paternité -Partage des Conditions Initiales à l'identique
-% http://creativecommons.org/licenses/by-sa/2.0/fr/
+% - Étienne Deparis 2023-…
+% Licence Creative Commons - Paternité - Partage des Conditions Initiales à l'identique
+% http://creativecommons.org/licenses/by-sa/2.0/fr/
% \fi
% \iffalse
%<*driver>
@@ -14,178 +15,288 @@
\usepackage[frenchb]{babel}
\usepackage{hyperref}
\usepackage{csquotes}
-\usepackage{bidi}
-% Pour l'impression du changement
+\usepackage{metalogo}
+\usepackage[mono=false,nomath]{libertinus-otf}
+% Pour l'impression des changements
\makeatletter
- \def\glossary@prologue{%
- \section{Historique des changements}%
- }
+\def\glossary@prologue{%
+ \section{Historique des changements}%
+}
\makeatother
\EnableCrossrefs
\RecordChanges
% Pour les renvois internes
\newcommand{\renvoi}[1]{voir section~\ref{#1} p.~\pageref{#1}}
+\newcommand{\Renvoi}[1]{Voir section~\ref{#1} p.~\pageref{#1}.}
\begin{document}
- \raggedbottom
- \DocInput{facture.dtx}
+\raggedbottom
+\DocInput{facture.dtx}
\end{document}
%</driver>
-%\fi
-% \CheckSum{584}
-% \changes{v1.0}{2011/09/10}{Première version}
-% \changes{v1.1}{2014/09/16}{Laisser le choix de la marge à l'utilisateur}
+% \fi
+% \CheckSum{585}
+% \changes{v1.0}{2011/09/10}{Première version.}
+% \changes{v1.1}{2014/09/16}{Laisser le choix de la marge à l'utilisateur.}
% \changes{v1.1}{2014/09/16}{Possibilité de modifier la taille du tableau.}
% \changes{v1.2}{2015/01/16}{Possibilité de produire des factures sans la colonne remise.}
% \changes{v1.2.2}{2015/01/16}{Corrections de quelques problèmes d'alignement.}
-% \changes{v1.2.2}{2017/04/12}{Corrections d'un bug si le numéro de facture n'est pas défini.}
-% \def\filedate{2017/04/12}
-% \def\fileversion{1.2.2}
+% \changes{v1.3}{2023/06/30}{Modernise les scripts de construction du paquet.}
+% \changes{v1.3}{2023/06/30}{Corrige la documentation à propos du code client.}
+% \def\filedate{2023/06/30}
+% \def\fileversion{1.3}
% \date{\filedate}
% \title{La class \textsf{facture}\thanks{Ce document correspond à la version~\fileversion de \textsf{facture} datée du \filedate.}}
-%\author{Maïeul Rouquette et Joël Gombin}
-%\maketitle
-%\begin{abstract}
-%Cette classe permet de rédiger factures et devis, avec ou sans TVA, en calculant automatiquement les sommes.
-%
-% Elle fonctionne avec \XeLaTeX{} et non pas \LaTeX{}.
-%
-% Elle est sous licence Creative Commons - Paternité - Partage des Conditions Initiales à l'identique\footnote{\url{http://creativecommons.org/licenses/by-sa/2.0/fr/}.}.
-%
-% Pour tout demande de corrections ou d'améliorations, merci d'ouvrir un ticket sur Github : \url{https://github.com/maieul/facture/issues}.
-%\end{abstract}
-%\tableofcontents
-%\section{Chargement et configuration}\label{meta}
-%\subsection{Avec ou sans TVA ?}\label{TVA}
-% La classe se charge comme toutes les classes. Une option \verb|sansTVA| permet de produire des factures sans gestion de la TVA. Typiquement pour des auto-entrepreneurs.
-% Ainsi :
-%\begin{verbatim}
-%\documentclass[sansTVA]{facture}
-%\end{verbatim}
-%
-% Permet de générer une facture sans gestion de la TVA. À contrario,
-%\begin{verbatim}
-%\documentclass{facture}
-%\end{verbatim}
-%
-% Permet de générer une facture avec TVA. Celle-ci est définie par défaut à 19,6~\%\footnote{Valeur lors de la sortie de la première version de la classe. Pour éviter que des factures créées avant la variation du taux mais recompilées après la variation ne voit leur TVA changer, ce taux restera fixe d'une version à l'autre de la classe.}, mais il est possible de modifier le taux, grâce à la commande \DescribeMacro{\TVAdefaut}\cmd{\TVAdefaut}\marg{taux}. Par exemple pour avoir un taux de 5,5~\% :
-%\begin{verbatim}
-%\TVAdefaut{5,5}
-%\end{verbatim}
-% \subsection{Avec ou sans remise ?}\label{remise}
-% Une option \verb|sansremise| permet de produire des factures sans gestion des remises.
-%\subsection{Information sur document}
-%Cette classe permet de fabriquer des factures et des devis. Par défaut, elle fabrique des factures. La commande \DescribeMacro{\type}\cmd{\type}\marg{type} permet d'indiquer si on souhaite fabriquer une facture ou autre chose :
-%\begin{verbatim}
-%\type{Devis}
-%\end{verbatim}
+% \author{Maïeul Rouquette, Joël Gombin et Étienne Deparis}
+% \maketitle
+% \begin{abstract}
+% Cette classe permet de rédiger factures et devis, avec ou sans TVA, en
+% calculant automatiquement les sommes.
+%
+% Elle fonctionne avec \XeLaTeX{} et non pas \LaTeX{}.
+%
+% Elle est sous licence Creative Commons - Paternité - Partage des
+% Conditions Initiales à
+% l'identique\footnote{\url{http://creativecommons.org/licenses/by-sa/2.0/fr/}.}.
+%
+% Pour tout demande de corrections ou d'améliorations, merci d'ouvrir un
+% ticket sur Gitlab : \url{https://framagit.org/gutenberg/facture/-/issues}.
+% \end{abstract}
+% \tableofcontents
+%
+% \section{Chargement et configuration}
+% \label{meta}
+% \subsection{Avec ou sans TVA ?}
+% \label{TVA}
+%
+% La classe se charge comme toutes les classes. Une option \verb|sansTVA|
+% permet de produire des factures sans gestion de la TVA. Typiquement pour des
+% auto-entrepreneurs. Ainsi :
+%
+% \begin{verbatim}
+% \documentclass[sansTVA]{facture}
+% \end{verbatim}
+%
+% Permet de générer une facture sans gestion de la TVA. À contrario,
+%
+% \begin{verbatim}
+% \documentclass{facture}
+% \end{verbatim}
+%
+% Permet de générer une facture avec TVA. Celle-ci est définie par défaut à
+% 19,6~\%\footnote{Valeur lors de la sortie de la première version de la
+% classe. Pour éviter que des factures créées avant la variation du taux mais
+% recompilées après la variation ne voient leur TVA changer, ce taux restera
+% fixe d'une version à l'autre de la classe.}, mais il est possible de
+% modifier le taux, grâce à la commande
+% \DescribeMacro{\TVAdefaut}\cmd{\TVAdefaut}\marg{taux}. Par exemple pour
+% avoir un taux de 5,5~\% :
+%
+% \begin{verbatim}
+% \TVAdefaut{5,5}
+% \end{verbatim}
+%
+% \subsection{Avec ou sans remise ?}
+% \label{remise}
+%
+% Une option \verb|sansremise| permet de produire des factures sans gestion
+% des remises.
+%
+% \subsection{Information sur document}
+%
+% Cette classe permet de fabriquer des factures et des devis. Par défaut, elle
+% fabrique des factures. La commande
+% \DescribeMacro{\type}\cmd{\type}\marg{type} permet d'indiquer si on souhaite
+% fabriquer une facture ou autre chose :
+%
+% \begin{verbatim}
+% \type{Devis}
+% \end{verbatim}
%
% À noter que \meta{type} peut prendre n'importe quelle valeur.
-%
-% Le document peut avoir un numéro, défini par la commande \DescribeMacro{\numero}\cmd{\numero}\marg{numero}.
-%
-% Le document est automatiquement daté du jour de la compilation. Toutefois on peut utiliser la commande \DescribeMacro{\date}\cmd{\date}\marg{JJ/MM/AAAA} pour spécifier une date. Il est possible d'indiquer une date limite de paiement via la commande \DescribeMacro{\datelimite}\cmd{\datelimite}\marg{nbjours}. La date limite est calculée en ajoutant \meta{nbjours} à la date du document.
-%\subsection{Information sur l'émetteur}
-% La commande \DescribeMacro{\nomemet}\cmd{\nomemet}\marg{texte} permet d'indiquer le nom de l'émetteur, qui apparaîtra dans l'entête\footnote{On se reportera au fichier \href{exemple.pdf}{exemple} pour des … exemples}. Pour indiquer son adresse, qui apparaîtra dans l'entête mais à droite, on utilise \DescribeMacro{\adresseemet}\cmd{\adresseemet}\marg{texte}. On indique les retours à la ligne par \verb|\\|.
-%
-% Il existe également une commande \DescribeMacro{\pied}\cmd{\pied}\marg{texte} qui provoque l'affichage de \meta{texte} à droite du pied de page, sur toutes les pages.
-%
-%\subsection{Information sur le destinataire}%\label{dest}
-% Le destinataire peut avoir deux adresses : une adresse de livraison et une de facturation. Seule la première est obligatoire. Si la seconde est absente, la classe considère qu'il s'agit de la même adresse. À la différence de l'émetteur, le nom du destinataire s'indique en même temps que l'adresse.
-%
-%L'adresse de livraison se définie via la commande \DescribeMacro{\dest}\cmd{\dest}\marg{adresse}, l'adresse de facturation via \DescribeMacro{\fact}\marg{adresse}. Encore une fois, les différentes lignes de l'adresse doivent être séparées par \verb|\\|.
-%
-% Il est possible d'affecter un code au client, via la commande \DescribeMacro{\codeclient}\cmd{\codeclient}\marg{code}.
-%\subsection{Affichage des méta-données}
-%Toutes ces méta-données, à l'exception du taux de TVA et du pied de page sont affichées dans une zolie présentation avec la commande. \DescribeMacro{\entete}\cmd{\entete}.
-%\section{Insertion de texte}
-% La classe étant dérivée de la classe \emph{article}, il est possible d'insérer du texte sectionnable avec les commandes de \emph{article}. Il n'y a pas d'endroit obligatoire pour l'afficher.
-%\section{Insertion de la facture}
-% Une facture est constituée de lignes indiquant les prix et quantités des différents produits. Chaque ligne s'appelle au sein de l'environnement \DescribeEnv{facture}\emph{facture}, via la commande \DescribeMacro{\ligne}\cmd{\ligne}\marg{produit}\oarg{quantité}\marg{prix unitaire HT}\oarg{remise}\oarg{taux de TVA}.
-%
-%\meta{produit} est le nom du produit.
-%\meta{quantité} est la quantité souhaitée. Le nombre peut être entier ou décimal. En l'absence de cet argument, on suppose que le produit n'est présent qu'une fois.
-%\meta{prix unitaire HT} n'est pas à décrire.
-%\meta{remise} s'applique sur le prix total HT.
-%\meta{taux de TVA}: si un produit n'a pas le même taux que celui par défaut (\renvoi{TVA}), cet argument permet d'indiquer le taux. Il est exprimé en pourcentage, mais sans le signe \%.
-%
-%
-%Tout les nombres décimaux s'expriment en utilisant la virgule, même si l'usage du point fonctionne également.
-%
-% La commande se charge automatiquement de calculer et d'afficher le prix total HT, la TVA et le prix total TTC.
-% Le total des produits est affiché avec la fermeture de l'environnement \emph{facture}. Exemple (voir le fichier \href{exemple.pdf}{exemple.pdf} pour le résultat):
-%\begin{verbatim}
-%\begin{facture}
-%\ligne{Produit 1}[2]{25}
-%\ligne{Produit 2}{10}[2]
-%\end{facture}
-%\end{verbatim}
-%
-% Dans le cas où l'option \verb|sansTVA| (\renvoi{TVA}) a été passée lors de l'appel à la classe, les colonnes ne sont pas les mêmes. Exemple (voir le fichier \href{exemplesansTVA.pdf}{exemplesansTVA.pdf} pour le résultat):
-%\begin{verbatim}
-%\begin{facture}
-%\ligne{Produit 1}[2]{25}
-%\ligne{Produit 2}{10}[][2]
-%\end{facture}
-%\end{verbatim}
-%
-% Si l'option \verb|sansremise| a été passée lors de l'appel à la classe, le quatrième argument de la colonne correspond au taux de TVA.
-%\subsection{Texte en dessous des totaux}
-% Dans le cas d'une facture sans TVA, l'environnement \emph{facture} indique le texte \enquote{TVA non applicable, art. 293 B}. Il est possible de modifier ce texte, ou d'en ajouter un pour les documents avec TVA, en redéclarant la commande \DescribeMacro{\postTotaux}\cmd{\postTotaux}\marg{texte}.
-%\begin{verbatim}
-%\renewcommand{\postTotaux}{\hfill un joli texte}
-%\end{verbatim}
-%\section{Personnalisation}
-% Plusieurs possibilités de personnalisation existent, en redéfinissant des commandes et/ou des couleurs. J'invite à lire le code pour savoir lesquels.
-%\begin{itemize}
-%\item Pour les couleurs, les traits et les mise en valeurs des textes, \renvoi{apparence}.
-%\item Pour les réglages concernant les mathématiques (arrondis par exemple), \renvoi{math}.
-%\item Pour les textes, \renvoi{texte}.
-%\item Pour le pieds de page, \renvoi{pied}.
-%\item Pour l'affichage de la TVA, \renvoi{afficheTVA}.
-%\item Pour la largeur des colonnes du tableau, \renvoi{largeurCols}.
-%\end{itemize}
-%
-%Pour personnaliser la taille du papier et celle des marges, on peut utiliser le package \emph{geometry}.
-%\StopEventually{}
-%\appendix%
-%\section{Documentation du code}
-%\subsection{Chargement des packages}
+%
+% Le document peut avoir un numéro, défini par la commande
+% \DescribeMacro{\numero}\cmd{\numero}\marg{numero}.
+%
+% Le document est automatiquement daté du jour de la compilation. Toutefois on
+% peut utiliser la commande \DescribeMacro{\date}\cmd{\date}\marg{JJ/MM/AAAA}
+% pour spécifier une date. Il est possible d'indiquer une date limite de
+% paiement via la commande
+% \DescribeMacro{\datelimite}\cmd{\datelimite}\marg{nbjours}. La date limite
+% est calculée en ajoutant \meta{nbjours} à la date du document.
+%
+% \subsection{Information sur l'émetteur}
+%
+% La commande \DescribeMacro{\nomemet}\cmd{\nomemet}\marg{texte} permet
+% d'indiquer le nom de l'émetteur, qui apparaîtra dans l'entête. Pour indiquer
+% son adresse, qui apparaîtra dans l'entête mais à droite, on utilise
+% \DescribeMacro{\adresseemet}\cmd{\adresseemet}\marg{texte}. On indique les
+% retours à la ligne par \verb|\\|.
+%
+% Il existe également une commande
+% \DescribeMacro{\pied}\cmd{\pied}\marg{texte} qui provoque l'affichage de
+% \meta{texte} à droite du pied de page, sur toutes les pages.
+%
+% \subsection{Information sur le destinataire}
+% \label{dest}
+%
+% Le destinataire peut avoir deux adresses : une adresse de livraison et une
+% de facturation. Seule la première est obligatoire. Si la seconde est
+% absente, la classe considère qu'il s'agit de la même adresse. À la
+% différence de l'émetteur, le nom du destinataire s'indique en même temps que
+% l'adresse.
+%
+% L'adresse de livraison se définie via la commande
+% \DescribeMacro{\dest}\cmd{\dest}\marg{adresse}, l'adresse de facturation via
+% \DescribeMacro{\fact}\cmd{\fact}\marg{adresse}. Encore une fois, les
+% différentes lignes de l'adresse doivent être séparées par \verb|\\|.
+%
+% Il est possible d'affecter un code au client, via la commande
+% \DescribeMacro{\codedest}\cmd{\codedest}\marg{code}.
+%
+% \subsection{Affichage des méta-données}
+%
+% Toutes ces méta-données, à l'exception du taux de TVA et du pied de page
+% sont affichées dans une zolie présentation avec la
+% commande \DescribeMacro{\entete}\cmd{\entete}.
+%
+% \section{Insertion de texte}
+%
+% La classe étant dérivée de la classe \emph{article}, il est possible
+% d'insérer du texte sectionnable avec les commandes de \emph{article}. Il n'y
+% a pas d'endroit obligatoire pour l'afficher.
+%
+% \section{Insertion de la facture}
+%
+% Une facture est constituée de lignes indiquant les prix et quantités des
+% différents produits. Chaque ligne s'appelle au sein de l'environnement
+% \DescribeEnv{facture}\emph{facture}, via la commande
+% \DescribeMacro{\ligne}\cmd{\ligne}\marg{produit}\oarg{quantité}\marg{prix
+% unitaire HT}\oarg{remise}\oarg{taux de TVA}.
+%
+% \meta{produit} est le nom du produit.
+% \meta{quantité} est la quantité souhaitée. Le nombre peut être entier ou
+% décimal. En l'absence de cet argument, on suppose que le produit n'est
+% présent qu'une fois.
+% \meta{prix unitaire HT} n'est pas à décrire.
+% \meta{remise} s'applique sur le prix total HT.
+% \meta{taux de TVA}: si un produit n'a pas le même taux que celui par défaut
+% (\renvoi{TVA}), cet argument permet d'indiquer le taux. Il est exprimé en
+% pourcentage, mais sans le signe \%.
+%
+% Tout les nombres décimaux s'expriment en utilisant la virgule, même si
+% l'usage du point fonctionne également.
+%
+% La commande se charge automatiquement de calculer et d'afficher le prix
+% total HT, la TVA et le prix total TTC. Le total des produits est affiché
+% avec la fermeture de l'environnement \emph{facture}. Exemple (voir le
+% fichier \href{exemple.pdf}{exemple.pdf} pour le résultat):
+%
+% \begin{verbatim}
+% \begin{facture}
+% \ligne{Produit 1}[2]{25}
+% \ligne{Produit 2}{10}[2]
+% \end{facture}
+% \end{verbatim}
+%
+% Dans le cas où l'option \verb|sansTVA| (\renvoi{TVA}) a été passée lors de
+% l'appel à la classe, les colonnes ne sont pas les mêmes. Exemple (voir le
+% fichier \href{exemplesansTVA.pdf}{exemplesansTVA.pdf} pour le résultat):
+%
+% \begin{verbatim}
+% \begin{facture}
+% \ligne{Produit 1}[2]{25}
+% \ligne{Produit 2}{10}[][2]
+% \end{facture}
+% \end{verbatim}
+%
+% Si l'option \verb|sansremise| a été passée lors de l'appel à la classe, le
+% quatrième argument de la colonne correspond au taux de TVA.
+%
+% \subsection{Texte en dessous des totaux}
+%
+% Dans le cas d'une facture sans TVA, l'environnement \emph{facture} indique
+% le texte \enquote{TVA non applicable, art. 293 B}. Il est possible de
+% modifier ce texte, ou d'en ajouter un pour les documents avec TVA, en
+% redéclarant la commande
+% \DescribeMacro{\postTotaux}\cmd{\postTotaux}\marg{texte}.
+%
+% \begin{verbatim}
+% \renewcommand{\postTotaux}{\hfill un joli texte}
+% \end{verbatim}
+%
+% \section{Personnalisation}
+%
+% Plusieurs possibilités de personnalisation existent, en redéfinissant des
+% commandes et/ou des couleurs. J'invite à lire le code pour savoir lesquels.
+%
+% \begin{itemize}
+% \item Pour les couleurs, les traits et les mise en valeurs des textes, \renvoi{apparence}.
+% \item Pour les réglages concernant les mathématiques (arrondis par exemple), \renvoi{math}.
+% \item Pour les textes, \renvoi{texte}.
+% \item Pour le pieds de page, \renvoi{pied}.
+% \item Pour l'affichage de la TVA, \renvoi{afficheTVA}.
+% \item Pour la largeur des colonnes du tableau, \renvoi{largeurCols}.
+% \end{itemize}
+%
+% Pour personnaliser la taille du papier et celle des marges, on peut utiliser
+% le package \emph{geometry}.
+%
+% \StopEventually{}
+% \appendix%
+% \section{Documentation du code}
+%
+% \subsection{Chargement des packages}
+%
+% \iffalse
%<*facture>
+% \fi
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{facture}[2017/04/12/04 v1.2.2]
-\LoadClass[a4paper]{article}%On se base sur la classe article
-\RequirePackage{fontspec}
+\ProvidesClass{facture}[2023/06/30 v1.3]
+\LoadClass[a4paper]{article} % On se base sur la classe article
+\RequirePackage{fontspec}
\RequirePackage{xunicode}
\RequirePackage{polyglossia}
\setmainlanguage{french}
-\RequirePackage{numprint}%Pour gérer l'affichage des nombres
-\RequirePackage{fltpoint}% Pour faire les calculs dans le tableau
-\RequirePackage{tikz} % tikz est utilisé pour tracer des boites, par exemple
-\RequirePackage{graphicx} % Pour insérer des images. Utiliser le format jpg pour plus de simplicité.
+\RequirePackage{numprint} % Pour gérer l'affichage des nombres
+\RequirePackage{fltpoint} % Pour faire les calculs dans le tableau
+\RequirePackage{tikz} % tikz est utilisé pour tracer des boites, par exemple
+\RequirePackage{graphicx} % Pour insérer des images. Utiliser le format jpg
+ % pour plus de simplicité.
\RequirePackage{fancyhdr} % Pour entête et pied de page
\RequirePackage{array}
\RequirePackage{longtable}
\RequirePackage{colortbl}
-\RequirePackage{advdate}%Pour manipuler les dates
-\RequirePackage{xargs}%Pour des arguments conditionnels
+\RequirePackage{advdate} % Pour manipuler les dates
+\RequirePackage{xargs} % Pour des arguments conditionnels
% \end{macrocode}
-%\subsection{Option sansTVA}
+%
+% \subsection{Option sansTVA}
+%
% \begin{macrocode}
\newif\ifsansTVA
\DeclareOption{sansTVA}{\sansTVAtrue}
% \end{macrocode}
-%\subsection{Option sansremise}
+%
+% \subsection{Option sansremise}
+%
% \begin{macrocode}
\newif\ifsansremise
\DeclareOption{sansremise}{\sansremisetrue}
% \end{macrocode}
-%\subsection{Exécution des options}
+%
+% \subsection{Exécution des options}
+%
% \begin{macrocode}
\ProcessOptions
% \end{macrocode}
-%\subsection{Apparence}\label{apparence}
-% On définit ici les couleurs, l'écartement des colonnes, et l'apparences des libellés.
+%
+% \subsection{Apparence}
+% \label{apparence}
+%
+% On définit ici les couleurs, l'écartement des colonnes, et l'apparences des
+% libellés.
+%
% \begin{macrocode}
\definecolor{entetes}{HTML}{888888}
\definecolor{encadre}{RGB}{111,111,111}
@@ -194,8 +305,11 @@
\newlength{\epaisseurcadre}
\setlength{\epaisseurcadre}{1.5mm}
% \end{macrocode}
-%\subsection{Textes}\label{texte}
-%\subsubsection{Invariants}
+%
+% \subsection{Textes}
+% \label{texte}
+% \subsubsection{Invariants}
+%
% \begin{macrocode}
\newcommand{\codeclient}{Code client :}
\newcommand{\datetxt}{Date:}
@@ -210,56 +324,87 @@
\newcommand{\remise}{Remise}
\newcommand{\unite}{€}
% \end{macrocode}
-%\subsubsection{Dépend du réglage sur la TVA (\renvoi{TVA})}
+%
+% \subsubsection{Dépend du réglage sur la TVA}
+%
+% \Renvoi{TVA}
+%
% \begin{macrocode}
\ifsansTVA%
- \newcommand{\tottxt}{Total}
- \newcommand{\prixtxt}{Prix}
- \newcommand{\postTotaux}{\hfill TVA non applicable, art. 293 B}
+ \newcommand{\tottxt}{Total}
+ \newcommand{\prixtxt}{Prix}
+ \newcommand{\postTotaux}{\hfill TVA non applicable, art. 293 B}
\else%
- \newcommand{\prixHT}{Prix HT}
- \newcommand{\TVAtxt}{TVA}
- \newcommand{\prixTTC}{Prix TTC}
- \newcommand{\totHTtxt}{Total HT}
- \newcommand{\totTVAtxt}{Total TVA}
- \newcommand{\totTTCtxt}{Total TTC}
- \newcommand{\postTotaux}{}
+ \newcommand{\prixHT}{Prix HT}
+ \newcommand{\TVAtxt}{TVA}
+ \newcommand{\prixTTC}{Prix TTC}
+ \newcommand{\totHTtxt}{Total HT}
+ \newcommand{\totTVAtxt}{Total TVA}
+ \newcommand{\totTTCtxt}{Total TTC}
+ \newcommand{\postTotaux}{}
\fi
% \end{macrocode}
-%\subsection{Largeur des colonnes}\label{largeurCols}
-% On peut redéfinir les commandes ci-dessous pour modifier la largeur des commandes. Attention à ne pas dépasser un total de 1\cmd{\textwidth} !
-% Le package se charge d'ajuster automatiquement pour supprimer la marge intérieure.
-% La largeur des chiffres est calculée automatiquement en fonction de la largeur du descriptif et de la largeur de la TVA. Il est donc fortement recommandé de ne modifiée que \cs{largeurDescriptif} et \cs{largeurTVA}.
+%
+% \subsection{Largeur des colonnes}
+% \label{largeurCols}
+%
+% On peut redéfinir les commandes ci-dessous pour modifier la largeur des
+% commandes. Attention à ne pas dépasser un total de 1\cmd{\textwidth} !
+%
+% Le package se charge d'ajuster automatiquement pour supprimer la marge
+% intérieure.
+%
+% La largeur des chiffres est calculée automatiquement en fonction de la
+% largeur du descriptif et de la largeur de la TVA. Il est donc fortement
+% recommandé de ne modifiée que \cs{largeurDescriptif} et \cs{largeurTVA}.
+%
% \begin{macrocode}
\newcommand{\largeurDescriptif}{0.2\textwidth}
\newcommand{\largeurTVA}{0.2\textwidth}
\ifsansremise
- \newcommand{\largeurChiffresAvecTVA}{\dimexpr (\textwidth-\largeurDescriptif-\largeurTVA)/4\relax}
- \newcommand{\largeurChiffres}{\dimexpr (\textwidth-\largeurDescriptif)/3 \relax}
+ \newcommand{\largeurChiffresAvecTVA}{%
+ \dimexpr (\textwidth-\largeurDescriptif-\largeurTVA)/4\relax}
+ \newcommand{\largeurChiffres}{%
+ \dimexpr (\textwidth-\largeurDescriptif)/3 \relax}
\else
- \newcommand{\largeurChiffresAvecTVA}{\dimexpr (\textwidth-\largeurDescriptif-\largeurTVA)/5\relax}
- \newcommand{\largeurChiffres}{\dimexpr (\textwidth-\largeurDescriptif)/4 \relax}
+ \newcommand{\largeurChiffresAvecTVA}{%
+ \dimexpr (\textwidth-\largeurDescriptif-\largeurTVA)/5\relax}
+ \newcommand{\largeurChiffres}{%
+ \dimexpr (\textwidth-\largeurDescriptif)/4 \relax}
\fi
% \end{macrocode}
%
-%\subsection{Réglages mathématiques}\label{math}
-%On régle ici les paramètres mathématiques, définissables avec le package \emph{numprint}.
-% Tout d'abord on dit qu'on veut avoir les zéros finaux.
+% \subsection{Réglages mathématiques}
+% \label{math}
+%
+% On régle ici les paramètres mathématiques, définissables avec le package
+% \emph{numprint}. Tout d'abord on dit qu'on veut avoir les zéros finaux.
+%
% \begin{macrocode}
\npaddmissingzero
% \end{macrocode}
+%
% Puis on dit qu'on arrondit à deux chiffres après la virgule.
+%
% \begin{macrocode}
\nprounddigits{2}
% \end{macrocode}
-%\subsection{Quelques réglages standards}
+%
+% \subsection{Quelques réglages standards}
+%
% Ici on régle la TVA par défaut et le type de document
+%
% \begin{macrocode}
\def\@TVAdefaut{19,6}
\def\@type{\facturetxt}
% \end{macrocode}
-%\subsection{Méta-données}
-%Toutes ces commandes sont appelées par l'utilisateurs au tout début (\renvoi{meta}). La plupart stockent dans une commande commençant par @ le code qui est passé.
+%
+% \subsection{Méta-données}
+%
+% Toutes ces commandes sont appelées par l'utilisateurs au tout début
+% (\renvoi{meta}). La plupart stockent dans une commande commençant par @ le
+% code qui est passé.
+%
% \begin{macrocode}
\renewcommand{\date}[1]{\SetDate[#1]}
\newcommand{\TVAdefaut}[1]{\def\@TVAdefaut{#1}}
@@ -272,217 +417,240 @@
\newcommand{\numero}[1]{\def\@numero{#1}}
\newcommand{\codedest}[1]{\def\@codedest{#1}}
% \end{macrocode}
-
-%\subsection{Génération de l'entête}
-% On se base sur le package \emph{TikZ} pour le générer.
%
-% Tout d'abord afficher le nom et l'adresse de l'émetteur
+% \subsection{Génération de l'entête}
+%
+% \begin{macro}{\entete}
+% \changes{v1.2.2}{2017/04/12}{Corrections d'un bug si le numéro de facture n'est pas défini.}
+% \changes{v1.3}{2023/06/30}{Corrige un bug si code client est absent.}
+%
+% On se base sur le package \emph{TikZ} pour le générer.
+%
+% Tout d'abord afficher le nom et l'adresse de l'émetteur.
+%
% \begin{macrocode}
\newcommand{\entete}{
+ \noindent\begin{tikzpicture}
-
- \noindent\begin{tikzpicture}
-
- \noindent\node [font=\bf\Huge,text width=0.5\textwidth,text=entetes,text centered]{%
- \@nomemet%
- };
-
- \noindent\node (b)[xshift=0.5\textwidth,text width=0.5\textwidth, right]{%
- \@adresseemet%
- };
-% \end{macrocode}
-%
-%Ensuite déterminer la place que cela prend, puis tracer l'encadré.
+ \noindent\node[font=\bf\Huge,text width=0.5\textwidth,text=entetes,text centered]{%
+ \@nomemet%
+ };
+
+ \noindent\node(b)[xshift=0.5\textwidth,text width=0.5\textwidth,right]{%
+ \@adresseemet%
+ };
+% \end{macrocode}
+% \iffalse} Stop Emacs syntax color being confused\fi
+%
+% Ensuite déterminer la place que cela prend, puis tracer l'encadré.
+%
% \begin{macrocode}
\coordinate[xshift=-\textwidth-\epaisseurcadre,yshift=1ex] (a) at (b.north);
\coordinate[xshift=-\epaisseurcadre,yshift=-1ex] (c) at (b.south);
\draw[color=encadre,line width=\epaisseurcadre] (a) rectangle (c);
- \end{tikzpicture}
+ \end{tikzpicture}
% \end{macrocode}
%
-%Ensuite afficher le titre, avec un peu d'espace avant et après, en le chassant à droite.
+% Ensuite afficher le titre, avec un peu d'espace avant et après, en le
+% chassant à droite.
+%
% \begin{macrocode}
+ \vspace{3ex}
-
-
- \vspace{3ex}
-
- \begin{flushright}
-
-
+ \begin{flushright}
{\Huge\libelle{\@type}}
-
- \end{flushright}
-
- \vspace{3ex}
-
- \begin{tikzpicture}
+ \end{flushright}
+
+ \vspace{3ex}
% \end{macrocode}
%
-%Ensuite afficher les informations sur le destinataire. Des tests permettent d'afficher ou non la livraison séparement de la facture, en fonction de ce qu'a défini l'utilisateur (\renvoi{dest}).
+% Ensuite afficher les informations sur le destinataire. Des tests
+% permettent d'afficher ou non la livraison séparement de la facture, en
+% fonction de ce qu'a défini l'utilisateur (\renvoi{dest}).
+%
% \begin{macrocode}
-
-
+ \begin{tikzpicture}
\ifdef{\@fact}{
- \node[text width=0.33\textwidth,anchor=base]{
+ \node[text width=0.33\textwidth,anchor=base]{
\libelle{\facturation}
-
+
\@fact
- };
+ };
}{}
-
- \node[xshift=0.33\textwidth,text width=0.33\textwidth,anchor=base]{\ifdef{\@fact}{
- \libelle{\livraison}}
- {\libelle{\livraisonfacturation}}
-
- \@dest
+
+ \node[xshift=0.33\textwidth,text width=0.33\textwidth,anchor=base]{
+ \ifdef{\@fact}
+ {\libelle{\livraison}}
+ {\libelle{\livraisonfacturation}}
+
+ \@dest
};
% \end{macrocode}
%
-% On affiche finalement les dates, le numéro de la facture et le code client.
+% On affiche finalement les dates, le numéro de la facture et le code
+% client.
+%
% \begin{macrocode}
\node[text width=0.33\textwidth,xshift=0.66\textwidth,anchor=base]{
- \libelle{{\datetxt}} \today \\
- \ifdef{\@numero}{%
- \libelle{{\@type\ntxt}} \@numero
- \\
- }{}
- \ifdef{\@codedest}{%
- \libelle{{\codeclient}} \@codedest
- }{}
- \ifdef{\@datelimite}{\\\AdvanceDate[\@datelimite]\libelle{{\datelimitetxt}} \today}{}
+ \libelle{{\datetxt}} \today\\
+ \ifdef{\@numero}{%
+ \libelle{{\@type\ntxt}} \@numero\\
+ }{}
+ \ifdef{\@codedest}{%
+ \libelle{{\codeclient}} \@codedest\\
+ }{}
+ \ifdef{\@datelimite}{%
+ \AdvanceDate[\@datelimite]
+ \libelle{{\datelimitetxt}} \today
+ }{}
};
-
- \end{tikzpicture}
-
-
-}
+ \end{tikzpicture}
+} % end \entete
% \end{macrocode}
-%\subsection{Le tableau de facturation}
-% On commence par définir des variables globales qui servent à stocker les totaux généraux
+% \end{macro}
+%
+% \subsection{Le tableau de facturation}
+%
+% On commence par définir des variables globales qui servent à stocker les
+% totaux généraux.
+%
% \begin{macrocode}
\ifsansTVA
- \xdef\tot{}
+ \xdef\tot{}
\else
- \xdef\totTVA{}
- \xdef\totHT{}
- \xdef\totTTC{}
+ \xdef\totTVA{}
+ \xdef\totHT{}
+ \xdef\totTTC{}
\fi
% \end{macrocode}
%
-%On définit ensuite un nouveau type de colonne, avec un alignement à droite
+% On définit ensuite un nouveau type de colonne, avec un alignement à droite.
+%
% \begin{macrocode}
\newcolumntype{P}[1]{>{\raggedleft}p{#1}}
% \end{macrocode}
-%On définit ensuite l'environnement \emph{facture}.
-%\begin{environment}{facture}
-% Tout d'abord on affiche l'entête, selon qu'on soit avec ou sans TVA
+%
+% On définit ensuite l'environnement \emph{facture}.
+%
+% \begin{environment}{facture}
+% Tout d'abord on affiche l'entête, selon qu'on soit avec ou sans TVA
+%
% \begin{macrocode}
\newenvironment{facture}{%
- \setlength{\extrarowheight}{0.5ex}
- \setlength{\tabcolsep}{0.5em}
- \edef\@largeurDescriptif{\dimexpr\largeurDescriptif -2\tabcolsep\relax}
- \edef\@largeurChiffres{\dimexpr\largeurChiffres -2\tabcolsep\relax}
- \edef\@largeurTVA{\dimexpr\largeurTVA -2\tabcolsep\relax}
- \edef\@largeurChiffresAvecTVA{\dimexpr\largeurChiffresAvecTVA -2\tabcolsep\relax}
- \arrayrulecolor{encadre}
- \ifsansTVA%
- \ifsansremise%
- \begin{longtable}{%
- |p{\@largeurDescriptif}%Descriptif
- |P{\@largeurChiffres}%Qt
- |P{\@largeurChiffres}%Prix
- |P{\@largeurChiffres}|%Total
- }%
- \hline%
- \rowcolor{entetes}%
- \centering\textbf\produit &%
- \centering\textbf\quantite &%
- \centering\textbf\prixtxt &%
- \centering\textbf\tottxt%
- \tabularnewline[1ex]%
- \else%
- \begin{longtable}{%
- |p{\@largeurDescriptif}%Descriptif
- |P{\@largeurChiffres}%Qt
- |P{\@largeurChiffres}%Prix
- |P{\@largeurChiffres}%Remise
- |P{\@largeurChiffres}|%Total
- }%
- \hline%
- \rowcolor{entetes}%
- \centering\textbf\produit &%
- \centering\textbf\quantite &%
- \centering\textbf\prixtxt &%
- \centering\textbf\remise &%
- \centering\textbf\tottxt%
- \tabularnewline[1ex]%
- \fi%
- \else%
- \ifsansremise%
- \begin{longtable}{%
- |p{\@largeurDescriptif}|%Descriptif
- P{\@largeurChiffresAvecTVA}|%Qt
- P{\@largeurChiffresAvecTVA}|%HT unitaire
- P{\@largeurChiffresAvecTVA}|%Totalht
- P{\@largeurTVA}|%TVA
- P{\@largeurChiffresAvecTVA}|%Total TTC
- }%
- \hline%
- \rowcolor{entetes}
- \centering\textbf\produit &%
- \centering\textbf\quantite &%
- \centering\textbf\prixHT &%
- \centering\textbf\totHTtxt &%
- \centering\textbf\TVAtxt &%
- \textbf\prixTTC \tabularnewline[1ex]%
-
- \else%
- \begin{longtable}{%
- |p{\@largeurDescriptif}|%Descriptif
- P{\@largeurChiffresAvecTVA}|%Qt
- P{\@largeurChiffresAvecTVA}|%HT unitaire
- P{\@largeurChiffresAvecTVA}|%Remise
- P{\@largeurChiffresAvecTVA}|%Totalht
- P{\@largeurTVA}|%TVA
- P{\@largeurChiffresAvecTVA}|%Total TTC
- }%
- \hline%
- \rowcolor{entetes}
- \centering\textbf\produit &%
- \centering\textbf\quantite &%
- \centering\textbf\prixHT &%
- \centering\textbf\remise &%
- \centering\textbf\totHTtxt &%
- \centering\textbf\TVAtxt &%
- \textbf\prixTTC \tabularnewline[1ex]%
- \fi%
- \fi%
- \endhead%
- \endfoot%
-
- }%
+ \setlength{\extrarowheight}{0.5ex}
+ \setlength{\tabcolsep}{0.5em}
+ \edef\@largeurDescriptif{\dimexpr\largeurDescriptif -2\tabcolsep\relax}
+ \edef\@largeurChiffres{\dimexpr\largeurChiffres -2\tabcolsep\relax}
+ \edef\@largeurTVA{\dimexpr\largeurTVA -2\tabcolsep\relax}
+ \edef\@largeurChiffresAvecTVA{\dimexpr\largeurChiffresAvecTVA -2\tabcolsep\relax}
+ \arrayrulecolor{encadre}
+ \ifsansTVA%
+ \ifsansremise%
+ \begin{longtable}{%
+ |p{\@largeurDescriptif}% Descriptif
+ |P{\@largeurChiffres}% Qt
+ |P{\@largeurChiffres}% Prix
+ |P{\@largeurChiffres}|% Total
+ }%
+ \hline%
+ \rowcolor{entetes}%
+ \centering\textbf\produit &%
+ \centering\textbf\quantite &%
+ \centering\textbf\prixtxt &%
+ \centering\textbf\tottxt%
+ \tabularnewline[1ex]%
+ \else%
+ \begin{longtable}{%
+ |p{\@largeurDescriptif}% Descriptif
+ |P{\@largeurChiffres}% Qt
+ |P{\@largeurChiffres}% Prix
+ |P{\@largeurChiffres}% Remise
+ |P{\@largeurChiffres}|% Total
+ }%
+ \hline%
+ \rowcolor{entetes}%
+ \centering\textbf\produit &%
+ \centering\textbf\quantite &%
+ \centering\textbf\prixtxt &%
+ \centering\textbf\remise &%
+ \centering\textbf\tottxt%
+ \tabularnewline[1ex]%
+ \fi%
+ \else%
+ \ifsansremise%
+ \begin{longtable}{%
+ |p{\@largeurDescriptif}|% Descriptif
+ P{\@largeurChiffresAvecTVA}|% Qt
+ P{\@largeurChiffresAvecTVA}|% HT unitaire
+ P{\@largeurChiffresAvecTVA}|% Totalht
+ P{\@largeurTVA}|% TVA
+ P{\@largeurChiffresAvecTVA}|% Total TTC
+ }%
+ \hline%
+ \rowcolor{entetes}
+ \centering\textbf\produit &%
+ \centering\textbf\quantite &%
+ \centering\textbf\prixHT &%
+ \centering\textbf\totHTtxt &%
+ \centering\textbf\TVAtxt &%
+ \textbf\prixTTC \tabularnewline[1ex]%
+ \else%
+ \begin{longtable}{%
+ |p{\@largeurDescriptif}|% Descriptif
+ P{\@largeurChiffresAvecTVA}|% Qt
+ P{\@largeurChiffresAvecTVA}|% HT unitaire
+ P{\@largeurChiffresAvecTVA}|% Remise
+ P{\@largeurChiffresAvecTVA}|% Totalht
+ P{\@largeurTVA}|% TVA
+ P{\@largeurChiffresAvecTVA}|% Total TTC
+ }%
+ \hline%
+ \rowcolor{entetes}
+ \centering\textbf\produit &%
+ \centering\textbf\quantite &%
+ \centering\textbf\prixHT &%
+ \centering\textbf\remise &%
+ \centering\textbf\totHTtxt &%
+ \centering\textbf\TVAtxt &%
+ \textbf\prixTTC \tabularnewline[1ex]%
+ \fi%
+ \fi%
+ \endhead%
+ \endfoot%
+}% end opening part of environment
% \end{macrocode}
-%Le contenu du tableau est généré par les commandes \cmd{\ligne}. Lorsqu'on ferme l'environnement \emph{facture}, on ferme le tableau
+%
+% Le contenu du tableau est généré par les commandes \cmd{\ligne}. Lorsqu'on
+% ferme l'environnement \emph{facture}, on ferme le tableau
+%
% \begin{macrocode}
-{%
- \end{longtable}
+{% begin closing part of environment
+\end{longtable}
% \end{macrocode}
-%On affiche ensuite les totaux.
-% \begin{macrocode}
- \ifsansTVA%
- \noindent\hspace{0.66\textwidth}\hfill \libelle{\tottxt:} \numprint[\unite]{\tot}\\%
- \else%
- \noindent\hspace{0.66\textwidth}\libelle{\totHTtxt:}\hfill \numprint[\unite]{\totHT}\\%
- \hbox{}\hspace{0.66\textwidth}\libelle{\totTVAtxt:}\hfill \numprint[\unite]{\totTVA}\\%
- \hbox{}\noindent\hspace{0.66\textwidth}\libelle{\totTTCtxt:}\hfill \numprint[\unite]{\totTTC}\\
- \fi
- \hspace{0.66\textwidth}\postTotaux
-
- }
+%
+% On affiche ensuite les totaux.
+%
+% \begin{macrocode}
+ \ifsansTVA%
+ \noindent\hspace{0.66\textwidth}\hfill
+ \libelle{\tottxt:} \numprint[\unite]{\tot}\\%
+ \else%
+ \noindent\hspace{0.66\textwidth}
+ \libelle{\totHTtxt:}\hfill \numprint[\unite]{\totHT}\\%
+ \hbox{}\hspace{0.66\textwidth}
+ \libelle{\totTVAtxt:}\hfill \numprint[\unite]{\totTVA}\\%
+ \hbox{}\noindent\hspace{0.66\textwidth}
+ \libelle{\totTTCtxt:}\hfill \numprint[\unite]{\totTTC}\\
+ \fi
+ \hspace{0.66\textwidth}\postTotaux
+}% end closing part of environment
% \end{macrocode}
-%\end{environment}
-% On a besoin de définir une commande \cmd{\lignesansTVA} pour afficher le contenu d'une ligne lorsqu'on n'a pas de TVA.
+% \end{environment}
+%
+% \begin{macro}{\lignesansTVA}
+% On a besoin de définir une commande \cmd{\lignesansTVA} pour afficher le
+% contenu d'une ligne lorsqu'on n'a pas de TVA.
+%
% \begin{macrocode}
\newcommand{\lignesansTVA}[5]{
#1 &
@@ -493,77 +661,103 @@
\fi
#5 \tabularnewline[1ex]}
% \end{macrocode}
-% La commande \cmd{\afficheTVA} sert à afficher la TVA dans le tableau. En ne l'indiquant pas directement dans le code de \cmd{\ligne}, on permet de personnaliser plus facilement l'affichage de la TVA. \label{afficheTVA}
-
+% \end{macro}
+%
+% \begin{macro}{\afficheTVA}
+% La commande \cmd{\afficheTVA} sert à afficher la TVA dans le tableau. En
+% ne l'indiquant pas directement dans le code de \cmd{\ligne}, on permet de
+% personnaliser plus facilement l'affichage de la TVA. \label{afficheTVA}
+%
% \begin{macrocode}
-\newcommand{\afficheTVA}[1]{\raggedleft{\numprint[\%]{#1}} \hfill $\triangleright$ \numprint[\unite]{\TVA}}
+\newcommand{\afficheTVA}[1]{%
+ \raggedleft{\numprint[\%]{#1}}
+ \hfill $\triangleright$ \numprint[\unite]{\TVA}}
% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ligne}
+% Voici maintenant la commande \cmd{\ligne}. Pour gérer les arguments
+% optionnels, on se sert du package \emph{xargs}.
%
-% Voici maintenant la commande \cmd{\ligne}. Pour gérer les arguments optionnels, on se sert du package \emph{xargs}.
% \begin{macrocode}
\newcommandx{\ligne}[5][2=1,5=\@TVAdefaut,4=0,usedefault]{%
% \end{macrocode}
-% On procède aux calculs grâce au package \emph{fltpoint}, on affiche les résultat grâce au package \emph{numprint}.
+%
+% On procède aux calculs grâce au package \emph{fltpoint}, on affiche les
+% résultat grâce au package \emph{numprint}.
+%
% \begin{macrocode}
- \ifsansTVA
- \fpMul{\prix}{#3}{#2}%
- \fpSub{\prix}{\prix}{#4}%
- \fpAdd{\tot}{\prix}{\tot}%
- \xdef\tot{\tot}%
- \xdef\prix{\prix}%
- %Affichage
- \lignesansTVA{#1}{#2}{\numprint[\unite]{#3}}{\numprint[\unite]{#4}}{\numprint[\unite]{\prix}}%
- \else
- % Prix hors taxe
- \fpMul{\HT}{#3}{#2}%
- \unless\ifsansremise%
- \fpSub{\HT}{\HT}{#4}%
- \fi%
- \xdef\HT{\HT}%retenons
- \fpAdd{\totHT}{\totHT}{\HT}%
- \xdef\totHT{\totHT}%
- % Calcul de la TVA
- \ifsansremise%
- \fpDiv{\centieme}{#4}{100}%
- \else%
- \fpDiv{\centieme}{#5}{100}%
- \fi
- \fpMul{\TVA}{\centieme}{\HT}%
- \xdef\TVA{\TVA}%retenons
- \fpAdd{\totTVA}{\totTVA}{\TVA}%
- \xdef\totTVA{\totTVA}%
- % Prix TTC
- \fpAdd{\TTC}{\HT}{\TVA}%
- \xdef\TTC{\TTC}%
- \fpAdd{\totTTC}{\totTTC}{\TTC}%
- \xdef\totTTC{\totTTC}%
- % Affichage
- #1 &
- #2 &
- \numprint[\unite]{#3} &
- \unless\ifsansremise
- \numprint[\unite]{#4} &
- \fi
- \numprint[\unite]{\HT} &
- \afficheTVA{#5} &
- \numprint[\unite]{\TTC} \tabularnewline[1ex]%
+ \ifsansTVA
+ \fpMul{\prix}{#3}{#2}%
+ \fpSub{\prix}{\prix}{#4}%
+ \fpAdd{\tot}{\prix}{\tot}%
+ \xdef\tot{\tot}%
+ \xdef\prix{\prix}%
+ % Affichage
+ \lignesansTVA{#1}{#2}{%
+ \numprint[\unite]{#3}%
+ }{%
+ \numprint[\unite]{#4}%
+ }{%
+ \numprint[\unite]{\prix}}%
+ \else
+ % Prix hors taxe
+ \fpMul{\HT}{#3}{#2}%
+ \unless\ifsansremise%
+ \fpSub{\HT}{\HT}{#4}%
+ \fi%
+ \xdef\HT{\HT}%retenons
+ \fpAdd{\totHT}{\totHT}{\HT}%
+ \xdef\totHT{\totHT}%
+ % Calcul de la TVA
+ \ifsansremise%
+ \fpDiv{\centieme}{#4}{100}%
+ \else%
+ \fpDiv{\centieme}{#5}{100}%
\fi
- \hline
+ \fpMul{\TVA}{\centieme}{\HT}%
+ \xdef\TVA{\TVA}%retenons
+ \fpAdd{\totTVA}{\totTVA}{\TVA}%
+ \xdef\totTVA{\totTVA}%
+ % Prix TTC
+ \fpAdd{\TTC}{\HT}{\TVA}%
+ \xdef\TTC{\TTC}%
+ \fpAdd{\totTTC}{\totTTC}{\TTC}%
+ \xdef\totTTC{\totTTC}%
+ % Affichage
+ #1 &
+ #2 &
+ \numprint[\unite]{#3} &
+ \unless\ifsansremise
+ \numprint[\unite]{#4} &
+ \fi
+ \numprint[\unite]{\HT} &
+ \afficheTVA{#5} &
+ \numprint[\unite]{\TTC} \tabularnewline[1ex]%
+ \fi
+ \hline
}
% \end{macrocode}
-%\subsection{Apparence du pied}\label{pied}
-%On se base sur le package \emph{fancyhdr} pour personnaliser le pied.
+% \end{macro}
+%
+% \subsection{Apparence du pied}
+% \label{pied}
+% On se base sur le package \emph{fancyhdr} pour personnaliser le pied.
+%
% \begin{macrocode}
\AtBeginDocument{
- \pagestyle{fancy}
- \fancyhf{}
- \renewcommand{\headrule}{}%Pas de règle après l'entête
- \lfoot{\ifnum \value{page}>1 \thepage\fi}%Indiquer le numéro de page, sauf sur la première
- \rfoot{\@pied}
+ \pagestyle{fancy}
+ \fancyhf{}
+ \renewcommand{\headrule}{} % Pas de règle après l'entête
+ % Indiquer le numéro de page, sauf sur la première
+ \lfoot{\ifnum \value{page}>1 \thepage\fi}
+ \rfoot{\@pied}
}
-\newcommand{\pied}[1]{\def\@pied{#1}}%Le pied définissable par l'utilisateur
+\newcommand{\pied}[1]{\def\@pied{#1}} % Le pied définissable par l'utilisateur
% \end{macrocode}
+% \iffalse
%</facture>
+% \fi
% \PrintChanges
-%\Finale
-%\endinput \ No newline at end of file
+% \Finale
+% \endinput
diff --git a/macros/xetex/latex/facture/facture.ins b/macros/xetex/latex/facture/facture.ins
index c6cc446770..14f9111386 100644
--- a/macros/xetex/latex/facture/facture.ins
+++ b/macros/xetex/latex/facture/facture.ins
@@ -1,4 +1,4 @@
-%% Droits d'auteur : Maïeul Rouquette 2011
+%% Droits d'auteur : Maïeul Rouquette 2011-2023, Joël Gombin 2014, Étienne Deparis 2023-…
%% Licence Creative Commons - Paternité - Partage des Conditions Initiales à l'identique
%% http://creativecommons.org/licenses/by-sa/2.0/fr/
@@ -7,7 +7,7 @@
\preamble
-Droit d'auteur : Maïeul Rouquette 2011,
+Droit d'auteur : Maïeul Rouquette 2011-2023, Joël Gombin 2014, Étienne Deparis 2023-…
Licence Creative Commons - Paternité - Partage des Conditions Initiales à l'identique
http://creativecommons.org/licenses/by-sa/2.0/fr/
@@ -24,11 +24,11 @@ http://creativecommons.org/licenses/by-sa/2.0/fr/
\Msg{* To finish the installation you have to move the following *}
\Msg{* file into a directory searched by TeX: *}
\Msg{* *}
-\Msg{* facture.cls *}
+\Msg{* facture.cls *}
\Msg{* *}
\Msg{* *}
-\Msg{* To produce the documentation run the file facture.dtx *}
-\Msg{* through XeLaTeX. *}
+\Msg{* To produce the documentation run the file facture.dtx *}
+\Msg{* through XeLaTeX. *}
\Msg{* *}
\Msg{* Happy TeXing! *}
\Msg{* *}
diff --git a/macros/xetex/latex/facture/facture.pdf b/macros/xetex/latex/facture/facture.pdf
index 414e9ea08c..67ad3f560d 100644
--- a/macros/xetex/latex/facture/facture.pdf
+++ b/macros/xetex/latex/facture/facture.pdf
Binary files differ
diff --git a/macros/xetex/latex/facture/issue7.pdf b/macros/xetex/latex/facture/issue7.pdf
deleted file mode 100644
index 9ef97138dc..0000000000
--- a/macros/xetex/latex/facture/issue7.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/xetex/latex/facture/makefile b/macros/xetex/latex/facture/makefile
deleted file mode 100644
index a56a60ca62..0000000000
--- a/macros/xetex/latex/facture/makefile
+++ /dev/null
@@ -1,27 +0,0 @@
-.PHONY:all clean
-
-all:facture.pdf exemple.pdf exemplesansTVA.pdf exemplesansremise.pdf
- rm -f ../facture.zip
- rm -rf facture
- mkdir facture
- ln *pdf *ins *dtx *tex README makefile facture
- zip -r ../facture.zip facture
-
-
-
-%.cls:%.ins %.dtx
- $(RM) $*.cls
- @xelatex $*.ins
-facture.pdf:facture.cls facture.dtx
- @xelatex facture.dtx
- @makeindex -s gglo.ist -o facture.gls facture.glo
- @xelatex facture.dtx
- @xelatex facture.dtx
-
-%.pdf:%.tex facture.cls
- @xelatex $*
-
-clean:
- rm -f *out *aux *log *pdf *glo *zip *cls *ilg *idx *gls *toc
- rm -rf facture
-
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
index cc2689b8d1..0c128aae7d 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb
@@ -26,7 +26,7 @@ depend container_split_src_files/1
depend frozen/0
depend minrelease/2016
depend release/2023
-depend revision/67531
+depend revision/67538
name 00texlive.image
category TLCore
@@ -46110,7 +46110,7 @@ catalogue-version 0.2
name bxjscls
category Package
-revision 67439
+revision 67536
shortdesc Japanese document class collection for all major engines
relocated 1
longdesc This package provides an extended version of the Japanese
@@ -46119,19 +46119,19 @@ longdesc original version supports only pLaTeX and upLaTeX, the extended
longdesc version also supports pdfLaTeX, XeLaTeX and LuaLaTeX, with the
longdesc aid of suitable packages that provide capability of Japanese
longdesc typesetting.
-containersize 34324
-containerchecksum 0ec0d159b3acc33c654c48b82fe90dec43ee3c02638376d25f9cb34d040560e586262127ae2627f6b50362923c85b937184dd4035e18bd92f7800251b4356ae0
-doccontainersize 1262868
-doccontainerchecksum 4ae882913b5e5199e1e400dc752505218feecfdb04b46c689698cbcf94810529b1db873eedc37c1f73cba80aac9e7d80e85fc39797efde74bf533555b5a85a52
-docfiles size=339
+containersize 34404
+containerchecksum 50da32a98eab7cadede94b0d8cf558db075225818ad840965e7a85827f6ef60e68c910a1250d480b15346ffa2f2e4ff2ff2ad39dd9d395ac914a352973587e03
+doccontainersize 1264776
+doccontainerchecksum b051f70b5ca23343ad21f934fa02c5ac6b208b646267a798f51a6065e6a47733a4526401b1964ea6fb15f306c3e8378d00d6d54ca6af83a47fe9d3f02f937f93
+docfiles size=340
RELOC/doc/latex/bxjscls/LICENSE
RELOC/doc/latex/bxjscls/README-ja.md details="Readme (Japanese)" language="ja"
RELOC/doc/latex/bxjscls/README.md details="Readme"
RELOC/doc/latex/bxjscls/bxjscls-manual.pdf details="User guide (Japanese)" language="ja"
RELOC/doc/latex/bxjscls/bxjscls-manual.tex
RELOC/doc/latex/bxjscls/bxjscls.pdf details="Package documentation (Japanese)" language="ja"
-srccontainersize 91316
-srccontainerchecksum 3eed685845ad998843daf8d14f3ddc9bbb93c2054b0d22871312aa8413bb459ca27f9fb97b9b7b82975273af879dcba215c4b20744746d75b1f3d166f5c301fc
+srccontainersize 91632
+srccontainerchecksum 12888612f63364da6666d5898a5dae7d76fd7bc19507a80e2fca999965ab78e15b6758ca785e41819973cb12c6f86bd88cc1f1447ba0db50d9e9c27f3e45bece
srcfiles size=112
RELOC/source/latex/bxjscls/bxjscls.dtx
RELOC/source/latex/bxjscls/bxjscls.ins
@@ -46152,7 +46152,7 @@ catalogue-contact-repository https://github.com/zr-tex8r
catalogue-ctan /language/japanese/BX/bxjscls
catalogue-license bsd2
catalogue-topics japanese class
-catalogue-version 2.8a
+catalogue-version 2.8b
name bxnewfont
category Package
@@ -117259,7 +117259,7 @@ catalogue-version 4.32
name facture
category Package
-revision 43865
+revision 67538
shortdesc Generate an invoice
relocated 1
longdesc Une classe simple permettant de produire une facture, avec ou
@@ -117267,12 +117267,12 @@ longdesc sans TVA, avec gestion d'une adresse differente pour la
longdesc livraison et pour la facturation. A simple class that allows
longdesc production of an invoice, with or without VAT; different
longdesc addresses for delivery and for billing are permitted.
-containersize 3284
-containerchecksum 6657931eb2c0a134c53cd9271109552d4b8848247198fee9aa8d9010ff2faa4909416484dec8809d7ddc58b4202f9e2a97c5b97279e5432a1e928f91d7cde71a
-doccontainersize 156268
-doccontainerchecksum a96e30b15f1fa827fa4dafd3594e8b98ee8c17c23056926d82243955971225d5a4bdf41a1a2a5b19049619c2eabc1b8529db70adce17bc126c0e1e3be7ecb2df
-docfiles size=46
- RELOC/doc/xelatex/facture/README details="Readme (in French)" language="fr"
+containersize 3320
+containerchecksum 30ed6e76f8801f61eeea27679c8c23c050c7d17c334eabe0a00984b1117f046314e59c2c52225ca7d38eb71b93efa57dd563fd582eed500fdf238fac9540b606
+doccontainersize 117868
+doccontainerchecksum c84aeae53d8324b9e4f1d386dbbc8774d1b9266ca5c8b893a7280bdbc2578dc9e2ca9975874f4d0cbfc5dc10455cac322d9642534b0fc1384a6d7d192a816d51
+docfiles size=36
+ RELOC/doc/xelatex/facture/README.md details="Readme"
RELOC/doc/xelatex/facture/exemple.pdf
RELOC/doc/xelatex/facture/exemple.tex
RELOC/doc/xelatex/facture/exemplesansTVA.pdf
@@ -117280,20 +117280,21 @@ docfiles size=46
RELOC/doc/xelatex/facture/exemplesansremise.pdf
RELOC/doc/xelatex/facture/exemplesansremise.tex
RELOC/doc/xelatex/facture/facture.pdf details="Package documentation" language="fr"
- RELOC/doc/xelatex/facture/makefile
-srccontainersize 7356
-srccontainerchecksum 2612d792d95e3e22727e3e7ac4c4932e1f25c3788ebf6b4eb1be76727c52694a65c378f13ce917f9cec3975468f79f7a6d62adf4f125c57e6b644076d22e7bce
-srcfiles size=7
+srccontainersize 7820
+srccontainerchecksum 5d2f865404607f25af2c0704d83b88a359ed5601a970c6798eaca104a2b61bf45745e271c9f19a6b41977cef1119e6981f986a20e05a07ba6053b24c5fcc4832
+srcfiles size=8
+ RELOC/source/xelatex/facture/Makefile
RELOC/source/xelatex/facture/facture.dtx
RELOC/source/xelatex/facture/facture.ins
runfiles size=3
RELOC/tex/xelatex/facture/facture.cls
catalogue-also invoice factura
-catalogue-contact-repository https://github.com/maieul/facture
+catalogue-contact-bugs https://framagit.org/gutenberg/facture/-/issues
+catalogue-contact-repository https://framagit.org/gutenberg/facture
catalogue-ctan /macros/xetex/latex/facture
catalogue-license cc-by-sa-2
catalogue-topics invoice class xetex
-catalogue-version 1.2.2
+catalogue-version 1.3
name facture-belge-simple-sans-tva
category Package
@@ -181201,7 +181202,7 @@ catalogue-version 3.002
name lettrine
category Package
-revision 67527
+revision 67537
shortdesc Typeset dropped capitals
relocated 1
longdesc The lettrine package supports various dropped capitals styles,
@@ -181209,11 +181210,11 @@ longdesc typically those described in the French typographic books. In
longdesc particular, it has facilities for the paragraph text's left
longdesc edge to follow the outline of capitals that have a regular
longdesc shape (such as "A" and "V").
-containersize 5260
-containerchecksum 1feb3b5270bd0e94b58cb99d29409e2bb513243624af79de41fa11409b4d38ebb5252ca21b68a7c245be1184f10c967136d9a2c15c134ebc00999c4736529ba2
-doccontainersize 406792
-doccontainerchecksum 1c465021264ebb82386f98ab3d12fd328e309b625a56477ed2ecca508ad900cd530a008a18940e1e8baf53529c04bc088b3212c23c9304b461237e61acf09611
-docfiles size=136
+containersize 5456
+containerchecksum 108ed94129db764be5bccac9bb34a314332cbff93bf71a56ce683f2da111039e8e7c22137d79edf9874631f7af4d06d4cf17cff47de790b7ceb18187336d258a
+doccontainersize 438224
+doccontainerchecksum 54de15ebea2e4c5ca9fb2a4e3a2f454ee688605b7f5c4ef9e31301d0fa42fe912cbeaa5402bd3afa5d870dc21d62daf81fd2aca9c9867f8455f611131c698234
+docfiles size=146
RELOC/doc/latex/lettrine/README.md details="Readme"
RELOC/doc/latex/lettrine/W.pdf
RELOC/doc/latex/lettrine/contrib/optfile.cfl
@@ -181228,22 +181229,22 @@ docfiles size=136
RELOC/doc/latex/lettrine/lettrine-demo-lua.pdf
RELOC/doc/latex/lettrine/lettrine-demo-lua.tex
RELOC/doc/latex/lettrine/lettrine.pdf details="Package documentation"
-srccontainersize 13744
-srccontainerchecksum 689acfc9bcb751b7a9d57fef1a71e725bf4e1f8537307e98f3bb39cdb57b1b8cb5276ab4bb548c7b6877da98bd65fb55d460aaf61ed5adb21f8156d694b1578a
+srccontainersize 14148
+srccontainerchecksum 83d0aac1c5b874672e229e765d30b282c7ce3539dab295d686d3b9eb1ed49cdb8193a87cfe79a97b7ba6f3fc9e79f3c701871b8830904559792132f2c2681825
srcfiles size=12
RELOC/source/latex/lettrine/lettrine.dtx
-runfiles size=14
+runfiles size=17
RELOC/tex/latex/lettrine/lettrine-2006-03-17.sty
RELOC/tex/latex/lettrine/lettrine-2015-08-31.sty
RELOC/tex/latex/lettrine/lettrine-2018-08-18.sty
RELOC/tex/latex/lettrine/lettrine-2022-09-25.sty
+ RELOC/tex/latex/lettrine/lettrine-2023-04-18.sty
RELOC/tex/latex/lettrine/lettrine.cfg
RELOC/tex/latex/lettrine/lettrine.sty
-catalogue-contact-home http://daniel.flipo.free.fr/lettrine
catalogue-ctan /macros/latex/contrib/lettrine
catalogue-license lppl1.3
catalogue-topics lettrine
-catalogue-version 2.40
+catalogue-version 2.50
name levy
category Package
@@ -257476,27 +257477,27 @@ catalogue-version 0.15
name profsio
category Package
-revision 67482
+revision 67534
shortdesc Commands (with TikZ) to work with French "BTS SIO" maths themes
relocated 1
longdesc This package provides some commands (in French) to work with:
longdesc tables of Karnaugh ; MPM graphs ; simple graphs.
-containersize 5488
-containerchecksum ec5dd50c8bca910eaa19fcc381d8f5d197b119c96e875616388d98da4a91082996550245e5283a405f3b805e9c7b89e689be33848b6b03ff17bb385e5e0b0ac5
-doccontainersize 682832
-doccontainerchecksum 1d19d76a0889f8c27f5fdff805e919b9734cedd639178714c5eb2cef84b3fa71457d3faebe242239030fcd4a8866fa9408b9fb31d90cc08ea0a0d4a28b2154f5
-docfiles size=182
+containersize 8148
+containerchecksum f6d4bd0525785be3d1d63415f1a81193c70f9f7c100815753515d5a487db599e9f9f5a646f166128bef29b98c715f337a87727cdc3ae98b288016308e2da7c94
+doccontainersize 311628
+doccontainerchecksum 99b7d79402deafd7b00f2e5d3e7d4862d63739acfca1436ee09966504206fe26a3011eb5aeaae073c7f6b8d572979867f2e6af663b45810dac46982f8938a118
+docfiles size=91
RELOC/doc/latex/profsio/ProfSio-doc-fr.pdf details="Package documentation" language="fr"
RELOC/doc/latex/profsio/ProfSio-doc-fr.tex
RELOC/doc/latex/profsio/README.md details="Readme"
-runfiles size=6
+runfiles size=10
RELOC/tex/latex/profsio/ProfSio.sty
catalogue-contact-bugs https://github.com/cpierquet/profsio/issues
catalogue-contact-repository https://github.com/cpierquet/profsio
catalogue-ctan /graphics/pgf/contrib/profsio
catalogue-license lppl1.3c
catalogue-topics graphics pgf-tikz maths
-catalogue-version 0.1.1
+catalogue-version 0.1.2
name program
category Package
@@ -261077,7 +261078,7 @@ catalogue-version 1.6
name pst-math
category Package
-revision 64732
+revision 67535
shortdesc Enhancement of PostScript math operators to use with PSTricks
relocated 1
longdesc PostScript lacks a lot of basic operators such as tan, acos,
@@ -261091,11 +261092,11 @@ longdesc pst-plot but can be used in whatever PS code (such as PSTricks
longdesc SpecialCoor "!", which is useful for placing labels). The
longdesc package also provides a routine SIMPSON for numerical
longdesc integration and a solver of linear equation systems.
-containersize 5196
-containerchecksum b87863c646f8057baf3fc07868c09349b8803a01008782ab814a2f2eb126d6e574844be4733b06c3f16fad286aee3081b13a17bfbbef9cd019c836d2c9a5e4df
-doccontainersize 172288
-doccontainerchecksum c5b26a73075910edc8232df349ee76a8264ab533e4259146224cebda4d6709867f7edcafab115ac3fae977c9d11b38821b4b085a2ab5529ae585c1daf8b738d6
-docfiles size=66
+containersize 5208
+containerchecksum 12bd81bed4fc5de91cd4db49cb97a9911848c347a9a9325cb61637368bda4e0f35f9c5c348bd385d46907b61aa06682ae1a9d70616d4c5c81659550064d4cc0c
+doccontainersize 226768
+doccontainerchecksum 1b07b3086fa3e1d12f255632ceddf5b30c219472763cc43c0649b669a6014bb76e3a0fe7c182d0ea24c54fee8d2efe8399867321992e20f7f418d28198661bd2
+docfiles size=72
RELOC/doc/generic/pst-math/Changes
RELOC/doc/generic/pst-math/README details="Readme"
RELOC/doc/generic/pst-math/pst-math-doc.bib
@@ -261108,7 +261109,7 @@ runfiles size=5
catalogue-ctan /graphics/pstricks/contrib/pst-math
catalogue-license lppl
catalogue-topics maths calculation pstricks
-catalogue-version 0.66
+catalogue-version 0.67
name pst-mirror
category Package
@@ -313065,7 +313066,7 @@ catalogue-version 0.1
name texinfo
category Package
-revision 67325
+revision 67533
shortdesc Texinfo documentation system
relocated 1
longdesc Texinfo is the preferred format for documentation in the GNU
@@ -313076,8 +313077,8 @@ longdesc distribution offer online interactive use (with hypertext
longdesc linkages in some cases). The latest release of the texinfo.tex
longdesc macros and texi2dvi script may be found in the texinfo-latest
longdesc package, which are usually newer than the last full release.
-containersize 97452
-containerchecksum 1707f059c148955c877173848a656f30d3b16138662196c3ff244db5cf90c1f50bbcbc5c3b4cb020f8e580b95fd6337ee97c6186b9070ed512a4f8ca2abb83f9
+containersize 97484
+containerchecksum d00cdfd4705dbc39e0f5dcd5976f0855be77719a182647226963776c805b121b5b6a9d10712280373fbbd029e57e8820d193ebcf0a88d1f8e9533ff062140e3e
runfiles size=109
RELOC/tex/texinfo/texinfo.ini
RELOC/tex/texinfo/texinfo.tex
@@ -313420,7 +313421,7 @@ docfiles size=376
name texlive-scripts
category TLCore
-revision 67529
+revision 67533
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.
@@ -313428,10 +313429,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 114080
-containerchecksum ece40ec95d42c79237ff9f1444776025447129c14ec1021d029232c2f764f91e87d07d17dc41293704d519ff3c437a2ed9b04cd1185f7dc9bf8328f8a8aea63e
-doccontainersize 427756
-doccontainerchecksum 093a9d27e8eff329e347a86f81eaf285de1f5c7e9526bc73a356d70a75a74f19427fdd183b64eafc1e45d1007ee2358202a2d7b87fae6693ca926f3ccabd29f6
+containersize 114076
+containerchecksum 187f0ab53ed17d4ed2247d08a77e395e0c3e19caa6663fd377f935780986f69e656cfb7d146fc6f1ce7e9429b2e5156ee377f0ba7fab119e9f589b76167e2ca3
+doccontainersize 427680
+doccontainerchecksum c465bc5d00d38003bab71a633d1591828479447ffdd76b79ace205d06ede3ed41c24910dd0d052463b441ee7809dcf49c10376508bfb776aa577bd695f4ca731
docfiles size=547
doc.html
texmf-dist/doc/man/man1/fmtutil-sys.1
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
index 4d7545b1c0..8ebb53a455 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5
@@ -1 +1 @@
-11a3417aa2ae758892c5c75eb88b3dfe texlive.tlpdb
+b88dac990b7ee275b60aaa5fb03380ae texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
index 99271a1d9d..39b39371fa 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512
@@ -1 +1 @@
-1c34cbe1fb9a60dba8313d56472d93cb8265e8ca08402df6cf6b819e2173cf9de969ed3f3e4daa6d823f9dfd6fd225b4fa8b292eba5b17cc037310dcd4eb1595 texlive.tlpdb
+62079df3f5952be9a8b7dacbe477100c7391ab4ba33a21679f104ffff87b211ab0439cf06782494d80519ec4b988cfd4ba4277745bc0e8a877c7321bb6dfe653 texlive.tlpdb
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc
index dd52a1c372..6d5deeb061 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+QqiBBqTOGHfhlDjHAFAmSiDCIACgkQTOGHfhlD
-jHDwQQf/ZoVs/gBCxo66roaMqiOm7vqZZ14nKwbf9s2VAVqOgFkCHTgnSMFxyZte
-MFxyZZyDza+0hv04kZeYhiuIajC8sx0POS6QSqpo+65S20HQF58w+1K9GURH2WOG
-8vkn1hwqx8LVi+4R1x5YKFI4SuVmrrX3gbZ288mwYzYAlJzkUvBxv9+i8azW172C
-zPBiCj5J7Z4f3umMCOYCEdMsNEzpw9zLphGn2NMu0m4g+a1DFy866Gynm4TV5U/A
-5enjrSZ6Z1d0f1Dmsio2c228nHA42y1lA+SnlVVg8ur6NdkrAm//XZp9wahvYV7k
-IUqrQSliFUMELFZnF24Q3+34SNkLpQ==
-=UCw0
+iQEzBAEBCgAdFiEE2PL4YFeoV+QqiBBqTOGHfhlDjHAFAmSjXTcACgkQTOGHfhlD
+jHCUCQf/Uf/w+uTbtxp6C8ag8GwSp7BkhCpi02ogkT2brrWjkg1hWESZd9DgQb00
+k3Wi230IpB42TpH+pLTJZ6RZ3Q+ItFogIbF39tSuF+86+yAVk0czei54+nY/7lp0
+NNvHlxayLADzjkl5vj6aJER8FCTg0LD3DmG8S05dY6LnLKpGQUhE2h6x+BY9EyqU
+Ld2emj1h5xlfEs8KYPOCU/un0XIGzLI2Fch/Mh+ASVyN+xauh0bV5f1mQnTh8o5z
+FR9L0D8bPRqhUoA0UEuoU2L4WGTUTnbr9H8JFq8CzLw8QtRPhzreOxCtFkSj+2fM
+LTOnMMAGEMpI7Gx5KTT7njwUlqKd5g==
+=X1v7
-----END PGP SIGNATURE-----
diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
index c34dca8f4e..1b711df1e4 100644
--- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
+++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz
Binary files differ
diff --git a/timestamp b/timestamp
index dbb68445d6..29a7955c41 100644
--- a/timestamp
+++ b/timestamp
@@ -2,4 +2,4 @@
# The source CTAN of this site's material:
dante.ctan.org
# The year-month-day-hour-minute of this site's material:
-2023-07-03-02-02
+2023-07-04-02-02