From 00abda4c22e1a32ae68e103e9bf15497afac9983 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 24 Apr 2021 03:01:03 +0000 Subject: CTAN sync 202104240301 --- CTAN.sites | 8 +- FILES.byname | 580 ++-- FILES.byname.gz | Bin 2308710 -> 2308820 bytes FILES.last07days | 547 ++-- info/tlmgrbasics/README | 3 +- info/tlmgrbasics/doc/tlmgr.pdf | Bin 144470 -> 144531 bytes info/tlmgrbasics/doc/tlmgr.tex | 2 +- .../latex/contrib/easybook/doc/easybook-demo.pdf | Bin 268475 -> 268473 bytes .../latex/contrib/easybook/doc/easybook-demo.tex | 2 +- macros/latex/contrib/easybook/doc/easybook.pdf | Bin 462235 -> 462158 bytes macros/latex/contrib/easybook/easybook.dtx | 27 +- .../contrib/profcollege/doc/ProfCollege-doc.pdf | Bin 2755761 -> 2772127 bytes .../profcollege/latex/PfC-EquationComposition2.tex | 275 -- .../profcollege/latex/PfC-EquationLaurent1.tex | 226 -- .../profcollege/latex/PfC-EquationPose1.tex | 246 -- .../latex/PfC-EquationSoustraction2.tex | 345 -- .../profcollege/latex/PfC-EquationSymbole1.tex | 225 -- .../profcollege/latex/PfC-EquationTerme1.tex | 276 -- .../profcollege/latex/PfCEquationComposition2.tex | 275 ++ .../profcollege/latex/PfCEquationLaurent1.tex | 226 ++ .../contrib/profcollege/latex/PfCEquationPose1.tex | 246 ++ .../profcollege/latex/PfCEquationSoustraction2.tex | 345 ++ .../profcollege/latex/PfCEquationSymbole1.tex | 225 ++ .../profcollege/latex/PfCEquationTerme1.tex | 276 ++ .../contrib/profcollege/latex/ProfCollege.sty | 1272 ++++---- .../contrib/profcollege/metapost/PfC-Afficheur.mp | 182 -- .../profcollege/metapost/PfC-Calculatrice.mp | 201 -- .../profcollege/metapost/PfC-Calculatriceold.mp | 195 -- .../contrib/profcollege/metapost/PfC-Constantes.mp | 20 - .../contrib/profcollege/metapost/PfC-Geometrie.mp | 1206 ------- .../contrib/profcollege/metapost/PfC-LaTeX.mp | 15 - .../profcollege/metapost/PfC-Scratch-pdf.mp | 3378 -------------------- .../contrib/profcollege/metapost/PfC-Scratch.mp | 3346 ------------------- .../contrib/profcollege/metapost/PfC-Svgnames.mp | 153 - .../contrib/profcollege/metapost/PfCAfficheur.mp | 182 ++ .../profcollege/metapost/PfCCalculatrice.mp | 201 ++ .../contrib/profcollege/metapost/PfCConstantes.mp | 20 + .../contrib/profcollege/metapost/PfCGeometrie.mp | 1206 +++++++ .../latex/contrib/profcollege/metapost/PfCLaTeX.mp | 15 + .../contrib/profcollege/metapost/PfCScratch.mp | 3346 +++++++++++++++++++ .../contrib/profcollege/metapost/PfCScratchpdf.mp | 3378 ++++++++++++++++++++ .../contrib/profcollege/metapost/PfCSvgnames.mp | 153 + .../texlive/tlnet/tlpkg/installer/ctan-mirrors.pl | 9 +- .../tlpkg/installer/wget/wget.universal-darwin | Bin 991776 -> 0 bytes systems/texlive/tlnet/tlpkg/texlive.tlpdb | 116 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 | 2 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 | 2 +- .../texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc | 14 +- systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz | Bin 2297596 -> 2300396 bytes systems/win32/miktex/tm/packages/files.csv.lzma | Bin 574530 -> 574570 bytes .../win32/miktex/tm/packages/next/files.csv.lzma | Bin 574552 -> 574558 bytes systems/win32/miktex/tm/packages/next/pr.ini | 10 +- systems/win32/miktex/tm/packages/pr.ini | 12 +- systems/win32/w32tex/ChangeLog | 11 + timestamp | 2 +- 55 files changed, 11448 insertions(+), 11554 deletions(-) delete mode 100644 macros/latex/contrib/profcollege/latex/PfC-EquationComposition2.tex delete mode 100644 macros/latex/contrib/profcollege/latex/PfC-EquationLaurent1.tex delete mode 100644 macros/latex/contrib/profcollege/latex/PfC-EquationPose1.tex delete mode 100644 macros/latex/contrib/profcollege/latex/PfC-EquationSoustraction2.tex delete mode 100644 macros/latex/contrib/profcollege/latex/PfC-EquationSymbole1.tex delete mode 100644 macros/latex/contrib/profcollege/latex/PfC-EquationTerme1.tex create mode 100644 macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex create mode 100644 macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex create mode 100644 macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex create mode 100644 macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex create mode 100644 macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex create mode 100644 macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex delete mode 100644 macros/latex/contrib/profcollege/metapost/PfC-Afficheur.mp delete mode 100644 macros/latex/contrib/profcollege/metapost/PfC-Calculatrice.mp delete mode 100644 macros/latex/contrib/profcollege/metapost/PfC-Calculatriceold.mp delete mode 100644 macros/latex/contrib/profcollege/metapost/PfC-Constantes.mp delete mode 100644 macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp delete mode 100644 macros/latex/contrib/profcollege/metapost/PfC-LaTeX.mp delete mode 100644 macros/latex/contrib/profcollege/metapost/PfC-Scratch-pdf.mp delete mode 100644 macros/latex/contrib/profcollege/metapost/PfC-Scratch.mp delete mode 100644 macros/latex/contrib/profcollege/metapost/PfC-Svgnames.mp create mode 100644 macros/latex/contrib/profcollege/metapost/PfCAfficheur.mp create mode 100644 macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp create mode 100644 macros/latex/contrib/profcollege/metapost/PfCConstantes.mp create mode 100644 macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp create mode 100644 macros/latex/contrib/profcollege/metapost/PfCLaTeX.mp create mode 100644 macros/latex/contrib/profcollege/metapost/PfCScratch.mp create mode 100644 macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp create mode 100644 macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp delete mode 100755 systems/texlive/tlnet/tlpkg/installer/wget/wget.universal-darwin diff --git a/CTAN.sites b/CTAN.sites index e65e78832e..a901fe0e70 100644 --- a/CTAN.sites +++ b/CTAN.sites @@ -369,16 +369,16 @@ by country): ctan.altspu.ru (Russia) - URL: http://ctan.altspu.ru/ + URL: https://ctan.altspu.ru/ mirror.macomnet.net (Russia) URL: ftp://mirror.macomnet.net/pub/CTAN/ - URL: http://mirror.macomnet.net/pub/CTAN/ + URL: https://mirror.macomnet.net/pub/CTAN/ mirrors.mi.ras.ru (Russia) URL: ftp://mirrors.mi.ras.ru/CTAN/ - URL: http://mirrors.mi.ras.ru/CTAN/ URL: rsync://mirrors.mi.ras.ru/CTAN/ + URL: https://mirrors.mi.ras.ru/CTAN/ mirror.truenetwork.ru (Russia) URL: ftp://mirror.truenetwork.ru/CTAN/ @@ -463,9 +463,9 @@ by country): URL: http://ctan.mirror.globo.tech/ ctan.mirror.rafal.ca (Canada) - URL: http://ctan.mirror.rafal.ca/ URL: rsync://ctan.mirror.rafal.ca/CTAN/ URL: ftp://ctan.mirror.rafal.ca/pub/CTAN/ + URL: https://ctan.mirror.rafal.ca/ mirror.its.dal.ca (Canada) URL: ftp://mirror.its.dal.ca/ctan/ diff --git a/FILES.byname b/FILES.byname index 5b2c92d6c8..c475a6be4f 100644 --- a/FILES.byname +++ b/FILES.byname @@ -1903,7 +1903,7 @@ 1989/12/11 | 6196 | biblio/tib/tib.man 1989/03/29 | 23265 | biblio/tib/vitaMake 2005/12/15 | 366385 | biblio/tib.zip -2021/04/22 | 15884 | CTAN.sites +2021/04/23 | 15887 | 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 @@ -5087,7 +5087,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 -2021/04/22 | 358895 | FILES.last07days +2021/04/23 | 366792 | FILES.last07days 2020/08/14 | 104065 | fonts/academicons/academicons.pdf 2020/08/14 | 17247 | fonts/academicons/academicons.sty 2020/08/14 | 6546 | fonts/academicons/academicons.tex @@ -171869,10 +171869,10 @@ 2014/05/15 | 266221 | info/tex-virtual-academy-pl/tex/tex_key.html 2014/05/05 | 17632 | info/tex-virtual-academy-pl/tex/tryby.html 2014/05/21 | 1415765 | info/tex-virtual-academy-pl.zip -2020/08/31 | 144470 | info/tlmgrbasics/doc/tlmgr.pdf -2020/08/31 | 22083 | info/tlmgrbasics/doc/tlmgr.tex -2020/08/31 | 446 | info/tlmgrbasics/README -2020/08/31 | 150586 | info/tlmgrbasics.zip +2021/04/23 | 144531 | info/tlmgrbasics/doc/tlmgr.pdf +2021/04/23 | 22084 | info/tlmgrbasics/doc/tlmgr.tex +2021/04/23 | 447 | info/tlmgrbasics/README +2021/04/23 | 150646 | info/tlmgrbasics.zip 2021/04/21 | 23914 | info/tlmgr-intro-zh-cn/body/actions.tex 2021/04/21 | 1030 | info/tlmgr-intro-zh-cn/body/examples.tex 2021/04/21 | 3020 | info/tlmgr-intro-zh-cn/body/mirrors.tex @@ -197178,13 +197178,13 @@ 2021/04/21 | 1485 | macros/latex/contrib/easybook/doc/chapter1.tex 2021/04/19 | 3868 | macros/latex/contrib/easybook/doc/chapter2.tex 2021/04/18 | 2055 | macros/latex/contrib/easybook/doc/chapter3.tex -2021/04/22 | 268475 | macros/latex/contrib/easybook/doc/easybook-demo.pdf -2021/04/22 | 2792 | macros/latex/contrib/easybook/doc/easybook-demo.tex -2021/04/22 | 462235 | macros/latex/contrib/easybook/doc/easybook.pdf +2021/04/23 | 268473 | macros/latex/contrib/easybook/doc/easybook-demo.pdf +2021/04/23 | 2792 | macros/latex/contrib/easybook/doc/easybook-demo.tex +2021/04/23 | 462158 | macros/latex/contrib/easybook/doc/easybook.pdf 2021/02/23 | 830 | macros/latex/contrib/easybook/doc/refs.bib -2021/04/22 | 106924 | macros/latex/contrib/easybook/easybook.dtx +2021/04/23 | 106949 | macros/latex/contrib/easybook/easybook.dtx 2021/04/01 | 2497 | macros/latex/contrib/easybook/README.md -2021/04/22 | 757303 | macros/latex/contrib/easybook.zip +2021/04/23 | 757338 | macros/latex/contrib/easybook.zip 2009/06/17 | 82589 | macros/latex/contrib/easy/doc/docbib.pdf 2009/06/17 | 78378 | macros/latex/contrib/easy/doc/docbmat.pdf 2009/06/17 | 99132 | macros/latex/contrib/easy/doc/doceqn.pdf @@ -208892,26 +208892,25 @@ 2002/02/04 | 5634 | macros/latex/contrib/procIAGssymp/procIAGssymp.sty 2002/02/04 | 7126 | macros/latex/contrib/procIAGssymp/TestPaper.tex 2019/07/29 | 5300 | macros/latex/contrib/procIAGssymp.zip -2021/04/09 | 2755761 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf -2021/04/09 | 1679195 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip -2021/03/13 | 22499 | macros/latex/contrib/profcollege/latex/PfC-EquationComposition2.tex -2021/01/17 | 18004 | macros/latex/contrib/profcollege/latex/PfC-EquationLaurent1.tex -2021/01/17 | 19267 | macros/latex/contrib/profcollege/latex/PfC-EquationPose1.tex -2021/03/13 | 27315 | macros/latex/contrib/profcollege/latex/PfC-EquationSoustraction2.tex -2021/01/17 | 13854 | macros/latex/contrib/profcollege/latex/PfC-EquationSymbole1.tex -2021/01/17 | 21822 | macros/latex/contrib/profcollege/latex/PfC-EquationTerme1.tex -2021/04/09 | 522155 | macros/latex/contrib/profcollege/latex/ProfCollege.sty -2021/04/10 | 5056 | macros/latex/contrib/profcollege/metapost/PfC-Afficheur.mp -2021/04/10 | 13296 | macros/latex/contrib/profcollege/metapost/PfC-Calculatrice.mp -2021/04/10 | 12999 | macros/latex/contrib/profcollege/metapost/PfC-Calculatriceold.mp -2021/04/10 | 431 | macros/latex/contrib/profcollege/metapost/PfC-Constantes.mp -2021/04/10 | 31952 | macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp -2021/04/10 | 611 | macros/latex/contrib/profcollege/metapost/PfC-LaTeX.mp -2021/04/10 | 102294 | macros/latex/contrib/profcollege/metapost/PfC-Scratch.mp -2021/04/10 | 104283 | macros/latex/contrib/profcollege/metapost/PfC-Scratch-pdf.mp -2021/04/10 | 6652 | macros/latex/contrib/profcollege/metapost/PfC-Svgnames.mp +2021/04/23 | 2772127 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf +2021/04/23 | 1681849 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip +2021/04/23 | 22499 | macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex +2021/04/23 | 18307 | macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex +2021/04/23 | 19500 | macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex +2021/04/23 | 27315 | macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex +2021/04/23 | 13850 | macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex +2021/04/23 | 22016 | macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex +2021/04/23 | 523821 | macros/latex/contrib/profcollege/latex/ProfCollege.sty +2021/04/23 | 5056 | macros/latex/contrib/profcollege/metapost/PfCAfficheur.mp +2021/04/23 | 13296 | macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp +2021/04/23 | 431 | macros/latex/contrib/profcollege/metapost/PfCConstantes.mp +2021/04/23 | 31952 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp +2021/04/23 | 611 | macros/latex/contrib/profcollege/metapost/PfCLaTeX.mp +2021/04/23 | 102313 | macros/latex/contrib/profcollege/metapost/PfCScratch.mp +2021/04/23 | 104283 | macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp +2021/04/23 | 6652 | macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp 2021/01/18 | 435 | macros/latex/contrib/profcollege/README -2021/04/10 | 4213028 | macros/latex/contrib/profcollege.zip +2021/04/23 | 4229963 | macros/latex/contrib/profcollege.zip 1996/02/05 | 1760 | macros/latex/contrib/progkeys/demo/demo.tex 1996/02/05 | 459 | macros/latex/contrib/progkeys/demo/prog1.tex 1996/02/05 | 347 | macros/latex/contrib/progkeys/demo/prog2.tex @@ -263544,9 +263543,9 @@ 1994/02/22 | 94984 | systems/mac/macmakeindex2.12.sea.hqx 1993/07/19 | 61321 | systems/mac/macmakeindex.sit.hqx 2021/04/01 | 47 | systems/mac/mactex/BasicTeX.pkg.md5 -2021/04/14 | 38119 | systems/mac/mactex/ExtrasFolder.pdf +2021/04/22 | 38116 | systems/mac/mactex/ExtrasFolder.pdf 2021/04/01 | 50 | systems/mac/mactex/Ghostscript.pkg.md5 -2021/04/14 | 1711 | systems/mac/mactex/Licenses.txt +2021/04/22 | 1711 | systems/mac/mactex/Licenses.txt 2021/03/29 | 4701496188 | systems/mac/mactex/mactex-20210328.pkg 2021/03/29 | 54 | systems/mac/mactex/mactex-20210328.pkg.md5 2021/03/25 | 97330890 | systems/mac/mactex/mactex-basictex-20210325.pkg @@ -263556,8 +263555,8 @@ 2021/04/01 | 45 | systems/mac/mactex/MacTeX.pkg.md5 2021/02/26 | 77461 | systems/mac/mactex/mactex-texdist-20210226.pkg 2021/02/26 | 58 | systems/mac/mactex/mactex-texdist-20210226.pkg.md5 -2021/04/14 | 416522263 | systems/mac/mactex/MacTeXtras-20210414.zip -2021/04/14 | 58 | systems/mac/mactex/MacTeXtras-20210414.zip.md5 +2021/04/22 | 416530836 | systems/mac/mactex/MacTeXtras-20210422.zip +2021/04/22 | 58 | systems/mac/mactex/MacTeXtras-20210422.zip.md5 2021/04/01 | 179 | systems/mac/mactex/README 1995/08/15 | 308344 | systems/mac/MakeIndex-Fat-1.0-sit.hqx 1994/04/20 | 2925109 | systems/mac/metafont/bluesky/MAC_MF_0.66.sit.hqx @@ -265783,8 +265782,8 @@ 2019/02/28 | 16432 | systems/texlive/tlnet/archive/biblatex-dw.r42649.tar.xz 2019/02/28 | 2284 | systems/texlive/tlnet/archive/biblatex-enc.doc.r44627.tar.xz 2019/02/28 | 8476 | systems/texlive/tlnet/archive/biblatex-enc.r44627.tar.xz -2021/02/28 | 863540 | systems/texlive/tlnet/archive/biblatex-ext.doc.r57979.tar.xz -2021/02/28 | 26844 | systems/texlive/tlnet/archive/biblatex-ext.r57979.tar.xz +2021/04/23 | 863864 | systems/texlive/tlnet/archive/biblatex-ext.doc.r58967.tar.xz +2021/04/23 | 26852 | systems/texlive/tlnet/archive/biblatex-ext.r58967.tar.xz 2019/02/28 | 595408 | systems/texlive/tlnet/archive/biblatex-fiwi.doc.r45876.tar.xz 2019/02/28 | 16768 | systems/texlive/tlnet/archive/biblatex-fiwi.r45876.tar.xz 2021/04/06 | 1602620 | systems/texlive/tlnet/archive/biblatex-gb7714-2015.doc.r58753.tar.xz @@ -266798,7 +266797,7 @@ 2021/04/18 | 536 | systems/texlive/tlnet/archive/collection-games.r58896.tar.xz 2020/10/07 | 588 | systems/texlive/tlnet/archive/collection-humanities.r56575.tar.xz 2020/08/31 | 444 | systems/texlive/tlnet/archive/collection-langarabic.r56215.tar.xz -2020/08/28 | 528 | systems/texlive/tlnet/archive/collection-langchinese.r56196.tar.xz +2021/04/23 | 540 | systems/texlive/tlnet/archive/collection-langchinese.r58965.tar.xz 2020/03/09 | 568 | systems/texlive/tlnet/archive/collection-langcjk.r54191.tar.xz 2020/03/04 | 608 | systems/texlive/tlnet/archive/collection-langcyrillic.r54074.tar.xz 2020/03/04 | 372 | systems/texlive/tlnet/archive/collection-langczechslovak.r54074.tar.xz @@ -268869,8 +268868,8 @@ 2019/02/28 | 18600 | systems/texlive/tlnet/archive/figbas.r28943.tar.xz 2019/02/28 | 133148 | systems/texlive/tlnet/archive/figbib.doc.r19388.tar.xz 2019/02/28 | 3288 | systems/texlive/tlnet/archive/figbib.r19388.tar.xz -2021/04/22 | 498384 | systems/texlive/tlnet/archive/figchild.doc.r58935.tar.xz -2021/04/22 | 49024 | systems/texlive/tlnet/archive/figchild.r58935.tar.xz +2021/04/23 | 625944 | systems/texlive/tlnet/archive/figchild.doc.r58964.tar.xz +2021/04/23 | 49072 | systems/texlive/tlnet/archive/figchild.r58964.tar.xz 2019/02/28 | 684 | systems/texlive/tlnet/archive/figflow.doc.r21462.tar.xz 2019/02/28 | 2072 | systems/texlive/tlnet/archive/figflow.r21462.tar.xz 2019/02/28 | 88472 | systems/texlive/tlnet/archive/figsize.doc.r18784.tar.xz @@ -269229,9 +269228,9 @@ 2019/02/28 | 885988 | systems/texlive/tlnet/archive/frontespizio.doc.r24054.tar.xz 2019/02/28 | 5464 | systems/texlive/tlnet/archive/frontespizio.r24054.tar.xz 2019/02/28 | 22604 | systems/texlive/tlnet/archive/frontespizio.source.r24054.tar.xz -2020/12/29 | 39620 | systems/texlive/tlnet/archive/froufrou.doc.r57248.tar.xz -2020/12/29 | 2372 | systems/texlive/tlnet/archive/froufrou.r57248.tar.xz -2020/12/29 | 4364 | systems/texlive/tlnet/archive/froufrou.source.r57248.tar.xz +2021/04/23 | 41820 | systems/texlive/tlnet/archive/froufrou.doc.r58968.tar.xz +2021/04/23 | 4036 | systems/texlive/tlnet/archive/froufrou.r58968.tar.xz +2021/04/23 | 6256 | systems/texlive/tlnet/archive/froufrou.source.r58968.tar.xz 2020/08/11 | 68644 | systems/texlive/tlnet/archive/frpseudocode.doc.r56088.tar.xz 2020/08/11 | 1216 | systems/texlive/tlnet/archive/frpseudocode.r56088.tar.xz 2019/02/28 | 210700 | systems/texlive/tlnet/archive/ftcap.doc.r17275.tar.xz @@ -273620,8 +273619,8 @@ 2020/07/15 | 446940 | systems/texlive/tlnet/archive/polytable.doc.r55837.tar.xz 2020/07/15 | 6408 | systems/texlive/tlnet/archive/polytable.r55837.tar.xz 2020/07/15 | 21528 | systems/texlive/tlnet/archive/polytable.source.r55837.tar.xz -2019/09/12 | 1580 | systems/texlive/tlnet/archive/poormanlog.doc.r52080.tar.xz -2019/09/12 | 3812 | systems/texlive/tlnet/archive/poormanlog.r52080.tar.xz +2021/04/23 | 2000 | systems/texlive/tlnet/archive/poormanlog.doc.r58966.tar.xz +2021/04/23 | 3792 | systems/texlive/tlnet/archive/poormanlog.r58966.tar.xz 2020/07/24 | 307920 | systems/texlive/tlnet/archive/postage.doc.r55920.tar.xz 2020/07/24 | 2012 | systems/texlive/tlnet/archive/postage.r55920.tar.xz 2020/07/24 | 4660 | systems/texlive/tlnet/archive/postage.source.r55920.tar.xz @@ -275487,13 +275486,13 @@ 2021/02/27 | 109184 | systems/texlive/tlnet/archive/tex4ht.amd64-freebsd.r57941.tar.xz 2021/02/24 | 87364 | systems/texlive/tlnet/archive/tex4ht.amd64-netbsd.r57877.tar.xz 2021/02/27 | 69944 | systems/texlive/tlnet/archive/tex4ht.armhf-linux.r57957.tar.xz -2021/04/19 | 136156 | systems/texlive/tlnet/archive/tex4ht.doc.r58902.tar.xz +2021/04/23 | 136156 | systems/texlive/tlnet/archive/tex4ht.doc.r58970.tar.xz 2021/03/16 | 51080 | systems/texlive/tlnet/archive/tex4ht.i386-cygwin.r58387.tar.xz 2021/02/27 | 93092 | systems/texlive/tlnet/archive/tex4ht.i386-freebsd.r57961.tar.xz 2021/02/24 | 89116 | systems/texlive/tlnet/archive/tex4ht.i386-linux.r57878.tar.xz 2021/02/24 | 76196 | systems/texlive/tlnet/archive/tex4ht.i386-netbsd.r57877.tar.xz 2021/02/27 | 83896 | systems/texlive/tlnet/archive/tex4ht.i386-solaris.r57938.tar.xz -2021/04/19 | 906248 | systems/texlive/tlnet/archive/tex4ht.r58902.tar.xz +2021/04/23 | 906180 | systems/texlive/tlnet/archive/tex4ht.r58970.tar.xz 2021/02/25 | 185088 | systems/texlive/tlnet/archive/tex4ht.universal-darwin.r57908.tar.xz 2021/04/08 | 57760 | systems/texlive/tlnet/archive/tex4ht.win32.r58783.tar.xz 2021/03/16 | 58360 | systems/texlive/tlnet/archive/tex4ht.x86_64-cygwin.r58387.tar.xz @@ -275671,8 +275670,8 @@ 2020/03/24 | 280 | systems/texlive/tlnet/archive/texlive-cz.r54496.tar.xz 2021/03/23 | 1554012 | systems/texlive/tlnet/archive/texlive-de.doc.r58648.tar.xz 2021/03/23 | 272 | systems/texlive/tlnet/archive/texlive-de.r58648.tar.xz -2021/04/22 | 174724 | systems/texlive/tlnet/archive/texlive-docindex.doc.r58933.tar.xz -2021/04/22 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r58933.tar.xz +2021/04/23 | 174696 | systems/texlive/tlnet/archive/texlive-docindex.doc.r58946.tar.xz +2021/04/23 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r58946.tar.xz 2021/03/22 | 1937220 | systems/texlive/tlnet/archive/texlive-en.doc.r58572.tar.xz 2021/03/22 | 272 | systems/texlive/tlnet/archive/texlive-en.r58572.tar.xz 2021/03/09 | 3667820 | systems/texlive/tlnet/archive/texlive-es.doc.r58221.tar.xz @@ -275728,7 +275727,7 @@ 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.amd64-freebsd.r55172.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.amd64-netbsd.r55172.tar.xz 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.armhf-linux.r55172.tar.xz -2021/04/22 | 212828 | systems/texlive/tlnet/archive/texlive-scripts.doc.r58938.tar.xz +2021/04/23 | 212828 | systems/texlive/tlnet/archive/texlive-scripts.doc.r58961.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 @@ -275752,7 +275751,7 @@ 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-linux.r55172.tar.xz 2020/05/17 | 592 | systems/texlive/tlnet/archive/texlive-scripts.i386-netbsd.r55172.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.i386-solaris.r55172.tar.xz -2021/04/22 | 107168 | systems/texlive/tlnet/archive/texlive-scripts.r58938.tar.xz +2021/04/23 | 107116 | systems/texlive/tlnet/archive/texlive-scripts.r58961.tar.xz 2021/02/25 | 572 | systems/texlive/tlnet/archive/texlive-scripts.universal-darwin.r57908.tar.xz 2021/04/12 | 36308 | systems/texlive/tlnet/archive/texlive-scripts.win32.r58829.tar.xz 2020/05/17 | 588 | systems/texlive/tlnet/archive/texlive-scripts.x86_64-cygwin.r55172.tar.xz @@ -276218,9 +276217,11 @@ 2019/02/28 | 348 | systems/texlive/tlnet/archive/tlcockpit.x86_64-linuxmusl.r47036.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/tlcockpit.x86_64-linux.r46798.tar.xz 2019/02/28 | 340 | systems/texlive/tlnet/archive/tlcockpit.x86_64-solaris.r46798.tar.xz -2021/04/22 | 8007112 | systems/texlive/tlnet/archive/tlgs.win32.r58943.tar.xz +2021/04/23 | 8007124 | systems/texlive/tlnet/archive/tlgs.win32.r58969.tar.xz 2020/09/01 | 150972 | systems/texlive/tlnet/archive/tlmgrbasics.doc.r56221.tar.xz 2020/09/01 | 424 | systems/texlive/tlnet/archive/tlmgrbasics.r56221.tar.xz +2021/04/23 | 434928 | systems/texlive/tlnet/archive/tlmgr-intro-zh-cn.doc.r58965.tar.xz +2021/04/23 | 456 | systems/texlive/tlnet/archive/tlmgr-intro-zh-cn.r58965.tar.xz 2021/03/04 | 7177228 | systems/texlive/tlnet/archive/tlperl.win32.r58075.tar.xz 2019/07/06 | 340 | systems/texlive/tlnet/archive/tlshell.aarch64-linux.r46228.tar.xz 2019/07/06 | 344 | systems/texlive/tlnet/archive/tlshell.amd64-freebsd.r45015.tar.xz @@ -277445,16 +277446,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 2021/04/21 | 105281 | systems/texlive/tlnet/install-tl -2021/04/22 | 6190104 | systems/texlive/tlnet/install-tl-unx.tar.gz -2021/04/22 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2021/04/22 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2021/04/23 | 6190072 | systems/texlive/tlnet/install-tl-unx.tar.gz +2021/04/23 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2021/04/23 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc 2021/04/11 | 4945 | systems/texlive/tlnet/install-tl-windows.bat -2021/04/22 | 20129646 | systems/texlive/tlnet/install-tl-windows.exe -2021/04/22 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2021/04/22 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2021/04/22 | 24962530 | systems/texlive/tlnet/install-tl.zip -2021/04/22 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2021/04/22 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2021/04/23 | 20130376 | systems/texlive/tlnet/install-tl-windows.exe +2021/04/23 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2021/04/23 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2021/04/23 | 24962519 | systems/texlive/tlnet/install-tl.zip +2021/04/23 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2021/04/23 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc 2021/04/01 | 1229 | systems/texlive/tlnet/README.md 2021/04/01 | 0 | systems/texlive/tlnet/TEXLIVE_2021 2021/03/15 | 6571 | systems/texlive/tlnet/tlpkg/gpg/pubring.gpg @@ -277464,7 +277465,7 @@ 2021/03/15 | 1280 | systems/texlive/tlnet/tlpkg/gpg/trustdb.gpg 2021/01/27 | 49446 | systems/texlive/tlnet/tlpkg/installer/config.guess 2010/11/11 | 11651 | systems/texlive/tlnet/tlpkg/installer/COPYING.MinGW-runtime.txt -2021/04/21 | 6791 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +2021/04/22 | 6750 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2020/04/15 | 223687 | 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 @@ -277507,16 +277508,16 @@ 2021/04/03 | 20365 | systems/texlive/tlnet/tlpkg/TeXLive/TLCrypto.pm 2021/02/20 | 5400 | systems/texlive/tlnet/tlpkg/TeXLive/TLDownload.pm 2020/09/22 | 27563 | systems/texlive/tlnet/tlpkg/TeXLive/TLPaper.pm -2021/04/22 | 17200101 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2021/04/22 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2021/04/23 | 17201881 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2021/04/23 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2020/05/13 | 86417 | systems/texlive/tlnet/tlpkg/TeXLive/TLPDB.pm -2021/04/22 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2021/04/22 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2021/04/22 | 2298216 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2021/04/23 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2021/04/23 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2021/04/23 | 2297596 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2021/03/15 | 58775 | systems/texlive/tlnet/tlpkg/TeXLive/TLPOBJ.pm 2021/03/17 | 42077 | systems/texlive/tlnet/tlpkg/TeXLive/TLPSRC.pm 2020/05/11 | 15010 | systems/texlive/tlnet/tlpkg/TeXLive/TLTREE.pm -2021/03/05 | 142709 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm +2021/04/22 | 142709 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm 2021/04/10 | 37917 | systems/texlive/tlnet/tlpkg/TeXLive/TLWinGoo.pm 2021/03/20 | 5933 | systems/texlive/tlnet/tlpkg/TeXLive/trans.pl 2020/03/07 | 116238 | systems/texlive/tlnet/tlpkg/tlperl/bin/libgcc_s_dw2-1.dll @@ -280920,7 +280921,7 @@ 2009/04/21 | 35717 | systems/win32/miktex/tm/packages/accfonts.tar.lzma 2019/12/06 | 338331 | systems/win32/miktex/tm/packages/accsupp.tar.lzma 2021/01/22 | 912973 | systems/win32/miktex/tm/packages/achemso.tar.lzma -2021/04/14 | 3656246 | systems/win32/miktex/tm/packages/acmart.tar.lzma +2021/04/23 | 3633977 | systems/win32/miktex/tm/packages/acmart.tar.lzma 2016/07/19 | 105378 | systems/win32/miktex/tm/packages/acmconf.tar.lzma 2016/08/30 | 774465 | systems/win32/miktex/tm/packages/acroflex.tar.lzma 2020/06/28 | 815002 | systems/win32/miktex/tm/packages/acromemory.tar.lzma @@ -281206,7 +281207,7 @@ 2018/04/24 | 84638 | systems/win32/miktex/tm/packages/beamerposter.tar.lzma 2021/03/25 | 212619 | systems/win32/miktex/tm/packages/beamer-rl.tar.lzma 2011/08/12 | 444235 | systems/win32/miktex/tm/packages/beamersubframe.tar.lzma -2020/06/09 | 276097 | systems/win32/miktex/tm/packages/beamerswitch.tar.lzma +2021/04/23 | 282970 | systems/win32/miktex/tm/packages/beamerswitch.tar.lzma 2021/03/25 | 3073519 | systems/win32/miktex/tm/packages/beamer.tar.lzma 2016/10/04 | 457031 | systems/win32/miktex/tm/packages/beamertheme-cuerna.tar.lzma 2015/12/08 | 1525974 | systems/win32/miktex/tm/packages/beamertheme-detlevcm.tar.lzma @@ -281276,7 +281277,7 @@ 2017/04/11 | 92574 | systems/win32/miktex/tm/packages/biblatex-claves.tar.lzma 2016/12/09 | 1140816 | systems/win32/miktex/tm/packages/biblatex-dw.tar.lzma 2017/06/18 | 10024 | systems/win32/miktex/tm/packages/biblatex-enc.tar.lzma -2021/03/03 | 894814 | systems/win32/miktex/tm/packages/biblatex-ext.tar.lzma +2021/04/23 | 895400 | systems/win32/miktex/tm/packages/biblatex-ext.tar.lzma 2017/11/22 | 616165 | systems/win32/miktex/tm/packages/biblatex-fiwi.tar.lzma 2021/04/07 | 1645822 | systems/win32/miktex/tm/packages/biblatex-gb7714-2015.tar.lzma 2020/11/24 | 173898 | systems/win32/miktex/tm/packages/biblatex-german-legal.tar.lzma @@ -281301,7 +281302,7 @@ 2016/07/06 | 114407 | systems/win32/miktex/tm/packages/biblatex-nottsclassic.tar.lzma 2018/10/26 | 113014 | systems/win32/miktex/tm/packages/biblatex-opcit-booktitle.tar.lzma 2021/01/22 | 2003044 | systems/win32/miktex/tm/packages/biblatex-oxref.tar.lzma -2020/10/03 | 555155 | systems/win32/miktex/tm/packages/biblatex-philosophy.tar.lzma +2021/04/23 | 594141 | systems/win32/miktex/tm/packages/biblatex-philosophy.tar.lzma 2019/12/04 | 461163 | systems/win32/miktex/tm/packages/biblatex-phys.tar.lzma 2020/10/03 | 386625 | systems/win32/miktex/tm/packages/biblatex-publist.tar.lzma 2017/11/21 | 96599 | systems/win32/miktex/tm/packages/biblatex-realauthor.tar.lzma @@ -281432,6 +281433,7 @@ 2012/12/20 | 8334 | systems/win32/miktex/tm/packages/bxpict2e.tar.lzma 2018/04/02 | 433992 | systems/win32/miktex/tm/packages/bxtexlogo.tar.lzma 2019/06/03 | 188847 | systems/win32/miktex/tm/packages/bxwareki.tar.lzma +2021/04/23 | 430574 | systems/win32/miktex/tm/packages/byo-twemojis.tar.lzma 2020/11/03 | 775951 | systems/win32/miktex/tm/packages/bytefield.tar.lzma 2016/04/26 | 1249525 | systems/win32/miktex/tm/packages/byzantinemusic.tar.lzma 2020/07/27 | 2952273 | systems/win32/miktex/tm/packages/cabin.tar.lzma @@ -281557,7 +281559,7 @@ 2020/01/13 | 419261 | systems/win32/miktex/tm/packages/circledsteps.tar.lzma 2010/03/08 | 182332 | systems/win32/miktex/tm/packages/circle.tar.lzma 2009/07/13 | 270032 | systems/win32/miktex/tm/packages/circ.tar.lzma -2021/04/07 | 1392001 | systems/win32/miktex/tm/packages/circuitikz.tar.lzma +2021/04/23 | 1453088 | systems/win32/miktex/tm/packages/circuitikz.tar.lzma 2004/11/28 | 18758 | systems/win32/miktex/tm/packages/cirth.cab 2017/12/04 | 112354 | systems/win32/miktex/tm/packages/citeall.tar.lzma 2018/04/09 | 67716 | systems/win32/miktex/tm/packages/citeref.tar.lzma @@ -281927,7 +281929,7 @@ 2006/08/26 | 141965 | systems/win32/miktex/tm/packages/dyntree.tar.bz2 2021/01/28 | 325253 | systems/win32/miktex/tm/packages/ean13isbn.tar.lzma 2016/07/15 | 3965 | systems/win32/miktex/tm/packages/ean.tar.lzma -2021/04/14 | 751617 | systems/win32/miktex/tm/packages/easybook.tar.lzma +2021/04/23 | 770393 | systems/win32/miktex/tm/packages/easybook.tar.lzma 2018/03/31 | 183421 | systems/win32/miktex/tm/packages/easyfig.tar.lzma 2020/12/21 | 609763 | systems/win32/miktex/tm/packages/easyfloats.tar.lzma 2017/06/12 | 52618 | systems/win32/miktex/tm/packages/easyformat.tar.lzma @@ -282058,8 +282060,8 @@ 2021/02/22 | 646376 | systems/win32/miktex/tm/packages/eq-pin2corr.tar.lzma 2021/02/22 | 325531 | systems/win32/miktex/tm/packages/eq-save.tar.lzma 2009/07/26 | 707878 | systems/win32/miktex/tm/packages/erdc.tar.lzma -2020/10/20 | 1709717 | systems/win32/miktex/tm/packages/erewhon-math.tar.lzma -2021/03/03 | 2890730 | systems/win32/miktex/tm/packages/erewhon.tar.lzma +2021/04/23 | 1702014 | systems/win32/miktex/tm/packages/erewhon-math.tar.lzma +2021/04/23 | 2892464 | systems/win32/miktex/tm/packages/erewhon.tar.lzma 2007/11/19 | 155443 | systems/win32/miktex/tm/packages/errata.tar.lzma 2020/06/09 | 690795 | systems/win32/miktex/tm/packages/erw-l3.tar.lzma 2018/03/15 | 1455606 | systems/win32/miktex/tm/packages/esami.tar.lzma @@ -282150,7 +282152,7 @@ 2021/01/30 | 838456 | systems/win32/miktex/tm/packages/fancyhdr.tar.lzma 2018/02/26 | 246327 | systems/win32/miktex/tm/packages/fancylabel.tar.lzma 2016/07/15 | 63202 | systems/win32/miktex/tm/packages/fancynum.tar.lzma -2019/01/26 | 128754 | systems/win32/miktex/tm/packages/fancypar.tar.lzma +2021/04/23 | 130197 | systems/win32/miktex/tm/packages/fancypar.tar.lzma 2016/07/15 | 124426 | systems/win32/miktex/tm/packages/fancyref.tar.lzma 2015/02/28 | 5938051 | systems/win32/miktex/tm/packages/fancyslides.tar.lzma 2016/06/29 | 190364 | systems/win32/miktex/tm/packages/fancytabs.tar.lzma @@ -282188,7 +282190,7 @@ 2009/08/04 | 62588 | systems/win32/miktex/tm/packages/fig4latex.tar.lzma 2013/02/01 | 95661 | systems/win32/miktex/tm/packages/figbas.tar.lzma 2004/08/15 | 21738 | systems/win32/miktex/tm/packages/figbib.cab -2021/04/07 | 366693 | systems/win32/miktex/tm/packages/figchild.tar.lzma +2021/04/23 | 675758 | systems/win32/miktex/tm/packages/figchild.tar.lzma 2011/02/19 | 2625 | systems/win32/miktex/tm/packages/figflow.tar.lzma 2016/07/20 | 90386 | systems/win32/miktex/tm/packages/figsize.tar.lzma 2019/10/04 | 148017 | systems/win32/miktex/tm/packages/filecontentsdef.tar.lzma @@ -282197,7 +282199,7 @@ 2020/10/03 | 318630 | systems/win32/miktex/tm/packages/filehook.tar.lzma 2012/12/04 | 924573 | systems/win32/miktex/tm/packages/fileinfo.tar.lzma 2011/09/21 | 281409 | systems/win32/miktex/tm/packages/filemod.tar.lzma -2021/04/22 | 574530 | systems/win32/miktex/tm/packages/files.csv.lzma +2021/04/23 | 574570 | systems/win32/miktex/tm/packages/files.csv.lzma 2001/05/14 | 5617 | systems/win32/miktex/tm/packages/finbib.tar.lzma 2015/10/20 | 44379 | systems/win32/miktex/tm/packages/findhyph.tar.lzma 2011/10/21 | 89323 | systems/win32/miktex/tm/packages/fink.tar.lzma @@ -282268,7 +282270,7 @@ 2020/02/13 | 2425284 | systems/win32/miktex/tm/packages/fonts-arundina.tar.lzma 2020/10/03 | 1907391 | systems/win32/miktex/tm/packages/fonts-churchslavonic.tar.lzma 2021/01/30 | 753572 | systems/win32/miktex/tm/packages/fontsetup.tar.lzma -2021/03/25 | 413499 | systems/win32/miktex/tm/packages/fontsize.tar.lzma +2021/04/23 | 420804 | systems/win32/miktex/tm/packages/fontsize.tar.lzma 2020/02/22 | 1299441 | systems/win32/miktex/tm/packages/fontspec.tar.lzma 2020/05/06 | 12767240 | systems/win32/miktex/tm/packages/fonts-tlwg.tar.lzma 2017/07/16 | 330987 | systems/win32/miktex/tm/packages/fonttable.tar.lzma @@ -282308,7 +282310,7 @@ 2020/10/20 | 212213 | systems/win32/miktex/tm/packages/frimurer.tar.lzma 2007/10/28 | 2112 | systems/win32/miktex/tm/packages/frletter.tar.lzma 2011/09/22 | 916045 | systems/win32/miktex/tm/packages/frontespizio.tar.lzma -2021/01/02 | 46055 | systems/win32/miktex/tm/packages/froufrou.tar.lzma +2021/04/23 | 51765 | systems/win32/miktex/tm/packages/froufrou.tar.lzma 2020/08/17 | 69594 | systems/win32/miktex/tm/packages/frpseudocode.tar.lzma 2010/03/08 | 213103 | systems/win32/miktex/tm/packages/ftcap.tar.lzma 2019/02/18 | 4935809 | systems/win32/miktex/tm/packages/ftc-notebook.tar.lzma @@ -282560,6 +282562,7 @@ 2016/07/15 | 127199 | systems/win32/miktex/tm/packages/hpsdiss.tar.lzma 2011/05/06 | 449162 | systems/win32/miktex/tm/packages/hrefhide.tar.lzma 2010/04/27 | 105418 | systems/win32/miktex/tm/packages/hrlatex.tar.lzma +2021/04/23 | 375689 | systems/win32/miktex/tm/packages/huawei.tar.lzma 2021/01/11 | 235342 | systems/win32/miktex/tm/packages/hu-berlin-bundle.tar.lzma 2020/11/05 | 259269 | systems/win32/miktex/tm/packages/hulipsum.tar.lzma 2016/07/28 | 46253 | systems/win32/miktex/tm/packages/humanist.tar.lzma @@ -282647,7 +282650,7 @@ 2015/02/28 | 89995 | systems/win32/miktex/tm/packages/interchar.tar.lzma 2011/02/21 | 832968 | systems/win32/miktex/tm/packages/interfaces.tar.lzma 2012/06/11 | 128316 | systems/win32/miktex/tm/packages/interpreter.tar.lzma -2021/01/02 | 6576583 | systems/win32/miktex/tm/packages/inter.tar.lzma +2021/04/23 | 6575501 | systems/win32/miktex/tm/packages/inter.tar.lzma 2019/03/07 | 329105 | systems/win32/miktex/tm/packages/interval.tar.lzma 2021/03/25 | 384281 | systems/win32/miktex/tm/packages/intopdf.tar.lzma 2008/08/08 | 80085 | systems/win32/miktex/tm/packages/inversepath.tar.lzma @@ -282815,7 +282818,7 @@ 2020/10/31 | 2070780 | systems/win32/miktex/tm/packages/latex-graphics-dev.tar.lzma 2021/04/07 | 1044772 | systems/win32/miktex/tm/packages/latexindent.tar.lzma 2021/01/07 | 716957 | systems/win32/miktex/tm/packages/latex-make.tar.lzma -2020/10/03 | 372961 | systems/win32/miktex/tm/packages/latexmk.tar.lzma +2021/04/23 | 375696 | systems/win32/miktex/tm/packages/latexmk.tar.lzma 2019/09/01 | 152454 | systems/win32/miktex/tm/packages/latexmp.tar.lzma 2017/06/15 | 358573 | systems/win32/miktex/tm/packages/latex-mr.tar.lzma 2019/12/13 | 8214 | systems/win32/miktex/tm/packages/latexpand.tar.lzma @@ -283005,7 +283008,7 @@ 2016/06/21 | 176793 | systems/win32/miktex/tm/packages/luatex85.tar.lzma 2015/10/06 | 276167 | systems/win32/miktex/tm/packages/luatexbase.tar.lzma 2021/03/25 | 3472817 | systems/win32/miktex/tm/packages/luatexja.tar.lzma -2021/03/03 | 359923 | systems/win32/miktex/tm/packages/luatexko.tar.lzma +2021/04/23 | 359360 | systems/win32/miktex/tm/packages/luatexko.tar.lzma 2010/12/23 | 322873 | systems/win32/miktex/tm/packages/luatextra.tar.lzma 2020/02/18 | 256383 | systems/win32/miktex/tm/packages/luatodonotes.tar.lzma 2021/03/17 | 204648 | systems/win32/miktex/tm/packages/lua-typo.tar.lzma @@ -283043,6 +283046,7 @@ 2019/11/30 | 336740 | systems/win32/miktex/tm/packages/magicnum.tar.lzma 2016/05/25 | 3483 | systems/win32/miktex/tm/packages/magic.tar.lzma 2021/01/11 | 217804 | systems/win32/miktex/tm/packages/magra.tar.lzma +2021/04/23 | 781821 | systems/win32/miktex/tm/packages/mahjong.tar.lzma 2005/06/25 | 9145 | systems/win32/miktex/tm/packages/mailing.cab 2009/09/28 | 97743 | systems/win32/miktex/tm/packages/mailmerge.tar.lzma 2021/03/25 | 204286 | systems/win32/miktex/tm/packages/make4ht.tar.lzma @@ -283109,7 +283113,7 @@ 2009/03/18 | 17661 | systems/win32/miktex/tm/packages/mcaption.tar.lzma 2016/07/20 | 44764 | systems/win32/miktex/tm/packages/mceinleger.tar.lzma 2017/12/31 | 253456 | systems/win32/miktex/tm/packages/mcexam.tar.lzma -2021/04/07 | 942634 | systems/win32/miktex/tm/packages/mcf2graph.tar.lzma +2021/04/23 | 944097 | systems/win32/miktex/tm/packages/mcf2graph.tar.lzma 2013/09/17 | 427099 | systems/win32/miktex/tm/packages/mciteplus.tar.lzma 2016/07/16 | 147633 | systems/win32/miktex/tm/packages/mcite.tar.lzma 2021/01/07 | 539724 | systems/win32/miktex/tm/packages/mcmthesis.tar.lzma @@ -283395,9 +283399,9 @@ 2018/01/12 | 157226 | systems/win32/miktex/tm/packages/miktex-zip-bin-x64.tar.lzma 2021/03/15 | 39247 | systems/win32/miktex/tm/packages/miktex-zlib-bin-2.9.tar.lzma 2021/03/15 | 43386 | systems/win32/miktex/tm/packages/miktex-zlib-bin-x64-2.9.tar.lzma -2021/04/22 | 208945 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2021/04/22 | 1267470 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2021/04/22 | 1184092 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2021/04/23 | 209145 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2021/04/23 | 1268067 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2021/04/23 | 1184710 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma 2021/03/15 | 13447 | systems/win32/miktex/tm/packages/miktex-zzip-bin-2.9.tar.lzma 2021/03/15 | 14320 | systems/win32/miktex/tm/packages/miktex-zzip-bin-x64-2.9.tar.lzma 2016/07/15 | 35914 | systems/win32/miktex/tm/packages/mil3.tar.lzma @@ -283558,190 +283562,190 @@ 2018/04/09 | 400132 | systems/win32/miktex/tm/packages/newunicodechar.tar.lzma 2011/09/19 | 101312 | systems/win32/miktex/tm/packages/newvbtm.tar.lzma 2021/03/17 | 232249 | systems/win32/miktex/tm/packages/newverbs.tar.lzma -2021/04/22 | 574552 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2021/04/22 | 50848 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma -2021/04/22 | 56456 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2021/04/22 | 968699 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma -2021/04/22 | 1078877 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2021/04/22 | 29054 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma -2021/04/22 | 31345 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2021/04/22 | 29870 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma -2021/04/22 | 34634 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2021/04/22 | 49973 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma -2021/04/22 | 57599 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2021/04/22 | 84774 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma -2021/04/22 | 94738 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2021/04/22 | 67680 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma -2021/04/22 | 75418 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2021/04/22 | 27183 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma -2021/04/22 | 30885 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma -2021/04/22 | 330233 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma -2021/04/22 | 392596 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2021/04/22 | 32745 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma -2021/04/22 | 36679 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma -2021/04/22 | 51433 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma -2021/04/22 | 56718 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2021/04/22 | 4707 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma -2021/04/22 | 239478 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma -2021/04/22 | 261963 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2021/04/22 | 179380 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma -2021/04/22 | 195665 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2021/04/22 | 52477 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma -2021/04/22 | 59145 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma -2021/04/22 | 21131 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma -2021/04/22 | 23290 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2021/04/22 | 461396 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2021/04/22 | 45650 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma -2021/04/22 | 51160 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma -2021/04/22 | 282105 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma -2021/04/22 | 321894 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2021/04/22 | 41102 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma -2021/04/22 | 45277 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma -2021/04/22 | 116930 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma -2021/04/22 | 131490 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2021/04/22 | 1281104 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma -2021/04/22 | 1425981 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2021/04/22 | 87639 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma -2021/04/22 | 99605 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2021/04/22 | 43058 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma -2021/04/22 | 47877 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2021/04/22 | 25156 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma -2021/04/22 | 28008 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2021/04/22 | 55823 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma -2021/04/22 | 62801 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2021/04/22 | 135005 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma -2021/04/22 | 152761 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma -2021/04/22 | 73181 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma -2021/04/22 | 77859 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2021/04/22 | 71569 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma -2021/04/22 | 80661 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma -2021/04/22 | 258665 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma -2021/04/22 | 295554 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma -2021/04/22 | 22040 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma -2021/04/22 | 25001 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2021/04/22 | 97491 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma -2021/04/22 | 112252 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2021/04/22 | 63836 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma -2021/04/22 | 72861 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2021/04/22 | 96146 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma -2021/04/22 | 115470 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2021/04/22 | 38070 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma -2021/04/22 | 42627 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2021/04/22 | 484057 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma -2021/04/22 | 567624 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2021/04/22 | 147139 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma -2021/04/22 | 159969 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma -2021/04/22 | 94802 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma -2021/04/22 | 109276 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma -2021/04/22 | 16327 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma -2021/04/22 | 17958 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2021/04/22 | 28120 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma -2021/04/22 | 30038 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma -2021/04/22 | 625283 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma -2021/04/22 | 680050 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2021/04/22 | 532038 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma -2021/04/22 | 594869 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2021/04/22 | 475937 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma -2021/04/22 | 511634 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2021/04/22 | 94268 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma -2021/04/22 | 103323 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2021/04/22 | 1725547 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma -2021/04/22 | 2009489 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2021/04/22 | 67650 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma -2021/04/22 | 74164 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2021/04/22 | 27362 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma -2021/04/22 | 31594 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2021/04/22 | 7747 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma -2021/04/22 | 8774 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma -2021/04/22 | 195567 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma -2021/04/22 | 214102 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma -2021/04/22 | 250212 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma -2021/04/22 | 283978 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2021/04/22 | 97133 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma -2021/04/22 | 101763 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma -2021/04/22 | 60552 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma -2021/04/22 | 67928 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma -2021/04/22 | 124974 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma -2021/04/22 | 136426 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2021/04/22 | 147150 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma -2021/04/22 | 163657 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2021/04/22 | 199698 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma -2021/04/22 | 180048 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2021/04/22 | 67451 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma -2021/04/22 | 77486 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2021/04/22 | 31192 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma -2021/04/22 | 35063 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma -2021/04/22 | 38065 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma -2021/04/22 | 42574 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2021/04/22 | 42924 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma -2021/04/22 | 47008 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma -2021/04/22 | 45937 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma -2021/04/22 | 52454 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2021/04/22 | 193715 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma -2021/04/22 | 211055 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2021/04/22 | 35463 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma -2021/04/22 | 39690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma -2021/04/22 | 748364 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma -2021/04/22 | 816072 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2021/04/22 | 198131 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma -2021/04/22 | 202557 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2021/04/22 | 208181 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma -2021/04/22 | 243479 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2021/04/22 | 78745 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma -2021/04/22 | 87704 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma -2021/04/22 | 1171730 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma -2021/04/22 | 1307724 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2021/04/22 | 20121 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma -2021/04/22 | 23883 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2021/04/22 | 31544 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma -2021/04/22 | 37244 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma -2021/04/22 | 64017 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma -2021/04/22 | 72150 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma -2021/04/22 | 43676 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma -2021/04/22 | 51979 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2021/04/22 | 1295413 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma -2021/04/22 | 1424810 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma -2021/04/22 | 42389 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma -2021/04/22 | 51796 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2021/04/22 | 56221 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma -2021/04/22 | 59830 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2021/04/22 | 25340 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma -2021/04/22 | 27274 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2021/04/22 | 16110 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma -2021/04/22 | 18097 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2021/04/22 | 63674 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma -2021/04/22 | 70110 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma -2021/04/22 | 153889 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma -2021/04/22 | 167905 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2021/04/22 | 56909 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma -2021/04/22 | 65322 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma -2021/04/22 | 98519 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma -2021/04/22 | 104625 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma -2021/04/22 | 2499402 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma -2021/04/22 | 2616931 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2021/04/22 | 55218 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma -2021/04/22 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma -2021/04/22 | 33441 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma -2021/04/22 | 37294 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma -2021/04/22 | 27198 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma -2021/04/22 | 33153 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2021/04/22 | 65732 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma -2021/04/22 | 70324 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma -2021/04/22 | 311192 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma -2021/04/22 | 345366 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2021/04/22 | 55563 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma -2021/04/22 | 57065 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2021/04/22 | 583631 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma -2021/04/22 | 618767 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma -2021/04/22 | 39564 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma -2021/04/22 | 43389 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2021/04/22 | 208852 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma -2021/04/22 | 1267156 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2021/04/22 | 1183313 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma -2021/04/22 | 13469 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma -2021/04/22 | 14353 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2021/04/23 | 574558 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2021/04/23 | 50847 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma +2021/04/23 | 56457 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2021/04/23 | 968694 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma +2021/04/23 | 1078878 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2021/04/23 | 29054 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma +2021/04/23 | 31343 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2021/04/23 | 29869 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2021/04/23 | 34634 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2021/04/23 | 49972 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma +2021/04/23 | 57599 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2021/04/23 | 84773 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2021/04/23 | 94738 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2021/04/23 | 67679 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma +2021/04/23 | 75419 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2021/04/23 | 27183 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma +2021/04/23 | 30885 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2021/04/23 | 330232 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma +2021/04/23 | 392596 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2021/04/23 | 32744 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2021/04/23 | 36679 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2021/04/23 | 51432 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma +2021/04/23 | 56718 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2021/04/23 | 4707 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma +2021/04/23 | 239478 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma +2021/04/23 | 261963 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2021/04/23 | 179378 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma +2021/04/23 | 195666 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2021/04/23 | 52475 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma +2021/04/23 | 59145 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2021/04/23 | 21130 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma +2021/04/23 | 23292 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2021/04/23 | 461401 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2021/04/23 | 45649 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma +2021/04/23 | 51160 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2021/04/23 | 282106 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma +2021/04/23 | 321895 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2021/04/23 | 41102 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma +2021/04/23 | 45278 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2021/04/23 | 116932 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma +2021/04/23 | 131489 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2021/04/23 | 1281103 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma +2021/04/23 | 1425979 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2021/04/23 | 87638 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma +2021/04/23 | 99606 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2021/04/23 | 43057 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma +2021/04/23 | 47878 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2021/04/23 | 25154 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma +2021/04/23 | 28009 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2021/04/23 | 55821 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma +2021/04/23 | 62801 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2021/04/23 | 135003 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2021/04/23 | 152763 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2021/04/23 | 73181 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma +2021/04/23 | 77858 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2021/04/23 | 71569 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2021/04/23 | 80661 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2021/04/23 | 258664 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2021/04/23 | 295555 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2021/04/23 | 22039 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma +2021/04/23 | 25002 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2021/04/23 | 97489 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma +2021/04/23 | 112252 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2021/04/23 | 63834 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma +2021/04/23 | 72860 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2021/04/23 | 96148 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2021/04/23 | 115470 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2021/04/23 | 38070 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma +2021/04/23 | 42628 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2021/04/23 | 484057 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma +2021/04/23 | 567627 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2021/04/23 | 147140 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma +2021/04/23 | 159969 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2021/04/23 | 94801 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma +2021/04/23 | 109276 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2021/04/23 | 16328 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma +2021/04/23 | 17958 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2021/04/23 | 28120 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma +2021/04/23 | 30037 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2021/04/23 | 625282 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma +2021/04/23 | 680050 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2021/04/23 | 532038 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma +2021/04/23 | 594869 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2021/04/23 | 475936 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma +2021/04/23 | 511634 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2021/04/23 | 94269 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma +2021/04/23 | 103324 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2021/04/23 | 1725550 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma +2021/04/23 | 2009493 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2021/04/23 | 67649 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma +2021/04/23 | 74164 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2021/04/23 | 27363 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma +2021/04/23 | 31593 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2021/04/23 | 7746 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma +2021/04/23 | 8774 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2021/04/23 | 195566 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma +2021/04/23 | 214105 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2021/04/23 | 250210 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma +2021/04/23 | 283978 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2021/04/23 | 97134 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2021/04/23 | 101762 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2021/04/23 | 60550 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma +2021/04/23 | 67930 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma +2021/04/23 | 124973 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma +2021/04/23 | 136427 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2021/04/23 | 147151 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma +2021/04/23 | 163656 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2021/04/23 | 199699 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma +2021/04/23 | 180048 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2021/04/23 | 67451 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2021/04/23 | 77487 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2021/04/23 | 31192 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma +2021/04/23 | 35065 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2021/04/23 | 38064 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma +2021/04/23 | 42574 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2021/04/23 | 42924 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma +2021/04/23 | 47008 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2021/04/23 | 45937 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma +2021/04/23 | 52455 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2021/04/23 | 193717 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma +2021/04/23 | 211055 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2021/04/23 | 35462 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma +2021/04/23 | 39691 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2021/04/23 | 748363 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma +2021/04/23 | 816073 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2021/04/23 | 198131 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma +2021/04/23 | 202553 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2021/04/23 | 208183 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma +2021/04/23 | 243480 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2021/04/23 | 78745 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma +2021/04/23 | 87704 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2021/04/23 | 1171730 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma +2021/04/23 | 1307723 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2021/04/23 | 20120 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma +2021/04/23 | 23882 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2021/04/23 | 31543 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma +2021/04/23 | 37244 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2021/04/23 | 64017 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma +2021/04/23 | 72149 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2021/04/23 | 43676 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma +2021/04/23 | 51980 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2021/04/23 | 1295414 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma +2021/04/23 | 1424812 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2021/04/23 | 42388 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2021/04/23 | 51798 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2021/04/23 | 56222 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma +2021/04/23 | 59831 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2021/04/23 | 25341 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma +2021/04/23 | 27274 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2021/04/23 | 16110 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma +2021/04/23 | 18098 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2021/04/23 | 63674 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2021/04/23 | 70111 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2021/04/23 | 153890 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma +2021/04/23 | 167906 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2021/04/23 | 56909 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma +2021/04/23 | 65323 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2021/04/23 | 98517 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma +2021/04/23 | 104626 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2021/04/23 | 2499402 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma +2021/04/23 | 2616931 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2021/04/23 | 55219 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma +2021/04/23 | 62225 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2021/04/23 | 33441 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma +2021/04/23 | 37294 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2021/04/23 | 27197 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma +2021/04/23 | 33152 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2021/04/23 | 65732 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma +2021/04/23 | 70324 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2021/04/23 | 311190 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma +2021/04/23 | 345367 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2021/04/23 | 55563 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma +2021/04/23 | 57066 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2021/04/23 | 583626 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma +2021/04/23 | 618763 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2021/04/23 | 39564 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma +2021/04/23 | 43392 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2021/04/23 | 209123 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2021/04/23 | 1268557 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2021/04/23 | 1186001 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2021/04/23 | 13469 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma +2021/04/23 | 14353 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma 2019/03/12 | 1412 | systems/win32/miktex/tm/packages/nextpage.tar.lzma -2021/04/22 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini +2021/04/23 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini 2018/07/06 | 145915 | systems/win32/miktex/tm/packages/nexus-otf.tar.lzma 2017/03/30 | 191149 | systems/win32/miktex/tm/packages/nfssext-cfr.tar.lzma 2012/12/20 | 612251 | systems/win32/miktex/tm/packages/nicefilelist.tar.lzma @@ -283835,7 +283839,7 @@ 2019/07/05 | 2628017 | systems/win32/miktex/tm/packages/opensans.tar.lzma 2017/08/05 | 240543 | systems/win32/miktex/tm/packages/oplotsymbl.tar.lzma 2006/06/03 | 45938 | systems/win32/miktex/tm/packages/opteng.cab -2021/03/25 | 2180945 | systems/win32/miktex/tm/packages/optex.tar.lzma +2021/04/23 | 2180993 | systems/win32/miktex/tm/packages/optex.tar.lzma 2019/04/24 | 262064 | systems/win32/miktex/tm/packages/optidef.tar.lzma 2010/05/10 | 298765 | systems/win32/miktex/tm/packages/optional.tar.lzma 2015/12/08 | 233022 | systems/win32/miktex/tm/packages/options.tar.lzma @@ -284052,7 +284056,7 @@ 2009/06/10 | 140988 | systems/win32/miktex/tm/packages/polynomial.tar.lzma 2017/07/19 | 441304 | systems/win32/miktex/tm/packages/polynom.tar.lzma 2020/07/19 | 477070 | systems/win32/miktex/tm/packages/polytable.tar.lzma -2019/09/13 | 5066 | systems/win32/miktex/tm/packages/poormanlog.tar.lzma +2021/04/23 | 5456 | systems/win32/miktex/tm/packages/poormanlog.tar.lzma 2017/11/05 | 1472985 | systems/win32/miktex/tm/packages/poppler.tar.lzma 2020/08/09 | 526374 | systems/win32/miktex/tm/packages/popupmenu.tar.lzma 2018/06/04 | 314792 | systems/win32/miktex/tm/packages/postage.tar.lzma @@ -284074,8 +284078,8 @@ 2008/11/07 | 35981 | systems/win32/miktex/tm/packages/prettyref.tar.lzma 2020/10/20 | 342254 | systems/win32/miktex/tm/packages/preview.tar.lzma 2019/06/20 | 375963 | systems/win32/miktex/tm/packages/prftree.tar.lzma -2021/03/03 | 372362 | systems/win32/miktex/tm/packages/principia.tar.lzma -2021/04/22 | 849 | systems/win32/miktex/tm/packages/pr.ini +2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma +2021/04/23 | 858 | systems/win32/miktex/tm/packages/pr.ini 2010/09/27 | 248469 | systems/win32/miktex/tm/packages/printlen.tar.lzma 2008/06/17 | 77313 | systems/win32/miktex/tm/packages/proba.tar.lzma 2017/07/12 | 988486 | systems/win32/miktex/tm/packages/probsoln.tar.lzma @@ -284358,7 +284362,7 @@ 2016/07/29 | 70772 | systems/win32/miktex/tm/packages/ruhyphen.tar.lzma 2019/04/22 | 60911 | systems/win32/miktex/tm/packages/rulerbox.tar.lzma 2013/12/23 | 492254 | systems/win32/miktex/tm/packages/rulercompass.tar.lzma -2020/10/05 | 176314 | systems/win32/miktex/tm/packages/runcode.tar.lzma +2021/04/23 | 178157 | systems/win32/miktex/tm/packages/runcode.tar.lzma 2005/12/16 | 27118 | systems/win32/miktex/tm/packages/r_und_s.cab 2012/02/01 | 324827 | systems/win32/miktex/tm/packages/russ.tar.lzma 2016/07/28 | 127627 | systems/win32/miktex/tm/packages/rustic.tar.lzma @@ -284502,7 +284506,7 @@ 2008/07/22 | 360807 | systems/win32/miktex/tm/packages/sistyle.tar.lzma 2011/04/21 | 76017 | systems/win32/miktex/tm/packages/sitem.tar.lzma 2007/12/09 | 81490 | systems/win32/miktex/tm/packages/siunits.tar.lzma -2021/04/14 | 777127 | systems/win32/miktex/tm/packages/siunitx.tar.lzma +2021/04/23 | 777131 | systems/win32/miktex/tm/packages/siunitx.tar.lzma 2009/02/21 | 477338 | systems/win32/miktex/tm/packages/skaknew.tar.lzma 2018/02/08 | 221377 | systems/win32/miktex/tm/packages/skak.tar.lzma 2011/06/23 | 1471957 | systems/win32/miktex/tm/packages/skb.tar.lzma @@ -284522,7 +284526,7 @@ 2016/12/28 | 282712 | systems/win32/miktex/tm/packages/smartdiagram.tar.lzma 2010/11/05 | 325357 | systems/win32/miktex/tm/packages/smartref.tar.lzma 2016/02/07 | 345178 | systems/win32/miktex/tm/packages/smartunits.tar.lzma -2018/05/31 | 916570 | systems/win32/miktex/tm/packages/smflatex.tar.lzma +2021/04/23 | 907630 | systems/win32/miktex/tm/packages/smflatex.tar.lzma 2020/10/27 | 258191 | systems/win32/miktex/tm/packages/snapshot.tar.lzma 2020/12/21 | 454529 | systems/win32/miktex/tm/packages/snotez.tar.lzma 2010/05/10 | 1328588 | systems/win32/miktex/tm/packages/songbook.tar.lzma @@ -284804,7 +284808,7 @@ 2018/02/07 | 242117 | systems/win32/miktex/tm/packages/tikz-ladder.tar.lzma 2020/05/30 | 65821 | systems/win32/miktex/tm/packages/tikz-lake-fig.tar.lzma 2018/02/18 | 53503 | systems/win32/miktex/tm/packages/tikz-layers.tar.lzma -2021/03/25 | 614276 | systems/win32/miktex/tm/packages/tikzlings.tar.lzma +2021/04/23 | 647570 | systems/win32/miktex/tm/packages/tikzlings.tar.lzma 2021/02/22 | 444254 | systems/win32/miktex/tm/packages/tikzmark.tar.lzma 2018/11/11 | 234304 | systems/win32/miktex/tm/packages/tikzmarmots.tar.lzma 2018/07/22 | 98720 | systems/win32/miktex/tm/packages/tikz-nef.tar.lzma @@ -284907,7 +284911,7 @@ 2007/08/15 | 96223 | systems/win32/miktex/tm/packages/turnstile.tar.lzma 2011/09/04 | 79548 | systems/win32/miktex/tm/packages/turnthepage.tar.lzma 2020/06/28 | 526108 | systems/win32/miktex/tm/packages/twemoji-colr.tar.lzma -2021/02/15 | 4672540 | systems/win32/miktex/tm/packages/twemojis.tar.lzma +2021/04/23 | 4683034 | systems/win32/miktex/tm/packages/twemojis.tar.lzma 2010/02/25 | 73903 | systems/win32/miktex/tm/packages/twoinone.tar.lzma 2020/05/12 | 57155 | systems/win32/miktex/tm/packages/twoup-gen.tar.lzma 2007/02/28 | 27957 | systems/win32/miktex/tm/packages/twoup.tar.bz2 @@ -285086,6 +285090,7 @@ 2016/06/07 | 5449 | systems/win32/miktex/tm/packages/wordcount.tar.lzma 2006/04/13 | 17782 | systems/win32/miktex/tm/packages/wordlike.cab 2018/08/20 | 100026 | systems/win32/miktex/tm/packages/worksheet.tar.lzma +2021/04/23 | 3358962 | systems/win32/miktex/tm/packages/worldflags.tar.lzma 2011/04/19 | 349367 | systems/win32/miktex/tm/packages/wrapfig.tar.lzma 2013/09/09 | 413560 | systems/win32/miktex/tm/packages/wsemclassic.tar.lzma 2008/12/09 | 210037 | systems/win32/miktex/tm/packages/wsuipa.tar.lzma @@ -285122,7 +285127,7 @@ 2014/06/23 | 13295 | systems/win32/miktex/tm/packages/xetex-devanagari.tar.lzma 2008/06/21 | 2664 | systems/win32/miktex/tm/packages/xetexfontinfo.tar.lzma 2014/09/08 | 45644 | systems/win32/miktex/tm/packages/xetex-itrans.tar.lzma -2021/04/14 | 315125 | systems/win32/miktex/tm/packages/xetexko.tar.lzma +2021/04/23 | 314478 | systems/win32/miktex/tm/packages/xetexko.tar.lzma 2010/02/22 | 1496 | systems/win32/miktex/tm/packages/xetex-pstricks.tar.lzma 2019/12/13 | 158451 | systems/win32/miktex/tm/packages/xetexref.tar.lzma 2016/11/05 | 55120 | systems/win32/miktex/tm/packages/xetex.tar.lzma @@ -285137,6 +285142,7 @@ 2017/11/18 | 1593 | systems/win32/miktex/tm/packages/xii.tar.lzma 2020/10/03 | 507830 | systems/win32/miktex/tm/packages/xindex.tar.lzma 2016/11/05 | 133165 | systems/win32/miktex/tm/packages/xindy.tar.lzma +2021/04/23 | 6591 | systems/win32/miktex/tm/packages/xintsession.tar.lzma 2021/04/07 | 2423613 | systems/win32/miktex/tm/packages/xint.tar.lzma 2020/07/03 | 547474 | systems/win32/miktex/tm/packages/xits.tar.lzma 2019/10/22 | 228077 | systems/win32/miktex/tm/packages/xkcdcolors.tar.lzma @@ -285259,7 +285265,7 @@ 2021/04/08 | 5529984 | systems/win32/w32tex/aleph-w32.tar.xz 2021/04/21 | 63682868 | systems/win32/w32tex/biblatex-biber.tar.xz 2016/12/13 | 65971452 | systems/win32/w32tex/cbfonts.tar.xz -2021/04/21 | 819422 | systems/win32/w32tex/ChangeLog +2021/04/22 | 819798 | systems/win32/w32tex/ChangeLog 2009/08/03 | 141221 | systems/win32/w32tex/ChangeLog.0 2009/08/03 | 221890 | systems/win32/w32tex/ChangeLog.1 2009/08/03 | 116462 | systems/win32/w32tex/ChangeLog.2 @@ -285285,11 +285291,11 @@ 2021/03/30 | 421014648 | systems/win32/w32tex/ltxpkgdocs.tar.xz 2021/04/19 | 35209016 | systems/win32/w32tex/ltxpkgs.tar.xz 2021/04/11 | 3848920 | systems/win32/w32tex/luajittex-dev-w32.tar.xz -2021/04/21 | 3844536 | systems/win32/w32tex/luajittex-exp-w32.tar.xz +2021/04/22 | 3796504 | systems/win32/w32tex/luajittex-exp-w32.tar.xz 2021/04/20 | 3842928 | systems/win32/w32tex/luajittex-w32.tar.xz 2021/03/26 | 838276 | systems/win32/w32tex/luasec-w32.tar.xz 2021/04/11 | 18885936 | systems/win32/w32tex/luatex-dev-w32.tar.xz -2021/04/21 | 18905644 | systems/win32/w32tex/luatex-exp-w32.tar.xz +2021/04/22 | 18909404 | systems/win32/w32tex/luatex-exp-w32.tar.xz 2021/04/12 | 68821016 | systems/win32/w32tex/luatexja.tar.xz 2021/04/20 | 18678904 | systems/win32/w32tex/luatex-w32.tar.xz 2021/04/11 | 1612944 | systems/win32/w32tex/makeindex-w32.tar.xz @@ -285302,7 +285308,7 @@ 2021/04/07 | 1246480 | systems/win32/w32tex/omegaj-w32.tar.xz 2020/11/16 | 324540 | systems/win32/w32tex/otfbeta.tar.xz 2021/04/08 | 22143948 | systems/win32/w32tex/pdftex-w32.tar.xz -2021/04/21 | 97134160 | systems/win32/w32tex/pgfcontrib.tar.xz +2021/04/22 | 97474144 | systems/win32/w32tex/pgfcontrib.tar.xz 2015/01/26 | 189072 | systems/win32/w32tex/plain2-2.54-w32.tar.xz 2021/02/14 | 2826912 | systems/win32/w32tex/platex.tar.xz 2021/04/07 | 1726052 | systems/win32/w32tex/pmx.tar.xz @@ -285355,11 +285361,11 @@ 2019/11/11 | 2568 | systems/win32/w32tex/win64/latex-dev-w64.tar.xz 2021/04/07 | 800472 | systems/win32/w32tex/win64/lcdf-typetools-w64.tar.xz 2021/04/11 | 3461440 | systems/win32/w32tex/win64/luajittex-dev-w64.tar.xz -2021/04/21 | 3457116 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz +2021/04/22 | 3458232 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz 2021/04/20 | 3459816 | systems/win32/w32tex/win64/luajittex-w64.tar.xz 2021/03/26 | 936184 | systems/win32/w32tex/win64/luasec-w64.tar.xz 2021/04/11 | 3116360 | systems/win32/w32tex/win64/luatex-dev-w64.tar.xz -2021/04/21 | 3129936 | systems/win32/w32tex/win64/luatex-exp-w64.tar.xz +2021/04/22 | 3120044 | systems/win32/w32tex/win64/luatex-exp-w64.tar.xz 2021/04/20 | 3123012 | systems/win32/w32tex/win64/luatex-w64.tar.xz 2021/04/11 | 1083276 | systems/win32/w32tex/win64/makeindex-w64.tar.xz 2021/04/07 | 431500 | systems/win32/w32tex/win64/mftools-w64.tar.xz @@ -285480,7 +285486,7 @@ 2004/06/04 | 404 | tds/tds.sed 2004/06/23 | 65418 | tds/tds.tex 2019/05/29 | 304264 | tds.zip -2021/04/23 | 186 | timestamp +2021/04/24 | 186 | timestamp 2002/08/26 | 61898 | usergrps/dante/antrag.pdf 2002/08/26 | 118217 | usergrps/dante/antrag.ps 2017/06/30 | 917 | usergrps/dante/dtk/doc/beispiel.bib diff --git a/FILES.byname.gz b/FILES.byname.gz index 0b4f973012..4426ce92fd 100644 Binary files a/FILES.byname.gz and b/FILES.byname.gz differ diff --git a/FILES.last07days b/FILES.last07days index 09ae46f135..0f06ed3bd7 100644 --- a/FILES.last07days +++ b/FILES.last07days @@ -1,43 +1,295 @@ -2021/04/22 | 99605 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma -2021/04/22 | 98519 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma -2021/04/22 | 97491 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma -2021/04/22 | 97133 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma -2021/04/22 | 968699 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma -2021/04/22 | 96146 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2021/04/23 | 99606 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-x64-2.9.tar.lzma +2021/04/23 | 98517 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-2.9.tar.lzma +2021/04/23 | 97489 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-2.9.tar.lzma +2021/04/23 | 97134 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-2.9.tar.lzma +2021/04/23 | 968694 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-2.9.tar.lzma +2021/04/23 | 96148 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-2.9.tar.lzma +2021/04/23 | 94801 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma +2021/04/23 | 94738 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma +2021/04/23 | 944097 | systems/win32/miktex/tm/packages/mcf2graph.tar.lzma +2021/04/23 | 94269 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma +2021/04/23 | 907630 | systems/win32/miktex/tm/packages/smflatex.tar.lzma +2021/04/23 | 906180 | systems/texlive/tlnet/archive/tex4ht.r58970.tar.xz +2021/04/23 | 895400 | systems/win32/miktex/tm/packages/biblatex-ext.tar.lzma +2021/04/23 | 8774 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma +2021/04/23 | 87704 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma +2021/04/23 | 87638 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma +2021/04/23 | 863864 | systems/texlive/tlnet/archive/biblatex-ext.doc.r58967.tar.xz +2021/04/23 | 858 | systems/win32/miktex/tm/packages/pr.ini +2021/04/23 | 84773 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma +2021/04/23 | 816073 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma +2021/04/23 | 80661 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma +2021/04/23 | 8007124 | systems/texlive/tlnet/archive/tlgs.win32.r58969.tar.xz +2021/04/23 | 78745 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma +2021/04/23 | 781821 | systems/win32/miktex/tm/packages/mahjong.tar.lzma +2021/04/23 | 77858 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma +2021/04/23 | 777131 | systems/win32/miktex/tm/packages/siunitx.tar.lzma +2021/04/23 | 77487 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma +2021/04/23 | 7746 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma +2021/04/23 | 770393 | systems/win32/miktex/tm/packages/easybook.tar.lzma +2021/04/23 | 757338 | macros/latex/contrib/easybook.zip +2021/04/23 | 75419 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma +2021/04/23 | 748363 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma +2021/04/23 | 74164 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma +2021/04/23 | 73181 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma +2021/04/23 | 72860 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma +2021/04/23 | 72149 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma +2021/04/23 | 71569 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma +2021/04/23 | 70324 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma +2021/04/23 | 70111 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma +2021/04/23 | 680050 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma +2021/04/23 | 67930 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma +2021/04/23 | 67679 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma +2021/04/23 | 67649 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma +2021/04/23 | 675758 | systems/win32/miktex/tm/packages/figchild.tar.lzma +2021/04/23 | 67451 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2021/04/23 | 6652 | macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp +2021/04/23 | 6591 | systems/win32/miktex/tm/packages/xintsession.tar.lzma +2021/04/23 | 6575501 | systems/win32/miktex/tm/packages/inter.tar.lzma +2021/04/23 | 65732 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma +2021/04/23 | 65323 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma +2021/04/23 | 647570 | systems/win32/miktex/tm/packages/tikzlings.tar.lzma +2021/04/23 | 64017 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma +2021/04/23 | 63834 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma +2021/04/23 | 63674 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma +2021/04/23 | 62801 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma +2021/04/23 | 625944 | systems/texlive/tlnet/archive/figchild.doc.r58964.tar.xz +2021/04/23 | 6256 | systems/texlive/tlnet/archive/froufrou.source.r58968.tar.xz +2021/04/23 | 625282 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma +2021/04/23 | 62225 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma +2021/04/23 | 6190072 | systems/texlive/tlnet/install-tl-unx.tar.gz +2021/04/23 | 618763 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma +2021/04/23 | 611 | macros/latex/contrib/profcollege/metapost/PfCLaTeX.mp +2021/04/23 | 60550 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma +2021/04/23 | 59831 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma +2021/04/23 | 594869 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma +2021/04/23 | 594141 | systems/win32/miktex/tm/packages/biblatex-philosophy.tar.lzma +2021/04/23 | 59145 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma +2021/04/23 | 583626 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma +2021/04/23 | 57599 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma +2021/04/23 | 574570 | systems/win32/miktex/tm/packages/files.csv.lzma +2021/04/23 | 574558 | systems/win32/miktex/tm/packages/next/files.csv.lzma +2021/04/23 | 57066 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma +2021/04/23 | 56909 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma +2021/04/23 | 567627 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma +2021/04/23 | 56718 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma +2021/04/23 | 56457 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma +2021/04/23 | 56222 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma +2021/04/23 | 55821 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma +2021/04/23 | 55563 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma +2021/04/23 | 55219 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma +2021/04/23 | 5456 | systems/win32/miktex/tm/packages/poormanlog.tar.lzma +2021/04/23 | 540 | systems/texlive/tlnet/archive/collection-langchinese.r58965.tar.xz +2021/04/23 | 532038 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma +2021/04/23 | 52475 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma +2021/04/23 | 52455 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma +2021/04/23 | 523821 | macros/latex/contrib/profcollege/latex/ProfCollege.sty +2021/04/23 | 51980 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma +2021/04/23 | 51798 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma +2021/04/23 | 51765 | systems/win32/miktex/tm/packages/froufrou.tar.lzma +2021/04/23 | 51432 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma +2021/04/23 | 511634 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma +2021/04/23 | 51160 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma +2021/04/23 | 50847 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma +2021/04/23 | 5056 | macros/latex/contrib/profcollege/metapost/PfCAfficheur.mp +2021/04/23 | 49972 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma +2021/04/23 | 49072 | systems/texlive/tlnet/archive/figchild.r58964.tar.xz +2021/04/23 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +2021/04/23 | 484057 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma +2021/04/23 | 47878 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma +2021/04/23 | 475936 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma +2021/04/23 | 4707 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma +2021/04/23 | 47008 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma +2021/04/23 | 4683034 | systems/win32/miktex/tm/packages/twemojis.tar.lzma +2021/04/23 | 462158 | macros/latex/contrib/easybook/doc/easybook.pdf +2021/04/23 | 461401 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma +2021/04/23 | 45937 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma +2021/04/23 | 456 | systems/texlive/tlnet/archive/tlmgr-intro-zh-cn.r58965.tar.xz +2021/04/23 | 45649 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma +2021/04/23 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +2021/04/23 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc +2021/04/23 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc +2021/04/23 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc +2021/04/23 | 45278 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma +2021/04/23 | 447 | info/tlmgrbasics/README +2021/04/23 | 43676 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma +2021/04/23 | 434928 | systems/texlive/tlnet/archive/tlmgr-intro-zh-cn.doc.r58965.tar.xz +2021/04/23 | 43392 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma +2021/04/23 | 431 | macros/latex/contrib/profcollege/metapost/PfCConstantes.mp +2021/04/23 | 43057 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma +2021/04/23 | 430574 | systems/win32/miktex/tm/packages/byo-twemojis.tar.lzma +2021/04/23 | 42924 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma +2021/04/23 | 42628 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma +2021/04/23 | 42574 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma +2021/04/23 | 42388 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2021/04/23 | 4229963 | macros/latex/contrib/profcollege.zip +2021/04/23 | 420804 | systems/win32/miktex/tm/packages/fontsize.tar.lzma +2021/04/23 | 41820 | systems/texlive/tlnet/archive/froufrou.doc.r58968.tar.xz +2021/04/23 | 41102 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma +2021/04/23 | 4036 | systems/texlive/tlnet/archive/froufrou.r58968.tar.xz +2021/04/23 | 39691 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma +2021/04/23 | 39564 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma +2021/04/23 | 392596 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma +2021/04/23 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r58946.tar.xz +2021/04/23 | 38070 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma +2021/04/23 | 38064 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma +2021/04/23 | 3792 | systems/texlive/tlnet/archive/poormanlog.r58966.tar.xz +2021/04/23 | 375696 | systems/win32/miktex/tm/packages/latexmk.tar.lzma +2021/04/23 | 375689 | systems/win32/miktex/tm/packages/huawei.tar.lzma +2021/04/23 | 37294 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2021/04/23 | 37244 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma +2021/04/23 | 36679 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma +2021/04/23 | 3633977 | systems/win32/miktex/tm/packages/acmart.tar.lzma +2021/04/23 | 359360 | systems/win32/miktex/tm/packages/luatexko.tar.lzma +2021/04/23 | 35462 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma +2021/04/23 | 35065 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma +2021/04/23 | 34634 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma +2021/04/23 | 345367 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma +2021/04/23 | 3358962 | systems/win32/miktex/tm/packages/worldflags.tar.lzma +2021/04/23 | 33441 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma +2021/04/23 | 33152 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma +2021/04/23 | 330232 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma +2021/04/23 | 32744 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2021/04/23 | 321895 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma +2021/04/23 | 31952 | macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp +2021/04/23 | 31593 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma +2021/04/23 | 31543 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma +2021/04/23 | 314478 | systems/win32/miktex/tm/packages/xetexko.tar.lzma +2021/04/23 | 31343 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma +2021/04/23 | 31192 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma +2021/04/23 | 311190 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma +2021/04/23 | 30885 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma +2021/04/23 | 30037 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2021/04/23 | 29869 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma +2021/04/23 | 295555 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma +2021/04/23 | 29054 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma +2021/04/23 | 2892464 | systems/win32/miktex/tm/packages/erewhon.tar.lzma +2021/04/23 | 283978 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma +2021/04/23 | 282970 | systems/win32/miktex/tm/packages/beamerswitch.tar.lzma +2021/04/23 | 282106 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma +2021/04/23 | 28120 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma +2021/04/23 | 28009 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma +2021/04/23 | 2792 | macros/latex/contrib/easybook/doc/easybook-demo.tex +2021/04/23 | 2772127 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf +2021/04/23 | 274028 | systems/win32/miktex/tm/packages/principia.tar.lzma +2021/04/23 | 27363 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma +2021/04/23 | 27315 | macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex +2021/04/23 | 27274 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma +2021/04/23 | 27197 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma +2021/04/23 | 27183 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma +2021/04/23 | 26852 | systems/texlive/tlnet/archive/biblatex-ext.r58967.tar.xz +2021/04/23 | 268473 | macros/latex/contrib/easybook/doc/easybook-demo.pdf +2021/04/23 | 261963 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma +2021/04/23 | 2616931 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma +2021/04/23 | 258664 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma +2021/04/23 | 25341 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma +2021/04/23 | 25154 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma +2021/04/23 | 250210 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma +2021/04/23 | 25002 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma +2021/04/23 | 2499402 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma +2021/04/23 | 24962519 | systems/texlive/tlnet/install-tl.zip +2021/04/23 | 243480 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma +2021/04/23 | 239478 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma +2021/04/23 | 23882 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma +2021/04/23 | 23292 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma +2021/04/23 | 2297596 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz +2021/04/23 | 22499 | macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex +2021/04/23 | 22084 | info/tlmgrbasics/doc/tlmgr.tex +2021/04/23 | 22039 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma +2021/04/23 | 22016 | macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex +2021/04/23 | 2180993 | systems/win32/miktex/tm/packages/optex.tar.lzma +2021/04/23 | 214105 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma +2021/04/23 | 212828 | systems/texlive/tlnet/archive/texlive-scripts.doc.r58961.tar.xz +2021/04/23 | 21130 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma +2021/04/23 | 211055 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma +2021/04/23 | 209145 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma +2021/04/23 | 209123 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma +2021/04/23 | 208183 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma +2021/04/23 | 202553 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma +2021/04/23 | 20130376 | systems/texlive/tlnet/install-tl-windows.exe +2021/04/23 | 20120 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma +2021/04/23 | 2009493 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma +2021/04/23 | 2000 | systems/texlive/tlnet/archive/poormanlog.doc.r58966.tar.xz +2021/04/23 | 199699 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma +2021/04/23 | 198131 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma +2021/04/23 | 195666 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma +2021/04/23 | 195566 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma +2021/04/23 | 19500 | macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex +2021/04/23 | 193717 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma +2021/04/23 | 18307 | macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex +2021/04/23 | 18098 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma +2021/04/23 | 180048 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma +2021/04/23 | 17958 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma +2021/04/23 | 179378 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma +2021/04/23 | 178157 | systems/win32/miktex/tm/packages/runcode.tar.lzma +2021/04/23 | 174696 | systems/texlive/tlnet/archive/texlive-docindex.doc.r58946.tar.xz +2021/04/23 | 1725550 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma +2021/04/23 | 17201881 | systems/texlive/tlnet/tlpkg/texlive.tlpdb +2021/04/23 | 1702014 | systems/win32/miktex/tm/packages/erewhon-math.tar.lzma +2021/04/23 | 1681849 | macros/latex/contrib/profcollege/doc/ProfCollege-doc.zip +2021/04/23 | 167906 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma +2021/04/23 | 163656 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma +2021/04/23 | 16328 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma +2021/04/23 | 16110 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma +2021/04/23 | 159969 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2021/04/23 | 15887 | CTAN.sites +2021/04/23 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 +2021/04/23 | 153890 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma +2021/04/23 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 +2021/04/23 | 152763 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma +2021/04/23 | 150646 | info/tlmgrbasics.zip +2021/04/23 | 147151 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma +2021/04/23 | 147140 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma +2021/04/23 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 +2021/04/23 | 1453088 | systems/win32/miktex/tm/packages/circuitikz.tar.lzma +2021/04/23 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +2021/04/23 | 144531 | info/tlmgrbasics/doc/tlmgr.pdf +2021/04/23 | 14353 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma +2021/04/23 | 1425979 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma +2021/04/23 | 1424812 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2021/04/23 | 13850 | macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex +2021/04/23 | 136427 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma +2021/04/23 | 136156 | systems/texlive/tlnet/archive/tex4ht.doc.r58970.tar.xz +2021/04/23 | 135003 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma +2021/04/23 | 13469 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma +2021/04/23 | 13296 | macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp +2021/04/23 | 131489 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma +2021/04/23 | 1307723 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma +2021/04/23 | 130197 | systems/win32/miktex/tm/packages/fancypar.tar.lzma +2021/04/23 | 1295414 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma +2021/04/23 | 1281103 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma +2021/04/23 | 1268557 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma +2021/04/23 | 1268067 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma +2021/04/23 | 124973 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma +2021/04/23 | 1186001 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma +2021/04/23 | 1184710 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma +2021/04/23 | 1171730 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma +2021/04/23 | 116932 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma +2021/04/23 | 115470 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma +2021/04/23 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini +2021/04/23 | 112252 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma +2021/04/23 | 109276 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma +2021/04/23 | 1078878 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma +2021/04/23 | 107116 | systems/texlive/tlnet/archive/texlive-scripts.r58961.tar.xz +2021/04/23 | 106949 | macros/latex/contrib/easybook/easybook.dtx +2021/04/23 | 104626 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma +2021/04/23 | 104283 | macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp +2021/04/23 | 103324 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma +2021/04/23 | 102313 | macros/latex/contrib/profcollege/metapost/PfCScratch.mp +2021/04/23 | 101762 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma +2021/04/22 | 97474144 | systems/win32/w32tex/pgfcontrib.tar.xz 2021/04/22 | 955267 | macros/latex/contrib/biblatex-contrib/biblatex-ext.zip 2021/04/22 | 9517 | macros/latex/contrib/biblatex-contrib/biblatex-ext/blxextdoiapi.lua -2021/04/22 | 94802 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-2.9.tar.lzma -2021/04/22 | 94738 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-x64-2.9.tar.lzma -2021/04/22 | 94268 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-2.9.tar.lzma 2021/04/22 | 9423546 | systems/texlive/tlnet/update-tlmgr-r58938.sh -2021/04/22 | 8774 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-x64-2.9.tar.lzma -2021/04/22 | 87704 | systems/win32/miktex/tm/packages/next/miktex-png-bin-x64-2.9.tar.lzma 2021/04/22 | 8767 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-icomp.cbx -2021/04/22 | 87639 | systems/win32/miktex/tm/packages/next/miktex-epstopdf-bin-2.9.tar.lzma -2021/04/22 | 849 | systems/win32/miktex/tm/packages/pr.ini -2021/04/22 | 84774 | systems/win32/miktex/tm/packages/next/miktex-bibtex8bit-bin-2.9.tar.lzma 2021/04/22 | 833265 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.pdf 2021/04/22 | 8317 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-comp.cbx -2021/04/22 | 816072 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-x64-2.9.tar.lzma -2021/04/22 | 80661 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-x64-2.9.tar.lzma -2021/04/22 | 8007112 | systems/texlive/tlnet/archive/tlgs.win32.r58943.tar.xz +2021/04/22 | 819798 | systems/win32/w32tex/ChangeLog 2021/04/22 | 7976 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-l3draw.sty -2021/04/22 | 78745 | systems/win32/miktex/tm/packages/next/miktex-png-bin-2.9.tar.lzma -2021/04/22 | 77859 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-x64-2.9.tar.lzma -2021/04/22 | 77486 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-x64-2.9.tar.lzma -2021/04/22 | 7747 | systems/win32/miktex/tm/packages/next/miktex-md5-bin-2.9.tar.lzma -2021/04/22 | 757303 | macros/latex/contrib/easybook.zip -2021/04/22 | 75418 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-x64-2.9.tar.lzma -2021/04/22 | 748364 | systems/win32/miktex/tm/packages/next/miktex-pdftex-bin-2.9.tar.lzma -2021/04/22 | 74164 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-x64-2.9.tar.lzma -2021/04/22 | 73181 | systems/win32/miktex/tm/packages/next/miktex-fonts-bin-2.9.tar.lzma 2021/04/22 | 730124 | systems/texlive/tlnet/archive/easybook.doc.r58936.tar.xz -2021/04/22 | 72861 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-x64-2.9.tar.lzma -2021/04/22 | 72150 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-x64-2.9.tar.lzma 2021/04/22 | 719 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.cbx 2021/04/22 | 716 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.cbx 2021/04/22 | 716 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.bbx -2021/04/22 | 71569 | systems/win32/miktex/tm/packages/next/miktex-freeglut-bin-2.9.tar.lzma 2021/04/22 | 714 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.cbx 2021/04/22 | 714 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.cbx 2021/04/22 | 714 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.cbx @@ -47,9 +299,7 @@ 2021/04/22 | 703 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.bbx 2021/04/22 | 703 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.bbx 2021/04/22 | 703 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.bbx -2021/04/22 | 70324 | systems/win32/miktex/tm/packages/next/miktex-web-bin-x64-2.9.tar.lzma 2021/04/22 | 701 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.bbx -2021/04/22 | 70110 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-x64-2.9.tar.lzma 2021/04/22 | 700 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.bbx 2021/04/22 | 700 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.bbx 2021/04/22 | 700 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.bbx @@ -62,270 +312,93 @@ 2021/04/22 | 692 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.bbx 2021/04/22 | 689 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.bbx 2021/04/22 | 685 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.bbx -2021/04/22 | 680050 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-x64-2.9.tar.lzma -2021/04/22 | 67928 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-x64-2.9.tar.lzma 2021/04/22 | 678 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.bbx -2021/04/22 | 67680 | systems/win32/miktex/tm/packages/next/miktex-bibtex-bin-2.9.tar.lzma -2021/04/22 | 67650 | systems/win32/miktex/tm/packages/next/miktex-lzma-bin-2.9.tar.lzma -2021/04/22 | 67451 | systems/win32/miktex/tm/packages/next/miktex-mpmcli-bin-2.9.tar.lzma +2021/04/22 | 6750 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2021/04/22 | 6672 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tiecomp.cbx -2021/04/22 | 65732 | systems/win32/miktex/tm/packages/next/miktex-web-bin-2.9.tar.lzma -2021/04/22 | 65322 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-x64-2.9.tar.lzma 2021/04/22 | 641 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad3.bbx 2021/04/22 | 641 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad2.bbx 2021/04/22 | 641 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-trad1.bbx 2021/04/22 | 641 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-inote.bbx -2021/04/22 | 64017 | systems/win32/miktex/tm/packages/next/miktex-ps2pk-bin-2.9.tar.lzma 2021/04/22 | 638 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note.bbx 2021/04/22 | 638 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-ibid.bbx 2021/04/22 | 638 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.bbx 2021/04/22 | 638 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.bbx -2021/04/22 | 63836 | systems/win32/miktex/tm/packages/next/miktex-graphite2-bin-2.9.tar.lzma -2021/04/22 | 63674 | systems/win32/miktex/tm/packages/next/miktex-tex4ht-bin-2.9.tar.lzma 2021/04/22 | 629 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.bbx -2021/04/22 | 62801 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-x64-2.9.tar.lzma -2021/04/22 | 625283 | systems/win32/miktex/tm/packages/next/miktex-lcdf-typetools-bin-2.9.tar.lzma 2021/04/22 | 623 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose.bbx -2021/04/22 | 62226 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-x64-2.9.tar.lzma 2021/04/22 | 620 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.bbx -2021/04/22 | 6190104 | systems/texlive/tlnet/install-tl-unx.tar.gz -2021/04/22 | 618767 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-x64-2.9.tar.lzma 2021/04/22 | 6172 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tecomp.cbx 2021/04/22 | 6138 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-icomp.cbx 2021/04/22 | 6130 | macros/latex/contrib/biblatex-contrib/biblatex-ext/README.md 2021/04/22 | 6075 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-tikz.sty 2021/04/22 | 605 | info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.tex -2021/04/22 | 60552 | systems/win32/miktex/tm/packages/next/miktex-mkfntmap-bin-2.9.tar.lzma -2021/04/22 | 59830 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin-x64.tar.lzma -2021/04/22 | 594869 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-x64-2.9.tar.lzma -2021/04/22 | 59145 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-x64-2.9.tar.lzma -2021/04/22 | 583631 | systems/win32/miktex/tm/packages/next/miktex-yap-bin-2.9.tar.lzma +2021/04/22 | 58 | systems/mac/mactex/MacTeXtras-20210422.zip.md5 2021/04/22 | 5834 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-comp.cbx 2021/04/22 | 577600 | systems/texlive/tlnet/archive/texlive-common.doc.r58933.tar.xz 2021/04/22 | 5774 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ticomp.cbx -2021/04/22 | 57599 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-x64-2.9.tar.lzma -2021/04/22 | 574552 | systems/win32/miktex/tm/packages/next/files.csv.lzma -2021/04/22 | 574530 | systems/win32/miktex/tm/packages/files.csv.lzma 2021/04/22 | 5734 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ibid.cbx -2021/04/22 | 57065 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin-x64.tar.lzma -2021/04/22 | 56909 | systems/win32/miktex/tm/packages/next/miktex-texify-bin-2.9.tar.lzma -2021/04/22 | 567624 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-x64-2.9.tar.lzma -2021/04/22 | 56718 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-x64-2.9.tar.lzma -2021/04/22 | 56456 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-x64-2.9.tar.lzma -2021/04/22 | 56221 | systems/win32/miktex/tm/packages/next/miktex-tdsutil-bin.tar.lzma 2021/04/22 | 5587 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oasymb-pict2e.sty -2021/04/22 | 55823 | systems/win32/miktex/tm/packages/next/miktex-fmt-bin-2.9.tar.lzma -2021/04/22 | 55563 | systems/win32/miktex/tm/packages/next/miktex-xml2pmx-bin.tar.lzma -2021/04/22 | 55218 | systems/win32/miktex/tm/packages/next/miktex-ttf2pk2-bin-2.9.tar.lzma 2021/04/22 | 5505 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear.cbx 2021/04/22 | 533 | macros/latex/contrib/froufrou/LICENSE 2021/04/22 | 5337 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-tcomp.cbx -2021/04/22 | 532038 | systems/win32/miktex/tm/packages/next/miktex-libressl-bin-2.9.tar.lzma -2021/04/22 | 52477 | systems/win32/miktex/tm/packages/next/miktex-cweb-bin-2.9.tar.lzma -2021/04/22 | 52454 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-x64-2.9.tar.lzma -2021/04/22 | 51979 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-x64-2.9.tar.lzma -2021/04/22 | 51796 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-x64-2.9.tar.lzma -2021/04/22 | 51433 | systems/win32/miktex/tm/packages/next/miktex-cjkutils-bin-2.9.tar.lzma -2021/04/22 | 511634 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-x64-2.9.tar.lzma -2021/04/22 | 51160 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-x64-2.9.tar.lzma 2021/04/22 | 508 | macros/latex/contrib/froufrou/README.md -2021/04/22 | 50848 | systems/win32/miktex/tm/packages/next/miktex-arctrl-bin-2.9.tar.lzma -2021/04/22 | 49973 | systems/win32/miktex/tm/packages/next/miktex-bibarts-bin-2.9.tar.lzma -2021/04/22 | 498384 | systems/texlive/tlnet/archive/figchild.doc.r58935.tar.xz 2021/04/22 | 4934 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-common.bbx 2021/04/22 | 4916 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ibid.cbx -2021/04/22 | 49024 | systems/texlive/tlnet/archive/figchild.r58935.tar.xz -2021/04/22 | 48 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 2021/04/22 | 48717 | macros/latex/contrib/froufrou.zip -2021/04/22 | 484057 | systems/win32/miktex/tm/packages/next/miktex-harfbuzz-bin-2.9.tar.lzma -2021/04/22 | 47877 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-x64-2.9.tar.lzma -2021/04/22 | 475937 | systems/win32/miktex/tm/packages/next/miktex-log4cxx-bin-2.9.tar.lzma 2021/04/22 | 4758 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-comp.cbx -2021/04/22 | 4707 | systems/win32/miktex/tm/packages/next/miktex-config-2.9.tar.lzma -2021/04/22 | 47008 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-x64-2.9.tar.lzma 2021/04/22 | 4698 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle.cbx -2021/04/22 | 462235 | macros/latex/contrib/easybook/doc/easybook.pdf -2021/04/22 | 461396 | systems/win32/miktex/tm/packages/next/miktex-doc.tar.lzma -2021/04/22 | 45937 | systems/win32/miktex/tm/packages/next/miktex-m-tx-bin-2.9.tar.lzma 2021/04/22 | 4577 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-ticomp.cbx -2021/04/22 | 45650 | systems/win32/miktex/tm/packages/next/miktex-dvicopy-bin-2.9.tar.lzma 2021/04/22 | 455 | systems/texlive/tlnet/update-tlmgr-r58938.sh.sha512.asc 2021/04/22 | 455 | systems/texlive/tlnet/update-tlmgr-r58938.exe.sha512.asc -2021/04/22 | 455 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc -2021/04/22 | 455 | systems/texlive/tlnet/install-tl.zip.sha512.asc -2021/04/22 | 455 | systems/texlive/tlnet/install-tl-windows.exe.sha512.asc -2021/04/22 | 455 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512.asc -2021/04/22 | 45277 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-x64-2.9.tar.lzma 2021/04/22 | 439165 | info/tlmgr-intro-zh-cn.zip -2021/04/22 | 43676 | systems/win32/miktex/tm/packages/next/miktex-psutils-bin-2.9.tar.lzma -2021/04/22 | 43389 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-x64-2.9.tar.lzma -2021/04/22 | 43058 | systems/win32/miktex/tm/packages/next/miktex-expat-bin-2.9.tar.lzma 2021/04/22 | 42957 | macros/latex/contrib/froufrou/froufrou.pdf -2021/04/22 | 42924 | systems/win32/miktex/tm/packages/next/miktex-mtprint-bin-2.9.tar.lzma -2021/04/22 | 42627 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-x64-2.9.tar.lzma -2021/04/22 | 42574 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-x64-2.9.tar.lzma -2021/04/22 | 42389 | systems/win32/miktex/tm/packages/next/miktex-synctex-bin-2.9.tar.lzma +2021/04/22 | 416530836 | systems/mac/mactex/MacTeXtras-20210422.zip 2021/04/22 | 4112 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric.cbx -2021/04/22 | 41102 | systems/win32/miktex/tm/packages/next/miktex-dvipng-bin-2.9.tar.lzma 2021/04/22 | 4034494 | systems/texlive/tlnet/update-tlmgr-r58938.exe 2021/04/22 | 3986 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-tcomp.cbx -2021/04/22 | 39690 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin-x64.tar.lzma -2021/04/22 | 39564 | systems/win32/miktex/tm/packages/next/miktex-zlib-bin-2.9.tar.lzma -2021/04/22 | 392596 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-x64-2.9.tar.lzma -2021/04/22 | 388 | systems/texlive/tlnet/archive/texlive-docindex.r58933.tar.xz 2021/04/22 | 3812 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic.cbx -2021/04/22 | 38070 | systems/win32/miktex/tm/packages/next/miktex-gsf2pk-bin-2.9.tar.lzma -2021/04/22 | 38065 | systems/win32/miktex/tm/packages/next/miktex-mthelp-bin-2.9.tar.lzma -2021/04/22 | 37294 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin-x64.tar.lzma +2021/04/22 | 38116 | systems/mac/mactex/ExtrasFolder.pdf +2021/04/22 | 3796504 | systems/win32/w32tex/luajittex-exp-w32.tar.xz 2021/04/22 | 37284 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-standard.bbx -2021/04/22 | 37244 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-x64-2.9.tar.lzma 2021/04/22 | 368005 | info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.pdf -2021/04/22 | 36679 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-x64-2.9.tar.lzma 2021/04/22 | 3633 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa-doiapi.sty 2021/04/22 | 3549 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-numeric-verb.cbx -2021/04/22 | 35463 | systems/win32/miktex/tm/packages/next/miktex-patgen-bin.tar.lzma -2021/04/22 | 35063 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-x64-2.9.tar.lzma 2021/04/22 | 348 | systems/texlive/tlnet/archive/texlive-common.r58933.tar.xz -2021/04/22 | 34634 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-x64-2.9.tar.lzma -2021/04/22 | 345366 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-x64-2.9.tar.lzma -2021/04/22 | 33441 | systems/win32/miktex/tm/packages/next/miktex-upmendex-bin.tar.lzma -2021/04/22 | 33153 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-x64-2.9.tar.lzma -2021/04/22 | 330233 | systems/win32/miktex/tm/packages/next/miktex-cairo-bin-2.9.tar.lzma -2021/04/22 | 32745 | systems/win32/miktex/tm/packages/next/miktex-chktex-bin-2.9.tar.lzma +2021/04/22 | 3458232 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz 2021/04/22 | 3250 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-alphabetic-verb.cbx -2021/04/22 | 321894 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-x64-2.9.tar.lzma -2021/04/22 | 31594 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-x64-2.9.tar.lzma -2021/04/22 | 31544 | systems/win32/miktex/tm/packages/next/miktex-posix-bin-2.9.tar.lzma -2021/04/22 | 31345 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-x64-2.9.tar.lzma -2021/04/22 | 31192 | systems/win32/miktex/tm/packages/next/miktex-mspack-bin-2.9.tar.lzma -2021/04/22 | 311192 | systems/win32/miktex/tm/packages/next/miktex-xetex-bin-2.9.tar.lzma -2021/04/22 | 30885 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-x64-2.9.tar.lzma -2021/04/22 | 30038 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-x64-2.9.tar.lzma +2021/04/22 | 3120044 | systems/win32/w32tex/win64/luatex-exp-w64.tar.xz 2021/04/22 | 2996 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-common.cbx -2021/04/22 | 29870 | systems/win32/miktex/tm/packages/next/miktex-axohelp-bin-2.9.tar.lzma -2021/04/22 | 295554 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-x64-2.9.tar.lzma 2021/04/22 | 2943 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-dashed-common.bbx -2021/04/22 | 29054 | systems/win32/miktex/tm/packages/next/miktex-autosp-bin-2.9.tar.lzma -2021/04/22 | 283978 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-x64-2.9.tar.lzma -2021/04/22 | 282105 | systems/win32/miktex/tm/packages/next/miktex-dvipdfmx-bin-2.9.tar.lzma -2021/04/22 | 28120 | systems/win32/miktex/tm/packages/next/miktex-lacheck-bin-2.9.tar.lzma -2021/04/22 | 28008 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-x64-2.9.tar.lzma -2021/04/22 | 2792 | macros/latex/contrib/easybook/doc/easybook-demo.tex -2021/04/22 | 27362 | systems/win32/miktex/tm/packages/next/miktex-makeindex-bin-2.9.tar.lzma -2021/04/22 | 27274 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-x64-2.9.tar.lzma -2021/04/22 | 27198 | systems/win32/miktex/tm/packages/next/miktex-uriparser-bin-2.9.tar.lzma -2021/04/22 | 27183 | systems/win32/miktex/tm/packages/next/miktex-bzip2-bin-2.9.tar.lzma -2021/04/22 | 268475 | macros/latex/contrib/easybook/doc/easybook-demo.pdf -2021/04/22 | 261963 | systems/win32/miktex/tm/packages/next/miktex-console-bin-x64-2.9.tar.lzma -2021/04/22 | 2616931 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-x64-2.9.tar.lzma -2021/04/22 | 258665 | systems/win32/miktex/tm/packages/next/miktex-freetype2-bin-2.9.tar.lzma 2021/04/22 | 25748 | systems/texlive/tlnet/archive/easybook.source.r58936.tar.xz -2021/04/22 | 25340 | systems/win32/miktex/tm/packages/next/miktex-teckit-bin-2.9.tar.lzma -2021/04/22 | 25156 | systems/win32/miktex/tm/packages/next/miktex-findtexmf-bin-2.9.tar.lzma -2021/04/22 | 250212 | systems/win32/miktex/tm/packages/next/miktex-metapost-bin-2.9.tar.lzma -2021/04/22 | 25001 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-x64-2.9.tar.lzma -2021/04/22 | 2499402 | systems/win32/miktex/tm/packages/next/miktex-texworks-bin-2.9.tar.lzma -2021/04/22 | 24962530 | systems/texlive/tlnet/install-tl.zip -2021/04/22 | 243479 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-x64-2.9.tar.lzma -2021/04/22 | 239478 | systems/win32/miktex/tm/packages/next/miktex-console-bin-2.9.tar.lzma -2021/04/22 | 23883 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-x64-2.9.tar.lzma -2021/04/22 | 23290 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-x64-2.9.tar.lzma -2021/04/22 | 2298216 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz 2021/04/22 | 228208 | systems/texlive/tlnet/archive/texlive.infra.r58938.tar.xz -2021/04/22 | 22040 | systems/win32/miktex/tm/packages/next/miktex-fribidixetex-bin-2.9.tar.lzma -2021/04/22 | 214102 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-x64-2.9.tar.lzma -2021/04/22 | 212828 | systems/texlive/tlnet/archive/texlive-scripts.doc.r58938.tar.xz 2021/04/22 | 2122040 | systems/texlive/tlnet/archive/worldflags.doc.r58934.tar.xz -2021/04/22 | 21131 | systems/win32/miktex/tm/packages/next/miktex-devnag-bin-2.9.tar.lzma -2021/04/22 | 211055 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-x64-2.9.tar.lzma -2021/04/22 | 208945 | systems/win32/miktex/tm/packages/miktex-zzdb1-2.9.tar.lzma -2021/04/22 | 208852 | systems/win32/miktex/tm/packages/next/miktex-zzdb1-2.9.tar.lzma 2021/04/22 | 2087 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-terse.cbx -2021/04/22 | 208181 | systems/win32/miktex/tm/packages/next/miktex-pmx-bin-2.9.tar.lzma 2021/04/22 | 207600 | systems/texlive/tlnet/archive/texlive.infra.doc.r58938.tar.xz 2021/04/22 | 2061 | macros/latex/contrib/froufrou/froufrou.ins 2021/04/22 | 2047932 | systems/texlive/tlnet/archive/arara.doc.r58933.tar.xz -2021/04/22 | 202557 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-x64-2.9.tar.lzma -2021/04/22 | 20129646 | systems/texlive/tlnet/install-tl-windows.exe -2021/04/22 | 20121 | systems/win32/miktex/tm/packages/next/miktex-popt-bin-2.9.tar.lzma -2021/04/22 | 2009489 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-x64-2.9.tar.lzma -2021/04/22 | 199698 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-2.9.tar.lzma -2021/04/22 | 198131 | systems/win32/miktex/tm/packages/next/miktex-pixman-bin-2.9.tar.lzma -2021/04/22 | 195665 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-x64-2.9.tar.lzma -2021/04/22 | 195567 | systems/win32/miktex/tm/packages/next/miktex-metafont-bin-2.9.tar.lzma -2021/04/22 | 193715 | systems/win32/miktex/tm/packages/next/miktex-omegaware-bin-2.9.tar.lzma +2021/04/22 | 18909404 | systems/win32/w32tex/luatex-exp-w32.tar.xz 2021/04/22 | 1849 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-terse.cbx -2021/04/22 | 18097 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-x64-2.9.tar.lzma -2021/04/22 | 180048 | systems/win32/miktex/tm/packages/next/miktex-mpfr-bin-x64-2.9.tar.lzma -2021/04/22 | 17958 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-x64-2.9.tar.lzma -2021/04/22 | 179380 | systems/win32/miktex/tm/packages/next/miktex-curl-bin-2.9.tar.lzma -2021/04/22 | 174724 | systems/texlive/tlnet/archive/texlive-docindex.doc.r58933.tar.xz -2021/04/22 | 1725547 | systems/win32/miktex/tm/packages/next/miktex-luatex-bin-2.9.tar.lzma -2021/04/22 | 17200101 | systems/texlive/tlnet/tlpkg/texlive.tlpdb -2021/04/22 | 167905 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-x64-2.9.tar.lzma -2021/04/22 | 163657 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-x64-2.9.tar.lzma -2021/04/22 | 16327 | systems/win32/miktex/tm/packages/next/miktex-kpathsea-bin-2.9.tar.lzma -2021/04/22 | 16110 | systems/win32/miktex/tm/packages/next/miktex-tex2xindy-bin-2.9.tar.lzma -2021/04/22 | 159969 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-x64-2.9.tar.lzma +2021/04/22 | 1711 | systems/mac/mactex/Licenses.txt 2021/04/22 | 158870 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext.tex -2021/04/22 | 15884 | CTAN.sites 2021/04/22 | 154 | systems/texlive/tlnet/update-tlmgr-r58938.exe.sha512 2021/04/22 | 153 | systems/texlive/tlnet/update-tlmgr-r58938.sh.sha512 -2021/04/22 | 153 | systems/texlive/tlnet/install-tl-windows.exe.sha512 -2021/04/22 | 153889 | systems/win32/miktex/tm/packages/next/miktex-tex-bin-2.9.tar.lzma -2021/04/22 | 152 | systems/texlive/tlnet/install-tl-unx.tar.gz.sha512 -2021/04/22 | 152761 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-x64-2.9.tar.lzma 2021/04/22 | 15163 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-oa.sty 2021/04/22 | 14716 | macros/latex/contrib/froufrou/froufrou.dtx -2021/04/22 | 147150 | systems/win32/miktex/tm/packages/next/miktex-mo-bin-2.9.tar.lzma -2021/04/22 | 147139 | systems/win32/miktex/tm/packages/next/miktex-hunspell-bin-2.9.tar.lzma -2021/04/22 | 145 | systems/texlive/tlnet/install-tl.zip.sha512 -2021/04/22 | 144 | systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 -2021/04/22 | 14353 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-x64-2.9.tar.lzma -2021/04/22 | 1425981 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-x64-2.9.tar.lzma -2021/04/22 | 1424810 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-x64-2.9.tar.lzma +2021/04/22 | 142709 | systems/texlive/tlnet/tlpkg/TeXLive/TLUtils.pm 2021/04/22 | 1403 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-verbose-note-common.cbx 2021/04/22 | 1392 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authortitle-common.bbx -2021/04/22 | 136426 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-x64-2.9.tar.lzma -2021/04/22 | 135005 | systems/win32/miktex/tm/packages/next/miktex-fontconfig-bin-2.9.tar.lzma -2021/04/22 | 13469 | systems/win32/miktex/tm/packages/next/miktex-zzip-bin-2.9.tar.lzma -2021/04/22 | 131490 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-x64-2.9.tar.lzma -2021/04/22 | 1307724 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-x64-2.9.tar.lzma -2021/04/22 | 1295413 | systems/win32/miktex/tm/packages/next/miktex-runtime-bin-2.9.tar.lzma 2021/04/22 | 1285 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-examples.bib -2021/04/22 | 1281104 | systems/win32/miktex/tm/packages/next/miktex-dvisvgm-bin-2.9.tar.lzma -2021/04/22 | 1267470 | systems/win32/miktex/tm/packages/miktex-zzdb2-2.9.tar.lzma -2021/04/22 | 1267156 | systems/win32/miktex/tm/packages/next/miktex-zzdb2-2.9.tar.lzma -2021/04/22 | 124974 | systems/win32/miktex/tm/packages/next/miktex-mktex-bin-2.9.tar.lzma 2021/04/22 | 12353 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-biblatex-aux.def 2021/04/22 | 1220108 | systems/texlive/tlnet/archive/worldflags.r58934.tar.xz 2021/04/22 | 12190 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-iecomp.cbx 2021/04/22 | 12072 | macros/latex/contrib/biblatex-contrib/biblatex-ext/CHANGES.md 2021/04/22 | 12024 | systems/texlive/tlnet/archive/easybook.r58936.tar.xz -2021/04/22 | 1184092 | systems/win32/miktex/tm/packages/miktex-zzdb3-2.9.tar.lzma -2021/04/22 | 1183313 | systems/win32/miktex/tm/packages/next/miktex-zzdb3-2.9.tar.lzma 2021/04/22 | 11725 | macros/latex/contrib/biblatex-contrib/biblatex-ext/ext-authoryear-ecomp.cbx -2021/04/22 | 1171730 | systems/win32/miktex/tm/packages/next/miktex-poppler-bin-2.9.tar.lzma -2021/04/22 | 116930 | systems/win32/miktex/tm/packages/next/miktex-dvips-bin-2.9.tar.lzma -2021/04/22 | 115470 | systems/win32/miktex/tm/packages/next/miktex-gregorio-bin-x64-2.9.tar.lzma -2021/04/22 | 1153 | systems/win32/miktex/tm/packages/next/pr.ini -2021/04/22 | 112252 | systems/win32/miktex/tm/packages/next/miktex-gd-bin-x64-2.9.tar.lzma -2021/04/22 | 109276 | systems/win32/miktex/tm/packages/next/miktex-jpeg-bin-x64-2.9.tar.lzma 2021/04/22 | 10877 | macros/latex/contrib/biblatex-contrib/biblatex-ext/biblatex-ext-tabular.sty -2021/04/22 | 1078877 | systems/win32/miktex/tm/packages/next/miktex-asymptote-bin-x64-2.9.tar.lzma -2021/04/22 | 107168 | systems/texlive/tlnet/archive/texlive-scripts.r58938.tar.xz -2021/04/22 | 106924 | macros/latex/contrib/easybook/easybook.dtx -2021/04/22 | 104625 | systems/win32/miktex/tm/packages/next/miktex-texware-bin-x64-2.9.tar.lzma 2021/04/22 | 10395304 | systems/texlive/tlnet/archive/arara.r58933.tar.xz -2021/04/22 | 103323 | systems/win32/miktex/tm/packages/next/miktex-lua53-bin-x64-2.9.tar.lzma -2021/04/22 | 101763 | systems/win32/miktex/tm/packages/next/miktex-mfware-bin-x64-2.9.tar.lzma 2021/04/22 | 100204 | systems/texlive/tlnet/archive/arara.source.r58933.tar.xz -2021/04/21 | 97134160 | systems/win32/w32tex/pgfcontrib.tar.xz 2021/04/21 | 828 | info/tlmgr-intro-zh-cn/latexmkrc -2021/04/21 | 819422 | systems/win32/w32tex/ChangeLog 2021/04/21 | 7871 | usergrps/usergrps/index.html 2021/04/21 | 686446 | graphics/pgf/contrib/figchild.zip -2021/04/21 | 6791 | systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl 2021/04/21 | 65954 | usergrps/usergrps/lugs.html 2021/04/21 | 63682868 | systems/win32/w32tex/biblatex-biber.tar.xz 2021/04/21 | 626280 | graphics/pgf/contrib/figchild/figchild.pdf @@ -339,13 +412,10 @@ 2021/04/21 | 4052 | macros/generic/poormanlog/README 2021/04/21 | 40052 | systems/texlive/tlnet/archive/biblatex-philosophy.source.r58925.tar.xz 2021/04/21 | 3940536 | graphics/pgf/contrib/worldflags.zip -2021/04/21 | 3844536 | systems/win32/w32tex/luajittex-exp-w32.tar.xz 2021/04/21 | 368097 | graphics/pgf/contrib/figchild/figchild.sty 2021/04/21 | 35149 | info/tlmgr-intro-zh-cn/LICENSE -2021/04/21 | 3457116 | systems/win32/w32tex/win64/luajittex-exp-w64.tar.xz 2021/04/21 | 336848 | systems/texlive/tlnet/archive/luatexko.doc.r58928.tar.xz 2021/04/21 | 31 | graphics/pgf/contrib/figchild/latexmkrc -2021/04/21 | 3129936 | systems/win32/w32tex/win64/luatex-exp-w64.tar.xz 2021/04/21 | 3020 | info/tlmgr-intro-zh-cn/body/mirrors.tex 2021/04/21 | 281 | graphics/pgf/contrib/worldflags/tex/worldflag_PL.tex 2021/04/21 | 2776 | systems/texlive/tlnet/archive/principia.r58927.tar.xz @@ -355,7 +425,6 @@ 2021/04/21 | 2282 | info/tlmgr-intro-zh-cn/body/preface.tex 2021/04/21 | 22400 | systems/texlive/tlnet/archive/luatexko.r58928.tar.xz 2021/04/21 | 2141948 | graphics/pgf/contrib/worldflags/doc/worldflags.pdf -2021/04/21 | 18905644 | systems/win32/w32tex/luatex-exp-w32.tar.xz 2021/04/21 | 1815 | info/tlmgr-intro-zh-cn/tlmgr-intro-zh-cn.sty 2021/04/21 | 1753 | info/tlmgr-intro-zh-cn/body/syntex.tex 2021/04/21 | 1649 | info/tlmgr-intro-zh-cn/body/options.tex @@ -487,7 +556,6 @@ 2021/04/19 | 9589 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e6-1f1e8.pdf 2021/04/19 | 9293 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f3-1f1eb.pdf 2021/04/19 | 917548 | systems/texlive/tlnet/archive/mcf2graph.doc.r58904.tar.xz -2021/04/19 | 906248 | systems/texlive/tlnet/archive/tex4ht.r58902.tar.xz 2021/04/19 | 9009 | macros/latex/contrib/principia/principia.sty 2021/04/19 | 8554 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f5-1f1f2.pdf 2021/04/19 | 8289 | macros/latex/contrib/twemojis/pdf-twemojis/1f1e7-1f1ff.pdf @@ -3633,7 +3701,6 @@ 2021/04/19 | 1361 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f8-1f1ef.pdf 2021/04/19 | 1361 | macros/latex/contrib/twemojis/pdf-twemojis/1f1f3-1f1f4.pdf 2021/04/19 | 1361 | macros/latex/contrib/twemojis/pdf-twemojis/1f194.pdf -2021/04/19 | 136156 | systems/texlive/tlnet/archive/tex4ht.doc.r58902.tar.xz 2021/04/19 | 1360 | macros/latex/contrib/twemojis/pdf-twemojis/1f1ee-1f1f8.pdf 2021/04/19 | 1359 | macros/latex/contrib/twemojis/pdf-twemojis/1f458.pdf 2021/04/19 | 1358 | macros/latex/contrib/twemojis/pdf-twemojis/1f4a6.pdf @@ -4243,35 +4310,3 @@ 2021/04/17 | 1028132 | macros/latex/contrib/acmart/samples/sample-sigplan.pdf 2021/04/17 | 1022847 | macros/latex/contrib/acmart/samples/sample-authordraft.pdf 2021/04/17 | 1019039 | macros/latex/contrib/acmart/samples/sample-sigconf.pdf -2021/04/16 | 9561 | graphics/pgf/contrib/tikzlings/tikzlings-squirrels.sty -2021/04/16 | 9063 | graphics/pgf/contrib/tikzlings/tikzlings-penguins.sty -2021/04/16 | 8975 | graphics/pgf/contrib/tikzlings/tikzlings-moles.sty -2021/04/16 | 8876 | graphics/pgf/contrib/tikzlings/tikzlings-rhinos.sty -2021/04/16 | 8222 | graphics/pgf/contrib/tikzlings/tikzlings-snowmen.sty -2021/04/16 | 8112 | graphics/pgf/contrib/tikzlings/tikzlings-hippos.sty -2021/04/16 | 7995 | graphics/pgf/contrib/tikzlings/tikzlings-elephants.sty -2021/04/16 | 7859 | graphics/pgf/contrib/tikzlings/tikzlings-bees.sty -2021/04/16 | 7614 | graphics/pgf/contrib/tikzlings/tikzlings-owls.sty -2021/04/16 | 7096 | graphics/pgf/contrib/tikzlings/tikzlings-pandas.sty -2021/04/16 | 677448 | graphics/pgf/contrib/tikzlings.zip -2021/04/16 | 6749 | fonts/inter/latex/inter.sty -2021/04/16 | 6513 | graphics/pgf/contrib/tikzlings/tikzlings-bears.sty -2021/04/16 | 629 | graphics/pgf/contrib/tikzlings/tikzlings-list.sty -2021/04/16 | 629974 | graphics/pgf/contrib/tikzlings/tikzlings-doc.pdf -2021/04/16 | 47296 | graphics/pgf/contrib/tikzlings/tikzlings-doc.tex -2021/04/16 | 459604 | support/latexmk.zip -2021/04/16 | 40843 | graphics/pgf/contrib/tikzlings/tikzlings-addons.sty -2021/04/16 | 3383 | graphics/pgf/contrib/tikzlings/tikzlings.sty -2021/04/16 | 1870 | fonts/inter/README -2021/04/16 | 16884 | graphics/pgf/contrib/tikzlings/tikzlings-sloths.sty -2021/04/16 | 16259 | graphics/pgf/contrib/tikzlings/tikzlings-chickens.sty -2021/04/16 | 14391 | graphics/pgf/contrib/tikzlings/tikzlings-cats.sty -2021/04/16 | 13789 | graphics/pgf/contrib/tikzlings/tikzlings-coatis.sty -2021/04/16 | 1228 | graphics/pgf/contrib/tikzlings/README.md -2021/04/16 | 11 | usergrps/gutenberg/VERSION -2021/04/16 | 11673 | graphics/pgf/contrib/tikzlings/tikzlings-sheep.sty -2021/04/16 | 11652 | graphics/pgf/contrib/tikzlings/tikzlings-marmots.sty -2021/04/16 | 11178 | graphics/pgf/contrib/tikzlings/tikzlings-anteaters.sty -2021/04/16 | 10882 | graphics/pgf/contrib/tikzlings/tikzlings-mice.sty -2021/04/16 | 10715 | graphics/pgf/contrib/tikzlings/tikzlings-pigs.sty -2021/04/16 | 10125 | graphics/pgf/contrib/tikzlings/tikzlings-koalas.sty diff --git a/info/tlmgrbasics/README b/info/tlmgrbasics/README index d5b81524a6..1beeb6b843 100644 --- a/info/tlmgrbasics/README +++ b/info/tlmgrbasics/README @@ -1,4 +1,5 @@ -This is the README for the tlmgrBasics package, version 2020-08-31. +This is the README for the tlmgrbasics package, +version 2021-04-23. This package provides simplified documentation for tlmgr, the TeX Live Native Manager. It is derived from tlmgr.1, the diff --git a/info/tlmgrbasics/doc/tlmgr.pdf b/info/tlmgrbasics/doc/tlmgr.pdf index 204a7dc513..f27e2cebca 100644 Binary files a/info/tlmgrbasics/doc/tlmgr.pdf and b/info/tlmgrbasics/doc/tlmgr.pdf differ diff --git a/info/tlmgrbasics/doc/tlmgr.tex b/info/tlmgrbasics/doc/tlmgr.tex index f0c5eb7813..41392026c0 100644 --- a/info/tlmgrbasics/doc/tlmgr.tex +++ b/info/tlmgrbasics/doc/tlmgr.tex @@ -98,7 +98,7 @@ Displays reference documentation on the \texttt{install} action. Tells \texttt{tlmgr} to use a nearby CTAN mirror for future updates; \texttt{ctan} is just an alias for -\url{http://mirror.ctan.org/systems/texlive/tlnet}. Caveat: +\url{https://mirror.ctan.org/systems/texlive/tlnet}. Caveat: \texttt{mirror.ctan.org} resolves to many different hosts, and they are not perfectly synchronized; we recommend updating only daily (at most), and not more diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.pdf b/macros/latex/contrib/easybook/doc/easybook-demo.pdf index 290b8b6b10..5a65caeff2 100644 Binary files a/macros/latex/contrib/easybook/doc/easybook-demo.pdf and b/macros/latex/contrib/easybook/doc/easybook-demo.pdf differ diff --git a/macros/latex/contrib/easybook/doc/easybook-demo.tex b/macros/latex/contrib/easybook/doc/easybook-demo.tex index 2bb1ee3bea..72944586bf 100644 --- a/macros/latex/contrib/easybook/doc/easybook-demo.tex +++ b/macros/latex/contrib/easybook/doc/easybook-demo.tex @@ -106,7 +106,7 @@ \url{https://latexstudio.net} \\ \url{https://gitee.com/texl3/easybook}\thanks{Gitee为项目的主要发布地址。} } -\date{2021/04/22\hskip\ccwd\relax v1.24r} +\date{2021/04/23\hskip\ccwd\relax v1.24s} \frontmatter[roman] \maketitle diff --git a/macros/latex/contrib/easybook/doc/easybook.pdf b/macros/latex/contrib/easybook/doc/easybook.pdf index 3361eed5c9..03d5910ac8 100644 Binary files a/macros/latex/contrib/easybook/doc/easybook.pdf and b/macros/latex/contrib/easybook/doc/easybook.pdf differ diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx index 50b31129d1..fe0a1e01be 100644 --- a/macros/latex/contrib/easybook/easybook.dtx +++ b/macros/latex/contrib/easybook/easybook.dtx @@ -55,7 +55,7 @@ The latest version of this license is in % % \title{\sffamily easybook 书籍文档类} % \author{瞿毅} -% \date{2021/04/22\hskip\ccwd\relax v1.24r\thanks{\url{https://gitee.com/texl3/easybook}}} +% \date{2021/04/23\hskip\ccwd\relax v1.24s\thanks{\url{https://gitee.com/texl3/easybook}}} % \maketitle % \begin{abstract} % \cls{easybook} 是基于 \cls{ctexbook} 书籍文档类创建以极简为风格的模板,可以看作对 \cls{ctexbook} 的进一步包装。虽然\CTeX 文档类提供了较好的中文支持,但想实现个性化功能一般需要在其基础上载入更多宏包来定制。\cls{easybook} 考虑了一些细节并载入一些常用宏包实现一般的排版需求,它适用于排版中英文书籍或笔记,甚至可稍加调整成为学位论文模板。 @@ -182,7 +182,7 @@ The latest version of this license is in % \end{syntax} % \opt{multoc} 与 \opt{style/multoc} 选项具有相同的效果,但是具有优先性且可单独设置不同目录是否双栏排版。已经预置了中英文的目录标题,可以使用 \opt{title} 选项更改目录标题的名称。\opt{book} 选项使目录标题按照 \opt{chapter} 级别输出,\opt{article} 选项使目录标题按照 \opt{article} 级别输出,默认为 \opt{chapter} 级别。 % \changes{v1.23}{2021/03/15}{为几个目录增加键值列表的选项,可设置标题输出级别以及是否加入主目录。} -% \changes{v1.24r}{2021/04/04}{目录命令的可选参数增加标题键值。} +% \changes{v1.24s}{2021/04/04}{目录命令的可选参数增加标题键值。} % \end{function} % % \section{接口选项} @@ -265,7 +265,7 @@ The latest version of this license is in % \ding{229} 以上选项路径为 \opt{link/...} \\ % \opt{link} 将超链接选项(包括以上选项)交给 \pkg{hyperref} 处理,除了一些关于 pdf 书签的选项可能会失效,其它由键值选项命令 \tn{hypersetup} 支持的多数选项可用。 % \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。} -% \changes{v1.24r}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。} +% \changes{v1.24s}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。} % \end{function} % % \begin{optdesc} @@ -344,7 +344,7 @@ The latest version of this license is in % \ding{229} 以上选项路径为 \opt{bibset/...} % \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。} % \changes{v1.23}{2021/02/23}{使用 \opt{bibset} 选项时可设置标注风格。} -% \changes{v1.24r}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。} +% \changes{v1.24s}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。} % \end{function} % % \begin{optdesc} @@ -490,7 +490,7 @@ The latest version of this license is in % \changes{v1.21}{2021/01/13}{增加配置页眉页脚的选项。} % \changes{v1.23}{2021/03/08}{优化页眉页脚设置,增加 \opt{chap-mark} 和 \opt{sec-mark} 标志选项。} % \changes{v1.23}{2021/03/14}{可以手动绘制页眉、页脚和脚注的横线。} -% \changes{v1.24r}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。} +% \changes{v1.24s}{2021/04/09}{增加 \opt{subsec-mark} 标志选项,仅在 \opt{article} 模式生效。} % \end{function} % % \begin{function}[added = 2021-01-13,updated = 2021-03-14]{\easyhead,\easyfoot} @@ -529,7 +529,7 @@ The latest version of this license is in % % \opt{format} 是目录中标题的格式,可以设置字体和加入垂直间距等,垂直间距最好使用无间距重合的 \tn{addvspace} 命令。\opt{indent} 是目录中标题在页面左侧的缩进距离,应该有长度单位。\opt{rule} 选项中一般应当使用 \tn{tocrule} 命令,将会在接下来介绍。\opt{numsep} 是有编号的标题在目录中编号与标题的间距。 % \changes{v1.21}{2021/01/13}{增加配置目录样式的选项。} -% \changes{v1.24r}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。} +% \changes{v1.24s}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。} % \end{function} % % \begin{function}[added = 2021-01-13,updated = 2021-04-20]{\tocrule,\EbNumberline} @@ -568,9 +568,9 @@ The latest version of this license is in % indent-all = <目录标题左边缩进> % \end{syntax} % \ding{229} 以上选项路径为 \opt{tocset/lists/...} 或 \opt{tocset/...} -% \changes{v1.24r}{2021/04/05}{可以设置图、表和代码目录的标签。} -% \changes{v1.24r}{2021/04/06}{增加目录引导线右边对齐方式。} -% \changes{v1.24r}{2021/04/19}{给目录增加 \opt{hang} 样式选项。} +% \changes{v1.24s}{2021/04/05}{可以设置图、表和代码目录的标签。} +% \changes{v1.24s}{2021/04/06}{增加目录引导线右边对齐方式。} +% \changes{v1.24s}{2021/04/19}{给目录增加 \opt{hang} 样式选项。} % \end{function} % % \begin{optdesc} @@ -610,7 +610,7 @@ The latest version of this license is in % \tn{end}\marg{环境名} % \end{syntax} % \pkg{enumitem} 宏包为系统预置的列表环境 \env{enumerate}、\env{itemize}和 \env{description} 提供了更灵活的标签以及间距的控制,可使用 \tn{setlist} 命令设置原有的三种列表格式,也可以直接使用可选参数的键值列表,具体选项见 \pkg{enumitem} 宏包文档。已为三种列表预置了三个级别的格式可相互嵌套,默认标签与 \cls{book} 文档类相同,若自定义标签可例如 -% \changes{v1.24r}{2021/04/08}{重新优化列表环境的配置。} +% \changes{v1.24s}{2021/04/08}{重新优化列表环境的配置。} % \end{function} % % \begin{ctexexam} @@ -729,7 +729,7 @@ The latest version of this license is in % \tn{end}\marg{ebparbox} % \end{syntax} % 环境 \env{ebparbox} 与 \env{easybox} 类似,同样带有三个可选参数。当使用星号参数时盒子左边带有一条竖线,\meta{颜色名} 选项可以自定义竖线颜色,使用不带有星号的环境则盒子带有竖线颜色的浅色背景。\meta{段落标题} 选项可以设置标题,默认无标题。 -% \changes{v1.24r}{2021/04/19}{优化盒子环境的选项,增加可带有标题的扁平盒子 \env{ebparbox}。} +% \changes{v1.24s}{2021/04/19}{优化盒子环境的选项,增加可带有标题的扁平盒子 \env{ebparbox}。} % \end{function} % % \subsubsection{行内盒子} @@ -788,7 +788,7 @@ The latest version of this license is in % \tn{labelformat}\marg{计数器}\marg{标签引用格式} % \end{syntax} % 使用 \tn{ref} 命令进行引用将会自动检测环境并添加相应的前缀,\tn{labelformat} 可以设置标签引用格式,第二个参数中\#1代表 \tn{the}\meta{计数器},可以设置引用序号的前缀和后缀。 -% \changes{v1.24r}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。} +% \changes{v1.24s}{2021/04/11}{取消载入 \pkg{cleveref} 宏包来交叉引用。} % \end{function} % % \subsubsection{索引} @@ -898,7 +898,7 @@ The latest version of this license is in %<*class> \NeedsTeXFormat{LaTeX2e}[2020/10/01] \RequirePackage{l3keys2e,etoolbox} -\ProvidesExplClass{easybook}{2021/04/22}{1.24r}{beta} +\ProvidesExplClass{easybook}{2021/04/23}{1.24s}{beta} \cs_generate_variant:Nn \__ctex_define:nn {nx} \cs_generate_variant:Nn \int_to_arabic:n {v} @@ -2237,6 +2237,7 @@ The latest version of this license is in }{#2} \DeclareTotalTCBox{\eblink}{O{Aqua}vO{}} { + standard~jigsaw, nobeforeafter,tcbox~raise~base, top = 1.25pt,bottom = 1.25pt,left = 1.25pt,right = 1.25pt, boxrule = 0.75pt,arc = 1pt, diff --git a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf index 73055fdf99..842e63c3ca 100644 Binary files a/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf and b/macros/latex/contrib/profcollege/doc/ProfCollege-doc.pdf differ diff --git a/macros/latex/contrib/profcollege/latex/PfC-EquationComposition2.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationComposition2.tex deleted file mode 100644 index 38493f8996..0000000000 --- a/macros/latex/contrib/profcollege/latex/PfC-EquationComposition2.tex +++ /dev/null @@ -1,275 +0,0 @@ -% Licence : Released under the LaTeX Project Public License v1.3c -% or later, see http://www.latex-project.org/lppl.txtf -\newcommand{\EquaDeuxComposition}[5][]{%type ax+b=d ou b=cx+d$ - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide - \EquaDeuxComposition[#1]{#4}{#5}{#2}{#3} - \else%cas ax+b=d - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }{%ELSE - \xintifboolexpr{#3=0}{%ax+b=d - \EquaBase[#1]{#2}{}{}{#5}% - }{%ax+b=d$ Ici - \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Ccompo}{\useKV[ClesEquation]{CouleurCompo}}}{} - \begin{align*} - \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{#5}}\tikzmark{E-\theNbequa}\\ - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#5-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\\ - \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - \rightcomment{E-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{%ICI ? - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$. - }{} - } - } - \fi -} - -\newcommand{\EquaTroisComposition}[5][]{%ax+b=cx ou ax=cx+d - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 - \ifx\bla#5\bla% - %% paramètre oublié - \else - \EquaTroisComposition[#1]{#4}{#5}{#2}{}% - \fi - \else - \xintifboolexpr{#2=0}{%b=cx - \EquaBase[#1]{#4}{}{}{#3} - }{% - \xintifboolexpr{#4=0}{%ax+b=0 - \EquaDeuxComposition[#1]{#2}{#3}{}{0} - }{%ax+b=cx - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=0}{%ax=ax - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}% - {%ax+b=ax - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% - }% - }{%% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c - \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Ccompo}{\useKV[ClesEquation]{CouleurCompo}}}{} - \begin{align*} - \tikzmark{A-\theNbequa}\mathcolor{Ccompo}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\ - \mathcolor{Ccompo}{\num{\fpeval{#2-#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{+\num{#4}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\ - \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{0}\tikzmark{F-\theNbequa}\\ - \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{0-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\tikzmark{F-\theNbequa}\\ - \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{} - }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\tikzmark{E-\theNbequa}\\ - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#4-#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#2>0}{+\num{#2}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\ - \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa} - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - }{} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}% - }% - }% - }% - }% - \fi -}% - - -\newcommand{\ResolEquationComposition}[5][]{% - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#4=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }% - {%0x+b=cx+d$ - \EquaDeuxComposition[#1]{#4}{#5}{#2}{#3}% - }% - }{% - \xintifboolexpr{#4=0}{%ax+b=0x+d - \EquaDeuxComposition[#1]{#2}{#3}{}{#5}% - } - {%ax+b=cx+d$ - \xintifboolexpr{#3=0}{% - \xintifboolexpr{#5=0}{%ax=cx - \EquaTroisComposition[#1]{#2}{0}{#4}{}% - }% - {%ax=cx+d - \EquaTroisComposition[#1]{#4}{#5}{#2}{}% - }% - }% - {\xintifboolexpr{#5=0}{%ax+b=cx - \EquaTroisComposition[#1]{#2}{#3}{#4}{}% - }% - {%ax+b=cx+d -- ici - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}% - {%b<>d - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% - }% - }{ - %% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c - \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Ccompo}{\useKV[ClesEquation]{CouleurCompo}}}{} - \begin{align*} - \tikzmark{A-\theNbequa}\mathcolor{Ccompo}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ - \mathcolor{Ccompo}{\num{\fpeval{#2-#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{+\num{#4}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{#5}}\tikzmark{F-\theNbequa}\\ - \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#5-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\\ - \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% - }{} - }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#4-#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#2>0}{+\num{#2}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\ - \mathcolor{Ccompo}{\num{\fpeval{#3-#5}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% - \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% - }{}% - }% - }% - }% - }% - }% - }% -}% \ No newline at end of file diff --git a/macros/latex/contrib/profcollege/latex/PfC-EquationLaurent1.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationLaurent1.tex deleted file mode 100644 index 347afc0e8d..0000000000 --- a/macros/latex/contrib/profcollege/latex/PfC-EquationLaurent1.tex +++ /dev/null @@ -1,226 +0,0 @@ -% Licence : Released under the LaTeX Project Public License v1.3c -% or later, see http://www.latex-project.org/lppl.txtf -\newcommand{\EquaBaseLaurent}[5][]{%type ax=d ou b=cx - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#2\bla%on teste si le paramètre #2 est vide: - % si oui, on est dans le cas b=cx. Eh bien on échange :) - % Mais attention si les deux paramètres a et c sont vides... - \EquaBase[#1]{#4}{}{}{#3} - \else - % si non, on est dans le cas ax=d - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#5=0}{% - L'équation $0\useKV[ClesEquation]{ELettre}=0$ a une infinité de solution.}{L'équation $0\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}% - }{%\else - \xintifboolexpr{#5=0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else - \begin{align*}% - \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{#2}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{#2}}}}&=\xintifboolexpr{#2=1}{\num{#5}}{\color{Cdecomp}\frac{\color{black}\num{#5}}{\num{#2}}} - \xintifboolexpr{#2=1}{}{\\\useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{#5}{#2}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{#5}{#2}}{}%\\ - }{} - }{} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\useKV[ClesEquation]{Lettre}=\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.% - }{} - } - } - \fi -} - -\newcommand{\EquaDeuxLaurent}[5][]{%type ax+b=d ou b=cx+d$ - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide - \EquaDeuxLaurent[#1]{#4}{#5}{#2}{#3} - \else%cas ax+b=d - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solution.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }{%ELSE - \xintifboolexpr{#3=0}{%ax+b=d - \EquaBaseLaurent[#1]{#2}{}{}{#5}% - }{%ax+b=d$ Ici - \begin{align*} - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=\num{#5}\xintifboolexpr{#3>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\ - \xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}%\\ - \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$. - }{} - } - } -} - -\newcommand{\EquaTroisLaurent}[5][]{%ax+b=cx ou ax=cx+d - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 - \ifx\bla#5\bla% - %% paramètre oublié - \else - \EquaTroisLaurent[#1]{#4}{#5}{#2}{}% - \fi - \else - \xintifboolexpr{#2=0}{%b=cx - \EquaBaseLaurent[#1]{#4}{}{}{#3} - }{% - \xintifboolexpr{#4=0}{%ax+b=0 - \EquaDeuxLaurent[#1]{#2}{#3}{}{0} - }{%ax+b=cx - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=0}{%ax=ax - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solution.}% - {%ax+b=ax - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% - }% - }{%% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c - \begin{align*} - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\ - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}\\ - \xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{0-#3}}%\\ - \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{} - }{%ax+b=cx avec a0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\\ - \xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{0-#3}}%\\ - \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=0\xintifboolexpr{#3>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\ - \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}% - }% - }% - }% - }% - \fi -}% - -\newcommand{\ResolEquationLaurent}[5][]{% - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#4=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solution.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }% - {%0x+b=cx+d - \EquaDeuxLaurent[#1]{#4}{#5}{}{#3}% - }% - }{% - \xintifboolexpr{#4=0}{%ax+b=0x+d - \EquaDeuxLaurent[#1]{#2}{#3}{}{#5}% - } - {%ax+b=cx+d - \xintifboolexpr{#3=0}{% - \xintifboolexpr{#5=0}{%ax=cx - \EquaTroisLaurent[#1]{#2}{0}{#4}{}% - }% - {%ax=cx+d - \EquaTroisLaurent[#1]{#4}{#5}{#2}{}% - }% - }% - {\xintifboolexpr{#5=0}{%ax+b=cx - \EquaTroisLaurent[#1]{#2}{#3}{#4}{}% - }% - {%ax+b=cx+d -- ici - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solution.}% - {%b<>d - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% - }% - }{%% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c - \begin{align*} - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\ - \xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{#5-#3}}%\\ - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{\Coeffb>0}{+\num{\Coeffb}}{-\num{\fpeval{0-\Coeffb}}}\\ - \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% - }{} - }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#3}} {}}\stackText}% - &=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#3}} {}}\stackText} - \\ - \xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{#5-#3}}%\\ - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{\tiny\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{\tiny\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{\Coeffb>0}{+\num{\Coeffb}}{-\num{\fpeval{0-\Coeffb}}}\\ - \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% - }{}% - }% - }% - }% - }% - }% - }% -}% \ No newline at end of file diff --git a/macros/latex/contrib/profcollege/latex/PfC-EquationPose1.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationPose1.tex deleted file mode 100644 index e34d382a58..0000000000 --- a/macros/latex/contrib/profcollege/latex/PfC-EquationPose1.tex +++ /dev/null @@ -1,246 +0,0 @@ -% Licence : Released under the LaTeX Project Public License v1.3c -% or later, see http://www.latex-project.org/lppl.txtf -\newcommand{\EquaBaseL}[5][]{%type ax=d ou b=cx - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#2\bla%on teste si le paramètre #2 est vide: - % si oui, on est dans le cas b=cx. Eh bien on échange :) - % Mais attention si les deux paramètres a et c sont vides... - \EquaBaseL[#1]{#4}{}{}{#3} - \else - % si non, on est dans le cas ax=d - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#5=0}{% - L'équation $0\useKV[ClesEquation]{Lettre}=0$ a une infinité de solution.}{L'équation $0\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}% - }{%\else - \xintifboolexpr{#5=0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else - \begin{align*}% - \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\num{#2}\useKV[ClesEquation]{Lettre}}&=\num{#5}\\ - \xintifboolexpr{#2=1}{}{% - \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\phantom{\useKV[ClesEquation]{Lettre}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\\} - \useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{#5}{#2}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{#5}{#2}}{}%\\ - }{} - }{} - %\ifboolKV[ClesEquation]{Fleches}{% - %\stepcounter{Nbequa}}% - %{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{} - %} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\useKV[ClesEquation]{Lettre}=\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.% - }{} - } - } - \fi -} - -\newcommand{\EquaDeuxL}[5][]{%type ax+b=d ou b=cx+d$ - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide - \EquaDeuxL[#1]{#4}{#5}{#2}{#3} - \else%cas ax+b=d - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solution.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }{%ELSE - \xintifboolexpr{#3=0}{%ax+b=d - \EquaBaseL[#1]{#2}{}{}{#5}% - }{%ax+b=d$ Ici - \begin{align*} - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\ - \phantom{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&\phantom{\mathrel{=}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ - \xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\num{\Coeffb}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\phantom{\useKV[ClesEquation]{Lettre}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\\ - \useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{% - \\\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\SSimplifie{\Coeffb}{\Coeffa}% - }{}%\\ - }{} - }{} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$. - }{} - } - } - \fi -} - -\newcommand{\EquaTroisL}[5][]{%ax+b=cx ou ax=cx+d - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 - \ifx\bla#5\bla% - %% paramètre oublié - \else - \EquaTroisL[#1]{#4}{#5}{#2}{}% - \fi - \else - \xintifboolexpr{#2=0}{%b=cx - \EquaBaseL[#1]{#4}{}{}{#3} - }{% - \xintifboolexpr{#4=0}{%ax+b=0 - \EquaDeuxL[#1]{#2}{#3}{}{0} - }{%ax+b=cx - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=0}{%ax=ax - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solution.}% - {%ax+b=ax - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% - }% - }{%% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c - \begin{align*} - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\ - \mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{{}-{}\num{#4}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{{}={}}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\\ - \xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\ - \phantom{\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}&\phantom{\mathrel{=}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}\\ - \xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\num{\Coeffb}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\phantom{\useKV[ClesEquation]{Lettre}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\ - \useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\% - \useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\SSimplifie{\Coeffb}{\Coeffa}%\\ - }{} - }{} - }{} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{} - }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\ - \mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{{}={}}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\ - \xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\ - \frac{\num{\Coeffb}}{\num{\Coeffa}}&=\phantom{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\ - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\% - \SSimplifie{\Coeffb}{\Coeffa}&=\phantom{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\ - }{} - }{} - }{} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}% - }% - }% - }% - }% - \fi - }%\\ - % \\ - -\newcommand{\ResolEquationL}[5][]{% - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#4=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solution.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }% - {%0x+b=cx+d$ - \EquaDeuxL[#1]{#4}{#5}{}{#3}% - }% - }{% - \xintifboolexpr{#4=0}{%ax+b=0x+d - \EquaDeuxL[#1]{#2}{#3}{}{#5}% - } - {%ax+b=cx+d$ - \xintifboolexpr{#3=0}{% - \xintifboolexpr{#5=0}{%ax=cx - \EquaTroisL[#1]{#2}{0}{#4}{}% - }% - {%ax=cx+d - \EquaTroisL[#1]{#4}{#5}{#2}{}% - }% - }% - {\xintifboolexpr{#5=0}{%ax+b=cx - \EquaTroisL[#1]{#2}{#3}{#4}{}% - }% - {%ax+b=cx+d -- ici - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solution.}% - {%b<>d - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% - }% - }{ - %% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c - \begin{align*} - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{{}-{}\num{#4}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{{}-{}\num{#4}\useKV[ClesEquation]{Lettre}}{\phantom{{}={}}+{}\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\\ - \xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{\phantom{{}+{}}\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}&\phantom{{}={}\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}\\ - \xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{\Coeffb>0}{\phantom{{}+{}}\num{\Coeffb}}{{}-{}\num{\fpeval{0-\Coeffb}}}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\phantom{\useKV[ClesEquation]{Lettre}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{{}={}}\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\ - \phantom{\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{\Coeffb>0}{{}+{}}{}}\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\% - \useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{\Coeffb>0}{{}+{}}{}}\SSimplifie{\Coeffb}{\Coeffa}%\\ - }{} - }{} - }{} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% - }{} - }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\xintifboolexpr{#4<0}{\phantom{={}}}{}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\ - \xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{{}-{}\num{#5}}{{}+{}\num{\fpeval{0-#5}}}}&\phantom{{}={}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}\\ - \xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}&\xintifboolexpr{\Coeffa<0}{\phantom{{}={}}}{\phantom{=}}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\ - \frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}%\\ - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ - }{} - }{} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% - }{}% - }% - }% - }% - }% - }% - }% -}% diff --git a/macros/latex/contrib/profcollege/latex/PfC-EquationSoustraction2.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationSoustraction2.tex deleted file mode 100644 index f3ffd9453d..0000000000 --- a/macros/latex/contrib/profcollege/latex/PfC-EquationSoustraction2.tex +++ /dev/null @@ -1,345 +0,0 @@ -% Licence : Released under the LaTeX Project Public License v1.3c -% or later, see http://www.latex-project.org/lppl.txtf -\newcommand{\EquaBase}[5][]{%type ax=d ou b=cx - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#2\bla%on teste si le paramètre #2 est vide: - % si oui, on est dans le cas b=cx. Eh bien on échange :) - % Mais attention si les deux paramètres a et c sont vides... - \EquaBase[#1]{#4}{}{}{#3} - \else - % si non, on est dans le cas ax=d - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#5=0}{% - L'équation $0\useKV[ClesEquation]{ELettre}=0$ a une infinité de solutions.}{L'équation $0\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}% - }{%\else - \xintifboolexpr{#5=0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else - \begin{align*}% - \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\num{#2}\useKV[ClesEquation]{Lettre}}&=\num{#5}\tikzmark{C-\theNbequa}\\ - \tikzmark{B-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}\tikzmark{D-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}$}% - \rightcomment{C-\theNbequa}{D-\theNbequa}{D-\theNbequa}{$\div\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}$}% - }{% - \ifboolKV[ClesEquation]{FlecheDiv}{% - \Leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}$}% - \Rightcomment{C-\theNbequa}{D-\theNbequa}{D-\theNbequa}{$\div\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}$}% - }{}% - }%% - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{#5}{#2}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{#5}{#2}}{}%\\ - }{} - }{} - \ifboolKV[ClesEquation]{Fleches}{% - \stepcounter{Nbequa}}% - {\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{} - } - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.% - }{} - } - } - \fi -} - -\newcommand{\EquaDeuxSoustraction}[5][]{%type ax+b=d ou b=cx+d$ - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide - \EquaDeuxSoustraction[#1]{#4}{#5}{#2}{#3} - \else%cas ax+b=d - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }{%ELSE - \xintifboolexpr{#3=0}{%ax+b=d - \EquaBase[#1]{#2}{}{}{#5}% - }{%ax+b=d$ Ici - \begin{align*} - \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{E-\theNbequa}\\ - \ifboolKV[ClesEquation]{Decomposition}{% - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=\num{#5}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ - }{}% - \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa} - \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{} - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - \rightcomment{E-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{%ICI ? - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$. - }{} - } - } - \fi -} - -\newcommand{\EquaTroisSoustraction}[5][]{%ax+b=cx ou ax=cx+d - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 - \ifx\bla#5\bla% - %% paramètre oublié - \else - \EquaTroisSoustraction[#1]{#4}{#5}{#2}{}% - \fi - \else - \xintifboolexpr{#2=0}{%b=cx - \EquaBase[#1]{#4}{}{}{#3} - }{% - \xintifboolexpr{#4=0}{%ax+b=0 - \EquaDeuxSoustraction[#1]{#2}{#3}{}{0} - }{%ax+b=cx - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=0}{%ax=ax - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}% - {%ax+b=ax - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% - }% - }{%% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c - \begin{align*} - \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\ - \ifboolKV[ClesEquation]{Decomposition}{% - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\\ - }{} - \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\tikzmark{F-\theNbequa}\\ - \ifboolKV[ClesEquation]{Decomposition}{% - \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=0\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\tikzmark{F-\theNbequa}\\ - }{}% - \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ - %eric - \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{} - % eric - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{} - }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\ - \ifboolKV[ClesEquation]{Decomposition}{% - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\ - }{} - \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa} - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - }{} - % eric - \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}&=\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}}}{} - % eric - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}% - }% - }% - }% - }% - \fi - }% - - -\newcommand{\ResolEquationSoustraction}[5][]{% - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#4=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }% - {%0x+b=cx+d$ - \EquaDeuxSoustraction[#1]{#4}{#5}{}{#3}% - }% - }{% - \xintifboolexpr{#4=0}{%ax+b=0x+d - \EquaDeuxSoustraction[#1]{#2}{#3}{}{#5}% - } - {%ax+b=cx+d$ - \xintifboolexpr{#3=0}{% - \xintifboolexpr{#5=0}{%ax=cx - \EquaTroisSoustraction[#1]{#2}{0}{#4}{}% - }% - {%ax=cx+d - \EquaTroisSoustraction[#1]{#4}{#5}{#2}{}% - }% - }% - {\xintifboolexpr{#5=0}{%ax+b=cx - \EquaTroisSoustraction[#1]{#2}{#3}{#4}{}% - }% - {%ax+b=cx+d -- ici - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}% - {%b<>d - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% - }% - }{ - %% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c - \begin{align*} - \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ - \ifboolKV[ClesEquation]{Decomposition}{% - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - }{} - \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{F-\theNbequa}\\ - \ifboolKV[ClesEquation]{Decomposition}{% - \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=\num{#5}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ - }{}% - \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ - % eric - \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{} - % eric - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% - }{} - }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ - \ifboolKV[ClesEquation]{Decomposition}{% - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - }{} - \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\ - \ifboolKV[ClesEquation]{Decomposition}{% - \num{#3}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}\\ - }{}% - \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\ - % eric - \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}&=\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}}}{} - % eric - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% - \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% - }{}% - }% - }% - }% - }% - }% - }% -}% - - diff --git a/macros/latex/contrib/profcollege/latex/PfC-EquationSymbole1.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationSymbole1.tex deleted file mode 100644 index 4faec4767a..0000000000 --- a/macros/latex/contrib/profcollege/latex/PfC-EquationSymbole1.tex +++ /dev/null @@ -1,225 +0,0 @@ -% Licence : Released under the LaTeX Project Public License v1.3c -% or later, see http://www.latex-project.org/lppl.txtf -\newcommand{\EquaBaseSymbole}[5][]{%type ax=d ou b=cx - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false} - \ifx\bla#2\bla%on teste si le paramètre #2 est vide: - % si oui, on est dans le cas b=cx. Eh bien on échange :) - % Mais attention si les deux paramètres a et c sont vides... - \ifx\bla#4\bla - %% il manque un paramètre - \else - \EquaBaseSymbole[#1]{#4}{}{}{#3} - \fi - \else - % si non, on est dans le cas ax=d - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#5=0}{% - L'équation $0\times\useKV[ClesEquation]{Lettre}=0$ a une infinité de solution.}{L'équation $0\times\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}% - }{%\else - \xintifboolexpr{#5=0}{L'équation $\num{#2}\times\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else - \begin{align*}% - \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}&=\num{#5}\\ - \useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{#5}{#2}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{#5}{#2}}{}%\\ - }{} - }{} - \end{align*} - } - } - \fi -} - -\newcommand{\EquaDeuxSymbole}[5][]{%type ax+b=d ou b=cx+d$ - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false} - \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide - \EquaDeuxSymbole[#1]{#4}{#5}{#2}{#3} - \else%cas ax+b=d - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solution.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }{%ELSE - \xintifboolexpr{#3=0}{%ax+b=d - \EquaBaseSymbole[#1]{#2}{}{}{#5}% - }{%ax+b=d$ Ici - \begin{align*} - \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\ - \ifboolKV[ClesEquation]{Bloc}{\Fdash{$\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}$}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\}{}% - \xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}&=\num{\Coeffb}%\\ - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \\ - \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \end{align*} - } - } - \fi -} - -\newcommand{\EquaTroisSymbole}[5][]{%ax+b=cx ou ax=cx+d - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false} - \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 - \ifx\bla#5\bla% - %% paramètre oublié - \else - \EquaTroisSymbole[#1]{#4}{#5}{#2}{}% - \fi - \else - \xintifboolexpr{#2=0}{%b=cx - \EquaBaseSymbole[#1]{#4}{}{}{#3} - }{% - \xintifboolexpr{#4=0}{%ax+b=0 - \EquaDeuxSymbole[#1]{#2}{#3}{}{0} - }{%ax+b=cx - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=0}{%ax=ax - L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}=\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$ a une infinité de solution.}% - {%ax+b=ax - L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% - }% - }{%% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c - \begin{align*} - \multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\\ - \mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#4-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#2-#4}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\\ - \xdef\Coeffa{\fpeval{#2-#4}}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\ - \ifboolKV[ClesEquation]{Bloc}{\Fdash{\mathcolor{Csymbole!30}{$\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\}{} - \xdef\Coeffb{\fpeval{0-#3}}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}%\\ - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \\\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \end{align*} - }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\\ - \mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#2-1}}{+\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#2-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#4-#2}}{+\useKV[ClesEquation]{Lettre}}\\ - \xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}% \\ - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \\\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ - }{} - }{} - } - \end{align*} - }% - }% - }% - }% - \fi - }% - - -\newcommand{\ResolEquationSymbole}[5][]{% - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false} - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#4=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solution.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }% - {%0x+b=cx+d$ - \EquaDeuxSymbole[#1]{#4}{#5}{#2}{#3}% - }% - }{% - \xintifboolexpr{#4=0}{%ax+b=0x+d - \EquaDeuxSymbole[#1]{#2}{#3}{}{#5}% - } - {%ax+b=cx+d$ - \xintifboolexpr{#3=0}{% - \xintifboolexpr{#5=0}{%ax=cx - \EquaTroisSymbole[#1]{#2}{0}{#4}{}% - }% - {%ax=cx+d - \EquaTroisSymbole[#1]{#4}{#5}{#2}{}% - }% - }% - {\xintifboolexpr{#5=0}{%ax+b=cx - \EquaTroisSymbole[#1]{#2}{#3}{#4}{}% - }% - {%ax+b=cx+d -- ici - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solution.}% - {%b<>d - L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% - }% - }{ - %% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c - \begin{align*} - \multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#4-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#2-#4}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \xdef\Coeffa{\fpeval{#2-#4}}\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\ - \ifboolKV[ClesEquation]{Bloc}{% - \Fdash{$\mathcolor{Csymbole!30}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}}$}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\ - }{}% - \xdef\Coeffb{\fpeval{#5-#3}}\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}&=\num{\Coeffb}%\\ - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \\\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \end{align*} - }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \mathcolor{Csymbole}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#2-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#4-#2}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \xdef\Coeffa{\fpeval{#4-#2}}\num{#3}&=\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \ifboolKV[ClesEquation]{Bloc}{% - \num{#3}&=\Fdash{$\mathcolor{Csymbole!30}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}}$}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - }{}% - \xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}%\\ - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \\\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}%\\ - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ - }{} - }{} - } - \end{align*} - }% - }% - }% - }% - }% - }% -}% - - diff --git a/macros/latex/contrib/profcollege/latex/PfC-EquationTerme1.tex b/macros/latex/contrib/profcollege/latex/PfC-EquationTerme1.tex deleted file mode 100644 index f3930d0408..0000000000 --- a/macros/latex/contrib/profcollege/latex/PfC-EquationTerme1.tex +++ /dev/null @@ -1,276 +0,0 @@ -% Licence : Released under the LaTeX Project Public License v1.3c -% or later, see http://www.latex-project.org/lppl.txtf -\newcommand{\EquaDeuxTerme}[5][]{%type ax+b=d ou b=cx+d$ - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide - \EquaDeuxTerme[#1]{#4}{#5}{#2}{#3} - \else%cas ax+b=d - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solution.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }{%ELSE - \xintifboolexpr{#3=0}{%ax+b=d - \EquaBase[#1]{#2}{}{}{#5}% - }{%ax+b=d$ Ici - \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{} - \begin{align*} - \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{E-\theNbequa}\\ - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}&=\num{#5}\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ - \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - \rightcomment{E-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{% - }{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{%ICI ? - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$. - }{} - } - } - \fi -} - -\newcommand{\EquaTroisTerme}[5][]{%ax+b=cx ou ax=cx+d - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 - \ifx\bla#5\bla% - %% paramètre oublié - \else - \EquaTroisTerme[#1]{#4}{#5}{#2}{}% - \fi - \else - \xintifboolexpr{#2=0}{%b=cx - \EquaBase[#1]{#4}{}{}{#3} - }{% - \xintifboolexpr{#4=0}{%ax+b=0 - \EquaDeuxTerme[#1]{#2}{#3}{}{0} - }{%ax+b=cx - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=0}{%ax=ax - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solution.}% - {%ax+b=ax - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% - }% - }{%% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c - \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{} - \begin{align*} - \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\ - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\ - \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\tikzmark{F-\theNbequa}\\ - \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=0\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ - \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{} - }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\ - \xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\ - \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa} - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - }{} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}% - }% - }% - }% - }% - \fi - }% - -\newcommand{\ResolEquationTerme}[5][]{% - \useKVdefault[ClesEquation]% - \setKV[ClesEquation]{#1}% - \xintifboolexpr{#2=0}{% - \xintifboolexpr{#4=0}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\num{#3}=\num{#5}$ a une infinité de solution.}% - {%b<>d - L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% - }% - }% - {%0x+b=cx+d$ - \EquaDeuxTerme[#1]{#4}{#5}{#2}{#3}% - }% - }{% - \xintifboolexpr{#4=0}{%ax+b=0x+d - \EquaDeuxTerme[#1]{#2}{#3}{}{#5}% - } - {%ax+b=cx+d$ - \xintifboolexpr{#3=0}{% - \xintifboolexpr{#5=0}{%ax=cx - \EquaTroisTerme[#1]{#2}{0}{#4}{}% - }% - {%ax=cx+d - \EquaTroisTerme[#1]{#4}{#5}{#2}{}% - }% - }% - {\xintifboolexpr{#5=0}{%ax+b=cx - \EquaTroisTerme[#1]{#2}{#3}{#4}{}% - }% - {%ax+b=cx+d -- ici - \xintifboolexpr{#2=#4}{% - \xintifboolexpr{#3=#5}{%b=d - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solution.}% - {%b<>d - L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% - }% - }{ - %% Cas délicat - \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c - \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{} - \begin{align*} - \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ - \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#5>0}{\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{F-\theNbequa}\tikzmark{F-\theNbequa}\\ - \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{#5}\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ - \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} - \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% - }{} - }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ - \xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ - \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\ - \num{#3}\mathcolor{Cterme}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\\ - \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\ - \xintifboolexpr{\Coeffa=1}{}{\\} - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} - \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% - \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% - }{} - \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 - \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ - \ifboolKV[ClesEquation]{Fleches}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{ - \ifboolKV[ClesEquation]{FlecheDiv}{% - \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% - }{} - } - \ifboolKV[ClesEquation]{Entier}{% - \SSimpliTest{\Coeffb}{\Coeffa}% - \ifboolKV[ClesEquation]{Simplification}{% - \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ - }{} - }{} - } - \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} - \end{align*} - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\useKV[ClesEquation]{Lettre}=\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% - }{}% - }% - }% - }% - }% - }% - }% -}% - - diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex b/macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex new file mode 100644 index 0000000000..38493f8996 --- /dev/null +++ b/macros/latex/contrib/profcollege/latex/PfCEquationComposition2.tex @@ -0,0 +1,275 @@ +% Licence : Released under the LaTeX Project Public License v1.3c +% or later, see http://www.latex-project.org/lppl.txtf +\newcommand{\EquaDeuxComposition}[5][]{%type ax+b=d ou b=cx+d$ + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide + \EquaDeuxComposition[#1]{#4}{#5}{#2}{#3} + \else%cas ax+b=d + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }{%ELSE + \xintifboolexpr{#3=0}{%ax+b=d + \EquaBase[#1]{#2}{}{}{#5}% + }{%ax+b=d$ Ici + \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Ccompo}{\useKV[ClesEquation]{CouleurCompo}}}{} + \begin{align*} + \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{#5}}\tikzmark{E-\theNbequa}\\ + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#5-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\\ + \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + \rightcomment{E-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{%ICI ? + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$. + }{} + } + } + \fi +} + +\newcommand{\EquaTroisComposition}[5][]{%ax+b=cx ou ax=cx+d + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 + \ifx\bla#5\bla% + %% paramètre oublié + \else + \EquaTroisComposition[#1]{#4}{#5}{#2}{}% + \fi + \else + \xintifboolexpr{#2=0}{%b=cx + \EquaBase[#1]{#4}{}{}{#3} + }{% + \xintifboolexpr{#4=0}{%ax+b=0 + \EquaDeuxComposition[#1]{#2}{#3}{}{0} + }{%ax+b=cx + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=0}{%ax=ax + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}% + {%ax+b=ax + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% + }% + }{%% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c + \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Ccompo}{\useKV[ClesEquation]{CouleurCompo}}}{} + \begin{align*} + \tikzmark{A-\theNbequa}\mathcolor{Ccompo}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\ + \mathcolor{Ccompo}{\num{\fpeval{#2-#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{+\num{#4}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\ + \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{0}\tikzmark{F-\theNbequa}\\ + \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{0-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\tikzmark{F-\theNbequa}\\ + \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{} + }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\tikzmark{E-\theNbequa}\\ + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#4-#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#2>0}{+\num{#2}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\ + \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa} + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + }{} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}% + }% + }% + }% + }% + \fi +}% + + +\newcommand{\ResolEquationComposition}[5][]{% + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#4=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }% + {%0x+b=cx+d$ + \EquaDeuxComposition[#1]{#4}{#5}{#2}{#3}% + }% + }{% + \xintifboolexpr{#4=0}{%ax+b=0x+d + \EquaDeuxComposition[#1]{#2}{#3}{}{#5}% + } + {%ax+b=cx+d$ + \xintifboolexpr{#3=0}{% + \xintifboolexpr{#5=0}{%ax=cx + \EquaTroisComposition[#1]{#2}{0}{#4}{}% + }% + {%ax=cx+d + \EquaTroisComposition[#1]{#4}{#5}{#2}{}% + }% + }% + {\xintifboolexpr{#5=0}{%ax+b=cx + \EquaTroisComposition[#1]{#2}{#3}{#4}{}% + }% + {%ax+b=cx+d -- ici + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}% + {%b<>d + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% + }% + }{ + %% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c + \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Ccompo}{\useKV[ClesEquation]{CouleurCompo}}}{} + \begin{align*} + \tikzmark{A-\theNbequa}\mathcolor{Ccompo}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ + \mathcolor{Ccompo}{\num{\fpeval{#2-#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{+\num{#4}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{#5}}\tikzmark{F-\theNbequa}\\ + \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#5-#3}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}\\ + \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% + }{} + }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Ccompo}{\num{\fpeval{#4-#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#2>0}{+\num{#2}\useKV[ClesEquation]{Lettre}}{-\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\ + \mathcolor{Ccompo}{\num{\fpeval{#3-#5}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% + \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% + }{}% + }% + }% + }% + }% + }% + }% +}% \ No newline at end of file diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex b/macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex new file mode 100644 index 0000000000..8bce1eb7c8 --- /dev/null +++ b/macros/latex/contrib/profcollege/latex/PfCEquationLaurent1.tex @@ -0,0 +1,226 @@ +% Licence : Released under the LaTeX Project Public License v1.3c +% or later, see http://www.latex-project.org/lppl.txtf +\newcommand{\EquaBaseLaurent}[5][]{%type ax=d ou b=cx + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#2\bla%on teste si le paramètre #2 est vide: + % si oui, on est dans le cas b=cx. Eh bien on échange :) + % Mais attention si les deux paramètres a et c sont vides... + \EquaBase[#1]{#4}{}{}{#3} + \else + % si non, on est dans le cas ax=d + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#5=0}{% + L'équation $0\useKV[ClesEquation]{ELettre}=0$ a une infinité de solutions.}{L'équation $0\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}% + }{%\else + \xintifboolexpr{#5=0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else + \begin{align*}% + \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{#2}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{#2}}}}&=\xintifboolexpr{#2=1}{\num{#5}}{\color{Cdecomp}\frac{\color{black}\num{#5}}{\num{#2}}} + \xintifboolexpr{#2=1}{}{\\\useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{#5}{#2}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{#5}{#2}}{}%\\ + }{} + }{} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.% + }{} + } + } + \fi +} + +\newcommand{\EquaDeuxLaurent}[5][]{%type ax+b=d ou b=cx+d$ + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide + \EquaDeuxLaurent[#1]{#4}{#5}{#2}{#3} + \else%cas ax+b=d + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }{%ELSE + \xintifboolexpr{#3=0}{%ax+b=d + \EquaBaseLaurent[#1]{#2}{}{}{#5}% + }{%ax+b=d$ Ici + \begin{align*} + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=\num{#5}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\ + \xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}%\\ + \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$. + }{} + } + } +} + +\newcommand{\EquaTroisLaurent}[5][]{%ax+b=cx ou ax=cx+d + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 + \ifx\bla#5\bla% + %% paramètre oublié + \else + \EquaTroisLaurent[#1]{#4}{#5}{#2}{}% + \fi + \else + \xintifboolexpr{#2=0}{%b=cx + \EquaBaseLaurent[#1]{#4}{}{}{#3} + }{% + \xintifboolexpr{#4=0}{%ax+b=0 + \EquaDeuxLaurent[#1]{#2}{#3}{}{0} + }{%ax+b=cx + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=0}{%ax=ax + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}% + {%ax+b=ax + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% + }% + }{%% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c + \begin{align*} + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\ + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}\\ + \xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{0-#3}}%\\ + \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{} + }{%ax+b=cx avec a0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\\ + \xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{0-#3}}%\\ + \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=0\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\ + \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}% + }% + }% + }% + }% + \fi +}% + +\newcommand{\ResolEquationLaurent}[5][]{% + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#4=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }% + {%0x+b=cx+d + \EquaDeuxLaurent[#1]{#4}{#5}{}{#3}% + }% + }{% + \xintifboolexpr{#4=0}{%ax+b=0x+d + \EquaDeuxLaurent[#1]{#2}{#3}{}{#5}% + } + {%ax+b=cx+d + \xintifboolexpr{#3=0}{% + \xintifboolexpr{#5=0}{%ax=cx + \EquaTroisLaurent[#1]{#2}{0}{#4}{}% + }% + {%ax=cx+d + \EquaTroisLaurent[#1]{#4}{#5}{#2}{}% + }% + }% + {\xintifboolexpr{#5=0}{%ax+b=cx + \EquaTroisLaurent[#1]{#2}{#3}{#4}{}% + }% + {%ax+b=cx+d -- ici + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}% + {%b<>d + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% + }% + }{%% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c + \begin{align*} + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{-\num{\fpeval{0-#3}}\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}}}\stackText}\\ + \xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{#5-#3}}%\\ + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{\Coeffb>0}{+\num{\Coeffb}}{-\num{\fpeval{0-\Coeffb}}}\\ + \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% + }{} + }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}} {}}\stackText}% + &=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\xintifboolexpr{#3>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#3} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#3}} {}}\stackText} + \\ + \xdef\Coeffa{\fpeval{#2-#4}}\xdef\Coeffb{\fpeval{#5-#3}}%\\ + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#4>0}{\stackMath\Longstack{$\tiny$\color{Cdecomp}-\num{#4}\useKV[ClesEquation]{Lettre} {}}\stackText}{\stackMath\Longstack{$\tiny$\color{Cdecomp}+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre} {}}\stackText}\xintifboolexpr{\Coeffb>0}{+\num{\Coeffb}}{-\num{\fpeval{0-\Coeffb}}}\\ + \xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\color{Cdecomp}\frac{\cancel{\color{black}\num{\Coeffa}}\color{black}\useKV[ClesEquation]{Lettre}}{\cancel{\num{\Coeffa}}}}&=\xintifboolexpr{\Coeffa=1}{\num{\Coeffb}}{\color{Cdecomp}\frac{\color{black}\num{\Coeffb}}{\num{\Coeffa}}}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% + }{}% + }% + }% + }% + }% + }% + }% +}% \ No newline at end of file diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex b/macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex new file mode 100644 index 0000000000..1137140d28 --- /dev/null +++ b/macros/latex/contrib/profcollege/latex/PfCEquationPose1.tex @@ -0,0 +1,246 @@ +% Licence : Released under the LaTeX Project Public License v1.3c +% or later, see http://www.latex-project.org/lppl.txtf +\newcommand{\EquaBaseL}[5][]{%type ax=d ou b=cx + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#2\bla%on teste si le paramètre #2 est vide: + % si oui, on est dans le cas b=cx. Eh bien on échange :) + % Mais attention si les deux paramètres a et c sont vides... + \EquaBaseL[#1]{#4}{}{}{#3} + \else + % si non, on est dans le cas ax=d + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#5=0}{% + L'équation $0\useKV[ClesEquation]{Lettre}=0$ a une infinité de solutions.}{L'équation $0\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}% + }{%\else + \xintifboolexpr{#5=0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else + \begin{align*}% + \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\num{#2}\useKV[ClesEquation]{Lettre}}&=\num{#5}\\ + \xintifboolexpr{#2=1}{}{% + \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\phantom{\useKV[ClesEquation]{Lettre}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\\} + \useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{#5}{#2}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{#5}{#2}}{}%\\ + }{} + }{} + %\ifboolKV[ClesEquation]{Fleches}{% + %\stepcounter{Nbequa}}% + %{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{} + %} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.% + }{} + } + } + \fi +} + +\newcommand{\EquaDeuxL}[5][]{%type ax+b=d ou b=cx+d$ + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide + \EquaDeuxL[#1]{#4}{#5}{#2}{#3} + \else%cas ax+b=d + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }{%ELSE + \xintifboolexpr{#3=0}{%ax+b=d + \EquaBaseL[#1]{#2}{}{}{#5}% + }{%ax+b=d$ Ici + \begin{align*} + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\ + \phantom{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&\phantom{\mathrel{=}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ + \xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\num{\Coeffb}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\phantom{\useKV[ClesEquation]{Lettre}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}}\\ + \useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{% + \\\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\SSimplifie{\Coeffb}{\Coeffa}% + }{}%\\ + }{} + }{} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$. + }{} + } + } + \fi +} + +\newcommand{\EquaTroisL}[5][]{%ax+b=cx ou ax=cx+d + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 + \ifx\bla#5\bla% + %% paramètre oublié + \else + \EquaTroisL[#1]{#4}{#5}{#2}{}% + \fi + \else + \xintifboolexpr{#2=0}{%b=cx + \EquaBaseL[#1]{#4}{}{}{#3} + }{% + \xintifboolexpr{#4=0}{%ax+b=0 + \EquaDeuxL[#1]{#2}{#3}{}{0} + }{%ax+b=cx + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=0}{%ax=ax + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}% + {%ax+b=ax + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% + }% + }{%% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c + \begin{align*} + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\ + \mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{{}-{}\num{#4}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{{}={}}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\\ + \xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\ + \phantom{\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}&\phantom{\mathrel{=}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}\\ + \xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\num{\Coeffb}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\phantom{\useKV[ClesEquation]{Lettre}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\ + \useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\% + \useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\SSimplifie{\Coeffb}{\Coeffa}%\\ + }{} + }{} + }{} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{} + }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\\ + \mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{{}={}}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\ + \xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}&\phantom{=}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\ + \frac{\num{\Coeffb}}{\num{\Coeffa}}&=\phantom{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\ + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\% + \SSimplifie{\Coeffb}{\Coeffa}&=\phantom{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\ + }{} + }{} + }{} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}% + }% + }% + }% + }% + \fi + }%\\ + % \\ + +\newcommand{\ResolEquationL}[5][]{% + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#4=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }% + {%0x+b=cx+d$ + \EquaDeuxL[#1]{#4}{#5}{}{#3}% + }% + }{% + \xintifboolexpr{#4=0}{%ax+b=0x+d + \EquaDeuxL[#1]{#2}{#3}{}{#5}% + } + {%ax+b=cx+d$ + \xintifboolexpr{#3=0}{% + \xintifboolexpr{#5=0}{%ax=cx + \EquaTroisL[#1]{#2}{0}{#4}{}% + }% + {%ax=cx+d + \EquaTroisL[#1]{#4}{#5}{#2}{}% + }% + }% + {\xintifboolexpr{#5=0}{%ax+b=cx + \EquaTroisL[#1]{#2}{#3}{#4}{}% + }% + {%ax+b=cx+d -- ici + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}% + {%b<>d + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% + }% + }{ + %% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c + \begin{align*} + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{{}-{}\num{#4}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{{}-{}\num{#4}\useKV[ClesEquation]{Lettre}}{\phantom{{}={}}+{}\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\\ + \xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{\phantom{{}+{}}\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}&\phantom{{}={}\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{{}-{}\num{#3}}{{}+{}\num{\fpeval{0-#3}}}}\\ + \xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{\Coeffb>0}{\phantom{{}+{}}\num{\Coeffb}}{{}-{}\num{\fpeval{0-\Coeffb}}}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\phantom{\useKV[ClesEquation]{Lettre}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\phantom{{}={}}\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\ + \phantom{\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{\Coeffb>0}{{}+{}}{}}\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\% + \useKV[ClesEquation]{Lettre}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&=\phantom{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{\Coeffb>0}{{}+{}}{}}\SSimplifie{\Coeffb}{\Coeffa}%\\ + }{} + }{} + }{} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% + }{} + }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\phantom{\xintifboolexpr{#3>0}{{}+{}\num{#3}}{{}-{}\num{\fpeval{0-#3}}}}&\xintifboolexpr{#4<0}{\phantom{={}}}{}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{{}-{}\num{#2}\useKV[ClesEquation]{Lettre}}{{}+{}\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\ + \xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{{}-{}\num{#5}}{{}+{}\num{\fpeval{0-#5}}}}&\phantom{{}={}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}\\ + \xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}&\xintifboolexpr{\Coeffa<0}{\phantom{{}={}}}{\phantom{=}}\mathcolor{Cdecomp}{\mathrel{\div}\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}}\\ + \frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}%\\ + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ + }{} + }{} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% + }{}% + }% + }% + }% + }% + }% + }% +}% diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex b/macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex new file mode 100644 index 0000000000..f3ffd9453d --- /dev/null +++ b/macros/latex/contrib/profcollege/latex/PfCEquationSoustraction2.tex @@ -0,0 +1,345 @@ +% Licence : Released under the LaTeX Project Public License v1.3c +% or later, see http://www.latex-project.org/lppl.txtf +\newcommand{\EquaBase}[5][]{%type ax=d ou b=cx + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#2\bla%on teste si le paramètre #2 est vide: + % si oui, on est dans le cas b=cx. Eh bien on échange :) + % Mais attention si les deux paramètres a et c sont vides... + \EquaBase[#1]{#4}{}{}{#3} + \else + % si non, on est dans le cas ax=d + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#5=0}{% + L'équation $0\useKV[ClesEquation]{ELettre}=0$ a une infinité de solutions.}{L'équation $0\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}% + }{%\else + \xintifboolexpr{#5=0}{L'équation $\num{#2}\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else + \begin{align*}% + \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\num{#2}\useKV[ClesEquation]{Lettre}}&=\num{#5}\tikzmark{C-\theNbequa}\\ + \tikzmark{B-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}\tikzmark{D-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}$}% + \rightcomment{C-\theNbequa}{D-\theNbequa}{D-\theNbequa}{$\div\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}$}% + }{% + \ifboolKV[ClesEquation]{FlecheDiv}{% + \Leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}$}% + \Rightcomment{C-\theNbequa}{D-\theNbequa}{D-\theNbequa}{$\div\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}$}% + }{}% + }%% + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{#5}{#2}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{#5}{#2}}{}%\\ + }{} + }{} + \ifboolKV[ClesEquation]{Fleches}{% + \stepcounter{Nbequa}}% + {\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{} + } + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}=\num{#5}}{\num{#2}\useKV[ClesEquation]{Lettre}=\num{#5}}$ a une unique solution : $\displaystyle\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\opdiv*{#5}{#2}{numequa}{resteequa}\opcmp{resteequa}{0}\ifopeq\opexport{numequa}{\numequa}\num{\numequa}\else\ifboolKV[ClesEquation]{Simplification}{\SSimplifie{#5}{#2}}{\frac{\num{#5}}{\num{#2}}}\fi$.% + }{} + } + } + \fi +} + +\newcommand{\EquaDeuxSoustraction}[5][]{%type ax+b=d ou b=cx+d$ + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide + \EquaDeuxSoustraction[#1]{#4}{#5}{#2}{#3} + \else%cas ax+b=d + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }{%ELSE + \xintifboolexpr{#3=0}{%ax+b=d + \EquaBase[#1]{#2}{}{}{#5}% + }{%ax+b=d$ Ici + \begin{align*} + \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{E-\theNbequa}\\ + \ifboolKV[ClesEquation]{Decomposition}{% + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=\num{#5}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ + }{}% + \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa} + \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{} + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + \rightcomment{E-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{%ICI ? + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$. + }{} + } + } + \fi +} + +\newcommand{\EquaTroisSoustraction}[5][]{%ax+b=cx ou ax=cx+d + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 + \ifx\bla#5\bla% + %% paramètre oublié + \else + \EquaTroisSoustraction[#1]{#4}{#5}{#2}{}% + \fi + \else + \xintifboolexpr{#2=0}{%b=cx + \EquaBase[#1]{#4}{}{}{#3} + }{% + \xintifboolexpr{#4=0}{%ax+b=0 + \EquaDeuxSoustraction[#1]{#2}{#3}{}{0} + }{%ax+b=cx + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=0}{%ax=ax + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}% + {%ax+b=ax + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% + }% + }{%% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c + \begin{align*} + \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\ + \ifboolKV[ClesEquation]{Decomposition}{% + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\\ + }{} + \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\tikzmark{F-\theNbequa}\\ + \ifboolKV[ClesEquation]{Decomposition}{% + \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=0\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\tikzmark{F-\theNbequa}\\ + }{}% + \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ + %eric + \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{} + % eric + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{} + }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\ + \ifboolKV[ClesEquation]{Decomposition}{% + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\ + }{} + \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa} + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + }{} + % eric + \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}&=\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}}}{} + % eric + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}% + }% + }% + }% + }% + \fi + }% + + +\newcommand{\ResolEquationSoustraction}[5][]{% + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#4=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }% + {%0x+b=cx+d$ + \EquaDeuxSoustraction[#1]{#4}{#5}{}{#3}% + }% + }{% + \xintifboolexpr{#4=0}{%ax+b=0x+d + \EquaDeuxSoustraction[#1]{#2}{#3}{}{#5}% + } + {%ax+b=cx+d$ + \xintifboolexpr{#3=0}{% + \xintifboolexpr{#5=0}{%ax=cx + \EquaTroisSoustraction[#1]{#2}{0}{#4}{}% + }% + {%ax=cx+d + \EquaTroisSoustraction[#1]{#4}{#5}{#2}{}% + }% + }% + {\xintifboolexpr{#5=0}{%ax+b=cx + \EquaTroisSoustraction[#1]{#2}{#3}{#4}{}% + }% + {%ax+b=cx+d -- ici + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}% + {%b<>d + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% + }% + }{ + %% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c + \begin{align*} + \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ + \ifboolKV[ClesEquation]{Decomposition}{% + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + }{} + \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{F-\theNbequa}\\ + \ifboolKV[ClesEquation]{Decomposition}{% + \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}&=\num{#5}\mathcolor{Cdecomp}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ + }{}% + \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ + % eric + \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}}}{} + % eric + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% + }{} + }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ + \ifboolKV[ClesEquation]{Decomposition}{% + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cdecomp}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + }{} + \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\ + \ifboolKV[ClesEquation]{Decomposition}{% + \num{#3}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\mathcolor{Cdecomp}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}\\ + }{}% + \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\ + % eric + \ifboolKV[ClesEquation]{Decomposition}{\\\xintifboolexpr{\Coeffa=1}{}{\frac{\num{\Coeffb}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}&=\frac{\num{\Coeffa}}{\mathcolor{Cdecomp}{\num{\Coeffa}}}\useKV[ClesEquation]{Lettre}}}{} + % eric + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% + \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% + }{}% + }% + }% + }% + }% + }% + }% +}% + + diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex b/macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex new file mode 100644 index 0000000000..3cc345c524 --- /dev/null +++ b/macros/latex/contrib/profcollege/latex/PfCEquationSymbole1.tex @@ -0,0 +1,225 @@ +% Licence : Released under the LaTeX Project Public License v1.3c +% or later, see http://www.latex-project.org/lppl.txtf +\newcommand{\EquaBaseSymbole}[5][]{%type ax=d ou b=cx + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false} + \ifx\bla#2\bla%on teste si le paramètre #2 est vide: + % si oui, on est dans le cas b=cx. Eh bien on échange :) + % Mais attention si les deux paramètres a et c sont vides... + \ifx\bla#4\bla + %% il manque un paramètre + \else + \EquaBaseSymbole[#1]{#4}{}{}{#3} + \fi + \else + % si non, on est dans le cas ax=d + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#5=0}{% + L'équation $0\times\useKV[ClesEquation]{Lettre}=0$ a une infinité de solutions.}{L'équation $0\times\useKV[ClesEquation]{Lettre}=\num{#5}$ n'a aucune solution.}% + }{%\else + \xintifboolexpr{#5=0}{L'équation $\num{#2}\times\useKV[ClesEquation]{Lettre}=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.}{%\else + \begin{align*}% + \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}&=\num{#5}\\ + \useKV[ClesEquation]{Lettre}&=\frac{\num{#5}}{\num{#2}}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{#5}{#2}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{#5}{#2}}{}%\\ + }{} + }{} + \end{align*} + } + } + \fi +} + +\newcommand{\EquaDeuxSymbole}[5][]{%type ax+b=d ou b=cx+d$ + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false} + \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide + \EquaDeuxSymbole[#1]{#4}{#5}{#2}{#3} + \else%cas ax+b=d + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }{%ELSE + \xintifboolexpr{#3=0}{%ax+b=d + \EquaBaseSymbole[#1]{#2}{}{}{#5}% + }{%ax+b=d$ Ici + \begin{align*} + \xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\ + \ifboolKV[ClesEquation]{Bloc}{\Fdash{$\xintifboolexpr{#2=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}$}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\}{}% + \xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{\useKV[ClesEquation]{Lettre}}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}&=\num{\Coeffb}%\\ + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \\ + \useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \end{align*} + } + } + \fi +} + +\newcommand{\EquaTroisSymbole}[5][]{%ax+b=cx ou ax=cx+d + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false} + \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 + \ifx\bla#5\bla% + %% paramètre oublié + \else + \EquaTroisSymbole[#1]{#4}{#5}{#2}{}% + \fi + \else + \xintifboolexpr{#2=0}{%b=cx + \EquaBaseSymbole[#1]{#4}{}{}{#3} + }{% + \xintifboolexpr{#4=0}{%ax+b=0 + \EquaDeuxSymbole[#1]{#2}{#3}{}{0} + }{%ax+b=cx + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=0}{%ax=ax + L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}=\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}% + {%ax+b=ax + L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% + }% + }{%% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c + \begin{align*} + \multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\\ + \mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#4-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#2-#4}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\\ + \xdef\Coeffa{\fpeval{#2-#4}}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\ + \ifboolKV[ClesEquation]{Bloc}{\Fdash{\mathcolor{Csymbole}{$\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}$}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\}{} + \xdef\Coeffb{\fpeval{0-#3}}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}%\\ + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \\\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \end{align*} + }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\\ + \mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#2-1}}{+\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#2-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#4-#2}}{+\useKV[ClesEquation]{Lettre}}\\ + \xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{\Coeffa-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}% \\ + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \\\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ + }{} + }{} + } + \end{align*} + }% + }% + }% + }% + \fi + }% + + +\newcommand{\ResolEquationSymbole}[5][]{% + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \setKV[ClesEquation]{Fleches=false,FlecheDiv=false,Terme=false,Decomposition=false} + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#4=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }% + {%0x+b=cx+d$ + \EquaDeuxSymbole[#1]{#4}{#5}{#2}{#3}% + }% + }{% + \xintifboolexpr{#4=0}{%ax+b=0x+d + \EquaDeuxSymbole[#1]{#2}{#3}{}{#5}% + } + {%ax+b=cx+d$ + \xintifboolexpr{#3=0}{% + \xintifboolexpr{#5=0}{%ax=cx + \EquaTroisSymbole[#1]{#2}{0}{#4}{}% + }% + {%ax=cx+d + \EquaTroisSymbole[#1]{#4}{#5}{#2}{}% + }% + }% + {\xintifboolexpr{#5=0}{%ax+b=cx + \EquaTroisSymbole[#1]{#2}{#3}{#4}{}% + }% + {%ax+b=cx+d -- ici + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}% + {%b<>d + L'équation $\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% + }% + }{ + %% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c + \begin{align*} + \multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#4-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#2-#4}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \xdef\Coeffa{\fpeval{#2-#4}}\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\ + \ifboolKV[ClesEquation]{Bloc}{% + \Fdash{$\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}}$}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\\ + }{}% + \xdef\Coeffb{\fpeval{#5-#3}}\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}&=\num{\Coeffb}%\\ + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \\\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \end{align*} + }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\multido{\i=1+1}{\fpeval{#4-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \mathcolor{Csymbole}{\multido{\i=1+1}{\fpeval{#2-1}}{\useKV[ClesEquation]{Lettre}+}\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{#2-1}}{+\useKV[ClesEquation]{Lettre}}}\multido{\i=1+1}{\fpeval{#4-#2}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \xdef\Coeffa{\fpeval{#4-#2}}\num{#3}&=\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \ifboolKV[ClesEquation]{Bloc}{% + \num{#3}&=\Fdash{$\mathcolor{Csymbole}{\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}}$}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + }{}% + \xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\useKV[ClesEquation]{Lettre}\multido{\i=1+1}{\fpeval{\Coeffa-1}}{+\useKV[ClesEquation]{Lettre}}%\\ + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \\\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}%\\ + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ + }{} + }{} + } + \end{align*} + }% + }% + }% + }% + }% + }% +}% + + diff --git a/macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex b/macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex new file mode 100644 index 0000000000..3b4cc18f27 --- /dev/null +++ b/macros/latex/contrib/profcollege/latex/PfCEquationTerme1.tex @@ -0,0 +1,276 @@ +% Licence : Released under the LaTeX Project Public License v1.3c +% or later, see http://www.latex-project.org/lppl.txtf +\newcommand{\EquaDeuxTerme}[5][]{%type ax+b=d ou b=cx+d$ + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#2\bla%On échange en faisant attention à ne pas boucler : c doit être non vide + \EquaDeuxTerme[#1]{#4}{#5}{#2}{#3} + \else%cas ax+b=d + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }{%ELSE + \xintifboolexpr{#3=0}{%ax+b=d + \EquaBase[#1]{#2}{}{}{#5}% + }{%ax+b=d$ Ici + \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{} + \begin{align*} + \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{E-\theNbequa}\\ + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}&=\num{#5}\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ + \tikzmark{C-\theNbequa}\xdef\Coeffa{#2}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + \rightcomment{E-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{% + }{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{%ICI ? + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\num{#5}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$. + }{} + } + } + \fi +} + +\newcommand{\EquaTroisTerme}[5][]{%ax+b=cx ou ax=cx+d + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \ifx\bla#3\bla%on inverse en faisant attention à la boucle #3<->#5 + \ifx\bla#5\bla% + %% paramètre oublié + \else + \EquaTroisTerme[#1]{#4}{#5}{#2}{}% + \fi + \else + \xintifboolexpr{#2=0}{%b=cx + \EquaBase[#1]{#4}{}{}{#3} + }{% + \xintifboolexpr{#4=0}{%ax+b=0 + \EquaDeuxTerme[#1]{#2}{#3}{}{0} + }{%ax+b=cx + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=0}{%ax=ax + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une infinité de solutions.}% + {%ax+b=ax + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ n'a aucune solution.% + }% + }{%% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx avec a>c + \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{} + \begin{align*} + \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\ + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\\ + \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=0\tikzmark{F-\theNbequa}\\ + \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=0\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ + \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{0-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{} + }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\tikzmark{E-\theNbequa}\\ + \xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\\ + \tikzmark{B-\theNbequa}\xdef\Coeffb{#3}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{F-\theNbequa} + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + }{} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{B-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{F-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.}{}% + }% + }% + }% + }% + \fi + }% + +\newcommand{\ResolEquationTerme}[5][]{% + \useKVdefault[ClesEquation]% + \setKV[ClesEquation]{#1}% + \xintifboolexpr{#2=0}{% + \xintifboolexpr{#4=0}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\num{#3}=\num{#5}$ a une infinité de solutions.}% + {%b<>d + L'équation $\num{#3}=\num{#5}$ n'a aucune solution.% + }% + }% + {%0x+b=cx+d$ + \EquaDeuxTerme[#1]{#4}{#5}{#2}{#3}% + }% + }{% + \xintifboolexpr{#4=0}{%ax+b=0x+d + \EquaDeuxTerme[#1]{#2}{#3}{}{#5}% + } + {%ax+b=cx+d$ + \xintifboolexpr{#3=0}{% + \xintifboolexpr{#5=0}{%ax=cx + \EquaTroisTerme[#1]{#2}{0}{#4}{}% + }% + {%ax=cx+d + \EquaTroisTerme[#1]{#4}{#5}{#2}{}% + }% + }% + {\xintifboolexpr{#5=0}{%ax+b=cx + \EquaTroisTerme[#1]{#2}{#3}{#4}{}% + }% + {%ax+b=cx+d -- ici + \xintifboolexpr{#2=#4}{% + \xintifboolexpr{#3=#5}{%b=d + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une infinité de solutions.}% + {%b<>d + L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ n'a aucune solution.% + }% + }{ + %% Cas délicat + \xintifboolexpr{#2>#4}{%ax+b=cx+d avec a>c + \ifboolKV[ClesEquation]{Decomposition}{\colorlet{Cterme}{\useKV[ClesEquation]{CouleurTerme}}}{} + \begin{align*} + \tikzmark{A-\theNbequa}\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ + \xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#4>0}{-\num{#4}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#4}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#5>0}{\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#2-#4}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\num{#5}\tikzmark{F-\theNbequa}\tikzmark{F-\theNbequa}\\ + \xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{#5}\mathcolor{Cterme}{\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}}\\ + \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#5-#3}}\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}&=\num{\Coeffb}\tikzmark{G-\theNbequa}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#4>0}{-\num{#4}}{+\num{\fpeval{0-#4}}}\useKV[ClesEquation]{Lettre}$} + \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#3>0}{-\num{#3}}{+\num{\fpeval{0-#3}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\useKV[ClesEquation]{Lettre}&=\frac{\num{\Coeffb}}{\num{\Coeffa}}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\useKV[ClesEquation]{Lettre}&=\SSimplifie{\Coeffb}{\Coeffa}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% + }{} + }{%ax+b=cx+d avec a0}{+\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{E-\theNbequa}\\ + \xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\mathcolor{Cterme}{\xintifboolexpr{#2>0}{-\num{#2}\useKV[ClesEquation]{Lettre}}{+\num{\fpeval{0-#2}}\useKV[ClesEquation]{Lettre}}}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\\ + \tikzmark{B-\theNbequa}\xdef\Coeffa{\fpeval{#4-#2}}\xintifboolexpr{#3>0}{\num{#3}}{-\num{\fpeval{0-#3}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}\tikzmark{F-\theNbequa}\\ + \num{#3}\mathcolor{Cterme}{\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\\ + \tikzmark{C-\theNbequa}\xdef\Coeffb{\fpeval{#3-#5}}\num{\Coeffb}&=\xintifboolexpr{\Coeffa=1}{}{\num{\Coeffa}}\useKV[ClesEquation]{Lettre}\tikzmark{G-\theNbequa}%\\ + \xintifboolexpr{\Coeffa=1}{}{\\} + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{A-\theNbequa}{B-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + \rightcomment{E-\theNbequa}{F-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#2>0}{-\num{#2}}{+\num{\fpeval{0-#2}}}\useKV[ClesEquation]{Lettre}$} + \leftcomment{B-\theNbequa}{C-\theNbequa}{A-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% + \rightcomment{F-\theNbequa}{G-\theNbequa}{E-\theNbequa}{$\xintifboolexpr{#5>0}{-\num{#5}}{+\num{\fpeval{0-#5}}}$}% + }{} + \xintifboolexpr{\Coeffa=1}{}{%\ifnum\cmtd>1 + \tikzmark{D-\theNbequa}\frac{\num{\Coeffb}}{\num{\Coeffa}}&=\useKV[ClesEquation]{Lettre}\tikzmark{H-\theNbequa}%\\ + \ifboolKV[ClesEquation]{Fleches}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{ + \ifboolKV[ClesEquation]{FlecheDiv}{% + \leftcomment{C-\theNbequa}{D-\theNbequa}{A-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + \rightcomment{G-\theNbequa}{H-\theNbequa}{E-\theNbequa}{$\div\xintifboolexpr{\Coeffa<0}{(\num{\Coeffa})}{\num{\Coeffa}}$}% + }{} + } + \ifboolKV[ClesEquation]{Entier}{% + \SSimpliTest{\Coeffb}{\Coeffa}% + \ifboolKV[ClesEquation]{Simplification}{% + \ifthenelse{\boolean{Simplification}}{\\\SSimplifie{\Coeffb}{\Coeffa}&=\useKV[ClesEquation]{Lettre}}{}%\\ + }{} + }{} + } + \ifboolKV[ClesEquation]{Fleches}{\stepcounter{Nbequa}}{\ifboolKV[ClesEquation]{FlecheDiv}{\stepcounter{Nbequa}}{}} + \end{align*} + \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}=\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}$ a une unique solution : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$.% + }{}% + }% + }% + }% + }% + }% + }% +}% + + diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty index 8233385380..eb53ab6098 100644 --- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty +++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty @@ -3,7 +3,7 @@ % or later, see http://www.latex-project.org/lppl.txtf \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{ProfCollege}[2021/04/09 v0.99 Aide pour l'utilisation de LaTeX au collège] +\ProvidesPackage{ProfCollege}[2021/04/09 v0.99-a Aide pour l'utilisation de LaTeX au collège] \RequirePackage{verbatim} @@ -30,6 +30,7 @@ \DeclareSIUnit{\quintal}{q} \DeclareSIUnit{\octet}{o} \DeclareSIUnit{\fahrenheit}{\degree F} +\DeclareSIUnit{\EuRo}{€} \RequirePackage[table,svgnames]{xcolor}%Gestion des couleurs \RequirePackage{xstring}%Gestion de chaines de caractères @@ -42,9 +43,16 @@ \DeclareOption{nonshellescape}{\@shellescapefalse} \ProcessOptions\relax +\RequirePackage{iftex} + +\ifluatex +\RequirePackage{luamplib} +\everymplib{input PfCSvgnames; input PfCConstantes; input PfCGeometrie; input PfCAfficheur; beginfig(1);} +\everyendmplib{endfig;} +\else \if@shellescape \RequirePackage[shellescape,latex]{gmp}%inclusion de figures metapost "à la volée"% -\gmpoptions{everymp={prologues:=3; input PfC-LaTeX; input PfC-Svgnames; input PfC-Constantes; input PfC-Geometrie; input PfC-Afficheur;}} +\gmpoptions{everymp={prologues:=3; input PfCLaTeX; input PfCSvgnames; input PfCConstantes; input PfCGeometrie; input PfCAfficheur;}} \usempxclass{article} \usempxpackage{ProfCollege} \usempxpackage[utf8]{inputenc} @@ -54,7 +62,7 @@ \usempxpackage{pifont} \else \RequirePackage[latex]{gmp}%inclusion de figures metapost "à la volée"% -\gmpoptions{everymp={prologues:=3; input PfC-LaTeX; input PfC-Svgnames; input PfC-Constantes; input PfC-Geometrie; input PfC-Afficheur;}} +\gmpoptions{everymp={prologues:=3; input PfCLaTeX; input PfCSvgnames; input PfCConstantes; input PfCGeometrie; input PfCAfficheur;}} \usempxclass{article} \usempxpackage{ProfCollege} \usempxpackage[utf8]{inputenc} @@ -63,6 +71,7 @@ \usempxpackage[french]{babel} \usempxpackage{pifont} \fi +\fi \RequirePackage{xintexpr} \RequirePackage{listofitems}%pour définir simplement la liste des données. @@ -70,7 +79,7 @@ \RequirePackage{multido} \RequirePackage{xlop}%Pour effectuer les calculs nécessaires. -\opset{decimalsepsymbol={,}}% +%\opset{decimalsepsymbol={,}}% \RequirePackage{xfp}%Pour les calculs trigonométriques @@ -87,8 +96,6 @@ \RequirePackage{hhline}% Pour la cohabitation de cline avec les couleurs -\RequirePackage{iftex} - \RequirePackage{stackengine} \RequirePackage[thicklines]{cancel} @@ -98,12 +105,6 @@ \RequirePackage{environ} % -\ifluatex -\RequirePackage{luamplib} -\everymplib{input PfC-Svgnames; input PfC-Constantes; input PfC-Geometrie; input PfC-Afficheur; beginfig(1);} -\everyendmplib{endfig;} -\fi - %%%%% Quelques besoins particuliers \def\bla{}%JCC :) Pour les tests sur arguments vides @@ -316,7 +317,7 @@ %%% \setKVdefault[Tables]{Addition=false,Multiplication=true,Seul=false,Debut=0,Fin=10,Couleur=white} -% pour mémoire +% pour m\'emoire \newcommand\TableMultiplicationComplete{% \xdef\NbColTabMul{\fpeval{\useKV[Tables]{Fin}+1-\useKV[Tables]{Debut}}}% \begin{tabular}{|>{\columncolor{gray!15}\centering\arraybackslash}p{1.5em}|*{\NbColTabMul}{>{\centering\arraybackslash}p{1.5em}|}}% @@ -429,12 +430,12 @@ \ifboolKV[ClesRgt]{Fraction}{% \setsepchar[*]{,*/}%\ignoreemptyitems% \readlist*\ListeRgt{#2}% - % on cherche le dénominateur commun + % on cherche le d\'enominateur commun \ppcm=1\relax \foreachitem\x\in\ListeRgt{% \PPCM{\fpeval{\ListeRgt[\xcnt,2]}}{\fpeval{\the\ppcm}}% }% - % On crée la liste des rangements. + % On cr\'ee la liste des rangements. \DTLcleardb{mtnumedb}% % on les trie pour les ranger par ordre croissant \foreachitem\x\in\ListeRgt{% @@ -461,7 +462,7 @@ }{% \setsepchar{,}\ignoreemptyitems% \readlist*\ListeRgt{#2}% - % on crée la base de données des valeurs + % on cr\'ee la base de donn\'ees des valeurs \DTLcleardb{mtdb}% % on les trie pour les ranger par ordre croissant \foreachitem\x\in\ListeRgt{% @@ -521,7 +522,7 @@ }% }% % fin des cadres - % on dessine les flèches + % on dessine les fl\`eches \ifboolKV[Labyrinthe]{SensImpose}{% %verticales \foreach \compteurv in {1,...,\fpeval{\useKV[Labyrinthe]{Lignes}-1}}{% @@ -613,11 +614,11 @@ }% }% }% - % fin des flèches + % fin des fl\`eches } \end{tikzpicture} }{\textbf{! Le nombre d'informations n'est pas compatible avec les - définitions de {\ttfamily Colonnes} et {\ttfamily Lignes} !}}% + d\'efinitions de {\ttfamily Colonnes} et {\ttfamily Lignes} !}}% } %%% @@ -730,15 +731,15 @@ } \def\MPCalculatrice#1#2#3{ - % #1 Calcul %2 réponse + % #1 Calcul %2 r\'eponse \ifluatex \mplibforcehmode% \begin{mplibcode}% - input PfC-Calculatrice; + input PfCCalculatrice; LCD(#1)(#2)(#3); \end{mplibcode} \else - \begin{mpost}[mpsettings={input PfC-Calculatrice;}] + \begin{mpost}[mpsettings={input PfCCalculatrice;}] LCD(#1)(#2); \end{mpost} \fi @@ -851,7 +852,7 @@ draw Hor; \end{mplibcode} \else - \begin{mpost}[mpsettings={input PfC-Geometrie;}] + \begin{mpost}[mpsettings={input PfCGeometrie;}] marque_horloge=1; save Hor; picture Hor; @@ -904,7 +905,7 @@ \end{tcolorbox} \ifboolKV[ClesFlash]{Pause}{\pause}{} \begin{tcolorbox}[ExpressionSerie2] - $\square$ \textbf{Le chiffre \ListeFlash[1,3] représente le + $\square$ \textbf{Le chiffre \ListeFlash[1,3] repr\'esente le chiffre des :} \tcbox[BoiteExpression]{\phantom{1500000}} \end{tcolorbox} @@ -958,7 +959,7 @@ \end{tcolorbox} \ifboolKV[ClesFlash]{Pause}{\pause}{} \begin{tcolorbox}[ExpressionSerie2] - $\square$ \textbf{Elle peut aussi s'écrire \ListeFlash[1,3] } + $\square$ \textbf{Elle peut aussi s'\'ecrire \ListeFlash[1,3] } \tcbox[BoiteExpression]{\phantom{1500000000}} \end{tcolorbox} \ifboolKV[ClesFlash]{Pause}{\pause}{} @@ -968,7 +969,7 @@ \end{tcolorbox} \ifboolKV[ClesFlash]{Pause}{\pause}{} \begin{tcolorbox}[ExpressionSerie4] - $\square$ \textbf{Enlève-lui \ListeFlash[1,5] :} + $\square$ \textbf{Enl\`eve-lui \ListeFlash[1,5] :} \tcbox[BoiteExpression]{\phantom{\hbox to5em{1500000}}} \end{tcolorbox} \end{CadreNombre} @@ -1012,19 +1013,19 @@ \tcbox[BoiteExpression]{\num{\ListeFlash[1,1]}} \ifboolKV[ClesFlash]{Pause}{\pause}{} \begin{tcolorbox}[ExpressionSerie1] - $\square$ \textbf{\'Ecris-le en fraction décimale :} + $\square$ \textbf{\'Ecris-le en fraction d\'ecimale :} \tcbox[BoiteExpression]{$\dfrac{\phantom{1000000}}{\phantom{1000000}}$} \end{tcolorbox} \ifboolKV[ClesFlash]{Pause}{\pause}{} \begin{tcolorbox}[ExpressionSerie2] $\square$ \begin{tabular}{c} \textbf{Partie}\\ - \textbf{entière} + \textbf{enti\`ere} \end{tabular} \textbf{: } \tcbox[BoiteExpression]{\phantom{100000}}\hfill% $\square$ \begin{tabular}{c} \textbf{Partie}\\ - \textbf{décimale} + \textbf{d\'ecimale} \end{tabular} \textbf{: } \tcbox[BoiteExpression]{\phantom{100000}} \end{tcolorbox} @@ -1399,10 +1400,10 @@ \setKVdefault[ClesFraction]{Rayon=2cm,Disque,Regulier=false,Segment=false,Rectangle=false,Longueur=5cm,Largeur=2cm,Cotes=5,Triangle=false,Parts=3,Couleur=green,Reponse=false,Multiple=1,Hachures=false,Epaisseur=1} \def\MPFractionTriangle#1#2#3#4#5{ - % #1 longueur du côté - % #2 partage sur le côté + % #1 longueur du c\^ot\'e + % #2 partage sur le c\^ot\'e % #3 num - % #4 déno (attention : = #2^2) + % #4 d\'eno (attention : = #2^2) % #5 couleur \ifluatex \mplibforcehmode @@ -1493,12 +1494,12 @@ } \def\MPFractionTriangleH#1#2#3#4#5#6{ - % #1 longueur du côté - % #2 partage sur le côté + % #1 longueur du c\^ot\'e + % #2 partage sur le c\^ot\'e % #3 num - % #4 déno (attention : = #2^2) + % #4 d\'eno (attention : = #2^2) % #5 couleur - % #6 épaisseur + % #6 \'epaisseur \ifluatex \mplibforcehmode \begin{mplibcode} @@ -1596,7 +1597,7 @@ \def\MPFractionRegulier#1#2#3#4#5{% - % #1 rayon, #2 nb côtés, #3 num, #4 deno, #5 couleur + % #1 rayon, #2 nb c\^ot\'es, #3 num, #4 deno, #5 couleur \ifluatex \mplibforcehmode \begin{mplibcode} @@ -1648,7 +1649,7 @@ } \def\MPFractionRegulierH#1#2#3#4#5#6{% - % #1 rayon, #2 nb côtés, #3 num, #4 deno, #5 couleur + % #1 rayon, #2 nb c\^ot\'es, #3 num, #4 deno, #5 couleur \ifluatex \mplibforcehmode \begin{mplibcode} @@ -2077,7 +2078,7 @@ }% %%% -% Réponses à relier +% R\'eponses \`a relier %%% \setKVdefault[ClesRelie]{Solution=false,LargeurG=5cm,LargeurD=2cm,Stretch=1.5,Ecart=2cm} @@ -2138,7 +2139,7 @@ %%% % QCM %%% -\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=2cm,Couleur=gray!15,Titre=false,Nom=Réponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false} +\setKVdefault[ClesQCM]{Reponses=3,Solution=false,Stretch=1,Largeur=2cm,Couleur=gray!15,Titre=false,Nom=R\'eponse,NomV=Vrai,NomF=Faux,Alph=false,AlphT=false,VF=false,Depart=1,Alterne=false,Noms={A/B/C},Multiple=false} \newlength{\LargeurQCM} \newcounter{QuestionQCM} \newcounter{TitreQCM} @@ -2216,31 +2217,31 @@ \def\MPFigureSommeAngle#1#2#3#4#5#6#7{ % #1 Premier sommet - % #2 Deuxième sommet - % #3 Troisième sommet + % #2 Deuxi\`eme sommet + % #3 Troisi\`eme sommet % #4 1er angle % #5 2eme angle - % #6 0 isocèle / 1 pas isocèle + % #6 0 isoc\`ele / 1 pas isoc\`ele \ifluatex \mplibcodeinherit{enable} \mplibforcehmode \begin{mplibcode} pair A,B,C,O,I;% - % On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + % On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=u*(1,1); B-A=u*(4,0); C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); - % On définit le centre du cercle circonscrit + % On d\'efinit le centre du cercle circonscrit O - .5[A,B] = whatever * (B-A) rotated 90; O - .5[B,C] = whatever * (C-B) rotated 90; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#7); B:=B rotatedabout(O,#7); C:=C rotatedabout(O,#7); - % On définit le centre du cercle inscrit + % On d\'efinit le centre du cercle inscrit (I-C) rotated ((angle(A-C)-angle(B-C))/2) shifted C=whatever[A,C]; (I-B) rotated ((angle(C-B)-angle(A-B))/2) shifted B=whatever[B,C]; - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) path triangle; triangle=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}--B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}--C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}--cycle; % pour marquer les angles @@ -2286,24 +2287,24 @@ \mplibcodeinherit{disable} \else \begin{mpost} - input PfC-Geometrie; + input PfCGeometrie; u:=1cm; pair A,B,C,O,I;% - % On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + % On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=u*(1,1); B-A=u*(4,0); C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); - % On définit le centre du cercle circonscrit + % On d\'efinit le centre du cercle circonscrit O - .5[A,B] = whatever * (B-A) rotated 90; O - .5[B,C] = whatever * (C-B) rotated 90; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#7); B:=B rotatedabout(O,#7); C:=C rotatedabout(O,#7); - % On définit le centre du cercle inscrit + % On d\'efinit le centre du cercle inscrit (I-C) rotated ((angle(A-C)-angle(B-C))/2) shifted C=whatever[A,C]; (I-B) rotated ((angle(C-B)-angle(A-B))/2) shifted B=whatever[B,C]; - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) path triangle; triangle=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}--B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}--C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}--cycle; % pour marquer les angles @@ -2358,7 +2359,7 @@ % la macro calculant la mesure de l'angle pCpApB \useKVdefault[ClesSommeAngle]%obligatoire car la macro n'est pas dans un groupe. \setKV[ClesSommeAngle]{#1}%On lit les arguments optionnels - % On récupère les noms des sommets. + % On r\'ecup\`ere les noms des sommets. \StrMid{#2}{1}{1}[\NomA]% \StrMid{#2}{2}{2}[\NomB]% \StrMid{#2}{3}{3}[\NomC]% @@ -2366,8 +2367,8 @@ \xdef\NomSommetB{\NomB}% \xdef\NomSommetA{\NomA}% \xdef\NomSommetC{\NomC}% - % On rédige - \ifboolKV[ClesSommeAngle]{Perso}{\RedactionSomme}{Dans le triangle $\NomA\NomB\NomC$,\ifboolKV[ClesSommeAngle]{Isocele}{ isocèle en \NomA,}{} on a :}% + % On r\'edige + \ifboolKV[ClesSommeAngle]{Perso}{\RedactionSomme}{Dans le triangle $\NomA\NomB\NomC$,\ifboolKV[ClesSommeAngle]{Isocele}{ isoc\`ele en \NomA,}{} on a :}% \ifboolKV[ClesSommeAngle]{Isocele}{% \ifx\bla#4\bla% \begin{align*}% @@ -2409,7 +2410,7 @@ % la macro calculant la mesure de l'angle pCpApB \useKVdefault[ClesSommeAngle]%obligatoire car la macro n'est pas dans un groupe. \setKV[ClesSommeAngle]{#1}%On lit les arguments optionnels - % On récupère les noms des sommets. + % On r\'ecup\`ere les noms des sommets. \StrMid{#2}{1}{1}[\NomA]% \StrMid{#2}{2}{2}[\NomB]% \StrMid{#2}{3}{3}[\NomC]% @@ -2428,7 +2429,7 @@ }{% \ifboolKV[ClesSommeAngle]{Figure}{% \begin{multicols}{2}% - {\em La figure est donnée à titre indicatif.}% + {\em La figure est donn\'ee \`a titre indicatif.}% \ifx\bla#3\bla% \xdef\Intermed{\fpeval{0.5*(180-#4)}}% \[\MPFigureSommeAngle{\NomA}{\NomB}{\NomC}{#4}{\Intermed}{0}{\useKV[ClesSommeAngle]{Angle}}\]% @@ -2440,25 +2441,25 @@ \fi% \fi% \par\columnbreak\par% - % on rédige + % on r\'edige \RedactionSom[#1]{#2}{#3}{#4}% \end{multicols}% - }{% on rédige + }{% on r\'edige \RedactionSom[#1]{#2}{#3}{#4}% }% }% }% %%% -% Le théorème de Pythagore +% Le th\'eor\`eme de Pythagore %%% \setKVdefault[ClesPythagore]{Exact=false,AvantRacine=false,Racine=false,Entier=false,Egalite=false,Precision=2,Soustraction=false,Figure=false,FigureSeule=false,Angle=0,Reciproque=false,ReciColonnes=false,Faible=false,Unite=cm,EnchaineA=false,EnchaineB=false,EnchaineC=false,ValeurA=0,ValeurB=0,ValeurC=0,Perso=false} -% On définit les figures à utiliser +% On d\'efinit les figures \`a utiliser \def\MPFigurePytha#1#2#3#4#5#6{% % #1 Premier sommet % #2 Sommet de l'angle droit - % #3 troisième sommet + % #3 troisi\`eme sommet % #4 1ere longueur % #5 2eme longueur % #6 angle de rotation de la figure @@ -2470,15 +2471,15 @@ O=u*(2.5,2.5); path cc; cc=(fullcircle scaled 4u) shifted O; - % On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + % On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=point(0.9*length cc) of cc; B=A rotatedabout(O,-120); C=2[A,O]; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#6); B:=B rotatedabout(O,#6); C:=C rotatedabout(O,#6); - % On définit l'angle droit + % On d\'efinit l'angle droit D-B=7*unitvector(C-B); F-B=7*unitvector(A-B); E-D=F-B; @@ -2516,15 +2517,15 @@ O=u*(2.5,2.5); path cc; cc=(fullcircle scaled 4u) shifted O; - % On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + % On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=point(0.9*length cc) of cc; B=A rotatedabout(O,-120); C=2[A,O]; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#6); B:=B rotatedabout(O,#6); C:=C rotatedabout(O,#6); - % On définit l'angle droit + % On d\'efinit l'angle droit D-B=7*unitvector(C-B); F-B=7*unitvector(A-B); E-D=F-B; @@ -2561,7 +2562,7 @@ \def\MPFigureReciPytha#1#2#3#4#5#6#7{% % #1 Premier sommet % #2 Sommet de l'angle droit - % #3 troisième sommet + % #3 troisi\`eme sommet % #4 1ere longueur % #5 2eme longueur % #6 3eme longueur @@ -2574,11 +2575,11 @@ O=u*(2.5,2.5); path cc; cc=(fullcircle scaled 4u) shifted O; - % On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + % On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=point(0.8*length cc) of cc; B=A rotatedabout(O,-100); C=2[A,O]; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#7); B:=B rotatedabout(O,#7); C:=C rotatedabout(O,#7); @@ -2606,11 +2607,11 @@ O=u*(2.5,2.5); path cc; cc=(fullcircle scaled 4u) shifted O; - % On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + % On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=point(0.8*length cc) of cc; B=A rotatedabout(O,-100); C=2[A,O]; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#7); B:=B rotatedabout(O,#7); C:=C rotatedabout(O,#7); @@ -2637,11 +2638,11 @@ \newcommand\RedactionPythagore{} \newcommand{\Pythagore}[5][]{% - % #1 Paramètres sous forme de clés + % #1 Param\`etres sous forme de cl\'es % #2 Nom "complet" du triangle : ABC par exemple - % #3 Première longueur - % #4 Deuxième longueur - % #5 Troisième longueur (éventuellement vide) + % #3 Premi\`ere longueur + % #4 Deuxi\`eme longueur + % #5 Troisi\`eme longueur (\'eventuellement vide) \useKVdefault[ClesPythagore]%obligatoire car la macro n'est pas dans un groupe. \setKV[ClesPythagore]{#1}%On lit les arguments optionnels \ifboolKV[ClesPythagore]{Reciproque}{% @@ -2649,7 +2650,7 @@ \StrMid{#2}{1}{1}[\NomA]% \StrMid{#2}{2}{2}[\NomB]% \StrMid{#2}{3}{3}[\NomC]% - % on stocke les valeurs données + % on stocke les valeurs donn\'ees \opcopy{#3}{A1}% \opcopy{#4}{A2}% \opcopy{#5}{A3}% @@ -2659,11 +2660,11 @@ }{% \ifboolKV[ClesPythagore]{Figure}{%Utilisation obligatoire de l'option --shell-escape de la compilation \begin{multicols}{2} - {\em La figure est donnée à titre indicatif.}% + {\em La figure est donn\'ee \`a titre indicatif.}% \[\MPFigureReciPytha{\NomA}{\NomB}{\NomC}{#3}{#4}{#5}{\useKV[ClesPythagore]{Angle}}\]% \par\columnbreak\par% - % on rédige - Dans le triangle $#2$, $[\NomA\NomC]$ est le plus grand côté.% + % on r\'edige + Dans le triangle $#2$, $[\NomA\NomC]$ est le plus grand c\^ot\'e.% \ifboolKV[ClesPythagore]{ReciColonnes}{% \[ \begin{array}{cccc|cccc} @@ -2684,17 +2685,17 @@ \] } \ifboolKV[ClesPythagore]{Egalite}{% - \opcmp{a1}{a4}\ifopeq Comme $\NomA\NomC^2=\NomA\NomB^2+\NomB\NomC^2$, alors l'égalité de Pythagore est vérifiée. Donc le triangle $#2$ est rectangle en $\NomB$.\fi% - \opcmp{a1}{a4}\ifopneq Comme $\NomA\NomC^2\not=\NomA\NomB^2+\NomB\NomC^2$, alors l'égalité de Pythagore n'est pas vérifiée. Donc le triangle $#2$ n'est pas rectangle.\fi% + \opcmp{a1}{a4}\ifopeq Comme $\NomA\NomC^2=\NomA\NomB^2+\NomB\NomC^2$, alors l'\'egalit\'e de Pythagore est v\'erifi\'ee. Donc le triangle $#2$ est rectangle en $\NomB$.\fi% + \opcmp{a1}{a4}\ifopneq Comme $\NomA\NomC^2\not=\NomA\NomB^2+\NomB\NomC^2$, alors l'\'egalit\'e de Pythagore n'est pas v\'erifi\'ee. Donc le triangle $#2$ n'est pas rectangle.\fi% }{% \opcmp{a1}{a4}\ifopeq Comme $\NomA\NomC^2=\NomA\NomB^2+\NomB\NomC^2$, alors le triangle $#2$ est rectangle - en $\NomB$ d'après la réciproque du théorème de Pythagore.\fi% + en $\NomB$ d'apr\`es la r\'eciproque du th\'eor\`eme de Pythagore.\fi% \opcmp{a1}{a4}\ifopneq Comme $\NomA\NomC^2\not=\NomA\NomB^2+\NomB\NomC^2$, alors le - triangle $#2$ n'est pas rectangle\ifboolKV[ClesPythagore]{Faible}{.}{ d'après la contraposée du théorème de Pythagore.}\fi% + triangle $#2$ n'est pas rectangle\ifboolKV[ClesPythagore]{Faible}{.}{ d'apr\`es la contrapos\'ee du th\'eor\`eme de Pythagore.}\fi% } \end{multicols} }{% - Dans le triangle $#2$, $[\NomA\NomC]$ est le plus grand côté.% + Dans le triangle $#2$, $[\NomA\NomC]$ est le plus grand c\^ot\'e.% \ifboolKV[ClesPythagore]{ReciColonnes}{% \[ \begin{array}{cccc|cccc} @@ -2715,18 +2716,18 @@ \] }% \ifboolKV[ClesPythagore]{Egalite}{% - \opcmp{a1}{a4}\ifopeq Comme $\NomA\NomC^2=\NomA\NomB^2+\NomB\NomC^2$, alors l'égalité de Pythagore est vérifiée. Donc le triangle $#2$ est rectangle en $\NomB$.\fi% - \opcmp{a1}{a4}\ifopneq Comme $\NomA\NomC^2\not=\NomA\NomB^2+\NomB\NomC^2$, alors l'égalité de Pythagore n'est pas vérifiée. Donc le triangle $#2$ n'est pas rectangle.\fi% + \opcmp{a1}{a4}\ifopeq Comme $\NomA\NomC^2=\NomA\NomB^2+\NomB\NomC^2$, alors l'\'egalit\'e de Pythagore est v\'erifi\'ee. Donc le triangle $#2$ est rectangle en $\NomB$.\fi% + \opcmp{a1}{a4}\ifopneq Comme $\NomA\NomC^2\not=\NomA\NomB^2+\NomB\NomC^2$, alors l'\'egalit\'e de Pythagore n'est pas v\'erifi\'ee. Donc le triangle $#2$ n'est pas rectangle.\fi% }{% \opcmp{a1}{a4}\ifopeq Comme $\NomA\NomC^2=\NomA\NomB^2+\NomB\NomC^2$, alors le triangle $#2$ est rectangle - en $\NomB$ d'après la réciproque du théorème de Pythagore.\fi% + en $\NomB$ d'apr\`es la r\'eciproque du th\'eor\`eme de Pythagore.\fi% \opcmp{a1}{a4}\ifopneq Comme $\NomA\NomC^2\not=\NomA\NomB^2+\NomB\NomC^2$, alors le - triangle $#2$ n'est pas rectangle\ifboolKV[ClesPythagore]{Faible}{.}{ d'après la contraposée du théorème de Pythagore.}\fi% + triangle $#2$ n'est pas rectangle\ifboolKV[ClesPythagore]{Faible}{.}{ d'apr\`es la contrapos\'ee du th\'eor\`eme de Pythagore.}\fi% }% }% }% }{% - % [xlop] paramètres de calcul + % [xlop] param\`etres de calcul \opcopy{#3}{A1}% \opcopy{#4}{A2}% \opcopy{\useKV[ClesPythagore]{Precision}}{pres}% @@ -2744,11 +2745,11 @@ }{% \ifboolKV[ClesPythagore]{Figure}{%Utilisation obligatoire de l'option --shell-escape de la compilation \begin{multicols}{2}% - {\em La figure est donnée à titre indicatif.}% + {\em La figure est donn\'ee \`a titre indicatif.}% \[\MPFigurePytha{\NomA}{\NomB}{\NomC}{#3}{#4}{\useKV[ClesPythagore]{Angle}}\] \par\columnbreak\par% - % On démarre la résolution - \ifboolKV[ClesPythagore]{Perso}{\RedactionPythagore}{\ifboolKV[ClesPythagore]{Egalite}{Comme le triangle $#2$ est rectangle en $\NomB$, alors l'égalité de Pythagore est vérifiée :}{Dans le triangle $#2$ rectangle en $\NomB$, le th\'eor\`eme de Pythagore permet d'\'ecrire :% + % On d\'emarre la r\'esolution + \ifboolKV[ClesPythagore]{Perso}{\RedactionPythagore}{\ifboolKV[ClesPythagore]{Egalite}{Comme le triangle $#2$ est rectangle en $\NomB$, alors l'\'egalit\'e de Pythagore est v\'erifi\'ee :}{Dans le triangle $#2$ rectangle en $\NomB$, le th\'eor\`eme de Pythagore permet d'\'ecrire :% }% }% \xintifboolexpr{#3<#4 || #3=#4}{%\ifnum#3<#4% @@ -2780,8 +2781,8 @@ }%\fi% \end{multicols} }{% - % On démarre la résolution - \ifboolKV[ClesPythagore]{Perso}{\RedactionPythagore}{\ifboolKV[ClesPythagore]{Egalite}{Comme le triangle $#2$ est rectangle en $\NomB$, alors l'égalité de Pythagore est vérifiée :}{Dans le triangle $#2$ rectangle en $\NomB$, le th\'eor\`eme de Pythagore permet d'\'ecrire :% + % On d\'emarre la r\'esolution + \ifboolKV[ClesPythagore]{Perso}{\RedactionPythagore}{\ifboolKV[ClesPythagore]{Egalite}{Comme le triangle $#2$ est rectangle en $\NomB$, alors l'\'egalit\'e de Pythagore est v\'erifi\'ee :}{Dans le triangle $#2$ rectangle en $\NomB$, le th\'eor\`eme de Pythagore permet d'\'ecrire :% }}% \xintifboolexpr{#3<#4 || #3=#4}{%\ifnum#3<#4% \xdef\ResultatPytha{\fpeval{round(sqrt(#3^2+#4^2),\useKV[ClesPythagore]{Precision})}}% @@ -2828,7 +2829,7 @@ }% %%% -% Distributivité +% Distributivit\'e %%% % https://tex.stackexchange.com/questions/168972/draw-arrows-to-show-multiplication-pattern-distributive-property/169278?noredirect=1 \newcommand{\Tikzmark}[1]{% @@ -2863,7 +2864,7 @@ \newcounter{NbDistri}% \setcounter{NbDistri}{0}% -\newcounter{NbCalculDistri}%Pour compter combien de distributivité il +\newcounter{NbCalculDistri}%Pour compter combien de distributivit\'e il % y a dans un "seul calcul". \setcounter{NbCalculDistri}{0} @@ -2917,8 +2918,8 @@ \xdef\Multij{\fpeval{#2*#3}}% \xdef\Multik{\fpeval{#3*#2}}% \xdef\Multil{\fpeval{#3*#3}}% - %% ils sont redéfinis pour pouvoir envisager la somme de deux - %% expressions à développer + %% ils sont red\'efinis pour pouvoir envisager la somme de deux + %% expressions \`a d\'evelopper \xdef\Multim{\fpeval{#2*#3+#3*#2}}% \ifboolKV[ClesDistributivite]{Oppose}{% \xdef\Multi{\fpeval{-\Multi}}% @@ -2937,8 +2938,8 @@ \xdef\Multij{\fpeval{#2*#5}}% \xdef\Multik{\fpeval{#3*#4}}% \xdef\Multil{\fpeval{#3*#5}}% - %% ils sont redéfinis pour pouvoir envisager la somme de deux - %% expressions à développer + %% ils sont red\'efinis pour pouvoir envisager la somme de deux + %% expressions \`a d\'evelopper \xdef\Multim{\fpeval{#2*#5+#3*#4}}% \ifboolKV[ClesDistributivite]{Oppose}{% \xdef\Multi{\fpeval{-\Multi}}% @@ -3035,8 +3036,8 @@ \xdef\Multij{\fpeval{#2*#5}}% \xdef\Multik{\fpeval{#3*#4}}% \xdef\Multil{\fpeval{#3*#5}}% - %% ils sont redéfinis pour pouvoir envisager la somme de deux - %% expressions à développer + %% ils sont red\'efinis pour pouvoir envisager la somme de deux + %% expressions \`a d\'evelopper \xintifboolexpr{\theNbCalculDistri>1}{\xintifboolexpr{\Multi<0}{(\Affichage{\Multi}{0}{0})}{\Affichage{\Multi}{0}{0}}}{\Affichage{\Multi}{0}{0}}% \ifboolKV[ClesDistributivite]{Reduction}{\mathunderline{DCReduction}{% \xintifboolexpr{\Multij=0}{}{\xintifboolexpr{\Multi=0}{}{{}+}\xintifboolexpr{\Multij<0}{(}{}\Affichage{0}{\Multij}{0}\xintifboolexpr{\Multij<0}{)}{}}% @@ -3054,8 +3055,8 @@ \xdef\Multij{\fpeval{#2*#5}}% \xdef\Multik{\fpeval{#3*#4}}% \xdef\Multil{\fpeval{#3*#5}}% - %% ils sont redéfinis pour pouvoir envisager la somme de deux - %% expressions à développer + %% ils sont red\'efinis pour pouvoir envisager la somme de deux + %% expressions \`a d\'evelopper \xdef\Multim{\fpeval{#2*#5+#3*#4}}% \xintifboolexpr{\theNbCalculDistri>1}{\setcounter{NbCalculDistri}{0}}{}% \stepcounter{NbCalculDistri}% @@ -3139,8 +3140,8 @@ \xdef\Multij{\fpeval{#2*#3}}% \xdef\Multik{\fpeval{#3*#2}}% \xdef\Multil{\fpeval{#3*#3}}% - %% ils sont redéfinis pour pouvoir envisager la somme de deux - %% expressions à développer + %% ils sont red\'efinis pour pouvoir envisager la somme de deux + %% expressions \`a d\'evelopper \xdef\Multim{\fpeval{#2*#3+#3*#2}}% \ifboolKV[ClesDistributivite]{Oppose}{% \xdef\Multi{\fpeval{-\Multi}}% @@ -3159,8 +3160,8 @@ \xdef\Multij{\fpeval{#2*#5}}% \xdef\Multik{\fpeval{#3*#4}}% \xdef\Multil{\fpeval{#3*#5}}% - %% ils sont redéfinis pour pouvoir envisager la somme de deux - %% expressions à développer + %% ils sont red\'efinis pour pouvoir envisager la somme de deux + %% expressions \`a d\'evelopper \xdef\Multim{\fpeval{#2*#5+#3*#4}}% \ifboolKV[ClesDistributivite]{Oppose}{% \xdef\Multi{\fpeval{-\Multi}}% @@ -3172,7 +3173,7 @@ }{% \AffichageEchange{\Multi}{\Multim}{\Multil}% } - % à faire + % \`a faire \ifboolKV[ClesDistributivite]{Somme}{\xdef\SommeA{\fpeval{\SommeA+#3*#5}}\xdef\SommeB{\fpeval{\SommeB+#2*#5+#3*#4}}\xdef\SommeC{\fpeval{\SommeC+#2*#4}}}{}% \ifboolKV[ClesDistributivite]{Difference}{\xdef\SommeA{\fpeval{\SommeA-#3*#5}}\xdef\SommeB{\fpeval{\SommeB-#2*#5-#3*#4}}\xdef\SommeC{\fpeval{\SommeC-#2*#4}}}{}% % @@ -3328,8 +3329,8 @@ \xdef\Multij{\fpeval{#2*#5}}% \xdef\Multik{\fpeval{#3*#4}}% \xdef\Multil{\fpeval{#3*#5}}% - %% ils sont redéfinis pour pouvoir envisager la somme de deux - %% expressions à développer + %% ils sont red\'efinis pour pouvoir envisager la somme de deux + %% expressions \`a d\'evelopper \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=1}{% \xintifboolexpr{\theNbCalculDistri>1}{\xintifboolexpr{\Multi<0}{(\AffichageEchange{0}{\Multi}{0})}{\AffichageEchange{0}{\Multi}{0}}}{\AffichageEchange{0}{\Multi}{0}}% \xintifboolexpr{\Multij=0}{}{\xintifboolexpr{\Multi=0}{}{+}\xintifboolexpr{\Multij<0}{(}{}\AffichageEchange{\Multij}{0}{0}\xintifboolexpr{\Multij<0}{)}{}}% @@ -3364,8 +3365,8 @@ \xdef\Multij{\fpeval{#2*#5}}% \xdef\Multik{\fpeval{#3*#4}}% \xdef\Multil{\fpeval{#3*#5}}% - %% ils sont redéfinis pour pouvoir envisager la somme de deux - %% expressions à développer + %% ils sont red\'efinis pour pouvoir envisager la somme de deux + %% expressions \`a d\'evelopper \xintifboolexpr{\theNbCalculDistri>1}{\setcounter{NbCalculDistri}{0}}{}% \stepcounter{NbCalculDistri}% \xintifboolexpr{\useKV[ClesDistributivite]{Echange}=1}{% @@ -3855,13 +3856,13 @@ vardef Positions(expr Step)= \newcount\premier -\newcommand{\NombrePremier}[1]{%écrire la décomposition complète - % #1 le nombre premier à tester +\newcommand{\NombrePremier}[1]{%\'ecrire la d\'ecomposition compl\`ete + % #1 le nombre premier \`a tester \newcount\anp\newcount\bnp\newcount\cnp%\newcount\e\newcount\f% \anp=#1\relax \bnp=2\relax \premier=-1\relax - % Pour déterminer le nombre d'étapes + % Pour d\'eterminer le nombre d'\'etapes \whiledo{\anp > 1}{% \modulo{\the\anp}{\the\bnp} \ifnum\remainder=0\relax @@ -3881,13 +3882,13 @@ vardef Positions(expr Step)= \fi } -\newcommand{\NombrePremierVertical}[1]{%écrire la décomposition complète - % #1 le nombre premier à tester +\newcommand{\NombrePremierVertical}[1]{%\'ecrire la d\'ecomposition compl\`ete + % #1 le nombre premier \`a tester \newcount\anpv\newcount\bnpv\newcount\cnpv%\newcount\e\newcount\f% \anpv=#1\relax \bnpv=2\relax \premier=-1\relax - % Pour déterminer le nombre d'étapes + % Pour d\'eterminer le nombre d'\'etapes \whiledo{\anpv > 1}{% \modulo{\the\anpv}{\the\bnpv} \ifnum\remainder=0\relax @@ -3910,8 +3911,8 @@ vardef Positions(expr Step)= } \newcommand{\PremierDiviseurVide}[2]{% - %#1 : le nombre entier à tester - %#2 : le nombre d'étapes à effectuer + %#1 : le nombre entier \`a tester + %#2 : le nombre d'\'etapes \`a effectuer \newcount\anpvv\newcount\bnpvv\newcount\cnpvv\newcount\dnpvv% \ensuremath{% \anpvv=#1\relax @@ -3935,8 +3936,8 @@ vardef Positions(expr Step)= } \newcommand{\PremierMultipleVide}[2]{% - %#1 : le nombre entier à tester - %#2 : le nombre d'étapes à effectuer + %#1 : le nombre entier \`a tester + %#2 : le nombre d'\'etapes \`a effectuer \newcount\anpmv\newcount\bnpmv\newcount\cnpmv\newcount\dnpmv% \ensuremath{% \anpmv=#1\relax @@ -3959,13 +3960,13 @@ vardef Positions(expr Step)= } } -\newcommand{\NombrePremierVerticalVide}[1]{%écrire la décomposition complète - % #1 le nombre premier à tester +\newcommand{\NombrePremierVerticalVide}[1]{%\'ecrire la d\'ecomposition compl\`ete + % #1 le nombre premier \`a tester \newcount\anpv\newcount\bnpv\newcount\cnpv%\newcount\e\newcount\f% \anpv=#1\relax \bnpv=2\relax \premier=-1\relax - % Pour déterminer le nombre d'étapes + % Pour d\'eterminer le nombre d'\'etapes \whiledo{\anpv > 1}{% \modulo{\the\anpv}{\the\bnpv} \ifnum\remainder=0\relax @@ -3991,14 +3992,14 @@ vardef Positions(expr Step)= \fi } -\newcommand{\NombrePremierExposant}[1]{%écrire la décomposition - % complète +\newcommand{\NombrePremierExposant}[1]{%\'ecrire la d\'ecomposition + % compl\`ete \newcount\anp\newcount\bnp\newcount\cnp%\newcount\e\newcount\f% - % #1 le nombre premier à tester + % #1 le nombre premier \`a tester \anp=#1\relax% \bnp=2\relax% \premier=-1\relax% - % Pour déterminer le nombre d'étapes + % Pour d\'eterminer le nombre d'\'etapes \whiledo{\anp > 1}{% \modulo{\the\anp}{\the\bnp} \ifnum\remainder=0\relax% @@ -4020,8 +4021,8 @@ vardef Positions(expr Step)= }% \newcommand{\PremierEtape}[2]{% - %#1 : le nombre entier à tester - %#2 : le nombre d'étapes à effectuer + %#1 : le nombre entier \`a tester + %#2 : le nombre d'\'etapes \`a effectuer \newcount\anp\newcount\bnp\newcount\cnp\newcount\dnp% \ensuremath{% \anp=#1\relax @@ -4046,7 +4047,7 @@ vardef Positions(expr Step)= } \newcommand{\PremierExposant}[1]{% - %#1 : le nombre entier à tester + %#1 : le nombre entier \`a tester \ensuremath{% \newcount\anp\newcount\bnp\newcount\cnp% \newcount\pileb\newcount\exposant% @@ -4076,7 +4077,7 @@ vardef Positions(expr Step)= }% \newcommand{\PremierLong}[1]{% - %#1 : le nombre entier à tester + %#1 : le nombre entier \`a tester \ensuremath{% \newcount\anpl\newcount\bnpl\newcount\cnpl% \newcount\pilebl% @@ -4097,7 +4098,7 @@ vardef Positions(expr Step)= } } -\newcommand{\ListeDiviseur}[1]{%#1 : le nombre entier à tester +\newcommand{\ListeDiviseur}[1]{%#1 : le nombre entier \`a tester \newcount\anp\newcount\bnp% \anp=#1% \bnp=2\relax% @@ -4114,7 +4115,7 @@ vardef Positions(expr Step)= \newcount\anpT\newcount\bnpT\newcount\cnpT\newcount\dnpT% -\newcommand\ListeDiviseurT[1]{%#1 : le nombre entier à tester +\newcommand\ListeDiviseurT[1]{%#1 : le nombre entier \`a tester \anpT=#1% \bnpT=2\relax% %On compte les diviseurs propres. @@ -4144,8 +4145,8 @@ vardef Positions(expr Step)= } \newcommand\DiviseurNumero[2]{% - % #1 nb entier à tester - % #2 no du diviseur (à part 1 et #1) + % #1 nb entier \`a tester + % #2 no du diviseur (\`a part 1 et #1) \anpT=#1% \bnpT=2\relax% %On compte les diviseurs propres. @@ -4183,7 +4184,7 @@ vardef Positions(expr Step)= \makeatother \def\SSimplifie#1#2{% - % Simplification d'une écriture #1/#2 + % Simplification d'une \'ecriture #1/#2 \ensuremath{ \newcount\numerateur\newcount\denominateur\newcount\valabsnum\newcount\valabsdeno \numerateur=\number#1 @@ -4223,7 +4224,7 @@ vardef Positions(expr Step)= \divide\denominateur by\pgcd% \frac{\num{\the\numerateur}}{\num{\the\denominateur}} } - \else%%%comme on est avec les négatifs, on doit regarder si la valeur absolue est égale à 1 + \else%%%comme on est avec les n\'egatifs, on doit regarder si la valeur absolue est \'egale \`a 1 \ifnum\valabsdeno=1\relax \divide\numerateur by \denominateur\num{\the\numerateur} \else @@ -4237,7 +4238,7 @@ vardef Positions(expr Step)= \newcommand{\SSimpli}[2]{% - % Décomposition d'une simplification de #1/#2 + % D\'ecomposition d'une simplification de #1/#2 \newcount\numerateur\newcount\denominateur\newcount\valabsnum\newcount\valabsdeno% \numerateur=\number#1 \denominateur=\number#2 @@ -4291,7 +4292,7 @@ vardef Positions(expr Step)= \newcount\DivCom \newcommand\DiviseurCommun[2]{% % #1 : le premier nombre entier - % #2 : le deuxième nombre entier + % #2 : le deuxi\`eme nombre entier % nombre 1 vaut #1 - Nombre 2 vaut #2 \anpdc=#1% \cnpdc=#2% @@ -4385,11 +4386,11 @@ vardef Positions(expr Step)= \setKVdefault[ClesThales]{Calcul=true,Droites=false,Propor=false,Segment=false,Figure=false,FigureSeule=false,Figurecroisee=false,FigurecroiseeSeule=false,Angle=0,Precision=2,Entier=false,Unite=cm,Reciproque=false,Produit=false,ChoixCalcul=0,Simplification,Redaction=false,Remediation=false} -%On définit la figure à utiliser +%On d\'efinit la figure \`a utiliser \def\MPFigThales#1#2#3#4#5#6{ % #1 Premier sommet - % #2 Deuxième sommet - % #3 Troisième sommet + % #2 Deuxi\`eme sommet + % #3 Troisi\`eme sommet % #4 point sur le segment #1#2 % #5 point sur le segment #1#3 \ifluatex @@ -4398,18 +4399,18 @@ vardef Positions(expr Step)= \begin{mplibcode} u:=1cm; pair A,B,C,M,N,O;% - %On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=u*(1,1); B-A=u*(4,0); C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); - % On définit le centre du cercle circonscrit + % On d\'efinit le centre du cercle circonscrit O - .5[A,B] = whatever * (B-A) rotated 90; O - .5[B,C] = whatever * (C-B) rotated 90; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#6); B:=B rotatedabout(O,#6); C:=C rotatedabout(O,#6); - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) path cotes[]; cotes1=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; cotes2=B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; @@ -4447,18 +4448,18 @@ vardef Positions(expr Step)= \begin{mpost} u:=1cm; pair A,B,C,M,N,O;% - %On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=u*(1,1); B-A=u*(4,0); C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); - % On définit le centre du cercle circonscrit + % On d\'efinit le centre du cercle circonscrit O - .5[A,B] = whatever * (B-A) rotated 90; O - .5[B,C] = whatever * (C-B) rotated 90; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#6); B:=B rotatedabout(O,#6); C:=C rotatedabout(O,#6); - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) path cotes[]; cotes1=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; cotes2=B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; @@ -4494,11 +4495,11 @@ vardef Positions(expr Step)= \fi } -%On définit la figure à utiliser +%On d\'efinit la figure \`a utiliser \def\MPFigReciThales#1#2#3#4#5#6{ % #1 Premier sommet - % #2 Deuxième sommet - % #3 Troisième sommet + % #2 Deuxi\`eme sommet + % #3 Troisi\`eme sommet % #4 point sur le segment #1#2 % #5 point sur le segment #1#3 \ifluatex @@ -4507,18 +4508,18 @@ vardef Positions(expr Step)= \begin{mplibcode} u:=1cm; pair A,B,C,M,N,O;% - %On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=u*(1,1); B-A=u*(4,0); C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); - % On définit le centre du cercle circonscrit + % On d\'efinit le centre du cercle circonscrit O - .5[A,B] = whatever * (B-A) rotated 90; O - .5[B,C] = whatever * (C-B) rotated 90; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#6); B:=B rotatedabout(O,#6); C:=C rotatedabout(O,#6); - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) path cotes[]; cotes1=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; cotes2=B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; @@ -4544,18 +4545,18 @@ vardef Positions(expr Step)= \begin{mpost} u:=1cm; pair A,B,C,M,N,O;% - %On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=u*(1,1); B-A=u*(4,0); C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); - % On définit le centre du cercle circonscrit + % On d\'efinit le centre du cercle circonscrit O - .5[A,B] = whatever * (B-A) rotated 90; O - .5[B,C] = whatever * (C-B) rotated 90; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#6); B:=B rotatedabout(O,#6); C:=C rotatedabout(O,#6); - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) path cotes[]; cotes1=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}; cotes2=B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}; @@ -4579,11 +4580,11 @@ vardef Positions(expr Step)= \fi } -%On définit la deuxième figure à utiliser +%On d\'efinit la deuxi\`eme figure \`a utiliser \def\MPFigThalesCroisee#1#2#3#4#5#6{% % #1 Premier sommet - % #2 Deuxième sommet - % #3 Troisième sommet + % #2 Deuxi\`eme sommet + % #3 Troisi\`eme sommet % #4 point sur la droite #1#2 % #5 point sur la droite #1#3 \ifluatex @@ -4595,15 +4596,15 @@ vardef Positions(expr Step)= O=(2.5u,2.5u); path cc; cc=(fullcircle scaled 3u) shifted O; - %On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=point(0.1*length cc) of cc; B=A rotatedabout(O,130); C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#6); B:=B rotatedabout(O,#6); C:=C rotatedabout(O,#6); - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) M=1.4[B,A]; N=1.4[C,A]; path cotes[]; @@ -4617,7 +4618,7 @@ vardef Positions(expr Step)= draw cotes[k]; endfor; pair I; - % On définit le centre du cercle inscrit à AMC + % On d\'efinit le centre du cercle inscrit \`a AMC (I-C) rotated ((angle(A-C)-angle(M-C))/2) shifted C=whatever[A,C]; (I-M) rotated ((angle(C-M)-angle(A-M))/2) shifted M=whatever[M,C]; %on labelise @@ -4649,15 +4650,15 @@ vardef Positions(expr Step)= O=(2.5u,2.5u); path cc; cc=(fullcircle scaled 3u) shifted O; - %On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=point(0.1*length cc) of cc; B=A rotatedabout(O,130); C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#6); B:=B rotatedabout(O,#6); C:=C rotatedabout(O,#6); - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) M=1.4[B,A]; N=1.4[C,A]; path cotes[]; @@ -4671,7 +4672,7 @@ vardef Positions(expr Step)= draw cotes[k]; endfor; pair I; - % On définit le centre du cercle inscrit à AMC + % On d\'efinit le centre du cercle inscrit \`a AMC (I-C) rotated ((angle(A-C)-angle(M-C))/2) shifted C=whatever[A,C]; (I-M) rotated ((angle(C-M)-angle(A-M))/2) shifted M=whatever[M,C]; %on labelise @@ -4698,11 +4699,11 @@ vardef Positions(expr Step)= \fi } -%On définit la deuxième figure à utiliser +%On d\'efinit la deuxi\`eme figure \`a utiliser \def\MPFigReciThalesCroisee#1#2#3#4#5#6{% % #1 Premier sommet - % #2 Deuxième sommet - % #3 Troisième sommet + % #2 Deuxi\`eme sommet + % #3 Troisi\`eme sommet % #4 point sur la droite #1#2 % #5 point sur la droite #1#3 \ifluatex @@ -4714,15 +4715,15 @@ vardef Positions(expr Step)= O=(2.5u,2.5u); path cc; cc=(fullcircle scaled 3u) shifted O; - %On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=point(0.1*length cc) of cc; B=A rotatedabout(O,130); C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#6); B:=B rotatedabout(O,#6); C:=C rotatedabout(O,#6); - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) M=1.4[B,A]; N=1.4[C,A]; path cotes[]; @@ -4736,7 +4737,7 @@ vardef Positions(expr Step)= draw cotes[k]; endfor; pair I; - % On définit le centre du cercle inscrit à AMC + % On d\'efinit le centre du cercle inscrit \`a AMC (I-C) rotated ((angle(A-C)-angle(M-C))/2) shifted C=whatever[A,C]; (I-M) rotated ((angle(C-M)-angle(A-M))/2) shifted M=whatever[M,C]; %on labelise @@ -4758,15 +4759,15 @@ vardef Positions(expr Step)= O=(2.5u,2.5u); path cc; cc=(fullcircle scaled 3u) shifted O; - %On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=point(0.1*length cc) of cc; B=A rotatedabout(O,130); C=(A--2[A,B rotatedabout(A,45)]) intersectionpoint (B--2[B,A rotatedabout(B,-60)]); - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#6); B:=B rotatedabout(O,#6); C:=C rotatedabout(O,#6); - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) M=1.4[B,A]; N=1.4[C,A]; path cotes[]; @@ -4780,7 +4781,7 @@ vardef Positions(expr Step)= draw cotes[k]; endfor; pair I; - % On définit le centre du cercle inscrit à AMC + % On d\'efinit le centre du cercle inscrit \`a AMC (I-C) rotated ((angle(A-C)-angle(M-C))/2) shifted C=whatever[A,C]; (I-M) rotated ((angle(C-M)-angle(A-M))/2) shifted M=whatever[M,C]; %on labelise @@ -4802,7 +4803,7 @@ vardef Positions(expr Step)= \useKVdefault[ClesThales]% \setKV[ClesThales]{#1}% \ifboolKV[ClesThales]{Droites}{% - Les droites \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#3#5)$} et \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#4#6)$} sont sécantes en \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$#2$}.% + Les droites \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#3#5)$} et \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#4#6)$} sont s\'ecantes en \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$#2$}.% }{% Dans le triangle \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$#2#3#4$}, \ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{$#5$} est un point \ifboolKV[ClesThales]{Segment}{du segment}{de la droite} @@ -4811,23 +4812,23 @@ vardef Positions(expr Step)= point \ifboolKV[ClesThales]{Segment}{du segment}{de la droite} \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{\ifboolKV[ClesThales]{Segment}{$[#2#4]$}{$(#2#4)$}}.% } - \\Comme les droites \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#5#6)$} et \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#3#4)$} sont parallèles, alors \ifboolKV[ClesThales]{Propor}{le tableau% + \\Comme les droites \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#5#6)$} et \ifboolKV[ClesThales]{Remediation}{\pointilles[2cm]}{$(#3#4)$} sont parall\`eles, alors \ifboolKV[ClesThales]{Propor}{le tableau% \[\begin{array}{c|c|c} \ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#5}&\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#6}&\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#5#6}\\ \hline \ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#3}&\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#4}&\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#3#4}\\ \end{array} \] - est un tableau de proportionnalité\ifboolKV[ClesThales]{Segment}{.}{ d'après le théorème de Thalès.}% + est un tableau de proportionnalit\'e\ifboolKV[ClesThales]{Segment}{.}{ d'apr\`es le th\'eor\`eme de Thal\`es.}% }{% - \ifboolKV[ClesThales]{Segment}{on a :}{le théorème de Thalès permet d'écrire :}% + \ifboolKV[ClesThales]{Segment}{on a :}{le th\'eor\`eme de Thal\`es permet d'\'ecrire :}% \[\frac{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#5}}{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#3}}=\frac{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#6}}{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#2#4}}=\frac{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#5#6}}{\ifboolKV[ClesThales]{Remediation}{\pointilles[1cm]}{#3#4}}\]% } } \newcommand{\TThalesCalculsD}[8][]{% \setKV[ClesThales]{#1}% - \newcount\zzz\newcount\yyy\newcount\xxx%Pour se rappeller des calculs à faire et combien en faire% + \newcount\zzz\newcount\yyy\newcount\xxx%Pour se rappeller des calculs \`a faire et combien en faire% \def\Nomx{}% \def\Nomy{}% \def\Nomz{}% @@ -4966,7 +4967,7 @@ vardef Positions(expr Step)= }{% \[\frac{\IfDecimal{#3}{\num{#3}}{#3}}{\IfDecimal{#6}{\num{#6}}{#6}}=\frac{\IfDecimal{#4}{\num{#4}}{#4}}{\IfDecimal{#7}{\num{#7}}{#7}}=\frac{\IfDecimal{#5}{\num{#5}}{#5}}{\IfDecimal{#8}{\num{#8}}{#8}}\] }% - % On choisit éventuellement le calcul à faire s'il y en a plusieurs. + % On choisit \'eventuellement le calcul \`a faire s'il y en a plusieurs. \xdef\CompteurCalcul{\useKV[ClesThales]{ChoixCalcul}}% \xintifboolexpr{\CompteurCalcul>0}{\xintifboolexpr{\CompteurCalcul=1}{\xdef\cmya{0}\xdef\cmza{0}}{\xintifboolexpr{\CompteurCalcul=2}{\xdef\cmxa{0}\xdef\cmza{0}}{\xdef\cmxa{0}\xdef\cmya{0}}}}{}% %%on fait les calculs @@ -4975,7 +4976,7 @@ vardef Positions(expr Step)= \ifnum\cmxa>0 \Nomx\uppercase{&}=\frac{\opexport{valx}{\valx}\num{\valx}\times\opexport{Valx}{\Valx}\num{\Valx}}{\opexport{denox}{\denox}\num{\denox}}\relax%\global\numx=\numexpr\opprint{valx}*\opprint{Valx}\relax \fi - % % Deuxième compteur \yyy + % % Deuxi\`eme compteur \yyy \ifnum\cmya>0 \ifnum\cmxa=0 \else @@ -4983,7 +4984,7 @@ vardef Positions(expr Step)= \fi% \Nomy\uppercase{&}=\frac{\opexport{valy}{\valy}\num{\valy}\times\opexport{Valy}{\Valy}\num{\Valy}}{\opexport{denoy}{\denoy}\num{\denoy}}\relax%\global\numy=\numexpr\opprint{valy}*\opprint{Valy}\relax \fi - % Troisième compteur \zzz + % Troisi\`eme compteur \zzz \ifnum\cmza>0 \ifnum\cmxa=0 \ifnum\cmya=0 @@ -4997,21 +4998,21 @@ vardef Positions(expr Step)= \fi \fi \\ -% % 2eme ligne du tableau : calcul des numérateurs +% % 2eme ligne du tableau : calcul des num\'erateurs % %Premier compteur \xxx \ifnum\cmxa>0 - \Nomx\uppercase{&}=\frac{\opmul*{valx}{Valx}{numx}\opexport{numx}{\numx}\num{\numx}}{\opprint{denox}} + \Nomx\uppercase{&}=\frac{\opmul*{valx}{Valx}{numx}\opexport{numx}{\numx}\num{\numx}}{\opexport{denox}{\denox}\num{\denox}} \fi - % % Deuxième compteur \yyy + % % Deuxi\`eme compteur \yyy \ifnum\cmya>0 \ifnum\cmxa=0 % \else \uppercase{&} \fi - \Nomy\uppercase{&}=\frac{\opmul*{valy}{Valy}{numy}\opexport{numy}{\numy}\num{\numy}}{\opprint{denoy}}% + \Nomy\uppercase{&}=\frac{\opmul*{valy}{Valy}{numy}\opexport{numy}{\numy}\num{\numy}}{\opexport{denoy}{\denoy}\num{\denoy}}% \fi -% %Troisième compteur \zzz +% %Troisi\`eme compteur \zzz \ifnum\cmza>0 \ifnum\cmxa=0 \ifnum\cmya=0 @@ -5019,26 +5020,26 @@ vardef Positions(expr Step)= \else \uppercase{&} \fi - \Nomz\uppercase{&}=\frac{\opmul*{valz}{Valz}{numz}\opexport{numz}{\numz}\num{\numz}}{\opprint{denoz}} + \Nomz\uppercase{&}=\frac{\opmul*{valz}{Valz}{numz}\opexport{numz}{\numz}\num{\numz}}{\opexport{denoz}{\denoz}\num{\denoz}} \else - \uppercase{&}\Nomz\uppercase{&}=\frac{\opmul*{valz}{Valz}{numz}\opexport{numz}{\numz}\num{\numz}}{\opprint{denoz}} + \uppercase{&}\Nomz\uppercase{&}=\frac{\opmul*{valz}{Valz}{numz}\opexport{numz}{\numz}\num{\numz}}{\opexport{denoz}{\denoz}\num{\denoz}} \fi \fi \\ % % 3eme ligne : Calculs \ifnum\cmxa>0 - \Nomx\uppercase{&}\opdiv*{numx}{denox}{resultatx}{restex}\opcmp{restex}{0}\ifopeq=\opprint{resultatx}~\text{\useKV[ClesThales]{Unite}}\else\approx\opround{resultatx}{\useKV[ClesThales]{Precision}}{resultatx}\opprint{resultatx}~\text{\useKV[ClesThales]{Unite}}\fi\opexport{resultatx}{\resultatx}%\xdef\ResultatThalesx{\num{\resultatx}}% + \Nomx\uppercase{&}\opdiv*{numx}{denox}{resultatx}{restex}\opcmp{restex}{0}\ifopeq=\num{\ResultatThalesx}\else\approx\num{\fpeval{round(\ResultatThalesx,\useKV[ClesThales]{Precision})}}\fi~\text{\useKV[ClesThales]{Unite}}% \fi - % % Deuxième compteur \yyy + % % Deuxi\`eme compteur \yyy \ifnum\cmya>0 \ifnum\cmxa=0 % \else \uppercase{&} \fi - \Nomy\uppercase{&}\opdiv*{numy}{denoy}{resultaty}{restey}\opcmp{restey}{0}\ifopeq=\opprint{resultaty}~\text{\useKV[ClesThales]{Unite}}\else\approx\opround{resultaty}{\useKV[ClesThales]{Precision}}{resultaty}\opprint{resultaty}~\text{\useKV[ClesThales]{Unite}}\fi\opexport{resultaty}{\resultaty}%\xdef\ResultatThalesy{\num{\resultaty}} + \Nomy\uppercase{&}\opdiv*{numy}{denoy}{resultaty}{restey}\opcmp{restey}{0}\ifopeq=\num{\ResultatThalesy}\else\approx\num{\fpeval{round(\ResultatThalesy,\useKV[ClesThales]{Precision})}}\fi~\text{\useKV[ClesThales]{Unite}}% \fi -% %Troisième compteur \zzz +% %Troisi\`eme compteur \zzz \ifnum\cmza>0 \ifnum\cmxa=0 \ifnum\cmya=0 @@ -5046,9 +5047,9 @@ vardef Positions(expr Step)= \else \uppercase{&} \fi - \Nomz\uppercase{&}\opdiv*{numz}{denoz}{resultatz}{restez}\opcmp{restez}{0}\ifopeq=\opprint{resultatz}~\text{\useKV[ClesThales]{Unite}}\else\approx\opround{resultatz}{\useKV[ClesThales]{Precision}}{resultatz}\opprint{resultatz}~\text{\useKV[ClesThales]{Unite}}\fi\opexport{resultatz}{\resultatz}%\xdef\ResultatThalesz{\num{\resultatz}} + \Nomz\uppercase{&}\opdiv*{numz}{denoz}{resultatz}{restez}\opcmp{restez}{0}\ifopeq=\num{\ResultatThalesz}\else\approx\num{\fpeval{round(\ResultatThalesz,\useKV[ClesThales]{Precision})}}\fi~\text{\useKV[ClesThales]{Unite}}% \else - \uppercase{&}\Nomz\uppercase{&}\opdiv*{numz}{denoz}{resultatz}{restez}\opcmp{restez}{0}\ifopeq=\opprint{resultatz}~\text{\useKV[ClesThales]{Unite}}\else\approx\opround{resultatz}{\useKV[ClesThales]{Precision}}{resultatz}\opprint{resultatz}~\text{\useKV[ClesThales]{Unite}}\fi\opexport{resultatz}{\resultatz}%\xdef\ResultatThalesz{\num{\resultatz}} + \uppercase{&}\Nomz\uppercase{&}\opdiv*{numz}{denoz}{resultatz}{restez}\opcmp{restez}{0}\ifopeq=\num{\ResultatThalesz}\else\approx\num{\fpeval{round(\ResultatThalesz,\useKV[ClesThales]{Precision})}}\fi~\text{\useKV[ClesThales]{Unite}}% \fi \fi \end{align*} @@ -5057,7 +5058,7 @@ vardef Positions(expr Step)= \newcommand{\TThalesCalculsE}[8][]{% \setKV[ClesThales]{#1}% - \newcount\zzz\newcount\yyy\newcount\xxx%Pour se rappeller des calculs à faire et combien en faire% + \newcount\zzz\newcount\yyy\newcount\xxx%Pour se rappeller des calculs \`a faire et combien en faire% \newcount\valx\newcount\Valx% \newcount\valy\newcount\Valy% \newcount\valz\newcount\Valz% @@ -5183,7 +5184,7 @@ vardef Positions(expr Step)= }{% \[\frac{\IfDecimal{#3}{\num{#3}}{#3}}{\IfDecimal{#6}{\num{#6}}{#6}}=\frac{\IfDecimal{#4}{\num{#4}}{#4}}{\IfDecimal{#7}{\num{#7}}{#7}}=\frac{\IfDecimal{#5}{\num{#5}}{#5}}{\IfDecimal{#8}{\num{#8}}{#8}}\] }% - % On choisit éventuellement le calcul à faire s'il y en a plusieurs. + % On choisit \'eventuellement le calcul \`a faire s'il y en a plusieurs. \xdef\CompteurCalcul{\useKV[ClesThales]{ChoixCalcul}}% \xintifboolexpr{\CompteurCalcul>0}{\xintifboolexpr{\CompteurCalcul=1}{\xdef\cmya{0}\xdef\cmza{0}}{\xintifboolexpr{\CompteurCalcul=2}{\xdef\cmxa{0}\xdef\cmza{0}}{\xdef\cmxa{0}\xdef\cmya{0}}}}% %%on fait les calculs @@ -5192,7 +5193,7 @@ vardef Positions(expr Step)= \ifnum\cmxa>0 \Nomx\uppercase{&}=\frac{\the\valx\times\the\Valx}{\the\denox}\global\numx=\numexpr\the\valx*\the\Valx\relax \fi - % % Deuxième compteur \yyy + % % Deuxi\`eme compteur \yyy \ifnum\cmya>0 \ifnum\cmxa=0 \else @@ -5203,7 +5204,7 @@ vardef Positions(expr Step)= % \uppercase{&}\Nomy\uppercase{&}=\frac{\the\valy\times\the\Valy}{\the\denoy}\global\numy=\numexpr\the\valy*\the\Valy\relax % \fi \fi - % Troisième compteur \zzz + % Troisi\`eme compteur \zzz \ifnum\cmza>0 \ifnum\cmxa=0 \ifnum\cmya=0 @@ -5217,12 +5218,12 @@ vardef Positions(expr Step)= \fi \fi \\ - % 2eme ligne du tableau : calcul des numérateurs + % 2eme ligne du tableau : calcul des num\'erateurs %Premier compteur \xxx \ifnum\cmxa>0 \Nomx\uppercase{&}=\frac{\num{\the\numx}}{\num{\the\denox}} \fi - % % Deuxième compteur \yyy + % % Deuxi\`eme compteur \yyy \ifnum\cmya>0 \ifnum\cmxa=0 %\Nomy\uppercase{&}=\frac{\num{\the\numy}}{\num{\the\denoy}} @@ -5231,7 +5232,7 @@ vardef Positions(expr Step)= \fi \Nomy\uppercase{&}=\frac{\num{\the\numy}}{\num{\the\denoy}}% \fi - %Troisième compteur \zzz + %Troisi\`eme compteur \zzz \ifnum\cmza>0 \ifnum\cmxa=0 \ifnum\cmya=0 @@ -5255,7 +5256,7 @@ vardef Positions(expr Step)= \uppercase{&} \fi \fi - % % Deuxième compteur \yyy + % % Deuxi\`eme compteur \yyy \ifnum\cmya>0 \PGCD{\the\numy}{\the\denoy} \ifnum\cmxa=0 @@ -5272,7 +5273,7 @@ vardef Positions(expr Step)= \fi \fi \fi - %Troisième compteur \zzz + %Troisi\`eme compteur \zzz \ifnum\cmza>0 \PGCD{\the\numz}{\the\denoz} \ifnum\cmxa=0 @@ -5312,7 +5313,7 @@ vardef Positions(expr Step)= \uppercase{&} \fi \fi - % % Deuxième compteur \yyy + % % Deuxi\`eme compteur \yyy \ifnum\cmya>0 \PGCD{\the\numy}{\the\denoy} \ifnum\cmxa=0 @@ -5337,7 +5338,7 @@ vardef Positions(expr Step)= \fi \fi \fi - %Troisième compteur \zzz + %Troisi\`eme compteur \zzz \ifnum\cmza>0 \PGCD{\the\numz}{\the\denoz} \ifnum\cmxa=0 @@ -5389,7 +5390,7 @@ vardef Positions(expr Step)= \ifboolKV[ClesThales]{Figure}{% \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% \begin{multicols}{2}% - {\em La figure est donnée à titre indicatif.}% + {\em La figure est donn\'ee \`a titre indicatif.}% \[\MPFigThales{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\]% \par\columnbreak\par% \ifboolKV[ClesThales]{Entier}{\TThalesCalculsE[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}}{\TThalesCalculsD[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}}% @@ -5397,7 +5398,7 @@ vardef Positions(expr Step)= }{\ifboolKV[ClesThales]{Figurecroisee}{% \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% \begin{multicols}{2}% - {\em La figure est donnée à titre indicatif.}% + {\em La figure est donn\'ee \`a titre indicatif.}% \[\MPFigThalesCroisee{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\]% \par\columnbreak\par% \ifboolKV[ClesThales]{Entier}{\TThalesCalculsE[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}}{\TThalesCalculsD[#1]{#2}{#3}{#4}{#5}{#6}{#7}{#8}}% @@ -5411,7 +5412,7 @@ vardef Positions(expr Step)= \newcommand{\ReciThales}[6][]{% \ifboolKV[ClesThales]{Droites}{% - Les droites $(#3#5)$ et $(#4#6)$ sont sécantes en $#2$. + Les droites $(#3#5)$ et $(#4#6)$ sont s\'ecantes en $#2$. }{% Dans le triangle $#2#3#4$, $#5$ est un point \ifboolKV[ClesThales]{Segment}{du segment $[#2#3]$}{de la @@ -5424,7 +5425,7 @@ vardef Positions(expr Step)= \hline #2#3#4\\ \end{array} - $ est-il un tableau de proportionnalité ? + $ est-il un tableau de proportionnalit\'e ? }{% } } @@ -5444,10 +5445,10 @@ vardef Positions(expr Step)= \num{#3}\times\num{#6}&=\num{\fpeval{#3*#6}}&&&\num{#4}\times\num{#5}&=\num{\fpeval{#4*#5}} \end{align*} \xintifboolexpr{\NumA = \NumB}{Comme les produits en croix sont - égaux, alors + \'egaux, alors $\dfrac{\NomA\NomM}{\NomA\NomB}=\dfrac{\NomA\NomN}{\NomA\NomC}$.\\[0.5em]% }{% - Comme les produits en croix sont différents, alors + Comme les produits en croix sont diff\'erents, alors $\dfrac{\NomA\NomM}{\NomA\NomB}\not=\dfrac{\NomA\NomN}{\NomA\NomC}$.\\% }% }{% @@ -5479,25 +5480,25 @@ vardef Positions(expr Step)= \hline \NomA\NomB&\NomA\NomC\\ \end{array} - $ est bien un tableau de proportionnalité.\\De plus, les points - $\NomA$, $\NomM$, $\NomB$ sont alignés dans le même ordre que les + $ est bien un tableau de proportionnalit\'e.\\De plus, les points + $\NomA$, $\NomM$, $\NomB$ sont align\'es dans le m\^eme ordre que les points $\NomA$, $\NomN$, $\NomC$. Donc les droites $(\NomM\NomN)$ - et $(\NomB\NomC)$ sont parallèles d'après la réciproque du - théorème de Thalès.\else% - Donc les droites $(\NomM\NomN)$ et $(\NomB\NomC)$ ne sont pas parallèles.\fi + et $(\NomB\NomC)$ sont parall\`eles d'apr\`es la r\'eciproque du + th\'eor\`eme de Thal\`es.\else% + Donc les droites $(\NomM\NomN)$ et $(\NomB\NomC)$ ne sont pas parall\`eles.\fi }{% \xintifboolexpr{\NumA=\NumB}{% - De plus, les points $\NomA$, $\NomM$, $\NomB$ sont alignés dans - le même ordre que les points $\NomA$, $\NomN$, $\NomC$. Donc les - droites $(\NomM\NomN)$ et $(\NomB\NomC)$ sont parallèles d'après - la réciproque du théorème de Thalès.}{% + De plus, les points $\NomA$, $\NomM$, $\NomB$ sont align\'es dans + le m\^eme ordre que les points $\NomA$, $\NomN$, $\NomC$. Donc les + droites $(\NomM\NomN)$ et $(\NomB\NomC)$ sont parall\`eles d'apr\`es + la r\'eciproque du th\'eor\`eme de Thal\`es.}{% Donc les droites $(\NomM\NomN)$ et $(\NomB\NomC)$ ne sont pas - parallèles.} + parall\`eles.} } } \newcommand\ReciproqueThales[8][]{% - % #1 Clés + % #1 Cl\'es % #2 NomTriangle + Points ABCEF pour droite (BC)//(EF) % #3 longueur AE % #4 longueur AB @@ -5513,7 +5514,7 @@ vardef Positions(expr Step)= \ifboolKV[ClesThales]{Figure}{% \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% \begin{multicols}{2} - {\em La figure est donnée à titre indicatif.} + {\em La figure est donn\'ee \`a titre indicatif.} \[\MPFigReciThales{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\] \par\columnbreak\par \ReciThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}\par @@ -5522,7 +5523,7 @@ vardef Positions(expr Step)= }{\ifboolKV[ClesThales]{Figurecroisee}{% \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN] \begin{minipage}{0.4\linewidth} - {\em La figure est donnée à titre indicatif.} + {\em La figure est donn\'ee \`a titre indicatif.} \[\MPFigReciThalesCroisee{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\] \end{minipage} \hfill @@ -5556,7 +5557,7 @@ vardef Positions(expr Step)= \ifboolKV[ClesThales]{Figure}{% \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% \begin{multicols}{2} - {\em La figure est donnée à titre indicatif.}% + {\em La figure est donn\'ee \`a titre indicatif.}% \[\MPFigThales{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\]% \par\columnbreak\par% \TTThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}% @@ -5565,7 +5566,7 @@ vardef Positions(expr Step)= \ifboolKV[ClesThales]{Figurecroisee}{% \StrMid{#2}{1}{1}[\NomA]\StrMid{#2}{2}{2}[\NomB]\StrMid{#2}{3}{3}[\NomC]\StrMid{#2}{4}{4}[\NomM]\StrMid{#2}{5}{5}[\NomN]% \begin{multicols}{2} - {\em La figure est donnée à titre indicatif.}% + {\em La figure est donn\'ee \`a titre indicatif.}% \[\MPFigThalesCroisee{\NomA}{\NomB}{\NomC}{\NomM}{\NomN}{\useKV[ClesThales]{Angle}}\]% \par\columnbreak\par% \TTThales[#1]{\StrMid{#2}{1}{1}}{\StrMid{#2}{2}{2}}{\StrMid{#2}{3}{3}}{\StrMid{#2}{4}{4}}{\StrMid{#2}{5}{5}}% @@ -5583,7 +5584,7 @@ vardef Positions(expr Step)= }% %%% -% Trigonométrie +% Trigonom\'etrie %%% \def\MPFigTrigo#1#2#3#4#5#6#7#8{% \ifluatex @@ -5592,24 +5593,24 @@ vardef Positions(expr Step)= \begin{mplibcode} u:=\useKV[ClesTrigo]{Echelle}; pair A,B,C,O,I,D,E,F;% - % On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + % On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=u*(1,1); B-A=u*(3,0); C=(A--2[A,B rotatedabout(A,50)]) intersectionpoint (B--2[B,A rotatedabout(B,-90)]); - % On définit le centre du cercle circonscrit + % On d\'efinit le centre du cercle circonscrit O - .5[A,B] = whatever * (B-A) rotated 90; O - .5[B,C] = whatever * (C-B) rotated 90; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#8); B:=B rotatedabout(O,#8); C:=C rotatedabout(O,#8); - % On définit le centre du cercle inscrit + % On d\'efinit le centre du cercle inscrit (I-C) rotated ((angle(A-C)-angle(B-C))/2) shifted C=whatever[A,C]; (I-B) rotated ((angle(C-B)-angle(A-B))/2) shifted B=whatever[B,C]; - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) path triangle; triangle=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}--B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}--C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}--cycle; - % on définit l'angle droit + % on d\'efinit l'angle droit D-B=7*unitvector(C-B); F-B=7*unitvector(A-B); E-D=F-B; @@ -5688,24 +5689,24 @@ vardef Positions(expr Step)= \begin{mpost} u:=1cm; pair A,B,C,O,I,D,E,F;% - % On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + % On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=u*(1,1); B-A=u*(3,0); C=(A--2[A,B rotatedabout(A,50)]) intersectionpoint (B--2[B,A rotatedabout(B,-90)]); - % On définit le centre du cercle circonscrit + % On d\'efinit le centre du cercle circonscrit O - .5[A,B] = whatever * (B-A) rotated 90; O - .5[B,C] = whatever * (C-B) rotated 90; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#8); B:=B rotatedabout(O,#8); C:=C rotatedabout(O,#8); - % On définit le centre du cercle inscrit + % On d\'efinit le centre du cercle inscrit (I-C) rotated ((angle(A-C)-angle(B-C))/2) shifted C=whatever[A,C]; (I-B) rotated ((angle(C-B)-angle(A-B))/2) shifted B=whatever[B,C]; - % on dessine à main levée :) + % on dessine \`a main lev\'ee :) path triangle; triangle=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}--B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}--C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}--cycle; - % on définit l'angle droit + % on d\'efinit l'angle droit D-B=7*unitvector(C-B); F-B=7*unitvector(A-B); E-D=F-B; @@ -5798,24 +5799,24 @@ vardef Positions(expr Step)= \begin{mplibcode} u:=\useKV[ClesTrigo]{Echelle}; pair A,B,C,O,I,D,E,F;% - % On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + % On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=u*(1,1); B-A=u*(3,0); C=(A--2[A,B rotatedabout(A,50)]) intersectionpoint (B--2[B,A rotatedabout(B,-90)]); - % On définit le centre du cercle circonscrit + % On d\'efinit le centre du cercle circonscrit O - .5[A,B] = whatever * (B-A) rotated 90; O - .5[B,C] = whatever * (C-B) rotated 90; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#7); B:=B rotatedabout(O,#7); C:=C rotatedabout(O,#7); - % On définit le centre du cercle inscrit + % On d\'efinit le centre du cercle inscrit (I-C) rotated ((angle(A-C)-angle(B-C))/2) shifted C=whatever[A,C]; (I-B) rotated ((angle(C-B)-angle(A-B))/2) shifted B=whatever[B,C]; - %on dessine à main levée :) + %on dessine \`a main lev\'ee :) path triangle; triangle=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}--B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}--C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}--cycle; - %on définit l'angle droit + %on d\'efinit l'angle droit D-B=7*unitvector(C-B); F-B=7*unitvector(A-B); E-D=F-B; @@ -5860,24 +5861,24 @@ vardef Positions(expr Step)= \begin{mpost} u:=1cm; pair A,B,C,O,I,D,E,F;% - %On place les points A,B,C sur le cercle de manière à faciliter la rotation de la figure + %On place les points A,B,C sur le cercle de mani\`ere \`a faciliter la rotation de la figure A=u*(1,1); B-A=u*(3,0); C=(A--2[A,B rotatedabout(A,50)]) intersectionpoint (B--2[B,A rotatedabout(B,-90)]); - % On définit le centre du cercle circonscrit + % On d\'efinit le centre du cercle circonscrit O - .5[A,B] = whatever * (B-A) rotated 90; O - .5[B,C] = whatever * (C-B) rotated 90; - % On tourne pour éventuellement moins de lassitude :) + % On tourne pour \'eventuellement moins de lassitude :) A:=A rotatedabout(O,#7); B:=B rotatedabout(O,#7); C:=C rotatedabout(O,#7); - % On définit le centre du cercle inscrit + % On d\'efinit le centre du cercle inscrit (I-C) rotated ((angle(A-C)-angle(B-C))/2) shifted C=whatever[A,C]; (I-B) rotated ((angle(C-B)-angle(A-B))/2) shifted B=whatever[B,C]; - %on dessine à main levée :) + %on dessine \`a main lev\'ee :) path triangle; triangle=A{dir(angle(B-A)+5)}..B{dir(angle(B-A)+5)}--B{dir(angle(C-B)+5)}..C{dir(angle(C-B)+5)}--C{dir(angle(A-C)+5)}..A{dir(angle(A-C)+5)}--cycle; - %on définit l'angle droit + %on d\'efinit l'angle droit D-B=7*unitvector(C-B); F-B=7*unitvector(A-B); E-D=F-B; @@ -5926,12 +5927,12 @@ vardef Positions(expr Step)= \newcommand\TrigoCalculs[5][]{% \setKV[ClesTrigo]{#1}% - % #1 Clés + % #1 Cl\'es % #2 Nom du triangle ABC, rectangle en B, angle connu ou pas : BAC % #3 Longueur % #4 Longueur % #5 angle - % On définit les points + % On d\'efinit les points \StrMid{#2}{1}{1}[\NomA]% \StrMid{#2}{2}{2}[\NomB]% \StrMid{#2}{3}{3}[\NomC]% @@ -5946,7 +5947,7 @@ vardef Positions(expr Step)= Dans le triangle $\NomA\NomB\NomC$, rectangle en $\NomB$, on a :% }% \ifboolKV[ClesTrigo]{Cosinus}{% - \ifx\bla#3\bla%on calcule le côté adjacent + \ifx\bla#3\bla%on calcule le c\^ot\'e adjacent \xdef\ResultatTrigo{\fpeval{round(\fpeval{#4*cosd(#5)},\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} @@ -5963,7 +5964,7 @@ vardef Positions(expr Step)= \end{align*} }% \else% - \ifx\bla#4\bla%on calcule l'hypothénuse + \ifx\bla#4\bla%on calcule l'hypoth\'enuse \xdef\ResultatTrigo{\fpeval{round(\fpeval{#3/cosd(#5)},\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} @@ -6000,7 +6001,7 @@ vardef Positions(expr Step)= \fi% }{}% \ifboolKV[ClesTrigo]{Sinus}{% - \ifx\bla#3\bla%on calcule le côté opposé + \ifx\bla#3\bla%on calcule le c\^ot\'e oppos\'e \xdef\ResultatTrigo{\fpeval{round(\fpeval{#4*sind(#5)},\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} @@ -6017,7 +6018,7 @@ vardef Positions(expr Step)= \end{align*}% }% \else - \ifx\bla#4\bla%on calcule l'hypothénuse + \ifx\bla#4\bla%on calcule l'hypoth\'enuse \xdef\ResultatTrigo{\fpeval{round(\fpeval{#3/sind(#5)},\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} @@ -6054,7 +6055,7 @@ vardef Positions(expr Step)= \fi% }{}% \ifboolKV[ClesTrigo]{Tangente}{% - \ifx\bla#3\bla%on calcule le côté opposé + \ifx\bla#3\bla%on calcule le c\^ot\'e oppos\'e \xdef\ResultatTrigo{\fpeval{round(\fpeval{#4*tand(#5)},\useKV[ClesTrigo]{Precision})}}% \ifboolKV[ClesTrigo]{Propor}{% \begin{align*} @@ -6112,16 +6113,16 @@ vardef Positions(expr Step)= \newcommand\Trigo[5][]{% \useKVdefault[ClesTrigo]% \setKV[ClesTrigo]{#1}% - % #1 Clés + % #1 Cl\'es % #2 Nom du triangle ABC, rectangle en B, angle connu ou pas : BAC % #3 Longueur % #4 Longueur % #5 angle - % On définit les points + % On d\'efinit les points \StrMid{#2}{1}{1}[\NomA]% \StrMid{#2}{2}{2}[\NomB]% \StrMid{#2}{3}{3}[\NomC]% - % On rédige + % On r\'edige \ifboolKV[ClesTrigo]{FigureSeule}{% \ifx\bla#5\bla% \ifboolKV[ClesTrigo]{Cosinus}{% @@ -6159,7 +6160,7 @@ vardef Positions(expr Step)= }{% \ifboolKV[ClesTrigo]{Figure}{% \begin{multicols}{2}% - {\em La figure est donnée à titre indicatif.}% + {\em La figure est donn\'ee \`a titre indicatif.}% \ifx\bla#5\bla% \ifboolKV[ClesTrigo]{Cosinus}{% \begin{center} @@ -6254,7 +6255,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \rowcolor{\useKV[ClesStat]{CouleurTab}}\the\tabtoksa\\\hline% \ifnum\number\numexpr\useKV[ClesStat]{ColVide}<1% \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&}}{\the\tabtoksb}\\\hline% - \ifboolKV[ClesStat]{Frequence}{Fréquence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}\\\hline}{}% + \ifboolKV[ClesStat]{Frequence}{Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{Angle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{SemiAngle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{ECC}{E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}\\\hline}{}% @@ -6262,7 +6263,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \else% \ifnum\number\numexpr\useKV[ClesStat]{ColVide}>\ListeCompletelen% \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&}}{\the\tabtoksb}\\\hline% - \ifboolKV[ClesStat]{Frequence}{Fréquence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}\\\hline}{}% + \ifboolKV[ClesStat]{Frequence}{Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{Angle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{SemiAngle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{ECC}{E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}\\\hline}{}% @@ -6270,7 +6271,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \else% \ifnum\number\numexpr\useKV[ClesStat]{ColVide}=1% \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&}}{\useKV[ClesStat]{Effectif}&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ListeComplete[##1,2]}}\\\hline% - \ifboolKV[ClesStat]{Frequence}{Fréquence (\%)&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}\\\hline}{}% + \ifboolKV[ClesStat]{Frequence}{Fr\'equence (\%)&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{Angle}{Angle (\si{\degree})&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{SemiAngle}{Angle (\si{\degree})&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{ECC}{E.C.C.&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}\\\hline}{}% @@ -6278,14 +6279,14 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \else% \ifnum\number\numexpr\useKV[ClesStat]{ColVide}=\ListeCompletelen% \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&}}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ListeComplete[##1,2]}}&\\\hline% - \ifboolKV[ClesStat]{Frequence}{Fréquence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\\\hline}{}% + \ifboolKV[ClesStat]{Frequence}{Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\\\hline}{}% \ifboolKV[ClesStat]{Angle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}&\\\hline}{}% \ifboolKV[ClesStat]{SemiAngle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}&\\\hline}{}% \ifboolKV[ClesStat]{ECC}{E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}&\\\hline}{}% \end{tabular} \else% \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&}}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ListeComplete[##1,2]}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ListeComplete[##1,2]}}\\\hline% - \ifboolKV[ClesStat]{Frequence}{Fréquence (\%)\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}\\\hline}{}% + \ifboolKV[ClesStat]{Frequence}{Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{Angle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculAngle{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{SemiAngle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculSemiAngle{##1}}}}\\\hline}{}% \ifboolKV[ClesStat]{ECC}{E.C.C.\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}\\\hline}{}% @@ -6308,7 +6309,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \rowcolor{\useKV[ClesStat]{CouleurTab}}\the\tabtoksa&Total\\\hline% \ifnum\number\numexpr\useKV[ClesStat]{ColVide}<1% \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen+1}}\do{&}}{\the\tabtoksb&\ifboolKV[ClesStat]{TotalVide}{}{\num{\EffectifTotal}}}\\\hline% - \ifboolKV[ClesStat]{Frequence}{Fréquence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}}\\\hline}{}% + \ifboolKV[ClesStat]{Frequence}{Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}}\\\hline}{}% \ifboolKV[ClesStat]{Angle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{360}}}\\\hline}{}% \ifboolKV[ClesStat]{SemiAngle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{180}}}\\\hline}{}% \ifboolKV[ClesStat]{ECC}{E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\num{\EffectifTotal}}}}\\\hline}{}% @@ -6316,7 +6317,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \else% \ifnum\number\numexpr\useKV[ClesStat]{ColVide}>\ListeCompletelen% \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen+1}}\do{&}}{\the\tabtoksb&\ifboolKV[ClesStat]{TotalVide}{}{\num{\EffectifTotal}}}\\\hline% - \ifboolKV[ClesStat]{Frequence}{Fréquence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}}\\\hline}{}% + \ifboolKV[ClesStat]{Frequence}{Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}}\\\hline}{}% \ifboolKV[ClesStat]{Angle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{360}}}\\\hline}{}% \ifboolKV[ClesStat]{SemiAngle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{180}}}\\\hline}{}% \ifboolKV[ClesStat]{ECC}{E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\num{\EffectifTotal}}}}\\\hline}{}% @@ -6324,7 +6325,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \else% \ifnum\number\numexpr\useKV[ClesStat]{ColVide}=1% \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen+1}}\do{&}}{\useKV[ClesStat]{Effectif}&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ListeComplete[##1,2]}&\ifboolKV[ClesStat]{TotalVide}{}{\num{\EffectifTotal}}}\\\hline% - \ifboolKV[ClesStat]{Frequence}{Fréquence (\%)&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}}\\\hline}{}% + \ifboolKV[ClesStat]{Frequence}{Fr\'equence (\%)&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}}\\\hline}{}% \ifboolKV[ClesStat]{Angle}{Angle (\si{\degree})&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{360}}}\\\hline}{}% \ifboolKV[ClesStat]{SemiAngle}{Angle (\si{\degree})&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{180}}}\\\hline}{}% \ifboolKV[ClesStat]{ECC}{E.C.C.&\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\num{\EffectifTotal}}}}\\\hline}{}% @@ -6332,14 +6333,14 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \else% \ifnum\number\numexpr\useKV[ClesStat]{ColVide}=\ListeCompletelen% \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen+1}}\do{&}}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ListeComplete[##1,2]}&&\ifboolKV[ClesStat]{TotalVide}{}{\num{\EffectifTotal}}}\\\hline% - \ifboolKV[ClesStat]{Frequence}{Fréquence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}}\\\hline}{}% + \ifboolKV[ClesStat]{Frequence}{Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}}\\\hline}{}% \ifboolKV[ClesStat]{Angle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}&&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{360}}}\\\hline}{}% \ifboolKV[ClesStat]{SemiAngle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}&&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{180}}}\\\hline}{}% \ifboolKV[ClesStat]{ECC}{E.C.C.\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}&&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\num{\EffectifTotal}}}}\\\hline}{}% \end{tabular} \else% \ifboolKV[ClesStat]{EffVide}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen+1}}\do{&}}{\useKV[ClesStat]{Effectif}\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ListeComplete[##1,2]}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ListeComplete[##1,2]}&\ifboolKV[ClesStat]{TotalVide}{}{\num{\EffectifTotal}}}\\\hline% - \ifboolKV[ClesStat]{Frequence}{Fréquence (\%)\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}}\\\hline}{}% + \ifboolKV[ClesStat]{Frequence}{Fr\'equence (\%)\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{\CalculFrequence{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{FreqVide}{}{100}}}\\\hline}{}% \ifboolKV[ClesStat]{Angle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculAngle{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{360}}}\\\hline}{}% \ifboolKV[ClesStat]{SemiAngle}{Angle (\si{\degree})\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{\CalculSemiAngle{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{AngVide}{}{180}}}\\\hline}{}% \ifboolKV[ClesStat]{ECC}{E.C.C.\xintFor* ##1 in {\xintSeq {1}{\number\numexpr\useKV[ClesStat]{ColVide}-1}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}&\xintFor* ##1 in {\xintSeq {\number\numexpr\useKV[ClesStat]{ColVide}+1}{\ListeCompletelen}}\do{&\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\CalculECC{##1}}}}&\ifboolKV[ClesStat]{TotalVide}{}{\ifboolKV[ClesStat]{TableauVide}{}{\ifboolKV[ClesStat]{ECCVide}{}{\num{\EffectifTotal}}}}\\\hline}{}% @@ -6413,7 +6414,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }% }% -%% calcul des fréquences +%% calcul des fr\'equences \newcommand\CalculFrequence[1]{% \fpeval{round(\ListeComplete[#1,2]*100/\EffectifTotal,0)} } @@ -6626,7 +6627,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl ang[0]:=0; path cc; cc=(fullcircle scaled (2*#1)); - % on récupère les couleurs + % on r\'ecup\`ere les couleurs color Col[]; n:=0; for p_=#5: @@ -6671,7 +6672,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl if #4=1: withcolor 0.5white fi; fi; draw A[n-1]--O--A[n] if #6=1: withpen pencircle scaled2 fi; - % Affichage des angles associés + % Affichage des angles associ\'es if #4=1: if round(p_*(#3/total[N]))>15: if (n mod 2)=0: @@ -6742,7 +6743,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl toto(#2); \end{mplibcode} \else - \begin{mpost}%[mpsettings={input PfC-Geometrie;}] + \begin{mpost}%[mpsettings={input PfCGeometrie;}] pair A[],O,B[],C[],D[]; O=(0,0); n:=0; @@ -6751,7 +6752,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl ang[0]:=0; path cc; cc=(fullcircle scaled (2*#1)); - % on récupère les couleurs + % on r\'ecup\`ere les couleurs color Col[]; n:=0; for p_=#5: @@ -6796,7 +6797,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl if #4=1: withcolor 0.5white fi; fi; draw A[n-1]--O--A[n] if #6=1: withpen pencircle scaled2 fi; - % Affichage des angles associés + % Affichage des angles associ\'es if #4=1: if round(p_*(#3/total[N]))>15: if (n mod 2)=0: @@ -6869,7 +6870,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \fi } -%Pour la médiane. +%Pour la m\'ediane. \DTLgnewdb{mtdb}% \dtlexpandnewvalue% \newcount\nbdonnees% @@ -6931,7 +6932,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \xdef\listEEa{\the\tabtoksEEb}% \ignoreemptyitems% \setsepchar{,}% - \readlist*\ListeSansDoublonsEE\listEEa% %%% Enlève tous les élements + \readlist*\ListeSansDoublonsEE\listEEa% %%% Enl\`eve tous les \'elements %%% identiques de Liste }{}% }% @@ -6941,7 +6942,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \ifthenelse{\equal{\nba}{\nbb}}{\cmptEE=\numexpr\cmptEE+1\relax}{}% }% \expandafter\AjoutListEEab\nba\nil% - \expandafter\AjoutListEEaa\the\cmptEE\nil% %%% Compte tous les élements + \expandafter\AjoutListEEaa\the\cmptEE\nil% %%% Compte tous les \'elements %%% identiques de Liste }% \xdef\listEEb{\the\tabtoksEEa} @@ -6952,7 +6953,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \ifthenelse{\equal{\the\PasNumEE}{0}}{\setKV[ClesStat]{Quantitatif}}{\setKV[ClesStat]{Qualitatif}}% }{% \ifboolKV[ClesStat]{Qualitatif}{% - % % on lit la liste écrite sous la forme valeur/effectif + % % on lit la liste \'ecrite sous la forme valeur/effectif \setsepchar[*]{,*/}\ignoreemptyitems% \readlist*\ListeComplete{#2}% }{% Dans le qualitatif, on trie d'abord les valeurs. @@ -6979,16 +6980,16 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \setsepchar[*]{,*/} \readlist*\ListeComplete\listEE% }}} - % on crée la base de données des valeurs dans le cas qualitatif + % on cr\'ee la base de donn\'ees des valeurs dans le cas qualitatif \DTLcleardb{mtdb}% - % on les trie pour la médiane dans le cas qualitatif % Touhami / Texnique.fr + % on les trie pour la m\'ediane dans le cas qualitatif % Touhami / Texnique.fr \foreachitem\x\in\ListeComplete{% \DTLnewrow{mtdb}% \itemtomacro\ListeComplete[\xcnt,2]\y% \DTLnewdbentry{mtdb}{Numeric}{\y}% }% \dtlsort{Numeric}{mtdb}{\dtlicompare}% - % % on réinitialise les valeurs des critères de position et de + % % on r\'einitialise les valeurs des crit\`eres de position et de % dispersion \renewcommand\NbDonnees{} \renewcommand\SommeDonnees{}% @@ -6999,16 +7000,16 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \renewcommand\DonneeMax{0}% \renewcommand\EffectifMax{0}% \renewcommand\DonneeMin{999999999}% - \ifboolKV[ClesStat]{Qualitatif}{%Début qualitatif + \ifboolKV[ClesStat]{Qualitatif}{%D\'ebut qualitatif % Calculs - % %% celui de la somme des données + % %% celui de la somme des donn\'ees \foreachitem\don\in\ListeComplete{\xdef\SommeDonnees{\fpeval{\SommeDonnees+\ListeComplete[\doncnt,2]}}}% % %% celui de l'effectif total \ifboolKV[ClesStat]{EffectifTotal}{% - \ifboolKV[ClesStat]{Liste}{L'effectif total de la série est + \ifboolKV[ClesStat]{Liste}{L'effectif total de la s\'erie est \num{\ListeCompletelen}.\par}{ \foreachitem\don\in\ListeComplete{\xdef\EffectifTotal{\fpeval{\EffectifTotal+\ListeComplete[\doncnt,2]}}}% - L'effectif total de la série est : \[\ListeComplete[1,2]\xintFor* ##1 in + L'effectif total de la s\'erie est : \[\ListeComplete[1,2]\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{% +\ListeComplete[##1,2]}=\num{\EffectifTotal}\]} }{}% @@ -7017,7 +7018,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \xdef\Moyenne{\fpeval{\SommeDonnees/\ListeCompletelen}}% \ifboolKV[ClesStat]{Moyenne}{% \ifboolKV[ClesStat]{Liste}{% - La somme des données de la série est :% + La somme des donn\'ees de la s\'erie est :% \xintifboolexpr{\ListeCompletelen<\useKV[ClesStat]{Coupure}}{% \[ \num{\ListeComplete[1,2]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{% @@ -7031,16 +7032,16 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }=\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}% \]% }% - \ifboolKV[ClesStat]{SET}{}{Le nombre de données de la série est \num{\ListeCompletelen}.\\}% - Donc la moyenne de la série est égale à :% + \ifboolKV[ClesStat]{SET}{}{Le nombre de donn\'ees de la s\'erie est \num{\ListeCompletelen}.\\}% + Donc la moyenne de la s\'erie est \'egale \`a :% \[\frac{\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}}{\num{\ListeCompletelen}}%\IfInteger{\fpeval{round(\fpeval{\SommeDonnees/\ListeCompletelen},\useKV[ClesStat]{Precision})}}{=}{\approx} \opdiv*{\SommeDonnees}{\ListeCompletelen}{resultatmoy}{restemoy}% \opround{resultatmoy}{\useKV[ClesStat]{Precision}}{resultatmoy1}% \opcmp{resultatmoy}{resultatmoy1}\ifopeq=\else\approx\fi% \num{\fpeval{round(\fpeval{\SommeDonnees/\ListeCompletelen},\useKV[ClesStat]{Precision})}}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}.}{.}% \]% - }{Pas de moyenne possible pour une série de données à caractère qualitatif.}}{}% - % % %% celui de l'étendue + }{Pas de moyenne possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{}% + % % %% celui de l'\'etendue \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{% \xintifboolexpr{\ListeComplete[##1,2]>\DonneeMax}{% \xdef\DonneeMax{\ListeComplete[##1,2]}% @@ -7053,11 +7054,11 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \xdef\Etendue{\fpeval{\DonneeMax-\DonneeMin}}% \ifboolKV[ClesStat]{Etendue}{% \ifboolKV[ClesStat]{Liste}{% - L'étendue de la série est égale à $\num{\DonneeMax}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}-\num{\DonneeMin}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}=\num{\Etendue}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}% - }{Pas d'étendue possible pour une série de données à caractère qualitatif.}}{}% + L'\'etendue de la s\'erie est \'egale \`a $\num{\DonneeMax}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}-\num{\DonneeMin}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}=\num{\Etendue}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}% + }{Pas d'\'etendue possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{}% \ifboolKV[ClesStat]{Mediane}{% \ifboolKV[ClesStat]{Liste}{% - On range les données par ordre croissant :% + On range les donn\'ees par ordre croissant :% \nbdonnees=0% \xintifboolexpr{\ListeCompletelen<\useKV[ClesStat]{Coupure}}{% \[\DTLforeach{mtdb}{\numeroDonnee=Numeric}{\num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\DTLiflastrow{.}{;}}\]% @@ -7075,45 +7076,45 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \newcount\meda% \ifodd\number\ListeCompletelen%odd impair \med=\fpeval{(\ListeCompletelen+1)/2}\relax% - L'effectif total de la série est \num{\ListeCompletelen}. Or, $\num{\ListeCompletelen}=\num{\fpeval{\med-1}}+1+\num{\fpeval{\med-1}}$.\\ + L'effectif total de la s\'erie est \num{\ListeCompletelen}. Or, $\num{\ListeCompletelen}=\num{\fpeval{\med-1}}+1+\num{\fpeval{\med-1}}$.\\ \else% pair \med=\fpeval{\ListeCompletelen/2}\relax \meda=\numexpr\med+1\relax - L'effectif total de la série est \num{\ListeCompletelen}. Or, $\num{\ListeCompletelen}=\num{\the\med}+\num{\the\med}$.\\ + L'effectif total de la s\'erie est \num{\ListeCompletelen}. Or, $\num{\ListeCompletelen}=\num{\the\med}+\num{\the\med}$.\\ \fi% \newcount\k% \k=0% \DTLforeach{mtdb}{\numeroDonnee=Numeric}{\k=\numexpr\k+1\relax% - \ifnum\k=\med %La médiane vaut \numeroDonnee\fi + \ifnum\k=\med %La m\'ediane vaut \numeroDonnee\fi \ifodd\number\ListeCompletelen% - La médiane de la série est la \the\med\ieme{} donnée.\\Donc la médiane de la série est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}% + La m\'ediane de la s\'erie est la \the\med\ieme{} donn\'ee.\\Donc la m\'ediane de la s\'erie est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}% \else% - La \the\med\ieme{} donnée est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}\xdef\Mediane{\numeroDonnee} % + La \the\med\ieme{} donn\'ee est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}\xdef\Mediane{\numeroDonnee} % \fi \fi \ifnum\k=\meda - La \the\meda\ieme{} donnée est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.} Donc la médiane de la série est \xdef\Mediane{\fpeval{(\Mediane+\numeroDonnee)/2}}\num{\Mediane}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.} + La \the\meda\ieme{} donn\'ee est \num{\numeroDonnee}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.} Donc la m\'ediane de la s\'erie est \xdef\Mediane{\fpeval{(\Mediane+\numeroDonnee)/2}}\num{\Mediane}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.} \fi } %%%%%%%%%%%%%%%%%%%%%%%% - }{Pas de médiane possible pour une série de données à caractère qualitatif.}}{} + }{Pas de m\'ediane possible pour une s\'erie de donn\'ees \`a caract\`ere qualitatif.}}{} % Construction du tableau \ifboolKV[ClesStat]{Tableau}{% - \ifboolKV[ClesStat]{Liste}{Pas de tableau possible avec la clé Liste.\\Utilisez plutôt la clé Sondage si vous voulez un tableau avec cette liste.}{% + \ifboolKV[ClesStat]{Liste}{Pas de tableau possible avec la cl\'e Liste.\\Utilisez plut\^ot la cl\'e Sondage si vous voulez un tableau avec cette liste.}{% \ifboolKV[ClesStat]{Total}{\buildtabt}{\buildtab}}}% {}% % Construction du graphique \ifboolKV[ClesStat]{Graphique}{% - \ifboolKV[ClesStat]{Liste}{Pas de graphique possible avec la clé Liste.\\Utilisez plutôt la clé Sondage si vous voulez un graphique avec cette liste.}{% + \ifboolKV[ClesStat]{Liste}{Pas de graphique possible avec la cl\'e Liste.\\Utilisez plut\^ot la cl\'e Sondage si vous voulez un graphique avec cette liste.}{% \ifboolKV[ClesStat]{Angle}{\buildgraphcq{360}}{\ifboolKV[ClesStat]{SemiAngle}{\buildgraphcq{180}}{\buildgraphq[#1]}}% }}{} - }{%%%%%%%%%%%%%%%%%%%%%Début quantitatif + }{%%%%%%%%%%%%%%%%%%%%%D\'ebut quantitatif % % on effectue les calculs - % %% celui de la somme des données + % %% celui de la somme des donn\'ees \foreachitem\don\in\ListeComplete{\xdef\SommeDonnees{\fpeval{\SommeDonnees+\ListeComplete[\doncnt,1]*\ListeComplete[\doncnt,2]}}}% % %% celui de l'effectif total \foreachitem\don\in\ListeComplete{\xdef\EffectifTotal{\fpeval{\EffectifTotal+\ListeComplete[\doncnt,2]}}}% - % %% celui de l'étendue + % %% celui de l'\'etendue \xintFor* ##1 in {\xintSeq {1}{\ListeCompletelen}}\do{% \xintifboolexpr{\ListeComplete[##1,1]>\DonneeMax}{% \xdef\DonneeMax{\ListeComplete[##1,1]}% @@ -7127,12 +7128,12 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl % %% celui de la moyenne \xdef\Moyenne{\fpeval{\SommeDonnees/\EffectifTotal}}% \ifboolKV[ClesStat]{EffectifTotal}{% - L'effectif total de la série est : \[\ListeComplete[1,2]\xintFor* ##1 in + L'effectif total de la s\'erie est : \[\ListeComplete[1,2]\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{% +\ListeComplete[##1,2]}=\num{\EffectifTotal}\] }{}% \ifboolKV[ClesStat]{Moyenne}{% - La somme des données de la série est :% + La somme des donn\'ees de la s\'erie est :% \xintifboolexpr{\ListeCompletelen<\useKV[ClesStat]{Coupure}}{% \[ \ifnum\ListeComplete[1,2]=1\else\num{\ListeComplete[1,2]}\times\fi\num{\ListeComplete[1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{% @@ -7148,7 +7149,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }=\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{} \] } - \ifboolKV[ClesStat]{SET}{}{L'effectif total de la série est :% + \ifboolKV[ClesStat]{SET}{}{L'effectif total de la s\'erie est :% \ifboolKV[ClesStat]{Liste}{ \num{\EffectifTotal}\\}{% \[\num{\ListeComplete[1,2]}\xintFor* ##1 in {\xintSeq {2}{\ListeCompletelen}}\do{% +\num{\ListeComplete[##1,2]} @@ -7156,7 +7157,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \]% }% } - Donc la moyenne de la série est égale à :% + Donc la moyenne de la s\'erie est \'egale \`a :% \[\frac{\num{\SommeDonnees}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}}{\num{\EffectifTotal}}% \opdiv*{\SommeDonnees}{\EffectifTotal}{resultatmoy}{restemoy}% \opround{resultatmoy}{\useKV[ClesStat]{Precision}}{resultatmoy1}% @@ -7165,21 +7166,21 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \num{\fpeval{round(\SommeDonnees/\EffectifTotal,\useKV[ClesStat]{Precision})}}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}.}{.} \]% }{}% - % % Affichage des réponses. - % %% pour l'étendue - \ifboolKV[ClesStat]{Etendue}{L'étendue de la série est égale à $\num{\ListeComplete[\ListeCompletelen,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}-\num{\ListeComplete[1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}=\num{\Etendue}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}}{}% - % %% pour la médiane + % % Affichage des r\'eponses. + % %% pour l'\'etendue + \ifboolKV[ClesStat]{Etendue}{L'\'etendue de la s\'erie est \'egale \`a $\num{\ListeComplete[\ListeCompletelen,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}-\num{\ListeComplete[1,1]}\ifboolKV[ClesStat]{Concret}{~\text{\useKV[ClesStat]{Unite}}}{}=\num{\Etendue}$\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}}{}% + % %% pour la m\'ediane \ifboolKV[ClesStat]{Mediane}{% \newcount\med% \newcount\meda% \ifodd\number\EffectifTotal%odd impair \med=\fpeval{(\EffectifTotal+1)/2}\relax% - L'effectif total de la série est \num{\EffectifTotal}. Or, $\num{\EffectifTotal}=\num{\fpeval{\med-1}}+1+\num{\fpeval{\med-1}}$. % + L'effectif total de la s\'erie est \num{\EffectifTotal}. Or, $\num{\EffectifTotal}=\num{\fpeval{\med-1}}+1+\num{\fpeval{\med-1}}$. % \else% pair \med=\fpeval{\EffectifTotal/2}\relax% \meda=\numexpr\med+1\relax% - L'effectif total de la série est \num{\EffectifTotal}. Or, $\num{\EffectifTotal}=\num{\fpeval{\med}}+\num{\fpeval{\med}}$. % + L'effectif total de la s\'erie est \num{\EffectifTotal}. Or, $\num{\EffectifTotal}=\num{\fpeval{\med}}+\num{\fpeval{\med}}$. % \fi% \newcount\k% \k=0% @@ -7188,13 +7189,13 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \k=\numexpr\k+1\relax% \ifnum\k=\med% \ifodd\number\EffectifTotal% - La médiane de la série est la \the\med\ieme{} donnée. Donc la médiane de la série est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}% + La m\'ediane de la s\'erie est la \the\med\ieme{} donn\'ee. Donc la m\'ediane de la s\'erie est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}% \else% - La \the\med\ieme{} donnée est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}. }{. }\xdef\Mediane{\ListeComplete[##1,1]}% + La \the\med\ieme{} donn\'ee est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}. }{. }\xdef\Mediane{\ListeComplete[##1,1]}% \fi% \fi% \ifnum\k=\meda% - La \the\meda\ieme{} valeur est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}\\Donc la médiane de la série est \xdef\Mediane{\fpeval{(\Mediane+\ListeComplete[##1,1])/2}}\num{\Mediane}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}% + La \the\meda\ieme{} valeur est \num{\ListeComplete[##1,1]}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}\\Donc la m\'ediane de la s\'erie est \xdef\Mediane{\fpeval{(\Mediane+\ListeComplete[##1,1])/2}}\num{\Mediane}\ifboolKV[ClesStat]{Concret}{~\useKV[ClesStat]{Unite}.}{.}% \fi% }% }% @@ -7213,7 +7214,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl %%% \setKVdefault[ClesRadar]{Rayon=3cm,Reference=20,MoyenneClasse=false,Disciplines=false,Pas=5} -\newtoks\toklisteradara%pour la moyenne de l'élève +\newtoks\toklisteradara%pour la moyenne de l'\'el\`eve \newtoks\toklisteradarb%pour la discipline \newtoks\toklisteradarc%pour la moyenne de classe @@ -7254,7 +7255,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl label.lrt(TEX(p_),1.025[O,pointarc(cc,N[p])]); fi; endfor; - % tracé des pas: + % trac\'e des pas: pas=#4/#3; for k=1 upto pas-1: trace (k/pas)[O,pointarc(cc,N[1])] for l=2 upto n: --(k/pas)[O,pointarc(cc,N[l])] endfor @@ -7265,7 +7266,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl % etiquettage des pas dotlabel.urt(btex \tiny #4 etex,pointarc(cc,0)); dotlabel.urt(btex \tiny #3 etex,(1/pas)[O,pointarc(cc,0)]); - % tracé des résultats élèves + % trac\'e des r\'esultats \'el\`eves pair El[]; el=0; for p_=#5: @@ -7274,7 +7275,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl endfor; trace El[1] for p=2 upto n:--El[p] endfor --cycle withpen pencircle scaled 1.5 withcolor blue; - % tracé des résultats classe + % trac\'e des r\'esultats classe pair Cl[]; cl=0; for p_=#6: @@ -7314,7 +7315,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl label.lrt(TEX(p_),1.025[O,pointarc(cc,N[p])]); fi; endfor; - % tracé des pas: + % trac\'e des pas: pas=#4/#3; for k=1 upto pas-1: trace (k/pas)[O,pointarc(cc,N[1])] for l=2 upto n: --(k/pas)[O,pointarc(cc,N[l])] endfor @@ -7325,7 +7326,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl % etiquettage des pas dotlabel.top(LATEX("\noexpand\tiny"&decimal(#4)&"") rotated -90,pointarc(cc,0)); dotlabel.urt(LATEX("\noexpand\tiny"&decimal(#3)&""),(1/pas)[O,pointarc(cc,0)]); - % tracé des résultats élèves + % trac\'e des r\'esultats \'el\`eves pair El[]; el=0; for p_=#5: @@ -7334,7 +7335,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl endfor; trace El[1] for p=2 upto n:--El[p] endfor --cycle withpen pencircle scaled 1.5 withcolor blue; - % tracé des résultats classe + % trac\'e des r\'esultats classe pair Cl[]; cl=0; for p_=#6: @@ -7347,8 +7348,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl } \newcommand\Radar[2][]{% - % 1 les paramètres - % 2 la répartition des notes + % 1 les param\`etres + % 2 la r\'epartition des notes \useKVdefault[ClesRadar]% \setKV[ClesRadar]{#1}% \ignoreemptyitems% @@ -7370,7 +7371,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl %%% % Barres de niveaux %%% -\setKVdefault[ClesBarre]{Niveau=false,LimiteI=25,LimiteF=50,LimiteS=75,TexteOrigine=0,TexteReference=100,CouleurGraduation=white,CouleurFond=gray!50,CouleurBarre=black,Graduation=false,Nom=Défaut,Pas=10,CouleurI=red,CouleurF=orange,CouleurS=yellow,CouleurM=green} +\setKVdefault[ClesBarre]{Niveau=false,LimiteI=25,LimiteF=50,LimiteS=75,TexteOrigine=0,TexteReference=100,CouleurGraduation=white,CouleurFond=gray!50,CouleurBarre=black,Graduation=false,Nom=D\'efaut,Pas=10,CouleurI=red,CouleurF=orange,CouleurS=yellow,CouleurM=green} \newlength{\barrewidth} @@ -7479,9 +7480,9 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \setcounter{Nbequa}{0} %CT -\newdimen\fdashwidth \fdashwidth = 0.8pt % épaisseur traits -\newdimen\fdashlength \fdashlength = 0.5mm % longueur des pointillés et séparation entre pointillés -\newdimen\fdashsep \fdashsep = 3pt % séparateur entre contenu et traits +\newdimen\fdashwidth \fdashwidth = 0.8pt % \'epaisseur traits +\newdimen\fdashlength \fdashlength = 0.5mm % longueur des pointill\'es et s\'eparation entre pointill\'es +\newdimen\fdashsep \fdashsep = 3pt % s\'eparateur entre contenu et traits \def\fdash#1{% \leavevmode\begingroup% @@ -7551,12 +7552,12 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \definecolor{Cfleches}{RGB}{100,100,100}% -\input{PfC-EquationSoustraction2}% -\input{PfC-EquationTerme1}% -\input{PfC-EquationComposition2}% -\input{PfC-EquationPose1}% -\input{PfC-EquationSymbole1}% -\input{PfC-EquationLaurent1} +\input{PfCEquationSoustraction2}% +\input{PfCEquationTerme1}% +\input{PfCEquationComposition2}% +\input{PfCEquationPose1}% +\input{PfCEquationSymbole1}% +\input{PfCEquationLaurent1} \newcommand{\ResolEquation}[5][]{% \useKVdefault[ClesEquation]% @@ -7601,11 +7602,11 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \newcommand\ResolEquationCarre[2][]{% \setKV[ClesEquation]{#1}% \xintifboolexpr{#2<0}{% - Comme $\num{#2}$ est négatif, alors l'équation $\useKV[ClesEquation]{Lettre}^2=\num{#2}$ n'a aucune solution.% + Comme $\num{#2}$ est n\'egatif, alors l'\'equation $\useKV[ClesEquation]{Lettre}^2=\num{#2}$ n'a aucune solution.% }{\xintifboolexpr{#2=0}{% - L'équation $\useKV[ClesEquation]{Lettre}^2=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.% + L'\'equation $\useKV[ClesEquation]{Lettre}^2=0$ a une unique solution : $\useKV[ClesEquation]{Lettre}=0$.% }{% - Comme \num{#2} est positif, alors l'équation $\useKV[ClesEquation]{Lettre}^2=\num{#2}$ a deux solutions :% + Comme \num{#2} est positif, alors l'\'equation $\useKV[ClesEquation]{Lettre}^2=\num{#2}$ a deux solutions :% \begin{align*} \useKV[ClesEquation]{Lettre}&=\sqrt{\num{#2}}&&\text{et}&\useKV[ClesEquation]{Lettre}&=-\sqrt{\num{#2}}%\\ \ifboolKV[ClesEquation]{Exact}{\\% @@ -7674,7 +7675,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl } \end{align*} }% - \ifboolKV[ClesEquation]{Solution}{L'équation $\xintifboolexpr{#3=0}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}{(\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}})}\xintifboolexpr{#5=0}{\times\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}{(\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}})}=0$ a deux solutions : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$ et \opdiv*{\Coeffd}{\Coeffc}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffd}{\Coeffc}}{\frac{\num{\Coeffd}}{\num{\Coeffc}}}\fi$. + \ifboolKV[ClesEquation]{Solution}{L'\'equation $\xintifboolexpr{#3=0}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}}{(\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}})}\xintifboolexpr{#5=0}{\times\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}}{(\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}})}=0$ a deux solutions : \opdiv*{\Coeffb}{\Coeffa}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffb}{\Coeffa}}{\frac{\num{\Coeffb}}{\num{\Coeffa}}}\fi$ et \opdiv*{\Coeffd}{\Coeffc}{solution}{resteequa}\opcmp{resteequa}{0}$\ifboolKV[ClesEquation]{LettreSol}{\useKV[ClesEquation]{Lettre}=}{}\displaystyle\ifopeq\opexport{solution}{\solution}\num{\solution}\else\ifboolKV[ClesEquation]{Entier}{\SSimplifie{\Coeffd}{\Coeffc}}{\frac{\num{\Coeffd}}{\num{\Coeffc}}}\fi$. }{}% } @@ -7689,15 +7690,14 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \end{align*} \xdef\Testa{\fpeval{#2*\useKV[ClesEquation]{Nombre}+#3}}\xdef\Testb{\fpeval{#4*\useKV[ClesEquation]{Nombre}+#5}} \ifboolKV[ClesEquation]{Egalite}{% - Comme \xintifboolexpr{\Testa=\Testb}{$\num{\Testa}=\num{\Testb}$}{$\num{\Testa}\not=\num{\Testb}$}, alors l'égalité $\xintifboolexpr{#2=0}{\num{#3}}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}=\xintifboolexpr{#4=0}{\num{#5}}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5=0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}}$ \xintifboolexpr{\Testa=\Testb}{ est vérifiée }{ n'est pas vérifiée } pour $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$.% - }{\xintifboolexpr{\Testa=\Testb}{Comme $\num{\Testa}=\num{\Testb}$, alors $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$ est bien }{Comme $\num{\Testa}\not=\num{\Testb}$, alors $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$ n'est pas }une solution de l'équation $\xintifboolexpr{#2=0}{\num{#3}}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}=\xintifboolexpr{#4=0}{\num{#5}}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5=0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}}$.} + Comme \xintifboolexpr{\Testa=\Testb}{$\num{\Testa}=\num{\Testb}$}{$\num{\Testa}\not=\num{\Testb}$}, alors l'\'egalit\'e $\xintifboolexpr{#2=0}{\num{#3}}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}=\xintifboolexpr{#4=0}{\num{#5}}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5=0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}}$ \xintifboolexpr{\Testa=\Testb}{ est v\'erifi\'ee }{ n'est pas v\'erifi\'ee } pour $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$.% + }{\xintifboolexpr{\Testa=\Testb}{Comme $\num{\Testa}=\num{\Testb}$, alors $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$ est bien }{Comme $\num{\Testa}\not=\num{\Testb}$, alors $\useKV[ClesEquation]{Lettre}=\num{\useKV[ClesEquation]{Nombre}}$ n'est pas }une solution de l'\'equation $\xintifboolexpr{#2=0}{\num{#3}}{\xintifboolexpr{#2=1}{}{\num{#2}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#3=0}{}{\xintifboolexpr{#3>0}{+\num{#3}}{-\num{\fpeval{0-#3}}}}}=\xintifboolexpr{#4=0}{\num{#5}}{\xintifboolexpr{#4=1}{}{\num{#4}}\useKV[ClesEquation]{Lettre}\xintifboolexpr{#5=0}{}{\xintifboolexpr{#5>0}{+\num{#5}}{-\num{\fpeval{0-#5}}}}}$.} } %%% -% Proportionnalité +% Proportionnalit\'e %%% -\setKVdefault[ClesPropor]{GrandeurA=Grandeur A,GrandeurB=Grandeur B,Largeur=1cm,Math=false,Stretch=1,ColorFill=white,CouleurTab=gray!15}%Tableau=false : - %inutile ? +\setKVdefault[ClesPropor]{GrandeurA=Grandeur A,GrandeurB=Grandeur B,Largeur=1cm,Math=false,Stretch=1,ColorFill=white,CouleurTab=gray!15}% \def\Updatetoksmath#1/#2\nil{\addtotok\tabtoksa{}\addtotok\tabtoksb{}}% @@ -7789,7 +7789,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \setKV[ClesPropor]{#1}% \xdef\colorfill{\useKV[ClesPropor]{ColorFill}}% \xdef\EcartLargeur{\useKV[ClesPropor]{Largeur}} -% %on lit la liste écrite sous la forme valeur/effectif +% %on lit la liste \'ecrite sous la forme valeur/effectif \setsepchar[*]{,*/}\ignoreemptyitems% \readlist*\ListeValeur{#2}% \buildtabpropor% @@ -7857,10 +7857,10 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \setKV[ClesPourcentage]{#1}% \ifboolKV[ClesPourcentage]{Reduire}{% \ifboolKV[ClesPourcentage]{Formule}{% - Réduire une quantité de \num{#2}~\%, cela revient à multiplier cette quantité par $1-\dfrac{\num{#2}}{100}$. Par conséquent, si on réduit \num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\useKV[ClesPourcentage]{Unite}}{} de \num{#2}~\%, cela donne : + R\'eduire une quantit\'e de \num{#2}~\%, cela revient \`a multiplier cette quantit\'e par $1-\dfrac{\num{#2}}{100}$. Par cons\'equent, si on r\'eduit \num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\useKV[ClesPourcentage]{Unite}}{} de \num{#2}~\%, cela donne : \[\num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}\times\left(1-\frac{\num{#2}}{100}\right)=\num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}\times(1-\num{\fpeval{#2/100}})=\num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}\times\num{\fpeval{(1-#2/100)}}=\num{\fpeval{#3*(1-#2/100)}}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}\] }{% - Calculons ce que représente la \useKV[ClesPourcentage]{MotReduction} de \num{#2}~\%. + Calculons ce que repr\'esente la \useKV[ClesPourcentage]{MotReduction} de \num{#2}~\%. \ifboolKV[ClesPourcentage]{AideTableau}{% \xdef\NomA{\useKV[ClesPourcentage]{GrandeurA}}% \xdef\NomB{\useKV[ClesPourcentage]{GrandeurB}}% @@ -7877,10 +7877,10 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }{% \ifboolKV[ClesPourcentage]{Augmenter}{% \ifboolKV[ClesPourcentage]{Formule}{% - Augmenter de \num{#2}~\% une quantité, cela revient à multiplier cette quantité par $1+\dfrac{\num{#2}}{100}$. Par conséquent, si on augmente \num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\useKV[ClesPourcentage]{Unite}}{} de \num{#2}~\%, cela donne : + Augmenter de \num{#2}~\% une quantit\'e, cela revient \`a multiplier cette quantit\'e par $1+\dfrac{\num{#2}}{100}$. Par cons\'equent, si on augmente \num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\useKV[ClesPourcentage]{Unite}}{} de \num{#2}~\%, cela donne : \[\num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}\times\left(1+\frac{\num{#2}}{100}\right)=\num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}\times(1+\num{\fpeval{#2/100}})=\num{#3}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}\times\num{\fpeval{(1+#2/100)}}=\num{\fpeval{#3*(1+#2/100)}}\ifboolKV[ClesPourcentage]{Concret}{~\text{\useKV[ClesPourcentage]{Unite}}}{}\] }{% - Calculons ce que représente l'augmentation de \num{#2}~\%. % + Calculons ce que repr\'esente l'augmentation de \num{#2}~\%. % \ifboolKV[ClesPourcentage]{AideTableau}{% \xdef\NomA{\useKV[ClesPourcentage]{GrandeurA}}% \xdef\NomB{\useKV[ClesPourcentage]{GrandeurB}}% @@ -7915,26 +7915,26 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl %%% % Lien : ratio %%% -\setKVdefault[ClesRatio]{Figure=false,Longueur=5cm,TexteTotal=quantité,TextePart=part,Tableau=false,GrandeurA=Grandeur A,GrandeurB=Part(s),Largeur=1cm,Stretch=1,Nom=false,CouleurUn=gris,CouleurDeux=0.5gris+0.5blanc,CouleurTrois=white,CouleurTab=gray!15} +\setKVdefault[ClesRatio]{Figure=false,Longueur=5cm,TexteTotal=quantit\'e,TextePart=part,Tableau=false,GrandeurA=Grandeur A,GrandeurB=Part(s),Largeur=1cm,Stretch=1,Nom=false,CouleurUn=gris,CouleurDeux=0.5gris+0.5blanc,CouleurTrois=white,CouleurTab=gray!15} \newcommand\MPTest[9][]{% - % #2 : Longueur de la barre unité + % #2 : Longueur de la barre unit\'e % #3 : premier nombre - % #4 : deuxième nombre - % #5 : troisième nombre + % #4 : deuxi\`eme nombre + % #5 : troisi\`eme nombre % #6 : Valeurs du ratio - % #7 à #9: Couleurs de remplissage + % #7 \`a #9: Couleurs de remplissage \ifluatex \mplibforcehmode \begin{mplibcode} - vardef RatioTrois(expr long)(text t)=%longueur de la barre / quantité à partager / textepart :) / t le ratio + vardef RatioTrois(expr long)(text t)=%longueur de la barre / quantit\'e \`a partager / textepart :) / t le ratio pair A,B,C,D; A=u*(1,1); B-A=(long,0); C-B=u*(0,0.5); D-C=A-B; n:=0;%n pour savoir si le ratio est a:b ou a:b:c - numeric N[];%Pour sauvegarder les éléments du ratio + numeric N[];%Pour sauvegarder les \'el\'ements du ratio for p_=t: n:=n+1; N[n]=p_; @@ -8001,18 +8001,18 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \end{mplibcode} \else \mpxcommands{% - \setKVdefault[ClesRatio]{TexteTotal=quantité,TextePart=part} + \setKVdefault[ClesRatio]{TexteTotal=quantit\'e,TextePart=part} \setKV[ClesRatio]{#1} } \begin{mpost} - vardef RatioTrois(expr long)(text t)=%longueur de la barre / quantité à partager / textepart :) / t le ratio + vardef RatioTrois(expr long)(text t)=%longueur de la barre / quantit\'e \`a partager / textepart :) / t le ratio pair A,B,C,D; A=u*(1,1); B-A=(long,0); C-B=u*(0,0.5); D-C=A-B; n:=0;%n pour savoir si le ratio est a:b ou a:b:c - numeric N[];%Pour sauvegarder les éléments du ratio + numeric N[];%Pour sauvegarder les \'el\'ements du ratio for p_=t: n:=n+1; N[n]=p_; @@ -8184,7 +8184,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl } %%% -% Pptés des droites (6eme) +% Ppt\'es des droites (6eme) %%% \setKVdefault[ClesDroites]{Brouillon=false,CitePropriete=false,Num=1,Figure=false,Remediation=false} @@ -8192,66 +8192,66 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \ifboolKV[ClesDroites]{Remediation}{% \xintifboolexpr{\useKV[ClesDroites]{Num}=1}{% \ifboolKV[ClesDroites]{CitePropriete}{% - Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parallèles. Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parallèles.% + Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parall\`eles. Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parall\`eles.% - Or, si deux droites sont parallèles, alors toute droite parallèle à l'une est parallèle à l'autre.% + Or, si deux droites sont parall\`eles, alors toute droite parall\`ele \`a l'une est parall\`ele \`a l'autre.% - Donc les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parallèles.% + Donc les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parall\`eles.% }{% - Comme les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont toutes les deux parallèles à la même droite $(\hbox to2em{\dotfill})$, alors les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parallèles.% + Comme les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont toutes les deux parall\`eles \`a la m\^eme droite $(\hbox to2em{\dotfill})$, alors les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parall\`eles.% } }{\xintifboolexpr{\useKV[ClesDroites]{Num}=2}{% \ifboolKV[ClesDroites]{CitePropriete}{% Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont perpendiculaires. Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont perpendiculaires.% - Or, si deux droites sont perpendiculaires à une même droite, alors elles sont parallèles.% + Or, si deux droites sont perpendiculaires \`a une m\^eme droite, alors elles sont parall\`eles.% Donc les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont perpendiculaires. }{% - Comme les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont toutes les deux perpendiculaires à la même droite $(\hbox to2em{\dotfill})$, alors les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parallèles. + Comme les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont toutes les deux perpendiculaires \`a la m\^eme droite $(\hbox to2em{\dotfill})$, alors les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parall\`eles. } }{% \ifboolKV[ClesDroites]{CitePropriete}{% - Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parallèles. Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont perpendiculaires.% + Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parall\`eles. Les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont perpendiculaires.% - Or, si deux droites sont parallèles, alors toute droite droite perpendiculaire à l'une est perpendiculaire à l'autre.% + Or, si deux droites sont parall\`eles, alors toute droite droite perpendiculaire \`a l'une est perpendiculaire \`a l'autre.% Donc les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont perpendiculaires. }{% - Comme les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parallèles, alors la droite $(\hbox to2em{\dotfill})$ qui est perpendiculaire à $(\hbox to2em{\dotfill})$ est également perpendiculaire à la droite $(\hbox to2em{\dotfill})$. + Comme les droites $(\hbox to2em{\dotfill})$ et $(\hbox to2em{\dotfill})$ sont parall\`eles, alors la droite $(\hbox to2em{\dotfill})$ qui est perpendiculaire \`a $(\hbox to2em{\dotfill})$ est \'egalement perpendiculaire \`a la droite $(\hbox to2em{\dotfill})$. } } }% }{% \xintifboolexpr{\useKV[ClesDroites]{Num}=1}{% \ifboolKV[ClesDroites]{CitePropriete}{% - Les droites $(#2)$ et $(#4)$ sont parallèles. Les droites $(#3)$ et $(#4)$ sont parallèles.% + Les droites $(#2)$ et $(#4)$ sont parall\`eles. Les droites $(#3)$ et $(#4)$ sont parall\`eles.% - Or, si deux droites sont parallèles, alors toute droite parallèle à l'une est parallèle à l'autre.% + Or, si deux droites sont parall\`eles, alors toute droite parall\`ele \`a l'une est parall\`ele \`a l'autre.% - Donc les droites $(#2)$ et $(#3)$ sont parallèles. + Donc les droites $(#2)$ et $(#3)$ sont parall\`eles. }{% - Comme les droites $(#2)$ et $(#3)$ sont toutes les deux parallèles à la même droite $(#4)$, alors les droites $(#2)$ et $(#3)$ sont parallèles. + Comme les droites $(#2)$ et $(#3)$ sont toutes les deux parall\`eles \`a la m\^eme droite $(#4)$, alors les droites $(#2)$ et $(#3)$ sont parall\`eles. } }{\xintifboolexpr{\useKV[ClesDroites]{Num}=2}{% \ifboolKV[ClesDroites]{CitePropriete}{% Les droites $(#2)$ et $(#4)$ sont perpendiculaires. Les droites $(#3)$ et $(#4)$ sont perpendiculaires.% - Or, si deux droites sont perpendiculaires à une même droite, alors elles sont parallèles.% + Or, si deux droites sont perpendiculaires \`a une m\^eme droite, alors elles sont parall\`eles.% Donc les droites $(#2)$ et $(#3)$ sont perpendiculaires. }{% - Comme les droites $(#2)$ et $(#3)$ sont toutes les deux perpendiculaires à la même droite $(#4)$, alors les droites $(#2)$ et $(#3)$ sont parallèles. + Comme les droites $(#2)$ et $(#3)$ sont toutes les deux perpendiculaires \`a la m\^eme droite $(#4)$, alors les droites $(#2)$ et $(#3)$ sont parall\`eles. } }{% \ifboolKV[ClesDroites]{CitePropriete}{% - Les droites $(#2)$ et $(#4)$ sont parallèles. Les droites $(#3)$ et $(#4)$ sont perpendiculaires.% + Les droites $(#2)$ et $(#4)$ sont parall\`eles. Les droites $(#3)$ et $(#4)$ sont perpendiculaires.% - Or, si deux droites sont parallèles, alors toute droite droite perpendiculaire à l'une est perpendiculaire à l'autre.% + Or, si deux droites sont parall\`eles, alors toute droite droite perpendiculaire \`a l'une est perpendiculaire \`a l'autre.% Donc les droites $(#2)$ et $(#3)$ sont perpendiculaires. }{% - Comme les droites $(#2)$ et $(#4)$ sont parallèles, alors la droite $(#3)$ qui est perpendiculaire à $(#4)$ est également perpendiculaire à la droite $(#2)$. + Comme les droites $(#2)$ et $(#4)$ sont parall\`eles, alors la droite $(#3)$ qui est perpendiculaire \`a $(#4)$ est \'egalement perpendiculaire \`a la droite $(#2)$. }% }% }% @@ -8383,7 +8383,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl d4=G--H; picture reste; reste=image( - %tracés des droites + %trac\'es des droites draw d1; if #1=2: draw d2; @@ -8395,7 +8395,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl elseif #2=4: draw d4; fi; - % tracés des codes + % trac\'es des codes if (#1=2) and (#2=3): draw Codepara1; draw Codepara2; fi; @@ -8467,7 +8467,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl d4=G--H; picture reste; reste=image( - %tracés des droites + %trac\'es des droites draw d1; if #1=2: draw d2; @@ -8479,7 +8479,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl elseif #2=4: draw d4; fi; - % tracés des codes + % trac\'es des codes if (#1=2) and (#2=3): draw Codepara1; draw Codepara2; fi; @@ -8534,10 +8534,10 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \newcommand\FonctionAffine[5][]{% % #1 nombre ou abscisse premier point - % #2 a ou ordonnée premier point - % #3 b ou abscisse deuxième point - % #4 {} ou ordonnée deuxième point - \useKVdefault[ClesAffine]%A supprimer car appel récursif avec Redaction + % #2 a ou ordonn\'ee premier point + % #3 b ou abscisse deuxi\`eme point + % #4 {} ou ordonn\'ee deuxi\`eme point + \useKVdefault[ClesAffine]%A supprimer car appel r\'ecursif avec Redaction \setKV[ClesAffine]{#1}% \ifboolKV[ClesAffine]{Image}{% \ifboolKV[ClesAffine]{Ligne}{% @@ -8560,7 +8560,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }% }{\ifboolKV[ClesAffine]{Antecedent}{% \ifboolKV[ClesAffine]{ProgCalcul}{% - La fonction affine $\useKV[ClesAffine]{Nom}$ est définie par : + La fonction affine $\useKV[ClesAffine]{Nom}$ est d\'efinie par : \begin{align*} \useKV[ClesAffine]{Nom}&:\useKV[ClesAffine]{Variable}\stackrel{\times\xintifboolexpr{#3<0}{(\num{#3})}{\num{#3}}}{\longrightarrow}\num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{\stackrel{+\num{#4}}{\longrightarrow}}{\stackrel{\num{#4}}{\longrightarrow}}\num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{\num{#4}}}} \end{align*} @@ -8569,14 +8569,14 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \useKV[ClesAffine]{Nom}&:\frac{\num{\fpeval{#2-#4}}}{\num{#3}}\stackrel{\div\xintifboolexpr{#3<0}{(\num{#3})}{\num{#3}}}{\longleftarrow}\num{\fpeval{#2-#4}}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{\stackrel{-\num{#4}}{\longleftarrow}}{\stackrel{+\num{\fpeval{0-#4}}}{\longleftarrow}}\num{#2}} \end{align*} }{% - On cherche l'antécédent de $\num{#2}$ par la fonction - $\useKV[ClesAffine]{Nom}$, c'est-à-dire le nombre + On cherche l'ant\'ec\'edent de $\num{#2}$ par la fonction + $\useKV[ClesAffine]{Nom}$, c'est-\`a-dire le nombre $\useKV[ClesAffine]{Variable}$ tel que $\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\num{#2}$. Or, - la fonction $\useKV[ClesAffine]{Nom}$ est définie par : \[% + la fonction $\useKV[ClesAffine]{Nom}$ est d\'efinie par : \[% \useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\xintifboolexpr{#3=0}{}{\num{#3}\useKV[ClesAffine]{Variable}}\xintifboolexpr{#3=0}{\num{#4}}{\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}} \] - Par conséquent, on a : + Par cons\'equent, on a : \begin{align*} \num{#3}\useKV[ClesAffine]{Variable}\xintifboolexpr{#4=0}{}{\xintifboolexpr{#4>0}{+\num{#4}}{-\num{\fpeval{0-#4}}}}&=\num{#2}\\ \xintifboolexpr{#4=0}{\useKV[ClesAffine]{Variable}\uppercase{&}=\frac{\num{#2}}{\num{#3}}%\\ @@ -8587,15 +8587,15 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }% }{% \ifboolKV[ClesAffine]{Retrouve}{% - On sait que $\useKV[ClesAffine]{Nom}$ est une fonction affine. Donc elle s'écrit sous la forme : \[\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=a\useKV[ClesAffine]{Variable}+b\] - Or, $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$ et $\useKV[ClesAffine]{Nom}(\num{#4})=\num{#5}$. Par conséquent, d'après la propriété des accroissements : + On sait que $\useKV[ClesAffine]{Nom}$ est une fonction affine. Donc elle s'\'ecrit sous la forme : \[\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=a\useKV[ClesAffine]{Variable}+b\] + Or, $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$ et $\useKV[ClesAffine]{Nom}(\num{#4})=\num{#5}$. Par cons\'equent, d'apr\`es la propri\'et\'e des accroissements : \begin{align*} a&=\frac{\useKV[ClesAffine]{Nom}(\num{#2})-\useKV[ClesAffine]{Nom}(\num{#4})}{\num{#2}-\xintifboolexpr{#4<0}{(\num{#4})}{\num{#4}}}\\ a&=\frac{\num{#3}-\xintifboolexpr{#5<0}{(\num{#5})}{\num{#5}}}{\num{\fpeval{#2-#4}}}\\ a&=\frac{\num{\fpeval{#3-#5}}}{\num{\fpeval{#2-#4}}}%\\ \SSimpliTest{\fpeval{#3-#5}}{\fpeval{#2-#4}}\ifthenelse{\boolean{Simplification}}{\\a&=\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}}{}% \end{align*} - La fonction $\useKV[ClesAffine]{Nom}$ s'écrit alors sous la forme $\displaystyle\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}+b$. + La fonction $\useKV[ClesAffine]{Nom}$ s'\'ecrit alors sous la forme $\displaystyle\useKV[ClesAffine]{Nom}(\useKV[ClesAffine]{Variable})=\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}+b$. \\De plus, comme $\useKV[ClesAffine]{Nom}(\num{#2})=\num{#3}$, alors : \begin{align*} \SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\times\xintifboolexpr{#2<0}{(\num{#2})}{\num{#2}}+b&=\num{#3}\\ @@ -8603,7 +8603,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl b&=\num{\fpeval{#3-(#3-#5)*#2/(#2-#4)}} \end{align*} \xdef\OrdOrigine{\fpeval{#3-(#3-#5)*#2/(#2-#4)}} - La fonction affine $\useKV[ClesAffine]{Nom}$ cherchée est : + La fonction affine $\useKV[ClesAffine]{Nom}$ cherch\'ee est : \[\useKV[ClesAffine]{Nom}:\useKV[ClesAffine]{Variable}\mapsto\SSimplifie{\fpeval{#3-#5}}{\fpeval{#2-#4}}\useKV[ClesAffine]{Variable}\xintifboolexpr{\OrdOrigine=0}{}{\xintifboolexpr{\OrdOrigine>0}{+\num{\OrdOrigine}}{-\num{\fpeval{0-\OrdOrigine}}}}\] }{% % @@ -8618,10 +8618,10 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }{}% \ifboolKV[ClesAffine]{Redaction}{% \xintifboolexpr{#2=0}{Comme la fonction $\useKV[ClesAffine]{Nom}$ - est une fonction constante, alors sa représentation graphique est une droite parallèle à l'axe des abscisses passant par le point de coordonnées $(0;\num{#3})$.}% - {\xintifboolexpr{#3=0}{Comme la fonction $\useKV[ClesAffine]{Nom}$ est une fonction linéaire, alors sa représentation graphique est une droite passant par l'origine du repère.\\Je choisis $\useKV[ClesAffine]{Variable}=\num{#4}$. Son image est \xdef\NomFonctionA{\useKV[ClesAffine]{Nom}}\FonctionAffine[Nom=\NomFonctionA,Image,Ligne]{#4}{#2}{#3}{#5}. On place le point de coordonnées $(\num{#4};\num{\fpeval{#2*#4+#3}})$. + est une fonction constante, alors sa repr\'esentation graphique est une droite parall\`ele \`a l'axe des abscisses passant par le point de coordonn\'ees $(0;\num{#3})$.}% + {\xintifboolexpr{#3=0}{Comme la fonction $\useKV[ClesAffine]{Nom}$ est une fonction lin\'eaire, alors sa repr\'esentation graphique est une droite passant par l'origine du rep\`ere.\\Je choisis $\useKV[ClesAffine]{Variable}=\num{#4}$. Son image est \xdef\NomFonctionA{\useKV[ClesAffine]{Nom}}\FonctionAffine[Nom=\NomFonctionA,Image,Ligne]{#4}{#2}{#3}{#5}. On place le point de coordonn\'ees $(\num{#4};\num{\fpeval{#2*#4+#3}})$. }{% - Comme $\useKV[ClesAffine]{Nom}$ est une fonction affine, alors sa représentation graphique est une droite.\\Je choisis $\useKV[ClesAffine]{Variable}=\num{#4}$. Son image est \xdef\NomVariable{\useKV[ClesAffine]{Variable}}\xdef\NomFonction{\useKV[ClesAffine]{Nom}}\FonctionAffine[Nom=\NomFonction,Image,Ligne]{#4}{#2}{#3}{#5}. On place le point de coordonnées $(\num{#4};\num{\fpeval{#2*#4+#3}})$.\\Je choisis \setKV[ClesAffine]{Variable=\NomVariable}$\useKV[ClesAffine]{Variable}=\num{#5}$. Son image est \FonctionAffine[Nom=\NomFonction,Image,Ligne]{#5}{#2}{#3}{#4}. On place le point de coordonnées $(\num{#5};\num{\fpeval{#2*#5+#3}})$.% + Comme $\useKV[ClesAffine]{Nom}$ est une fonction affine, alors sa repr\'esentation graphique est une droite.\\Je choisis $\useKV[ClesAffine]{Variable}=\num{#4}$. Son image est \xdef\NomVariable{\useKV[ClesAffine]{Variable}}\xdef\NomFonction{\useKV[ClesAffine]{Nom}}\FonctionAffine[Nom=\NomFonction,Image,Ligne]{#4}{#2}{#3}{#5}. On place le point de coordonn\'ees $(\num{#4};\num{\fpeval{#2*#4+#3}})$.\\Je choisis \setKV[ClesAffine]{Variable=\NomVariable}$\useKV[ClesAffine]{Variable}=\num{#5}$. Son image est \FonctionAffine[Nom=\NomFonction,Image,Ligne]{#5}{#2}{#3}{#4}. On place le point de coordonn\'ees $(\num{#5};\num{\fpeval{#2*#5+#3}})$.% }% }% }% @@ -8634,7 +8634,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl % #1 Unitex #2 Unitey % #2 a pour f1 - #4 b pour f1 % #5 abscisse du premier point - % #6 abscisse du deuxième point + % #6 abscisse du deuxi\`eme point \ifluatex \mplibforcehmode \begin{mplibcode} @@ -8762,7 +8762,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \end{mplibcode} \else \begin{mpost} - % On définit les constantes + % On d\'efinit les constantes XMin=-2; XMax=2; if #52): - label.bot(LATEX("$\noexpand\frac{"&decimal(num)&"}{"&decimal(deno)&"}$"),C[k]-u*(0,0.5));%Le \noexpand est nécessaire pour éviter un problème à la compilation, dû à l'expansion du \frac par gmp. + label.bot(LATEX("$\noexpand\frac{"&decimal(num)&"}{"&decimal(deno)&"}$"),C[k]-u*(0,0.5));%Le \noexpand est n\'ecessaire pour \'eviter un probl\`eme \`a la compilation, dû \`a l'expansion du \frac par gmp. fi; k:=k+1; fi; @@ -10417,8 +10449,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \def\MPArbreProba#1#2#3#4{% % #1:longueur d'une branche - % #2:angle entre deux branches de même origine - % #3:Liste des évènements/proba + % #2:angle entre deux branches de m\^eme origine + % #3:Liste des \'ev\`enements/proba \ifluatex \begin{mplibcode} pair A[],B[];%les noeuds de l'arbre @@ -10441,7 +10473,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl endfor; n:=1;%compter les informations k:=1;% compter les informations noeud pour les placer - l:=1;% compter les informations "numériques" + l:=1;% compter les informations "num\'eriques" vardef toto(text t)= for p_=t: if (n mod 2)=1: @@ -10467,7 +10499,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl toto(#3); \end{mplibcode} \else - \begin{mpost}[mpsettings={input PfC-Geometrie;}] + \begin{mpost}[mpsettings={input PfCGeometrie;}] pair A[],B[];%les noeuds de l'arbre Figure(-10u,-10u,10u,10u); A0=u*(1,1); @@ -10488,7 +10520,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl endfor; n:=1;%compter les informations k:=1;% compter les informations noeud pour les placer - l:=1;% compter les informations "numériques" + l:=1;% compter les informations "num\'eriques" vardef toto(text t)= for p_=t: if (n mod 2)=1: @@ -10513,7 +10545,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \newcommand\Proba[2][]{% \useKVdefault[ClesProba]% \setKV[ClesProba]{#1}% - % On liste les différents éléments sous la forme Evènement/proba + % On liste les diff\'erents \'el\'ements sous la forme Ev\`enement/proba \setsepchar[*]{,*/}\ignoreemptyitems% \readlist*\ListeProba{#2} \ifboolKV[ClesProba]{Echelle}{% @@ -10528,7 +10560,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl % Reperage %%% \setKVdefault[ClesReperage]{Unitex=1,Pasx=1,Unitey=1,Pasy=1,Unitez=1,Pasz=1,DemiDroite=false,Droite=false,Plan=false,Trace=false,ListeSegment={},Espace=false,Sphere=false,AffichageNom=false,AffichageGrad=false,AffichageAbs=0,AffichageCoord=false,LectureCoord=false,ValeurUnitex=1,ValeurUnitey=1,ValeurOrigine=0,NomOrigine=O,EchelleEspace=50,CouleurCoord=black} -% ValeurOrigine permet de faire des morceaux de demi-droite graduée en passant par droite :) +% ValeurOrigine permet de faire des morceaux de demi-droite gradu\'ee en passant par droite :) \def\Updatetoksdroite#1/#2\nil{\addtotok\toklistepointdroite{#1,"#2",}} \def\Updatetoksrepere#1/#2/#3\nil{\addtotok\toklistepointrepere{#1,#2,"#3",}} @@ -10538,7 +10570,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \newtoks\toklistepointdroite% \newtoks\toklistepointespace% -% Pour construire le repère de l'espace +% Pour construire le rep\`ere de l'espace \def\buildespace{% \toklistepointespace{}% \ifboolKV[ClesReperage]{Sphere}{% @@ -10614,7 +10646,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl vardef tata(text t)= n:=1;%pour compter combien de points k:=0;%pour garder l'abscisse - l:=0;%pour garder l'ordonnée + l:=0;%pour garder l'ordonn\'ee m:=0;%pour garder l'altitude if #8>0: for p_=t: @@ -10650,7 +10682,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl vardef toto(text t)= n:=1;%pour compter combien de points k:=0;%pour garder l'abscisse - l:=0;%pour garder l'ordonnée + l:=0;%pour garder l'ordonn\'ee m:=0;%pour garder l'altitude if #8>0: for p_=t: @@ -10692,7 +10724,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl draw Pave(A,B,C,D,E,F,G,H)(#1,#3,#5); \end{mplibcode} \else - \begin{mpost}[mpsettings={input PfC-Geometrie;}] + \begin{mpost}[mpsettings={input PfCGeometrie;}] typetrace:="3D"; typerepre:="persp"; Figure(-20u,-20u,20u,20u); @@ -10737,7 +10769,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl vardef tata(text t)= n:=1;%pour compter combien de points k:=0;%pour garder l'abscisse - l:=0;%pour garder l'ordonnée + l:=0;%pour garder l'ordonn\'ee m:=0;%pour garder l'altitude if #8>0: for p_=t: @@ -10773,7 +10805,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl vardef toto(text t)= n:=1;%pour compter combien de points k:=0;%pour garder l'abscisse - l:=0;%pour garder l'ordonnée + l:=0;%pour garder l'ordonn\'ee m:=0;%pour garder l'altitude if #8>0: for p_=t: @@ -10817,7 +10849,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \fi }% -% Pour construire le repère du plan +% Pour construire le rep\`ere du plan \def\buildreperenew{% \toklistepointrepere{}% \foreachitem\compteur\in\ListePointRepere{\expandafter\Updatetoksrepere\compteur\nil}% @@ -10836,8 +10868,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl %#2 : unitey, pasy %#3 : liste de points %#4 : Affichage nom + lecture graphique - %#5 : Affichage des (abscisses/ordonnées) - %#6 : Graduation complète ? + %#5 : Affichage des (abscisses/ordonn\'ees) + %#6 : Graduation compl\`ete ? %#7 : (unitex,unitey) \ifluatex \begin{mplibcode} @@ -10905,7 +10937,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl endfor; drawarrow (B+(-0.75*unitpx,0))--(C+(0.75*unitpx,0)); drawarrow (D+(0,-0.75*unitpy))--(E+(0,0.75*unitpy)); - % graduation complète ou pas ? + % graduation compl\`ete ou pas ? label.llft(btex \footnotesize 0 etex,A); if #6>0: for k=minx upto maxx: @@ -10932,8 +10964,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl vardef tata(text t)=%on place les points if #4>0: n:=1; - k:=0;%pour retenir la coordonnée en x - l:=0;%pour retenir la coordonnée en y + k:=0;%pour retenir la coordonn\'ee en x + l:=0;%pour retenir la coordonn\'ee en y for p_=t: if (n mod 3)=1: if numeric p_: @@ -10984,8 +11016,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl fi; if #5=2: n:=1; - k:=0;%pour retenir la coordonnée en x - l:=0;%pour retenir la coordonnée en y + k:=0;%pour retenir la coordonn\'ee en x + l:=0;%pour retenir la coordonn\'ee en y for p_=t: if (n mod 3)=1: if numeric p_: @@ -11016,8 +11048,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl endfor; elseif #5=1: n:=1; - k:=0;%pour retenir la coordonnée en x - l:=0;%pour retenir la coordonnée en y + k:=0;%pour retenir la coordonn\'ee en x + l:=0;%pour retenir la coordonn\'ee en y for p_=t: if (n mod 3)=1: if numeric p_: @@ -11108,7 +11140,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl endfor; drawarrow (B+(-0.75*unitpx,0))--(C+(0.75*unitpx,0)); drawarrow (D+(0,-0.75*unitpy))--(E+(0,0.75*unitpy)); - % graduation complète ou pas ? + % graduation compl\`ete ou pas ? label.llft(btex \noexpand\footnotesize 0 etex,A); if #6>0: for k=minx upto maxx: @@ -11135,8 +11167,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl vardef tata(text t)=%on place les points if #4>0: n:=1; - k:=0;%pour retenir la coordonnée en x - l:=0;%pour retenir la coordonnée en y + k:=0;%pour retenir la coordonn\'ee en x + l:=0;%pour retenir la coordonn\'ee en y for p_=t: if (n mod 3)=1: if numeric p_: @@ -11187,8 +11219,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl fi; if #5=2: n:=1; - k:=0;%pour retenir la coordonnée en x - l:=0;%pour retenir la coordonnée en y + k:=0;%pour retenir la coordonn\'ee en x + l:=0;%pour retenir la coordonn\'ee en y for p_=t: if (n mod 3)=1: if numeric p_: @@ -11219,8 +11251,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl endfor; elseif #5=1: n:=1; - k:=0;%pour retenir la coordonnée en x - l:=0;%pour retenir la coordonnée en y + k:=0;%pour retenir la coordonn\'ee en x + l:=0;%pour retenir la coordonn\'ee en y for p_=t: if (n mod 3)=1: if numeric p_: @@ -11324,8 +11356,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl vardef tata(text t)=%on place les points if #6>0: n:=1; - k:=0;%pour retenir la coordonnée en x - l:=0;%pour retenir la coordonnée en y + k:=0;%pour retenir la coordonn\'ee en x + l:=0;%pour retenir la coordonn\'ee en y for p_=t: if (n mod 3)=1: if numeric p_: @@ -11398,7 +11430,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl Tracage(#5)(#9); \end{mplibcode} \else - \begin{mpost}[mpsettings={input PfC-Geometrie;}] + \begin{mpost}[mpsettings={input PfCGeometrie;}] maxx:=-4000; minx=4000; unitex:=#1*cm; @@ -11472,8 +11504,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl vardef tata(text t)=%on place les points if #6>0: n:=1; - k:=0;%pour retenir la coordonnée en x - l:=0;%pour retenir la coordonnée en y + k:=0;%pour retenir la coordonn\'ee en x + l:=0;%pour retenir la coordonn\'ee en y for p_=t: if (n mod 3)=1: if numeric p_: @@ -11551,10 +11583,10 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \def\MPDEMIGraduee#1#2#3#4#5#6#7#8{% % #1 : unite % #2 : pas - % #3 : liste des points à placer en pas. pour gérer le cas des repérages fractionnaires + % #3 : liste des points \`a placer en pas. pour g\'erer le cas des rep\'erages fractionnaires % #4 : on affiche le nom des points ou pas - % #5 : quelle est la valeur de la longueur unité ? - % #6 : la valeur de l'unité (ne sert à rien ici, mais en prévision + % #5 : quelle est la valeur de la longueur unit\'e ? + % #6 : la valeur de l'unit\'e (ne sert \`a rien ici, mais en pr\'evision % de Droite) % #7 : on affiche les abscisses ou pas : 0 non, 1 oui, 2 fraction % #8 : on affiche tous les multiples de la graduation "principale" @@ -11564,8 +11596,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl maxx:=0; unitex:=#1*cm; pasx:=#2; - unitp:=unitex/pasx;%unité de déplacement - vardef toto(text t)=%On détermine le nombre "d'unités" à placer + unitp:=unitex/pasx;%unit\'e de d\'eplacement + vardef toto(text t)=%On d\'etermine le nombre "d'unit\'es" \`a placer for p_=t: if numeric p_: if p_>maxx: @@ -11657,8 +11689,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl maxx:=0; unitex:=#1*cm; pasx:=#2; - unitp:=unitex/pasx;%unité de déplacement - vardef toto(text t)=%On détermine le nombre "d'unités" à placer + unitp:=unitex/pasx;%unit\'e de d\'eplacement + vardef toto(text t)=%On d\'etermine le nombre "d'unit\'es" \`a placer for p_=t: if numeric p_: if p_>maxx: @@ -11748,7 +11780,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \fi } -% Pour construire les droite/demi-droite graduée +% Pour construire les droite/demi-droite gradu\'ee \def\builddemidroitenew{% \toklistepointdroite{}% \foreachitem\compteur\in\ListePointDroite{\expandafter\Updatetoksdroite\compteur\nil}% @@ -11766,10 +11798,10 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \def\MPDROITEGraduee#1#2#3#4#5#6#7#8{% % #1 : unite % #2 : pas - % #3 : liste des points à placer en pas. pour gérer le cas des repérages fractionnaires + % #3 : liste des points \`a placer en pas. pour g\'erer le cas des rep\'erages fractionnaires % #4 : on affiche le nom des points ou pas - % #5 : quelle est la valeur de la longueur unité ? - % #6 : la valeur de l'unité + % #5 : quelle est la valeur de la longueur unit\'e ? + % #6 : la valeur de l'unit\'e % #7 : on affiche les abscisses ou pas : 0 non, 1 oui, 2 fraction % #8 : on affiche tous les multiples de la graduation "principale" \ifluatex @@ -11779,8 +11811,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl minx:=4000; unitex:=#1*cm; pasx:=#2; - unitp:=unitex/pasx;%unité de déplacement - vardef toto(text t)=%On détermine le nombre "d'unités" à placer + unitp:=unitex/pasx;%unit\'e de d\'eplacement + vardef toto(text t)=%On d\'etermine le nombre "d'unit\'es" \`a placer for p_=t: if numeric p_: if p_>maxx: @@ -11894,8 +11926,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl minx:=4000; unitex:=#1*cm; pasx:=#2; - unitp:=unitex/pasx;%unité de déplacement - vardef toto(text t)=%On détermine le nombre "d'unités" à placer + unitp:=unitex/pasx;%unit\'e de d\'eplacement + vardef toto(text t)=%On d\'etermine le nombre "d'unit\'es" \`a placer for p_=t: if numeric p_: if p_>maxx: @@ -12037,9 +12069,9 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl } %%% -% Ecritures d'unités +% Ecritures d'unit\'es %%% -\setKVdefault[Unites]{m=false,km=false,hm=false,ha=false,dam=false,a=false,dm=false,cm=true,mm=false,um=false,nm=false,g=true,t=false,q=false,kg=false,hg=false,dag=false,dg=false,cg=false,mg=false,ug=false,ng=false,kmh=true,kms=false,ms=false,kgm=false,gcm=true,L=true,kL=false,hL=false,daL=false,dL=false,cL=false,mL=false,l=true,kl=false,hl=false,dal=false,dl=false,cl=false,ml=false,Go=true,Mo=false,ko=false,To=false,o=false,kWh=true,C=true,K=false,F=false} +\setKVdefault[Unites]{m=false,km=false,hm=false,ha=false,dam=false,a=false,dm=false,cm=true,mm=false,um=false,nm=false,g=true,t=false,q=false,kg=false,hg=false,dag=false,dg=false,cg=false,mg=false,ug=false,ng=false,kmh=true,kms=false,ms=false,mh=false,kgm=false,gcm=true,L=true,kL=false,hL=false,daL=false,dL=false,cL=false,mL=false,l=true,kl=false,hl=false,dal=false,dl=false,cl=false,ml=false,Go=true,Mo=false,ko=false,To=false,o=false,kWh=true,C=true,K=false,F=false} %D'apres https://tex.stackexchange.com/questions/38905/time-of-the-day-or-time-period-using-the-package-siunitx \ExplSyntaxOn @@ -12116,6 +12148,10 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \SI{#2}{\kWh}% } +\newcommand\Prix[2][]{% + \SI[round-mode=places,round-precision=2]{#2}{\EuRo}% +} + \newcommand\Octet[2][]{% \useKVdefault[Unites]% \setKV[Unites]{#1}% @@ -12284,13 +12320,17 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \newcommand\Vitesse[2][]{% \useKVdefault[Unites]% \setKV[Unites]{#1}% - \ifboolKV[Unites]{ms}{% - \SI[per-mode=symbol]{#2}{\meter\per\second}% + \ifboolKV[Unites]{mh}{% + \SI[per-mode=symbol]{#2}{\meter\per\hour}% }{% - \ifboolKV[Unites]{kms}{% - \SI[per-mode=symbol]{#2}{\kilo\meter\per\second}% + \ifboolKV[Unites]{ms}{% + \SI[per-mode=symbol]{#2}{\meter\per\second}% }{% - \SI[per-mode=symbol]{#2}{\kilo\meter\per\hour}% + \ifboolKV[Unites]{kms}{% + \SI[per-mode=symbol]{#2}{\kilo\meter\per\second}% + }{% + \SI[per-mode=symbol]{#2}{\kilo\meter\per\hour}% + }% }% }% }% @@ -12306,7 +12346,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }% %%% -% Tableaux d'unités +% Tableaux d'unit\'es %%% \setKVdefault[ClesTableaux]{Virgule=true,Entiers=false,Decimaux=false,Milliards=false,Millions=false,Micro=false,Nano=false,Partie=false,CouleurG=gray!15,CouleurM=gray!15,Couleurm=gray!15,Couleuru=gray!15,Classes=false,Nombres=false,Puissances=false,NbLignes=2,Metre=false,Are=false,Capacite=false,Carre=false,Cube=false,Litre=false,Gramme=false,Fleches=false,FlechesB=false,FlechesH=false,Colonnes=false,Prefixes=false} @@ -12314,7 +12354,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \useKVdefault[ClesTableaux]% \setKV[ClesTableaux]{#1}% % - %%% Clé Prefixes + %%% Cl\'e Prefixes % \ifboolKV[ClesTableaux]{Prefixes}{% \setlength{\tabcolsep}{0.01\tabcolsep}% @@ -12330,21 +12370,21 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }}% {>{\centering\arraybackslash}m{3.25em}|}}% % - %%% Prise en compte de la clé Partie + %%% Prise en compte de la cl\'e Partie % \ifboolKV[ClesTableaux]{Partie}{% \multicolumn{% \ifboolKV[ClesTableaux]{Milliards}{12}{% \ifboolKV[ClesTableaux]{Millions}{9}{6}% - }}{c}{\bfseries Partie entière} + }}{c}{\bfseries Partie enti\`ere} &\multicolumn{1}{c}{\cellcolor{gray!15}\ifboolKV[ClesTableaux]{Virgule}{,}{}}% &\multicolumn{% \ifboolKV[ClesTableaux]{Micro}{6}{% \ifboolKV[ClesTableaux]{Nano}{9}{3}% }}% - {c}{\bfseries Partie décimale}\\}{}% + {c}{\bfseries Partie d\'ecimale}\\}{}% % - %%% Prise en compte de la clé Classes + %%% Prise en compte de la cl\'e Classes % \ifboolKV[ClesTableaux]{Classes}{% \hline @@ -12364,7 +12404,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl {\cellcolor{\useKV[ClesTableaux]{Couleurm}}Classe des milliers}% &\multicolumn{3}{c|}{\cellcolor{\useKV[ClesTableaux]{Couleuru}}Classe - des unités}% + des unit\'es}% &\ifboolKV[ClesTableaux]{Virgule}{,}{}% &\multicolumn{% \ifboolKV[ClesTableaux]{Micro}{6}{% @@ -12372,7 +12412,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }}% {c|}{}\\}{}% % - %%% Valeurs par défaut + %%% Valeurs par d\'efaut % \hline% \ifboolKV[ClesTableaux]{Milliards}{% @@ -12380,20 +12420,20 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl &\fontsize{8.5}{8.5}\selectfont giga% &% &% - &\fontsize{8.5}{8.5}\selectfont méga% + &\fontsize{8.5}{8.5}\selectfont m\'ega% &% }{% \ifboolKV[ClesTableaux]{Millions}{% &% - &\fontsize{8.5}{8.5}\selectfont méga% + &\fontsize{8.5}{8.5}\selectfont m\'ega% &% }{% }}% &% &\fontsize{8.5}{8.5}\selectfont kilo% &\fontsize{8.5}{8.5}\selectfont hecto% - &\fontsize{8.5}{8.5}\selectfont déca% - &\fontsize{8.5}{8.5}\selectfont unités% + &\fontsize{8.5}{8.5}\selectfont d\'eca% + &\fontsize{8.5}{8.5}\selectfont unit\'es% &\ifboolKV[ClesTableaux]{Virgule}{,}{}% &\fontsize{8.5}{8.5}\selectfont deci% &\fontsize{8.5}{8.5}\selectfont centi% @@ -12409,7 +12449,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl &\fontsize{8.5}{8.5}\selectfont nano\\}{\\}% }% % - %%% Prise en compte de la clé Nombres + %%% Prise en compte de la cl\'e Nombres % \ifboolKV[ClesTableaux]{Nombres}{% \ifboolKV[ClesTableaux]{Milliards}{% @@ -12452,7 +12492,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }{}% }{}\\}{}% % - %%% Prise en compte de la clé Puissances + %%% Prise en compte de la cl\'e Puissances % \ifboolKV[ClesTableaux]{Puissances}{% \ifboolKV[ClesTableaux]{Milliards}{% @@ -12512,7 +12552,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \setlength{\tabcolsep}{100\tabcolsep}% }{}% % - %%% Clé Entiers + %%% Cl\'e Entiers % \ifboolKV[ClesTableaux]{Entiers}{% \setlength{\tabcolsep}{0.01\tabcolsep}% @@ -12531,29 +12571,29 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \ifboolKV[ClesTableaux]{Millions}{\multicolumn{3}{|c}{\cellcolor{\useKV[ClesTableaux]{CouleurM}}Classe des millions}&}{} \multicolumn{3}{|c|}{\cellcolor{\useKV[ClesTableaux]{Couleurm}}Classe des milliers}% - &\multicolumn{3}{c|}{\cellcolor{\useKV[ClesTableaux]{Couleuru}}Classe des unités}\\}{} + &\multicolumn{3}{c|}{\cellcolor{\useKV[ClesTableaux]{Couleuru}}Classe des unit\'es}\\}{} \hline \ifboolKV[ClesTableaux]{Milliards}{% \fontsize{4.5}{4.5}\selectfont centaines de milliards% &\fontsize{4.5}{4.5}\selectfont dizaines de milliards% - &\fontsize{4.5}{4.5}\selectfont unités de milliards% + &\fontsize{4.5}{4.5}\selectfont unit\'es de milliards% &\fontsize{4.5}{4.5}\selectfont centaines de millions% &\fontsize{4.5}{4.5}\selectfont dizaines de millions% - &\fontsize{4.5}{4.5}\selectfont unités de millions% + &\fontsize{4.5}{4.5}\selectfont unit\'es de millions% & }{} \ifboolKV[ClesTableaux]{Millions}{% \fontsize{4.5}{4.5}\selectfont centaines de millions% &\fontsize{4.5}{4.5}\selectfont dizaines de millions% - &\fontsize{4.5}{4.5}\selectfont unités de millions% + &\fontsize{4.5}{4.5}\selectfont unit\'es de millions% & }{} \fontsize{4.5}{4.5}\selectfont centaines de milliers% &\fontsize{4.5}{4.5}\selectfont dizaines de milliers% - &\fontsize{4.5}{4.5}\selectfont unités de milliers% + &\fontsize{4.5}{4.5}\selectfont unit\'es de milliers% &\fontsize{4.5}{4.5}\selectfont centaines% &\fontsize{4.5}{4.5}\selectfont dizaines% - &\fontsize{4.5}{4.5}\selectfont unités\\% + &\fontsize{4.5}{4.5}\selectfont unit\'es\\% \ifboolKV[ClesTableaux]{Nombres}{% \ifboolKV[ClesTableaux]{Milliards}{% \fontsize{4.5}{4.5}\selectfont\num{100000000000}% @@ -12579,7 +12619,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \\ }{} % - %%% Prise en compte de la clé Puissances + %%% Prise en compte de la cl\'e Puissances % \ifboolKV[ClesTableaux]{Puissances}{% \ifboolKV[ClesTableaux]{Milliards}{% @@ -12618,7 +12658,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \setlength{\tabcolsep}{100\tabcolsep}% }{}% % - %%% Clé Decimaux + %%% Cl\'e Decimaux % \ifboolKV[ClesTableaux]{Decimaux}{% \setlength{\tabcolsep}{0.01\tabcolsep}% @@ -12631,18 +12671,18 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }}{>{\centering\arraybackslash}m{4.75em}|}>{\columncolor{gray!15}}{c}|*{3}% {>{\centering\arraybackslash}m{4.75em}|}}% % - %%% Prise en compte de la clé Partie + %%% Prise en compte de la cl\'e Partie % \ifboolKV[ClesTableaux]{Partie}{% \ifboolKV[ClesTableaux]{Milliards}{% - \multicolumn{12}{c}{\bfseries Partie entière}}{% + \multicolumn{12}{c}{\bfseries Partie enti\`ere}}{% \ifboolKV[ClesTableaux]{Millions}{% - \multicolumn{9}{c}{\bfseries Partie entière}}{% - \multicolumn{6}{c}{\bfseries Partie entière}}}% + \multicolumn{9}{c}{\bfseries Partie enti\`ere}}{% + \multicolumn{6}{c}{\bfseries Partie enti\`ere}}}% &\multicolumn{1}{c}{\cellcolor{gray!15}\ifboolKV[ClesTableaux]{Virgule}{,}{}}% - &\multicolumn{3}{c}{\bfseries Partie décimale}\\}{} + &\multicolumn{3}{c}{\bfseries Partie d\'ecimale}\\}{} % - %%% Prise en compte de la clé Classes + %%% Prise en compte de la cl\'e Classes % \ifboolKV[ClesTableaux]{Classes}{% \hline% @@ -12657,37 +12697,37 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl {\cellcolor{\useKV[ClesTableaux]{Couleurm}}Classe des milliers}% &\multicolumn{3}{c|}{\cellcolor{\useKV[ClesTableaux]{Couleuru}}Classe - des unités}% + des unit\'es}% &\ifboolKV[ClesTableaux]{Virgule}{,}{}&\multicolumn{3}{c|}{}\\}{} % - %%% Valeurs ci-dessous par défaut + %%% Valeurs ci-dessous par d\'efaut % \hline \ifboolKV[ClesTableaux]{Milliards}{% \fontsize{4.5}{4.5}\selectfont centaines de milliards% &\fontsize{4.5}{4.5}\selectfont dizaines de milliards% - &\fontsize{4.5}{4.5}\selectfont unités de milliards% + &\fontsize{4.5}{4.5}\selectfont unit\'es de milliards% &\fontsize{4.5}{4.5}\selectfont centaines de millions% &\fontsize{4.5}{4.5}\selectfont dizaines de millions% - &\fontsize{4.5}{4.5}\selectfont unités de millions% + &\fontsize{4.5}{4.5}\selectfont unit\'es de millions% & }{} \ifboolKV[ClesTableaux]{Millions}{% \fontsize{4.5}{4.5}\selectfont centaines de millions% &\fontsize{4.5}{4.5}\selectfont dizaines de millions% - &\fontsize{4.5}{4.5}\selectfont unités de millions% + &\fontsize{4.5}{4.5}\selectfont unit\'es de millions% & }{} \fontsize{4.5}{4.5}\selectfont centaines de milliers% &\fontsize{4.5}{4.5}\selectfont dizaines de milliers% - &\fontsize{4.5}{4.5}\selectfont unités de milliers% + &\fontsize{4.5}{4.5}\selectfont unit\'es de milliers% &\fontsize{4.5}{4.5}\selectfont centaines% &\fontsize{4.5}{4.5}\selectfont dizaines% - &\fontsize{4.5}{4.5}\selectfont unités% + &\fontsize{4.5}{4.5}\selectfont unit\'es% &\ifboolKV[ClesTableaux]{Virgule}{,}{}% - &\fontsize{4.5}{4.5}\selectfont dixièmes% - &\fontsize{4.5}{4.5}\selectfont centièmes% - &\fontsize{4.5}{4.5}\selectfont millièmes\\ + &\fontsize{4.5}{4.5}\selectfont dixi\`emes% + &\fontsize{4.5}{4.5}\selectfont centi\`emes% + &\fontsize{4.5}{4.5}\selectfont milli\`emes\\ \ifboolKV[ClesTableaux]{Nombres}{% \ifboolKV[ClesTableaux]{Milliards}{% \fontsize{4.5}{4.5}\selectfont\num{100000000000}% @@ -12717,7 +12757,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \\ }{}% % - %%% Prise en compte de la clé Puissances + %%% Prise en compte de la cl\'e Puissances % \ifboolKV[ClesTableaux]{Puissances}{% \ifboolKV[ClesTableaux]{Milliards}{% @@ -12760,7 +12800,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \setlength{\tabcolsep}{100\tabcolsep}% }{}% % - %%% Prise en compte de la clé Metre + %%% Prise en compte de la cl\'e Metre % \ifboolKV[ClesTableaux]{Metre}{% \[\renewcommand{\arraystretch}{1.15}% @@ -12790,7 +12830,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl }% {}% % - %%% Prise en compte de la clé Carre + %%% Prise en compte de la cl\'e Carre % \ifboolKV[ClesTableaux]{Carre}{% \[\renewcommand{\arraystretch}{1.15}% @@ -12831,7 +12871,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \Conversion{100}% }{}% % - %%% Prise en compte de la clé Cube + %%% Prise en compte de la cl\'e Cube % \ifboolKV[ClesTableaux]{Cube}{% \setlength{\tabcolsep}{0.625\tabcolsep}% @@ -12875,7 +12915,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \Conversion{1000}% }{}% % - %%% Prise en compte de la clé Litre + %%% Prise en compte de la cl\'e Litre % \ifboolKV[ClesTableaux]{Litre}{% \[\renewcommand{\arraystretch}{1.15}% @@ -12903,7 +12943,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \Conversion{10}% }{}% % - %%% Prise en compte de la clé Gramme + %%% Prise en compte de la cl\'e Gramme % \ifboolKV[ClesTableaux]{Gramme}{% \[\renewcommand{\arraystretch}{1.15}% @@ -12977,7 +13017,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \coordinate[xshift=-3mm-(\largeurtitre/2)] (B2) at (B1); \node[rounded corners, draw=black, rectangle,minimum height=1cm,text width=\largeurtitre,fill=TrameCouleur] (T1) at (A2){}; \node[TexteCouleur] (T1a) at (T1){\Large #1}; - \node[yshift=-0.65cm] (T1b) at (T1){\tiny réponse précédente}; + \node[yshift=-0.65cm] (T1b) at (T1){\tiny r\'eponse pr\'ec\'edente}; \node[inner sep=0pt,rounded corners, rectangle, draw=black,minimum height=1cm,text width=\largeurtitre,fill=TrameCouleur] (T2) at (B2){}; \node[inner sep=0pt,TexteCouleur] (T2a) at (T2){ \begin{minipage}{\largeurtitre} @@ -13122,8 +13162,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \end{tikzpicture} } -\setKVdefault[Cards]{Largeur=59,Hauteur=89,HauteurTheme=15,Marge=4,Landscape=false,Couleur=Cornsilk,Theme=Théorème\\de - Pythagore,ThemeSol=Solution,Trame=false,Titre=false,NomTitre=Jeu 1,Loop,BackgroundAv=false,BackgroundAr=false,ImageAv=4813762.jpg,ImageAr=4813762.jpg} +\setKVdefault[Cards]{Largeur=59,Hauteur=89,HauteurTheme=15,Marge=4,Landscape=false,Couleur=Cornsilk,Theme=Th\'eor\`eme\\de + Pythagore,ThemeSol=Solution,Trame=false,Titre=false,NomTitre=Jeu 1,Loop,BackgroundAv=false,BackgroundAr=false,ImageAv=4813762.jpg,ImageAr=4813762.jpg,AffichageSolution=true} \newcommand\Cartes[2][]{% \useKVdefault[Cards]% @@ -13211,9 +13251,11 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \begin{MyboxSimpleAv}{\useKV[Cards]{Theme}}% \ListeCards[1,1]% \end{MyboxSimpleAv} + \ifboolKV[Cards]{AffichageSolution}{% \begin{MyboxSimpleAr}{\useKV[Cards]{ThemeSol}}% \ListeCards[1,2]% \end{MyboxSimpleAr} + }{}% }% }% } @@ -13229,9 +13271,9 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl %%% % Tableur %%% -\setKVdefault[Tableur]{Colonnes=4,Largeur=3,Formule={},Cellule=A1,Ligne=0,Colonne=0,PasL=1,PasC=1} +\setKVdefault[Tableur]{Colonnes=4,Largeur=3,LargeurUn=3,Bandeau=true,Formule={},Cellule=A1,Ligne=0,Colonne=0,PasL=1,PasC=1} -%Basé sur un code de Christian Télléchéa. +%Bas\'e sur un code de Christian T\'ell\'ech\'ea. \makeatletter \newcount\cntlin \newcount\cntcol @@ -13239,7 +13281,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \newtoks\t@b \long\def\ifremain@lines#1\\#2\@nil{% \csname @\ifx\@empty#2\@empty second\else first\fi oftwo\endcsname} -\long\def\subst@eol#1\\#2\@nil{\addtot@b{#1\\\hline}% +\long\def\subst@eol#1\\#2\@nil{\addtot@b{#1\\}% \ifremain@lines#2\\\@nil{\addtot@b&\subst@eol#2\@nil}{\addtot@b{#2\CodeAfter\xintifboolexpr{\useKV[Tableur]{Ligne}=0 || \useKV[Tableur]{Colonne}=0}{}{\tikz\draw[line width=2pt](row-\fpeval{\useKV[Tableur]{Ligne}+1}-|col-\fpeval{\useKV[Tableur]{Colonne}+1}) rectangle (row-\fpeval{\useKV[Tableur]{Ligne}+1+\useKV[Tableur]{PasL}}-|col-\fpeval{\useKV[Tableur]{Colonne}+1+\useKV[Tableur]{PasC}});}\end{NiceTabular}}}} \long\def\collectcp@body#1\end{\subst@eol#1\@nil\end} @@ -13253,34 +13295,36 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \useKVdefault[Tableur]% \setKV[Tableur]{#1}% \ttfamily% - \setlength{\LongInter}{\fpeval{(\useKV[Tableur]{Colonnes}-1)*\useKV[Tableur]{Largeur}-4}em+\fpeval{\useKV[Tableur]{Colonnes}*2-6}\tabcolsep+\fpeval{\useKV[Tableur]{Colonnes}-3}\arrayrulewidth} + \newcolumntype Y{>{\centering\arraybackslash}p{\useKV[Tableur]{LargeurUn}em}}% \newcolumntype X{>{\centering\arraybackslash}p{\useKV[Tableur]{Largeur}em}}% - \begin{tabular}{|p{\useKV[Tableur]{Largeur}em}|p{1em}|p{5em}|p{\LongInter}|} - \cline{1-2}\cline{4-4}% - \useKV[Tableur]{Cellule}&\centering\arraybackslash\scriptsize$\blacktriangledown$&$f_x$\hfill$\sum$~\scriptsize$\blacktriangledown$\hfill$=$&\useKV[Tableur]{Formule}\hfill\scriptsize$\blacktriangledown$\\ - \cline{1-2}\cline{4-4}% - \end{tabular} - + \ifboolKV[Tableur]{Bandeau}{% + \setlength{\LongInter}{\fpeval{\useKV[Tableur]{LargeurUn}+(\useKV[Tableur]{Colonnes}-2)*\useKV[Tableur]{Largeur}-4}em+\fpeval{\useKV[Tableur]{Colonnes}*2-6}\tabcolsep+\fpeval{\useKV[Tableur]{Colonnes}+1}\arrayrulewidth}% + \begin{NiceTabular}{p{\useKV[Tableur]{Largeur}em}p{1em}p{5em}p{\LongInter}}% + \Block[draw]{}{}\useKV[Tableur]{Cellule}&\Block[draw]{}{}\centering\arraybackslash\scriptsize$\blacktriangledown$&$f_x$\hfill$\sum$~\scriptsize$\blacktriangledown$\hfill$=$&\Block[draw]{}{}\useKV[Tableur]{Formule}\hfill\scriptsize$\blacktriangledown$\\ + %\cline{1-2}\cline{4-4}% + \end{NiceTabular}% + \nopagebreak + \\ + }{} \cntlin\z@ \t@b{% \begin{NiceTabular}{% - |>{% + >{% \columncolor{gray!15} - \global\cntcol\z@\global\advance\cntlin\@ne - \centering\arraybackslash - \ifnum\cntlin>\@ne\number\numexpr\cntlin-1\relax\fi} - p{2em}|*{\useKV[Tableur]{Colonnes}}{X|}}% - \hline + \global\cntcol\z@\global\advance\cntlin\@ne + \centering\arraybackslash + \ifnum\cntlin>\@ne\number\numexpr\cntlin-1\relax\fi} + p{2em}Y*{\fpeval{\useKV[Tableur]{Colonnes}-1}}{X}}[hvlines]% \rowcolor{gray!15}}% - \loop - \ifnum\cntcol<\useKV[Tableur]{Colonnes} - \advance\cntcol\@ne - \addtot@b{&}% - \edftot@b{{\noexpand\@Alph\the\cntcol}}% - \repeat - \addtot@b{\\\hline&}% + \loop + \ifnum\cntcol<\useKV[Tableur]{Colonnes} + \advance\cntcol\@ne + \addtot@b{&}% + \edftot@b{{\noexpand\@Alph\the\cntcol}}% + \repeat + \addtot@b{\\&}% \collectcp@body}{\the\t@b} -\makeatother + \makeatother %%% % Domino @@ -13419,8 +13463,8 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \setcounter{nbprog}{0}% \newcommand\ProgCalcul[2][]{% - % #1 : clés - % #2 : étapes + % #1 : cl\'es + % #2 : \'etapes \useKVdefault[ClesProg]% \setKV[ClesProg]{#1}% \setsepchar[*]{,* }\ignoreemptyitems% @@ -13850,7 +13894,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \mplibforcehmode% \myfontScratch% \begin{mplibcode}% - input PfC-Scratch;% + input PfCScratch;% print:=\useKV[Scratch]{Impression};% NumeroteLignes:=\useKV[Scratch]{Numerotation};% \BODY @@ -13863,7 +13907,7 @@ Unite={},Largeur=1cm,Precision=2,Donnee=Valeurs,Effectif=Effectif,Origine=0,Angl \else \NewEnviron{Scratch}[1][]{% \setKV[Scratch]{#1}% - \begin{mpost}[mpsettings={input PfC-Scratch-pdf;print:=\useKV[Scratch]{Impression};NumeroteLignes:=\useKV[Scratch]{Numerotation};Echelle:=\useKV[Scratch]{Echelle};}]% + \begin{mpost}[mpsettings={input PfCScratchpdf;print:=\useKV[Scratch]{Impression};NumeroteLignes:=\useKV[Scratch]{Numerotation};Echelle:=\useKV[Scratch]{Echelle};}]% \BODY picture recap;% recap:=currentpicture scaled Echelle;% diff --git a/macros/latex/contrib/profcollege/metapost/PfC-Afficheur.mp b/macros/latex/contrib/profcollege/metapost/PfC-Afficheur.mp deleted file mode 100644 index 166cd22979..0000000000 --- a/macros/latex/contrib/profcollege/metapost/PfC-Afficheur.mp +++ /dev/null @@ -1,182 +0,0 @@ -u:=1cm; - -vardef Afficheur(expr nb,creux)= - pair Aa[]; - Aa1=u*(-0.5,-1); - Aa2-Aa1=u*(1,0); - Aa4-Aa2=u*(0,2); - Aa3=1/2[Aa2,Aa4]; - Aa5-Aa4=Aa1-Aa2; - Aa6-Aa3=Aa1-Aa2; - pair Bb[]; - Bb1=Aa1 xscaled0.7 yscaled 0.85; - Bb2=Aa2 xscaled0.7 yscaled 0.85; - Bb4=Aa4 xscaled0.7 yscaled 0.85; - Bb5=Aa5 xscaled0.7 yscaled 0.85; - Bb3=1/2[Bb2,Bb4]; - Bb6=1/2[Bb1,Bb5]; - Bb7=1/2[Bb6,Bb3]+(0,4); - Bb8=1/2[Bb6,Bb3]-(0,6); - pair Cc[]; - Cc1=u*(0.4,-0.85)+(0,-1); - ecarth:=1.5; - ecartv:=0.05; - path ASegment[]; - ASegment[1]=1/10[Bb1,Bb2]--9/10[Bb1,Bb2]; - ASegment[2]=1/10[Bb2,Bb3]--9/10[Bb2,Bb3]; - ASegment[3]=1/10[Bb3,Bb4]--9/10[Bb3,Bb4]; - ASegment[4]=1/10[Bb4,Bb5]--9/10[Bb4,Bb5]; - ASegment[5]=1/10[Bb5,Bb6]--9/10[Bb5,Bb6]; - ASegment[6]=1/10[Bb6,Bb1]--9/10[Bb6,Bb1]; - ASegment[7]=1/10[Bb6,Bb3]--9/10[Bb6,Bb3]; - color fondsegment; - fondsegment=0.2[LightSteelBlue,white]; - save $; - picture $; - $=image( - fill Aa1--Aa2--Aa4--Aa5--cycle withcolor LightSteelBlue; - draw Aa1--Aa2--Aa4--Aa5--cycle withcolor LightSteelBlue; - if creux=0: - fill (unitsquare scaled 2) shifted Cc1 withcolor fondsegment; - else: - fill (unitsquare scaled 2) shifted Cc1 withcolor Crimson; - fi; - if nb=1: - drawoptions(withpen pensquare scaled2 withcolor Crimson); - draw ASegment[2]; - draw ASegment[3]; - drawoptions(withpen pensquare scaled2 withcolor fondsegment); - draw ASegment[1]; - draw ASegment[4]; - draw ASegment[5]; - draw ASegment[6]; - draw ASegment[7]; - drawoptions(); - fi; - if nb=2: - drawoptions(withpen pensquare scaled2 withcolor Crimson); - draw ASegment[1]; - draw ASegment[3]; - draw ASegment[4]; - draw ASegment[6]; - draw ASegment[7]; - drawoptions(withpen pensquare scaled2 withcolor fondsegment); - draw ASegment[2]; - draw ASegment[5]; - drawoptions(); - fi; - if nb=3: - drawoptions(withpen pensquare scaled2 withcolor Crimson); - draw ASegment[1]; - draw ASegment[2]; - draw ASegment[3]; - draw ASegment[4]; - draw ASegment[7]; - drawoptions(withpen pensquare scaled2 withcolor fondsegment); - draw ASegment[5]; - draw ASegment[6]; - drawoptions(); - fi; - if nb=4: - drawoptions(withpen pensquare scaled2 withcolor Crimson); - draw ASegment[2]; - draw ASegment[3]; - draw ASegment[5]; - draw ASegment[7]; - drawoptions(withpen pensquare scaled2 withcolor fondsegment); - draw ASegment[1]; - draw ASegment[4]; - draw ASegment[6]; - drawoptions(); - fi; - if nb=5: - drawoptions(withpen pensquare scaled2 withcolor Crimson); - draw ASegment[1]; - draw ASegment[2]; - draw ASegment[4]; - draw ASegment[5]; - draw ASegment[7]; - drawoptions(withpen pensquare scaled2 withcolor fondsegment); - draw ASegment[3]; - draw ASegment[6]; - drawoptions(); - fi; - if nb=6: - drawoptions(withpen pensquare scaled2 withcolor Crimson); - draw ASegment[1]; - draw ASegment[2]; - draw ASegment[4]; - draw ASegment[5]; - draw ASegment[6]; - draw ASegment[7]; - drawoptions(withpen pensquare scaled2 withcolor fondsegment); - draw ASegment[3]; - drawoptions(); - fi; - if nb=7: - drawoptions(withpen pensquare scaled2 withcolor Crimson); - draw ASegment[2]; - draw ASegment[3]; - draw ASegment[4]; - drawoptions(withpen pensquare scaled2 withcolor fondsegment); - draw ASegment[1]; - draw ASegment[5]; - draw ASegment[6]; - draw ASegment[7]; - drawoptions(); - fi; - if nb=8: - drawoptions(withpen pensquare scaled2 withcolor Crimson); - draw ASegment[1]; - draw ASegment[2]; - draw ASegment[3]; - draw ASegment[4]; - draw ASegment[5]; - draw ASegment[6]; - draw ASegment[7]; - drawoptions(); - fi; - if nb=9: - drawoptions(withpen pensquare scaled2 withcolor Crimson); - draw ASegment[1]; - draw ASegment[2]; - draw ASegment[3]; - draw ASegment[4]; - draw ASegment[5]; - draw ASegment[7]; - drawoptions(withpen pensquare scaled2 withcolor fondsegment); - draw ASegment[6]; - drawoptions(); - fi; - if nb=0: - drawoptions(withpen pensquare scaled2 withcolor Crimson); - draw ASegment[1]; - draw ASegment[2]; - draw ASegment[3]; - draw ASegment[4]; - draw ASegment[5]; - draw ASegment[6]; - drawoptions(withpen pensquare scaled2 withcolor fondsegment); - draw ASegment[7]; - drawoptions(); - fi; - if nb=10: - drawoptions(withpen pensquare scaled2 withcolor Crimson); - fill (unitsquare scaled 2) shifted Bb7 withcolor Crimson; - fill (unitsquare scaled 2) shifted Bb8 withcolor Crimson; - drawoptions(withpen pensquare scaled2 withcolor fondsegment); - draw ASegment[1]; - draw ASegment[2]; - draw ASegment[3]; - draw ASegment[4]; - draw ASegment[5]; - draw ASegment[6]; - draw ASegment[7]; - drawoptions(); - fi; - ); - $ -enddef; - -endinput; - diff --git a/macros/latex/contrib/profcollege/metapost/PfC-Calculatrice.mp b/macros/latex/contrib/profcollege/metapost/PfC-Calculatrice.mp deleted file mode 100644 index 92d4d3057d..0000000000 --- a/macros/latex/contrib/profcollege/metapost/PfC-Calculatrice.mp +++ /dev/null @@ -1,201 +0,0 @@ -prologues:=3; - -path carre[]; - -u:=0.5mm; - -vardef BlocAffichage= - for k=0 upto 34: - carre[k]:=(unitsquare scaled u) shifted(u*(k mod 5,5-(k div 5))); - endfor; -enddef; - -vardef Affichage(expr decomp)= - save $; - picture $; - drawoptions(withpen pensquare scaled0.1); - $=image(% - for k=0 upto 34: - if (substring(k,k+1) of decomp)="1": - fill carre[k]; - fi; - endfor; - ); - drawoptions(); - $ -enddef; - -nblignes:=0; - -boolean print; -print:=false; - -color CouleurEcran; -CouleurEcran=(107/255,148/255,107/255); - -boolean Math; -Math=true; - -decahoriz:=0; - -vardef Test(expr cptk,cptnt)= - pair decalage; - if nblignes mod 2=0: - decalage:=u*((20-length(cptnt)+cptk)*6,-8*(nblignes-1)); - else: - decalage:=u*(decahoriz,-8*(nblignes-1)); - decahoriz:=decahoriz+6; - fi; - if substring(cptk,cptk+1) of cptnt="A":draw Affichage("01110100011000110001111111000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="B":draw Affichage("11110100011000111110100011000111110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="C":draw Affichage("01110100011000010000100001000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="D":draw Affichage("11100100101000110001100011001011100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="E":draw Affichage("11111100001000011111100001000011111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="F":draw Affichage("11111100001000011111100001000010000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="G":draw Affichage("01110100011000010111100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="H":draw Affichage("10001100011000111111100011000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="I":draw Affichage("01110001000010000100001000010001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="J":draw Affichage("00111000100001000010000101001001100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="K":draw Affichage("10001100101010011000101001001010001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="L":draw Affichage("10000100001000010000100001000011111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="M":draw Affichage("10001110111010110101100011000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="N":draw Affichage("10001100011100110101100111000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="O":draw Affichage("01110100011000110001100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="P":draw Affichage("11110100011000111110100001000010000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="Q":draw Affichage("01110100011000110001101011001001101") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="R":draw Affichage("11110100011000111110101001001010001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="S":draw Affichage("01111100001000001110000010000111110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="T":draw Affichage("11111001000010000100001000010000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="U":draw Affichage("10001100011000110001100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="V":draw Affichage("10001100011000110001100010101000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="W":draw Affichage("10101101011010110101101011010101010") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="X":draw Affichage("10001100010101000100010101000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="Y":draw Affichage("10001100011000101010001000010000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="Z":draw Affichage("11111000010001000100010001000011111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="a":draw Affichage("00000000000111100001011111000101111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="b":draw Affichage("10000100001011011001100011000111110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="c":draw Affichage("00000000000111010000100001000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="d":draw Affichage("00001000010110110011100011000101111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="e":if Math: - draw Affichage("00000000000000000001101000100010100") shifted(decalage); - decalage:=u*(decahoriz-1,-8*(nblignes-1)); - draw Affichage("00000000001001010101101011010110010") shifted(decalage); - decahoriz:=decahoriz+6; - else: - draw Affichage("00000000000111010001111111000001110") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="@":draw Affichage("00010001000111010001111111000001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="f":draw Affichage("00110010010100011100010000100001000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="g":draw Affichage("00000011111000110001011110000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="h":draw Affichage("10000100001011011001100011000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="i":draw Affichage("00100000000110000100001000010001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="j":if Math=true: - draw Affichage("00011000011110100001000000000000000") shifted(decalage); - else: - draw Affichage("00010000000011000010000101001001100") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="k":if Math=true: - draw Affichage("11100001000100011100000000000000000") shifted(decalage); - else: - draw Affichage("10000100001001010100110001010010010") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="l":if Math=true: - draw Affichage("11100010000010011100000000000000000") shifted(decalage); - else: - draw Affichage("01100001000010000100001000010001110") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="m":draw Affichage("00000000001101010101101011000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="n":draw Affichage("00000000001011011001100011000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="o":draw Affichage("00000000000111010001100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="p":draw Affichage("00000000001111010001111101000010000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="q":if Math=true: - draw Affichage("00000000001111101010010100101010001") shifted(decalage); - else: - draw Affichage("00000000000110110011011110000100001") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="r":draw Affichage("00000000001011011001100001000010000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="s":draw Affichage("00000000000111010000011100000111110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="t":draw Affichage("01000010001110001000010000100100110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="u":draw Affichage("00000000001000110001100011001101101") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="v":if Math=true: - draw Affichage("00111001000010000100101000110000100") shifted(decalage); - else: - draw Affichage("00000000001000110001100010111000100") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="w":draw Affichage("00000000001010110101101011010101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="x":draw Affichage("00000000001000101010001000101010001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="y":draw Affichage("00000000001000110001011110000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="z":draw Affichage("00000000001111100010001000100011111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="0":draw Affichage("01110100011001110101110011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="1":draw Affichage("00100011000010000100001000010001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="2":draw Affichage("01110100010000100010001000100011111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="3":draw Affichage("11111000100010000010000011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="4":draw Affichage("00010001100101010010111110001000010") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="5":draw Affichage("11111100001111000001000011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="6":draw Affichage("00110010001000011110100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="7":draw Affichage("11111000010001000100010000100001000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="8":draw Affichage("01110100011000101110100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="9":draw Affichage("01110100011000101111000010001001100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="!":draw Affichage("00100001000010000100000000000000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="'":draw Affichage("01100001000100000000000000000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="(":draw Affichage("00010001000100001000010000010000010") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=")":draw Affichage("01000001000001000010000100010001000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="*":draw Affichage("00000001001010101110101010010000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="+":draw Affichage("00000001000010011111001000010000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=",":draw Affichage("00000000000000000000011000010001000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="-":draw Affichage("00000000000000011111000000000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=".":draw Affichage("00000000000000000000000000110001100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="/":draw Affichage("00000000010001000100010001000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=":":if Math=true: - draw Affichage("00000000000000000000000000000000000") shifted(decalage); - else: - draw Affichage("00000011000110000000011000110000000") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt=";":if Math=true: - draw Affichage("00000001000000011111000000010000000") shifted(decalage); - else: - draw Affichage("00000011000110000000011000010001000") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="<":draw Affichage("00010001000100010000010000010000010") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="=":draw Affichage("00000000001111100000111110000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=">":draw Affichage("10000010000010000010001000100010000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="?":draw Affichage("01110100010000100010001000000000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="[":draw Affichage("01110010000100001000010000100001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="]":draw Affichage("01110000100001000010000100001001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="`":draw Affichage("01000001000001000000000000000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="|":draw Affichage("00100001000010000100001000010000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=" ":draw Affichage("00000100010101000100010101000100000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="&":draw Affichage("00000100001100011100110001000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="$":draw Affichage("00000000000000100001000010000111111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="^":draw Affichage("00100010101000100000000000000000000") shifted(decalage); - fi; -enddef; - -vardef LCD(text nt)(text rep)(expr NB)= - decahoriz:=0; - nblignes:=nblignes+1; - path Ecran; - Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1))); - fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi; - draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi; - for k=0 upto length(nt)-1: - BlocAffichage; - Test(k,nt); - endfor; - for k=1 upto NB: - nblignes:=nblignes+1; - Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1))); - fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi; - draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi; - endfor; - nblignes:=nblignes+1; - Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1))); - fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi; - draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi; - for k=0 upto length(rep)-1: - BlocAffichage; - Test(k,rep); - endfor; -enddef; - -endinput; diff --git a/macros/latex/contrib/profcollege/metapost/PfC-Calculatriceold.mp b/macros/latex/contrib/profcollege/metapost/PfC-Calculatriceold.mp deleted file mode 100644 index 0140e24b4d..0000000000 --- a/macros/latex/contrib/profcollege/metapost/PfC-Calculatriceold.mp +++ /dev/null @@ -1,195 +0,0 @@ -prologues:=3; - -path carre[]; - -u:=0.5mm; - -vardef BlocAffichage= - for k=0 upto 34: - carre[k]:=(unitsquare scaled u) shifted(u*(k mod 5,5-(k div 5))); - endfor; -enddef; - -vardef Affichage(expr decomp)= - save $; - picture $; - drawoptions(withpen pensquare scaled0.1); - $=image(% - for k=0 upto 34: - if (substring(k,k+1) of decomp)="1": - fill carre[k]; - fi; - endfor; - ); - drawoptions(); - $ -enddef; - -nblignes:=0; - -boolean print; -print:=false; - -color CouleurEcran; -CouleurEcran=(107/255,148/255,107/255); - -boolean Math; -Math=true; - -decahoriz:=0; - -vardef Test(expr cptk,cptnt)= - pair decalage; - if nblignes mod 2=0: - decalage:=u*((20-length(cptnt)+cptk)*6,-8*(nblignes-1)); - else: - decalage:=u*(decahoriz,-8*(nblignes-1)); - decahoriz:=decahoriz+6; - fi; - if substring(cptk,cptk+1) of cptnt="A":draw Affichage("01110100011000110001111111000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="B":draw Affichage("11110100011000111110100011000111110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="C":draw Affichage("01110100011000010000100001000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="D":draw Affichage("11100100101000110001100011001011100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="E":draw Affichage("11111100001000011111100001000011111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="F":draw Affichage("11111100001000011111100001000010000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="G":draw Affichage("01110100011000010111100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="H":draw Affichage("10001100011000111111100011000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="I":draw Affichage("01110001000010000100001000010001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="J":draw Affichage("00111000100001000010000101001001100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="K":draw Affichage("10001100101010011000101001001010001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="L":draw Affichage("10000100001000010000100001000011111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="M":draw Affichage("10001110111010110101100011000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="N":draw Affichage("10001100011100110101100111000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="O":draw Affichage("01110100011000110001100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="P":draw Affichage("11110100011000111110100001000010000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="Q":draw Affichage("01110100011000110001101011001001101") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="R":draw Affichage("11110100011000111110101001001010001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="S":draw Affichage("01111100001000001110000010000111110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="T":draw Affichage("11111001000010000100001000010000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="U":draw Affichage("10001100011000110001100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="V":draw Affichage("10001100011000110001100010101000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="W":draw Affichage("10101101011010110101101011010101010") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="X":draw Affichage("10001100010101000100010101000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="Y":draw Affichage("10001100011000101010001000010000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="Z":draw Affichage("11111000010001000100010001000011111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="a":draw Affichage("00000000000111100001011111000101111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="b":draw Affichage("10000100001011011001100011000111110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="c":draw Affichage("00000000000111010000100001000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="d":draw Affichage("00001000010110110011100011000101111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="e":if Math: - draw Affichage("00000000000000000001101000100010100") shifted(decalage); - decalage:=u*(decahoriz-1,-8*(nblignes-1)); - draw Affichage("00000000001001010101101011010110010") shifted(decalage); - decahoriz:=decahoriz+6; - else: - draw Affichage("00000000000111010001111111000001110") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="@":draw Affichage("00010001000111010001111111000001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="f":draw Affichage("00110010010100011100010000100001000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="g":draw Affichage("00000011111000110001011110000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="h":draw Affichage("10000100001011011001100011000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="i":draw Affichage("00100000000110000100001000010001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="j":if Math=true: - draw Affichage("00011000011110100001000000000000000") shifted(decalage); - else: - draw Affichage("00010000000011000010000101001001100") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="k":if Math=true: - draw Affichage("11100001000100011100000000000000000") shifted(decalage); - else: - draw Affichage("10000100001001010100110001010010010") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="l":if Math=true: - draw Affichage("11100010000010011100000000000000000") shifted(decalage); - else: - draw Affichage("01100001000010000100001000010001110") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="m":draw Affichage("00000000001101010101101011000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="n":draw Affichage("00000000001011011001100011000110001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="o":draw Affichage("00000000000111010001100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="p":draw Affichage("00000000001111010001111101000010000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="q":if Math=true: - draw Affichage("00000000001111101010010100101010001") shifted(decalage); - else: - draw Affichage("00000000000110110011011110000100001") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="r":draw Affichage("00000000001011011001100001000010000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="s":draw Affichage("00000000000111010000011100000111110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="t":draw Affichage("01000010001110001000010000100100110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="u":draw Affichage("00000000001000110001100011001101101") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="v":if Math=true: - draw Affichage("00111001000010000100101000110000100") shifted(decalage); - else: - draw Affichage("00000000001000110001100010111000100") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="w":draw Affichage("00000000001010110101101011010101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="x":draw Affichage("00000000001000101010001000101010001") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="y":draw Affichage("00000000001000110001011110000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="z":draw Affichage("00000000001111100010001000100011111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="0":draw Affichage("01110100011001110101110011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="1":draw Affichage("00100011000010000100001000010001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="2":draw Affichage("01110100010000100010001000100011111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="3":draw Affichage("11111000100010000010000011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="4":draw Affichage("00010001100101010010111110001000010") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="5":draw Affichage("11111100001111000001000011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="6":draw Affichage("00110010001000011110100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="7":draw Affichage("11111000010001000100010000100001000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="8":draw Affichage("01110100011000101110100011000101110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="9":draw Affichage("01110100011000101111000010001001100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="!":draw Affichage("00100001000010000100000000000000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="'":draw Affichage("01100001000100000000000000000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="(":draw Affichage("00010001000100001000010000010000010") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=")":draw Affichage("01000001000001000010000100010001000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="*":draw Affichage("00000001001010101110101010010000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="+":draw Affichage("00000001000010011111001000010000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=",":draw Affichage("00000000000000000000011000010001000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="-":draw Affichage("00000000000000011111000000000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=".":draw Affichage("00000000000000000000000000110001100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="/":draw Affichage("00000000010001000100010001000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=":":if Math=true: - draw Affichage("00000000000000000000000000000000000") shifted(decalage); - else: - draw Affichage("00000011000110000000011000110000000") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt=";":if Math=true: - draw Affichage("00000001000000011111000000010000000") shifted(decalage); - else: - draw Affichage("00000011000110000000011000010001000") shifted(decalage); - fi; - elseif substring(cptk,cptk+1) of cptnt="<":draw Affichage("00010001000100010000010000010000010") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="=":draw Affichage("00000000001111100000111110000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=">":draw Affichage("10000010000010000010001000100010000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="?":draw Affichage("01110100010000100010001000000000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="[":draw Affichage("01110010000100001000010000100001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="]":draw Affichage("01110000100001000010000100001001110") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="`":draw Affichage("01000001000001000000000000000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="|":draw Affichage("00100001000010000100001000010000100") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt=" ":draw Affichage("00000100010101000100010101000100000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="&":draw Affichage("00000100001100011100110001000000000") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="$":draw Affichage("00000000000000100001000010000111111") shifted(decalage); - elseif substring(cptk,cptk+1) of cptnt="^":draw Affichage("00100010101000100000000000000000000") shifted(decalage); - fi; -enddef; - -vardef LCD(text nt)(text rep)= - decahoriz:=0; - nblignes:=nblignes+1; - path Ecran; - Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1))); - fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi; - draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi; - for k=0 upto length(nt)-1: - BlocAffichage; - Test(k,nt); - endfor; - nblignes:=nblignes+1; - Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1))); - fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi; - draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi; - for k=0 upto length(rep)-1: - BlocAffichage; - Test(k,rep); - endfor; -enddef; - -endinput; diff --git a/macros/latex/contrib/profcollege/metapost/PfC-Constantes.mp b/macros/latex/contrib/profcollege/metapost/PfC-Constantes.mp deleted file mode 100644 index 02895dcf8c..0000000000 --- a/macros/latex/contrib/profcollege/metapost/PfC-Constantes.mp +++ /dev/null @@ -1,20 +0,0 @@ -%Constantes -u:=1cm; -v:=(sqrt3)/2; -pi:=3.141592654; -e:=2.718281828; -c:=57.29578; % conversion d'un radian en degres -color rouge,vert,bleu,jaune,noir,blanc,orange,rose,violet,ciel,cielfonce,orangevif,gris; -rouge=(1,0,0); -bleu=(0,0,1); -noir=(0,0,0); -blanc=(1,1,1); -orange=(1,0.5,0); -violet=blanc-vert; -rose=(1,0.7,0.7); -cielfonce=0.9*(0.25,1,1); -ciel=bleu+vert; -orangevif=(1,0.25,0.1); -vert=(0,1,0); -jaune=rouge+vert; -gris=0.8*white; diff --git a/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp b/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp deleted file mode 100644 index 222df57419..0000000000 --- a/macros/latex/contrib/profcollege/metapost/PfC-Geometrie.mp +++ /dev/null @@ -1,1206 +0,0 @@ -%=============================================== -%% PfC-Geometrie -%% christophe.poulain@melusine.eu.org -%%=============================================== -%------------------------------------------------ -% Appel fichier -%------------------------------------------------ -%input PfC-Constantes; -%------------------------------------------------ -% La figure (debut et fin) JMS/CP -%------------------------------------------------ -path feuillet; -numeric _tfig,_nfig; -_tfig:=5cm; -_nfig:=0; -pair coinbg,coinbd,coinhd,coinhg; - -string typetrace; -typetrace="normal"; - -def feuille(expr xa,ya,xb,yb) = - feuillet := (xa,ya)--(xa,yb)--(xb,yb)--(xb,ya)--cycle; - coinbg := (xa,ya); - coinbd := (xb,ya); - coinhd := (xb,yb); - coinhg := (xa,yb); - %modifie le 29.09.04 - z.so=(xpart(coinbg/1cm),ypart(coinbg/1cm)); - z.ne=(xpart(coinhd/1cm),ypart(coinhd/1cm)); - %fin modification - extra_endfig := "clip currentpicture to feuillet;" & extra_endfig; -enddef; - -def Figure(expr xa,ya,xb,yb) = - feuille(xa,ya,xb,yb); - _tfig:= if (xb-xa)>(yb-ya): xb-xa else: yb-ya fi; - _tfig:=2*_tfig; -enddef; - -%%----------------------------------------------- -%% Les marques (JMS) -%%----------------------------------------------- -string marque_p; -marque_p := "non"; -marque_r := 20; -marque_a := 20; -marque_s := 5; -marque_ang := 10; -m_c := 10 ;%Pour la croix du marquage des points - -%------------------------------------------------ -% Les tables -%------------------------------------------------ -numeric _tn; -_tn:=0; -pair _t[]; -color _T[]; - -%%----------------------------------------------- -%% Procedures d'affichage -%%----------------------------------------------- -def MarquePoint(expr p)= - if typetrace="3D": - %JMS - if marque_p = "plein": - fill fullcircle scaled (marque_r/5) shifted Projette(p); - elseif marque_p = "creux": - fill fullcircle scaled (marque_r/5) shifted (Projette(p)) withcolor white; - draw fullcircle scaled (marque_r/5) shifted (Projette(p)); - %fin JMS - elseif marque_p = "croix": - draw (Projette(p) shifted (-u/10,u/10))--(Projette(p) shifted (u/10,-u/10)); - draw (Projette(p) shifted (-u/10,-u/10))--(Projette(p) shifted (u/10,u/10)); - elseif marque_p = "tiretv": - draw (Projette(p) shifted (0,u/10))--(Projette(p) shifted(0,-u/10)); - elseif marque_p = "tireth": - draw (Projette(p) shifted (u/10,0))--(Projette(p) shifted(-u/10,0)); - fi; - else: - if marque_p = "plein": - fill fullcircle scaled (marque_r/5) shifted p; - elseif marque_p = "creux": - fill fullcircle scaled (marque_r/5) shifted p withcolor white; - draw fullcircle scaled (marque_r/5) shifted p; - elseif marque_p = "croix": - draw (p shifted (-u/m_c,u/m_c))--(p shifted (u/m_c,-u/m_c)); - draw (p shifted (-u/m_c,-u/m_c))--(p shifted (u/m_c,u/m_c)); - elseif marque_p = "tiretv": - draw (p shifted (0,u/10))--(p shifted(0,-u/10)); - elseif marque_p = "tireth": - draw (p shifted (u/10,0))--(p shifted(-u/10,0)); - fi; - fi; -enddef; - -vardef pointe(text t) = - for p_ = t: if (pair p_) or (color p_): MarquePoint(p_); fi endfor; -enddef; - -%------------------------------------------------ -% Points -%------------------------------------------------ -%JMS -vardef iso(text t) = - save s,n; numeric n; - if typetrace="3D": - color s; s := (0,0,0) ; n := 0; - for p_ = t: s := s + p_; n := n + 1 ; endfor; - else: - pair s; s := (0,0) ; n := 0; - for p_ = t: s := s + p_; n := n + 1 ; endfor; - fi; - if n>0: (1/n)*s fi -enddef; - -vardef milieu(expr AA,BB)= - save $; - pair $; - if typetrace="mainlevee": - $=point((length segment(AA,BB))*(1/2+(-1+uniformdeviate(2))/10)) of segment(AA,BB) - else: - $=iso(AA,BB) - fi; - $ -enddef; - -vardef CentreCercleI(expr aa,bb,cc)= - save $,a,c; - pair $; - numeric a,c; - a=(angle(aa-cc)-angle(bb-cc))/2; - c=(angle(cc-bb)-angle(aa-bb))/2; - ($-cc) rotated a shifted cc=whatever[aa,cc]; - ($-bb) rotated c shifted bb=whatever[bb,cc]; - $ -enddef; - -%------------------------------------------------ -% Cercles -%------------------------------------------------ -%Cercle connaissant le centre A et le rayon q -vardef cercle(expr aa, q)=fullcircle scaled (2*q) shifted aa -enddef; -%Cercle de centre A et passant par B -vardef cerclepoint(expr aa,bb)=fullcircle scaled (2*abs(aa-bb)) shifted aa -enddef; -%Cercle connaissant le diametre [AB] -vardef cercledia(expr aa,bb)=cercles(iso(aa,bb),bb) - %fullcircle scaled (2*abs(1/2[aa,bb]-bb)) shifted (1/2[aa,bb]) -enddef; -%Cercles complets -vardef cercles(text t)= - save Cer; - save n; - n:=0; - for p_=t: - if pair p_: - n:=n+1; - _t[n]:=p_; - fi - if numeric p_: - rayon:=p_; - fi; - if color p_: - n:=n+1; - _T[n]:=p_; - fi; - endfor; - if typetrace="3D":%centre aa passant par bb dans le plan (ccddee) généralement aa=cc - path Cer; - color ptcer[]; - for k=0 step 5 until 360 : - ptcer[k div 5]-_T[1]=Distance(_T[1],_T[2])*((_T[4]-_T[3])*cosd(k)/Distance(_T[3],_T[4])+(_T[5]-_T[3])*sind(k)/Distance(_T[3],_T[5])); - endfor; - Cer=Projette(ptcer0) - for k=0 step 5 until 360 : - ..Projette(ptcer[k div 5]) - endfor - ..cycle; - else: - path Cer; - if n=1 : Cer=fullcircle scaled (2*rayon) shifted _t[1]; - elseif n=2 : Cer=fullcircle scaled (2*abs(_t[1]-_t[2])) shifted _t[1]; - elseif n=3 : Cer=cercles(CentreCercleC(_t[1],_t[2],_t[3]),_t[1]); - fi - fi - Cer -enddef; - -%Point particulier sur le cercle -vardef pointarc(expr cercla,angle)= - point(arctime((angle/360)*arclength cercla) of cercla) of cercla -enddef; - -%Arc de cercle AB de centre 0(dans le sens direct) : les points A et B doivent etre sur le cercle. -vardef arccercle(expr aa,bb,oo)= - path tempo; - path arc; - tempo=fullcircle scaled (2*abs(aa-oo)) shifted oo; - if (angle(aa-oo)=0) or (angle(aa-oo)>0) : - if (angle(bb-oo)=0) or (angle(bb-oo)>0): - if (angle(aa-oo)0): - arc=subpath(length tempo+angle(aa-oo)*(length tempo)/360,length tempo+angle(bb-oo)*(length tempo)/360) of tempo; - elseif (angle(bb-oo)<0): - if (angle(aa-oo)=angle(bb-oo)) or (angle(aa-oo)(-1,-1): - draw support shifted (ecart*j*(u,0)); - fi - endfor; - ); - clip $ to chemin; - drawoptions(); - $ -enddef; -%fleche pour coter un segment [AB] (Jacques Marot) -vardef cotation(expr aa,bb,ecart,decalage,cote)= - pair m[] ; - save $; - picture $; - m3=unitvector(bb-aa) rotated 90; - m1=aa+ecart*m3; - m2=bb+ecart*m3; - $=image( - pickup pencircle scaled 0.2bp; - drawdblarrow m1--m2 ; - draw aa--m1 dashed evenly; - draw bb--m2 dashed evenly; - label(cote rotated angle(m2-m1),(m1+m2)/2+decalage*m3); - ); - $ -enddef; - -vardef appelation(expr aa,bb,decalage,cote)= - save $; - pair m[],AA,BB; - if color aa: - AA=Projette(aa); - else: - AA=aa; - fi; - if color bb: - BB=Projette(bb); - else: - BB=bb; - fi; - m3=unitvector(BB-AA) rotated 90; - picture $; - $=image( - label(cote rotated angle(BB-AA),(BB+AA)/2+decalage*m3); - ); - $ -enddef; - -vardef cotationmil(expr aa,bb,ecart,decalage,cote)= %Christophe - pair m[],AA,BB; - save $; - picture cot; - if color aa: - AA=Projette(aa) - else: - AA=aa - fi; - if color bb: - BB=Projette(bb) - else: - BB=bb - fi; - m3=unitvector(BB-AA) rotated 90; - m1=AA+ecart*m3; - m2=BB+ecart*m3; - cot=image( - pickup pencircle scaled 0.2bp; - drawarrow (1/2[m1,m2]+decalage*unitvector(m1-m2))--m1; - drawarrow (1/2[m1,m2]-decalage*unitvector(m1-m2))--m2; - draw AA--m1 dashed evenly; - draw BB--m2 dashed evenly; - label(cote rotated angle(m2-m1),(m1+m2)/2); - ); - cot -enddef; - -%%%%%%%%%% -%francisation -%%%%%%%%% -def trace expr o = - if path o: draw o else: draw o fi -enddef; -def remplis expr o = - if path o: fill o else: fill o fi -enddef; - -%3D - basé sur donymodule -color Sommet[]; - -color Co[]; -Co0=jaune; -Co1=violet; -Co2=orange; -Co3=ciel; -Co4=vert; -Co5=bleu; -Co6=rouge; - -string pointilles; - -string typerepre; -typerepre:="proj"; - -%generalite -vardef Projette(expr X)= - pair $; - Xobs := -redpart(X)*Aux1 + greenpart(X)*Aux3; - Yobs := -redpart(X)*Aux5 - greenpart(X)*Aux6 + bluepart(X)*Aux4; - if typerepre="proj": - Zobs := -redpart(X)*Aux7 - greenpart(X)*Aux8 - bluepart(X)*Aux2 + Rho; - XProj := DE*Xobs/Zobs; - YProj := DE*Yobs/Zobs; - elseif typerepre="persp": - XProj := DE*Xobs; - YProj := DE*Yobs; - fi; - $=(XProj,YProj); - $ -enddef; - -vardef Initialisation(expr r,t,p,d)= - Rho:=r; - Theta:=t; - Phi:=p; - DE:=d; - Aux1:=sind(Theta); - Aux2:=sind(Phi); - Aux3:=cosd(Theta); - Aux4:=cosd(Phi); - Aux5:=Aux3*Aux2; - Aux6:=Aux1*Aux2; - Aux7:=Aux3*Aux4; - Aux8:=Aux1*Aux4; - pointilles:="oui"; -enddef; - -%vues cachees - -vardef Face(text t)= - j:=0; - for p_=t : - if numeric p_: - a[j]:=p_; - j:=j+1; - fi; - endfor; - for k=1 upto (j-1): - Fc[a0*100+(k-1)]:=a[k]; - endfor; -enddef; - -vardef Oeil=(Rho*Aux7,Rho*Aux8,Rho*Aux2) -enddef; - -vardef Vision(expr num)= - save bb; - color bb; - bb=(redpart(Oeil-Sommet[num]),greenpart(Oeil-Sommet[num]),bluepart(Oeil-Sommet[num])); - bb -enddef; - -vardef Normal(expr vecun,vecde,vectr)= - save aa; - color aa; - P1:=redpart(vecde-vecun); - P2:=greenpart(vecde-vecun); - P3:=bluepart(vecde-vecun); - Q1:=redpart(vectr-vecun); - Q2:=greenpart(vectr-vecun); - Q3:=bluepart(vectr-vecun); - aa=(P2*Q3-Q2*P3,P3*Q1-Q3*P1,P1*Q2-Q1*P2); - aa -enddef; - -vardef ProduitScalaire(expr wec,mor)= - redpart(wec)*redpart(mor)+greenpart(wec)*greenpart(mor)+bluepart(wec)*bluepart(mor) -enddef; - -vardef Distance(expr aa,bb)=%Entre deux points - sqrt((redpart(bb)-redpart(aa))*(redpart(bb)-redpart(aa))+(greenpart(bb)-greenpart(aa))*(greenpart(bb)-greenpart(aa))+(bluepart(bb)-bluepart(aa))*(bluepart(bb)-bluepart(aa))) -enddef; - -vardef Module(expr aa)=%module d'un vecteur -sqrt((redpart(aa))**2+(greenpart(aa))**2+(bluepart(aa)**2)) -enddef; - -color CoulTrace; -CoulTrace=black; - -vardef DessineObjet= - for l=1 upto NF: - color cc,dd; - dd=Vision(Fc[l*100+1]); - cc=Normal(Sommet[Fc[l*100+1]],Sommet[Fc[l*100+2]],Sommet[Fc[l*100+3]]); - if (ProduitScalaire(dd,cc)<0): - if pointilles="oui": - drawoptions(dashed dashpattern(on3pt off6pt) withcolor CoulTrace); - trace for k=1 upto Fc[100*l]: - Projette(Sommet[Fc[100*l+k]])-- - endfor - cycle; - fi; - else: - trace for k=1 upto Fc[100*l]: - Projette(Sommet[Fc[100*l+k]])-- - endfor - cycle withcolor CoulTrace; - fi; - drawoptions(); - endfor; -enddef; - -%%Transformations - -%Translations - -vardef TranslateSommets(expr v)= - for k=1 upto NbS: - Sommet[k]:=Sommet[k]+v; - endfor; -enddef; - -vardef SymetriePlanZ(expr vv)= - for k=1 upto NbS: - w:=vv-bluepart(Sommet[k]); - Sommet[k]:=(redpart(Sommet[k]),greenpart(Sommet[k]),w); - endfor; -enddef; - -vardef IntersectionDroite(expr aa,bb,cc,dd)= - save tt; - color tt; - tt=whatever[aa,bb]; - tt=whatever[cc,dd]; - tt -enddef; - -%%denis Roegel---------- -vardef Intersectionplandroite(expr aa,bb,cc,dd,ee)= - save int; - boolean int; - color gg,caaa[]; - caaa3=Normal(aa,bb,cc)/Module(Normal(aa,bb,cc)); - caaa1=aa-dd; - caaa2=ee-dd; - if ProduitScalaire(caaa2,caaa3)<>0: - caaa4=caaa2*(ProduitScalaire(caaa1,caaa3)/ProduitScalaire(caaa2,caaa3)); - int:=true; - else: % the line is parallel to the plane - int:=false; - fi; - int -enddef; - -vardef IntersectionPlanDroite(expr aa,bb,cc,dd,ee)=%plan (aa,bb,cc) droite(dd,ee) - if Intersectionplandroite(aa,bb,cc,dd,ee): - gg=dd+caaa4; - fi; - gg -enddef; - -vardef ProjectionsurPlan(expr aa,bb,cc,dd)=%Projection du point aa sur le plan (bbccdd) - save di,vc; - color va,vb,vc; - va=Normal(bb,cc,dd)/Module(Normal(bb,cc,dd)); - vb=aa-bb; - di=-ProduitScalaire(vb,va); - va:=di*va; - vb:=vb+va; - vc=bb+vb; - vc -enddef; - -vardef Intersectionplanplan(expr AA,BB,CC,DD,EE,FF)=%besoin pour la suite - color trial[]; - path INTer; - if Intersectionplandroite(DD,EE,FF,AA,BB): - trial1=IntersectionPlanDroite(DD,EE,FF,AA,BB); - else:% there is no intersection or the intersection is the line - trial1=IntersectionPlanDroite(DD,EE,FF,AA,1/2[BB,CC]); - fi; - if Intersectionplandroite(DD,EE,FF,AA,CC): - trial2=IntersectionPlanDroite(DD,EE,FF,AA,CC); - else:% there is no intersection or the intersection is the line - trial2=IntersectionPlanDroite(DD,EE,FF,CC,1/2[BB,AA]);%modif de cp - fi; - %INTer=segment(10[trial1,trial2],10[trial2,trial1]); - INTer=droite(trial1,trial2); - INTer -enddef; - -vardef IntersectionPlanPlan(expr aa,bb,cc,dd,ee,ff)= - %a verifier - save da,db,dc,int,INTER; - boolean int; - path INTER; - da=Module(aa-ProjectionsurPlan(aa,dd,ee,ff)); - %show da; - db=Module(bb-ProjectionsurPlan(bb,dd,ee,ff)); - %show db; - dc=Module(cc-ProjectionsurPlan(cc,dd,ee,ff)); - %show dc; - if (da=db) and (db=dc): % the two planes are parallel - int:=false; - else: - int:=true; - if (da=db): - INTER=droite(aa,bb); - elseif (db=dc): - INTER=droite(bb,cc); - elseif (dc=da): - INTER=droite(cc,aa); - elseif (da>=db) and (da>=dc): - INTER=Intersectionplanplan(aa,bb,cc,dd,ee,ff); - elseif (db>=da) and (db>=dc): - INTER=Intersectionplanplan(bb,cc,aa,dd,ee,ff); - elseif (dc>=da) and (dc>=db): - INTER=Intersectionplanplan(cc,aa,bb,dd,ee,ff); - fi; - fi; - INTER -enddef; -%%--------------------- - -%Cube -numeric arete; -arete=1; - -vardef Cube(text t)= - picture cub; - cub=image( - NbS:=8; - Sommet1:=(arete,0,0); - Sommet2:=(arete,arete,0); - Sommet3:=(0,arete,0); - Sommet4:=(0,0,0); - Sommet5:=(0,0,arete); - Sommet6:=(arete,0,arete); - Sommet7:=(arete,arete,arete); - Sommet8:=(0,arete,arete); -%%Faces - NF:=6; - Fc[100]:=4;Fc[101]:=1;Fc[102]:=4;Fc[103]:=3;Fc[104]:=2; - Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; - Fc[300]:=4;Fc[301]:=1;Fc[302]:=6;Fc[303]:=5;Fc[304]:=4; - Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; - Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; - Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; - DessineObjet; - k:=1; - for p_=t: - if color p_: - p_=Sommet[k]; - k:=k+1; - fi - endfor; - ); -cub -enddef; - -vardef cube= - typetrace:="3D"; - typerepre:="persp"; - Initialisation(1500,30,20,100); - picture cub; - cub=image( - NbS:=8; - Sommet1:=(arete,0,0); - Sommet2:=(arete,arete,0); - Sommet3:=(0,arete,0); - Sommet4:=(0,0,0); - Sommet5:=(0,0,arete); - Sommet6:=(arete,0,arete); - Sommet7:=(arete,arete,arete); - Sommet8:=(0,arete,arete); -%%Faces - NF:=6; - Fc[100]:=4;Fc[101]:=1;Fc[102]:=4;Fc[103]:=3;Fc[104]:=2; - Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; - Fc[300]:=4;Fc[301]:=1;Fc[302]:=6;Fc[303]:=5;Fc[304]:=4; - Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; - Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; - Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; - DessineObjet; - ); - cub -enddef; - -%Cube -vardef Paveh(text t)= - picture paveh; - paveh=image( - NbS:=8; - Sommet1:=(0.75,0,0); - Sommet2:=(0.75,1.5,0); - Sommet3:=(0,1.5,0); - Sommet4:=(0,0,0); - Sommet5:=(0,0,1); - Sommet6:=(0.75,0,1); - Sommet7:=(0.75,1.5,1); - Sommet8:=(0,1.5,1); -%%Faces - NF:=6; - Fc[100]:=4;Fc[101]:=1;Fc[102]:=4;Fc[103]:=3;Fc[104]:=2; - Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; - Fc[300]:=4;Fc[301]:=1;Fc[302]:=6;Fc[303]:=5;Fc[304]:=4; - Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; - Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; - Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; - DessineObjet; - k:=1; - for p_=t: - if color p_: - p_=Sommet[k]; - k:=k+1; - fi - endfor; - ); -paveh -enddef; - -%Cube -vardef Pavev(text t)= - picture pavev; - pavev=image( - NbS:=8; - Sommet1:=(1,0,0); - Sommet2:=(1,0.75,0); - Sommet3:=(0,0.75,0); - Sommet4:=(0,0,0); - Sommet5:=(0,0,1.5); - Sommet6:=(1,0,1.5); - Sommet7:=(1,0.75,1.5); - Sommet8:=(0,0.75,1.5); -%%Faces - NF:=6; - Fc[100]:=4;Fc[101]:=1;Fc[102]:=4;Fc[103]:=3;Fc[104]:=2; - Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; - Fc[300]:=4;Fc[301]:=1;Fc[302]:=6;Fc[303]:=5;Fc[304]:=4; - Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; - Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; - Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; - DessineObjet; - k:=1; - for p_=t: - if color p_: - p_=Sommet[k]; - k:=k+1; - fi - endfor; - ); -pavev -enddef; - -vardef Pave(text t)(expr aa,bb,cc)= - picture pave; - pave=image( - NbS:=8; - Sommet1:=(aa,0,0); - Sommet2:=(aa,bb,0); - Sommet3:=(0,bb,0); - Sommet4:=(0,0,0); - Sommet5:=(0,0,cc); - Sommet6:=(aa,0,cc); - Sommet7:=(aa,bb,cc); - Sommet8:=(0,bb,cc); -%%Faces - NF:=6; - Fc[100]:=4;Fc[101]:=4;Fc[102]:=3;Fc[103]:=2;Fc[104]:=1; - Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; - Fc[300]:=4;Fc[301]:=4;Fc[302]:=1;Fc[303]:=6;Fc[304]:=5; - Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; - Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; - Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; - DessineObjet; - k:=1; - for p_=t: - if color p_: - p_=Sommet[k]; - k:=k+1; - fi - endfor; - ); -pave -enddef; - -vardef pave(expr aa,bb,cc)= - typetrace:="3D"; - typerepre:="persp"; - Initialisation(1500,30,20,100); - picture PAVE; - PAVE=image( - NbS:=8; - Sommet1:=(aa,0,0); - Sommet2:=(aa,bb,0); - Sommet3:=(0,bb,0); - Sommet4:=(0,0,0); - Sommet5:=(0,0,cc); - Sommet6:=(aa,0,cc); - Sommet7:=(aa,bb,cc); - Sommet8:=(0,bb,cc); -%%Faces - NF:=6; - Fc[100]:=4;Fc[101]:=4;Fc[102]:=3;Fc[103]:=2;Fc[104]:=1; - Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; - Fc[300]:=4;Fc[301]:=4;Fc[302]:=1;Fc[303]:=6;Fc[304]:=5; - Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; - Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; - Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; - DessineObjet; - ); - PAVE -enddef; - -vardef Tetraedrer(text t)= - picture tetrar; - tetrar=image( - %Sommets - NbS:=4; - Sommet1:=(0,0,1); - Sommet2:=(-0.4714045,-0.8164965,-1/3); - Sommet3:=(0.942809,0,-1/3); - Sommet4:=(-0.4714045,0.8164965,-1/3); - %Faces - NF:=4; - Fc[100]:=3;Fc[101]:=1;Fc[102]:=2;Fc[103]:=3; - Fc[200]:=3;Fc[201]:=1;Fc[202]:=3;Fc[203]:=4; - Fc[300]:=3;Fc[301]:=1;Fc[302]:=4;Fc[303]:=2; - Fc[400]:=3;Fc[401]:=2;Fc[402]:=4;Fc[403]:=3; - DessineObjet; - k:=1; - for p_=t: - if color p_: - p_=Sommet[k]; - k:=k+1; - fi - endfor; - ); - tetrar -enddef; - -endinput; diff --git a/macros/latex/contrib/profcollege/metapost/PfC-LaTeX.mp b/macros/latex/contrib/profcollege/metapost/PfC-LaTeX.mp deleted file mode 100644 index 33d9848b63..0000000000 --- a/macros/latex/contrib/profcollege/metapost/PfC-LaTeX.mp +++ /dev/null @@ -1,15 +0,0 @@ -vardef LATEX primary s = - write "verbatimtex" to "mptextmp.mp"; - write "%&latex" to "mptextmp.mp"; - write "\documentclass[]{article}" to "mptextmp.mp"; - write "\usepackage{ProfCollege}" to "mptextmp.mp"; - write "\usepackage[utf8]{inputenc}" to "mptextmp.mp"; - write "\usepackage[T1]{fontenc}" to "mptextmp.mp"; - write "\usepackage{fourier}" to "mptextmp.mp"; - write "\usepackage[french]{babel}" to "mptextmp.mp"; - write "\begin{document}" to "mptextmp.mp"; - write "etex" to "mptextmp.mp"; - write "btex "&s&" etex" to "mptextmp.mp"; - write EOF to "mptextmp.mp"; - scantokens "input mptextmp" -enddef; diff --git a/macros/latex/contrib/profcollege/metapost/PfC-Scratch-pdf.mp b/macros/latex/contrib/profcollege/metapost/PfC-Scratch-pdf.mp deleted file mode 100644 index f3800b3d99..0000000000 --- a/macros/latex/contrib/profcollege/metapost/PfC-Scratch-pdf.mp +++ /dev/null @@ -1,3378 +0,0 @@ -%%%%% epaisseur de tracés %%%%%%%% -numeric eppen; -eppen=0.25; - -pickup pencircle scaled eppen; -defaultpen := savepen; - -%points pour placer les différents éléments -pair _coinprec;%coinbasgauche de la boite précédente -pair _coincom;%coinbasdroite de la boite afin d'y mettre des commentaires -pair _coinnum;%milieu côté gauche pour placer la numérotation des lignes - -%paramètres -numeric Nblignes; Nblignes:=1; -pair DebutListe; DebutListe=(0,0); -boolean NumeroteLignes; NumeroteLignes=false; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% couleurs -color CoulLignes; CoulLignes:=black; -color ColBloc; % alias des couleurs de bloc - -vardef LATEXSCRATCH primary s = - write "verbatimtex" to "mptextmp.mp"; - write "%&latex" to "mptextmp.mp"; - write "\documentclass[12pt]{article}" to "mptextmp.mp"; - write "\usepackage{ProfCollege}" to "mptextmp.mp"; - write "\usepackage[utf8]{inputenc}" to "mptextmp.mp"; - write "\usepackage[T1]{fontenc}" to "mptextmp.mp"; - write "\usepackage[sfdefault,lf]{carlito}" to "mptextmp.mp"; - write "\usepackage{pifont}" to "mptextmp.mp"; -% write "\usepackage[french]{babel}" to "mptextmp.mp"; -% write "\usepackage[autolanguage]{numprint}" to "mptextmp.mp"; -% write "\usepackage{amssymb}" to "mptextmp.mp"; -% write "\usepackage{amsmath}" to "mptextmp.mp"; -% write "\usepackage{mathrsfs}" to "mptextmp.mp"; -% write "\usepackage{xcolor}" to "mptextmp.mp"; -% write "\usepackage{calc}" to "mptextmp.mp"; -% write "\newlength{\longbarreheight}" to "mptextmp.mp"; -% write "\setlength{\longbarreheight}{2.1ex+3pt}" to "mptextmp.mp"; -% write "\newlength{\longbarredepth}" to "mptextmp.mp"; -% write "\setlength{\longbarredepth}{0.9ex+3pt}" to "mptextmp.mp"; -% write "\def\longbarre{\vrule height\longbarreheight depth\longbarredepth width0pt}" to "mptextmp.mp"; -% write "\usepackage{graphicx}" to "mptextmp.mp"; -% write "\def\barre{\vrule height2.1ex depth.9ex width0pt}" to "mptextmp.mp"; -% write "\def\demibarre{\vrule height1.4ex depth.6ex width0pt}" to "mptextmp.mp"; - write "\begin{document}" to "mptextmp.mp"; - write "etex" to "mptextmp.mp"; - write "btex "&s&" etex" to "mptextmp.mp"; - write EOF to "mptextmp.mp"; - scantokens "input mptextmp" -enddef; - - -%Version3 -color BleuMouvTrois,dBleuMouvTrois,VioletAppTrois,dVioletAppTrois,OrangeConTrois,OrangeTrois,OrangeListTrois,SonTrois,DSonTrois,EvenementTrois,CapteurTrois,StyloTrois,BlocTrois,BlocDefTrois,BlocDefLigneTrois,MessageTrois,ControleTrois,CapFonceTrois,CloneTrois,FondSonTrois,OvalStyloTrois,FondOvalOp; -BleuMouvTrois=(76/255,151/255,255/255); -dBleuMouvTrois=(66/255,128/255,215/255); -VioletAppTrois=(153/255,102/255,255/255); -dVioletAppTrois=(133/255,92/255,214/255); -OrangeConTrois=(255/255,171/255,25/255); -OrangeTrois=(255/255,140/255,26/255); -OrangeListTrois=(255/255,102/255,26/255); -SonTrois=(207/255,99/255,207/255); -DSonTrois=(201/255,79/255,201/255); -FondSonTrois=(15/255,189/255,140/255); -EvenementTrois=(255/255,191/255,0); -MessageTrois=(230/255,172/255,0); -CapteurTrois=(92/255,177/255,214/255); -CapFonceTrois=(71/255,168/255,209/255); -StyloTrois=(15/255,189/255,140/255); -OvalStyloTrois=(13/255,165/255,122/255); -BlocTrois=(255/255,102/255,128/255); -BlocDefTrois=(255/255,77/255,106/255); -BlocDefLigneTrois=(255/255,51/255,85/255); -ControleTrois=(255/255,171/255,25/255); -CloneTrois=(236/255,156/255,19/255); -FondOvalOp=(89/255,192/255,89/255); - -vardef FondOvalAppMenu= - save $; color $; - $=dVioletAppTrois; - $ -enddef; - -%%%%Alias -def Place expr o = - if path o: draw o else: draw o fi -enddef; - -%impression -boolean print; -print=false; - -numeric coefprint; -coefprint:=0.95; - -%texte ou symbole droite gauche -boolean symbole; -symbole=true; - -%divers -numeric eb;%ecart boite-texte -eb:=3pt; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Création des boites -ecrt:=eb/2;%largeur de la bordure de départ des boites Box, OValBox... - -vardef Box(text t)= - save $; path $; - picture ox; - ox=image( - if string t: - string demitt; - demitt=t&"\barre"; - label(LATEXSCRATCH(demitt),(0,0)); - else: - draw t; - fi; - ); - $=(llcorner ox+(0,-ecrt))--(lrcorner ox+(0,-ecrt))--(urcorner ox+(0,ecrt))--(ulcorner ox+(0,ecrt))--cycle; - $ -enddef; - -vardef RecBox(text t)= - save $; path $; path xo; - if string t: - string demit; - demit=t&"\demibarre"; - xo=Box(demit);%on crée la boite contenant le texte - else: - xo=Box(t); - fi; - $=(llcorner xo+(-eb,eb)){dir-90}..{dir0}(llcorner xo)--(lrcorner xo){dir0}..{dir90}(lrcorner xo+(eb,eb))--(urcorner xo+(eb,-eb)){dir90}..{dir180}(urcorner xo)--(ulcorner xo){dir180}..{dir-90}(ulcorner xo+(-eb,-eb))--cycle; - $ -enddef; - -%%%%%%%%%%%%%% - -%%%%%%% Boites Ovales %%%%%%%% -vardef OvalBox(text t)= - save $; path $; path xo; - if string t: - string demit; - demit=t&"\barre"; - xo=Box(demit);%on crée la boite contenant le texte - else: - xo=Box(t); - fi; - $=(llcorner xo+(eb,0))--(lrcorner xo-(eb,0)){dir0}..{dir180}(urcorner xo+(-eb,0))--(ulcorner xo+(eb,0)){dir180}..{dir0}cycle;%on "arrondit" la boite - $ -enddef; - -vardef OvalVar(expr ar)= - save Ovar; picture Ovar; - save TAvar; path TAvar; - string TTv; - TTv=ar&"\barre"; - TAvar=OvalBox(TTv); - Ovar=image( - fill TAvar if print=false : withcolor OrangeTrois else : withcolor white fi; - draw TAvar if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH("\barre\bfseries "&ar),(0,0)) if print=false : withcolor white fi; - ); - Ovar:=Ovar shifted(-center Ovar); - Ovar -enddef; - -vardef OvalList(text listelist)= - save CList; picture CList; - path TAlist; picture LOCMt; - LOCMt=ColleBoxNew(listelist); - TAlist=OvalBox(LOCMt); - CList=image( - fill TAlist if print=false : withcolor OrangeListTrois else : withcolor white fi; - draw LOCMt; - draw TAlist if print=false : withcolor coefprint*white fi; - ); - CList:=CList shifted(-center CList); - CList -enddef; - -vardef OvalBloc(expr ar)= - save $; picture $; - path tabloc; - tabloc=OvalBox(ar); - $=image( - fill tabloc if print=false : withcolor BlocTrois else: withcolor white fi; - draw tabloc if print=true : withcolor black else: withcolor BlocDefLigneTrois fi; - label(LATEXSCRATCH("\bfseries\barre "&ar),(0,0)) if print=false : withcolor blanc fi; - ); - $ -enddef; - -vardef OvalMiniBox(text t)= - save $; path $; path xo; - if string t: - string demit; - demit=t&"\demibarre"; - xo=Box(demit);%on crée la boite contenant le texte - else: - xo=Box(t); - fi; - $=(llcorner xo+(eb/2,0))--(lrcorner xo-(eb/2,0)){dir0}..{dir180}(urcorner xo+(-eb/2,0))--(ulcorner xo+(eb/2,0)){dir180}..{dir0}cycle;%on "arrondit" la boite - $ -enddef; - -vardef DiamondBox(text t)= - save $; path $; path xo; - xo=Box(t);%on crée la boite contenant le texte - $=(llcorner xo-(eb,0))--(lrcorner xo+(eb,0))--(1/2[lrcorner xo,urcorner xo]+(4eb,0))--(urcorner xo+(eb,0))--(ulcorner xo-(eb,0))--(1/2[llcorner xo,ulcorner xo]+(-4eb,0))--cycle; - $ -enddef; - -vardef OvalNb(expr ar)= - save Onb; picture Onb; - path tanb; - tanb=OvalBox(ar); - Onb=image( - fill tanb withcolor white; - draw tanb if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH("\barre "&ar),(0,0)); - ); - Onb -enddef; - -vardef OvalText(expr ar)= - save $; save TA; - picture $; - path TA; - TA=OvalBox(ar); - $=image(% - fill TA withcolor white; - draw TA if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH("\barre "&ar),(0,0)); - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef OvalOp(text listeop)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(listeop); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OvalApp(text listop)= - save $; picture $; - save ta; path ta; - save TTap; picture TTap; - TTap=ColleBoxNew(listop); - ta=OvalBox(TTap); - $=image( - fill ta if print=false : withcolor VioletAppTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - draw TTap; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef OvalSon(text listop)= - save $; picture $; - save ta; path ta; - save TTap; picture TTap; - TTap=ColleBoxNew(listop); - ta=OvalBox(TTap); - $=image( - fill ta if print=false : withcolor SonTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - draw TTap; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef OvalMusique(expr ar)= - save $; save TA; - picture $; - if string ar: - picture TT; - TT=ColleBoxNew(DoubleNote,"tempo"); - path TA; - TA=OvalBox(TT); - $=image( - fill TA if print : withcolor white else : withcolor StyloTrois fi; - draw TT if print=true : withcolor coefprint*white fi; - ); - else: - message("La commande --OvalStylo-- n'accepte qu'un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef OvalMouv(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=ar&"\longbarre"; - ta=OvalBox(TTm); - $=image( - fill ta if print=false : withcolor BleuMouvTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH("\longbarre "&ar),center ta) if print=false : withcolor blanc fi; - ); - $ -enddef; - -vardef OvalMenuCap(expr art)=OvalCapMenu(art) enddef; - -vardef OvalCapMenu(expr ar)= - save $; picture $; - string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TAMC; - TAMC=OvalBox(TTm); - $=image( - fill TAMC if print : withcolor white else : withcolor CapFonceTrois fi; - draw TAMC if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm),center TAMC); - ); - $ -enddef; - -vardef OvalCap(text listecap)= - save Cap; picture Cap; - save TAcap; path TAcap; - save LOCMcap; picture LOCMcap; - LOCMcap=ColleBoxNew(listecap); - TAcap=OvalBox(LOCMcap); - Cap=image( - fill TAcap if print=false : withcolor CapteurTrois else : withcolor white fi; - draw LOCMcap; - draw TAcap if print=false : withcolor coefprint*white fi; - ); - Cap:=Cap shifted(-center Cap); - Cap -enddef; - -vardef OvalMouvMenu(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: - "\color{white}"&ar&"\hbox to1em{\barre}\color{black}\blacktriangledown" - fi; - ta=OvalBox(TTm); - $=image( - fill ta if print=false : withcolor dBleuMouvTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm),center ta); - ); - $ -enddef; - -vardef OvalAppMenu(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - ta=OvalBox(TTm); - $=image( - fill ta if print=false : withcolor FondOvalAppMenu else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm),center ta); - ); - $ -enddef; - -vardef OvalSonMenu(expr art)=OvalMenuSon(art) enddef; - -vardef OvalMenuSon(expr ar)= - save $; save TA; - picture $; - string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=OvalBox(TTm); - $=image(% - fill TA if print : withcolor white else : withcolor DSonTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm),center TA); - ); - $ -enddef; - -vardef OvalMenuControle(expr ar)= - save $; save TA; - picture $; - string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=OvalBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor CloneTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm), center TA); - ); - $ -enddef; - -vardef OvalStylo(expr ar)= - save $; save TA; - picture $; - string TT,TTI; - if string ar: - if print: - TT=ar&"\hbox to1em{\barre}\blacktriangledown" - else: - TT=ar&"\hbox to1em{\barre}\color{white}\blacktriangledown" - fi; - TTI=ar&"\hbox to1em{\barre}\phantom{\blacktriangledown}"; - path TA; - TA=OvalBox(TT); - $=image( - fill TA if print : withcolor white else : withcolor OvalStyloTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TT),(0,0)) if print=false : withcolor white fi; - ); - else: - message("La commande --OvalStylo-- n'accepte qu'un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef OvalCouleur(expr redcc,greencc,bluecc)= - save $; picture $; - string TTv; - path tacol; - TTv="\phantom{10}\barre"; - tacol=OvalBox(TTv); - $=image( - fill tacol withcolor (redcc,greencc,bluecc); - draw tacol; - ); - $:=$ shifted(-center tacol); - $ -enddef; - -vardef OvalMenuEvenement(expr ar)= - save $; save TA; - picture $; - string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=OvalBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor MessageTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm), center TA); - ); - $ -enddef; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Rectangles -vardef RecMouvMenu(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown" - fi; - ta=RecBox(TTm); - $=image( - fill ta if print=false : withcolor BleuMouvTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm),center ta); - ); - $ -enddef; - -vardef RecMenuApp(expr ar)= - save $; picture $; - save ta; path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - ta=RecBox(TTm); - $=image( - fill ta if print=false : withcolor VioletAppTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm),center ta); - ); - $ -enddef; - -vardef RecMenuOp(expr ar)= - save $; save TA; - picture $; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=RecBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor FondOvalOp fi; - draw TA if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm), center TA); - ); - $ -enddef; - -vardef RecMenuSon(expr ar)= - save $; save TA; - picture $; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown" fi; - path TA; - TA=RecBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor SonTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm), center TA); - ); - $ -enddef; - -vardef RecEvenementMenu(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - ta=RecBox(TTm); - $=image( - fill ta if print=false : withcolor EvenementTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm),center ta); - ); - $ -enddef; - -vardef RecMenuCap(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - ta=RecBox(TTm); - $=image( - fill ta if print=false : withcolor CapteurTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm),center ta); - ); - $ -enddef; - -vardef RecMenuVar(expr ar)= - save $; save TA; - picture $; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=RecBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor OrangeTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm), center TA); - ); - $ -enddef; - -vardef RecMenuList(expr ar)= - save $; save TA; - picture $; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=RecBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor OrangeListTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(LATEXSCRATCH(TTm), center TA); - ); - $ -enddef; - -%%%%%%% Affichage Complet %%%%%%%%%%%%% -vardef PuzzleBox(text t)= - save $; path $; path xo; - xo=Box(t);%on crée la boite contenant le texte - $=(llcorner xo+(-eb,0)){dir-90}..{dir0}(llcorner xo+(0,-eb))-- - (llcorner xo+(0.375cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner xo+(0.375cm,0)+(0,-2eb))-- - (llcorner xo+(0.625cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner xo+(0.625cm,0)+(eb,-eb))-- - (lrcorner xo+(0,-eb)){dir0}..{dir90}(lrcorner xo+(eb,0))--(urcorner xo+(eb,0)){dir90}..{dir-180}(urcorner xo+(0,eb))-- - (ulcorner xo+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner xo+(0.625cm,0))-- - (ulcorner xo+(0.375cm,0)){dir180}.. - {dir180}(ulcorner xo+(0.375cm,0)+(-eb,eb))-- - (ulcorner xo+(0,eb)){dir-180}..{dir-90}(ulcorner xo+(-eb,0))--cycle; - $ -enddef; - -vardef BlocPuzzle(text nombloc)= - save Bpuzzle; picture Bpuzzle; - path TABp; picture LOCMp; - LOCMp=ColleBoxNew(nombloc); - TABp=PuzzleBox(LOCMp); - Bpuzzle=image( - fill TABp if print=false : withcolor BlocDefTrois else : withcolor white fi; - draw LOCMp; - draw TABp if print=true : withcolor black else: withcolor BlocDefLigneTrois fi; - ); - Bpuzzle:=Bpuzzle shifted(-center Bpuzzle+(0,-eb/2)); - Bpuzzle -enddef; - -vardef ColleBoxNew(text t)=%Pour coller plusieurs boites - save Colle; picture Colle; - Colle=nullpicture; - numeric nbcolle; nbcolle:=0; - save NBCOLLE; path NBCOLLE; - for p_ = t: - nbcolle:=nbcolle+1; - endfor; - picture HOLD; HOLD:=nullpicture; - if unknown LONG: LONG:=0 fi; - if nbcolle=1:%On dessine - for p_ = t: - if string p_: - NBCOLLE:=Box(p_); - HOLD:=image( - label(LATEXSCRATCH("\sffamily\bfseries\longbarre "&p_),(0,0)) if print=false : withcolor white fi;%->ok - ); - HOLD:=(HOLD shifted ((xpart((center HOLD)-(llcorner HOLD))+LONG,0))); - else: - HOLD:=(p_ shifted ((xpart((center p_)-(llcorner p_))+LONG,0))); - fi; - endfor; - addto Colle also HOLD; - LONG:=LONG+abs(lrcorner Colle - llcorner Colle)+eb; - else:%il faut coller les boites une à une - for p_ = t: - addto Colle also (ColleBoxNew(p_)); - endfor; - fi; - Colle -enddef; - -vardef CADRE(expr texti)= - save $; path $; - $=(llcorner texti+(-eb,0)){dir-90}..{dir0}(llcorner texti+(0,-eb))-- - (llcorner texti+(0.375cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner texti+(0.375cm,0)+(0,-2eb))-- - (llcorner texti+(0.625cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner texti+(0.625cm,0)+(eb,-eb))-- - (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir-180}(urcorner texti+(0,eb))-- - (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner texti+(0.625cm,0))-- - (ulcorner texti+(0.375cm,0)){dir180}.. - {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- - (ulcorner texti+(0,eb)){dir-180}..{dir-90}(ulcorner texti+(-eb,0))--cycle; - $ -enddef; - -vardef AFFI(expr texta)= - path cadre; - cadre=CADRE(texta); - picture TEXT; - TEXT=image(% - fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; - draw texta; - draw cadre withcolor CoulLignes; - ); - TEXT -enddef; - -vardef Affichage(expr textu)= - save $; - picture $; - $=AFFI(textu); - $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); -_coinprec:=(llcorner $)+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -%Pour les blocs de type contrôle -vardef CADRECONTROLE(expr texti)= - save $; path $; - path tracecadre; - $=(llcorner texti+(-eb,-eb))--%(llcorner texti+(0,-eb))-- - (llcorner texti+(0.875cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner texti+(0.875cm,0)+(0,-2eb))-- - (llcorner texti+(1.125cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner texti+(1.125cm,0)+(eb,-eb))-- - (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir180}(urcorner texti+(0,eb))-- - (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner texti+(0.625cm,0))-- - (ulcorner texti+(0.375cm,0)){dir180}.. - {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- - (ulcorner texti+(0,eb)){dir180}..{dir-90}(ulcorner texti+(-eb,0))--cycle; - tracecadre=(llcorner texti+(0.5cm,0)+(0,-eb))--(llcorner texti+(0.875cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner texti+(0.875cm,0)+(0,-2eb))-- - (llcorner texti+(1.125cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner texti+(1.125cm,0)+(eb,-eb))-- - (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir180}(urcorner texti+(0,eb))-- - (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner texti+(0.625cm,0))-- - (ulcorner texti+(0.375cm,0)){dir180}.. - {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- - (ulcorner texti+(0,eb)){dir180}..{dir-90}(ulcorner texti+(-eb,0))-- - (llcorner texti+(-eb,-eb)); - $ -enddef; - -vardef AFFICONTROLE(expr texta)= - path cadre; - cadre=CADRECONTROLE(texta); - picture TEXT; - TEXT=image( - fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; - draw texta; - draw tracecadre withcolor CoulLignes; - ); - TEXT -enddef; - -vardef AffichageControle(expr textu)= - save $; - picture $; - $=AFFICONTROLE(textu); - $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); -_coinprec:=llcorner $+(0.5cm,0); -_coinprec:=_coinprec+(0,eb); -coindebutbloc[numblocrep]:=(llcorner $)+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -vardef CADREED(expr texti)= - save $; path $; - $=(llcorner texti+(-eb,0)){dir-90}..{dir0}(llcorner texti+(0,-eb))-- - (llcorner texti+(0.375cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner texti+(0.375cm,0)+(0,-2eb))-- - (llcorner texti+(0.625cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner texti+(0.625cm,0)+(eb,-eb))-- - (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir-180}(urcorner texti+(0,eb))-- - 1/2[ulcorner texti+(-eb,eb),urcorner texti+(eb,eb)]{dir150}..{dir-150}(ulcorner texti+(-eb,eb))--cycle; - $ -enddef; - -vardef AFFIED(expr texta)= - path cadre; - cadre=CADREED(texta); - picture TEXT; - TEXT=image( - fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; - draw texta; - draw cadre withcolor CoulLignes; - ); - TEXT -enddef; - -vardef AffichageED(expr textu)= - save $; - picture $; - $=AFFIED(textu); - $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -%%% section Mouvement %%%%%%%%%% -vardef Avancer(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("avancer de",OvalNb(nbpas),"pas"); - else: - texto=ColleBoxNew("avancer de",nbpas,"pas"); - fi; - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Arcdroite= - save $; - picture $; - $=image( - path cc; - cc=fullcircle scaled 10pt; - drawarrow reverse(subpath(0,0.75*length cc) of cc) withpen pencircle scaled 2bp if print=false: withcolor white fi; - ); - $ -enddef; - -vardef Arcgauche= - save $; - picture $; - $=image( - path cc; - cc=fullcircle scaled 10pt; - drawarrow (subpath(0.75*length cc,1.5*length cc) of cc) withpen pencircle scaled 2bp if print=false: withcolor white fi; - ); - $ -enddef; - -vardef Tournerd(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - if symbole=true: - texto=ColleBoxNew("tourner",Arcdroite,"de",OvalNb(nbpas),"degré(s)"); - else: - texto=ColleBoxNew("tourner à droite de",OvalNb(nbpas),"degré(s)"); - fi; - else: - if symbole=true: - texto=ColleBoxNew("tourner",Arcdroite,"de",nbpas,"degré(s)"); - else: - texto=ColleBoxNew("tourner à droite de",nbpas,"degré(s)"); - fi; - fi; - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Tournerg(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - if symbole=true: - texto=ColleBoxNew("tourner",Arcgauche,"de",OvalNb(nbpas),"degré(s)"); - else: - texto=ColleBoxNew("tourner à gauche de",OvalNb(nbpas),"degré(s)"); - fi; - else: - if symbole=true: - texto=ColleBoxNew("tourner",Arcgauche,"de",nbpas,"degré(s)"); - else: - texto=ColleBoxNew("tourner à gauche de",nbpas,"degré(s)"); - fi; - fi; - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Orienter(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("s'orienter à",OvalNb(nbpas)); - else: - texto=ColleBoxNew("s'orienter à",nbpas); - fi; - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Orienterdirection(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("s'orienter vers",OvalMouvMenu(nbpas)); - else: - texto=ColleBoxNew("s'orienter vers",nbpas); - fi; - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef OrienterVers(expr nbpass)=Orienterdirection(nbpass) enddef; - -vardef Aller(expr xa,ya)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("aller à x:",if string xa:OvalNb(xa) else: xa fi,"y:",if string ya:OvalNb(ya) else: ya fi); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Glisser(expr na,xa,ya)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("glisser en",if string na:OvalNb(na) else: na fi,"seconde(s) à x :",if string xa:OvalNb(xa) else: xa fi,"y:",if string ya:OvalNb(ya) else: ya fi); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Allera(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("aller à",OvalMouvMenu(nbpas)); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - else: - message(""); - message("La commande -- Allera -- n'accepte qu'un type string comme argument."); - message(""); - $=nullpicture; - fi; - $ -enddef; - -vardef Glissera(expr na,xa)= - LONG:=0; - save $; - picture $, texto; - if string xa: - texto=ColleBoxNew("glisser en",if string na:OvalNb(na) else: na fi,"seconde(s) à",OvalMouvMenu(xa)); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); -else: - message(""); - message("La commande -- Glissera -- n'accepte qu'un type string comme deuxième argument."); - message(""); - $=nullpicture; -fi; - $ -enddef; - -vardef Ajouter(expr nba,xa)= - LONG:=0; - save $; - picture $, texto; - if string xa: - texto=ColleBoxNew("ajouter",if string nba:OvalNb(nba) else: nba fi,"à",xa); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); -else: - message(""); - message("La commande -- Ajouter -- n'accepte qu'un type string comme deuxième argument."); - message(""); - $=nullpicture; -fi; -$ -enddef; - -vardef Mettre(expr xa,nba)= - LONG:=0; - save $; - picture $, texto; - if string xa: - texto=ColleBoxNew("mettre",xa,"à",if string nba:OvalNb(nba) else: nba fi); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - else: - message(""); - message("La commande -- Mettre -- n'accepte qu'un type string comme premier argument."); - message(""); - $=nullpicture; - fi; - $ -enddef; - -vardef Rebondir= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("rebondir si le bord est atteint"); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef FixerSensRotation(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("fixer le sens de rotation",RecMouvMenu(nbpas));%RecMouvMenu(nbpas)); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - else: - message("La commande --FixerSensRotation-- admet un seul argument de type string"); - $=nullpicture; - fi; - $ -enddef; - -%%%% fin section Mouvement %%%%%% - -%%%%% Section Apparence %%%%%%%%% -vardef DireT(expr na,xa)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("dire",if string na:OvalText(na) else: na fi,"pendant",if string xa : OvalNb(xa) else: xa fi,"seconde(s)"); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef Dire(expr na)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("dire",if string na:OvalText(na) else: na fi); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef PenserT(expr na,xa)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("penser à",if string na:OvalText(na) else: na fi,"pendant",if string xa : OvalNb(xa) else: xa fi,"seconde(s)"); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef Penser(expr na)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("penser à",if string na:OvalText(na) else: na fi); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef Montrer= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("montrer"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - $ -enddef; - -vardef Cacher= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("cacher"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - $ -enddef; - -vardef Basculer(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("basculer sur le costume",OvalAppMenu(nbpas)); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - else: - message("La commande --Basculer-- n'accepte qu'un argument string."); - $=nullpicture; - fi; - $ -enddef; - -vardef BasculerCostume(expr nbpass)=Basculer(nbpass) enddef; - -vardef CostumeSuivant= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("costume suivant"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -$ -enddef; - -vardef ARSuivant= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("arrière-plan suivant"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -$ -enddef; - -vardef BasculerAR(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("basculer sur l'arrière-plan",OvalAppMenu(nbpas)); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - else: - message("La commande --BasculerAR-- n'accepte qu'un argument string."); - $=nullpicture; - fi; - $ -enddef; - -vardef BasculerARA(expr nbpas)=%quand la scène est sélectionnée... - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("basculer sur l'arrière-plan",OvalAppMenu(nbpas)," et attendre"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - else: - message("La commande --BasculerARA-- n'accepte qu'un argument string."); - $=nullpicture; - fi; - $ -enddef; - -vardef AjouterEffet(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string xa: - texto=ColleBoxNew("ajouter",if string nbpas: OvalNb(nbpas) else: nbpas fi," à l'effet",RecMenuApp(xa)); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -else: - message("La commande --AjouterEffet-- n'accepte qu'un deuxième argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef MettreEffet(expr xa,nbpas)= - LONG:=0; - save $; - picture $,texto; - if string xa: - texto=ColleBoxNew("mettre l'effet",RecMenuApp(xa),"à",if string nbpas:OvalNb(nbpas) else: nbpas fi); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -else: - message("La commande --MettreEffet-- n'accepte qu'un premier argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef AnnulerEffet= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("annuler les effets graphiques"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -$ -enddef; - -vardef AnnulerEffets=AnnulerEffet enddef; - -vardef AjouterTaille(expr na)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("ajouter",if string na:OvalNb(na) else: na fi,"à la taille"); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef MettreA(expr na)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("mettre la taille à",if string na:OvalNb(na) else: na fi,"\% de la taille initiale"); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef MettreTaille(expr art)=MettreA(art) enddef; - -vardef AllerPlan(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("aller à l'",RecMenuApp(nbpas),"plan"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - else: - message("La commande --AllerPlan-- n'accepte qu'un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef DeplacerPlan(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string xa: - texto=ColleBoxNew("déplacer de",if string nbpas:OvalNb(nbpas) else: nbpas fi,"plan(s) vers l'",RecMenuApp(xa)); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -else: - message("La commande --DeplacerPlan-- n'accepte qu'un deuxième argument de type string."); - $=nullpicture; -fi; -$ -enddef; -%%%%fin Section Apparance%%%%%%%%%%%% - -%%%%%% Section Son%%%%%%%%%%%% -vardef Jouer(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas : - texto=ColleBoxNew("jouer le son",OvalMenuSon(nbpas)); - ColBloc:=SonTrois; - $=Affichage(texto); - else: - message("La commande --Jouer-- n'accepte qu'un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef JouerT(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("jouer le son",OvalMenuSon(nbpas)," jusqu'au bout"); - ColBloc:=SonTrois; - $=Affichage(texto); - else: - message("La commande --Jouer-- n'accepte qu'un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef ArreterSon= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("arrêter tous les sons"); - ColBloc:=SonTrois;; - $=Affichage(texto); - $ -enddef; - -vardef ArreterSons=ArreterSon enddef; - -vardef AjouterVol(expr xa)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("ajouter",if string xa:OvalNb(xa) else: xa fi," au volume"); - ColBloc:=SonTrois; - $=Affichage(texto); - $ -enddef; - -vardef MettreVol(expr xa)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("mettre le volume à",if string xa: OvalNb(xa) else: xa fi,"~\%"); - ColBloc:=SonTrois; - $=Affichage(texto); - $ -enddef; - -vardef AjouterEffetSon(expr nombre, effet)= - LONG:=0; - save $; - picture $, texto; - if string effet: - texto=ColleBoxNew("ajouter",if string nombre : OvalNb(nombre) else: nombre fi," à l'effet",RecMenuSon(effet)); - ColBloc:=SonTrois; - $=Affichage(texto); -else: - message("La commande -- AjouterEffet -- n'accepte qu'un deuxième argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef MettreEffetSon(expr effet,nombre)= - LONG:=0; - save $; - picture $, texto; - if string effet: - texto=ColleBoxNew("mettre l'effet",RecMenuSon(effet),"à",if string nombre:OvalNb(nombre) else: nombre fi); - ColBloc:=SonTrois; - $=Affichage(texto); -else: - message("La commande -- MettreEffet -- n'accepte qu'un argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef AnnulerEffetSon= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("annuler tous les effets sonores"); - ColBloc:=SonTrois; - $=Affichage(texto); - $ -enddef; - -%Musique -vardef Tambour(expr na,xa)= - LONG:=0; - save $; - picture $, texto; - if string na: - texto=ColleBoxNew(DoubleNote,"jouer du tambour",OvalStylo(na),"pendant",if string xa:OvalNb(xa) else: xa fi,"temps"); - ColBloc:=StyloTrois; - $=Affichage(texto); -else: - message("La commande --Tambour-- n'accepte qu'un premier argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef Pause(expr na)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew(DoubleNote,"faire une pause pendant",if string na: OvalNb(na) else: na fi," temps"); - ColBloc:=StyloTrois; - $=Affichage(texto); - $ -enddef; - -vardef JouerNote(expr na,xa)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew(DoubleNote,"jouer la note",if string na:OvalNb(na) else: na fi," pendant",if string xa:OvalNb(xa) else: xa fi," temps"); -ColBloc:=StyloTrois; -$=Affichage(texto); -$ -enddef; - -vardef ChoisirInstrument(expr na)= - LONG:=0; - save $; - picture $, texto; - if string na: - texto=ColleBoxNew(DoubleNote,"choisir l'instrument \no{}",OvalStylo(na)); - ColBloc:=StyloTrois; - $=Affichage(texto); - else: - message("La commande -- ChoisirInstrument -- n'accepte qu'un argument de type string"); - $=nullpicture; - fi; - $ -enddef; - -vardef MettreTempo(expr xa)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(DoubleNote,"mettre le tempo à",if string xa:OvalNb(xa) else: xa fi); - ColBloc:=FondSonTrois; - $=Affichage(texto); - $ -enddef; - -vardef AjouterTempo(expr xa)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(DoubleNote,"ajouter",if string xa:OvalNb(xa) else: xa fi," au tempo"); -ColBloc:=FondSonTrois; -$=Affichage(texto); -$ -enddef; - -vardef DoubleNote= - save $; - picture $; - $=image( - draw (((0,0)--(0,18pt)) shifted(-12,-9pt)) withpen pencircle scaled 1bp withcolor if print: coefprint*white else: StyloTrois fi; - draw NoteImage shifted((-5,-2)); - draw NoteImage shifted((3.5,2)); - draw (((0,0)--(0,18pt)) shifted(12,-9pt)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi;%Trop clair->(14/255,187/255,139/255); -); - $:=$ shifted(-3,0); - $ -enddef; - -vardef NoteImage= - save $; - picture $; - $=image( - linecap := butt; - linejoin := mitered; - fill (80.695297,716.262024)..controls (80.574203,716.257996) and (80.476601,716.171997)..(80.480499,716.062988) - --(80.687500,704.125000)..controls (79.941399,704.570007) and (78.644501,704.637024)..(77.312500,704.223022) - ..controls (75.503899,703.659973) and (74.339798,702.429993)..(74.710899,701.473022) - ..controls (75.082001,700.512024) and (76.851601,700.187988)..(78.656303,700.750000) - ..controls (80.425797,701.301025) and (81.574203,702.504028)..(81.273399,703.453003) - --(81.125000,711.987976)..controls (82.910202,711.909973) and (86.910202,711.625000)..(84.917999,706.456970) - ..controls (85.992203,707.906006) and (86.839798,709.598022)..(85.273399,711.629028) - ..controls (84.378899,712.789001) and (81.617203,713.348022)..(81.062500,715.398010) - --(81.054703,716.065979)..controls (81.050797,716.176025) and (80.953102,716.262024)..(80.832001,716.262024) - --cycle if print=false: withcolor white fi; - pickup pencircle scaled 0.797011bp; - draw (80.695297,716.262024)..controls (80.574203,716.257996) and (80.476601,716.171997)..(80.480499,716.062988) - --(80.687500,704.125000)..controls (79.941399,704.570007) and (78.644501,704.637024)..(77.312500,704.223022) - ..controls (75.503899,703.659973) and (74.339798,702.429993)..(74.710899,701.473022) - ..controls (75.082001,700.512024) and (76.851601,700.187988)..(78.656303,700.750000) - ..controls (80.425797,701.301025) and (81.574203,702.504028)..(81.273399,703.453003) - --(81.125000,711.987976)..controls (82.910202,711.909973) and (86.910202,711.625000)..(84.917999,706.456970) - ..controls (85.992203,707.906006) and (86.839798,709.598022)..(85.273399,711.629028) - ..controls (84.378899,712.789001) and (81.617203,713.348022)..(81.062500,715.398010) - --(81.054703,716.065979)..controls (81.050797,716.176025) and (80.953102,716.262024)..(80.832001,716.262024) - --cycle if print=false: withcolor white fi; - pickup pencircle scaled eppen; - ); - $:=($ rotatedabout((72.000000,699),15)) scaled 0.8; - $:=$ shifted(-center $); - $ -enddef; - -%%%%%% fin Section Son %%%%%%%%% - -%%%%%% Section Stylo %%%%%%%%% -vardef ImageCrayon= - save titi; - picture titi; - titi=image(% - draw CrayonImage shifted(-12,0); - draw (((0,0)--(0,18pt)) shifted(9,-9)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi;%Trop clair->(14/255,187/255,139/255); - ); - titi -enddef; - -vardef Effacer= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon,"effacer tout"); - ColBloc:=StyloTrois; - $=Affichage(texto); - $ -enddef; - -vardef Estampiller= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon,"estampiller"); - ColBloc:=StyloTrois; - $=Affichage(texto); - $ -enddef; - -vardef PoserStylo= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon," stylo en position d'écriture"); - ColBloc:=StyloTrois; - $=Affichage(texto); -$ -enddef; - -vardef ReleverStylo= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon,"relever le stylo"); - ColBloc:=StyloTrois; - $=Affichage(texto); -$ -enddef; - -vardef MettreCouleur(expr redc,greenc,bluec)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon," mettre la couleur du stylo à",OvalCouleur(redc,greenc,bluec)); - ColBloc:=StyloTrois; - $=Affichage(texto); - $ -enddef; - -vardef AjouterCS(text t)= - LONG:=0; - save $; - picture $,texto; - numeric k; k=0; - for p_=t: - if k=1:string effet; effet=p_ fi; - if k=0: if string p_:string nombre; nombre=p_ else: if picture p_: picture nombre; nombre=p_; fi fi fi; - k:=k+1; - endfor; - texto=ColleBoxNew(ImageCrayon,"ajouter",if string nombre:OvalNb(nombre) else: nombre fi,"à la",OvalStylo(effet),"du stylo"); -ColBloc:=StyloTrois; -$=Affichage(texto); -$ -enddef; - -vardef MettreCS(text t)= - LONG:=0; - save $; - picture $,texto; - numeric k; k=0; - for p_=t: - if k=0:string effet; effet=p_ fi; - if k=1: if string p_:string nombre; nombre=p_ else: if picture p_: picture nombre; nombre=p_; fi fi fi; - k:=k+1; - endfor; - texto=ColleBoxNew(ImageCrayon,"mettre la",OvalStylo(effet),"du stylo à",if string nombre:OvalNb(nombre) else: nombre fi); -ColBloc:=StyloTrois; -$=Affichage(texto); -$ -enddef; - -%taille du stylo -vardef AjouterTS(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon,"ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à la taille du stylo"); -ColBloc:=StyloTrois; -$=Affichage(texto); -$ -enddef; - -vardef MettreTS(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon,"mettre la taille du stylo à",if string nbpas:OvalNb(nbpas) else: nbpas fi); -ColBloc:=StyloTrois; -$=Affichage(texto); -$ -enddef; - -vardef CrayonImage= - picture cray; - cray=image(% - drawoptions (if print=false:withcolor (0.298050,0.556850,0.917650) fi); - linecap := butt; - linejoin := mitered; - fill (0.960938,1.390630)--(1.644530,2.996090)..controls (1.730470,3.199220) and (1.917970,3.500000)..(2.062500,3.664060)..controls (2.324220,3.968750) and (3.539060,2.753910)..(3.234380,2.488280)..controls (3.070310,2.343750) and (2.769530,2.160160)..(2.566410,2.074220)--cycle; - drawoptions (withcolor (0.349030,0.368640,0.450970)); - pickup pencircle scaled 0.498140bp; - draw (0.960938,1.390630)--(1.644530,2.996090)..controls (1.730470,3.199220) and (1.917970,3.500000)..(2.062500,3.664060)..controls (2.324220,3.968750) and (3.539060,2.753910)..(3.234380,2.488280)..controls (3.070310,2.343750) and (2.769530,2.160160)..(2.566410,2.074220)--cycle; - drawoptions (withcolor (1.000000,1.000000,1.000000)); - %pickup pencircle scaled 0.000000bp; - fill (1.800780,3.363280)--(2.558590,5.156250)..controls (2.601560,5.257810) and (2.699220,5.402340)..(2.777340,5.480470)--(8.281250,10.984400)..controls (8.300780,11.003900) and (8.339840,11.023400)..(8.367190,11.031300)..controls (9.757810,11.398400) and (10.968800,10.187500)..(10.601600,8.792970)..controls (10.593800,8.769530) and (10.574200,8.730470)..(10.554700,8.710940)--(6.316410,4.476560)..controls (5.539060,3.695310) and (4.089840,2.718750)..(3.074220,2.289060)--(2.980470,2.246090)..controls (2.957030,2.238280) and (2.953130,2.242190)..(2.972660,2.261720)..controls (3.539060,2.753910) and (2.324220,3.968750)..(1.800780,3.363280)--cycle; - drawoptions (if print=false:withcolor (0.349030,0.368640,0.450970) fi); - pickup pencircle scaled 0.498140bp; - draw (1.800780,3.363280)--(2.558590,5.156250)..controls (2.601560,5.257810) and (2.699220,5.402340)..(2.777340,5.480470)--(8.281250,10.984400)..controls (8.300780,11.003900) and (8.339840,11.023400)..(8.367190,11.031300)..controls (9.757810,11.398400) and (10.968800,10.187500)..(10.601600,8.792970)..controls (10.593800,8.769530) and (10.574200,8.730470)..(10.554700,8.710940)--(6.316410,4.476560)..controls (5.539060,3.695310) and (4.089840,2.718750)..(3.074220,2.289060)--(2.980470,2.246090)..controls (2.957030,2.238280) and (2.953130,2.242190)..(2.972660,2.261720)..controls (3.539060,2.753910) and (2.324220,3.968750)..(1.800780,3.363280); - drawoptions (if print=false:withcolor (0.298050,0.556850,0.917650) fi); - %pickup pencircle scaled 0.000000bp; - fill (8.316410,11.019500)--(13.031300,15.730500)..controls (13.109400,15.808600) and (13.257800,15.878900)..(13.371100,15.886700)..controls (14.308600,15.949200) and (15.519500,14.734400)..(15.457000,13.796900)..controls (15.449200,13.687500) and (15.378900,13.535200)..(15.300800,13.457000)--(10.589800,8.746090)..controls (10.968800,10.187500) and (9.757810,11.398400)..(8.316410,11.019500)--cycle; - drawoptions (if print=false:withcolor (0.349030,0.368640,0.450970) fi); - pickup pencircle scaled 0.498140bp; - draw (8.316410,11.019500)--(13.031300,15.730500)..controls (13.109400,15.808600) and (13.257800,15.878900)..(13.371100,15.886700)..controls (14.308600,15.949200) and (15.519500,14.734400)..(15.457000,13.796900)..controls (15.449200,13.687500) and (15.378900,13.535200)..(15.300800,13.457000)--(10.589800,8.746090)..controls (10.968800,10.187500) and (9.757810,11.398400)..(8.316410,11.019500)--cycle; - draw (12.562500,15.265600)..controls (7.937500,15.644500) and (9.453130,10.488300)..(6.117190,11.398400); - %pickup pencircle scaled 0.000000bp; - fill (7.199220,12.785200)..controls (6.812500,13.175800) and (6.179690,13.175800)..(5.792970,12.785200)..controls (5.402340,12.398400) and (5.402340,11.765600)..(5.792970,11.378900)..controls (6.179690,10.988300) and (6.812500,10.988300)..(7.199220,11.378900)..controls (7.589840,11.765600) and (7.589840,12.398400)..(7.199220,12.785200)--cycle; - fill (6.496090,12.082000)--cycle; - pickup pencircle scaled 0.498140bp; - draw (7.199220,12.785200)..controls (6.812500,13.175800) and (6.179690,13.175800)..(5.792970,12.785200)..controls (5.402340,12.398400) and (5.402340,11.765600)..(5.792970,11.378900)..controls (6.179690,10.988300) and (6.812500,10.988300)..(7.199220,11.378900)..controls (7.589840,11.765600) and (7.589840,12.398400)..(7.199220,12.785200)--cycle; - draw (6.496090,12.082000); - drawoptions(); - pickup pencircle scaled 0bp; - draw (-3,0)--(-3,18) withcolor if print : coefprint*white else: StyloTrois fi; - pickup pencircle scaled eppen; - ); - cray:=cray shifted((0,-9pt)); - cray -enddef; - -%%%%%% Fin Section Stylo %%%%%%%% - -%%%%%% Section Contrôle %%%%%%%%% -color colControle; -colControle:=OrangeConTrois; - -vardef AffichageStop= - path cadre; - cadre=(llcorner texto+(-eb,0)){dir-90}..{dir0}(llcorner texto+(0,-eb))-- - (lrcorner texto+(0,-eb)){dir0}..{dir90}(lrcorner texto+(eb,0))--(urcorner texto+(eb,0)){dir90}..{dir180}(urcorner texto+(0,eb))-- - (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner texto+(0.625cm,0))-- - (ulcorner texto+(0.375cm,0)){dir180}.. - {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb))-- - (ulcorner texto+(0,eb)){dir180}..{dir-90}(ulcorner texto+(-eb,0))--cycle; - picture TEXT; - TEXT=image( - fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - draw texto; - draw cadre withcolor CoulLignes; - ); - TEXT -enddef; - -pair coindebutbloc[]; -numeric numblocrep; -numblocrep:=0; - -vardef Repeter(expr xa)= - LONG:=0; - save $; - numblocrep:=numblocrep+1; - picture $,texto; - texto=ColleBoxNew("répéter", if string xa : OvalNb(xa) else: xa fi,"fois"); -LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." -ColBloc:=OrangeConTrois; -$=AffichageControle(texto); -$ -enddef; - -vardef RepeterI= - LONG:=0; - save $; - numblocrep:=numblocrep+1; - picture $,texto; - texto=ColleBoxNew("répéter indéfiniment"); - LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." - ColBloc:=OrangeConTrois; - $=AffichageControle(texto); - $ -enddef; - -vardef RepeterJ(expr xa)= - LONG:=0; - save $; - numblocrep:=numblocrep+1; - picture $,texto; - if picture xa: - texto=ColleBoxNew("répéter jusqu'à ce que",xa); - LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." - ColBloc:=OrangeConTrois; - $=AffichageControle(texto); - else: - message("La commande -- RepeterJ -- n'admet qu'un argument de type picture."); - $=nullpicture; - fi; - $ -enddef; - -vardef FinBlocRepeter= - LONG:=0; - save $; - picture $,texto; - _coinprec:=_coinprec-(0.5cm,0); - drawoptions(); - texto=image( - labeloffset:=0; - label.lrt(LATEXSCRATCH("\hbox to"&decimal(LongRep[numblocrep])&"pt{\phantom{\barre fin du bloc}}"),if unknown _coinprec: (0,0) else:_coinprec fi); - labeloffset:=3; - ); -path cadre; -cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- - (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- - (ulcorner texto+(0.5cm,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm+eb,0))-- - (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% - (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))-- - cycle; -$=image( - fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - draw cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - AA:=ahangle; - ahangle:=90; - drawarrow (lrcorner texto+(-0.625cm,0.15cm)){dir-15}..{dir90}(urcorner texto+(-0.25cm,-0.1cm)) withpen pencircle scaled2bp if print=false : withcolor white fi; - ahangle:=AA; - draw (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- - (ulcorner texto+(0.5cm,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm+eb,0))-- - (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% - (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))--(coindebutbloc[numblocrep]+(0.125,0.125)) withcolor CoulLignes; - ); -_coinprec:=(llcorner $); -_coinprec:=_coinprec+(0,eb); -numblocrep:=numblocrep-1; -$ -enddef; - -vardef FinBlocRepeterI=FinBlocRepeter enddef; - -vardef Si(expr xa)= - LONG:=0; - save $; - numblocrep:=numblocrep+1; - picture $,texto; - if picture xa: - texto=ColleBoxNew("si\hbox to1em{}",xa,"alors"); - LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." - ColBloc:=OrangeConTrois; - $=AffichageControle(texto); - else: - message("La commande -- Si -- n'admet qu'un argument de type picture."); - $=nullpicture; - fi; - $ -enddef; - -vardef FinBlocSi= - LONG:=0; - save $; - picture $,texto; - _coinprec:=_coinprec-(0.5cm,0); - drawoptions(); - texto=image( - labeloffset:=0; - label.lrt(LATEXSCRATCH("\hbox to"&decimal(LongRep[numblocrep])&"pt{\phantom{\barre fin du bloc}}"),if unknown _coinprec: (0,0) else:_coinprec fi); - labeloffset:=3; - ); -path cadre; -if BlocStopAvant=false: - cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- - (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- - (ulcorner texto+(0.5cm,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm+eb,0))-- - (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% - (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))-- - cycle; -else: - cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- - (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- -% (ulcorner texto+(0.125+0.875cm,0)){dir0}.. -% {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- -% (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. -% {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))-- - cycle; -fi; -$=image( - fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - draw cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - if BlocStopAvant=false: - draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- - (ulcorner texto+(0.125+0.875cm,0)){dir0}.. - {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- - (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. - {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))-- - (coindebutbloc[numblocrep]+(0.125,0.125)) - withcolor CoulLignes; - else: - draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- - %(ulcorner texto+(0.125+0.875cm,0)){dir0}.. - %{dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- - %(ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. - %{dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))-- - (coindebutbloc[numblocrep]+(0.125,0.125)) - withcolor CoulLignes; - fi; - ); -_coinprec:=(llcorner $); -_coinprec:=_coinprec+(0,eb); -numblocrep:=numblocrep-1; -$ -enddef; - -boolean BlocStopAvant; -BlocStopAvant=false; - -vardef Sinon= - LONG:=0; - save $; - picture $,texto; - _coinprec:=_coinprec-(0.5cm,0); - drawoptions(); - texto=image( - labeloffset:=0; - label.lrt(LATEXSCRATCH("\, \hbox to"&decimal(LongRep[numblocrep])&"pt{\bfseries\barre sinon}"),if unknown _coinprec: (0,0) else:_coinprec fi) if print=false : withcolor blanc fi; - labeloffset:=3; - ); - path cadre; - if BlocStopAvant=false: - cadre=(llcorner texto+(0.125,0))-- - (coindebutbloc[numblocrep]+(0.125,0.125))-- - (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- - (ulcorner texto+(0.125+0.875cm,0)){dir0}.. - {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- - (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. - {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.875cm,0))-- - cycle; - else: - cadre=(llcorner texto+(0.125,0))-- - (coindebutbloc[numblocrep]+(0.125,0.125))-- - (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- -% (ulcorner texto+(0.125+0.875cm,0)){dir0}.. -% {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- -% (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. -% {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.875cm,0))-- - cycle; - fi; -$=image( - fill cadre withcolor if print=true : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - draw cadre withcolor if print=true : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - draw texto; - if BlocStopAvant=false: - draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- - (ulcorner texto+(0.125+0.875cm,0)){dir0}.. - {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- - (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. - {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.875cm,0))-- - (llcorner texto+(0.125+0.5cm+eb,0)) - withcolor CoulLignes; - else: - draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- - %(ulcorner texto+(0.125+0.875cm,0)){dir0}.. - %{dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- - %(ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. - %{dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.875cm,0)) - withcolor CoulLignes; - fi; - draw (llcorner texto+(0.125,0))--(coindebutbloc[numblocrep]+(0.125,0.125)) withcolor CoulLignes; - ); - _coinprec:=(llcorner $)+(0.5cm,0); - _coinprec:=_coinprec+(0,eb); - coindebutbloc[numblocrep]:=(llcorner $)+(0,eb+0.125); - $ -enddef; - -vardef Attendre(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("attendre",if string nbpas:OvalNb(nbpas) else: nbpas fi,"seconde(s)"); -ColBloc:=OrangeConTrois; -$=Affichage(texto); -$ -enddef; - -vardef AttendreJ(expr xa)= - LONG:=0; - save $; - picture $,texto; - if picture xa: - texto=ColleBoxNew("attendre jusqu'à ce que",xa); - ColBloc:=OrangeConTrois; - $=Affichage(texto); - else: - message("La commande -- AttendreJ -- n'admet qu'un argument de type picture."); - $=nullpicture; - fi; - $ -enddef; - -vardef Stop(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - string TTm;%Pour sauvegarder le nbpas car en l'utilisant dans les if, il ne permet pas la concaténation... - TTm=if print:nbpas&"\hbox to1em{\barre}\blacktriangledown" else:"\color{white}"&nbpas&"\hbox to1em{\barre}\blacktriangledown"; - fi; - texto=image( - path ti; - ti=Box("stop"); - label(LATEXSCRATCH("\bfseries\barre stop"),center ti) if print=false : withcolor white fi;%_>ok - if picture nbpas: - picture ta; - ta=nbpas; - drawoptions(shifted (xpart((lrcorner ti)-(llcorner ta)+(eb,0)),ypart(center ti-center ta))); - draw ta; - drawoptions(); - else: - path ta; - ta=RecBox(TTm);% - drawoptions(shifted (xpart((lrcorner ti)-(llcorner ta)+(eb,0)),ypart(center ti-center ta))); - if print=false : fill ta withcolor ControleTrois fi; - draw ta withcolor 0.95white; - label(LATEXSCRATCH(TTm),center ta); - drawoptions(); - fi; - ); -$=AffichageStop shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageStop); -_coinprec:=llcorner $; -_coinprec:=_coinprec;%+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -vardef CommencerClone= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("quand je commence comme un clone"); - ColBloc:=ControleTrois; - $=AffichageED(texto); - $ -enddef; - -vardef CreerClone(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("créer un clone de",OvalMenuControle(nbpas)); - ColBloc:=ControleTrois; - $=Affichage(texto); - else: - message("La commande -- CreerClone -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef SupprimerClone= - LONG:=0; - save $; - picture $,texto; - texto=image( - path ti; - ti=Box("supprimer ce clone"); - label(LATEXSCRATCH("\bfseries\barre supprimer ce clone"),center ti) if print=false : withcolor white fi;%_>ok - ); - $=AffichageStop shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageStop); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; -%%fin Section Contrôle%%% - -%%%%%%%% Section Evenements %%%%% -vardef Drapeau= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("quand",DrapeauImage shifted(-(80,707)),"est cliqué"); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - $ -enddef; - -vardef QPresse(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("quand la touche",RecEvenementMenu(nbpas),"est pressée"); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - else: - message("La commande -- QPresse -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef QLutinPresse= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("quand ce sprite est cliqué"); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - $ -enddef; - -vardef QSpritePresse=QLutinPresse enddef; - -vardef QScenePressee= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("quand la scène est cliquée"); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - $ -enddef; - -vardef QBasculeAR(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("quand l'arrière-plan bascule sur",RecEvenementMenu(nbpas)); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - else: - message("La commande -- QBasculeAR -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef QVolumeSup(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("quand le",RecEvenementMenu(nbpas),"$>$",if string xa:OvalNb(xa) else: xa fi); - ColBloc:=EvenementTrois; - $=AffichageED(texto); -else: - message("La commande -- QVolumeSup -- accepte un premier argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef QRecevoirMessage(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("quand je reçois",RecEvenementMenu(nbpas)); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - else: - message("La commande -- QRecevoirMessage -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef EnvoyerMessage(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("envoyer à tous",OvalMenuEvenement(nbpas)); - ColBloc:=EvenementTrois; - $=Affichage(texto); - else: - message("La commande -- EnvoyerMessage -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef EnvoyerMessageA(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("envoyer à tous",OvalMenuEvenement(nbpas),"et attendre"); - ColBloc:=EvenementTrois; - $=Affichage(texto); - else: - message("La commande -- EnvoyerMessageA -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef DrapeauImage= - save $; picture $; - $=image( - linecap := butt; - linejoin := rounded; - if print = false: drawoptions(withcolor(76/255,191/255,86/255)) fi; - fill (72.000000,713.254028)--(72.000000,718.918030)--(72.507797,718.979980) - --(72.984398,719.026978)--(73.437500,719.054993)--(73.867203,719.070007) - --(74.273399,719.073975)--(74.660202,719.062988)--(75.023399,719.043030) - --(75.367203,719.012024)--(75.695297,718.968994)--(76.003899,718.918030) - --(76.300797,718.859009)--(76.578102,718.793030)--(76.847702,718.723022) - --(77.105499,718.648010)--(77.351601,718.570007)--(77.589798,718.484009) - --(77.820297,718.401978)--(78.042999,718.312988)--(78.234398,718.237976) - --(78.234398,706.906006)--(78.042999,706.979980)--(77.820297,707.065979) - --(77.589798,707.151978)--(77.351601,707.237976)--(77.105499,707.315979) - --(76.847702,707.390991)--(76.578102,707.460999)--(76.300797,707.526978) - --(76.003899,707.585999)--(75.695297,707.637024)--(75.367203,707.676025) - --(75.023399,707.710999)--(74.660202,707.729980)--(74.273399,707.742004) - --(73.867203,707.737976)--(73.437500,707.723022)--(72.984398,707.690979) - --(72.507797,707.648010)--(72.000000,707.585999)--cycle; -% drawoptions (withcolor (0,0.625,0)); - fill (78.246101,712.565979)--(78.261703,718.226990)--(78.476601,718.140991) - --(78.691399,718.059021)--(78.902298,717.976990)--(79.113297,717.895020) - --(79.328102,717.820007)--(79.546898,717.754028)--(79.765602,717.687988) - --(79.992203,717.632996)--(80.226601,717.585999)--(80.468803,717.543030) - --(80.718803,717.515991)--(80.980499,717.495972)--(81.253899,717.492004) - --(81.542999,717.495972)--(81.843803,717.515991)--(82.160202,717.546997) - --(82.492203,717.598022)--(82.847702,717.664001)--(83.218803,717.745972) - --(83.332001,717.773010)--(83.332001,706.440979)--(83.218803,706.414001) - --(82.847702,706.328003)--(82.492203,706.265991)--(82.160202,706.215027) - --(81.843803,706.179993)--(81.542999,706.164001)--(81.253899,706.156006) - --(80.980499,706.164001)--(80.718803,706.184021)--(80.468803,706.210999) - --(80.226601,706.250000)--(79.992203,706.301025)--(79.765602,706.354980) - --(79.546898,706.418030)--(79.328102,706.487976)--(79.113297,706.562988) - --(78.902298,706.645020)--(78.691399,706.723022)--(78.476601,706.809021) - --(78.234398,706.906006)--cycle; -% drawoptions (withcolor (0,0.625,0)); - fill (83.332001,712.109009)--(83.332001,717.773010)--(83.613297,717.843994) - --(84.031303,717.965027)--(84.468803,718.104980)--(84.933601,718.265991) - --(85.425797,718.448975)--(85.945297,718.651978)--(86.492203,718.882996) - --(87.070297,719.137024)--(87.679703,719.414001)--(88.324203,719.718994) - --(89.000000,720.054993)--(89.000000,708.718994)--(88.324203,708.387024) - --(87.679703,708.081970)--(87.070297,707.801025)--(86.492203,707.551025) - --(85.945297,707.320007)--(85.425797,707.117004)--(84.933601,706.934021) - --(84.468803,706.773010)--(84.031303,706.632996)--(83.613297,706.512024) - --(83.332001,706.440979)--cycle; -% drawoptions (withcolor (0,0.625,0)); -%pickup pencircle scaled 0.199253bp; - draw (72.000000,713.254028)--(72.000000,718.918030)--(72.507797,718.979980) - --(72.984398,719.026978)--(73.437500,719.054993)--(73.867203,719.070007) - --(74.273399,719.073975)--(74.660202,719.062988)--(75.023399,719.043030) - --(75.367203,719.012024)--(75.695297,718.968994)--(76.003899,718.918030) - --(76.300797,718.859009)--(76.578102,718.793030)--(76.847702,718.723022) - --(77.105499,718.648010)--(77.351601,718.570007)--(77.589798,718.484009) - --(77.820297,718.401978)--(78.042999,718.312988)--(78.261703,718.226990) - --(78.476601,718.140991)--(78.691399,718.059021)--(78.902298,717.976990) - --(79.113297,717.895020)--(79.328102,717.820007)--(79.546898,717.754028) - --(79.765602,717.687988)--(79.992203,717.632996)--(80.226601,717.585999) - --(80.468803,717.543030)--(80.718803,717.515991)--(80.980499,717.495972) - --(81.253899,717.492004)--(81.542999,717.495972)--(81.843803,717.515991) - --(82.160202,717.546997)--(82.492203,717.598022)--(82.847702,717.664001) - --(83.218803,717.745972)--(83.613297,717.843994)--(84.031303,717.965027) - --(84.468803,718.104980)--(84.933601,718.265991)--(85.425797,718.448975) - --(85.945297,718.651978)--(86.492203,718.882996)--(87.070297,719.137024) - --(87.679703,719.414001)--(88.324203,719.718994)--(89.000000,720.054993) - --(89.000000,708.718994)--(88.324203,708.387024)--(87.679703,708.081970) - --(87.070297,707.801025)--(86.492203,707.551025)--(85.945297,707.320007) - --(85.425797,707.117004)--(84.933601,706.934021)--(84.468803,706.773010) - --(84.031303,706.632996)--(83.613297,706.512024)--(83.218803,706.414001) - --(82.847702,706.328003)--(82.492203,706.265991)--(82.160202,706.215027) - --(81.843803,706.179993)--(81.542999,706.164001)--(81.253899,706.156006) - --(80.980499,706.164001)--(80.718803,706.184021)--(80.468803,706.210999) - --(80.226601,706.250000)--(79.992203,706.301025)--(79.765602,706.354980) - --(79.546898,706.418030)--(79.328102,706.487976)--(79.113297,706.562988) - --(78.902298,706.645020)--(78.691399,706.723022)--(78.476601,706.809021) - --(78.261703,706.895020)--(78.042999,706.979980)--(77.820297,707.065979) - --(77.589798,707.151978)--(77.351601,707.237976)--(77.105499,707.315979) - --(76.847702,707.390991)--(76.578102,707.460999)--(76.300797,707.526978) - --(76.003899,707.585999)--(75.695297,707.637024)--(75.367203,707.676025) - --(75.023399,707.710999)--(74.660202,707.729980)--(74.273399,707.742004) - --(73.867203,707.737976)--(73.437500,707.723022)--(72.984398,707.690979) - --(72.507797,707.648010)--(72.000000,707.585999)--cycle if print=false : withcolor (0,0.625,0) fi; - %pickup pencircle scaled 0.8bp; - draw (72.000000,699)--(72.000000,720); - drawoptions(); - ); - $:=$ rotatedabout((72.000000,699),-15); - $ -enddef; -%%Fin section Evenement%%% - -%%%% Section Bloc %%%% -vardef AffichageBlocDef= - path cadre; - cadre=(llcorner texto+(-eb,0)){dir-90}..{dir0}(llcorner texto+(0,-eb))-- - (llcorner texto+(0.375cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner texto+(0.375cm,0)+(0,-2eb))-- - (llcorner texto+(0.625cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner texto+(0.625cm,0)+(eb,-eb))-- - (lrcorner texto+(0,-eb)){dir0}..{dir90}(lrcorner texto+(eb,0))-- - (urcorner texto+(eb,eb)){dir90}..{dir180}(urcorner texto+(0,2eb))-- - (ulcorner texto+(0,2eb)){dir180}.. - {dir-90}(ulcorner texto+(-eb,eb))-- - cycle; - picture TEXT; - TEXT=image( - fill cadre withcolor if print : coefprint*white else : BlocTrois fi;%if unknown colBloc : DarkPurple else: colBloc fi fi; - draw texto; - draw cadre withcolor CoulLignes; - ); - TEXT -enddef; - -vardef Bloc(text nomblocbloc)= - LONG:=0; - save $; - picture $,texto; - texto=image( - picture CBbloc; - CBbloc=ColleBoxNew(nomblocbloc); - draw CBbloc; - ); - ColBloc:=BlocTrois; - $=Affichage(texto); - $ -enddef; - -vardef NouveauBloc(text nbpasbloc)= - LONG:=0; - save $; - picture $,texto; - texto=image( - picture CB; - CB=ColleBoxNew("définir",BlocPuzzle(nbpasbloc)); - draw CB; - ); -$=AffichageBlocDef shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageBlocDef); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; -%%%% Fin Section Bloc%%%% - -%%% Section Divers%%% -vardef CommandeVide(expr commande)= - LONG:=0; - save $; - picture $,texto,TEXT; - if string commande : - texto=image( - label.lrt(LATEXSCRATCH("\barre \hbox to"&commande&"cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); - ); -else: - texto=commande; -fi; -ColBloc:=white; -$=Affichage(texto); -$ -enddef; - -vardef LigneVide= - LONG:=0; - save $; - picture $,texto,TEXT; - texto=image( - label.lrt(LATEXSCRATCH("\barre \hbox to2cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); - ); -TEXT=image( - path cadre; - cadre=CADRE(texto); - unfill cadre; - %draw (urcorner texto+(0,eb))-- - % (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. - % {dir180}(ulcorner texto+(0.625cm,0))-- - % (ulcorner texto+(0.375cm,0)){dir180}.. - % {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb))-- - % (ulcorner texto+(0,eb)) withpen pencircle scaled 0; - ); -$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -vardef LigneVideVar(expr commande)= - LONG:=0; - save $; - picture $,texto,TEXT; - if string texto: - texto=image( - label.lrt(LATEXSCRATCH("\barre \hbox to2cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); - ); -else: - texto=commande; -fi; -TEXT=image( - path cadre; - cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))-- - (llcorner texto+(0.375cm,0)+(-eb,-eb))-- - (llcorner texto+(0.375cm,0)+(0,-2eb))-- - (llcorner texto+(0.625cm,0)+(0,-2eb))-- - (llcorner texto+(0.625cm,0)+(eb,-eb))-- - (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))-- - (ulcorner texto+(0.625cm,0)+(eb,eb))-- - (ulcorner texto+(0.625cm,0))-- - (ulcorner texto+(0.375cm,0))-- - (ulcorner texto+(0.375cm,0)+(-eb,eb))-- - (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle; - fill cadre withcolor white; -% draw (urcorner texto+(0,eb))-- -% (ulcorner texto+(0.625cm,0)+(eb,eb))-- -% (ulcorner texto+(0.625cm,0))-- -% (ulcorner texto+(0.375cm,0))-- -% (ulcorner texto+(0.375cm,0)+(-eb,eb))-- -% (ulcorner texto+(0,eb)) withpen pencircle scaled 0.05bp; - ); -$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -vardef LignePointilles= - LONG:=0; - save $; - picture $,texto,TEXT; - texto=image( - label.lrt(LATEXSCRATCH("\barre\Large \strut\ldots\hbox to1em{}"),if unknown _coinprec: (0,0) else:_coinprec fi); - ); -TEXT=image( - path cadre; - cadre=CADRE(texto); - fill cadre withcolor white; - draw %(urcorner texto+(0,eb))-- - (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner texto+(0.625cm,0))-- - (ulcorner texto+(0.375cm,0)){dir180}.. - {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb)) - %--(ulcorner texto+(0,eb)) - withpen pencircle scaled 0.01; - draw texto; - ); -$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -vardef Commentaires(expr commande)= - LONG:=0; - save $; - picture $,texto,TEXT; - texto=image( - label.lrt(LATEXSCRATCH("\barre "& commande &""),if unknown _coinprec: (0,0) else:_coinprec fi) withcolor 0.5*white; - ); -TEXT=image( - path cadre; - cadre=CADRE(texto); - fill cadre withcolor white; - draw texto; - ); -$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -$ -enddef; - -color colcom; -colcom=0.5white; - -vardef CommentairesLigne(expr commande)= - LONG:=0; - save $; - picture $,texto,TEXT; - TEXT=image( - label.rt(LATEXSCRATCH(commande), _coincom) withcolor colcom; - ); -$=TEXT shifted (_coincom - 1/2[llcorner TEXT,ulcorner TEXT]); -$ -enddef; - -vardef BlocGris(expr ar)= - LONG:=0; - save $; picture $; - path ta; string TTm; - TTm=ar&"\barre"; - ta=OvalMiniBox(TTm); - $=image( - fill ta withcolor 0.975white; - draw ta withcolor 0.85white; - label(LATEXSCRATCH(TTm),center ta) if print=false : withcolor blanc fi; - ); -$ -enddef; - -vardef BlocGrisMulti(text argris)= - LONG:=0; - save $; picture $; - path ta; picture TTm; - TTm=ColleBox(argris); - ta=OvalMiniBox(TTm); - $=image( - fill ta withcolor grisBloc; - draw TTm; -% label(LALATEXSCRATCH(TTm),center ta) if print=false : withcolor blanc fi; - ); -$ -enddef; - -boolean BlocE; -BlocE:=false; - -vardef BlocUser(expr colblocuser)(text textbloc)= - LONG:=0; - save $; - picture $; - save TA; path TA; picture BUTB; picture texto; picture TEXT; - BUTB=ColleBoxNew(textbloc); - TA=Box(BUTB); - texto=image( - draw BUTB; - ); - ColBloc:=colblocuser; - if BlocE=false: - $=Affichage(texto); - else: - $=AffichageED(texto); - fi; - $ -enddef; - -vardef BlocCouleur(expr colblocuser)= - LONG:=0; - save $; - picture $,texto; - texto=image( - label.lrt(LATEXSCRATCH("\barre \hbox to4cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); - ); -ColBloc:=colblocuser; -$=Affichage(texto); -$ -enddef; -%% fin Section Divers %%% - -%% Section Capteur %%%% -vardef Demander(expr nbpas)= - LONG:=0; - save Dem; - picture Dem,texto; - if string nbpas: - texto=ColleBoxNew("demander",OvalNb(nbpas),"et attendre"); - ColBloc:=CapteurTrois; - Dem=Affichage(texto); - else: - message("La commande -- Demander -- admet un argument de type string."); - Dem=nullpicture; - fi; - Dem -enddef; - -vardef ReinitChrono= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("réinitialiser le chronomètre"); - ColBloc:=CapteurTrois; - $=Affichage(texto); - $ -enddef; - -vardef MettreGlissement(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("mettre mode de glissement à",RecMenuCap(nbpas)); - ColBloc:=CapteurTrois; - $=Affichage(texto); - else: - message("La commande -- MettreGlissement -- admet un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -%video - -vardef CameraImage= - LONG:=0; - save $; - picture $; - $=image( - pair A,B,C,D,E,F; - A=(0,0); - B-A=(10,0); - C-B=(0,10); - D-C=A-B; - E-B=(4,1.5); - F-C=(4,-1.5); - numeric EB; - EB=2pt; - path camera; - camera=(A+(EB,0))--(B+(-EB,0)){dir0}..{dir90}(B+(0,EB))--2/5[B,C]--E--F--3/5[B,C]--(C+(0,-EB)){dir90}..{dir-180}(C+(-EB,0))--(D+(EB,0)){dir180}..{dir-90}(D+(0,-EB))--(A+(0,EB)){dir-90}..{dir0}cycle; - fill camera withcolor (77,77,77)/255; - draw camera withcolor (77,77,77)*0.95/255; - path cc; - cc=fullcircle scaled 6; - color coul[]; - if print: - coul0:=0.9white; - coul1:=0.933white; - coul2:=0.966white; - coul3:=white; - else: - coul0=(75,205,169)/255; - coul1=(16,230,212)/255; - coul2=(224,247,241)/255; - coul3=(1,1,1); - fi; - for k=0 upto 3: - fill (cc shifted(B+(10,3*k))) withcolor coul[k]; - draw (cc shifted(B+(10,3*k))) withcolor 0.95*coul[k]; - endfor; - draw ((-3,0)--(-3,18)) withcolor if print : coefprint*white else: StyloTrois fi; - pickup pencircle scaled eppen; - ); - $:=$ scaled 0.8; - $ -enddef; - -vardef ImageCamera= - save titi; - picture titi; - titi=image( - draw CameraImage shifted(-12,-5); - draw (((0,0)--(0,18pt)) shifted(9,-9)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi; - ); - titi -enddef; - -vardef ActiverVideo(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew(ImageCamera,"vidéo",OvalStylo(nbpas)); - ColBloc:=StyloTrois; - $=Affichage(texto); - else: - message("La commande -- ActiverVideo -- admet un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef TransparenceVideo(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew(ImageCamera,"mettre la transparence vidéo sur",OvalNb(nbpas)); - ColBloc:=StyloTrois; - $=Affichage(texto); - else: - message("La commande -- TransparenceVideo -- admet un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef QuandMV(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew(ImageCamera,"quand mouvement vidéo $>$",OvalNb(nbpas)); - ColBloc:=StyloTrois; - $=AffichageED(texto); - else: - message("La commande -- QuandMV -- admet un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef VideoSur(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if (string nbpas) and (string xa): - texto=ColleBoxNew(ImageCamera,"vidéo",OvalStylo(nbpas),"sur",OvalStylo(xa)); - %ColBloc:=StyloTrois; - path ta; - ta=OvalBox(texto); - $=image( - fill ta withcolor if print: coefprint*white else: StyloTrois fi; - draw ta withcolor CoulLignes; - %label(LATEXSCRATCH(TTm),center ta) if print=false : withcolor blanc fi; - draw texto; - ); - else: - message("La commande -- VideoSur -- admet deux arguments de type string."); - $=nullpicture; - fi; - $ -enddef; - -%% fin Section Capteur %%% - -%%% Section Variables %%% -vardef MettreVar(expr nbpas,xa)= - LONG:=0; - save MV; - picture MV,texto; - if string nbpas : - texto=ColleBoxNew("mettre",RecMenuVar(nbpas),"à",if string xa:OvalNb(xa) else: xa fi); - ColBloc:=OrangeTrois; - MV=Affichage(texto); - else: - message("La commande -- MettreVar -- admet un premier paramètre de type string."); - MV=nullpicture; - fi; - MV -enddef; - -vardef AjouterVar(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string xa : - texto=ColleBoxNew("ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à",RecMenuVar(xa)); - ColBloc:=OrangeTrois; - $=Affichage(texto); -else: - message("La commande -- AjouterVar -- admet un deuxième paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef MontrerVar(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas : - texto=ColleBoxNew("montrer la variable",RecMenuVar(nbpas)); - ColBloc:=OrangeTrois; - $=Affichage(texto); - else: - message("La commande -- MontrerVar -- admet un premier paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef CacherVar(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas : - texto=ColleBoxNew("cacher la variable",RecMenuVar(nbpas)); - ColBloc:=OrangeTrois; - $=Affichage(texto); - else: - message("La commande -- CacherVar -- admet un premier paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -%Liste -vardef AjouterListe(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string xa : - texto=ColleBoxNew("ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à",RecMenuList(xa)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); -else: - message("La commande -- AjouterListe -- admet un deuxième paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef SupprimerListe(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string xa : - texto=ColleBoxNew("supprimer l'élément",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(xa)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); -else: - message("La commande -- SupprimerListe -- admet un deuxième paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef SupprimerListeAll(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas : - texto=ColleBoxNew("supprimer tous les éléments de la liste",RecMenuList(nbpas)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); -else: - message("La commande -- SupprimerListe -- admet un deuxième paramètre de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef InsererListe(expr xa,nbpas,ya)= - LONG:=0; - save $; - picture $,texto; - if string ya : - texto=ColleBoxNew("insérer",if string xa:OvalNb(xa) else: xa fi,"en position",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(ya)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); - else: - message("La commande -- InsererListe -- admet un troisième paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef RemplacerListe(expr xa,nbpas,ya)= - LONG:=0; - save $; - picture $,texto; - if string nbpas : - texto=ColleBoxNew("remplacer l'élément",if string xa:OvalNb(xa) else: xa fi,"de la liste",RecMenuList(nbpas),"par",if string ya:OvalNb(ya) else: ya fi); - ColBloc:=OrangeListTrois; - $=Affichage(texto); -else: - message("La commande -- RemplacerListe -- admet un deuxième paramètre de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef MontrerListe(expr xa)= - LONG:=0; - save $; - picture $,texto; - if string xa : - texto=ColleBoxNew("montrer la liste",RecMenuList(xa)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); - else: - message("La commande -- MontrerListe -- admet un paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef CacherListe(expr xa)= - LONG:=0; - save $; - picture $,texto; - if string xa : - texto=ColleBoxNew("cacher la liste",RecMenuList(xa)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); - else: - message("La commande -- CacherListe -- admet un paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -%%% Section Operateur %%% - -vardef OpAdd(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$+$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpSous(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$-$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpMul(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$\times$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpDiv(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$\div$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpAlea(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew("nombre aléatoire entre",if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpRegrouper(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew("regrouper",if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpLettre(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew("lettre",if string pasun : OvalNb(pasun) else: pasun fi,"de",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpLongueur(expr pasun)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew("longueur de",if string pasun : OvalNb(pasun) else: pasun fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpArrondi(expr pasun)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew("arrondi de",if string pasun : OvalNb(pasun) else: pasun fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpFonction(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(RecMenuOp(pasun),"de",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef TestOpSup(expr pasun, pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$>$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpInf(expr pasun, pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$<$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpEgal(expr pasun, pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$=$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpEt(expr pasun, pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpOu(expr pasun, pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"ou",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpNon(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("non",if string pasun : OvalNb(pasun) else: pasun fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpContient(expr pasun,pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"contient",if string pasun : OvalNb(pasdeux) else: pasun fi,"?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef AppCostume(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(RecMenuApp(pasun),"du costume"); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor VioletAppTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef AppAP(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(RecMenuApp(pasun),"de l'arrière-plan"); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor VioletAppTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef CapDistance(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("distance de",OvalCapMenu(pasun)); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef CapTemps(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(RecMenuCap(pasun),"actuelle"); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef CapNumero(expr pasun,pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(RecMenuCap(pasun),"de",OvalCapMenu(pasdeux)); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestCapToucheObjet(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("touche le",OvalCapMenu(pasun),"?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestCapCouleur(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("couleur",OvalCouleur(redpart(pasun),greenpart(pasun),bluepart(pasun)),"touchée ?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestCapCouleurs(expr pasun,pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("couleur",OvalCouleur(redpart(pasun),greenpart(pasun),bluepart(pasun)),"touché",OvalCouleur(redpart(pasdeux),greenpart(pasdeux),bluepart(pasdeux)),"?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestCapTouche(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("touche",OvalMenuCap(pasun),"pressée ?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestCapSouris= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("souris pressée ?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestListeContient(expr nbpas,nbbas)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(RecMenuList(nbpas),"contient",if string nbbas:OvalNb(nbbas) else: nbbas fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef ListeElement(expr nbpas,nbbas)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("élément",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(nbbas)); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef ListePosition(expr nbpas,nbbas)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("position de",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(nbbas)); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef ListeLongueur(expr nbpas)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("longueur de",RecMenuList(nbpas)); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - diff --git a/macros/latex/contrib/profcollege/metapost/PfC-Scratch.mp b/macros/latex/contrib/profcollege/metapost/PfC-Scratch.mp deleted file mode 100644 index 8da257901b..0000000000 --- a/macros/latex/contrib/profcollege/metapost/PfC-Scratch.mp +++ /dev/null @@ -1,3346 +0,0 @@ -%%%%% epaisseur de tracés %%%%%%%% -numeric eppen; -eppen=0.25; - -pickup pencircle scaled eppen; -defaultpen := savepen; - -%points pour placer les différents éléments -pair _coinprec;%coinbasgauche de la boite précédente -pair _coincom;%coinbasdroite de la boite afin d'y mettre des commentaires -pair _coinnum;%milieu côté gauche pour placer la numérotation des lignes - -%paramètres -numeric Nblignes; Nblignes:=1; -pair DebutListe; DebutListe=(0,0); -boolean NumeroteLignes; NumeroteLignes=false; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% couleurs -color CoulLignes; CoulLignes:=black; -color ColBloc; % alias des couleurs de bloc - -%Version3 -color BleuMouvTrois,dBleuMouvTrois,VioletAppTrois,dVioletAppTrois,OrangeConTrois,OrangeTrois,OrangeListTrois,SonTrois,DSonTrois,EvenementTrois,CapteurTrois,StyloTrois,BlocTrois,BlocDefTrois,BlocDefLigneTrois,MessageTrois,ControleTrois,CapFonceTrois,CloneTrois,FondSonTrois,OvalStyloTrois,FondOvalOp; -BleuMouvTrois=(76/255,151/255,255/255); -dBleuMouvTrois=(66/255,128/255,215/255); -VioletAppTrois=(153/255,102/255,255/255); -dVioletAppTrois=(133/255,92/255,214/255); -OrangeConTrois=(255/255,171/255,25/255); -OrangeTrois=(255/255,140/255,26/255); -OrangeListTrois=(255/255,102/255,26/255); -SonTrois=(207/255,99/255,207/255); -DSonTrois=(201/255,79/255,201/255); -FondSonTrois=(15/255,189/255,140/255); -EvenementTrois=(255/255,191/255,0); -MessageTrois=(230/255,172/255,0); -CapteurTrois=(92/255,177/255,214/255); -CapFonceTrois=(71/255,168/255,209/255); -StyloTrois=(15/255,189/255,140/255); -OvalStyloTrois=(13/255,165/255,122/255); -BlocTrois=(255/255,102/255,128/255); -BlocDefTrois=(255/255,77/255,106/255); -BlocDefLigneTrois=(255/255,51/255,85/255); -ControleTrois=(255/255,171/255,25/255); -CloneTrois=(236/255,156/255,19/255); -FondOvalOp=(89/255,192/255,89/255); - -vardef FondOvalAppMenu= - save $; color $; - $=dVioletAppTrois; - $ -enddef; - -%%%%Alias -def Place expr o = - if path o: draw o else: draw o fi -enddef; - -%impression -boolean print; -print=false; - -numeric coefprint; -coefprint:=0.95; - -%texte ou symbole droite gauche -boolean symbole; -symbole=true; - -%divers -numeric eb;%ecart boite-texte -eb:=3pt; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Création des boites -ecrt:=eb/2;%largeur de la bordure de départ des boites Box, OValBox... - -vardef Box(text t)= - save $; path $; - picture ox; - ox=image( - if string t: - string demitt; - demitt=t&"\barre"; - label(TEX(demitt),(0,0)); - else: - draw t; - fi; - ); - $=(llcorner ox+(0,-ecrt))--(lrcorner ox+(0,-ecrt))--(urcorner ox+(0,ecrt))--(ulcorner ox+(0,ecrt))--cycle; - $ -enddef; - -vardef RecBox(text t)= - save $; path $; path xo; - if string t: - string demit; - demit=t&"\demibarre"; - xo=Box(demit);%on crée la boite contenant le texte - else: - xo=Box(t); - fi; - $=(llcorner xo+(-eb,eb)){dir-90}..{dir0}(llcorner xo)--(lrcorner xo){dir0}..{dir90}(lrcorner xo+(eb,eb))--(urcorner xo+(eb,-eb)){dir90}..{dir180}(urcorner xo)--(ulcorner xo){dir180}..{dir-90}(ulcorner xo+(-eb,-eb))--cycle; - $ -enddef; - -%%%%%%%%%%%%%% - -%%%%%%% Boites Ovales %%%%%%%% -vardef OvalBox(text t)= - save $; path $; path xo; - if string t: - string demit; - demit=t&"\barre"; - xo=Box(demit);%on crée la boite contenant le texte - else: - xo=Box(t); - fi; - $=(llcorner xo+(eb,0))--(lrcorner xo-(eb,0)){dir0}..{dir180}(urcorner xo+(-eb,0))--(ulcorner xo+(eb,0)){dir180}..{dir0}cycle;%on "arrondit" la boite - $ -enddef; - -vardef OvalVar(expr ar)= - save Ovar; picture Ovar; - save TAvar; path TAvar; - string TTv; - TTv=ar&"\barre"; - TAvar=OvalBox(TTv); - Ovar=image( - fill TAvar if print=false : withcolor OrangeTrois else : withcolor white fi; - draw TAvar if print=false : withcolor coefprint*white fi; - label(TEX("\barre\bfseries "&ar),(0,0)) if print=false : withcolor white fi; - ); - Ovar:=Ovar shifted(-center Ovar); - Ovar -enddef; - -vardef OvalList(text listelist)= - save CList; picture CList; - path TAlist; picture LOCMt; - LOCMt=ColleBoxNew(listelist); - TAlist=OvalBox(LOCMt); - CList=image( - fill TAlist if print=false : withcolor OrangeListTrois else : withcolor white fi; - draw LOCMt; - draw TAlist if print=false : withcolor coefprint*white fi; - ); - CList:=CList shifted(-center CList); - CList -enddef; - -vardef OvalBloc(expr ar)= - save $; picture $; - path tabloc; - tabloc=OvalBox(ar); - $=image( - fill tabloc if print=false : withcolor BlocTrois else: withcolor white fi; - draw tabloc if print=true : withcolor black else: withcolor BlocDefLigneTrois fi; - label(TEX("\bfseries\barre "&ar),(0,0)) if print=false : withcolor blanc fi; - ); - $ -enddef; - -vardef OvalMiniBox(text t)= - save $; path $; path xo; - if string t: - string demit; - demit=t&"\barre"; - xo=Box(demit);%on crée la boite contenant le texte - else: - xo=Box(t); - fi; - $=(llcorner xo+(eb/2,0))--(lrcorner xo-(eb/2,0)){dir0}..{dir180}(urcorner xo+(-eb/2,0))--(ulcorner xo+(eb/2,0)){dir180}..{dir0}cycle;%on "arrondit" la boite - $ -enddef; - -vardef DiamondBox(text t)= - save $; path $; path xo; - xo=Box(t);%on crée la boite contenant le texte - $=(llcorner xo-(eb,0))--(lrcorner xo+(eb,0))--(1/2[lrcorner xo,urcorner xo]+(4eb,0))--(urcorner xo+(eb,0))--(ulcorner xo-(eb,0))--(1/2[llcorner xo,ulcorner xo]+(-4eb,0))--cycle; - $ -enddef; - -vardef OvalNb(expr ar)= - save Onb; picture Onb; - path tanb; - tanb=OvalBox(ar); - Onb=image( - fill tanb withcolor white; - draw tanb if print=false : withcolor coefprint*white fi; - label(TEX("\barre "&ar),(0,0)); - ); - Onb -enddef; - -vardef OvalText(expr ar)= - save $; save TA; - picture $; - path TA; - TA=OvalBox(ar); - $=image(% - fill TA withcolor white; - draw TA if print=false : withcolor coefprint*white fi; - label(TEX("\barre "&ar),(0,0)); - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef OvalOp(text listeop)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(listeop); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OvalApp(text listop)= - save $; picture $; - save ta; path ta; - save TTap; picture TTap; - TTap=ColleBoxNew(listop); - ta=OvalBox(TTap); - $=image( - fill ta if print=false : withcolor VioletAppTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - draw TTap; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef OvalSon(text listop)= - save $; picture $; - save ta; path ta; - save TTap; picture TTap; - TTap=ColleBoxNew(listop); - ta=OvalBox(TTap); - $=image( - fill ta if print=false : withcolor SonTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - draw TTap; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef OvalMusique(expr ar)= - save $; save TA; - picture $; - if string ar: - picture TT; - TT=ColleBoxNew(DoubleNote,"tempo"); - path TA; - TA=OvalBox(TT); - $=image( - fill TA if print : withcolor white else : withcolor StyloTrois fi; - draw TT if print=true : withcolor coefprint*white fi; - ); - else: - message("La commande --OvalStylo-- n'accepte qu'un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef OvalMouv(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=ar&"\longbarre"; - ta=OvalBox(TTm); - $=image( - fill ta if print=false : withcolor BleuMouvTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(TEX("\longbarre "&ar),center ta) if print=false : withcolor blanc fi; - ); - $ -enddef; - -vardef OvalMenuCap(expr art)=OvalCapMenu(art) enddef; - -vardef OvalCapMenu(expr ar)= - save $; picture $; - string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TAMC; - TAMC=OvalBox(TTm); - $=image( - fill TAMC if print : withcolor white else : withcolor CapFonceTrois fi; - draw TAMC if print=false : withcolor coefprint*white fi; - label(TEX(TTm),center TAMC); - ); - $ -enddef; - -vardef OvalCap(text listecap)= - save Cap; picture Cap; - save TAcap; path TAcap; - save LOCMcap; picture LOCMcap; - LOCMcap=ColleBoxNew(listecap); - TAcap=OvalBox(LOCMcap); - Cap=image( - fill TAcap if print=false : withcolor CapteurTrois else : withcolor white fi; - draw LOCMcap; - draw TAcap if print=false : withcolor coefprint*white fi; - ); - Cap:=Cap shifted(-center Cap); - Cap -enddef; - -vardef OvalMouvMenu(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: - "\color{white}"&ar&"\hbox to1em{\barre}\color{black}\blacktriangledown" - fi; - ta=OvalBox(TTm); - $=image( - fill ta if print=false : withcolor dBleuMouvTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(TEX(TTm),center ta); - ); - $ -enddef; - -vardef OvalAppMenu(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - ta=OvalBox(TTm); - $=image( - fill ta if print=false : withcolor FondOvalAppMenu else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(TEX(TTm),center ta); - ); - $ -enddef; - -vardef OvalSonMenu(expr art)=OvalMenuSon(art) enddef; - -vardef OvalMenuSon(expr ar)= - save $; save TA; - picture $; - string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=OvalBox(TTm); - $=image(% - fill TA if print : withcolor white else : withcolor DSonTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(TEX(TTm),center TA); - ); - $ -enddef; - -vardef OvalMenuControle(expr ar)= - save $; save TA; - picture $; - string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=OvalBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor CloneTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(TEX(TTm), center TA); - ); - $ -enddef; - -vardef OvalStylo(expr ar)= - save $; save TA; - picture $; - string TT,TTI; - if string ar: - if print: - TT=ar&"\hbox to1em{\barre}\blacktriangledown" - else: - TT=ar&"\hbox to1em{\barre}\color{white}\blacktriangledown" - fi; - TTI=ar&"\hbox to1em{\barre}\phantom{\blacktriangledown}"; - path TA; - TA=OvalBox(TT); - $=image( - fill TA if print : withcolor white else : withcolor OvalStyloTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(TEX(TT),(0,0)) if print=false : withcolor white fi; - ); - else: - message("La commande --OvalStylo-- n'accepte qu'un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef OvalCouleur(expr redcc,greencc,bluecc)= - save $; picture $; - string TTv; - path tacol; - TTv="\phantom{10}\barre"; - tacol=OvalBox(TTv); - $=image( - fill tacol withcolor (redcc,greencc,bluecc); - draw tacol; - ); - $:=$ shifted(-center tacol); - $ -enddef; - -vardef OvalMenuEvenement(expr ar)= - save $; save TA; - picture $; - string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=OvalBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor MessageTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(TEX(TTm), center TA); - ); - $ -enddef; - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Rectangles -vardef RecMouvMenu(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown" - fi; - ta=RecBox(TTm); - $=image( - fill ta if print=false : withcolor BleuMouvTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(TEX(TTm),center ta); - ); - $ -enddef; - -vardef RecMenuApp(expr ar)= - save $; picture $; - save ta; path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - ta=RecBox(TTm); - $=image( - fill ta if print=false : withcolor VioletAppTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(TEX(TTm),center ta); - ); - $ -enddef; - -vardef RecMenuOp(expr ar)= - save $; save TA; - picture $; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=RecBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor FondOvalOp fi; - draw TA if print=false : withcolor coefprint*white fi; - label(TEX(TTm), center TA); - ); - $ -enddef; - -vardef RecMenuSon(expr ar)= - save $; save TA; - picture $; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown" fi; - path TA; - TA=RecBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor SonTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(TEX(TTm), center TA); - ); - $ -enddef; - -vardef RecEvenementMenu(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - ta=RecBox(TTm); - $=image( - fill ta if print=false : withcolor EvenementTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(TEX(TTm),center ta); - ); - $ -enddef; - -vardef RecMenuCap(expr ar)= - save $; picture $; - path ta; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - ta=RecBox(TTm); - $=image( - fill ta if print=false : withcolor CapteurTrois else: withcolor white fi; - draw ta if print=false : withcolor coefprint*white fi; - label(TEX(TTm),center ta); - ); - $ -enddef; - -vardef RecMenuVar(expr ar)= - save $; save TA; - picture $; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=RecBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor OrangeTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(TEX(TTm), center TA); - ); - $ -enddef; - -vardef RecMenuList(expr ar)= - save $; save TA; - picture $; string TTm; - TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; - fi; - path TA; - TA=RecBox(TTm); - $=image( - fill TA if print : withcolor white else : withcolor OrangeListTrois fi; - draw TA if print=false : withcolor coefprint*white fi; - label(TEX(TTm), center TA); - ); - $ -enddef; - -%%%%%%% Affichage Complet %%%%%%%%%%%%% -vardef PuzzleBox(text t)= - save $; path $; path xo; - xo=Box(t);%on crée la boite contenant le texte - $=(llcorner xo+(-eb,0)){dir-90}..{dir0}(llcorner xo+(0,-eb))-- - (llcorner xo+(0.375cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner xo+(0.375cm,0)+(0,-2eb))-- - (llcorner xo+(0.625cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner xo+(0.625cm,0)+(eb,-eb))-- - (lrcorner xo+(0,-eb)){dir0}..{dir90}(lrcorner xo+(eb,0))--(urcorner xo+(eb,0)){dir90}..{dir-180}(urcorner xo+(0,eb))-- - (ulcorner xo+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner xo+(0.625cm,0))-- - (ulcorner xo+(0.375cm,0)){dir180}.. - {dir180}(ulcorner xo+(0.375cm,0)+(-eb,eb))-- - (ulcorner xo+(0,eb)){dir-180}..{dir-90}(ulcorner xo+(-eb,0))--cycle; - $ -enddef; - -vardef BlocPuzzle(text nombloc)= - save Bpuzzle; picture Bpuzzle; - path TABp; picture LOCMp; - LOCMp=ColleBoxNew(nombloc); - TABp=PuzzleBox(LOCMp); - Bpuzzle=image( - fill TABp if print=false : withcolor BlocDefTrois else : withcolor white fi; - draw LOCMp; - draw TABp if print=true : withcolor black else: withcolor BlocDefLigneTrois fi; - ); - Bpuzzle:=Bpuzzle shifted(-center Bpuzzle+(0,-eb/2)); - Bpuzzle -enddef; - -vardef ColleBoxNew(text t)=%Pour coller plusieurs boites - save Colle; picture Colle; - Colle=nullpicture; - numeric nbcolle; nbcolle:=0; - save NBCOLLE; path NBCOLLE; - for p_ = t: - nbcolle:=nbcolle+1; - endfor; - picture HOLD; HOLD:=nullpicture; - if unknown LONG: LONG:=0 fi; - if nbcolle=1:%On dessine - for p_ = t: - if string p_: - NBCOLLE:=Box(p_); - HOLD:=image( - label(TEX("\sffamily\bfseries\longbarre "&p_),(0,0)) if print=false : withcolor white fi;%->ok - ); - HOLD:=(HOLD shifted ((xpart((center HOLD)-(llcorner HOLD))+LONG,0))); - else: - HOLD:=(p_ shifted ((xpart((center p_)-(llcorner p_))+LONG,0))); - fi; - endfor; - addto Colle also HOLD; - LONG:=LONG+abs(lrcorner Colle - llcorner Colle)+eb; - else:%il faut coller les boites une à une - for p_ = t: - addto Colle also (ColleBoxNew(p_)); - endfor; - fi; - Colle -enddef; - -vardef CADRE(expr texti)= - save $; path $; - $=(llcorner texti+(-eb,0)){dir-90}..{dir0}(llcorner texti+(0,-eb))-- - (llcorner texti+(0.375cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner texti+(0.375cm,0)+(0,-2eb))-- - (llcorner texti+(0.625cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner texti+(0.625cm,0)+(eb,-eb))-- - (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir-180}(urcorner texti+(0,eb))-- - (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner texti+(0.625cm,0))-- - (ulcorner texti+(0.375cm,0)){dir180}.. - {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- - (ulcorner texti+(0,eb)){dir-180}..{dir-90}(ulcorner texti+(-eb,0))--cycle; - $ -enddef; - -vardef AFFI(expr texta)= - path cadre; - cadre=CADRE(texta); - picture TEXT; - TEXT=image(% - fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; - draw texta; - draw cadre withcolor CoulLignes; - ); - TEXT -enddef; - -vardef Affichage(expr textu)= - save $; - picture $; - $=AFFI(textu); - $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); -_coinprec:=(llcorner $)+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -%Pour les blocs de type contrôle -vardef CADRECONTROLE(expr texti)= - save $; path $; - path tracecadre; - $=(llcorner texti+(-eb,-eb))--%(llcorner texti+(0,-eb))-- - (llcorner texti+(0.875cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner texti+(0.875cm,0)+(0,-2eb))-- - (llcorner texti+(1.125cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner texti+(1.125cm,0)+(eb,-eb))-- - (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir180}(urcorner texti+(0,eb))-- - (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner texti+(0.625cm,0))-- - (ulcorner texti+(0.375cm,0)){dir180}.. - {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- - (ulcorner texti+(0,eb)){dir180}..{dir-90}(ulcorner texti+(-eb,0))--cycle; - tracecadre=(llcorner texti+(0.5cm,0)+(0,-eb))--(llcorner texti+(0.875cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner texti+(0.875cm,0)+(0,-2eb))-- - (llcorner texti+(1.125cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner texti+(1.125cm,0)+(eb,-eb))-- - (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir180}(urcorner texti+(0,eb))-- - (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner texti+(0.625cm,0))-- - (ulcorner texti+(0.375cm,0)){dir180}.. - {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- - (ulcorner texti+(0,eb)){dir180}..{dir-90}(ulcorner texti+(-eb,0))-- - (llcorner texti+(-eb,-eb)); - $ -enddef; - -vardef AFFICONTROLE(expr texta)= - path cadre; - cadre=CADRECONTROLE(texta); - picture TEXT; - TEXT=image( - fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; - draw texta; - draw tracecadre withcolor CoulLignes; - ); - TEXT -enddef; - -vardef AffichageControle(expr textu)= - save $; - picture $; - $=AFFICONTROLE(textu); - $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); -_coinprec:=llcorner $+(0.5cm,0); -_coinprec:=_coinprec+(0,eb); -coindebutbloc[numblocrep]:=(llcorner $)+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -vardef CADREED(expr texti)= - save $; path $; - $=(llcorner texti+(-eb,0)){dir-90}..{dir0}(llcorner texti+(0,-eb))-- - (llcorner texti+(0.375cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner texti+(0.375cm,0)+(0,-2eb))-- - (llcorner texti+(0.625cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner texti+(0.625cm,0)+(eb,-eb))-- - (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir-180}(urcorner texti+(0,eb))-- - 1/2[ulcorner texti+(-eb,eb),urcorner texti+(eb,eb)]{dir150}..{dir-150}(ulcorner texti+(-eb,eb))--cycle; - $ -enddef; - -vardef AFFIED(expr texta)= - path cadre; - cadre=CADREED(texta); - picture TEXT; - TEXT=image( - fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; - draw texta; - draw cadre withcolor CoulLignes; - ); - TEXT -enddef; - -vardef AffichageED(expr textu)= - save $; - picture $; - $=AFFIED(textu); - $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -%%% section Mouvement %%%%%%%%%% -vardef Avancer(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("avancer de",OvalNb(nbpas),"pas"); - else: - texto=ColleBoxNew("avancer de",nbpas,"pas"); - fi; - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Arcdroite= - save $; - picture $; - $=image( - path cc; - cc=fullcircle scaled 10pt; - drawarrow reverse(subpath(0,0.75*length cc) of cc) withpen pencircle scaled 2bp if print=false: withcolor white fi; - ); - $ -enddef; - -vardef Arcgauche= - save $; - picture $; - $=image( - path cc; - cc=fullcircle scaled 10pt; - drawarrow (subpath(0.75*length cc,1.5*length cc) of cc) withpen pencircle scaled 2bp if print=false: withcolor white fi; - ); - $ -enddef; - -vardef Tournerd(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - if symbole=true: - texto=ColleBoxNew("tourner",Arcdroite,"de",OvalNb(nbpas),"degré(s)"); - else: - texto=ColleBoxNew("tourner à droite de",OvalNb(nbpas),"degré(s)"); - fi; - else: - if symbole=true: - texto=ColleBoxNew("tourner",Arcdroite,"de",nbpas,"degré(s)"); - else: - texto=ColleBoxNew("tourner à droite de",nbpas,"degré(s)"); - fi; - fi; - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Tournerg(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - if symbole=true: - texto=ColleBoxNew("tourner",Arcgauche,"de",OvalNb(nbpas),"degré(s)"); - else: - texto=ColleBoxNew("tourner à gauche de",OvalNb(nbpas),"degré(s)"); - fi; - else: - if symbole=true: - texto=ColleBoxNew("tourner",Arcgauche,"de",nbpas,"degré(s)"); - else: - texto=ColleBoxNew("tourner à gauche de",nbpas,"degré(s)"); - fi; - fi; - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Orienter(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("s'orienter à",OvalNb(nbpas)); - else: - texto=ColleBoxNew("s'orienter à",nbpas); - fi; - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Orienterdirection(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("s'orienter vers",OvalMouvMenu(nbpas)); - else: - texto=ColleBoxNew("s'orienter vers",nbpas); - fi; - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef OrienterVers(expr nbpass)=Orienterdirection(nbpass) enddef; - -vardef Aller(expr xa,ya)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("aller à x:",if string xa:OvalNb(xa) else: xa fi,"y:",if string ya:OvalNb(ya) else: ya fi); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Glisser(expr na,xa,ya)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("glisser en",if string na:OvalNb(na) else: na fi,"seconde(s) à x :",if string xa:OvalNb(xa) else: xa fi,"y:",if string ya:OvalNb(ya) else: ya fi); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef Allera(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("aller à",OvalMouvMenu(nbpas)); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - else: - message(""); - message("La commande -- Allera -- n'accepte qu'un type string comme argument."); - message(""); - $=nullpicture; - fi; - $ -enddef; - -vardef Glissera(expr na,xa)= - LONG:=0; - save $; - picture $, texto; - if string xa: - texto=ColleBoxNew("glisser en",if string na:OvalNb(na) else: na fi,"seconde(s) à",OvalMouvMenu(xa)); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); -else: - message(""); - message("La commande -- Glissera -- n'accepte qu'un type string comme deuxième argument."); - message(""); - $=nullpicture; -fi; - $ -enddef; - -vardef Ajouter(expr nba,xa)= - LONG:=0; - save $; - picture $, texto; - if string xa: - texto=ColleBoxNew("ajouter",if string nba:OvalNb(nba) else: nba fi,"à",xa); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); -else: - message(""); - message("La commande -- Ajouter -- n'accepte qu'un type string comme deuxième argument."); - message(""); - $=nullpicture; -fi; -$ -enddef; - -vardef Mettre(expr xa,nba)= - LONG:=0; - save $; - picture $, texto; - if string xa: - texto=ColleBoxNew("mettre",xa,"à",if string nba:OvalNb(nba) else: nba fi); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - else: - message(""); - message("La commande -- Mettre -- n'accepte qu'un type string comme premier argument."); - message(""); - $=nullpicture; - fi; - $ -enddef; - -vardef Rebondir= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("rebondir si le bord est atteint"); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - $ -enddef; - -vardef FixerSensRotation(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("fixer le sens de rotation",RecMouvMenu(nbpas));%RecMouvMenu(nbpas)); - ColBloc:=BleuMouvTrois; - $=Affichage(texto); - else: - message("La commande --FixerSensRotation-- admet un seul argument de type string"); - $=nullpicture; - fi; - $ -enddef; - -%%%% fin section Mouvement %%%%%% - -%%%%% Section Apparence %%%%%%%%% -vardef DireT(expr na,xa)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("dire",if string na:OvalText(na) else: na fi,"pendant",if string xa : OvalNb(xa) else: xa fi,"seconde(s)"); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef Dire(expr na)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("dire",if string na:OvalText(na) else: na fi); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef PenserT(expr na,xa)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("penser à",if string na:OvalText(na) else: na fi,"pendant",if string xa : OvalNb(xa) else: xa fi,"seconde(s)"); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef Penser(expr na)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("penser à",if string na:OvalText(na) else: na fi); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef Montrer= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("montrer"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - $ -enddef; - -vardef Cacher= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("cacher"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - $ -enddef; - -vardef Basculer(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("basculer sur le costume",OvalAppMenu(nbpas)); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - else: - message("La commande --Basculer-- n'accepte qu'un argument string."); - $=nullpicture; - fi; - $ -enddef; - -vardef BasculerCostume(expr nbpass)=Basculer(nbpass) enddef; - -vardef CostumeSuivant= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("costume suivant"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -$ -enddef; - -vardef ARSuivant= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("arrière-plan suivant"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -$ -enddef; - -vardef BasculerAR(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("basculer sur l'arrière-plan",OvalAppMenu(nbpas)); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - else: - message("La commande --BasculerAR-- n'accepte qu'un argument string."); - $=nullpicture; - fi; - $ -enddef; - -vardef BasculerARA(expr nbpas)=%quand la scène est sélectionnée... - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("basculer sur l'arrière-plan",OvalAppMenu(nbpas)," et attendre"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - else: - message("La commande --BasculerARA-- n'accepte qu'un argument string."); - $=nullpicture; - fi; - $ -enddef; - -vardef AjouterEffet(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string xa: - texto=ColleBoxNew("ajouter",if string nbpas: OvalNb(nbpas) else: nbpas fi," à l'effet",RecMenuApp(xa)); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -else: - message("La commande --AjouterEffet-- n'accepte qu'un deuxième argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef MettreEffet(expr xa,nbpas)= - LONG:=0; - save $; - picture $,texto; - if string xa: - texto=ColleBoxNew("mettre l'effet",RecMenuApp(xa),"à",if string nbpas:OvalNb(nbpas) else: nbpas fi); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -else: - message("La commande --MettreEffet-- n'accepte qu'un premier argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef AnnulerEffet= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("annuler les effets graphiques"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -$ -enddef; - -vardef AnnulerEffets=AnnulerEffet enddef; - -vardef AjouterTaille(expr na)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("ajouter",if string na:OvalNb(na) else: na fi,"à la taille"); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef MettreA(expr na)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("mettre la taille à",if string na:OvalNb(na) else: na fi,"\% de la taille initiale"); -ColBloc:=VioletAppTrois; -$=Affichage(texto); -$ -enddef; - -vardef MettreTaille(expr art)=MettreA(art) enddef; - -vardef AllerPlan(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("aller à l'",RecMenuApp(nbpas),"plan"); - ColBloc:=VioletAppTrois; - $=Affichage(texto); - else: - message("La commande --AllerPlan-- n'accepte qu'un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef DeplacerPlan(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string xa: - texto=ColleBoxNew("déplacer de",if string nbpas:OvalNb(nbpas) else: nbpas fi,"plan(s) vers l'",RecMenuApp(xa)); - ColBloc:=VioletAppTrois; - $=Affichage(texto); -else: - message("La commande --DeplacerPlan-- n'accepte qu'un deuxième argument de type string."); - $=nullpicture; -fi; -$ -enddef; -%%%%fin Section Apparance%%%%%%%%%%%% - -%%%%%% Section Son%%%%%%%%%%%% -vardef Jouer(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas : - texto=ColleBoxNew("jouer le son",OvalMenuSon(nbpas)); - ColBloc:=SonTrois; - $=Affichage(texto); - else: - message("La commande --Jouer-- n'accepte qu'un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef JouerT(expr nbpas)= - LONG:=0; - save $; - picture $, texto; - if string nbpas: - texto=ColleBoxNew("jouer le son",OvalMenuSon(nbpas)," jusqu'au bout"); - ColBloc:=SonTrois; - $=Affichage(texto); - else: - message("La commande --Jouer-- n'accepte qu'un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef ArreterSon= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("arrêter tous les sons"); - ColBloc:=SonTrois;; - $=Affichage(texto); - $ -enddef; - -vardef ArreterSons=ArreterSon enddef; - -vardef AjouterVol(expr xa)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("ajouter",if string xa:OvalNb(xa) else: xa fi," au volume"); - ColBloc:=SonTrois; - $=Affichage(texto); - $ -enddef; - -vardef MettreVol(expr xa)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("mettre le volume à",if string xa: OvalNb(xa) else: xa fi,"~\%"); - ColBloc:=SonTrois; - $=Affichage(texto); - $ -enddef; - -vardef AjouterEffetSon(expr nombre, effet)= - LONG:=0; - save $; - picture $, texto; - if string effet: - texto=ColleBoxNew("ajouter",if string nombre : OvalNb(nombre) else: nombre fi," à l'effet",RecMenuSon(effet)); - ColBloc:=SonTrois; - $=Affichage(texto); -else: - message("La commande -- AjouterEffet -- n'accepte qu'un deuxième argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef MettreEffetSon(expr effet,nombre)= - LONG:=0; - save $; - picture $, texto; - if string effet: - texto=ColleBoxNew("mettre l'effet",RecMenuSon(effet),"à",if string nombre:OvalNb(nombre) else: nombre fi); - ColBloc:=SonTrois; - $=Affichage(texto); -else: - message("La commande -- MettreEffet -- n'accepte qu'un argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef AnnulerEffetSon= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew("annuler tous les effets sonores"); - ColBloc:=SonTrois; - $=Affichage(texto); - $ -enddef; - -%Musique -vardef Tambour(expr na,xa)= - LONG:=0; - save $; - picture $, texto; - if string na: - texto=ColleBoxNew(DoubleNote,"jouer du tambour",OvalStylo(na),"pendant",if string xa:OvalNb(xa) else: xa fi,"temps"); - ColBloc:=StyloTrois; - $=Affichage(texto); -else: - message("La commande --Tambour-- n'accepte qu'un premier argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef Pause(expr na)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew(DoubleNote,"faire une pause pendant",if string na: OvalNb(na) else: na fi," temps"); - ColBloc:=StyloTrois; - $=Affichage(texto); - $ -enddef; - -vardef JouerNote(expr na,xa)= - LONG:=0; - save $; - picture $, texto; - texto=ColleBoxNew(DoubleNote,"jouer la note",if string na:OvalNb(na) else: na fi," pendant",if string xa:OvalNb(xa) else: xa fi," temps"); -ColBloc:=StyloTrois; -$=Affichage(texto); -$ -enddef; - -vardef ChoisirInstrument(expr na)= - LONG:=0; - save $; - picture $, texto; - if string na: - texto=ColleBoxNew(DoubleNote,"choisir l'instrument \no{}",OvalStylo(na)); - ColBloc:=StyloTrois; - $=Affichage(texto); - else: - message("La commande -- ChoisirInstrument -- n'accepte qu'un argument de type string"); - $=nullpicture; - fi; - $ -enddef; - -vardef MettreTempo(expr xa)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(DoubleNote,"mettre le tempo à",if string xa:OvalNb(xa) else: xa fi); - ColBloc:=FondSonTrois; - $=Affichage(texto); - $ -enddef; - -vardef AjouterTempo(expr xa)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(DoubleNote,"ajouter",if string xa:OvalNb(xa) else: xa fi," au tempo"); -ColBloc:=FondSonTrois; -$=Affichage(texto); -$ -enddef; - -vardef DoubleNote= - save $; - picture $; - $=image( - draw (((0,0)--(0,18pt)) shifted(-12,-9pt)) withpen pencircle scaled 1bp withcolor if print: coefprint*white else: StyloTrois fi; - draw NoteImage shifted((-5,-2)); - draw NoteImage shifted((3.5,2)); - draw (((0,0)--(0,18pt)) shifted(12,-9pt)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi;%Trop clair->(14/255,187/255,139/255); -); - $:=$ shifted(-3,0); - $ -enddef; - -vardef NoteImage= - save $; - picture $; - $=image( - linecap := butt; - linejoin := mitered; - fill (80.695297,716.262024)..controls (80.574203,716.257996) and (80.476601,716.171997)..(80.480499,716.062988) - --(80.687500,704.125000)..controls (79.941399,704.570007) and (78.644501,704.637024)..(77.312500,704.223022) - ..controls (75.503899,703.659973) and (74.339798,702.429993)..(74.710899,701.473022) - ..controls (75.082001,700.512024) and (76.851601,700.187988)..(78.656303,700.750000) - ..controls (80.425797,701.301025) and (81.574203,702.504028)..(81.273399,703.453003) - --(81.125000,711.987976)..controls (82.910202,711.909973) and (86.910202,711.625000)..(84.917999,706.456970) - ..controls (85.992203,707.906006) and (86.839798,709.598022)..(85.273399,711.629028) - ..controls (84.378899,712.789001) and (81.617203,713.348022)..(81.062500,715.398010) - --(81.054703,716.065979)..controls (81.050797,716.176025) and (80.953102,716.262024)..(80.832001,716.262024) - --cycle if print=false: withcolor white fi; - pickup pencircle scaled 0.797011bp; - draw (80.695297,716.262024)..controls (80.574203,716.257996) and (80.476601,716.171997)..(80.480499,716.062988) - --(80.687500,704.125000)..controls (79.941399,704.570007) and (78.644501,704.637024)..(77.312500,704.223022) - ..controls (75.503899,703.659973) and (74.339798,702.429993)..(74.710899,701.473022) - ..controls (75.082001,700.512024) and (76.851601,700.187988)..(78.656303,700.750000) - ..controls (80.425797,701.301025) and (81.574203,702.504028)..(81.273399,703.453003) - --(81.125000,711.987976)..controls (82.910202,711.909973) and (86.910202,711.625000)..(84.917999,706.456970) - ..controls (85.992203,707.906006) and (86.839798,709.598022)..(85.273399,711.629028) - ..controls (84.378899,712.789001) and (81.617203,713.348022)..(81.062500,715.398010) - --(81.054703,716.065979)..controls (81.050797,716.176025) and (80.953102,716.262024)..(80.832001,716.262024) - --cycle if print=false: withcolor white fi; - pickup pencircle scaled eppen; - ); - $:=($ rotatedabout((72.000000,699),15)) scaled 0.8; - $:=$ shifted(-center $); - $ -enddef; - -%%%%%% fin Section Son %%%%%%%%% - -%%%%%% Section Stylo %%%%%%%%% -vardef ImageCrayon= - save titi; - picture titi; - titi=image(% - draw CrayonImage shifted(-12,0); - draw (((0,0)--(0,18pt)) shifted(9,-9)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi;%Trop clair->(14/255,187/255,139/255); - ); - titi -enddef; - -vardef Effacer= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon,"effacer tout"); - ColBloc:=StyloTrois; - $=Affichage(texto); - $ -enddef; - -vardef Estampiller= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon,"estampiller"); - ColBloc:=StyloTrois; - $=Affichage(texto); - $ -enddef; - -vardef PoserStylo= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon," stylo en position d'écriture"); - ColBloc:=StyloTrois; - $=Affichage(texto); -$ -enddef; - -vardef ReleverStylo= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon,"relever le stylo"); - ColBloc:=StyloTrois; - $=Affichage(texto); -$ -enddef; - -vardef MettreCouleur(expr redc,greenc,bluec)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon," mettre la couleur du stylo à",OvalCouleur(redc,greenc,bluec)); - ColBloc:=StyloTrois; - $=Affichage(texto); - $ -enddef; - -vardef AjouterCS(text t)= - LONG:=0; - save $; - picture $,texto; - numeric k; k=0; - for p_=t: - if k=1:string effet; effet=p_ fi; - if k=0: if string p_:string nombre; nombre=p_ else: if picture p_: picture nombre; nombre=p_; fi fi fi; - k:=k+1; - endfor; - texto=ColleBoxNew(ImageCrayon,"ajouter",if string nombre:OvalNb(nombre) else: nombre fi,"à la",OvalStylo(effet),"du stylo"); -ColBloc:=StyloTrois; -$=Affichage(texto); -$ -enddef; - -vardef MettreCS(text t)= - LONG:=0; - save $; - picture $,texto; - numeric k; k=0; - for p_=t: - if k=0:string effet; effet=p_ fi; - if k=1: if string p_:string nombre; nombre=p_ else: if picture p_: picture nombre; nombre=p_; fi fi fi; - k:=k+1; - endfor; - texto=ColleBoxNew(ImageCrayon,"mettre la",OvalStylo(effet),"du stylo à",if string nombre:OvalNb(nombre) else: nombre fi); -ColBloc:=StyloTrois; -$=Affichage(texto); -$ -enddef; - -%taille du stylo -vardef AjouterTS(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon,"ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à la taille du stylo"); -ColBloc:=StyloTrois; -$=Affichage(texto); -$ -enddef; - -vardef MettreTS(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew(ImageCrayon,"mettre la taille du stylo à",if string nbpas:OvalNb(nbpas) else: nbpas fi); -ColBloc:=StyloTrois; -$=Affichage(texto); -$ -enddef; - -vardef CrayonImage= - picture cray; - cray=image(% - drawoptions (if print=false:withcolor (0.298050,0.556850,0.917650) fi); - linecap := butt; - linejoin := mitered; - fill (0.960938,1.390630)--(1.644530,2.996090)..controls (1.730470,3.199220) and (1.917970,3.500000)..(2.062500,3.664060)..controls (2.324220,3.968750) and (3.539060,2.753910)..(3.234380,2.488280)..controls (3.070310,2.343750) and (2.769530,2.160160)..(2.566410,2.074220)--cycle; - drawoptions (withcolor (0.349030,0.368640,0.450970)); - pickup pencircle scaled 0.498140bp; - draw (0.960938,1.390630)--(1.644530,2.996090)..controls (1.730470,3.199220) and (1.917970,3.500000)..(2.062500,3.664060)..controls (2.324220,3.968750) and (3.539060,2.753910)..(3.234380,2.488280)..controls (3.070310,2.343750) and (2.769530,2.160160)..(2.566410,2.074220)--cycle; - drawoptions (withcolor (1.000000,1.000000,1.000000)); - %pickup pencircle scaled 0.000000bp; - fill (1.800780,3.363280)--(2.558590,5.156250)..controls (2.601560,5.257810) and (2.699220,5.402340)..(2.777340,5.480470)--(8.281250,10.984400)..controls (8.300780,11.003900) and (8.339840,11.023400)..(8.367190,11.031300)..controls (9.757810,11.398400) and (10.968800,10.187500)..(10.601600,8.792970)..controls (10.593800,8.769530) and (10.574200,8.730470)..(10.554700,8.710940)--(6.316410,4.476560)..controls (5.539060,3.695310) and (4.089840,2.718750)..(3.074220,2.289060)--(2.980470,2.246090)..controls (2.957030,2.238280) and (2.953130,2.242190)..(2.972660,2.261720)..controls (3.539060,2.753910) and (2.324220,3.968750)..(1.800780,3.363280)--cycle; - drawoptions (if print=false:withcolor (0.349030,0.368640,0.450970) fi); - pickup pencircle scaled 0.498140bp; - draw (1.800780,3.363280)--(2.558590,5.156250)..controls (2.601560,5.257810) and (2.699220,5.402340)..(2.777340,5.480470)--(8.281250,10.984400)..controls (8.300780,11.003900) and (8.339840,11.023400)..(8.367190,11.031300)..controls (9.757810,11.398400) and (10.968800,10.187500)..(10.601600,8.792970)..controls (10.593800,8.769530) and (10.574200,8.730470)..(10.554700,8.710940)--(6.316410,4.476560)..controls (5.539060,3.695310) and (4.089840,2.718750)..(3.074220,2.289060)--(2.980470,2.246090)..controls (2.957030,2.238280) and (2.953130,2.242190)..(2.972660,2.261720)..controls (3.539060,2.753910) and (2.324220,3.968750)..(1.800780,3.363280); - drawoptions (if print=false:withcolor (0.298050,0.556850,0.917650) fi); - %pickup pencircle scaled 0.000000bp; - fill (8.316410,11.019500)--(13.031300,15.730500)..controls (13.109400,15.808600) and (13.257800,15.878900)..(13.371100,15.886700)..controls (14.308600,15.949200) and (15.519500,14.734400)..(15.457000,13.796900)..controls (15.449200,13.687500) and (15.378900,13.535200)..(15.300800,13.457000)--(10.589800,8.746090)..controls (10.968800,10.187500) and (9.757810,11.398400)..(8.316410,11.019500)--cycle; - drawoptions (if print=false:withcolor (0.349030,0.368640,0.450970) fi); - pickup pencircle scaled 0.498140bp; - draw (8.316410,11.019500)--(13.031300,15.730500)..controls (13.109400,15.808600) and (13.257800,15.878900)..(13.371100,15.886700)..controls (14.308600,15.949200) and (15.519500,14.734400)..(15.457000,13.796900)..controls (15.449200,13.687500) and (15.378900,13.535200)..(15.300800,13.457000)--(10.589800,8.746090)..controls (10.968800,10.187500) and (9.757810,11.398400)..(8.316410,11.019500)--cycle; - draw (12.562500,15.265600)..controls (7.937500,15.644500) and (9.453130,10.488300)..(6.117190,11.398400); - %pickup pencircle scaled 0.000000bp; - fill (7.199220,12.785200)..controls (6.812500,13.175800) and (6.179690,13.175800)..(5.792970,12.785200)..controls (5.402340,12.398400) and (5.402340,11.765600)..(5.792970,11.378900)..controls (6.179690,10.988300) and (6.812500,10.988300)..(7.199220,11.378900)..controls (7.589840,11.765600) and (7.589840,12.398400)..(7.199220,12.785200)--cycle; - fill (6.496090,12.082000)--cycle; - pickup pencircle scaled 0.498140bp; - draw (7.199220,12.785200)..controls (6.812500,13.175800) and (6.179690,13.175800)..(5.792970,12.785200)..controls (5.402340,12.398400) and (5.402340,11.765600)..(5.792970,11.378900)..controls (6.179690,10.988300) and (6.812500,10.988300)..(7.199220,11.378900)..controls (7.589840,11.765600) and (7.589840,12.398400)..(7.199220,12.785200)--cycle; - draw (6.496090,12.082000); - drawoptions(); - pickup pencircle scaled 0bp; - draw (-3,0)--(-3,18) withcolor if print : coefprint*white else: StyloTrois fi; - pickup pencircle scaled eppen; - ); - cray:=cray shifted((0,-9pt)); - cray -enddef; - -%%%%%% Fin Section Stylo %%%%%%%% - -%%%%%% Section Contrôle %%%%%%%%% -color colControle; -colControle:=OrangeConTrois; - -vardef AffichageStop= - path cadre; - cadre=(llcorner texto+(-eb,0)){dir-90}..{dir0}(llcorner texto+(0,-eb))-- - (lrcorner texto+(0,-eb)){dir0}..{dir90}(lrcorner texto+(eb,0))--(urcorner texto+(eb,0)){dir90}..{dir180}(urcorner texto+(0,eb))-- - (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner texto+(0.625cm,0))-- - (ulcorner texto+(0.375cm,0)){dir180}.. - {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb))-- - (ulcorner texto+(0,eb)){dir180}..{dir-90}(ulcorner texto+(-eb,0))--cycle; - picture TEXT; - TEXT=image( - fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - draw texto; - draw cadre withcolor CoulLignes; - ); - TEXT -enddef; - -pair coindebutbloc[]; -numeric numblocrep; -numblocrep:=0; - -vardef Repeter(expr xa)= - LONG:=0; - save $; - numblocrep:=numblocrep+1; - picture $,texto; - texto=ColleBoxNew("répéter", if string xa : OvalNb(xa) else: xa fi,"fois"); -LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." -ColBloc:=OrangeConTrois; -$=AffichageControle(texto); -$ -enddef; - -vardef RepeterI= - LONG:=0; - save $; - numblocrep:=numblocrep+1; - picture $,texto; - texto=ColleBoxNew("répéter indéfiniment"); - LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." - ColBloc:=OrangeConTrois; - $=AffichageControle(texto); - $ -enddef; - -vardef RepeterJ(expr xa)= - LONG:=0; - save $; - numblocrep:=numblocrep+1; - picture $,texto; - if picture xa: - texto=ColleBoxNew("répéter jusqu'à ce que",xa); - LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." - ColBloc:=OrangeConTrois; - $=AffichageControle(texto); - else: - message("La commande -- RepeterJ -- n'admet qu'un argument de type picture."); - $=nullpicture; - fi; - $ -enddef; - -vardef FinBlocRepeter= - LONG:=0; - save $; - picture $,texto; - _coinprec:=_coinprec-(0.5cm,0); - drawoptions(); - texto=image( - labeloffset:=0; - label.lrt(TEX("\hbox to"&decimal(LongRep[numblocrep])&"pt{\phantom{\barre fin du bloc}}"),if unknown _coinprec: (0,0) else:_coinprec fi); - labeloffset:=3; - ); -path cadre; -cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- - (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- - (ulcorner texto+(0.5cm,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm+eb,0))-- - (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% - (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))-- - cycle; -$=image( - fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - draw cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - AA:=ahangle; - ahangle:=90; - drawarrow (lrcorner texto+(-0.625cm,0.15cm)){dir-15}..{dir90}(urcorner texto+(-0.25cm,-0.1cm)) withpen pencircle scaled2bp if print=false : withcolor white fi; - ahangle:=AA; - draw (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- - (ulcorner texto+(0.5cm,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm+eb,0))-- - (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% - (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))--(coindebutbloc[numblocrep]+(0.125,0.125)) withcolor CoulLignes; - ); -_coinprec:=(llcorner $); -_coinprec:=_coinprec+(0,eb); -numblocrep:=numblocrep-1; -$ -enddef; - -vardef FinBlocRepeterI=FinBlocRepeter enddef; - -vardef Si(expr xa)= - LONG:=0; - save $; - numblocrep:=numblocrep+1; - picture $,texto; - if picture xa: - texto=ColleBoxNew("si\hbox to1em{}",xa,"alors"); - LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." - ColBloc:=OrangeConTrois; - $=AffichageControle(texto); - else: - message("La commande -- Si -- n'admet qu'un argument de type picture."); - $=nullpicture; - fi; - $ -enddef; - -vardef FinBlocSi= - LONG:=0; - save $; - picture $,texto; - _coinprec:=_coinprec-(0.5cm,0); - drawoptions(); - texto=image( - labeloffset:=0; - label.lrt(TEX("\hbox to"&decimal(LongRep[numblocrep])&"pt{\phantom{\barre fin du bloc}}"),if unknown _coinprec: (0,0) else:_coinprec fi); - labeloffset:=3; - ); -path cadre; -if BlocStopAvant=false: - cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- - (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- - (ulcorner texto+(0.5cm,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm+eb,0))-- - (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% - (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% - {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))-- - cycle; -else: - cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- - (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- -% (ulcorner texto+(0.125+0.875cm,0)){dir0}.. -% {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- -% (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. -% {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))-- - cycle; -fi; -$=image( - fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - draw cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - if BlocStopAvant=false: - draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- - (ulcorner texto+(0.125+0.875cm,0)){dir0}.. - {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- - (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. - {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))-- - (coindebutbloc[numblocrep]+(0.125,0.125)) - withcolor CoulLignes; - else: - draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- - %(ulcorner texto+(0.125+0.875cm,0)){dir0}.. - %{dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- - %(ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. - %{dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.375cm,0))-- - (llcorner texto+(0.125,0)+(eb,0)){dir180}.. - {dir90}(llcorner texto+(0.125,0)+(0,eb))-- - (coindebutbloc[numblocrep]+(0.125,0.125)) - withcolor CoulLignes; - fi; - ); -_coinprec:=(llcorner $); -_coinprec:=_coinprec+(0,eb); -numblocrep:=numblocrep-1; -$ -enddef; - -boolean BlocStopAvant; -BlocStopAvant=false; - -vardef Sinon= - LONG:=0; - save $; - picture $,texto; - _coinprec:=_coinprec-(0.5cm,0); - drawoptions(); - texto=image( - labeloffset:=0; - label.lrt(TEX("\, \hbox to"&decimal(LongRep[numblocrep])&"pt{\bfseries\barre sinon}"),if unknown _coinprec: (0,0) else:_coinprec fi) if print=false : withcolor blanc fi; - labeloffset:=3; - ); - path cadre; - if BlocStopAvant=false: - cadre=(llcorner texto+(0.125,0))-- - (coindebutbloc[numblocrep]+(0.125,0.125))-- - (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- - (ulcorner texto+(0.125+0.875cm,0)){dir0}.. - {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- - (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. - {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.875cm,0))-- - cycle; - else: - cadre=(llcorner texto+(0.125,0))-- - (coindebutbloc[numblocrep]+(0.125,0.125))-- - (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- -% (ulcorner texto+(0.125+0.875cm,0)){dir0}.. -% {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- -% (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. -% {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.875cm,0))-- - cycle; - fi; -$=image( - fill cadre withcolor if print=true : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - draw cadre withcolor if print=true : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; - draw texto; - if BlocStopAvant=false: - draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- - (ulcorner texto+(0.125+0.875cm,0)){dir0}.. - {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- - (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. - {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.875cm,0))-- - (llcorner texto+(0.125+0.5cm+eb,0)) - withcolor CoulLignes; - else: - draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. - {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- - (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. - {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- - %(ulcorner texto+(0.125+0.875cm,0)){dir0}.. - %{dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- - %(ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. - %{dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% - (urcorner texto+(-eb,0)){dir0}.. - {dir-90}(urcorner texto+(0,-eb))-- - (lrcorner texto+(0,eb)){dir-90}.. - {dir180}(lrcorner texto+(-eb,0))-- - (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. - {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- - (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. - {dir180}(llcorner texto+(0.125+0.875cm,0)) - withcolor CoulLignes; - fi; - draw (llcorner texto+(0.125,0))--(coindebutbloc[numblocrep]+(0.125,0.125)) withcolor CoulLignes; - ); - _coinprec:=(llcorner $)+(0.5cm,0); - _coinprec:=_coinprec+(0,eb); - coindebutbloc[numblocrep]:=(llcorner $)+(0,eb+0.125); - $ -enddef; - -vardef Attendre(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("attendre",if string nbpas:OvalNb(nbpas) else: nbpas fi,"seconde(s)"); -ColBloc:=OrangeConTrois; -$=Affichage(texto); -$ -enddef; - -vardef AttendreJ(expr xa)= - LONG:=0; - save $; - picture $,texto; - if picture xa: - texto=ColleBoxNew("attendre jusqu'à ce que",xa); - ColBloc:=OrangeConTrois; - $=Affichage(texto); - else: - message("La commande -- AttendreJ -- n'admet qu'un argument de type picture."); - $=nullpicture; - fi; - $ -enddef; - -vardef Stop(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - string TTm;%Pour sauvegarder le nbpas car en l'utilisant dans les if, il ne permet pas la concaténation... - TTm=if print:nbpas&"\hbox to1em{\barre}\blacktriangledown" else:"\color{white}"&nbpas&"\hbox to1em{\barre}\blacktriangledown"; - fi; - texto=image( - path ti; - ti=Box("stop"); - label(TEX("\bfseries\barre stop"),center ti) if print=false : withcolor white fi;%_>ok - if picture nbpas: - picture ta; - ta=nbpas; - drawoptions(shifted (xpart((lrcorner ti)-(llcorner ta)+(eb,0)),ypart(center ti-center ta))); - draw ta; - drawoptions(); - else: - path ta; - ta=RecBox(TTm);% - drawoptions(shifted (xpart((lrcorner ti)-(llcorner ta)+(eb,0)),ypart(center ti-center ta))); - if print=false : fill ta withcolor ControleTrois fi; - draw ta withcolor 0.95white; - label(TEX(TTm),center ta); - drawoptions(); - fi; - ); -$=AffichageStop shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageStop); -_coinprec:=llcorner $; -_coinprec:=_coinprec;%+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -vardef CommencerClone= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("quand je commence comme un clone"); - ColBloc:=ControleTrois; - $=AffichageED(texto); - $ -enddef; - -vardef CreerClone(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("créer un clone de",OvalMenuControle(nbpas)); - ColBloc:=ControleTrois; - $=Affichage(texto); - else: - message("La commande -- CreerClone -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef SupprimerClone= - LONG:=0; - save $; - picture $,texto; - texto=image( - path ti; - ti=Box("supprimer ce clone"); - label(TEX("\bfseries\barre supprimer ce clone"),center ti) if print=false : withcolor white fi;%_>ok - ); - $=AffichageStop shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageStop); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; -%%fin Section Contrôle%%% - -%%%%%%%% Section Evenements %%%%% -vardef Drapeau= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("quand",DrapeauImage shifted(-(80,707)),"est cliqué"); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - $ -enddef; - -vardef QPresse(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("quand la touche",RecEvenementMenu(nbpas),"est pressée"); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - else: - message("La commande -- QPresse -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef QLutinPresse= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("quand ce sprite est cliqué"); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - $ -enddef; - -vardef QSpritePresse=QLutinPresse enddef; - -vardef QScenePressee= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("quand la scène est cliquée"); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - $ -enddef; - -vardef QBasculeAR(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("quand l'arrière-plan bascule sur",RecEvenementMenu(nbpas)); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - else: - message("La commande -- QBasculeAR -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef QVolumeSup(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("quand le",RecEvenementMenu(nbpas),"$>$",if string xa:OvalNb(xa) else: xa fi); - ColBloc:=EvenementTrois; - $=AffichageED(texto); -else: - message("La commande -- QVolumeSup -- accepte un premier argument de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef QRecevoirMessage(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("quand je reçois",RecEvenementMenu(nbpas)); - ColBloc:=EvenementTrois; - $=AffichageED(texto); - else: - message("La commande -- QRecevoirMessage -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef EnvoyerMessage(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("envoyer à tous",OvalMenuEvenement(nbpas)); - ColBloc:=EvenementTrois; - $=Affichage(texto); - else: - message("La commande -- EnvoyerMessage -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef EnvoyerMessageA(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("envoyer à tous",OvalMenuEvenement(nbpas),"et attendre"); - ColBloc:=EvenementTrois; - $=Affichage(texto); - else: - message("La commande -- EnvoyerMessageA -- accepte un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef DrapeauImage= - save $; picture $; - $=image( - linecap := butt; - linejoin := rounded; - if print = false: drawoptions(withcolor(76/255,191/255,86/255)) fi; - fill (72.000000,713.254028)--(72.000000,718.918030)--(72.507797,718.979980) - --(72.984398,719.026978)--(73.437500,719.054993)--(73.867203,719.070007) - --(74.273399,719.073975)--(74.660202,719.062988)--(75.023399,719.043030) - --(75.367203,719.012024)--(75.695297,718.968994)--(76.003899,718.918030) - --(76.300797,718.859009)--(76.578102,718.793030)--(76.847702,718.723022) - --(77.105499,718.648010)--(77.351601,718.570007)--(77.589798,718.484009) - --(77.820297,718.401978)--(78.042999,718.312988)--(78.234398,718.237976) - --(78.234398,706.906006)--(78.042999,706.979980)--(77.820297,707.065979) - --(77.589798,707.151978)--(77.351601,707.237976)--(77.105499,707.315979) - --(76.847702,707.390991)--(76.578102,707.460999)--(76.300797,707.526978) - --(76.003899,707.585999)--(75.695297,707.637024)--(75.367203,707.676025) - --(75.023399,707.710999)--(74.660202,707.729980)--(74.273399,707.742004) - --(73.867203,707.737976)--(73.437500,707.723022)--(72.984398,707.690979) - --(72.507797,707.648010)--(72.000000,707.585999)--cycle; -% drawoptions (withcolor (0,0.625,0)); - fill (78.246101,712.565979)--(78.261703,718.226990)--(78.476601,718.140991) - --(78.691399,718.059021)--(78.902298,717.976990)--(79.113297,717.895020) - --(79.328102,717.820007)--(79.546898,717.754028)--(79.765602,717.687988) - --(79.992203,717.632996)--(80.226601,717.585999)--(80.468803,717.543030) - --(80.718803,717.515991)--(80.980499,717.495972)--(81.253899,717.492004) - --(81.542999,717.495972)--(81.843803,717.515991)--(82.160202,717.546997) - --(82.492203,717.598022)--(82.847702,717.664001)--(83.218803,717.745972) - --(83.332001,717.773010)--(83.332001,706.440979)--(83.218803,706.414001) - --(82.847702,706.328003)--(82.492203,706.265991)--(82.160202,706.215027) - --(81.843803,706.179993)--(81.542999,706.164001)--(81.253899,706.156006) - --(80.980499,706.164001)--(80.718803,706.184021)--(80.468803,706.210999) - --(80.226601,706.250000)--(79.992203,706.301025)--(79.765602,706.354980) - --(79.546898,706.418030)--(79.328102,706.487976)--(79.113297,706.562988) - --(78.902298,706.645020)--(78.691399,706.723022)--(78.476601,706.809021) - --(78.234398,706.906006)--cycle; -% drawoptions (withcolor (0,0.625,0)); - fill (83.332001,712.109009)--(83.332001,717.773010)--(83.613297,717.843994) - --(84.031303,717.965027)--(84.468803,718.104980)--(84.933601,718.265991) - --(85.425797,718.448975)--(85.945297,718.651978)--(86.492203,718.882996) - --(87.070297,719.137024)--(87.679703,719.414001)--(88.324203,719.718994) - --(89.000000,720.054993)--(89.000000,708.718994)--(88.324203,708.387024) - --(87.679703,708.081970)--(87.070297,707.801025)--(86.492203,707.551025) - --(85.945297,707.320007)--(85.425797,707.117004)--(84.933601,706.934021) - --(84.468803,706.773010)--(84.031303,706.632996)--(83.613297,706.512024) - --(83.332001,706.440979)--cycle; -% drawoptions (withcolor (0,0.625,0)); -%pickup pencircle scaled 0.199253bp; - draw (72.000000,713.254028)--(72.000000,718.918030)--(72.507797,718.979980) - --(72.984398,719.026978)--(73.437500,719.054993)--(73.867203,719.070007) - --(74.273399,719.073975)--(74.660202,719.062988)--(75.023399,719.043030) - --(75.367203,719.012024)--(75.695297,718.968994)--(76.003899,718.918030) - --(76.300797,718.859009)--(76.578102,718.793030)--(76.847702,718.723022) - --(77.105499,718.648010)--(77.351601,718.570007)--(77.589798,718.484009) - --(77.820297,718.401978)--(78.042999,718.312988)--(78.261703,718.226990) - --(78.476601,718.140991)--(78.691399,718.059021)--(78.902298,717.976990) - --(79.113297,717.895020)--(79.328102,717.820007)--(79.546898,717.754028) - --(79.765602,717.687988)--(79.992203,717.632996)--(80.226601,717.585999) - --(80.468803,717.543030)--(80.718803,717.515991)--(80.980499,717.495972) - --(81.253899,717.492004)--(81.542999,717.495972)--(81.843803,717.515991) - --(82.160202,717.546997)--(82.492203,717.598022)--(82.847702,717.664001) - --(83.218803,717.745972)--(83.613297,717.843994)--(84.031303,717.965027) - --(84.468803,718.104980)--(84.933601,718.265991)--(85.425797,718.448975) - --(85.945297,718.651978)--(86.492203,718.882996)--(87.070297,719.137024) - --(87.679703,719.414001)--(88.324203,719.718994)--(89.000000,720.054993) - --(89.000000,708.718994)--(88.324203,708.387024)--(87.679703,708.081970) - --(87.070297,707.801025)--(86.492203,707.551025)--(85.945297,707.320007) - --(85.425797,707.117004)--(84.933601,706.934021)--(84.468803,706.773010) - --(84.031303,706.632996)--(83.613297,706.512024)--(83.218803,706.414001) - --(82.847702,706.328003)--(82.492203,706.265991)--(82.160202,706.215027) - --(81.843803,706.179993)--(81.542999,706.164001)--(81.253899,706.156006) - --(80.980499,706.164001)--(80.718803,706.184021)--(80.468803,706.210999) - --(80.226601,706.250000)--(79.992203,706.301025)--(79.765602,706.354980) - --(79.546898,706.418030)--(79.328102,706.487976)--(79.113297,706.562988) - --(78.902298,706.645020)--(78.691399,706.723022)--(78.476601,706.809021) - --(78.261703,706.895020)--(78.042999,706.979980)--(77.820297,707.065979) - --(77.589798,707.151978)--(77.351601,707.237976)--(77.105499,707.315979) - --(76.847702,707.390991)--(76.578102,707.460999)--(76.300797,707.526978) - --(76.003899,707.585999)--(75.695297,707.637024)--(75.367203,707.676025) - --(75.023399,707.710999)--(74.660202,707.729980)--(74.273399,707.742004) - --(73.867203,707.737976)--(73.437500,707.723022)--(72.984398,707.690979) - --(72.507797,707.648010)--(72.000000,707.585999)--cycle if print=false : withcolor (0,0.625,0) fi; - %pickup pencircle scaled 0.8bp; - draw (72.000000,699)--(72.000000,720); - drawoptions(); - ); - $:=$ rotatedabout((72.000000,699),-15); - $ -enddef; -%%Fin section Evenement%%% - -%%%% Section Bloc %%%% -vardef AffichageBlocDef= - path cadre; - cadre=(llcorner texto+(-eb,0)){dir-90}..{dir0}(llcorner texto+(0,-eb))-- - (llcorner texto+(0.375cm,0)+(-eb,-eb)){dir0}.. - {dir0}(llcorner texto+(0.375cm,0)+(0,-2eb))-- - (llcorner texto+(0.625cm,0)+(0,-2eb)){dir0}.. - {dir0}(llcorner texto+(0.625cm,0)+(eb,-eb))-- - (lrcorner texto+(0,-eb)){dir0}..{dir90}(lrcorner texto+(eb,0))-- - (urcorner texto+(eb,eb)){dir90}..{dir180}(urcorner texto+(0,2eb))-- - (ulcorner texto+(0,2eb)){dir180}.. - {dir-90}(ulcorner texto+(-eb,eb))-- - cycle; - picture TEXT; - TEXT=image( - fill cadre withcolor if print : coefprint*white else : BlocTrois fi;%if unknown colBloc : DarkPurple else: colBloc fi fi; - draw texto; - draw cadre withcolor CoulLignes; - ); - TEXT -enddef; - -vardef Bloc(text nomblocbloc)= - LONG:=0; - save $; - picture $,texto; - texto=image( - picture CBbloc; - CBbloc=ColleBoxNew(nomblocbloc); - draw CBbloc; - ); - ColBloc:=BlocTrois; - $=Affichage(texto); - $ -enddef; - -vardef NouveauBloc(text nbpasbloc)= - LONG:=0; - save $; - picture $,texto; - texto=image( - picture CB; - CB=ColleBoxNew("définir",BlocPuzzle(nbpasbloc)); - draw CB; - ); -$=AffichageBlocDef shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageBlocDef); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; -%%%% Fin Section Bloc%%%% - -%%% Section Divers%%% -vardef CommandeVide(expr commande)= - LONG:=0; - save $; - picture $,texto,TEXT; - if string commande : - texto=image( - label.lrt(TEX("\barre \hbox to"&commande&"cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); - ); -else: - texto=commande; -fi; -ColBloc:=white; -$=Affichage(texto); -$ -enddef; - -vardef LigneVide= - LONG:=0; - save $; - picture $,texto,TEXT; - texto=image( - label.lrt(TEX("\barre \hbox to2cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); - ); -TEXT=image( - path cadre; - cadre=CADRE(texto); - unfill cadre; - %draw (urcorner texto+(0,eb))-- - % (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. - % {dir180}(ulcorner texto+(0.625cm,0))-- - % (ulcorner texto+(0.375cm,0)){dir180}.. - % {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb))-- - % (ulcorner texto+(0,eb)) withpen pencircle scaled 0; - ); -$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -vardef LigneVideVar(expr commande)= - LONG:=0; - save $; - picture $,texto,TEXT; - if string texto: - texto=image( - label.lrt(TEX("\barre \hbox to2cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); - ); -else: - texto=commande; -fi; -TEXT=image( - path cadre; - cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))-- - (llcorner texto+(0.375cm,0)+(-eb,-eb))-- - (llcorner texto+(0.375cm,0)+(0,-2eb))-- - (llcorner texto+(0.625cm,0)+(0,-2eb))-- - (llcorner texto+(0.625cm,0)+(eb,-eb))-- - (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))-- - (ulcorner texto+(0.625cm,0)+(eb,eb))-- - (ulcorner texto+(0.625cm,0))-- - (ulcorner texto+(0.375cm,0))-- - (ulcorner texto+(0.375cm,0)+(-eb,eb))-- - (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle; - fill cadre withcolor white; -% draw (urcorner texto+(0,eb))-- -% (ulcorner texto+(0.625cm,0)+(eb,eb))-- -% (ulcorner texto+(0.625cm,0))-- -% (ulcorner texto+(0.375cm,0))-- -% (ulcorner texto+(0.375cm,0)+(-eb,eb))-- -% (ulcorner texto+(0,eb)) withpen pencircle scaled 0.05bp; - ); -$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -vardef LignePointilles= - LONG:=0; - save $; - picture $,texto,TEXT; - texto=image( - label.lrt(TEX("\barre\Large \strut\ldots\hbox to1em{}"),if unknown _coinprec: (0,0) else:_coinprec fi); - ); -TEXT=image( - path cadre; - cadre=CADRE(texto); - fill cadre withcolor white; - draw %(urcorner texto+(0,eb))-- - (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. - {dir180}(ulcorner texto+(0.625cm,0))-- - (ulcorner texto+(0.375cm,0)){dir180}.. - {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb)) - %--(ulcorner texto+(0,eb)) - withpen pencircle scaled 0.01; - draw texto; - ); -$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); -_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); -if NumeroteLignes=true: - label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); - Nblignes:=Nblignes+1; -fi; -$ -enddef; - -vardef Commentaires(expr commande)= - LONG:=0; - save $; - picture $,texto,TEXT; - texto=image( - label.lrt(TEX("\barre "& commande &""),if unknown _coinprec: (0,0) else:_coinprec fi) withcolor 0.5*white; - ); -TEXT=image( - path cadre; - cadre=CADRE(texto); - fill cadre withcolor white; - draw texto; - ); -$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); -_coinprec:=llcorner $; -_coinprec:=_coinprec+(0,eb); -$ -enddef; - -color colcom; -colcom=0.5white; - -vardef CommentairesLigne(expr commande)= - LONG:=0; - save $; - picture $,texto,TEXT; - TEXT=image( - label.rt(TEX(commande), _coincom) withcolor colcom; - ); -$=TEXT shifted (_coincom - 1/2[llcorner TEXT,ulcorner TEXT]); -$ -enddef; - -vardef BlocGris(expr ar)= - LONG:=0; - save $; picture $; - path ta; string TTm; - TTm=ar&"\barre"; - ta=OvalMiniBox(TTm); - $=image( - fill ta withcolor 0.975white; - draw ta withcolor 0.85white; - label(TEX(TTm),center ta) if print=false : withcolor blanc fi; - ); -$ -enddef; - -vardef BlocGrisMulti(text argris)= - LONG:=0; - save $; picture $; - path ta; picture TTm; - TTm=ColleBoxNew(argris); - ta=OvalMiniBox(TTm); - $=image( - fill ta withcolor 0.975white; - draw ta; - %label(TEX(TTm),center ta) if print=false : withcolor blanc fi; - ); -$ -enddef; - -boolean BlocE; -BlocE:=false; - -vardef BlocUser(expr colblocuser)(text textbloc)= - LONG:=0; - save $; - picture $; - save TA; path TA; picture BUTB; picture texto; picture TEXT; - BUTB=ColleBoxNew(textbloc); - TA=Box(BUTB); - texto=image( - draw BUTB; - ); - ColBloc:=colblocuser; - if BlocE=false: - $=Affichage(texto); - else: - $=AffichageED(texto); - fi; - $ -enddef; - -vardef BlocCouleur(expr colblocuser)= - LONG:=0; - save $; - picture $,texto,TEXT; - texto=image( - label.lrt(TEX("\barre \hbox to4cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); - ); -ColBloc:=colblocuser; -$=Affichage(texto); -$ -enddef; -%% fin Section Divers %%% - -%% Section Capteur %%%% -vardef Demander(expr nbpas)= - LONG:=0; - save Dem; - picture Dem,texto; - if string nbpas: - texto=ColleBoxNew("demander",OvalNb(nbpas),"et attendre"); - ColBloc:=CapteurTrois; - Dem=Affichage(texto); - else: - message("La commande -- Demander -- admet un argument de type string."); - Dem=nullpicture; - fi; - Dem -enddef; - -vardef ReinitChrono= - LONG:=0; - save $; - picture $,texto; - texto=ColleBoxNew("réinitialiser le chronomètre"); - ColBloc:=CapteurTrois; - $=Affichage(texto); - $ -enddef; - -vardef MettreGlissement(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew("mettre mode de glissement à",RecMenuCap(nbpas)); - ColBloc:=CapteurTrois; - $=Affichage(texto); - else: - message("La commande -- MettreGlissement -- admet un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -%video - -vardef CameraImage= - LONG:=0; - save $; - picture $; - $=image( - pair A,B,C,D,E,F; - A=(0,0); - B-A=(10,0); - C-B=(0,10); - D-C=A-B; - E-B=(4,1.5); - F-C=(4,-1.5); - numeric EB; - EB=2pt; - path camera; - camera=(A+(EB,0))--(B+(-EB,0)){dir0}..{dir90}(B+(0,EB))--2/5[B,C]--E--F--3/5[B,C]--(C+(0,-EB)){dir90}..{dir-180}(C+(-EB,0))--(D+(EB,0)){dir180}..{dir-90}(D+(0,-EB))--(A+(0,EB)){dir-90}..{dir0}cycle; - fill camera withcolor (77,77,77)/255; - draw camera withcolor (77,77,77)*0.95/255; - path cc; - cc=fullcircle scaled 6; - color coul[]; - if print: - coul0:=0.9white; - coul1:=0.933white; - coul2:=0.966white; - coul3:=white; - else: - coul0=(75,205,169)/255; - coul1=(16,230,212)/255; - coul2=(224,247,241)/255; - coul3=(1,1,1); - fi; - for k=0 upto 3: - fill (cc shifted(B+(10,3*k))) withcolor coul[k]; - draw (cc shifted(B+(10,3*k))) withcolor 0.95*coul[k]; - endfor; - draw ((-3,0)--(-3,18)) withcolor if print : coefprint*white else: StyloTrois fi; - pickup pencircle scaled eppen; - ); - $:=$ scaled 0.8; - $ -enddef; - -vardef ImageCamera= - save titi; - picture titi; - titi=image( - draw CameraImage shifted(-12,-5); - draw (((0,0)--(0,18pt)) shifted(9,-9)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi; - ); - titi -enddef; - -vardef ActiverVideo(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew(ImageCamera,"vidéo",OvalStylo(nbpas)); - ColBloc:=StyloTrois; - $=Affichage(texto); - else: - message("La commande -- ActiverVideo -- admet un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef TransparenceVideo(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew(ImageCamera,"mettre la transparence vidéo sur",OvalNb(nbpas)); - ColBloc:=StyloTrois; - $=Affichage(texto); - else: - message("La commande -- TransparenceVideo -- admet un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef QuandMV(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas: - texto=ColleBoxNew(ImageCamera,"quand mouvement vidéo $>$",OvalNb(nbpas)); - ColBloc:=StyloTrois; - $=AffichageED(texto); - else: - message("La commande -- QuandMV -- admet un argument de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef VideoSur(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if (string nbpas) and (string xa): - texto=ColleBoxNew(ImageCamera,"vidéo",OvalStylo(nbpas),"sur",OvalStylo(xa)); - %ColBloc:=StyloTrois; - path ta; - ta=OvalBox(texto); - $=image( - fill ta withcolor if print: coefprint*white else: StyloTrois fi; - draw ta withcolor CoulLignes; - %label(TEX(TTm),center ta) if print=false : withcolor blanc fi; - draw texto; - ); - else: - message("La commande -- VideoSur -- admet deux arguments de type string."); - $=nullpicture; - fi; - $ -enddef; - -%% fin Section Capteur %%% - -%%% Section Variables %%% -vardef MettreVar(expr nbpas,xa)= - LONG:=0; - save MV; - picture MV,texto; - if string nbpas : - texto=ColleBoxNew("mettre",RecMenuVar(nbpas),"à",if string xa:OvalNb(xa) else: xa fi); - ColBloc:=OrangeTrois; - MV=Affichage(texto); - else: - message("La commande -- MettreVar -- admet un premier paramètre de type string."); - MV=nullpicture; - fi; - MV -enddef; - -vardef AjouterVar(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string xa : - texto=ColleBoxNew("ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à",RecMenuVar(xa)); - ColBloc:=OrangeTrois; - $=Affichage(texto); -else: - message("La commande -- AjouterVar -- admet un deuxième paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef MontrerVar(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas : - texto=ColleBoxNew("montrer la variable",RecMenuVar(nbpas)); - ColBloc:=OrangeTrois; - $=Affichage(texto); - else: - message("La commande -- MontrerVar -- admet un premier paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef CacherVar(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas : - texto=ColleBoxNew("cacher la variable",RecMenuVar(nbpas)); - ColBloc:=OrangeTrois; - $=Affichage(texto); - else: - message("La commande -- CacherVar -- admet un premier paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -%Liste -vardef AjouterListe(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string xa : - texto=ColleBoxNew("ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à",RecMenuList(xa)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); -else: - message("La commande -- AjouterListe -- admet un deuxième paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef SupprimerListe(expr nbpas,xa)= - LONG:=0; - save $; - picture $,texto; - if string xa : - texto=ColleBoxNew("supprimer l'élément",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(xa)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); -else: - message("La commande -- SupprimerListe -- admet un deuxième paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef SupprimerListeAll(expr nbpas)= - LONG:=0; - save $; - picture $,texto; - if string nbpas : - texto=ColleBoxNew("supprimer tous les éléments de la liste",RecMenuList(nbpas)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); -else: - message("La commande -- SupprimerListe -- admet un deuxième paramètre de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef InsererListe(expr xa,nbpas,ya)= - LONG:=0; - save $; - picture $,texto; - if string ya : - texto=ColleBoxNew("insérer",if string xa:OvalNb(xa) else: xa fi,"en position",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(ya)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); - else: - message("La commande -- InsererListe -- admet un troisième paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef RemplacerListe(expr xa,nbpas,ya)= - LONG:=0; - save $; - picture $,texto; - if string nbpas : - texto=ColleBoxNew("remplacer l'élément",if string xa:OvalNb(xa) else: xa fi,"de la liste",RecMenuList(nbpas),"par",if string ya:OvalNb(ya) else: ya fi); - ColBloc:=OrangeListTrois; - $=Affichage(texto); -else: - message("La commande -- RemplacerListe -- admet un deuxième paramètre de type string."); - $=nullpicture; -fi; -$ -enddef; - -vardef MontrerListe(expr xa)= - LONG:=0; - save $; - picture $,texto; - if string xa : - texto=ColleBoxNew("montrer la liste",RecMenuList(xa)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); - else: - message("La commande -- MontrerListe -- admet un paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -vardef CacherListe(expr xa)= - LONG:=0; - save $; - picture $,texto; - if string xa : - texto=ColleBoxNew("cacher la liste",RecMenuList(xa)); - ColBloc:=OrangeListTrois; - $=Affichage(texto); - else: - message("La commande -- CacherListe -- admet un paramètre de type string."); - $=nullpicture; - fi; - $ -enddef; - -%%% Section Operateur %%% - -vardef OpAdd(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$+$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpSous(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$-$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpMul(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$\times$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpDiv(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$\div$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpAlea(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew("nombre aléatoire entre",if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpRegrouper(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew("regrouper",if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpLettre(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew("lettre",if string pasun : OvalNb(pasun) else: pasun fi,"de",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpLongueur(expr pasun)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew("longueur de",if string pasun : OvalNb(pasun) else: pasun fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpArrondi(expr pasun)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew("arrondi de",if string pasun : OvalNb(pasun) else: pasun fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef OpFonction(expr pasun,pasdeux)= - save Oop; picture Oop; - save TAao; path TAao; - save LOPop; picture LOPop; - LOPop=ColleBoxNew(RecMenuOp(pasun),"de",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAao=OvalBox(LOPop); - Oop=image( - fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LOPop; - draw TAao if print=false : withcolor coefprint*white fi; - ); - Oop:=Oop shifted(-center Oop); - Oop -enddef; - -vardef TestOpSup(expr pasun, pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$>$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpInf(expr pasun, pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$<$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpEgal(expr pasun, pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$=$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpEt(expr pasun, pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpOu(expr pasun, pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"ou",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpNon(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("non",if string pasun : OvalNb(pasun) else: pasun fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestOpContient(expr pasun,pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"contient",if string pasun : OvalNb(pasdeux) else: pasun fi,"?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef AppCostume(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(RecMenuApp(pasun),"du costume"); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor VioletAppTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef AppAP(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(RecMenuApp(pasun),"de l'arrière-plan"); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor VioletAppTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef CapDistance(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("distance de",OvalCapMenu(pasun)); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef CapTemps(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(RecMenuCap(pasun),"actuelle"); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef CapNumero(expr pasun,pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(RecMenuCap(pasun),"de",OvalCapMenu(pasdeux)); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestCapToucheObjet(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("touche le",OvalCapMenu(pasun),"?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestCapCouleur(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("couleur",OvalCouleur(redpart(pasun),greenpart(pasun),bluepart(pasun)),"touchée ?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestCapCouleurs(expr pasun,pasdeux)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("couleur",OvalCouleur(redpart(pasun),greenpart(pasun),bluepart(pasun)),"touché",OvalCouleur(redpart(pasdeux),greenpart(pasdeux),bluepart(pasdeux)),"?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestCapTouche(expr pasun)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("touche",OvalMenuCap(pasun),"pressée ?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestCapSouris= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("souris pressée ?"); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef TestListeContient(expr nbpas,nbbas)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew(RecMenuList(nbpas),"contient",if string nbbas:OvalNb(nbbas) else: nbbas fi); - TAa=DiamondBox(LTa); - $=image( - fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef ListeElement(expr nbpas,nbbas)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("élément",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(nbbas)); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef ListePosition(expr nbpas,nbbas)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("position de",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(nbbas)); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - -vardef ListeLongueur(expr nbpas)= - save $; picture $; - save TAa; path TAa; - save LTa; picture LTa; - LTa=ColleBoxNew("longueur de",RecMenuList(nbpas)); - TAa=OvalBox(LTa); - $=image( - fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; - draw LTa; - draw TAa if print=false : withcolor coefprint*white fi; - ); - $:=$ shifted(-center $); - $ -enddef; - diff --git a/macros/latex/contrib/profcollege/metapost/PfC-Svgnames.mp b/macros/latex/contrib/profcollege/metapost/PfC-Svgnames.mp deleted file mode 100644 index 3aa2cf2386..0000000000 --- a/macros/latex/contrib/profcollege/metapost/PfC-Svgnames.mp +++ /dev/null @@ -1,153 +0,0 @@ -%D'après /usr/local/texlive/2020/texmf-dist/tex/latex/xcolor/svgnam.def -color AliceBlue; AliceBlue = (.94,.972,1); -color AntiqueWhite; AntiqueWhite = (.98,.92,.844); -color Aqua; Aqua = (0,1,1); -color Aquamarine; Aquamarine = (.498,1,.83); -color Azure; Azure = (.94,1,1); -color Beige; Beige = (.96,.96,.864); -color Bisque; Bisque = (1,.894,.77); -color Black; Black = (0,0,0); -color BlanchedAlmond; BlanchedAlmond = (1,.92,.804); -color Blue; Blue = (0,0,1); -color BlueViolet; BlueViolet = (.54,.17,.888); -color Brown; Brown = (.648,.165,.165); -color BurlyWood; BurlyWood = (.87,.72,.53); -color CadetBlue; CadetBlue = (.372,.62,.628); -color Chartreuse; Chartreuse = (.498,1,0); -color Chocolate; Chocolate = (.824,.41,.116); -color Coral; Coral = (1,.498,.312); -color CornflowerBlue; CornflowerBlue = (.392,.585,.93); -color Cornsilk; Cornsilk = (1,.972,.864); -color Crimson; Crimson = (.864,.08,.235); -color Cyan; Cyan = (0,1,1); -color DarkBlue; DarkBlue = (0,0,.545); -color DarkCyan; DarkCyan = (0,.545,.545); -color DarkGoldenrod; DarkGoldenrod = (.72,.525,.044); -color DarkGray; DarkGray = (.664,.664,.664); -color DarkGreen; DarkGreen = (0,.392,0); -color DarkGrey; DarkGrey = (.664,.664,.664); -color DarkKhaki; DarkKhaki = (.74,.716,.42); -color DarkMagenta; DarkMagenta = (.545,0,.545); -color DarkOliveGreen; DarkOliveGreen = (.332,.42,.185); -color DarkOrange; DarkOrange = (1,.55,0); -color DarkOrchid; DarkOrchid = (.6,.196,.8); -color DarkRed; DarkRed = (.545,0,0); -color DarkSalmon; DarkSalmon = (.912,.59,.48); -color DarkSeaGreen; DarkSeaGreen = (.56,.736,.56); -color DarkSlateBlue; DarkSlateBlue = (.284,.24,.545); -color DarkSlateGray; DarkSlateGray = (.185,.31,.31); -color DarkSlateGrey; DarkSlateGrey = (.185,.31,.31); -color DarkTurquoise; DarkTurquoise = (0,.808,.82); -color DarkViolet; DarkViolet = (.58,0,.828); -color DeepPink; DeepPink = (1,.08,.576); -color DeepSkyBlue; DeepSkyBlue = (0,.75,1); -color DimGray; DimGray = (.41,.41,.41); -color DimGrey; DimGrey = (.41,.41,.41); -color DodgerBlue; DodgerBlue = (.116,.565,1); -color FireBrick; FireBrick = (.698,.132,.132); -color FloralWhite; FloralWhite = (1,.98,.94); -color ForestGreen; ForestGreen = (.132,.545,.132); -color Fuchsia; Fuchsia = (1,0,1); -color Gainsboro; Gainsboro = (.864,.864,.864); -color GhostWhite; GhostWhite = (.972,.972,1); -color Gold; Gold = (1,.844,0); -color Goldenrod; Goldenrod = (.855,.648,.125); -color Gray; Gray = (.5,.5,.5); -color Green; Green = (0,.5,0); -color GreenYellow; GreenYellow = (.68,1,.185); -color Grey; Grey = (.5,.5,.5); -color Honeydew; Honeydew = (.94,1,.94); -color HotPink; HotPink = (1,.41,.705); -color IndianRed; IndianRed = (.804,.36,.36); -color Indigo; Indigo = (.294,0,.51); -color Ivory; Ivory = (1,1,.94); -color Khaki; Khaki = (.94,.9,.55); -color Lavender; Lavender = (.9,.9,.98); -color LavenderBlush; LavenderBlush = (1,.94,.96); -color LawnGreen; LawnGreen = (.488,.99,0); -color LemonChiffon; LemonChiffon = (1,.98,.804); -color LightBlue; LightBlue = (.68,.848,.9); -color LightCoral; LightCoral = (.94,.5,.5); -color LightCyan; LightCyan = (.88,1,1); -color LightGoldenrod; LightGoldenrod = (.933,.867,.51); -color LightGoldenrodYellow; LightGoldenrodYellow = (.98,.98,.824); -color LightGray; LightGray = (.828,.828,.828); -color LightGreen; LightGreen = (.565,.932,.565); -color LightGrey; LightGrey = (.828,.828,.828); -color LightPink; LightPink = (1,.712,.756); -color LightSalmon; LightSalmon = (1,.628,.48); -color LightSeaGreen; LightSeaGreen = (.125,.698,.668); -color LightSkyBlue; LightSkyBlue = (.53,.808,.98); -color LightSlateBlue; LightSlateBlue = (.518,.44,1); -color LightSlateGray; LightSlateGray = (.468,.532,.6); -color LightSlateGrey; LightSlateGrey = (.468,.532,.6); -color LightSteelBlue; LightSteelBlue = (.69,.77,.87); -color LightYellow; LightYellow = (1,1,.88); -color Lime; Lime = (0,1,0); -color LimeGreen; LimeGreen = (.196,.804,.196); -color Linen; Linen = (.98,.94,.9); -color Magenta; Magenta = (1,0,1); -color Maroon; Maroon = (.5,0,0); -color MediumAquamarine; MediumAquamarine = (.4,.804,.668); -color MediumBlue; MediumBlue = (0,0,.804); -color MediumOrchid; MediumOrchid = (.73,.332,.828); -color MediumPurple; MediumPurple = (.576,.44,.86); -color MediumSeaGreen; MediumSeaGreen = (.235,.7,.444); -color MediumSlateBlue; MediumSlateBlue = (.484,.408,.932); -color MediumSpringGreen; MediumSpringGreen = (0,.98,.604); -color MediumTurquoise; MediumTurquoise = (.284,.82,.8); -color MediumVioletRed; MediumVioletRed = (.78,.084,.52); -color MidnightBlue; MidnightBlue = (.098,.098,.44); -color MintCream; MintCream = (.96,1,.98); -color MistyRose; MistyRose = (1,.894,.884); -color Moccasin; Moccasin = (1,.894,.71); -color NavajoWhite; NavajoWhite = (1,.87,.68); -color Navy; Navy = (0,0,.5); -color NavyBlue; NavyBlue = (0,0,.5); -color OldLace; OldLace = (.992,.96,.9); -color Olive; Olive = (.5,.5,0); -color OliveDrab; OliveDrab = (.42,.556,.136); -color Orange; Orange = (1,.648,0); -color OrangeRed; OrangeRed = (1,.27,0); -color Orchid; Orchid = (.855,.44,.84); -color PaleGoldenrod; PaleGoldenrod = (.932,.91,.668); -color PaleGreen; PaleGreen = (.596,.985,.596); -color PaleTurquoise; PaleTurquoise = (.688,.932,.932); -color PaleVioletRed; PaleVioletRed = (.86,.44,.576); -color PapayaWhip; PapayaWhip = (1,.936,.835); -color PeachPuff; PeachPuff = (1,.855,.725); -color Peru; Peru = (.804,.52,.248); -color Pink; Pink = (1,.752,.796); -color Plum; Plum = (.868,.628,.868); -color PowderBlue; PowderBlue = (.69,.88,.9); -color Purple; Purple = (.5,0,.5); -color Red; Red = (1,0,0); -color RosyBrown; RosyBrown = (.736,.56,.56); -color RoyalBlue; RoyalBlue = (.255,.41,.884); -color SaddleBrown; SaddleBrown = (.545,.27,.075); -color Salmon; Salmon = (.98,.5,.448); -color SandyBrown; SandyBrown = (.956,.644,.376); -color SeaGreen; SeaGreen = (.18,.545,.34); -color Seashell; Seashell = (1,.96,.932); -color Sienna; Sienna = (.628,.32,.176); -color Silver; Silver = (.752,.752,.752); -color SkyBlue; SkyBlue = (.53,.808,.92); -color SlateBlue; SlateBlue = (.415,.352,.804); -color SlateGray; SlateGray = (.44,.5,.565); -color SlateGrey; SlateGrey = (.44,.5,.565); -color Snow; Snow = (1,.98,.98); -color SpringGreen; SpringGreen = (0,1,.498); -color SteelBlue; SteelBlue = (.275,.51,.705); -color Tan; Tan = (.824,.705,.55); -color Teal; Teal = (0,.5,.5); -color Thistle; Thistle = (.848,.75,.848); -color Tomato; Tomato = (1,.39,.28); -color Turquoise; Turquoise = (.25,.88,.815); -color Violet; Violet = (.932,.51,.932); -color VioletRed; VioletRed = (.816,.125,.565); -color Wheat; Wheat = (.96,.87,.7); -color White; White = (1,1,1); -color WhiteSmoke; WhiteSmoke = (.96,.96,.96); -color Yellow; Yellow = (1,1,0); -color YellowGreen; YellowGreen = (.604,.804,.196); -endinput diff --git a/macros/latex/contrib/profcollege/metapost/PfCAfficheur.mp b/macros/latex/contrib/profcollege/metapost/PfCAfficheur.mp new file mode 100644 index 0000000000..166cd22979 --- /dev/null +++ b/macros/latex/contrib/profcollege/metapost/PfCAfficheur.mp @@ -0,0 +1,182 @@ +u:=1cm; + +vardef Afficheur(expr nb,creux)= + pair Aa[]; + Aa1=u*(-0.5,-1); + Aa2-Aa1=u*(1,0); + Aa4-Aa2=u*(0,2); + Aa3=1/2[Aa2,Aa4]; + Aa5-Aa4=Aa1-Aa2; + Aa6-Aa3=Aa1-Aa2; + pair Bb[]; + Bb1=Aa1 xscaled0.7 yscaled 0.85; + Bb2=Aa2 xscaled0.7 yscaled 0.85; + Bb4=Aa4 xscaled0.7 yscaled 0.85; + Bb5=Aa5 xscaled0.7 yscaled 0.85; + Bb3=1/2[Bb2,Bb4]; + Bb6=1/2[Bb1,Bb5]; + Bb7=1/2[Bb6,Bb3]+(0,4); + Bb8=1/2[Bb6,Bb3]-(0,6); + pair Cc[]; + Cc1=u*(0.4,-0.85)+(0,-1); + ecarth:=1.5; + ecartv:=0.05; + path ASegment[]; + ASegment[1]=1/10[Bb1,Bb2]--9/10[Bb1,Bb2]; + ASegment[2]=1/10[Bb2,Bb3]--9/10[Bb2,Bb3]; + ASegment[3]=1/10[Bb3,Bb4]--9/10[Bb3,Bb4]; + ASegment[4]=1/10[Bb4,Bb5]--9/10[Bb4,Bb5]; + ASegment[5]=1/10[Bb5,Bb6]--9/10[Bb5,Bb6]; + ASegment[6]=1/10[Bb6,Bb1]--9/10[Bb6,Bb1]; + ASegment[7]=1/10[Bb6,Bb3]--9/10[Bb6,Bb3]; + color fondsegment; + fondsegment=0.2[LightSteelBlue,white]; + save $; + picture $; + $=image( + fill Aa1--Aa2--Aa4--Aa5--cycle withcolor LightSteelBlue; + draw Aa1--Aa2--Aa4--Aa5--cycle withcolor LightSteelBlue; + if creux=0: + fill (unitsquare scaled 2) shifted Cc1 withcolor fondsegment; + else: + fill (unitsquare scaled 2) shifted Cc1 withcolor Crimson; + fi; + if nb=1: + drawoptions(withpen pensquare scaled2 withcolor Crimson); + draw ASegment[2]; + draw ASegment[3]; + drawoptions(withpen pensquare scaled2 withcolor fondsegment); + draw ASegment[1]; + draw ASegment[4]; + draw ASegment[5]; + draw ASegment[6]; + draw ASegment[7]; + drawoptions(); + fi; + if nb=2: + drawoptions(withpen pensquare scaled2 withcolor Crimson); + draw ASegment[1]; + draw ASegment[3]; + draw ASegment[4]; + draw ASegment[6]; + draw ASegment[7]; + drawoptions(withpen pensquare scaled2 withcolor fondsegment); + draw ASegment[2]; + draw ASegment[5]; + drawoptions(); + fi; + if nb=3: + drawoptions(withpen pensquare scaled2 withcolor Crimson); + draw ASegment[1]; + draw ASegment[2]; + draw ASegment[3]; + draw ASegment[4]; + draw ASegment[7]; + drawoptions(withpen pensquare scaled2 withcolor fondsegment); + draw ASegment[5]; + draw ASegment[6]; + drawoptions(); + fi; + if nb=4: + drawoptions(withpen pensquare scaled2 withcolor Crimson); + draw ASegment[2]; + draw ASegment[3]; + draw ASegment[5]; + draw ASegment[7]; + drawoptions(withpen pensquare scaled2 withcolor fondsegment); + draw ASegment[1]; + draw ASegment[4]; + draw ASegment[6]; + drawoptions(); + fi; + if nb=5: + drawoptions(withpen pensquare scaled2 withcolor Crimson); + draw ASegment[1]; + draw ASegment[2]; + draw ASegment[4]; + draw ASegment[5]; + draw ASegment[7]; + drawoptions(withpen pensquare scaled2 withcolor fondsegment); + draw ASegment[3]; + draw ASegment[6]; + drawoptions(); + fi; + if nb=6: + drawoptions(withpen pensquare scaled2 withcolor Crimson); + draw ASegment[1]; + draw ASegment[2]; + draw ASegment[4]; + draw ASegment[5]; + draw ASegment[6]; + draw ASegment[7]; + drawoptions(withpen pensquare scaled2 withcolor fondsegment); + draw ASegment[3]; + drawoptions(); + fi; + if nb=7: + drawoptions(withpen pensquare scaled2 withcolor Crimson); + draw ASegment[2]; + draw ASegment[3]; + draw ASegment[4]; + drawoptions(withpen pensquare scaled2 withcolor fondsegment); + draw ASegment[1]; + draw ASegment[5]; + draw ASegment[6]; + draw ASegment[7]; + drawoptions(); + fi; + if nb=8: + drawoptions(withpen pensquare scaled2 withcolor Crimson); + draw ASegment[1]; + draw ASegment[2]; + draw ASegment[3]; + draw ASegment[4]; + draw ASegment[5]; + draw ASegment[6]; + draw ASegment[7]; + drawoptions(); + fi; + if nb=9: + drawoptions(withpen pensquare scaled2 withcolor Crimson); + draw ASegment[1]; + draw ASegment[2]; + draw ASegment[3]; + draw ASegment[4]; + draw ASegment[5]; + draw ASegment[7]; + drawoptions(withpen pensquare scaled2 withcolor fondsegment); + draw ASegment[6]; + drawoptions(); + fi; + if nb=0: + drawoptions(withpen pensquare scaled2 withcolor Crimson); + draw ASegment[1]; + draw ASegment[2]; + draw ASegment[3]; + draw ASegment[4]; + draw ASegment[5]; + draw ASegment[6]; + drawoptions(withpen pensquare scaled2 withcolor fondsegment); + draw ASegment[7]; + drawoptions(); + fi; + if nb=10: + drawoptions(withpen pensquare scaled2 withcolor Crimson); + fill (unitsquare scaled 2) shifted Bb7 withcolor Crimson; + fill (unitsquare scaled 2) shifted Bb8 withcolor Crimson; + drawoptions(withpen pensquare scaled2 withcolor fondsegment); + draw ASegment[1]; + draw ASegment[2]; + draw ASegment[3]; + draw ASegment[4]; + draw ASegment[5]; + draw ASegment[6]; + draw ASegment[7]; + drawoptions(); + fi; + ); + $ +enddef; + +endinput; + diff --git a/macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp b/macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp new file mode 100644 index 0000000000..92d4d3057d --- /dev/null +++ b/macros/latex/contrib/profcollege/metapost/PfCCalculatrice.mp @@ -0,0 +1,201 @@ +prologues:=3; + +path carre[]; + +u:=0.5mm; + +vardef BlocAffichage= + for k=0 upto 34: + carre[k]:=(unitsquare scaled u) shifted(u*(k mod 5,5-(k div 5))); + endfor; +enddef; + +vardef Affichage(expr decomp)= + save $; + picture $; + drawoptions(withpen pensquare scaled0.1); + $=image(% + for k=0 upto 34: + if (substring(k,k+1) of decomp)="1": + fill carre[k]; + fi; + endfor; + ); + drawoptions(); + $ +enddef; + +nblignes:=0; + +boolean print; +print:=false; + +color CouleurEcran; +CouleurEcran=(107/255,148/255,107/255); + +boolean Math; +Math=true; + +decahoriz:=0; + +vardef Test(expr cptk,cptnt)= + pair decalage; + if nblignes mod 2=0: + decalage:=u*((20-length(cptnt)+cptk)*6,-8*(nblignes-1)); + else: + decalage:=u*(decahoriz,-8*(nblignes-1)); + decahoriz:=decahoriz+6; + fi; + if substring(cptk,cptk+1) of cptnt="A":draw Affichage("01110100011000110001111111000110001") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="B":draw Affichage("11110100011000111110100011000111110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="C":draw Affichage("01110100011000010000100001000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="D":draw Affichage("11100100101000110001100011001011100") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="E":draw Affichage("11111100001000011111100001000011111") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="F":draw Affichage("11111100001000011111100001000010000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="G":draw Affichage("01110100011000010111100011000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="H":draw Affichage("10001100011000111111100011000110001") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="I":draw Affichage("01110001000010000100001000010001110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="J":draw Affichage("00111000100001000010000101001001100") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="K":draw Affichage("10001100101010011000101001001010001") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="L":draw Affichage("10000100001000010000100001000011111") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="M":draw Affichage("10001110111010110101100011000110001") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="N":draw Affichage("10001100011100110101100111000110001") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="O":draw Affichage("01110100011000110001100011000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="P":draw Affichage("11110100011000111110100001000010000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="Q":draw Affichage("01110100011000110001101011001001101") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="R":draw Affichage("11110100011000111110101001001010001") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="S":draw Affichage("01111100001000001110000010000111110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="T":draw Affichage("11111001000010000100001000010000100") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="U":draw Affichage("10001100011000110001100011000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="V":draw Affichage("10001100011000110001100010101000100") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="W":draw Affichage("10101101011010110101101011010101010") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="X":draw Affichage("10001100010101000100010101000110001") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="Y":draw Affichage("10001100011000101010001000010000100") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="Z":draw Affichage("11111000010001000100010001000011111") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="a":draw Affichage("00000000000111100001011111000101111") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="b":draw Affichage("10000100001011011001100011000111110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="c":draw Affichage("00000000000111010000100001000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="d":draw Affichage("00001000010110110011100011000101111") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="e":if Math: + draw Affichage("00000000000000000001101000100010100") shifted(decalage); + decalage:=u*(decahoriz-1,-8*(nblignes-1)); + draw Affichage("00000000001001010101101011010110010") shifted(decalage); + decahoriz:=decahoriz+6; + else: + draw Affichage("00000000000111010001111111000001110") shifted(decalage); + fi; + elseif substring(cptk,cptk+1) of cptnt="@":draw Affichage("00010001000111010001111111000001110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="f":draw Affichage("00110010010100011100010000100001000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="g":draw Affichage("00000011111000110001011110000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="h":draw Affichage("10000100001011011001100011000110001") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="i":draw Affichage("00100000000110000100001000010001110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="j":if Math=true: + draw Affichage("00011000011110100001000000000000000") shifted(decalage); + else: + draw Affichage("00010000000011000010000101001001100") shifted(decalage); + fi; + elseif substring(cptk,cptk+1) of cptnt="k":if Math=true: + draw Affichage("11100001000100011100000000000000000") shifted(decalage); + else: + draw Affichage("10000100001001010100110001010010010") shifted(decalage); + fi; + elseif substring(cptk,cptk+1) of cptnt="l":if Math=true: + draw Affichage("11100010000010011100000000000000000") shifted(decalage); + else: + draw Affichage("01100001000010000100001000010001110") shifted(decalage); + fi; + elseif substring(cptk,cptk+1) of cptnt="m":draw Affichage("00000000001101010101101011000110001") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="n":draw Affichage("00000000001011011001100011000110001") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="o":draw Affichage("00000000000111010001100011000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="p":draw Affichage("00000000001111010001111101000010000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="q":if Math=true: + draw Affichage("00000000001111101010010100101010001") shifted(decalage); + else: + draw Affichage("00000000000110110011011110000100001") shifted(decalage); + fi; + elseif substring(cptk,cptk+1) of cptnt="r":draw Affichage("00000000001011011001100001000010000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="s":draw Affichage("00000000000111010000011100000111110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="t":draw Affichage("01000010001110001000010000100100110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="u":draw Affichage("00000000001000110001100011001101101") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="v":if Math=true: + draw Affichage("00111001000010000100101000110000100") shifted(decalage); + else: + draw Affichage("00000000001000110001100010111000100") shifted(decalage); + fi; + elseif substring(cptk,cptk+1) of cptnt="w":draw Affichage("00000000001010110101101011010101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="x":draw Affichage("00000000001000101010001000101010001") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="y":draw Affichage("00000000001000110001011110000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="z":draw Affichage("00000000001111100010001000100011111") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="0":draw Affichage("01110100011001110101110011000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="1":draw Affichage("00100011000010000100001000010001110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="2":draw Affichage("01110100010000100010001000100011111") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="3":draw Affichage("11111000100010000010000011000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="4":draw Affichage("00010001100101010010111110001000010") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="5":draw Affichage("11111100001111000001000011000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="6":draw Affichage("00110010001000011110100011000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="7":draw Affichage("11111000010001000100010000100001000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="8":draw Affichage("01110100011000101110100011000101110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="9":draw Affichage("01110100011000101111000010001001100") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="!":draw Affichage("00100001000010000100000000000000100") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="'":draw Affichage("01100001000100000000000000000000000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="(":draw Affichage("00010001000100001000010000010000010") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt=")":draw Affichage("01000001000001000010000100010001000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="*":draw Affichage("00000001001010101110101010010000000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="+":draw Affichage("00000001000010011111001000010000000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt=",":draw Affichage("00000000000000000000011000010001000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="-":draw Affichage("00000000000000011111000000000000000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt=".":draw Affichage("00000000000000000000000000110001100") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="/":draw Affichage("00000000010001000100010001000000000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt=":":if Math=true: + draw Affichage("00000000000000000000000000000000000") shifted(decalage); + else: + draw Affichage("00000011000110000000011000110000000") shifted(decalage); + fi; + elseif substring(cptk,cptk+1) of cptnt=";":if Math=true: + draw Affichage("00000001000000011111000000010000000") shifted(decalage); + else: + draw Affichage("00000011000110000000011000010001000") shifted(decalage); + fi; + elseif substring(cptk,cptk+1) of cptnt="<":draw Affichage("00010001000100010000010000010000010") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="=":draw Affichage("00000000001111100000111110000000000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt=">":draw Affichage("10000010000010000010001000100010000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="?":draw Affichage("01110100010000100010001000000000100") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="[":draw Affichage("01110010000100001000010000100001110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="]":draw Affichage("01110000100001000010000100001001110") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="`":draw Affichage("01000001000001000000000000000000000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="|":draw Affichage("00100001000010000100001000010000100") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt=" ":draw Affichage("00000100010101000100010101000100000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="&":draw Affichage("00000100001100011100110001000000000") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="$":draw Affichage("00000000000000100001000010000111111") shifted(decalage); + elseif substring(cptk,cptk+1) of cptnt="^":draw Affichage("00100010101000100000000000000000000") shifted(decalage); + fi; +enddef; + +vardef LCD(text nt)(text rep)(expr NB)= + decahoriz:=0; + nblignes:=nblignes+1; + path Ecran; + Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1))); + fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi; + draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi; + for k=0 upto length(nt)-1: + BlocAffichage; + Test(k,nt); + endfor; + for k=1 upto NB: + nblignes:=nblignes+1; + Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1))); + fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi; + draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi; + endfor; + nblignes:=nblignes+1; + Ecran:=(u*(0,-1)--u*(120,-1)--u*(120,7)--u*(0,7)--cycle) shifted(u*(0,-8*(nblignes-1))); + fill Ecran withcolor if print=true:0.8white else:CouleurEcran fi; + draw Ecran withcolor if print=true:0.8white else:CouleurEcran fi; + for k=0 upto length(rep)-1: + BlocAffichage; + Test(k,rep); + endfor; +enddef; + +endinput; diff --git a/macros/latex/contrib/profcollege/metapost/PfCConstantes.mp b/macros/latex/contrib/profcollege/metapost/PfCConstantes.mp new file mode 100644 index 0000000000..02895dcf8c --- /dev/null +++ b/macros/latex/contrib/profcollege/metapost/PfCConstantes.mp @@ -0,0 +1,20 @@ +%Constantes +u:=1cm; +v:=(sqrt3)/2; +pi:=3.141592654; +e:=2.718281828; +c:=57.29578; % conversion d'un radian en degres +color rouge,vert,bleu,jaune,noir,blanc,orange,rose,violet,ciel,cielfonce,orangevif,gris; +rouge=(1,0,0); +bleu=(0,0,1); +noir=(0,0,0); +blanc=(1,1,1); +orange=(1,0.5,0); +violet=blanc-vert; +rose=(1,0.7,0.7); +cielfonce=0.9*(0.25,1,1); +ciel=bleu+vert; +orangevif=(1,0.25,0.1); +vert=(0,1,0); +jaune=rouge+vert; +gris=0.8*white; diff --git a/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp b/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp new file mode 100644 index 0000000000..222df57419 --- /dev/null +++ b/macros/latex/contrib/profcollege/metapost/PfCGeometrie.mp @@ -0,0 +1,1206 @@ +%=============================================== +%% PfC-Geometrie +%% christophe.poulain@melusine.eu.org +%%=============================================== +%------------------------------------------------ +% Appel fichier +%------------------------------------------------ +%input PfC-Constantes; +%------------------------------------------------ +% La figure (debut et fin) JMS/CP +%------------------------------------------------ +path feuillet; +numeric _tfig,_nfig; +_tfig:=5cm; +_nfig:=0; +pair coinbg,coinbd,coinhd,coinhg; + +string typetrace; +typetrace="normal"; + +def feuille(expr xa,ya,xb,yb) = + feuillet := (xa,ya)--(xa,yb)--(xb,yb)--(xb,ya)--cycle; + coinbg := (xa,ya); + coinbd := (xb,ya); + coinhd := (xb,yb); + coinhg := (xa,yb); + %modifie le 29.09.04 + z.so=(xpart(coinbg/1cm),ypart(coinbg/1cm)); + z.ne=(xpart(coinhd/1cm),ypart(coinhd/1cm)); + %fin modification + extra_endfig := "clip currentpicture to feuillet;" & extra_endfig; +enddef; + +def Figure(expr xa,ya,xb,yb) = + feuille(xa,ya,xb,yb); + _tfig:= if (xb-xa)>(yb-ya): xb-xa else: yb-ya fi; + _tfig:=2*_tfig; +enddef; + +%%----------------------------------------------- +%% Les marques (JMS) +%%----------------------------------------------- +string marque_p; +marque_p := "non"; +marque_r := 20; +marque_a := 20; +marque_s := 5; +marque_ang := 10; +m_c := 10 ;%Pour la croix du marquage des points + +%------------------------------------------------ +% Les tables +%------------------------------------------------ +numeric _tn; +_tn:=0; +pair _t[]; +color _T[]; + +%%----------------------------------------------- +%% Procedures d'affichage +%%----------------------------------------------- +def MarquePoint(expr p)= + if typetrace="3D": + %JMS + if marque_p = "plein": + fill fullcircle scaled (marque_r/5) shifted Projette(p); + elseif marque_p = "creux": + fill fullcircle scaled (marque_r/5) shifted (Projette(p)) withcolor white; + draw fullcircle scaled (marque_r/5) shifted (Projette(p)); + %fin JMS + elseif marque_p = "croix": + draw (Projette(p) shifted (-u/10,u/10))--(Projette(p) shifted (u/10,-u/10)); + draw (Projette(p) shifted (-u/10,-u/10))--(Projette(p) shifted (u/10,u/10)); + elseif marque_p = "tiretv": + draw (Projette(p) shifted (0,u/10))--(Projette(p) shifted(0,-u/10)); + elseif marque_p = "tireth": + draw (Projette(p) shifted (u/10,0))--(Projette(p) shifted(-u/10,0)); + fi; + else: + if marque_p = "plein": + fill fullcircle scaled (marque_r/5) shifted p; + elseif marque_p = "creux": + fill fullcircle scaled (marque_r/5) shifted p withcolor white; + draw fullcircle scaled (marque_r/5) shifted p; + elseif marque_p = "croix": + draw (p shifted (-u/m_c,u/m_c))--(p shifted (u/m_c,-u/m_c)); + draw (p shifted (-u/m_c,-u/m_c))--(p shifted (u/m_c,u/m_c)); + elseif marque_p = "tiretv": + draw (p shifted (0,u/10))--(p shifted(0,-u/10)); + elseif marque_p = "tireth": + draw (p shifted (u/10,0))--(p shifted(-u/10,0)); + fi; + fi; +enddef; + +vardef pointe(text t) = + for p_ = t: if (pair p_) or (color p_): MarquePoint(p_); fi endfor; +enddef; + +%------------------------------------------------ +% Points +%------------------------------------------------ +%JMS +vardef iso(text t) = + save s,n; numeric n; + if typetrace="3D": + color s; s := (0,0,0) ; n := 0; + for p_ = t: s := s + p_; n := n + 1 ; endfor; + else: + pair s; s := (0,0) ; n := 0; + for p_ = t: s := s + p_; n := n + 1 ; endfor; + fi; + if n>0: (1/n)*s fi +enddef; + +vardef milieu(expr AA,BB)= + save $; + pair $; + if typetrace="mainlevee": + $=point((length segment(AA,BB))*(1/2+(-1+uniformdeviate(2))/10)) of segment(AA,BB) + else: + $=iso(AA,BB) + fi; + $ +enddef; + +vardef CentreCercleI(expr aa,bb,cc)= + save $,a,c; + pair $; + numeric a,c; + a=(angle(aa-cc)-angle(bb-cc))/2; + c=(angle(cc-bb)-angle(aa-bb))/2; + ($-cc) rotated a shifted cc=whatever[aa,cc]; + ($-bb) rotated c shifted bb=whatever[bb,cc]; + $ +enddef; + +%------------------------------------------------ +% Cercles +%------------------------------------------------ +%Cercle connaissant le centre A et le rayon q +vardef cercle(expr aa, q)=fullcircle scaled (2*q) shifted aa +enddef; +%Cercle de centre A et passant par B +vardef cerclepoint(expr aa,bb)=fullcircle scaled (2*abs(aa-bb)) shifted aa +enddef; +%Cercle connaissant le diametre [AB] +vardef cercledia(expr aa,bb)=cercles(iso(aa,bb),bb) + %fullcircle scaled (2*abs(1/2[aa,bb]-bb)) shifted (1/2[aa,bb]) +enddef; +%Cercles complets +vardef cercles(text t)= + save Cer; + save n; + n:=0; + for p_=t: + if pair p_: + n:=n+1; + _t[n]:=p_; + fi + if numeric p_: + rayon:=p_; + fi; + if color p_: + n:=n+1; + _T[n]:=p_; + fi; + endfor; + if typetrace="3D":%centre aa passant par bb dans le plan (ccddee) généralement aa=cc + path Cer; + color ptcer[]; + for k=0 step 5 until 360 : + ptcer[k div 5]-_T[1]=Distance(_T[1],_T[2])*((_T[4]-_T[3])*cosd(k)/Distance(_T[3],_T[4])+(_T[5]-_T[3])*sind(k)/Distance(_T[3],_T[5])); + endfor; + Cer=Projette(ptcer0) + for k=0 step 5 until 360 : + ..Projette(ptcer[k div 5]) + endfor + ..cycle; + else: + path Cer; + if n=1 : Cer=fullcircle scaled (2*rayon) shifted _t[1]; + elseif n=2 : Cer=fullcircle scaled (2*abs(_t[1]-_t[2])) shifted _t[1]; + elseif n=3 : Cer=cercles(CentreCercleC(_t[1],_t[2],_t[3]),_t[1]); + fi + fi + Cer +enddef; + +%Point particulier sur le cercle +vardef pointarc(expr cercla,angle)= + point(arctime((angle/360)*arclength cercla) of cercla) of cercla +enddef; + +%Arc de cercle AB de centre 0(dans le sens direct) : les points A et B doivent etre sur le cercle. +vardef arccercle(expr aa,bb,oo)= + path tempo; + path arc; + tempo=fullcircle scaled (2*abs(aa-oo)) shifted oo; + if (angle(aa-oo)=0) or (angle(aa-oo)>0) : + if (angle(bb-oo)=0) or (angle(bb-oo)>0): + if (angle(aa-oo)0): + arc=subpath(length tempo+angle(aa-oo)*(length tempo)/360,length tempo+angle(bb-oo)*(length tempo)/360) of tempo; + elseif (angle(bb-oo)<0): + if (angle(aa-oo)=angle(bb-oo)) or (angle(aa-oo)(-1,-1): + draw support shifted (ecart*j*(u,0)); + fi + endfor; + ); + clip $ to chemin; + drawoptions(); + $ +enddef; +%fleche pour coter un segment [AB] (Jacques Marot) +vardef cotation(expr aa,bb,ecart,decalage,cote)= + pair m[] ; + save $; + picture $; + m3=unitvector(bb-aa) rotated 90; + m1=aa+ecart*m3; + m2=bb+ecart*m3; + $=image( + pickup pencircle scaled 0.2bp; + drawdblarrow m1--m2 ; + draw aa--m1 dashed evenly; + draw bb--m2 dashed evenly; + label(cote rotated angle(m2-m1),(m1+m2)/2+decalage*m3); + ); + $ +enddef; + +vardef appelation(expr aa,bb,decalage,cote)= + save $; + pair m[],AA,BB; + if color aa: + AA=Projette(aa); + else: + AA=aa; + fi; + if color bb: + BB=Projette(bb); + else: + BB=bb; + fi; + m3=unitvector(BB-AA) rotated 90; + picture $; + $=image( + label(cote rotated angle(BB-AA),(BB+AA)/2+decalage*m3); + ); + $ +enddef; + +vardef cotationmil(expr aa,bb,ecart,decalage,cote)= %Christophe + pair m[],AA,BB; + save $; + picture cot; + if color aa: + AA=Projette(aa) + else: + AA=aa + fi; + if color bb: + BB=Projette(bb) + else: + BB=bb + fi; + m3=unitvector(BB-AA) rotated 90; + m1=AA+ecart*m3; + m2=BB+ecart*m3; + cot=image( + pickup pencircle scaled 0.2bp; + drawarrow (1/2[m1,m2]+decalage*unitvector(m1-m2))--m1; + drawarrow (1/2[m1,m2]-decalage*unitvector(m1-m2))--m2; + draw AA--m1 dashed evenly; + draw BB--m2 dashed evenly; + label(cote rotated angle(m2-m1),(m1+m2)/2); + ); + cot +enddef; + +%%%%%%%%%% +%francisation +%%%%%%%%% +def trace expr o = + if path o: draw o else: draw o fi +enddef; +def remplis expr o = + if path o: fill o else: fill o fi +enddef; + +%3D - basé sur donymodule +color Sommet[]; + +color Co[]; +Co0=jaune; +Co1=violet; +Co2=orange; +Co3=ciel; +Co4=vert; +Co5=bleu; +Co6=rouge; + +string pointilles; + +string typerepre; +typerepre:="proj"; + +%generalite +vardef Projette(expr X)= + pair $; + Xobs := -redpart(X)*Aux1 + greenpart(X)*Aux3; + Yobs := -redpart(X)*Aux5 - greenpart(X)*Aux6 + bluepart(X)*Aux4; + if typerepre="proj": + Zobs := -redpart(X)*Aux7 - greenpart(X)*Aux8 - bluepart(X)*Aux2 + Rho; + XProj := DE*Xobs/Zobs; + YProj := DE*Yobs/Zobs; + elseif typerepre="persp": + XProj := DE*Xobs; + YProj := DE*Yobs; + fi; + $=(XProj,YProj); + $ +enddef; + +vardef Initialisation(expr r,t,p,d)= + Rho:=r; + Theta:=t; + Phi:=p; + DE:=d; + Aux1:=sind(Theta); + Aux2:=sind(Phi); + Aux3:=cosd(Theta); + Aux4:=cosd(Phi); + Aux5:=Aux3*Aux2; + Aux6:=Aux1*Aux2; + Aux7:=Aux3*Aux4; + Aux8:=Aux1*Aux4; + pointilles:="oui"; +enddef; + +%vues cachees + +vardef Face(text t)= + j:=0; + for p_=t : + if numeric p_: + a[j]:=p_; + j:=j+1; + fi; + endfor; + for k=1 upto (j-1): + Fc[a0*100+(k-1)]:=a[k]; + endfor; +enddef; + +vardef Oeil=(Rho*Aux7,Rho*Aux8,Rho*Aux2) +enddef; + +vardef Vision(expr num)= + save bb; + color bb; + bb=(redpart(Oeil-Sommet[num]),greenpart(Oeil-Sommet[num]),bluepart(Oeil-Sommet[num])); + bb +enddef; + +vardef Normal(expr vecun,vecde,vectr)= + save aa; + color aa; + P1:=redpart(vecde-vecun); + P2:=greenpart(vecde-vecun); + P3:=bluepart(vecde-vecun); + Q1:=redpart(vectr-vecun); + Q2:=greenpart(vectr-vecun); + Q3:=bluepart(vectr-vecun); + aa=(P2*Q3-Q2*P3,P3*Q1-Q3*P1,P1*Q2-Q1*P2); + aa +enddef; + +vardef ProduitScalaire(expr wec,mor)= + redpart(wec)*redpart(mor)+greenpart(wec)*greenpart(mor)+bluepart(wec)*bluepart(mor) +enddef; + +vardef Distance(expr aa,bb)=%Entre deux points + sqrt((redpart(bb)-redpart(aa))*(redpart(bb)-redpart(aa))+(greenpart(bb)-greenpart(aa))*(greenpart(bb)-greenpart(aa))+(bluepart(bb)-bluepart(aa))*(bluepart(bb)-bluepart(aa))) +enddef; + +vardef Module(expr aa)=%module d'un vecteur +sqrt((redpart(aa))**2+(greenpart(aa))**2+(bluepart(aa)**2)) +enddef; + +color CoulTrace; +CoulTrace=black; + +vardef DessineObjet= + for l=1 upto NF: + color cc,dd; + dd=Vision(Fc[l*100+1]); + cc=Normal(Sommet[Fc[l*100+1]],Sommet[Fc[l*100+2]],Sommet[Fc[l*100+3]]); + if (ProduitScalaire(dd,cc)<0): + if pointilles="oui": + drawoptions(dashed dashpattern(on3pt off6pt) withcolor CoulTrace); + trace for k=1 upto Fc[100*l]: + Projette(Sommet[Fc[100*l+k]])-- + endfor + cycle; + fi; + else: + trace for k=1 upto Fc[100*l]: + Projette(Sommet[Fc[100*l+k]])-- + endfor + cycle withcolor CoulTrace; + fi; + drawoptions(); + endfor; +enddef; + +%%Transformations + +%Translations + +vardef TranslateSommets(expr v)= + for k=1 upto NbS: + Sommet[k]:=Sommet[k]+v; + endfor; +enddef; + +vardef SymetriePlanZ(expr vv)= + for k=1 upto NbS: + w:=vv-bluepart(Sommet[k]); + Sommet[k]:=(redpart(Sommet[k]),greenpart(Sommet[k]),w); + endfor; +enddef; + +vardef IntersectionDroite(expr aa,bb,cc,dd)= + save tt; + color tt; + tt=whatever[aa,bb]; + tt=whatever[cc,dd]; + tt +enddef; + +%%denis Roegel---------- +vardef Intersectionplandroite(expr aa,bb,cc,dd,ee)= + save int; + boolean int; + color gg,caaa[]; + caaa3=Normal(aa,bb,cc)/Module(Normal(aa,bb,cc)); + caaa1=aa-dd; + caaa2=ee-dd; + if ProduitScalaire(caaa2,caaa3)<>0: + caaa4=caaa2*(ProduitScalaire(caaa1,caaa3)/ProduitScalaire(caaa2,caaa3)); + int:=true; + else: % the line is parallel to the plane + int:=false; + fi; + int +enddef; + +vardef IntersectionPlanDroite(expr aa,bb,cc,dd,ee)=%plan (aa,bb,cc) droite(dd,ee) + if Intersectionplandroite(aa,bb,cc,dd,ee): + gg=dd+caaa4; + fi; + gg +enddef; + +vardef ProjectionsurPlan(expr aa,bb,cc,dd)=%Projection du point aa sur le plan (bbccdd) + save di,vc; + color va,vb,vc; + va=Normal(bb,cc,dd)/Module(Normal(bb,cc,dd)); + vb=aa-bb; + di=-ProduitScalaire(vb,va); + va:=di*va; + vb:=vb+va; + vc=bb+vb; + vc +enddef; + +vardef Intersectionplanplan(expr AA,BB,CC,DD,EE,FF)=%besoin pour la suite + color trial[]; + path INTer; + if Intersectionplandroite(DD,EE,FF,AA,BB): + trial1=IntersectionPlanDroite(DD,EE,FF,AA,BB); + else:% there is no intersection or the intersection is the line + trial1=IntersectionPlanDroite(DD,EE,FF,AA,1/2[BB,CC]); + fi; + if Intersectionplandroite(DD,EE,FF,AA,CC): + trial2=IntersectionPlanDroite(DD,EE,FF,AA,CC); + else:% there is no intersection or the intersection is the line + trial2=IntersectionPlanDroite(DD,EE,FF,CC,1/2[BB,AA]);%modif de cp + fi; + %INTer=segment(10[trial1,trial2],10[trial2,trial1]); + INTer=droite(trial1,trial2); + INTer +enddef; + +vardef IntersectionPlanPlan(expr aa,bb,cc,dd,ee,ff)= + %a verifier + save da,db,dc,int,INTER; + boolean int; + path INTER; + da=Module(aa-ProjectionsurPlan(aa,dd,ee,ff)); + %show da; + db=Module(bb-ProjectionsurPlan(bb,dd,ee,ff)); + %show db; + dc=Module(cc-ProjectionsurPlan(cc,dd,ee,ff)); + %show dc; + if (da=db) and (db=dc): % the two planes are parallel + int:=false; + else: + int:=true; + if (da=db): + INTER=droite(aa,bb); + elseif (db=dc): + INTER=droite(bb,cc); + elseif (dc=da): + INTER=droite(cc,aa); + elseif (da>=db) and (da>=dc): + INTER=Intersectionplanplan(aa,bb,cc,dd,ee,ff); + elseif (db>=da) and (db>=dc): + INTER=Intersectionplanplan(bb,cc,aa,dd,ee,ff); + elseif (dc>=da) and (dc>=db): + INTER=Intersectionplanplan(cc,aa,bb,dd,ee,ff); + fi; + fi; + INTER +enddef; +%%--------------------- + +%Cube +numeric arete; +arete=1; + +vardef Cube(text t)= + picture cub; + cub=image( + NbS:=8; + Sommet1:=(arete,0,0); + Sommet2:=(arete,arete,0); + Sommet3:=(0,arete,0); + Sommet4:=(0,0,0); + Sommet5:=(0,0,arete); + Sommet6:=(arete,0,arete); + Sommet7:=(arete,arete,arete); + Sommet8:=(0,arete,arete); +%%Faces + NF:=6; + Fc[100]:=4;Fc[101]:=1;Fc[102]:=4;Fc[103]:=3;Fc[104]:=2; + Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; + Fc[300]:=4;Fc[301]:=1;Fc[302]:=6;Fc[303]:=5;Fc[304]:=4; + Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; + Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; + Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; + DessineObjet; + k:=1; + for p_=t: + if color p_: + p_=Sommet[k]; + k:=k+1; + fi + endfor; + ); +cub +enddef; + +vardef cube= + typetrace:="3D"; + typerepre:="persp"; + Initialisation(1500,30,20,100); + picture cub; + cub=image( + NbS:=8; + Sommet1:=(arete,0,0); + Sommet2:=(arete,arete,0); + Sommet3:=(0,arete,0); + Sommet4:=(0,0,0); + Sommet5:=(0,0,arete); + Sommet6:=(arete,0,arete); + Sommet7:=(arete,arete,arete); + Sommet8:=(0,arete,arete); +%%Faces + NF:=6; + Fc[100]:=4;Fc[101]:=1;Fc[102]:=4;Fc[103]:=3;Fc[104]:=2; + Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; + Fc[300]:=4;Fc[301]:=1;Fc[302]:=6;Fc[303]:=5;Fc[304]:=4; + Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; + Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; + Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; + DessineObjet; + ); + cub +enddef; + +%Cube +vardef Paveh(text t)= + picture paveh; + paveh=image( + NbS:=8; + Sommet1:=(0.75,0,0); + Sommet2:=(0.75,1.5,0); + Sommet3:=(0,1.5,0); + Sommet4:=(0,0,0); + Sommet5:=(0,0,1); + Sommet6:=(0.75,0,1); + Sommet7:=(0.75,1.5,1); + Sommet8:=(0,1.5,1); +%%Faces + NF:=6; + Fc[100]:=4;Fc[101]:=1;Fc[102]:=4;Fc[103]:=3;Fc[104]:=2; + Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; + Fc[300]:=4;Fc[301]:=1;Fc[302]:=6;Fc[303]:=5;Fc[304]:=4; + Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; + Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; + Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; + DessineObjet; + k:=1; + for p_=t: + if color p_: + p_=Sommet[k]; + k:=k+1; + fi + endfor; + ); +paveh +enddef; + +%Cube +vardef Pavev(text t)= + picture pavev; + pavev=image( + NbS:=8; + Sommet1:=(1,0,0); + Sommet2:=(1,0.75,0); + Sommet3:=(0,0.75,0); + Sommet4:=(0,0,0); + Sommet5:=(0,0,1.5); + Sommet6:=(1,0,1.5); + Sommet7:=(1,0.75,1.5); + Sommet8:=(0,0.75,1.5); +%%Faces + NF:=6; + Fc[100]:=4;Fc[101]:=1;Fc[102]:=4;Fc[103]:=3;Fc[104]:=2; + Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; + Fc[300]:=4;Fc[301]:=1;Fc[302]:=6;Fc[303]:=5;Fc[304]:=4; + Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; + Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; + Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; + DessineObjet; + k:=1; + for p_=t: + if color p_: + p_=Sommet[k]; + k:=k+1; + fi + endfor; + ); +pavev +enddef; + +vardef Pave(text t)(expr aa,bb,cc)= + picture pave; + pave=image( + NbS:=8; + Sommet1:=(aa,0,0); + Sommet2:=(aa,bb,0); + Sommet3:=(0,bb,0); + Sommet4:=(0,0,0); + Sommet5:=(0,0,cc); + Sommet6:=(aa,0,cc); + Sommet7:=(aa,bb,cc); + Sommet8:=(0,bb,cc); +%%Faces + NF:=6; + Fc[100]:=4;Fc[101]:=4;Fc[102]:=3;Fc[103]:=2;Fc[104]:=1; + Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; + Fc[300]:=4;Fc[301]:=4;Fc[302]:=1;Fc[303]:=6;Fc[304]:=5; + Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; + Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; + Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; + DessineObjet; + k:=1; + for p_=t: + if color p_: + p_=Sommet[k]; + k:=k+1; + fi + endfor; + ); +pave +enddef; + +vardef pave(expr aa,bb,cc)= + typetrace:="3D"; + typerepre:="persp"; + Initialisation(1500,30,20,100); + picture PAVE; + PAVE=image( + NbS:=8; + Sommet1:=(aa,0,0); + Sommet2:=(aa,bb,0); + Sommet3:=(0,bb,0); + Sommet4:=(0,0,0); + Sommet5:=(0,0,cc); + Sommet6:=(aa,0,cc); + Sommet7:=(aa,bb,cc); + Sommet8:=(0,bb,cc); +%%Faces + NF:=6; + Fc[100]:=4;Fc[101]:=4;Fc[102]:=3;Fc[103]:=2;Fc[104]:=1; + Fc[200]:=4;Fc[201]:=4;Fc[202]:=5;Fc[203]:=8;Fc[204]:=3; + Fc[300]:=4;Fc[301]:=4;Fc[302]:=1;Fc[303]:=6;Fc[304]:=5; + Fc[400]:=4;Fc[401]:=5;Fc[402]:=6;Fc[403]:=7;Fc[404]:=8; + Fc[500]:=4;Fc[501]:=2;Fc[502]:=3;Fc[503]:=8;Fc[504]:=7; + Fc[600]:=4;Fc[601]:=1;Fc[602]:=2;Fc[603]:=7;Fc[604]:=6; + DessineObjet; + ); + PAVE +enddef; + +vardef Tetraedrer(text t)= + picture tetrar; + tetrar=image( + %Sommets + NbS:=4; + Sommet1:=(0,0,1); + Sommet2:=(-0.4714045,-0.8164965,-1/3); + Sommet3:=(0.942809,0,-1/3); + Sommet4:=(-0.4714045,0.8164965,-1/3); + %Faces + NF:=4; + Fc[100]:=3;Fc[101]:=1;Fc[102]:=2;Fc[103]:=3; + Fc[200]:=3;Fc[201]:=1;Fc[202]:=3;Fc[203]:=4; + Fc[300]:=3;Fc[301]:=1;Fc[302]:=4;Fc[303]:=2; + Fc[400]:=3;Fc[401]:=2;Fc[402]:=4;Fc[403]:=3; + DessineObjet; + k:=1; + for p_=t: + if color p_: + p_=Sommet[k]; + k:=k+1; + fi + endfor; + ); + tetrar +enddef; + +endinput; diff --git a/macros/latex/contrib/profcollege/metapost/PfCLaTeX.mp b/macros/latex/contrib/profcollege/metapost/PfCLaTeX.mp new file mode 100644 index 0000000000..33d9848b63 --- /dev/null +++ b/macros/latex/contrib/profcollege/metapost/PfCLaTeX.mp @@ -0,0 +1,15 @@ +vardef LATEX primary s = + write "verbatimtex" to "mptextmp.mp"; + write "%&latex" to "mptextmp.mp"; + write "\documentclass[]{article}" to "mptextmp.mp"; + write "\usepackage{ProfCollege}" to "mptextmp.mp"; + write "\usepackage[utf8]{inputenc}" to "mptextmp.mp"; + write "\usepackage[T1]{fontenc}" to "mptextmp.mp"; + write "\usepackage{fourier}" to "mptextmp.mp"; + write "\usepackage[french]{babel}" to "mptextmp.mp"; + write "\begin{document}" to "mptextmp.mp"; + write "etex" to "mptextmp.mp"; + write "btex "&s&" etex" to "mptextmp.mp"; + write EOF to "mptextmp.mp"; + scantokens "input mptextmp" +enddef; diff --git a/macros/latex/contrib/profcollege/metapost/PfCScratch.mp b/macros/latex/contrib/profcollege/metapost/PfCScratch.mp new file mode 100644 index 0000000000..75a0e0edcc --- /dev/null +++ b/macros/latex/contrib/profcollege/metapost/PfCScratch.mp @@ -0,0 +1,3346 @@ +%%%%% epaisseur de tracés %%%%%%%% +numeric eppen; +eppen=0.25; + +pickup pencircle scaled eppen; +defaultpen := savepen; + +%points pour placer les différents éléments +pair _coinprec;%coinbasgauche de la boite précédente +pair _coincom;%coinbasdroite de la boite afin d'y mettre des commentaires +pair _coinnum;%milieu côté gauche pour placer la numérotation des lignes + +%paramètres +numeric Nblignes; Nblignes:=1; +pair DebutListe; DebutListe=(0,0); +boolean NumeroteLignes; NumeroteLignes=false; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% couleurs +color CoulLignes; CoulLignes:=black; +color ColBloc; % alias des couleurs de bloc + +%Version3 +color BleuMouvTrois,dBleuMouvTrois,VioletAppTrois,dVioletAppTrois,OrangeConTrois,OrangeTrois,OrangeListTrois,SonTrois,DSonTrois,EvenementTrois,CapteurTrois,StyloTrois,BlocTrois,BlocDefTrois,BlocDefLigneTrois,MessageTrois,ControleTrois,CapFonceTrois,CloneTrois,FondSonTrois,OvalStyloTrois,FondOvalOp; +BleuMouvTrois=(76/255,151/255,255/255); +dBleuMouvTrois=(66/255,128/255,215/255); +VioletAppTrois=(153/255,102/255,255/255); +dVioletAppTrois=(133/255,92/255,214/255); +OrangeConTrois=(255/255,171/255,25/255); +OrangeTrois=(255/255,140/255,26/255); +OrangeListTrois=(255/255,102/255,26/255); +SonTrois=(207/255,99/255,207/255); +DSonTrois=(201/255,79/255,201/255); +FondSonTrois=(15/255,189/255,140/255); +EvenementTrois=(255/255,191/255,0); +MessageTrois=(230/255,172/255,0); +CapteurTrois=(92/255,177/255,214/255); +CapFonceTrois=(71/255,168/255,209/255); +StyloTrois=(15/255,189/255,140/255); +OvalStyloTrois=(13/255,165/255,122/255); +BlocTrois=(255/255,102/255,128/255); +BlocDefTrois=(255/255,77/255,106/255); +BlocDefLigneTrois=(255/255,51/255,85/255); +ControleTrois=(255/255,171/255,25/255); +CloneTrois=(236/255,156/255,19/255); +FondOvalOp=(89/255,192/255,89/255); + +vardef FondOvalAppMenu= + save $; color $; + $=dVioletAppTrois; + $ +enddef; + +%%%%Alias +def Place expr o = + if path o: draw o else: draw o fi +enddef; + +%impression +boolean print; +print=false; + +numeric coefprint; +coefprint:=0.95; + +%texte ou symbole droite gauche +boolean symbole; +symbole=true; + +%divers +numeric eb;%ecart boite-texte +eb:=3pt; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Création des boites +ecrt:=eb/2;%largeur de la bordure de départ des boites Box, OValBox... + +vardef Box(text t)= + save $; path $; + picture ox; + ox=image( + if string t: + string demitt; + demitt=t&"\barre"; + label(TEX(demitt),(0,0)); + else: + draw t; + fi; + ); + $=(llcorner ox+(0,-ecrt))--(lrcorner ox+(0,-ecrt))--(urcorner ox+(0,ecrt))--(ulcorner ox+(0,ecrt))--cycle; + $ +enddef; + +vardef RecBox(text t)= + save $; path $; path xo; + if string t: + string demit; + demit=t&"\demibarre"; + xo=Box(demit);%on crée la boite contenant le texte + else: + xo=Box(t); + fi; + $=(llcorner xo+(-eb,eb)){dir-90}..{dir0}(llcorner xo)--(lrcorner xo){dir0}..{dir90}(lrcorner xo+(eb,eb))--(urcorner xo+(eb,-eb)){dir90}..{dir180}(urcorner xo)--(ulcorner xo){dir180}..{dir-90}(ulcorner xo+(-eb,-eb))--cycle; + $ +enddef; + +%%%%%%%%%%%%%% + +%%%%%%% Boites Ovales %%%%%%%% +vardef OvalBox(text t)= + save $; path $; path xo; + if string t: + string demit; + demit=t&"\barre"; + xo=Box(demit);%on crée la boite contenant le texte + else: + xo=Box(t); + fi; + $=(llcorner xo+(eb,0))--(lrcorner xo-(eb,0)){dir0}..{dir180}(urcorner xo+(-eb,0))--(ulcorner xo+(eb,0)){dir180}..{dir0}cycle;%on "arrondit" la boite + $ +enddef; + +vardef OvalVar(expr ar)= + save Ovar; picture Ovar; + save TAvar; path TAvar; + string TTv; + TTv=ar&"\barre"; + TAvar=OvalBox(TTv); + Ovar=image( + fill TAvar if print=false : withcolor OrangeTrois else : withcolor white fi; + draw TAvar if print=false : withcolor coefprint*white fi; + label(TEX("\barre\bfseries "&ar),(0,0)) if print=false : withcolor white fi; + ); + Ovar:=Ovar shifted(-center Ovar); + Ovar +enddef; + +vardef OvalList(text listelist)= + save CList; picture CList; + path TAlist; picture LOCMt; + LOCMt=ColleBoxNew(listelist); + TAlist=OvalBox(LOCMt); + CList=image( + fill TAlist if print=false : withcolor OrangeListTrois else : withcolor white fi; + draw LOCMt; + draw TAlist if print=false : withcolor coefprint*white fi; + ); + CList:=CList shifted(-center CList); + CList +enddef; + +vardef OvalBloc(expr ar)= + save $; picture $; + path tabloc; + tabloc=OvalBox(ar); + $=image( + fill tabloc if print=false : withcolor BlocTrois else: withcolor white fi; + draw tabloc if print=true : withcolor black else: withcolor BlocDefLigneTrois fi; + label(TEX("\bfseries\barre "&ar),(0,0)) if print=false : withcolor blanc fi; + ); + $ +enddef; + +vardef OvalMiniBox(text t)= + save $; path $; path xo; + if string t: + string demit; + demit=t&"\barre"; + xo=Box(demit);%on crée la boite contenant le texte + else: + xo=Box(t); + fi; + $=(llcorner xo+(eb/2,0))--(lrcorner xo-(eb/2,0)){dir0}..{dir180}(urcorner xo+(-eb/2,0))--(ulcorner xo+(eb/2,0)){dir180}..{dir0}cycle;%on "arrondit" la boite + $ +enddef; + +vardef DiamondBox(text t)= + save $; path $; path xo; + xo=Box(t);%on crée la boite contenant le texte + $=(llcorner xo-(eb,0))--(lrcorner xo+(eb,0))--(1/2[lrcorner xo,urcorner xo]+(4eb,0))--(urcorner xo+(eb,0))--(ulcorner xo-(eb,0))--(1/2[llcorner xo,ulcorner xo]+(-4eb,0))--cycle; + $ +enddef; + +vardef OvalNb(expr ar)= + save Onb; picture Onb; + path tanb; + tanb=OvalBox(ar); + Onb=image( + fill tanb withcolor white; + draw tanb if print=false : withcolor coefprint*white fi; + label(TEX("\barre "&ar),(0,0)); + ); + Onb +enddef; + +vardef OvalText(expr ar)= + save $; save TA; + picture $; + path TA; + TA=OvalBox(ar); + $=image(% + fill TA withcolor white; + draw TA if print=false : withcolor coefprint*white fi; + label(TEX("\barre "&ar),(0,0)); + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef OvalOp(text listeop)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(listeop); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OvalApp(text listop)= + save $; picture $; + save ta; path ta; + save TTap; picture TTap; + TTap=ColleBoxNew(listop); + ta=OvalBox(TTap); + $=image( + fill ta if print=false : withcolor VioletAppTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + draw TTap; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef OvalSon(text listop)= + save $; picture $; + save ta; path ta; + save TTap; picture TTap; + TTap=ColleBoxNew(listop); + ta=OvalBox(TTap); + $=image( + fill ta if print=false : withcolor SonTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + draw TTap; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef OvalMusique(expr ar)= + save $; save TA; + picture $; + if string ar: + picture TT; + TT=ColleBoxNew(DoubleNote,"tempo"); + path TA; + TA=OvalBox(TT); + $=image( + fill TA if print : withcolor white else : withcolor StyloTrois fi; + draw TT if print=true : withcolor coefprint*white fi; + ); + else: + message("La commande --OvalStylo-- n'accepte qu'un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef OvalMouv(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=ar&"\longbarre"; + ta=OvalBox(TTm); + $=image( + fill ta if print=false : withcolor BleuMouvTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(TEX("\longbarre "&ar),center ta) if print=false : withcolor blanc fi; + ); + $ +enddef; + +vardef OvalMenuCap(expr art)=OvalCapMenu(art) enddef; + +vardef OvalCapMenu(expr ar)= + save $; picture $; + string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + path TAMC; + TAMC=OvalBox(TTm); + $=image( + fill TAMC if print : withcolor white else : withcolor CapFonceTrois fi; + draw TAMC if print=false : withcolor coefprint*white fi; + label(TEX(TTm),center TAMC); + ); + $ +enddef; + +vardef OvalCap(text listecap)= + save Cap; picture Cap; + save TAcap; path TAcap; + save LOCMcap; picture LOCMcap; + LOCMcap=ColleBoxNew(listecap); + TAcap=OvalBox(LOCMcap); + Cap=image( + fill TAcap if print=false : withcolor CapteurTrois else : withcolor white fi; + draw LOCMcap; + draw TAcap if print=false : withcolor coefprint*white fi; + ); + Cap:=Cap shifted(-center Cap); + Cap +enddef; + +vardef OvalMouvMenu(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: + "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}" + fi; + ta=OvalBox(TTm); + $=image( + fill ta if print=false : withcolor dBleuMouvTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(TEX(TTm),center ta); + ); + $ +enddef; + +vardef OvalAppMenu(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + ta=OvalBox(TTm); + $=image( + fill ta if print=false : withcolor FondOvalAppMenu else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(TEX(TTm),center ta); + ); + $ +enddef; + +vardef OvalSonMenu(expr art)=OvalMenuSon(art) enddef; + +vardef OvalMenuSon(expr ar)= + save $; save TA; + picture $; + string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + path TA; + TA=OvalBox(TTm); + $=image(% + fill TA if print : withcolor white else : withcolor DSonTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(TEX(TTm),center TA); + ); + $ +enddef; + +vardef OvalMenuControle(expr ar)= + save $; save TA; + picture $; + string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + path TA; + TA=OvalBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor CloneTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(TEX(TTm), center TA); + ); + $ +enddef; + +vardef OvalStylo(expr ar)= + save $; save TA; + picture $; + string TT,TTI; + if string ar: + if print: + TT=ar&"\hbox to1em{\barre}\blacktriangledown" + else: + TT=ar&"\hbox to1em{\barre}{\color{white}\blacktriangledown}" + fi; + TTI=ar&"\hbox to1em{\barre}\phantom{\blacktriangledown}"; + path TA; + TA=OvalBox(TT); + $=image( + fill TA if print : withcolor white else : withcolor OvalStyloTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(TEX(TT),(0,0)) if print=false : withcolor white fi; + ); + else: + message("La commande --OvalStylo-- n'accepte qu'un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef OvalCouleur(expr redcc,greencc,bluecc)= + save $; picture $; + string TTv; + path tacol; + TTv="\phantom{10}\barre"; + tacol=OvalBox(TTv); + $=image( + fill tacol withcolor (redcc,greencc,bluecc); + draw tacol; + ); + $:=$ shifted(-center tacol); + $ +enddef; + +vardef OvalMenuEvenement(expr ar)= + save $; save TA; + picture $; + string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + path TA; + TA=OvalBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor MessageTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(TEX(TTm), center TA); + ); + $ +enddef; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Rectangles +vardef RecMouvMenu(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}" + fi; + ta=RecBox(TTm); + $=image( + fill ta if print=false : withcolor BleuMouvTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(TEX(TTm),center ta); + ); + $ +enddef; + +vardef RecMenuApp(expr ar)= + save $; picture $; + save ta; path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + ta=RecBox(TTm); + $=image( + fill ta if print=false : withcolor VioletAppTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(TEX(TTm),center ta); + ); + $ +enddef; + +vardef RecMenuOp(expr ar)= + save $; save TA; + picture $; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + path TA; + TA=RecBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor FondOvalOp fi; + draw TA if print=false : withcolor coefprint*white fi; + label(TEX(TTm), center TA); + ); + $ +enddef; + +vardef RecMenuSon(expr ar)= + save $; save TA; + picture $; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}" fi; + path TA; + TA=RecBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor SonTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(TEX(TTm), center TA); + ); + $ +enddef; + +vardef RecEvenementMenu(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + ta=RecBox(TTm); + $=image( + fill ta if print=false : withcolor EvenementTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(TEX(TTm),center ta); + ); + $ +enddef; + +vardef RecMenuCap(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + ta=RecBox(TTm); + $=image( + fill ta if print=false : withcolor CapteurTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(TEX(TTm),center ta); + ); + $ +enddef; + +vardef RecMenuVar(expr ar)= + save $; save TA; + picture $; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + path TA; + TA=RecBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor OrangeTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(TEX(TTm), center TA); + ); + $ +enddef; + +vardef RecMenuList(expr ar)= + save $; save TA; + picture $; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "{\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + path TA; + TA=RecBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor OrangeListTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(TEX(TTm), center TA); + ); + $ +enddef; + +%%%%%%% Affichage Complet %%%%%%%%%%%%% +vardef PuzzleBox(text t)= + save $; path $; path xo; + xo=Box(t);%on crée la boite contenant le texte + $=(llcorner xo+(-eb,0)){dir-90}..{dir0}(llcorner xo+(0,-eb))-- + (llcorner xo+(0.375cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner xo+(0.375cm,0)+(0,-2eb))-- + (llcorner xo+(0.625cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner xo+(0.625cm,0)+(eb,-eb))-- + (lrcorner xo+(0,-eb)){dir0}..{dir90}(lrcorner xo+(eb,0))--(urcorner xo+(eb,0)){dir90}..{dir-180}(urcorner xo+(0,eb))-- + (ulcorner xo+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner xo+(0.625cm,0))-- + (ulcorner xo+(0.375cm,0)){dir180}.. + {dir180}(ulcorner xo+(0.375cm,0)+(-eb,eb))-- + (ulcorner xo+(0,eb)){dir-180}..{dir-90}(ulcorner xo+(-eb,0))--cycle; + $ +enddef; + +vardef BlocPuzzle(text nombloc)= + save Bpuzzle; picture Bpuzzle; + path TABp; picture LOCMp; + LOCMp=ColleBoxNew(nombloc); + TABp=PuzzleBox(LOCMp); + Bpuzzle=image( + fill TABp if print=false : withcolor BlocDefTrois else : withcolor white fi; + draw LOCMp; + draw TABp if print=true : withcolor black else: withcolor BlocDefLigneTrois fi; + ); + Bpuzzle:=Bpuzzle shifted(-center Bpuzzle+(0,-eb/2)); + Bpuzzle +enddef; + +vardef ColleBoxNew(text t)=%Pour coller plusieurs boites + save Colle; picture Colle; + Colle=nullpicture; + numeric nbcolle; nbcolle:=0; + save NBCOLLE; path NBCOLLE; + for p_ = t: + nbcolle:=nbcolle+1; + endfor; + picture HOLD; HOLD:=nullpicture; + if unknown LONG: LONG:=0 fi; + if nbcolle=1:%On dessine + for p_ = t: + if string p_: + NBCOLLE:=Box(p_); + HOLD:=image( + label(TEX("\sffamily\bfseries\longbarre "&p_),(0,0)) if print=false : withcolor white fi;%->ok + ); + HOLD:=(HOLD shifted ((xpart((center HOLD)-(llcorner HOLD))+LONG,0))); + else: + HOLD:=(p_ shifted ((xpart((center p_)-(llcorner p_))+LONG,0))); + fi; + endfor; + addto Colle also HOLD; + LONG:=LONG+abs(lrcorner Colle - llcorner Colle)+eb; + else:%il faut coller les boites une à une + for p_ = t: + addto Colle also (ColleBoxNew(p_)); + endfor; + fi; + Colle +enddef; + +vardef CADRE(expr texti)= + save $; path $; + $=(llcorner texti+(-eb,0)){dir-90}..{dir0}(llcorner texti+(0,-eb))-- + (llcorner texti+(0.375cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner texti+(0.375cm,0)+(0,-2eb))-- + (llcorner texti+(0.625cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner texti+(0.625cm,0)+(eb,-eb))-- + (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir-180}(urcorner texti+(0,eb))-- + (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner texti+(0.625cm,0))-- + (ulcorner texti+(0.375cm,0)){dir180}.. + {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- + (ulcorner texti+(0,eb)){dir-180}..{dir-90}(ulcorner texti+(-eb,0))--cycle; + $ +enddef; + +vardef AFFI(expr texta)= + path cadre; + cadre=CADRE(texta); + picture TEXT; + TEXT=image(% + fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; + draw texta; + draw cadre withcolor CoulLignes; + ); + TEXT +enddef; + +vardef Affichage(expr textu)= + save $; + picture $; + $=AFFI(textu); + $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); +_coinprec:=(llcorner $)+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +%Pour les blocs de type contrôle +vardef CADRECONTROLE(expr texti)= + save $; path $; + path tracecadre; + $=(llcorner texti+(-eb,-eb))--%(llcorner texti+(0,-eb))-- + (llcorner texti+(0.875cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner texti+(0.875cm,0)+(0,-2eb))-- + (llcorner texti+(1.125cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner texti+(1.125cm,0)+(eb,-eb))-- + (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir180}(urcorner texti+(0,eb))-- + (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner texti+(0.625cm,0))-- + (ulcorner texti+(0.375cm,0)){dir180}.. + {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- + (ulcorner texti+(0,eb)){dir180}..{dir-90}(ulcorner texti+(-eb,0))--cycle; + tracecadre=(llcorner texti+(0.5cm,0)+(0,-eb))--(llcorner texti+(0.875cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner texti+(0.875cm,0)+(0,-2eb))-- + (llcorner texti+(1.125cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner texti+(1.125cm,0)+(eb,-eb))-- + (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir180}(urcorner texti+(0,eb))-- + (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner texti+(0.625cm,0))-- + (ulcorner texti+(0.375cm,0)){dir180}.. + {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- + (ulcorner texti+(0,eb)){dir180}..{dir-90}(ulcorner texti+(-eb,0))-- + (llcorner texti+(-eb,-eb)); + $ +enddef; + +vardef AFFICONTROLE(expr texta)= + path cadre; + cadre=CADRECONTROLE(texta); + picture TEXT; + TEXT=image( + fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; + draw texta; + draw tracecadre withcolor CoulLignes; + ); + TEXT +enddef; + +vardef AffichageControle(expr textu)= + save $; + picture $; + $=AFFICONTROLE(textu); + $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); +_coinprec:=llcorner $+(0.5cm,0); +_coinprec:=_coinprec+(0,eb); +coindebutbloc[numblocrep]:=(llcorner $)+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +vardef CADREED(expr texti)= + save $; path $; + $=(llcorner texti+(-eb,0)){dir-90}..{dir0}(llcorner texti+(0,-eb))-- + (llcorner texti+(0.375cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner texti+(0.375cm,0)+(0,-2eb))-- + (llcorner texti+(0.625cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner texti+(0.625cm,0)+(eb,-eb))-- + (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir-180}(urcorner texti+(0,eb))-- + 1/2[ulcorner texti+(-eb,eb),urcorner texti+(eb,eb)]{dir150}..{dir-150}(ulcorner texti+(-eb,eb))--cycle; + $ +enddef; + +vardef AFFIED(expr texta)= + path cadre; + cadre=CADREED(texta); + picture TEXT; + TEXT=image( + fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; + draw texta; + draw cadre withcolor CoulLignes; + ); + TEXT +enddef; + +vardef AffichageED(expr textu)= + save $; + picture $; + $=AFFIED(textu); + $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +%%% section Mouvement %%%%%%%%%% +vardef Avancer(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("avancer de",OvalNb(nbpas),"pas"); + else: + texto=ColleBoxNew("avancer de",nbpas,"pas"); + fi; + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Arcdroite= + save $; + picture $; + $=image( + path cc; + cc=fullcircle scaled 10pt; + drawarrow reverse(subpath(0,0.75*length cc) of cc) withpen pencircle scaled 2bp if print=false: withcolor white fi; + ); + $ +enddef; + +vardef Arcgauche= + save $; + picture $; + $=image( + path cc; + cc=fullcircle scaled 10pt; + drawarrow (subpath(0.75*length cc,1.5*length cc) of cc) withpen pencircle scaled 2bp if print=false: withcolor white fi; + ); + $ +enddef; + +vardef Tournerd(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + if symbole=true: + texto=ColleBoxNew("tourner",Arcdroite,"de",OvalNb(nbpas),"degré(s)"); + else: + texto=ColleBoxNew("tourner à droite de",OvalNb(nbpas),"degré(s)"); + fi; + else: + if symbole=true: + texto=ColleBoxNew("tourner",Arcdroite,"de",nbpas,"degré(s)"); + else: + texto=ColleBoxNew("tourner à droite de",nbpas,"degré(s)"); + fi; + fi; + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Tournerg(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + if symbole=true: + texto=ColleBoxNew("tourner",Arcgauche,"de",OvalNb(nbpas),"degré(s)"); + else: + texto=ColleBoxNew("tourner à gauche de",OvalNb(nbpas),"degré(s)"); + fi; + else: + if symbole=true: + texto=ColleBoxNew("tourner",Arcgauche,"de",nbpas,"degré(s)"); + else: + texto=ColleBoxNew("tourner à gauche de",nbpas,"degré(s)"); + fi; + fi; + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Orienter(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("s'orienter à",OvalNb(nbpas)); + else: + texto=ColleBoxNew("s'orienter à",nbpas); + fi; + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Orienterdirection(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("s'orienter vers",OvalMouvMenu(nbpas)); + else: + texto=ColleBoxNew("s'orienter vers",nbpas); + fi; + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef OrienterVers(expr nbpass)=Orienterdirection(nbpass) enddef; + +vardef Aller(expr xa,ya)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("aller à x:",if string xa:OvalNb(xa) else: xa fi,"y:",if string ya:OvalNb(ya) else: ya fi); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Glisser(expr na,xa,ya)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("glisser en",if string na:OvalNb(na) else: na fi,"seconde(s) à x :",if string xa:OvalNb(xa) else: xa fi,"y:",if string ya:OvalNb(ya) else: ya fi); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Allera(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("aller à",OvalMouvMenu(nbpas)); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + else: + message(""); + message("La commande -- Allera -- n'accepte qu'un type string comme argument."); + message(""); + $=nullpicture; + fi; + $ +enddef; + +vardef Glissera(expr na,xa)= + LONG:=0; + save $; + picture $, texto; + if string xa: + texto=ColleBoxNew("glisser en",if string na:OvalNb(na) else: na fi,"seconde(s) à",OvalMouvMenu(xa)); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); +else: + message(""); + message("La commande -- Glissera -- n'accepte qu'un type string comme deuxième argument."); + message(""); + $=nullpicture; +fi; + $ +enddef; + +vardef Ajouter(expr nba,xa)= + LONG:=0; + save $; + picture $, texto; + if string xa: + texto=ColleBoxNew("ajouter",if string nba:OvalNb(nba) else: nba fi,"à",xa); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); +else: + message(""); + message("La commande -- Ajouter -- n'accepte qu'un type string comme deuxième argument."); + message(""); + $=nullpicture; +fi; +$ +enddef; + +vardef Mettre(expr xa,nba)= + LONG:=0; + save $; + picture $, texto; + if string xa: + texto=ColleBoxNew("mettre",xa,"à",if string nba:OvalNb(nba) else: nba fi); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + else: + message(""); + message("La commande -- Mettre -- n'accepte qu'un type string comme premier argument."); + message(""); + $=nullpicture; + fi; + $ +enddef; + +vardef Rebondir= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("rebondir si le bord est atteint"); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef FixerSensRotation(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("fixer le sens de rotation",RecMouvMenu(nbpas));%RecMouvMenu(nbpas)); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + else: + message("La commande --FixerSensRotation-- admet un seul argument de type string"); + $=nullpicture; + fi; + $ +enddef; + +%%%% fin section Mouvement %%%%%% + +%%%%% Section Apparence %%%%%%%%% +vardef DireT(expr na,xa)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("dire",if string na:OvalText(na) else: na fi,"pendant",if string xa : OvalNb(xa) else: xa fi,"seconde(s)"); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef Dire(expr na)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("dire",if string na:OvalText(na) else: na fi); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef PenserT(expr na,xa)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("penser à",if string na:OvalText(na) else: na fi,"pendant",if string xa : OvalNb(xa) else: xa fi,"seconde(s)"); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef Penser(expr na)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("penser à",if string na:OvalText(na) else: na fi); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef Montrer= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("montrer"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + $ +enddef; + +vardef Cacher= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("cacher"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + $ +enddef; + +vardef Basculer(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("basculer sur le costume",OvalAppMenu(nbpas)); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + else: + message("La commande --Basculer-- n'accepte qu'un argument string."); + $=nullpicture; + fi; + $ +enddef; + +vardef BasculerCostume(expr nbpass)=Basculer(nbpass) enddef; + +vardef CostumeSuivant= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("costume suivant"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +$ +enddef; + +vardef ARSuivant= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("arrière-plan suivant"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +$ +enddef; + +vardef BasculerAR(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("basculer sur l'arrière-plan",OvalAppMenu(nbpas)); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + else: + message("La commande --BasculerAR-- n'accepte qu'un argument string."); + $=nullpicture; + fi; + $ +enddef; + +vardef BasculerARA(expr nbpas)=%quand la scène est sélectionnée... + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("basculer sur l'arrière-plan",OvalAppMenu(nbpas)," et attendre"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + else: + message("La commande --BasculerARA-- n'accepte qu'un argument string."); + $=nullpicture; + fi; + $ +enddef; + +vardef AjouterEffet(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string xa: + texto=ColleBoxNew("ajouter",if string nbpas: OvalNb(nbpas) else: nbpas fi," à l'effet",RecMenuApp(xa)); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +else: + message("La commande --AjouterEffet-- n'accepte qu'un deuxième argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef MettreEffet(expr xa,nbpas)= + LONG:=0; + save $; + picture $,texto; + if string xa: + texto=ColleBoxNew("mettre l'effet",RecMenuApp(xa),"à",if string nbpas:OvalNb(nbpas) else: nbpas fi); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +else: + message("La commande --MettreEffet-- n'accepte qu'un premier argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef AnnulerEffet= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("annuler les effets graphiques"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +$ +enddef; + +vardef AnnulerEffets=AnnulerEffet enddef; + +vardef AjouterTaille(expr na)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("ajouter",if string na:OvalNb(na) else: na fi,"à la taille"); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef MettreA(expr na)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("mettre la taille à",if string na:OvalNb(na) else: na fi,"\% de la taille initiale"); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef MettreTaille(expr art)=MettreA(art) enddef; + +vardef AllerPlan(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("aller à l'",RecMenuApp(nbpas),"plan"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + else: + message("La commande --AllerPlan-- n'accepte qu'un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef DeplacerPlan(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string xa: + texto=ColleBoxNew("déplacer de",if string nbpas:OvalNb(nbpas) else: nbpas fi,"plan(s) vers l'",RecMenuApp(xa)); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +else: + message("La commande --DeplacerPlan-- n'accepte qu'un deuxième argument de type string."); + $=nullpicture; +fi; +$ +enddef; +%%%%fin Section Apparance%%%%%%%%%%%% + +%%%%%% Section Son%%%%%%%%%%%% +vardef Jouer(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas : + texto=ColleBoxNew("jouer le son",OvalMenuSon(nbpas)); + ColBloc:=SonTrois; + $=Affichage(texto); + else: + message("La commande --Jouer-- n'accepte qu'un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef JouerT(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("jouer le son",OvalMenuSon(nbpas)," jusqu'au bout"); + ColBloc:=SonTrois; + $=Affichage(texto); + else: + message("La commande --Jouer-- n'accepte qu'un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef ArreterSon= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("arrêter tous les sons"); + ColBloc:=SonTrois;; + $=Affichage(texto); + $ +enddef; + +vardef ArreterSons=ArreterSon enddef; + +vardef AjouterVol(expr xa)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("ajouter",if string xa:OvalNb(xa) else: xa fi," au volume"); + ColBloc:=SonTrois; + $=Affichage(texto); + $ +enddef; + +vardef MettreVol(expr xa)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("mettre le volume à",if string xa: OvalNb(xa) else: xa fi,"~\%"); + ColBloc:=SonTrois; + $=Affichage(texto); + $ +enddef; + +vardef AjouterEffetSon(expr nombre, effet)= + LONG:=0; + save $; + picture $, texto; + if string effet: + texto=ColleBoxNew("ajouter",if string nombre : OvalNb(nombre) else: nombre fi," à l'effet",RecMenuSon(effet)); + ColBloc:=SonTrois; + $=Affichage(texto); +else: + message("La commande -- AjouterEffet -- n'accepte qu'un deuxième argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef MettreEffetSon(expr effet,nombre)= + LONG:=0; + save $; + picture $, texto; + if string effet: + texto=ColleBoxNew("mettre l'effet",RecMenuSon(effet),"à",if string nombre:OvalNb(nombre) else: nombre fi); + ColBloc:=SonTrois; + $=Affichage(texto); +else: + message("La commande -- MettreEffet -- n'accepte qu'un argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef AnnulerEffetSon= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("annuler tous les effets sonores"); + ColBloc:=SonTrois; + $=Affichage(texto); + $ +enddef; + +%Musique +vardef Tambour(expr na,xa)= + LONG:=0; + save $; + picture $, texto; + if string na: + texto=ColleBoxNew(DoubleNote,"jouer du tambour",OvalStylo(na),"pendant",if string xa:OvalNb(xa) else: xa fi,"temps"); + ColBloc:=StyloTrois; + $=Affichage(texto); +else: + message("La commande --Tambour-- n'accepte qu'un premier argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef Pause(expr na)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew(DoubleNote,"faire une pause pendant",if string na: OvalNb(na) else: na fi," temps"); + ColBloc:=StyloTrois; + $=Affichage(texto); + $ +enddef; + +vardef JouerNote(expr na,xa)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew(DoubleNote,"jouer la note",if string na:OvalNb(na) else: na fi," pendant",if string xa:OvalNb(xa) else: xa fi," temps"); +ColBloc:=StyloTrois; +$=Affichage(texto); +$ +enddef; + +vardef ChoisirInstrument(expr na)= + LONG:=0; + save $; + picture $, texto; + if string na: + texto=ColleBoxNew(DoubleNote,"choisir l'instrument \no{}",OvalStylo(na)); + ColBloc:=StyloTrois; + $=Affichage(texto); + else: + message("La commande -- ChoisirInstrument -- n'accepte qu'un argument de type string"); + $=nullpicture; + fi; + $ +enddef; + +vardef MettreTempo(expr xa)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(DoubleNote,"mettre le tempo à",if string xa:OvalNb(xa) else: xa fi); + ColBloc:=FondSonTrois; + $=Affichage(texto); + $ +enddef; + +vardef AjouterTempo(expr xa)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(DoubleNote,"ajouter",if string xa:OvalNb(xa) else: xa fi," au tempo"); +ColBloc:=FondSonTrois; +$=Affichage(texto); +$ +enddef; + +vardef DoubleNote= + save $; + picture $; + $=image( + draw (((0,0)--(0,18pt)) shifted(-12,-9pt)) withpen pencircle scaled 1bp withcolor if print: coefprint*white else: StyloTrois fi; + draw NoteImage shifted((-5,-2)); + draw NoteImage shifted((3.5,2)); + draw (((0,0)--(0,18pt)) shifted(12,-9pt)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi;%Trop clair->(14/255,187/255,139/255); +); + $:=$ shifted(-3,0); + $ +enddef; + +vardef NoteImage= + save $; + picture $; + $=image( + linecap := butt; + linejoin := mitered; + fill (80.695297,716.262024)..controls (80.574203,716.257996) and (80.476601,716.171997)..(80.480499,716.062988) + --(80.687500,704.125000)..controls (79.941399,704.570007) and (78.644501,704.637024)..(77.312500,704.223022) + ..controls (75.503899,703.659973) and (74.339798,702.429993)..(74.710899,701.473022) + ..controls (75.082001,700.512024) and (76.851601,700.187988)..(78.656303,700.750000) + ..controls (80.425797,701.301025) and (81.574203,702.504028)..(81.273399,703.453003) + --(81.125000,711.987976)..controls (82.910202,711.909973) and (86.910202,711.625000)..(84.917999,706.456970) + ..controls (85.992203,707.906006) and (86.839798,709.598022)..(85.273399,711.629028) + ..controls (84.378899,712.789001) and (81.617203,713.348022)..(81.062500,715.398010) + --(81.054703,716.065979)..controls (81.050797,716.176025) and (80.953102,716.262024)..(80.832001,716.262024) + --cycle if print=false: withcolor white fi; + pickup pencircle scaled 0.797011bp; + draw (80.695297,716.262024)..controls (80.574203,716.257996) and (80.476601,716.171997)..(80.480499,716.062988) + --(80.687500,704.125000)..controls (79.941399,704.570007) and (78.644501,704.637024)..(77.312500,704.223022) + ..controls (75.503899,703.659973) and (74.339798,702.429993)..(74.710899,701.473022) + ..controls (75.082001,700.512024) and (76.851601,700.187988)..(78.656303,700.750000) + ..controls (80.425797,701.301025) and (81.574203,702.504028)..(81.273399,703.453003) + --(81.125000,711.987976)..controls (82.910202,711.909973) and (86.910202,711.625000)..(84.917999,706.456970) + ..controls (85.992203,707.906006) and (86.839798,709.598022)..(85.273399,711.629028) + ..controls (84.378899,712.789001) and (81.617203,713.348022)..(81.062500,715.398010) + --(81.054703,716.065979)..controls (81.050797,716.176025) and (80.953102,716.262024)..(80.832001,716.262024) + --cycle if print=false: withcolor white fi; + pickup pencircle scaled eppen; + ); + $:=($ rotatedabout((72.000000,699),15)) scaled 0.8; + $:=$ shifted(-center $); + $ +enddef; + +%%%%%% fin Section Son %%%%%%%%% + +%%%%%% Section Stylo %%%%%%%%% +vardef ImageCrayon= + save titi; + picture titi; + titi=image(% + draw CrayonImage shifted(-12,0); + draw (((0,0)--(0,18pt)) shifted(9,-9)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi;%Trop clair->(14/255,187/255,139/255); + ); + titi +enddef; + +vardef Effacer= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon,"effacer tout"); + ColBloc:=StyloTrois; + $=Affichage(texto); + $ +enddef; + +vardef Estampiller= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon,"estampiller"); + ColBloc:=StyloTrois; + $=Affichage(texto); + $ +enddef; + +vardef PoserStylo= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon," stylo en position d'écriture"); + ColBloc:=StyloTrois; + $=Affichage(texto); +$ +enddef; + +vardef ReleverStylo= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon,"relever le stylo"); + ColBloc:=StyloTrois; + $=Affichage(texto); +$ +enddef; + +vardef MettreCouleur(expr redc,greenc,bluec)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon," mettre la couleur du stylo à",OvalCouleur(redc,greenc,bluec)); + ColBloc:=StyloTrois; + $=Affichage(texto); + $ +enddef; + +vardef AjouterCS(text t)= + LONG:=0; + save $; + picture $,texto; + numeric k; k=0; + for p_=t: + if k=1:string effet; effet=p_ fi; + if k=0: if string p_:string nombre; nombre=p_ else: if picture p_: picture nombre; nombre=p_; fi fi fi; + k:=k+1; + endfor; + texto=ColleBoxNew(ImageCrayon,"ajouter",if string nombre:OvalNb(nombre) else: nombre fi,"à la",OvalStylo(effet),"du stylo"); +ColBloc:=StyloTrois; +$=Affichage(texto); +$ +enddef; + +vardef MettreCS(text t)= + LONG:=0; + save $; + picture $,texto; + numeric k; k=0; + for p_=t: + if k=0:string effet; effet=p_ fi; + if k=1: if string p_:string nombre; nombre=p_ else: if picture p_: picture nombre; nombre=p_; fi fi fi; + k:=k+1; + endfor; + texto=ColleBoxNew(ImageCrayon,"mettre la",OvalStylo(effet),"du stylo à",if string nombre:OvalNb(nombre) else: nombre fi); +ColBloc:=StyloTrois; +$=Affichage(texto); +$ +enddef; + +%taille du stylo +vardef AjouterTS(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon,"ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à la taille du stylo"); +ColBloc:=StyloTrois; +$=Affichage(texto); +$ +enddef; + +vardef MettreTS(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon,"mettre la taille du stylo à",if string nbpas:OvalNb(nbpas) else: nbpas fi); +ColBloc:=StyloTrois; +$=Affichage(texto); +$ +enddef; + +vardef CrayonImage= + picture cray; + cray=image(% + drawoptions (if print=false:withcolor (0.298050,0.556850,0.917650) fi); + linecap := butt; + linejoin := mitered; + fill (0.960938,1.390630)--(1.644530,2.996090)..controls (1.730470,3.199220) and (1.917970,3.500000)..(2.062500,3.664060)..controls (2.324220,3.968750) and (3.539060,2.753910)..(3.234380,2.488280)..controls (3.070310,2.343750) and (2.769530,2.160160)..(2.566410,2.074220)--cycle; + drawoptions (withcolor (0.349030,0.368640,0.450970)); + pickup pencircle scaled 0.498140bp; + draw (0.960938,1.390630)--(1.644530,2.996090)..controls (1.730470,3.199220) and (1.917970,3.500000)..(2.062500,3.664060)..controls (2.324220,3.968750) and (3.539060,2.753910)..(3.234380,2.488280)..controls (3.070310,2.343750) and (2.769530,2.160160)..(2.566410,2.074220)--cycle; + drawoptions (withcolor (1.000000,1.000000,1.000000)); + %pickup pencircle scaled 0.000000bp; + fill (1.800780,3.363280)--(2.558590,5.156250)..controls (2.601560,5.257810) and (2.699220,5.402340)..(2.777340,5.480470)--(8.281250,10.984400)..controls (8.300780,11.003900) and (8.339840,11.023400)..(8.367190,11.031300)..controls (9.757810,11.398400) and (10.968800,10.187500)..(10.601600,8.792970)..controls (10.593800,8.769530) and (10.574200,8.730470)..(10.554700,8.710940)--(6.316410,4.476560)..controls (5.539060,3.695310) and (4.089840,2.718750)..(3.074220,2.289060)--(2.980470,2.246090)..controls (2.957030,2.238280) and (2.953130,2.242190)..(2.972660,2.261720)..controls (3.539060,2.753910) and (2.324220,3.968750)..(1.800780,3.363280)--cycle; + drawoptions (if print=false:withcolor (0.349030,0.368640,0.450970) fi); + pickup pencircle scaled 0.498140bp; + draw (1.800780,3.363280)--(2.558590,5.156250)..controls (2.601560,5.257810) and (2.699220,5.402340)..(2.777340,5.480470)--(8.281250,10.984400)..controls (8.300780,11.003900) and (8.339840,11.023400)..(8.367190,11.031300)..controls (9.757810,11.398400) and (10.968800,10.187500)..(10.601600,8.792970)..controls (10.593800,8.769530) and (10.574200,8.730470)..(10.554700,8.710940)--(6.316410,4.476560)..controls (5.539060,3.695310) and (4.089840,2.718750)..(3.074220,2.289060)--(2.980470,2.246090)..controls (2.957030,2.238280) and (2.953130,2.242190)..(2.972660,2.261720)..controls (3.539060,2.753910) and (2.324220,3.968750)..(1.800780,3.363280); + drawoptions (if print=false:withcolor (0.298050,0.556850,0.917650) fi); + %pickup pencircle scaled 0.000000bp; + fill (8.316410,11.019500)--(13.031300,15.730500)..controls (13.109400,15.808600) and (13.257800,15.878900)..(13.371100,15.886700)..controls (14.308600,15.949200) and (15.519500,14.734400)..(15.457000,13.796900)..controls (15.449200,13.687500) and (15.378900,13.535200)..(15.300800,13.457000)--(10.589800,8.746090)..controls (10.968800,10.187500) and (9.757810,11.398400)..(8.316410,11.019500)--cycle; + drawoptions (if print=false:withcolor (0.349030,0.368640,0.450970) fi); + pickup pencircle scaled 0.498140bp; + draw (8.316410,11.019500)--(13.031300,15.730500)..controls (13.109400,15.808600) and (13.257800,15.878900)..(13.371100,15.886700)..controls (14.308600,15.949200) and (15.519500,14.734400)..(15.457000,13.796900)..controls (15.449200,13.687500) and (15.378900,13.535200)..(15.300800,13.457000)--(10.589800,8.746090)..controls (10.968800,10.187500) and (9.757810,11.398400)..(8.316410,11.019500)--cycle; + draw (12.562500,15.265600)..controls (7.937500,15.644500) and (9.453130,10.488300)..(6.117190,11.398400); + %pickup pencircle scaled 0.000000bp; + fill (7.199220,12.785200)..controls (6.812500,13.175800) and (6.179690,13.175800)..(5.792970,12.785200)..controls (5.402340,12.398400) and (5.402340,11.765600)..(5.792970,11.378900)..controls (6.179690,10.988300) and (6.812500,10.988300)..(7.199220,11.378900)..controls (7.589840,11.765600) and (7.589840,12.398400)..(7.199220,12.785200)--cycle; + fill (6.496090,12.082000)--cycle; + pickup pencircle scaled 0.498140bp; + draw (7.199220,12.785200)..controls (6.812500,13.175800) and (6.179690,13.175800)..(5.792970,12.785200)..controls (5.402340,12.398400) and (5.402340,11.765600)..(5.792970,11.378900)..controls (6.179690,10.988300) and (6.812500,10.988300)..(7.199220,11.378900)..controls (7.589840,11.765600) and (7.589840,12.398400)..(7.199220,12.785200)--cycle; + draw (6.496090,12.082000); + drawoptions(); + pickup pencircle scaled 0bp; + draw (-3,0)--(-3,18) withcolor if print : coefprint*white else: StyloTrois fi; + pickup pencircle scaled eppen; + ); + cray:=cray shifted((0,-9pt)); + cray +enddef; + +%%%%%% Fin Section Stylo %%%%%%%% + +%%%%%% Section Contrôle %%%%%%%%% +color colControle; +colControle:=OrangeConTrois; + +vardef AffichageStop= + path cadre; + cadre=(llcorner texto+(-eb,0)){dir-90}..{dir0}(llcorner texto+(0,-eb))-- + (lrcorner texto+(0,-eb)){dir0}..{dir90}(lrcorner texto+(eb,0))--(urcorner texto+(eb,0)){dir90}..{dir180}(urcorner texto+(0,eb))-- + (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner texto+(0.625cm,0))-- + (ulcorner texto+(0.375cm,0)){dir180}.. + {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb))-- + (ulcorner texto+(0,eb)){dir180}..{dir-90}(ulcorner texto+(-eb,0))--cycle; + picture TEXT; + TEXT=image( + fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + draw texto; + draw cadre withcolor CoulLignes; + ); + TEXT +enddef; + +pair coindebutbloc[]; +numeric numblocrep; +numblocrep:=0; + +vardef Repeter(expr xa)= + LONG:=0; + save $; + numblocrep:=numblocrep+1; + picture $,texto; + texto=ColleBoxNew("répéter", if string xa : OvalNb(xa) else: xa fi,"fois"); +LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." +ColBloc:=OrangeConTrois; +$=AffichageControle(texto); +$ +enddef; + +vardef RepeterI= + LONG:=0; + save $; + numblocrep:=numblocrep+1; + picture $,texto; + texto=ColleBoxNew("répéter indéfiniment"); + LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." + ColBloc:=OrangeConTrois; + $=AffichageControle(texto); + $ +enddef; + +vardef RepeterJ(expr xa)= + LONG:=0; + save $; + numblocrep:=numblocrep+1; + picture $,texto; + if picture xa: + texto=ColleBoxNew("répéter jusqu'à ce que",xa); + LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." + ColBloc:=OrangeConTrois; + $=AffichageControle(texto); + else: + message("La commande -- RepeterJ -- n'admet qu'un argument de type picture."); + $=nullpicture; + fi; + $ +enddef; + +vardef FinBlocRepeter= + LONG:=0; + save $; + picture $,texto; + _coinprec:=_coinprec-(0.5cm,0); + drawoptions(); + texto=image( + labeloffset:=0; + label.lrt(TEX("\hbox to"&decimal(LongRep[numblocrep])&"pt{\phantom{\barre fin du bloc}}"),if unknown _coinprec: (0,0) else:_coinprec fi); + labeloffset:=3; + ); +path cadre; +cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- + (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- + (ulcorner texto+(0.5cm,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm+eb,0))-- + (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% + (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))-- + cycle; +$=image( + fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + draw cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + AA:=ahangle; + ahangle:=90; + drawarrow (lrcorner texto+(-0.625cm,0.15cm)){dir-15}..{dir90}(urcorner texto+(-0.25cm,-0.1cm)) withpen pencircle scaled2bp if print=false : withcolor white fi; + ahangle:=AA; + draw (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- + (ulcorner texto+(0.5cm,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm+eb,0))-- + (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% + (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))--(coindebutbloc[numblocrep]+(0.125,0.125)) withcolor CoulLignes; + ); +_coinprec:=(llcorner $); +_coinprec:=_coinprec+(0,eb); +numblocrep:=numblocrep-1; +$ +enddef; + +vardef FinBlocRepeterI=FinBlocRepeter enddef; + +vardef Si(expr xa)= + LONG:=0; + save $; + numblocrep:=numblocrep+1; + picture $,texto; + if picture xa: + texto=ColleBoxNew("si\hbox to1em{}",xa,"alors"); + LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." + ColBloc:=OrangeConTrois; + $=AffichageControle(texto); + else: + message("La commande -- Si -- n'admet qu'un argument de type picture."); + $=nullpicture; + fi; + $ +enddef; + +vardef FinBlocSi= + LONG:=0; + save $; + picture $,texto; + _coinprec:=_coinprec-(0.5cm,0); + drawoptions(); + texto=image( + labeloffset:=0; + label.lrt(TEX("\hbox to"&decimal(LongRep[numblocrep])&"pt{\phantom{\barre fin du bloc}}"),if unknown _coinprec: (0,0) else:_coinprec fi); + labeloffset:=3; + ); +path cadre; +if BlocStopAvant=false: + cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- + (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- + (ulcorner texto+(0.5cm,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm+eb,0))-- + (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% + (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))-- + cycle; +else: + cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- + (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- +% (ulcorner texto+(0.125+0.875cm,0)){dir0}.. +% {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- +% (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. +% {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))-- + cycle; +fi; +$=image( + fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + draw cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + if BlocStopAvant=false: + draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- + (ulcorner texto+(0.125+0.875cm,0)){dir0}.. + {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- + (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. + {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))-- + (coindebutbloc[numblocrep]+(0.125,0.125)) + withcolor CoulLignes; + else: + draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- + %(ulcorner texto+(0.125+0.875cm,0)){dir0}.. + %{dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- + %(ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. + %{dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))-- + (coindebutbloc[numblocrep]+(0.125,0.125)) + withcolor CoulLignes; + fi; + ); +_coinprec:=(llcorner $); +_coinprec:=_coinprec+(0,eb); +numblocrep:=numblocrep-1; +$ +enddef; + +boolean BlocStopAvant; +BlocStopAvant=false; + +vardef Sinon= + LONG:=0; + save $; + picture $,texto; + _coinprec:=_coinprec-(0.5cm,0); + drawoptions(); + texto=image( + labeloffset:=0; + label.lrt(TEX("\, \hbox to"&decimal(LongRep[numblocrep])&"pt{\bfseries\barre sinon}"),if unknown _coinprec: (0,0) else:_coinprec fi) if print=false : withcolor blanc fi; + labeloffset:=3; + ); + path cadre; + if BlocStopAvant=false: + cadre=(llcorner texto+(0.125,0))-- + (coindebutbloc[numblocrep]+(0.125,0.125))-- + (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- + (ulcorner texto+(0.125+0.875cm,0)){dir0}.. + {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- + (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. + {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.875cm,0))-- + cycle; + else: + cadre=(llcorner texto+(0.125,0))-- + (coindebutbloc[numblocrep]+(0.125,0.125))-- + (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- +% (ulcorner texto+(0.125+0.875cm,0)){dir0}.. +% {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- +% (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. +% {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.875cm,0))-- + cycle; + fi; +$=image( + fill cadre withcolor if print=true : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + draw cadre withcolor if print=true : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + draw texto; + if BlocStopAvant=false: + draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- + (ulcorner texto+(0.125+0.875cm,0)){dir0}.. + {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- + (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. + {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.875cm,0))-- + (llcorner texto+(0.125+0.5cm+eb,0)) + withcolor CoulLignes; + else: + draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- + %(ulcorner texto+(0.125+0.875cm,0)){dir0}.. + %{dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- + %(ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. + %{dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.875cm,0)) + withcolor CoulLignes; + fi; + draw (llcorner texto+(0.125,0))--(coindebutbloc[numblocrep]+(0.125,0.125)) withcolor CoulLignes; + ); + _coinprec:=(llcorner $)+(0.5cm,0); + _coinprec:=_coinprec+(0,eb); + coindebutbloc[numblocrep]:=(llcorner $)+(0,eb+0.125); + $ +enddef; + +vardef Attendre(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("attendre",if string nbpas:OvalNb(nbpas) else: nbpas fi,"seconde(s)"); +ColBloc:=OrangeConTrois; +$=Affichage(texto); +$ +enddef; + +vardef AttendreJ(expr xa)= + LONG:=0; + save $; + picture $,texto; + if picture xa: + texto=ColleBoxNew("attendre jusqu'à ce que",xa); + ColBloc:=OrangeConTrois; + $=Affichage(texto); + else: + message("La commande -- AttendreJ -- n'admet qu'un argument de type picture."); + $=nullpicture; + fi; + $ +enddef; + +vardef Stop(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + string TTm;%Pour sauvegarder le nbpas car en l'utilisant dans les if, il ne permet pas la concaténation... + TTm=if print:nbpas&"\hbox to1em{\barre}\blacktriangledown" else:"{\color{white}"&nbpas&"\hbox to1em{\barre}\blacktriangledown}"; + fi; + texto=image( + path ti; + ti=Box("stop"); + label(TEX("\bfseries\barre stop"),center ti) if print=false : withcolor white fi;%_>ok + if picture nbpas: + picture ta; + ta=nbpas; + drawoptions(shifted (xpart((lrcorner ti)-(llcorner ta)+(eb,0)),ypart(center ti-center ta))); + draw ta; + drawoptions(); + else: + path ta; + ta=RecBox(TTm);% + drawoptions(shifted (xpart((lrcorner ti)-(llcorner ta)+(eb,0)),ypart(center ti-center ta))); + if print=false : fill ta withcolor ControleTrois fi; + draw ta withcolor 0.95white; + label(TEX(TTm),center ta); + drawoptions(); + fi; + ); +$=AffichageStop shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageStop); +_coinprec:=llcorner $; +_coinprec:=_coinprec;%+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +vardef CommencerClone= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("quand je commence comme un clone"); + ColBloc:=ControleTrois; + $=AffichageED(texto); + $ +enddef; + +vardef CreerClone(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("créer un clone de",OvalMenuControle(nbpas)); + ColBloc:=ControleTrois; + $=Affichage(texto); + else: + message("La commande -- CreerClone -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef SupprimerClone= + LONG:=0; + save $; + picture $,texto; + texto=image( + path ti; + ti=Box("supprimer ce clone"); + label(TEX("\bfseries\barre supprimer ce clone"),center ti) if print=false : withcolor white fi;%_>ok + ); + $=AffichageStop shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageStop); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; +%%fin Section Contrôle%%% + +%%%%%%%% Section Evenements %%%%% +vardef Drapeau= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("quand",DrapeauImage shifted(-(80,707)),"est cliqué"); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + $ +enddef; + +vardef QPresse(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("quand la touche",RecEvenementMenu(nbpas),"est pressée"); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + else: + message("La commande -- QPresse -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef QLutinPresse= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("quand ce sprite est cliqué"); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + $ +enddef; + +vardef QSpritePresse=QLutinPresse enddef; + +vardef QScenePressee= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("quand la scène est cliquée"); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + $ +enddef; + +vardef QBasculeAR(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("quand l'arrière-plan bascule sur",RecEvenementMenu(nbpas)); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + else: + message("La commande -- QBasculeAR -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef QVolumeSup(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("quand le",RecEvenementMenu(nbpas),"$>$",if string xa:OvalNb(xa) else: xa fi); + ColBloc:=EvenementTrois; + $=AffichageED(texto); +else: + message("La commande -- QVolumeSup -- accepte un premier argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef QRecevoirMessage(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("quand je reçois",RecEvenementMenu(nbpas)); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + else: + message("La commande -- QRecevoirMessage -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef EnvoyerMessage(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("envoyer à tous",OvalMenuEvenement(nbpas)); + ColBloc:=EvenementTrois; + $=Affichage(texto); + else: + message("La commande -- EnvoyerMessage -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef EnvoyerMessageA(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("envoyer à tous",OvalMenuEvenement(nbpas),"et attendre"); + ColBloc:=EvenementTrois; + $=Affichage(texto); + else: + message("La commande -- EnvoyerMessageA -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef DrapeauImage= + save $; picture $; + $=image( + linecap := butt; + linejoin := rounded; + if print = false: drawoptions(withcolor(76/255,191/255,86/255)) fi; + fill (72.000000,713.254028)--(72.000000,718.918030)--(72.507797,718.979980) + --(72.984398,719.026978)--(73.437500,719.054993)--(73.867203,719.070007) + --(74.273399,719.073975)--(74.660202,719.062988)--(75.023399,719.043030) + --(75.367203,719.012024)--(75.695297,718.968994)--(76.003899,718.918030) + --(76.300797,718.859009)--(76.578102,718.793030)--(76.847702,718.723022) + --(77.105499,718.648010)--(77.351601,718.570007)--(77.589798,718.484009) + --(77.820297,718.401978)--(78.042999,718.312988)--(78.234398,718.237976) + --(78.234398,706.906006)--(78.042999,706.979980)--(77.820297,707.065979) + --(77.589798,707.151978)--(77.351601,707.237976)--(77.105499,707.315979) + --(76.847702,707.390991)--(76.578102,707.460999)--(76.300797,707.526978) + --(76.003899,707.585999)--(75.695297,707.637024)--(75.367203,707.676025) + --(75.023399,707.710999)--(74.660202,707.729980)--(74.273399,707.742004) + --(73.867203,707.737976)--(73.437500,707.723022)--(72.984398,707.690979) + --(72.507797,707.648010)--(72.000000,707.585999)--cycle; +% drawoptions (withcolor (0,0.625,0)); + fill (78.246101,712.565979)--(78.261703,718.226990)--(78.476601,718.140991) + --(78.691399,718.059021)--(78.902298,717.976990)--(79.113297,717.895020) + --(79.328102,717.820007)--(79.546898,717.754028)--(79.765602,717.687988) + --(79.992203,717.632996)--(80.226601,717.585999)--(80.468803,717.543030) + --(80.718803,717.515991)--(80.980499,717.495972)--(81.253899,717.492004) + --(81.542999,717.495972)--(81.843803,717.515991)--(82.160202,717.546997) + --(82.492203,717.598022)--(82.847702,717.664001)--(83.218803,717.745972) + --(83.332001,717.773010)--(83.332001,706.440979)--(83.218803,706.414001) + --(82.847702,706.328003)--(82.492203,706.265991)--(82.160202,706.215027) + --(81.843803,706.179993)--(81.542999,706.164001)--(81.253899,706.156006) + --(80.980499,706.164001)--(80.718803,706.184021)--(80.468803,706.210999) + --(80.226601,706.250000)--(79.992203,706.301025)--(79.765602,706.354980) + --(79.546898,706.418030)--(79.328102,706.487976)--(79.113297,706.562988) + --(78.902298,706.645020)--(78.691399,706.723022)--(78.476601,706.809021) + --(78.234398,706.906006)--cycle; +% drawoptions (withcolor (0,0.625,0)); + fill (83.332001,712.109009)--(83.332001,717.773010)--(83.613297,717.843994) + --(84.031303,717.965027)--(84.468803,718.104980)--(84.933601,718.265991) + --(85.425797,718.448975)--(85.945297,718.651978)--(86.492203,718.882996) + --(87.070297,719.137024)--(87.679703,719.414001)--(88.324203,719.718994) + --(89.000000,720.054993)--(89.000000,708.718994)--(88.324203,708.387024) + --(87.679703,708.081970)--(87.070297,707.801025)--(86.492203,707.551025) + --(85.945297,707.320007)--(85.425797,707.117004)--(84.933601,706.934021) + --(84.468803,706.773010)--(84.031303,706.632996)--(83.613297,706.512024) + --(83.332001,706.440979)--cycle; +% drawoptions (withcolor (0,0.625,0)); +%pickup pencircle scaled 0.199253bp; + draw (72.000000,713.254028)--(72.000000,718.918030)--(72.507797,718.979980) + --(72.984398,719.026978)--(73.437500,719.054993)--(73.867203,719.070007) + --(74.273399,719.073975)--(74.660202,719.062988)--(75.023399,719.043030) + --(75.367203,719.012024)--(75.695297,718.968994)--(76.003899,718.918030) + --(76.300797,718.859009)--(76.578102,718.793030)--(76.847702,718.723022) + --(77.105499,718.648010)--(77.351601,718.570007)--(77.589798,718.484009) + --(77.820297,718.401978)--(78.042999,718.312988)--(78.261703,718.226990) + --(78.476601,718.140991)--(78.691399,718.059021)--(78.902298,717.976990) + --(79.113297,717.895020)--(79.328102,717.820007)--(79.546898,717.754028) + --(79.765602,717.687988)--(79.992203,717.632996)--(80.226601,717.585999) + --(80.468803,717.543030)--(80.718803,717.515991)--(80.980499,717.495972) + --(81.253899,717.492004)--(81.542999,717.495972)--(81.843803,717.515991) + --(82.160202,717.546997)--(82.492203,717.598022)--(82.847702,717.664001) + --(83.218803,717.745972)--(83.613297,717.843994)--(84.031303,717.965027) + --(84.468803,718.104980)--(84.933601,718.265991)--(85.425797,718.448975) + --(85.945297,718.651978)--(86.492203,718.882996)--(87.070297,719.137024) + --(87.679703,719.414001)--(88.324203,719.718994)--(89.000000,720.054993) + --(89.000000,708.718994)--(88.324203,708.387024)--(87.679703,708.081970) + --(87.070297,707.801025)--(86.492203,707.551025)--(85.945297,707.320007) + --(85.425797,707.117004)--(84.933601,706.934021)--(84.468803,706.773010) + --(84.031303,706.632996)--(83.613297,706.512024)--(83.218803,706.414001) + --(82.847702,706.328003)--(82.492203,706.265991)--(82.160202,706.215027) + --(81.843803,706.179993)--(81.542999,706.164001)--(81.253899,706.156006) + --(80.980499,706.164001)--(80.718803,706.184021)--(80.468803,706.210999) + --(80.226601,706.250000)--(79.992203,706.301025)--(79.765602,706.354980) + --(79.546898,706.418030)--(79.328102,706.487976)--(79.113297,706.562988) + --(78.902298,706.645020)--(78.691399,706.723022)--(78.476601,706.809021) + --(78.261703,706.895020)--(78.042999,706.979980)--(77.820297,707.065979) + --(77.589798,707.151978)--(77.351601,707.237976)--(77.105499,707.315979) + --(76.847702,707.390991)--(76.578102,707.460999)--(76.300797,707.526978) + --(76.003899,707.585999)--(75.695297,707.637024)--(75.367203,707.676025) + --(75.023399,707.710999)--(74.660202,707.729980)--(74.273399,707.742004) + --(73.867203,707.737976)--(73.437500,707.723022)--(72.984398,707.690979) + --(72.507797,707.648010)--(72.000000,707.585999)--cycle if print=false : withcolor (0,0.625,0) fi; + %pickup pencircle scaled 0.8bp; + draw (72.000000,699)--(72.000000,720); + drawoptions(); + ); + $:=$ rotatedabout((72.000000,699),-15); + $ +enddef; +%%Fin section Evenement%%% + +%%%% Section Bloc %%%% +vardef AffichageBlocDef= + path cadre; + cadre=(llcorner texto+(-eb,0)){dir-90}..{dir0}(llcorner texto+(0,-eb))-- + (llcorner texto+(0.375cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner texto+(0.375cm,0)+(0,-2eb))-- + (llcorner texto+(0.625cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner texto+(0.625cm,0)+(eb,-eb))-- + (lrcorner texto+(0,-eb)){dir0}..{dir90}(lrcorner texto+(eb,0))-- + (urcorner texto+(eb,eb)){dir90}..{dir180}(urcorner texto+(0,2eb))-- + (ulcorner texto+(0,2eb)){dir180}.. + {dir-90}(ulcorner texto+(-eb,eb))-- + cycle; + picture TEXT; + TEXT=image( + fill cadre withcolor if print : coefprint*white else : BlocTrois fi;%if unknown colBloc : DarkPurple else: colBloc fi fi; + draw texto; + draw cadre withcolor CoulLignes; + ); + TEXT +enddef; + +vardef Bloc(text nomblocbloc)= + LONG:=0; + save $; + picture $,texto; + texto=image( + picture CBbloc; + CBbloc=ColleBoxNew(nomblocbloc); + draw CBbloc; + ); + ColBloc:=BlocTrois; + $=Affichage(texto); + $ +enddef; + +vardef NouveauBloc(text nbpasbloc)= + LONG:=0; + save $; + picture $,texto; + texto=image( + picture CB; + CB=ColleBoxNew("définir",BlocPuzzle(nbpasbloc)); + draw CB; + ); +$=AffichageBlocDef shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageBlocDef); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; +%%%% Fin Section Bloc%%%% + +%%% Section Divers%%% +vardef CommandeVide(expr commande)= + LONG:=0; + save $; + picture $,texto,TEXT; + if string commande : + texto=image( + label.lrt(TEX("\barre \hbox to"&commande&"cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); + ); +else: + texto=commande; +fi; +ColBloc:=white; +$=Affichage(texto); +$ +enddef; + +vardef LigneVide= + LONG:=0; + save $; + picture $,texto,TEXT; + texto=image( + label.lrt(TEX("\barre \hbox to2cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); + ); +TEXT=image( + path cadre; + cadre=CADRE(texto); + unfill cadre; + %draw (urcorner texto+(0,eb))-- + % (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. + % {dir180}(ulcorner texto+(0.625cm,0))-- + % (ulcorner texto+(0.375cm,0)){dir180}.. + % {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb))-- + % (ulcorner texto+(0,eb)) withpen pencircle scaled 0; + ); +$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +vardef LigneVideVar(expr commande)= + LONG:=0; + save $; + picture $,texto,TEXT; + if string texto: + texto=image( + label.lrt(TEX("\barre \hbox to2cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); + ); +else: + texto=commande; +fi; +TEXT=image( + path cadre; + cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))-- + (llcorner texto+(0.375cm,0)+(-eb,-eb))-- + (llcorner texto+(0.375cm,0)+(0,-2eb))-- + (llcorner texto+(0.625cm,0)+(0,-2eb))-- + (llcorner texto+(0.625cm,0)+(eb,-eb))-- + (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))-- + (ulcorner texto+(0.625cm,0)+(eb,eb))-- + (ulcorner texto+(0.625cm,0))-- + (ulcorner texto+(0.375cm,0))-- + (ulcorner texto+(0.375cm,0)+(-eb,eb))-- + (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle; + fill cadre withcolor white; +% draw (urcorner texto+(0,eb))-- +% (ulcorner texto+(0.625cm,0)+(eb,eb))-- +% (ulcorner texto+(0.625cm,0))-- +% (ulcorner texto+(0.375cm,0))-- +% (ulcorner texto+(0.375cm,0)+(-eb,eb))-- +% (ulcorner texto+(0,eb)) withpen pencircle scaled 0.05bp; + ); +$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +vardef LignePointilles= + LONG:=0; + save $; + picture $,texto,TEXT; + texto=image( + label.lrt(TEX("\barre\Large \strut\ldots\hbox to1em{}"),if unknown _coinprec: (0,0) else:_coinprec fi); + ); +TEXT=image( + path cadre; + cadre=CADRE(texto); + fill cadre withcolor white; + draw %(urcorner texto+(0,eb))-- + (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner texto+(0.625cm,0))-- + (ulcorner texto+(0.375cm,0)){dir180}.. + {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb)) + %--(ulcorner texto+(0,eb)) + withpen pencircle scaled 0.01; + draw texto; + ); +$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(TEX("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +vardef Commentaires(expr commande)= + LONG:=0; + save $; + picture $,texto,TEXT; + texto=image( + label.lrt(TEX("\barre "& commande &""),if unknown _coinprec: (0,0) else:_coinprec fi) withcolor 0.5*white; + ); +TEXT=image( + path cadre; + cadre=CADRE(texto); + fill cadre withcolor white; + draw texto; + ); +$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +$ +enddef; + +color colcom; +colcom=0.5white; + +vardef CommentairesLigne(expr commande)= + LONG:=0; + save $; + picture $,texto,TEXT; + TEXT=image( + label.rt(TEX(commande), _coincom) withcolor colcom; + ); +$=TEXT shifted (_coincom - 1/2[llcorner TEXT,ulcorner TEXT]); +$ +enddef; + +vardef BlocGris(expr ar)= + LONG:=0; + save $; picture $; + path ta; string TTm; + TTm=ar&"\barre"; + ta=OvalMiniBox(TTm); + $=image( + fill ta withcolor 0.975white; + draw ta withcolor 0.85white; + label(TEX(TTm),center ta) if print=false : withcolor blanc fi; + ); +$ +enddef; + +vardef BlocGrisMulti(text argris)= + LONG:=0; + save $; picture $; + path ta; picture TTm; + TTm=ColleBoxNew(argris); + ta=OvalMiniBox(TTm); + $=image( + fill ta withcolor 0.975white; + draw ta; + %label(TEX(TTm),center ta) if print=false : withcolor blanc fi; + ); +$ +enddef; + +boolean BlocE; +BlocE:=false; + +vardef BlocUser(expr colblocuser)(text textbloc)= + LONG:=0; + save $; + picture $; + save TA; path TA; picture BUTB; picture texto; picture TEXT; + BUTB=ColleBoxNew(textbloc); + TA=Box(BUTB); + texto=image( + draw BUTB; + ); + ColBloc:=colblocuser; + if BlocE=false: + $=Affichage(texto); + else: + $=AffichageED(texto); + fi; + $ +enddef; + +vardef BlocCouleur(expr colblocuser)= + LONG:=0; + save $; + picture $,texto,TEXT; + texto=image( + label.lrt(TEX("\barre \hbox to4cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); + ); +ColBloc:=colblocuser; +$=Affichage(texto); +$ +enddef; +%% fin Section Divers %%% + +%% Section Capteur %%%% +vardef Demander(expr nbpas)= + LONG:=0; + save Dem; + picture Dem,texto; + if string nbpas: + texto=ColleBoxNew("demander",OvalNb(nbpas),"et attendre"); + ColBloc:=CapteurTrois; + Dem=Affichage(texto); + else: + message("La commande -- Demander -- admet un argument de type string."); + Dem=nullpicture; + fi; + Dem +enddef; + +vardef ReinitChrono= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("réinitialiser le chronomètre"); + ColBloc:=CapteurTrois; + $=Affichage(texto); + $ +enddef; + +vardef MettreGlissement(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("mettre mode de glissement à",RecMenuCap(nbpas)); + ColBloc:=CapteurTrois; + $=Affichage(texto); + else: + message("La commande -- MettreGlissement -- admet un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +%video + +vardef CameraImage= + LONG:=0; + save $; + picture $; + $=image( + pair A,B,C,D,E,F; + A=(0,0); + B-A=(10,0); + C-B=(0,10); + D-C=A-B; + E-B=(4,1.5); + F-C=(4,-1.5); + numeric EB; + EB=2pt; + path camera; + camera=(A+(EB,0))--(B+(-EB,0)){dir0}..{dir90}(B+(0,EB))--2/5[B,C]--E--F--3/5[B,C]--(C+(0,-EB)){dir90}..{dir-180}(C+(-EB,0))--(D+(EB,0)){dir180}..{dir-90}(D+(0,-EB))--(A+(0,EB)){dir-90}..{dir0}cycle; + fill camera withcolor (77,77,77)/255; + draw camera withcolor (77,77,77)*0.95/255; + path cc; + cc=fullcircle scaled 6; + color coul[]; + if print: + coul0:=0.9white; + coul1:=0.933white; + coul2:=0.966white; + coul3:=white; + else: + coul0=(75,205,169)/255; + coul1=(16,230,212)/255; + coul2=(224,247,241)/255; + coul3=(1,1,1); + fi; + for k=0 upto 3: + fill (cc shifted(B+(10,3*k))) withcolor coul[k]; + draw (cc shifted(B+(10,3*k))) withcolor 0.95*coul[k]; + endfor; + draw ((-3,0)--(-3,18)) withcolor if print : coefprint*white else: StyloTrois fi; + pickup pencircle scaled eppen; + ); + $:=$ scaled 0.8; + $ +enddef; + +vardef ImageCamera= + save titi; + picture titi; + titi=image( + draw CameraImage shifted(-12,-5); + draw (((0,0)--(0,18pt)) shifted(9,-9)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi; + ); + titi +enddef; + +vardef ActiverVideo(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew(ImageCamera,"vidéo",OvalStylo(nbpas)); + ColBloc:=StyloTrois; + $=Affichage(texto); + else: + message("La commande -- ActiverVideo -- admet un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef TransparenceVideo(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew(ImageCamera,"mettre la transparence vidéo sur",OvalNb(nbpas)); + ColBloc:=StyloTrois; + $=Affichage(texto); + else: + message("La commande -- TransparenceVideo -- admet un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef QuandMV(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew(ImageCamera,"quand mouvement vidéo $>$",OvalNb(nbpas)); + ColBloc:=StyloTrois; + $=AffichageED(texto); + else: + message("La commande -- QuandMV -- admet un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef VideoSur(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if (string nbpas) and (string xa): + texto=ColleBoxNew(ImageCamera,"vidéo",OvalStylo(nbpas),"sur",OvalStylo(xa)); + %ColBloc:=StyloTrois; + path ta; + ta=OvalBox(texto); + $=image( + fill ta withcolor if print: coefprint*white else: StyloTrois fi; + draw ta withcolor CoulLignes; + %label(TEX(TTm),center ta) if print=false : withcolor blanc fi; + draw texto; + ); + else: + message("La commande -- VideoSur -- admet deux arguments de type string."); + $=nullpicture; + fi; + $ +enddef; + +%% fin Section Capteur %%% + +%%% Section Variables %%% +vardef MettreVar(expr nbpas,xa)= + LONG:=0; + save MV; + picture MV,texto; + if string nbpas : + texto=ColleBoxNew("mettre",RecMenuVar(nbpas),"à",if string xa:OvalNb(xa) else: xa fi); + ColBloc:=OrangeTrois; + MV=Affichage(texto); + else: + message("La commande -- MettreVar -- admet un premier paramètre de type string."); + MV=nullpicture; + fi; + MV +enddef; + +vardef AjouterVar(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string xa : + texto=ColleBoxNew("ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à",RecMenuVar(xa)); + ColBloc:=OrangeTrois; + $=Affichage(texto); +else: + message("La commande -- AjouterVar -- admet un deuxième paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef MontrerVar(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas : + texto=ColleBoxNew("montrer la variable",RecMenuVar(nbpas)); + ColBloc:=OrangeTrois; + $=Affichage(texto); + else: + message("La commande -- MontrerVar -- admet un premier paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef CacherVar(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas : + texto=ColleBoxNew("cacher la variable",RecMenuVar(nbpas)); + ColBloc:=OrangeTrois; + $=Affichage(texto); + else: + message("La commande -- CacherVar -- admet un premier paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +%Liste +vardef AjouterListe(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string xa : + texto=ColleBoxNew("ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à",RecMenuList(xa)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); +else: + message("La commande -- AjouterListe -- admet un deuxième paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef SupprimerListe(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string xa : + texto=ColleBoxNew("supprimer l'élément",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(xa)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); +else: + message("La commande -- SupprimerListe -- admet un deuxième paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef SupprimerListeAll(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas : + texto=ColleBoxNew("supprimer tous les éléments de la liste",RecMenuList(nbpas)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); +else: + message("La commande -- SupprimerListe -- admet un deuxième paramètre de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef InsererListe(expr xa,nbpas,ya)= + LONG:=0; + save $; + picture $,texto; + if string ya : + texto=ColleBoxNew("insérer",if string xa:OvalNb(xa) else: xa fi,"en position",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(ya)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); + else: + message("La commande -- InsererListe -- admet un troisième paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef RemplacerListe(expr xa,nbpas,ya)= + LONG:=0; + save $; + picture $,texto; + if string nbpas : + texto=ColleBoxNew("remplacer l'élément",if string xa:OvalNb(xa) else: xa fi,"de la liste",RecMenuList(nbpas),"par",if string ya:OvalNb(ya) else: ya fi); + ColBloc:=OrangeListTrois; + $=Affichage(texto); +else: + message("La commande -- RemplacerListe -- admet un deuxième paramètre de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef MontrerListe(expr xa)= + LONG:=0; + save $; + picture $,texto; + if string xa : + texto=ColleBoxNew("montrer la liste",RecMenuList(xa)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); + else: + message("La commande -- MontrerListe -- admet un paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef CacherListe(expr xa)= + LONG:=0; + save $; + picture $,texto; + if string xa : + texto=ColleBoxNew("cacher la liste",RecMenuList(xa)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); + else: + message("La commande -- CacherListe -- admet un paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +%%% Section Operateur %%% + +vardef OpAdd(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$+$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpSous(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$-$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpMul(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$\times$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpDiv(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$\div$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpAlea(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew("nombre aléatoire entre",if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpRegrouper(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew("regrouper",if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpLettre(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew("lettre",if string pasun : OvalNb(pasun) else: pasun fi,"de",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpLongueur(expr pasun)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew("longueur de",if string pasun : OvalNb(pasun) else: pasun fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpArrondi(expr pasun)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew("arrondi de",if string pasun : OvalNb(pasun) else: pasun fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpFonction(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(RecMenuOp(pasun),"de",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef TestOpSup(expr pasun, pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$>$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpInf(expr pasun, pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$<$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpEgal(expr pasun, pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$=$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpEt(expr pasun, pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpOu(expr pasun, pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"ou",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpNon(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("non",if string pasun : OvalNb(pasun) else: pasun fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpContient(expr pasun,pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"contient",if string pasun : OvalNb(pasdeux) else: pasun fi,"?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef AppCostume(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(RecMenuApp(pasun),"du costume"); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor VioletAppTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef AppAP(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(RecMenuApp(pasun),"de l'arrière-plan"); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor VioletAppTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef CapDistance(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("distance de",OvalCapMenu(pasun)); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef CapTemps(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(RecMenuCap(pasun),"actuelle"); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef CapNumero(expr pasun,pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(RecMenuCap(pasun),"de",OvalCapMenu(pasdeux)); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestCapToucheObjet(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("touche le",OvalCapMenu(pasun),"?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestCapCouleur(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("couleur",OvalCouleur(redpart(pasun),greenpart(pasun),bluepart(pasun)),"touchée ?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestCapCouleurs(expr pasun,pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("couleur",OvalCouleur(redpart(pasun),greenpart(pasun),bluepart(pasun)),"touché",OvalCouleur(redpart(pasdeux),greenpart(pasdeux),bluepart(pasdeux)),"?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestCapTouche(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("touche",OvalMenuCap(pasun),"pressée ?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestCapSouris= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("souris pressée ?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestListeContient(expr nbpas,nbbas)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(RecMenuList(nbpas),"contient",if string nbbas:OvalNb(nbbas) else: nbbas fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef ListeElement(expr nbpas,nbbas)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("élément",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(nbbas)); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef ListePosition(expr nbpas,nbbas)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("position de",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(nbbas)); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef ListeLongueur(expr nbpas)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("longueur de",RecMenuList(nbpas)); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + diff --git a/macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp b/macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp new file mode 100644 index 0000000000..f3800b3d99 --- /dev/null +++ b/macros/latex/contrib/profcollege/metapost/PfCScratchpdf.mp @@ -0,0 +1,3378 @@ +%%%%% epaisseur de tracés %%%%%%%% +numeric eppen; +eppen=0.25; + +pickup pencircle scaled eppen; +defaultpen := savepen; + +%points pour placer les différents éléments +pair _coinprec;%coinbasgauche de la boite précédente +pair _coincom;%coinbasdroite de la boite afin d'y mettre des commentaires +pair _coinnum;%milieu côté gauche pour placer la numérotation des lignes + +%paramètres +numeric Nblignes; Nblignes:=1; +pair DebutListe; DebutListe=(0,0); +boolean NumeroteLignes; NumeroteLignes=false; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% couleurs +color CoulLignes; CoulLignes:=black; +color ColBloc; % alias des couleurs de bloc + +vardef LATEXSCRATCH primary s = + write "verbatimtex" to "mptextmp.mp"; + write "%&latex" to "mptextmp.mp"; + write "\documentclass[12pt]{article}" to "mptextmp.mp"; + write "\usepackage{ProfCollege}" to "mptextmp.mp"; + write "\usepackage[utf8]{inputenc}" to "mptextmp.mp"; + write "\usepackage[T1]{fontenc}" to "mptextmp.mp"; + write "\usepackage[sfdefault,lf]{carlito}" to "mptextmp.mp"; + write "\usepackage{pifont}" to "mptextmp.mp"; +% write "\usepackage[french]{babel}" to "mptextmp.mp"; +% write "\usepackage[autolanguage]{numprint}" to "mptextmp.mp"; +% write "\usepackage{amssymb}" to "mptextmp.mp"; +% write "\usepackage{amsmath}" to "mptextmp.mp"; +% write "\usepackage{mathrsfs}" to "mptextmp.mp"; +% write "\usepackage{xcolor}" to "mptextmp.mp"; +% write "\usepackage{calc}" to "mptextmp.mp"; +% write "\newlength{\longbarreheight}" to "mptextmp.mp"; +% write "\setlength{\longbarreheight}{2.1ex+3pt}" to "mptextmp.mp"; +% write "\newlength{\longbarredepth}" to "mptextmp.mp"; +% write "\setlength{\longbarredepth}{0.9ex+3pt}" to "mptextmp.mp"; +% write "\def\longbarre{\vrule height\longbarreheight depth\longbarredepth width0pt}" to "mptextmp.mp"; +% write "\usepackage{graphicx}" to "mptextmp.mp"; +% write "\def\barre{\vrule height2.1ex depth.9ex width0pt}" to "mptextmp.mp"; +% write "\def\demibarre{\vrule height1.4ex depth.6ex width0pt}" to "mptextmp.mp"; + write "\begin{document}" to "mptextmp.mp"; + write "etex" to "mptextmp.mp"; + write "btex "&s&" etex" to "mptextmp.mp"; + write EOF to "mptextmp.mp"; + scantokens "input mptextmp" +enddef; + + +%Version3 +color BleuMouvTrois,dBleuMouvTrois,VioletAppTrois,dVioletAppTrois,OrangeConTrois,OrangeTrois,OrangeListTrois,SonTrois,DSonTrois,EvenementTrois,CapteurTrois,StyloTrois,BlocTrois,BlocDefTrois,BlocDefLigneTrois,MessageTrois,ControleTrois,CapFonceTrois,CloneTrois,FondSonTrois,OvalStyloTrois,FondOvalOp; +BleuMouvTrois=(76/255,151/255,255/255); +dBleuMouvTrois=(66/255,128/255,215/255); +VioletAppTrois=(153/255,102/255,255/255); +dVioletAppTrois=(133/255,92/255,214/255); +OrangeConTrois=(255/255,171/255,25/255); +OrangeTrois=(255/255,140/255,26/255); +OrangeListTrois=(255/255,102/255,26/255); +SonTrois=(207/255,99/255,207/255); +DSonTrois=(201/255,79/255,201/255); +FondSonTrois=(15/255,189/255,140/255); +EvenementTrois=(255/255,191/255,0); +MessageTrois=(230/255,172/255,0); +CapteurTrois=(92/255,177/255,214/255); +CapFonceTrois=(71/255,168/255,209/255); +StyloTrois=(15/255,189/255,140/255); +OvalStyloTrois=(13/255,165/255,122/255); +BlocTrois=(255/255,102/255,128/255); +BlocDefTrois=(255/255,77/255,106/255); +BlocDefLigneTrois=(255/255,51/255,85/255); +ControleTrois=(255/255,171/255,25/255); +CloneTrois=(236/255,156/255,19/255); +FondOvalOp=(89/255,192/255,89/255); + +vardef FondOvalAppMenu= + save $; color $; + $=dVioletAppTrois; + $ +enddef; + +%%%%Alias +def Place expr o = + if path o: draw o else: draw o fi +enddef; + +%impression +boolean print; +print=false; + +numeric coefprint; +coefprint:=0.95; + +%texte ou symbole droite gauche +boolean symbole; +symbole=true; + +%divers +numeric eb;%ecart boite-texte +eb:=3pt; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Création des boites +ecrt:=eb/2;%largeur de la bordure de départ des boites Box, OValBox... + +vardef Box(text t)= + save $; path $; + picture ox; + ox=image( + if string t: + string demitt; + demitt=t&"\barre"; + label(LATEXSCRATCH(demitt),(0,0)); + else: + draw t; + fi; + ); + $=(llcorner ox+(0,-ecrt))--(lrcorner ox+(0,-ecrt))--(urcorner ox+(0,ecrt))--(ulcorner ox+(0,ecrt))--cycle; + $ +enddef; + +vardef RecBox(text t)= + save $; path $; path xo; + if string t: + string demit; + demit=t&"\demibarre"; + xo=Box(demit);%on crée la boite contenant le texte + else: + xo=Box(t); + fi; + $=(llcorner xo+(-eb,eb)){dir-90}..{dir0}(llcorner xo)--(lrcorner xo){dir0}..{dir90}(lrcorner xo+(eb,eb))--(urcorner xo+(eb,-eb)){dir90}..{dir180}(urcorner xo)--(ulcorner xo){dir180}..{dir-90}(ulcorner xo+(-eb,-eb))--cycle; + $ +enddef; + +%%%%%%%%%%%%%% + +%%%%%%% Boites Ovales %%%%%%%% +vardef OvalBox(text t)= + save $; path $; path xo; + if string t: + string demit; + demit=t&"\barre"; + xo=Box(demit);%on crée la boite contenant le texte + else: + xo=Box(t); + fi; + $=(llcorner xo+(eb,0))--(lrcorner xo-(eb,0)){dir0}..{dir180}(urcorner xo+(-eb,0))--(ulcorner xo+(eb,0)){dir180}..{dir0}cycle;%on "arrondit" la boite + $ +enddef; + +vardef OvalVar(expr ar)= + save Ovar; picture Ovar; + save TAvar; path TAvar; + string TTv; + TTv=ar&"\barre"; + TAvar=OvalBox(TTv); + Ovar=image( + fill TAvar if print=false : withcolor OrangeTrois else : withcolor white fi; + draw TAvar if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH("\barre\bfseries "&ar),(0,0)) if print=false : withcolor white fi; + ); + Ovar:=Ovar shifted(-center Ovar); + Ovar +enddef; + +vardef OvalList(text listelist)= + save CList; picture CList; + path TAlist; picture LOCMt; + LOCMt=ColleBoxNew(listelist); + TAlist=OvalBox(LOCMt); + CList=image( + fill TAlist if print=false : withcolor OrangeListTrois else : withcolor white fi; + draw LOCMt; + draw TAlist if print=false : withcolor coefprint*white fi; + ); + CList:=CList shifted(-center CList); + CList +enddef; + +vardef OvalBloc(expr ar)= + save $; picture $; + path tabloc; + tabloc=OvalBox(ar); + $=image( + fill tabloc if print=false : withcolor BlocTrois else: withcolor white fi; + draw tabloc if print=true : withcolor black else: withcolor BlocDefLigneTrois fi; + label(LATEXSCRATCH("\bfseries\barre "&ar),(0,0)) if print=false : withcolor blanc fi; + ); + $ +enddef; + +vardef OvalMiniBox(text t)= + save $; path $; path xo; + if string t: + string demit; + demit=t&"\demibarre"; + xo=Box(demit);%on crée la boite contenant le texte + else: + xo=Box(t); + fi; + $=(llcorner xo+(eb/2,0))--(lrcorner xo-(eb/2,0)){dir0}..{dir180}(urcorner xo+(-eb/2,0))--(ulcorner xo+(eb/2,0)){dir180}..{dir0}cycle;%on "arrondit" la boite + $ +enddef; + +vardef DiamondBox(text t)= + save $; path $; path xo; + xo=Box(t);%on crée la boite contenant le texte + $=(llcorner xo-(eb,0))--(lrcorner xo+(eb,0))--(1/2[lrcorner xo,urcorner xo]+(4eb,0))--(urcorner xo+(eb,0))--(ulcorner xo-(eb,0))--(1/2[llcorner xo,ulcorner xo]+(-4eb,0))--cycle; + $ +enddef; + +vardef OvalNb(expr ar)= + save Onb; picture Onb; + path tanb; + tanb=OvalBox(ar); + Onb=image( + fill tanb withcolor white; + draw tanb if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH("\barre "&ar),(0,0)); + ); + Onb +enddef; + +vardef OvalText(expr ar)= + save $; save TA; + picture $; + path TA; + TA=OvalBox(ar); + $=image(% + fill TA withcolor white; + draw TA if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH("\barre "&ar),(0,0)); + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef OvalOp(text listeop)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(listeop); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OvalApp(text listop)= + save $; picture $; + save ta; path ta; + save TTap; picture TTap; + TTap=ColleBoxNew(listop); + ta=OvalBox(TTap); + $=image( + fill ta if print=false : withcolor VioletAppTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + draw TTap; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef OvalSon(text listop)= + save $; picture $; + save ta; path ta; + save TTap; picture TTap; + TTap=ColleBoxNew(listop); + ta=OvalBox(TTap); + $=image( + fill ta if print=false : withcolor SonTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + draw TTap; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef OvalMusique(expr ar)= + save $; save TA; + picture $; + if string ar: + picture TT; + TT=ColleBoxNew(DoubleNote,"tempo"); + path TA; + TA=OvalBox(TT); + $=image( + fill TA if print : withcolor white else : withcolor StyloTrois fi; + draw TT if print=true : withcolor coefprint*white fi; + ); + else: + message("La commande --OvalStylo-- n'accepte qu'un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef OvalMouv(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=ar&"\longbarre"; + ta=OvalBox(TTm); + $=image( + fill ta if print=false : withcolor BleuMouvTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH("\longbarre "&ar),center ta) if print=false : withcolor blanc fi; + ); + $ +enddef; + +vardef OvalMenuCap(expr art)=OvalCapMenu(art) enddef; + +vardef OvalCapMenu(expr ar)= + save $; picture $; + string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; + fi; + path TAMC; + TAMC=OvalBox(TTm); + $=image( + fill TAMC if print : withcolor white else : withcolor CapFonceTrois fi; + draw TAMC if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm),center TAMC); + ); + $ +enddef; + +vardef OvalCap(text listecap)= + save Cap; picture Cap; + save TAcap; path TAcap; + save LOCMcap; picture LOCMcap; + LOCMcap=ColleBoxNew(listecap); + TAcap=OvalBox(LOCMcap); + Cap=image( + fill TAcap if print=false : withcolor CapteurTrois else : withcolor white fi; + draw LOCMcap; + draw TAcap if print=false : withcolor coefprint*white fi; + ); + Cap:=Cap shifted(-center Cap); + Cap +enddef; + +vardef OvalMouvMenu(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: + "\color{white}"&ar&"\hbox to1em{\barre}\color{black}\blacktriangledown" + fi; + ta=OvalBox(TTm); + $=image( + fill ta if print=false : withcolor dBleuMouvTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm),center ta); + ); + $ +enddef; + +vardef OvalAppMenu(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; + fi; + ta=OvalBox(TTm); + $=image( + fill ta if print=false : withcolor FondOvalAppMenu else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm),center ta); + ); + $ +enddef; + +vardef OvalSonMenu(expr art)=OvalMenuSon(art) enddef; + +vardef OvalMenuSon(expr ar)= + save $; save TA; + picture $; + string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; + fi; + path TA; + TA=OvalBox(TTm); + $=image(% + fill TA if print : withcolor white else : withcolor DSonTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm),center TA); + ); + $ +enddef; + +vardef OvalMenuControle(expr ar)= + save $; save TA; + picture $; + string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; + fi; + path TA; + TA=OvalBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor CloneTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm), center TA); + ); + $ +enddef; + +vardef OvalStylo(expr ar)= + save $; save TA; + picture $; + string TT,TTI; + if string ar: + if print: + TT=ar&"\hbox to1em{\barre}\blacktriangledown" + else: + TT=ar&"\hbox to1em{\barre}\color{white}\blacktriangledown" + fi; + TTI=ar&"\hbox to1em{\barre}\phantom{\blacktriangledown}"; + path TA; + TA=OvalBox(TT); + $=image( + fill TA if print : withcolor white else : withcolor OvalStyloTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TT),(0,0)) if print=false : withcolor white fi; + ); + else: + message("La commande --OvalStylo-- n'accepte qu'un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef OvalCouleur(expr redcc,greencc,bluecc)= + save $; picture $; + string TTv; + path tacol; + TTv="\phantom{10}\barre"; + tacol=OvalBox(TTv); + $=image( + fill tacol withcolor (redcc,greencc,bluecc); + draw tacol; + ); + $:=$ shifted(-center tacol); + $ +enddef; + +vardef OvalMenuEvenement(expr ar)= + save $; save TA; + picture $; + string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; + fi; + path TA; + TA=OvalBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor MessageTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm), center TA); + ); + $ +enddef; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Rectangles +vardef RecMouvMenu(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown" + fi; + ta=RecBox(TTm); + $=image( + fill ta if print=false : withcolor BleuMouvTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm),center ta); + ); + $ +enddef; + +vardef RecMenuApp(expr ar)= + save $; picture $; + save ta; path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; + fi; + ta=RecBox(TTm); + $=image( + fill ta if print=false : withcolor VioletAppTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm),center ta); + ); + $ +enddef; + +vardef RecMenuOp(expr ar)= + save $; save TA; + picture $; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; + fi; + path TA; + TA=RecBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor FondOvalOp fi; + draw TA if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm), center TA); + ); + $ +enddef; + +vardef RecMenuSon(expr ar)= + save $; save TA; + picture $; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown" fi; + path TA; + TA=RecBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor SonTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm), center TA); + ); + $ +enddef; + +vardef RecEvenementMenu(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; + fi; + ta=RecBox(TTm); + $=image( + fill ta if print=false : withcolor EvenementTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm),center ta); + ); + $ +enddef; + +vardef RecMenuCap(expr ar)= + save $; picture $; + path ta; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; + fi; + ta=RecBox(TTm); + $=image( + fill ta if print=false : withcolor CapteurTrois else: withcolor white fi; + draw ta if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm),center ta); + ); + $ +enddef; + +vardef RecMenuVar(expr ar)= + save $; save TA; + picture $; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; + fi; + path TA; + TA=RecBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor OrangeTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm), center TA); + ); + $ +enddef; + +vardef RecMenuList(expr ar)= + save $; save TA; + picture $; string TTm; + TTm=if print:ar&"\hbox to1em{\barre}\blacktriangledown" else: "\color{white}"&ar&"\hbox to1em{\barre}\blacktriangledown"; + fi; + path TA; + TA=RecBox(TTm); + $=image( + fill TA if print : withcolor white else : withcolor OrangeListTrois fi; + draw TA if print=false : withcolor coefprint*white fi; + label(LATEXSCRATCH(TTm), center TA); + ); + $ +enddef; + +%%%%%%% Affichage Complet %%%%%%%%%%%%% +vardef PuzzleBox(text t)= + save $; path $; path xo; + xo=Box(t);%on crée la boite contenant le texte + $=(llcorner xo+(-eb,0)){dir-90}..{dir0}(llcorner xo+(0,-eb))-- + (llcorner xo+(0.375cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner xo+(0.375cm,0)+(0,-2eb))-- + (llcorner xo+(0.625cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner xo+(0.625cm,0)+(eb,-eb))-- + (lrcorner xo+(0,-eb)){dir0}..{dir90}(lrcorner xo+(eb,0))--(urcorner xo+(eb,0)){dir90}..{dir-180}(urcorner xo+(0,eb))-- + (ulcorner xo+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner xo+(0.625cm,0))-- + (ulcorner xo+(0.375cm,0)){dir180}.. + {dir180}(ulcorner xo+(0.375cm,0)+(-eb,eb))-- + (ulcorner xo+(0,eb)){dir-180}..{dir-90}(ulcorner xo+(-eb,0))--cycle; + $ +enddef; + +vardef BlocPuzzle(text nombloc)= + save Bpuzzle; picture Bpuzzle; + path TABp; picture LOCMp; + LOCMp=ColleBoxNew(nombloc); + TABp=PuzzleBox(LOCMp); + Bpuzzle=image( + fill TABp if print=false : withcolor BlocDefTrois else : withcolor white fi; + draw LOCMp; + draw TABp if print=true : withcolor black else: withcolor BlocDefLigneTrois fi; + ); + Bpuzzle:=Bpuzzle shifted(-center Bpuzzle+(0,-eb/2)); + Bpuzzle +enddef; + +vardef ColleBoxNew(text t)=%Pour coller plusieurs boites + save Colle; picture Colle; + Colle=nullpicture; + numeric nbcolle; nbcolle:=0; + save NBCOLLE; path NBCOLLE; + for p_ = t: + nbcolle:=nbcolle+1; + endfor; + picture HOLD; HOLD:=nullpicture; + if unknown LONG: LONG:=0 fi; + if nbcolle=1:%On dessine + for p_ = t: + if string p_: + NBCOLLE:=Box(p_); + HOLD:=image( + label(LATEXSCRATCH("\sffamily\bfseries\longbarre "&p_),(0,0)) if print=false : withcolor white fi;%->ok + ); + HOLD:=(HOLD shifted ((xpart((center HOLD)-(llcorner HOLD))+LONG,0))); + else: + HOLD:=(p_ shifted ((xpart((center p_)-(llcorner p_))+LONG,0))); + fi; + endfor; + addto Colle also HOLD; + LONG:=LONG+abs(lrcorner Colle - llcorner Colle)+eb; + else:%il faut coller les boites une à une + for p_ = t: + addto Colle also (ColleBoxNew(p_)); + endfor; + fi; + Colle +enddef; + +vardef CADRE(expr texti)= + save $; path $; + $=(llcorner texti+(-eb,0)){dir-90}..{dir0}(llcorner texti+(0,-eb))-- + (llcorner texti+(0.375cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner texti+(0.375cm,0)+(0,-2eb))-- + (llcorner texti+(0.625cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner texti+(0.625cm,0)+(eb,-eb))-- + (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir-180}(urcorner texti+(0,eb))-- + (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner texti+(0.625cm,0))-- + (ulcorner texti+(0.375cm,0)){dir180}.. + {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- + (ulcorner texti+(0,eb)){dir-180}..{dir-90}(ulcorner texti+(-eb,0))--cycle; + $ +enddef; + +vardef AFFI(expr texta)= + path cadre; + cadre=CADRE(texta); + picture TEXT; + TEXT=image(% + fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; + draw texta; + draw cadre withcolor CoulLignes; + ); + TEXT +enddef; + +vardef Affichage(expr textu)= + save $; + picture $; + $=AFFI(textu); + $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); +_coinprec:=(llcorner $)+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +%Pour les blocs de type contrôle +vardef CADRECONTROLE(expr texti)= + save $; path $; + path tracecadre; + $=(llcorner texti+(-eb,-eb))--%(llcorner texti+(0,-eb))-- + (llcorner texti+(0.875cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner texti+(0.875cm,0)+(0,-2eb))-- + (llcorner texti+(1.125cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner texti+(1.125cm,0)+(eb,-eb))-- + (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir180}(urcorner texti+(0,eb))-- + (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner texti+(0.625cm,0))-- + (ulcorner texti+(0.375cm,0)){dir180}.. + {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- + (ulcorner texti+(0,eb)){dir180}..{dir-90}(ulcorner texti+(-eb,0))--cycle; + tracecadre=(llcorner texti+(0.5cm,0)+(0,-eb))--(llcorner texti+(0.875cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner texti+(0.875cm,0)+(0,-2eb))-- + (llcorner texti+(1.125cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner texti+(1.125cm,0)+(eb,-eb))-- + (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir180}(urcorner texti+(0,eb))-- + (ulcorner texti+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner texti+(0.625cm,0))-- + (ulcorner texti+(0.375cm,0)){dir180}.. + {dir180}(ulcorner texti+(0.375cm,0)+(-eb,eb))-- + (ulcorner texti+(0,eb)){dir180}..{dir-90}(ulcorner texti+(-eb,0))-- + (llcorner texti+(-eb,-eb)); + $ +enddef; + +vardef AFFICONTROLE(expr texta)= + path cadre; + cadre=CADRECONTROLE(texta); + picture TEXT; + TEXT=image( + fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; + draw texta; + draw tracecadre withcolor CoulLignes; + ); + TEXT +enddef; + +vardef AffichageControle(expr textu)= + save $; + picture $; + $=AFFICONTROLE(textu); + $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); +_coinprec:=llcorner $+(0.5cm,0); +_coinprec:=_coinprec+(0,eb); +coindebutbloc[numblocrep]:=(llcorner $)+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +vardef CADREED(expr texti)= + save $; path $; + $=(llcorner texti+(-eb,0)){dir-90}..{dir0}(llcorner texti+(0,-eb))-- + (llcorner texti+(0.375cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner texti+(0.375cm,0)+(0,-2eb))-- + (llcorner texti+(0.625cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner texti+(0.625cm,0)+(eb,-eb))-- + (lrcorner texti+(0,-eb)){dir0}..{dir90}(lrcorner texti+(eb,0))--(urcorner texti+(eb,0)){dir90}..{dir-180}(urcorner texti+(0,eb))-- + 1/2[ulcorner texti+(-eb,eb),urcorner texti+(eb,eb)]{dir150}..{dir-150}(ulcorner texti+(-eb,eb))--cycle; + $ +enddef; + +vardef AFFIED(expr texta)= + path cadre; + cadre=CADREED(texta); + picture TEXT; + TEXT=image( + fill cadre withcolor if print=true :coefprint*white else: if unknown ColBloc : white else : ColBloc fi; fi; + draw texta; + draw cadre withcolor CoulLignes; + ); + TEXT +enddef; + +vardef AffichageED(expr textu)= + save $; + picture $; + $=AFFIED(textu); + $:=$ shifted (if unknown _coinprec:(0,0) else :_coinprec fi - (ulcorner $)); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +%%% section Mouvement %%%%%%%%%% +vardef Avancer(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("avancer de",OvalNb(nbpas),"pas"); + else: + texto=ColleBoxNew("avancer de",nbpas,"pas"); + fi; + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Arcdroite= + save $; + picture $; + $=image( + path cc; + cc=fullcircle scaled 10pt; + drawarrow reverse(subpath(0,0.75*length cc) of cc) withpen pencircle scaled 2bp if print=false: withcolor white fi; + ); + $ +enddef; + +vardef Arcgauche= + save $; + picture $; + $=image( + path cc; + cc=fullcircle scaled 10pt; + drawarrow (subpath(0.75*length cc,1.5*length cc) of cc) withpen pencircle scaled 2bp if print=false: withcolor white fi; + ); + $ +enddef; + +vardef Tournerd(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + if symbole=true: + texto=ColleBoxNew("tourner",Arcdroite,"de",OvalNb(nbpas),"degré(s)"); + else: + texto=ColleBoxNew("tourner à droite de",OvalNb(nbpas),"degré(s)"); + fi; + else: + if symbole=true: + texto=ColleBoxNew("tourner",Arcdroite,"de",nbpas,"degré(s)"); + else: + texto=ColleBoxNew("tourner à droite de",nbpas,"degré(s)"); + fi; + fi; + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Tournerg(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + if symbole=true: + texto=ColleBoxNew("tourner",Arcgauche,"de",OvalNb(nbpas),"degré(s)"); + else: + texto=ColleBoxNew("tourner à gauche de",OvalNb(nbpas),"degré(s)"); + fi; + else: + if symbole=true: + texto=ColleBoxNew("tourner",Arcgauche,"de",nbpas,"degré(s)"); + else: + texto=ColleBoxNew("tourner à gauche de",nbpas,"degré(s)"); + fi; + fi; + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Orienter(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("s'orienter à",OvalNb(nbpas)); + else: + texto=ColleBoxNew("s'orienter à",nbpas); + fi; + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Orienterdirection(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("s'orienter vers",OvalMouvMenu(nbpas)); + else: + texto=ColleBoxNew("s'orienter vers",nbpas); + fi; + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef OrienterVers(expr nbpass)=Orienterdirection(nbpass) enddef; + +vardef Aller(expr xa,ya)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("aller à x:",if string xa:OvalNb(xa) else: xa fi,"y:",if string ya:OvalNb(ya) else: ya fi); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Glisser(expr na,xa,ya)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("glisser en",if string na:OvalNb(na) else: na fi,"seconde(s) à x :",if string xa:OvalNb(xa) else: xa fi,"y:",if string ya:OvalNb(ya) else: ya fi); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef Allera(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("aller à",OvalMouvMenu(nbpas)); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + else: + message(""); + message("La commande -- Allera -- n'accepte qu'un type string comme argument."); + message(""); + $=nullpicture; + fi; + $ +enddef; + +vardef Glissera(expr na,xa)= + LONG:=0; + save $; + picture $, texto; + if string xa: + texto=ColleBoxNew("glisser en",if string na:OvalNb(na) else: na fi,"seconde(s) à",OvalMouvMenu(xa)); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); +else: + message(""); + message("La commande -- Glissera -- n'accepte qu'un type string comme deuxième argument."); + message(""); + $=nullpicture; +fi; + $ +enddef; + +vardef Ajouter(expr nba,xa)= + LONG:=0; + save $; + picture $, texto; + if string xa: + texto=ColleBoxNew("ajouter",if string nba:OvalNb(nba) else: nba fi,"à",xa); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); +else: + message(""); + message("La commande -- Ajouter -- n'accepte qu'un type string comme deuxième argument."); + message(""); + $=nullpicture; +fi; +$ +enddef; + +vardef Mettre(expr xa,nba)= + LONG:=0; + save $; + picture $, texto; + if string xa: + texto=ColleBoxNew("mettre",xa,"à",if string nba:OvalNb(nba) else: nba fi); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + else: + message(""); + message("La commande -- Mettre -- n'accepte qu'un type string comme premier argument."); + message(""); + $=nullpicture; + fi; + $ +enddef; + +vardef Rebondir= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("rebondir si le bord est atteint"); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + $ +enddef; + +vardef FixerSensRotation(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("fixer le sens de rotation",RecMouvMenu(nbpas));%RecMouvMenu(nbpas)); + ColBloc:=BleuMouvTrois; + $=Affichage(texto); + else: + message("La commande --FixerSensRotation-- admet un seul argument de type string"); + $=nullpicture; + fi; + $ +enddef; + +%%%% fin section Mouvement %%%%%% + +%%%%% Section Apparence %%%%%%%%% +vardef DireT(expr na,xa)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("dire",if string na:OvalText(na) else: na fi,"pendant",if string xa : OvalNb(xa) else: xa fi,"seconde(s)"); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef Dire(expr na)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("dire",if string na:OvalText(na) else: na fi); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef PenserT(expr na,xa)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("penser à",if string na:OvalText(na) else: na fi,"pendant",if string xa : OvalNb(xa) else: xa fi,"seconde(s)"); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef Penser(expr na)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("penser à",if string na:OvalText(na) else: na fi); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef Montrer= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("montrer"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + $ +enddef; + +vardef Cacher= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("cacher"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + $ +enddef; + +vardef Basculer(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("basculer sur le costume",OvalAppMenu(nbpas)); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + else: + message("La commande --Basculer-- n'accepte qu'un argument string."); + $=nullpicture; + fi; + $ +enddef; + +vardef BasculerCostume(expr nbpass)=Basculer(nbpass) enddef; + +vardef CostumeSuivant= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("costume suivant"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +$ +enddef; + +vardef ARSuivant= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("arrière-plan suivant"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +$ +enddef; + +vardef BasculerAR(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("basculer sur l'arrière-plan",OvalAppMenu(nbpas)); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + else: + message("La commande --BasculerAR-- n'accepte qu'un argument string."); + $=nullpicture; + fi; + $ +enddef; + +vardef BasculerARA(expr nbpas)=%quand la scène est sélectionnée... + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("basculer sur l'arrière-plan",OvalAppMenu(nbpas)," et attendre"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + else: + message("La commande --BasculerARA-- n'accepte qu'un argument string."); + $=nullpicture; + fi; + $ +enddef; + +vardef AjouterEffet(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string xa: + texto=ColleBoxNew("ajouter",if string nbpas: OvalNb(nbpas) else: nbpas fi," à l'effet",RecMenuApp(xa)); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +else: + message("La commande --AjouterEffet-- n'accepte qu'un deuxième argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef MettreEffet(expr xa,nbpas)= + LONG:=0; + save $; + picture $,texto; + if string xa: + texto=ColleBoxNew("mettre l'effet",RecMenuApp(xa),"à",if string nbpas:OvalNb(nbpas) else: nbpas fi); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +else: + message("La commande --MettreEffet-- n'accepte qu'un premier argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef AnnulerEffet= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("annuler les effets graphiques"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +$ +enddef; + +vardef AnnulerEffets=AnnulerEffet enddef; + +vardef AjouterTaille(expr na)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("ajouter",if string na:OvalNb(na) else: na fi,"à la taille"); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef MettreA(expr na)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("mettre la taille à",if string na:OvalNb(na) else: na fi,"\% de la taille initiale"); +ColBloc:=VioletAppTrois; +$=Affichage(texto); +$ +enddef; + +vardef MettreTaille(expr art)=MettreA(art) enddef; + +vardef AllerPlan(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("aller à l'",RecMenuApp(nbpas),"plan"); + ColBloc:=VioletAppTrois; + $=Affichage(texto); + else: + message("La commande --AllerPlan-- n'accepte qu'un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef DeplacerPlan(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string xa: + texto=ColleBoxNew("déplacer de",if string nbpas:OvalNb(nbpas) else: nbpas fi,"plan(s) vers l'",RecMenuApp(xa)); + ColBloc:=VioletAppTrois; + $=Affichage(texto); +else: + message("La commande --DeplacerPlan-- n'accepte qu'un deuxième argument de type string."); + $=nullpicture; +fi; +$ +enddef; +%%%%fin Section Apparance%%%%%%%%%%%% + +%%%%%% Section Son%%%%%%%%%%%% +vardef Jouer(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas : + texto=ColleBoxNew("jouer le son",OvalMenuSon(nbpas)); + ColBloc:=SonTrois; + $=Affichage(texto); + else: + message("La commande --Jouer-- n'accepte qu'un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef JouerT(expr nbpas)= + LONG:=0; + save $; + picture $, texto; + if string nbpas: + texto=ColleBoxNew("jouer le son",OvalMenuSon(nbpas)," jusqu'au bout"); + ColBloc:=SonTrois; + $=Affichage(texto); + else: + message("La commande --Jouer-- n'accepte qu'un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef ArreterSon= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("arrêter tous les sons"); + ColBloc:=SonTrois;; + $=Affichage(texto); + $ +enddef; + +vardef ArreterSons=ArreterSon enddef; + +vardef AjouterVol(expr xa)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("ajouter",if string xa:OvalNb(xa) else: xa fi," au volume"); + ColBloc:=SonTrois; + $=Affichage(texto); + $ +enddef; + +vardef MettreVol(expr xa)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("mettre le volume à",if string xa: OvalNb(xa) else: xa fi,"~\%"); + ColBloc:=SonTrois; + $=Affichage(texto); + $ +enddef; + +vardef AjouterEffetSon(expr nombre, effet)= + LONG:=0; + save $; + picture $, texto; + if string effet: + texto=ColleBoxNew("ajouter",if string nombre : OvalNb(nombre) else: nombre fi," à l'effet",RecMenuSon(effet)); + ColBloc:=SonTrois; + $=Affichage(texto); +else: + message("La commande -- AjouterEffet -- n'accepte qu'un deuxième argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef MettreEffetSon(expr effet,nombre)= + LONG:=0; + save $; + picture $, texto; + if string effet: + texto=ColleBoxNew("mettre l'effet",RecMenuSon(effet),"à",if string nombre:OvalNb(nombre) else: nombre fi); + ColBloc:=SonTrois; + $=Affichage(texto); +else: + message("La commande -- MettreEffet -- n'accepte qu'un argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef AnnulerEffetSon= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew("annuler tous les effets sonores"); + ColBloc:=SonTrois; + $=Affichage(texto); + $ +enddef; + +%Musique +vardef Tambour(expr na,xa)= + LONG:=0; + save $; + picture $, texto; + if string na: + texto=ColleBoxNew(DoubleNote,"jouer du tambour",OvalStylo(na),"pendant",if string xa:OvalNb(xa) else: xa fi,"temps"); + ColBloc:=StyloTrois; + $=Affichage(texto); +else: + message("La commande --Tambour-- n'accepte qu'un premier argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef Pause(expr na)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew(DoubleNote,"faire une pause pendant",if string na: OvalNb(na) else: na fi," temps"); + ColBloc:=StyloTrois; + $=Affichage(texto); + $ +enddef; + +vardef JouerNote(expr na,xa)= + LONG:=0; + save $; + picture $, texto; + texto=ColleBoxNew(DoubleNote,"jouer la note",if string na:OvalNb(na) else: na fi," pendant",if string xa:OvalNb(xa) else: xa fi," temps"); +ColBloc:=StyloTrois; +$=Affichage(texto); +$ +enddef; + +vardef ChoisirInstrument(expr na)= + LONG:=0; + save $; + picture $, texto; + if string na: + texto=ColleBoxNew(DoubleNote,"choisir l'instrument \no{}",OvalStylo(na)); + ColBloc:=StyloTrois; + $=Affichage(texto); + else: + message("La commande -- ChoisirInstrument -- n'accepte qu'un argument de type string"); + $=nullpicture; + fi; + $ +enddef; + +vardef MettreTempo(expr xa)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(DoubleNote,"mettre le tempo à",if string xa:OvalNb(xa) else: xa fi); + ColBloc:=FondSonTrois; + $=Affichage(texto); + $ +enddef; + +vardef AjouterTempo(expr xa)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(DoubleNote,"ajouter",if string xa:OvalNb(xa) else: xa fi," au tempo"); +ColBloc:=FondSonTrois; +$=Affichage(texto); +$ +enddef; + +vardef DoubleNote= + save $; + picture $; + $=image( + draw (((0,0)--(0,18pt)) shifted(-12,-9pt)) withpen pencircle scaled 1bp withcolor if print: coefprint*white else: StyloTrois fi; + draw NoteImage shifted((-5,-2)); + draw NoteImage shifted((3.5,2)); + draw (((0,0)--(0,18pt)) shifted(12,-9pt)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi;%Trop clair->(14/255,187/255,139/255); +); + $:=$ shifted(-3,0); + $ +enddef; + +vardef NoteImage= + save $; + picture $; + $=image( + linecap := butt; + linejoin := mitered; + fill (80.695297,716.262024)..controls (80.574203,716.257996) and (80.476601,716.171997)..(80.480499,716.062988) + --(80.687500,704.125000)..controls (79.941399,704.570007) and (78.644501,704.637024)..(77.312500,704.223022) + ..controls (75.503899,703.659973) and (74.339798,702.429993)..(74.710899,701.473022) + ..controls (75.082001,700.512024) and (76.851601,700.187988)..(78.656303,700.750000) + ..controls (80.425797,701.301025) and (81.574203,702.504028)..(81.273399,703.453003) + --(81.125000,711.987976)..controls (82.910202,711.909973) and (86.910202,711.625000)..(84.917999,706.456970) + ..controls (85.992203,707.906006) and (86.839798,709.598022)..(85.273399,711.629028) + ..controls (84.378899,712.789001) and (81.617203,713.348022)..(81.062500,715.398010) + --(81.054703,716.065979)..controls (81.050797,716.176025) and (80.953102,716.262024)..(80.832001,716.262024) + --cycle if print=false: withcolor white fi; + pickup pencircle scaled 0.797011bp; + draw (80.695297,716.262024)..controls (80.574203,716.257996) and (80.476601,716.171997)..(80.480499,716.062988) + --(80.687500,704.125000)..controls (79.941399,704.570007) and (78.644501,704.637024)..(77.312500,704.223022) + ..controls (75.503899,703.659973) and (74.339798,702.429993)..(74.710899,701.473022) + ..controls (75.082001,700.512024) and (76.851601,700.187988)..(78.656303,700.750000) + ..controls (80.425797,701.301025) and (81.574203,702.504028)..(81.273399,703.453003) + --(81.125000,711.987976)..controls (82.910202,711.909973) and (86.910202,711.625000)..(84.917999,706.456970) + ..controls (85.992203,707.906006) and (86.839798,709.598022)..(85.273399,711.629028) + ..controls (84.378899,712.789001) and (81.617203,713.348022)..(81.062500,715.398010) + --(81.054703,716.065979)..controls (81.050797,716.176025) and (80.953102,716.262024)..(80.832001,716.262024) + --cycle if print=false: withcolor white fi; + pickup pencircle scaled eppen; + ); + $:=($ rotatedabout((72.000000,699),15)) scaled 0.8; + $:=$ shifted(-center $); + $ +enddef; + +%%%%%% fin Section Son %%%%%%%%% + +%%%%%% Section Stylo %%%%%%%%% +vardef ImageCrayon= + save titi; + picture titi; + titi=image(% + draw CrayonImage shifted(-12,0); + draw (((0,0)--(0,18pt)) shifted(9,-9)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi;%Trop clair->(14/255,187/255,139/255); + ); + titi +enddef; + +vardef Effacer= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon,"effacer tout"); + ColBloc:=StyloTrois; + $=Affichage(texto); + $ +enddef; + +vardef Estampiller= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon,"estampiller"); + ColBloc:=StyloTrois; + $=Affichage(texto); + $ +enddef; + +vardef PoserStylo= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon," stylo en position d'écriture"); + ColBloc:=StyloTrois; + $=Affichage(texto); +$ +enddef; + +vardef ReleverStylo= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon,"relever le stylo"); + ColBloc:=StyloTrois; + $=Affichage(texto); +$ +enddef; + +vardef MettreCouleur(expr redc,greenc,bluec)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon," mettre la couleur du stylo à",OvalCouleur(redc,greenc,bluec)); + ColBloc:=StyloTrois; + $=Affichage(texto); + $ +enddef; + +vardef AjouterCS(text t)= + LONG:=0; + save $; + picture $,texto; + numeric k; k=0; + for p_=t: + if k=1:string effet; effet=p_ fi; + if k=0: if string p_:string nombre; nombre=p_ else: if picture p_: picture nombre; nombre=p_; fi fi fi; + k:=k+1; + endfor; + texto=ColleBoxNew(ImageCrayon,"ajouter",if string nombre:OvalNb(nombre) else: nombre fi,"à la",OvalStylo(effet),"du stylo"); +ColBloc:=StyloTrois; +$=Affichage(texto); +$ +enddef; + +vardef MettreCS(text t)= + LONG:=0; + save $; + picture $,texto; + numeric k; k=0; + for p_=t: + if k=0:string effet; effet=p_ fi; + if k=1: if string p_:string nombre; nombre=p_ else: if picture p_: picture nombre; nombre=p_; fi fi fi; + k:=k+1; + endfor; + texto=ColleBoxNew(ImageCrayon,"mettre la",OvalStylo(effet),"du stylo à",if string nombre:OvalNb(nombre) else: nombre fi); +ColBloc:=StyloTrois; +$=Affichage(texto); +$ +enddef; + +%taille du stylo +vardef AjouterTS(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon,"ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à la taille du stylo"); +ColBloc:=StyloTrois; +$=Affichage(texto); +$ +enddef; + +vardef MettreTS(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew(ImageCrayon,"mettre la taille du stylo à",if string nbpas:OvalNb(nbpas) else: nbpas fi); +ColBloc:=StyloTrois; +$=Affichage(texto); +$ +enddef; + +vardef CrayonImage= + picture cray; + cray=image(% + drawoptions (if print=false:withcolor (0.298050,0.556850,0.917650) fi); + linecap := butt; + linejoin := mitered; + fill (0.960938,1.390630)--(1.644530,2.996090)..controls (1.730470,3.199220) and (1.917970,3.500000)..(2.062500,3.664060)..controls (2.324220,3.968750) and (3.539060,2.753910)..(3.234380,2.488280)..controls (3.070310,2.343750) and (2.769530,2.160160)..(2.566410,2.074220)--cycle; + drawoptions (withcolor (0.349030,0.368640,0.450970)); + pickup pencircle scaled 0.498140bp; + draw (0.960938,1.390630)--(1.644530,2.996090)..controls (1.730470,3.199220) and (1.917970,3.500000)..(2.062500,3.664060)..controls (2.324220,3.968750) and (3.539060,2.753910)..(3.234380,2.488280)..controls (3.070310,2.343750) and (2.769530,2.160160)..(2.566410,2.074220)--cycle; + drawoptions (withcolor (1.000000,1.000000,1.000000)); + %pickup pencircle scaled 0.000000bp; + fill (1.800780,3.363280)--(2.558590,5.156250)..controls (2.601560,5.257810) and (2.699220,5.402340)..(2.777340,5.480470)--(8.281250,10.984400)..controls (8.300780,11.003900) and (8.339840,11.023400)..(8.367190,11.031300)..controls (9.757810,11.398400) and (10.968800,10.187500)..(10.601600,8.792970)..controls (10.593800,8.769530) and (10.574200,8.730470)..(10.554700,8.710940)--(6.316410,4.476560)..controls (5.539060,3.695310) and (4.089840,2.718750)..(3.074220,2.289060)--(2.980470,2.246090)..controls (2.957030,2.238280) and (2.953130,2.242190)..(2.972660,2.261720)..controls (3.539060,2.753910) and (2.324220,3.968750)..(1.800780,3.363280)--cycle; + drawoptions (if print=false:withcolor (0.349030,0.368640,0.450970) fi); + pickup pencircle scaled 0.498140bp; + draw (1.800780,3.363280)--(2.558590,5.156250)..controls (2.601560,5.257810) and (2.699220,5.402340)..(2.777340,5.480470)--(8.281250,10.984400)..controls (8.300780,11.003900) and (8.339840,11.023400)..(8.367190,11.031300)..controls (9.757810,11.398400) and (10.968800,10.187500)..(10.601600,8.792970)..controls (10.593800,8.769530) and (10.574200,8.730470)..(10.554700,8.710940)--(6.316410,4.476560)..controls (5.539060,3.695310) and (4.089840,2.718750)..(3.074220,2.289060)--(2.980470,2.246090)..controls (2.957030,2.238280) and (2.953130,2.242190)..(2.972660,2.261720)..controls (3.539060,2.753910) and (2.324220,3.968750)..(1.800780,3.363280); + drawoptions (if print=false:withcolor (0.298050,0.556850,0.917650) fi); + %pickup pencircle scaled 0.000000bp; + fill (8.316410,11.019500)--(13.031300,15.730500)..controls (13.109400,15.808600) and (13.257800,15.878900)..(13.371100,15.886700)..controls (14.308600,15.949200) and (15.519500,14.734400)..(15.457000,13.796900)..controls (15.449200,13.687500) and (15.378900,13.535200)..(15.300800,13.457000)--(10.589800,8.746090)..controls (10.968800,10.187500) and (9.757810,11.398400)..(8.316410,11.019500)--cycle; + drawoptions (if print=false:withcolor (0.349030,0.368640,0.450970) fi); + pickup pencircle scaled 0.498140bp; + draw (8.316410,11.019500)--(13.031300,15.730500)..controls (13.109400,15.808600) and (13.257800,15.878900)..(13.371100,15.886700)..controls (14.308600,15.949200) and (15.519500,14.734400)..(15.457000,13.796900)..controls (15.449200,13.687500) and (15.378900,13.535200)..(15.300800,13.457000)--(10.589800,8.746090)..controls (10.968800,10.187500) and (9.757810,11.398400)..(8.316410,11.019500)--cycle; + draw (12.562500,15.265600)..controls (7.937500,15.644500) and (9.453130,10.488300)..(6.117190,11.398400); + %pickup pencircle scaled 0.000000bp; + fill (7.199220,12.785200)..controls (6.812500,13.175800) and (6.179690,13.175800)..(5.792970,12.785200)..controls (5.402340,12.398400) and (5.402340,11.765600)..(5.792970,11.378900)..controls (6.179690,10.988300) and (6.812500,10.988300)..(7.199220,11.378900)..controls (7.589840,11.765600) and (7.589840,12.398400)..(7.199220,12.785200)--cycle; + fill (6.496090,12.082000)--cycle; + pickup pencircle scaled 0.498140bp; + draw (7.199220,12.785200)..controls (6.812500,13.175800) and (6.179690,13.175800)..(5.792970,12.785200)..controls (5.402340,12.398400) and (5.402340,11.765600)..(5.792970,11.378900)..controls (6.179690,10.988300) and (6.812500,10.988300)..(7.199220,11.378900)..controls (7.589840,11.765600) and (7.589840,12.398400)..(7.199220,12.785200)--cycle; + draw (6.496090,12.082000); + drawoptions(); + pickup pencircle scaled 0bp; + draw (-3,0)--(-3,18) withcolor if print : coefprint*white else: StyloTrois fi; + pickup pencircle scaled eppen; + ); + cray:=cray shifted((0,-9pt)); + cray +enddef; + +%%%%%% Fin Section Stylo %%%%%%%% + +%%%%%% Section Contrôle %%%%%%%%% +color colControle; +colControle:=OrangeConTrois; + +vardef AffichageStop= + path cadre; + cadre=(llcorner texto+(-eb,0)){dir-90}..{dir0}(llcorner texto+(0,-eb))-- + (lrcorner texto+(0,-eb)){dir0}..{dir90}(lrcorner texto+(eb,0))--(urcorner texto+(eb,0)){dir90}..{dir180}(urcorner texto+(0,eb))-- + (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner texto+(0.625cm,0))-- + (ulcorner texto+(0.375cm,0)){dir180}.. + {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb))-- + (ulcorner texto+(0,eb)){dir180}..{dir-90}(ulcorner texto+(-eb,0))--cycle; + picture TEXT; + TEXT=image( + fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + draw texto; + draw cadre withcolor CoulLignes; + ); + TEXT +enddef; + +pair coindebutbloc[]; +numeric numblocrep; +numblocrep:=0; + +vardef Repeter(expr xa)= + LONG:=0; + save $; + numblocrep:=numblocrep+1; + picture $,texto; + texto=ColleBoxNew("répéter", if string xa : OvalNb(xa) else: xa fi,"fois"); +LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." +ColBloc:=OrangeConTrois; +$=AffichageControle(texto); +$ +enddef; + +vardef RepeterI= + LONG:=0; + save $; + numblocrep:=numblocrep+1; + picture $,texto; + texto=ColleBoxNew("répéter indéfiniment"); + LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." + ColBloc:=OrangeConTrois; + $=AffichageControle(texto); + $ +enddef; + +vardef RepeterJ(expr xa)= + LONG:=0; + save $; + numblocrep:=numblocrep+1; + picture $,texto; + if picture xa: + texto=ColleBoxNew("répéter jusqu'à ce que",xa); + LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." + ColBloc:=OrangeConTrois; + $=AffichageControle(texto); + else: + message("La commande -- RepeterJ -- n'admet qu'un argument de type picture."); + $=nullpicture; + fi; + $ +enddef; + +vardef FinBlocRepeter= + LONG:=0; + save $; + picture $,texto; + _coinprec:=_coinprec-(0.5cm,0); + drawoptions(); + texto=image( + labeloffset:=0; + label.lrt(LATEXSCRATCH("\hbox to"&decimal(LongRep[numblocrep])&"pt{\phantom{\barre fin du bloc}}"),if unknown _coinprec: (0,0) else:_coinprec fi); + labeloffset:=3; + ); +path cadre; +cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- + (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- + (ulcorner texto+(0.5cm,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm+eb,0))-- + (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% + (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))-- + cycle; +$=image( + fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + draw cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + AA:=ahangle; + ahangle:=90; + drawarrow (lrcorner texto+(-0.625cm,0.15cm)){dir-15}..{dir90}(urcorner texto+(-0.25cm,-0.1cm)) withpen pencircle scaled2bp if print=false : withcolor white fi; + ahangle:=AA; + draw (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- + (ulcorner texto+(0.5cm,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm+eb,0))-- + (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% + (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))--(coindebutbloc[numblocrep]+(0.125,0.125)) withcolor CoulLignes; + ); +_coinprec:=(llcorner $); +_coinprec:=_coinprec+(0,eb); +numblocrep:=numblocrep-1; +$ +enddef; + +vardef FinBlocRepeterI=FinBlocRepeter enddef; + +vardef Si(expr xa)= + LONG:=0; + save $; + numblocrep:=numblocrep+1; + picture $,texto; + if picture xa: + texto=ColleBoxNew("si\hbox to1em{}",xa,"alors"); + LongRep[numblocrep]:=abs(llcorner texto-lrcorner texto);%afin de conserver la longueur du"répéter..." + ColBloc:=OrangeConTrois; + $=AffichageControle(texto); + else: + message("La commande -- Si -- n'admet qu'un argument de type picture."); + $=nullpicture; + fi; + $ +enddef; + +vardef FinBlocSi= + LONG:=0; + save $; + picture $,texto; + _coinprec:=_coinprec-(0.5cm,0); + drawoptions(); + texto=image( + labeloffset:=0; + label.lrt(LATEXSCRATCH("\hbox to"&decimal(LongRep[numblocrep])&"pt{\phantom{\barre fin du bloc}}"),if unknown _coinprec: (0,0) else:_coinprec fi); + labeloffset:=3; + ); +path cadre; +if BlocStopAvant=false: + cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- + (coindebutbloc[numblocrep]+(0.0625+0.5cm+eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,-eb))-- + (ulcorner texto+(0.5cm,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm+eb,0))-- + (ulcorner texto+(0.5cm+0.375cm,0)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.375cm,0)+(eb,-eb))--% + (ulcorner texto+(0.5cm+0.625cm,0)+(eb,-eb)){dir0}..% + {dir0}(ulcorner texto+(0.5cm+0.625cm,0)+(2eb,0))--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))-- + cycle; +else: + cadre=(coindebutbloc[numblocrep]+(0.125,0.125))-- + (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- +% (ulcorner texto+(0.125+0.875cm,0)){dir0}.. +% {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- +% (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. +% {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))-- + cycle; +fi; +$=image( + fill cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + draw cadre withcolor if print : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + if BlocStopAvant=false: + draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- + (ulcorner texto+(0.125+0.875cm,0)){dir0}.. + {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- + (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. + {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))-- + (coindebutbloc[numblocrep]+(0.125,0.125)) + withcolor CoulLignes; + else: + draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- + %(ulcorner texto+(0.125+0.875cm,0)){dir0}.. + %{dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- + %(ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. + %{dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+0.625cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+0.625cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.375cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.375cm,0))-- + (llcorner texto+(0.125,0)+(eb,0)){dir180}.. + {dir90}(llcorner texto+(0.125,0)+(0,eb))-- + (coindebutbloc[numblocrep]+(0.125,0.125)) + withcolor CoulLignes; + fi; + ); +_coinprec:=(llcorner $); +_coinprec:=_coinprec+(0,eb); +numblocrep:=numblocrep-1; +$ +enddef; + +boolean BlocStopAvant; +BlocStopAvant=false; + +vardef Sinon= + LONG:=0; + save $; + picture $,texto; + _coinprec:=_coinprec-(0.5cm,0); + drawoptions(); + texto=image( + labeloffset:=0; + label.lrt(LATEXSCRATCH("\, \hbox to"&decimal(LongRep[numblocrep])&"pt{\bfseries\barre sinon}"),if unknown _coinprec: (0,0) else:_coinprec fi) if print=false : withcolor blanc fi; + labeloffset:=3; + ); + path cadre; + if BlocStopAvant=false: + cadre=(llcorner texto+(0.125,0))-- + (coindebutbloc[numblocrep]+(0.125,0.125))-- + (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- + (ulcorner texto+(0.125+0.875cm,0)){dir0}.. + {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- + (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. + {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.875cm,0))-- + cycle; + else: + cadre=(llcorner texto+(0.125,0))-- + (coindebutbloc[numblocrep]+(0.125,0.125))-- + (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- +% (ulcorner texto+(0.125+0.875cm,0)){dir0}.. +% {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- +% (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. +% {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.875cm,0))-- + cycle; + fi; +$=image( + fill cadre withcolor if print=true : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + draw cadre withcolor if print=true : coefprint*white else : if unknown colControle : LightOrange else : colControle fi fi; + draw texto; + if BlocStopAvant=false: + draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- + (ulcorner texto+(0.125+0.875cm,0)){dir0}.. + {dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- + (ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. + {dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.875cm,0))-- + (llcorner texto+(0.125+0.5cm+eb,0)) + withcolor CoulLignes; + else: + draw (coindebutbloc[numblocrep]+(0.0625+0.5cm,0)+(eb,0.125)){dir180}.. + {dir-90}(coindebutbloc[numblocrep]+(0.5cm,0)+(0,-eb))-- + (ulcorner texto+(0.5cm,0)+(0,eb)){dir-90}.. + {dir0}(ulcorner texto+(0.5cm,0)+(eb,0))-- + %(ulcorner texto+(0.125+0.875cm,0)){dir0}.. + %{dir0}(ulcorner texto+(0.125+0.875cm,0)+(eb,-eb))-- + %(ulcorner texto+(0.125+1.125cm,0)+(eb,-eb)){dir0}.. + %{dir0}(ulcorner texto+(0.125+1.125cm,0)+(2eb,0))--%--% + (urcorner texto+(-eb,0)){dir0}.. + {dir-90}(urcorner texto+(0,-eb))-- + (lrcorner texto+(0,eb)){dir-90}.. + {dir180}(lrcorner texto+(-eb,0))-- + (llcorner texto+(0.125+1.125cm,0)+(2eb,0)){dir180}.. + {dir180}(llcorner texto+(0.125+1.125cm,0)+(eb,-eb))-- + (llcorner texto+(0.125+0.875cm,0)+(eb,-eb)){dir180}.. + {dir180}(llcorner texto+(0.125+0.875cm,0)) + withcolor CoulLignes; + fi; + draw (llcorner texto+(0.125,0))--(coindebutbloc[numblocrep]+(0.125,0.125)) withcolor CoulLignes; + ); + _coinprec:=(llcorner $)+(0.5cm,0); + _coinprec:=_coinprec+(0,eb); + coindebutbloc[numblocrep]:=(llcorner $)+(0,eb+0.125); + $ +enddef; + +vardef Attendre(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("attendre",if string nbpas:OvalNb(nbpas) else: nbpas fi,"seconde(s)"); +ColBloc:=OrangeConTrois; +$=Affichage(texto); +$ +enddef; + +vardef AttendreJ(expr xa)= + LONG:=0; + save $; + picture $,texto; + if picture xa: + texto=ColleBoxNew("attendre jusqu'à ce que",xa); + ColBloc:=OrangeConTrois; + $=Affichage(texto); + else: + message("La commande -- AttendreJ -- n'admet qu'un argument de type picture."); + $=nullpicture; + fi; + $ +enddef; + +vardef Stop(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + string TTm;%Pour sauvegarder le nbpas car en l'utilisant dans les if, il ne permet pas la concaténation... + TTm=if print:nbpas&"\hbox to1em{\barre}\blacktriangledown" else:"\color{white}"&nbpas&"\hbox to1em{\barre}\blacktriangledown"; + fi; + texto=image( + path ti; + ti=Box("stop"); + label(LATEXSCRATCH("\bfseries\barre stop"),center ti) if print=false : withcolor white fi;%_>ok + if picture nbpas: + picture ta; + ta=nbpas; + drawoptions(shifted (xpart((lrcorner ti)-(llcorner ta)+(eb,0)),ypart(center ti-center ta))); + draw ta; + drawoptions(); + else: + path ta; + ta=RecBox(TTm);% + drawoptions(shifted (xpart((lrcorner ti)-(llcorner ta)+(eb,0)),ypart(center ti-center ta))); + if print=false : fill ta withcolor ControleTrois fi; + draw ta withcolor 0.95white; + label(LATEXSCRATCH(TTm),center ta); + drawoptions(); + fi; + ); +$=AffichageStop shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageStop); +_coinprec:=llcorner $; +_coinprec:=_coinprec;%+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +vardef CommencerClone= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("quand je commence comme un clone"); + ColBloc:=ControleTrois; + $=AffichageED(texto); + $ +enddef; + +vardef CreerClone(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("créer un clone de",OvalMenuControle(nbpas)); + ColBloc:=ControleTrois; + $=Affichage(texto); + else: + message("La commande -- CreerClone -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef SupprimerClone= + LONG:=0; + save $; + picture $,texto; + texto=image( + path ti; + ti=Box("supprimer ce clone"); + label(LATEXSCRATCH("\bfseries\barre supprimer ce clone"),center ti) if print=false : withcolor white fi;%_>ok + ); + $=AffichageStop shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageStop); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; +%%fin Section Contrôle%%% + +%%%%%%%% Section Evenements %%%%% +vardef Drapeau= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("quand",DrapeauImage shifted(-(80,707)),"est cliqué"); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + $ +enddef; + +vardef QPresse(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("quand la touche",RecEvenementMenu(nbpas),"est pressée"); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + else: + message("La commande -- QPresse -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef QLutinPresse= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("quand ce sprite est cliqué"); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + $ +enddef; + +vardef QSpritePresse=QLutinPresse enddef; + +vardef QScenePressee= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("quand la scène est cliquée"); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + $ +enddef; + +vardef QBasculeAR(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("quand l'arrière-plan bascule sur",RecEvenementMenu(nbpas)); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + else: + message("La commande -- QBasculeAR -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef QVolumeSup(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("quand le",RecEvenementMenu(nbpas),"$>$",if string xa:OvalNb(xa) else: xa fi); + ColBloc:=EvenementTrois; + $=AffichageED(texto); +else: + message("La commande -- QVolumeSup -- accepte un premier argument de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef QRecevoirMessage(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("quand je reçois",RecEvenementMenu(nbpas)); + ColBloc:=EvenementTrois; + $=AffichageED(texto); + else: + message("La commande -- QRecevoirMessage -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef EnvoyerMessage(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("envoyer à tous",OvalMenuEvenement(nbpas)); + ColBloc:=EvenementTrois; + $=Affichage(texto); + else: + message("La commande -- EnvoyerMessage -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef EnvoyerMessageA(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("envoyer à tous",OvalMenuEvenement(nbpas),"et attendre"); + ColBloc:=EvenementTrois; + $=Affichage(texto); + else: + message("La commande -- EnvoyerMessageA -- accepte un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef DrapeauImage= + save $; picture $; + $=image( + linecap := butt; + linejoin := rounded; + if print = false: drawoptions(withcolor(76/255,191/255,86/255)) fi; + fill (72.000000,713.254028)--(72.000000,718.918030)--(72.507797,718.979980) + --(72.984398,719.026978)--(73.437500,719.054993)--(73.867203,719.070007) + --(74.273399,719.073975)--(74.660202,719.062988)--(75.023399,719.043030) + --(75.367203,719.012024)--(75.695297,718.968994)--(76.003899,718.918030) + --(76.300797,718.859009)--(76.578102,718.793030)--(76.847702,718.723022) + --(77.105499,718.648010)--(77.351601,718.570007)--(77.589798,718.484009) + --(77.820297,718.401978)--(78.042999,718.312988)--(78.234398,718.237976) + --(78.234398,706.906006)--(78.042999,706.979980)--(77.820297,707.065979) + --(77.589798,707.151978)--(77.351601,707.237976)--(77.105499,707.315979) + --(76.847702,707.390991)--(76.578102,707.460999)--(76.300797,707.526978) + --(76.003899,707.585999)--(75.695297,707.637024)--(75.367203,707.676025) + --(75.023399,707.710999)--(74.660202,707.729980)--(74.273399,707.742004) + --(73.867203,707.737976)--(73.437500,707.723022)--(72.984398,707.690979) + --(72.507797,707.648010)--(72.000000,707.585999)--cycle; +% drawoptions (withcolor (0,0.625,0)); + fill (78.246101,712.565979)--(78.261703,718.226990)--(78.476601,718.140991) + --(78.691399,718.059021)--(78.902298,717.976990)--(79.113297,717.895020) + --(79.328102,717.820007)--(79.546898,717.754028)--(79.765602,717.687988) + --(79.992203,717.632996)--(80.226601,717.585999)--(80.468803,717.543030) + --(80.718803,717.515991)--(80.980499,717.495972)--(81.253899,717.492004) + --(81.542999,717.495972)--(81.843803,717.515991)--(82.160202,717.546997) + --(82.492203,717.598022)--(82.847702,717.664001)--(83.218803,717.745972) + --(83.332001,717.773010)--(83.332001,706.440979)--(83.218803,706.414001) + --(82.847702,706.328003)--(82.492203,706.265991)--(82.160202,706.215027) + --(81.843803,706.179993)--(81.542999,706.164001)--(81.253899,706.156006) + --(80.980499,706.164001)--(80.718803,706.184021)--(80.468803,706.210999) + --(80.226601,706.250000)--(79.992203,706.301025)--(79.765602,706.354980) + --(79.546898,706.418030)--(79.328102,706.487976)--(79.113297,706.562988) + --(78.902298,706.645020)--(78.691399,706.723022)--(78.476601,706.809021) + --(78.234398,706.906006)--cycle; +% drawoptions (withcolor (0,0.625,0)); + fill (83.332001,712.109009)--(83.332001,717.773010)--(83.613297,717.843994) + --(84.031303,717.965027)--(84.468803,718.104980)--(84.933601,718.265991) + --(85.425797,718.448975)--(85.945297,718.651978)--(86.492203,718.882996) + --(87.070297,719.137024)--(87.679703,719.414001)--(88.324203,719.718994) + --(89.000000,720.054993)--(89.000000,708.718994)--(88.324203,708.387024) + --(87.679703,708.081970)--(87.070297,707.801025)--(86.492203,707.551025) + --(85.945297,707.320007)--(85.425797,707.117004)--(84.933601,706.934021) + --(84.468803,706.773010)--(84.031303,706.632996)--(83.613297,706.512024) + --(83.332001,706.440979)--cycle; +% drawoptions (withcolor (0,0.625,0)); +%pickup pencircle scaled 0.199253bp; + draw (72.000000,713.254028)--(72.000000,718.918030)--(72.507797,718.979980) + --(72.984398,719.026978)--(73.437500,719.054993)--(73.867203,719.070007) + --(74.273399,719.073975)--(74.660202,719.062988)--(75.023399,719.043030) + --(75.367203,719.012024)--(75.695297,718.968994)--(76.003899,718.918030) + --(76.300797,718.859009)--(76.578102,718.793030)--(76.847702,718.723022) + --(77.105499,718.648010)--(77.351601,718.570007)--(77.589798,718.484009) + --(77.820297,718.401978)--(78.042999,718.312988)--(78.261703,718.226990) + --(78.476601,718.140991)--(78.691399,718.059021)--(78.902298,717.976990) + --(79.113297,717.895020)--(79.328102,717.820007)--(79.546898,717.754028) + --(79.765602,717.687988)--(79.992203,717.632996)--(80.226601,717.585999) + --(80.468803,717.543030)--(80.718803,717.515991)--(80.980499,717.495972) + --(81.253899,717.492004)--(81.542999,717.495972)--(81.843803,717.515991) + --(82.160202,717.546997)--(82.492203,717.598022)--(82.847702,717.664001) + --(83.218803,717.745972)--(83.613297,717.843994)--(84.031303,717.965027) + --(84.468803,718.104980)--(84.933601,718.265991)--(85.425797,718.448975) + --(85.945297,718.651978)--(86.492203,718.882996)--(87.070297,719.137024) + --(87.679703,719.414001)--(88.324203,719.718994)--(89.000000,720.054993) + --(89.000000,708.718994)--(88.324203,708.387024)--(87.679703,708.081970) + --(87.070297,707.801025)--(86.492203,707.551025)--(85.945297,707.320007) + --(85.425797,707.117004)--(84.933601,706.934021)--(84.468803,706.773010) + --(84.031303,706.632996)--(83.613297,706.512024)--(83.218803,706.414001) + --(82.847702,706.328003)--(82.492203,706.265991)--(82.160202,706.215027) + --(81.843803,706.179993)--(81.542999,706.164001)--(81.253899,706.156006) + --(80.980499,706.164001)--(80.718803,706.184021)--(80.468803,706.210999) + --(80.226601,706.250000)--(79.992203,706.301025)--(79.765602,706.354980) + --(79.546898,706.418030)--(79.328102,706.487976)--(79.113297,706.562988) + --(78.902298,706.645020)--(78.691399,706.723022)--(78.476601,706.809021) + --(78.261703,706.895020)--(78.042999,706.979980)--(77.820297,707.065979) + --(77.589798,707.151978)--(77.351601,707.237976)--(77.105499,707.315979) + --(76.847702,707.390991)--(76.578102,707.460999)--(76.300797,707.526978) + --(76.003899,707.585999)--(75.695297,707.637024)--(75.367203,707.676025) + --(75.023399,707.710999)--(74.660202,707.729980)--(74.273399,707.742004) + --(73.867203,707.737976)--(73.437500,707.723022)--(72.984398,707.690979) + --(72.507797,707.648010)--(72.000000,707.585999)--cycle if print=false : withcolor (0,0.625,0) fi; + %pickup pencircle scaled 0.8bp; + draw (72.000000,699)--(72.000000,720); + drawoptions(); + ); + $:=$ rotatedabout((72.000000,699),-15); + $ +enddef; +%%Fin section Evenement%%% + +%%%% Section Bloc %%%% +vardef AffichageBlocDef= + path cadre; + cadre=(llcorner texto+(-eb,0)){dir-90}..{dir0}(llcorner texto+(0,-eb))-- + (llcorner texto+(0.375cm,0)+(-eb,-eb)){dir0}.. + {dir0}(llcorner texto+(0.375cm,0)+(0,-2eb))-- + (llcorner texto+(0.625cm,0)+(0,-2eb)){dir0}.. + {dir0}(llcorner texto+(0.625cm,0)+(eb,-eb))-- + (lrcorner texto+(0,-eb)){dir0}..{dir90}(lrcorner texto+(eb,0))-- + (urcorner texto+(eb,eb)){dir90}..{dir180}(urcorner texto+(0,2eb))-- + (ulcorner texto+(0,2eb)){dir180}.. + {dir-90}(ulcorner texto+(-eb,eb))-- + cycle; + picture TEXT; + TEXT=image( + fill cadre withcolor if print : coefprint*white else : BlocTrois fi;%if unknown colBloc : DarkPurple else: colBloc fi fi; + draw texto; + draw cadre withcolor CoulLignes; + ); + TEXT +enddef; + +vardef Bloc(text nomblocbloc)= + LONG:=0; + save $; + picture $,texto; + texto=image( + picture CBbloc; + CBbloc=ColleBoxNew(nomblocbloc); + draw CBbloc; + ); + ColBloc:=BlocTrois; + $=Affichage(texto); + $ +enddef; + +vardef NouveauBloc(text nbpasbloc)= + LONG:=0; + save $; + picture $,texto; + texto=image( + picture CB; + CB=ColleBoxNew("définir",BlocPuzzle(nbpasbloc)); + draw CB; + ); +$=AffichageBlocDef shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner AffichageBlocDef); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; +%%%% Fin Section Bloc%%%% + +%%% Section Divers%%% +vardef CommandeVide(expr commande)= + LONG:=0; + save $; + picture $,texto,TEXT; + if string commande : + texto=image( + label.lrt(LATEXSCRATCH("\barre \hbox to"&commande&"cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); + ); +else: + texto=commande; +fi; +ColBloc:=white; +$=Affichage(texto); +$ +enddef; + +vardef LigneVide= + LONG:=0; + save $; + picture $,texto,TEXT; + texto=image( + label.lrt(LATEXSCRATCH("\barre \hbox to2cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); + ); +TEXT=image( + path cadre; + cadre=CADRE(texto); + unfill cadre; + %draw (urcorner texto+(0,eb))-- + % (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. + % {dir180}(ulcorner texto+(0.625cm,0))-- + % (ulcorner texto+(0.375cm,0)){dir180}.. + % {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb))-- + % (ulcorner texto+(0,eb)) withpen pencircle scaled 0; + ); +$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +vardef LigneVideVar(expr commande)= + LONG:=0; + save $; + picture $,texto,TEXT; + if string texto: + texto=image( + label.lrt(LATEXSCRATCH("\barre \hbox to2cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); + ); +else: + texto=commande; +fi; +TEXT=image( + path cadre; + cadre=(llcorner texto+(-eb,0))--(llcorner texto+(0,-eb))-- + (llcorner texto+(0.375cm,0)+(-eb,-eb))-- + (llcorner texto+(0.375cm,0)+(0,-2eb))-- + (llcorner texto+(0.625cm,0)+(0,-2eb))-- + (llcorner texto+(0.625cm,0)+(eb,-eb))-- + (lrcorner texto+(0,-eb))--(lrcorner texto+(eb,0))--(urcorner texto+(eb,0))--(urcorner texto+(0,eb))-- + (ulcorner texto+(0.625cm,0)+(eb,eb))-- + (ulcorner texto+(0.625cm,0))-- + (ulcorner texto+(0.375cm,0))-- + (ulcorner texto+(0.375cm,0)+(-eb,eb))-- + (ulcorner texto+(0,eb))--(ulcorner texto+(-eb,0))--cycle; + fill cadre withcolor white; +% draw (urcorner texto+(0,eb))-- +% (ulcorner texto+(0.625cm,0)+(eb,eb))-- +% (ulcorner texto+(0.625cm,0))-- +% (ulcorner texto+(0.375cm,0))-- +% (ulcorner texto+(0.375cm,0)+(-eb,eb))-- +% (ulcorner texto+(0,eb)) withpen pencircle scaled 0.05bp; + ); +$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +vardef LignePointilles= + LONG:=0; + save $; + picture $,texto,TEXT; + texto=image( + label.lrt(LATEXSCRATCH("\barre\Large \strut\ldots\hbox to1em{}"),if unknown _coinprec: (0,0) else:_coinprec fi); + ); +TEXT=image( + path cadre; + cadre=CADRE(texto); + fill cadre withcolor white; + draw %(urcorner texto+(0,eb))-- + (ulcorner texto+(0.625cm,0)+(eb,eb)){dir180}.. + {dir180}(ulcorner texto+(0.625cm,0))-- + (ulcorner texto+(0.375cm,0)){dir180}.. + {dir180}(ulcorner texto+(0.375cm,0)+(-eb,eb)) + %--(ulcorner texto+(0,eb)) + withpen pencircle scaled 0.01; + draw texto; + ); +$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +_coincom:=1/2[lrcorner $,urcorner $]+(eb,0); +_coinnum:=(xpart(DebutListe+(-3*eb,0)),ypart(1/2[llcorner $,ulcorner $])); +if NumeroteLignes=true: + label(LATEXSCRATCH("\footnotesize"&decimal(Nblignes)&""),_coinnum); + Nblignes:=Nblignes+1; +fi; +$ +enddef; + +vardef Commentaires(expr commande)= + LONG:=0; + save $; + picture $,texto,TEXT; + texto=image( + label.lrt(LATEXSCRATCH("\barre "& commande &""),if unknown _coinprec: (0,0) else:_coinprec fi) withcolor 0.5*white; + ); +TEXT=image( + path cadre; + cadre=CADRE(texto); + fill cadre withcolor white; + draw texto; + ); +$=TEXT shifted (if unknown _coinprec:(0,0) else :_coinprec fi - ulcorner TEXT); +_coinprec:=llcorner $; +_coinprec:=_coinprec+(0,eb); +$ +enddef; + +color colcom; +colcom=0.5white; + +vardef CommentairesLigne(expr commande)= + LONG:=0; + save $; + picture $,texto,TEXT; + TEXT=image( + label.rt(LATEXSCRATCH(commande), _coincom) withcolor colcom; + ); +$=TEXT shifted (_coincom - 1/2[llcorner TEXT,ulcorner TEXT]); +$ +enddef; + +vardef BlocGris(expr ar)= + LONG:=0; + save $; picture $; + path ta; string TTm; + TTm=ar&"\barre"; + ta=OvalMiniBox(TTm); + $=image( + fill ta withcolor 0.975white; + draw ta withcolor 0.85white; + label(LATEXSCRATCH(TTm),center ta) if print=false : withcolor blanc fi; + ); +$ +enddef; + +vardef BlocGrisMulti(text argris)= + LONG:=0; + save $; picture $; + path ta; picture TTm; + TTm=ColleBox(argris); + ta=OvalMiniBox(TTm); + $=image( + fill ta withcolor grisBloc; + draw TTm; +% label(LALATEXSCRATCH(TTm),center ta) if print=false : withcolor blanc fi; + ); +$ +enddef; + +boolean BlocE; +BlocE:=false; + +vardef BlocUser(expr colblocuser)(text textbloc)= + LONG:=0; + save $; + picture $; + save TA; path TA; picture BUTB; picture texto; picture TEXT; + BUTB=ColleBoxNew(textbloc); + TA=Box(BUTB); + texto=image( + draw BUTB; + ); + ColBloc:=colblocuser; + if BlocE=false: + $=Affichage(texto); + else: + $=AffichageED(texto); + fi; + $ +enddef; + +vardef BlocCouleur(expr colblocuser)= + LONG:=0; + save $; + picture $,texto; + texto=image( + label.lrt(LATEXSCRATCH("\barre \hbox to4cm{}"),if unknown _coinprec: (0,0) else:_coinprec fi); + ); +ColBloc:=colblocuser; +$=Affichage(texto); +$ +enddef; +%% fin Section Divers %%% + +%% Section Capteur %%%% +vardef Demander(expr nbpas)= + LONG:=0; + save Dem; + picture Dem,texto; + if string nbpas: + texto=ColleBoxNew("demander",OvalNb(nbpas),"et attendre"); + ColBloc:=CapteurTrois; + Dem=Affichage(texto); + else: + message("La commande -- Demander -- admet un argument de type string."); + Dem=nullpicture; + fi; + Dem +enddef; + +vardef ReinitChrono= + LONG:=0; + save $; + picture $,texto; + texto=ColleBoxNew("réinitialiser le chronomètre"); + ColBloc:=CapteurTrois; + $=Affichage(texto); + $ +enddef; + +vardef MettreGlissement(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew("mettre mode de glissement à",RecMenuCap(nbpas)); + ColBloc:=CapteurTrois; + $=Affichage(texto); + else: + message("La commande -- MettreGlissement -- admet un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +%video + +vardef CameraImage= + LONG:=0; + save $; + picture $; + $=image( + pair A,B,C,D,E,F; + A=(0,0); + B-A=(10,0); + C-B=(0,10); + D-C=A-B; + E-B=(4,1.5); + F-C=(4,-1.5); + numeric EB; + EB=2pt; + path camera; + camera=(A+(EB,0))--(B+(-EB,0)){dir0}..{dir90}(B+(0,EB))--2/5[B,C]--E--F--3/5[B,C]--(C+(0,-EB)){dir90}..{dir-180}(C+(-EB,0))--(D+(EB,0)){dir180}..{dir-90}(D+(0,-EB))--(A+(0,EB)){dir-90}..{dir0}cycle; + fill camera withcolor (77,77,77)/255; + draw camera withcolor (77,77,77)*0.95/255; + path cc; + cc=fullcircle scaled 6; + color coul[]; + if print: + coul0:=0.9white; + coul1:=0.933white; + coul2:=0.966white; + coul3:=white; + else: + coul0=(75,205,169)/255; + coul1=(16,230,212)/255; + coul2=(224,247,241)/255; + coul3=(1,1,1); + fi; + for k=0 upto 3: + fill (cc shifted(B+(10,3*k))) withcolor coul[k]; + draw (cc shifted(B+(10,3*k))) withcolor 0.95*coul[k]; + endfor; + draw ((-3,0)--(-3,18)) withcolor if print : coefprint*white else: StyloTrois fi; + pickup pencircle scaled eppen; + ); + $:=$ scaled 0.8; + $ +enddef; + +vardef ImageCamera= + save titi; + picture titi; + titi=image( + draw CameraImage shifted(-12,-5); + draw (((0,0)--(0,18pt)) shifted(9,-9)) withpen pencircle scaled 1bp withcolor if print: 0.5*coefprint*white else: (69/255,168/255,140/255) fi; + ); + titi +enddef; + +vardef ActiverVideo(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew(ImageCamera,"vidéo",OvalStylo(nbpas)); + ColBloc:=StyloTrois; + $=Affichage(texto); + else: + message("La commande -- ActiverVideo -- admet un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef TransparenceVideo(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew(ImageCamera,"mettre la transparence vidéo sur",OvalNb(nbpas)); + ColBloc:=StyloTrois; + $=Affichage(texto); + else: + message("La commande -- TransparenceVideo -- admet un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef QuandMV(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas: + texto=ColleBoxNew(ImageCamera,"quand mouvement vidéo $>$",OvalNb(nbpas)); + ColBloc:=StyloTrois; + $=AffichageED(texto); + else: + message("La commande -- QuandMV -- admet un argument de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef VideoSur(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if (string nbpas) and (string xa): + texto=ColleBoxNew(ImageCamera,"vidéo",OvalStylo(nbpas),"sur",OvalStylo(xa)); + %ColBloc:=StyloTrois; + path ta; + ta=OvalBox(texto); + $=image( + fill ta withcolor if print: coefprint*white else: StyloTrois fi; + draw ta withcolor CoulLignes; + %label(LATEXSCRATCH(TTm),center ta) if print=false : withcolor blanc fi; + draw texto; + ); + else: + message("La commande -- VideoSur -- admet deux arguments de type string."); + $=nullpicture; + fi; + $ +enddef; + +%% fin Section Capteur %%% + +%%% Section Variables %%% +vardef MettreVar(expr nbpas,xa)= + LONG:=0; + save MV; + picture MV,texto; + if string nbpas : + texto=ColleBoxNew("mettre",RecMenuVar(nbpas),"à",if string xa:OvalNb(xa) else: xa fi); + ColBloc:=OrangeTrois; + MV=Affichage(texto); + else: + message("La commande -- MettreVar -- admet un premier paramètre de type string."); + MV=nullpicture; + fi; + MV +enddef; + +vardef AjouterVar(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string xa : + texto=ColleBoxNew("ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à",RecMenuVar(xa)); + ColBloc:=OrangeTrois; + $=Affichage(texto); +else: + message("La commande -- AjouterVar -- admet un deuxième paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef MontrerVar(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas : + texto=ColleBoxNew("montrer la variable",RecMenuVar(nbpas)); + ColBloc:=OrangeTrois; + $=Affichage(texto); + else: + message("La commande -- MontrerVar -- admet un premier paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef CacherVar(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas : + texto=ColleBoxNew("cacher la variable",RecMenuVar(nbpas)); + ColBloc:=OrangeTrois; + $=Affichage(texto); + else: + message("La commande -- CacherVar -- admet un premier paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +%Liste +vardef AjouterListe(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string xa : + texto=ColleBoxNew("ajouter",if string nbpas:OvalNb(nbpas) else: nbpas fi,"à",RecMenuList(xa)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); +else: + message("La commande -- AjouterListe -- admet un deuxième paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef SupprimerListe(expr nbpas,xa)= + LONG:=0; + save $; + picture $,texto; + if string xa : + texto=ColleBoxNew("supprimer l'élément",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(xa)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); +else: + message("La commande -- SupprimerListe -- admet un deuxième paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef SupprimerListeAll(expr nbpas)= + LONG:=0; + save $; + picture $,texto; + if string nbpas : + texto=ColleBoxNew("supprimer tous les éléments de la liste",RecMenuList(nbpas)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); +else: + message("La commande -- SupprimerListe -- admet un deuxième paramètre de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef InsererListe(expr xa,nbpas,ya)= + LONG:=0; + save $; + picture $,texto; + if string ya : + texto=ColleBoxNew("insérer",if string xa:OvalNb(xa) else: xa fi,"en position",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(ya)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); + else: + message("La commande -- InsererListe -- admet un troisième paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef RemplacerListe(expr xa,nbpas,ya)= + LONG:=0; + save $; + picture $,texto; + if string nbpas : + texto=ColleBoxNew("remplacer l'élément",if string xa:OvalNb(xa) else: xa fi,"de la liste",RecMenuList(nbpas),"par",if string ya:OvalNb(ya) else: ya fi); + ColBloc:=OrangeListTrois; + $=Affichage(texto); +else: + message("La commande -- RemplacerListe -- admet un deuxième paramètre de type string."); + $=nullpicture; +fi; +$ +enddef; + +vardef MontrerListe(expr xa)= + LONG:=0; + save $; + picture $,texto; + if string xa : + texto=ColleBoxNew("montrer la liste",RecMenuList(xa)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); + else: + message("La commande -- MontrerListe -- admet un paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +vardef CacherListe(expr xa)= + LONG:=0; + save $; + picture $,texto; + if string xa : + texto=ColleBoxNew("cacher la liste",RecMenuList(xa)); + ColBloc:=OrangeListTrois; + $=Affichage(texto); + else: + message("La commande -- CacherListe -- admet un paramètre de type string."); + $=nullpicture; + fi; + $ +enddef; + +%%% Section Operateur %%% + +vardef OpAdd(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$+$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpSous(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$-$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpMul(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$\times$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpDiv(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$\div$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpAlea(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew("nombre aléatoire entre",if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpRegrouper(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew("regrouper",if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpLettre(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew("lettre",if string pasun : OvalNb(pasun) else: pasun fi,"de",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpLongueur(expr pasun)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew("longueur de",if string pasun : OvalNb(pasun) else: pasun fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpArrondi(expr pasun)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew("arrondi de",if string pasun : OvalNb(pasun) else: pasun fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef OpFonction(expr pasun,pasdeux)= + save Oop; picture Oop; + save TAao; path TAao; + save LOPop; picture LOPop; + LOPop=ColleBoxNew(RecMenuOp(pasun),"de",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAao=OvalBox(LOPop); + Oop=image( + fill TAao if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LOPop; + draw TAao if print=false : withcolor coefprint*white fi; + ); + Oop:=Oop shifted(-center Oop); + Oop +enddef; + +vardef TestOpSup(expr pasun, pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$>$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpInf(expr pasun, pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$<$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpEgal(expr pasun, pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"$=$",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpEt(expr pasun, pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"et",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpOu(expr pasun, pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"ou",if string pasdeux : OvalNb(pasdeux) else: pasdeux fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpNon(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("non",if string pasun : OvalNb(pasun) else: pasun fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestOpContient(expr pasun,pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(if string pasun : OvalNb(pasun) else: pasun fi,"contient",if string pasun : OvalNb(pasdeux) else: pasun fi,"?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor FondOvalOp else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef AppCostume(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(RecMenuApp(pasun),"du costume"); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor VioletAppTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef AppAP(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(RecMenuApp(pasun),"de l'arrière-plan"); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor VioletAppTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef CapDistance(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("distance de",OvalCapMenu(pasun)); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef CapTemps(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(RecMenuCap(pasun),"actuelle"); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef CapNumero(expr pasun,pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(RecMenuCap(pasun),"de",OvalCapMenu(pasdeux)); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestCapToucheObjet(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("touche le",OvalCapMenu(pasun),"?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestCapCouleur(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("couleur",OvalCouleur(redpart(pasun),greenpart(pasun),bluepart(pasun)),"touchée ?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestCapCouleurs(expr pasun,pasdeux)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("couleur",OvalCouleur(redpart(pasun),greenpart(pasun),bluepart(pasun)),"touché",OvalCouleur(redpart(pasdeux),greenpart(pasdeux),bluepart(pasdeux)),"?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestCapTouche(expr pasun)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("touche",OvalMenuCap(pasun),"pressée ?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestCapSouris= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("souris pressée ?"); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor CapteurTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef TestListeContient(expr nbpas,nbbas)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew(RecMenuList(nbpas),"contient",if string nbbas:OvalNb(nbbas) else: nbbas fi); + TAa=DiamondBox(LTa); + $=image( + fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef ListeElement(expr nbpas,nbbas)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("élément",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(nbbas)); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef ListePosition(expr nbpas,nbbas)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("position de",if string nbpas:OvalNb(nbpas) else: nbpas fi,"de",RecMenuList(nbbas)); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + +vardef ListeLongueur(expr nbpas)= + save $; picture $; + save TAa; path TAa; + save LTa; picture LTa; + LTa=ColleBoxNew("longueur de",RecMenuList(nbpas)); + TAa=OvalBox(LTa); + $=image( + fill TAa if print=false : withcolor OrangeListTrois else : withcolor coefprint*white fi; + draw LTa; + draw TAa if print=false : withcolor coefprint*white fi; + ); + $:=$ shifted(-center $); + $ +enddef; + diff --git a/macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp b/macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp new file mode 100644 index 0000000000..3aa2cf2386 --- /dev/null +++ b/macros/latex/contrib/profcollege/metapost/PfCSvgnames.mp @@ -0,0 +1,153 @@ +%D'après /usr/local/texlive/2020/texmf-dist/tex/latex/xcolor/svgnam.def +color AliceBlue; AliceBlue = (.94,.972,1); +color AntiqueWhite; AntiqueWhite = (.98,.92,.844); +color Aqua; Aqua = (0,1,1); +color Aquamarine; Aquamarine = (.498,1,.83); +color Azure; Azure = (.94,1,1); +color Beige; Beige = (.96,.96,.864); +color Bisque; Bisque = (1,.894,.77); +color Black; Black = (0,0,0); +color BlanchedAlmond; BlanchedAlmond = (1,.92,.804); +color Blue; Blue = (0,0,1); +color BlueViolet; BlueViolet = (.54,.17,.888); +color Brown; Brown = (.648,.165,.165); +color BurlyWood; BurlyWood = (.87,.72,.53); +color CadetBlue; CadetBlue = (.372,.62,.628); +color Chartreuse; Chartreuse = (.498,1,0); +color Chocolate; Chocolate = (.824,.41,.116); +color Coral; Coral = (1,.498,.312); +color CornflowerBlue; CornflowerBlue = (.392,.585,.93); +color Cornsilk; Cornsilk = (1,.972,.864); +color Crimson; Crimson = (.864,.08,.235); +color Cyan; Cyan = (0,1,1); +color DarkBlue; DarkBlue = (0,0,.545); +color DarkCyan; DarkCyan = (0,.545,.545); +color DarkGoldenrod; DarkGoldenrod = (.72,.525,.044); +color DarkGray; DarkGray = (.664,.664,.664); +color DarkGreen; DarkGreen = (0,.392,0); +color DarkGrey; DarkGrey = (.664,.664,.664); +color DarkKhaki; DarkKhaki = (.74,.716,.42); +color DarkMagenta; DarkMagenta = (.545,0,.545); +color DarkOliveGreen; DarkOliveGreen = (.332,.42,.185); +color DarkOrange; DarkOrange = (1,.55,0); +color DarkOrchid; DarkOrchid = (.6,.196,.8); +color DarkRed; DarkRed = (.545,0,0); +color DarkSalmon; DarkSalmon = (.912,.59,.48); +color DarkSeaGreen; DarkSeaGreen = (.56,.736,.56); +color DarkSlateBlue; DarkSlateBlue = (.284,.24,.545); +color DarkSlateGray; DarkSlateGray = (.185,.31,.31); +color DarkSlateGrey; DarkSlateGrey = (.185,.31,.31); +color DarkTurquoise; DarkTurquoise = (0,.808,.82); +color DarkViolet; DarkViolet = (.58,0,.828); +color DeepPink; DeepPink = (1,.08,.576); +color DeepSkyBlue; DeepSkyBlue = (0,.75,1); +color DimGray; DimGray = (.41,.41,.41); +color DimGrey; DimGrey = (.41,.41,.41); +color DodgerBlue; DodgerBlue = (.116,.565,1); +color FireBrick; FireBrick = (.698,.132,.132); +color FloralWhite; FloralWhite = (1,.98,.94); +color ForestGreen; ForestGreen = (.132,.545,.132); +color Fuchsia; Fuchsia = (1,0,1); +color Gainsboro; Gainsboro = (.864,.864,.864); +color GhostWhite; GhostWhite = (.972,.972,1); +color Gold; Gold = (1,.844,0); +color Goldenrod; Goldenrod = (.855,.648,.125); +color Gray; Gray = (.5,.5,.5); +color Green; Green = (0,.5,0); +color GreenYellow; GreenYellow = (.68,1,.185); +color Grey; Grey = (.5,.5,.5); +color Honeydew; Honeydew = (.94,1,.94); +color HotPink; HotPink = (1,.41,.705); +color IndianRed; IndianRed = (.804,.36,.36); +color Indigo; Indigo = (.294,0,.51); +color Ivory; Ivory = (1,1,.94); +color Khaki; Khaki = (.94,.9,.55); +color Lavender; Lavender = (.9,.9,.98); +color LavenderBlush; LavenderBlush = (1,.94,.96); +color LawnGreen; LawnGreen = (.488,.99,0); +color LemonChiffon; LemonChiffon = (1,.98,.804); +color LightBlue; LightBlue = (.68,.848,.9); +color LightCoral; LightCoral = (.94,.5,.5); +color LightCyan; LightCyan = (.88,1,1); +color LightGoldenrod; LightGoldenrod = (.933,.867,.51); +color LightGoldenrodYellow; LightGoldenrodYellow = (.98,.98,.824); +color LightGray; LightGray = (.828,.828,.828); +color LightGreen; LightGreen = (.565,.932,.565); +color LightGrey; LightGrey = (.828,.828,.828); +color LightPink; LightPink = (1,.712,.756); +color LightSalmon; LightSalmon = (1,.628,.48); +color LightSeaGreen; LightSeaGreen = (.125,.698,.668); +color LightSkyBlue; LightSkyBlue = (.53,.808,.98); +color LightSlateBlue; LightSlateBlue = (.518,.44,1); +color LightSlateGray; LightSlateGray = (.468,.532,.6); +color LightSlateGrey; LightSlateGrey = (.468,.532,.6); +color LightSteelBlue; LightSteelBlue = (.69,.77,.87); +color LightYellow; LightYellow = (1,1,.88); +color Lime; Lime = (0,1,0); +color LimeGreen; LimeGreen = (.196,.804,.196); +color Linen; Linen = (.98,.94,.9); +color Magenta; Magenta = (1,0,1); +color Maroon; Maroon = (.5,0,0); +color MediumAquamarine; MediumAquamarine = (.4,.804,.668); +color MediumBlue; MediumBlue = (0,0,.804); +color MediumOrchid; MediumOrchid = (.73,.332,.828); +color MediumPurple; MediumPurple = (.576,.44,.86); +color MediumSeaGreen; MediumSeaGreen = (.235,.7,.444); +color MediumSlateBlue; MediumSlateBlue = (.484,.408,.932); +color MediumSpringGreen; MediumSpringGreen = (0,.98,.604); +color MediumTurquoise; MediumTurquoise = (.284,.82,.8); +color MediumVioletRed; MediumVioletRed = (.78,.084,.52); +color MidnightBlue; MidnightBlue = (.098,.098,.44); +color MintCream; MintCream = (.96,1,.98); +color MistyRose; MistyRose = (1,.894,.884); +color Moccasin; Moccasin = (1,.894,.71); +color NavajoWhite; NavajoWhite = (1,.87,.68); +color Navy; Navy = (0,0,.5); +color NavyBlue; NavyBlue = (0,0,.5); +color OldLace; OldLace = (.992,.96,.9); +color Olive; Olive = (.5,.5,0); +color OliveDrab; OliveDrab = (.42,.556,.136); +color Orange; Orange = (1,.648,0); +color OrangeRed; OrangeRed = (1,.27,0); +color Orchid; Orchid = (.855,.44,.84); +color PaleGoldenrod; PaleGoldenrod = (.932,.91,.668); +color PaleGreen; PaleGreen = (.596,.985,.596); +color PaleTurquoise; PaleTurquoise = (.688,.932,.932); +color PaleVioletRed; PaleVioletRed = (.86,.44,.576); +color PapayaWhip; PapayaWhip = (1,.936,.835); +color PeachPuff; PeachPuff = (1,.855,.725); +color Peru; Peru = (.804,.52,.248); +color Pink; Pink = (1,.752,.796); +color Plum; Plum = (.868,.628,.868); +color PowderBlue; PowderBlue = (.69,.88,.9); +color Purple; Purple = (.5,0,.5); +color Red; Red = (1,0,0); +color RosyBrown; RosyBrown = (.736,.56,.56); +color RoyalBlue; RoyalBlue = (.255,.41,.884); +color SaddleBrown; SaddleBrown = (.545,.27,.075); +color Salmon; Salmon = (.98,.5,.448); +color SandyBrown; SandyBrown = (.956,.644,.376); +color SeaGreen; SeaGreen = (.18,.545,.34); +color Seashell; Seashell = (1,.96,.932); +color Sienna; Sienna = (.628,.32,.176); +color Silver; Silver = (.752,.752,.752); +color SkyBlue; SkyBlue = (.53,.808,.92); +color SlateBlue; SlateBlue = (.415,.352,.804); +color SlateGray; SlateGray = (.44,.5,.565); +color SlateGrey; SlateGrey = (.44,.5,.565); +color Snow; Snow = (1,.98,.98); +color SpringGreen; SpringGreen = (0,1,.498); +color SteelBlue; SteelBlue = (.275,.51,.705); +color Tan; Tan = (.824,.705,.55); +color Teal; Teal = (0,.5,.5); +color Thistle; Thistle = (.848,.75,.848); +color Tomato; Tomato = (1,.39,.28); +color Turquoise; Turquoise = (.25,.88,.815); +color Violet; Violet = (.932,.51,.932); +color VioletRed; VioletRed = (.816,.125,.565); +color Wheat; Wheat = (.96,.87,.7); +color White; White = (1,1,1); +color WhiteSmoke; WhiteSmoke = (.96,.96,.96); +color Yellow; Yellow = (1,1,0); +color YellowGreen; YellowGreen = (.604,.804,.196); +endinput diff --git a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl index 8d3876e23a..e7fa203f42 100644 --- a/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl +++ b/systems/texlive/tlnet/tlpkg/installer/ctan-mirrors.pl @@ -14,7 +14,6 @@ $mirrors = { }, 'Asia' => { 'China' => { - 'https://mirror.bjtu.edu.cn/CTAN/' => 1, 'https://mirrors.aliyun.com/CTAN/' => 1, 'https://mirrors.bfsu.edu.cn/CTAN/' => 1, 'https://mirrors.cqu.edu.cn/CTAN/' => 1, @@ -30,7 +29,6 @@ $mirrors = { 'https://mirror-hk.koddos.net/CTAN/' => 1, }, 'India' => { - 'http://ctan.imsc.res.in/' => 1, 'https://ims.jit.ac.in/repo/tex-archive/' => 1, }, 'Indonesia' => { @@ -42,12 +40,10 @@ $mirrors = { 'https://ctan.um.ac.ir/' => 1, }, 'Japan' => { - 'http://ftp.jaist.ac.jp/pub/CTAN/' => 1, 'https://ftp.kddilabs.jp/CTAN/' => 1, 'https://ftp.yz.yamagata-u.ac.jp/pub/CTAN/' => 1, }, 'Korea' => { - 'http://ftp.kaist.ac.kr/pub/tex-archive/' => 1, 'http://ftp.ktug.org/tex-archive/' => 1, 'http://mirror.kakao.com/CTAN/' => 1, 'https://ftp.harukasan.org/CTAN/' => 1, @@ -82,6 +78,7 @@ $mirrors = { 'France' => { 'https://ctan.crest.fr/tex-archive/' => 1, 'https://ctan.gutenberg.eu.org/' => 1, + 'https://ctan.mines-albi.fr/' => 1, 'https://ctan.tetaneutral.net/' => 1, 'https://distrib-coffee.ipsl.jussieu.fr/pub/mirrors/ctan/' => 1, 'https://mirror.ibcp.fr/pub/CTAN/' => 1, @@ -142,15 +139,11 @@ $mirrors = { 'Russia' => { 'http://ctan.altspu.ru/' => 1, 'http://mirror.macomnet.net/pub/CTAN/' => 1, - 'http://mirrors.mi.ras.ru/CTAN/' => 1, 'https://mirror.truenetwork.ru/CTAN/' => 1, }, 'Serbia' => { 'http://ctan.mirror.ftn.uns.ac.rs/' => 1, }, - 'Slovenia' => { - 'http://ctan.ijs.si/tex-archive/' => 1, - }, 'Spain' => { 'https://ctan.javinator9889.com/' => 1, 'https://osl.ugr.es/CTAN/' => 1, diff --git a/systems/texlive/tlnet/tlpkg/installer/wget/wget.universal-darwin b/systems/texlive/tlnet/tlpkg/installer/wget/wget.universal-darwin deleted file mode 100755 index bfc7fdec02..0000000000 Binary files a/systems/texlive/tlnet/tlpkg/installer/wget/wget.universal-darwin and /dev/null differ diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb b/systems/texlive/tlnet/tlpkg/texlive.tlpdb index 871ecce051..0902b72150 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb @@ -26,11 +26,11 @@ depend container_split_src_files/1 depend frozen/0 depend minrelease/2016 depend release/2021 -depend revision/58970 +depend revision/58977 name 00texlive.image category TLCore -revision 58965 +revision 58977 shortdesc TeX Live files only in the source repository longdesc The files here are not copied by the installer and containers longdesc are not built for them; they exist only in the source @@ -4378,7 +4378,7 @@ depend setting_available_architectures:aarch64-linux amd64-freebsd amd64-netbsd name 00texlive.installer category TLCore -revision 58946 +revision 58977 shortdesc TeX Live standalone installer package longdesc This package defines the files to go into the installer longdesc archives (install-tl-unx.tar.gz, install-tl.zip) built by the @@ -4428,8 +4428,7 @@ binfiles arch=i386-netbsd size=159 binfiles arch=i386-solaris size=162 tlpkg/installer/wget/wget.i386-solaris tlpkg/installer/xz/xz.i386-solaris -binfiles arch=universal-darwin size=350 - tlpkg/installer/wget/wget.universal-darwin +binfiles arch=universal-darwin size=107 tlpkg/installer/xz/xz.universal-darwin binfiles arch=win32 size=15632 install-tl-windows.bat @@ -37291,7 +37290,7 @@ catalogue-version 1.0 name biblatex-ext category Package -revision 58967 +revision 58975 shortdesc Extended BibLaTeX standard styles relocated 1 longdesc The BibLaTeX-ext bundle provides styles that slightly extend @@ -37301,10 +37300,10 @@ longdesc stylistic decisions made in the standard styles. At the same longdesc time they stay as close to their standard counterparts as longdesc possible, so that most customisation methods can be applied longdesc here as well. -containersize 26852 -containerchecksum 32c74c73f9a66432d5e233654a191530c4ef79014d6bc5583b46f3a4322d2f1d6103e76e444e8d1fdf5772b7434b2dddd8a509cf3d5359f92b7b91b8bda6b645 -doccontainersize 863864 -doccontainerchecksum 4c95b0fede04969821d1ffe9238201db6c3f68e18f446d903cc573f0ef2aeb84a48e03f1ae350f9fdb74470f1b34fa3715893f8ceb6335c55366e96e23f72050 +containersize 26848 +containerchecksum 5169ab48cfb03c1456fa16f63df4ba8f18dd909cabd247d7159cb9430cea0f16dbc6ce586840e54eff1c044c3a0711df65dd1f45374f53c601f2dcc10bed09ae +doccontainersize 864040 +doccontainerchecksum 4e013851c68bcd2f756f7bc910a048e400af66d40bfa0381a44c497200826ea98467a94429cb62b6c11ee9e75e6d40741453b2963051eee3afb2f2fb18e8c49c docfiles size=249 RELOC/doc/latex/biblatex-ext/CHANGES.md RELOC/doc/latex/biblatex-ext/README.md details="Readme" @@ -98462,15 +98461,15 @@ catalogue-topics notes editorial name easybook category Package -revision 58936 +revision 58976 shortdesc Typeset Chinese books or notes relocated 1 longdesc Easybook is a minimalist style template based on the ctexbook longdesc book document class. -containersize 12024 -containerchecksum c7214938fd3b36006e4a27b8a1a37643848adda757eac9297381d4dafc735750f2d0caa468c2cb69e9ab1cc159372fe0eb85190823a99525076828940af3d944 -doccontainersize 730124 -doccontainerchecksum d1c6e1ba45dc9851371e8f4973e485ec98f263c75450dc075252427aef951f08960ad69170ee5f685e6b2fa1007059bfc17d3564842b6d35e905af2afacdc126 +containersize 12068 +containerchecksum df59322106a2b95029cb332ac2dbde38943d3763835f6593d4356a74731aa8e55b4187ad137005e2cda79465fd1bb45bea78bd7d962a70bf32a2cf086a591f5d +doccontainersize 729948 +doccontainerchecksum 98a6ef797113338d7aea1ba21d08b5e08b2549a26f2d53a90e56b15b5e531fe239aba54e4a93d48d376a96ccdcac006a26fdcd6aa14f138337f83a69c6411013 docfiles size=186 RELOC/doc/latex/easybook/README.md details="Readme" RELOC/doc/latex/easybook/appendix.tex @@ -98481,8 +98480,8 @@ docfiles size=186 RELOC/doc/latex/easybook/easybook-demo.tex RELOC/doc/latex/easybook/easybook.pdf details="Package documentation" language="zh" RELOC/doc/latex/easybook/refs.bib -srccontainersize 25748 -srccontainerchecksum 806f9ffa950a826990d79c7dea1ad8d5609b2b1f827d1be4d22118df44c82e30da88b0f3794c636b6e5ed8aad10116aec857577dd684987a369225550f4a026a +srccontainersize 25792 +srccontainerchecksum 8cabacc8dc9326c70ea0abfa762043e225b04b4b3acb44dbdbdf05f87769731e28b3599e0d4b876ef701b4b8ae46f6f9f2252d2ff36521d1c606993fb3e8525e srcfiles size=27 RELOC/source/latex/easybook/easybook.dtx runfiles size=14 @@ -98492,7 +98491,7 @@ catalogue-contact-repository https://gitee.com/texl3/easybook catalogue-ctan /macros/latex/contrib/easybook catalogue-license cc-by-4 catalogue-topics book-pub class chinese expl3 -catalogue-version 1.24q +catalogue-version 1.24s name easyfig category Package @@ -249500,7 +249499,7 @@ catalogue-version 1.1 name profcollege category Package -revision 58818 +revision 58973 shortdesc A LaTeX package for French maths teachers in college relocated 1 longdesc This package provides some commands to help French mathematics @@ -249510,35 +249509,34 @@ longdesc \Pythagore{ABC}{5}{7} to write the entire calculation of AC longdesc with the Pythagorean theorem, \Trigo[Cosinus]{ABC}{3}{}{60} to longdesc write the entire calculation of AC with cosine, ... and some longdesc others. -containersize 83344 -containerchecksum ebefb401077adfafb3c51b415953a0ca69e93938379b415348d766281e08e8d205aafc8ef518c1b8649cc5bd30ab1337b601a6cb7b2a9fa8d09660fbe14e3b23 -doccontainersize 3890800 -doccontainerchecksum 57f75319d4812ec4565732f8bf3671393f13ca6fcbdf67bc21b82cdf6ec956edacf943a05eb0f3da9efe88d4fc0cfa9ced1471bd5500ab5779822a927223dff1 -docfiles size=1084 +containersize 79044 +containerchecksum 525848a236068fe342e994b9c122099a8f6ec5686bd8cca2f472715dca535457c6a0266f6e4907f9e73addc2b660bfc0bf131a151d4127a6d79a27ab3bfdda06 +doccontainersize 3913604 +doccontainerchecksum c2f78ea410f090a801ba7d59c8faf58b59e8bb45b345467813064caed7a77e4f79f17c1a651724f538560a4da5f97c25829e8187bdc721786f75308c74be2329 +docfiles size=1122 + RELOC/doc/latex/profcollege/PfCEquationComposition2.tex + RELOC/doc/latex/profcollege/PfCEquationLaurent1.tex + RELOC/doc/latex/profcollege/PfCEquationPose1.tex + RELOC/doc/latex/profcollege/PfCEquationSoustraction2.tex + RELOC/doc/latex/profcollege/PfCEquationSymbole1.tex + RELOC/doc/latex/profcollege/PfCEquationTerme1.tex RELOC/doc/latex/profcollege/ProfCollege-doc.pdf details="Package documentation" language="fr" RELOC/doc/latex/profcollege/ProfCollege-doc.zip RELOC/doc/latex/profcollege/README details="Readme" -runfiles size=234 - RELOC/metapost/profcollege/PfC-Afficheur.mp - RELOC/metapost/profcollege/PfC-Calculatrice.mp - RELOC/metapost/profcollege/PfC-Calculatriceold.mp - RELOC/metapost/profcollege/PfC-Constantes.mp - RELOC/metapost/profcollege/PfC-Geometrie.mp - RELOC/metapost/profcollege/PfC-LaTeX.mp - RELOC/metapost/profcollege/PfC-Scratch-pdf.mp - RELOC/metapost/profcollege/PfC-Scratch.mp - RELOC/metapost/profcollege/PfC-Svgnames.mp - RELOC/tex/latex/profcollege/PfC-EquationComposition2.tex - RELOC/tex/latex/profcollege/PfC-EquationLaurent1.tex - RELOC/tex/latex/profcollege/PfC-EquationPose1.tex - RELOC/tex/latex/profcollege/PfC-EquationSoustraction2.tex - RELOC/tex/latex/profcollege/PfC-EquationSymbole1.tex - RELOC/tex/latex/profcollege/PfC-EquationTerme1.tex +runfiles size=197 + RELOC/metapost/profcollege/PfCAfficheur.mp + RELOC/metapost/profcollege/PfCCalculatrice.mp + RELOC/metapost/profcollege/PfCConstantes.mp + RELOC/metapost/profcollege/PfCGeometrie.mp + RELOC/metapost/profcollege/PfCLaTeX.mp + RELOC/metapost/profcollege/PfCScratch.mp + RELOC/metapost/profcollege/PfCScratchpdf.mp + RELOC/metapost/profcollege/PfCSvgnames.mp RELOC/tex/latex/profcollege/ProfCollege.sty catalogue-ctan /macros/latex/contrib/profcollege catalogue-license lppl1.3c catalogue-topics maths french teaching -catalogue-version 0.99 +catalogue-version 0.99-a name program category Package @@ -298611,15 +298609,15 @@ docfiles size=619 name texlive-docindex category TLCore -revision 58946 +revision 58972 shortdesc top-level TeX Live doc.html, etc. longdesc These files are regenerated as needed, which is often, so we longdesc make them a separate package. See the tl-update-auto script for longdesc the process. containersize 388 -containerchecksum 27ff8ebcf3522f88667ad4f09dd8e27c9194a6e7e1ac7750b3801a96af2a1862646189f8d177e07f1f77baada186a3fd8dc72261b953123b6bff3651bf71517c -doccontainersize 174696 -doccontainerchecksum 9e0eb13526627484e0e60330c644da21a691eb808b76bec0b414fa703e43c24e43eda6c47a885a7796352a04246038e951291969ce14bc5da818b451a9f09a65 +containerchecksum 1688722df49a4eed069ea47966576cbe87fc56cf5fe89f2d6bdf03e260ca31ab0fbbd462c935025da685ef51f90192b66bb99caed29a3361fb51a2b2e9593247 +doccontainersize 174736 +doccontainerchecksum b4fd15bc02160677efebf4bc3c35367a3cd4a99d8630a4298c84259a7ed065d7f7c9b57169c5492eeec82d77467b17b677aa05efda5a63d2bd89d265dbf693e4 docfiles size=347 doc.html @@ -298846,7 +298844,7 @@ docfiles size=376 name texlive-scripts category TLCore -revision 58961 +revision 58972 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. @@ -298854,10 +298852,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 107116 -containerchecksum 4d264c5d0646800bab116fdee1eb0249645f4a60baa492389a941c25d2ea21960d40965e026966880417410897198c4194804a36d3de1299de859f67552fca8d -doccontainersize 212828 -doccontainerchecksum 29d8885ff8790fee7603bd9e0ed1f9f0042a061903b6d8e0e4e4e60cb119ad6a1baf02c5ca483251b35685da0639040e07154ac480b51a26f2c83fa83665fe79 +containersize 107084 +containerchecksum 8b26ceb2c800eef0543c1f619b56e4b6383b4fceb11fda5941922335ed1297e761476058051e3a925753153d4308c4809f3c4b339ddc6a0b0865f19fbd2fbdf4 +doccontainersize 212824 +doccontainerchecksum ccc62dcf0fc03adf5924e2963cc7cdcd0155c8387e7e672646c1b1a78d3720aeb03033464adc6967e09b2d239dc353418ad9a702ef20e90a80f61f62442a666f docfiles size=133 texmf-dist/doc/man/man1/fmtutil-sys.1 texmf-dist/doc/man/man1/fmtutil-sys.man1.pdf @@ -309106,23 +309104,23 @@ catalogue-topics chinese-doc name tlmgrbasics category Package -revision 56221 +revision 58974 shortdesc A simplified documentation for tlmgr relocated 1 longdesc This package provides simplified documentation for tlmgr, the longdesc TeX Live Manager. It describes the most commonly-used actions longdesc and options in a convenient format. -containersize 424 -containerchecksum d75c3eda16591cd7c6f3ba2e7e615a854d019ca850fa4d9428df9efe792764d885df642b65eb538b0bf6ecd9e4b5f4e41d82292647e24980b65987dfe7332ce0 -doccontainersize 150972 -doccontainerchecksum 4f9eb5189bdc3599e3b691ae69a5bb89894b9b60c7838772a41b9784a6a33323a634ac6892f88234762219fa99665a2079df5b0127d98bb396a66844ccf8cb11 +containersize 428 +containerchecksum d9acced3178fd2d81208b7b135decdff9bdadb719bf6e6139d1b0bf145c770659bbd9502d5ef6c517d8f69f3f806e0561d48ac8997ce3ce74debdb9ae3a527e1 +doccontainersize 151008 +doccontainerchecksum 3f5076aa8326467032eba7189bd6d5aa4b6797a21afef633974855654a64fe4e2d5502e7514092c1f1719dc982f8d19f02e514b1ba2023e72fcc8919e3dd05ac docfiles size=43 - RELOC/doc/latex/tlmgrbasics/README details="Readme" - RELOC/doc/latex/tlmgrbasics/tlmgr.pdf details="The document itself" - RELOC/doc/latex/tlmgrbasics/tlmgr.tex + RELOC/doc/support/tlmgrbasics/README details="Readme" + RELOC/doc/support/tlmgrbasics/tlmgr.pdf details="The document itself" + RELOC/doc/support/tlmgrbasics/tlmgr.tex catalogue-ctan /info/tlmgrbasics catalogue-license gpl2+ -catalogue-topics install-mgmt +catalogue-topics install-mgmt documentation name tlperl.win32 category TLCore diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 index 64a9dfc8d2..6180649978 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.md5 @@ -1 +1 @@ -ab43d7a1b1af525d5e00fc10c132f665 texlive.tlpdb +20a1bd4c99e4f7ab101cc67a81438100 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 index 879b077671..9e936d97a0 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512 @@ -1 +1 @@ -265a8cb91a78f8fbc842fcf5a04a9a5ccea6b53b11cbb16475027870287f85b15649f2900eb71184761b447255278b04243cf2e5621e4443f44d14cf7dd658d3 texlive.tlpdb +43b781f1bb858009fd8acc8bd42099f927889d39f2d12526bbb8c653118a3b09ffd6f5e166b8f63d8e7fe2ab5ed258bd69b95406563c64d13cb1e136a0f1ca20 texlive.tlpdb diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc index fac64a530b..3a0435e669 100644 --- a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc +++ b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.sha512.asc @@ -1,10 +1,10 @@ -----BEGIN PGP SIGNATURE----- -iQEcBAEBCgAGBQJgggylAAoJEEzhh34ZQ4xwVVQH/03+THlhgnkqM1431yyYBQfA -+Xh3tE+wBRliRMTG+iNili5tUuONAfH0pmfb4biQFaR6vuZRKYaSUEq0Jmz3qH3J -pEN1Pg31uR35JnXrr6WwyatIiwxfP7ngVp0i8EAtYnw+35i6OfYB+OnDOBVMHc6v -FKlVhPlj7c9fObc5x6dVIwKZ3dVlhY0M1CGzvO2p5PXyxQGJe+jpww9DlQkzCkMh -+SQ0/PncwONGzUrSYuhZZ0P36bSrU43oXVp5VEXCyII7ndj4iEqaI2/Gp0u+T/l4 -sx9kEO08BdpriRI0cxb+lv6Xyw0tIKgsC79C2NGMUo2mqAnDlDhOhmWW8/ESicE= -=Z9u3 +iQEcBAEBCgAGBQJgg15kAAoJEEzhh34ZQ4xw/YQIAJQfdEL096s9O4XWomXy6exI +QHyt+rEQzNwRB/ahpnLUJ375hYJzWlxc/o/gHZR71KrAW/O9e872G37WudHns1Lv +WRAiapQ2JvWFqxGawSM5gqBHm2AbchAw52T9w3C3J8dQp7FGp+GDK/v52wtN9G+i +1gHdPgVgXjhpO65rjyGluAk3V+leNRFB0j/mbpG1vZfaE9h6j7DxAl7XoVS4pBUc +5nbjQ0QKhhea1XqHuKvI9T7Ga/LmvHyT784rW7f40hBOis9di5v1342fwMpZT3PC +NFQyK4EglhqZEeeiTwxrRSajwgXp6mOqjAz80zqoR26R6XDPgDgnJIc4YKmsF5s= +=/QgF -----END PGP SIGNATURE----- diff --git a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz index 7f33d1e231..2cee6851b9 100644 Binary files a/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz and b/systems/texlive/tlnet/tlpkg/texlive.tlpdb.xz differ diff --git a/systems/win32/miktex/tm/packages/files.csv.lzma b/systems/win32/miktex/tm/packages/files.csv.lzma index 0c98d52d1a..3b3357744d 100644 Binary files a/systems/win32/miktex/tm/packages/files.csv.lzma and b/systems/win32/miktex/tm/packages/files.csv.lzma differ diff --git a/systems/win32/miktex/tm/packages/next/files.csv.lzma b/systems/win32/miktex/tm/packages/next/files.csv.lzma index 1645493be4..4975f1e180 100644 Binary files a/systems/win32/miktex/tm/packages/next/files.csv.lzma and b/systems/win32/miktex/tm/packages/next/files.csv.lzma differ diff --git a/systems/win32/miktex/tm/packages/next/pr.ini b/systems/win32/miktex/tm/packages/next/pr.ini index f132e81ef0..1e467bcc1d 100644 --- a/systems/win32/miktex/tm/packages/next/pr.ini +++ b/systems/win32/miktex/tm/packages/next/pr.ini @@ -1,13 +1,13 @@ [repository] -date=1619122533 +date=1619208996 lastupd=miktex-arctrl-bin-2.9 miktex-arctrl-bin-x64-2.9 miktex-asymptote-bin-2.9 miktex-asymptote-bin-x64-2.9 miktex-autosp-bin-2.9 miktex-autosp-bin-x64-2.9 miktex-axohelp-bin-2.9 miktex-axohelp-bin-x64-2.9 miktex-bibarts-bin-2.9 miktex-bibarts-bin-x64-2.9 miktex-bibtex-bin-2.9 miktex-bibtex-bin-x64-2.9 miktex-bibtex8bit-bin-2.9 miktex-bibtex8bit-bin-x64-2.9 miktex-bzip2-bin-2.9 miktex-bzip2-bin-x64-2.9 miktex-cairo-bin-2.9 miktex-cairo-bin-x64-2.9 miktex-chktex-bin-2.9 miktex-chktex-bin-x64-2.9 -lstdigest=5d370d19c9e8c1f63240e13d77248161 -numpkg=4087 +lstdigest=8a43dc72980c246bcbdabac02d324e54 +numpkg=4092 relstate=next -version=7782 +version=7783 ;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows. ;;;;-----BEGIN MIKTEX SIGNATURE----- -;;;; signature/miktex: JXxFQv//P4EnmXXy4vbCcp/8RIAMctK78f2pKTtBIA8tYeLKdVfRL55HaURA+T8765lts/k3gif8tEPnGCc7MIxTd/IPx66Upklz+j7le/JAHnqalwzCsWy10nSWW/GeECy/SR50Rs/9V6uBhvwRKfE37UeUnAHfDuXbTrCH1QAmNy6+zIGFla6cJKRjGysjmOdUiFjomodTAtjwWcbmd+MgpPtDcCaIB3l1kn3ndCWzPAHSFZLZZtuXC8IY447fS6/HPDPX29Mrw+Lj7fSwbDvLGh+Hwbc1lySlcsq50+yAgthZP4ECFvM9+0Ee3aF5/CvLCwcuT0za9vH9drJpFg== +;;;; signature/miktex: cPVXZGh+W6h4L1kL8aGT2Gp0NbyQCie7PYzlgT2fMmO8naKP76FkoTmj46vNIAzNFufKMtDsX5T5YjWYmWjVHozo3/rgty5XafXlwy8uDZr6F046/n2O4H7cZlzAcdxFyE0vEOx4LXpWI7yNcpkL8xPmeGLbC56JwfX5Bo9CPp4HQEmHXdFg1xy/NGUe3izHuqtouuC35Qz72fHWS8tCCZU6tu34f2VLdWsm7SeRsMU9OQejMi4mvabiGSS5jaarFCYW9fhVfhHuwVEvhvLFXx3Fj8PUFO4IjmLSA0QVfdkgqgzM3kpMrmPG+LVS6mfdJkwj5KHFC7PubDvJPcM2hA== ;;;;-----END MIKTEX SIGNATURE----- diff --git a/systems/win32/miktex/tm/packages/pr.ini b/systems/win32/miktex/tm/packages/pr.ini index 9783c30e16..a45c0136ed 100644 --- a/systems/win32/miktex/tm/packages/pr.ini +++ b/systems/win32/miktex/tm/packages/pr.ini @@ -1,13 +1,13 @@ [repository] -date=1619122305 -lastupd=acmart aomart apa7 babel babel-serbian babel-serbianc de-macro easybook expkv expkv-cs expkv-def haranoaji-extra langsci lwarp mathtools nicematrix nimbus15 ninecolors polexpr polyglossia -lstdigest=39f3788b3397214044e3105b49ecdff3 -numpkg=4087 +date=1619208696 +lastupd=acmart beamerswitch biblatex-ext biblatex-philosophy byo-twemojis circuitikz easybook erewhon erewhon-math fancypar figchild fontsize froufrou huawei inter latexmk luatexko mahjong mcf2graph optex +lstdigest=0fb17336548cca1b9cfd645a4edd9ad6 +numpkg=4092 relstate=stable -version=7782 +version=7783 ;;;;This configuration file is signed by a MiKTeX maintainer. The signature follows. ;;;;-----BEGIN MIKTEX SIGNATURE----- -;;;; signature/miktex: nnMztWPgPe1N0MBqkDrAwwW0MZjR9liYuFPXbRFRRCFrWgrNTU+62KlDCUm+O0IFs8O3r/omC5bPdtpKFAP3tcZnMI02ggXoApZ5JB5mHY1cAo8JnTxogf213HIkR94WmKIupkwftR2Pg1FoA7taeBxt6RWG8cj21btCBaCJBA4AZ5mvX5uKeuQNn6h6OWBbRKQVyV7B33tJv2zjtstsCchWt3YBgK5l7BFWpxFAiIOQ8CMhl9lyaAK09j4GaK5AFMILdqBzlwCg6QtIrMQHP5DAyYd9Sh5P4+jgT+2NBXY8WzcBdAOSGKdo+IDdNmn2sLDfWOlVcLYMFdvZYgZZ5A== +;;;; signature/miktex: b6uMNJhox2bdefJXN8o2XzIjAPr++XOY+PVXKpNydQ3qlrr49DFB/Sm2vJ7uhBQUCKXV29V+EnuWnf2Y0+vJ8hCgeSH0Ob0Er7a89rs29b+DUWWay4bLF7BLAQNaDC/kED6d/KYt9sYgEF8QwAhRzU1mMPsUqOHXsfJyT/SwYMMhma1TjfbILtDecLq/LCZ86+fq2LW62JQpXkt8AvmiwsbTqpYO5Yy6zJHrJdaFkicorOjGDpb+iFFQWnGZ1u29mIf1HyUbb0VjrYtzhHoLy5pnTlw5+1UM0QFN1mlihEUuUnKZJk0j9gqmGUEmJRcL7i/z/nSBPd2PdYjLxfhL4Q== ;;;;-----END MIKTEX SIGNATURE----- diff --git a/systems/win32/w32tex/ChangeLog b/systems/win32/w32tex/ChangeLog index 9ec13e9a51..2de7e7c636 100644 --- a/systems/win32/w32tex/ChangeLog +++ b/systems/win32/w32tex/ChangeLog @@ -1,5 +1,16 @@ W32TeX (x86 & x64) ChangeLog +[2021/04/23] +(01) biblatex-biber.tar.xz + Update biblatex-ext. +(02) context.tar.xz + ConTeXt version: 2021.04.21 11:36. + Update OpenSSL (3.0.0-alpha15) in curl.exe. +(03) tex4htk-w32.tar.xz + Update html4.4ht and listings.4ht. +(04) win64/context-w64.tar.xz + Update OpenSSL (3.0.0-alpha15) in curl.exe. + [2021/04/22] (01) luajittex-exp-w32.tar.xz Update luajittex.dll and luajithbtex.dll. diff --git a/timestamp b/timestamp index 12c78350c6..e1a13f1488 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: -2021-04-23-02-02 +2021-04-24-02-02 -- cgit v1.2.3