summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/profcollege/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-18 03:02:36 +0000
committerNorbert Preining <norbert@preining.info>2023-04-18 03:02:36 +0000
commit80e82c6cd5fb165fa720a1ce3a25f357ea11b9fc (patch)
treef8978ec3fb998e446d63ff65719cc30189deeb5f /macros/latex/contrib/profcollege/latex
parent88aa9bb9a3222cf13820ae3b6f64ce48dcd003ea (diff)
CTAN sync 202304180302
Diffstat (limited to 'macros/latex/contrib/profcollege/latex')
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex22
-rw-r--r--macros/latex/contrib/profcollege/latex/PfCNonogramme.tex587
-rw-r--r--macros/latex/contrib/profcollege/latex/ProfCollege.sty5
3 files changed, 601 insertions, 13 deletions
diff --git a/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex b/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
index 3bd25ff4dc..81a1b3003f 100644
--- a/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
+++ b/macros/latex/contrib/profcollege/latex/PfCEcritureUnites.tex
@@ -296,30 +296,30 @@
\DeclareSIUnit{\Tempo}{\are}%
}{%
\ifboolKV[Unites]{nm}{%
- \DeclareSIUnit{\Tempo}{\nano\meter}%
+ \DeclareSIUnit{\Tempo}{\square\nano\meter}%
}{%
\ifboolKV[Unites]{um}{%
- \DeclareSIUnit{\Tempo}{\micro\meter}%
+ \DeclareSIUnit{\Tempo}{\square\micro\meter}%
}{%
\ifboolKV[Unites]{km}{%
- \DeclareSIUnit{\Tempo}{\kilo\meter}%
+ \DeclareSIUnit{\Tempo}{\square\kilo\meter}%
}{%
\ifboolKV[Unites]{hm}{%
- \DeclareSIUnit{\Tempo}{\hecto\meter}%
+ \DeclareSIUnit{\Tempo}{\square\hecto\meter}%
}{%
\ifboolKV[Unites]{dam}{%
- \DeclareSIUnit{\Tempo}{\deca\meter}%
+ \DeclareSIUnit{\Tempo}{\square\deca\meter}%
}{%
\ifboolKV[Unites]{m}{%
- \DeclareSIUnit{\Tempo}{\meter}%
+ \DeclareSIUnit{\Tempo}{\square\meter}%
}{%
\ifboolKV[Unites]{dm}{%
- \DeclareSIUnit{\Tempo}{\deci\meter}%
+ \DeclareSIUnit{\Tempo}{\square\deci\meter}%
}{%
\ifboolKV[Unites]{mm}{%
- \DeclareSIUnit{\Tempo}{\milli\meter}%
+ \DeclareSIUnit{\Tempo}{\square\milli\meter}%
}{%
- \DeclareSIUnit{\Tempo}{\centi\meter}%
+ \DeclareSIUnit{\Tempo}{\square\centi\meter}%
}%
}%
}%
@@ -331,10 +331,10 @@
}%
}%
\ifboolKV[Unites]{Nombre}{%
- \SI{#2}{\square\Tempo}%
+ \SI{#2}{\Tempo}%
}{%
\setlength{\PfCLgUnites}{\useKV[Unites]{Dots}}%
- \pointilles[\PfCLgUnites]\,\si{\square\Tempo}%
+ \pointilles[\PfCLgUnites]\,\si{\Tempo}%
}%
}%
diff --git a/macros/latex/contrib/profcollege/latex/PfCNonogramme.tex b/macros/latex/contrib/profcollege/latex/PfCNonogramme.tex
new file mode 100644
index 0000000000..8c72ca696e
--- /dev/null
+++ b/macros/latex/contrib/profcollege/latex/PfCNonogramme.tex
@@ -0,0 +1,587 @@
+\setKVdefault[Nono]{Largeur=10pt,Taille=5,Unite=1cm,Solution=false,Enonce=true}
+
+\newtoks\toklistenonoa%
+\newtoks\toklistenonob%
+\def\UpdatetoksNonoa#1\nil{\addtotok\toklistenonoa{#1,}}%
+\def\UpdatetoksNonob#1\nil{\addtotok\toklistenonob{#1,}}%
+
+\def\UpdatetoksNonoA#1\nil{\addtotok\toklistenonoa{"#1",}}%
+\def\UpdatetoksNonoB#1\nil{\addtotok\toklistenonob{"#1",}}%
+
+\NewDocumentCommand\Nonogrammeold{o m m}{%
+ \useKVdefault[Nono]%
+ \setKV[Nono]{#1}%
+ \setsepchar{,}%
+ \readlist*\PfCListeNonoa{#2}%
+ \readlist*\PfCListeNonob{#3}%
+ \toklistenonoa{}%
+ \foreachitem\compteur\in\PfCListeNonoa{\expandafter\UpdatetoksNonoa\compteur\nil}%
+ \toklistenonob{}%
+ \foreachitem\compteur\in\PfCListeNonob{\expandafter\UpdatetoksNonob\compteur\nil}%
+ \BuildNono{\the\toklistenonoa}{\the\toklistenonob}%
+}%
+
+\NewDocumentCommand\Nonogramme{o m}{%
+ \useKVdefault[Nono]%
+ \setKV[Nono]{#1}%
+ \setsepchar{,}%
+ \readlist*\PfCListeNonoa{#2}%
+ \toklistenonoa{}%
+ \toklistenonob{}%
+ \foreachitem\compteur\in\PfCListeNonoa{\expandafter\UpdatetoksNonoA\compteur\nil}%
+ \xintFor* ##2 in{\xintSeq{1}{\useKV[Nono]{Taille}}}\do{%
+ \xdef\PfCNonoFoo{}%
+ \xintFor* ##1 in{\xintSeq{1}{\PfCListeNonoalen}}\do{%
+ \StrChar{\PfCListeNonoa[##1]}{##2}[\PfCNonoRetiens]
+ \xdef\PfCNonoFoo{\PfCNonoFoo\PfCNonoRetiens}
+ }%
+ \expandafter\UpdatetoksNonoB\PfCNonoFoo\nil%
+ }%
+ \BuildNono{\the\toklistenonoa}{\the\toklistenonob}%
+ }%
+
+\NewDocumentCommand\BuildNono{m m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ Taille:=\useKV[Nono]{Taille};
+ u:=\useKV[Nono]{Unite};
+ boolean Solution,Enonce;
+ Solution:=\useKV[Nono]{Solution};
+ Enonce:=\useKV[Nono]{Enonce};
+
+ color NonoFill;
+ NonoFill=white;
+
+ numeric nbretenir[][];
+ numeric nbretenircol[][];
+
+ vardef NombreLigne(text t)=
+ retiens:=0;
+ nblignes:=0;
+ for p_=t:
+ nblignes:=nblignes+1;
+ endfor;
+ enddef;
+
+ path Square;
+ Square=unitsquare scaled u;
+
+ vardef Nonoa(text t)=
+ cptretiensnblignes:=1;
+ for p_=t:
+ for k=0 upto Taille-1:
+ if substring(k,k+1) of p_="o":
+ elseif substring(k,k+1) of p_="X":
+ if Solution: fill ((Square scaled 0.95) shifted(u*((k,-cptretiensnblignes)+(0.025,0.025)))) fi;
+ fi;
+ trace (Square shifted(u*(k,-cptretiensnblignes)));
+ endfor;
+ cptretiensnblignes:=cptretiensnblignes+1;
+ endfor;
+ enddef;
+
+ string Sequence[][];
+ string SequenceCol[][];
+
+ vardef AffichageL(text t)=
+ cptnblignes:=0;
+ for p_=t:
+ pas:=0;
+ cptnblignes:=cptnblignes+1;
+ nbcoups:=0;
+ for k=0 upto Taille-1:
+ if substring(k,k+1) of p_="o":
+ pas:=pas+1;
+ nbcoups:=0;
+ elseif substring(k,k+1) of p_="X":
+ nbcoups:=nbcoups+1;
+ Sequence[cptnblignes][pas]:=decimal(nbcoups);
+ fi;
+ endfor;
+ nbpas:=0;
+ for k=pas downto 0:
+ if unknown Sequence[cptnblignes][k]:
+ else:
+ nbpas:=nbpas+1;
+ label.lft(TEX(Sequence[cptnblignes][k]),(0,0) shifted (-(nbpas-1)*5mm-2.5mm,u*(-cptnblignes+0.5)));
+ fi;
+ endfor;
+ endfor;
+ enddef;
+
+ vardef AffichageC(text t)=
+ cptnbcolonnes:=0;
+ for p_=t:
+ pas:=0;
+ cptnbcolonnes:=cptnbcolonnes+1;
+ nbcoups:=0;
+ for k=0 upto nblignes-1:
+ if substring(k,k+1) of p_="o":
+ pas:=pas+1;
+ nbcoups:=0;
+ elseif substring(k,k+1) of p_="X":
+ nbcoups:=nbcoups+1;
+ SequenceCol[cptnbcolonnes][pas]:=decimal(nbcoups);
+ fi;
+ endfor;
+ nbpas:=0;
+ for k=pas downto 0:
+ if unknown SequenceCol[cptnbcolonnes][k]:
+ else:
+ nbpas:=nbpas+1;
+ label.top(TEX(SequenceCol[cptnbcolonnes][k]),(0,0) shifted (u*(cptnbcolonnes-0.5),(nbpas-1)*5mm+2.5mm));
+ fi;
+ endfor;
+ endfor;
+ enddef;
+
+ NombreLigne(#1);
+ Nonoa(#1);
+ if Enonce:
+ AffichageL(#1);
+ AffichageC(#2);
+ fi;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={Taille:=\useKV[Nono]{Taille};u:=\useKV[Nono]{Unite};boolean Solution,Enonce;Solution:=\useKV[Nono]{Solution};Enonce:=\useKV[Nono]{Enonce};}]
+ color NonoFill;
+ NonoFill=white;
+
+ numeric nbretenir[][];
+ numeric nbretenircol[][];
+
+ vardef NombreLigne(text t)=
+ retiens:=0;
+ nblignes:=0;
+ for p_=t:
+ nblignes:=nblignes+1;
+ endfor;
+ enddef;
+
+ path Square;
+ Square=unitsquare scaled u;
+
+ vardef Nonoa(text t)=
+ cptretiensnblignes:=1;
+ for p_=t:
+ for k=0 upto Taille-1:
+ if substring(k,k+1) of p_="o":
+ elseif substring(k,k+1) of p_="X":
+ if Solution: fill ((Square scaled 0.95) shifted(u*((k,-cptretiensnblignes)+(0.025,0.025)))) fi;
+ fi;
+ trace (Square shifted(u*(k,-cptretiensnblignes)));
+ endfor;
+ cptretiensnblignes:=cptretiensnblignes+1;
+ endfor;
+ enddef;
+
+ string Sequence[][];
+ string SequenceCol[][];
+
+ vardef AffichageL(text t)=
+ cptnblignes:=0;
+ for p_=t:
+ pas:=0;
+ cptnblignes:=cptnblignes+1;
+ nbcoups:=0;
+ for k=0 upto Taille-1:
+ if substring(k,k+1) of p_="o":
+ pas:=pas+1;
+ nbcoups:=0;
+ elseif substring(k,k+1) of p_="X":
+ nbcoups:=nbcoups+1;
+ Sequence[cptnblignes][pas]:=decimal(nbcoups);
+ fi;
+ endfor;
+ nbpas:=0;
+ for k=pas downto 0:
+ if unknown Sequence[cptnblignes][k]:
+ else:
+ nbpas:=nbpas+1;
+ label.lft(LATEX(Sequence[cptnblignes][k]),(0,0) shifted (-(nbpas-1)*5mm-2.5mm,u*(-cptnblignes+0.5)));
+ fi;
+ endfor;
+ endfor;
+ enddef;
+
+ vardef AffichageC(text t)=
+ cptnbcolonnes:=0;
+ for p_=t:
+ pas:=0;
+ cptnbcolonnes:=cptnbcolonnes+1;
+ nbcoups:=0;
+ for k=0 upto nblignes-1:
+ if substring(k,k+1) of p_="o":
+ pas:=pas+1;
+ nbcoups:=0;
+ elseif substring(k,k+1) of p_="X":
+ nbcoups:=nbcoups+1;
+ SequenceCol[cptnbcolonnes][pas]:=decimal(nbcoups);
+ fi;
+ endfor;
+ nbpas:=0;
+ for k=pas downto 0:
+ if unknown SequenceCol[cptnbcolonnes][k]:
+ else:
+ nbpas:=nbpas+1;
+ label.top(LATEX(SequenceCol[cptnbcolonnes][k]),(0,0) shifted (u*(cptnbcolonnes-0.5),(nbpas-1)*5mm+2.5mm));
+ fi;
+ endfor;
+ endfor;
+ enddef;
+
+ NombreLigne(#1);
+ Nonoa(#1);
+ if Enonce:
+ AffichageL(#1);
+ AffichageC(#2);
+ fi;
+ \end{mpost}
+ \fi
+}
+
+\NewDocumentCommand\BuildNonoold{m m}{%
+ \ifluatex
+ \mplibforcehmode
+ \begin{mplibcode}
+ Taille:=\useKV[Nono]{Taille};
+ u:=\useKV[Nono]{Unite};
+ boolean Solution,Enonce;
+ Solution:=\useKV[Nono]{Solution};
+ Enonce:=\useKV[Nono]{Enonce};
+
+ color NonoFill;
+ NonoFill=white;
+
+ numeric nbretenir[][];
+ numeric nbretenircol[][];
+
+ vardef NombreLigne(text t)=
+ retiens:=0;
+ nblignes:=0;
+ for p_=t:
+ retiens:=retiens+p_;
+ if retiens=Taille:
+ nblignes:=nblignes+1;
+ retiens:=0;
+ fi;
+ endfor;
+ enddef;
+
+ path Square;
+ Square=unitsquare scaled u;
+
+ vardef Nonoa(text t)=
+ nbcoups:=0;
+ nbcases:=0;
+ nbcaseslignes:=0;
+ cptretiensnb:=0;
+ cptretiensnblignes:=1;
+ for p_=t:
+ if p_=0:
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ NonoFill:=black;
+ else:
+ nbcoups:=nbcoups+1;
+ for l=0 upto p_-1:
+ if Solution: fill ((Square scaled 0.95) shifted(u*((nbcases mod Taille)+l,-(nbcases div Taille))+u*(0.025,0.025))) withcolor NonoFill; fi;
+ trace (Square shifted(u*((nbcases mod Taille)+l,-(nbcases div Taille))));
+ endfor;
+ nbcaseslignes:=nbcaseslignes+p_;
+ nbcases:=nbcases+p_;
+ if (nbcaseslignes mod Taille)=0:
+ NonoFill:=white;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ cptretiensnblignes:=cptretiensnblignes+1;
+ cptretiensnb:=0;
+ else:
+ if NonoFill=white: NonoFill:=black else: NonoFill:=white fi;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ fi;
+ fi;
+ endfor;
+ enddef;
+
+ string SequenceColo;
+
+ vardef Nonob(text t)=
+ nbcoups:=0;
+ nbcases:=0;
+ nbcasescolonnes:=0;
+ cptretiensnb:=0;
+ cptretiensnbcolonnes:=1;
+ SequenceColo="";
+ for p_=t:
+ if p_=0:
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ NonoFill:=black;
+ else:
+ nbcoups:=nbcoups+1;
+ nbcasescolonnes:=nbcasescolonnes+p_;
+ nbcases:=nbcases+p_;
+ if (nbcasescolonnes mod nblignes)=0:
+ NonoFill:=white;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ cptretiensnbcolonnes:=cptretiensnbcolonnes+1;
+ cptretiensnb:=0;
+ else:
+ if NonoFill=white: NonoFill:=black else: NonoFill:=white fi;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ fi;
+ fi;
+ endfor;
+ enddef;
+
+ string Sequence[][];
+ string SequenceCol[][];
+
+ boolean STOP;
+ STOP:=false;
+
+ vardef Affichage=
+ for k=1 upto nblignes:
+ Sequence[k][1]=if nbretenir[k][1]=0:decimal(nbretenir[k][2]) else:"" fi;
+ if nbretenir[k][1]=0:
+ n:=2;
+ p:=1;
+ else:
+ n:=1;
+ p:=0;
+ fi;
+ forever:
+ n:=n+1;
+ if unknown nbretenir[k][n]:
+ STOP:=true;
+ else:
+ if nbretenir[k][n]>0:
+ if (n mod 2)=0:
+ p:=p+1;
+ Sequence[k][p]:=decimal(nbretenir[k][n]);
+ fi;
+ fi;
+ fi;
+ exitif STOP;
+ endfor;
+ for r=p downto 1:
+ label.lft(TEX(Sequence[k][r]),(0,0) shifted (-(r-1)*5mm,u*(-k+1+0.5)));
+ endfor;
+ STOP:=false;
+ endfor;
+ enddef;
+
+ vardef Affichagecol=
+ STOP:=false;
+ for k=1 upto Taille:
+ SequenceCol[k][1]=if nbretenircol[k][1]=0:decimal(nbretenircol[k][2]) else:"" fi;
+ if nbretenircol[k][1]=0:
+ n:=2;
+ p:=1;
+ else:
+ n:=1;
+ p:=0;
+ fi;
+ forever:
+ n:=n+1;
+ if unknown nbretenircol[k][n]:
+ STOP:=true;
+ else:
+ if nbretenircol[k][n]>0:
+ if (n mod 2)=0:
+ p:=p+1;
+ SequenceCol[k][p]:=decimal(nbretenircol[k][n]);
+ fi;
+ fi;
+ fi;
+ exitif STOP;
+ endfor;
+ for r=p downto 1:
+ label.top(TEX(SequenceCol[k][r]),(0,0) shifted (k*u-0.5u,1u+(p-r)*5mm));
+ endfor;
+ STOP:=false;
+ endfor;
+ enddef;
+
+ NombreLigne(#1);
+ Nonoa(#1);
+ Nonob(#2);
+ if Enonce:
+ Affichage;
+ Affichagecol;
+ fi;
+ \end{mplibcode}
+ \else
+ \begin{mpost}[mpsettings={Taille:=\useKV[Nono]{Taille};u:=\useKV[Nono]{Unite};boolean Solution,Enonce;Solution:=\useKV[Nono]{Solution};Enonce:=\useKV[Nono]{Enonce};}]
+ color NonoFill;
+ NonoFill=white;
+
+ numeric nbretenir[][];
+ numeric nbretenircol[][];
+
+ vardef NombreLigne(text t)=
+ retiens:=0;
+ nblignes:=0;
+ for p_=t:
+ retiens:=retiens+p_;
+ if retiens=Taille:
+ nblignes:=nblignes+1;
+ retiens:=0;
+ fi;
+ endfor;
+ enddef;
+
+ path Square;
+ Square=unitsquare scaled u;
+
+ vardef Nonoa(text t)=
+ nbcoups:=0;
+ nbcases:=0;
+ nbcaseslignes:=0;
+ cptretiensnb:=0;
+ cptretiensnblignes:=1;
+ for p_=t:
+ if p_=0:
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ NonoFill:=black;
+ else:
+ nbcoups:=nbcoups+1;
+ for l=0 upto p_-1:
+ if Solution: fill ((Square scaled 0.95) shifted(u*((nbcases mod Taille)+l,-(nbcases div Taille))+u*(0.025,0.025))) withcolor NonoFill; fi;
+ trace (Square shifted(u*((nbcases mod Taille)+l,-(nbcases div Taille))));
+ endfor;
+ nbcaseslignes:=nbcaseslignes+p_;
+ nbcases:=nbcases+p_;
+ if (nbcaseslignes mod Taille)=0:
+ NonoFill:=white;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ cptretiensnblignes:=cptretiensnblignes+1;
+ cptretiensnb:=0;
+ else:
+ if NonoFill=white: NonoFill:=black else: NonoFill:=white fi;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenir[cptretiensnblignes][cptretiensnb]=p_;
+ fi;
+ fi;
+ endfor;
+ enddef;
+
+ string SequenceColo;
+
+ vardef Nonob(text t)=
+ nbcoups:=0;
+ nbcases:=0;
+ nbcasescolonnes:=0;
+ cptretiensnb:=0;
+ cptretiensnbcolonnes:=1;
+ SequenceColo="";
+ for p_=t:
+ if p_=0:
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ NonoFill:=black;
+ else:
+ nbcoups:=nbcoups+1;
+ nbcasescolonnes:=nbcasescolonnes+p_;
+ nbcases:=nbcases+p_;
+ if (nbcasescolonnes mod nblignes)=0:
+ NonoFill:=white;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ cptretiensnbcolonnes:=cptretiensnbcolonnes+1;
+ cptretiensnb:=0;
+ else:
+ if NonoFill=white: NonoFill:=black else: NonoFill:=white fi;
+ cptretiensnb:=cptretiensnb+1;
+ nbretenircol[cptretiensnbcolonnes][cptretiensnb]=p_;
+ fi;
+ fi;
+ endfor;
+ enddef;
+
+ string Sequence[][];
+ string SequenceCol[][];
+
+ boolean STOP;
+ STOP:=false;
+
+ vardef Affichage=
+ for k=1 upto nblignes:
+ Sequence[k][1]=if nbretenir[k][1]=0:decimal(nbretenir[k][2]) else:"" fi;
+ if nbretenir[k][1]=0:
+ n:=2;
+ p:=1;
+ else:
+ n:=1;
+ p:=0;
+ fi;
+ forever:
+ n:=n+1;
+ if unknown nbretenir[k][n]:
+ STOP:=true;
+ else:
+ if nbretenir[k][n]>0:
+ if (n mod 2)=0:
+ p:=p+1;
+ Sequence[k][p]:=decimal(nbretenir[k][n]);
+ fi;
+ fi;
+ fi;
+ exitif STOP;
+ endfor;
+ for r=p downto 1:
+ label.lft(LATEX(Sequence[k][r]),(0,0) shifted (-(r-1)*5mm,u*(-k+1+0.5)));
+ endfor;
+ STOP:=false;
+ endfor;
+ enddef;
+
+ vardef Affichagecol=
+ STOP:=false;
+ for k=1 upto Taille:
+ SequenceCol[k][1]=if nbretenircol[k][1]=0:decimal(nbretenircol[k][2]) else:"" fi;
+ if nbretenircol[k][1]=0:
+ n:=2;
+ p:=1;
+ else:
+ n:=1;
+ p:=0;
+ fi;
+ forever:
+ n:=n+1;
+ if unknown nbretenircol[k][n]:
+ STOP:=true;
+ else:
+ if nbretenircol[k][n]>0:
+ if (n mod 2)=0:
+ p:=p+1;
+ SequenceCol[k][p]:=decimal(nbretenircol[k][n]);
+ fi;
+ fi;
+ fi;
+ exitif STOP;
+ endfor;
+ for r=p downto 1:
+ label.top(LATEX(SequenceCol[k][r]),(0,0) shifted (k*u-0.5u,1u+(p-r)*5mm));
+ endfor;
+ STOP:=false;
+ endfor;
+ enddef;
+
+ NombreLigne(#1);
+ Nonoa(#1);
+ Nonob(#2);
+ if Enonce:
+ Affichage;
+ Affichagecol;
+ fi;
+ \end{mpost}
+ \fi
+} \ No newline at end of file
diff --git a/macros/latex/contrib/profcollege/latex/ProfCollege.sty b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
index c40b96f846..1b4f7c5a7b 100644
--- a/macros/latex/contrib/profcollege/latex/ProfCollege.sty
+++ b/macros/latex/contrib/profcollege/latex/ProfCollege.sty
@@ -2,9 +2,9 @@
% licence : Released under the LaTeX Project Public License v1.3c
% or later, see http://www.latex-project.org/lppl.txtf
\NeedsTeXFormat{LaTeX2e}%
-\def\filedate{2023/04/15}%
+\def\filedate{2023/04/17}%
\let\PfCfiledate\filedate%
-\def\fileversion{0.99-z-i}%
+\def\fileversion{0.99-z-j}%
\let\PfCfileversion\fileversion%
\ProvidesPackage{ProfCollege}[\filedate\space v\fileversion\space Aide pour utiliser LaTeX au college]%
@@ -570,6 +570,7 @@
}%\raisebox
}
+\input{PfCNonogramme}
\input{PfCJeuRangement}
\input{PfCTrio}
\input{PfCCalculsFractions}