\section{Global Environment Options \tkzname{alterqcm}} \subsection{\tkzname{lq} : changing the width of the first column } \IoptEnv{alterqcm}{lq} \begin{alterqcm}[long,lq=110mm] \AQquestion{Of the following proposals, which one allows of to assert that the exponential function admits for asymptote the equation line $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$ for any $x$ belonging to } {{$\mathbb{R}$}, {$\big]0~;~+ \infty\big[$}, {$\big[0~;~+\infty\big[$} } \end{alterqcm} \medskip Let's look at the code needed to get this table. We need to place \tkzcname{usepackage}\{alterqcm\} in the preamble. Note that only the width of the question column is provided |lq=100mm| and that this is optional. The number of propositions is here \textbf{3} but it can vary from one question to another. \begin{tkzexample}[code only,small] \begin{alterqcm}[long,lq=110mm] \AQquestion{Of the following proposals, which one allows of to assert that the exponential function admits for asymptote the equation line $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$ for any $x$ belonging to } {{$\mathbb{R}$}, {$\big]0~;~+ \infty\big[$}, {$\big[0~;~+\infty\big[$} } \end{alterqcm}\end{tkzexample} \subsection{\tkzname{pq} : global use } \IoptEnv{alterqcm}{pq} This time, it is necessary to move several questions, I placed a pq=2mm globally, that is to say like this~: \tkzcname{begin\{alterqcm\}[lq=85mm,pq=2mm]}. \textbf{All} questions are affected by this option but some questions were well placed and should remain so, so locally I give them back a |pq=0mm|. \medskip \begin{alterqcm}[lq=85mm,pq=2mm] \AQquestion{A bivariate statistical series. The values of $x$ are 1, 2, 5, 7, 11, 13 and a least squares regression line equation of $y$ to $x$ is $y = 1.35x +22.8$. The coordinates of the mean point are :} {{$(6,5;30,575)$}, {$(32,575 ; 6,5)$}, {$(6,5 ; 31,575)$}} \AQquestion{For any real $x$, the number \[\dfrac{\text{e}^x - 1}{\text{e}^x + 2}\hskip12pt \text{equal to :} \] } {{$-\dfrac{1}{2}$}, {$\dfrac{\text{e}^{-x} - 1}{\text{e}^{-x} + 2}$}, {$\dfrac{1 - \text{e}^{-x}}{1 + 2\text{e}^{-x}}$} } \AQquestion{With I $= \displaystyle\int_{\ln 2}^{\ln 3} \dfrac{1}{\text{e}^x - 1}\,\text{d}x$ and J $ = \displaystyle\int_{\ln 2}^{\ln 3} \dfrac{\text{e}^x}{\text{e}^x - 1}\,\text{d}x$ \\ then the number I $-$ J equals} {{$\ln \dfrac{2}{3}$}, {$\ln \dfrac{3}{2}$}, {$\dfrac{3}{2}$} } \end{alterqcm} \begin{tkzexample}[code only,small] \begin{alterqcm}[lq=85mm,pq=2mm] \AQquestion{For any real $x$, the number \[\dfrac{\text{e}^x - 1} {\text{e}^x + 2}\hskip12pt \text{equal to :} \] } {{$-\dfrac{1}{2}$}, {$\dfrac{\text{e}^{-x} - 1}{\text{e}^{-x} + 2}$}, {$\dfrac{1 - \text{e}^{-x}}{1 + 2\text{e}^{-x}}$}} \end{alterqcm} \end{tkzexample} \subsection{\tkzname{TF} : True or False} \IoptEnv{alterqcm}{TF} V or F in french vrai ou faux ! There are only two proposals and the candidate must choose between \textbf{True} or \textbf{False} ou bien si vous préférez \textbf{Correct} and \textbf{Wrong}. This time the syntax has been streamlined. It is no longer necessary to write the list of proposals and it is enough to position \tkzname{VF} by placing in the options \tkzname{$VF$}. \begin{minipage}[t][][b]{.45\linewidth} Let $f$ be a function defined and derivable on the interval $\big[-3~;~+\infty\big[$, increasing over the intervals $\big[-3~;~-1\big]$ et $\big[2~;~+\infty\big[$ and decreasing over the interval $\big[-1~;~2\big]$. We note $f'$ its derivative function over the interval $[-3~;~+\infty[$. The $\Gamma$ curve representative of the $f$ function is plotted below in an orthogonal coordinate system $\big(O,~\vec{\imath},~\vec{\jmath}\big)$. It passes through point A$(-3~;~0)$ and admits for asymptote the $\Delta$ line of equation $y = 2x -5$. \end{minipage} \hfill \begin{minipage}[t][][b]{.45\linewidth} \null \begin{tikzpicture}[scale=0.5,>=latex] \draw[very thin,color=gray] (-3,-2) grid (10,8); \draw[->] (-3,0) -- (10,0) node[above left] {\small $x$}; \foreach \x in {-3,-2,-1,1,2,...,9} \draw[shift={(\x,0)}] (0pt,1pt) -- (0pt,-1pt)node[below] { $\x$}; \draw[->] (0,-2) -- (0,8) node[below right] {\small $y$}; \foreach \y/\ytext in {-2,-1,1,2,...,7} \draw[shift={(0,\y)}] (1pt,0pt) -- (-1pt,0pt) node[left] { $\y$}; \draw (2,-1) -- (6,7); \node[above right] at (-3,0) {\textbf{A}}; \node[above right] at (0,0) {\textbf{O}}; \node[below right] at (4,3) {$\mathbf{\Delta}$}; \node[above right] at (4,5) {$\mathbf{\Gamma}$}; \draw plot[smooth] coordinates{% (-3,0)(-2,4.5)(-1,6.5)(0,5.5)(1,3.5)(2,3)(3,3.4)(4,4.5)(5,6)(6,7.75)}; \end{tikzpicture} \end{minipage} \begin{alterqcm}[VF,lq=125mm] \AQquestion{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.} \AQquestion{The $F$ function has a maximum in $2$} \AQquestion{$\displaystyle\int_{0}^2 f'(x)\,\text{d}x = - 2$} \end{alterqcm} \begin{tkzexample}[code only, small] \begin{minipage}[t][][b]{.45\linewidth} Let $f$ be a function defined and derivable on the interval $\big[-3~;~+\infty\big[$, increasing over the interval $\big[-3~;~-1\big]$ and $\big[2~;~+\infty\big[$ and decreasing over the interval $\big[-1~;~2\big]$. We note $f'$ its derivative function over the interval $[-3~;~+\infty[$. The $\Gamma$ curve representative of the $f$ function is plotted below in an orthogonal system $\big(O,~\with{\imath},~\jmath}\big)$. It passes through the point A$(-3~;~0)$ and admits for asymptote the line $\Delta$ of equation $y = 2x -5$. \end{minipage} \begin{minipage}[t][][b]{.45\linewidth} \null \begin{tikzpicture}[scale=0.5,>=latex] \draw[very thin,color=gray] (-3,-2) grid (10,8); \draw[->] (-3,0) -- (10,0) node[above left] {\small $x$}; \foreach \x in {-3,-2,-1,1,2,...,9} \draw[shift={(\x,0)}] (0pt,1pt) -- (0pt,-1pt)node[below] { $\x$}; \draw[->] (0,-2) -- (0,8) node[below right] {\small $y$}; \foreach \y/\ytext in {-2,-1,1,2,...,8} \draw[shift={(0,\y)}] (1pt,0pt) -- (-1pt,0pt) node[left] { $\y$}; \draw (-0.5,-2) -- (10,8); \node[above right] at (-3,0) {\textbf{A}}; \node[above right] at (0,0) {\textbf{O}}; \node[below right] at (4,3) {$\mathbf{\Delta}$}; \node[above right] at (4,5) {$\mathbf{\Gamma}$}; \draw plot[smooth] coordinates{% (-3,0)(-2,4.5)(-1,6.5)(0,5.5)(1,3.5)(2,3)(3,3.4)(4,4.5)(5,6)(6,7.75)}; \end{tikzpicture} \end{minipage} \begin{alterqcm}[VF,lq=125mm] \AQquestion{For all $x \in ]-\infty~;~2],~f'(x) \geqslant 0$.} \AQquestion{The $F$ function has a maximum in $2$} \AQquestion{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$} \end{alterqcm} \end{tkzexample} \subsection{\tkzname{symb} : symbol change } \IoptEnv{alterqcm}{symb} If your fonts don't have the symbol |$\square$| or |$\blacksquare$| you can use the one provided by the package or create one yourself. \tkzcname{altersquare}, \tkzcname{dingsquare} and \tkzcname{dingchecksquare} are provided by alterqcm. Here is how these macros are defined. \begin{tkzexample}[code only,small] \newcommand*{\altersquare}{\mbox{\vbox{\hrule\hbox to 6pt{\vrule height 5.2pt \hfil\vrule}\hrule}}}\end{tkzexample} \medskip you either get \altersquare\ or... : \begin{tkzexample}[code only,small] \newcommand*{\dingsquare}{\ding{114}} \end{tkzexample} \medskip which results in \dingsquare\ and finally to replace |$\blacksquare$| \begin{tkzexample}[code only,small] \newcommand*{\dingchecksquare}{\mbox{\ding{114}% \hspace{-.7em}\raisebox{.2ex}[1ex]{\ding{51}}}} \end{tkzexample} \medskip Let it be \dingchecksquare\ as a result. \begin{tkzexample}[code only,small] \begin{alterqcm}[lq=90mm,symb=\altersquare] ... \end{alterqcm}\end{tkzexample} \medskip Full example : \medskip \begin{tkzexample}[vbox] \begin{alterqcm}[VF,lq=125mm,symb = \dingsquare] \AQquestion{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.} \AQquestion{The $F$ function has a maximum in $2$} \AQquestion{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$} \end{alterqcm}\end{tkzexample} \subsection{\tkzname{pre, bonus, malus} : automatic presentation } \IoptEnv{alterqcm}{pre}\IoptEnv{alterqcm}{bonus}\IoptEnv{alterqcm}{malus} As you can see below, a presentation is given of the exercise with the grading. \bigskip \begin{minipage}[c][][t]{.45\linewidth} \begin{tkzexample}[code only,small] \begin{alterqcm}[lq=6cm,pre=true,bonus=1,malus={0,5}] \AQquestion{Question} {{Proposition 1}, {Proposition 2}} \end{alterqcm}\end{tkzexample} \end{minipage}\hfill \begin{minipage}[c][][t]{.45\linewidth} \begin{alterqcm}[lq=3cm,pre=true,bonus=1,malus={0,5}] \AQquestion{Question} {{Proposition 1}, {Proposition 2}} \end{alterqcm} \end{minipage} \vspace{1cm} \subsection{\tkzname{sep} : rule between proposals} \IoptEnv{alterqcm}{sep} \tkzname{sep=true} creates a rule between the proposals. \begin{minipage}[c][][t]{.45\linewidth} \begin{tkzexample}[code only,small] \begin{alterqcm}[lq=3cm,sep=true] \AQquestion{Question} etc.. \end{alterqcm}\end{tkzexample} \end{minipage}\hfill \begin{minipage}[c][][t]{.45\linewidth} \begin{alterqcm}[lq=3cm,sep=true] \AQquestion{Question} {{Proposition 1}, {Proposition 2}} \end{alterqcm} \end{minipage} \subsection{\tkzname{num, numstyle} : deletion and style of numbering } \IoptEnv{alterqcm}{num}\IoptEnv{alterqcm}{numstyle} \subsubsection{\tkzname{num=false}} \tkzname{num=false} makes the numbering of the questions disappear. \begin{minipage}[c][][t]{.45\linewidth} \begin{tkzexample}[code only, small] \begin{alterqcm}[lq=3cm,num=false] \AQquestion{Question} etc... \end{alterqcm} \end{tkzexample} \end{minipage}\hfill \begin{minipage}[c][][t]{.45\linewidth} \begin{alterqcm}[lq=3cm,num=false] \AQquestion{Question} {% {Proposition 1}, {Proposition 2}} \end{alterqcm} \end{minipage} \subsubsection{\tkzname{numstyle}} \tkzname{numstyle}=\tkzcname{alph} changes the style of question numbering. The usual styles are valid here. \begin{minipage}[c][][t]{.45\linewidth} \begin{tkzexample}[code only, small] \begin{alterqcm}[lq=3cm,numstyle=\alph] \AQquestion{Question} etc... \end{alterqcm} \end{tkzexample} \end{minipage} \hfill \begin{minipage}[c][][t]{.45\linewidth} \begin{alterqcm}[lq=3cm,numstyle=\alph] \AQquestion{Question} {% {Proposition 1}, {Proposition 2}} \end{alterqcm} \end{minipage} \subsection{\tkzname{title, tone, ttwo} : deletion and modification of the title line } \IoptEnv{alterqcm}{title}\IoptEnv{alterqcm}{tone}\IoptEnv{alterqcm}{ttwo} \tkzname{title=false} deletes the column headings. \begin{minipage}[c][][t]{.45\linewidth} \begin{tkzexample}[code only,vbox] \begin{alterqcm}[lq=3cm,title=false] \AQquestion{Question} etc... \end{alterqcm}\end{tkzexample} \end{minipage}\hfill \begin{minipage}[c][][t]{.45\linewidth} \begin{alterqcm}[lq=3cm,title=false] \AQquestion{Question} {% {Proposition 1}, {Proposition 2}% } \end{alterqcm} \end{minipage} \medskip \tkzname{tone=titre n°1} and \tkzname{ttwo=titre n°2} change the table headers \begin{minipage}[c][][t]{.45\linewidth} \begin{tkzexample}[code only] \begin{alterqcm}[lq=3cm,tone=titre n°1,ttwo=titre n°2] \AQquestion{Question} etc... \end{alterqcm}\end{tkzexample} \end{minipage}\hfill \begin{minipage}[c][][t]{.45\linewidth} \begin{alterqcm}[lq = 3cm,tone = titre n°1,ttwo = titre n°2] \AQquestion{Question} {{Proposition 1}, {Proposition 2} } \end{alterqcm} \end{minipage} \subsection{\tkzname{noquare} : square suppression } \IoptEnv{alterqcm}{nosquare} \tkzname{nosquare=true} fait disparaître le carré ou encore la numérotation des propositions. \begin{minipage}[c][][t]{.45\linewidth} \begin{tkzexample}[code only,small] \begin{alterqcm}[lq=3cm,nosquare=true] \AQquestion{Question} etc... \end{alterqcm}\end{tkzexample} \end{minipage}\hfill \begin{minipage}[c][][t]{.45\linewidth} \begin{alterqcm}[lq=3cm,nosquare=true] \AQquestion{Question} {% {Proposition 1}, {Proposition 2} } \end{alterqcm} \end{minipage} \medskip \tkzname{numprop=true} number the proposals and \tkzname{propstyle= ...} changes the numbering style. Default, \tkzname{propstyle=\textbackslash alph} \begin{minipage}[c][][t]{.45\linewidth} \begin{tkzexample}[code only,small] \begin{alterqcm}[lq=3cm,numprop = true,propstyle = \Roman] \AQquestion{Question} etc... \end{alterqcm}\end{tkzexample} \end{minipage}\hfill \begin{minipage}[c][][t]{.45\linewidth} \begin{alterqcm}% [lq=3cm, numprop = true, propstyle = \Roman] \AQquestion{Question} {% {Proposition 1}, {Proposition 2}% } \end{alterqcm} \end{minipage} \subsection{\tkzname{alea} : random positioning of proposals } \IoptEnv{alterqcm}{alea} It is preferable between two compilations to delete the auxiliary files. \textcolor{red}{\lefthand} Be careful, in random mode, it is not possible to obtain an answer corresponding to the initial assignment. \begin{tkzexample}[small] \begin{alterqcm}[lq=55mm,alea] \AQquestion[pq=1mm]{If the $f$ function is strictly increasing on $\mathbf{R}$ then the equation $f(x) = $0 admits :} {{At least one solution},% {At most one solution},% {Exactly one solution}} \end{alterqcm} \end{tkzexample} \subsection{\tkzname{english}, \tkzname{german}, \tkzname{greek}, \tkzname{italian}, \tkzname{russian}, \tkzname{chinese}\ and \tkzname{unknown} : language change } \IoptEnv{alterqcm}{english}\IoptEnv{alterqcm}{german}\IoptEnv{alterqcm}{french} The order given above is that of creation. Thanks to Apostolos Syropoulos and Anastasios Dimou for enabling the use of Greek language. \begin{tkzexample}[code only,small] \begin{alterqcm}[language=french,lq=55mm,alea] \end{tkzexample} \begin{alterqcm}[language=french,lq=55mm,alea] \AQquestion[pq=1mm]{If the $f$ function is strictly increasing on $\mathbf{R}$ then the equation equation $f(x) = $0 admits...} {{At least one solution},% {At most one solution},% {Exactly one solution}} \end{alterqcm} \begin{tkzexample}[code only,small] \begin{alterqcm}[language=german,lq=55mm,alea] \end{tkzexample} \begin{alterqcm}[language=german,lq=55mm,alea] \AQquestion[pq=1mm]{Wenn die Funktion $f$ % auf $\mathbf{R}$ streng monoton wächst, dann hat die Gleichung $f(x) = 0$:} {{mindestens ein Lösung},% {höchstens eine Lösung},% {genau eine Lösung}} \end{alterqcm} \begin{alterqcm}[language=chinese,VF,lq=125mm,symb = \dingsquare,pre=true] \def\aq@pre{对于以下提出的各个问题,仅有一个答案是正确的,请选择你认为正确的答案(不需要提供理由)。} \AQquestion{$x \in ]-3~;~2]$的情形下,$f'(x) \geq 0$。} \AQquestion{$F$ 函数的最大值为$2$。} \AQquestion{$\displaystyle\int_{0}^2 f’(x)\:\text{d}x = - 2$} \end{alterqcm} \begin{alterqcm}[language=chinese,pre=true] \AQquestion{问题}{% {选择1}, {选择2}, {选择3}} \end{alterqcm} There's a section devoted solely to the "greek" option. How to use \tkzname{unknown} : You need to call the package with the option "unknown" then yo need to redefine some macros. \begin{tkzexample}[code only,small] \usepackage[unknown]{alterqcm} % userdefined language: unknown=spanish \def\aqlabelforquest{Preguntas}% \def\aqlabelforrep{Respuestas}% \def\aqtextfortrue{\textbf{V}} \def\aqtextforfalse{\textbf{F}} \def\txttv{V}% V(erdadero) \def\txttf{F}% F(also) \def\aqfoottext{Continúa en la página siguiente\dots} \def\aqpretxt{\vspace*{6pt}Para cada una de las preguntas siguientes, sólo una de las respuestas propuestas es verdadera. Debe elegir la respuesta correcta sin justificación.}% \def\aqpretxtVF{Para cada una de las afirmaciones de abajo, marque la casilla \textbf{V} (la afirmación es verdadera) o la casilla \textbf{F} (la afirmación es falsa).}% \begin{alterqcm}[language=unknown] \AQquestion{Question}{% {Proposition 1}, {Proposition 2}, {Proposition 3}} \end{alterqcm} \end{tkzexample} \begingroup \def\aqlabelforquest{Preguntas}% \def\aqlabelforrep{Respuestas}% \def\aqtextfortrue{\textbf{V}} \def\aqtextforfalse{\textbf{F}} \def\txttv{V}% V(erdadero) \def\txttf{F}% F(also) \def\aqfoottext{Continúa en la página siguiente\dots} \def\aqpretxt{\vspace*{6pt}Para cada una de las preguntas siguientes, sólo una de las respuestas propuestas es verdadera. Debe elegir la respuesta correcta sin justificación.}% \def\aqpretxtVF{Para cada una de las afirmaciones de abajo, marque la casilla \textbf{V} (la afirmación es verdadera) o la casilla \textbf{F} (la afirmación es falsa).}% \begin{alterqcm}[language=unknown] \AQquestion{Question}{% {Proposition 1}, {Proposition 2}, {Proposition 3}} \end{alterqcm} \endgroup \newpage \subsection{\tkzname{long} : use of longtable} \IoptEnv{alterqcm}{long}\Ienv{longtable} A table can arrive at the end of the page and be cut or simply be very long. This option allows you to use instead of a \tkzname{tabular} an environnement \tkzname{longtable}. Here is an example from Pascal Bertolino. \begin{alterqcm}[lq=80mm,long] %-------------------------------------------------------------- \AQquestion{What was the precursor language of the C language?} {{Fortran}, {language B}, {Basic}} %-------------------------------------------------------------- \verbdef\argprop|int a = 3 ^ 4 ;| \AQquestion{\argprop} {{raises 3 to the power of 4}, {makes an exclusive OR between 3 and 4}, {is not a C}} %-------------------------------------------------------------- \AQquestion{What is the correct syntax to shift the integer 8 bits to the left? \texttt{a} ?} {{\texttt{b = lshift(a, 8) ;}}, {\texttt{b = 8 << a ;}}, {\texttt{b = a << 8 ;}}} %-------------------------------------------------------------- \verbdef\argprop|{ printf ("hello") ; return 0 ; \}| \AQquestion{The complete program : \\ \texttt{int main() \\ ~~\argprop}} {{display \texttt{hello}}, {gives an error to the compilation}, {gives an error in execution}} %-------------------------------------------------------------- \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{Let's say the statement \arg ; \\The first real in the table is \ldots} {{\propa}, {\propb}, {\propc}} %-------------------------------------------------------------- \AQquestion{The line \texttt{printf("\%c", argv[2][0]) ;} of \texttt{main} of \texttt{monProg} run like this : \texttt{monProg parametre }} {{displays \texttt{p}}, {displays nothing}, {can cause a crash}} %-------------------------------------------------------------- \AQquestion{What is the memory size of a \texttt{long int} ?} {{4 octets}, {8 octets}, {it depends \ldots}} %-------------------------------------------------------------- \AQquestion{Following the declaration \texttt{int * i} ;} {{\texttt{*i} is an address}, {\texttt{*i} is an integer}, {\texttt{*i} is a pointer}} %-------------------------------------------------------------- \AQquestion{One of the following choices is not a standard library of the C} {{\texttt{stdlib}}, {\texttt{stdin}}, {\texttt{math}}} %-------------------------------------------------------------- \end{alterqcm} The beginning of the code is simply \begin{tkzltxexample}[small] \begin{alterqcm}[lq=80mm,long] \AQquestion{What was the precursor language of the C language?} {{Fortran}, {language B}, {Basic}} \end{alterqcm} \end{tkzltxexample} \medskip It is possible to modify the text that is placed at the end of the table. Just modify the command \tkzcname{aqfoottext}. \begin{tkzltxexample}[small] \def\aqfoottext{continued on next page\ldots} \end{tkzltxexample} \subsection{\tkzname{numbreak} : split a mcq } This option allows either to continue the numbering of the previous table. This option was necessary before the use of the \tkzname{long} option. for tables split by a page break. It can now be used for a series of tables grouped together to obtain a single MCQ. \begin{alterqcm}[lq=80mm,title=false,num=false,long] \AQquestion{What was the precursor language of the C language?} {{Fortran}, {language B}, {Basic}} \verbdef\argprop|int a = 3 ^ 4 ;| \AQquestion{\argprop} {{raises 3 to the power of 4}, {makes an exclusive OR between 3 and 4}, {is not a C-instruction}} \end{alterqcm} \begin{alterqcm}[lq=80mm,title=false,num=false,numbreak=2,long] \AQquestion{After the declaration \texttt{int * i} ;} {{\texttt{*i} is an address}, {\texttt{*i} is an integer}, {\texttt{*i} is a pointer}} \AQquestion{One of the following choices is not a standard C library} {{\texttt{stdlib}}, {\texttt{stdin}}, {\texttt{math}}} \end{alterqcm} the code for the beginning is : \begin{tkzltxexample}[small] \begin{alterqcm}[lq=80mm,title=false,num=false,long] \AQquestion{What was the precursor language of the C language?} {{Fortran}, {language B}, {Basic}} \verbdef\argprop|int a = 3 ^ 4 ;| \AQquestion{\argprop} {{raises 3 to the power of 4}, {makes an exclusive OR between 3 and 4}, {is not a C-instruction}} \end{alterqcm} \end{tkzltxexample} For the second part, we set \tkzname{numbreak} to $2$ because the first board had $2$ questions. In a future version, we will not have to count the questions anymore. \begin{tkzltxexample}[small] \begin{alterqcm}[lq=80mm,title=false,num=false,numbreak=2,long] \AQquestion{Following the declaration \texttt{int * i} ;} {{\texttt{*i} is an address}, {\texttt{*i} is an integer}, {\texttt{*i} is a pointer}} \AQquestion{One of the following choices is not a standard C library} {{\texttt{stdlib}}, {\texttt{stdin}}, {\texttt{math}}} \end{alterqcm} \end{tkzltxexample} \subsection{\tkzname{correction} : Correction of a mcq} \IoptEnv{alterqcm}{correction} It is possible to create an answer key by using the \tkzname{correction} option and indicating the correct answer(s) using a local parameter \tkzname{br}. Here is an example: \begin{alterqcm}[VF,lq=125mm,correction, symb = \dingsquare, corsymb = \dingchecksquare] \AQquestion[br=1]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.} \AQquestion[br=2]{The $F$ function has a maximum in $2$} \AQquestion[br=2]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$} \end{alterqcm} \begin{tkzltxexample}[] \begin{alterqcm}[VF,lq=125mm,correction, symb = \dingsquare, corsymb = \dingchecksquare] \AQquestion[br=1]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.} \AQquestion[br=2]{The $F$ function has a maximum in $2$} \AQquestion[br=2]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$} \end{alterqcm} \end{tkzltxexample} \subsection{Modification du symbole \tkzname{corsymb}} \IoptEnv{alterqcm}{corsymb} \tkzcname{dingchecksquare} is provided by alterqcm. Here is how this macro is defined. \begin{tkzexample}[code only,small] \newcommand*{\dingchecksquare}{\mbox{\ding{114}% \hspace{-.7em}\raisebox{.2ex}[1ex]{\ding{51}}}} \end{tkzexample} \medskip Let's consider checksquare as a result. \begin{tkzexample}[code only,small] \begin{alterqcm}[lq=90mm,symb=\altersquare,corsymb=\dingchecksquare] ... \end{alterqcm} \end{tkzexample} \medskip Full example : \medskip \begin{alterqcm}[VF,lq=125mm,correction, symb = \dingsquare, corsymb = \dingchecksquare] \AQquestion[br=1]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.} \AQquestion[br=2]{The $F$ function has a maximum in $2$} \AQquestion[br=2]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$} \end{alterqcm} \begin{tkzexample}[code only] \begin{alterqcm}[VF,lq=125mm,correction, symb = \dingsquare, corsymb = \dingchecksquare] \AQquestion[br=1]{For any $x \in ]-3~;~2],~f'(x) \geqslant 0$.} \AQquestion[br=2]{The $F$ function has a maximum in $2$} \AQquestion[br=2]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$} \end{alterqcm} \end{tkzexample} \subsection{\tkzname{br=\{\ldots\}} : corrected with several correct answers} \Iopt{AQquestion}{br} A list of correct answers is given \begin{tkzexample}[vbox,small] \begin{alterqcm}[correction] \AQquestion[br={1,3}]{Question} {% {Proposition 1}, {Proposition 2}, {Proposition 3}% } \end{alterqcm} \end{tkzexample} \subsection{\tkzname{transparent} : creation of a transparent slide showing the answers.} \IoptEnv{alterqcm}{transparent} This macro makes it possible to create a document identical to the original but without the questions and with a circle indicating the good proposals. \begin{tkzexample}[vbox,small] \begin{alterqcm}[transparent,correction,corsymb=\dingchecksquare,lq=100mm] \AQquestion[br=2,pq=3mm]{Which of the following proposals is that which allows us to affirm that the exponential function admits for asymptote the equation line $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={1,3}]{exp$(\ln x) = x$ for any $x$ belonging to } {{$\mathbf{R}$}, {$\big]0~;~+ \infty\big[$}, {$\big[0~;~+\infty\big[$} } \AQquestion[br={1,2}]{exp$(\ln x) = x$ for any $x$ belonging to } {{$\mathbf{R}$}, {$\big]0~;~+ \infty\big[$}, {$\big[0~;~+\infty\big[$} }\AQquestion[br=2,pq=3mm]{Which of the following proposals is that which allows us to affirm that the exponential function admits for asymptote the equation line $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$} } \end{alterqcm} \end{tkzexample} \endinput