%%%% % Scratch %%%% \def\filedateScratch{2025/02/17}% \def\fileversionScratch{0.1b}% \message{-- \filedateScratch\space v\fileversionScratch}% % \newlength{\longbarreheight} \setlength{\longbarreheight}{2.1ex+3pt} \newlength{\longbarredepth} \setlength{\longbarredepth}{0.9ex+3pt} \def\longbarre{\vrule height\longbarreheight depth\longbarredepth width0pt}% \def\barre{\vrule height2.1ex depth.9ex width0pt}% \def\demibarre{\vrule height1.4ex depth.6ex width0pt}% \setKVdefault[Scratch]{ModeleCouleur=5,Impression=false,Numerotation=false,Echelle=1,Naturel=false,Dys=false}% \ifluatex \NewDocumentEnvironment{Scratch}{o +b}{% \useKVdefault[Scratch]% \setKV[Scratch]{#1}% \ifPfCPfMScratchDys\relax\setKV[Scratch]{Dys}\fi \mplibforcehmode% \ifboolKV[Scratch]{Naturel}{}{\myfontScratch}% \begin{mplibcode}% defaultcolormodel:=\useKV[Scratch]{ModeleCouleur}; boolean Naturel,ScratchDys; Naturel=\useKV[Scratch]{Naturel}; Echelle=\useKV[Scratch]{Echelle}; if Naturel: input PfCPseudo; print:=true; else: input PfCScratch; print:=\useKV[Scratch]{Impression}; fi; NumeroteLignes:=\useKV[Scratch]{Numerotation};% if \useKV[Scratch]{Dys}: print:=true; Echelle:=1; fi; if defaultcolormodel=7: cmykcolor white,White,CoulLignes; coefprint:=1-coefprint; White=(0,0,0,1); white=(0,0,0,0); CoulLignes=(0,0,0,1); fi; #2% picture recap;% recap:=currentpicture scaled Echelle;% currentpicture:=nullpicture;% draw recap;% \end{mplibcode}% }{} \else% \NewDocumentEnvironment{Scratch}{o +b}{% \setKV[Scratch]{#1}% \begin{mpost}[mpsettings={boolean Naturel;Naturel=\useKV[Scratch]{Naturel};if Naturel: input PfCPseudo; print:=true; else: input PfCScratchpdf; print:=\useKV[Scratch]{Impression}; fi;NumeroteLignes:=\useKV[Scratch]{Numerotation};Echelle:=\useKV[Scratch]{Echelle};}]% #2% picture recap;% recap:=currentpicture scaled Echelle;% currentpicture:=nullpicture;% draw recap;% \end{mpost} }{}% \fi% %\newlength\PfCScratchHeight% %\newlength\PfCScratchDepth% % %\settoheight{\PfCScratchHeight}{% % ÉàÈÇABCDEFGHIJKLMNOPQRSTUVWXYZ% % abcdefghijklmnopqrstuvwxyzàéèçùoôö% %}% %\settodepth{\PfCScratchDepth}{% % ÉàÈÇABCDEFGHIJKLMNOPQRSTUVWXYZ% % abcdefghijklmnopqrstuvwxyzàéèçùoôö% %}% \NewDocumentCommand\ScratchEnLigne{sO{}m}{% \IfBooleanTF{#1}{% \raisebox{-\PfCScratchDepth}{% \begin{Scratch}[Echelle=\fpeval{(\PfCScratchHeight+\PfCScratchDepth)/1cm},#2]% Placer #3; \end{Scratch}% }% }{% \raisebox{-0.5\height}{% \begin{Scratch}[#2] Placer #3; \end{Scratch}% }% }% }%