Advertisement
cpierquet

PLmoustaches

Sep 4th, 2022
1,945
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Latex 3.30 KB | None | 0 0
  1. %=============BOITES MOUSTACHES======== OK !!
  2. \defKV[boiteamoustaches]{%
  3.     parametres=\def\BaMListe{#1},%
  4.     couleur=\def\BaMCouleur{#1},%
  5.     elevation=\def\BaMElevation{#1},%
  6.     hauteur=\def\BaMHauteur{#1},%
  7.     moyenne=\def\BaMMoyenne{#1},%
  8.     epaisseur=\def\BaMEpaisseur{#1},%
  9.     remplir=\def\BaMRemplissage{#1}
  10. }
  11.  
  12. \setKVdefault[boiteamoustaches]{%
  13.     couleur=black,%
  14.     elevation=1,%
  15.     hauteur=1,%
  16.     affmoyenne=false,%
  17.     epaisseur=thick,%
  18.     pointilles=false,%
  19.     valeurs=false,%
  20.     remplir=white
  21. }
  22.  
  23. \defKV[boiteamoustachesaxe]{%
  24.     min=\def\BaMAxeMin{#1},%
  25.     max=\def\BaMAxeMax{#1},%
  26.     elargir=\def\BaMAxeElarg{#1},%
  27.     epaisseur=\def\BaMAxeEpaisseur{#1},%
  28.     valeurs=\def\BaMAxeValeurs{#1}
  29. }
  30.  
  31. \setKVdefault[boiteamoustachesaxe]{%
  32.     elargir=0.05,%
  33.     epaisseur=thick,%
  34.     affvaleurs=false
  35. }
  36.  
  37. \newcommand\PLboitemoustaxe[1][]{
  38.     \useKVdefault[boiteamoustachesaxe]
  39.     \setKV[boiteamoustachesaxe]{#1}
  40.     \def\BaMaxelargeur{\fpeval{\BaMAxeMax-\BaMAxeMin}}
  41.     \def\BaMaxexmin{\fpeval{\BaMAxeMin-\BaMAxeElarg*\BaMaxelargeur}}
  42.     \def\BaMaxexmax{\fpeval{\BaMAxeMax+\BaMAxeElarg*\BaMaxelargeur}}
  43.     \draw[\BaMAxeEpaisseur,->] (\BaMaxexmin,0) -- (\BaMaxexmax,0) ;
  44.     \ifboolKV[boiteamoustachesaxe]{affvaleurs}
  45.     {\foreach \x in \BaMAxeValeurs \draw[\BaMAxeEpaisseur] (\x,3pt)--(\x,-3pt) node[below=3pt] {\num{\x}} ;}
  46.     {}
  47. }
  48.  
  49. \newcommand\PLboitemoust[1][]{
  50.     \useKVdefault[boiteamoustaches]
  51.     \setKV[boiteamoustaches]{#1}
  52.     \setsepchar[.]{/}%
  53.     \readlist*\BaMListeparams\BaMListe%
  54.     \itemtomacro\BaMListeparams[1]\BaMmin%
  55.     \itemtomacro\BaMListeparams[2]\BaMqu%
  56.     \itemtomacro\BaMListeparams[3]\BaMmed%
  57.     \itemtomacro\BaMListeparams[4]\BaMqt%
  58.     \itemtomacro\BaMListeparams[5]\BaMmax%
  59.     \draw[draw,\BaMEpaisseur,\BaMCouleur,fill=\BaMRemplissage] ({\BaMqu},{\BaMElevation-0.5*\BaMHauteur}) rectangle ({\BaMqt},{\BaMElevation+0.5*\BaMHauteur}) ;
  60.     \draw[\BaMEpaisseur,\BaMCouleur] (\BaMmin,{\BaMElevation-0.5*\BaMHauteur})--(\BaMmin,{\BaMElevation+0.5*\BaMHauteur}) (\BaMmax,{\BaMElevation-0.5*\BaMHauteur})--(\BaMmax,{\BaMElevation+0.5*\BaMHauteur}) (\BaMmed,{\BaMElevation-0.5*\BaMHauteur})--(\BaMmed,{\BaMElevation+0.5*\BaMHauteur});
  61.     \draw[\BaMEpaisseur,\BaMCouleur] ({\BaMmin},{\BaMElevation})--({\BaMqu},{\BaMElevation}) ({\BaMqt},{\BaMElevation})--({\BaMmax},{\BaMElevation}) ;
  62.     \ifboolKV[boiteamoustaches]{affmoyenne}
  63.     {\filldraw[\BaMCouleur] ({\BaMMoyenne},{\BaMElevation}) circle[radius=2.5pt] ;}
  64.     {}
  65.     \ifboolKV[boiteamoustaches]{pointilles}
  66.     {
  67.         \draw[\BaMEpaisseur,densely dashed] (\BaMmin,{\BaMElevation-0.5*\BaMHauteur}) -- (\BaMmin,0) ;
  68.         \draw[\BaMEpaisseur,densely dashed] (\BaMqu,{\BaMElevation-0.5*\BaMHauteur}) -- (\BaMqu,0) ;
  69.         \draw[\BaMEpaisseur,densely dashed] (\BaMmed,{\BaMElevation-0.5*\BaMHauteur}) -- (\BaMmed,0) ;
  70.         \draw[\BaMEpaisseur,densely dashed] (\BaMqt,{\BaMElevation-0.5*\BaMHauteur}) -- (\BaMqt,0) ;
  71.         \draw[\BaMEpaisseur,densely dashed] (\BaMmax,{\BaMElevation-0.5*\BaMHauteur}) -- (\BaMmax,0) ;
  72.     }
  73.     {}
  74.     \ifboolKV[boiteamoustaches]{valeurs}
  75.     {
  76.         \filldraw (\BaMmin,0) circle[radius=2pt] node[below=4pt] {\num{\BaMmin}} ;
  77.         \filldraw (\BaMqu,0) circle[radius=2pt] node[below=4pt] {\num{\BaMqu}} ;
  78.         \filldraw (\BaMmed,0) circle[radius=2pt] node[below=4pt] {\num{\BaMmed}} ;
  79.         \filldraw (\BaMqt,0) circle[radius=2pt] node[below=4pt] {\num{\BaMqt}} ;
  80.         \filldraw (\BaMmax,0) circle[radius=2pt] node[below=4pt] {\num{\BaMmax}} ;
  81.     }
  82.     {}
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement