# automultiplechoice package
# Matthew Bertucci 2022/10/04 for v1.6.0

#include:xcolor
#include:fancyhdr
#include:bophook
#include:xkeyval
#include:rotating
#include:fancybox
#include:csvsimple
#include:environ
#include:geometry

#keyvals:\usepackage/automultiplechoice#c
noshuffle
noshufflegroups
fullgroups
answers
indivanswers
textpos
extractonly
box
asbox
separateanswersheet
digits
ordre
correc
modele
correcindiv
init
bloc
completemulti
insidebox
ensemble
chiffres
outsidebox
calibration
nowatermark
catalog
keys=line
francais
lang=#DE,ES,FR,IT,JA,NL,NO,PT
versionA
plain
nopage
postcorrect
automarks
storebox
pdfform
codedigit=
survey
#endkeyvals

#ifOption:storebox
#include:storebox
#endif

#ifOption:pdfform
#include:hyperref
#endif

#ifOption:survey
#include:tikz 
#include:tikzlibrarypositioning
#include:tikzlibraryshapes
#include:tikzlibrarytikzmark
#include:tikzlibrarydecorations.pathreplacing
# not documented
\answer[opt]{arg1}{arg2}{arg3}{arg4}#S
\answer{arg1}{arg2}{arg3}{arg4}#S
\begin{auto}{arg}#S
\begin{question-auto}{arg1}{arg2}{arg3}#S
\begin{Questionnaires}{number}#S
\begin{values}#S
\begin{values-auto}{arg1}{arg2}{arg3}{arg4}{arg5}#S
\begin{variable-auto}{arg1}{arg2}{arg3}#S
\end{auto}#S
\end{question-auto}#S
\end{Questionnaires}#S
\end{values}#S
\end{values-auto}#S
\end{variable-auto}#S
#endif

\begin{choices}
\begin{choices}[o]%|
\end{choices}
\begin{choicescustom}
\begin{choicescustom}[o]%|
\end{choicescustom}
\begin{choiceshoriz}
\begin{choiceshoriz}[o]%|
\end{choiceshoriz}
\begin{examcopy}
\begin{examcopy}[number]
\end{examcopy}
\begin{question}{identifier}
\end{question}
\begin{questionmult}{identifier}
\end{questionmult}
\begin{questionmultx}{identifier}
\end{questionmultx}

\alafin#*
\AMCaddpagesto{integer}
\AMCanswer{arg1}{arg2}#*
\AMCassociation[filename]{id}
\AMCassociation{id}
\AMCbeginAnswer#*
\AMCbeginQuestion{arg1}{arg2}#*
\AMCbloc#*
\AMCBoxedAnswers
\AMCBoxOnly{keyvals}{text}
\AMCboxStyle{keyvals}
\AMCchoiceLabel#*
\AMCchoiceLabelFormat{text}#*
\AMCcleardoublepage
\AMCcodeGrid[options%keyvals]{key%plain}{description}
\AMCcodeGrid{key%plain}{description}
\AMCcodeGridInt[options%keyvals]{key%plain}{n}
\AMCcodeGridInt{key%plain}{n}
\AMCcodeHspace#L
\AMCcodeVspace#L
\AMCcompleteMulti
\AMCdecimalPoint#*
\AMCdontAnnotate
\AMCendAnswer#*
\AMCexponent#*
\AMCform
\AMCformAnswer{arg}#*
\AMCformBeforeQuestion#*
\AMCformBegin
\AMCformFilter{filter}
\AMCformHSpace#L
\AMCformQuestion{arg}#*
\AMCformS
\AMCformVSpace#L
\AMChorizAnswerSep#L
\AMChorizBoxSep#L
\AMCidsPosition{keyvals}
\AMCifcategory{open}%|
\AMCinterBquest#L
\AMCinterBrep#L
\AMCinterIquest#L
\AMCinterIrep#L
\AMCIntervalFormat{arg1}{arg2}#*
\AMCIntervals{answer}{x1}{x2}{len}
\AMClabel{label}#l
\AMCnobloc
\AMCnoCompleteMulti
\AMCntextGoto#*
\AMCntextSign#*
\AMCntextVHead{text}#*
\AMCnumericChoices{answer}{keyvals}
\AMCnumericOpts{keyvals}
\AMCnumero{number}
\AMCOpen{keyvals}{text}
\AMCopenOpts{keyvals}
\AMCotextGoto#*
\AMCotextReserved#*
\AMCoutsideLabelFormat{text}#*
\AMCpageref{label}#r
\AMCpostNquest#L
\AMCpostOquest#L
\AMCquestionNumberfalse
\AMCquestionNumbertrue#*
\AMCrandomseed{integer}
\AMCref{label}#r
\AMCsection*{title}#L2
\AMCsection{title}#L2
\AMCsectionNumbered{title}#SL2
\AMCsectionStar{title}#SL2
\AMCsetFoot{text}
\AMCsetScoreZone{keyvals}
\AMCsetScoreZoneAnswerSheet{keyvals}
\AMCstudentlabel{label}
\AMCStudentNumber
\AMCstudentslistfile{file}{id}#i
\AMCsubjectPageTag#*
\AMCsubsection*{title}#L3
\AMCsubsection{title}#L3
\AMCsubsectionNumbered{title}#SL3
\AMCsubsectionStar{title}#SL3
\AMCtext{type%keyvals}{text}
\bareme{values}#*
\baremeDefautM{values}#*
\baremeDefautS{values}#*
\bonne[label text]{answer%text}#*
\bonne{answer%text}#*
\champnom{content%text}#*
\choixIntervalles{answer}{x1}{x2}{len}#*
\cleargroup{group}
\copygroup[n]{groupA}{groupB}
\copygroup{groupA}{groupB}
\copygroupfrom[n]{groupA}{groupB}{index}
\copygroupfrom{groupA}{groupB}{index}
\correctchoice[label text]{answer%text}
\correctchoice{answer%text}
\element{group}{content%text}
\exemplaire{number}{content%text}#*
\exemplairepair
\explain{text}
\formulaire#*
\insertgroup[n]{group}
\insertgroup{group}
\insertgroupfrom[n]{group}{index}
\insertgroupfrom{group}{index}
\lastchoices
\mauvaise[label text]{answer%text}#*
\mauvaise{answer%text}#*
\melangegroupe{group}#*
\multiSymbole
\namefield{content%text}
\namefielddots
\onecopy{number}{content%text}
\QuestionIndicative
\restituegroupe[n]{group}#*
\restituegroupe{group}#*
\scoring{values}
\scoringDefaultM{values}
\scoringDefaultS{values}
\setdefaultgroupmode{mode%keyvals}
\setgroupmode{group}{mode%keyvals}
\shufflegroup{group}
\theAMCquestionaff#*
\wrongchoice[label text]{answer%text}
\wrongchoice{answer%text}

#keyvals:\AMCBoxOnly
help=%<text%>
ordered#true,false
#endkeyvals

#keyvals:\AMCboxStyle,\AMCboxDimensions
shape=#square,oval,form,none
size=##L
height=##L
width=##L
rule=##L
outsidesep=##L
down=##L
color=#%color
cross#true,false
crosschar=%<symbol%>
crossrule=##L
#endkeyvals

#keyvals:\AMCcodeGrid, \AMCcodeGridInt
vertical#true,false
v
h
top
#endkeyvals

#keyvals:\AMCidsPosition
pos=#none,top,side
width=##L
height=##L
#endkeyvals

#keyvals:\AMCnumericChoices,\AMCnumericOpts
digits=%<num%>
decimals=%<num%>
base=%<num%>
significant#true,false
exponent=%<num%>
nozero#true,false
sign#true,false
exposign#true,false
strict#true,false
vertical#true,false
expovertical#true,false
reverse#true,false
vhead#true,false
hspace=##L
vspace=##L
borderwidth=##L
bordercol=#%color
backgroundcol=#%color
Tsign=%<text%>
Tpoint=%<text%>
Texponent=%<text%>
scoring#true,false
scoreexact=%<num%>
exact=%<num%>
scoreapprox=%<num%>
approx=%<num%>
scorewrong=%<num%>
ignoreblank#true,false
keepas=%<text%>
alsocorrect=%<text%>
#endkeyvals

#keyvals:\AMCOpen,\AMCopenOpts
lineup#true,false
lineuptext=%<text%>
lines=%<num%>
lineheight=##L
dots#true,false
contentcommand=%<csname%>
hspace=##L
backgroundcol=#%color
foregroundcol=#%color
scan#true,false
annotate#true,false
question=%<text%>
answer=%<text%>
width=##L
framerule=##L
framerulecol=#%color
boxmargin=##L
boxframerule=##L
boxframerulecol=#%color
Treserved=
#endkeyvals

#keyvals:\AMCsetScoreZone,\AMCsetScoreZoneAnswerSheet
width=##L
height=##L
depth=##L
calloutside=
callinside=
position=#none,question,margin,margins
#endkeyvals

#keyvals:\AMCtext#c
none
corrected
catalog
explain
draft
message
#endkeyvals

#keyvals:\setdefaultgroupmode,\setgroupmode
fixed
cyclic
withreplacement
withoutreplacement
#endkeyvals

# not documented
\AMCbeforeQuestion#S
\AMCboHide{arg1}{arg2}#S
\AMCboOpts{arg1}#S
\AMCboShow{arg1}{arg2}#S
\AMCbotextGoto#S
\AMCboxColor{arg1}#S
\AMCboxOutsideLetter{arg1}{arg2}#S
\AMCcercle{arg1}{arg2}#S
\AMCcodeID#S
\AMCcurrentenv#S
\AMCdebutFormulaire#S
\AMCdontScan#S
\AMCdump#S
\AMCemptybox{arg1}{arg2}{arg3}#S
\AMCformAfterQuestion#S
\AMCformAnswerA{arg1}#S
\AMCformatChoices{arg1}{arg2}{arg3}{arg4}#S
\AMCformQuestionA#S
\AMCformQuestionN#S
\AMCIDBoxesA#S
\AMCIDBoxesABC#S
\AMCIDBoxesB#S
\AMCIDBoxesC#S
\AMCload#S
\AMClocalized{arg1}#S
\AMCmarginNote{arg1}#S
\AMCmessage{arg1}#S
\AMCnoScoreZone#S
\AMCnumericChoicesPlain#S
\AMCnumericHide#S
\AMCnumericShow#S
\AMCopenHide{arg1}{arg2}#S
\AMCopenShow{arg1}{arg2}#S
\AMCqlabel{arg1}#S
\AMCscoreZone{arg1}#S
\AMCshowSignificantDigits#S
\AMCsignificantDigits#S
\begin{amcxyfile}{arg}#S
\begin{copieexamen}#S
\begin{questionouverte}#S
\begin{questionouverte}[length]#S
\begin{reponses}#S
\begin{reponseshoriz}#S
\begin{reponsesperso}#S
\end{amcxyfile}#S
\end{copieexamen}#S
\end{questionouverte}#S
\end{reponses}#S
\end{reponseshoriz}#S
\end{reponsesperso}#S
\ifAMCquestionNumber#S
\nouveaugroupe{arg1}{arg2}#S
\shufflegroupslice{arg1}{arg2}{arg3}#S

# deprecated
\AMCboxDimensions{keyvals}#S
