%%% % Systèmes images %%% \def\filedateSystemeImage{2025/07/27}% \def\fileversionSystemeImage{0.1}% \message{-- \filedateSystemeImage\space v\fileversionSystemeImage}% % \setKVdefault[SystemeImage]{Images={A,B,C},Solutions=false,Solution={},Inconnues={A,B,C}} \makeatletter \NewDocumentCommand\SystemeImage{om}{% \useKVdefault[SystemeImage]% \setKV[SystemeImage]{#1}% \ifemptyKV[SystemeImage]{Solution}{}{\setKV[SystemeImage]{Solutions}}% \edef\PfM@PrepaImages{\useKV[SystemeImage]{Images}}% \edef\PfM@PrepaInconnues{\useKV[SystemeImage]{Inconnues}}% \setsepchar{,}\ignoreemptyitems% \readlist*\PfM@ListeImages{\PfM@PrepaImages}% \readlist*\PfM@ListeInconnues{\PfM@PrepaInconnues}% \setsepchar{§}\ignoreemptyitems% \readlist*\PfM@ListeEqua{#2}% \reademptyitems% % Equa : $\showitems\PfM@ListeEqua[]$\par % Inconnues : \showitems\PfM@ListeInconnues[]\par % Images : \showitems\PfM@ListeImages[]\par \ifboolKV[SystemeImage]{Solutions}{% \edef\PfM@PrepaSolutions{\useKV[SystemeImage]{Solution}}% \setsepchar{,}\ignoreemptyitems% \readlist*\PfM@ListeSolutions{\PfM@PrepaSolutions}% \reademptyitems% \begin{align*} \xintFor* ##1 in{\xintSeq{1}{\PfM@ListeEqualen}}\do{% &\edef\PfM@Test{\PfM@ListeEqua[##1]}% \xintFor* ##2 in{\xintSeq{1}{\PfM@ListeImageslen}}\do{% \expandarg% \edef\PfM@Titi{\PfM@ListeInconnues[##2]}% \StrSubstitute{\PfM@Test}{\PfM@Titi}{\mathcolor{Evidence}{\PfM@ListeSolutions[##2]}}[\PfM@Test]% }% \PfM@Test\xintifboolexpr{##1==\PfM@ListeEqualen}{}{\\} }% \end{align*} }{% \begin{align*} \xintFor* ##1 in{\xintSeq{1}{\PfM@ListeEqualen}}\do{% &\edef\PfM@Test{\PfM@ListeEqua[##1]}% \xintFor* ##2 in{\xintSeq{1}{\PfM@ListeImageslen}}\do{% \expandarg% \edef\PfM@Titi{\PfM@ListeInconnues[##2]}% % \StrSubstitute{\PfM@Test}{\PfM@Titi}{\raisebox{-0.25\height}{\text{\PfM@ListeImages[##2]}}}[\PfM@Test]% }\PfM@Test\xintifboolexpr{##1==\PfM@ListeEqualen}{}{\\} }% \end{align*} }% }% \makeatother %