From 68da45b74eea591538f6378878a0dca04e541bb9 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Wed, 14 Jun 2023 03:00:42 +0000 Subject: CTAN sync 202306140300 --- macros/latex/contrib/quizztex/README.md | 9 + .../latex/contrib/quizztex/doc/quizztex-doc-fr.pdf | Bin 0 -> 505094 bytes .../latex/contrib/quizztex/doc/quizztex-doc-fr.tex | 614 +++++++++++++++++ macros/latex/contrib/quizztex/tex/quizztex.sty | 734 +++++++++++++++++++++ 4 files changed, 1357 insertions(+) create mode 100644 macros/latex/contrib/quizztex/README.md create mode 100644 macros/latex/contrib/quizztex/doc/quizztex-doc-fr.pdf create mode 100644 macros/latex/contrib/quizztex/doc/quizztex-doc-fr.tex create mode 100644 macros/latex/contrib/quizztex/tex/quizztex.sty (limited to 'macros/latex') 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 Binary files /dev/null and b/macros/latex/contrib/quizztex/doc/quizztex-doc-fr.pdf 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!!...!. +\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 -- cgit v1.2.3