texlive[72159] Master/texmf-dist: customenvs (1sep24)
commits+karl at tug.org
commits+karl at tug.org
Sun Sep 1 22:46:28 CEST 2024
Revision: 72159
https://tug.org/svn/texlive?view=revision&revision=72159
Author: karl
Date: 2024-09-01 22:46:27 +0200 (Sun, 01 Sep 2024)
Log Message:
-----------
customenvs (1sep24)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf
trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex
trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf
trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex
trunk/Master/texmf-dist/doc/latex/customenvs/envtexo_exemples.pdf
trunk/Master/texmf-dist/doc/latex/customenvs/envtexo_exemples.tex
trunk/Master/texmf-dist/tex/latex/customenvs/customenvs.sty
Modified: trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex 2024-09-01 20:46:17 UTC (rev 72158)
+++ trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-en.tex 2024-09-01 20:46:27 UTC (rev 72159)
@@ -34,8 +34,8 @@
\usepackage[margin=1.5cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.2.0}
-\def\TPdate{26/08/2024}
+\def\TPversion{0.2.1}
+\def\TPdate{01/09/2024}
\usepackage{tcolorbox}
\sethlcolor{lightgray!25}
\NewDocumentCommand\MontreCode{ m }{%
@@ -111,8 +111,10 @@
\section{History}
-\verb|v0.1.9|~:~~~~Skills with stars (\textsf{fontawesome5} or \TikZ)
+\verb|v0.2.1|~:~~~Enhancements for \textit{stars skills} + AutoGrid for \TikZ\ (see \textsf{[fr]} doc)
+\verb|v0.2.0|~:~~~~Skills with stars (\textsf{fontawesome5} or \TikZ)
+
\verb|v0.1.9|~:~~~~Title banner
\verb|v0.1.8|~:~~~~Score banner
Modified: trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex 2024-09-01 20:46:17 UTC (rev 72158)
+++ trunk/Master/texmf-dist/doc/latex/customenvs/customenvs-doc-fr.tex 2024-09-01 20:46:27 UTC (rev 72159)
@@ -39,8 +39,8 @@
\usepackage[margin=1.5cm]{geometry}
\setlength{\parindent}{0pt}
-\def\TPversion{0.2.0}
-\def\TPdate{26 août 2024}
+\def\TPversion{0.2.1}
+\def\TPdate{01 septembre 2024}
\usepackage{tcolorbox}
\tcbuselibrary{listingsutf8}
\newtcblisting{DemoCode}[1]{%
@@ -66,10 +66,10 @@
keywordstyle={\color{violet}},%
classoffset=2,%
alsoletter={-},%
- morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt,\BandeauScore,\InsererImage,\tkzBannerTri,\NiveauDiffExos,\tkzEtoiles},%
+ morekeywords={\ReponsesQCM,MultiCols,\CreerListeItems,\ListeChoixItems,\TableauCompetences,\CrayonDeCompetences,\StyleEnvtExo,\StyleEnvtExoDefaut,\TitreExo,\ipsum,EnvSMS,\SMSrec,\SMSenv,BoiteSimple,\SujetTitreExo,\CircledNumber,\AffVignette,\BoiteArrondie,\ChangerDisplaySkip,\celcouleur,\celfusion,\lignetxt,\colonnetxt,\celnumbreak,\celtxt,\BandeauScore,\InsererImage,\tkzBannerTri,\NiveauDiffExos,\tkzEtoiles,\tkzGrilleAuto,\tkzAutoGridLocal,\tkzAutoGridActivate},%
keywordstyle={\color{green!50!black}},%
classoffset=3,%
- morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style,Dense,Avant,AvantS,Apres,ApresS,Global,align,width,Legende,CouleurFond,Hauteur,Ratio,AffLegende,Couleurs,EchelleSymboles,Symboles,vRemplir,vOffset,vCentrer,height,width,blockwidth,collight,colmedium,coldar,coltxt,fonttxt,swap,maincolor,logo,type,num,dispblock,customtype,Couleur,AlignV,Offset,NiveauMax},%
+ morekeywords={Largeur,Filets,EspacesCL,NbCols,Labels,PoliceLabels,EspaceLabels,Swap,Type,CoeffEspVert,EpTrait,Alea,LargeurNivs,Niveaux,NoticeNiveaux,Titre,PolTitre,PolNotice,PolComp,LigneSep,CouleurNotice,CouleurNiveaux,CouleurFond,Note,Notice,PoliceCateg,PoliceBloc,Couleurs,LargeurBloc,Echelle,NoirBlanc,Libelle,EpTrait,Police,Type,ComplementTitre,Titre,CodeDebut,Couleur,EchelleImage,Decoration,Trait,Avatar,AffAvatar,NoirBlanc,CouleurE,CouleurR,CouleurFond,Hauteur,Largeur,PoliceTxt,CouleurTitre,AlignH,bg,txt,bthick,bcol,raise,Type,EspH,Fond,Texte,Style,Dense,Avant,AvantS,Apres,ApresS,Global,align,width,Legende,CouleurFond,Hauteur,Ratio,AffLegende,Couleurs,EchelleSymboles,Symboles,vRemplir,vOffset,vCentrer,height,width,blockwidth,collight,colmedium,coldar,coltxt,fonttxt,swap,maincolor,logo,type,num,dispblock,customtype,Couleur,AlignV,Offset,NiveauMax,pasX,pasY,grilleauto},%
keywordstyle={\color{orange}}
},%
#1
@@ -149,6 +149,8 @@
\section{Historique}
+\verb|v0.2.1|~:~~~Amélioration de la gestion des étoiles pour des niveaux de difficultés + Grille auto pour \TikZ\
+
\verb|v0.2.0|~:~~~Étoiles pour des niveaux de difficultés (compatible avec \texttt{EnvtExo})
\verb|v0.1.9|~:~~~Bannière de titre + Insertion d'images en remplissage vertical
@@ -1520,4 +1522,86 @@
\InsererImage<vRemplir,vOffset=5mm,vCentrer=m>{example-image}
+\subsection{Grille automatique pour les environnements tikzpicture}
+
+L'idée est de proposer de quoi afficher, en \textit{surimpression}, une grille automatique sur une figure \MontreCode{tikzpicture}.
+
+Cela peut-être utile dans la construction de graphes ou de figures géométriques pour placer plus facilement des objets.
+
+\smallskip
+
+Il est possible de :
+
+\begin{itemize}
+ \item demander ponctuellement l'affichage avec une macro à placer en fin d'environnement ;
+ \item automatiser l'affichage pour une figure avec une \MontreCode{clé} et une macro locale ;
+ \item automatiser l'affichage pour toutes les figures avec une macro globale et une \MontreCode{clé}.
+\end{itemize}
+
+\textbf{\large Version manuelle}
+
+\begin{DemoCode}{listing only}
+%macro locale, utilisation ponctuelle
+\begin{tikzpicture}
+ %codes
+ \tkzGrilleAuto(*){pasX§pasY}
+\end{tikzpicture}
+\end{DemoCode}
+
+La version étoilée marque également l'origine $(0;0)$.
+
+L'argument obligatoire permet de spécifier les pas (\texttt{H§V}) pour la grille.
+
+\begin{DemoCode}{}
+\begin{tikzpicture}
+ %population
+ \draw[very thick,purple] (0,0) circle[x radius=3cm,y radius=2cm] ;
+ \draw[purple] (0.5,1.25) node[font=\small] {Population E} ;
+ %ss population
+ \draw[very thick,teal] (-0.75,-0.25) circle[x radius=1.75cm,y radius=1cm] ;
+ \draw[teal] (-0.75,-0.25) node[font=\small] {Sous-population A} ;
+ %grille auto manuelle, avec origine
+ \tkzGrilleAuto*{0.5§0.5}
+\end{tikzpicture}
+\end{DemoCode}
+
+\textbf{\large Version automatique locale, avec clé}
+
+\begin{DemoCode}{listing only}
+%clé locale, utilisation ponctuelle
+\begin{tikzpicture}[grilleauto=pasX§pasY]
+ \tkzAutoGridLocal(*)
+ %codes
+\end{tikzpicture}
+\end{DemoCode}
+
+La version étoilée marque également l'origine $(0;0)$.
+
+\begin{DemoCode}{}
+\begin{tikzpicture}[x=0.5cm,y=0.5cm,grilleauto=0.25§0.25]
+ %grille (qui sera affichée en dernier)
+ \tkzAutoGridLocal*
+ %triangle
+ \draw[very thick,red] (-4,-2)--(0,7)--(6,1)--cycle ;
+ %cercle
+ \draw[very thick,blue] (0,0) circle[radius=5] ;
+ %segment
+ \draw[very thick,orange] (-1.75,1.25)--(1,-7);
+\end{tikzpicture}
+\end{DemoCode}
+
+\textbf{\large Version automatique globale, avec clé}
+
+\begin{DemoCode}{listing only}
+%préambule, la commande sera active pour tous les environnements tikz
+\tkzAutoGridActivate(*)
+
+%document
+\begin{tikzpicture}[grilleauto=pasX§pasY]
+ %codes
+\end{tikzpicture}
+\end{DemoCode}
+
+La version étoilée marquera également l'origine $(0;0)$.
+
\end{document}
\ No newline at end of file
Modified: trunk/Master/texmf-dist/doc/latex/customenvs/envtexo_exemples.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/customenvs/envtexo_exemples.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/customenvs/envtexo_exemples.tex 2024-09-01 20:46:17 UTC (rev 72158)
+++ trunk/Master/texmf-dist/doc/latex/customenvs/envtexo_exemples.tex 2024-09-01 20:46:27 UTC (rev 72159)
@@ -15,7 +15,7 @@
\setlength{\parindent}{0pt}
\begin{document}
-
+
\pagestyle{empty}
\begin{EnvtExo}%exo1
@@ -42,7 +42,7 @@
\ipsum<Lang=FR,Type=sent>
\end{EnvtExo}
-\begin{EnvtExo}[Decoration=Image/goku_ssj4]%exo7
+\begin{EnvtExo}[Etoiles=2,Decoration=Image/goku_ssj4]%exo7
\ipsum<Lang=FR,Type=sent>
\end{EnvtExo}
@@ -50,25 +50,25 @@
\ipsum<Lang=FR,Type=sent>
\end{EnvtExo}
-\begin{EnvtExo}[Decoration=tkzEtoiles/3.5§5]%exo8
+\begin{EnvtExo}[Decoration=tkzEtoiles/3.5§5]%exo9
\ipsum<Lang=FR,Type=sent>
\end{EnvtExo}
-\begin{EnvtExo}[Decoration=Points/7]%exo9
+\begin{EnvtExo}[Decoration=Points/7]%exo10
\ipsum<Lang=FR,Type=sent>
\end{EnvtExo}
-\begin{EnvtExo}[Type=Perso/{Titre perso }]%exo10
+\begin{EnvtExo}[Type=Perso/{Titre perso },Etoiles={2.5§5}]%exo11
\ipsum<Lang=FR,Type=sent>
\end{EnvtExo}
-\StyleEnvtExo[Couleur=red,,CouleurDeco=teal,Police=\bfseries\ttfamily,EpTrait=2pt,Libelle={Exercice n°}]
+\StyleEnvtExo[Couleur=red,CouleurDeco=teal,Police=\bfseries\ttfamily,EpTrait=2pt,Libelle={Exercice n°}]
-\begin{EnvtExo}[Decoration=Icone/\faAddressBook]%exo11
+\begin{EnvtExo}[Decoration=Icone/\faAddressBook]%exo12
\ipsum<Lang=FR,Type=sent>
\end{EnvtExo}
-\begin{EnvtExo}[Type=Perso/{Titre perso },Decoration=Chrono/25,Trait=dashilles]%exo12
+\begin{EnvtExo}[Type=Perso/{Titre perso },Decoration=Chrono/25,Trait=dashilles,Etoiles=0.5]%exo13
\ipsum<Lang=FR,Type=sent>
\end{EnvtExo}
@@ -75,11 +75,11 @@
\StyleEnvtExoDefaut
\begin{EnvtExo}%
- [Type=Perso/{Titre perso~},Decoration=Image/goku_ssj4,Trait=non,Compteur=false]%exo13
+ [Type=Perso/{Titre perso~},Decoration=Image/goku_ssj4,Trait=non,Compteur=false]%exo14
\ipsum<Lang=FR,Type=sent>
\end{EnvtExo}
-\TitreExo[Type=Perso/{Annexe Exercice 3},Compteur=false,Decoration=Image/sseiya_aiolos]%exo14
+\TitreExo[Type=Perso/{Annexe Exercice 3},Compteur=false,Decoration=Image/sseiya_aiolos]%exo15
\ipsum<Lang=FR,Type=sent>
Modified: trunk/Master/texmf-dist/tex/latex/customenvs/customenvs.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/customenvs/customenvs.sty 2024-09-01 20:46:17 UTC (rev 72158)
+++ trunk/Master/texmf-dist/tex/latex/customenvs/customenvs.sty 2024-09-01 20:46:27 UTC (rev 72159)
@@ -3,9 +3,10 @@
% source pencil...: CC-BY-SA 4.0 https://tex.stackexchange.com/questions/504092/replicating-a-fancy-bordered-text-style-in-latex/504145#504145
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{customenvs}[2024/08/26 0.2.0 Custom classic environments]
+\ProvidesPackage{customenvs}[2024/09/01 0.2.1 Custom classic environments]
%====HISTORIQUE
+% v 0.2.1 Modification mineure de la gestion des étoiles tikz (baseline) + grille auto tikzpicture
% v 0.2.0 Ajout d'étoiles pour les difficultés d'exercices (2 versions)
% v 0.1.9 tkzBanner + tkzBannerTri + includegraphicsfill
% v 0.1.8 Nutriscore
@@ -712,10 +713,11 @@
\setKV[levelstars]{#1}%
%dimensions
\settototalheight{\tmphauteuretoiles}{\hbox{azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN}}%
+ \setlength{\tmphauteuretoiles}{0.95\tmphauteuretoiles}%
\ifboolKV[levelstars]{valign}%
{%
\settodepth{\tmpprofondeuretoiles}{\hbox{azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN}}%
- \begin{tikzpicture}[baseline={-\tmpprofondeuretoiles},fill=\tkzLevelStarsColorBg,draw=\tkzLevelStarsColor,rounded corners={0.05\tmphauteuretoiles},line width={0.04\tmphauteuretoiles}]
+ \begin{tikzpicture}[baseline={-1.25\tmpprofondeuretoiles},fill=\tkzLevelStarsColorBg,draw=\tkzLevelStarsColor,rounded corners={0.05\tmphauteuretoiles},line width={0.04\tmphauteuretoiles}]
}%
{%
\begin{tikzpicture}[fill=\tkzLevelStarsColorBg,draw=\tkzLevelStarsColor,rounded corners={0.05\tmphauteuretoiles},line width={0.04\tmphauteuretoiles}]
@@ -749,10 +751,11 @@
\setKV[tkznivetoiles]{#1}%
%dimensions
\settototalheight{\tmphauteuretoiles}{\hbox{azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN}}%
+ \setlength{\tmphauteuretoiles}{0.95\tmphauteuretoiles}%
\ifboolKV[tkznivetoiles]{AlignV}%
{%
\settodepth{\tmpprofondeuretoiles}{\hbox{azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN}}%
- \begin{tikzpicture}[baseline={-\tmpprofondeuretoiles},fill=\tkzLevelStarsColorBg,draw=\tkzLevelStarsColor,rounded corners={0.05\tmphauteuretoiles},line width={0.04\tmphauteuretoiles}]
+ \begin{tikzpicture}[baseline={-1.25\tmpprofondeuretoiles},fill=\tkzLevelStarsColorBg,draw=\tkzLevelStarsColor,rounded corners={0.05\tmphauteuretoiles},line width={0.04\tmphauteuretoiles}]
}%
{%
\begin{tikzpicture}[fill=\tkzLevelStarsColorBg,draw=\tkzLevelStarsColor,rounded corners={0.05\tmphauteuretoiles},line width={0.04\tmphauteuretoiles}]
@@ -876,7 +879,8 @@
CodeDebut=\def\EnvtExoCodeAvant{#1},%
EchelleImage=\def\EnvtExoScaleImg{#1},%
Decoration=\def\EnvtExoDeco{#1},%
- Trait=\def\EnvtExoTrait{#1}
+ Trait=\def\EnvtExoTrait{#1},%
+ Etoiles=\def\EnvtExoEtoiles{#1}
}
\setKVdefault[EnvtExercice]{
Type=Classique,%
@@ -885,7 +889,8 @@
EchelleImage=1.15,%
Compteur=true,%
Decoration={},%
- Trait=plein
+ Trait=plein,%
+ Etoiles={}
}
\NewDocumentEnvironment{EnvtExo}{ !O{} }%
@@ -900,6 +905,19 @@
{%
%label avec numéro et complément
\tmpstyleexo\tmplabelexo\ifboolKV[EnvtExercice]{Compteur}{\thenumeroexo}{}\EnvtExoCpltTitre%
+ %étoiles eventuelles
+ \IfStrEq{\EnvtExoEtoiles}{}{}%
+ {%
+ \,(\IfSubStr{\EnvtExoEtoiles}{§}%
+ {%
+ \StrCut{\EnvtExoEtoiles}{§}{\EnvtExoStarNb}{\EnvtExoStarTot}%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond,NiveauMax=\EnvtExoStarTot]{\EnvtExoStarNb}%
+ }%
+ {%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond]{\EnvtExoEtoiles}%
+ }%
+ )%
+ }%
%trait éventuel
\IfStrEqCase{\EnvtExoTrait}{%
{plein}{\,\hrulefill}%
@@ -966,6 +984,19 @@
\StrBehind{\EnvtExoType}{/}[\EnvtExoLabel]%
%label avec numéro et complément
\tmpstyleexo\EnvtExoLabel\ifboolKV[EnvtExercice]{Compteur}{\thenumeroexo}{}\EnvtExoCpltTitre%
+ %étoiles eventuelles
+ \IfStrEq{\EnvtExoEtoiles}{}{}%
+ {%
+ \,(\IfSubStr{\EnvtExoEtoiles}{§}%
+ {%
+ \StrCut{\EnvtExoEtoiles}{§}{\EnvtExoStarNb}{\EnvtExoStarTot}%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond,NiveauMax=\EnvtExoStarTot]{\EnvtExoStarNb}%
+ }%
+ {%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond]{\EnvtExoEtoiles}%
+ }%
+ )%
+ }%
%trait éventuel
\IfStrEqCase{\EnvtExoTrait}{%
{plein}{\,\hrulefill}%
@@ -1044,6 +1075,19 @@
{%
%label avec numéro et complément
\tmpstyleexo\tmplabelexo\ifboolKV[EnvtExercice]{Compteur}{\thenumeroexo}{}\EnvtExoCpltTitre%
+ %étoiles eventuelles
+ \IfStrEq{\EnvtExoEtoiles}{}{}%
+ {%
+ \,(\IfSubStr{\EnvtExoEtoiles}{§}%
+ {%
+ \StrCut{\EnvtExoEtoiles}{§}{\EnvtExoStarNb}{\EnvtExoStarTot}%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond,NiveauMax=\EnvtExoStarTot]{\EnvtExoStarNb}%
+ }%
+ {%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond]{\EnvtExoEtoiles}%
+ }%
+ )%
+ }%
%trait éventuel
\IfStrEqCase{\EnvtExoTrait}{%
{plein}{\,\hrulefill}%
@@ -1079,6 +1123,30 @@
\settototalheight{\tmp at image@hauteur at totale}{\hbox{\tmpstyleexo qB}}%
\,$\vcenter{\hbox{\includegraphics[height=\EnvtExoScaleImg\tmp at image@hauteur at totale]{\EnvtExoImg}}}$%
}{}%
+ \IfSubStr{\EnvtExoDeco}{faEtoiles}%
+ {%
+ \StrBehind{\EnvtExoDeco}{/}[\EnvtExoStars]%
+ \IfSuStr{\EnvtExoStars}{§}%
+ {%
+ \StrCut{\EnvtExoStars}{§}{\EnvtExoStarNb}{\EnvtExoStarTot}%
+ \textcolor{macouleurexodeco}{\scalebox{\tmpscalestarsexos}[\tmpscalestarsexos]{\NiveauDiffExos[\EnvtExoStarTot]{\EnvtExoStarNb}}}%
+ }%
+ {%
+ \textcolor{macouleurexodeco}{\scalebox{\tmpscalestarsexos}[\tmpscalestarsexos]{\NiveauDiffExos{\EnvtExoStars}}}%
+ }%
+ }{}%
+ \IfSubStr{\EnvtExoDeco}{tkzEtoiles}%
+ {%
+ \StrBehind{\EnvtExoDeco}{/}[\EnvtExoStars]%
+ \IfSubStr{\EnvtExoStars}{§}%
+ {%
+ \StrCut{\EnvtExoStars}{§}{\EnvtExoStarNb}{\EnvtExoStarTot}%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond,NiveauMax=\EnvtExoStarTot]{\EnvtExoStarNb}%
+ }%
+ {%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond]{\EnvtExoStars}%
+ }%
+ }{}%
}{}%
\IfSubStr{\EnvtExoType}{Perso}%OK perso____déco
{%
@@ -1085,6 +1153,19 @@
\StrBehind{\EnvtExoType}{/}[\EnvtExoLabel]%
%label avec numéro et complément
\tmpstyleexo\EnvtExoLabel\ifboolKV[EnvtExercice]{Compteur}{\thenumeroexo}{}\EnvtExoCpltTitre%
+ %étoiles eventuelles
+ \IfStrEq{\EnvtExoEtoiles}{}{}%
+ {%
+ \,(\IfSubStr{\EnvtExoEtoiles}{§}%
+ {%
+ \StrCut{\EnvtExoEtoiles}{§}{\EnvtExoStarNb}{\EnvtExoStarTot}%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond,NiveauMax=\EnvtExoStarTot]{\EnvtExoStarNb}%
+ }%
+ {%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond]{\EnvtExoEtoiles}%
+ }%
+ )%
+ }%
%trait éventuel
\IfStrEqCase{\EnvtExoTrait}{%
{plein}{\,\hrulefill}%
@@ -1120,6 +1201,30 @@
\settototalheight{\tmp at image@hauteur at totale}{\hbox{\tmpstyleexo qB}}%
\,$\vcenter{\hbox{\includegraphics[height=\EnvtExoScaleImg\tmp at image@hauteur at totale]{\EnvtExoImg}}}$%
}{}%
+ \IfSubStr{\EnvtExoDeco}{faEtoiles}%
+ {%
+ \StrBehind{\EnvtExoDeco}{/}[\EnvtExoStars]%
+ \IfSuStr{\EnvtExoStars}{§}%
+ {%
+ \StrCut{\EnvtExoStars}{§}{\EnvtExoStarNb}{\EnvtExoStarTot}%
+ \textcolor{macouleurexodeco}{\scalebox{\tmpscalestarsexos}[\tmpscalestarsexos]{\NiveauDiffExos[\EnvtExoStarTot]{\EnvtExoStarNb}}}%
+ }%
+ {%
+ \textcolor{macouleurexodeco}{\scalebox{\tmpscalestarsexos}[\tmpscalestarsexos]{\NiveauDiffExos{\EnvtExoStars}}}%
+ }%
+ }{}%
+ \IfSubStr{\EnvtExoDeco}{tkzEtoiles}%
+ {%
+ \StrBehind{\EnvtExoDeco}{/}[\EnvtExoStars]%
+ \IfSubStr{\EnvtExoStars}{§}%
+ {%
+ \StrCut{\EnvtExoStars}{§}{\EnvtExoStarNb}{\EnvtExoStarTot}%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond,NiveauMax=\EnvtExoStarTot]{\EnvtExoStarNb}%
+ }%
+ {%
+ \tkzEtoiles[Couleur=macouleurexodeco,CouleurFond=macouleurexodecofond]{\EnvtExoStars}%
+ }%
+ }{}%
}{}%
\endgroup%
\def\hrulefill{\leavevmode\leaders\hrule height 0.4pt\hfill\kern\z@}%
@@ -2569,5 +2674,43 @@
\end{tikzpicture}%
}
+%====grille automatique tikz ?
+\NewDocumentCommand\tkzGrilleAuto{ s O{thin,lightgray} m }{%
+ \IfBooleanT{#1}{\filldraw (0,0) circle[radius=2pt] ;}
+ \StrCut{#3}{§}{\tkzautogridx}{\tkzautogridy}%
+ \draw[xstep=\tkzautogridx,ystep=\tkzautogridy,#2] (current bounding box.south west) grid (current bounding box.north east) ;
+}
+\NewDocumentCommand\tkzAutoGrid{ s O{thin,lightgray} m }{%
+ \IfBooleanT{#1}{\filldraw (0,0) circle[radius=2pt] ;}
+ \StrCut{#3}{§}{\tkzautogridx}{\tkzautogridy}%
+ \draw[xstep=\tkzautogridx,ystep=\tkzautogridy,#2] (current bounding box.south west) grid (current bounding box.north east) ;
+}
+\tikzset{grilleauto/.store in=\tkzautogrid,grilleauto/.default={},grilleauto={}}
+\tikzset{autogrid/.store in=\tkzautogrid,autogrid/.default={},autogrid={}}
+
+\NewDocumentCommand\tkzAutoGridActivate{ s }{%
+ \@ifundefined{tkzautogrid}%
+ {}%
+ {%
+ \tikzset{every picture/.style={%
+ execute at end picture={%
+ \IfEq{\tkzautogrid}{}{}{\IfBooleanTF{#1}{\tkzGrilleAuto*{\tkzautogrid}}{\tkzGrilleAuto{\tkzautogrid}}}%
+ },
+ },
+ }%
+ }%
+}
+
+\NewDocumentCommand\tkzAutoGridLocal{ s }{%
+ \@ifundefined{tkzautogrid}%
+ {}%
+ {%
+ \tikzset{execute at end picture={%
+ \IfEq{\tkzautogrid}{}{}{\IfBooleanTF{#1}{\tkzGrilleAuto*{\tkzautogrid}}{\tkzGrilleAuto{\tkzautogrid}}}%
+ },
+ },
+ }%
+}
+
\endinput
\ No newline at end of file
More information about the tex-live-commits
mailing list.