summaryrefslogtreecommitdiff
path: root/obsolete/macros/latex/contrib/alterqcm/doc/latex/doc-aq-mc.tex
blob: 4602d827bb1b9701413a6bc098c607a9edd2641f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
%!TEX root = /Users/ego/Boulot/Alterqcm/doc/doc_aq-main.tex 

\section{Macros complémentaires}

\subsection{\tkzcname{AQmessage} : message sur les deux colonnes} 

Elle permet d'insérer dans le tableau sur les deux colonnes, des renseignements complémentaires pour le candidat. 

Dans le tableau suivant, il est nécessaire de donner des indications et des précisions sur l'énoncé. Ceci est fait à l'aide de la commande \tkzcname{AQmessage}. J'ai utilisé le package \tkzname{tkz-tab.sty} pour ce message ainsi que  \emph{\texttt{l'environnement minipage}} pour certaines propositions, afin de faire tenir la proposition sur plusieurs lignes. cela est nécessaire si on ne veut pas sortir du tableau ou bien si on ne veut pas restreindre l'espace accordé aux questions.
Cela montre que l'on peut utiliser de nombreux environnements à la fois dans les questions, les messages et les propositions

\begin{NewMacroBox}{AQmessage}{{\var{texte}}}

\begin{tabular}{@{}Il Il Il@{}}  \toprule \thead
argument                 & défaut           & définition     \\ \midrule
\tbody
\TAline{texte}  {}     {corps du message}      
\bottomrule
\end{tabular}

\medskip
\emph{Cette macro n'utilise qu'un argument~: le texte du message. Celui-ci peut contenir toute sorte d'environnement à l'exception, malheureusement, d'un tableau conçu avec \tkzname{tablor}. Il est cependant possible d'importer un tableau conçu à l'aide de \tkzname{tablor} avec la macro \tkzcname{includegraphics}\footnotemark.}
\end{NewMacroBox}\Imacro{includegraphics}

\footnotetext{macro du package \tkzname{graphicx}}

\begin{alterqcm}[lq=80mm,pre=false]
\AQmessage{\begin{minipage}{15cm}
\vspace*{6pt}
 Soit $f$ une fonction définie et dérivable sur l'intervalle $]-5~;~+\infty[$ dont le tableau de variations est donné ci-dessous :
\begin{center}\begin{tikzpicture}
\def\tkzTabDefaultWritingColor{Maroon}
\def\tkzTabDefaultBackgroundColor{fondpaille}  
\tkzTabInit{$x$/1,$f(x)$/3} {$-5$,$-1$,$0$,$2$,$+\infty$}
\tkzTabVar{-/$-\infty$ /,+/$-3$/,-/$-5$/,+/4/,-/{4,5}/}
\end{tikzpicture}\end{center}
 On désigne par $\mathcal{C}$ la courbe représentative de $f$.
 \vspace*{6pt}    
\end{minipage} 
}
\AQquestion{Sur l'intervalle $]-5~;~+\infty[$, l'équation $f(x) = -2$ admet }
{{une seule solution},
{deux solutions},
{quatre solutions}}
\end{alterqcm}

\begin{tkzexample}[code only]
 \begin{alterqcm}[lq=95mm,pre=false]
  \AQmessage{ Soit $f$ une fonction définie et dérivable sur l'intervalle%
   $]-5~;~+\infty[$ dont le tableau de variations est donné ci-dessous :
   \begin{center}\begin{tikzpicture}
      \tkzTabInit{$x$/1,$f(x)$/3} {$-5$,$-1$,$0$,$2$,$+\infty$}
      \tkzTabVar{-/$-\infty$ ,+/$-3$,-/$-5$,+/$4$,-/${4,5}$}%
   \end{tikzpicture}\end{center}
  On désigne par $\mathcal{C}$  la courbe représentative de $f$.}
\AQquestion{Sur l'intervalle $]-5~;~+\infty[$,l'équation $f(x) = -2$ admet}
  {{une seule solution},
   {deux solutions},
   {quatre solutions}}
 \end{alterqcm}\end{tkzexample}


\subsection{\tkzcname{AQms} : utilisation d'un trait invisible}

\begin{NewMacroBox}{AQms}{(height,depth)}
  \begin{tabular}{@{}Il Il Il@{}}  \toprule \thead
  argument                 & défaut           & définition                    \\ \midrule
  \tbody
  \TAline{height}  {}     {hauteur du trait}    
  \TAline{depth}  {}     {profondeur du trait}  
  \bottomrule
  \end{tabular}
  
\medskip
\emph{C'est un trait invisible\footnotemark, utile si il est nécessaire de faire un espace plus conséquent autour d'une proposition.}

\textcolor{red}{\emph{\texttt{ Il faudrait éviter de l'utiliser!}}}
  
\end{NewMacroBox}
\footnotetext{ voir la macro \tkzcname{strut}}

\begin{tkzexample}[code only,width=\textwidth-1pt]
 \def\AQms(#1,#2){\vrule height #1pt depth #2pt width 0pt} 
 \end{tkzexample}

\begin{tkzexample}[width=8cm]
  \begin{minipage}[]{7.5cm}
  \begin{alterqcm}%
  [lq=4cm]
  \AQquestion{Question}
   {%
  {Proposition 1},
  {Proposition 2\AQms(16,14)},
  {Proposition 3}}
  \end{alterqcm}
  \end{minipage}
\end{tkzexample}

\newpage
\subsection{\tkzcname{InputQuestionList} : QCM à partir d'une liste de fichiers}

\begin{NewMacroBox}{InputQuestionList}{\var{path}\var{prefix}\var{list of integers}}

\begin{tabular}{@{}Il Il Il@{}}  \toprule \thead
  argument                 & défaut           & définition                    \\ \midrule
  \tbody
\TAline{path}  {}  {chemin qui conduit au dossier contenant les fichiers}       \TAline{prefix}  {} {le nom des fichiers  : <prefix><integer>.tex}          
\TAline{list of integers}{}{liste de nombres entiers correspondants aux fichiers} 
\bottomrule
 \end{tabular}
  
  \medskip  
\emph{Cette macro permet d'insérer dans un tableau des questions enregistrées dans des fichiers. Un fichier peut contenir une ou plusieurs questions avec les propositions correspondantes. \tkzname{path} est le chemin vers le dossier contenant les fichiers. \tkzname{prefix} permet de nommer les fichiers, un entier détermine de façon unique le fichier.}

\end{NewMacroBox}

Soit le fichier \tkzname{qcm-1.tex}

\begin{tkzltxexample}[]
  \AQquestion{Quel était le langage précurseur du langage C ?}
  {{le Fortran},
   {le langage B},
   {le Basic}}
\end{tkzltxexample}

\medskip
Soit le fichier \tkzname{qcm-2.tex}

\begin{tkzltxexample}[]
 \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}}
\end{tkzltxexample}

\bigskip
Supposons créée une série de fichiers  dans un dossier |iut| avec comme noms \newline
 \tkzname{qcm-1.tex}, \tkzname{qcm-2.tex}, \ldots ,\tkzname{qcm-$n$.tex}. Le prefix pour nommer ces fichiers est donc \tkzname{qcm-}.

Le chemin de ce dossier est par exemple |/Users/ego/Boulot/PROF/Alterqcm/Examples/iut/|.


Le résultat est :

\newcommand*{\listpath}{/Users/ego/Boulot/Alterqcm/doc/iut/}

\begin{alterqcm}[lq=80mm]
 \InputQuestionList{/Users/ego/Boulot/Alterqcm/doc/iut/}{qcm-}{2,1}
\end{alterqcm}

\begin{tkzexample}[code only]
\newcommand*{\listpath}{/Users/ego/Boulot/Alterqcm/doc/iut/}
\begin{alterqcm}[lq=80mm]
   \InputQuestionList{\listpath}{qcm-}{2,1}
\end{alterqcm}
\end{tkzexample}

\newpage
\subsection{La commande \tkzcname{AQannexe}} 


\begin{NewMacroBox}{AQannexe}{\oarg{local options}\var{start}\var{end}\var{col}}
\begin{tabular}{@{}Il Il Il@{}}  \toprule \thead
arguments        & défaut           & définition                    \\ \midrule
\tbody
\TAline{start}    {}           {numéro de la première rangée}   
\TAline{end}      {}           {numéro de la dernière rangée}  
\TAline{col}      {}           {nombre de propositions}     
 \bottomrule
\end{tabular}

\medskip
\emph{Cette macro utilise trois arguments. Ce sont trois nombres entiers. \tkzname{start} est le rang de la première rangée, \tkzname{end} le rang final et \tkzname{col} le nombre de propositions.} 

\medskip
\begin{tabular}{@{}Il Il Il@{}}  \toprule \thead
Options                 & défaut           & définition                    \\ \midrule
\tbody
\TOline{VF}         {false}          { vrai ou faux; affiche V et F }    
\TOline{propstyle}  {\BS arabic}     { style de numérotation des propositions }          \\
\bottomrule
\end{tabular}

\medskip
\emph{\tkzname{VF} permet d'afficher V et F pour identifier les propositions mais il est nécessaire que \tkzname{col} soit égal à deux}

\medskip

\end{NewMacroBox}

\begin{tkzltxexample}[]
  \documentclass{article} 
  \usepackage[utf8]{inputenc}
  \usepackage[T1]{fontenc}
  \usepackage{lmodern}
  \usepackage{alterqcm,fullpage}
  \thispagestyle{empty}

  \begin{document}
  NOM :

  PRÉNOM :

  \vspace{1cm}{ \Large
  \AQannexe{1}{10}{2}\hspace{2cm}
  \AQannexe[propstyle=\alph]{11}{20}{3}}
  \end{document}
\end{tkzltxexample}

\AQannexe{1}{10}{2}\hspace{2cm}
\AQannexe[propstyle=\alph]{11}{20}{3}
\endinput