%%% % R\'eponses \`a relier %%% \def\filedateQRelier{2024/08/04}% \def\fileversionQRelier{0.1}% \message{-- \filedateQRelier\space v\fileversionQRelier}% % \setKVdefault[ClesRelie]{Solution=false,LargeurG=5cm,LargeurD=2cm,Stretch=1.5,Ecart=2cm,Couleur=black}% \defKV[ClesRelie]{Graine=\PfCGraineAlea{#1}}% \newcounter{NbRelie}% \newcounter{NbRelieD} \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% \itemtomacro\ListeRelie[##1,3]\Foo \setsepchar{-}\ignoreemptyitems% \readlist*\ListeRelieReponses{\Foo}% \reademptyitems \foreachitem\compteur\in\ListeRelieReponses{% \tikz[remember picture,overlay]{\draw[PfCRelieCouleurTrace] (RelieG-##1) -- (RelieD-\ListeRelieReponses[\compteurcnt]);}% } \fi }% }{% }% }% }% \def\buildtabrelie{% \setcounter{NbRelie}{0}% \setcounter{NbRelieD}{0}% \renewcommand{\arraystretch}{\useKV[ClesRelie]{Stretch}}% \begin{tabular}{p{\useKV[ClesRelie]{LargeurG}}cp{\useKV[ClesRelie]{Ecart}}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}% \else \uppercase{&}\stepcounter{NbRelie}\tikz[remember picture,overlay]{\node[name=RelieG-\theNbRelie,inner sep=0pt]{};\fill[] (RelieG-\theNbRelie) circle[radius=1.5pt];} \fi&& \itemtomacro\ListeRelie[##1,2]\untest \ifx\bla\untest\bla\else\stepcounter{NbRelieD}\tikz[remember picture]{\node[name=RelieD-\theNbRelieD,inner sep=0pt]{};\fill[] (RelieD-\theNbRelieD) circle[radius=1.5pt]} \fi &\itemtomacro\ListeRelie[##1,2]\untest% \ifx\bla\untest\bla \else \ListeRelie[##1,2] \fi\\}% \end{tabular}% %\setcounter{NbRelie}{0}% %\setcounter{NbRelieD}{0}% }% \def\buildtabrelieauto{% \setcounter{NbRelie}{0}% \setcounter{NbRelieD}{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]{\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,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}% }%