\documentclass[a4paper]{article}

% page consultée pour faire ce document :
%https://www.auto-multiple-choice.net/auto-multiple-choice.fr/alt.shtml
%https://www.auto-multiple-choice.net/auto-multiple-choice.fr/Divers.shtml
%https://project.auto-multiple-choice.net/issues/719
%https://project.auto-multiple-choice.net/boards/4/topics/9733?r=9756#message-9756
%%%%%%%%%%%%%%%%
% ATTENTION !
%%%%%%%%%%%%%%%%
% il faut compiler avec 
% xelatex pour eviter l'erreur "tex capacity exceeded, sorry [pdf buffer=5000000]"
% voir   : https://project.auto-multiple-choice.net/issues/719 qui n'a pas réglé le probleme
% la solution (compilation par xelatex) trouvée ici :
% https://project.auto-multiple-choice.net/boards/4/topics/9733?r=9756#message-9756
% etant donné qu'on utilise Xelatex, il faut utiliser fontspec et non inputenc ni fontenc pour encoder le texte
\usepackage{fontspec}

%\usepackage[utf8x]{inputenc}
%\usepackage[T1]{fontenc}

\usepackage{csvsimple}
\usepackage{multicol}
    
\usepackage{fp}
\usepackage{tikz}
\usepackage{amssymb}
\usepackage{enumitem} 
\usepackage{graphicx}
\usepackage[francais,bloc,pdfform]{automultiplechoice}    


\def\multiSymbole{} % mettre un symbole ici pour signaler les questions a plusieurs réponses correctes. Sinon laisser vide.
\def\AMCdecimalPoint{,}
\def\AMCotextReserved{\emph{Reservé correcteur!}} % texte signifiant aux étudiants de ne rien noircir dans les zones de notation
%\AMCinterIrep=.75ex % augmenter l'espacement vertical entre les réponses
\geometry{a4paper,hmargin=1.6cm,top=2.5cm}
%\AMCidsPosition{pos=top}
\AMCboxDimensions{size=1.7ex,down=.2ex} % ajustement de la taille de la boite des reponses
\AMCinterIrep=-3pt % pour ajuster l'espacement vertical entre les reponses
\AMCinterBquest=1.5ex  % pour ajuster l'espacement vertical entre les questions


% Nouvelle commande FP pour définir le nombre de chiffres (dont un certain nombre de décimaux) necessaire au codage du résultat numérique. Affecté à #1
\newcommand{\nchiffres}[3]{
	\FPeval{\intermediaire}{trunc(abs(ln(abs(#2))/ln(10)), 2)}
	%inter1 : \FPprint{\intermediaire}
	\FPeval{\intermediaireb}{\intermediaire+1}
	%inter2 : \FPprint{\intermediaireb}
	\FPeval{\gauche}{trunc(\intermediaireb,0)}
	%final 1 : \FPprint{\gauche}
 	% si chiffre <1, maintenir un zero a gauche de la virgule :
 	\ifnum \gauche=0
 		\FPeval{#1}{trunc(\gauche+1+#3, 0)}
 	\else % sinon renvoyer le nombre de chiffre
 		\FPeval{#1}{trunc(\gauche+0+#3, 0)}
 	\fi
}



% pour les boites a remplir
%https://tex.stackexchange.com/questions/20294/settings-for-hypertext-in-multiline-environment
\renewcommand*{\DefaultHeightofTextMultiline}{6\baselineskip} 
\renewcommand*{\LayoutTextField}[2]{\makebox[6em][l]{#1: }%
	\raisebox{\baselineskip}{\raisebox{-\height}{#2}}}
%\renewcommand*{\LayoutTextField}[2]{% or this or similar ...
%\raisebox{-\height}{\makebox[6em][l]{#1: }}\raisebox{-\height}{#2}}
\def\LayoutChoiceField#1#2{\makebox[6em][l]{#1: }#2}
\newdimen\longline
\longline=\textwidth\advance\longline-6em

\newcommand{\macommandeune}{
	\begin{minipage}{1\linewidth}
	\vspace{0.5cm} % sinon le textfield n'est pas au centre de la boite... (avec Xelatex/avec pdflatex OK) 
	\TextField[name=Comment,multiline=true,height=3\baselineskip,
	width=\longline,borderwidth=0,backgroundcolor={.85 .85 .85}, charsize = 14pt]{}
	\end{minipage}
}
\newcommand{\macommandedeux}{
	\begin{minipage}{1\linewidth}
	\vspace{0.5cm} % sinon le textfield n'est pas au centre de la boite... (avec Xelatex/avec pdflatex OK) 
	\TextField[name=Comment2,multiline=true,height=6\baselineskip,
	width=\longline,borderwidth=0,backgroundcolor={.85 .85 .85}, charsize = 14pt]{}
	\end{minipage}
}
\newcommand{\macommandetrois}{
	\begin{minipage}{1\linewidth}
	\vspace{0.5cm} % sinon le textfield n'est pas au centre de la boite... (avec Xelatex/avec pdflatex OK) 
	\TextField[name=Comment3,multiline=true,height=6\baselineskip,
	width=\longline,borderwidth=0,backgroundcolor={.85 .85 .85}, charsize = 14pt]{}
	\end{minipage}
}
\newcommand{\macommandequatre}{
	\begin{minipage}{1\linewidth}
	\vspace{0.5cm} % sinon le textfield n'est pas au centre de la boite... (avec Xelatex/avec pdflatex OK) 
	\TextField[name=Comment4,multiline=true,height=6\baselineskip,
	width=\longline,borderwidth=0,backgroundcolor={.85 .85 .85}, charsize = 14pt]{}
	\end{minipage}
}
\newcommand{\macommandecinq}{
	\begin{minipage}{1\linewidth}
	\vspace{0.5cm} % sinon le textfield n'est pas au centre de la boite... (avec Xelatex/avec pdflatex OK) 
	\TextField[name=Comment5,multiline=true,height=6\baselineskip,
	width=\longline,borderwidth=0,backgroundcolor={.85 .85 .85}, charsize = 14pt]{}
	\end{minipage}
}
\newcommand{\macommandesix}{
	\begin{minipage}{1\linewidth}
	\vspace{0.5cm} % sinon le textfield n'est pas au centre de la boite... (avec Xelatex/avec pdflatex OK) 
	\TextField[name=Comment6,multiline=true,height=6\baselineskip,
	width=\longline,borderwidth=0,backgroundcolor={.85 .85 .85}, charsize = 14pt]{}
	\end{minipage}
}


\newcommand{\sujet}{%
\exemplaire{1}{%

% pour l'association ulterieure au moment de la correction, (grace au numéro d'etudiant ici):
\AMCassociation{\ID}%
%\shorthandon{;} 3
%%% debut de l'en-tête des copies :

%\noindent{\bf QCM  \hfill TEST}

\vspace*{.5cm}
%%%%%%%%%%%%%%%%%En tête de la copie %%%%%%%%%%%%%%%%
\vspace*{-2em}
\noindent{}\champnom{\fbox{    
        \begin{minipage}{0.97\linewidth}
           {\Large\bf\Nom{}~\Prenom{} (\ID{})}  \hfill {\scshape Dur\'ee : 90~minutes}\null%<- dans mon fichier csv, j'ai une colonne nom, prenom; à chaque lecture latex inscrit automatiquement le contenu.      
          \vspace*{1mm}
        \end{minipage}
      }}\medskip%

		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
		%  en tete des copies
		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
		
		%\noindent{\bf UE Génétique 2  \hfill Université Lyon 1} % pour mettre en-tête
		
		\begin{center}
			\centering\large\bf Génétique des Populations et Génétique Quantitative\\ test de la procédure "distancielle" \\ {\small mai 2020}
		\end{center}
		
		
		{\footnotesize \textit{Instructions}: Ce formulaire sera analysé par lecture optique, donc merci de suivre scrupuleusement les instructions suivantes : 
			\begin{multicols}{2}
				\begin{itemize}[label=$\bullet$, leftmargin=*, parsep=-0.1cm, topsep=0cm]
					\item Pour sélectionner une case, cliquer une fois dessus $\square$ $\rightarrow$ $\blacksquare$
					\item Pour dé-sélectionner une case, re-cliquer dessus  $\blacksquare$ $\rightarrow$ $\square$
					\item inscrivez vos réponses dans les encarts prévus à cet effet.
					\item Les questions peuvent présenter zéro, une ou plusieurs bonnes réponses.
					%\item Une réponse fausse donne des points négatifs.
					\item Pour coder un résultat numérique, consulter l'exemple ci-dessous.
					\item Si les données fournies ne permettent pas de faire le calcul numérique demandé, cocher \underline{toutes les cases} "9" de la boite.
					\item Ne rien cocher dans les zones grisées des questions ouvertes: elles sont réservées au correcteur !
				\end{itemize}
			\end{multicols}
			
			
			
			%%%%%%%%%%%%%%%%%%%%%%%%%%%%% exemple %%%%%
			
			\underline{Comment coder un résultat numérique} :
			Exemple: Combien font 0,1 + 0,2 ? 
			
			\includegraphics[width=6cm]{EXEMPLE.png}
			\vspace*{.2cm}
		} % fin petite police

%%% fin de l'en-tête


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ù
%  Debut des questions
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ù

\begin{center}
			\includegraphics[width=0.25\linewidth]{image.png}
		\end{center}
	
		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
		% debut questions
		%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{center}
  \hrule\vspace{2mm}
  \bf\Large Génétique des populations
  \vspace{1mm}\hrule
\end{center}	

		\begin{questionmultx}{q01}
			Combien font 1 + 1 ?	
			\AMCnumericChoices{2}{digits=2,decimals=1,sign=false,
				borderwidth=1pt,backgroundcol=white,approx=0, scoreexact=2, scoreapprox=2}		
		\end{questionmultx}

		\begin{questionmultx}{q02}     \bareme{p=0, MAX=2} 
			Sur quel appareil avez-vous rempli ce questionnaire ?
			\begin{reponses}
				\bonne {un ordinateur sous windows} \bareme{b=2,m=0, p=0, MAX=2}
				\bonne {un ordinateur sous macOS} \bareme{b=2,m=0, p=0, MAX=2}
				\bonne {un ordinateur sous Linux} \bareme{b=2,m=0, p=0, MAX=2}
				\bonne {une tablette} \bareme{b=2,m=0, p=0, MAX=2}
				\bonne {un téléphone} \bareme{b=2,m=0, p=0, MAX=2}
				\mauvaise{un appareil à raclette} \bareme{b=0,m=-1, p=0, MAX=2}
			\end{reponses}
		\end{questionmultx}
	
\begin{question}{q03}	
Avez-vous reconnu les oiseaux de la photo ? (sinon ecrivez ce qui vous passe par la tête !) :
	\AMCOpen{contentcommand=macommandeune, width=1\linewidth, lineheight=0.75cm, lines=6}{\wrongchoice[D]{d}\scoring{0}\wrongchoice[C]{c}\scoring{5}\wrongchoice[B]{b}\scoring{10}\correctchoice[A]{a}\scoring{16}}
		\end{question}

		%\clearpage\textsl{}

}%fin commande \exemplaire
}%fin commande \newcommand

\begin{document}
%\FPseed=123456

\makeatletter
\ifAMC@catalog
  \def\Nom{Nom}
  \def\Prenom{Prenom}
  \def\ID{ID}
  \sujet
\else
  \csvreader[head to column names, separator=semicolon]{liste_test.csv}{}{\sujet}
  %\csvreader[head to column names, separator=semicolon]{liste_Genetique2.csv}{}{\sujet}
\fi
\makeatother


\end{document}

        
