summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex')
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex69
1 files changed, 61 insertions, 8 deletions
diff --git a/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex b/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
index fa35906ead..9745bb144c 100644
--- a/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCQuestionsRelier.tex
@@ -2,8 +2,46 @@
% R\'eponses \`a relier
%%%
\setKVdefault[ClesRelie]{Solution=false,LargeurG=5cm,LargeurD=2cm,Stretch=1.5,Ecart=2cm,Couleur=black}%
+\defKV[ClesRelie]{Graine=\PfCGraineAlea{#1}}%
-\newcommand\Relie[2][]{%
+\NewDocumentCommand\Relie{som}{%
+ \useKVdefault[ClesRelie]%
+ \setKV[ClesRelie]{#2}%
+ \colorlet{PfCRelieCouleurTrace}{\useKV[ClesRelie]{Couleur}}%
+ \setsepchar[*]{,*/}\reademptyitems%
+ \readlist*\ListeRelie{#3}%
+ \ignoreemptyitems%
+ \IfBooleanTF{#1}{%
+ \buildtabrelieauto%
+ %\par
+ \ifboolKV[ClesRelie]{Solution}{%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{%
+ \itemtomacro\PfCListeReponsesMelangees[##1]\PfCNumReponses%
+ \itemtomacro\ListeRelie[\PfCNumReponses,1]\untest%
+ % Le test est \untest\\
+ \ifx\bla\untest\bla%
+ \else
+ \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-\PfCNumReponses) -- (RelieD-##1);}%
+ \fi
+ }%
+ }{%
+ }%
+ }{%
+ \buildtabrelie%
+ \ifboolKV[ClesRelie]{Solution}{%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{%
+ \itemtomacro\ListeRelie[##1,1]\untest%
+ \ifx\bla\untest\bla%
+ \else%
+ \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelie[##1,3]);}%
+ \fi
+ }%
+ }{%
+ }%
+ }%
+}%
+
+\newcommand\Relieold[2][]{%
\useKVdefault[ClesRelie]%
\setKV[ClesRelie]{#1}%
\setsepchar[*]{,*/}\reademptyitems%
@@ -44,17 +82,32 @@
\setcounter{NbRelie}{0}%
}%
-\def\buildtabrelieold{%
+\def\buildtabrelieauto{%
\setcounter{NbRelie}{0}%
+ \xdef\PfCFooListeNbQ{1}%
+ \xintFor* ##1 in{\xintSeq{2}{\ListeRelielen}}\do{%
+ \xdef\PfCFooListeNbQ{\PfCFooListeNbQ,##1}%
+ }%
+ \setsepchar{,}\ignoreemptyitems%
+ \MelangeListe{\PfCFooListeNbQ}{\ListeRelielen}%
+ \setsepchar{,}\ignoreemptyitems%
+ \readlist*\PfCListeReponsesMelangees{\faa}%
\renewcommand{\arraystretch}{\useKV[ClesRelie]{Stretch}}%
\begin{tabular}{p{\useKV[ClesRelie]{LargeurG}}cp{\useKV[ClesRelie]{Ecart}}>{\tikz[remember
- picture,baseline]{\node[name=RelieD-\theNbRelie]{\Large\textbullet};}}cp{\useKV[ClesRelie]{LargeurD}}}%
- \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{\ListeRelie[##1,1]\itemtomacro\ListeRelie[##1,1]\untest%
-\ifx\bla\untest\bla%
- \uppercase{&}\stepcounter{NbRelie}%
+ picture]{\node[name=RelieD-\theNbRelie,inner
+ sep=0pt]{};\fill[] (RelieD-\theNbRelie) circle[radius=1.5pt]}}cp{\useKV[ClesRelie]{LargeurD}}}%
+ \xintFor* ##1 in {\xintSeq {1}{\ListeRelielen}}\do{
+ \ListeRelie[##1,1]\itemtomacro\ListeRelie[##1,1]\untest%
+ \ifx\bla\untest\bla%
+ \uppercase{&}\stepcounter{NbRelie}\tikz[remember
+ picture,overlay]{\node[name=RelieG-\theNbRelie,inner
+ sep=0pt]{};}
\else
- \uppercase{&}\stepcounter{NbRelie}\tikz[remember picture,baseline]{\node[name=RelieG-\theNbRelie]{\Large\textbullet};}
-\fi&&&\ListeRelie[##1,2]\\}%
+ \uppercase{&}\stepcounter{NbRelie}\tikz[remember
+ picture,overlay]{\node[name=RelieG-\theNbRelie,inner
+ sep=0pt]{};\fill[]
+ (RelieG-\theNbRelie) circle[radius=1.5pt];}
+ \fi&&&\itemtomacro\PfCListeReponsesMelangees[##1]\PfCNumReponses\ListeRelie[\PfCNumReponses,2]\\}%
\end{tabular}%
\setcounter{NbRelie}{0}%
}% \ No newline at end of file