texlive[64425] Master/texmf-dist: verifiche (17sep22)

commits+karl at tug.org commits+karl at tug.org
Sat Sep 17 21:56:02 CEST 2022


Revision: 64425
          http://tug.org/svn/texlive?view=revision&revision=64425
Author:   karl
Date:     2022-09-17 21:56:02 +0200 (Sat, 17 Sep 2022)
Log Message:
-----------
verifiche (17sep22)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/verifiche/verifiche-example.pdf
    trunk/Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex
    trunk/Master/texmf-dist/doc/latex/verifiche/verifiche.pdf
    trunk/Master/texmf-dist/source/latex/verifiche/verifiche.dtx
    trunk/Master/texmf-dist/tex/latex/verifiche/verifiche.sty

Modified: trunk/Master/texmf-dist/doc/latex/verifiche/verifiche-example.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex	2022-09-17 19:55:48 UTC (rev 64424)
+++ trunk/Master/texmf-dist/doc/latex/verifiche/verifiche-example.tex	2022-09-17 19:56:02 UTC (rev 64425)
@@ -1,7 +1,9 @@
 % compile 2 times
 \documentclass[a4paper, 10pt]{extarticle}
 \usepackage[italian]{babel}
-\usepackage[solutions%show/hide the solutions
+\usepackage[
+	solutions,%show/hide the solutions
+	blue%color of solutions font
 		    ]{verifiche}
 \usepackage[margin=3cm]{geometry}
 \usepackage{lipsum}
@@ -213,7 +215,7 @@
 
 
 \vfill
-\centering
+\begin{center}
 \begin{tabular}{|c|c|c|c|c|c|c|}
 \hline
 Esercizio	&	Quesito \ref{es:ferropiuma}
@@ -236,6 +238,73 @@
 \multicolumn{4}{c}{}&&Voto&\\[1em]
 \cline{6-7}
 \end{tabular}
+\end{center}
 
 
+\clearpage
+\pagestyle{empty}
+\vspace*{\fill}
+\begin{center}
+\huge Esempio \verb|multitest|
+\end{center}
+\vspace*{\fill}
+\clearpage
+
+%\pagestyle{plain}
+\pagestyle{mainverifiche}
+\institute{Scuola superiore di Paperopoli}
+\asyear[Anno accademico]{2022/2023}
+\duration[Tempo:]{2 ora}
+\testtype{Compito di matematica}
+\instruction{Risolvere il seguente esercizio nel più breve tempo possibile.\\}
+
+\pgfkeys{/pgf/number format/.cd,
+	%zerofill=true,
+	std,
+	%int detect,
+	precision=3,
+	%set decimal separator={$,$},
+	use comma,
+	set thousands separator={$\,$}
+}
+
+
+\begin{multitest}[4]
+%\pgfmathsetseed{\themultitestcounter*42}
+%\subtitle{Test \Alph{multitestcounter}}
+\printheading
+\pgfmathrandominteger{\ax}{-2}{2}
+\pgfmathrandominteger{\ay}{-2}{2}
+\pgfmathrandominteger{\bx}{-2}{2}
+\pgfmathrandominteger{\by}{-2}{2}
+
+\begin{esercizio}
+	Disegna, in un grafico cartesiano, i seguenti punti:
+	\[
+	A = (\ax; \ay) \quad B = (\bx; \by)
+	\]
+	e calcola la loro distanza.
+\end{esercizio}
+
+\begin{soluzione}
+	Si rappresentano i punti dati nel piano cartesiano
+	\begin{center}
+	\begin{tikzpicture}
+	\draw[gray] (-3,-3) grid (3,3);
+	\draw[->, thick] (-3,0) -- (3,0) node[right]{x};
+	\draw[->, thick] (0,-3) -- (0,3) node[above]{y};
+	\draw[red, very thick] (\ax, \ay) -- (\bx, \by);
+	\fill (\ax, \ay) circle (2pt) node[above] {A};
+	\fill (\bx, \by) circle (2pt) node[below] {B};
+	\end{tikzpicture}
+	\end{center}
+La distanza tra i due punti è data dall'equazione:
+\[
+d(A, B)= \sqrt{(x_A - x_B) ^2 + (y_A- y_B)^2} = \pgfmathparse{sqrt((\ax-\bx)^2+(\ay-\by)^2)}\pgfmathprintnumber\pgfmathresult
+\]
+\end{soluzione}
+\end{multitest}
+
+
+
 \end{document}
\ No newline at end of file

Modified: trunk/Master/texmf-dist/doc/latex/verifiche/verifiche.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/verifiche/verifiche.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/verifiche/verifiche.dtx	2022-09-17 19:55:48 UTC (rev 64424)
+++ trunk/Master/texmf-dist/source/latex/verifiche/verifiche.dtx	2022-09-17 19:56:02 UTC (rev 64425)
@@ -16,12 +16,13 @@
 %
 % \iffalse
 %<package>\NeedsTeXFormat{LaTeX2e}
-%<package>\ProvidesPackage{verifiche} [2022/06/21 v5.2 .dtx verifiche file]
+%<package>\ProvidesPackage{verifiche} [2022/09/17 v6.0 .dtx verifiche file]
 %<*driver>
 \documentclass{ltxdoc}
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
 \usepackage[english, italian]{babel}
+%\usepackage[a4paper]{geometry}
 \usepackage{listings}
 \lstset{
 	language=[LaTeX]TeX, 
@@ -31,7 +32,7 @@
 				 \inlinesol, \completetext, \truefalse, \openquestion, \linedopenquestion, \squaredopenquestion, 
 				 \headercandidatenamelabel, \checked, \finderror, \textandimage, \partialpt, \ptprefix, \ptlabel, 
 				 \partialptlabel, \partialptdelimiters, \ptdelimiters, \partialptprefix, \checkmaker, \ref, \tikz, \makecolumn,
-				 \columnseparation},
+				 \columnseparation, \subtitle, \subtitlefont},
 	keywordstyle=\color{blue},
 	escapeinside={*@}{@*},
 	inputencoding=utf8,
@@ -70,7 +71,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{934}
+% \CheckSum{997}
 % \changes{v1.0}{2020/06/14}{Initial version.}
 % \changes{v2.0}{2020/06/26}{Better performance in exercise environment.}
 % \changes{v2.1}{2020/06/30}{Introduced closedquestionitem to control |item| symbol.}
@@ -118,6 +119,7 @@
 % \DoNotIndex{\ProcessOptionsX, \protected at write, \ref, \refstepcounter, \reversemarginpar, \rule}
 % \DoNotIndex{\scshape, setkeys, \sffamily, \sisetup, \spacedim, \string, \tikz, \underline, \usetikzlibrary}
 % \DoNotIndex{\val, \xout, \y, \usebox, \romannumeral, \@ifundefined, \ltx at zero, \rc at default, \rc at extract@, \chardef, \llap} 
+% \DoNotIndex{\toks1} 
 %
 %
 % \title{Il pacchetto \textsf{verifiche}%
@@ -185,6 +187,7 @@
 %|notesttype|		&	non stampa il tipo di prova	\\
 %|nonumbered|	&	quesiti non numerati\\
 %|noexercisept|	&	non stampa il punteggio degli esercizi, anche se dichiarati\\
+%|nosubtitle|		&	non stampa il sottotitolo\\
 %|solutions|		&	stampa le soluzioni degli esercizi (si veda pag. \pageref{sec:solutions})\\
 %|red|			&	il colore del font delle soluzioni è rosso\\
 %|blue|			&	il colore del font delle soluzioni è blu\\
@@ -195,6 +198,7 @@
 %Nel seguito si indicherà con "modalità test", il pacchetto caricato senza l'opzione |solutions|, altrimenti questa verrà detta "modalità soluzione" o "modalità solutions".
 %
 %\section{Intestazione}\label{sec:intestazione}
+%\subsection*{Comandi}
 %Il pacchetto \textsf{verifiche} fornisce alcuni comandi per realizzare una semplice intestazione del documento che prevede il nome dell'istituto, l'anno scolastico il tipo di prova, le istruzioni e la durata della prova.
 %Tutte queste voci vanno dichiarate prima del comando |\printheading| che si occupa della produzione del risultato finale. 
 %Le \emph{opzioni} del pacchetto permettono la soprressione della visualizzazione di alcune di queste voci.
@@ -263,7 +267,17 @@
 %\fi
 % che viene riportata sotto le istruzioni, al centro, anteponendo all'argomento il \meta{preambolo} (che di default riporta la dicitura ‘‘’Tempo della prova:’’). L'aspetto di questo comando può essere modificato ridefinendo il comando |\durationfont|.
 %
-%\vspace{1em}
+%\DescribeMacro{\subtitle} Il comando |\subtitle| introduce un sottotitolo al di sotto di quanto visualizzato dal comando |\texttype|. L'aspetto ed il posizionamento di questo testo possono essere modificati ridefinendo il comando |\subtitlefont|.
+%\iffalse
+%<*example>
+%\fi
+\begin{lstlisting}
+\subtitle*@\marg{testo del sottotitolo}@*
+\end{lstlisting}
+%\iffalse
+%</example>
+%\fi
+%
 %\DescribeMacro{\printheading}\label{par:printheading}L'intestazione, ovvero l'output di tutti i comandi appena definiti, viene riportata nel documento solo in presenza del comando
 %\iffalse
 %<*example>
@@ -287,11 +301,13 @@
 %|\testtype|		&	|\testtypefont|	&	Definisce il tipo di prova.\\
 %|\instruction|		&	|\instrunctionfont|&	Definisce le istruzioni delle prove.\\
 %|\duration|		&	|\durationfont|	&	Definisce la durata della prova.\\
+%|\subtitle|		&	|\subtitlefont|	&	Definisce il sottotitolo.\\
 %|\printheading| 	&				&	Stampa l'intestazione.\\
 %\hline
 %\end{tabular}
 %\end{center}
 %
+%\subsection*{Stili di pagina}
 % Il pacchetto definisce due stili di pagina \emph{ad hoc}: |mainverifiche| e |verifiche|. Il primo è evocato quando si definisce il comando |\institute| e stampa sulla prima pagina l'argomento di questo comando. \DescribeMacro{verifiche}Il secondo, invece, può essere utilizzato dall'utente tramite il comando:
 %\iffalse
 %<*example>
@@ -705,7 +721,7 @@
 % \fi
 %
 %
-% L'ambiente \DescribeMacro{closeduestion}|closeduestion*| è analogo al precedente, fatto salvo che è adibito a produrre elenchi in linea; gli elementi vengono spaziati orizzontalmente in modo da riempire tutto lo spazio disponibile. Anche in questo caso i comandi del pacchetto |enumitem| possono essere usati tra le opzioni dell'ambiente.
+% L'ambiente \DescribeEnv{closeduestion}|closeduestion*| è analogo al precedente, fatto salvo che è adibito a produrre elenchi in linea; gli elementi vengono spaziati orizzontalmente in modo da riempire tutto lo spazio disponibile. Anche in questo caso i comandi del pacchetto |enumitem| possono essere usati tra le opzioni dell'ambiente.
 % \iffalse
 %<*example>
 % \fi
@@ -849,7 +865,7 @@
 %</example>
 % \fi
 %
-%
+%\clearpage
 %\section{Personalizzazione}
 %Il pacchetto prevede un certo numero di comandi per gestire l'aspetto del documento finale.
 %\subsection*{Font}
@@ -1060,7 +1076,89 @@
 %</example>
 %\fi
 %\clearpage
+%\section{Test multipli}
+%Uno degli aspetti peculiari della produzione di test tramite software tipografici come \LaTeX{} è quello di poter usufruire della sua versatilità per produrre un numero definito a priori dall'utente di test diversi a partire da uno stesso schema di base.
 %
+%Le modalità e le strategie per fare questo sono molteplici.
+% Uno di questi metodi è utilizzare il pacchetto\footnote{https://ctan.org/pkg/datatool} |datatool| che permette di leggere un database (solitamente salvato come file |csv|) al cui interno sono contenute le domande, i dati ed eventualmente le soluzioni degli esercizi. Il pacchetto, poi, mette a disposizione il comando |\DTLforeach| che, interrogando tutto il database precedentemente costruito, permette di popolare un unico documento in cui si variano taluni elementi al fine di ottenere prove didattiche differenti. Una soluzione di questo tipo necessita di scrivere almeno due file. Il primo, con estensione |tex|, è la struttura della prova di verifica al cui interno presenta tutti i comandi per utilizzare i dati contenuti nel secondo file. Quest'ultimo è un file di tipo |csv| al cui interno, organizzate per colonne, si trovano tutte le domande che si vogliono personalizzare ed ogni riga corrisponde ad un differente compito.
+%Il pacchetto permette anche di generare un database direttamente interno a \LaTeX{}, senza quindi dover creare un file a parte, tramite i comandi:
+%\iffalse
+%<*example>
+%\fi
+\begin{lstlisting}
+\DTLnewdb*@\marg{nome del database}@*
+\end{lstlisting}
+%\iffalse
+%</example>
+%\fi
+% per creare un database chiamato |nome del database|; per creare una nuova riga, corrispondente ad una prova diversa, si usa il comando
+%\iffalse
+%<*example>
+%\fi
+\begin{lstlisting}
+\DTLnewrow*@\marg{nome del database}@*
+\end{lstlisting}
+%\iffalse
+%</example>
+%\fi
+%e ciascuna entrata di questa riga viene popolata introducendo un'entrata tramite il comando:
+%\iffalse
+%<*example>
+%\fi
+\begin{lstlisting}
+\DTLnewdbentry*@\marg{nome del database}\marg{nome colonna}\marg{dato}@*
+\end{lstlisting}
+%\iffalse
+%</example>
+%\fi
+%Come nel caso precedente il database può essere utilizzato tramite il comando\footnote{Si rimanda alla documentazione ufficiale per ulteriori approfondimenti. Si faccia attenzione che l'ultima voce del secondo argomento del comando, ovvero |comando=nome colonna| non deve contenere spazi, si consiglia quindi di concludere la riga con il carattere \%}
+%\iffalse
+%<*example>
+%\fi
+\begin{lstlisting}
+\DTLforeach**@\marg{nome del database}\marg{comando=nome colonna}\marg{dato}\marg{testo}@*
+\end{lstlisting}
+%\iffalse
+%</example>
+%\fi
+%dichiarato subito dopo |\begin{document}| ed il |testo| non è altro che l'intero corpo del documento.
+%\subsection*{L'ambiente |multitest|}
+% Il pacchetto |verifiche| mette a disposizione una soluzione interna per generare un numero definito dall'utente di prove personalizzate e che si basa sugli strumenti messi a disposizione da |pgf| e |tikz|.
+%\DescribeEnv{multitest}L'ambiente |multitest| racchiude all'interno del suo corpo lo schema della prova che si vuole somministrare ed eventualmente i comandi che permettono personalizzare la prova.
+%\iffalse
+%<*example>
+%\fi
+\begin{lstlisting}
+\begin{multitest}[n]
+...
+\end{multitest}
+\end{lstlisting}
+%\iffalse
+%</example>
+%\fi
+%L'ambiente accetta un argomento opzionale |n| che è il numero di prove che si vogliono realizzare. Normalmente l'ambiente viene aperto dopo |\begin{document}| e chiuso prima di |\end{document}|.
+%
+%\bigskip
+%La personalizzazione dei dati del problema può avvenire tramite i comandi di gestione dei numeri casuali e delle liste casuali messi a disposizione dal pacchetto |pgf| che vengono di seguito riassunti lasciando il loro approfondimento alla documentazione ufficiale\footnote{https://www.ctan.org/pkg/pgf}.
+%\iffalse
+%<*example>
+%\fi
+\begin{lstlisting}
+\pgfmathrnd
+\pgfmathrand
+\pgfmathrandom{x,y}
+\pgfmathgeneratepseudorandomnumber
+\pgfmathrandominteger*@\marg{macro}\marg{min}\marg{max}@*
+\pgfmathdeclarerandomlist*@\marg{nome lista}\{ \marg{item 1} \marg{item 2} ...\}@*
+\pgfmathrandomitem*@\marg{macro}\marg{nome lista}@*
+\pgfmathsetseed*@\marg{numero intero}@*
+\end{lstlisting}
+%Il comando inizializza il seme dei numeri casuali col numero del compito prodotto, in modo tale da produrre gli stessi compiti casuali ad ogni compilazione.
+%\DescribeMacro{multitestcounter}Il contatore |multitestcounter| permette di identificare il numero della traccia generata.
+%\iffalse
+%</example>
+%\fi
+%\clearpage
 % \StopEventually{\clearpage\PrintChanges \clearpage\PrintIndex}
 % \section{Implementation}
 %\subsection{Require packages}
@@ -1111,6 +1209,7 @@
 \newif\ifsolutionscolor\solutionscolorfalse
 \newif\ifcandidatename\candidatenametrue
 \newif\iftesttype\testtypetrue
+\newif\ifsubtitle\subtitletrue
 \newif\ifshowinstructiondelimiter\showinstructiondelimiterfalse
 \newif\ifprintedheading\printedheadingfalse
 \newif\ifexercisesnumbered\exercisesnumberedtrue
@@ -1132,6 +1231,7 @@
 \DeclareOptionX{noasyear}[]{\asyearfalse}
 \DeclareOptionX{nocandidatename}[]{\candidatenamefalse}
 \DeclareOptionX{notesttype}[]{\testtypefalse}
+\DeclareOptionX{nosubtitle}[]{\subtitlefalse}
 \DeclareOptionX{nonumbered}[]{\exercisesnumberedfalse}
 \DeclareOptionX{noexercisept}[]{\showexerciseptfalse}
 \DeclareOptionX{color}[red]{\solutionscolortrue\def\solutionscolor{#1}}
@@ -1234,6 +1334,8 @@
     \showinstructiondelimitertrue}%
 \newcommand{\testtype}[1]{%
     \gdef\@testtype{#1}}
+\newcommand{\subtitle}[1]{%
+    \gdef\@subtitle{#1}}%
 \newcommand{\instruction}[1]{%
     \gdef\@instruction{\ignorespaces#1}%
     \showinstructiondelimitertrue}
@@ -1263,6 +1365,10 @@
     \bgroup\hspace*{\fill}\scshape\huge#1\hspace*{\fill}\egroup}
 %    \end{macrocode}
 %    \begin{macrocode}
+\newcommand{\subtitlefont}[1]{%
+    \bgroup\hspace*{\fill}\Large\scshape#1\hspace*{\fill}\egroup}%
+%    \end{macrocode}
+%    \begin{macrocode}
 \newcommand{\instructiondelimiter}{%
    \hrulefill}
 %    \end{macrocode}
@@ -1420,12 +1526,18 @@
 %\fi
 %    \begin{macrocode}
 \newcommand{\ps at mainverifiche}{%
-	\renewcommand\@oddhead{\parbox{\textwidth}{\centering \institutefont{\@institute}}}%
-	\renewcommand\@evenhead{}%
+    \renewcommand\@oddhead{%
+        \parbox{\textwidth}{\centering \institutefont{\@institute}}%
+    }%
+    \renewcommand\@evenhead{}%
+    \renewcommand{\@oddfoot}{\hfill\normalfont\textrm\thepage\hfill}%
+    \let\evenfoot\@oddfoot%
 }
 \newcommand{\ps at verifiche}{%
-	\renewcommand\@oddhead{
-	\ifodd\thepage\parbox{\textwidth}{\headerfont\@header}\fi}%
+    \renewcommand\@oddhead{
+        \ifodd\thepage\parbox{\textwidth}{\headerfont\@header}\fi}%
+    \renewcommand{\@oddfoot}{\hfill\normalfont\textrm\thepage\hfill}%
+    \let\evenfoot\@oddfoot%
 }
 %    \end{macrocode}
 %
@@ -1439,6 +1551,7 @@
     {\ifcandidatename\@header\par\vspace{\baselineskip}\fi}%
     {\ifdefined\@asyear\ifasyear\asyearfont{\@asyearpreamble\space\@asyear}\par\vspace{\baselineskip}\fi\fi}%
     {\ifdefined\@testtype\iftesttype\testtypefont{\@testtype}\par\fi\fi}%
+    {\ifdefined\@subtitle\ifsubtitle\vspace{\baselineskip}\subtitlefont{\@subtitle}\par\fi\fi}%
     {\ifshowinstructiondelimiter\noindent\instructiondelimiter\par\fi}%
     {\ifdefined\@instruction\ifinstruction\instrunctionfont{\noindent\@instruction}}\par\fi\fi%
     {\ifdefined\@duration\ifduration\durationfont\@duration\par\fi\fi}%
@@ -1774,5 +1887,22 @@
 %    \end{macrocode}
 %\end{macro}
 %
+%\begin{environment}{multitest} The environment |multitest| handle the possibility of generating variation of the same test.
+%    \begin{macrocode}
+\NewDocumentEnvironment{multitest}{O{1} +b}{
+    \newcounter{multitestcounter}
+    \toks1={\foreach \i in {1,...,#1}}
+        \the\toks1{%
+            \setcounter{multitestcounter}{\i}%
+            \setcounter{page}{1}%
+            \setcounter{exercisenumber}{0}%
+            \pgfmathsetseed{\i}%
+            #2%
+            \clearpage%
+        }%
+}{}
+%    \end{macrocode}
+%\end{environment}
+
 % \Finale
 \endinput
\ No newline at end of file

Modified: trunk/Master/texmf-dist/tex/latex/verifiche/verifiche.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/verifiche/verifiche.sty	2022-09-17 19:55:48 UTC (rev 64424)
+++ trunk/Master/texmf-dist/tex/latex/verifiche/verifiche.sty	2022-09-17 19:56:02 UTC (rev 64425)
@@ -15,7 +15,7 @@
 %% and version 1.3 or later is part of all distributions of
 %% LaTeX version 2005/12/01 or later.
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{verifiche} [2022/06/21 v5.2 .dtx verifiche file]
+\ProvidesPackage{verifiche} [2022/09/17 v6.0 .dtx verifiche file]
 
 \RequirePackage{xparse}
 \RequirePackage{xkeyval} 
@@ -46,6 +46,7 @@
 \newif\ifsolutionscolor\solutionscolorfalse
 \newif\ifcandidatename\candidatenametrue
 \newif\iftesttype\testtypetrue
+\newif\ifsubtitle\subtitletrue
 \newif\ifshowinstructiondelimiter\showinstructiondelimiterfalse
 \newif\ifprintedheading\printedheadingfalse
 \newif\ifexercisesnumbered\exercisesnumberedtrue
@@ -61,6 +62,7 @@
 \DeclareOptionX{noasyear}[]{\asyearfalse}
 \DeclareOptionX{nocandidatename}[]{\candidatenamefalse}
 \DeclareOptionX{notesttype}[]{\testtypefalse}
+\DeclareOptionX{nosubtitle}[]{\subtitlefalse}
 \DeclareOptionX{nonumbered}[]{\exercisesnumberedfalse}
 \DeclareOptionX{noexercisept}[]{\showexerciseptfalse}
 \DeclareOptionX{color}[red]{\solutionscolortrue\def\solutionscolor{#1}}
@@ -131,6 +133,8 @@
     \showinstructiondelimitertrue}%
 \newcommand{\testtype}[1]{%
     \gdef\@testtype{#1}}
+\newcommand{\subtitle}[1]{%
+    \gdef\@subtitle{#1}}%
 \newcommand{\instruction}[1]{%
     \gdef\@instruction{\ignorespaces#1}%
     \showinstructiondelimitertrue}
@@ -145,6 +149,8 @@
     \hspace*{\fill} #1\hspace*{\fill}}
 \newcommand{\testtypefont}[1]{%
     \bgroup\hspace*{\fill}\scshape\huge#1\hspace*{\fill}\egroup}
+\newcommand{\subtitlefont}[1]{%
+    \bgroup\hspace*{\fill}\Large\scshape#1\hspace*{\fill}\egroup}%
 \newcommand{\instructiondelimiter}{%
    \hrulefill}
 \newcommand{\instrunctionfont}[1]{%
@@ -248,12 +254,18 @@
 
 %%pagestyles
 \newcommand{\ps at mainverifiche}{%
-\renewcommand\@oddhead{\parbox{\textwidth}{\centering \institutefont{\@institute}}}%
-\renewcommand\@evenhead{}%
+    \renewcommand\@oddhead{%
+        \parbox{\textwidth}{\centering \institutefont{\@institute}}%
+    }%
+    \renewcommand\@evenhead{}%
+    \renewcommand{\@oddfoot}{\hfill\normalfont\textrm\thepage\hfill}%
+    \let\evenfoot\@oddfoot%
 }
 \newcommand{\ps at verifiche}{%
-\renewcommand\@oddhead{
-\ifodd\thepage\parbox{\textwidth}{\headerfont\@header}\fi}%
+    \renewcommand\@oddhead{
+        \ifodd\thepage\parbox{\textwidth}{\headerfont\@header}\fi}%
+    \renewcommand{\@oddfoot}{\hfill\normalfont\textrm\thepage\hfill}%
+    \let\evenfoot\@oddfoot%
 }
 %%print headings
 \newcommand{\printheading}{%
@@ -261,6 +273,7 @@
     {\ifcandidatename\@header\par\vspace{\baselineskip}\fi}%
     {\ifdefined\@asyear\ifasyear\asyearfont{\@asyearpreamble\space\@asyear}\par\vspace{\baselineskip}\fi\fi}%
     {\ifdefined\@testtype\iftesttype\testtypefont{\@testtype}\par\fi\fi}%
+    {\ifdefined\@subtitle\ifsubtitle\vspace{\baselineskip}\subtitlefont{\@subtitle}\par\fi\fi}%
     {\ifshowinstructiondelimiter\noindent\instructiondelimiter\par\fi}%
     {\ifdefined\@instruction\ifinstruction\instrunctionfont{\noindent\@instruction}}\par\fi\fi%
     {\ifdefined\@duration\ifduration\durationfont\@duration\par\fi\fi}%
@@ -491,6 +504,19 @@
     \parbox[#1]{#2}{#3}%
     \@ifnextchar\makecolumn{\hspace*{\columnseparation}}{}%
 }%
+\NewDocumentEnvironment{multitest}{O{1} +b}{
+    \newcounter{multitestcounter}
+    \toks1={\foreach \i in {1,...,#1}}
+        \the\toks1{%
+            \setcounter{multitestcounter}{\i}%
+            \setcounter{page}{1}%
+            \setcounter{exercisenumber}{0}%
+            \pgfmathsetseed{\i}%
+            #2%
+            \clearpage%
+        }%
+}{}
+
 \endinput
 %%
 %% End of file `verifiche.sty'.



More information about the tex-live-commits mailing list.