réorganisation et meilleure gestion de la numérotation des réponses pour les qcm

Cette révision appartient à :
Yann Salmon
2018-10-13 18:38:18 +02:00
Parent cbbf2d9610
révision 481f0a75c5

Voir le fichier

@@ -22,9 +22,11 @@
\usepackage{xr} \usepackage{xr}
\newif\ifcorrige \newif\ifcorrige
\def\corr{\filigrane{\Huge CORRIG\'E --- CORRIG\'E}\global\corrigetrue} \def\corr{\filigrane{\Huge CORRIG\'E --- CORRIG\'E}\global\corrigetrue\global\enoncefalse}
\newif\ifcorrigeseul \newif\ifcorrigeseul
\def\corrseul{\filigrane{\Huge CORRIG\'E --- CORRIG\'E}\global\corrigeseultrue} \def\corrseul{\filigrane{\Huge CORRIG\'E --- CORRIG\'E}\global\corrigeseultrue\global\enoncefalse}
\newif\ifenonce
\enoncetrue
\usepackage{xstring} \usepackage{xstring}
\IfEndWith{\jobname}{\detokenize{-ENONCE}}{\let\corr\relax\let\corrseul\relax}{} \IfEndWith{\jobname}{\detokenize{-ENONCE}}{\let\corr\relax\let\corrseul\relax}{}
@@ -35,7 +37,6 @@
\def\pasenonce{ \def\pasenonce{
\excludecomment{enonce} \excludecomment{enonce}
\excludecomment{qcmrep} \excludecomment{qcmrep}
\excludecomment{qcm}
} }
\def\avecenonce{\newenvironment{enonce}{}{} \def\avecenonce{\newenvironment{enonce}{}{}
@@ -52,12 +53,14 @@
\AtBeginDocument{% \AtBeginDocument{%
\ifcorrige \ifcorrige
\immediate\typeout{Mode professeur} \immediate\typeout{Mode professeur}
\makeatletter\IfStrEq{\@subtitle}{}{}{\subtitle{Corrigé}}\makeatother \IfStrEq{\@subtitle}{}{}{\subtitle{Corrigé}}
\newenvironment{corrige}{\begin{mdframed}[backgroundcolor=gray!20, skipbelow=1ex]}{\end{mdframed}} \newenvironment{corrige}{\begin{mdframed}[backgroundcolor=gray!20, skipbelow=1ex]}{\end{mdframed}}
\newenvironment{comcorrige}{\begin{mdframed}[backgroundcolor=gray!20, skipbelow=1ex]}{\end{mdframed}} \newenvironment{comcorrige}{\begin{mdframed}[backgroundcolor=gray!20, skipbelow=1ex]}{\end{mdframed}}
\newenvironment{qcmcorr}{\begin{mdframed}[backgroundcolor=gray!20, skipbelow=1ex]}{\end{mdframed}} \newenvironment{qcmcorr}{\begin{mdframed}[backgroundcolor=gray!20, skipbelow=1ex]}{\end{mdframed}}
\avecenonce \avecenonce
\else\ifcorrigeseul \else\ifcorrigeseul
\immediate\typeout{Mode corrige}
%
\let\real@xwmlastpage\r@xwmlastpage % ne pas écraser ces labels depuis le fichier externe \let\real@xwmlastpage\r@xwmlastpage % ne pas écraser ces labels depuis le fichier externe
\let\real@lastpage\r@lastpage \let\real@lastpage\r@lastpage
\let\r@xwmlastpage\relax \let\r@xwmlastpage\relax
@@ -65,15 +68,19 @@
\externaldocument{\basejobname-ENONCE} \externaldocument{\basejobname-ENONCE}
\let\r@xwmlastpage\real@xwmlastpage \let\r@xwmlastpage\real@xwmlastpage
\let\r@lastpage\real@lastpage \let\r@lastpage\real@lastpage
\immediate\typeout{Mode corrige} %
\makeatletter\IfStrEq{\@subtitle}{}{}{\subtitle{Corrigé}}\makeatother \IfStrEq{\@subtitle}{}{}{\subtitle{Corrigé}}
\pasenonce \pasenonce
\edef\@temp{\noexpand\newcounter{question}\resetlevel}\@temp \edef\@temp{\noexpand\newcounter{question}\resetlevel}\@temp
\specialcomment{question}{\refstepcounter{question}\begingroup\def\ProcessCutFile{}}{\endgroup} \specialcomment{question}{\refstepcounter{question}\begingroup\def\ProcessCutFile{}}{\endgroup}
\newtheorem{corrige}{Question} \newtheorem{corrige}{Question}
\def\thequestion{\thesection.\arabic{question}} %% hack moche à améliorer \def\thequestion{\thesection.\arabic{question}} %% hack moche à améliorer
\let\thecorrige\thequestion \let\thecorrige\thequestion
%
\newcounter{qcm}
\specialcomment{qcm}{\refstepcounter{qcm}\begingroup\def\ProcessCutFile{}}{\endgroup}
\newtheorem{qcmcorr}{QCM} \newtheorem{qcmcorr}{QCM}
\let\theqcmcorr\theqcm
\newenvironment{comcorrige}{}{} \newenvironment{comcorrige}{}{}
\else \else
\immediate\typeout{Mode enonce} \immediate\typeout{Mode enonce}