summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2009-04-22 17:11:26 +0000
committerKarl Berry <karl@freefriends.org>2009-04-22 17:11:26 +0000
commit1f0a6a8adc7ab6c162351d128ce1cd46702a31e1 (patch)
tree8ec05b54df9033871ceb8ae920da170c69813547
parentda42a0204f57b55e973f5e1554170f84df8833e2 (diff)
new latex package alterqcm (21apr09)
git-svn-id: svn://tug.org/texlive/trunk@12794 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/README53
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/AntillesESjuin2006.pdfbin0 -> 129519 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/AntillesESjuin2006.tex80
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/alea.pdfbin0 -> 39127 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/alea.tex31
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/annexe.pdfbin0 -> 25546 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/annexe.tex25
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/correct.pdfbin0 -> 48285 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/correct.tex27
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/doc_aq.pdfbin0 -> 380622 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/example_1.pdfbin0 -> 28126 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/example_1.tex23
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/example_2.pdfbin0 -> 78026 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/example_2.tex45
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/language.pdfbin0 -> 28676 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/language.tex39
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/sep.pdfbin0 -> 39134 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/sep.tex31
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/transparent-final.pdfbin0 -> 44103 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/transparent-final.tex40
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/transparent-init.pdfbin0 -> 80766 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/transparent-init.tex41
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/verb.pdfbin0 -> 89087 bytes
-rw-r--r--Master/texmf-dist/doc/latex/alterqcm/doc/verb.tex150
-rw-r--r--Master/texmf-dist/tex/latex/alterqcm/alterqcm.sty518
-rwxr-xr-xMaster/tlpkg/bin/tlpkg-ctan-check3
-rw-r--r--Master/tlpkg/tlpsrc/alterqcm.tlpsrc2
-rw-r--r--Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc1
28 files changed, 1108 insertions, 1 deletions
diff --git a/Master/texmf-dist/doc/latex/alterqcm/README b/Master/texmf-dist/doc/latex/alterqcm/README
new file mode 100644
index 00000000000..cc8e048bcd0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/README
@@ -0,0 +1,53 @@
+Contents of the README file
+
+A. Purpose
+
+The 'alterqcm' package is a LaTeX2e package, for making Multiple Choices Questionnaires
+ in a table with two columns. The aim is to provide some useful macros to build
+ QCM in tables. These macros may be used by only LaTeX TeX users.
+ The documentation is in French.
+
+B. Features
+ -- A special environment allows you to define questions and possible answers;
+ -- You can specify which answers are correct and which are not.
+ -- works with utf8 and pdflatex;
+ -- allows to use 'longtable';
+ -- makes automatically adjustment;
+ -- generates a 'grid' that the students will have to fill in;
+ -- generates a 'mask' with correct answers to print a slide.
+
+C. Licence
+
+You may freely use and distribute this package under the terms of lppl and/or gpl.
+
+Read file doc_aq.pdf in the doc directory, for the complete documentation
+
+D. Contents of the folder (encoding utf8)
+
+ -- README (this file)
+ -- inputs: alterqcm.sty
+ -- doc: doc-aq.pdf,
+ example_1.tex,
+ example_1.pdf,
+ example_2.tex,
+ example_2.pdf,
+ etc...
+
+
+E. Installation
+
+If you need to install it by yourself, a TDS compliant zip archive is
+provided (aq.zip). Just download that file, and unpack it in
+your TDS directory (~/texmf for Unix-like systems). If you only need to use
+ 'alterqcm.sty' then you have to copy 'alterqcm.sty' into '~/texmf/tex/latex'.
+
+
+With MiKTeX, copy folder 'alterqcm.sty' into 'C:\texmf\tex\latex', then
+run 'MiKTeX Options'. In the 'File name database' section, click on
+'Refresh now'.
+
+F. The author of the 'alterqcm.sty' package is Alain Matthes.
+--
+Alain Matthes, <al.ma@mac.com>
+April, 20th, 2009
+
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/AntillesESjuin2006.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/AntillesESjuin2006.pdf
new file mode 100644
index 00000000000..2bccf8d4942
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/AntillesESjuin2006.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/AntillesESjuin2006.tex b/Master/texmf-dist/doc/latex/alterqcm/doc/AntillesESjuin2006.tex
new file mode 100644
index 00000000000..e3108f02b79
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/AntillesESjuin2006.tex
@@ -0,0 +1,80 @@
+\documentclass[11pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{xkeyval,array,multirow,amsmath,amssymb}
+\usepackage{fullpage,longtable}
+\usepackage[]{alterqcm}
+\usepackage[frenchb]{babel}
+
+\begin{document}
+\begin{alterqcm}[lq=90mm,pre=true,long]
+
+\AQquestion{Parmi les propositions suivantes, quelle est celle qui permet d'affirmer que la fonction exponentielle admet pour asymptote la droite d'équation $y = 0$ ?}
+{{$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+{$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$},
+{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$}}
+
+\AQquestion{Parmi les propositions suivantes, quelle est celle qui permet d'affirmer que l'inéquation $\ln (2x + 1) \geqslant \ln (x + 3)$ admet l'intervalle $\big[2~;~+\infty\big[$ comme ensemble de solution ? }
+{{\begin{minipage}{5cm}la fonction ln est positive sur $\big[1~;~+\infty\big[$\end{minipage}},
+{$\displaystyle\lim_{x \to +\infty} \ln x = + \infty$},
+{\begin{minipage}{5cm}la fonction $\ln$ est croissante sur $\big]0~;~+\infty\big[$\end{minipage}}
+}
+
+\AQquestion{Parmi les propositions suivantes quelle est celle qui permet d'affirmer qu'une primitive de la fonction $f$ définie sur $\mathbb{R}$ par $x \mapsto (x + 1)\text{e}^x$ est la fonction $g~:~x~ \mapsto~ x~ \text{e}^x$~? }
+{{pour tout réel $x,~f'(x) = g(x)$},
+{pour tout réel $x,~g'(x) = f(x)$},
+{\begin{minipage}{5.5cm} pour tout réel $x,~g(x) = f'(x) + k$, $k$ réel quelconque \end{minipage}}}
+
+\AQquestion[pq=2mm]{ L'équation $2\text{e}^{2x} - 3\text{e}^x + 1 = 0$ admet pour ensemble solution}
+{{$\left\{\dfrac{1}{2}~;~1\right\}$},
+{$\left\{0~;~\ln \dfrac{1}{2}\right\}$},
+{$\big\{0~;~\ln 2\big\}$}
+}
+
+\AQquestion[pq=2mm]{Pour tout $n \in \mathbb{N}$ }
+{{$\displaystyle\lim_{x \to +\infty} \frac{\text{e}^x}{x^n} = 1$},
+{$\displaystyle\lim_{x \to +\infty} \frac{\text{e}^x}{x^n} = +\infty$},
+{$\displaystyle\lim_{x \to +\infty} \frac{\text{e}^x}{x^n} = 0$}}
+
+\AQquestion[pq=1pt]{Soit $f$ la fonction définie sur $\big]0~;~+\infty\big[$ par $f(x) = 2\ln x - 3x + 4$. Dans un repère, une équation de la tangente à la courbe représentative de $f$ au point d'abscisse 1 est :}
+{{$y = - x + 2$},
+{$y = x + 2$},
+{$y = - x - 2$}
+}
+
+\AQquestion[pq=2mm]{La valeur moyenne sur $\big[1 ; 3\big]$ de la fonction $f$ définie par : $f(x) = x^2 + 2x$ est :}
+{{$\dfrac{50}{3}$},
+{$\dfrac{25}{3}$},
+{$6$}
+}
+\AQquestion{ exp$(\ln x) = x$ pour tout $x$ appartenant à }
+{{$\mathbb{R}$},
+{$\big]0~;~+ \infty\big[$},
+{$\big[0~;~+\infty\big[$}
+}
+\AQquestion[pq=1pt]{Soit $f$ la fonction définie sur $\big]0~;~+\infty\big[$ par $f(x) = 2\ln x - 3x + 4$. Dans un repère, une équation de la tangente à la courbe représentative de $f$ au point d'abscisse 1 est :}
+{{$y = - x + 2$},
+{$y = x + 2$},
+{$y = - x - 2$}
+}
+
+\AQquestion[pq=2mm]{La valeur moyenne sur $\big[1 ; 3\big]$ de la fonction $f$ définie par : $f(x) = x^2 + 2x$ est :}
+{{$\dfrac{50}{3}$},
+{$\dfrac{25}{3}$},
+{$6$}
+}
+\AQquestion{ exp$(\ln x) = x$ pour tout $x$ appartenant à }
+{{$\mathbb{R}$},
+{$\big]0~;~+ \infty\big[$},
+{$\big[0~;~+\infty\big[$}
+}
+\end{alterqcm}
+\end{document}
+
+% AntillesESjuin2006
+
+% encoding : utf8
+% format : pdflatex
+% engine : pdfetex
+% author : Alain Matthes \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/alea.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/alea.pdf
new file mode 100644
index 00000000000..35c705d0df4
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/alea.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/alea.tex b/Master/texmf-dist/doc/latex/alterqcm/doc/alea.tex
new file mode 100644
index 00000000000..d95b020685c
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/alea.tex
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{fourier}
+\usepackage{alterqcm}
+\usepackage{fullpage}
+\thispagestyle{empty}
+
+\begin{document}
+\begin{minipage}{12cm}
+ \begin{alterqcm}[lq=55mm,alea,sep]
+ \AQquestion[pq=1mm]{Si la fonction $f$ est strictement croissante sur $\mathbf{R}$ alors l'équation $f(x) = 0$ admet :}
+ {{Au moins une solution},%
+ {Au plus une solution},%
+ {Exactement une solution}}
+ \end{alterqcm}
+
+ \vspace{1cm}
+ \begin{alterqcm}[lq=55mm,alea,sep=false]
+ \AQquestion[pq=1mm]{Si la fonction $f$ est strictement croissante sur $\mathbf{R}$ alors l'équation $f(x) = 0$ admet :}
+ {{Au moins une solution},%
+ {Au plus une solution},%
+ {Exactement une solution}}
+ \end{alterqcm}
+\end{minipage}
+
+\end{document}
+
+% utf8
+% pdflatex
+% Alain Matthes \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/annexe.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/annexe.pdf
new file mode 100644
index 00000000000..49b847440ec
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/annexe.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/annexe.tex b/Master/texmf-dist/doc/latex/alterqcm/doc/annexe.tex
new file mode 100644
index 00000000000..fd5fab6d103
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/annexe.tex
@@ -0,0 +1,25 @@
+\documentclass[a4paper]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{fourier}
+\usepackage{alterqcm}
+\usepackage{fullpage}
+\thispagestyle{empty}
+
+\begin{document}
+{\Large
+NOM :
+
+PRÉNOM :
+
+\bfseries
+\vspace{1cm}
+\AQannexe[propstyle=\bfseries\arabic]{1}{10}{4}%
+ \hspace{2cm}
+\AQannexe[propstyle=\bfseries\alph]{11}{20}{3}}
+\end{document}
+
+% encoding : utf8
+% format : pdflatex
+% engine : pdfetex
+% author : Alain Matthes
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/correct.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/correct.pdf
new file mode 100644
index 00000000000..e5d64a93922
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/correct.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/correct.tex b/Master/texmf-dist/doc/latex/alterqcm/doc/correct.tex
new file mode 100644
index 00000000000..e017eacb4b5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/correct.tex
@@ -0,0 +1,27 @@
+\documentclass[10pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[upright]{fourier}
+\usepackage{amsmath,amssymb,stmaryrd}
+\usepackage{fullpage}
+\usepackage{alterqcm}
+\usepackage[frenchb]{babel}
+\parindent=0pt
+\newlength{\oldtextwidth}
+\begin{document}
+ \setlength{\oldtextwidth}{\textwidth}
+ \setlength{\textwidth}{14cm}
+ \begin{alterqcm}[VF,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{Pour tout $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{La fonction $F$ présente un maximum en $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+\setlength{\textwidth}{\oldtextwidth}
+\end{document}
+% encoding : utf8
+% format : pdflatex
+% engine : pdfetex
+% author : Alain Matthes \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/doc_aq.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/doc_aq.pdf
new file mode 100644
index 00000000000..589f0e6360b
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/doc_aq.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/example_1.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/example_1.pdf
new file mode 100644
index 00000000000..016f93b001d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/example_1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/example_1.tex b/Master/texmf-dist/doc/latex/alterqcm/doc/example_1.tex
new file mode 100644
index 00000000000..5a372d15cae
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/example_1.tex
@@ -0,0 +1,23 @@
+\documentclass[12pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[upright]{fourier}
+%\usepackage[T1]{fontenc}
+%\usepackage{lmodern}
+\usepackage{alterqcm}
+\usepackage{fullpage}%
+\usepackage[frenchb]{babel}
+\parindent0pt
+\begin{document}
+\begin{alterqcm}
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+\end{document}
+
+% encoding : utf8
+% format : pdflatex
+% engine : pdfetex
+% author : Alain Matthes \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/example_2.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/example_2.pdf
new file mode 100644
index 00000000000..452b4467ed6
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/example_2.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/example_2.tex b/Master/texmf-dist/doc/latex/alterqcm/doc/example_2.tex
new file mode 100644
index 00000000000..a314cdb7fe5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/example_2.tex
@@ -0,0 +1,45 @@
+\documentclass[11pt]{article}
+\usepackage[utf8]{inputenc}% sauf si vous avez changé l'encodage
+%\usepackage[upright]{fourier}% je la préfère aux autres!
+% fourier charge textcomp ainsi que [T1]{fontenc}
+% et fournit l'essentiel des symboles de amssymb
+% en cas de changement, il ne faut pas oublier
+% de placer un \usepackage[T1]{fontenc} qui est fourni
+% automatiquement par fourier.
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{amsmath,amssymb,stmaryrd,calc}%}% pour geqslant qui existe ds fourier
+\usepackage{xkeyval}
+\usepackage{multirow,longtable}
+\usepackage[%
+ a4paper,%
+ textwidth=16cm,
+ top=2cm,%
+ bottom=2cm,%
+ headheight=25pt,%
+ headsep=12pt,%
+ footskip=25pt]{geometry}%
+
+\usepackage{alterqcm}
+% on charge le package
+% longtable en cas de débordement du tableau
+% amsmath car les exemples sont des annales du bac en mathématiques.
+\usepackage[frenchb]{babel}
+\parindent=0pt
+\begin{document}
+
+
+
+\begin{alterqcm}[lq=80mm,long]
+\AQquestion{Parmi les propositions suivantes, quelle est celle qui permet d'affirmer que la fonction exponentielle admet pour asymptote la droite d'équation $y = 0$ ?}
+{{$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+{$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$},
+{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$}}
+
+\AQquestion[]{exp$(\ln x) = x$ pour tout $x$ appartenant à }
+{{$\mathbf{R}$},
+{$\big]0~;~+ \infty\big[$},
+{$\big[0~;~+\infty\big[$}
+}\end{alterqcm}
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/language.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/language.pdf
new file mode 100644
index 00000000000..5e24868efe7
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/language.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/language.tex b/Master/texmf-dist/doc/latex/alterqcm/doc/language.tex
new file mode 100644
index 00000000000..f844a8a1860
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/language.tex
@@ -0,0 +1,39 @@
+\documentclass[12pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[upright]{fourier}
+%\usepackage[T1]{fontenc}
+%\usepackage{lmodern}
+\usepackage[german]{alterqcm}
+\usepackage{fullpage}%
+\usepackage[frenchb]{babel}
+\parindent0pt
+
+\begin{document}
+
+ \begin{alterqcm} [language=english]
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+\begin{alterqcm} [language=german]
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+\begin{alterqcm}
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+\end{document}
+
+% encoding : utf8
+% format : pdflatex
+% engine : pdfetex
+% author : Alain Matthes \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/sep.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/sep.pdf
new file mode 100644
index 00000000000..fe188dbad15
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/sep.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/sep.tex b/Master/texmf-dist/doc/latex/alterqcm/doc/sep.tex
new file mode 100644
index 00000000000..f4a24b335ba
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/sep.tex
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{fourier}
+\usepackage{alterqcm}
+\usepackage{fullpage}
+\thispagestyle{empty}
+
+\begin{document}
+
+
+\begin{alterqcm}[lq=55mm,alea,sep]
+\AQquestion[pq=1mm]{Si la fonction $f$ est strictement croissante sur $\mathbf{R}$ alors l'équation $f(x) = 0$ admet :}
+{{Au moins une solution},%
+{Au plus une solution},%
+{Exactement une solution}}
+\end{alterqcm}
+
+\vspace{1cm}
+\begin{alterqcm}[lq=55mm,alea,sep=false]
+\AQquestion[pq=1mm]{Si la fonction $f$ est strictement croissante sur $\mathbf{R}$ alors l'équation $f(x) = 0$ admet :}
+{{Au moins une solution},%
+{Au plus une solution},%
+{Exactement une solution}}
+\end{alterqcm}
+
+\end{document}
+
+% utf8
+% pdflatex
+% Alain Matthes \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-final.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-final.pdf
new file mode 100644
index 00000000000..5c28a132e4e
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-final.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-final.tex b/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-final.tex
new file mode 100644
index 00000000000..a9822296727
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-final.tex
@@ -0,0 +1,40 @@
+\documentclass[11pt]{article}
+\usepackage[utf8]{inputenc}% sauf si vous avez changé l'encodage
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{amsmath,amssymb,stmaryrd,calc}%}% pour geqslant qui existe ds fourier
+\usepackage{xkeyval}
+\usepackage{multirow,longtable}
+\usepackage[%
+ a4paper,%
+ textwidth=16cm,
+ top=2cm,%
+ bottom=2cm,%
+ headheight=25pt,%
+ headsep=12pt,%
+ footskip=25pt]{geometry}%
+
+\usepackage{alterqcm}
+% on charge le package
+% longtable en cas de débordement du tableau
+% amsmath car les exemples sont des annales du bac en mathématiques.
+\usepackage[frenchb]{babel}
+\parindent=0pt
+\begin{document}
+
+\begin{alterqcm}[transparent,correction,corsymb=\dingchecksquare,lq=100mm]
+ \AQquestion[br=3,pq=3mm]{Parmi les propositions suivantes, quelle est celle qui permet d'affirmer que la fonction exponentielle admet pour asymptote la droite d'équation $y = 0$ ?}
+ {{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$},
+ {$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+ {$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$}
+ }
+
+ \AQquestion[br=2]{exp$(\ln x) = x$ pour tout $x$ appartenant à }
+ {{$\mathbf{R}$},
+ {$\big]0~;~+ \infty\big[$},
+ {$\big[0~;~+\infty\big[$}
+ }
+\end{alterqcm}
+
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-init.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-init.pdf
new file mode 100644
index 00000000000..5b3f6ffd9d3
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-init.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-init.tex b/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-init.tex
new file mode 100644
index 00000000000..f3a6204d63d
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/transparent-init.tex
@@ -0,0 +1,41 @@
+\documentclass[11pt]{article}
+\usepackage[utf8]{inputenc}% sauf si vous avez changé l'encodage
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{amsmath,amssymb,stmaryrd,calc}%}% pour geqslant qui existe ds fourier
+\usepackage{xkeyval}
+\usepackage{multirow,longtable}
+\usepackage[%
+ a4paper,%
+ textwidth=16cm,
+ top=2cm,%
+ bottom=2cm,%
+ headheight=25pt,%
+ headsep=12pt,%
+ footskip=25pt]{geometry}%
+
+\usepackage{alterqcm}
+% on charge le package
+% longtable en cas de débordement du tableau
+% amsmath car les exemples sont des annales du bac en mathématiques.
+\usepackage[frenchb]{babel}
+\parindent=0pt
+\begin{document}
+
+\begin{alterqcm}[correction,corsymb=\dingchecksquare,lq=100mm]
+\AQquestion[br=3,pq=3mm]{Parmi les propositions suivantes, quelle est celle qui permet d'affirmer que la fonction exponentielle admet pour asymptote la droite d'équation $y = 0$ ?}
+{{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$},
+{$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+{$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$}
+}
+
+\AQquestion[br=2]{exp$(\ln x) = x$ pour tout $x$ appartenant à }
+{{$\mathbf{R}$},
+{$\big]0~;~+ \infty\big[$},
+{$\big[0~;~+\infty\big[$}
+}
+
+\end{alterqcm}
+
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/verb.pdf b/Master/texmf-dist/doc/latex/alterqcm/doc/verb.pdf
new file mode 100644
index 00000000000..5aa921d21cf
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/verb.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/alterqcm/doc/verb.tex b/Master/texmf-dist/doc/latex/alterqcm/doc/verb.tex
new file mode 100644
index 00000000000..207f9ca694f
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/alterqcm/doc/verb.tex
@@ -0,0 +1,150 @@
+
+\documentclass[10pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{fourier}
+\usepackage{alterqcm}
+\usepackage{fullpage}
+\usepackage{longtable}
+\usepackage{verbdef}
+\usepackage[frenchb]{babel}
+
+\pagestyle{empty}
+%--------------------------------------------------------------
+\begin{document}
+%--------------------------------------------------------------
+\parindent=0pt
+\begin{center}
+Contrôle de langage C \\
+
+\vspace{5mm}
+Nom : \hspace{5cm}
+Prénom : \\
+
+\vspace{5mm}
+{\small Pour chaque question, 3 réponses sont proposées. Une et une seule est correcte. A vous de la trouver et de \textbf{noircir la case correspondante}.
+Bonne réponse = +1 point. Pas de réponse = 0 point. Mauvaise réponse = -0.5 point.}
+\begin{alterqcm}[lq=90mm,title,num=true,alea,long]
+% rajouter ou enlever l'option correction pour voir ou non les corrections :-)
+%--------------------------------------------------------------
+
+\AQquestion{Quel était le langage précurseur du langage C ?}
+{{le Fortran},%
+ {le langage B},%
+ {le Basic},%
+ {X},%
+ {Y}}
+%--------------------------------------------------------------
+\verbdef\arg|int a = 3 ^ 4 ;|
+\AQquestion{\arg}
+{{élève 3 à la puissance 4},
+ {fait un OU exclusif entre 3 et 4},
+ {n'est pas une instruction C}}
+%--------------------------------------------------------------
+\AQquestion{Quelle est la bonne syntaxe pour décaler de 8 bits à gauche l'entier \texttt{a} ?}
+{{\texttt{b = lshift(a, 8) ;}},
+ {\texttt{b = 8 << a ;}},
+ {\texttt{b = a << 8 ;}}}
+%--------------------------------------------------------------
+\AQquestion{Le programme complet : \\
+\texttt{int main() \\
+~~\{ printf ("bonjour") ; return 0 ; \}}}
+{{affiche \texttt{bonjour}},
+ {donne une erreur à la compilation},
+ {donne une erreur à l'exécution}}
+%--------------------------------------------------------------
+\verbdef\arg|float tab[10]|
+\verbdef\propa|*tab|\global\let\propa\propa
+\verbdef\propb|&tab|\global\let\propb\propb
+\verbdef\propc|tab|\global\let\propc\propc
+\AQquestion{Soit la déclaration \arg ; \\Le premier réel du tableau est \ldots}
+{{\propa},
+ {\propb},
+ {\propc}}
+%--------------------------------------------------------------
+\AQquestion{La ligne \texttt{printf("\%c", argv[2][0]) ;} du \texttt{main} de \texttt{monProg} exécuté ainsi : \texttt{monProg parametre}}
+{{affiche \texttt{p}},
+ {n'affiche rien},
+ {peut provoquer un plantage}}
+%--------------------------------------------------------------
+\AQquestion{Quelle est la taille en mémoire d'un \texttt{long int} ?}
+{{4 octets},
+ {8 octets},
+ {ça dépend \ldots}}
+%--------------------------------------------------------------
+\AQquestion{Suite à la déclaration \texttt{int * i} ;}
+{{\texttt{*i} est une adresse},
+ {\texttt{*i} est un entier},
+ {\texttt{*i} est un pointeur}}
+%--------------------------------------------------------------
+\AQquestion{Suite à la déclaration \texttt{char tab[12]} ;}
+{{\texttt{\&tab} est l'adresse du tableau},
+ {\texttt{\&tab} est le pointeur sur le tableau},
+ {\texttt{\&tab} ne signifie rien}}
+
+%--------------------------------------------------------------
+\AQquestion{Un des choix suivants n'est pas une bibliothèque standard du C}
+{{\texttt{stdlib}},
+ {\texttt{stdin}},
+ {\texttt{math}}}
+%--------------------------------------------------------------
+\AQquestion{La syntaxe complète de la fonction \texttt{main} est \ldots}
+{{\texttt{int main(int argc, char* argv)}},
+ {\texttt{int main(int argc, char argv*[])}},
+ {\texttt{int main(int argc, char* argv[])}}}
+%--------------------------------------------------------------
+\AQquestion{Le programme complet :
+\texttt{int main()\\
+\{ char a[2]="x" ; char b[2]="y" ; \\
+~~return (a[0] == b[0]) ; \}
+}}
+{{comporte 0 erreur},
+ {comporte 1 erreur},
+ {comporte 2 erreurs}}
+
+%--------------------------------------------------------------
+\AQquestion{Pour libérer une zone mémoire allouée dynamiquement en C, on utilise la fonction \ldots}
+{{\texttt{delete}},
+ {\texttt{clear}},
+ {\texttt{free}}}
+
+%--------------------------------------------------------------
+\AQquestion{L'expression \texttt{val char[32] ; }}
+{{est syntaxiquement incorrecte},
+ {déclare une chaîne},
+ {déclare un tableau}}
+
+ %--------------------------------------------------------------
+\verbdef\arga|char s[10] ; int i ;|
+\verbdef\argb|scanf("%d, %s", \&i, s) ;|
+\AQquestion{On compte dans les lignes suivantes :\\
+\arga \\
+\argb}
+{{0 erreur de compilation},
+ {1 erreur de compilation},
+ {2 erreurs de compilation}}
+%--------------------------------------------------------------
+\AQquestion{Une variable globale est \ldots}
+{{\texttt{static}},
+ {stockée dans la pile},
+ {initialisée avec des zéros par défaut}}
+%--------------------------------------------------------------
+\AQquestion{La portée d'une variable locale est \ldots}
+{{la fonction},
+ {le module},
+ {le bloc}}
+%--------------------------------------------------------------
+\AQquestion{La ligne \texttt{int c = argv[1] + argv[2] ;}
+ du \texttt{main} de \texttt{monProg} exécuté ainsi :
+\verb!monProg 123 456!}
+{{affecte 579 à \texttt{c}},
+ {donne une erreur à la compilation},
+ {affecte une valeur indéterminée à \texttt{c}}}
+\end{alterqcm}
+\end{center}
+\end{document}
+
+% utf8
+% pdflatex
+% Pascal Bertolino Alain Matthes
+% \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/alterqcm/alterqcm.sty b/Master/texmf-dist/tex/latex/alterqcm/alterqcm.sty
new file mode 100644
index 00000000000..44414ec3670
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/alterqcm/alterqcm.sty
@@ -0,0 +1,518 @@
+% Copyright (C) 2009 Alain Matthes
+%
+% This file may be distributed and/or modified
+%
+% 1. under the LaTeX Project Public License , either version 1.3
+% of this license or (at your option) any later version and/or
+% 2. under the GNU Public License.
+% See http://www.latex-project.org/lppl.txt for details.
+%
+%
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % %
+ % alterqcm.sty encodage : utf8 %
+ % %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ % %
+ % Créé par Alain Matthes le 19-09-2006. %
+ % %
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+%% Objet : Création de qcm
+%% Utilisation
+%% \AQquestion{question}
+%% {{proposition},
+%% {proposition}}
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{alterqcm}
+ [2009/03/29 v3.1 qcm creation]
+ \DeclareOption{french}{%
+ \def\aqlanguage{french}
+ \def\aqlabelforquest{Questions}
+ \def\aqlabelforrep{R\'eponses}
+ \def\aqfoottext{suite sur la page suivante\ldots}}
+ \DeclareOption{english}{%
+ \def\aqlanguage{english}
+ \def\aqlabelforquest{Questions}
+ \def\aqlabelforrep{Answers}
+ \def\aqfoottext{Continued on the next page\ldots}}
+ \DeclareOption{german}{%
+ \def\aqlanguage{german}
+ \def\aqlabelforquest{Fragen}
+ \def\aqlabelforrep{Antworten}
+ \def\aqfoottext{Fortsetzung nächste Seite\ldots}}
+\ExecuteOptions{french}
+\ProcessOptions\relax
+\RequirePackage{xkeyval}[2005/11/25]
+\RequirePackage{calc}
+\RequirePackage{ifthen,forloop}
+\RequirePackage{array}
+\RequirePackage{multirow}
+\RequirePackage{pifont}%v v1.00
+%<--------------------------------------------------------------->
+% from RANDOM.TEX v.1 (Donald Arseneau)
+%<--------------------------------------------------------------->
+\newcount\randomi % the random number seed (while executing)
+\newcounter{identRow}
+\newcounter{identCol}
+\newcounter{tmp}
+
+\global\randomi\catcode`\@ % scratch variable during definitions
+\catcode`\@=11
+
+\def\nextrandom{\begingroup
+ \ifnum\randomi<\@ne % then initialize with time
+ \global\randomi\time
+ \global\multiply\randomi388 \global\advance\randomi\year
+ \global\multiply\randomi31 \global\advance\randomi\day
+ \global\multiply\randomi97 \global\advance\randomi\month
+ \message{Randomizer initialized to \the\randomi.}%
+ \nextrandom \nextrandom \nextrandom
+ \fi
+ \count@ii\randomi
+ \divide\count@ii 127773 % modulus = multiplier * 127773 + 2836
+ \count@\count@ii
+ \multiply\count@ii 127773
+ \global\advance\randomi-\count@ii % random mod 127773
+ \global\multiply\randomi 16807
+ \multiply\count@ 2836
+ \global\advance\randomi-\count@
+ \ifnum\randomi<\z@ \global\advance\randomi 2147483647\relax\fi
+ \endgroup
+}
+
+\countdef\count@ii=2 % use only in boxes!
+\ifx\@tempcnta\undefined \csname newcount\endcsname \@tempcnta \fi
+\ifx\@tempcntb\undefined \csname newcount\endcsname \@tempcntb \fi
+
+\def\setrannum#1#2#3{% count register, minimum, maximum
+ \@tempcnta#3\advance\@tempcnta-#2\advance\@tempcnta\@ne
+ \@tempcntb 2147483645 % = m - 2 = 2^{31} - 3
+ \divide\@tempcntb\@tempcnta
+ \getr@nval
+ \advance\ranval#2\relax
+ #1\ranval
+}
+
+\def\getr@nval{% The values in \@tempcnta and \@tempcntb are parameters
+ \nextrandom
+ \ranval\randomi \advance\ranval\m@ne \divide\ranval\@tempcntb
+ \ifnum\ranval<\@tempcnta\else \expandafter\getr@nval \fi
+}
+
+\catcode`\@=\randomi
+\global\randomi=0
+\newcount\ranval
+%<--------------------------------------------------------------->
+\newtoks\tdml@a
+\newtoks\tdml@b
+\newcount\@alea
+\newcount\n@arg
+\newbox\qcm@tempbox
+\newdimen\qcm@hauteurquest
+\newdimen\qcm@hauteurprop
+\newdimen\qcm@wdquest
+\newdimen\qcm@wdprop
+\newdimen\qcm@dimtmpa
+\newdimen\qcm@dimtmpb
+\newdimen\qcm@dimtmp
+\newcounter{AQ@numquestion}\setcounter{AQ@numquestion}{0}%
+\newcounter{qcm@numb}
+\newcounter{AQ@numprop}\setcounter{AQ@numprop}{0}% v0.93
+\newcounter{alea@numfirst}
+\newcounter{alea@numlast}
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+% Début Code QCM
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+
+\define@choicekey*[AQ]{global}{language}[\val\nr]{french,
+ english,
+ german}{%
+\edef\AQ@global@language{\nr}
+\ifcase\nr\relax
+\def\cmdAQ@global@tone{Questions}
+\def\cmdAQ@global@ttwo{R\'eponses}
+\def\aqfoottext{suite sur la page suivante\ldots}
+\or
+\def\cmdAQ@global@tone{Questions}
+\def\cmdAQ@global@ttwo{Answers}
+\def\aqfoottext{Continued on the next page\ldots}
+\or
+\def\cmdAQ@global@tone{Fragen}
+\def\cmdAQ@global@ttwo{Antworten}
+\def\aqfoottext{Fortsetzung nächste Seite\ldots}
+\fi%
+}
+\define@cmdkey [AQ] {global} {lq}{}
+\define@cmdkey [AQ] {global} {pq}{}
+\define@cmdkey [AQ] {global} {symb}{}
+\define@cmdkey [AQ] {global} {corsymb}{}
+\define@cmdkey [AQ] {global} {bonus}{}
+\define@cmdkey [AQ] {global} {malus}{}
+\define@cmdkey [AQ] {global} {numstyle}{}
+\define@cmdkey [AQ] {global} {propstyle}{}
+\define@cmdkey [AQ] {global} {size}{}
+\define@cmdkey [AQ] {global} {tone}{}
+\define@cmdkey [AQ] {global} {ttwo}{}
+\define@cmdkey [AQ] {global} {numbreak}{}
+\define@boolkey [AQ] {global} {transparent}[true]{}
+\define@boolkey [AQ] {global} {VF} [true]{}
+\define@boolkey [AQ] {global} {sep} [true]{}
+\define@boolkey [AQ] {global} {pre} [true]{}
+\define@boolkey [AQ] {global} {title} [true]{}
+\define@boolkey [AQ] {global} {long} [true]{}
+\define@boolkey [AQ] {global} {num} [true]{}
+\define@boolkey [AQ] {global} {numprop} [false]{}
+\define@boolkey [AQ] {global} {nosquare} [false]{}
+\define@boolkey [AQ] {global} {correction} [true]{}
+\define@boolkey [AQ] {global} {alea} [true]{}
+\presetkeys [AQ] {global} {
+ lq = 100mm,
+ pq = 0pt,
+ sep = false,
+ pre = false,
+ bonus = {0,5},
+ malus = {0,25},
+ VF = false,
+ long = false,
+ symb = $\square$,
+ corsymb = $\blacksquare$,
+ num = true,
+ transparent = false,
+ nosquare = false,
+ correction = false,%v1.00
+ numstyle = \arabic,
+ propstyle = \alph,% v0.93
+ numprop = false,% v0.93
+ size = \normalsize,
+ title = true,
+ ttwo = \aqlabelforrep,
+ tone = \aqlabelforquest,
+ numbreak = 0,
+ alea = false}{}
+\define@cmdkey[AQ]{local}{pq}{}
+\define@cmdkey[AQ]{local}{br}{}
+\presetkeys[AQ]{local}{br=1,pq= \cmdAQ@global@pq}{}%
+\newcommand{\qcm@pre}{Pour chacune des questions ci-dessous, une seule des r\'eponses propos\'ees est exacte. Vous devez cocher la r\'eponse exacte sans justification.
+Une bonne r\'eponse rapporte \textbf{\cmdAQ@global@bonus\ point}. Une mauvaise r\'eponse enl\`eve \textbf{\cmdAQ@global@malus\ point}. L'absence de r\'eponse ne rapporte ni n'enl\`eve aucun point. Si le total des points est n\'egatif, la note globale attribu\'ee \`a l'exercice est \textbf{0}.}
+\newcommand{\qcm@preVF}{Pour chacune des affirmations ci-dessous, cocher la case V (l'affirmation est vraie) ou la case F (l'affirmation est fausse) sur l'ANNEXE, \`a rendre avec la copie. Les r\'eponses ne seront pas justifi\'ees.
+Une bonne r\'eponse rapporte \textbf{\cmdAQ@global@bonus\ point}. Une mauvaise r\'eponse enl\`eve \textbf{\cmdAQ@global@malus\ point}. L'absence de r\'eponse ne rapporte ni n'enl\`eve aucun point. Si le total des points est n\'egatif, la note globale attribu\'ee \`a l'exercice est \textbf{0}.}
+
+\newcommand*{\AQms}{\aq@ms}
+\def\aq@ms(#1,#2){\vrule height #1pt depth #2pt width 0pt}
+\newcommand*{\altersquare}{\vbox{\hrule\hbox to 6pt{\vrule height 5.2pt \hfil\vrule}\hrule}}
+%v1.00
+\newcommand*{\dingsquare}{\ding{114}}
+%v1.00
+\newcommand*{\dingchecksquare}{\mbox{\ding{114}\hspace{-.7em}\raisebox{.2ex}[1ex]{\ding{51}}}}
+\newcommand*{\aq@style@title}{\textbf}
+\newcommand*{\aq@style@numquest}{\textbf}
+\newcommand*{\aq@style@numrep}{\textbf}
+
+
+
+\newcommand{\qcm@title}{%
+\hline%
+ \hfil{\aq@style@title{\cmdAQ@global@tone}}\hfil%
+ & \hfil{\aq@style@title{\cmdAQ@global@ttwo}}\hfil\\ \hline%
+ \ifAQ@global@long \endfirsthead
+\hline
+ \hfil{\aq@style@title{\cmdAQ@global@tone}}\hfil%
+ & \hfil{\aq@style@title{\cmdAQ@global@ttwo}}\hfil\\ \hline%
+\endhead
+& \raisebox{-1em}\hfill{\emph{\aqfoottext}} \\ \hline
+\endfoot
+\endlastfoot\fi
+}%
+
+\newcommand{\AQmessage}[1]{%
+\multicolumn{2}{|l|}{%
+\begin{minipage}{\textwidth-\tabcolsep*2-\arrayrulewidth*2}%
+
+\smallskip #1 \smallskip
+\end{minipage}}\\ \hline%
+}%
+
+\newcommand{\melange}{%
+\setrannum{\@alea}{1}{\value{qcm@numb}}%
+ \ifcase\@alea%
+ \or
+ \global\let\qcm@tempfirst\qcm@arga
+ \or
+ \global\let\qcm@tempfirst\qcm@argb
+ \or
+ \global\let\qcm@tempfirst\qcm@argc
+ \or
+ \global\let\qcm@tempfirst\qcm@argd
+ \or
+ \global\let\qcm@tempfirst\qcm@arge
+ \fi
+\setcounter{alea@numfirst}{\@alea}%
+\setrannum{\@alea}{1}{\value{qcm@numb}}%
+ \ifcase\@alea%
+ \or
+ \global\let\qcm@templast\qcm@arga
+ \or
+ \global\let\qcm@templast\qcm@argb
+ \or
+ \global\let\qcm@templast\qcm@argc
+ \or
+ \global\let\qcm@templast\qcm@argd
+ \or
+ \global\let\qcm@templast\qcm@arge
+ \fi
+\setcounter{alea@numlast}{\@alea}%
+\global\let\qcm@temp\qcm@tempfirst%
+\global\let\qcm@tempfirst\qcm@templast%
+\global\let\qcm@templast\qcm@temp%
+\global\expandafter\let\csname qcm@arg\alph{alea@numfirst}%
+\endcsname\qcm@tempfirst%
+\global\expandafter\let\csname qcm@arg\alph{alea@numlast}%
+\endcsname\qcm@templast%
+}%
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+\newcommand{\qcm@hauteurbox}[1]{%
+\setbox\qcm@tempbox=%
+\vbox{\parbox[t]{\textwidth-\tabcolsep*4-\arrayrulewidth*3-\cmdAQ@global@lq}%
+{\cmdAQ@global@symb\quad\mbox{#1}}}% \cmdAQ@global@symb remplace $\square$
+\qcm@dimtmpa\ht\qcm@tempbox\relax%
+\qcm@dimtmpb\dp\qcm@tempbox\relax%
+\advance\qcm@dimtmpa by\qcm@dimtmpb}%
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+\newcommand{\qcm@adjust}[1]{%
+\setbox\qcm@tempbox=%
+\vbox{%
+\parbox[t]{\cmdAQ@global@lq}{\aq@style@numquest{\number\value{AQ@numquestion}.}\hspace{3pt}#1}}%
+\qcm@dimtmpa\ht\qcm@tempbox%
+\qcm@dimtmpb\dp\qcm@tempbox%
+\qcm@wdquest\wd\qcm@wdquest%
+\advance\qcm@dimtmpa by\qcm@dimtmpb\relax%
+\qcm@hauteurquest=\qcm@dimtmpa%
+\qcm@hauteurbox{\qcm@arga}%
+\qcm@hauteurprop=\qcm@dimtmpa%
+\qcm@hauteurbox{\qcm@argb}%
+\advance\qcm@hauteurprop by\qcm@dimtmpa\relax%
+\ifnum\value{qcm@numb}>2\relax%
+\qcm@hauteurbox{\qcm@argc}%
+\advance\qcm@hauteurprop by\qcm@dimtmpa\relax\fi
+\ifnum\value{qcm@numb}>3\relax%
+\qcm@hauteurbox{\qcm@argd}%
+\advance\qcm@hauteurprop by\qcm@dimtmpa\relax\fi
+\ifnum\value{qcm@numb}>4\relax%
+\qcm@hauteurbox{\qcm@arge}%
+\advance\qcm@hauteurprop by\qcm@dimtmpa\relax\fi
+\ifdim\qcm@hauteurquest<\qcm@hauteurprop%
+\global\qcm@dimtmp=0pt
+\qcm@dimtmpa\ht\qcm@tempbox%
+\qcm@dimtmpb\dp\qcm@tempbox%
+\advance\qcm@dimtmpa by3pt%
+\advance\qcm@dimtmpb by2pt%
+\vrule height\qcm@dimtmpa depth\qcm@dimtmpb width0pt%
+\else
+\advance\qcm@hauteurquest by-\qcm@hauteurprop%
+\divide\qcm@hauteurquest by\theqcm@numb\relax%
+\divide\qcm@hauteurquest by2\relax%
+\global\qcm@dimtmp=\qcm@hauteurquest\fi
+}%
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+\newcommand{\qcm@prop}[2]{%
+\setbox\qcm@tempbox=\vbox{#1}%
+\qcm@wdprop\wd\qcm@tempbox%
+\qcm@dimtmpa\ht\qcm@tempbox\advance\qcm@dimtmpa by4pt\advance\qcm@dimtmpa by\qcm@dimtmp\relax%
+\qcm@dimtmpb\dp\qcm@tempbox\advance\qcm@dimtmpb by3pt\advance\qcm@dimtmpb by\qcm@dimtmp\relax%
+\ifAQ@global@VF\hfil\fi%
+\ifAQ@global@transparent\def\cmdAQ@global@corsymb{$\bigcirc$}%
+\def\cmdAQ@global@symb{}\fi%
+\ifAQ@global@numprop\stepcounter{AQ@numprop}%
+{\aq@style@numrep{(\cmdAQ@global@propstyle{AQ@numprop})}}%
+\else
+ \ifAQ@global@nosquare%
+ \else%
+ \ifAQ@global@correction%
+ \def\@stop{1}
+ \@for\goodrep:=\cmdAQ@local@br\do{%
+ \ifnum\@stop<6 %
+ \global\let\mysymb\cmdAQ@global@symb
+ \ifthenelse{\equal{\goodrep}{#2}}{%
+ \global\let\mysymb\cmdAQ@global@corsymb \def\@stop{9}}{%
+ }%
+ \fi}%
+ \mysymb\hspace*{6pt}%
+ \else
+ \cmdAQ@global@symb\hspace*{6pt}%
+ \fi
+ \fi
+ \fi%
+ \ifAQ@global@transparent
+ \vrule height0pt depth0pt width\qcm@wdprop
+ \else
+ \ignorespaces#1%
+ \fi
+ \vrule height\qcm@dimtmpa depth\qcm@dimtmpb width0pt%
+ \ifAQ@global@VF\hfil\fi}%
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+\newcommand{\AQquestion}[3][]{%
+\setkeys[AQ]{local}{#1}%
+\stepcounter{AQ@numquestion}%
+\setcounter{AQ@numprop}{0} % v0.93
+\setcounter{qcm@numb}{0}%
+\@for\liste:=#3\do{%
+\stepcounter{qcm@numb}%
+\global\expandafter\let\csname qcm@arg\alph{qcm@numb}\endcsname\liste}%
+\ifAQ@global@alea\ifAQ@global@VF\else%
+\n@arg=0 %
+\loop\ifnum\n@arg<\value{qcm@numb}\melange\advance\n@arg by1\repeat\fi\fi%
+\qcm@adjust{#2}%
+\multirow{1}{\cmdAQ@global@lq}[\cmdAQ@local@pq]{%
+\ifAQ@global@num\aq@style@numquest{\cmdAQ@global@numstyle{AQ@numquestion}.}%
+\hspace{3pt}\fi%
+\ifAQ@global@transparent%
+\hrule height0pt depth0pt width\qcm@wdquest%
+\else%
+#2\vss%
+\fi%
+ }%
+&\setkeys[AQ]{local}{#1}%
+ \qcm@prop{\qcm@arga}{1}\\%
+ \ifAQ@global@sep\cline{2-2}\fi%
+&\setkeys[AQ]{local}{#1}%
+ \qcm@prop{\qcm@argb}{2}\\%
+ \ifAQ@global@sep\cline{2-2}\fi%
+ \ifnum\value{qcm@numb}=2\hline\else\ifAQ@global@sep\cline{2-2}\fi%
+&\setkeys[AQ]{local}{#1}%
+ \qcm@prop{\qcm@argc}{3}\\%
+ \ifnum\value{qcm@numb}=3\hline\else\ifAQ@global@sep\cline{2-2}\fi%
+&\setkeys[AQ]{local}{#1}%
+ \qcm@prop{\qcm@argd}{4}\\%
+ \ifnum\value{qcm@numb}=4\hline\else\ifAQ@global@sep\cline{2-2}\fi%
+&\setkeys[AQ]{local}{#1}%
+ \qcm@prop{\qcm@arge}{5}\\%
+\hline\fi\fi\fi}%
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+\newcommand{\qcm@questionVF}[2][]{%
+\setkeys[AQ]{local}{#1}
+\stepcounter{AQ@numquestion}%
+\setcounter{AQ@numprop}{0}% v0.93
+\protected@xdef\qcm@arga{\textbf{V}}
+\protected@xdef\qcm@argb{\textbf{F}}
+\setcounter{qcm@numb}{2}%
+\qcm@adjust{#2}%
+\multirow{3}{\cmdAQ@global@lq}[\cmdAQ@local@pq]{%
+\ifAQ@global@num\aq@style@numquest{\cmdAQ@global@numstyle{AQ@numquestion}.}\hspace{3pt}\fi%
+#2\vss}%
+ &\setkeys[AQ]{local}{#1}\qcm@prop{\qcm@arga}{1}\\
+\ifAQ@global@sep \cline{2-2}\fi%
+ &\setkeys[AQ]{local}{#1}\qcm@prop{\qcm@argb}{2}\\
+\hline}%
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+\newenvironment{alterqcm}[1][]{%
+\ifAQ@global@numprop \setkeys [AQ] {global} {nosquare = true}{}\fi% %
+\setkeys[AQ]{global}{#1}%
+\setcounter{AQ@numquestion}{\cmdAQ@global@numbreak}%
+\ifAQ@global@VF\let\AQquestion\qcm@questionVF\let\qcm@pre\qcm@preVF\fi%
+\ifAQ@global@pre\qcm@pre\par\medskip\fi%
+\hfill\break%
+\ifAQ@global@long%
+\setlength\LTleft{0pt}%
+\setlength\LTright\fill%
+\setlength{\LTpre}{\intextsep}%
+\setlength{\LTpost}{\intextsep}%
+\begin{longtable}[l]{%
+@{}|>{\cmdAQ@global@size}p{\cmdAQ@global@lq}!{\extracolsep{\fill}}%
+|>{\cmdAQ@global@size}p{\textwidth-\tabcolsep*4-\arrayrulewidth*3-\cmdAQ@global@lq}|@{}}%
+ \else
+ \begin{tabular}{%
+ @{}|>{\cmdAQ@global@size}p{\cmdAQ@global@lq}%
+ |>{\cmdAQ@global@size}p{%
+ \textwidth-\tabcolsep*4-\arrayrulewidth*3-\cmdAQ@global@lq}%
+ |@{}}%
+ \fi
+ \ifAQ@global@title\qcm@title\else\hline\fi%
+}%
+{\ifAQ@global@long%
+ \end{longtable}%
+ \else
+ \end{tabular}%
+ \fi%
+}%
+
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+% #1 chemin & #2 theme & #3 liste de numéros
+% code de JC Charpentier
+%----------------------------------------------------------%
+
+\newcommand\InputQuestionList[3]{%
+
+ \tdml@a={}%
+ \tdml@b={}%
+ \ifx\relax#3\relax\else %
+ \tdml@#3,\@nil,%
+ \expandafter\tdml@clean\the\tdml@a\@nil
+ \fi
+ \expandafter\gdef\expandafter\last@val\expandafter{\the\tdml@b}
+ \AQ@TA{#1}{#2}{\the\tdml@a}%
+ \AQ@TB{#1}{#2}{\last@val}}
+%----------------------------------------------------------%
+\long\def\tdml@#1,{%
+ \ifx\@nil#1\relax
+ \else
+ \expandafter\addtotoks\the\tdml@b,\to\tdml@a
+ \tdml@b={#1}%
+ \expandafter\tdml@
+ \fi
+}
+%----------------------------------------------------------%
+\long\def\addtotoks#1\to#2{%
+ #2=\expandafter{\the#2#1}%
+}
+%----------------------------------------------------------%
+\long\def\tdml@clean,#1\@nil{%
+ \ifx\relax#1\relax
+ \tdml@a{}%
+ \else
+ \tdml@@clean#1\@nil
+ \fi
+}
+%----------------------------------------------------------%
+\long\def\tdml@@clean#1,\@nil{%
+ \tdml@a{#1}%
+}
+%----------------------------------------------------------%
+%----------------------------------------------------------%
+\newcommand\AQ@TA[3]{\@for\nb:=#3\do{%
+\input #1#2\nb}
+}
+
+\newcommand\AQ@TB[3]{\input#1#2#3}%
+%----------------------------------------------------------%
+%----------------------------------------------------------%
+\newcount\prop
+\def\aq@tvi(#1,#2){\vrule height #1pt depth #2pt width 0pt}
+\define@cmdkey [AQ] {ann} {propstyle}[true]{}
+\define@boolkey [AQ] {ann} {VF}[true]{}
+\presetkeys [AQ] {ann} {propstyle = \arabic,
+ VF = false}{}
+
+\newcommand*{\AQannexe}[4][]{%
+\setkeys[AQ]{ann}{#1}%
+\setcounter{tmp}{#4}%
+\stepcounter{tmp}%
+\begin{tabular}{*{\number\value{tmp}}{|>{\hfill}c}|}\hline%
+ \ifAQ@ann@VF%
+N&V&F%
+ \else
+N\forLoop{1}{#4}{identCol}%
+ {& \cmdAQ@ann@propstyle{identCol}}\fi
+\tabularnewline\hline%
+\forLoop{#2}{#3}{identRow}
+ {\number\value{identRow}&%
+ \forLoop{2}{\number\value{tmp}}{identCol}%
+ {$\ $%
+ \ifthenelse{\equal{\value{identCol}}{#4}}{}{&}%
+ }%
+\tabularnewline\hline}%
+\end{tabular}%
+}%
+
+\endinput
diff --git a/Master/tlpkg/bin/tlpkg-ctan-check b/Master/tlpkg/bin/tlpkg-ctan-check
index f0c62c448db..da59b73535d 100755
--- a/Master/tlpkg/bin/tlpkg-ctan-check
+++ b/Master/tlpkg/bin/tlpkg-ctan-check
@@ -24,7 +24,8 @@ my @WorkingTLP = qw(
acmconf acmtrans acronym
active-conf addlines adrconv adrlist ae afthesis
aguplus aiaa aichej AkkTeX akletter
- algorithm2e algorithmicx algorithms alnumsec altfont ametsoc ams
+ algorithm2e algorithmicx algorithms alnumsec alterqcm
+ altfont ametsoc ams
amsaddr amslatex-primer amsldoc-it amsmath amsrefs
amsthdoc-it animate ANUfinalexam anyfontsize anysize
apa apacite appendix apl
diff --git a/Master/tlpkg/tlpsrc/alterqcm.tlpsrc b/Master/tlpkg/tlpsrc/alterqcm.tlpsrc
new file mode 100644
index 00000000000..7359faad15d
--- /dev/null
+++ b/Master/tlpkg/tlpsrc/alterqcm.tlpsrc
@@ -0,0 +1,2 @@
+name alterqcm
+category Package
diff --git a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
index b8e303ec011..f607c35821f 100644
--- a/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
+++ b/Master/tlpkg/tlpsrc/collection-latexextra.tlpsrc
@@ -15,6 +15,7 @@ depend addlines
depend adrconv
depend adrlist
depend akletter
+depend alterqcm
depend altfont
depend amsaddr
depend animate