summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-06-14 03:00:42 +0000
committerNorbert Preining <norbert@preining.info>2023-06-14 03:00:42 +0000
commit68da45b74eea591538f6378878a0dca04e541bb9 (patch)
tree4def7342283fb3f040b44540c9cefa9a513b7cba /macros/latex
parentaf047c6e9cda7dd92590260e413522353215bf2d (diff)
CTAN sync 202306140300
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/quizztex/README.md9
-rw-r--r--macros/latex/contrib/quizztex/doc/quizztex-doc-fr.pdfbin0 -> 505094 bytes
-rw-r--r--macros/latex/contrib/quizztex/doc/quizztex-doc-fr.tex614
-rw-r--r--macros/latex/contrib/quizztex/tex/quizztex.sty734
4 files changed, 1357 insertions, 0 deletions
diff --git a/macros/latex/contrib/quizztex/README.md b/macros/latex/contrib/quizztex/README.md
new file mode 100644
index 0000000000..e2932aecd6
--- /dev/null
+++ b/macros/latex/contrib/quizztex/README.md
@@ -0,0 +1,9 @@
+QuizzTex is a package to create quizz with 'Who Wants to Be a Millionaire ?' design for example.
+----------------------------------------------------------------------------------------------------------------
+QuizzTex est un package pour présenter des quizz à la manière de 'Qui veut gagner des Millions ?' par exemple.
+----------------------------------------------------------------------------------------------------------------
+Author.......: Cédric Pierquet
+email........: cpierquet@outlook.fr
+Licence......: Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txt
+ 'Who Wants to Be a Millionaire ?' is a Trademark from Sony Pictures Television.
+ 'Tout le monde veut prendre sa place' is a Tradematk from Air Productions \ No newline at end of file
diff --git a/macros/latex/contrib/quizztex/doc/quizztex-doc-fr.pdf b/macros/latex/contrib/quizztex/doc/quizztex-doc-fr.pdf
new file mode 100644
index 0000000000..0efb41dbda
--- /dev/null
+++ b/macros/latex/contrib/quizztex/doc/quizztex-doc-fr.pdf
Binary files differ
diff --git a/macros/latex/contrib/quizztex/doc/quizztex-doc-fr.tex b/macros/latex/contrib/quizztex/doc/quizztex-doc-fr.tex
new file mode 100644
index 0000000000..4fdbee28ab
--- /dev/null
+++ b/macros/latex/contrib/quizztex/doc/quizztex-doc-fr.tex
@@ -0,0 +1,614 @@
+% !TeX TXS-program:compile = txs:///arara
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode}
+% arara: pdflatex: {shell: yes, synctex: no, interaction: batchmode} if found('log', '(undefined references|Please rerun|Rerun to get)')
+
+\documentclass[french,a4paper,11pt]{article}
+\usepackage[margin=2cm,includefoot]{geometry}
+\def\TPversion{0.1.0}
+\def\TPdate{13 juin 2023}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{amsmath,amssymb}
+\usepackage{quizztex}
+\usepackage{awesomebox}
+\usepackage{fontawesome5}
+\usepackage{footnote}
+\makesavenoteenv{tabular}
+\usepackage{enumitem}
+\usepackage{tabularray}
+\usepackage{wrapstuff}
+\usepackage{lipsum}
+\usepackage{fancyvrb}
+\usepackage{fancyhdr}
+\fancyhf{}
+\renewcommand{\headrulewidth}{0pt}
+\lfoot{\sffamily\small [quizztex]}
+\cfoot{\sffamily\small - \thepage{} -}
+\rfoot{\hyperlink{matoc}{\small\faArrowAltCircleUp[regular]}}
+
+%\usepackage{hvlogos}
+\usepackage{hologo}
+\providecommand\tikzlogo{Ti\textit{k}Z}
+\providecommand\TeXLive{\TeX{}Live\xspace}
+\providecommand\PSTricks{\textsf{PSTricks}\xspace}
+\let\pstricks\PSTricks
+\let\TikZ\tikzlogo
+\newcommand\TableauDocumentation{%
+ \begin{tblr}{width=\linewidth,colspec={X[c]X[c]X[c]X[c]X[c]X[c]},cells={font=\sffamily}}
+ {\LARGE \LaTeX} & & & & &\\
+ & {\LARGE \hologo{pdfLaTeX}} & & & & \\
+ & & {\LARGE \hologo{LuaLaTeX}} & & & \\
+ & & & {\LARGE \TikZ} & & \\
+ & & & & {\LARGE \TeXLive} & \\
+ & & & & & {\LARGE \hologo{MiKTeX}} \\
+ \end{tblr}
+}
+
+\usepackage{hyperref}
+\urlstyle{same}
+\hypersetup{pdfborder=0 0 0}
+\setlength{\parindent}{0pt}
+\definecolor{LightGray}{gray}{0.9}
+
+\usepackage{babel}
+\AddThinSpaceBeforeFootnotes
+\FrenchFootnotes
+
+\usepackage{listings}
+
+\usepackage{newverbs}
+\newverbcommand{\motcletex}{\color{cyan!75!black}}{}
+\newverbcommand{\packagetex}{\color{violet!75!black}}{}
+
+\usepackage[most]{tcolorbox}
+\tcbuselibrary{listingsutf8}
+\newtcblisting{DemoCode}[1][]{%
+ enhanced,width=0.95\linewidth,center,%
+ bicolor,size=title,%
+ colback=cyan!2!white,%
+ colbacklower=cyan!1!white,%
+ colframe=cyan!75!black,%
+ listing options={%
+ breaklines=true,%
+ breakatwhitespace=true,%
+ style=tcblatex,basicstyle=\small\ttfamily,%
+ tabsize=4,%
+ commentstyle={\itshape\color{gray}},
+ keywordstyle={\color{blue}},%
+ classoffset=0,%
+ keywords={},%
+ alsoletter={-},%
+ keywordstyle={\color{blue}},%
+ classoffset=1,%
+ alsoletter={-},%
+ morekeywords={center,justify,\lipsum},%
+ keywordstyle={\color{violet}},%
+ classoffset=2,%
+ alsoletter={-},%
+ morekeywords={\QuizzMillions,\QuizzPrendrePlace},%
+ keywordstyle={\color{green!50!black}},%
+ classoffset=3,%
+ morekeywords={Largeur,Marge,Hauteurs,Couleur,CouleurFond,CouleurLettre,CouleurTexte,Bonne,Mauvaise,Choix,CoulBonne,CoulChoix,CoulMauvaise,Affichage,EspacementV,OffsetV,Decorations,AffChoix,Jokers,AffJokers,CodeAvant,Offset,Theme,Type,Effet},%
+ keywordstyle={\color{orange}}
+ },%
+ #1
+}
+
+\tcbset{vignettes/.style={%
+ nobeforeafter,box align=base,boxsep=0pt,enhanced,sharp corners=all,rounded corners=southeast,%
+ boxrule=0.75pt,left=7pt,right=1pt,top=0pt,bottom=0.25pt,%
+ }
+}
+
+\tcbset{vignetteMaJ/.style={%
+ fontupper={\vphantom{pf}\footnotesize\ttfamily},
+ vignettes,colframe=purple!50!black,coltitle=white,colback=purple!10,%
+ overlay={\begin{tcbclipinterior}%
+ \fill[fill=purple!75]($(interior.south west)$) rectangle node[rotate=90]{\tiny \sffamily{\textcolor{black}{\scalebox{0.66}[0.66]{\textbf{MàJ}}}}} ($(interior.north west)+(5pt,0pt)$);%
+ \end{tcbclipinterior}}
+ }
+}
+
+\newcommand\Cle[1]{{\small\sffamily\textlangle \textcolor{orange}{#1}\textrangle}}
+\newcommand\cmaj[1]{\tcbox[vignetteMaJ]{#1}\xspace}
+
+\begin{document}
+
+\setlength{\aweboxleftmargin}{0.07\linewidth}
+\setlength{\aweboxcontentwidth}{0.93\linewidth}
+\setlength{\aweboxvskip}{8pt}
+
+\pagestyle{fancy}
+
+\thispagestyle{empty}
+
+\vspace{2cm}
+
+\begin{center}
+ \begin{minipage}{0.75\linewidth}
+ \begin{tcolorbox}[colframe=yellow,colback=yellow!15]
+ \begin{center}
+ \begin{tabular}{c}
+ {\Huge \texttt{quizztex} [fr]}\\
+ \\
+ {\LARGE Des présentations de Quizz,} \\
+ \\
+ {\LARGE à la manière de Jeux TV.} \\
+ \end{tabular}
+
+ \bigskip
+
+ {\small \texttt{Version \TPversion{} -- \TPdate}}
+ \end{center}
+ \end{tcolorbox}
+\end{minipage}
+\end{center}
+
+\begin{center}
+ \begin{tabular}{c}
+ \texttt{Cédric Pierquet}\\
+ {\ttfamily c pierquet -- at -- outlook . fr}\\
+ \texttt{\url{https://github.com/cpierquet/quizztex}}
+\end{tabular}
+\end{center}
+
+\vspace{0.25cm}
+
+{$\blacktriangleright$~~Créer des quizz à la manière de Jeux télévisés}
+
+\vspace{0.25cm}
+
+{$\blacktriangleright$~~Style \og Qui veut gagner des millions ? \fg{} ou \og Tout le monde veut prendre sa place ! \fg{}.}
+
+\vspace{1cm}
+
+\hfill\QuizzMillions[Largeur=13cm,Bonne=D,Mauvaise=B,Choix=B,Affichage=PropSol,AffJokers=50.TEL]
+{Quelle partie de l'œuf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+{Le rouge} {Le violet}
+{Le bleu} {Le jaune}\hfill~
+
+\vspace{1cm}
+
+\hfill\QuizzPrendrePlace[Largeur=13cm,Choix=C,Affichage=Choix]
+{Quelle partie de l'œuf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+{Le violet} {Le bleu}
+{Le jaune} {Le rouge}\hfill~
+
+
+
+\vspace{0.5cm}
+
+%\hfill{}\textit{Merci à Denis Bitouzé et à Gilles Le Bourhis pour leurs retours et idées !}
+
+\smallskip
+
+\vfill
+
+\hrule
+
+\medskip
+
+\TableauDocumentation
+
+\medskip
+
+\hrule
+
+\medskip
+
+\newpage
+
+\phantomsection
+\hypertarget{matoc}{}
+
+\tableofcontents
+
+\vfill
+
+\section{Historique}
+
+\verb|v0.1.0|~:~~~~Version initiale.
+
+\newpage
+
+\section{Le package quizztex}
+
+\subsection{Introduction}
+
+\begin{noteblock}
+Le package propose de quoi afficher, dans son document \LaTeX, un quizz \textit{à la manière} d'un Jeu TV (créé à l'aide de \packagetex!tikz!), avec la possibilité :
+
+\begin{itemize}
+ \item choisir un style (\textsf{Millions} ou \textsf{PrendrePlace}) ;
+ \item de spécifier les dimensions, la couleur, de rajouter un petit effet visuel sur les couleurs ;
+ \item de personnaliser les choix (réponse, mauvaise, bonne, type, \ldots).
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{noteblock}
+
+\subsection{Chargement du package, packages utilisés}
+
+\begin{importantblock}
+Le package se charge, de manière classique, dans le préambule.
+
+Il n'existe pas d'option pour le package, et \packagetex!xcolor! n'est pas chargé.
+\end{importantblock}
+
+\begin{DemoCode}[listing only]
+\documentclass{article}
+\usepackage{quizztex}
+
+\end{DemoCode}
+
+\begin{noteblock}
+\packagetex!quizztex! charge les packages suivantes :
+
+\begin{itemize}
+ \item \packagetex!calc!, \packagetex!tikz!, \packagetex!pgf! et \packagetex!pgffor! ;
+ \item \packagetex!xstring!, \packagetex!simplekv!, \packagetex!settobox!, \packagetex!varwidth! et \packagetex!fontawesome5! ;
+ \item les librairies \packagetex!tikz! :
+ \begin{itemize}
+ \item \packagetex!tikz.calc!
+ \item \packagetex!tikz.positioning! ;
+ \item \packagetex!tikz.shapes.geometric! ;
+ \item \packagetex!tikz.babel! ;
+ \item \packagetex!tikz.fadings!.
+ \end{itemize}
+\end{itemize}
+
+Il est compatible avec les compilations usuelles en \textsf{latex}, \textsf{pdflatex}, \textsf{lualatex} ou \textsf{xelatex}.
+\end{noteblock}
+
+\subsection{Gestion des couleurs et de la largeur}
+
+\begin{tipblock}
+Des couleurs prédéfinies (type \textsf{HTML}) sont créées par le package \packagetex!quizztex!, afin de pouvoir gérer -- en interne -- des tracés avec des couleurs du type \motcletex!<couleur>!...!.
+\end{tipblock}
+
+\begin{tipblock}
+La Largeur des Quizz sera à préciser (avec unité) et dans le cas d'une présentation \packagetex!beamer!, il sera nécessaire de la réduire (aux environs de 11cm).
+
+Logiquement des dimensions comme \motcletex!\linewidth! devraient fonctionner.
+\end{tipblock}
+
+\vfill~
+
+\pagebreak
+
+\section{Quizz à la manière de \og Qui veut gagner des Millions ? \fg}
+
+\subsection{Commande et fonctionnement global}
+
+\begin{cautionblock}
+L'environnement dédié à la création du Quizz \og Millions \fg{} \motcletex!\QuizzMillions!.
+
+\smallskip
+
+\textsf{Who Wants to Be a Millionaire ?\texttrademark} est une marquée déposée de Sony Pictures Television.
+\end{cautionblock}
+
+\begin{DemoCode}[listing only]
+\QuizzMillions[clés]%
+ {Question}
+ {Réponse A}
+ {Réponse B}
+ {Réponse C}
+ {Réponse D}
+\end{DemoCode}
+
+\begin{DemoCode}[text only]
+\QuizzMillions
+ {Question}
+ {Réponse A}
+ {Réponse B}
+ {Réponse C}
+ {Réponse D}
+\end{DemoCode}
+
+\begin{tipblock}
+Les éventuelles couleurs choisies devront être données de manière \textit{unique}, sans utiliser les \textit{mélanges} (avec \motcletex|CouleurA!...!CouleurB|) que propose le package \packagetex!xcolor!.
+
+Toutefois, toute couleur précédemment définie pourra être utilisée pour le Quizz (c'est ce que propose les couleurs par défaut de \packagetex!quizztex!).
+\end{tipblock}
+
+\begin{importantblock}
+Le code se charge d'ajuster la hauteur des cartouches, et la hauteur des cartouches \textit{Réponses} auront tous la même hauteur.
+
+\smallskip
+
+Il est cependant possible de préciser une hauteur manuelle globale, ou une hauteur pour le cartouche \textit{Question} et une hauteur pour les cartouches \textit{Réponses}.
+\end{importantblock}
+
+\subsection{Couleurs prédéfinies}
+
+\begin{tipblock}
+Les couleurs (HTML) définies et utilisées par le package \packagetex!quizztex! et pour l'environnement \motcletex!\QuizzMillions! sont :
+
+\begin{itemize}
+ \item \verb!\definecolor{ColorFondWWTBAM}{HTML}{5E57A4} ! : \textcolor{ColorFondWWTBAM}{\textsf{\textbf{Fond par défaut}}}
+ \item \verb!\definecolor{ColorBonneWWTBAM}{HTML}{0AC759} ! : \textcolor{ColorBonneWWTBAM}{\textsf{\textbf{Fond de la bonne réponse}}}
+ \item \verb!\definecolor{ColorMauvaiseWWTBAM}{HTML}{F1901C}! : \textcolor{ColorMauvaiseWWTBAM}{\textsf{\textbf{Fond de la mauvaise réponse}}}
+ \item \verb!\definecolor{ColorWWBTAM}{HTML}{140676} ! : \textcolor{ColorWWBTAM}{\textsf{\textbf{Bordure}}}
+ \item \verb!\definecolor{ColorChoixWWBTAM}{HTML}{F40FDC} ! : \textcolor{ColorChoixWWBTAM}{\textsf{\textbf{Fond de la réponse choisie}}}
+\end{itemize}
+
+L'utilisateur qui souhaite modifier les couleurs devra être attentif à la coordination de celles-ci, afin d'obtenir un affichage pertinent et cohérent.
+\end{tipblock}
+
+\begin{DemoCode}[]
+\QuizzMillions{\lipsum[1][1-2]}
+ {\lipsum[2][1]}{\lipsum[2][2]}{\lipsum[2][3]}{\lipsum[2][5]}
+\end{DemoCode}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Le premier argument, optionnel et entre \texttt{[...]}, propose les \Cle{clés} suivantes :
+
+\begin{itemize}
+ \item \Cle{Largeur} := largeur (avec unité) sans les Jokers, du Quizz ; \hfill{}défaut : \Cle{14cm}
+ \item \Cle{Marge} := marge gauche/droite (avec unité) ; \hfill{}défaut : \Cle{0.5cm}
+ \item \Cle{Hauteurs} := hauteurs des cartouches (\motcletex!auto! ou \motcletex!global! ou \motcletex!Quest/Réponses!) ;
+
+ \hfill{}défaut : \Cle{auto}
+ \item \Cle{Couleur} := couleur des bordures ; \hfill{}défaut : \Cle{CouleurWWBTAM}
+ \item \Cle{CouleurFond} := couleur du fond ; \hfill{}défaut : \Cle{ColorFondWWTBAM}
+ \item \Cle{CouleurLettre} := couleur des lettres ; \hfill{}défaut : \Cle{ColorLettreWWBTAM}
+ \item \Cle{CouleurTexte} := couleur des textes ; \hfill{}défaut : \Cle{white}
+ \item \Cle{Bonne} := bonne réponse (A/B/C/D) ; \hfill{}défaut : \Cle{}
+ \item \Cle{Mauvaise} := mauvaise réponse (A/B/C/D) ; \hfill{}défaut : \Cle{}
+ \item \Cle{Choix} := réponse choisie (A/B/C/D) ; \hfill{}défaut : \Cle{}
+ \item \Cle{CouleurBonne} := couleur de la bonne réponse ; \hfill{}défaut : \Cle{ColorBonneWWTBAM}
+ \item \Cle{CouleurChoix} := couleur du choix ; \hfill{}défaut : \Cle{ColorChoixWWBTAM}
+ \item \Cle{CouleurMauvaise} := couleur de la mauvaise réponse ; \hfill{}défaut \Cle{ColorMauvaiseWWTBAM}
+ \item \Cle{Affichage} := type d'affichage, parmi \motcletex!Choix/Sol/PropSol! ; \hfill{}défaut \Cle{}
+ \item \Cle{EspacementV} := espacement vertical entre les cartouches ; \hfill{}défaut \Cle{8pt}
+ %\item \Cle{OffsetV} := =6pt,%
+ \item \Cle{Decorations} := booléen pour rajouter les petits \textit{diamants} des réponses ; \hfill{}défaut \Cle{true}
+ \item \Cle{AffChoix} := réponses à afficher (pour le 50/50 par exemple) ; \hfill{}défaut \Cle{ABCD}
+ \item \Cle{Jokers} := booléen pour afficher les Jokers ; \hfill{}défaut \Cle{true}
+ \item \Cle{AffJokers} : = Jokers à marquer comme disponibles ; \hfill{}défaut \Cle{50.TEL.PUB}
+ \item \Cle{CodeAvant} : = code à appliqer à tous les cartouches ; \hfill{}défaut \Cle{\textbackslash bfseries\textbackslash large\textbackslash sffamily}
+ \item \Cle{Effet} := booléen pour utiliser un petit effet de dégradé.\hfill{}défaut \Cle{true}
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{tipblock}
+Les cinq arguments obligatoires correspondent à la question et aux réponses, sans oublier que la clé \motcletex!CodeAvant! sera appliquée pour chacun de ces cinq arguments.
+\end{tipblock}
+
+\subsection{Exemples}
+
+\begin{DemoCode}[]
+%par défaut
+\QuizzMillions
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%hauteurs manuelles
+\QuizzMillions[Hauteurs=2cm/1.5cm]
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%sans effet et sans Jokers, largeur réduite
+\QuizzMillions[Effet=false,Jokers=false,Largeur=10cm]
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%avec réponse choisie
+\QuizzMillions[Bonne=C,Mauvaise=B,Choix=B,Affichage=Choix]
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%avec bonne réponse
+\QuizzMillions[Bonne=C,Mauvaise=B,Choix=B,Affichage=Sol]
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%avec réponse fausse choisie et bonne réponse
+\QuizzMillions[Bonne=C,Mauvaise=B,Choix=B,Affichage=PropSol]
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%avec jokers déjà utlisés et 50:50
+\QuizzMillions[AffJokers=PUB.TEL,AffChoix=AC]
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%avec couleurs modifiées et police modifiée
+\QuizzMillions[Couleur=black,CouleurFond=gray,CodeAvant={\LARGE\ttfamily}]
+ {On considère la fonction $\mathtt{f}$ définie sur $\mathbb{R}$ par $\mathtt{f(x)=2\,\text{e}^{2x}}$. On a :}
+ {$\mathtt{f'(x)=4\,\text{e}^{2x}}$}
+ {$\mathtt{f'(x)=2\,\text{e}^{2x}}$}
+ {$\mathtt{f'(x)=2\,\text{e}^{2}}$}
+ {$\mathtt{f'(x)=\dfrac{1}{x}}$}
+\end{DemoCode}
+
+\pagebreak
+
+\section{Quizz à la manière de \og Tout le monde veut prendre sa place \fg.}
+
+\subsection{Commande et fonctionnement global}
+
+\begin{cautionblock}
+L'environnement dédié à la création du Quizz \og PrendrePlace \fg{} \motcletex!\QuizzPrendrePlace!.
+
+\smallskip
+
+\textsf{Tout le monde veut prendre sa place\texttrademark} est une marquée déposée de Air Productions.
+\end{cautionblock}
+
+\begin{DemoCode}[listing only]
+\QuizzPrendrePlace[clés]%
+ {Question}
+ {Réponse A}
+ {Réponse B}
+ {Réponse C}
+ {Réponse D}
+\end{DemoCode}
+
+\begin{DemoCode}[text only]
+\QuizzPrendrePlace
+ {Question}
+ {Réponse A}
+ {Réponse B}
+ {Réponse C}
+ {Réponse D}
+\end{DemoCode}
+
+\begin{tipblock}
+Les éventuelles couleurs choisies devront être données de manière \textit{unique}, sans utiliser les \textit{mélanges} (avec \motcletex|CouleurA!...!CouleurB|) que propose le package \packagetex!xcolor!.
+
+Toutefois, toute couleur précédemment définie pourra être utilisée pour le Quizz (c'est ce que propose les couleurs par défaut de \packagetex!quizztex!).
+\end{tipblock}
+
+\begin{importantblock}
+Le code se charge d'ajuster la hauteur des cartouches, et la hauteur des cartouches \textit{Réponses} auront tous la même hauteur.
+
+\smallskip
+
+Il est cependant possible de préciser une hauteur manuelle globale, ou une hauteur pour le cartouche \textit{Question} et une hauteur pour les cartouches \textit{Réponses}.
+\end{importantblock}
+
+\subsection{Couleurs prédéfinies}
+
+\begin{tipblock}
+Les couleurs (HTML) définies et utilisées par le package \packagetex!quizztex! et pour l'environnement \motcletex!\QuizzMillions! sont :
+
+\begin{itemize}
+ \item \verb!definecolor{ColorFondTLMVPSP}{HTML}{4E52E3} ! : \textcolor{ColorFondTLMVPSP}{\textsf{\textbf{Fond par défaut}}}
+ \item \verb!\definecolor{ColorBonneTLMVPSP}{HTML}{00E519} ! : \textcolor{ColorBonneTLMVPSP}{\textsf{\textbf{Fond de la bonne réponse}}}
+ \item \verb!\definecolor{ColorMauvaiseTLMVPSP}{HTML}{FF9F3F}! : \textcolor{ColorMauvaiseTLMVPSP}{\textsf{\textbf{Fond de la mauvaise réponse}}}
+ \item \verb!\definecolor{ColorTLMVPSP}{HTML}{171A7A} ! : \textcolor{ColorTLMVPSP}{\textsf{\textbf{Bordure}}}
+ \item \verb!\definecolor{ColorChoixTLMVPSP}{HTML}{6DCFF6} ! : \textcolor{ColorChoixTLMVPSP}{\textsf{\textbf{Fond de la réponse choisie}}}
+\end{itemize}
+
+L'utilisateur qui souhaite modifier les couleurs devra être attentif à la coordination de celles-ci, afin d'obtenir un affichage pertinent et cohérent.
+\end{tipblock}
+
+\begin{DemoCode}[]
+\QuizzPrendrePlace{\lipsum[1][1-2]}
+{\lipsum[2][1]}{\lipsum[2][2]}{\lipsum[2][3]}{\lipsum[2][5]}
+\end{DemoCode}
+
+\subsection{Clés et options}
+
+\begin{tipblock}
+Le premier argument, optionnel et entre \texttt{[...]}, propose les \Cle{clés} suivantes :
+
+\begin{itemize}
+ \item \Cle{Largeur} := largeur (avec unité) ; \hfill{}défaut : \Cle{14cm}
+% \item \Cle{MargeMilieu} := marge intérieure (sans unité) entre les cartouches \textsf{Réponses} ;
+%
+% \hfill{}défaut : \Cle{1}
+ \item \Cle{Hauteurs} := hauteurs des cartouches (\motcletex!auto! ou \motcletex!global! ou \motcletex!Quest/Réponses!) ;
+
+ \hfill{}défaut : \Cle{auto}
+ \item \Cle{Couleur} := couleur des bordures ; \hfill{}défaut : \Cle{ColorTLMVPSP}
+ \item \Cle{CouleurFond} := couleur du fond ; \hfill{}défaut : \Cle{ColorFondTLMVPSP}
+ \item \Cle{CouleurLettre} := couleur des lettres ; \hfill{}défaut : \Cle{ColorLettreTLMVPSP}
+ \item \Cle{CouleurTexte} := couleur des textes ; \hfill{}défaut : \Cle{white}
+ \item \Cle{Bonne} := bonne réponse (A/B/C/D) ; \hfill{}défaut : \Cle{}
+ \item \Cle{Mauvaise} := mauvaise réponse (A/B/C/D) ; \hfill{}défaut : \Cle{}
+ \item \Cle{Choix} := réponse choisie (A/B/C/D) ; \hfill{}défaut : \Cle{}
+ \item \Cle{CouleurBonne} := couleur de la bonne réponse ; \hfill{}défaut : \Cle{ColorBonneTLMVPSP}
+ \item \Cle{CouleurChoix} := couleur du choix ; \hfill{}défaut : \Cle{ColorChoixTLMVPSP}
+ \item \Cle{CouleurMauvaise} := couleur de la mauvaise réponse ; \hfill{}défaut \Cle{ColorMauvaiseWWTBAM}
+ \item \Cle{Affichage} := type d'affichage, parmi \motcletex!Choix/Sol/PropSol! ; \hfill{}défaut \Cle{}
+ \item \Cle{EspacementV} := espacement vertical entre les cartouches ; \hfill{}défaut \Cle{8pt}
+ %\item \Cle{OffsetV} := =6pt,%
+ \item \Cle{Theme} := pour afficher un cartouche \textsf{Thème} sous le Quizz ; \hfill{}défaut \Cle{}
+ \item \Cle{Type} = type de réponse, parmi \motcletex!Duo/Carre/Cash! ; \hfill{}défaut \Cle{Carre}
+ \item \Cle{CodeAvant} : = code à appliqer à tous les cartouches ; \hfill{}défaut \Cle{\textbackslash bfseries\textbackslash large\textbackslash sffamily}
+ \item \Cle{Effet} := booléen pour utiliser un petit effet de dégradé.\hfill{}défaut \Cle{true}
+\end{itemize}
+\vspace*{-\baselineskip}\leavevmode
+\end{tipblock}
+
+\begin{tipblock}
+Les cinq arguments obligatoires correspondent à la question et aux réponses, sans oublier que la clé \motcletex!CodeAvant! sera appliquée pour chacun de ces cinq arguments.
+\end{tipblock}
+
+\subsection{Exemples}
+
+\begin{DemoCode}[]
+%par défaut
+\QuizzPrendrePlace
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%hauteurs manuelles, avec thème
+\QuizzPrendrePlace[Hauteurs=2cm/1.5cm,Theme={Cuisine}]
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%sans effet et Duo (uniquement choix C/D), largeur réduite
+\QuizzPrendrePlace[Effet=false,Type=Duo,Largeur=9cm,Theme={Cuisine}]
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {} {}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%avec réponse choisie
+\QuizzPrendrePlace[Bonne=C,Mauvaise=B,Choix=B,Affichage=Choix,Theme={Cuisine}]
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%avec bonne réponse
+\QuizzPrendrePlace[Bonne=C,Mauvaise=B,Choix=B,Affichage=Sol,Theme={Cuisine}]
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%avec réponse fausse choisie et bonne réponse
+\QuizzPrendrePlace[Bonne=C,Mauvaise=B,Choix=B,Affichage=PropSol,Theme={Cuisine}]
+ {Quelle partie de l'\oe{}uf dois-je cuisiner pour préparer avec succès une mayonnaise ?}
+ {Le violet} {Le bleu}
+ {Le jaune} {Le rouge}
+\end{DemoCode}
+
+\begin{DemoCode}[]
+%avec couleurs modifiées et police modifiée
+\QuizzPrendrePlace[Couleur=black,CouleurFond=gray,CodeAvant={\LARGE\ttfamily}, Theme={Cuisine}]
+ {On considère la fonction $\mathtt{f}$ définie sur $\mathbb{R}$ par $\mathtt{f(x)=2\,\text{e}^{2x}}$. On a :}
+ {$\mathtt{f'(x)=4\,\text{e}^{2x}}$}
+ {$\mathtt{f'(x)=2\,\text{e}^{2x}}$}
+ {$\mathtt{f'(x)=2\,\text{e}^{2}}$}
+ {$\mathtt{f'(x)=\dfrac{1}{x}}$}
+\end{DemoCode}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/quizztex/tex/quizztex.sty b/macros/latex/contrib/quizztex/tex/quizztex.sty
new file mode 100644
index 0000000000..e6079c5cf8
--- /dev/null
+++ b/macros/latex/contrib/quizztex/tex/quizztex.sty
@@ -0,0 +1,734 @@
+% Author : C. Pierquet
+% licence : Released under the LaTeX Project Public License v1.3c or later, see http://www.latex-project.org/lppl.txtf
+% : 'Who Wants to Be a Millionaire ?' is a Trademark from Sony Pictures Television.
+% : 'Tout le monde veut prendre sa place' is a Tradematk from Air Productions.
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{quizztex}[2023/06/13 0.1.0 Construire des quizz 'comme dans les jeux' ]
+%0.1.0 Version initiale
+
+%------Packages utiles
+\RequirePackage{tikz,pgf,pgffor}
+\RequirePackage{xstring}
+\RequirePackage{simplekv}
+\RequirePackage{settobox}
+\RequirePackage{fontawesome5}
+\RequirePackage{calc}
+\RequirePackage{varwidth}
+%------Librairies
+\usetikzlibrary{calc,positioning,shapes.geometric,babel,fadings}
+
+%------Longueurs globales
+\newlength{\HauteurQuest}
+\newlength{\HauteurReponse}
+
+%------Code Qui Veut Gagner des Millions
+%Couleurs
+\definecolor{ColorFondWWTBAM}{HTML}{5E57A4}%blue!66!violet!66!white
+\definecolor{ColorBonneWWTBAM}{HTML}{0AC759}%green!90!blue
+\definecolor{ColorMauvaiseWWTBAM}{HTML}{F1901C}%orange!75
+\definecolor{ColorWWBTAM}{HTML}{140676}%blue!25!black ou 140676
+\definecolor{ColorChoixWWBTAM}{HTML}{F40FDC}%violet!80
+\definecolor{ColorLettreWWBTAM}{HTML}{F32828}%red!75!purple
+
+%Boîtes et dimensions utiles
+\newsavebox{\boitequestionwwtbam}
+\newlength{\hauteurboitequestionwwtbam}
+\newlength{\texteboitequestionwwtbam}
+%réponse largeur
+\newlength{\texteboitereponsewwtbam}
+%boiteréponsea
+\newsavebox{\boitereponseawwtbam}
+\newlength{\hauteurboitereponseawwtbam}
+%boiteréponseb
+\newsavebox{\boitereponsebwwtbam}
+\newlength{\hauteurboitereponsebwwtbam}
+%boiteréponsec
+\newsavebox{\boitereponsecwwtbam}
+\newlength{\hauteurboitereponsecwwtbam}
+%boiteréponsed
+\newsavebox{\boitereponsedwwtbam}
+\newlength{\hauteurboitereponsedwwtbam}
+%gestion des largeurs
+\newlength{\largeurboitequestionwwtbam}
+\newlength{\largeurboitereponsewwtbam}
+\newlength{\largeurtexteboitereponsewwtbam}
+\newlength{\largeurtexteboitequestionwwtbam}
+%max des hauteurs
+\newlength{\hauteurmaxboitereponsewwtbam}
+\newlength{\hauteurnonautoquestionwwtbam}
+\newlength{\hauteurnonautoreponseswwtbam}
+%marges et largeurs
+\newlength{\largeurwwtbam}
+\newlength{\margeexterieurewwtbam}
+%niveaux & demi-hauteurs
+\newlength{\niveauABwwtbam}
+\newlength{\niveauCDwwtbam}
+\newlength{\HauteurNivJok}
+\newlength{\OffsetVwwtbam}
+\newlength{\EspacementVwwtbam}
+
+\defKV[wwtbam]{%
+ Largeur=\setlength{\largeurwwtbam}{#1},%
+ Marge=\setlength{\margeexterieurewwtbam}{#1},%
+ Hauteurs=\def\HauteursWWTBAM{#1},%
+ Couleur=\def\CouleurWWTBAM{#1},%
+ CouleurFond=\def\CouleurFondWWTBAM{#1},%
+ CouleurTexte=\def\CouleurTexteWWTBAM{#1},%
+ CouleurLettre=\def\CouleurLettreWWTBAM{#1},%
+ CouleurChoix=\def\CouleurChoixWWTBAM{#1},%
+ CouleurBonne=\def\CouleurBonneWWTBAM{#1},%
+ CouleurMauvaise=\def\CoulMauvaiseWWTBAM{#1},%
+ Choix=\def\ChoixWWTBAM{#1},%
+ Bonne=\def\BonneWWTBAM{#1},%
+ Mauvaise=\def\MauvaiseWWTBAM{#1},%
+ Affichage=\def\TypeAffichageWWTBAM{#1},%
+ EspacementV=\setlength{\EspacementVwwtbam}{#1},%
+ OffsetV=\setlength{\OffsetVwwtbam}{#1},%
+ AffChoix=\def\AffChoixWWTBAM{#1},%
+ AffJokers=\def\AffJokersWWTBAM{#1},%
+ CodeAvant=\def\CodeAvantWWTBAM{#1}
+}
+
+\setKVdefault[wwtbam]{%
+ Largeur=14cm,%
+ Marge=0.5cm,%
+ Hauteurs=auto,%
+ Couleur=ColorWWBTAM,%
+ CouleurFond=ColorFondWWTBAM,%
+ CouleurLettre=ColorLettreWWBTAM,%3
+ CouleurBonne=ColorBonneWWTBAM,%
+ CouleurChoix=ColorChoixWWBTAM,%
+ CouleurMauvaise=ColorMauvaiseWWTBAM,%
+ CouleurTexte=white,%
+ Bonne={},%
+ Mauvaise={},%
+ Choix={},
+ Affichage={},%
+ EspacementV=10pt,%
+ OffsetV=6pt,%
+ Decorations=true,%
+ AffChoix=ABCD,%
+ Jokers=true,%
+ AffJokers=50.TEL.PUB,%
+ CodeAvant=\bfseries\large\sffamily,%
+ Effet=true
+}
+
+\NewDocumentCommand\QuizzMillions{ O{} m m m m m }{%clés + questions + 4 réponses
+ \useKVdefault[wwtbam]%
+ \setKV[wwtbam]{#1}%
+ %Couleurdescartouches
+ \def\CouleurFondAWWTBAM{\CouleurFondWWTBAM}%
+ \def\CouleurFondBWWTBAM{\CouleurFondWWTBAM}%
+ \def\CouleurFondCWWTBAM{\CouleurFondWWTBAM}%
+ \def\CouleurFondDWWTBAM{\CouleurFondWWTBAM}%
+ \IfEq{\TypeAffichageWWTBAM}{Choix}
+ {%
+ \IfStrEq{\ChoixWWTBAM}{A}
+ {\def\CouleurFondAWWTBAM{\CouleurChoixWWTBAM}}%
+ {}%
+ \IfStrEq{\ChoixWWTBAM}{B}
+ {\def\CouleurFondBWWTBAM{\CouleurChoixWWTBAM}}%
+ {}%
+ \IfStrEq{\ChoixWWTBAM}{C}
+ {\def\CouleurFondCWWTBAM{\CouleurChoixWWTBAM}}%
+ {}%
+ \IfStrEq{\ChoixWWTBAM}{D}
+ {\def\CouleurFondDWWTBAM{\CouleurChoixWWTBAM}}%
+ {}%
+ }%
+ {}%
+ \IfEq{\TypeAffichageWWTBAM}{PropSol}
+ {%
+ \IfStrEq{\BonneWWTBAM}{A}
+ {\def\CouleurFondAWWTBAM{\CouleurBonneWWTBAM}}%
+ {}%
+ \IfStrEq{\BonneWWTBAM}{B}
+ {\def\CouleurFondBWWTBAM{\CouleurBonneWWTBAM}}%
+ {}%
+ \IfStrEq{\BonneWWTBAM}{C}
+ {\def\CouleurFondCWWTBAM{\CouleurBonneWWTBAM}}%
+ {}%
+ \IfStrEq{\BonneWWTBAM}{D}
+ {\def\CouleurFondDWWTBAM{\CouleurBonneWWTBAM}}%
+ {}%
+ \IfStrEq{\MauvaiseWWTBAM}{A}
+ {\def\CouleurFondAWWTBAM{\CoulMauvaiseWWTBAM}}%
+ {}%
+ \IfStrEq{\MauvaiseWWTBAM}{B}
+ {\def\CouleurFondBWWTBAM{\CoulMauvaiseWWTBAM}}%
+ {}%
+ \IfStrEq{\MauvaiseWWTBAM}{C}
+ {\def\CouleurFondCWWTBAM{\CoulMauvaiseWWTBAM}}%
+ {}%
+ \IfStrEq{\MauvaiseWWTBAM}{D}
+ {\def\CouleurFondDWWTBAM{\CoulMauvaiseWWTBAM}}%
+ {}%
+ }%
+ {}%
+ \IfEq{\TypeAffichageWWTBAM}{Sol}
+ {%
+ \IfStrEq{\BonneWWTBAM}{A}
+ {\def\CouleurFondAWWTBAM{\CouleurBonneWWTBAM}}%
+ {}%
+ \IfStrEq{\BonneWWTBAM}{B}
+ {\def\CouleurFondBWWTBAM{\CouleurBonneWWTBAM}}%
+ {}%
+ \IfStrEq{\BonneWWTBAM}{C}
+ {\def\CouleurFondCWWTBAM{\CouleurBonneWWTBAM}}%
+ {}%
+ \IfStrEq{\BonneWWTBAM}{D}
+ {\def\CouleurFondDWWTBAM{\CouleurBonneWWTBAM}}%
+ {}%
+ }%
+ {}%
+ %dimensions de base
+ \ifboolKV[wwtbam]{Jokers}
+ {%
+ \setlength{\largeurwwtbam}{\largeurwwtbam-1.4cm}%
+ }%
+ {}%
+ \setlength{\largeurboitequestionwwtbam}{\largeurwwtbam-2\margeexterieurewwtbam-15mm}%
+ \setlength{\texteboitequestionwwtbam}{\largeurboitequestionwwtbam-0.4cm}%
+ \setlength{\largeurboitereponsewwtbam}{0.5\largeurwwtbam-\margeexterieurewwtbam-15mm}%
+ \setlength{\texteboitereponsewwtbam}{\largeurboitereponsewwtbam-0.5cm}%
+ %Si les hauteurs sont en auto, on calcule tout
+ \IfStrEq{\HauteursWWTBAM}{auto}%
+ {%
+ %BlocQuestion
+ \sbox{\boitequestionwwtbam}{\parbox{\the\texteboitequestionwwtbam}{\centering\CodeAvantWWTBAM #2}}\settoboxtotalheight{\hauteurboitequestionwwtbam}{\boitequestionwwtbam}%
+ %BlocRépA
+ \sbox{\boitereponseawwtbam}{\parbox{\the\texteboitereponsewwtbam}{\CodeAvantWWTBAM #3}}\settoboxtotalheight{\hauteurboitereponseawwtbam}{\boitereponseawwtbam}%
+ %BlocRépB
+ \sbox{\boitereponsebwwtbam}{\parbox{\the\texteboitereponsewwtbam}{\CodeAvantWWTBAM #4}}\settoboxtotalheight{\hauteurboitereponsebwwtbam}{\boitereponsebwwtbam}%
+ %BlocRépC
+ \sbox{\boitereponsecwwtbam}{\parbox{\the\texteboitereponsewwtbam}{\CodeAvantWWTBAM #5}}\settoboxtotalheight{\hauteurboitereponsecwwtbam}{\boitereponsecwwtbam}%
+ %BlocRépD
+ \sbox{\boitereponsedwwtbam}{\parbox{\the\texteboitereponsewwtbam}{\CodeAvantWWTBAM #6}}\settoboxtotalheight{\hauteurboitereponsedwwtbam}{\boitereponsedwwtbam}%
+ %hauteurréponses
+ \pgfmathsetlength{\hauteurmaxboitereponsewwtbam}{max(\hauteurboitereponseawwtbam,\hauteurboitereponsebwwtbam,\hauteurboitereponsecwwtbam,\hauteurboitereponsedwwtbam)}%
+ %hauteur des boîtes
+ \setlength{\HauteurQuest}{\hauteurboitequestionwwtbam+2\OffsetVwwtbam}%
+ \setlength{\HauteurReponse}{\hauteurmaxboitereponsewwtbam+2\OffsetVwwtbam}%
+ %récup de la hauteur maximale
+ %Hrepab
+ \setlength{\niveauABwwtbam}{0.5\HauteurQuest+0.5\HauteurReponse+\EspacementVwwtbam}%
+ %Hrepcd
+ \setlength{\niveauCDwwtbam}{0.5\HauteurQuest+1.5\HauteurReponse+2\EspacementVwwtbam}%
+ %Hjoker
+ \setlength{\HauteurNivJok}{0.5\niveauABwwtbam+0.5\niveauCDwwtbam}%
+ %hauteurquestion
+ }%
+ {%
+ \IfSubStr{\HauteursWWTBAM}{/}%
+ {\StrCut{\HauteursWWTBAM}{/}{\HauteurQuestionBrut}{\HauteurReponseBrut}}%
+ {\def\HauteurQuestBrut{\HauteursWWTBAM}\def\HauteurReponseBrut{\HauteursWWTBAM}}%
+ \setlength{\HauteurQuest}{\HauteurQuestionBrut+2\OffsetVwwtbam}%
+ \setlength{\HauteurReponse}{\HauteurReponseBrut+2\OffsetVwwtbam}%
+ %Hrepab
+ \setlength{\niveauABwwtbam}{0.5\HauteurQuest+0.5\HauteurReponse+\EspacementVwwtbam}%
+ %Hrepcd
+ \setlength{\niveauCDwwtbam}{0.5\HauteurQuest+1.5\HauteurReponse+2\EspacementVwwtbam}%
+ %Hjoker
+ \setlength{\HauteurNivJok}{0.5\niveauABwwtbam+0.5\niveauCDwwtbam}%
+ }%
+ \begin{tikzpicture}
+ %styles
+ \tikzstyle{StyleCourtoucheQuestion}=[anchor=west,inner sep=0pt,text width=\texteboitequestionwwtbam,text=\CouleurTexteWWTBAM,align=center]
+ \tikzstyle{StyleCourtoucheReponse}=[anchor=west,inner sep=0pt,text width=\texteboitereponsewwtbam,text=\CouleurTexteWWTBAM]
+ \tikzstyle{StyleDecoration}=[draw=\CouleurWWTBAM,diamond,semithick,fill=white,scale=0.4]
+ %coordonnées importantes
+ \coordinate (CartoucheQuestion) at (0,0) ;%
+ \coordinate (CartoucheReponseA) at ({-0.5*\the\largeurwwtbam+\the\margeexterieurewwtbam+0.9cm},{-(\the\niveauABwwtbam)}) ;%
+ \coordinate (CartoucheReponseB) at ({0.9cm},{-(\the\niveauABwwtbam)}) ;%
+ \coordinate (CartoucheReponseC) at ({-0.5*\the\largeurwwtbam+\the\margeexterieurewwtbam+0.9cm},{-(\the\niveauCDwwtbam)}) ;%
+ \coordinate (CartoucheReponseD) at ({0.9cm},{-(\the\niveauCDwwtbam)}) ;
+ %test
+ % \draw[red,fill=yellow] (CartoucheQuestion) circle[radius=2pt] node {question} ;
+ % \draw[red,fill=yellow] (CartoucheReponseA) circle[radius=2pt] node {A} ;
+ % \draw[red,fill=yellow] (CartoucheReponseB) circle[radius=2pt] node {B} ;
+ % \draw[red,fill=yellow] (CartoucheReponseC) circle[radius=2pt] node {C} ;
+ % \draw[red,fill=yellow] (CartoucheReponseD) circle[radius=2pt] node {D} ;
+ %CartoucheQuestion
+ \ifboolKV[wwtbam]{Effet}%
+ {%
+ %!80!black & {}
+ \filldraw[draw=\CouleurWWTBAM,thick,shading=axis,left color=\CouleurFondWWTBAM!90!black,right color=\CouleurFondWWTBAM!75,shading angle=45] ({-0.5*(\the\largeurwwtbam)},0)--++({\the\margeexterieurewwtbam},0) to[out=0,in=180]++(0.75,{0.5*(\the\HauteurQuest)}) --++({\the\largeurboitequestionwwtbam},0) to[out=0,in=180]++(0.75,{-0.5*(\the\HauteurQuest)})--++({\the\margeexterieurewwtbam},0)--++({-(\the\margeexterieurewwtbam)},0)to[out=180,in=0]++(-0.75,{-0.5*(\the\HauteurQuest)})--++({-(\the\largeurboitequestionwwtbam)},0)to[out=180,in=0]++(-0.75,{0.5*(\the\HauteurQuest)})--++({-(\the\margeexterieurewwtbam)},0) ;
+ }%
+ {%
+ \draw[\CouleurWWTBAM,thick,fill=\CouleurFondWWTBAM] ({-0.5*(\the\largeurwwtbam)},0)--++({\the\margeexterieurewwtbam},0) to[out=0,in=180]++(0.75,{0.5*(\the\HauteurQuest)}) --++({\the\largeurboitequestionwwtbam},0) to[out=0,in=180]++(0.75,{-0.5*(\the\HauteurQuest)})--++({\the\margeexterieurewwtbam},0)--++({-(\the\margeexterieurewwtbam)},0)to[out=180,in=0]++(-0.75,{-0.5*(\the\HauteurQuest)})--++({-(\the\largeurboitequestionwwtbam)},0)to[out=180,in=0]++(-0.75,{0.5*(\the\HauteurQuest)})--++({-(\the\margeexterieurewwtbam)},0) ;
+ }%
+ %CartoucheRéponseA
+ \ifboolKV[wwtbam]{Effet}%
+ {%
+ \filldraw[draw=\CouleurWWTBAM,thick,shading=axis,left color=\CouleurFondAWWTBAM!90!black,right color=\CouleurFondAWWTBAM!75,shading angle=45] ({-0.5*\the\largeurwwtbam},{-(\the\niveauABwwtbam)})--++({(\the\margeexterieurewwtbam)},0) to[out=0,in=180]++(0.75,{0.5*(\the\HauteurReponse)})--++({(\the\largeurboitereponsewwtbam)},0) to[out=0,in=180]++(0.75,{-0.5*(\the\HauteurReponse)}) to[out=180,in=0]++({-0.75},{-0.5*(\the\HauteurReponse)})--++({-(\the\largeurboitereponsewwtbam)},0)to[out=180,in=0]++(-0.75,{0.5*(\the\HauteurReponse)})--++({-(\the\margeexterieurewwtbam)},0) ;
+ }%
+ {%
+ \draw[\CouleurWWTBAM,thick,fill=\CouleurFondAWWTBAM] ({-0.5*\the\largeurwwtbam},{-(\the\niveauABwwtbam)})--++({(\the\margeexterieurewwtbam)},0) to[out=0,in=180]++(0.75,{0.5*(\the\HauteurReponse)})--++({(\the\largeurboitereponsewwtbam)},0) to[out=0,in=180]++(0.75,{-0.5*(\the\HauteurReponse)}) to[out=180,in=0]++({-0.75},{-0.5*(\the\HauteurReponse)})--++({-(\the\largeurboitereponsewwtbam)},0)to[out=180,in=0]++(-0.75,{0.5*(\the\HauteurReponse)})--++({-(\the\margeexterieurewwtbam)},0) ;
+ }%
+ %CartoucheRéponsesB
+ \ifboolKV[wwtbam]{Effet}%
+ {%
+ \filldraw[draw=\CouleurWWTBAM,thick,shading=axis,left color=\CouleurFondBWWTBAM!90!black,right color=\CouleurFondBWWTBAM!75,shading angle=45] ({0},{-(\the\niveauABwwtbam)}) to[out=0,in=180]++(0.75,{0.5*(\the\HauteurReponse)})--++({(\the\largeurboitereponsewwtbam)},0) to[out=0,in=180]++(0.75,{-0.5*(\the\HauteurReponse)})--++({(\the\margeexterieurewwtbam)},0)--++({-(\the\margeexterieurewwtbam)},0) to[out=180,in=0]++({-0.75},{-0.5*(\the\HauteurReponse)})--++({-(\the\largeurboitereponsewwtbam)},0)to[out=180,in=0]++(-0.75,{0.5*(\the\HauteurReponse)}) ;%
+ }%
+ {%
+ \draw[\CouleurWWTBAM,thick,fill=\CouleurFondBWWTBAM] ({0},{-(\the\niveauABwwtbam)}) to[out=0,in=180]++(0.75,{0.5*(\the\HauteurReponse)})--++({(\the\largeurboitereponsewwtbam)},0) to[out=0,in=180]++(0.75,{-0.5*(\the\HauteurReponse)})--++({(\the\margeexterieurewwtbam)},0)--++({-(\the\margeexterieurewwtbam)},0) to[out=180,in=0]++({-0.75},{-0.5*(\the\HauteurReponse)})--++({-(\the\largeurboitereponsewwtbam)},0)to[out=180,in=0]++(-0.75,{0.5*(\the\HauteurReponse)}) ;%
+ }%
+ %CartoucheRéponseC
+ \ifboolKV[wwtbam]{Effet}%
+ {%
+ \filldraw[draw=\CouleurWWTBAM,thick,shading=axis,left color=\CouleurFondCWWTBAM!90!black,right color=\CouleurFondCWWTBAM!75,shading angle=45] ({-0.5*\the\largeurwwtbam},{-(\the\niveauCDwwtbam)})--++({(\the\margeexterieurewwtbam)},0) to[out=0,in=180]++(0.75,{0.5*(\the\HauteurReponse)})--++({(\the\largeurboitereponsewwtbam)},0) to[out=0,in=180]++(0.75,{-0.5*(\the\HauteurReponse)}) to[out=180,in=0]++({-0.75},{-0.5*(\the\HauteurReponse)})--++({-(\the\largeurboitereponsewwtbam)},0)to[out=180,in=0]++(-0.75,{0.5*(\the\HauteurReponse)})--++({-(\the\margeexterieurewwtbam)},0) ;%
+ }%
+ {%
+ \draw[\CouleurWWTBAM,thick,fill=\CouleurFondCWWTBAM] ({-0.5*\the\largeurwwtbam},{-(\the\niveauCDwwtbam)})--++({(\the\margeexterieurewwtbam)},0) to[out=0,in=180]++(0.75,{0.5*(\the\HauteurReponse)})--++({(\the\largeurboitereponsewwtbam)},0) to[out=0,in=180]++(0.75,{-0.5*(\the\HauteurReponse)}) to[out=180,in=0]++({-0.75},{-0.5*(\the\HauteurReponse)})--++({-(\the\largeurboitereponsewwtbam)},0)to[out=180,in=0]++(-0.75,{0.5*(\the\HauteurReponse)})--++({-(\the\margeexterieurewwtbam)},0) ;%
+ }%
+ %CartoucheRéponsesD
+ \ifboolKV[wwtbam]{Effet}%
+ {%
+ \filldraw[draw=\CouleurWWTBAM,thick,shading=axis,left color=\CouleurFondDWWTBAM!90!black,right color=\CouleurFondDWWTBAM!75,shading angle=45] ({0},{-(\the\niveauCDwwtbam)}) to[out=0,in=180]++(0.75,{0.5*(\the\HauteurReponse)})--++({(\the\largeurboitereponsewwtbam)},0) to[out=0,in=180]++(0.75,{-0.5*(\the\HauteurReponse)})--++({(\the\margeexterieurewwtbam)},0)--++({-(\the\margeexterieurewwtbam)},0) to[out=180,in=0]++({-0.75},{-0.5*(\the\HauteurReponse)})--++({-(\the\largeurboitereponsewwtbam)},0)to[out=180,in=0]++(-0.75,{0.5*(\the\HauteurReponse)}) ;%
+ }%
+ {%
+ \draw[\CouleurWWTBAM,thick,fill=\CouleurFondDWWTBAM] ({0},{-(\the\niveauCDwwtbam)}) to[out=0,in=180]++(0.75,{0.5*(\the\HauteurReponse)})--++({(\the\largeurboitereponsewwtbam)},0) to[out=0,in=180]++(0.75,{-0.5*(\the\HauteurReponse)})--++({(\the\margeexterieurewwtbam)},0)--++({-(\the\margeexterieurewwtbam)},0) to[out=180,in=0]++({-0.75},{-0.5*(\the\HauteurReponse)})--++({-(\the\largeurboitereponsewwtbam)},0)to[out=180,in=0]++(-0.75,{0.5*(\the\HauteurReponse)}) ;%
+ }%
+ %labels question
+ \draw (CartoucheQuestion) node[inner sep=0pt,text=\CouleurTexteWWTBAM] {\parbox{\the\texteboitequestionwwtbam}{\centering\CodeAvantWWTBAM #2}} ;%
+ %labels réponses
+ \IfSubStr{\AffChoixWWTBAM}{A}
+ {%
+ \draw (CartoucheReponseA) node[StyleCourtoucheReponse] {\raisebox{-0.05em}{\textcolor{\CouleurLettreWWTBAM}{\large\sffamily\bfseries\vphantom{Q}A\,:}} {\CodeAvantWWTBAM #3}} ;%
+ \ifboolKV[wwtbam]{Decorations}%
+ {%
+ \node[StyleDecoration] at ($(CartoucheReponseA)+(-0.25,0)$) {} ;%
+ }%
+ {}%
+ }%
+ {}%
+ \IfSubStr{\AffChoixWWTBAM}{B}
+ {%
+ \draw (CartoucheReponseB) node[StyleCourtoucheReponse] {\raisebox{-0.05em}{\textcolor{\CouleurLettreWWTBAM}{\large\sffamily\bfseries\vphantom{Q}B\,:}} {\CodeAvantWWTBAM #4}} ;
+ \ifboolKV[wwtbam]{Decorations}
+ {%
+ \node[StyleDecoration] at ($(CartoucheReponseB)+(-0.25,0)$) {} ;
+ }%
+ {}%
+ }%
+ {}%
+ \IfSubStr{\AffChoixWWTBAM}{C}
+ {%
+ \draw (CartoucheReponseC) node[StyleCourtoucheReponse] {\raisebox{-0.05em}{\textcolor{\CouleurLettreWWTBAM}{\large\sffamily\bfseries\vphantom{Q}C\,:}} {\CodeAvantWWTBAM #5}} ;
+ \ifboolKV[wwtbam]{Decorations}
+ {%
+ \node[StyleDecoration] at ($(CartoucheReponseC)+(-0.25,0)$) {} ;
+ }%
+ {}%
+ }%
+ {}%
+ \IfSubStr{\AffChoixWWTBAM}{D}
+ {%
+ \draw (CartoucheReponseD) node[StyleCourtoucheReponse] {\raisebox{-0.05em}{\textcolor{\CouleurLettreWWTBAM}{\large\sffamily\bfseries\vphantom{Q}D\,:}} {\CodeAvantWWTBAM #6}} ;
+ \ifboolKV[wwtbam]{Decorations}
+ {%
+ \node[StyleDecoration] at ($(CartoucheReponseD)+(-0.25,0)$) {} ;
+ }%
+ {}%
+ }%
+ {}%
+ %décorations
+ \ifboolKV[wwtbam]{Jokers}
+ {%milieu du tikz = 0.5\NiveauCD
+ %50/50
+ \ifboolKV[wwtbam]{Effet}
+ {%
+ \filldraw[draw=\CouleurWWTBAM,thick,shading=axis,left color=\CouleurFondWWTBAM!90!black,right color=\CouleurFondWWTBAM!75,shading angle=45] ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)+0.55cm}) ellipse (0.65cm and 0.35cm) ;
+ }%
+ {%
+ \draw[\CouleurWWTBAM,thick,fill=\CouleurFondDWWTBAM] ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)+0.55cm}) ellipse (0.65cm and 0.35cm) ;
+ }%
+ \begin{scope}
+ \clip ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)+0.55cm}) ellipse (0.65cm and 0.35cm) ;
+ \draw ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)+0.55cm}) node[font=\bfseries\sffamily,\CouleurTexteWWTBAM] {50:50} ;
+ \IfSubStr{\AffJokersWWTBAM}{50}%
+ {}%
+ {%
+ \draw[ultra thick,red] ($({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)+0.55cm})+(-0.65,0.35)$)--++(1.3,-0.7) ;
+ \draw[ultra thick,red] ($({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)+0.55cm})+(-0.65,-0.35)$)--++(1.3,0.7) ;
+ }%
+ \end{scope}
+ %appel
+ \ifboolKV[wwtbam]{Effet}
+ {%
+ \filldraw[draw=\CouleurWWTBAM,thick,shading=axis,left color=\CouleurFondWWTBAM!90!black,right color=\CouleurFondWWTBAM!75,shading angle=45] ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)}) ellipse (0.65cm and 0.35cm) ;
+ }%
+ {%
+ \draw[\CouleurWWTBAM,thick,fill=\CouleurFondDWWTBAM] ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)}) ellipse (0.65cm and 0.35cm) ;
+ }%
+ \begin{scope}
+ \clip ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)}) ellipse (0.65cm and 0.35cm) ;
+ \draw ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)}) node[\CouleurTexteWWTBAM] {\faPhone} ;
+ \IfSubStr{\AffJokersWWTBAM}{TEL}%
+ {}%
+ {%
+ \draw[ultra thick,red] ($({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)})+(-0.65,0.35)$)--++(1.3,-0.7) ;
+ \draw[ultra thick,red] ($({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)})+(-0.65,-0.35)$)--++(1.3,0.7) ;
+ }%
+ \end{scope}
+ %public
+ \ifboolKV[wwtbam]{Effet}
+ {%
+ \filldraw[draw=\CouleurWWTBAM,thick,shading=axis,left color=\CouleurFondWWTBAM!90!black,right color=\CouleurFondWWTBAM!75,shading angle=45] ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)-0.55cm}) ellipse (0.65cm and 0.35cm) ;
+ }%
+ {%
+ \draw[\CouleurWWTBAM,thick,fill=\CouleurFondDWWTBAM] ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)-0.55cm}) ellipse (0.65cm and 0.35cm) ;
+ }%
+ \begin{scope}
+ \clip ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)-0.55cm}) ellipse (0.65cm and 0.35cm) ;
+ \draw ({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)-0.55cm}) node[\CouleurTexteWWTBAM] {\faDiagnoses\!\!\raisebox{-0.2em}{\faDiagnoses}\!\!\faDiagnoses} ;
+ \IfSubStr{\AffJokersWWTBAM}{PUB}%
+ {}%
+ {%
+ \draw[ultra thick,red] ($({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)-0.55cm})+(-0.65,0.35)$)--++(1.3,-0.7) ;
+ \draw[ultra thick,red] ($({0.5*(\the\largeurwwtbam)+0.75cm},{-(\the\HauteurNivJok)-0.55cm})+(-0.65,-0.35)$)--++(1.3,0.7) ;
+ }%
+ \end{scope}
+ }%
+ {}%
+ \end{tikzpicture}%
+}
+
+%------Code Tout le monde veut prende sa place
+
+%Couleurs
+\definecolor{ColorFondTLMVPSP}{HTML}{4E52E3}%blue!50!white
+\definecolor{ColorTLMVPSP}{HTML}{171A7A}%blue!85!white
+\definecolor{ColorChoixTLMVPSP}{HTML}{6DCFF6}%cyan!50
+\definecolor{ColorBonneTLMVPSP}{HTML}{0AC759}%green!90!blue
+\definecolor{ColorMauvaiseTLMVPSP}{HTML}{FF9F3F}%orange!75
+
+%Boîtes et dimensions utiles
+\newsavebox{\boitequestiontlmvpsp}
+\newlength{\hauteurboitequestiontlmvpsp}
+\newlength{\texteboitequestiontlmvpsp}
+%réponse largeur
+\newlength{\texteboitereponsetlmvpsp}
+%boiteréponsea
+\newsavebox{\boitereponseatlmvpsp}
+\newlength{\hauteurboitereponseatlmvpsp}
+%boiteréponseb
+\newsavebox{\boitereponsebtlmvpsp}
+\newlength{\hauteurboitereponsebtlmvpsp}
+%boiteréponsec
+\newsavebox{\boitereponsectlmvpsp}
+\newlength{\hauteurboitereponsectlmvpsp}
+%boiteréponsed
+\newsavebox{\boitereponsedtlmvpsp}
+\newlength{\hauteurboitereponsedtlmvpsp}
+%boîtethème
+\newsavebox{\boitethemetlmvpsp}
+\newlength{\hauteurboitethemetlmvpsp}
+\newlength{\largeurboitethemetlmvpsp}
+%gestion des largeurs
+\newlength{\largeurboitequestiontlmvpsp}
+\newlength{\largeurboitereponsetlmvpsp}
+\newlength{\largeurtexteboitereponsetlmvpsp}
+\newlength{\largeurtexteboitequestiontlmvpsp}
+%max des hauteurs
+\newlength{\hauteurmaxboitereponsetlmvpsp}
+\newlength{\hauteurnonautoquestiontlmvpsp}
+\newlength{\hauteurnonautoreponsestlmvpsp}
+%marges et largeurs
+\newlength{\largeurtlmvpsp}
+\newlength{\margemilieulmvpsp}
+%niveaux & demi-hauteurs
+\newlength{\niveauABtlmvpsp}
+\newlength{\niveauCDtlmvpsp}
+\newlength{\OffsetVtlmvpsp}
+\newlength{\EspacementVtlmvpsp}
+\newlength{\HauteurTheme}
+\newlength{\HauteurNivTheme}
+\newlength{\LargeurTheme}
+
+\defKV[TLMVPSP]{%
+ Largeur=\setlength{\largeurtlmvpsp}{#1},%
+ MargeMilieu=\setlength{\margemilieulmvpsp}{#1},%
+ Hauteurs=\def\HauteursTLMVPSP{#1},%
+ Couleur=\def\CouleurTLMVPSP{#1},%
+ CouleurFond=\def\CouleurFondTLMVPSP{#1},%
+ CouleurTexte=\def\CouleurTexteTLMVPSP{#1},%
+ CouleurChoix=\def\CouleurChoixTLMVPSP{#1},%
+ CouleurBonne=\def\CouleurBonneTLMVPSP{#1},%
+ CouleurMauvaise=\def\CouleurMauvaiseTLMVPSP{#1},%
+ Choix=\def\ChoixTLMVPSP{#1},%
+ Bonne=\def\BonneTLMVPSP{#1},%
+ Mauvaise=\def\MauvaiseTLMVPSP{#1},%
+ Affichage=\def\TypeAffichageTLMVPSP{#1},%
+ EspacementV=\setlength{\EspacementVtlmvpsp}{#1},%
+ Offset=\setlength{\OffsetVtlmvpsp}{#1},%
+ CodeAvant=\def\CodeAvantTLMVPSP{#1},%
+ Theme=\def\ThemeTLMVPSP{#1},%
+ Type=\def\TypeTLMVPSP{#1}
+}
+
+\setKVdefault[TLMVPSP]{%
+ Largeur=14cm,%
+ MargeMilieu=1.2cm,%
+ Hauteurs=auto,%
+ Couleur=ColorTLMVPSP,%
+ CouleurTexte=white,%
+ CouleurFond=ColorFondTLMVPSP,%
+ CouleurBonne=ColorBonneTLMVPSP,%
+ CouleurChoix=ColorChoixTLMVPSP,%
+ CouleurMauvaise=ColorMauvaiseTLMVPSP,%
+ Bonne={},%
+ Mauvaise={},%
+ Choix={},
+ Affichage=Initial,%
+ Cadre=false,%
+ EspacementV=8pt,%
+ Offset=6pt,%
+ CodeAvant=\bfseries,%
+ Theme={},%
+ Type=Carre,%
+ Effet=true,%
+ CodeAvant=\bfseries\large\sffamily
+}
+
+\NewDocumentCommand\QuizzPrendrePlace{ O{} m m m m m }{%clés + questions + 4 réponses
+ \useKVdefault[TLMVPSP]%
+ \setKV[TLMVPSP]{#1}%
+ %Couleurdescartouches
+ \def\CouleurFondATLMVPSP{\CouleurFondTLMVPSP}%
+ \def\CouleurFondBTLMVPSP{\CouleurFondTLMVPSP}%
+ \def\CouleurFondCTLMVPSP{\CouleurFondTLMVPSP}%
+ \def\CouleurFondDTLMVPSP{\CouleurFondTLMVPSP}%
+ \IfEq{\TypeAffichageTLMVPSP}{Choix}
+ {%
+ \IfStrEq{\ChoixTLMVPSP}{A}
+ {\def\CouleurFondATLMVPSP{\CouleurChoixTLMVPSP}}%
+ {}%
+ \IfStrEq{\ChoixTLMVPSP}{B}
+ {\def\CouleurFondBTLMVPSP{\CouleurChoixTLMVPSP}}%
+ {}%
+ \IfStrEq{\ChoixTLMVPSP}{C}
+ {\def\CouleurFondCTLMVPSP{\CouleurChoixTLMVPSP}}%
+ {}%
+ \IfStrEq{\ChoixTLMVPSP}{D}
+ {\def\CouleurFondDTLMVPSP{\CouleurChoixTLMVPSP}}%
+ {}%
+ }%
+ {}%
+ \IfEq{\TypeAffichageTLMVPSP}{PropSol}
+ {%
+ \IfStrEq{\BonneTLMVPSP}{A}
+ {\def\CouleurFondATLMVPSP{\CouleurBonneTLMVPSP}}%
+ {}%
+ \IfStrEq{\BonneTLMVPSP}{B}
+ {\def\CouleurFondBTLMVPSP{\CouleurBonneTLMVPSP}}%
+ {}%
+ \IfStrEq{\BonneTLMVPSP}{C}
+ {\def\CouleurFondCTLMVPSP{\CouleurBonneTLMVPSP}}%
+ {}%
+ \IfStrEq{\BonneTLMVPSP}{D}
+ {\def\CouleurFondDTLMVPSP{\CouleurBonneTLMVPSP}}%
+ {}%
+ \IfStrEq{\MauvaiseTLMVPSP}{A}
+ {\def\CouleurFondATLMVPSP{\CouleurMauvaiseTLMVPSP}}%
+ {}%
+ \IfStrEq{\MauvaiseTLMVPSP}{B}
+ {\def\CouleurFondBTLMVPSP{\CouleurMauvaiseTLMVPSP}}%
+ {}%
+ \IfStrEq{\MauvaiseTLMVPSP}{C}
+ {\def\CouleurFondCTLMVPSP{\CouleurMauvaiseTLMVPSP}}%
+ {}%
+ \IfStrEq{\MauvaiseTLMVPSP}{D}
+ {\def\CouleurFondDTLMVPSP{\CouleurMauvaiseTLMVPSP}}%
+ {}%
+ }%
+ {}%
+ \IfEq{\TypeAffichageTLMVPSP}{Sol}
+ {%
+ \IfStrEq{\BonneTLMVPSP}{A}
+ {\def\CouleurFondATLMVPSP{\CouleurBonneTLMVPSP}}%
+ {}%
+ \IfStrEq{\BonneTLMVPSP}{B}
+ {\def\CouleurFondBTLMVPSP{\CouleurBonneTLMVPSP}}%
+ {}%
+ \IfStrEq{\BonneTLMVPSP}{C}
+ {\def\CouleurFondCTLMVPSP{\CouleurBonneTLMVPSP}}%
+ {}%
+ \IfStrEq{\BonneTLMVPSP}{D}
+ {\def\CouleurFondDTLMVPSP{\CouleurBonneTLMVPSP}}%
+ {}%
+ }%
+ {}%
+ %dimensions de base
+ \setlength{\texteboitequestiontlmvpsp}{\largeurtlmvpsp-0.4cm}%
+ \setlength{\largeurboitereponsetlmvpsp}{0.5\largeurtlmvpsp-0.5\margemilieulmvpsp}%
+ \setlength{\texteboitereponsetlmvpsp}{\largeurboitereponsetlmvpsp-0.4cm}%
+ %Si les hauteurs sont en auto, on calcule tout
+ %dimensions de base
+ \IfStrEq{\HauteursTLMVPSP}{auto}%
+ {%
+ %thème
+ \IfStrEq{\ThemeTLMVPSP}{}%
+ {}%
+ {%
+ \sbox{\boitethemetlmvpsp}{\CodeAvantTLMVPSP\ThemeTLMVPSP}%
+ \settoboxtotalheight{\hauteurboitethemetlmvpsp}{\boitethemetlmvpsp}%
+ \settoboxwidth{\largeurboitethemetlmvpsp}{\boitethemetlmvpsp}%
+ }%
+ %BlocQuestion
+ \sbox{\boitequestiontlmvpsp}{\parbox{\the\texteboitequestiontlmvpsp}{\centering\CodeAvantTLMVPSP #2}}\settoboxtotalheight{\hauteurboitequestiontlmvpsp}{\boitequestiontlmvpsp}%
+ %BlocRépA
+ \sbox{\boitereponseatlmvpsp}{\parbox{\the\texteboitereponsetlmvpsp}{\CodeAvantTLMVPSP #3}}\settoboxtotalheight{\hauteurboitereponseatlmvpsp}{\boitereponseatlmvpsp}%
+ %BlocRépB
+ \sbox{\boitereponsebtlmvpsp}{\parbox{\the\texteboitereponsetlmvpsp}{\CodeAvantTLMVPSP #4}}\settoboxtotalheight{\hauteurboitereponsebtlmvpsp}{\boitereponsebtlmvpsp}%
+ %BlocRépC
+ \sbox{\boitereponsectlmvpsp}{\parbox{\the\texteboitereponsetlmvpsp}{\CodeAvantTLMVPSP #5}}\settoboxtotalheight{\hauteurboitereponsectlmvpsp}{\boitereponsectlmvpsp}%
+ %BlocRépD
+ \sbox{\boitereponsedtlmvpsp}{\parbox{\the\texteboitereponsetlmvpsp}{\CodeAvantTLMVPSP #6}}\settoboxtotalheight{\hauteurboitereponsedtlmvpsp}{\boitereponsedtlmvpsp}%
+ %hauteurréponsesmax
+ \pgfmathsetlength{\hauteurmaxboitereponsetlmvpsp}{max(\hauteurboitereponseatlmvpsp,\hauteurboitereponsebtlmvpsp,\hauteurboitereponsectlmvpsp,\hauteurboitereponsedtlmvpsp)}%
+ %hauteur des boîtes
+ \setlength{\HauteurQuest}{\hauteurboitequestiontlmvpsp+2\OffsetVtlmvpsp}%
+ \setlength{\HauteurReponse}{\hauteurmaxboitereponsetlmvpsp+2\OffsetVtlmvpsp}%
+ \setlength{\HauteurTheme}{\hauteurboitethemetlmvpsp+2\OffsetVtlmvpsp}%
+ %Hrepab
+ \setlength{\niveauCDtlmvpsp}{0.5\HauteurQuest+0.5\HauteurReponse+\EspacementVtlmvpsp}%
+ %Hrepcd
+ \setlength{\niveauABtlmvpsp}{0.5\HauteurQuest+1.5\HauteurReponse+2\EspacementVtlmvpsp}%
+ %Htheme & Ltheme
+ \setlength{\HauteurNivTheme}{0.5\HauteurQuest+0.5\HauteurTheme+\EspacementVtlmvpsp}%
+ \setlength{\LargeurTheme}{\largeurboitethemetlmvpsp+0.8cm}%
+ }%
+ {%
+ \IfSubStr{\HauteursTLMVPSP}{/}%
+ {\StrCut{\HauteursTLMVPSP}{/}{\HauteurQuestionBrut}{\HauteurReponseBrut}}%
+ {\def\HauteurQuestBrut{\HauteursTLMVPSP}\def\HauteurReponseBrut{\HauteursTLMVPSP}}%
+ \setlength{\HauteurQuest}{\HauteurQuestionBrut+2\OffsetVtlmvpsp}%
+ \setlength{\HauteurReponse}{\HauteurReponseBrut+2\OffsetVtlmvpsp}%
+ %Hrepab
+ \setlength{\niveauCDtlmvpsp}{0.5\HauteurQuest+0.5\HauteurReponse+\EspacementVtlmvpsp}%
+ %Hrepcd
+ \setlength{\niveauABtlmvpsp}{0.5\HauteurQuest+1.5\HauteurReponse+2\EspacementVtlmvpsp}%
+ \setlength{\HauteurTheme}{1em+2\OffsetVtlmvpsp}%
+ %Htheme & Ltheme
+ \setlength{\HauteurNivTheme}{0.5\HauteurQuest+0.5\HauteurTheme+\EspacementVtlmvpsp}%
+ \setlength{\LargeurTheme}{0.5\largeurtlmvpsp}%
+ }%
+ %création de l'environnement
+ \begin{tikzpicture}
+ %\tikzstyle{StyleCourtoucheRepTlmvpsp}=[anchor=west,inner sep=0pt,text width=texteboitereponsewwtbam,align=justify]
+ \coordinate (CartoucheQuestion) at (0,0) ;
+ \coordinate (CartoucheReponseA) at ({-0.5*(\the\largeurtlmvpsp)},{(\the\niveauABtlmvpsp)}) ;
+ \coordinate (CartoucheReponseB) at ({0.5*(\the\largeurtlmvpsp)-(\the\largeurboitereponsetlmvpsp)},{(\the\niveauABtlmvpsp)}) ;
+ \coordinate (CartoucheReponseC) at ({-0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp)}) ;
+ \coordinate (CartoucheReponseD) at ({0.5*(\the\largeurtlmvpsp)-(\the\largeurboitereponsetlmvpsp)},{(\the\niveauCDtlmvpsp)}) ;
+ %test position boîtes
+ %\foreach \Po in {Question,ReponseA,ReponseB,ReponseC,ReponseD} {\filldraw[draw=red,yellow] (Cartouche\Po) circle[radius=2pt] ;}
+ %CartoucheQuestion
+ \ifboolKV[TLMVPSP]{Effet}
+ {%
+ \filldraw[rounded corners=2pt,draw=\CouleurTLMVPSP,thick,shading=axis,left color=\CouleurFondTLMVPSP!85!black,right color=\CouleurFondTLMVPSP!75,shading angle=-135] ({-0.5*(\the\largeurtlmvpsp)},{-0.5*(\the\HauteurQuest)}) rectangle++ ({\the\largeurtlmvpsp},{\the\HauteurQuest}) ;
+ }%
+ {%
+ \draw[rounded corners=2pt,\CouleurTLMVPSP,thick,fill=\CouleurFondTLMVPSP!75] ({-0.5*(\the\largeurtlmvpsp)},{-0.5*(\the\HauteurQuest)}) rectangle++ ({\the\largeurtlmvpsp},{\the\HauteurQuest}) ;
+ }%
+ \draw[rounded corners=3.25pt,thick,\CouleurTLMVPSP,opacity=0.25] ($({-0.5*(\the\largeurtlmvpsp)},{-0.5*(\the\HauteurQuest)})+(-1.25pt,-1.25pt)$) rectangle++ ($({\the\largeurtlmvpsp},{\the\HauteurQuest})+(2.5pt,2.5pt)$) ;
+ %CartoucheScore
+ \draw[rounded corners=3.5pt,thick,\CouleurTLMVPSP,opacity=0.25] ($({-0.275*(\the\margemilieulmvpsp)},{\the\niveauCDtlmvpsp-0.5*(\the\HauteurReponse)})+(-1.25pt,-1.25pt)$) rectangle++ ($({0.55*(\the\margemilieulmvpsp)},{\the\margemilieulmvpsp})+(2.5pt,2.5pt)$) ;
+ \begin{scope}
+ \clip[rounded corners=2pt] ({-0.275*(\the\margemilieulmvpsp)},{\the\niveauCDtlmvpsp-0.5*(\the\HauteurReponse)}) rectangle++ ({0.55*(\the\margemilieulmvpsp)},{\the\margemilieulmvpsp}) ;
+ \draw[thick,draw=none,fill=\CouleurFondTLMVPSP] ($({-0.275*(\the\margemilieulmvpsp)},{\the\niveauCDtlmvpsp-0.5*(\the\HauteurReponse)})+(0,{\the\margemilieulmvpsp})$) --++ ({0.55*\the\margemilieulmvpsp},0)--++ (0,{-0.38*\the\margemilieulmvpsp}) --++ ({-0.55*\the\margemilieulmvpsp},{-0.24*\the\margemilieulmvpsp}) -- cycle ;
+ \draw[thick,draw=none,fill=violet!50] ({-0.275*(\the\margemilieulmvpsp)},{\the\niveauCDtlmvpsp-0.5*(\the\HauteurReponse)}) --++ ({0.55*\the\margemilieulmvpsp},0)--++ (0,{0.62*\the\margemilieulmvpsp}) --++ ({-0.55*\the\margemilieulmvpsp},{-0.24*\the\margemilieulmvpsp}) -- cycle ;
+ \end{scope}
+ \draw[rounded corners=2pt,\CouleurTLMVPSP,thick] ({-0.275*(\the\margemilieulmvpsp)},{\the\niveauCDtlmvpsp-0.5*(\the\HauteurReponse)}) rectangle++ ({0.55*(\the\margemilieulmvpsp)},{\the\margemilieulmvpsp}) ;
+ %labels
+ \draw (CartoucheQuestion) node[inner sep=0pt,text=\CouleurTexteTLMVPSP] {\parbox{\the\texteboitequestiontlmvpsp}{\centering\CodeAvantTLMVPSP #2}} ;
+ % %les cartouches suivant le type de réponses choisies
+ \IfStrEq{\TypeTLMVPSP}{Cash}%
+ {}{}%
+ \IfStrEq{\TypeTLMVPSP}{Carre}%
+ {%
+ %CartoucheRéponseA
+ \ifboolKV[TLMVPSP]{Effet}
+ {%
+ \filldraw[rounded corners=2pt,draw=\CouleurTLMVPSP,thick,shading=axis,left color=\CouleurFondATLMVPSP!85!black,right color=\CouleurFondATLMVPSP!75,shading angle=-135] ({-0.5*(\the\largeurtlmvpsp)},{(\the\niveauABtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ {%
+ \draw[rounded corners=2pt,\CouleurTLMVPSP,thick,fill=\CouleurFondATLMVPSP!75] ({-0.5*(\the\largeurtlmvpsp)},{(\the\niveauABtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ \draw[rounded corners=3.5pt,thick,\CouleurTLMVPSP,opacity=0.25] ($({-0.5*(\the\largeurtlmvpsp)},{(\the\niveauABtlmvpsp-0.5*\the\HauteurReponse)})+(-1.25pt,-1.25pt)$) rectangle++ ($({\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse})+(2.5pt,2.5pt)$) ;
+ %CartoucheRéponsesB
+ \ifboolKV[TLMVPSP]{Effet}
+ {%
+ \filldraw[rounded corners=2pt,draw=\CouleurTLMVPSP,thick,shading=axis,left color=\CouleurFondBTLMVPSP!85!black,right color=\CouleurFondBTLMVPSP!75,shading angle=-135] ({0.5*(\the\largeurtlmvpsp)},{(\the\niveauABtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({-\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ {%
+ \draw[rounded corners=2pt,\CouleurTLMVPSP,thick,fill=\CouleurFondBTLMVPSP!75] ({0.5*(\the\largeurtlmvpsp)},{(\the\niveauABtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({-\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ \draw[rounded corners=3.5pt,thick,\CouleurTLMVPSP,opacity=0.25] ($({0.5*(\the\largeurtlmvpsp)},{(\the\niveauABtlmvpsp-0.5*\the\HauteurReponse)})+(1.25pt,-1.25pt)$) rectangle++ ($({-\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse})+(-2.5pt,2.5pt)$) ;
+ % CartoucheRéponseC
+ \ifboolKV[TLMVPSP]{Effet}
+ {%
+ \filldraw[rounded corners=2pt,draw=\CouleurTLMVPSP,thick,shading=axis,left color=\CouleurFondCTLMVPSP!85!black,right color=\CouleurFondCTLMVPSP!75,shading angle=-135] ({-0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ {%
+ \draw[rounded corners=2pt,\CouleurTLMVPSP,thick,fill=\CouleurFondCTLMVPSP!75] ({-0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ \draw[rounded corners=3.5pt,thick,\CouleurTLMVPSP,opacity=0.25] ($({-0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)})+(-1.25pt,-1.25pt)$) rectangle++ ($({\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse})+(2.5pt,2.5pt)$) ;
+ % CartoucheRéponsesD
+ \ifboolKV[TLMVPSP]{Effet}
+ {%
+ \filldraw[rounded corners=2pt,draw=\CouleurTLMVPSP,thick,shading=axis,left color=\CouleurFondDTLMVPSP!85!black,right color=\CouleurFondDTLMVPSP!75,shading angle=-135] ({0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({-\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ {%
+ \draw[rounded corners=2pt,\CouleurTLMVPSP,thick,fill=\CouleurFondDTLMVPSP!75] ({0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({-\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ \draw[rounded corners=3.5pt,thick,\CouleurTLMVPSP,opacity=0.25] ($({0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)})+(1.25pt,-1.25pt)$) rectangle++ ($({-\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse})+(-2.5pt,2.5pt)$) ;
+ %labels
+ \draw (CartoucheReponseA) node[right=0.15cm,anchor=west,text=\CouleurTexteTLMVPSP,text width=\the\texteboitereponsetlmvpsp] {\CodeAvantTLMVPSP #3} ;
+ \draw (CartoucheReponseB) node[right=0.15cm,anchor=west,text=\CouleurTexteTLMVPSP,text width=\the\texteboitereponsetlmvpsp] {\CodeAvantTLMVPSP #4} ;
+ \draw (CartoucheReponseC) node[right=0.15cm,anchor=west,text=\CouleurTexteTLMVPSP,text width=\the\texteboitereponsetlmvpsp] {\CodeAvantTLMVPSP #5} ;
+ \draw (CartoucheReponseD) node[right=0.15cm,anchor=west,text=\CouleurTexteTLMVPSP,text width=\the\texteboitereponsetlmvpsp] {\CodeAvantTLMVPSP #6} ;
+ }%
+ {}%
+ \IfStrEq{\TypeTLMVPSP}{Duo}%
+ {%
+ % CartoucheRéponseC
+ \ifboolKV[TLMVPSP]{Effet}
+ {%
+ \filldraw[rounded corners=2pt,draw=\CouleurTLMVPSP,thick,shading=axis,left color=\CouleurFondCTLMVPSP!85!black,right color=\CouleurFondCTLMVPSP!75,shading angle=-135] ({-0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ {%
+ \draw[rounded corners=2pt,\CouleurTLMVPSP,thick,fill=\CouleurFondCTLMVPSP!75] ({-0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ \draw[rounded corners=3.5pt,thick,\CouleurTLMVPSP,opacity=0.25] ($({-0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)})+(-1.25pt,-1.25pt)$) rectangle++ ($({\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse})+(2.5pt,2.5pt)$) ;
+ % CartoucheRéponsesD
+ \ifboolKV[TLMVPSP]{Effet}
+ {%
+ \filldraw[rounded corners=2pt,draw=\CouleurTLMVPSP,thick,shading=axis,left color=\CouleurFondDTLMVPSP!85!black,right color=\CouleurFondDTLMVPSP!75,shading angle=-135] ({0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({-\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ {%
+ \draw[rounded corners=2pt,\CouleurTLMVPSP,thick,fill=\CouleurFondDTLMVPSP!75] ({0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)}) rectangle++ ({-\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse}) ;
+ }%
+ \draw[rounded corners=3.5pt,thick,\CouleurTLMVPSP,opacity=0.25] ($({0.5*(\the\largeurtlmvpsp)},{(\the\niveauCDtlmvpsp-0.5*\the\HauteurReponse)})+(1.25pt,-1.25pt)$) rectangle++ ($({-\the\largeurboitereponsetlmvpsp},{\the\HauteurReponse})+(-2.5pt,2.5pt)$) ;
+ %labels
+ \draw (CartoucheReponseA) node[right=0.15cm,anchor=west,text=\CouleurTexteTLMVPSP,text width=\the\texteboitereponsetlmvpsp] {\CodeAvantTLMVPSP #3} ;
+ \draw (CartoucheReponseB) node[right=0.15cm,anchor=west,text=\CouleurTexteTLMVPSP,text width=\the\texteboitereponsetlmvpsp] {\CodeAvantTLMVPSP #4} ;
+ \draw (CartoucheReponseC) node[right=0.15cm,anchor=west,text=\CouleurTexteTLMVPSP,text width=\the\texteboitereponsetlmvpsp] {\CodeAvantTLMVPSP #5} ;
+ \draw (CartoucheReponseD) node[right=0.15cm,anchor=west,text=\CouleurTexteTLMVPSP,text width=\the\texteboitereponsetlmvpsp] {\CodeAvantTLMVPSP #6} ;
+ }%
+ {}%
+ %thème
+ \IfStrEq{\ThemeTLMVPSP}{}%
+ {}%
+ {%
+ \draw[rounded corners=3.5pt,thick,\CouleurTLMVPSP,opacity=0.25] ($({-0.5*(\the\LargeurTheme)},{(-0.5*(\the\HauteurTheme)-\the\HauteurNivTheme)})+(-1.25pt,-1.25pt)$) rectangle++ ($({\the\LargeurTheme},{\the\HauteurTheme})+(2.5pt,2.5pt)$) ;
+ \draw[rounded corners=2pt,\CouleurTLMVPSP,thick,fill=white] ({-0.5*(\the\LargeurTheme)},{(-0.5*(\the\HauteurTheme)-\the\HauteurNivTheme)}) rectangle++ ({\the\LargeurTheme},{\the\HauteurTheme}) ;
+ \draw (0,{-\the\HauteurNivTheme}) node[text=\CouleurTLMVPSP] {\CodeAvantTLMVPSP\ThemeTLMVPSP} ;
+ }%
+ \end{tikzpicture}%
+}
+
+\endinput \ No newline at end of file