summaryrefslogtreecommitdiff
path: root/graphics/pgf
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-06-27 03:00:56 +0000
committerNorbert Preining <norbert@preining.info>2023-06-27 03:00:56 +0000
commita0b68c12d9e67182560eb31f202f3e86f0e4a5de (patch)
tree5d0d249a669c45205fc467d62bd18d5edb2ae3ae /graphics/pgf
parenta2ebe77da32f4499676953174f774795b0d054fb (diff)
CTAN sync 202306270300
Diffstat (limited to 'graphics/pgf')
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdfbin611341 -> 692493 bytes
-rw-r--r--graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex173
-rw-r--r--graphics/pgf/contrib/profsio/tex/ProfSio.sty100
-rw-r--r--graphics/pgf/contrib/rouequestions/README.txt11
-rw-r--r--graphics/pgf/contrib/rouequestions/doc/RoueQuestionsDoc.pdfbin0 -> 125630 bytes
-rw-r--r--graphics/pgf/contrib/rouequestions/doc/RoueQuestionsDoc.tex176
-rw-r--r--graphics/pgf/contrib/rouequestions/doc/sample.pngbin0 -> 79796 bytes
-rw-r--r--graphics/pgf/contrib/rouequestions/tex/RoueQuestions.sty61
8 files changed, 497 insertions, 24 deletions
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
index c8f5ee5651..e90084029e 100644
--- a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
index 11f39a3624..ac11dc168a 100644
--- a/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
+++ b/graphics/pgf/contrib/profsio/doc/ProfSio-doc-fr.tex
@@ -4,8 +4,8 @@
\documentclass[french,a4paper,11pt]{article}
\usepackage[margin=2cm,includefoot]{geometry}
-\def\TPversion{0.1.0}
-\def\TPdate{23 juin 2023}
+\def\TPversion{0.1.1}
+\def\TPdate{26 juin 2023}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb}
@@ -79,10 +79,10 @@
keywordstyle={\color{violet}},%
classoffset=2,%
alsoletter={-},%
- morekeywords={\MPMPlaceTache,\MPMPlaceNotice,\MPMPlaceDuree,GrapheMPM,TableKarnaugh,\KarnaughCasesResult,\KarnaughBlocRegroup,\MPMPlaceTaches,\MPMPlaceDurees,GrapheTikz,\GrphPlaceSommets,\GrphTraceAretes,\tikzset},%
+ morekeywords={\MPMPlaceTache,\MPMPlaceNotice,\MPMPlaceDuree,GrapheMPM,TableKarnaugh,\KarnaughCasesResult,\KarnaughBlocRegroup,\MPMPlaceTaches,\MPMPlaceDurees,GrapheTikz,\GrphPlaceSommets,\GrphTraceAretes,\tikzset,\DiagrammeSagittal,\draw},%
keywordstyle={\color{green!50!black}},%
classoffset=3,%
- morekeywords={CouleurDurees,CouleurFleches,LargeurCases,Epaisseur,Police,CouleurDates,CouleurBords,NoirBlanc,Grille,DecalHorizDeb,DecalVertDeb,DecalHorizFin,DecalVertFin,Coude,SensCoude,Unite,Variables,Swap,Aide,CouleurCases,Decalage,Couleur,Type,Legende,PosVarLaterale,CouleurLegende,CouleurSommets,TypeSommets,Unite,CouleurFT,DimensionSommets,PositionFleches,EchelleFleches,TypeFleche,Droit,Milieu,AngleGauche,AngleDroite,Boucle,GrphStyleArc,GrphStyleSommet,Poids,GrphStylepoids},%
+ morekeywords={CouleurDurees,CouleurFleches,LargeurCases,Epaisseur,Police,CouleurDates,CouleurBords,NoirBlanc,Grille,DecalHorizDeb,DecalVertDeb,DecalHorizFin,DecalVertFin,Coude,SensCoude,Unite,Variables,Swap,Aide,CouleurCases,Decalage,Couleur,Type,Legende,PosVarLaterale,CouleurLegende,CouleurSommets,TypeSommets,Unite,CouleurFT,DimensionSommets,PositionFleches,EchelleFleches,TypeFleche,Droit,Milieu,AngleGauche,AngleDroite,Boucle,GrphStyleArc,GrphStyleSommet,Poids,GrphStylepoids,DistElem,DistEns,LargEns,NomAppli,CouleurE,CouleurAppli,CouleurF,CouleurFleches,TypeFleche,Epaisseur,Labels,Ensembles,PosLabels,PoliceLabels},%
keywordstyle={\color{orange}}
},%
#1
@@ -126,6 +126,8 @@
{\Huge \texttt{ProfSio} [fr]}\\
\\
{\LARGE Des outils pour les Maths en BTS SIO.} \\
+ \\
+ {\large (Services Informatiques aux Organisations)}
\end{tabular}
\bigskip
@@ -144,22 +146,26 @@
\end{tabular}
\end{center}
-\vspace{0.25cm}
+\vspace{0.15cm}
+
+{$\blacktriangleright$~~Commandes spécifiques pour le programme de Mathématiques en BTS SIO\footnotemark\footnotetext{Brevet de Technicien Supérieur - Services Informatiques aux Organisations : \href{https://www.letudiant.fr/etudes/bts/bts-sio-services-informatiques-aux-organisations.html}{[Lien]} sur le site de L'Étudiant}.}
+
+\vspace{0.15cm}
-{$\blacktriangleright$~~Créer des diagrammes MPM (de manière manuelle, pas de calculs ou placements automatiques).}
+{$\blacktriangleright$~~Créer des diagrammes MPM\footnotemark\footnotetext{Méthode des Potentiels Métra : \href{https://fr.wikipedia.org/wiki/Méthode_des_potentiels_métra}{[Lien]} sur le site de Wikipedia} (Méthode des Potentiels Métra).}
-\vspace{0.25cm}
+\vspace{0.15cm}
{$\blacktriangleright$~~Créer des tables de Karnaugh avec mise en valeur (manuelle) des regroupements.}
-\vspace{0.25cm}
+\vspace{0.15cm}
-{$\blacktriangleright$~~Créer des graphes simples.}
+{$\blacktriangleright$~~Créer des graphes simples ou des diagrammes sagittaux.
\vspace{1cm}
\hfill
-\begin{GrapheMPM}[LargeurCases=0.5cm]
+\begin{GrapheMPM}[LargeurCases=0.5cm]<scale=0.9>
%NOTICE
\MPMPlaceNotice(1,6.5)
%SOMMETS
@@ -189,7 +195,7 @@
\hfill~
\hfill
-\begin{TableKarnaugh}
+\begin{TableKarnaugh}<scale=0.9>
\KarnaughCasesResult{0,1,1,0,1,1,1,1}
\KarnaughBlocRegroup[Type=Centre,Couleur=blue!75,Decalage=-1.5pt]{10}{32}
\KarnaughBlocRegroup[Type=Gauche,Couleur=red!75,Decalage=-1.5pt]{00}{11}
@@ -206,7 +212,7 @@
\vspace{0.5cm}
\hfill
-\begin{GrapheTikz}[Unite=0.75cm,CouleurSommets={gray/blue},Epaisseur={very thick/thick},CouleurFleches=orange]
+\begin{GrapheTikz}[Unite=0.75cm,CouleurSommets={gray/blue},Epaisseur={very thick/thick},CouleurFleches=orange]<scale=0.9>
\GrphPlaceSommets{(5,4)/A (2,2)/B (9,3)/C}
\GrphTraceAretes{A/B}
\GrphTraceAretes[AngleGauche]{C/A}
@@ -214,20 +220,22 @@
\GrphTraceAretes[Boucle=4]{A/45 B/135 C/-45}
\end{GrapheTikz}
\hfill~
+\DiagrammeSagittal[Labels=false,E={a,b,c},F={A,C,H,P},Labels=false]{a/A,a/P,b/H,b/P,c/C}
+\hfill~
%%\hfill{}\textit{Merci à Patrick Bideault pour ses retours et conseils !}
-\vfill
-
-\hrule
-
-\medskip
-
-\TableauDocumentation
-
-\medskip
-
-\hrule
+%\vfill
+%
+%\hrule
+%
+%\medskip
+%
+%\TableauDocumentation
+%
+%\medskip
+%
+%\hrule
\newpage
@@ -240,6 +248,8 @@
\section{Historique}
+\verb|v0.1.1|~:~~~~Mise à jour de la documentation + Diagrammes sagittaux.
+
\verb|v0.1.0|~:~~~~Version initiale.
\newpage
@@ -994,4 +1004,121 @@ Pour marquer une fermeture transitive, on peut utiliser le style \verb|FT| dans
\end{GrapheTikz}
\end{DemoCode}
+\pagebreak
+
+\section{Diagrammes sagittaux}
+
+\subsection{Commande et fonctionnement global}
+
+\begin{cautionblock}
+La commande dédiée à la création d'un diagramme sagittal pour une application est \motcletex!\DiagrammeSagittal!.
+
+Le diagramme créé est réalisé avec un environnement \motcletex!tikzpicture!.
+\end{cautionblock}
+
+\begin{DemoCode}[listing only]
+%commande autonome
+\DiagrammeSagittal[clés]<options tikz>{liaisons}
+
+%commande à insérer dans un environnement tikzpicture
+\begin{tikzpicture}
+ \DiagrammeSagittal*[clés]{liaisons}
+\end{tikzpicture}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\DiagrammeSagittal[E={a,b,c},F={A,C,H,P}]{a/A,a/P,b/H,b/P,c/C}
+\end{DemoCode}
+
+\begin{warningblock}
+La majorité des paramètres sont personnalisables, mais le \textit{thème} général est globalement \textit{fixé}, dans le sens où ce sont les éléments \textit{cosmétiques} qui pourront être modifiés.
+
+\smallskip
+
+La commande de création de \packagetex!ProfSio! est volontairement pour des applications basiques, dans l'optique de travailler avec exemples en adéquation avec le programme de BTS SIO.
+\end{warningblock}
+
+\subsection{Arguments et clés}
+
+\begin{DemoCode}[listing only]
+\DiagrammeSagittal[clés]<options tikz>{liaisons}
+
+\begin{tikzpicture}
+ \DiagrammeSagittal*[clés]{liaisons}
+\end{tikzpicture}
+\end{DemoCode}
+
+\begin{noteblock}
+Le code se charge, grâce aux \Cle{clés}, de positionner et d'aligner les éléments des ensembles et les flèches.
+
+De ce fait, les \textit{écarts} entre les éléments d'un ensemble sont fixées globalement, tout comme le style général des flèches.
+\end{noteblock}
+
+\begin{tipblock}
+La version \textit{étoilé} permet de ne pas créer l'environnement \motcletex!tikzpicture!, pour d'éventuels rajouts ultérieurs :
+
+\begin{itemize}
+ \item les éléments de l'ensemble de départ sont des nœuds nommés \verb!(E...)! ;
+ \item les éléments de l'ensemble d'arrivée sont des nœuds nommés \verb!(F...)!.
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+%\begin{DemoCode}[]
+%\DiagrammeSagittal[E={A,B,C,D,E,F},F={1,2,3,4}]{}
+%\end{DemoCode}
+
+\begin{tipblock}
+Les \Cle{clés} disponibles sont :
+
+\begin{itemize}
+ \item \Cle{DistElem} := distance verticale entre les éléments ; \hfill{}défaut : \Cle{0.75}
+ \item \Cle{DistEns} := distance entre les \og patates \fg{} ; \hfill{}défaut : \Cle{4}
+ \item \Cle{LargEns} := largeur des \og patates \fg{} ; \hfill{}défaut : \Cle{1.5}
+ \item \Cle{NomAppli} := nom de l'application ; \hfill{}défaut : \Cle{$f$}
+ \item \Cle{CouleurE} := couleur de l'ensemble de départ ; \hfill{}défaut : \Cle{blue}
+ \item \Cle{CouleurAppli} := couleur de l'application ; \hfill{}défaut : \Cle{violet}
+ \item \Cle{CouleurF} := couleur de l'ensemble d'arrivée ; \hfill{}défaut : \Cle{red}
+ \item \Cle{CouleurFleches} := couleur des flèches ; \hfill{}défaut : \Cle{teal}
+ \item \Cle{TypeFleche} := type de la flèche ; \hfill{}défaut : \Cle{Latex}
+ \item \Cle{Epaisseur} := épaisseur des tracés ; \hfill{}défaut : \Cle{0.8pt}
+ \item \Cle{Police} := police pour les éléments ; \hfill{}défaut : \Cle{vide}
+ \item \Cle{NoirBlanc} := booléen pour forcer l'affichage en N\&{}B ; \hfill{}défaut : \Cle{false}
+ \item \Cle{Labels} := booléen pour afficher les noms des ensembles ; \hfill{}défaut : \Cle{true}
+ \item \Cle{Ensembles} := nom des ensembles ; \hfill{}défaut : \Cle{\$\textbackslash mathcal\{E\}\$/\$\textbackslash mathcal\{F\}\$}
+ \item \Cle{PosLabels} := position des labels, parmi \Cle{haut/bas}. \hfill{}défaut : \Cle{bas}
+\end{itemize}
+
+Le deuxième argument, optionnel et entre \texttt{<...>} propose des options, en langage \packagetex!tikz! à passer à l'environnement.
+
+\smallskip
+
+Le troisième argument, obligatoire et entre \texttt{\{...\}}, permet de préciser les \textit{liaisons} sous la forme \verb!x1/f(x1),x2/f(x2),...!.
+\end{tipblock}
+
+\subsection{Exemples}
+
+\begin{DemoCode}[]
+\DiagrammeSagittal[DistElem=1,DistEns=5,LargEns=1.75,Police={\Large\ttfamily}, Epaisseur=1pt,NomAppli={$h$},E={a,b,c},F={A,C,H,P}, PoliceLabels=\Large]{a/A,a/P,b/H,b/P,c/C}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\DiagrammeSagittal[%
+ E={1,2,3,4,5,6,7},F={a,b,c,d,e},Labels=false,%
+ DistElem=1,DistEns=6,LargEns=2,%
+ CouleurE=teal,CouleurF=orange,CouleurAppli=brown,CouleurFleches=brown
+ ]{1/a,2/b,3/b,4/c,5/d,6/e,7/e}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+\begin{tikzpicture}
+ \DiagrammeSagittal*[%
+ E={1,2,3,4,5,6,7},F={a,b,c,d,e},DistEns=6,%
+ CouleurE=teal,CouleurF=orange,CouleurAppli=brown,CouleurFleches=brown
+ ]{1/a,2/b,3/b,4/c,5/d,6/d,7/d}
+ \draw[lime!50!black,<-,thick,dashed,>=Latex] ($(Fb)+(12pt,0)$) to[bend right=10]++ (2,1) node[right] {\parbox{4cm}{b admet 2 antécédents, donc $f$ ne peut pas être injective.}} ;
+ \draw[blue!50!black,<-,thick,dashed,>=Latex] ($(Fe)+(12pt,0)$) to[bend left=10]++ (2,-1) node[right] {\parbox{4cm}{e n'admet pas d'antécédent, donc $f$ ne peut pas être surjective.}} ;
+\end{tikzpicture}
+\end{DemoCode}
+
\end{document} \ No newline at end of file
diff --git a/graphics/pgf/contrib/profsio/tex/ProfSio.sty b/graphics/pgf/contrib/profsio/tex/ProfSio.sty
index 0235f49994..103b2667dd 100644
--- a/graphics/pgf/contrib/profsio/tex/ProfSio.sty
+++ b/graphics/pgf/contrib/profsio/tex/ProfSio.sty
@@ -2,7 +2,8 @@
% licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{ProfSio}[2023/06/23 0.1.0 Pour les enseignants en BTS SIO]
+\ProvidesPackage{ProfSio}[2023/06/26 0.1.1 Pour les enseignants en BTS SIO]
+%0.1.1 Correction de la documentation + Ajout des diagrammes sagittaux
%0.1.0 Version initiale
%------Packages utiles
@@ -539,5 +540,102 @@
}%
}
+%------Diagramme Sagittal
+\defKV[DiagSagitt]{%
+ E=\def\DSListeEltE{#1},%
+ F=\def\DSListeEltF{#1},%
+ DistElem=\def\DSEcartIN{#1},%
+ DistEns=\def\DSEcartIP{#1},%
+ LargEns=\def\DSLargPatates{#1},%
+ NomAppli=\def\DSNomFctPatates{#1},%
+ CouleurE=\def\DSCouleurE{#1},%
+ CouleurAppli=\def\DSCouleurFct{#1},%
+ CouleurF=\def\DSCouleurF{#1},%
+ CouleurFleches=\def\DSCouleurArc{#1},%
+ TypeFleche=\def\DSTypeFleche{#1},%
+ Epaisseur=\def\DSThick{#1},%
+ Police=\def\DSPolicePatates{#1},%
+ PoliceLabels=\def\DSPoliceLabels{#1},%
+ Ensembles=\def\DSNomEns{#1},%
+ PosLabels=\def\DSPosLabels{#1}
+}
+
+\setKVdefault[DiagSagitt]{%
+ DistElem=0.75,%
+ DistEns=4,%
+ LargEns=1.5,%
+ NomAppli={$f$},%
+ CouleurE={blue},%
+ CouleurAppli={violet},%
+ CouleurF={red},%
+ CouleurFleches={teal},%
+ TypeFleche=Latex,%
+ Epaisseur=0.8pt,%
+ Police={},%
+ NoirBlanc=false,%
+ Labels=true,%
+ Ensembles={$\mathcal{E}$/$\mathcal{F}$},%{E/F},%
+ PosLabels=bas,%
+ PoliceLabels={}
+}
+
+\NewDocumentCommand\DiagrammeSagittal{s O{} D<>{} m }{%
+ \restoreKV[DiagSagitt]%paramètres par défaut
+ \setKV[DiagSagitt]{#2}%
+ \readlist*\DSLstE{\DSListeEltE}%
+ \readlist*\DSLstF{\DSListeEltF}%
+ \def\DSHauteurPatateE{\fpeval{\DSEcartIN*(1+\DSLstElen)}}%
+ \def\DSHauteurPatateF{\fpeval{\DSEcartIN*(1+\DSLstFlen)}}%
+ \def\DSMaxHauteursPatates{\fpeval{max(\DSHauteurPatateE,\DSHauteurPatateF)}}%
+ \def\DSOffsetPatates{\fpeval{0.5*\DSHauteurPatateF-0.5*\DSHauteurPatateE}}%
+ \IfStrEq{\DSPosLabels}{bas}%
+ {%
+ \def\DSHautLegende{\fpeval{min(0,-\DSOffsetPatates)-0.5*\DSEcartIN}}%
+ }{}%
+ \IfStrEq{\DSPosLabels}{haut}%
+ {%
+ \def\DSHautLegende{\fpeval{max(\DSHauteurPatateE,\DSHauteurPatateF-\DSOffsetPatates)+0.5*\DSEcartIN}}%
+ }{}
+ \ifboolKV[DiagSagitt]{NoirBlanc}%
+ {%
+ \def\DSCouleurE{black}%
+ \def\DSCouleurF{black}%
+ \def\DSCouleurArc{black}%
+ \def\DSCouleurFct{black}%
+ }{}%
+ \IfBooleanTF{#1}%
+ {}%
+ {\begin{tikzpicture}[#3]}%
+ %LABELS
+ %\draw[lightgray,thin,->] (-1,0)--++(6,0) ;
+ \ifboolKV[DiagSagitt]{Labels}%
+ {%
+ \saveexpandmode\expandarg
+ \StrCut{\DSNomEns}{/}{\DSNomE}{\DSNomF}
+ \restoreexpandmode
+ \draw (0,{\DSHautLegende}) node[\DSCouleurE,inner sep=1pt,font=\DSPoliceLabels] {\DSNomE} ;
+ \draw ({\DSEcartIP},{\DSHautLegende}) node[\DSCouleurF,inner sep=1pt,font=\DSPoliceLabels] {\DSNomF} ;
+ \draw[line width=\DSThick,->,>=\DSTypeFleche] ({0.45},{\DSHautLegende})--({\DSEcartIP-0.45},{\DSHautLegende}) node[midway,above=2pt,inner sep=1pt,text=\DSCouleurFct,font=\DSPoliceLabels] {\DSNomFctPatates} ;
+ }{}%
+ %PATATE_E (ok)
+ \draw[line width=\DSThick] (0,{0.5*\DSHauteurPatateE}) ellipse ({0.5*\DSLargPatates} and {0.5*\DSHauteurPatateE} );
+ \foreach \i in {1,...,\DSLstElen}{%
+ \coordinate (E\DSLstE[\i]) at ({0.05*\DSLargPatates},{(\DSLstElen-\i+1)*\DSEcartIN}) ;%
+ \filldraw[\DSCouleurE] (E\DSLstE[\i]) circle[radius=1.5pt] node[left,font=\DSPolicePatates] {\DSLstE[\i]} ;%
+ }%
+ %PATATE_F (ok)
+ \draw[line width=\DSThick] ({\DSEcartIP},{0.5*\DSHauteurPatateF-\DSOffsetPatates}) ellipse ({0.5*\DSLargPatates} and {0.5*\DSHauteurPatateF} );
+ \foreach \i in {1,...,\DSLstFlen}{%
+ \coordinate (F\DSLstF[\i]) at ({\DSEcartIP-0.05*\DSLargPatates},{(\DSLstFlen-\i+1)*\DSEcartIN-\DSOffsetPatates}) ;%
+ \filldraw[\DSCouleurF] (F\DSLstF[\i]) circle[radius=1.5pt] node[right,font=\DSPolicePatates] {\DSLstF[\i]} ;%
+ }%
+ %ARCS
+ \foreach \Deb/\Fin in {#4} {%
+ \draw[line width=\DSThick,->,>=\DSTypeFleche,\DSCouleurArc] (E\Deb)--(F\Fin) ;
+ }%
+ \IfBooleanTF{#1}%
+ {}%
+ {\end{tikzpicture}}%
+}
\endinput \ No newline at end of file
diff --git a/graphics/pgf/contrib/rouequestions/README.txt b/graphics/pgf/contrib/rouequestions/README.txt
new file mode 100644
index 0000000000..d6a15a6382
--- /dev/null
+++ b/graphics/pgf/contrib/rouequestions/README.txt
@@ -0,0 +1,11 @@
+Ce package permet de générer un jeu sous forme de roue
+
+----------------
+
+This package provides to produce a game with students. It is a wheel with answers inside.
+
+---------------
+
+Author : Maryline Vignal Danilet
+email : marydanilet@gmail.com
+Licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt \ No newline at end of file
diff --git a/graphics/pgf/contrib/rouequestions/doc/RoueQuestionsDoc.pdf b/graphics/pgf/contrib/rouequestions/doc/RoueQuestionsDoc.pdf
new file mode 100644
index 0000000000..ee7acfc87c
--- /dev/null
+++ b/graphics/pgf/contrib/rouequestions/doc/RoueQuestionsDoc.pdf
Binary files differ
diff --git a/graphics/pgf/contrib/rouequestions/doc/RoueQuestionsDoc.tex b/graphics/pgf/contrib/rouequestions/doc/RoueQuestionsDoc.tex
new file mode 100644
index 0000000000..2b866a5bde
--- /dev/null
+++ b/graphics/pgf/contrib/rouequestions/doc/RoueQuestionsDoc.tex
@@ -0,0 +1,176 @@
+\documentclass[a4paper,12pt]{article}
+%\input{inc/inc.tex}
+\usepackage{RoueQuestions}
+%\usepackage{listingsutf8}
+%\lstset{inputencoding=utf8/latin1}
+\usepackage[most]{tcolorbox} % pour les boites de propriétés/définition
+
+\usepackage{fancyhdr}
+\usepackage{siunitx}
+\usepackage{geometry}
+\geometry{hmargin=1.5cm,vmargin=2.5cm}
+
+
+\newtcolorbox{Consigne}[1][]{colback=blue!5!white,
+ colframe=blue,%fonttitle=\bfseries,
+ title=\textbf{#1}}
+
+
+\begin{document}
+ % En-têtes et pieds de pages
+ \pagestyle{fancy}
+ \setlength{\headheight}{25pt}
+ \fancyhead[L]{Maryline Vignal}
+ \fancyhead[R]{RoueQuestions}
+ \renewcommand{\footrulewidth}{1pt}
+ \fancyfoot[C]{ }
+ \fancyfoot[R]{page \textbf{\thepage}}
+ \fancyfoot[L]{ }
+ \setcounter{page}{1}
+
+ \begin{center}
+ \textbf{Roues de questions}
+ \end{center}
+
+\roueQuestions[RayonCentral=4.2,RayonTotal=5.8,Titre={Puissances},Consigne={Ecrire sous la forme $a^n$, où $a$ est un nombre relatif et $n$ un entier relatif.},Decoupe=false,Pliage=false]{%
+ $5^{-7}\times 5^{-3}$,%
+ $6^{12}\times 6^{-10}$,%
+ $\dfrac{21^{-13}}{21^{10}}$,%
+ $\dfrac{2^{-4}\times 2^9}{2^5\times 2^{-7}}$,%
+ $\dfrac{\left((-3)^4\right)^{-2}\times (-3)}{(-3)^{-3}}$,%
+ $\left(\dfrac{7^{13}\times 7^ {-9}}{7^{-14}\times 7^{-8}}\right)^2$,%
+ $\num{2.5}^{-7}\times 4^{-7}$,%
+ $-4\times (-4)^{-7}$,%
+ $\dfrac{9^{-3}}{(-\num{2.5})^{-3}}$,%
+ $10^5\times\left(10^7\right)^8$%
+}
+\vspace{-0.3cm}
+\begin{flushright}
+ \roueQuestions[RayonCentral=4.2,RayonTotal=5.8,Consigne={Cette partie est encollée et placée sous la consigne de la première roue.},Solution,Decoupe=false]{%
+ $5^{-10}$,%
+ $6^2$,%
+ $21^{-23}$,%
+ $2^7$,%
+ $\left(-3\right)^{-4}$,%
+ $7^{52}$,%
+ $10^{-7}$,%
+ $\left(-4\right)^{-6}$,%
+ $\left(-\num{3,6}\right)^{-3}$,%
+ $10^{61}$%
+ }
+\end{flushright}
+
+\clearpage
+ Ce package permet de générer des roues de questions. Il a été imaginé pour des jeux en mathématiques mais peut servir à d'autres applications.\\[6pt]
+ On imprime 2 roues : l'une d'elles comporte les questions et la consigne, l'autre comporte les réponses. On découpe les traits en pointillés et on colle sur la partie centrale les 2 feuilles l'une sur l'autre. On accroche un trombone sur chaque partie soulevable.\\[6pt]
+ L'élève choisit une question et en cherche la réponse. Il soulève le volet pour vérifier. S'il a trouvé la bonne réponse, il gagne le trombone. En jouant à 2, en cas d'échec, l'adversaire gagne le trombone. A la fin de la partie, chacun compte le nombre de trombones gagnés.\\[12pt]
+
+ \verb|\usepackage{RoueQuestions}| pour utiliser le package. \\[6pt]
+% \begin{Consigne}[Ajouter une roue]
+ \verb|\roueQuestions[options]{liste}| permet d'insérer une roue de questions. Il faudra l'appeler une 2ème fois pour générer la roue des solutions. \\[6pt]
+% \end{Consigne}
+% \begin{Consigne}[Les options]
+ \verb|LineWidth = 2pt| précise la largeur de la bordure.\\
+ \verb|NbCases = 10| précise le nombre de questions. \\
+ \verb|RayonCentral= 6| précise le rayon entre le centre et le début des cases (en cm). \\
+ \verb|RayonTotal = 8| précise le rayon total de la roue (en cm). \\
+ \verb|Consigne = {}| donne la consigne à écrire au centre de la roue. \\
+ \verb|Titre = {}| indique le titre à mettre en gras. \\
+ \verb|Decoupe = true| permet de tracer les traits de découpe en bleu \\
+ \verb|Pliage = {}| permet de tracer les traits de pliage en vert. \\
+ \verb|Solution = false| si faux, met les pointillés pour le découpage. \\[6pt]
+%\end{Consigne}
+
+
+
+\newtcblisting{mybox}[2][]{%
+ colback=red!5!white,
+ colframe=red!75!black,
+ fonttitle=\bfseries,
+ title={#2},#1}
+\begin{mybox}[listing only]{Exemple}
+\roueQuestions[RayonCentral=4.2,RayonTotal=6,Titre={Puissances},Consigne={Ecrire sous la forme $a^n$, où $a$ est un nombre relatif et $n$ un entier relatif.}]{%
+ $5^{-7}\times 5^{-3}$,%
+ $6^{12}\times 6^{-10}$,%
+ $\dfrac{21^{-13}}{21^{10}}$,%
+ $\dfrac{2^{-4}\times 2^9}{2^5\times 2^{-7}}$,%
+ $\dfrac{\left((-3)^4\right)^{-2}\times (-3)}{(-3)^{-3}}$,%
+ $\left(\dfrac{7^{13}\times 7^ {-9}}{7^{-14}\times 7^{-8}}\right)^2$,%
+ $\num{2.5}^{-7}\times 4^{-7}$,%
+ $-4\times (-4)^{-7}$,%
+ $\dfrac{9^{-3}}{(-\num{2.5})^{-3}}$,%
+ $10^5\times\left(10^7\right)^8$%
+}
+\vspace{-0.3cm}
+\begin{flushright}
+ \roueQuestions[RayonCentral=4.2,RayonTotal=6,Consigne={Cette partie est encollée et placée sous la consigne de la première roue.},Solution]{%
+ $5^{-10}$,%
+ $6^2$,%
+ $21^{-23}$,%
+ $2^7$,%
+ $\left(-3\right)^{-4}$,%
+ $7^{52}$,%
+ $10^{-7}$,%
+ $\left(-4\right)^{-6}$,%
+ $\left(-\num{3,6}\right)^{-3}$,%
+ $10^{61}$%
+ }
+\end{flushright}
+\end{mybox}
+
+\roueQuestions[RayonCentral=4.2,RayonTotal=6,Titre={Puissances},Consigne={Ecrire sous la forme $a^n$, où $a$ est un nombre relatif et $n$ un entier relatif.}]{%
+ $5^{-7}\times 5^{-3}$,%
+ $6^{12}\times 6^{-10}$,%
+ $\dfrac{21^{-13}}{21^{10}}$,%
+ $\dfrac{2^{-4}\times 2^9}{2^5\times 2^{-7}}$,%
+ $\dfrac{\left((-3)^4\right)^{-2}\times (-3)}{(-3)^{-3}}$,%
+ $\left(\dfrac{7^{13}\times 7^ {-9}}{7^{-14}\times 7^{-8}}\right)^2$,%
+ $\num{2.5}^{-7}\times 4^{-7}$,%
+ $-4\times (-4)^{-7}$,%
+ $\dfrac{9^{-3}}{(-\num{2.5})^{-3}}$,%
+ $10^5\times\left(10^7\right)^8$%
+}
+\vspace{-0.3cm}
+\begin{flushright}
+ \roueQuestions[RayonCentral=4.2,RayonTotal=6,Consigne={Cette partie est encollée et placée sous la consigne de la première roue.},Solution]{%
+ $5^{-10}$,%
+ $6^2$,%
+ $21^{-23}$,%
+ $2^7$,%
+ $\left(-3\right)^{-4}$,%
+ $7^{52}$,%
+ $10^{-7}$,%
+ $\left(-4\right)^{-6}$,%
+ $\left(-\num{3,6}\right)^{-3}$,%
+ $10^{61}$%
+ }
+\end{flushright}
+
+%\roueQuestions[RayonCentral=4.2,RayonTotal=6.5,Titre={Puissances},Consigne={Ecrire sous la forme $a^n$, où $a$ est un nombre relatif et $n$ un entier relatif.}]{%
+% $5^{-7}\times 5^{-3}$,%
+% $6^{12}\times 6^{-10}$,%
+% $\dfrac{21^{-13}}{21^{10}}$,%
+% $\dfrac{2^{-4}\times 2^9}{2^5\times 2^{-7}}$,%
+% $\dfrac{\left((-3)^4\right)^{-2}\times (-3)}{(-3)^{-3}}$,%
+% $\left(\dfrac{7^{13}\times 7^ {-9}}{7^{-14}\times 7^{-8}}\right)^2$,%
+% $\num{2.5}^{-7}\times 4^{-7}$,%
+% $-4\times (-4)^{-7}$,%
+% $\dfrac{9^{-3}}{(-\num{2.5})^{-3}}$,%
+% $10^5\times\left(10^7\right)^8$%
+%}
+%\vspace{-0.5cm}
+%\begin{flushright}
+% \roueQuestions[RayonCentral=4.2,RayonTotal=6.5,Consigne={Cette partie est encollée et placée sous la consigne de la première roue.},Solution]{%
+% $5^{-10}$,%
+% $6^2$,%
+% $21^{-23}$,%
+% $2^7$,%
+% $\left(-3\right)^{-4}$,%
+% $7^{52}$,%
+% $10^{-7}$,%
+% $\left(-4\right)^{-6}$,%
+% $\left(-\num{3,6}\right)^{-3}$,%
+% $10^{61}$%
+% }
+%\end{flushright}
+\end{document}
diff --git a/graphics/pgf/contrib/rouequestions/doc/sample.png b/graphics/pgf/contrib/rouequestions/doc/sample.png
new file mode 100644
index 0000000000..cb78f962bf
--- /dev/null
+++ b/graphics/pgf/contrib/rouequestions/doc/sample.png
Binary files differ
diff --git a/graphics/pgf/contrib/rouequestions/tex/RoueQuestions.sty b/graphics/pgf/contrib/rouequestions/tex/RoueQuestions.sty
new file mode 100644
index 0000000000..de436801d5
--- /dev/null
+++ b/graphics/pgf/contrib/rouequestions/tex/RoueQuestions.sty
@@ -0,0 +1,61 @@
+% Author : M. Vignal
+% License : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+\ProvidesPackage{RoueQuestions}[2023/06/25 0.0.1 Aide pour générer des roues de questions]
+\RequirePackage{tikz}
+\RequirePackage{simplekv}
+\RequirePackage{listofitems}
+
+\setKVdefault[roueQuestions]{
+ LineWidth = 2pt,
+ NbCases = 10,
+ RayonCentral= 6,
+ RayonTotal = 8,
+ Consigne = {},
+ Titre = {},
+ Solution = false,
+ Decoupe = true,
+ Pliage = true
+}
+
+\newcommand{\roueQuestions}[2][]{%
+ \restoreKV[roueQuestions] %paramètres par défaut
+ \setKV[roueQuestions]{#1} % lecture des paramètres passés à la macro et remplacement des valeurs
+ \pgfmathparse{360/\useKV[roueQuestions]{NbCases}}\let\angle\pgfmathresult
+ \pgfmathparse{\useKV[roueQuestions]{RayonCentral}}\let\RayonCentral\pgfmathresult
+ \pgfmathparse{\useKV[roueQuestions]{RayonTotal}}\let\RayonTotal\pgfmathresult
+ \pgfmathparse{(2*\RayonCentral+\RayonTotal)/3}\let\RayonTexte\pgfmathresult
+ \pgfmathparse{(4*\RayonCentral)/3}\let\LargeurTexte\pgfmathresult
+ \edef\LineWidth{\useKV[roueQuestions]{LineWidth}}
+ \readlist*\listeequations{#2}%
+ \def\nbequations{\inteval{\listeequations-1}}%
+ \begin{tikzpicture}
+ \foreach \n in {1,...,\useKV[roueQuestions]{NbCases}}{%
+ \ifboolKV[roueQuestions]{Decoupe}{%
+ \edef\couleurExt{blue}
+ }{%
+ \edef\couleurExt{black}
+ }
+ \ifboolKV[roueQuestions]{Pliage}{%
+ \edef\couleurPli{green!30!black}
+ }{%
+ \edef\couleurPli{black}
+ }
+ % intérieur vers extérieur
+ \ifboolKV[roueQuestions]{Solution}{%
+ \draw[line width={\useKV[roueQuestions]{LineWidth}}] (\angle*\n:\RayonCentral) -- (\angle*\n:\RayonTotal) ;
+ }{%
+ \draw[\couleurExt,line width={\useKV[roueQuestions]{LineWidth}},dashed] (\angle*\n:\RayonCentral) -- (\angle*\n:\RayonTotal) ;
+ }
+ % intérieur
+ \ifboolKV[roueQuestions]{Solution}{\draw[line width={\useKV[roueQuestions]{LineWidth}}] (\angle*\n:\RayonCentral) -- (\angle*\n+\angle:\RayonCentral) ; }{\draw[\couleurPli,line width={\useKV[roueQuestions]{LineWidth}}] (\angle*\n:\RayonCentral) -- (\angle*\n+\angle:\RayonCentral) ; }
+ % extérieur
+ \draw[\couleurExt, line width={\useKV[roueQuestions]{LineWidth}}] (\angle*\n:\RayonTotal) -- (\angle*\n+\angle:\RayonTotal) ;
+ % texte de l'onglet
+ % angle de rotation du texte = 180 - \angle/2
+ \pgfmathparse{270 + \angle*\n - \angle/2}\let\angleTexte\pgfmathresult
+ \node[rotate=\angleTexte] at (\angle*\n-\angle/2:\RayonTexte) {\listeequations[\n]};
+ }
+ \node at(0,2*\RayonCentral/3) {\textbf{\useKV[roueQuestions]{Titre}}};
+ \node[text width=\LargeurTexte cm,text justified] at(0,0) {\useKV[roueQuestions]{Consigne}};
+ \end{tikzpicture}
+}